[PATCH] D71281: [LLD][ELF][AArch64][ARM] When errata patching, round thunk size to page boundary

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 10 09:32:33 PST 2019


MaskRay added a comment.

Thanks for the fix. I'll find some time to understand the logic.



================
Comment at: lld/test/ELF/aarch64-cortex-a53-843419-thunk.s:7
 // RUN: ld.lld --script %t.script -fix-cortex-a53-843419 -verbose %t.o -o %t2 2>&1 \
-// RUN:   | FileCheck -check-prefix=CHECK-PRINT %s
-// RUN: llvm-objdump -triple=aarch64-linux-gnu -d %t2 | FileCheck %s
+// RUN: | FileCheck -check-prefix=CHECK-PRINT %s
 
----------------
Nit: indent the continuation line.


================
Comment at: lld/test/ELF/arm-fix-cortex-a8-thunk.s:9
 // RUN: ld.lld --script %t.script --fix-cortex-a8 --shared -verbose %t.o -o %t2 2>&1
-// RUN: llvm-objdump -d --no-show-raw-insn --start-address=0x110000 --stop-address=0x110010 %t2 | FileCheck --check-prefix=THUNK %s
-// RUN: llvm-objdump -d --no-show-raw-insn --start-address=0x110ffa --stop-address=0x111008 %t2 | FileCheck --check-prefix=PATCH %s
-// RUN: llvm-objdump -d --no-show-raw-insn --start-address=0x111008 --stop-address=0x111010 %t2 | FileCheck --check-prefix=THUNK2 %s
+// RUN: llvm-objdump -d --no-show-raw-insn --start-address=0x110004 --stop-address=0x110010 %t2 | FileCheck --check-prefix=THUNK %s
+// RUN: llvm-objdump -d --no-show-raw-insn --start-address=0x111ffa --stop-address=0x112008 %t2 | FileCheck --check-prefix=PATCH %s
----------------
With a linker script, the gaps between adjacent sections will not be dumped by `llvm-objdump -d`.
llvm-objdump -d may be sufficient to dump 3 pieces of disassembly.

Without a linker script, assembly like .space can create a huge number of zeros, which will slow down llvm-objdump -d significantly.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D71281/new/

https://reviews.llvm.org/D71281





More information about the llvm-commits mailing list