[LLVMbugs] [Bug 10225] New: Mysterious llvm-ld error "Global metadata operand cannot be function local"

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Jun 29 09:19:03 PDT 2011


           Summary: Mysterious llvm-ld error "Global metadata operand
                    cannot be function local"
           Product: new-bugs
           Version: 2.9
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: srk31 at srcf.ucam.org
                CC: llvmbugs at cs.uiuc.edu

I'm getting the following error on a run of llvm-ld. This is from the 2.9
release, built Release+Debug+Asserts for x86_64 on a FC13 machine.

$ llvm-ld -lpthread -Lout/host/linux-x86/pr/sim/obj/lib/llvm
-Lout/host/linux-x86/pr/sim/obj/lib/llvm -L\$ORIGIN/../lib/llvm
-l=stagefright -l=log -l=utils -l=binder -o
Global metadata operand cannot be function local!
metadata !34477
metadata !{null}
Broken module found, compilation aborted!
0  llvm-ld         0x00000000008708cf
1  llvm-ld         0x0000000000872b1a
2  libpthread.so.0 0x0000003b7f60f4a0
3  libc.so.6       0x0000003b7ea328f5 gsignal + 53
4  libc.so.6       0x0000003b7ea340d5 abort + 373
5  llvm-ld         0x000000000082c8e8
6  llvm-ld         0x000000000080852d
llvm::FPPassManager::runOnFunction(llvm::Function&) + 557
7  llvm-ld         0x000000000080862b
llvm::FPPassManager::runOnModule(llvm::Module&) + 75
8  llvm-ld         0x00000000008080b7
llvm::MPPassManager::runOnModule(llvm::Module&) + 503
9  llvm-ld         0x0000000000808237 llvm::PassManagerImpl::run(llvm::Module&)
+ 167
10 llvm-ld         0x00000000004a7d9f llvm::Optimize(llvm::Module*) + 495
11 llvm-ld         0x00000000004ac5f6 main + 1510
12 libc.so.6       0x0000003b7ea1ec5d __libc_start_main + 253
13 llvm-ld         0x00000000004a75f9
Stack dump:
0.      Program arguments: llvm-ld -lpthread
-Lout/host/linux-x86/pr/sim/obj/lib/llvm -L$ORIGIN/../lib/llvm
-l=stagefright -l=log -l=utils -l=binder -o
1.      Running pass 'Function Pass Manager' on module
2.      Running pass 'Module Verifier' on function

This is using a Release+Debug+Asserts build of the LLVM 2.9 release.

The input files have all been built in (I think) the standard way. To reproduce
the bug, I guess you have to try it on this input yourself. Here's a tarball
that should have what you need (apologies for the additional chaff):

Background: I'm trying to build a large source tree (namely Android) as LLVM
bitcode. I'm doing so based on a vanilla build ("lunch sim-eng" in Android
build-speak) that uses gcc/binutils to output native binaries. I've hacked the
build system to generate bitcode alongside these. 

In case there's something fishy about how I'm building the bitcode objects,
here's the make -n log, hopefully including mostly (only) relevant stuff.

Thanks for any suggestions!

Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

More information about the llvm-bugs mailing list