summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorEric Christopher <echristo@gmail.com>2018-03-24 00:07:38 +0000
committerEric Christopher <echristo@gmail.com>2018-03-24 00:07:38 +0000
commitfe6e6d93d9bb4c31283965bb12560b756910303d (patch)
tree01110b81eab8360c359f3e346d597a66ef37327f /llvm/test
parent53f51c1df8e8c5895d771190325921f6743fb196 (diff)
downloadbcm5719-llvm-fe6e6d93d9bb4c31283965bb12560b756910303d.tar.gz
bcm5719-llvm-fe6e6d93d9bb4c31283965bb12560b756910303d.zip
Allow FDE references outside the +/-2GB range supported by PC relative
offsets for code models other than small/medium. For JIT application, memory layout is less controlled and can result in truncations otherwise. Patch based on one by Olexa Bilaniuk! llvm-svn: 328400
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/MC/ELF/cfi-large-model.s65
1 files changed, 44 insertions, 21 deletions
diff --git a/llvm/test/MC/ELF/cfi-large-model.s b/llvm/test/MC/ELF/cfi-large-model.s
index 790d75eee1f..d0f2b46b365 100644
--- a/llvm/test/MC/ELF/cfi-large-model.s
+++ b/llvm/test/MC/ELF/cfi-large-model.s
@@ -1,26 +1,49 @@
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu -large-code-model %s \
-// RUN: -o - | llvm-readobj -s -sd | FileCheck %s
+// RUN: -o - | llvm-readobj -s -sd | FileCheck --check-prefix=CHECK-X86 %s
+// RUN: llvm-mc -filetype=obj -triple powerpc64le-linux-gnu -large-code-model %s \
+// RUN: -o - | llvm-readobj -s -sd | FileCheck --check-prefix=CHECK-PPC %s
-// CHECK: Section {
-// CHECK: Index:
-// CHECK: Name: .eh_frame
-// CHECK-NEXT: Type: SHT_X86_64_UNWIND
-// CHECK-NEXT: Flags [
-// CHECK-NEXT: SHF_ALLOC
-// CHECK-NEXT: ]
-// CHECK-NEXT: Address: 0x0
-// CHECK-NEXT: Offset: 0x40
-// CHECK-NEXT: Size: 56
-// CHECK-NEXT: Link: 0
-// CHECK-NEXT: Info: 0
-// CHECK-NEXT: AddressAlignment: 8
-// CHECK-NEXT: EntrySize: 0
-// CHECK-NEXT: SectionData (
-// CHECK-NEXT: 0000: 14000000 00000000 017A5200 01781001 |.........zR..x..|
-// CHECK-NEXT: 0010: 1C0C0708 90010000 1C000000 1C000000 |................|
-// CHECK-NEXT: 0020: 00000000 00000000 00000000 00000000 |................|
-// CHECK-NEXT: 0030: 00000000 00000000 |........|
-// CHECK-NEXT: )
+// CHECK-X86: Section {
+// CHECK-X86: Index:
+// CHECK-X86: Name: .eh_frame
+// CHECK-X86-NEXT: Type: SHT_X86_64_UNWIND
+// CHECK-X86-NEXT: Flags [
+// CHECK-X86-NEXT: SHF_ALLOC
+// CHECK-X86-NEXT: ]
+// CHECK-X86-NEXT: Address: 0x0
+// CHECK-X86-NEXT: Offset: 0x40
+// CHECK-X86-NEXT: Size: 56
+// CHECK-X86-NEXT: Link: 0
+// CHECK-X86-NEXT: Info: 0
+// CHECK-X86-NEXT: AddressAlignment: 8
+// CHECK-X86-NEXT: EntrySize: 0
+// CHECK-X86-NEXT: SectionData (
+// CHECK-X86-NEXT: 0000: 14000000 00000000 017A5200 01781001 |.........zR..x..|
+// CHECK-X86-NEXT: 0010: 1C0C0708 90010000 1C000000 1C000000 |................|
+// CHECK-X86-NEXT: 0020: 00000000 00000000 00000000 00000000 |................|
+// CHECK-X86-NEXT: 0030: 00000000 00000000 |........|
+// CHECK-X86-NEXT: )
+
+// CHECK-PPC: Section {
+// CHECK-PPC: Index:
+// CHECK-PPC: Name: .eh_frame
+// CHECK-PPC-NEXT: Type: SHT_PROGBITS
+// CHECK-PPC-NEXT: Flags [
+// CHECK-PPC-NEXT: SHF_ALLOC
+// CHECK-PPC-NEXT: ]
+// CHECK-PPC-NEXT: Address: 0x0
+// CHECK-PPC-NEXT: Offset: 0x40
+// CHECK-PPC-NEXT: Size: 48
+// CHECK-PPC-NEXT: Link: 0
+// CHECK-PPC-NEXT: Info: 0
+// CHECK-PPC-NEXT: AddressAlignment: 8
+// CHECK-PPC-NEXT: EntrySize: 0
+// CHECK-PPC-NEXT: SectionData (
+// CHECK-PPC-NEXT: 0000: 10000000 00000000 017A5200 04784101 |.........zR..xA.|
+// CHECK-PPC-NEXT: 0010: 1C0C0100 18000000 18000000 00000000 |................|
+// CHECK-PPC-NEXT: 0020: 00000000 00000000 00000000 00000000 |................|
+// CHECK-PPC-NEXT: )
+// CHECK-PPC-NEXT: }
f:
.cfi_startproc
OpenPOWER on IntegriCloud