On Thu, Sep 11, 2014 at 8:11 PM, Andrew Dixie <andrewdixi...@gmail.com> wrote: > Hi David, > > As discussed, I have updated the to use SYMBOL-$ syntax for > PC-relative addressing and to use a new symbol, __gcc_unwind_dbase, > rather than overloading __dso_handle. > > Regards, > Andrew > > 2014-09-09 Andrew Dixie <andr...@gentrack.com> > > Move exception tables to read-only memory on AIX. > * collect2.c (write_c_file_stat): Provide dbase on AIX. > (scan_prog_file): Don't output __dso_handle nor __gcc_unwind_dbase. > * config/rs6000/aix.h (ASM_PREFERRED_EH_DATA_FORMAT): define. > (EH_TABLES_CAN_BE_READ_ONLY): define. > (ASM_OUTPUT_DWARF_PCREL): define. > (ASM_OUTPUT_DWARF_DATAREL): define. > (EH_FRAME_IN_DATA_SECTION): undefine. > * config/rs6000/rs6000-aix.c: new file. > (rs6000_aix_asm_output_dwarf_pcrel): new function. > (rs6000_aix_asm_output_dwarf_datarel): new function. > * config/rs6000/rs6000.c (rs6000_xcoff_asm_init_sections): remove > assignment of exception_section. > * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add call to > ASM_OUTPUT_DWARF_DATAREL. > * dwarf2out.c (switch_to_eh_frame_section): Add call to > EMIT_COLLECT2_LABELS_FOR_EH_FRAMES.
Hi, Andrew Thanks for this work. The patch itself looks good. I cannot approve the changes to dwarf2asm.c and dwarf2out.c. My concern is this really is an ABI change. One cannot mix object files compiled with the old EH format and with the new EH format. One can mix shared libraries of different styles, but not object files. I'm not certain how much of a problem it is to require recompiling everything from scratch. Thanks, David