You've already forked linux-packaging-mono
Imported Upstream version 5.18.0.167
Former-commit-id: 289509151e0fee68a1b591a20c9f109c3c789d3a
This commit is contained in:
parent
e19d552987
commit
b084638f15
@ -1,9 +0,0 @@
|
||||
// RUN: not llvm-mc -filetype=obj -triple arm-linux-gnu %s -o %t 2>%t.out
|
||||
// RUN: FileCheck --input-file=%t.out %s
|
||||
// CHECK: non-zero initializer found in section '.bss'
|
||||
.bss
|
||||
.globl a
|
||||
.align 2
|
||||
a:
|
||||
.long 1
|
||||
.size a, 4
|
399
external/llvm/test/MC/ELF/ARM/clang-section.s
vendored
399
external/llvm/test/MC/ELF/ARM/clang-section.s
vendored
@ -1,399 +0,0 @@
|
||||
// RUN: llvm-mc -filetype=obj -triple arm-eabi %s -o - | llvm-readobj -s -t | FileCheck %s
|
||||
// Test that global variables and functions are assigned correct section.
|
||||
.text
|
||||
.syntax unified
|
||||
.eabi_attribute 67, "2.09" @ Tag_conformance
|
||||
.eabi_attribute 6, 1 @ Tag_CPU_arch
|
||||
.eabi_attribute 8, 1 @ Tag_ARM_ISA_use
|
||||
.eabi_attribute 17, 1 @ Tag_ABI_PCS_GOT_use
|
||||
.eabi_attribute 20, 1 @ Tag_ABI_FP_denormal
|
||||
.eabi_attribute 21, 1 @ Tag_ABI_FP_exceptions
|
||||
.eabi_attribute 23, 3 @ Tag_ABI_FP_number_model
|
||||
.eabi_attribute 34, 1 @ Tag_CPU_unaligned_access
|
||||
.eabi_attribute 24, 1 @ Tag_ABI_align_needed
|
||||
.eabi_attribute 25, 1 @ Tag_ABI_align_preserved
|
||||
.eabi_attribute 38, 1 @ Tag_ABI_FP_16bit_format
|
||||
.eabi_attribute 18, 4 @ Tag_ABI_PCS_wchar_t
|
||||
.eabi_attribute 26, 2 @ Tag_ABI_enum_size
|
||||
.eabi_attribute 14, 0 @ Tag_ABI_PCS_R9_use
|
||||
.section my_text.1,"ax",%progbits
|
||||
.globl foo
|
||||
.p2align 2
|
||||
.type foo,%function
|
||||
.code 32 @ @foo
|
||||
foo:
|
||||
.fnstart
|
||||
@ %bb.0: @ %entry
|
||||
ldr r0, .LCPI0_0
|
||||
ldr r0, [r0]
|
||||
mov pc, lr
|
||||
.p2align 2
|
||||
@ %bb.1:
|
||||
.LCPI0_0:
|
||||
.long b
|
||||
.Lfunc_end0:
|
||||
.size foo, .Lfunc_end0-foo
|
||||
.cantunwind
|
||||
.fnend
|
||||
|
||||
.section my_text.2,"ax",%progbits
|
||||
.globl goo
|
||||
.p2align 2
|
||||
.type goo,%function
|
||||
.code 32 @ @goo
|
||||
goo:
|
||||
.fnstart
|
||||
@ %bb.0: @ %entry
|
||||
.save {r11, lr}
|
||||
push {r11, lr}
|
||||
ldr r0, .LCPI1_0
|
||||
ldr r1, .LCPI1_1
|
||||
bl zoo
|
||||
pop {r11, lr}
|
||||
mov pc, lr
|
||||
.p2align 2
|
||||
@ %bb.1:
|
||||
.LCPI1_0:
|
||||
.long _ZL1g
|
||||
.LCPI1_1:
|
||||
.long _ZZ3gooE7lstat_h
|
||||
.Lfunc_end1:
|
||||
.size goo, .Lfunc_end1-goo
|
||||
.cantunwind
|
||||
.fnend
|
||||
|
||||
.text
|
||||
.globl hoo
|
||||
.p2align 2
|
||||
.type hoo,%function
|
||||
.code 32 @ @hoo
|
||||
hoo:
|
||||
.fnstart
|
||||
@ %bb.0: @ %entry
|
||||
ldr r0, .LCPI2_0
|
||||
ldr r0, [r0]
|
||||
mov pc, lr
|
||||
.p2align 2
|
||||
@ %bb.1:
|
||||
.LCPI2_0:
|
||||
.long b
|
||||
.Lfunc_end2:
|
||||
.size hoo, .Lfunc_end2-hoo
|
||||
.cantunwind
|
||||
.fnend
|
||||
|
||||
.type a,%object @ @a
|
||||
.section my_bss.1,"aw",%nobits
|
||||
.globl a
|
||||
.p2align 2
|
||||
a:
|
||||
.long 0 @ 0x0
|
||||
.size a, 4
|
||||
|
||||
.type b,%object @ @b
|
||||
.section my_data.1,"aw",%progbits
|
||||
.globl b
|
||||
.p2align 2
|
||||
b:
|
||||
.long 1 @ 0x1
|
||||
.size b, 4
|
||||
|
||||
.type c,%object @ @c
|
||||
.section my_bss.1,"aw",%nobits
|
||||
.globl c
|
||||
.p2align 2
|
||||
c:
|
||||
.zero 16
|
||||
.size c, 16
|
||||
|
||||
.type d,%object @ @d
|
||||
.globl d
|
||||
.p2align 1
|
||||
d:
|
||||
.zero 10
|
||||
.size d, 10
|
||||
|
||||
.type e,%object @ @e
|
||||
.section my_data.1,"aw",%progbits
|
||||
.globl e
|
||||
.p2align 1
|
||||
e:
|
||||
.short 0 @ 0x0
|
||||
.short 0 @ 0x0
|
||||
.short 1 @ 0x1
|
||||
.short 0 @ 0x0
|
||||
.short 0 @ 0x0
|
||||
.short 0 @ 0x0
|
||||
.size e, 12
|
||||
|
||||
.type f,%object @ @f
|
||||
.section my_rodata.1,"a",%progbits
|
||||
.globl f
|
||||
.p2align 2
|
||||
f:
|
||||
.long 2 @ 0x2
|
||||
.size f, 4
|
||||
|
||||
.type h,%object @ @h
|
||||
.bss
|
||||
.globl h
|
||||
.p2align 2
|
||||
h:
|
||||
.long 0 @ 0x0
|
||||
.size h, 4
|
||||
|
||||
.type i,%object @ @i
|
||||
.section my_bss.2,"aw",%nobits
|
||||
.globl i
|
||||
.p2align 2
|
||||
i:
|
||||
.long 0 @ 0x0
|
||||
.size i, 4
|
||||
|
||||
.type j,%object @ @j
|
||||
.section my_rodata.1,"a",%progbits
|
||||
.globl j
|
||||
.p2align 2
|
||||
j:
|
||||
.long 4 @ 0x4
|
||||
.size j, 4
|
||||
|
||||
.type k,%object @ @k
|
||||
.section my_bss.2,"aw",%nobits
|
||||
.globl k
|
||||
.p2align 2
|
||||
k:
|
||||
.long 0 @ 0x0
|
||||
.size k, 4
|
||||
|
||||
.type _ZZ3gooE7lstat_h,%object @ @_ZZ3gooE7lstat_h
|
||||
.p2align 2
|
||||
_ZZ3gooE7lstat_h:
|
||||
.long 0 @ 0x0
|
||||
.size _ZZ3gooE7lstat_h, 4
|
||||
|
||||
.type _ZL1g,%object @ @_ZL1g
|
||||
.section my_bss.1,"aw",%nobits
|
||||
.p2align 2
|
||||
_ZL1g:
|
||||
.zero 8
|
||||
.size _ZL1g, 8
|
||||
|
||||
.type l,%object @ @l
|
||||
.section my_data.2,"aw",%progbits
|
||||
.globl l
|
||||
.p2align 2
|
||||
l:
|
||||
.long 5 @ 0x5
|
||||
.size l, 4
|
||||
|
||||
.type m,%object @ @m
|
||||
.section my_rodata.2,"a",%progbits
|
||||
.globl m
|
||||
.p2align 2
|
||||
m:
|
||||
.long 6 @ 0x6
|
||||
.size m, 4
|
||||
|
||||
.type n,%object @ @n
|
||||
.bss
|
||||
.globl n
|
||||
.p2align 2
|
||||
n:
|
||||
.long 0 @ 0x0
|
||||
.size n, 4
|
||||
|
||||
.type o,%object @ @o
|
||||
.data
|
||||
.globl o
|
||||
.p2align 2
|
||||
o:
|
||||
.long 6 @ 0x6
|
||||
.size o, 4
|
||||
|
||||
.type p,%object @ @p
|
||||
.section .rodata,"a",%progbits
|
||||
.globl p
|
||||
.p2align 2
|
||||
p:
|
||||
.long 7 @ 0x7
|
||||
.size p, 4
|
||||
|
||||
|
||||
.ident "clang version 5.0.0 (http://llvm.org/git/clang.git 254242a3ad440307fb451093a429c71ea9a8c888) (http://llvm.org/git/llvm.git 3c8daefbe3d1672ac1dae775b211f881f0063038)"
|
||||
.section ".note.GNU-stack","",%progbits
|
||||
.eabi_attribute 30, 1 @ Tag_ABI_optimization_goals
|
||||
|
||||
//CHECK: Section {
|
||||
//CHECK: Name: .text
|
||||
//CHECK: Type: SHT_PROGBITS (0x1)
|
||||
//CHECK: Flags [ (0x6)
|
||||
//CHECK: SHF_ALLOC (0x2)
|
||||
//CHECK: SHF_EXECINSTR (0x4)
|
||||
//CHECK: ]
|
||||
//CHECK: }
|
||||
//CHECK: Section {
|
||||
//CHECK: Name: my_text.1
|
||||
//CHECK: Type: SHT_PROGBITS (0x1)
|
||||
//CHECK: Flags [ (0x6)
|
||||
//CHECK: SHF_ALLOC (0x2)
|
||||
//CHECK: SHF_EXECINSTR (0x4)
|
||||
//CHECK: ]
|
||||
//CHECK: }
|
||||
//CHECK: Section {
|
||||
//CHECK: Name: my_text.2
|
||||
//CHECK: Type: SHT_PROGBITS (0x1)
|
||||
//CHECK: Flags [ (0x6)
|
||||
//CHECK: SHF_ALLOC (0x2)
|
||||
//CHECK: SHF_EXECINSTR (0x4)
|
||||
//CHECK: ]
|
||||
//CHECK: }
|
||||
//CHECK: Section {
|
||||
//CHECK: Name: my_bss.1
|
||||
//CHECK: Type: SHT_NOBITS (0x8)
|
||||
//CHECK: Flags [ (0x3)
|
||||
//CHECK: SHF_ALLOC (0x2)
|
||||
//CHECK: SHF_WRITE (0x1)
|
||||
//CHECK: ]
|
||||
//CHECK: }
|
||||
//CHECK: Section {
|
||||
//CHECK: Name: my_data.1
|
||||
//CHECK: Type: SHT_PROGBITS (0x1)
|
||||
//CHECK: Flags [ (0x3)
|
||||
//CHECK: SHF_ALLOC (0x2)
|
||||
//CHECK: SHF_WRITE (0x1)
|
||||
//CHECK: ]
|
||||
//CHECK: }
|
||||
//CHECK: Section {
|
||||
//CHECK: Name: my_rodata.1
|
||||
//CHECK: Type: SHT_PROGBITS (0x1)
|
||||
//CHECK: Flags [ (0x2)
|
||||
//CHECK: SHF_ALLOC (0x2)
|
||||
//CHECK: ]
|
||||
//CHECK: }
|
||||
//CHECK: Section {
|
||||
//CHECK: Name: .bss
|
||||
//CHECK: Type: SHT_NOBITS (0x8)
|
||||
//CHECK: Flags [ (0x3)
|
||||
//CHECK: SHF_ALLOC (0x2)
|
||||
//CHECK: SHF_WRITE (0x1)
|
||||
//CHECK: ]
|
||||
//CHECK: }
|
||||
//CHECK: Section {
|
||||
//CHECK: Name: my_bss.2
|
||||
//CHECK: Type: SHT_NOBITS (0x8)
|
||||
//CHECK: Flags [ (0x3)
|
||||
//CHECK: SHF_ALLOC (0x2)
|
||||
//CHECK: SHF_WRITE (0x1)
|
||||
//CHECK: ]
|
||||
//CHECK: }
|
||||
//CHECK: Section {
|
||||
//CHECK: Name: my_data.2
|
||||
//CHECK: Type: SHT_PROGBITS (0x1)
|
||||
//CHECK: Flags [ (0x3)
|
||||
//CHECK: SHF_ALLOC (0x2)
|
||||
//CHECK: SHF_WRITE (0x1)
|
||||
//CHECK: ]
|
||||
//CHECK: }
|
||||
//CHECK: Section {
|
||||
//CHECK: Name: my_rodata.2
|
||||
//CHECK: Type: SHT_PROGBITS (0x1)
|
||||
//CHECK: Flags [ (0x2)
|
||||
//CHECK: SHF_ALLOC (0x2)
|
||||
//CHECK: ]
|
||||
//CHECK: }
|
||||
//CHECK: Section {
|
||||
//CHECK: Name: .data
|
||||
//CHECK: Type: SHT_PROGBITS (0x1)
|
||||
//CHECK: Flags [ (0x3)
|
||||
//CHECK: SHF_ALLOC (0x2)
|
||||
//CHECK: SHF_WRITE (0x1)
|
||||
//CHECK: ]
|
||||
//CHECK: }
|
||||
//CHECK: Section {
|
||||
//CHECK: Name: .rodata
|
||||
//CHECK: Type: SHT_PROGBITS (0x1)
|
||||
//CHECK: Flags [ (0x2)
|
||||
//CHECK: SHF_ALLOC (0x2)
|
||||
//CHECK: ]
|
||||
//CHECK: }
|
||||
//CHECK: Symbol {
|
||||
//CHECK: Name: _ZL1g
|
||||
//CHECK: Section: my_bss.1 (0xE)
|
||||
//CHECK: }
|
||||
//CHECK: Symbol {
|
||||
//CHECK: Name: _ZZ3gooE7lstat_h
|
||||
//CHECK: Section: my_bss.2 (0x12)
|
||||
//CHECK: }
|
||||
//CHECK: Symbol {
|
||||
//CHECK: Name: a
|
||||
//CHECK: Section: my_bss.1 (0xE)
|
||||
//CHECK: }
|
||||
//CHECK: Symbol {
|
||||
//CHECK: Name: b
|
||||
//CHECK: Section: my_data.1 (0xF)
|
||||
//CHECK: }
|
||||
//CHECK: Symbol {
|
||||
//CHECK: Name: c
|
||||
//CHECK: Section: my_bss.1 (0xE)
|
||||
//CHECK: }
|
||||
//CHECK: Symbol {
|
||||
//CHECK: Name: d
|
||||
//CHECK: Section: my_bss.1 (0xE)
|
||||
//CHECK: }
|
||||
//CHECK: Symbol {
|
||||
//CHECK: Name: e
|
||||
//CHECK: Section: my_data.1 (0xF)
|
||||
//CHECK: }
|
||||
//CHECK: Symbol {
|
||||
//CHECK: Name: f
|
||||
//CHECK: Section: my_rodata.1 (0x10)
|
||||
//CHECK: }
|
||||
//CHECK: Symbol {
|
||||
//CHECK: Name: foo
|
||||
//CHECK: Section: my_text.1 (0x4)
|
||||
//CHECK: }
|
||||
//CHECK: Symbol {
|
||||
//CHECK: Name: goo
|
||||
//CHECK: Section: my_text.2 (0x8)
|
||||
//CHECK: }
|
||||
//CHECK: Symbol {
|
||||
//CHECK: Name: h
|
||||
//CHECK: Section: .bss (0x11)
|
||||
//CHECK: }
|
||||
//CHECK: Symbol {
|
||||
//CHECK: Name: hoo
|
||||
//CHECK: Section: .text (0x2)
|
||||
//CHECK: }
|
||||
//CHECK: Symbol {
|
||||
//CHECK: Name: i
|
||||
//CHECK: Section: my_bss.2 (0x12)
|
||||
//CHECK: }
|
||||
//CHECK: Symbol {
|
||||
//CHECK: Name: j
|
||||
//CHECK: Section: my_rodata.1 (0x10)
|
||||
//CHECK: }
|
||||
//CHECK: Symbol {
|
||||
//CHECK: Name: k
|
||||
//CHECK: Section: my_bss.2 (0x12)
|
||||
//CHECK: }
|
||||
//CHECK: Symbol {
|
||||
//CHECK: Name: l
|
||||
//CHECK: Section: my_data.2 (0x13)
|
||||
//CHECK: }
|
||||
//CHECK: Symbol {
|
||||
//CHECK: Name: m
|
||||
//CHECK: Section: my_rodata.2 (0x14)
|
||||
//CHECK: }
|
||||
//CHECK: Symbol {
|
||||
//CHECK: Name: n
|
||||
//CHECK: Section: .bss (0x11)
|
||||
//CHECK: }
|
||||
//CHECK: Symbol {
|
||||
//CHECK: Name: o
|
||||
//CHECK: Section: .data (0x15)
|
||||
//CHECK: }
|
||||
//CHECK: Symbol {
|
||||
//CHECK: Name: p
|
||||
//CHECK: Section: .rodata (0x16)
|
||||
//CHECK: }
|
@ -1,10 +0,0 @@
|
||||
// RUN: not llvm-mc -triple arm-elf -filetype asm -o /dev/null %s 2>&1 | FileCheck %s
|
||||
// RUN: not llvm-mc -triple armeb-elf -filetype asm -o /dev/null %s 2>&1 | FileCheck %s
|
||||
// RUN: not llvm-mc -triple thumb-elf -filetype asm -o /dev/null %s 2>&1 | FileCheck %s
|
||||
// RUN: not llvm-mc -triple thumbeb-elf -filetype asm -o /dev/null %s 2>&1 | FileCheck %s
|
||||
|
||||
.type symbol 32
|
||||
// CHECK: error: expected STT_<TYPE_IN_UPPER_CASE>, '#<type>', '%<type>' or "<type>"
|
||||
// CHECK: .type symbol 32
|
||||
// CHECK: ^
|
||||
|
@ -1,44 +0,0 @@
|
||||
// RUN: llvm-mc -filetype=obj -triple thumbv7m-arm-linux-gnu %s -o - \
|
||||
// RUN: | llvm-readobj -s -t | FileCheck %s
|
||||
|
||||
.section .text,"axy",%progbits,unique,0
|
||||
.globl foo
|
||||
.align 2
|
||||
.type foo,%function
|
||||
.code 16
|
||||
.thumb_func
|
||||
foo:
|
||||
.fnstart
|
||||
bx lr
|
||||
.Lfunc_end0:
|
||||
.size foo, .Lfunc_end0-foo
|
||||
.fnend
|
||||
|
||||
.section ".note.GNU-stack","",%progbits
|
||||
|
||||
|
||||
// CHECK: Section {
|
||||
// CHECK: Name: .text (16)
|
||||
// CHECK-NEXT: Type: SHT_PROGBITS (0x1)
|
||||
// CHECK-NEXT: Flags [ (0x6)
|
||||
// CHECK-NEXT: SHF_ALLOC (0x2)
|
||||
// CHECK-NEXT: SHF_EXECINSTR (0x4)
|
||||
// CHECK-NEXT: ]
|
||||
// CHECK: Size: 0
|
||||
// CHECK: }
|
||||
|
||||
// CHECK: Section {
|
||||
// CHECK: Name: .text (16)
|
||||
// CHECK-NEXT: Type: SHT_PROGBITS (0x1)
|
||||
// CHECK-NEXT: Flags [ (0x20000006)
|
||||
// CHECK-NEXT: SHF_ALLOC (0x2)
|
||||
// CHECK-NEXT: SHF_ARM_PURECODE (0x20000000)
|
||||
// CHECK-NEXT: SHF_EXECINSTR (0x4)
|
||||
// CHECK-NEXT: ]
|
||||
// CHECK: Size: 2
|
||||
// CHECK: }
|
||||
|
||||
// CHECK: Symbol {
|
||||
// CHECK: Name: foo (22)
|
||||
// CHECK: Section: .text (0x3)
|
||||
// CHECK: }
|
@ -1,13 +0,0 @@
|
||||
@ RUN: not llvm-mc -triple arm-elf -filetype asm -o /dev/null %s 2>&1 | FileCheck %s
|
||||
|
||||
.syntax unified
|
||||
|
||||
.type TYPE #32
|
||||
// CHECK: error: expected symbol type in directive
|
||||
// CHECK: .type TYPE #32
|
||||
// CHECK: ^
|
||||
|
||||
// For ARM, the comment character is '@', so we don't list '@<type>' as a
|
||||
// valid option.
|
||||
.section "foo", "a", @progbits
|
||||
// CHECK: error: expected '%<type>' or "<type>"
|
16
external/llvm/test/MC/ELF/ARM/gnu-type-hash.s
vendored
16
external/llvm/test/MC/ELF/ARM/gnu-type-hash.s
vendored
@ -1,16 +0,0 @@
|
||||
@ RUN: llvm-mc -triple arm-elf -filetype asm -o - %s | FileCheck %s
|
||||
|
||||
.syntax unified
|
||||
|
||||
.type TYPE #STT_FUNC
|
||||
// CHECK: .type TYPE,%function
|
||||
|
||||
.type type #function
|
||||
// CHECK: .type type,%function
|
||||
|
||||
.type comma_TYPE, #STT_FUNC
|
||||
// CHECK: .type comma_TYPE,%function
|
||||
|
||||
.type comma_type, #function
|
||||
// CHECK: .type comma_type,%function
|
||||
|
3
external/llvm/test/MC/ELF/ARM/lit.local.cfg
vendored
3
external/llvm/test/MC/ELF/ARM/lit.local.cfg
vendored
@ -1,3 +0,0 @@
|
||||
# We have to reset config.unsupported here because the parent directory is
|
||||
# predicated on 'X86'.
|
||||
config.unsupported = not 'ARM' in config.root.targets
|
17
external/llvm/test/MC/ELF/abs.s
vendored
17
external/llvm/test/MC/ELF/abs.s
vendored
@ -1,17 +0,0 @@
|
||||
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -t | FileCheck %s
|
||||
|
||||
// Test that zed will be an ABS symbol
|
||||
|
||||
.Lfoo:
|
||||
.Lbar:
|
||||
zed = .Lfoo - .Lbar
|
||||
|
||||
// CHECK: Symbol {
|
||||
// CHECK: Name: zed
|
||||
// CHECK-NEXT: Value: 0x0
|
||||
// CHECK-NEXT: Size: 0
|
||||
// CHECK-NEXT: Binding: Local
|
||||
// CHECK-NEXT: Type: None
|
||||
// CHECK-NEXT: Other: 0
|
||||
// CHECK-NEXT: Section: Absolute (0xFFF1)
|
||||
// CHECK-NEXT: }
|
55
external/llvm/test/MC/ELF/alias-reloc.s
vendored
55
external/llvm/test/MC/ELF/alias-reloc.s
vendored
@ -1,55 +0,0 @@
|
||||
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -r -t | FileCheck %s
|
||||
|
||||
// Test that this produces a R_X86_64_PLT32 with bar.
|
||||
|
||||
.globl foo
|
||||
foo:
|
||||
bar = foo
|
||||
.section zed, "", @progbits
|
||||
call bar@PLT
|
||||
|
||||
|
||||
// Test that this produres a relocation with bar2
|
||||
|
||||
.weak foo2
|
||||
foo2:
|
||||
.weak bar2
|
||||
.set bar2,foo2
|
||||
.quad bar2
|
||||
|
||||
// CHECK: Relocations [
|
||||
// CHECK-NEXT: Section ({{[0-9]+}}) .relazed {
|
||||
// CHECK-NEXT: 0x1 R_X86_64_PLT32 bar 0xFFFFFFFFFFFFFFFC
|
||||
// CHECK-NEXT: 0x5 R_X86_64_64 bar2 0x0
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: ]
|
||||
|
||||
// CHECK: Symbols [
|
||||
// CHECK-NEXT: Symbol {
|
||||
// CHECK-NEXT: Name: (0)
|
||||
// CHECK-NEXT: Value: 0x0
|
||||
// CHECK-NEXT: Size: 0
|
||||
// CHECK-NEXT: Binding: Local (0x0)
|
||||
// CHECK-NEXT: Type: None (0x0)
|
||||
// CHECK-NEXT: Other: 0
|
||||
// CHECK-NEXT: Section: Undefined (0x0)
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: Symbol {
|
||||
// CHECK-NEXT: Name: bar
|
||||
// CHECK-NEXT: Value: 0x0
|
||||
// CHECK-NEXT: Size: 0
|
||||
// CHECK-NEXT: Binding: Local
|
||||
// CHECK-NEXT: Type: None
|
||||
// CHECK-NEXT: Other: 0
|
||||
// CHECK-NEXT: Section: .text
|
||||
// CHECK-NEXT: }
|
||||
|
||||
// CHECK: Symbol {
|
||||
// CHECK: Name: bar2
|
||||
// CHECK-NEXT: Value: 0x5
|
||||
// CHECK-NEXT: Size: 0
|
||||
// CHECK-NEXT: Binding: Weak
|
||||
// CHECK-NEXT: Type: None
|
||||
// CHECK-NEXT: Other: 0
|
||||
// CHECK-NEXT: Section: zed
|
||||
// CHECK-NEXT: }
|
18
external/llvm/test/MC/ELF/alias-to-local.s
vendored
18
external/llvm/test/MC/ELF/alias-to-local.s
vendored
@ -1,18 +0,0 @@
|
||||
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu < %s | llvm-readobj -r | FileCheck %s
|
||||
|
||||
// CHECK: Relocations [
|
||||
// CHECK-NEXT: Section {{.*}} .rela.text {
|
||||
// CHECK-NEXT: 0x1 R_X86_64_32 zed 0x0
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: ]
|
||||
|
||||
foo:
|
||||
movl $zed, %eax
|
||||
|
||||
|
||||
.section .data.bar,"aGw",@progbits,zed,comdat
|
||||
bar:
|
||||
.byte 42
|
||||
|
||||
.globl zed
|
||||
zed = bar
|
131
external/llvm/test/MC/ELF/alias.s
vendored
131
external/llvm/test/MC/ELF/alias.s
vendored
@ -1,131 +0,0 @@
|
||||
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -t | FileCheck %s
|
||||
|
||||
foo:
|
||||
bar = foo
|
||||
|
||||
.globl foo2
|
||||
foo2 = bar2
|
||||
|
||||
foo3:
|
||||
.globl bar3
|
||||
bar3 = foo3
|
||||
|
||||
|
||||
// Test that bar4 and bar 5 are also functions and have the same value as foo4.
|
||||
.byte 0
|
||||
.type foo4,@function
|
||||
foo4:
|
||||
bar4 = foo4
|
||||
bar5 = bar4
|
||||
|
||||
.long foo2
|
||||
|
||||
// Test that bar6 is a function that doesn't have the same value as foo4.
|
||||
bar6 = bar5
|
||||
bar6:
|
||||
|
||||
// Test that indirect local aliases do not appear as symbols.
|
||||
.data
|
||||
.Llocal:
|
||||
|
||||
.text
|
||||
leaq .Llocal1(%rip), %rdi
|
||||
.Llocal1 = .Llocal2
|
||||
.Llocal2 = .Llocal
|
||||
|
||||
// CHECK: Symbols [
|
||||
// CHECK-NEXT: Symbol {
|
||||
// CHECK-NEXT: Name: (0)
|
||||
// CHECK-NEXT: Value: 0x0
|
||||
// CHECK-NEXT: Size: 0
|
||||
// CHECK-NEXT: Binding: Local (0x0)
|
||||
// CHECK-NEXT: Type: None (0x0)
|
||||
// CHECK-NEXT: Other: 0
|
||||
// CHECK-NEXT: Section: Undefined (0x0)
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: Symbol {
|
||||
// CHECK-NEXT: Name: bar
|
||||
// CHECK-NEXT: Value: 0x0
|
||||
// CHECK-NEXT: Size: 0
|
||||
// CHECK-NEXT: Binding: Local
|
||||
// CHECK-NEXT: Type: None
|
||||
// CHECK-NEXT: Other: 0
|
||||
// CHECK-NEXT: Section: .text
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: Symbol {
|
||||
// CHECK-NEXT: Name: bar4
|
||||
// CHECK-NEXT: Value: 0x1
|
||||
// CHECK-NEXT: Size: 0
|
||||
// CHECK-NEXT: Binding: Local
|
||||
// CHECK-NEXT: Type: Function
|
||||
// CHECK-NEXT: Other: 0
|
||||
// CHECK-NEXT: Section: .text
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: Symbol {
|
||||
// CHECK-NEXT: Name: bar5
|
||||
// CHECK-NEXT: Value: 0x1
|
||||
// CHECK-NEXT: Size: 0
|
||||
// CHECK-NEXT: Binding: Local
|
||||
// CHECK-NEXT: Type: Function
|
||||
// CHECK-NEXT: Other: 0
|
||||
// CHECK-NEXT: Section: .text
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: Symbol {
|
||||
// CHECK-NEXT: Name: bar6
|
||||
// CHECK-NEXT: Value: 0x5
|
||||
// CHECK-NEXT: Size: 0
|
||||
// CHECK-NEXT: Binding: Local
|
||||
// CHECK-NEXT: Type: None
|
||||
// CHECK-NEXT: Other: 0
|
||||
// CHECK-NEXT: Section: .text
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: Symbol {
|
||||
// CHECK-NEXT: Name: foo
|
||||
// CHECK-NEXT: Value: 0x0
|
||||
// CHECK-NEXT: Size: 0
|
||||
// CHECK-NEXT: Binding: Local
|
||||
// CHECK-NEXT: Type: None
|
||||
// CHECK-NEXT: Other: 0
|
||||
// CHECK-NEXT: Section: .text
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: Symbol {
|
||||
// CHECK-NEXT: Name: foo3
|
||||
// CHECK-NEXT: Value: 0x0
|
||||
// CHECK-NEXT: Size: 0
|
||||
// CHECK-NEXT: Binding: Local
|
||||
// CHECK-NEXT: Type: None
|
||||
// CHECK-NEXT: Other: 0
|
||||
// CHECK-NEXT: Section: .text
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: Symbol {
|
||||
// CHECK-NEXT: Name: foo4
|
||||
// CHECK-NEXT: Value: 0x1
|
||||
// CHECK-NEXT: Size: 0
|
||||
// CHECK-NEXT: Binding: Local
|
||||
// CHECK-NEXT: Type: Function
|
||||
// CHECK-NEXT: Other: 0
|
||||
// CHECK-NEXT: Section: .text
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: Symbol {
|
||||
// CHECK-NEXT: Name: (0)
|
||||
// CHECK-NOT: Symbol {
|
||||
// CHECK: }
|
||||
// CHECK-NEXT: Symbol {
|
||||
// CHECK-NEXT: Name: bar2
|
||||
// CHECK-NEXT: Value: 0x0
|
||||
// CHECK-NEXT: Size: 0
|
||||
// CHECK-NEXT: Binding: Global
|
||||
// CHECK-NEXT: Type: None
|
||||
// CHECK-NEXT: Other: 0
|
||||
// CHECK-NEXT: Section: Undefined (0x0)
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: Symbol {
|
||||
// CHECK-NEXT: Name: bar3
|
||||
// CHECK-NEXT: Value: 0x0
|
||||
// CHECK-NEXT: Size: 0
|
||||
// CHECK-NEXT: Binding: Global
|
||||
// CHECK-NEXT: Type: None
|
||||
// CHECK-NEXT: Other: 0
|
||||
// CHECK-NEXT: Section: .text
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: ]
|
22
external/llvm/test/MC/ELF/align-bss.s
vendored
22
external/llvm/test/MC/ELF/align-bss.s
vendored
@ -1,22 +0,0 @@
|
||||
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s | FileCheck %s
|
||||
|
||||
// Test that the bss section is correctly aligned
|
||||
|
||||
.local foo
|
||||
.comm foo,2048,16
|
||||
|
||||
// CHECK: Section {
|
||||
// CHECK: Name: .bss
|
||||
// CHECK-NEXT: Type: SHT_NOBITS
|
||||
// CHECK-NEXT: Flags [
|
||||
// CHECK-NEXT: SHF_ALLOC
|
||||
// CHECK-NEXT: SHF_WRITE
|
||||
// CHECK-NEXT: ]
|
||||
// CHECK-NEXT: Address: 0x0
|
||||
// CHECK-NEXT: Offset: 0x40
|
||||
// CHECK-NEXT: Size: 2048
|
||||
// CHECK-NEXT: Link: 0
|
||||
// CHECK-NEXT: Info: 0
|
||||
// CHECK-NEXT: AddressAlignment: 16
|
||||
// CHECK-NEXT: EntrySize: 0
|
||||
// CHECK-NEXT: }
|
54
external/llvm/test/MC/ELF/align-nops.s
vendored
54
external/llvm/test/MC/ELF/align-nops.s
vendored
@ -1,54 +0,0 @@
|
||||
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu -mcpu=pentiumpro %s -o - | llvm-readobj -s -sd | FileCheck %s
|
||||
|
||||
// Test that we get optimal nops in text
|
||||
.text
|
||||
f0:
|
||||
.long 0
|
||||
.align 8, 0x00000090
|
||||
.long 0
|
||||
.align 8
|
||||
|
||||
// But not in another section
|
||||
.data
|
||||
.long 0
|
||||
.align 8, 0x00000090
|
||||
.long 0
|
||||
.align 8
|
||||
|
||||
// CHECK: Section {
|
||||
// CHECK: Name: .text
|
||||
// CHECK-NEXT: Type: SHT_PROGBITS
|
||||
// CHECK-NEXT: Flags [
|
||||
// CHECK-NEXT: SHF_ALLOC
|
||||
// CHECK-NEXT: SHF_EXECINSTR
|
||||
// CHECK-NEXT: ]
|
||||
// CHECK-NEXT: Address:
|
||||
// CHECK-NEXT: Offset:
|
||||
// CHECK-NEXT: Size: 16
|
||||
// CHECK-NEXT: Link: 0
|
||||
// CHECK-NEXT: Info: 0
|
||||
// CHECK-NEXT: AddressAlignment: 8
|
||||
// CHECK-NEXT: EntrySize: 0
|
||||
// CHECK-NEXT: SectionData (
|
||||
// CHECK-NEXT: 0000: 00000000 0F1F4000 00000000 0F1F4000
|
||||
// CHECK-NEXT: )
|
||||
// CHECK-NEXT: }
|
||||
|
||||
// CHECK: Section {
|
||||
// CHECK: Name: .data
|
||||
// CHECK-NEXT: Type: SHT_PROGBITS
|
||||
// CHECK-NEXT: Flags [
|
||||
// CHECK-NEXT: SHF_ALLOC
|
||||
// CHECK-NEXT: SHF_WRITE
|
||||
// CHECK-NEXT: ]
|
||||
// CHECK-NEXT: Address:
|
||||
// CHECK-NEXT: Offset:
|
||||
// CHECK-NEXT: Size: 16
|
||||
// CHECK-NEXT: Link: 0
|
||||
// CHECK-NEXT: Info: 0
|
||||
// CHECK-NEXT: AddressAlignment: 8
|
||||
// CHECK-NEXT: EntrySize: 0
|
||||
// CHECK-NEXT: SectionData (
|
||||
// CHECK-NEXT: 0000: 00000000 90909090 00000000 00000000
|
||||
// CHECK-NEXT: )
|
||||
// CHECK-NEXT: }
|
18
external/llvm/test/MC/ELF/align-size.s
vendored
18
external/llvm/test/MC/ELF/align-size.s
vendored
@ -1,18 +0,0 @@
|
||||
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s | FileCheck %s
|
||||
|
||||
// Test that the alignment does contribute to the size of the section.
|
||||
|
||||
.zero 4
|
||||
.align 8
|
||||
|
||||
// CHECK: Section {
|
||||
// CHECK: Name: .text
|
||||
// CHECK-NEXT: Type: SHT_PROGBITS
|
||||
// CHECK-NEXT: Flags [
|
||||
// CHECK-NEXT: SHF_ALLOC
|
||||
// CHECK-NEXT: SHF_EXECINSTR
|
||||
// CHECK-NEXT: ]
|
||||
// CHECK-NEXT: Address: 0x0
|
||||
// CHECK-NEXT: Offset: 0x40
|
||||
// CHECK-NEXT: Size: 8
|
||||
// CHECK: }
|
23
external/llvm/test/MC/ELF/align-text.s
vendored
23
external/llvm/test/MC/ELF/align-text.s
vendored
@ -1,23 +0,0 @@
|
||||
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s | FileCheck %s
|
||||
|
||||
// Test that the .text directive doesn't cause alignment.
|
||||
|
||||
.zero 1
|
||||
.text
|
||||
.zero 1
|
||||
|
||||
// CHECK: Section {
|
||||
// CHECK: Name: .text
|
||||
// CHECK-NEXT: Type: SHT_PROGBITS
|
||||
// CHECK-NEXT: Flags [
|
||||
// CHECK-NEXT: SHF_ALLOC
|
||||
// CHECK-NEXT: SHF_EXECINSTR
|
||||
// CHECK-NEXT: ]
|
||||
// CHECK-NEXT: Address: 0x0
|
||||
// CHECK-NEXT: Offset: 0x40
|
||||
// CHECK-NEXT: Size: 2
|
||||
// CHECK-NEXT: Link: 0
|
||||
// CHECK-NEXT: Info: 0
|
||||
// CHECK-NEXT: AddressAlignment: 4
|
||||
// CHECK-NEXT: EntrySize: 0
|
||||
// CHECK-NEXT: }
|
4
external/llvm/test/MC/ELF/align-zero.s
vendored
4
external/llvm/test/MC/ELF/align-zero.s
vendored
@ -1,4 +0,0 @@
|
||||
// Test that an alignment of zero is accepted.
|
||||
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o -
|
||||
|
||||
.align 0
|
39
external/llvm/test/MC/ELF/align.s
vendored
39
external/llvm/test/MC/ELF/align.s
vendored
@ -1,39 +0,0 @@
|
||||
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s | FileCheck %s
|
||||
|
||||
// Test that the alignment of rodata doesn't force a alignment of the
|
||||
// previous section (.text)
|
||||
|
||||
nop
|
||||
.section .rodata,"a",@progbits
|
||||
.align 8
|
||||
|
||||
// CHECK: Section {
|
||||
// CHECK: Name: .text
|
||||
// CHECK-NEXT: Type:
|
||||
// CHECK-NEXT: Flags [
|
||||
// CHECK-NEXT: SHF_ALLOC
|
||||
// CHECK-NEXT: SHF_EXECINSTR
|
||||
// CHECK-NEXT: ]
|
||||
// CHECK-NEXT: Address:
|
||||
// CHECK-NEXT: Offset:
|
||||
// CHECK-NEXT: Size:
|
||||
// CHECK-NEXT: Link: 0
|
||||
// CHECK-NEXT: Info: 0
|
||||
// CHECK-NEXT: AddressAlignment: 4
|
||||
// CHECK-NEXT: EntrySize: 0
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: Section {
|
||||
// CHECK-NEXT: Index:
|
||||
// CHECK-NEXT: Name: .rodata
|
||||
// CHECK-NEXT: Type: SHT_PROGBITS
|
||||
// CHECK-NEXT: Flags [
|
||||
// CHECK-NEXT: SHF_ALLOC
|
||||
// CHECK-NEXT: ]
|
||||
// CHECK-NEXT: Address: 0x0
|
||||
// CHECK-NEXT: Offset: 0x48
|
||||
// CHECK-NEXT: Size: 0
|
||||
// CHECK-NEXT: Link: 0
|
||||
// CHECK-NEXT: Info: 0
|
||||
// CHECK-NEXT: AddressAlignment: 8
|
||||
// CHECK-NEXT: EntrySize: 0
|
||||
// CHECK-NEXT: }
|
12
external/llvm/test/MC/ELF/bad-expr.s
vendored
12
external/llvm/test/MC/ELF/bad-expr.s
vendored
@ -1,12 +0,0 @@
|
||||
// RUN: not llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o /dev/null 2>%t
|
||||
// RUN: FileCheck --input-file=%t %s
|
||||
|
||||
|
||||
.data
|
||||
x:
|
||||
// CHECK: [[@LINE+1]]:{{[0-9]+}}: error: symbol '__executable_start' can not be undefined in a subtraction expression
|
||||
.quad x-__executable_start
|
||||
|
||||
// CHECK: [[@LINE+1]]:{{[0-9]+}}: error: unsupported subtraction of qualified symbol
|
||||
.long bar - foo@got
|
||||
foo:
|
11
external/llvm/test/MC/ELF/bad-expr2.s
vendored
11
external/llvm/test/MC/ELF/bad-expr2.s
vendored
@ -1,11 +0,0 @@
|
||||
// RUN: not llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o /dev/null \
|
||||
// RUN: 2>&1 | FileCheck %s
|
||||
|
||||
// CHECK: [[@LINE+2]]:{{[0-9]+}}: error: No relocation available to represent this relative expression
|
||||
// CHECK-NEXT: call foo - bar
|
||||
call foo - bar
|
||||
|
||||
.section .foo
|
||||
foo:
|
||||
.section .bar
|
||||
bar:
|
9
external/llvm/test/MC/ELF/bad-expr3.s
vendored
9
external/llvm/test/MC/ELF/bad-expr3.s
vendored
@ -1,9 +0,0 @@
|
||||
// RUN: not llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o /dev/null \
|
||||
// RUN: 2>&1 | FileCheck %s
|
||||
|
||||
// CHECK: [[@LINE+1]]:{{[0-9]+}}: error: Cannot represent a difference across sections
|
||||
.long foo - bar
|
||||
.section .zed
|
||||
foo:
|
||||
.section .bah
|
||||
bar:
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user