[libitm] Work around missing AVX support
Iain Sandoe
developer@sandoe-acoustics.co.uk
Fri Nov 11 23:21:00 GMT 2011
On 11 Nov 2011, at 14:33, Rainer Orth wrote:
> Iain Sandoe <developer@sandoe-acoustics.co.uk> writes:
>
>> however, most of the suite fails on darwin9 - with an undefined
>> reference
>> to delete(void*).
>
> Could this be the same issue I've been seeing on Tru64 UNIX, i.e. lack
> of weakdef support?
>
> http://gcc.gnu.org/ml/gcc-patches/2011-11/msg01426.html
>
> At least my weakdef.c testcase also fails to link on
> i386-apple-darwin9.8.0.
It certainly looks similar to point 2
Having discussed this with Mike and tried out some experiments.
For Darwin, the symbol can be absent at runtime (and will compare to
NULL as per the elf case).
However,
a) (with two-level namespace) it can't be absent at link time - so
there has to be a dummy provided there.
b) (If you force flat_namespace ... which IMO would be a Very Bad
Thing for the compiler) you can do
-flat_namespace -undefined suppress ...
... see the discussion in http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51059
- so I think that is quite similar to what your quoted page is saying?
However,
... it doesn't explain why x86-64 Darwin10 does NOT seem to
experience this (there should be no change in weak semantics AFAIK
between 9 and 10) .
.. and i686-darwin9 does (unless there's a tool bug in Darwin 9
that this is exposing).
... and the comment stands that the Makefile.am explicitly says "we
don't want or need libstdc++" but the missing symbols (in darwin9)
seem to be from there.
cheers
Iain
More information about the Gcc-patches
mailing list