diff options
author | David Edelsohn <dje@gcc.gnu.org> | 2001-11-26 20:35:23 -0500 |
---|---|---|
committer | David Edelsohn <dje@gcc.gnu.org> | 2001-11-26 20:35:23 -0500 |
commit | 468e8dba6af6ffa93b44ae6899a326515d2670f6 (patch) | |
tree | afa09386207349b7e4266682f9308939844bd3cd /gcc | |
parent | 5652450c248b8d67f88573a6967ff4d8f18144f6 (diff) | |
download | gcc-468e8dba6af6ffa93b44ae6899a326515d2670f6.zip gcc-468e8dba6af6ffa93b44ae6899a326515d2670f6.tar.gz gcc-468e8dba6af6ffa93b44ae6899a326515d2670f6.tar.bz2 |
more minimal-toc tweaking of output_mi_thunk.
From-SVN: r47367
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index b2ff972..bf7626f 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -8184,9 +8184,15 @@ output_mi_thunk (file, thunk_fndecl, delta, function) assemble_name (file, fname); putc ('\n', file); text_section (); + if (TARGET_MINIMAL_TOC) + asm_fprintf (file, (TARGET_32BIT) + ? "\t{l|lwz} %s,%s(%s)\n" : "\tld %s,%s(%s)\n", r12, + TARGET_ELF ? ".LCTOC0@toc" : ".LCTOC..1", toc); asm_fprintf (file, (TARGET_32BIT) ? "\t{l|lwz} %s," : "\tld %s,", r12); assemble_name (file, buf); - asm_fprintf (file, "(%s)\n", reg_names[2]); + if (TARGET_ELF && TARGET_MINIMAL_TOC) + fputs ("-(.LCTOC1)", file); + asm_fprintf (file, "(%s)\n", TARGET_MINIMAL_TOC ? r12 : toc); asm_fprintf (file, (TARGET_32BIT) ? "\t{l|lwz} %s,0(%s)\n" : "\tld %s,0(%s)\n", r0, r12); |