[lld] e912fff - [ELF] Avoid creating a 2.1GB output file in arm-exidx-range.s

Alex Richardson via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 10 10:08:48 PDT 2020


Author: Alex Richardson
Date: 2020-08-10T18:08:07+01:00
New Revision: e912fffd3a8c6c9f6e09d2eac4c1ee3a32800a22

URL: https://github.com/llvm/llvm-project/commit/e912fffd3a8c6c9f6e09d2eac4c1ee3a32800a22
DIFF: https://github.com/llvm/llvm-project/commit/e912fffd3a8c6c9f6e09d2eac4c1ee3a32800a22.diff

LOG: [ELF] Avoid creating a 2.1GB output file in arm-exidx-range.s

Currently both sections will be placed in the same PT_LOAD and therefore
lld generates a contiguous output file containing both sections.
By using AT(0xffff0000) the .vectors is placed a separate PT_LOAD and the
resulting file is now only a few kilobytes.

Reviewed By: psmith

Differential Revision: https://reviews.llvm.org/D85661

Added: 
    

Modified: 
    lld/test/ELF/arm-exidx-range.s

Removed: 
    


################################################################################
diff  --git a/lld/test/ELF/arm-exidx-range.s b/lld/test/ELF/arm-exidx-range.s
index 623c6a81c97b..480910997358 100644
--- a/lld/test/ELF/arm-exidx-range.s
+++ b/lld/test/ELF/arm-exidx-range.s
@@ -3,7 +3,7 @@
 // RUN: echo "SECTIONS { \
 // RUN:         . = 0x80000000; \
 // RUN:         .text : { *(.text) } \
-// RUN:         .vectors 0xffff0000 : { *(.vectors) } \
+// RUN:         .vectors 0xffff0000 : AT(0xffff0000) { *(.vectors) } \
 // RUN: } " > %t.script
 // RUN: ld.lld --script %t.script %t.o -o %t
 // RUN: llvm-readobj -x .ARM.exidx %t | FileCheck %s


        


More information about the llvm-commits mailing list