[all-commits] [llvm/llvm-project] 011b78: [ELF] Create readonly PT_LOAD in the presence of a...
Fangrui Song via All-commits
all-commits at lists.llvm.org
Thu Mar 19 19:11:34 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 011b785505b1f6d315a93fd0a0409576ad8d1805
https://github.com/llvm/llvm-project/commit/011b785505b1f6d315a93fd0a0409576ad8d1805
Author: Fangrui Song <maskray at google.com>
Date: 2020-03-19 (Thu, 19 Mar 2020)
Changed paths:
M lld/ELF/ScriptParser.cpp
M lld/test/ELF/arm-force-pi-thunk.s
M lld/test/ELF/arm-thumb-thunk-v6m.s
M lld/test/ELF/arm-thunk-linkerscript-dotexpr.s
M lld/test/ELF/arm-thunk-linkerscript.s
M lld/test/ELF/linkerscript/absolute-expr.test
M lld/test/ELF/linkerscript/align-empty.test
M lld/test/ELF/linkerscript/at.s
M lld/test/ELF/linkerscript/at4.s
M lld/test/ELF/linkerscript/extend-pt-load1.test
M lld/test/ELF/linkerscript/extend-pt-load2.test
M lld/test/ELF/linkerscript/extend-pt-load3.test
M lld/test/ELF/linkerscript/loadaddr.s
M lld/test/ELF/linkerscript/map-file2.test
M lld/test/ELF/linkerscript/merge-header-load.s
M lld/test/ELF/linkerscript/merge-sections-syms.s
M lld/test/ELF/linkerscript/merge-sections.s
M lld/test/ELF/linkerscript/non-alloc.s
M lld/test/ELF/linkerscript/orphan-align.s
M lld/test/ELF/linkerscript/overlapping-sections.s
M lld/test/ELF/linkerscript/overlay.test
M lld/test/ELF/linkerscript/repsection-symbol.s
M lld/test/ELF/linkerscript/rosegment.test
M lld/test/ELF/linkerscript/sections-keep.s
M lld/test/ELF/linkerscript/sizeofheaders.s
M lld/test/ELF/linkerscript/synthetic-symbols1.test
Log Message:
-----------
[ELF] Create readonly PT_LOAD in the presence of a SECTIONS command
This essentially drops the change by r288021 (discussed with Georgii Rymar
and Peter Smith and noted down in the release note of lld 10).
GNU ld>=2.31 enables -z separate-code by default for Linux x86. By
default (in the absence of a PHDRS command) a readonly PT_LOAD is
created, which is different from its traditional behavior.
Not emulating GNU ld's traditional behavior is good for us because it
improves code consistency (we create a readonly PT_LOAD in the absence
of a SECTIONS command).
Users can add --no-rosegment to restore the previous behavior (combined
readonly and read-executable sections in a single RX PT_LOAD).
More information about the All-commits
mailing list