[PATCH] D67152: Align output segments correctly
Rui Ueyama via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 4 22:30:02 PDT 2019
This revision was automatically updated to reflect the committed changes.
Closed by commit rL371013: Align output segments correctly (authored by ruiu, committed by ).
Changed prior to commit:
https://reviews.llvm.org/D67152?vs=218832&id=218839#toc
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D67152/new/
https://reviews.llvm.org/D67152
Files:
lld/trunk/ELF/Writer.cpp
lld/trunk/test/ELF/nmagic.s
Index: lld/trunk/test/ELF/nmagic.s
===================================================================
--- lld/trunk/test/ELF/nmagic.s
+++ lld/trunk/test/ELF/nmagic.s
@@ -0,0 +1,23 @@
+# REQUIRES: x86
+# Verify that .rodata is aligned to a 8 byte boundary.
+
+# RUN: llvm-mc -filetype=obj -triple=i386 %s -o %t.o
+# RUN: ld.lld %t.o -o %t.exe -n -Ttext 0
+# RUN: llvm-readelf --section-headers %t.exe | FileCheck %s
+
+# CHECK: [ 0] NULL 00000000 000000 000000 00 0 0 0
+# CHECK: [ 1] .text PROGBITS 00000000 0000d4 000001 00 AX 0 0 4
+# CHECK: [ 2] .rodata PROGBITS 00000008 0000d8 000008 00 A 0 0 8
+# CHECK: [ 3] .comment PROGBITS 00000000 0000e0 000008 01 MS 0 0 1
+# CHECK: [ 4] .symtab SYMTAB 00000000 0000e8 000020 10 6 1 4
+# CHECK: [ 5] .shstrtab STRTAB 00000000 000108 000032 00 0 0 1
+# CHECK: [ 6] .strtab STRTAB 00000000 00013a 000008 00 0 0 1
+
+.globl _start
+.text
+_start:
+ ret
+
+.rodata
+.align 8
+.quad 42
Index: lld/trunk/ELF/Writer.cpp
===================================================================
--- lld/trunk/ELF/Writer.cpp
+++ lld/trunk/ELF/Writer.cpp
@@ -2272,7 +2272,8 @@
// The first section in a PT_LOAD has to have congruent offset and address
// module the page size.
if (os->ptLoad && os->ptLoad->firstSec == os) {
- uint64_t alignment = std::max<uint64_t>(os->alignment, config->maxPageSize);
+ uint64_t alignment =
+ std::max<uint64_t>(os->ptLoad->p_align, config->maxPageSize);
return alignTo(off, alignment, os->addr);
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D67152.218839.patch
Type: text/x-patch
Size: 1577 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190905/a37d9aa1/attachment.bin>
More information about the llvm-commits
mailing list