[Issue 14942] New: dmd linking error with SHA and SSSE3

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Thu Aug 20 14:15:10 PDT 2015


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

          Issue ID: 14942
           Summary: dmd linking error with SHA and SSSE3
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody at puremagic.com
          Reporter: chalucha at gmail.com

I have a strange problem with building vibe.d in debug[0]

As I updated to dmd-2.068 and the problem remains, I tried to minimize the test
case and here it is.

Code:
import std.digest.sha;

void main() {
    SHA1 hash;
    hash.put(cast(ubyte)0);
    hash.finish();
}

And now with commands generated by dub:
dmd -c -oftest.o -debug -g -w app.d
dmd -oftest test.o -L--no-as-needed -g

Results in:
test.o: In function `std.digest.sha.SHA!(512, 160).SHA._sharedStaticCtor330()':
/opt/dmd-2.068/import/std/digest/sha.d:224: undefined reference to
`std.internal.digest.sha_SSSE3.transformSSSE3(uint[5]*, const(ubyte[64])*)'

In release, problem does not occur. It's also ok with ldc2-0.15.1

DMD version:   v2.068.0
OS: Gentoo linux x86_64
CPU: i5-2500K SandyBridge (with SSSE3)
Config [/opt/dmd-2.068/bin/dmd.conf]:

[Environment]
DFLAGS=-I/opt/dmd-2.068/import -L--export-dynamic -defaultlib=phobos2
-L--demangle=dlang
[Environment32]
DFLAGS=%DFLAGS% -L-L/opt/dmd-2.068/lib32 -L-rpath -L/opt/dmd-2.068/lib32
[Environment64]
DFLAGS=%DFLAGS% -L-L/opt/dmd-2.068/lib64 -L-rpath -L/opt/dmd-2.068/lib64


[0] https://github.com/rejectedsoftware/vibe.d/issues/1097

--


More information about the Digitalmars-d-bugs mailing list