xref: /netbsd-src/external/gpl3/gdb/dist/bfd/elfxx-aarch64.h (revision c3ab26950fe8540fb553d1d1dcae454bc98e5a25)
1 /* AArch64-specific backend routines.
2    Copyright 2009-2013  Free Software Foundation, Inc.
3    Contributed by ARM Ltd.
4 
5    This file is part of BFD, the Binary File Descriptor library.
6 
7    This program is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; either version 3 of the License, or
10    (at your option) any later version.
11 
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16 
17    You should have received a copy of the GNU General Public License
18    along with this program; see the file COPYING3. If not,
19    see <http://www.gnu.org/licenses/>.  */
20 
21 #include "bfd.h"
22 #include "elf-bfd.h"
23 #include "stdint.h"
24 
25 /* Take the PAGE component of an address or offset.  */
26 #define PG(x) ((x) & ~ (bfd_vma) 0xfff)
27 #define PG_OFFSET(x) ((x) & (bfd_vma) 0xfff)
28 
29 extern bfd_reloc_status_type
30 _bfd_aarch64_elf_put_addend (bfd *, bfd_byte *, bfd_reloc_code_real_type,
31 			     reloc_howto_type *, bfd_signed_vma);
32 
33 extern bfd_vma
34 _bfd_aarch64_elf_resolve_relocation (bfd_reloc_code_real_type, bfd_vma, bfd_vma,
35 				     bfd_vma, bfd_boolean);
36 
37 extern bfd_boolean
38 _bfd_aarch64_elf_add_symbol_hook (bfd *, struct bfd_link_info *,
39 				  Elf_Internal_Sym *, const char **,
40 				  flagword *, asection **, bfd_vma *);
41 
42 extern bfd_boolean
43 _bfd_aarch64_elf_grok_prstatus (bfd *, Elf_Internal_Note *);
44 
45 
46 #define elf_backend_add_symbol_hook	_bfd_aarch64_elf_add_symbol_hook
47 #define elf_backend_grok_prstatus	_bfd_aarch64_elf_grok_prstatus
48