Geoff,
Well removing the portions of my previous patch which weren't
being used, the effective change that I had (which eliminated the
failures under MacOS X 10.4.8 with the -m64 objc testsuite) was...
diff -uNr gcc-4.2-20061002/gcc/unwind-dw2-fde-darwin.c
gcc-4.2-20061002.allocatable_unwind-dw2-fde-darwin/gcc/unwind-dw2-fde-darwin.c
--- gcc-4.2-20061002/gcc/unwind-dw2-fde-darwin.c 2006-10-01
23:03:13.000000000 -0400
+++
gcc-4.2-20061002.allocatable_unwind-dw2-fde-darwin/gcc/unwind-dw2-fde-darwin.c
2006-10-02 19:24:03.000000000 -0400
@@ -61,7 +61,7 @@
struct mach_header_64;
extern char *getsectdatafromheader (struct mach_header*, const char*,
const char *, unsigned long *);
-extern char *getsectdatafromheader_64 (struct mach_header*, const char*,
+extern char *getsectdatafromheader_64 (struct mach_header_64*, const char*,
const char *, unsigned long *);
/* This is referenced from KEYMGR_GCC3_DW2_OBJ_LIST. */
which eliminates the warning I was seeing before of...
/sw/src/fink.build/gcc4-4.1.9999-20060928/darwin_objdir/./gcc/xgcc
-B/sw/src/fink.build/gcc4-4.1.9999-20060928/darwin_objdir/./gcc/
-B/sw/lib/gcc4/powerpc-apple-darwin8/bin/
-B/sw/lib/gcc4/powerpc-apple-darwin8/lib/ -isystem
/sw/lib/gcc4/powerpc-apple-darwin8/include -isystem
/sw/lib/gcc4/powerpc-apple-darwin8/sys-include -O2 -O2 -g -O2 -DIN_
GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -isystem ./include -Wa,-force_cpusubtype_ALL -pipe -g
-DHAVE_GTHR_DEFAULT -
DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../../gcc-4.2-20060928/gcc
-I../../gcc-4.2-20060928/gcc/. -I../../gcc-4.2-20060928/gcc/../include
-I./../intl -I../../gcc-4.2
-20060928/gcc/../libcpp/include -I/sw/include
-I../../gcc-4.2-20060928/gcc/../libdecnumber -I../libdecnumber -m64
-fexceptions -fvisibility=hidden -DHIDE_EXPORTS -c ../../g
cc-4.2-20060928/gcc/unwind-dw2-fde-darwin.c -o
libgcc/ppc64/unwind-dw2-fde-darwin.o
../../gcc-4.2-20060928/gcc/unwind-dw2-fde-darwin.c: In function
'examine_objects':
../../gcc-4.2-20060928/gcc/unwind-dw2-fde-darwin.c:167: warning: passing
argument 1 of 'getsectdatafromheader_64' from incompatible pointer type
I'll do a full bootstrap with that tonight and see if it still reduces my -m64
objc failures.
It still would be nice to understand why we need a call to...
fde = getsectdatafromheader (image->mh, "__DATA", "__eh_frame", &sz);
on 32-bit PPC but not 64-bit PPC. Is this to work around some bug in the system?
Jack