Update release readme after making 2.43.1 release
[binutils-gdb.git] / ld / testsuite / ld-i386 / ifunc-1d.S
blob28f262e5a822249b47ea040b31dba9556c874ae5
1         .text
2         .p2align 4,,15
3         .type   implementation1, @function
4 implementation1:
5         movl    $1, %eax
6         ret
7         .size   implementation1, .-implementation1
8         .p2align 4,,15
9         .type   implementation2, @function
10 implementation2:
11         movl    $2, %eax
12         ret
13         .size   implementation2, .-implementation2
14         .p2align 4,,15
15         .type   resolver2, @function
16 resolver2:
17         call    __x86.get_pc_thunk.ax
18         addl    $_GLOBAL_OFFSET_TABLE_, %eax
19         leal    implementation2@GOTOFF(%eax), %eax
20         ret
21         .size   resolver2, .-resolver2
22         .type   func2, @gnu_indirect_function
23         .set    func2,resolver2
24         .p2align 4,,15
25         .type   resolver1, @function
26 resolver1:
27         call    __x86.get_pc_thunk.ax
28         addl    $_GLOBAL_OFFSET_TABLE_, %eax
29         leal    implementation1@GOTOFF(%eax), %eax
30         ret
31         .size   resolver1, .-resolver1
32         .globl  func1
33         .type   func1, @gnu_indirect_function
34         .set    func1,resolver1
35         .p2align 4,,15
36         .globl  get_func2
37         .type   get_func2, @function
38 get_func2:
39         call    __x86.get_pc_thunk.ax
40         addl    $_GLOBAL_OFFSET_TABLE_, %eax
41         movl    func2@GOT(%eax), %eax
42         ret
43         .size   get_func2, .-get_func2
44         .p2align 4,,15
45         .globl  call_func2
46         .type   call_func2, @function
47 call_func2:
48         pushl   %ebx
49         call    __x86.get_pc_thunk.bx
50         addl    $_GLOBAL_OFFSET_TABLE_, %ebx
51         subl    $8, %esp
52         call    *get_func2@GOT(%ebx)
53         cmpl    func2@GOT(%ebx), %eax
54         jne     .L10
55         addl    $8, %esp
56         movl    %ebx, %eax
57         popl    %ebx
58         jmp     *func2@GOT(%eax)
59 .L10:
60         call    *abort@GOT(%ebx)
61         .size   call_func2, .-call_func2
62         .section        .text.__x86.get_pc_thunk.ax,"axG",@progbits,__x86.get_pc_thunk.ax,comdat
63         .globl  __x86.get_pc_thunk.ax
64         .hidden __x86.get_pc_thunk.ax
65         .type   __x86.get_pc_thunk.ax, @function
66 __x86.get_pc_thunk.ax:
67         movl    (%esp), %eax
68         ret
69         .section        .text.__x86.get_pc_thunk.bx,"axG",@progbits,__x86.get_pc_thunk.bx,comdat
70         .globl  __x86.get_pc_thunk.bx
71         .hidden __x86.get_pc_thunk.bx
72         .type   __x86.get_pc_thunk.bx, @function
73 __x86.get_pc_thunk.bx:
74         movl    (%esp), %ebx
75         ret
76         .section        .note.GNU-stack,"",@progbits