diff mbox series

aix: Default to DWARF 4

Message ID CAGWvnynDXDB+LsJ4wEmPttRDg3gLaq7Wc5Yfzsr5jCwiFTMr9A@mail.gmail.com
State New
Headers show
Series aix: Default to DWARF 4 | expand

Commit Message

David Edelsohn Jan. 17, 2021, 11:12 p.m. UTC
GCC now defaults to DWARF 5.  AIX only supports DWARF 4 (3.5).

    This patch overrides the default DWARF version to 4 unless explicitly
    stated.

    gcc/ChangeLog:

            * config/rs6000/aix71.h (SUBTARGET_OVERRIDE_OPTIONS): Override
            dwarf_version to 4.
            * config/rs6000/aix72.h (SUBTARGET_OVERRIDE_OPTIONS): Same.


 #define ASM_SPEC32 "-a32"

Comments

Mark Wielaard Jan. 18, 2021, 11:01 a.m. UTC | #1
Hi David,

On Sun, Jan 17, 2021 at 06:12:06PM -0500, David Edelsohn wrote:
>     GCC now defaults to DWARF 5.  AIX only supports DWARF 4 (3.5).
> 
>     This patch overrides the default DWARF version to 4 unless explicitly
>     stated.
> 
>     gcc/ChangeLog:
> 
>             * config/rs6000/aix71.h (SUBTARGET_OVERRIDE_OPTIONS): Override
>             dwarf_version to 4.
>             * config/rs6000/aix72.h (SUBTARGET_OVERRIDE_OPTIONS): Same.

Thanks, I hadn't tested against AIX.  Could you also update
gcc/doc/invoke.texi (-gdwarf) with the defaults for AIX?

Thanks,

Mark
David Edelsohn Jan. 18, 2021, 4:31 p.m. UTC | #2
On Mon, Jan 18, 2021 at 6:01 AM Mark Wielaard <mark@klomp.org> wrote:
>
> Hi David,
>
> On Sun, Jan 17, 2021 at 06:12:06PM -0500, David Edelsohn wrote:
> >     GCC now defaults to DWARF 5.  AIX only supports DWARF 4 (3.5).
> >
> >     This patch overrides the default DWARF version to 4 unless explicitly
> >     stated.
> >
> >     gcc/ChangeLog:
> >
> >             * config/rs6000/aix71.h (SUBTARGET_OVERRIDE_OPTIONS): Override
> >             dwarf_version to 4.
> >             * config/rs6000/aix72.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
>
> Thanks, I hadn't tested against AIX.  Could you also update
> gcc/doc/invoke.texi (-gdwarf) with the defaults for AIX?

Other targets override the default DWARF level and I don't see it documented.

Thanks, David
Jakub Jelinek Jan. 18, 2021, 4:48 p.m. UTC | #3
On Mon, Jan 18, 2021 at 11:31:37AM -0500, David Edelsohn via Gcc-patches wrote:
> On Mon, Jan 18, 2021 at 6:01 AM Mark Wielaard <mark@klomp.org> wrote:
> >
> > Hi David,
> >
> > On Sun, Jan 17, 2021 at 06:12:06PM -0500, David Edelsohn wrote:
> > >     GCC now defaults to DWARF 5.  AIX only supports DWARF 4 (3.5).
> > >
> > >     This patch overrides the default DWARF version to 4 unless explicitly
> > >     stated.
> > >
> > >     gcc/ChangeLog:
> > >
> > >             * config/rs6000/aix71.h (SUBTARGET_OVERRIDE_OPTIONS): Override
> > >             dwarf_version to 4.
> > >             * config/rs6000/aix72.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
> >
> > Thanks, I hadn't tested against AIX.  Could you also update
> > gcc/doc/invoke.texi (-gdwarf) with the defaults for AIX?
> 
> Other targets override the default DWARF level and I don't see it documented.

We certainly document that Darwin and VxWorks default to dwarf_version 2.
Which other targets do you have in mind?

	Jakub
