On 2 Nov 2011, at 18:34, Peter Bergner wrote:

On Wed, 2011-11-02 at 18:17 +0000, Iain Sandoe wrote:
also in macho_branch_islands () :

          if (TARGET_LINK_STACK)
            {
              char name[32];
              get_ppc64_thunk_name (name);
              strcat (tmp_buf, ":\n\tmflr r0\n\tbl ");
              strcat (tmp_buf, name);
              strcat (tmp_buf, "\n");
              strcat (tmp_buf, label);
              strcat (tmp_buf, "_pic:\n\tmflr r11\n");
            }
          else

which breaks bootstrap for darwin - I'm not sure why you have an entry
here (this is mach-o-specific code)
 - I doubt there will ever be a mach-o implementation with a PPC476 -
but, in any case the call to get_ppc64_thunk_name needs wrapping
somehow.

How is it failing for you?  And what are your configure options so
I can try and recreate the error?

/GCC/gcc-live-trunk/gcc/config/rs6000/rs6000.c: In function ‘void macho_branch_islands()’: /GCC/gcc-live-trunk/gcc/config/rs6000/rs6000.c:25074:34: error: ‘get_ppc64_thunk_name’ was not declared in this scope
make[3]: *** [rs6000.o] Error 1
make[3]: *** Waiting for unfinished jobs....


/GCC/gcc-live-trunk/configure --prefix=/GCC/gcc-4-7-tempi -- target=powerpc-apple-darwin9 --host=powerpc-apple-darwin9 -- build=powerpc-apple-darwin9 --enable-version-specific-runtime-libs -- enable-checking=yes --with-libiconv-prefix=/usr --with-system-zlib -- with-gmp=/GCC/multiprec-math/ppc --with-mpfr=/GCC/multiprec-math/ppc --with-mpc=/GCC/multiprec-math/ppc --enable-languages=c,c+ +,fortran,ada,objc,obj-c++,lto

etc..

===

Hmm .. I wonder if this is just a temporary glitch because of the move of files to libgcc.

I'll investigate a bit further later...

If it's similar to what Alan saw but for get_ppc64_thunk_name, namely:

rs6000.c:27968:1: error: 'void rs6000_code_end()' defined but not used
[-Werror=unused-function]
cc1plus: all warnings being treated as errors

Does the following fix it for you?

Index: config/rs6000/rs6000-protos.h
===================================================================
--- config/rs6000/rs6000-protos.h       (revision 180786)
+++ config/rs6000/rs6000-protos.h       (working copy)
@@ -173,7 +173,7 @@ extern void rs6000_emit_eh_reg_restore (
extern const char * output_isel (rtx *);
extern void rs6000_call_indirect_aix (rtx, rtx, rtx);
extern void rs6000_aix_asm_output_dwarf_table_ref (char *);
-extern void get_ppc476_thunk_name (char name[32]);
+extern void get_ppc476_thunk_name (char name[32]) ATTRIBUTE_UNUSED;

/* Declare functions in rs6000-c.c */

We do include this in tm_p.h

$ more ../gcc-4-7-trunk-build/gcc/tm_p.h
#ifndef GCC_TM_P_H
#define GCC_TM_P_H
#ifdef IN_GCC
# include "config/rs6000/rs6000-protos.h"
# include "config/darwin-protos.h"
# include "tm-preds.h"
#endif
#endif /* GCC_TM_P_H */

.. but not in tm.h

Iain

Reply via email to