Page MenuHomeFreeBSD

kernel: address executable stack warnings in amd64 gcc build
ClosedPublic

Authored by rlibby on Mon, May 11, 4:14 PM.
Tags
None
Referenced Files
F156932376: D56946.id177593.diff
Sun, May 17, 11:13 AM
Unknown Object (File)
Fri, May 15, 6:50 PM
Unknown Object (File)
Thu, May 14, 3:03 PM
Unknown Object (File)
Mon, May 11, 10:40 PM
Subscribers

Details

Summary

Mark assembly files as not requiring executable stacks.


Bottom-up approach alternative to D56893.

Test Plan

make buildkernel && env MAKEOBJDIRPREFIX=/usr/obj/gcc14 CROSS_TOOLCHAIN=amd64-gcc14 make buildkernel

find /usr/obj/gcc14/gcc14/usr/src/freebsd/amd64.amd64 -name '*.meta' -exec grep --with-filename warning: {} \; | sort

Resolves this set of executable stack warnings:

./sys/GENERIC/kernel.full.meta:/usr/local/x86_64-unknown-freebsd16.0/bin/ld: warning: vmbus_vector.o: missing .note.GNU-stack section implies executable stack
./sys/GENERIC/modules/usr/src/freebsd/sys/modules/aesni/aesni.ko.full.meta:/usr/local/x86_64-unknown-freebsd16.0/bin/ld: warning: aeskeys_amd64.o: missing .note.GNU-stack section implies executable stack
./sys/GENERIC/modules/usr/src/freebsd/sys/modules/efirt/efirt.ko.full.meta:/usr/local/x86_64-unknown-freebsd16.0/bin/ld: warning: efirt_support.o: missing .note.GNU-stack section implies executable stack
./sys/GENERIC/modules/usr/src/freebsd/sys/modules/hyperv/vmbus/hv_vmbus.ko.full.meta:/usr/local/x86_64-unknown-freebsd16.0/bin/ld: warning: vmbus_vector.o: missing .note.GNU-stack section implies executable stack
./sys/GENERIC/modules/usr/src/freebsd/sys/modules/sgx/sgx.ko.full.meta:/usr/local/x86_64-unknown-freebsd16.0/bin/ld: warning: sgx_support.o: missing .note.GNU-stack section implies executable stack
./sys/GENERIC/modules/usr/src/freebsd/sys/modules/vmm/vmm.ko.full.meta:/usr/local/x86_64-unknown-freebsd16.0/bin/ld: warning: svm_support.o: missing .note.GNU-stack section implies executable stack

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable