Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ld.lld asserts for empty archive w/hexagonelf #108660

Closed
androm3da opened this issue Sep 13, 2024 · 5 comments
Closed

ld.lld asserts for empty archive w/hexagonelf #108660

androm3da opened this issue Sep 13, 2024 · 5 comments

Comments

@androm3da
Copy link
Member

When I try to run the linux kernel build, in some configurations it fails like so:

$ llvm-ar rcsD foo.a
$ ./bin/ld.lld -m hexagonelf foo.a -o out
ld.lld: /home/brian/src/toolchain_for_hexagon/llvm-project/lld/ELF/Arch/Hexagon.cpp:63: virtual uint32_t (anonymous namespace)::Hexagon::calcEFlags() const: Assertion `!ctx.objectFiles.empty()' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: ./bin/ld.lld -m hexagonelf foo.a -o out
 #0 0x00005cd679e24d47 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (./bin/ld.lld+0x14d4d47)
 #1 0x00005cd679e228ee llvm::sys::RunSignalHandlers() (./bin/ld.lld+0x14d28ee)
 #2 0x00005cd679e256aa SignalHandler(int) Signals.cpp:0:0
 #3 0x0000751db8242520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x0000751db82969fc __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
 #5 0x0000751db82969fc __pthread_kill_internal ./nptl/pthread_kill.c:78:10
 #6 0x0000751db82969fc pthread_kill ./nptl/pthread_kill.c:89:10
 #7 0x0000751db8242476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
 #8 0x0000751db82287f3 abort ./stdlib/abort.c:81:7
 #9 0x0000751db822871b _nl_load_domain ./intl/loadmsgcat.c:1177:9
#10 0x0000751db8239e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#11 0x00005cd67a122e93 (./bin/ld.lld+0x17d2e93)
#12 0x00005cd679f35774 void lld::elf::LinkerDriver::link<llvm::object::ELFType<(llvm::endianness)1, false>>(llvm::opt::InputArgList&) (./bin/ld.lld+0x15e5774)
#13 0x00005cd679f272c0 lld::elf::LinkerDriver::linkerMain(llvm::ArrayRef<char const*>) (./bin/ld.lld+0x15d72c0)
#14 0x00005cd679f254a1 lld::elf::link(llvm::ArrayRef<char const*>, llvm::raw_ostream&, llvm::raw_ostream&, bool, bool) (./bin/ld.lld+0x15d54a1)
#15 0x00005cd679e27a34 lld::unsafeLldMain(llvm::ArrayRef<char const*>, llvm::raw_ostream&, llvm::raw_ostream&, llvm::ArrayRef<lld::DriverDef>, bool) (./bin/ld.lld+0x14d7a34)
#16 0x00005cd679d78ec1 lld_main(int, char**, llvm::ToolContext const&) (./bin/ld.lld+0x1428ec1)
#17 0x00005cd679d794a7 main (./bin/ld.lld+0x14294a7)
#18 0x0000751db8229d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#19 0x0000751db8229e40 call_init ./csu/../csu/libc-start.c:128:20
#20 0x0000751db8229e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#21 0x00005cd679d78ae5 _start (./bin/ld.lld+0x1428ae5)

@llvmbot
Copy link
Member

llvmbot commented Sep 13, 2024

@llvm/issue-subscribers-backend-hexagon

Author: Brian Cain (androm3da)

When I try to run the linux kernel build, in some configurations it fails like so:
$ llvm-ar rcsD foo.a
$ ./bin/ld.lld -m hexagonelf foo.a -o out
ld.lld: /home/brian/src/toolchain_for_hexagon/llvm-project/lld/ELF/Arch/Hexagon.cpp:63: virtual uint32_t (anonymous namespace)::Hexagon::calcEFlags() const: Assertion `!ctx.objectFiles.empty()' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: ./bin/ld.lld -m hexagonelf foo.a -o out
 #<!-- -->0 0x00005cd679e24d47 llvm::sys::PrintStackTrace(llvm::raw_ostream&amp;, int) (./bin/ld.lld+0x14d4d47)
 #<!-- -->1 0x00005cd679e228ee llvm::sys::RunSignalHandlers() (./bin/ld.lld+0x14d28ee)
 #<!-- -->2 0x00005cd679e256aa SignalHandler(int) Signals.cpp:0:0
 #<!-- -->3 0x0000751db8242520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #<!-- -->4 0x0000751db82969fc __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
 #<!-- -->5 0x0000751db82969fc __pthread_kill_internal ./nptl/pthread_kill.c:78:10
 #<!-- -->6 0x0000751db82969fc pthread_kill ./nptl/pthread_kill.c:89:10
 #<!-- -->7 0x0000751db8242476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
 #<!-- -->8 0x0000751db82287f3 abort ./stdlib/abort.c:81:7
 #<!-- -->9 0x0000751db822871b _nl_load_domain ./intl/loadmsgcat.c:1177:9
