On Wed, 2011-11-02 at 19:33 +0000, Iain Sandoe wrote: > I'm going to try this .... > > $ svn diff -x -p gcc/config/rs6000/rs6000.c > Index: gcc/config/rs6000/rs6000.c > =================================================================== > --- gcc/config/rs6000/rs6000.c (revision 180788) > +++ gcc/config/rs6000/rs6000.c (working copy) > @@ -25071,7 +25071,7 @@ macho_branch_islands (void) > if (TARGET_LINK_STACK) > { > char name[32]; > - get_ppc64_thunk_name (name); > + get_ppc476_thunk_name (name); > strcat (tmp_buf, ":\n\tmflr r0\n\tbl "); > strcat (tmp_buf, name); > strcat (tmp_buf, "\n");
Oh my, I'm not sure how that got through. :( Oh, as you said, that is TARGET_MACHO which I can't really test. Sorry about that. > @@ -27956,10 +27956,11 @@ get_ppc476_thunk_name (char name[32]) > { > gcc_assert (TARGET_LINK_STACK); > > - if (HAVE_GAS_HIDDEN) > +#if defined(HAVE_GAS_HIDDEN) > sprintf (name, "__ppc476.get_thunk"); > - else > +#else > ASM_GENERATE_INTERNAL_LABEL (name, "LPPC476_", 0); > +#endif > } ... Instead of that, see my patch to fix David's AIX problem: http://gcc.gnu.org/ml/gcc-patches/2011-11/msg00198.html Peter