https://issues.dlang.org/show_bug.cgi?id=19243
Remi Thebault <remi.theba...@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |remi.theba...@gmail.com --- Comment #1 from Remi Thebault <remi.theba...@gmail.com> --- Here is linker command line of your test with 2.080.1: cc test.o -o /tmp/dmd_run0nNQYZ -g -m64 -Xlinker /usr/lib/libssl.so.1.0.0 -Xlinker /usr/lib/libcrypto.so.1.0.0 -L/home/remi/dev/dlang/dmd/generated/linux/release/64/../../../../../phobos/generated/linux/release/64 -Xlinker --export-dynamic -lssl -lcrypto -Xlinker -Bstatic -lphobos2 -Xlinker -Bdynamic -lpthread -lm -lrt -ldl with 2.081.2: cc test.o -o /tmp/dmd_runHMkjB3 -g -m64 -lssl -lcrypto -Xlinker /usr/lib/libssl.so.1.0.0 -Xlinker /usr/lib/libcrypto.so.1.0.0 -L/home/remi/dev/dlang/dmd/generated/linux/release/64/../../../../../phobos/generated/linux/release/64 -Xlinker --export-dynamic -Xlinker -Bstatic -lphobos2 -Xlinker -Bdynamic -lpthread -lm -lrt -ldl (pragmas are pushed at the beginning) On my system, neither will link succesfully without the additional .so on command line, but both will link succesfully with. However I have a runtime exception with 2.081.2 that I don't have with 2.080.2. My PR indeed seems to break this, but the PR wouldn't be needed if dmd didn't already shuffle arguments. What I did is shuffling them in a different way to solve another situation. I guess what is needed is the following order: - command line linker args in preserved order - pragma libs - standard library --