This is the mail archive of the
mailing list for the GCC project.
Re: [trans-mem,darwin] PR/52042 find tm_clone_table with PIE
- From: Patrick Marlier <patrick dot marlier at gmail dot com>
- To: Jack Howarth <howarth at bromo dot med dot uc dot edu>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>, Mike Stump <mrs at gcc dot gnu dot org>, Iain Sandoe <developer at sandoe-acoustics dot co dot uk>
- Date: Thu, 09 Feb 2012 00:10:48 -0500
- Subject: Re: [trans-mem,darwin] PR/52042 find tm_clone_table with PIE
- References: <4F31EDC9.email@example.com> <20120208051249.GA31393@bromo.med.uc.edu>
On 02/08/2012 12:12 AM, Jack Howarth wrote:
I believe the remaining libitm.c++/eh-1.C execution test failures are due to
the weakref linker bug currently in Xcode 4.x (radr://10466868) which I hae been
told will be fixed in the next Xcode release after Xcode 4.3.
Humm... In fact, not completely. Of course, if the linker was working,
the HAVE_ELF_STYLE_WEAKREF will be defined and no problem.
Otherwise in the eh-1.c, we can see that _ITM_cxa_allocation_exception
is using the dummy function __cxa_allocation_exception defined into
eh_cpp.cc but not the one from libstdc++. There is no dynamic symbol
resolution since the function is defined in the file.
I do not really know why those functions are defined here, I think it
may causes more problems than it solves for darwin.
When Rainer introduced this, he mentioned "on Tru64 UNIX. Of course it
cannot work to provide only a single dummy function, but all weak
definitions must be backed by dummy definitions on that platform."
Iain mentioned this when he introduced the dummy def for darwin:
*** FWIW, weakref actually work (at runtime) for earlier Darwin
- it's just that refs either need to be satisfied by dummies at link time -
- or the library namespace has to be flattened (which is generally
I think refs (from libstdc++) should be satisfied at link time with
-lstdc++ but probably I am missing something?
Note that removing definitions in eh_cpp.cc make the test passes.