[llvm-bugs] [Bug 27341] New: lld Assertion failed: (!isLocal()), function SymbolBody linking FreeBSD base system

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Apr 13 09:32:13 PDT 2016


https://llvm.org/bugs/show_bug.cgi?id=27341

            Bug ID: 27341
           Summary: lld Assertion failed: (!isLocal()), function
                    SymbolBody linking FreeBSD base system
           Product: lld
           Version: unspecified
          Hardware: PC
                OS: FreeBSD
            Status: NEW
          Severity: normal
          Priority: P
         Component: All Bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: emaste at freebsd.org
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

Further details to be added after investigation.
At r266161.

Invocation:
/tank/emaste/obj/tank/emaste/src/freebsd/tmp/usr/bin/ld
--sysroot=/tank/emaste/obj/tank/emaste/src/freebsd/lib32 --eh-frame-hdr
-Bshareable --hash-style=both --enable-new-dtags -m elf_i386_fbsd -o
libdtrace.so.2.full
/tank/emaste/obj/tank/emaste/src/freebsd/lib32/usr/lib32/crti.o
/tank/emaste/obj/tank/emaste/src/freebsd/lib32/usr/lib32/crtbeginS.o
-L/tank/emaste/obj/tank/emaste/src/freebsd/lib32/usr/lib32
-L/tank/emaste/obj/tank/emaste/src/freebsd/lib32/usr/lib32 -x --fatal-warnings
--warn-shared-textrel -soname libdtrace.so.2 dt_work.So dt_link.So dt_xlator.So
dt_subr.So dt_strtab.So dt_regset.So dt_provider.So dt_program.So dt_proc.So
dt_printf.So dt_print.So dt_pragma.So dt_pid.So dt_isadep.So dis_tables.So
gmatch.So dt_pcb.So dt_parser.So dt_options.So dt_open.So dt_dof.So dt_buf.So
dt_lex.So dt_string.So dt_consume.So dt_pq.So dt_aggregate.So dt_handle.So
dt_cc.So dt_map.So dt_grammar.So dt_errtags.So dt_decl.So dt_cg.So dt_as.So
dt_module.So dt_inttab.So dt_ident.So dt_error.So dt_dis.So dt_names.So
dt_list.So -lctf -lelf -lproc -lrtld_db -lpthread -lgcc --as-needed -lgcc_s
--no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed
/tank/emaste/obj/tank/emaste/src/freebsd/lib32/usr/lib32/crtendS.o
/tank/emaste/obj/tank/emaste/src/freebsd/lib32/usr/lib32/crtn.o 

(lldb) bt
* thread #1: tid = 102362, 0x00000008057d1aaa libc.so.7`__sys_thr_kill + 10 at
thr_kill.S:3, stop reason = signal SIGABRT
  * frame #0: 0x00000008057d1aaa libc.so.7`__sys_thr_kill + 10 at thr_kill.S:3
    frame #1: 0x00000008057d1a96 libc.so.7`__raise(s=<unavailable>) + 38 at
raise.c:51
    frame #2: 0x00000008057d1a19 libc.so.7`abort + 73 at abort.c:65
    frame #3: 0x00000008058383c1 libc.so.7`__assert(func=<unavailable>,
file=<unavailable>, line=<unavailable>, failedexpr=<unavailable>) + 81 at
assert.c:54
    frame #4: 0x00000000006eea24 ld`SymbolBody(this=0x00000008071aa320,
K=SharedKind, Name=StringRef at 0x00007fffffffc278, Binding='\0',
StOther='\x02', Type='\x02') + 244 at Symbols.cpp:102
    frame #5: 0x00000000006efe06 ld`Defined(this=0x00000008071aa320,
K=SharedKind, Name=StringRef at 0x00007fffffffc2f8, Binding='\0',
StOther='\x02', Type='\x02') + 118 at Symbols.cpp:258
    frame #6: 0x00000000005a862a ld`SharedSymbol(this=0x00000008071aa320,
F=0x00000008068323a0, Name=StringRef at 0x00007fffffffc370,
Sym=0x0000000806332c80) + 138 at Symbols.h:327
    frame #7: 0x00000000005a0bda
