This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Symbols relocatable using dlopen?


Hi Alan,

Thanks for your reply.

Alan Modra wrote:
On Fri, Aug 28, 2009 at 12:58:06PM +0300, Marcus Clyne wrote:
I have a function my_print () defined in my program, but in calling dlopen() I get the following error:

undefined symbol: my_print

my_print is likely not a dynamic symbol. You can check with nm -D. There are a number of ways to make sure it is dynamic, eg. link your program against your dlopen'd shared lib with --no-add-needed, or use --dynamic-list.


my_print isn't a dynamic symbol in the program.
Am I right in understanding that you mean that if I make the symbol dynamic in the main program, then it will be relocatable in the shared object when it's loaded, but if it's static, then it won't be?


If I understand the --no-add-needed option correctly, it's not appropriate for my situation as I don't know the names of the libraries when linking the program file.

I've tried using --dynamic-list=/file/path in the linker options. In the /file/path I have 'my_print' in it on its own, but am getting 'syntax error in dynamic list' messages. I've also tried 'my_print,' with no luck.

I've looked in the man pages and online for the syntax for --dynamic-list files, but haven't found it yet. Do you know what the format for the dynamic list files is?

Thanks,

Marcus.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]