#<!-- -->10 0x0000751db8239e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#<!-- -->11 0x00005cd67a122e93 (./bin/ld.lld+0x17d2e93)
#<!-- -->12 0x00005cd679f35774 void lld::elf::LinkerDriver::link&lt;llvm::object::ELFType&lt;(llvm::endianness)1, false&gt;&gt;(llvm::opt::InputArgList&amp;) (./bin/ld.lld+0x15e5774)
#<!-- -->13 0x00005cd679f272c0 lld::elf::LinkerDriver::linkerMain(llvm::ArrayRef&lt;char const*&gt;) (./bin/ld.lld+0x15d72c0)
#<!-- -->14 0x00005cd679f254a1 lld::elf::link(llvm::ArrayRef&lt;char const*&gt;, llvm::raw_ostream&amp;, llvm::raw_ostream&amp;, bool, bool) (./bin/ld.lld+0x15d54a1)
#<!-- -->15 0x00005cd679e27a34 lld::unsafeLldMain(llvm::ArrayRef&lt;char const*&gt;, llvm::raw_ostream&amp;, llvm::raw_ostream&amp;, llvm::ArrayRef&lt;lld::DriverDef&gt;, bool) (./bin/ld.lld+0x14d7a34)
#<!-- -->16 0x00005cd679d78ec1 lld_main(int, char**, llvm::ToolContext const&amp;) (./bin/ld.lld+0x1428ec1)
#<!-- -->17 0x00005cd679d794a7 main (./bin/ld.lld+0x14294a7)
#<!-- -->18 0x0000751db8229d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#<!-- -->19 0x0000751db8229e40 call_init ./csu/../csu/libc-start.c:128:20
#<!-- -->20 0x0000751db8229e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#<!-- -->21 0x00005cd679d78ae5 _start (./bin/ld.lld+0x1428ae5)

@llvmbot
Copy link
Member

llvmbot commented Sep 13, 2024

@llvm/issue-subscribers-lld-elf

Author: Brian Cain (androm3da)

When I try to run the linux kernel build, in some configurations it fails like so:
$ llvm-ar rcsD foo.a
$ ./bin/ld.lld -m hexagonelf foo.a -o out
ld.lld: /home/brian/src/toolchain_for_hexagon/llvm-project/lld/ELF/Arch/Hexagon.cpp:63: virtual uint32_t (anonymous namespace)::Hexagon::calcEFlags() const: Assertion `!ctx.objectFiles.empty()' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: ./bin/ld.lld -m hexagonelf foo.a -o out
 #<!-- -->0 0x00005cd679e24d47 llvm::sys::PrintStackTrace(llvm::raw_ostream&amp;, int) (./bin/ld.lld+0x14d4d47)
 #<!-- -->1 0x00005cd679e228ee llvm::sys::RunSignalHandlers() (./bin/ld.lld+0x14d28ee)
 #<!-- -->2 0x00005cd679e256aa SignalHandler(int) Signals.cpp:0:0
 #<!-- -->3 0x0000751db8242520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #<!-- -->4 0x0000751db82969fc __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
 #<!-- -->5 0x0000751db82969fc __pthread_kill_internal ./nptl/pthread_kill.c:78:10
 #<!-- -->6 0x0000751db82969fc pthread_kill ./nptl/pthread_kill.c:89:10
 #<!-- -->7 0x0000751db8242476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
 #<!-- -->8 0x0000751db82287f3 abort ./stdlib/abort.c:81:7
 #<!-- -->9 0x0000751db822871b _nl_load_domain ./intl/loadmsgcat.c:1177:9
#<!-- -->10 0x0000751db8239e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#<!-- -->11 0x00005cd67a122e93 (./bin/ld.lld+0x17d2e93)
#<!-- -->12 0x00005cd679f35774 void lld::elf::LinkerDriver::link&lt;llvm::object::ELFType&lt;(llvm::endianness)1, false&gt;&gt;(llvm::opt::InputArgList&amp;) (./bin/ld.lld+0x15e5774)
#<!-- -->13 0x00005cd679f272c0 lld::elf::LinkerDriver::linkerMain(llvm::ArrayRef&lt;char const*&gt;) (./bin/ld.lld+0x15d72c0)
#<!-- -->14 0x00005cd679f254a1 lld::elf::link(llvm::ArrayRef&lt;char const*&gt;, llvm::raw_ostream&amp;, llvm::raw_ostream&amp;, bool, bool) (./bin/ld.lld+0x15d54a1)
#<!-- -->15 0x00005cd679e27a34 lld::unsafeLldMain(llvm::ArrayRef&lt;char const*&gt;, llvm::raw_ostream&amp;, llvm::raw_ostream&amp;, llvm::ArrayRef&lt;lld::DriverDef&gt;, bool) (./bin/ld.lld+0x14d7a34)
#<!-- -->16 0x00005cd679d78ec1 lld_main(int, char**, llvm::ToolContext const&amp;) (./bin/ld.lld+0x1428ec1)
#<!-- -->17 0x00005cd679d794a7 main (./bin/ld.lld+0x14294a7)
#<!-- -->18 0x0000751db8229d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#<!-- -->19 0x0000751db8229e40 call_init ./csu/../csu/libc-start.c:128:20
#<!-- -->20 0x0000751db8229e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#<!-- -->21 0x00005cd679d78ae5 _start (./bin/ld.lld+0x1428ae5)

@androm3da
Copy link
Member Author

This was fixed by #108431

@androm3da
Copy link
Member Author

/cherry-pick d1ba432

@llvmbot llvmbot closed this as completed Sep 13, 2024
@llvmbot
Copy link
Member

llvmbot commented Sep 13, 2024

/pull-request #108661

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

No branches or pull requests

3 participants