ld`lld::elf::SharedFile<llvm::object::ELFType<(llvm::support::endianness)1,
false> >::parseRest() [inlined] void
std::__1::allocator<lld::elf::SharedSymbol<llvm::object::ELFType<(this=0x0000000806832440,
__p=0x00000008071aa320, __args=0x00007fffffffc3e0, __args=0x00007fffffffc410,
__args=0x0000000806332c80)1, false> >
>::construct<lld::elf::SharedSymbol<llvm::object::ELFType<(llvm::support::endianness)1,
false> >,
lld::elf::SharedFile<llvm::object::ELFType<(llvm::support::endianness)1, false>
>*, llvm::StringRef&,
llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)1,
false> >
const&>(lld::elf::SharedSymbol<llvm::object::ELFType<(llvm::support::endianness)1,
false> >*,
lld::elf::SharedFile<llvm::object::ELFType<(llvm::support::endianness)1, false>
>*&&, llvm::StringRef&&&,
llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)1,
false> > const&&&) + 1578 at memory:1645
    frame #8: 0x00000000005a0b4c
ld`lld::elf::SharedFile<llvm::object::ELFType<(llvm::support::endianness)1,
false> >::parseRest() [inlined] void
std::__1::allocator_traits<std::__1::allocator<lld::elf::SharedSymbol<llvm::object::ELFType<((null)=std::__1::true_type
at 0x00007fffffffc570, __a=0x0000000806832440, __p=0x00000008071aa320,
__args=0x00007fffffffc3e0, __args=0x00007fffffffc410,
__args=0x0000000806332c80)1, false> > >
>::__construct<lld::elf::SharedSymbol<llvm::object::ELFType<(llvm::support::endianness)1,
false> >,
lld::elf::SharedFile<llvm::object::ELFType<(llvm::support::endianness)1, false>
>*, llvm::StringRef&,
llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)1,
false> > const&>(std::__1::integral_constant<bool, true>,
std::__1::allocator<lld::elf::SharedSymbol<llvm::object::ELFType<(llvm::support::endianness)1,
false> > >&,
lld::elf::SharedSymbol<llvm::object::ELFType<(llvm::support::endianness)1,
false> >*,
lld::elf::SharedFile<llvm::object::ELFType<(llvm::support::endianness)1, false>
>*&&, llvm::StringRef&&&,
llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)1,
false> > const&&&) + 112 at memory:1572
    frame #9: 0x00000000005a0adc
ld`lld::elf::SharedFile<llvm::object::ELFType<(llvm::support::endianness)1,
false> >::parseRest() [inlined]
std::__1::__vector_base<lld::elf::SharedSymbol<llvm::object::ELFType<(this=0x0000000806832430,
__a=0x0000000806832440, __p=0x00000008071aa320, __args=0x00007fffffffc3e0,
__args=0x00007fffffffc410, __args=0x0000000806332c80)1, false> >,
std::__1::allocator<lld::elf::SharedSymbol<llvm::object::ELFType<(llvm::support::endianness)1,
false> > > >::__alloc() + 112 at memory:1453
    frame #10: 0x00000000005a0a6c
ld`lld::elf::SharedFile<llvm::object::ELFType<(llvm::support::endianness)1,
false> >::parseRest() [inlined] void
std::__1::vector<lld::elf::SharedSymbol<llvm::object::ELFType<(this=0x0000000806832430,
__args=0x00007fffffffc3e0, __args=0x00007fffffffc410,
__args=0x0000000806332c80)1, false> >,
std::__1::allocator<lld::elf::SharedSymbol<llvm::object::ELFType<(llvm::support::endianness)1,
false> > >
>::emplace_back<lld::elf::SharedFile<llvm::object::ELFType<(llvm::support::endianness)1,
false> >*, llvm::StringRef&,
llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)1,
false> >
const&>(lld::elf::SharedFile<llvm::object::ELFType<(llvm::support::endianness)1,
false> >*&&, llvm::StringRef&&&,
llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)1,
false> > const&&&) + 280 at vector:1647
    frame #11: 0x00000000005a0954
ld`lld::elf::SharedFile<llvm::object::ELFType<(this=0x00000008068323a0)1,
false> >::parseRest() + 932 at InputFiles.cpp:437
    frame #12: 0x00000000006ce0b9
ld`lld::elf::SymbolTable<llvm::object::ELFType<(this=0x00007fffffffd1e8,
File=<unavailable>)1, false>
>::addFile(std::__1::unique_ptr<lld::elf::InputFile,
std::__1::default_delete<lld::elf::InputFile> >) + 2025 at SymbolTable.cpp:72
    frame #13: 0x000000000054140f ld`void
lld::elf::LinkerDriver::link<llvm::object::ELFType<(this=0x00007fffffffda88,
Args=0x00007fffffffd730)1, false> >(llvm::opt::InputArgList&) + 1423 at
Driver.cpp:419
    frame #14: 0x0000000000537919
ld`lld::elf::LinkerDriver::main(this=0x00007fffffffda88, ArgsArr=ArrayRef<const
char *> at 0x00007fffffffd968) + 473 at Driver.cpp:237
    frame #15: 0x00000000005376d6 ld`lld::elf::link(Args=ArrayRef<const char *>
at 0x00007fffffffdc70, Error=0x00000000045cf028) + 182 at Driver.cpp:44
    frame #16: 0x0000000000447917 ld`main(Argc=77, Argv=0x00007fffffffddb8) +
231 at lld.cpp:107
    frame #17: 0x000000000044774f ld`_start(ap=<unavailable>,
cleanup=<unavailable>) + 367 at crt1.c:78

(lldb) frame sel 5
frame #5: 0x00000000006efe06 ld`Defined(this=0x00000008071aa320, K=SharedKind,
Name=StringRef at 0x00007fffffffc2f8, Binding='\0', StOther='\x02',
Type='\x02') + 118 at Symbols.cpp:258
   255 
   256  Defined::Defined(Kind K, StringRef Name, uint8_t Binding, uint8_t
StOther,
   257                   uint8_t Type)
-> 258      : SymbolBody(K, Name, Binding, StOther, Type) {}
   259 
   260  Defined::Defined(Kind K, uint32_t NameOffset, uint8_t StOther, uint8_t
Type)
   261      : SymbolBody(K, NameOffset, StOther, Type) {}
(lldb) p Name
(lld::elf::SymbolBody::Str) $3 = (S = "__moddi3", Len = 8)

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160413/b1e28a16/attachment-0001.html>


More information about the llvm-bugs mailing list