diff options
author | dje <dje@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-11-27 01:35:23 +0000 |
---|---|---|
committer | dje <dje@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-11-27 01:35:23 +0000 |
commit | 0b9800e947f329937d83ffd7eb1a263e14dc1b90 (patch) | |
tree | afa09386207349b7e4266682f9308939844bd3cd | |
parent | 161cffd781f48536fbaec3e96438308dac630b21 (diff) | |
download | gcc-0b9800e947f329937d83ffd7eb1a263e14dc1b90.tar.gz |
more minimal-toc tweaking of output_mi_thunk.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47367 138bc75d-0d04-0410-961f-82ee72b054a4
-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 b2ff972a714..bf7626ffc5b 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); |