> Yes the workaround is to add -fexceptions or -shared-libgcc to the > command line when linking libgnat but I don't know if that is the correct > fix or some hacking to config/darwin.h is needed.
Thanks. However, that's not sufficient because the tools fail to build too: ../../xgcc -B../../ -DIN_GCC `echo -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes |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.oalloc.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.oosint.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 /usr/bin/ld: Undefined symbols: __Unwind_Resume __Unwind_ForcedUnwind __Unwind_GetDataRelBase __Unwind_GetIP __Unwind_GetLanguageSpecificData __Unwind_GetRegionStart __Unwind_GetTextRelBase __Unwind_RaiseException __Unwind_SetGR __Unwind_SetIP collect2: ld returned 1 exit status make[3]: *** [../../gnatmake] Error 1 make[2]: *** [gnattools-native] Error 2 make[1]: *** [all-gnattools] Error 2 make: *** [all] Error 2 I presume we need to pass -fexceptions here. More generally, do we need to pass -fexceptions in any link against the static Ada runtime? How does that work for C++ for example? -- Eric Botcazou