linux/aarch64: sync sys/ptrace.h with Linux 4.15 [BZ #22433]
[glibc.git] / sysdeps / x86_64 / tst-quadmod1.S
blob26f2f1b5994253a415e8cb7f821cab3c6edd9e48
1 /* Copyright (C) 2012-2018 Free Software Foundation, Inc.
2    This file is part of the GNU C Library.
4    The GNU C Library is free software; you can redistribute it and/or
5    modify it under the terms of the GNU Lesser General Public
6    License as published by the Free Software Foundation; either
7    version 2.1 of the License, or (at your option) any later version.
9    The GNU C Library is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12    Lesser General Public License for more details.
14    You should have received a copy of the GNU Lesser General Public
15    License along with the GNU C Library; if not, see
16    <http://www.gnu.org/licenses/>.  */
18 #ifndef BIAS
19 # define BIAS   0x7fffffff
20 #endif
22         .section        .data.rel,"aw",@progbits
23         .align 8
24 .Ljmp:
25         .quad   func + BIAS
26         .text
27         .globl  func
28         .type   func, @function
29 func:
30         .cfi_startproc
31         xorl    %edi, %edi
32         jmp     exit@PLT
33         .cfi_endproc
34         .size   func, .-func
35         .globl  foo
36         .type   foo, @function
37 foo:
38         .cfi_startproc
39         .cfi_def_cfa_register 6
40         movq    .Ljmp(%rip), %rax
41         subq    $BIAS, %rax
42         jmp     *%rax
43         .cfi_endproc
44         .size   foo, .-foo