-
Notifications
You must be signed in to change notification settings - Fork 13.5k
mark the assembly object stacks as non-executable #5647
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
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