Skip to content

Conversation

@VincentVanlaer
Copy link
Member

The world is moving towards stacks that are not executable.

Fixes #866

Note: this requires some testing on multiple platforms since these trampolines are architecture dependent

The world is moving towards stacks that are not executable.

Fixes #866
@rhdtownsend
Copy link
Contributor

rhdtownsend commented Dec 27, 2025 via email

@rhdtownsend
Copy link
Contributor

rhdtownsend commented Dec 27, 2025 via email

@VincentVanlaer
Copy link
Member Author

Good catch, indeed it requires GCC 14 at least (I usually develop on newer GCC versions for practical reasons). In any case, we do require the flags in MESA itself, but sure these flags can also be applied in forum/gyre instead of passing them in.

@rhdtownsend
Copy link
Contributor

rhdtownsend commented Dec 27, 2025 via email

@VincentVanlaer
Copy link
Member Author

VincentVanlaer commented Dec 27, 2025

Unfortunately, that only works if none of the code that requires a trampoline is used at runtime. The eos unit tests hit this, which causes a segfault (as it's trying to execute non-executable stack memory).

@rhdtownsend
Copy link
Contributor

rhdtownsend commented Dec 27, 2025 via email

@warrickball
Copy link
Contributor

The new build system is already going to be a big change, so I say we take the opportunity to leap ahead in GCC version. Why not go straight to GCC 15.2, which seems to be the latest version?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Executable stack warning from binutils >= 2.39

4 participants