[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