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.