> 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.

That's not really an option, as Ada links its static runtime by default and 
tries to avoid external dependencies by default.

> 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.

IIUC, that passing nothing is neither equivalent to -static-libgcc nor to 
-shared-libgcc is a feature, right?  I know Darwin didn't invent it (IIRC 
Linux did) but that's not a valid excuse. :-)  And the "neither -static-libgcc 
not -shared-libgcc" on Darwin is not compatible with the "neither 
-static-libgcc not -shared-libgcc" on Linux.

OK, I guess we have no other solution than defaulting to -static-libgcc for 
Ada on Darwin.

Thanks for your feedback.

-- 
Eric Botcazou

Reply via email to