[AArch64] Add support for SHF_AARCH64_PURECODE ELF section flag (1/3) by Il-Capitano · Pull Request #125687 · llvm/llvm-project (original) (raw)

Conversation

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters

[ Show hidden characters]({{ revealButtonHref }})

Il-Capitano

@Il-Capitano

Add support for the new SHF_AARCH64_PURECODE ELF section flag: ARM-software/abi-aa#304

The general implementation follows the existing one for ARM targets. Generating object files with the SHF_AARCH64_PURECODE flag set is enabled by the +execute-only target feature.

This was referenced

Feb 4, 2025

Il-Capitano

@Il-Capitano

paulwalker-arm

jh7370

@Il-Capitano

@Il-Capitano

smithp35

@Il-Capitano

jh7370

@Il-Capitano

@Il-Capitano

joaosaffran pushed a commit to joaosaffran/llvm-project that referenced this pull request

Feb 14, 2025

@Il-Capitano

…llvm#125687)

Add support for the new SHF_AARCH64_PURECODE ELF section flag: ARM-software/abi-aa#304

The general implementation follows the existing one for ARM targets. Generating object files with the SHF_AARCH64_PURECODE flag set is enabled by the +execute-only target feature.

Related PRs:

MaskRay pushed a commit that referenced this pull request

Feb 21, 2025

@Il-Capitano

…flag (3/3) (#125689)

Add support for the new SHF_AARCH64_PURECODE ELF section flag: ARM-software/abi-aa#304

The general implementation follows the existing one for ARM targets. The output section only has the SHF_AARCH64_PURECODE flag set if all input sections have it set.

Related PRs:

llvm-sync bot pushed a commit to arm/arm-toolchain that referenced this pull request

Feb 21, 2025

@Il-Capitano @github-actions

…LF section flag (3/3) (#125689)

Add support for the new SHF_AARCH64_PURECODE ELF section flag: ARM-software/abi-aa#304

The general implementation follows the existing one for ARM targets. The output section only has the SHF_AARCH64_PURECODE flag set if all input sections have it set.

Related PRs:

sivan-shani pushed a commit to sivan-shani/llvm-project that referenced this pull request

Feb 24, 2025

@Il-Capitano @sivan-shani

…llvm#125687)

Add support for the new SHF_AARCH64_PURECODE ELF section flag: ARM-software/abi-aa#304

The general implementation follows the existing one for ARM targets. Generating object files with the SHF_AARCH64_PURECODE flag set is enabled by the +execute-only target feature.

Related PRs:

davemgreen pushed a commit that referenced this pull request

Mar 10, 2025

@Il-Capitano

…g (2/3) (#125688)

Add support for the new SHF_AARCH64_PURECODE ELF section flag: ARM-software/abi-aa#304

The general implementation follows the existing one for ARM targets. Simlarly to ARM targets, generating object files with the SHF_AARCH64_PURECODE flag set is enabled by the -mexecute-only/-mpure-code driver flag.

Related PRs:

llvm-sync bot pushed a commit to arm/arm-toolchain that referenced this pull request

Mar 10, 2025

@Il-Capitano @github-actions

…section flag (2/3) (#125688)

Add support for the new SHF_AARCH64_PURECODE ELF section flag: ARM-software/abi-aa#304

The general implementation follows the existing one for ARM targets. Simlarly to ARM targets, generating object files with the SHF_AARCH64_PURECODE flag set is enabled by the -mexecute-only/-mpure-code driver flag.

Related PRs:

Il-Capitano added a commit to Il-Capitano/llvm-project that referenced this pull request

Mar 26, 2025

@Il-Capitano

Support for execute-only code generation (llvm#125687) introduced a bug in the case where the memtag sanitizer is used in a module containing a mix of execute-only and non-execute-only functions.

The bug is caused by using return instead of break to short-circuit a loop, which meant that the rest of the function dealing with memtag sanitizer logic wasn't run.

Il-Capitano added a commit that referenced this pull request

Apr 1, 2025

@Il-Capitano

#133084)

Support for execute-only code generation (#125687) introduced a bug in the case where the memtag sanitizer is used in a module containing a mix of execute-only and non-execute-only functions.

The bug is caused by using return instead of break to short-circuit a loop, which meant that the rest of the function dealing with memtag sanitizer logic wasn't run.

Ankur-0429 pushed a commit to Ankur-0429/llvm-project that referenced this pull request

Apr 2, 2025

@Il-Capitano @Ankur-0429

llvm#133084)

Support for execute-only code generation (llvm#125687) introduced a bug in the case where the memtag sanitizer is used in a module containing a mix of execute-only and non-execute-only functions.

The bug is caused by using return instead of break to short-circuit a loop, which meant that the rest of the function dealing with memtag sanitizer logic wasn't run.