phobos
phobos copied to clipboard
std.process: use clone() on GNU/Linux x86_64
cannot reproduce in my local.
(dmd-2.087.0)$ pwd
/home/kubo39/dev/dlang/druntime
(dmd-2.087.0)$ LANG=C make -f posix.mak benchmark-compile-only
../dmd/generated/linux/release/64/dmd -conf= -m64 -I/home/kubo39/dev/dlang/druntime/import -I../phobos -L-L../phobos/generated/linux/release/64 -fPIC -defaultlib=libphobos2.so -L-rpath=../phobos/generated/linux/release/64 -de benchmark/runbench.d -ofgenerated/linux/release/64/benchmark
generated/linux/release/64/benchmark.o: In function `_D3std10functional__T7memoizeS_DQBe5regex__T9regexImplTAyaZQpFNfQjAxaZSQCrQBn8internal2ir__T5RegexTaZQjVii8ZQDjFQCfQBxZQBx':
benchmark/runbench.d:(.text._D3std10functional__T7memoizeS_DQBe5regex__T9regexImplTAyaZQpFNfQjAxaZSQCrQBn8internal2ir__T5RegexTaZQjVii8ZQDjFQCfQBxZQBx[_D3std10functional__T7memoizeS_DQBe5regex__T9regexImplTAyaZQpFNfQjAxaZSQCrQBn8internal2ir__T5RegexTaZQjVii8ZQDjFQCfQBxZQBx]+0x124): undefined reference to `_D4core5bitop2btFNaNbNiMxPmmZi'
benchmark/runbench.d:(.text._D3std10functional__T7memoizeS_DQBe5regex__T9regexImplTAyaZQpFNfQjAxaZSQCrQBn8internal2ir__T5RegexTaZQjVii8ZQDjFQCfQBxZQBx[_D3std10functional__T7memoizeS_DQBe5regex__T9regexImplTAyaZQpFNfQjAxaZSQCrQBn8internal2ir__T5RegexTaZQjVii8ZQDjFQCfQBxZQBx]+0x589): undefined reference to `_D4core5bitop2btFNaNbNiMxPmmZi'
collect2: error: ld returned 1 exit status
Error: linker exited with status 1
posix.mak:341: recipe for target 'generated/linux/release/64/benchmark' failed
make: *** [generated/linux/release/64/benchmark] Error 1
and make -f posix.mak style
also failed.
(dmd-2.087.0)$ pwd
/home/kubo39/dev/dlang/phobos
(dmd-2.087.0)$ git rev-parse HEAD
48fb9a1cb8a4c9ce1d8f416f0376d078a1870882
(dmd-2.087.0)$ LANG=C make -f posix.mak style
make -C ../druntime -f posix.mak MODEL=64 DMD=../dmd/generated/linux/release/64/dmd OS=linux BUILD=release
make[1]: Entering directory '/home/kubo39/dev/dlang/druntime'
make[1]: Nothing to be done for 'target'.
make[1]: Leaving directory '/home/kubo39/dev/dlang/druntime'
mkdir -p generated/linux/release/64/publictests || exists generated/linux/release/64/publictests
touch generated/linux/release/64/publictests/.directory
parsing std/array.d
parsing std/ascii.d
parsing std/base64.d
parsing std/bigint.d
parsing std/bitmanip.d
parsing std/compiler.d
parsing std/complex.d
parsing std/concurrency.d
parsing std/conv.d
parsing std/csv.d
parsing std/demangle.d
parsing std/encoding.d
parsing std/exception.d
generated/linux/release/64/publictests/std_exception.d(1251): Error: scope variable p may not be copied into allocated memory
posix.mak:630: recipe for target 'std/exception.publictests' failed
make: *** [std/exception.publictests] Error 1
rm generated/linux/release/64/publictests/.directory
(dmd-2.087.0)$ wc -l generated/linux/release/64/publictests/std_exception.d
552 generated/linux/release/64/publictests/std_exception.d
make -f posix.mak std/exception.publictest
fails current master too.
(dmd-2.087.0)$ git rev-parse HEAD
5094f689ddc21466bcf6935cd256ec62a1d524e7
(dmd-2.087.0)$ LANG=C make -f posix.mak std/exception.publictests
make -C ../druntime -f posix.mak MODEL=64 DMD=../dmd/generated/linux/release/64/dmd OS=linux BUILD=release
make[1]: Entering directory '/home/kubo39/dev/dlang/druntime'
make[1]: Nothing to be done for 'target'.
make[1]: Leaving directory '/home/kubo39/dev/dlang/druntime'
mkdir -p generated/linux/release/64/publictests || exists generated/linux/release/64/publictests
touch generated/linux/release/64/publictests/.directory
parsing std/exception.d
generated/linux/release/64/publictests/std_exception.d(1251): Error: scope variable p may not be copied into allocated memory
posix.mak:630: recipe for target 'std/exception.publictests' failed
make: *** [std/exception.publictests] Error 1
rm generated/linux/release/64/publictests/.directory
Updated dmd and drunime, still got failure. Is dmd broken?
(dmd-2.087.0)$ (cd ../dmd && git rev-parse HEAD)
0ac7a4c2d13b4d00b2f02657c775c75136d76b43
(dmd-2.087.0)$ (pwd && git rev-parse HEAD)
/home/kubo39/dev/dlang/druntime
057243794a452190980fb0c5089f0b8ee6928e05
(dmd-2.087.0)$ make -f posix.mak benchmark BUILD=debug
../dmd/generated/linux/debug/64/dmd -conf= -m64 -I/home/kubo39/dev/dlang/druntime/import -I../phobos -L-L../phobos/generated/linux/debug/64 -fPIC -defaultlib=libphobos2.so -L-rpath=../phobos/generated/linux/debug/64 -de benchmark/runbench.d -ofgenerated/linux/debug/64/benchmark
DMD v2.087.1-beta.1-304-g0ac7a4c2d DEBUG
generated/linux/debug/64/benchmark
generated/linux/debug/64/benchmark: symbol lookup error: generated/linux/debug/64/benchmark: undefined symbol: _D4core8internal5array5utils12__ModuleInfoZ
posix.mak:343: recipe for target 'benchmark' failed
make: *** [benchmark] Error 127
I couldn't pass make -f posix.mak benchmark-compile-only
, I quit.
make -f posix.mak benchmark-compile-only
was succeeded on dmd-2.086.1.
Only dmd-2.087.0 or dmd-2.087.1 failed.
couldn't pass make -f posix.mak benchmark-compile-only, I quit.
Huh? You are aware that this is a bogus failure right?
$ make -f posix.mak benchmark-compile-only
../dmd/generated/linux/release/64/dmd -conf= -m64 -I/home/kubo39/dev/dlang/druntime/import -I../phobos -L-L../phobos/generated/linux/release/64 -fPIC -defaultlib=libphobos2.so -L-rpath=../phobos/generated/linux/release/64 -de benchmark/runbench.d -ofgenerated/linux/release/64/benchmark
DMD=../dmd/generated/linux/release/64/dmd generated/linux/release/64/benchmark --repeat=0 --dflags="-conf= -m64 -I/home/kubo39/dev/dlang/druntime/import -I../phobos -L-L../phobos/generated/linux/release/64 -fPIC -defaultlib=libphobos2.so -L-rpath=../phobos/generated/linux/release/64 -de"
generated/linux/release/64/benchmark: symbol lookup error: generated/linux/release/64/benchmark: undefined symbol: _D3std6getopt8optMatchFNfAyaMQeKQhSQBhQBg13configurationZb
posix.mak:346: recipe for target 'benchmark-compile-only' failed
make: *** [benchmark-compile-only] Error 127
You can safely ignore this test. It currently uses the wrong Phobos version for the test.
I could not reproduce in my machine, how can I get the error code which was returned from pthread_join?
Thanks for your pull request and interest in making D better, @kubo39! We are looking forward to reviewing it, and you should be hearing from a maintainer soon. Please verify that your PR follows this checklist:
- My PR is fully covered with tests (you can see the coverage diff by visiting the details link of the codecov check)
- My PR is as minimal as possible (smaller, focused PRs are easier to review than big ones)
- I have provided a detailed rationale explaining my changes
- New or modified functions have Ddoc comments (with
Params:
andReturns:
)
Please see CONTRIBUTING.md for more information.
If you have addressed all reviews or aren't sure how to proceed, don't hesitate to ping us with a simple comment.
Bugzilla references
Your PR doesn't reference any Bugzilla issue.
If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog.
Testing this PR locally
If you don't have a local development environment setup, you can use Digger to test this PR:
dub run digger -- build "master + phobos#7118"