[LLVMdev] LLVM and Cygwin

Duncan Sands
Tue, 30 Jul 2013 12:51:23 -0000

Hi Brian,

On 29/07/13 23:42, Brian Herman wrote:
> I got the following error while compiling llvm and clang under cygwin.
>
>
/cygdrive/c/Users/brianherman/Desktop/llvm/llvm-3.3.src/Release+Asserts/lib/libLLVMMCJIT.a(SectionMemoryManager.o):SectionMemoryManager.cpp:(.text+0x3b):
> undefined reference to `__register_frame'

I register_frame is used to enable the debugger (gdb) to debug JIT'd code.
It
is a function provided by libgcc, to be more precise in libgcc_eh.  Is it in
your copy?

$ nm libgcc_eh.a | grep register_fram
0000000000001960 T __deregister_frame
0000000000001950 T __deregister_frame_info
0000000000001830 T __deregister_frame_info_bases
0000000000001750 T __register_frame
0000000000001740 T __register_frame_info
00000000000016b0 T __register_frame_info_bases
0000000000001800 T __register_frame_info_table
0000000000001780 T __register_frame_info_table_bases
0000000000001810 T __register_frame_table

Ciao, Duncan.

>
/cygdrive/c/Users/brianherman/Desktop/llvm/llvm-3.3.src/Release+Asserts/lib/libLLVMMCJIT.a(SectionMemoryManager.o):SectionMemoryManager.cpp:(.text+0x3b):
> relocation truncated to fit: R_X86_64_PC32 against undefined symbol
> `__register_frame'
> /usr/lib/gcc/x86_64-pc-cygwin/4.8.1/../../../../x86_64-pc-cygwin/bin/ld:
>
/cygdrive/c/Users/brianherman/Desktop/llvm/llvm-3.3.src/Release+Asserts/lib/libLLVMMCJIT.a(SectionMemoryManager.o):
> bad reloc address 0x0 in section `.pdata'
> collect2: error: ld returned 1 exit status
>
/cygdrive/c/Users/brianherman/Desktop/llvm/llvm-3.3.src/Makefile.rules:1530:
> recipe for target
>
`/cygdrive/c/Users/brianherman/Desktop/llvm/llvm-3.3.src/Release+Asserts/bin/lli.exe'
> failed
> make[2]: ***
>
[/cygdrive/c/Users/brianherman/Desktop/llvm/llvm-3.3.src/Release+Asserts/bin/lli.exe]
> Error 1
> make[2]: Leaving directory
> `/cygdrive/c/Users/brianherman/Desktop/llvm/llvm-3.3.src/tools/lli'
> /cygdrive/c/Users/brianherman/Desktop/llvm/llvm-3.3.src/Makefile.rules:925:
> recipe for target `lli/.makeall' failed
> make[1]: *** [lli/.makeall] Error 2
> make[1]: Leaving directory
> `/cygdrive/c/Users/brianherman/Desktop/llvm/llvm-3.3.src/tools'
> /cygdrive/c/Users/brianherman/Desktop/llvm/llvm-3.3.src/Makefile.rules:876:
> recipe for target `all' failed
> make: *** [all] Error 1
> I have no idea what that means.
>
> --
>
>
> Thanks,
> Brian Herman
> college.nfshost.com <http://college.nfshost.com>
>
>
>
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>