www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 22044] New: DMD produces corrupt object files with -inline

https://issues.dlang.org/show_bug.cgi?id=22044

          Issue ID: 22044
           Summary: DMD produces corrupt object files with -inline
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: critical
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: dlang-bugzilla thecybershadow.net

//////////////////// bug.d ///////////////////
mixin({
    import std.traits : fullyQualifiedName;
    string s = fullyQualifiedName!Object;
    return ``;
} ());

import std.net.curl;

void[] read(string path) { return get(path); }
//////////////////////////////////////////////

Command: dmd -main -inline bug.d

All kinds of various errors across DMD versions, such as

invalid string offset 51118083 >= 79467 for section `.strtab'

and 

warning: allocated section `.interp' not in segment

With 2.097:

/usr/sbin/ld:
/path/to/dmd.linux/dmd2/linux/bin64/../lib64/libphobos2.a(dmain2_a73_2f9.o):(.tdata+0x0):
multiple definition of `_tlsstart'; /usr/sbin/ld: bug.o: could not read
symbols: file truncated

Downstream issue:

https://github.com/CyberShadow/ae/issues/51

--
Jun 19