Linking C & extern(C) on OS X: duplicate symbols not flagged

Jacob Carlborg doob at me.com
Tue Sep 3 23:36:24 PDT 2013


On 2013-09-04 00:36, "Luís Marques" <luis at luismarques.eu>" wrote:

> Sorry for the delay.
>
> Using LDC fails, as expected / desired:
>
>      duplicate symbol _dotest in:
>          d/test.o
>          c/test.o
>      ld: 1 duplicate symbol for architecture x86_64
>
> The LDC .o sections are the same as the C version:
>
>      $ nm d/test.o | grep dotest; echo "--"; nm c/test.o | grep dotest
>      0000000000000000 T _dotest
>      00000000000000b0 S _dotest.eh
>      --
>      0000000000000000 T _dotest
>      0000000000000060 S _dotest.eh
>
> I haven't tried GDC (I get the object.d not found error, even after
> installing the D .dmg package, instead of using brew, and I don't recall
> how I used to solve that), but I imagine it would also fail-work (detect
> the duplicate symbol, and fail compilation).

Perhaps time to file a bug report. I don't know if there's a reason to 
not use the same sections as C does.

http://d.puremagic.com/issues/

-- 
/Jacob Carlborg


More information about the Digitalmars-d mailing list