Skip to content

Commit 0a89bda

Browse files
committed
[MC][test] Change ELF/uleb-ehtable.s Mach-O to use private symbols in .uleb128 for label differences
On Mach-O, `.uleb128 A-B` where A and B are separated by a non-private symbol is invalid (see D153167).
1 parent 88fbccd commit 0a89bda

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

llvm/test/MC/ELF/uleb-ehtable.s

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// RUN: llvm-mc -filetype=obj -triple i686-pc-linux-gnu %s -o - | llvm-readobj -S --sd - | FileCheck %s -check-prefix=CHECK -check-prefix=ELF
22
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -S --sd - | FileCheck %s -check-prefix=CHECK -check-prefix=ELF
3-
// RUN: llvm-mc -filetype=obj -triple i386-apple-darwin9 %s -o - | llvm-readobj -S --sd - | FileCheck %s -check-prefix=CHECK -check-prefix=MACHO
4-
// RUN: llvm-mc -filetype=obj -triple x86_64-apple-darwin9 %s -o - | llvm-readobj -S --sd - | FileCheck %s -check-prefix=CHECK -check-prefix=MACHO
3+
// RUN: llvm-mc -filetype=obj -triple i386-apple-darwin9 --defsym MACHO=1 %s -o - | llvm-readobj -S --sd - | FileCheck %s -check-prefix=CHECK -check-prefix=MACHO
4+
// RUN: llvm-mc -filetype=obj -triple x86_64-apple-darwin9 --defsym MACHO=1 %s -o - | llvm-readobj -S --sd - | FileCheck %s -check-prefix=CHECK -check-prefix=MACHO
55

66
// Test that we can assemble a GCC-like EH table that has 16381-16383 bytes of
77
// non-padding data between .ttbaseref and .ttbase. The assembler must insert
@@ -13,11 +13,20 @@
1313
foo:
1414
.byte 0xff // LPStart omitted
1515
.byte 0x1 // TType encoding (uleb128)
16+
.ifdef MACHO
17+
.uleb128 Lttbase-Lttbaseref
18+
Lttbaseref:
19+
.else
1620
.uleb128 .ttbase-.ttbaseref
1721
.ttbaseref:
22+
.endif
1823
.fill 128*128-1, 1, 0xcd // call site and actions tables
1924
.balign 4
25+
.ifdef MACHO
26+
Lttbase:
27+
.else
2028
.ttbase:
29+
.endif
2130
.byte 1, 2, 3, 4
2231

2332
// ELF: Name: .data

0 commit comments

Comments
 (0)