Bug 18234 – [REG 2.075] Case of link failure when a program is compiled against a static lib

Status
RESOLVED
Resolution
DUPLICATE
Severity
regression
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
x86_64
OS
Linux
Creation time
2018-01-13T09:56:27Z
Last change time
2018-06-11T19:03:38Z
Assigned to
No Owner
Creator
Basile-z

Comments

Comment #0 by b2.temp — 2018-01-13T09:56:27Z
This is a case of link failure when a program is compiled against a static lib, while no problem when passing the sources. test case is unfortuantely not reduced: to reproduce with a shell script --- if [ ! -d "iz" ]; then git clone https://www.github.com/BBasile/iz.git fi cd iz git checkout v0.6.4 cd scripts sh compile.sh cd ../ dmd samples/dictionnary_suffixarray.d lib/iz.a -Iimport --- On the other hand: --- dub samples/dictionnary_suffixarray.d <<< "q" --- or even --- dmd samples/dictionnary_suffixarray.d import/iz/strings.d import/iz/memory.d -Iimport --- work fine. Digger shows that last good DMD is 2.074.1. Three commits are suggested: > digger: Commit 1e7b526b40852e9b85df3684430e371034cdf7ec (1/1) is untestable. > digger: There are only untestable commits left to bisect. > digger: The first bad commit could be any of: > digger: 1e7b526b40852e9b85df3684430e371034cdf7ec > digger: 6fecaa8232a427fb3ca29c5a5245e08fc43b71b1 > digger: f0410bea1ad2b130884964d603b34e729b3e4f69 > [email protected](186): We cannot bisect more! However they don't seem to exist.
Comment #1 by code — 2018-05-20T17:51:35Z
(In reply to Basile B. from comment #0) > > digger: Commit 1e7b526b40852e9b85df3684430e371034cdf7ec (1/1) is untestable. > > digger: There are only untestable commits left to bisect. > > digger: The first bad commit could be any of: > > digger: 1e7b526b40852e9b85df3684430e371034cdf7ec > > digger: 6fecaa8232a427fb3ca29c5a5245e08fc43b71b1 > > digger: f0410bea1ad2b130884964d603b34e729b3e4f69 > > [email protected](186): We cannot bisect more! > > However they don't seem to exist. These hashes refer to the commits in Vladimir's top-level repo that combines commits to the various compiler and runtime repositories into one linear history: https://bitbucket.org/cybershadow/d Unfortunately, the corresponding commits are big master -> stable merges, which is not very helpful: https://github.com/dlang/dmd/pull/6915 https://github.com/dlang/phobos/pull/5491 https://github.com/dlang/druntime/pull/1841
Comment #2 by b2.temp — 2018-05-20T21:50:35Z
There's some progress, using -allinst solves the problem --- if [ ! -d "iz" ]; then git clone https://www.github.com/BBasile/iz.git fi cd iz git checkout v0.6.4 cd scripts sh compile.sh cd ../ dmd samples/dictionnary_suffixarray.d lib/iz.a -Iimport -allinst --- giving a hint on what the exact problem is i hope.
Comment #3 by b2.temp — 2018-06-11T16:30:42Z
*** Issue 18971 has been marked as a duplicate of this issue. ***
Comment #4 by johannespfau — 2018-06-11T18:29:44Z
Comment #5 by b2.temp — 2018-06-11T19:03:38Z
*** This issue has been marked as a duplicate of issue 17712 ***