[Issue 17515] New: ld.gold identical comdat folding triggers an assertion
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Fri Jun 16 12:24:23 PDT 2017
https://issues.dlang.org/show_bug.cgi?id=17515
Issue ID: 17515
Summary: ld.gold identical comdat folding triggers an assertion
Product: D
Version: D2
Hardware: x86_64
OS: Linux
Status: NEW
Severity: enhancement
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: code at dawg.eu
ld -v
cat > bug.d << CODE
import std.stdio;
void main() { writeln("Hello"); }
CODE
dmd bug.d -L--icf=safe
----
/usr/bin/ld: internal error in get_section_contents, at icf.cc:504
Fails at
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=gold/icf.cc;h=a49ce2e960ffb6ac9764830f11145d045abba216#l504
for .text. sections because entsize == 0.
Guess this needs something similar to -ffunction-sections with each function
being in it's own section and entsize it's size. At least
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=gold/icf.cc;h=a49ce2e960ffb6ac9764830f11145d045abba216#l509
hints towards that.
Not sure why dmd's .text sections take the `if ((secn_flags &
elfcpp::SHF_STRINGS) != 0)` branch though.
--
More information about the Digitalmars-d-bugs
mailing list