This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [HELP] GCC 4.1 branch Ada status on powerpc-darwin?



On 23/01/2006, at 6:23 AM, Eric Botcazou wrote:


Attached is a patch to the 4.1 branch, I think it will apply to mainline
too. Branch built fine on powerpc-apple-darwin8.4.0 with c,ada enabled.



That's not sufficient: the compiler bootstraps fine, but all the ACATS tests
fail to link:


gnatlink a22006c.ali
--GCC=/nile.build/botcazou/gnat6/powerpc-apple-darwin8/gcc/
xgcc -B/nile.build/botcazou/gnat6/powerpc-apple-darwin8/gcc/
/usr/bin/ld: warning -L: directory name
(/nile.build/botcazou/gnat6/install_ppc/
lib/gcc/powerpc-apple-darwin8.0.0/4.1.0/adalib/) does not exist
/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

So, on Darwin, unlike any other platforms, you need to explicitly pass either
-static-libgcc or -shared-libgcc to link the EH machinery. That seems weird.


Geoff, any chance to bring Darwin back on par with the other platforms?

As I said before in this thread, the Ada driver should do what the C+ + driver does, which is to pass -shared-libgcc if it's going to need EH support. Or, you could pass -fexceptions to the link, which has the same effect.


No, it's not possible to let people safely 'just use EH' with no extra work. The issue is compatibility with the various Mac OS X versions, including future versions. Passing -static-libgcc creates an executable for which future binary compatibility is not guaranteed. Passing -shared-libgcc creates an executable which will not work before 10.3.9 because the library is not there.

Attachment: smime.p7s
Description: S/MIME cryptographic signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]