[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

modulename_LTX_ prefix not removed from preloaded symbols?

From: Kevin P. Fleming
Subject: modulename_LTX_ prefix not removed from preloaded symbols?
Date: Sun, 12 Oct 2003 15:09:46 -0700
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624

I've just converted an application to use libtool and ltdl for opening its plugin modules; part of that conversion required prefixing the public-visible symbols in the modules with "modulename_LTX_", which ltdl strips when lt_dlsym is called. That all worked fine.

However, one of the reasons for making this change to libtool was so that the application could support being statically linked. I have modified the makefiles to use -dlopen and -dlpreopen where required, and now I get a static binary built with all the plugins linked in. So far so good... however, after figuring out a way to get at the preloaded_symbols list (see my message to this list from yesterday), I find out that the symbols in this list _do not have the prefix removed_! In spite of that, presym_sym (the "symbol finder" for preloaded modules) has no concept of the symbol prefix and makes no attempt to remove it before checking the symbol list. I now have to construct the prefix in my code so I can add it to the symbol, but only when I found the module in the preloaded symbols list.

Is this how this is supposed to work? It doesn't seem logical to me, at this point I could have built the infrastructure to do this myself (given that I don't have to support much portability beyond Linux) and not had to deal with this. Maybe I'm just missing something, but I don't see why the preloaded-symbols case shouldn't act _exactly_ like the shared-library-loaded-symbols case.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]