[llvm] [llvm-objcopy] Add change-section-lma *+/-offset (PR #95431)
James Henderson via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 14 02:39:35 PDT 2024
================
@@ -0,0 +1,52 @@
+# RUN: yaml2obj %s -o %t
+# RUN: llvm-objcopy --change-section-lma *+0x20 %t %t2
+# RUN: llvm-readelf -l %t2 | FileCheck %s --check-prefix=CHECK-PLUS
+# RUN: llvm-objcopy --change-section-lma *-0x10 %t2 %t3
+# RUN: llvm-readelf -l %t3 | FileCheck %s --check-prefix=CHECK-MINUS
+# RUN: not llvm-objcopy --change-section-lma .text3=0x5000 %t 2>&1 | FileCheck %s --check-prefix=ERR
+
+!ELF
+FileHeader:
+ Class: ELFCLASS64
+ Data: ELFDATA2LSB
+ Type: ET_EXEC
+ Machine: EM_AARCH64
+Sections:
+ - Name: .text1
+ Type: SHT_PROGBITS
+ Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
+ Address: 0x1000
+ AddressAlign: 0x1000
+ Content: "DEADBEEF"
+ Size: 0x1000
+ - Name: .text2
+ Type: SHT_PROGBITS
+ Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
+ Address: 0x2000
+ AddressAlign: 0x1000
+ Content: "32323232"
+ Size: 0x1000
+ - Name: .text3
+ Type: SHT_PROGBITS
+ Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
+ Address: 0x3000
+ AddressAlign: 0x1000
+ Content: "c3c3c3c3"
+ Size: 0x1000
+ProgramHeaders:
+ - Type: PT_LOAD
+ Flags: [ PF_R ]
+ VAddr: 0x1000
+ FirstSec: .text1
+ LastSec: .text2
+# CHECK-PLUS: Type Offset VirtAddr PhysAddr FileSiz MemSiz
----------------
jh7370 wrote:
Once you've simplified the YAML as suggested, it would be more readable to order the test something like this, I think:
```
# RUN: ...
# RUN: ...
# CHECK...
# CHECK...
<yaml>
```
https://github.com/llvm/llvm-project/pull/95431
More information about the llvm-commits
mailing list