From 0b1db0a535e3eeef8dbce0d4ec98419392f05777 Mon Sep 17 00:00:00 2001 From: Will Newton Date: Thu, 11 Dec 2014 12:37:35 +0000 Subject: [PATCH] ELF/AArch64: Add a test for R_AARCH64_ABS32 llvm-svn: 224014 --- lld/test/elf/AArch64/rel-abs32.test | 59 +++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 lld/test/elf/AArch64/rel-abs32.test diff --git a/lld/test/elf/AArch64/rel-abs32.test b/lld/test/elf/AArch64/rel-abs32.test new file mode 100644 index 0000000..edd7b69 --- /dev/null +++ b/lld/test/elf/AArch64/rel-abs32.test @@ -0,0 +1,59 @@ +# Check handling of R_AARCH64_ABS32 relocation. +# RUN: yaml2obj -format=elf %s > %t-obj +# RUN: lld -flavor gnu -target arm64 -o %t-exe %t-obj +# RUN: llvm-objdump -s -t %t-exe | FileCheck %s + +# CHECK: Contents of section .data: +# CHECK-NEXT: 401060 65104080 61104080 e.@.a.@. +# ^^ data2 + 0x80000001 = 0x80401069 +# ^^ data1 + 0x80000001 = 0x80401061 +# CHECK: SYMBOL TABLE: +# CHECK: 00401060 g .data 00000004 data1 +# CHECK: 00401064 g .data 00000004 data2 + +!ELF +FileHeader: !FileHeader + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_AARCH64 + +Sections: +- Name: .text + Type: SHT_PROGBITS + Content: "00000000" + AddressAlign: 16 + Flags: [SHF_ALLOC, SHF_EXECINSTR] +- Name: .data + Type: SHT_PROGBITS + Content: "0000000000000000" + AddressAlign: 16 + Flags: [SHF_ALLOC, SHF_WRITE] + +- Name: .rela.data + Type: SHT_RELA + Info: .data + AddressAlign: 8 + Relocations: + - Offset: 0x0 + Symbol: data2 + Type: R_AARCH64_ABS32 + Addend: 0x80000001 + - Offset: 0x4 + Symbol: data1 + Type: R_AARCH64_ABS32 + Addend: 0x80000001 + +Symbols: + Global: + - Name: _start + Section: .text + Value: 0x0 + Size: 4 + - Name: data1 + Section: .data + Size: 4 + - Name: data2 + Section: .data + Value: 0x4 + Size: 4 -- 2.7.4