[all-commits] [llvm/llvm-project] e21b9c: [ELF] Respect output section alignment for AT> (no...
Fangrui Song via All-commits
all-commits at lists.llvm.org
Wed Feb 12 08:19:50 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: e21b9ca751c525f5927ad313482be9a9c9e4dc9d
https://github.com/llvm/llvm-project/commit/e21b9ca751c525f5927ad313482be9a9c9e4dc9d
Author: Fangrui Song <maskray at google.com>
Date: 2020-02-12 (Wed, 12 Feb 2020)
Changed paths:
M lld/ELF/LinkerScript.cpp
A lld/test/ELF/linkerscript/lma-align.test
Log Message:
-----------
[ELF] Respect output section alignment for AT> (non-null lmaRegion)
When lmaRegion is non-null, respect `sec->alignment`
This rule is analogous to `switchTo(sec)` which advances sh_addr (VMA).
This fixes the p_paddr misalignment issue as reported by
https://android-review.googlesource.com/c/trusty/external/trusted-firmware-a/+/1230058
Note, `sec->alignment` is the maximum of ALIGN and input section alignments. We may overalign LMA than GNU ld.
linkerscript/align-lma.s has a FIXME that demonstrates another bug:
`.bss ... >RAM` should be placed in a different PT_LOAD (GNU ld
behavior) because its lmaRegion (nullptr) is different from the previous
section's lmaRegion (ROM).
Reviewed By: psmith
Differential Revision: https://reviews.llvm.org/D74286
More information about the All-commits
mailing list