Mark Wielaard Jan. 18, 2021, 4:52 p.m. UTC | #4
Hi David,

On Mon, 2021-01-18 at 11:31 -0500, David Edelsohn wrote:
> On Mon, Jan 18, 2021 at 6:01 AM Mark Wielaard <mark@klomp.org> wrote:
> > Thanks, I hadn't tested against AIX.  Could you also update
> > gcc/doc/invoke.texi (-gdwarf) with the defaults for AIX?
> 
> Other targets override the default DWARF level and I don't see it documented.

It currently says:

   @item -gdwarf
   @itemx -gdwarf-@var{version}
   @opindex gdwarf
   Produce debugging information in DWARF format (if that is
   supported).
   The value of @var{version} may be either 2, 3, 4 or 5; the default
   version for most targets is 5 (with the exception of VxWorks and
   Darwin/Mac OS X which default to version 2).

I don't know whether AIX really needs a special mention. But I think it
might be good to mention that it defaults to 4 instead of 5.

Cheers,

Mark
David Edelsohn Jan. 18, 2021, 5:42 p.m. UTC | #5
On Mon, Jan 18, 2021 at 11:49 AM Jakub Jelinek <jakub@redhat.com> wrote:
>
> On Mon, Jan 18, 2021 at 11:31:37AM -0500, David Edelsohn via Gcc-patches wrote:
> > On Mon, Jan 18, 2021 at 6:01 AM Mark Wielaard <mark@klomp.org> wrote:
> > >
> > > Hi David,
> > >
> > > On Sun, Jan 17, 2021 at 06:12:06PM -0500, David Edelsohn wrote:
> > > >     GCC now defaults to DWARF 5.  AIX only supports DWARF 4 (3.5).
> > > >
> > > >     This patch overrides the default DWARF version to 4 unless explicitly
> > > >     stated.
> > > >
> > > >     gcc/ChangeLog:
> > > >
> > > >             * config/rs6000/aix71.h (SUBTARGET_OVERRIDE_OPTIONS): Override
> > > >             dwarf_version to 4.
> > > >             * config/rs6000/aix72.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
> > >
> > > Thanks, I hadn't tested against AIX.  Could you also update
> > > gcc/doc/invoke.texi (-gdwarf) with the defaults for AIX?
> >
> > Other targets override the default DWARF level and I don't see it documented.
>
> We certainly document that Darwin and VxWorks default to dwarf_version 2.
> Which other targets do you have in mind?

s390 TPF.

- David
diff mbox series

Patch

diff --git a/gcc/config/rs6000/aix71.h b/gcc/config/rs6000/aix71.h
index cb250e9871c..3612ed2593b 100644
--- a/gcc/config/rs6000/aix71.h
+++ b/gcc/config/rs6000/aix71.h
@@ -62,6 +62,9 @@  do {
        \
       /* aix/ppc doesn't support -mvsx and -maltivec with Go */
\
       rs6000_isa_flags &= ~(OPTION_MASK_VSX | OPTION_MASK_ALTIVEC);    \
     }                                                                  \
+  if (!global_options_set.x_dwarf_version)                             \
+    /* AIX only supports DWARF 4.  */                                  \
+    dwarf_version = 4;                                                 \
 } while (0)

 #define ASM_SPEC32 "-a32"

diff --git a/gcc/config/rs6000/aix72.h b/gcc/config/rs6000/aix72.h
index 8bcaca47a7b..d34909283cc 100644
--- a/gcc/config/rs6000/aix72.h
+++ b/gcc/config/rs6000/aix72.h
@@ -62,6 +62,9 @@  do {
        \
       /* aix/ppc doesn't support -mvsx and -maltivec with Go */
\
       rs6000_isa_flags &= ~(OPTION_MASK_VSX | OPTION_MASK_ALTIVEC);    \
     }                                                                  \
+  if (!global_options_set.x_dwarf_version)                             \
+    /* AIX only supports DWARF 4.  */                                  \
+    dwarf_version = 4;                                                 \
 } while (0)