Skip to content

MC assertion failure on .private_extern when producing ELF object code #9663

@llvmbot

Description

@llvmbot
Bugzilla Link 9291
Resolution WONTFIX
Resolved on Apr 18, 2019 07:03
Version trunk
OS Linux
Attachments test case
Reporter LLVM Bugzilla Contributor

Extended Description

Hello,

I accidentally discovered that llvm-mc (r126241) does not fail nicely when it tries to generate ELF object code and encounters the .private_extern assembler directive (which, afaikt only works with Mach-O). The expected behaviour would be to issue an error message that the directive is unsupported for ELF object code, the actual behaviour is the following

llvm-mc: MCELFStreamer.cpp:276: virtual void::MCELFStreamer::EmitSymbolAttribute(llvm::MCSymbol*, llvm::MCSymbolAttr): Assertion `0 && "Invalid symbol attribute for ELF!"' failed.
0 llvm-mc 0x0000000000b535df
1 llvm-mc 0x0000000000b55842
2 libpthread.so.0 0x00007fc8e5d82f60
3 libc.so.6 0x00007fc8e4e8d165 gsignal + 53
4 libc.so.6 0x00007fc8e4e8ff70 abort + 384
5 libc.so.6 0x00007fc8e4e862b1 __assert_fail + 241
6 llvm-mc 0x0000000000afcf22
7 llvm-mc 0x000000000079a3f6
8 llvm-mc 0x00000000007a0b22
9 llvm-mc 0x00000000007a0df1
10 llvm-mc 0x000000000040a489
11 llvm-mc 0x000000000040b108
12 libc.so.6 0x00007fc8e4e79c4d __libc_start_main + 253
13 llvm-mc 0x0000000000406b29
Stack dump:
0. Program arguments: llvm-mc --filetype=obj private_extern.s

Attached is a test-case that demonstrates the problem.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugzillaIssues migrated from bugzillacrash-on-invalidwontfixIssue is real, but we can't or won't fix it. Not invalid

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions