On 2024-10-23 17:43, Richard Sandiford wrote:
Matthieu Longo <matthieu.lo...@arm.com> writes:
The primary focus of this patch series is to add support for build attributes
in the context of GCS (Guarded Control Stack, an Armv9.4-a extension) to the
AArch64 backend.
It addresses comments from revision 1 [2] and 2 [3], and proposes a different
approach compared to the previous implementation of the build attributes.
The series is composed of the following 4 patches:
1. Patch adding assembly debug comments (-dA) to the existing GNU properties,
to improve testing and check the correctness of values.
2. The minimal patch adding support for build attributes in the context of GCS.
3. A refactoring of (2) to make things less error-prone and more modular, add
support for asciz attributes and more debug information.
4. A refactoring of (1) relying partly on (3).
The targeted final state of this series would consist in squashing (2) + (3),
and (1) + (4).
**Special note regarding (2):** If Gas has support for build attributes, both
build attributes and GNU properties will be emitted. This behavior is still
open for discussion. Please, let me know your thoughts regarding this behavior.
I don't have a strong opinion. But emitting both seems like the safe
and conservatively correct behaviour, so I think the onus would be
on anyone who wants to drop the old information to make the case
for doing that.
This patch series needs to be applied on top of the patch series for GCS [1].
Bootstrapped on aarch64-none-linux-gnu, and no regression found.
[1]: https://gcc.gnu.org/git/?p=gcc.git;a=shortlog;h=refs/vendors/ARM/heads/gcs
[2]: https://gcc.gnu.org/pipermail/gcc-patches/2024-September/662825.html
[3]: https://gcc.gnu.org/pipermail/gcc-patches/2024-September/664004.html
Regards,
Matthieu
Diff with revision 1 [2]:
- update the description of (2)
- address the comments related to the tests in (2)
- add new commits (1), (3) and (4)
Diff with revision 2 [3]:
- address comments of Richard Sandiford in revision 2.
- fix several formatting mistakes.
- remove RFC tag.
Matthieu Longo (3):
aarch64: add debug comments to feature properties in .note.gnu.property
aarch64: improve assembly debug comments for AEABI build attributes
aarch64: encapsulate note.gnu.property emission into a class
Srinath Parvathaneni (1):
aarch64: add minimal support of AEABI build attributes for GCS.
Looks good, thanks. OK for trunk with the suggested changes for
patches 2 and 3.
Richard
Thanks Richard for the review.
I addressed all the comments as you requested.
I will synchronize with Yury Khrustalev to see when he plans to merge
GCS patch series for GCC. I would like those changes to be merged for
stage 1.
Matthieu