https://sourceware.org/bugzilla/show_bug.cgi?id=32671
Bug ID: 32671
Summary: Default to erroring out on executable stacks
Product: binutils
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: ld
Assignee: unassigned at sourceware dot org
Reporter: sam at gentoo dot org
CC: adhemerval.zanella at linaro dot org, fweimer at redhat dot
com,
nickc at redhat dot com
Depends on: 29592
Target Milestone: ---
Background:
glibc-2.41 made two changes with regard to executable stacks:
1) adding a tunable to allow banning them, currently defaulting to permissive
(allow);
2) ceasing making the stack executable on dlopen.
We're discussing 2) in PR32653 and I don't want to relitigate the actual glibc
change over here.
-
I think we ought to have binutils-2.45 default to erroring out on executable
stacks. We started to warn on this by default in binutils-2.39 (PR29072) &
introduced configure options for this to make it error out too (off by
default). We already did a bunch of testsuite updates.
I've already had to explain the situation to a few people and I can't see a
reason to justify keeping the default as just warning.
Failing to build is far superior to possible runtime failures when dlopen
fails, or, later, glibc makes that loader default change (1) above).
The only blocker I see is PR29592 needs sorting out (though we could skirt that
by initially only making the change for some ABIs, that's a hack).
We would still of course allow opting-in.
Thoughts?
Referenced Bugs:
https://sourceware.org/bugzilla/show_bug.cgi?id=29592
[Bug 29592] [2.39 Regression][bisected] Exec stack warning causes go programs
with cgo to fail to link on mips
--
You are receiving this mail because:
You are on the CC list for the bug.