[all-commits] [llvm/llvm-project] eb1442: [llvm-objcopy] -O binary: do not align physical ad...
quic-akaryaki via All-commits
all-commits at lists.llvm.org
Tue Jun 20 13:28:54 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: eb1442d0f73c76cfb5051d133f858fe760d189cf
https://github.com/llvm/llvm-project/commit/eb1442d0f73c76cfb5051d133f858fe760d189cf
Author: Alexey Karyakin <akaryaki at quicinc.com>
Date: 2023-06-20 (Tue, 20 Jun 2023)
Changed paths:
M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
M llvm/lib/ObjCopy/ELF/ELFObject.cpp
M llvm/test/tools/llvm-objcopy/ELF/binary-paddr.test
Log Message:
-----------
[llvm-objcopy] -O binary: do not align physical addresses
llvm-objcopy should not insert padding before a section if its
physical addresses is not aligned to section's alignment. This
behavior will match GNU objcopy and is important for embedded images
where the physical address is used to store the initial data image.
The loader typically will copy this image using a start symbol
created by the linker. If llvm-objcopy inserts padding before such a
section, the symbol address will not match the location in the image.
This commit refines the change in https://reviews.llvm.org/D128961
which intended to align sections which type changed from NOBITS and
their offset may not be aligned. However, it affected all sections.
Fix https://github.com/llvm/llvm-project/issues/62636
Reviewed By: jhenderson, MaskRay
Differential Revision: https://reviews.llvm.org/D150276
More information about the All-commits
mailing list