-
Notifications
You must be signed in to change notification settings - Fork 12.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
mark the assembly object stacks as non-executable #5647
Conversation
Can this be fixed by passing |
I think so, but I consider this less of a hack. LLVM is already outputting this section for Rust code, it's just not in the assembly objects. |
It's possible someone might actually want an executable stack, which is why I think this (auto-detection) is better. |
So can we remove |
Also, is there any way to test this so it doesn't regress again? |
You can use I'm checking what happens if the gcc flag is removed right now. |
Closes #5643 This also removes the need to pass noexecstack to gcc, but that wasn't actually working anymore.
@brson: r? I had to make this specific to Linux - not sure if BSD should have it too. It looks like it might just be a |
failed on arm build compile: rt/arm-linux-androideabi/arch/arm/_context.o I want to fallback these files. arm libraries does not need to follow base linux policy like Fedora, SELinux |
@yichoi: The problem is that I used @ and apparently that's a comment character with the ARM assembler. The stack should be marked as non-executable on ARM too, so I'll send another pull that fixes this problem. |
…ion, r=flip1995 ptr_arg: honor `allow` attribute on arguments The `intravisit::Visitor` impl for `LateContextAndPass` only takes into account the attributes of a function parameter inside the `check_param` method. `ptr_arg` starts its heuristics at `check_item` / `check_impl_item` / `check_trait_item`, so the `allow` is not taken into account automatically. changelog: ptr_arg: honor `allow` attribute on arguments Fixes rust-lang#5644
Closes #5643