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



_______________________________________________
wsjt-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wsjt-devel

Reply via email to