help with dl module and clang

Dimitry Andric dim at FreeBSD.org
Sat Nov 3 15:47:50 UTC 2018


On 3 Nov 2018, at 15:51, Daniel Braniss <danny at cs.huji.ac.il> wrote:
> 
> I have a program that loads some modules via dlopen(),  these modules call some routines
> which are in the main program, this works when using gcc, but with cc it does not.
> 
> when compiling the main program I use  -export-dynamic, and the modules link fine when compiled with
> gcc, but when compiling with clang/cc i get dlerror: ...Undefined symbol …
> BTW, when linking the main program with cc I get
> 	/usr/bin/ld: warning: cannot find entry symbol xport-dynamic; defaulting to 0000000000402140

Instead of using -export-dynamic (which is a linker flag) as a flag to
cc, try using -Wl,-export-dynamic instead.  Now, the linker interprets
this as the -e flag, which is something totally different.

I think this will also help with the exporting of the symbols of your
main program.

-Dimitry

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 223 bytes
Desc: Message signed with OpenPGP
URL: <http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20181103/153481bf/attachment.sig>


More information about the freebsd-hackers mailing list