[LLVMbugs] [Bug 2926] New: Assertions fail when linking symbol aliases
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Tue Oct 21 13:11:54 PDT 2008
http://llvm.org/bugs/show_bug.cgi?id=2926
Summary: Assertions fail when linking symbol aliases
Product: new-bugs
Version: unspecified
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: new bugs
AssignedTo: unassignedbugs at nondot.org
ReportedBy: torvald at se.inf.tu-dresden.de
CC: llvmbugs at cs.uiuc.edu
Created an attachment (id=2115)
--> (http://llvm.org/bugs/attachment.cgi?id=2115)
Source for one.bc
I saw two cases of assertion failures when linking modules with slightly
different symbol aliases (same name, but different aliasee types). As several
other cases are reported as errors in the code, I think these two cases should
also be reported as errors.
The system is an AMD64 Debian lenny, LLVM is built from the 2.4 release branch,
llvm-gcc is built from the 2.3 sources (I wasn't able to build it from 2.4).
Here is what fails (one.ll, two.ll, three.ll are attached).
llvm-ld -link-as-library -internalize -o foo.bc one.bc three.bc
llvm-ld:
/home/staff/torvald/STM/stm/code/cpp/llvm-2.4/include/llvm/Support/Casting.h:199:
typename llvm::cast_retty<To, From>::ret_type llvm::cast(const Y&) [with X =
llvm::GlobalValue, Y = llvm::Value*]: Assertion `isa<X>(Val) && "cast<Ty>()
argument of incompatible type!"' failed.
llvm-ld[0x8ca3d7]
llvm-ld[0x8ca4f8]
/lib/libc.so.6[0x7f2cbbdf8f60]
/lib/libc.so.6(gsignal+0x35)[0x7f2cbbdf8ed5]
/lib/libc.so.6(abort+0x183)[0x7f2cbbdfa3f3]
/lib/libc.so.6(__assert_fail+0xe9)[0x7f2cbbdf1dc9]
llvm-ld(_ZN4llvm12cast_or_nullINS_11GlobalValueENS_5ValueEEENS_10cast_rettyIT_PT0_E8ret_typeES6_+0x0)[0x68e11b]
llvm-ld[0x688c90]
llvm-ld(_ZN4llvm6Linker11LinkModulesEPNS_6ModuleES2_PSs+0x639)[0x68abdf]
llvm-ld(_ZN4llvm6Linker12LinkInModuleEPNS_6ModuleEPSs+0x28)[0x68593a]
llvm-ld(_ZN4llvm6Linker10LinkInFileERKNS_3sys4PathERb+0x4d4)[0x684fe4]
llvm-ld(_ZN4llvm6Linker11LinkInFilesERKSt6vectorINS_3sys4PathESaIS3_EE+0x36)[0x68514a]
llvm-ld(main+0x359)[0x6628c9]
/lib/libc.so.6(__libc_start_main+0xe6)[0x7f2cbbde51a6]
llvm-ld(_ZNSt8ios_base4InitD1Ev+0x39)[0x65a0b9]
Aborted
llvm-ld -link-as-library -internalize -o foo.bc two.bc three.bc
llvm-ld:
/home/staff/torvald/STM/stm/code/cpp/llvm-2.4/lib/VMCore/Globals.cpp:193:
llvm::GlobalAlias::GlobalAlias(const llvm::Type*,
llvm::GlobalValue::LinkageTypes, const std::string&, llvm::Constant*,
llvm::Module*): Assertion `aliasee->getType() == Ty && "Alias and aliasee types
should match!"' failed.
llvm-ld[0x8ca3d7]
llvm-ld[0x8ca4f8]
/lib/libc.so.6[0x7f537d344f60]
/lib/libc.so.6(gsignal+0x35)[0x7f537d344ed5]
/lib/libc.so.6(abort+0x183)[0x7f537d3463f3]
/lib/libc.so.6(__assert_fail+0xe9)[0x7f537d33ddc9]
llvm-ld(_ZN4llvm11GlobalAliasC1EPKNS_4TypeENS_11GlobalValue12LinkageTypesERKSsPNS_8ConstantEPNS_6ModuleE+0xa2)[0x839fd2]
llvm-ld[0x6895a1]
llvm-ld(_ZN4llvm6Linker11LinkModulesEPNS_6ModuleES2_PSs+0x639)[0x68abdf]
llvm-ld(_ZN4llvm6Linker12LinkInModuleEPNS_6ModuleEPSs+0x28)[0x68593a]
llvm-ld(_ZN4llvm6Linker10LinkInFileERKNS_3sys4PathERb+0x4d4)[0x684fe4]
llvm-ld(_ZN4llvm6Linker11LinkInFilesERKSt6vectorINS_3sys4PathESaIS3_EE+0x36)[0x68514a]
llvm-ld(main+0x359)[0x6628c9]
/lib/libc.so.6(__libc_start_main+0xe6)[0x7f537d3311a6]
llvm-ld(_ZNSt8ios_base4InitD1Ev+0x39)[0x65a0b9]
Aborted
--
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