-
Notifications
You must be signed in to change notification settings - Fork 37.7k
Closed
Labels
Description
If you Guix build for Windows, and call objdump on libbitcoinconsensus-0.dll
, you'll find it uses a non-static libssp:
objdump -x src/.libs/libbitcoinconsensus-0.dll
...
The Import Tables (interpreted .idata section contents)
vma: Hint Time Forward DLL First
Table Stamp Chain Name Thunk
00263000 00263050 00000000 00000000 0026409c 00263490
DLL Name: libssp-0.dll
vma: Hint/Ord Member-Name Bound-To
2638d0 3 __memcpy_chk
2638e0 7 __stack_chk_fail
2638f4 8 __stack_chk_guard
DLLs should be built with a static libgcc/stdc++/ssp:
Lines 724 to 730 in 84c5416
dnl libtool insists upon adding -nostdlib and a list of objects/libs to link against. | |
dnl That breaks our ability to build dll's with static libgcc/libstdc++/libssp. Override | |
dnl its command here, with the predeps/postdeps removed, and -static inserted. Postdeps are | |
dnl also overridden to prevent their insertion later. | |
dnl This should only affect dll's. | |
archive_cmds_CXX="\$CC -shared \$libobjs \$deplibs \$compiler_flags -static -o \$output_objdir/\$soname \${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker \$lib" | |
postdeps_CXX= |
This has been an issue since we switched to using Guix for the 22.0 release.