• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// RUN: llvm-mc -filetype=obj -triple i686-pc-linux-gnu    %s -o - | llvm-readobj -S --sd - | FileCheck %s -check-prefix=CHECK -check-prefix=ELF
2// 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
5
6// Test that we can assemble a GCC-like EH table that has 16381-16383 bytes of
7// non-padding data between .ttbaseref and .ttbase. The assembler must insert
8// extra padding either into the uleb128 or at the balign directive. See
9// PR35809.
10
11        .data
12        .balign 4
13foo:
14        .byte 0xff  // LPStart omitted
15        .byte 0x1   // TType encoding (uleb128)
16        .uleb128 .ttbase-.ttbaseref
17.ttbaseref:
18        .fill 128*128-1, 1, 0xcd    // call site and actions tables
19        .balign 4
20.ttbase:
21        .byte 1, 2, 3, 4
22
23// ELF:   Name: .data
24// MACHO: Name: __data
25// CHECK:      SectionData (
26// CHECK-NEXT:   0000: FF01FFFF 00CDCDCD CDCDCDCD CDCDCDCD
27// CHECK:        4000: CDCDCDCD 01020304
28// CHECK-NEXT: )
29