[rtsan] Add fork/execve interceptors (#117198)
[llvm-project.git] / llvm / test / MC / ELF / basic-elf-32.s
blobeb1ed23b2784ed1a5aa158e774006ef97ac60a9e
1 // RUN: llvm-mc -filetype=obj -triple i686-pc-linux-gnu %s -o - | llvm-readobj -h -S -r --symbols - | FileCheck %s
3 .text
4 .globl main
5 .align 16, 0x90
6 .type main,@function
7 main: # @main
8 # %bb.0:
9 subl $4, %esp
10 movl $.L.str1, (%esp)
11 calll puts
12 movl $.L.str2, (%esp)
13 calll puts
14 xorl %eax, %eax
15 addl $4, %esp
16 ret
17 .Ltmp0:
18 .size main, .Ltmp0-main
20 .type .L.str1,@object # @.str1
21 .section .rodata.str1.1,"aMS",@progbits,1
22 .L.str1:
23 .asciz "Hello"
24 .size .L.str1, 6
26 .type .L.str2,@object # @.str2
27 .L.str2:
28 .asciz "World!"
29 .size .L.str2, 7
31 .section .note.GNU-stack,"",@progbits
33 // CHECK: ElfHeader {
34 // CHECK: Class: 32-bit
35 // CHECK: DataEncoding: LittleEndian
36 // CHECK: FileVersion: 1
37 // CHECK: }
38 // CHECK: Sections [
39 // CHECK: Section {
40 // CHECK: Index: 0
41 // CHECK: Name: (0)
43 // CHECK: Name: .text
45 // CHECK: Name: .rel.text
47 // CHECK: Relocations [
48 // CHECK: Section {{.*}} .rel.text {
49 // CHECK: 0x6 R_386_32 .rodata.str1.1
50 // CHECK: 0xB R_386_PC32 puts
51 // CHECK: 0x12 R_386_32 .rodata.str1.1
52 // CHECK: 0x17 R_386_PC32 puts
53 // CHECK: }
54 // CHECK: ]
56 // CHECK: Symbols [
58 // CHECK: Symbol {
59 // CHECK: Name: main
60 // CHECK: Binding: Global
61 // CHECK: Type: Function
62 // CHECK: }
64 // CHECK: Symbol {
65 // CHECK: Name: puts
66 // CHECK: Binding: Global
67 // CHECK: Type: None
68 // CHECK: }