I just tried a C and Ada-only bootstrap on Mac OS X 10.3.6 (starting from gcc 3.3, i.e. gcc version 3.3 20030304 (Apple Computer, Inc. build 1666) gcc version 3.3 20040312 (GNAT build 1650) ) for the first time. Linking gnatmake fails like this:
../../xgcc -B../../ -DIN_GCC `echo -O2 -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -fno-common |sed -e 's/-pedantic//g' -e 's/-Wtraditional//g'` -o ../../gnatmake b_gnatm.o a-except.o ctrl_c.o ali.o ali-util.o s-casuti.o alloc.o atree.o binderr.o butil.o casing.o csets.o debug.o elists.o einfo.o erroutc.o errutil.o err_vars.o fmap.o fname.o fname-uf.o fname-sf.o gnatmake.o gnatvsn.o hostparm.o interfac.o i-c.o i-cstrin.o krunch.o lib.o make.o makeusg.o makeutl.o mlib.o mlib-fil.o mlib-prj.o mlib-tgt.o mlib-utl.o namet.o nlists.o opt.o osint.o osint-m.o output.o prj.o prj-attr.o prj-attr-pm.o prj-com.o prj-dect.o prj-env.o prj-err.o prj-ext.o prj-nmsc.o prj-pars.o prj-part.o prj-proc.o prj-strt.o prj-tree.o prj-util.o rident.o s-exctab.o s-secsta.o s-stalib.o s-stoele.o scans.o scng.o sdefault.o sfn_scan.o s-purexc.o s-htable.o sinfo.o sinput.o sinput-c.o sinput-p.o snames.o stand.o stringt.o styleg.o stylesw.o system.o validsw.o switch.o swi! tch-m.o table.o targparm.o tempdir.o tree_io.o types.o uintp.o uname.o urealp.o usage.o widechar.o \ ../rts/libgnat.a ../../prefix.o ../../version.o link.o ../../../libiberty/libiberty.a /usr/bin/ld: Undefined symbols: __Unwind_fallback_frame_state_for collect2: ld returned 1 exit status make[4]: *** [../../gnatmake] Error 1 make[3]: *** [gnattools1] Error 2 make[2]: *** [gnattools-native] Error 2 make[1]: *** [all-target-libada] Error 2 This happens because __Unwind_fallback_frame_state_for is referenced in libgcc_eh.a and defined in libgcc.a, but gnatmake is linked with ../../collect2 -dynamic -arch ppc -weak_reference_mismatches non-weak -o ../../gnatmake -lcrt1.o ../../crt2.o -L../.. b_gnatm.o a-except.o ctrl_c.o ali.o ali-util.o s-casuti.o alloc.o atree.o binderr.o butil.o casing.o csets.o debug.o elists.o einfo.o erroutc.o errutil.o err_vars.o fmap.o fname.o fname-uf.o fname-sf.o gnatmake.o gnatvsn.o hostparm.o interfac.o i-c.o i-cstrin.o krunch.o lib.o make.o makeusg.o makeutl.o mlib.o mlib-fil.o mlib-prj.o mlib-tgt.o mlib-utl.o namet.o nlists.o opt.o osint.o osint-m.o output.o prj.o prj-attr.o prj-attr-pm.o prj-com.o prj-dect.o prj-env.o prj-err.o prj-ext.o prj-nmsc.o prj-pars.o prj-part.o prj-proc.o prj-strt.o prj-tree.o prj-util.o rident.o s-exctab.o s-secsta.o s-stalib.o s-stoele.o scans.o scng.o sdefault.o sfn_scan.o s-purexc.o s-htable.o sinfo.o sinput.o sinput-c.o sinput-p.o snames.o stand.o stringt.o styleg.o stylesw.o system.o validsw.o switch.o switch-m.o table.o targparm.o tempdir.o tree_io.o types.o uintp.o uname.o urealp.! o usage.o widechar.o ../rts/libgnat.a ../../prefix.o ../../version.o link.o ../../../libiberty/libiberty.a -lgcc -lgcc_eh -lSystem -lmx So there's no instance of libgcc.a to satisfy the reference from libgcc_eh.a. Adding -lgcc_eh to the link line allows the link to complete. Environment: System: Darwin nil 7.6.0 Darwin Kernel Version 7.6.0: Sun Oct 10 12:05:27 PDT 2004; root:xnu/xnu-517.9.4.obj~1/RELEASE_PPC Power Macintosh powerpc host: powerpc-apple-darwin7.6.0 build: powerpc-apple-darwin7.6.0 target: powerpc-apple-darwin7.6.0 configured with: /vol/gnu/src/gcc/gcc-dist/configure --prefix=/vol/gcc/obj/gnat/4.0.0/7.6.0 --with-local-prefix=/vol/gcc/obj/gnat/4.0.0/7.6.0 --disable-nls --enable-languages=c,ada How-To-Repeat: Bootstrap as described above. -- Summary: gnatmake fails to link on Mac OS X 10.3 Product: gcc Version: 0.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ro at techfak dot uni-bielefeld dot de CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: powerpc-apple-darwin7.6.0 GCC host triplet: powerpc-apple-darwin7.6.0 GCC target triplet: powerpc-apple-darwin7.6.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18570