On Tue, Sep 22, 2015 at 9:16 AM, Richard Biener <richard.guent...@gmail.com> wrote: > On September 22, 2015 2:38:34 PM GMT+02:00, David Edelsohn > <dje....@gmail.com> wrote: >>On Tue, Sep 22, 2015 at 4:12 AM, Richard Biener >><richard.guent...@gmail.com> wrote: >>> On Mon, Sep 21, 2015 at 5:41 PM, David Edelsohn <dje....@gmail.com> >>wrote: >>>> Appended is a patch to support DWARF on AIX and works with GDB and >>AIX >>>> assembler. The AIX assembler prepends the CU length to the section >>>> and does not want the compiler to provide it, so I need to disable >>>> those parts of dwarf2out.c. I know it's ugly, but, on the upside, >>>> this eventually allows GCC to deprecate Stabs, which I think is >>worth >>>> the pain. >>>> >>>> I discovered that -g3 emits the debug_macros section, which AIX also >>>> does not like, so I disable that section as well. As I mentioned in >>>> v2, I moved the calculation of aranges_length to its one use in the >>>> output function instead of calculating it early to avoid an unused >>>> function argument. >>>> >>>> I also switched to XCOFF_DEBUGGING_INFO as the macro to test in >>>> dwarf2out.c. I think a target hook or testing that DWARF section >>>> names have not been overridden to NULL is overkill. Suggestions >>>> welcome, but any solution that disables arbitrary portions of >>>> dwarf2out.c is going to be ugly. I doubt that any other system, >>>> especially ones based on ELF file format, would ever do this. >>> >>> Using an existing macro works for me - but as we are working towards >>> eliminating conditional compilation can you try using >>> >>> if (!XCOFF_DEBUGGING_INFO) >>> >>> ? If the macro is not always defined devise a new one defined from >>> XCOFF_DEBUGGING_INFO. >> >>You prefer that I define a new macro in defaults.h instead of >> >>#ifndef XCOFF_DEBUGGING_INFO >>#define XCOFF_DEBUGGING_INFO 0 >>#endif >> >>in dwarf2out.c? > > Or, if that works, add a default for XCOFF_DEBUGGING_INFO. > > I thought of a dwarf2out.c local define.
That's what I'm testing now. I also need a small change in dwarf2asm.c because it explicitly emits the ELF ".ascii" directive for commented assembly. It cannot use ASM_OUTPUT_ASCII because that would prematurely emit a "\n". Thanks, David