summaryrefslogtreecommitdiffstats
path: root/llvm/test/Object
diff options
context:
space:
mode:
authorSimon Atanasyan <simon@atanasyan.com>2015-07-08 10:12:40 +0000
committerSimon Atanasyan <simon@atanasyan.com>2015-07-08 10:12:40 +0000
commit22c4c9ee8f2ae3eb1c3faf921c760cd2434f0d65 (patch)
tree8a1e81f4d470766f49fb5fd710a4a87516fc529e /llvm/test/Object
parent1b6b50a921308df2d4564a9f9ec1fb47e392c056 (diff)
downloadbcm5719-llvm-22c4c9ee8f2ae3eb1c3faf921c760cd2434f0d65.tar.gz
bcm5719-llvm-22c4c9ee8f2ae3eb1c3faf921c760cd2434f0d65.zip
[yaml2obj] Align section content using AddressAlign field's value
Use AddressAlign field's value to properly align sections content in the yaml2obj tool. Before this change the yaml2obj ignored AddressAlign and always aligned section on 16 bytes boundary. llvm-svn: 241674
Diffstat (limited to 'llvm/test/Object')
-rw-r--r--llvm/test/Object/yaml2obj-elf-alignment.yaml53
1 files changed, 53 insertions, 0 deletions
diff --git a/llvm/test/Object/yaml2obj-elf-alignment.yaml b/llvm/test/Object/yaml2obj-elf-alignment.yaml
new file mode 100644
index 00000000000..8f2f985177f
--- /dev/null
+++ b/llvm/test/Object/yaml2obj-elf-alignment.yaml
@@ -0,0 +1,53 @@
+# Check that yaml2obj takes in account section AddressAlign field.
+
+# RUN: yaml2obj -format=elf %s > %t
+# RUN: llvm-readobj -s %t | FileCheck %s
+
+# CHECK: Section {
+# CHECK: Index: 2
+# CHECK-NEXT: Name: .data
+# CHECK-NEXT: Type: SHT_PROGBITS
+# CHECK-NEXT: Flags [
+# CHECK-NEXT: SHF_ALLOC
+# CHECK-NEXT: SHF_WRITE
+# CHECK-NEXT: ]
+# CHECK-NEXT: Address: 0x0
+# CHECK-NEXT: Offset: 0x{{[0-9A-F]*}}00
+# CHECK-NEXT: Size: 4
+# CHECK-NEXT: Link: 0
+# CHECK-NEXT: Info: 0
+# CHECK-NEXT: AddressAlignment: 256
+# CHECK-NEXT: EntrySize: 0
+# CHECK-NEXT: }
+
+---
+FileHeader:
+ Class: ELFCLASS32
+ Data: ELFDATA2LSB
+ Type: ET_REL
+ Machine: EM_MIPS
+ Flags: [ EF_MIPS_CPIC, EF_MIPS_ABI_O32, EF_MIPS_ARCH_32 ]
+
+Sections:
+ - Name: .text
+ Type: SHT_PROGBITS
+ Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
+ AddressAlign: 8
+ Size: 4
+ - Name: .data
+ Type: SHT_PROGBITS
+ Flags: [ SHF_WRITE, SHF_ALLOC ]
+ AddressAlign: 256
+ Size: 4
+
+Symbols:
+ Global:
+ - Name: T0
+ Type: STT_FUNC
+ Section: .text
+ Size: 4
+ - Name: D0
+ Type: STT_OBJECT
+ Section: .data
+ Size: 4
+...
OpenPOWER on IntegriCloud