[Issue 8548] relocation R_X86_64_32 against can not be used when making a shared object
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Wed Aug 15 10:28:16 PDT 2012
http://d.puremagic.com/issues/show_bug.cgi?id=8548
--- Comment #5 from Maxim Fomin <maxim at maxim-fomin.ru> 2012-08-15 10:28:14 PDT ---
(In reply to comment #4)
> following command fails also with non-hardened gcc
>
> ./dmd -shared -fPIC hello.d
> /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.2-pre9999/../../../../x86_64-pc-linux-gnu/bin/ld:
> ./../lib64/libphobos2.a(object__c_58c.o): relocation R_X86_64_32 against
> `_D10TypeInfo_m6__initZ' can not be used when making a shared object; recompile
> with -fPIC
> ./../lib64/libphobos2.a: could not read symbols: Bad value
> collect2: error: ld returned 1 exit status
> --- errorlevel 1
Libraries may be built in two steps
(currently I don't know better solution):
dmd hello.d -fPIC -c
gcc --shared hello.o -o ...
if there is really need to make a library with main function.
Additionally, when linking object files from manually compiled sources,
core modules have to be linked with phobos2.a, librt.so, libpthread.so.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list