[Issue 18762] DMD should use a unique path/filename for __stdin.o

2018-04-16 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18762

--- Comment #3 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/dlang/dmd

https://github.com/dlang/dmd/commit/fdc6353140f059c25218a4d057eb7ebe20d69ef2
Fix Issue 18762 - DMD should use a unique path/filename for __stdin.o

https://github.com/dlang/dmd/commit/bfb89f5099f4607d2b56a0508b3bbc6cec800de3
Merge pull request #8174 from CyberShadow/pull-20180416-133742

Fix Issue 18762 - DMD should use a unique path/filename for __stdin.o
merged-on-behalf-of: Andrei Alexandrescu <andra...@users.noreply.github.com>

--


[Issue 18762] DMD should use a unique path/filename for __stdin.o

2018-04-16 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18762

github-bugzi...@puremagic.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--


[Issue 18762] DMD should use a unique path/filename for __stdin.o

2018-04-16 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18762

Vladimir Panteleev  changed:

   What|Removed |Added

   Keywords||pull

--- Comment #2 from Vladimir Panteleev  ---
https://github.com/dlang/dmd/pull/8174

--


[Issue 18762] DMD should use a unique path/filename for __stdin.o

2018-04-15 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=18762

Vladimir Panteleev  changed:

   What|Removed |Added

 CC||dlang-bugzilla@thecybershad
   ||ow.net,
   ||hst...@quickfur.ath.cx
  Component|dlang.org   |dmd
Summary|The spec tester fails to|DMD should use a unique
   |link examples with  |path/filename for __stdin.o
   |__stdin.o   |

--- Comment #1 from Vladimir Panteleev  ---
The problem seems to be that the same object file name is used when reading
from stdin:

$ echo 'void main() {}' | dmd -v -run - | grep ^cc
cc __stdin.o -o /tmp/dmd_runIAGsLe -m64 -Xlinker --export-dynamic
-L/home/vladimir/opt/dmd/bin/../lib64 -Xlinker -Bstatic -lphobos2 -Xlinker
-Bdynamic -lpthread -lm -lrt -ldl

This cannot work reliably in multiple threads, as several concurrent DMD
instances will write __stdin.o, and several concurrent linkers will attempt to
read it.

--