From: David Edelsohn Date: Mon, 26 Nov 2001 21:43:48 +0000 (+0000) Subject: rs6000.c (output_mi_thunk): Handle minimal-toc and call correct function on AIX. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fa9b5c6be7d76d589878994f6affb15b73739dda;p=gcc.git rs6000.c (output_mi_thunk): Handle minimal-toc and call correct function on AIX. * rs6000.c (output_mi_thunk): Handle minimal-toc and call correct function on AIX. From-SVN: r47355 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5f3ea3a0164..665e70622ba 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-11-26 David Edelsohn + + * rs6000.c (output_mi_thunk): Handle minimal-toc and call + correct function on AIX. + 2001-11-26 Alexandre Oliva * toplev.c (process_options): Don't force diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 7f524f8735c..b2ff972a714 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -8173,13 +8173,15 @@ output_mi_thunk (file, thunk_fndecl, delta, function) ASM_OUTPUT_INTERNAL_LABEL (file, "Lthunk", labelno); labelno++; - /* Note, MINIMAL_TOC doesn't make sense in the case of a - thunk, since there will be only one TOC entry for this - function. */ - fputs ("\t.tc\t", file); - assemble_name (file, buf); - fputs ("[TC],", file); - assemble_name (file, buf); + if (TARGET_MINIMAL_TOC) + fputs (TARGET_32BIT ? "\t.long " : DOUBLE_INT_ASM_OP, file); + else + { + fputs ("\t.tc ", file); + assemble_name (file, fname); + fputs ("[TC],", file); + } + assemble_name (file, fname); putc ('\n', file); text_section (); asm_fprintf (file, (TARGET_32BIT) ? "\t{l|lwz} %s," : "\tld %s,", r12);