* object.cc (Sized_relobj::layout_section): New function.
[external/binutils.git] / ld / testsuite / ld-x86-64 / ifunc.s
1         .file   "ifunc.c"
2 #APP
3         .type func, %indirect_function
4         .type long_func_name, %indirect_function
5         .section        .rodata.str1.1,"aMS",@progbits,1
6 .LC0:
7         .string "arg is %d\n"
8 #NO_APP
9         .text
10         .p2align 4,,15
11 .globl bar
12         .type   bar, @function
13 bar:
14 .LFB25:
15         movl    %edi, %esi
16         xorl    %eax, %eax
17         movl    $.LC0, %edi
18         jmp     printf
19 .LFE25:
20         .size   bar, .-bar
21         .section        .rodata.str1.1
22 .LC1:
23         .string "main: calling func"
24         .section        .rodata.str1.8,"aMS",@progbits,1
25         .align 8
26 .LC2:
27         .string "main: func finished, calling long_func_name"
28         .section        .rodata.str1.1
29 .LC3:
30         .string "main: long_func_name finished"
31         .text
32         .p2align 4,,15
33 .globl main
34         .type   main, @function
35 main:
36 .LFB24:
37         subq    $8, %rsp
38 .LCFI0:
39         movl    $.LC1, %edi
40         call    puts
41         call    func
42         movl    $.LC2, %edi
43         call    puts
44         call    long_func_name
45         movl    $.LC3, %edi
46         call    puts
47         xorl    %eax, %eax
48         addq    $8, %rsp
49         ret
50 .LFE24:
51         .size   main, .-main
52         .p2align 4,,15
53 .globl long_func_name
54         .type   long_func_name, @function
55 long_func_name:
56 .LFB23:
57         subq    $8, %rsp
58 .LCFI1:
59         call    rand
60         movl    %eax, %edx
61         movl    $func1, %eax
62         testl   %edx, %edx
63         movl    $func0, %edx
64         cmovne  %rdx, %rax
65         addq    $8, %rsp
66         ret
67 .LFE23:
68         .size   long_func_name, .-long_func_name
69         .p2align 4,,15
70 .globl func
71         .type   func, @function
72 func:
73 .LFB22:
74         subq    $8, %rsp
75 .LCFI2:
76         call    rand
77         movl    %eax, %edx
78         movl    $func1, %eax
79         testl   %edx, %edx
80         movl    $func0, %edx
81         cmovne  %rdx, %rax
82         addq    $8, %rsp
83         ret
84 .LFE22:
85         .size   func, .-func
86         .section        .rodata.str1.1
87 .LC4:
88         .string "func1\n"
89         .text
90         .p2align 4,,15
91 .globl func1
92         .type   func1, @function
93 func1:
94 .LFB21:
95         movl    $.LC4, %edi
96         jmp     puts
97 .LFE21:
98         .size   func1, .-func1
99         .section        .rodata.str1.1
100 .LC5:
101         .string "func0\n"
102         .text
103         .p2align 4,,15
104 .globl func0
105         .type   func0, @function
106 func0:
107 .LFB20:
108         movl    $.LC5, %edi
109         jmp     puts
110 .LFE20:
111         .size   func0, .-func0
112         .section        .eh_frame,"a",@progbits
113 .Lframe1:
114         .long   .LECIE1-.LSCIE1
115 .LSCIE1:
116         .long   0x0
117         .byte   0x1
118         .string "zR"
119         .uleb128 0x1
120         .sleb128 -8
121         .byte   0x10
122         .uleb128 0x1
123         .byte   0x3
124         .byte   0xc
125         .uleb128 0x7
126         .uleb128 0x8
127         .byte   0x90
128         .uleb128 0x1
129         .align 8
130 .LECIE1:
131 .LSFDE1:
132         .long   .LEFDE1-.LASFDE1
133 .LASFDE1:
134         .long   .LASFDE1-.Lframe1
135         .long   .LFB25
136         .long   .LFE25-.LFB25
137         .uleb128 0x0
138         .align 8
139 .LEFDE1:
140 .LSFDE3:
141         .long   .LEFDE3-.LASFDE3
142 .LASFDE3:
143         .long   .LASFDE3-.Lframe1
144         .long   .LFB24
145         .long   .LFE24-.LFB24
146         .uleb128 0x0
147         .byte   0x4
148         .long   .LCFI0-.LFB24
149         .byte   0xe
150         .uleb128 0x10
151         .align 8
152 .LEFDE3:
153 .LSFDE5:
154         .long   .LEFDE5-.LASFDE5
155 .LASFDE5:
156         .long   .LASFDE5-.Lframe1
157         .long   .LFB23
158         .long   .LFE23-.LFB23
159         .uleb128 0x0
160         .byte   0x4
161         .long   .LCFI1-.LFB23
162         .byte   0xe
163         .uleb128 0x10
164         .align 8
165 .LEFDE5:
166 .LSFDE7:
167         .long   .LEFDE7-.LASFDE7
168 .LASFDE7:
169         .long   .LASFDE7-.Lframe1
170         .long   .LFB22
171         .long   .LFE22-.LFB22
172         .uleb128 0x0
173         .byte   0x4
174         .long   .LCFI2-.LFB22
175         .byte   0xe
176         .uleb128 0x10
177         .align 8
178 .LEFDE7:
179 .LSFDE9:
180         .long   .LEFDE9-.LASFDE9
181 .LASFDE9:
182         .long   .LASFDE9-.Lframe1
183         .long   .LFB21
184         .long   .LFE21-.LFB21
185         .uleb128 0x0
186         .align 8
187 .LEFDE9:
188 .LSFDE11:
189         .long   .LEFDE11-.LASFDE11
190 .LASFDE11:
191         .long   .LASFDE11-.Lframe1
192         .long   .LFB20
193         .long   .LFE20-.LFB20
194         .uleb128 0x0
195         .align 8
196 .LEFDE11:
197         .ident  "GCC: (GNU) 4.3.0 20080428 (Red Hat 4.3.0-8)"
198         .section        .note.GNU-stack,"",@progbits