There is an updated pull request by oreo639 against master on the void-packages repository https://github.com/oreo639/void-packages vcross https://github.com/void-linux/void-packages/pull/41229 Revert "build-style/void-cross: always enable libssp" #### Testing the changes - I tested the changes in this PR: **briefly** This fixes an issue introduced by: https://github.com/void-linux/void-packages/commit/b2d670be60b883192d12f79077fa79dff5395554 that was not noticed until now as the glibc cross compilers were never rebuilt until recently. The above commit caused a symbol redefinition error between glibc and the fallback gcc libssp implementation when compiling qemu-user-static: ``` FAILED: subprojects/libvhost-user/link-test aarch64-linux-gnu-gcc -o subprojects/libvhost-user/link-test subprojects/libvhost-user/link-test.p/link-test.c.o -I/usr/aarch64-linux-gnu/usr/include -L/usr/aarch64-linux-gnu/usr/lib -Wl,--as-needed -Wl,--no-undefined -pie -Wl,--whole-archive -Wl,--start-group subprojects/libvhost-user/libvhost-user.a -Wl,--end-group -Wl,--no-whole-archive -fstack-protector-strong -static-pie -Wl,-z,relro -Wl,-z,now -Wl,--warn-common -fstack-clash-protection -D_FORTIFY_SOURCE=2 -O2 -pipe -march=armv8-a -fdebug-prefix-map=/builddir/qemu-user-static-7.2.0=. -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -pthread /usr/lib/gcc/aarch64-linux-gnu/12.2.0/../../../../aarch64-linux-gnu/bin/ld: /usr/aarch64-linux-gnu/usr/lib/libc.a(libc-start.o):(.data.rel.ro+0x0): multiple definition of `__stack_chk_guard'; /usr/aarch64-linux-gnu/usr/lib/libssp.a(ssp.o):/builddir/cross-aarch64-linux-gnu-0.35/gcc_build/aarch64-linux-gnu/libssp/../../../gcc-12.2.0/libssp/ssp.c:69: first defined here collect2: error: ld returned 1 exit status ``` cross-vpkg-dummy still only provides libssp conditionally so it should be fine: https://github.com/void-linux/void-packages/blob/master/srcpkgs/cross-vpkg-dummy/template#L66 Note: this doesn't affect the ability to use ssp as glibc has its own ssp implementation separate from libssp. For reference Debian doesn't build libssp although it does manually create libssp_nonshared.a when compiling for musl, Alpine does the same thing: https://salsa.debian.org/toolchain-team/gcc/-/blob/gcc-12-debian/debian/rules2#L233 https://github.com/alpinelinux/aports/blob/6cdeaa93fe90cccc05e39fb4905dee70362892b8/main/musl/APKBUILD#L51-L53 Fedora afaict does build libssp but deletes libssp and libssp_nonshared after compiling: https://src.fedoraproject.org/rpms/gcc/blob/rawhide/f/gcc.spec#_1996 [ci skip] A patch file from https://github.com/void-linux/void-packages/pull/41229.patch is attached