[LLVMdev] global symbols converted to local symbols

Ryan M. Lefever lefever at crhc.uiuc.edu
Wed Oct 29 17:49:54 PDT 2008

I have a bitcode file x.bc.  When I run llmv-nm on x.bc, it shows that a 
function f(), that I've written, is defined as a global function (text) 
object, i.e., llvm-nm shows it marked with a 'T'.  I have converted x.bc 
to an executable with the following command:  llvm-ld -native -o x.exe 
x.bc  When I run nm on x.exe, it shows that f is now a local function 
(text) object, i.e., nm shows it marked with a 't'.  Why is llvm-ld 
converting f() from a global function object to a local function object.

I believe that I need f() to be a global function object because I use 
LD_PRELOAD to load a library that make use of f().


More information about the llvm-dev mailing list