• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc -mtriple=powerpc64-unknown-linux-gnu -filetype=obj -relocation-model=static %s -o - | \
2; RUN: elf-dump --dump-section-data | FileCheck %s -check-prefix=STATIC
3; RUN: llc -mtriple=powerpc64-unknown-linux-gnu -filetype=obj -relocation-model=pic %s -o - | \
4; RUN: elf-dump --dump-section-data | FileCheck %s -check-prefix=PIC
5
6; FIXME: this file should be in .s form, change when asm parser is available.
7
8define void @f() {
9entry:
10  ret void
11}
12
13; STATIC:      ('sh_name', 0x{{.*}}) # '.eh_frame'
14; STATIC-NEXT: ('sh_type', 0x00000001)
15; STATIC-NEXT: ('sh_flags', 0x0000000000000002)
16; STATIC-NEXT: ('sh_addr', 0x{{.*}})
17; STATIC-NEXT: ('sh_offset', 0x{{.*}})
18; STATIC-NEXT: ('sh_size', 0x0000000000000028)
19; STATIC-NEXT: ('sh_link', 0x00000000)
20; STATIC-NEXT: ('sh_info', 0x00000000)
21; STATIC-NEXT: ('sh_addralign', 0x0000000000000008)
22; STATIC-NEXT: ('sh_entsize', 0x0000000000000000)
23; STATIC-NEXT: ('_section_data', '00000010 00000000 017a5200 01784101 1b0c0100 00000010 00000018 00000000 00000010 00000000')
24
25; STATIC:      ('sh_name', 0x{{.*}}) # '.rela.eh_frame'
26; STATIC-NEXT: ('sh_type', 0x00000004)
27; STATIC-NEXT: ('sh_flags', 0x0000000000000000)
28; STATIC-NEXT: ('sh_addr', 0x{{.*}})
29; STATIC-NEXT: ('sh_offset', 0x{{.*}})
30; STATIC-NEXT: ('sh_size', 0x0000000000000018)
31; STATIC-NEXT: ('sh_link', 0x{{.*}})
32; STATIC-NEXT: ('sh_info', 0x{{.*}})
33; STATIC-NEXT: ('sh_addralign', 0x0000000000000008)
34; STATIC-NEXT: ('sh_entsize', 0x0000000000000018)
35; STATIC-NEXT: ('_relocations', [
36
37; Static build should create R_PPC64_REL32 relocations
38; STATIC-NEXT:  # Relocation 0
39; STATIC-NEXT:  (('r_offset', 0x000000000000001c)
40; STATIC-NEXT:   ('r_sym', 0x{{.*}})
41; STATIC-NEXT:   ('r_type', 0x0000001a)
42; STATIC-NEXT:   ('r_addend', 0x0000000000000000)
43; STATIC-NEXT:  ),
44; STATIC-NEXT: ])
45
46
47; PIC:      ('sh_name', 0x{{.*}}) # '.eh_frame'
48; PIC-NEXT: ('sh_type', 0x00000001)
49; PIC-NEXT: ('sh_flags', 0x0000000000000002)
50; PIC-NEXT: ('sh_addr', 0x{{.*}})
51; PIC-NEXT: ('sh_offset', 0x{{.*}})
52; PIC-NEXT: ('sh_size', 0x0000000000000028)
53; PIC-NEXT: ('sh_link', 0x00000000)
54; PIC-NEXT: ('sh_info', 0x00000000)
55; PIC-NEXT: ('sh_addralign', 0x0000000000000008)
56; PIC-NEXT: ('sh_entsize', 0x0000000000000000)
57; PIC-NEXT: ('_section_data', '00000010 00000000 017a5200 01784101 1b0c0100 00000010 00000018 00000000 00000010 00000000')
58
59; PIC:      ('sh_name', 0x{{.*}}) # '.rela.eh_frame'
60; PIC-NEXT: ('sh_type', 0x00000004)
61; PIC-NEXT: ('sh_flags', 0x0000000000000000)
62; PIC-NEXT: ('sh_addr', 0x{{.*}})
63; PIC-NEXT: ('sh_offset', 0x{{.*}})
64; PIC-NEXT: ('sh_size', 0x0000000000000018)
65; PIC-NEXT: ('sh_link', 0x{{.*}})
66; PIC-NEXT: ('sh_info', 0x{{.*}})
67; PIC-NEXT: ('sh_addralign', 0x0000000000000008)
68; PIC-NEXT: ('sh_entsize', 0x0000000000000018)
69; PIC-NEXT: ('_relocations', [
70
71; PIC build should create R_PPC64_REL32 relocations
72; PIC-NEXT:  # Relocation 0
73; PIC-NEXT:  (('r_offset', 0x000000000000001c)
74; PIC-NEXT:   ('r_sym', 0x{{.*}})
75; PIC-NEXT:   ('r_type', 0x0000001a)
76; PIC-NEXT:   ('r_addend', 0x0000000000000000)
77; PIC-NEXT:  ),
78; PIC-NEXT: ])
79