From: Jaroslav Š. <jsk...@re...> - 2025-10-13 16:17:10
|
Hi, linux distros are trying to harden with the noexecstack and the execstack in decoder.f90 is causing problems. E.g. [1], [2]. It seems the g++ linker doesn't allow combination of binaries with exec/noexec stacks [1], so the whole binary needs to be compiled with the execstack which may be unacceptable for some distros. The patch proposed in [1] uses mprotect, should something similar be upstreamed? Build failure of wsjtx-2.7.0 with the gcc-c++-15.2.1 in Fedora rawhide: [81%] Building Fortran object qmap/libqmap/CMakeFiles/qmap_impl.dir/f77_wisdom.f.o cd /builddir/build/BUILD/wsjtx-2.7.0-build/wsjtx-2.7.0/wsjtx/redhat-linux-build/qmap/libqmap && /usr/bin/gfortran -DBIGSYM=1 -DBOOST_ALL_DYN_LINK -DBOOST_ATOMIC_DYN_LINK -DBOOST_ATOMIC_NO_LIB -DBOOST_CHRONO_DYN_LINK -DBOOST_CHRONO_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_FILESYSTEM_NO_LIB -DBOOST_LOG_DYN_LINK -DBOOST_LOG_NO_LIB -DBOOST_LOG_SETUP_DYN_LINK -DBOOST_LOG_SETUP_NO_LIB -DBOOST_REGEX_DYN_LINK -DBOOST_REGEX_NO_LIB -DBOOST_THREAD_DYN_LINK -DBOOST_THREAD_NO_LIB -DCMAKE_BUILD -DFOX_OTP -DQT5 -DQT_CORE_LIB -DQT_NO_DEBUG -DUNIX -I/builddir/build/BUILD/wsjtx-2.7.0-build/wsjtx-2.7.0/wsjtx/redhat-linux-build/qmap/libqmap -I/builddir/build/BUILD/wsjtx-2.7.0-build/wsjtx-2.7.0/wsjtx/qmap/libqmap -I/builddir/build/BUILD/wsjtx-2.7.0-build/wsjtx-2.7.0/wsjtx/redhat-linux-build/qmap/libqmap/qmap_impl_autogen/include -I/builddir/build/BUILD/wsjtx-2.7.0-build/wsjtx-2.7.0/wsjtx/redhat-linux-build -I/usr/include -I/usr/include/qt5 -I/usr/include/qt5/QtCore -I/usr/lib64/qt5/mkspecs/linux-g++ -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules -DNDEBUG -fbounds-check -funroll-all-loops -fno-f2c -ffpe-summary=invalid,zero,overflow,underflow -Wall -Wno-conversion -fno-second-underscore -fvisibility=hidden -fPIC -c /builddir/build/BUILD/wsjtx-2.7.0-build/wsjtx-2.7.0/wsjtx/qmap/libqmap/f77_wisdom.f -o CMakeFiles/qmap_impl.dir/f77_wisdom.f.o [ 81%] Linking CXX executable ldpcsim240_74 /usr/bin/cmake -E cmake_link_script CMakeFiles/ldpcsim240_74.dir/link.txt --verbose=1 /usr/bin/ld: error: decoder.f90.o: is triggering the generation of an executable stack (because it has an executable .note.GNU-stack section) /usr/bin/ld: failed to set dynamic section sizes: no error collect2: error: ld returned 1 exit status thanks & regards Jaroslav [1] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=278939 [2] https://bugzilla.redhat.com/show_bug.cgi?id=2385733 |