diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-02-11 06:07:51 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-02-11 06:07:51 +0000 |
commit | 7f343dad554f0166f664cba7d6ab809ee4473f13 (patch) | |
tree | 5f549f9387f37ae57d7747549dd4403b83905370 /gcc/config/rs6000/rs6000.c | |
parent | efdfa4676cd3506381bd987f7365767bb05c934a (diff) | |
download | gcc-7f343dad554f0166f664cba7d6ab809ee4473f13.tar.gz |
2016-02-11 Basile Starynkevitch <basile@starynkevitch.net>
{{merging with even more of GCC 6, using subversion 1.9
svn merge -r227821:227910 ^/trunk
}}
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@233315 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/rs6000/rs6000.c')
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 7278792d0dc..8a22af62962 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -30790,7 +30790,6 @@ rs6000_xcoff_asm_init_sections (void) = get_unnamed_section (0, rs6000_xcoff_output_toc_section_asm_op, NULL); readonly_data_section = read_only_data_section; - exception_section = data_section; } static int @@ -31159,6 +31158,31 @@ rs6000_xcoff_declare_object_name (FILE *file, const char *name, tree decl) symtab_node::get (decl)->call_for_symbol_and_aliases (rs6000_declare_alias, &data, true); } +/* Overide the default 'SYMBOL-.' syntax with AIX compatible 'SYMBOL-$'. */ + +void +rs6000_asm_output_dwarf_pcrel (FILE *file, int size, const char *label) +{ + fputs (integer_asm_op (size, FALSE), file); + assemble_name (file, label); + fputs ("-$", file); +} + +/* Output a symbol offset relative to the dbase for the current object. + We use __gcc_unwind_dbase as an arbitrary base for dbase and assume + signed offsets. + + __gcc_unwind_dbase is embedded in all executables/libraries through + libgcc/config/rs6000/crtdbase.S. */ + +void +rs6000_asm_output_dwarf_datarel (FILE *file, int size, const char *label) +{ + fputs (integer_asm_op (size, FALSE), file); + assemble_name (file, label); + fputs("-__gcc_unwind_dbase", file); +} + #ifdef HAVE_AS_TLS static void rs6000_xcoff_encode_section_info (tree decl, rtx rtl, int first) |