[all-commits] [llvm/llvm-project] 2c1bdd: [LLD][ELF] Allow merging XO and RX sections, and a...

Csanád Hajdú via All-commits all-commits at lists.llvm.org
Mon Apr 7 23:48:12 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2c1bdd4a0811af89eb9631935fbd90f13a04eacb
      https://github.com/llvm/llvm-project/commit/2c1bdd4a0811af89eb9631935fbd90f13a04eacb
  Author: Csanád Hajdú <csanad.hajdu at arm.com>
  Date:   2025-04-08 (Tue, 08 Apr 2025)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/Options.td
    M lld/ELF/Writer.cpp
    M lld/docs/ReleaseNotes.rst
    A lld/test/ELF/aarch64-execute-only-mixed.s
    M lld/test/ELF/aarch64-execute-only.s
    A lld/test/ELF/arm-execute-only-mixed.s
    M lld/test/ELF/arm-execute-only.s

  Log Message:
  -----------
  [LLD][ELF] Allow merging XO and RX sections, and add `--[no-]xosegment` flag (#132412)

Following from the discussion in #132224, this seems like the best
approach to deal with a mix of XO and RX output sections in the same
binary. This change will also simplify the implementation of the
PURECODE section flag for AArch64.

To control this behaviour, the `--[no-]xosegment` flag is added to LLD
(similarly to `--[no-]rosegment`), which determines whether to allow
merging XO and RX sections in the same segment. The default value is
`--no-xosegment`, which is a breaking change compared to the previous
behaviour.

Release notes are also added, since this will be a breaking change.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list