[LLVMdev] does new EH require newer linker?

Duncan Sands baldrick at free.fr
Fri Sep 2 00:23:54 PDT 2011


Hi Jack,

>     Is the new EH scheme completely compatible with the existing linker in Xcode 4.1?
> I am finding that today's changes break the ability to link xplor-nih with dragonegg
> under FSF gcc 4.6.2...

the new scheme uses the same code generation as the old scheme.  However I think
Bill just turned on "compact unwind info" (or something like that) on Darwin, so
that might be the cause of your problems.

Ciao, Duncan.

>
> de-g++46 -c thread.cc -O3 -ffast-math -funroll-loops -g  -DX_MMAP_FLAGS=0 -DFORTRAN_INIT -fno-common  -DDARWIN -D_REENTRANT -DNDEBUG  -I/Users/howarth/xplor-nih-2.27/vmd/ -I/Users/howarth/xplor-nih-2.27/arch/Darwin_11_x86_64/include -I/Users/howarth/xplor-nih-2.27/CDSlib -DCPLUSPLUS -DUSE_CDS_NAMESPACE -I/Users/howarth/xplor-nih-2.27/vmd/ -I/Users/howarth/xplor-nih-2.27/arch/Darwin_11_x86_64/include -I/Users/howarth/xplor-nih-2.27/CDSlib -I/Users/howarth/xplor-nih-2.27/common
> de-g++46 -dynamiclib -fdefault-integer-8 -O3 -ffast-math -funroll-loops -g -flat_namespace -undefined suppress -single_module dpApi.o vmd.o vmdInter.o tclStream.o dpStream.o ssStream.o publicVMDInter.o thread.o -o libvmd.dylib    -lcrypto
> collect2: ld terminated with signal 11 [Segmentation fault: 11]
> make[2]: *** [libvmd.dylib] Error 1
> make[1]: *** [lib] Error 2
> make: *** [vmd] Error 2
>
> at
>
> /usr/bin/ld -dynamic -dylib -arch x86_64 -flat_namespace -macosx_version_min 10.7.2 -single_module -undefined suppress -weak_reference_mismatches non-weak -undefined suppress -o libvmd.dylib -ldylib1.10.5.o -L/sw/lib/gcc4.6/lib/gcc/x86_64-apple-darwin11.0.0/4.6.1 -L/sw/lib/gcc4.6/lib/gcc/x86_64-apple-darwin11.0.0/4.6.1/../../.. dpApi.o vmd.o vmdInter.o tclStream.o dpStream.o ssStream.o publicVMDInter.o thread.o -lcrypto -lstdc++ -no_compact_unwind -lSystem -lgcc_ext.10.5 -lgcc -lSystem /sw/lib/gcc4.6/lib/gcc/x86_64-apple-darwin11.0.0/4.6.1/crtfastmath.o -v
>
> [MacPro:~/xplor-nih-2.27/vmd/bin.Darwin_11_x86_64] howarth% gdb /usr/bin/ld
> GNU gdb 6.3.50-20050815 (Apple version gdb-1705) (Fri Jul  1 10:50:06 UTC 2011)
> Copyright 2004 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you are
> welcome to change it and/or distribute copies of it under certain conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for details.
> This GDB was configured as "x86_64-apple-darwin"...Reading symbols for shared libraries ... done
>
> (gdb) r -dynamic -dylib -arch x86_64 -flat_namespace -macosx_version_min 10.7.2 -single_module -undefined suppress -weak_reference_mismatches non-weak -undefined suppress -o libvmd.dylib -ldylib1.10.5.o -L/sw/lib/gcc4.6/lib/gcc/x86_64-apple-darwin11.0.0/4.6.1 -L/sw/lib/gcc4.6/lib/gcc/x86_64-apple-darwin11.0.0/4.6.1/../../.. dpApi.o vmd.o vmdInter.o tclStream.o dpStream.o ssStream.o publicVMDInter.o thread.o -lcrypto -lstdc++ -no_compact_unwind -lSystem -lgcc_ext.10.5 -lgcc -lSystem /sw/lib/gcc4.6/lib/gcc/x86_64-apple-darwin11.0.0/4.6.1/crtfastmath.o
> Starting program: /usr/bin/ld -dynamic -dylib -arch x86_64 -flat_namespace -macosx_version_min 10.7.2 -single_module -undefined suppress -weak_reference_mismatches non-weak -undefined suppress -o libvmd.dylib -ldylib1.10.5.o -L/sw/lib/gcc4.6/lib/gcc/x86_64-apple-darwin11.0.0/4.6.1 -L/sw/lib/gcc4.6/lib/gcc/x86_64-apple-darwin11.0.0/4.6.1/../../.. dpApi.o vmd.o vmdInter.o tclStream.o dpStream.o ssStream.o publicVMDInter.o thread.o -lcrypto -lstdc++ -no_compact_unwind -lSystem -lgcc_ext.10.5 -lgcc -lSystem /sw/lib/gcc4.6/lib/gcc/x86_64-apple-darwin11.0.0/4.6.1/crtfastmath.o
> Reading symbols for shared libraries ++......................... done
>
> Program received signal EXC_BAD_ACCESS, Could not access memory.
> Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000028
> 0x00000001000159b9 in mach_o::relocatable::Section<x86_64>::addRelocFixup ()
> (gdb) bt
> #0  0x00000001000159b9 in mach_o::relocatable::Section<x86_64>::addRelocFixup ()
> #1  0x0000000100047a4c in mach_o::relocatable::Section<x86_64>::makeFixups ()
> #2  0x00000001000437a3 in mach_o::relocatable::Parser<x86_64>::parse ()
> #3  0x000000010001ec17 in mach_o::relocatable::Parser<x86_64>::parse ()
> #4  0x000000010001809f in mach_o::relocatable::parse ()
> #5  0x0000000100070ffc in ld::tool::InputFiles::makeFile ()
> #6  0x00000001000726f9 in ld::tool::InputFiles::InputFiles ()
> #7  0x0000000100012947 in main ()
> (gdb)
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list