1 1.1 christos /* BFD support for the HP Precision Architecture architecture. 2 1.10 christos Copyright (C) 1992-2025 Free Software Foundation, Inc. 3 1.1 christos 4 1.1 christos This file is part of BFD, the Binary File Descriptor library. 5 1.1 christos 6 1.1 christos This program is free software; you can redistribute it and/or modify 7 1.1 christos it under the terms of the GNU General Public License as published by 8 1.1 christos the Free Software Foundation; either version 3 of the License, or 9 1.1 christos (at your option) any later version. 10 1.1 christos 11 1.1 christos This program is distributed in the hope that it will be useful, 12 1.1 christos but WITHOUT ANY WARRANTY; without even the implied warranty of 13 1.1 christos MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 1.1 christos GNU General Public License for more details. 15 1.1 christos 16 1.1 christos You should have received a copy of the GNU General Public License 17 1.1 christos along with this program; if not, write to the Free Software 18 1.1 christos Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, 19 1.1 christos MA 02110-1301, USA. */ 20 1.1 christos 21 1.1 christos #include "sysdep.h" 22 1.1 christos #include "bfd.h" 23 1.1 christos #include "libbfd.h" 24 1.1 christos 25 1.7 christos #define N(BITS, NUMBER, PRINT, DEFAULT, NEXT) \ 26 1.7 christos { \ 27 1.7 christos BITS, /* Bits in a word. */ \ 28 1.7 christos BITS, /* Bits in an address. */ \ 29 1.7 christos 8, /* Bits in a byte. */ \ 30 1.7 christos bfd_arch_hppa, \ 31 1.7 christos NUMBER, \ 32 1.7 christos "hppa", \ 33 1.7 christos PRINT, \ 34 1.7 christos 3, /* Section alignment power. */ \ 35 1.7 christos DEFAULT, \ 36 1.7 christos bfd_default_compatible, \ 37 1.7 christos bfd_default_scan, \ 38 1.7 christos bfd_arch_default_fill, \ 39 1.7 christos NEXT, \ 40 1.7 christos 0 /* Maximum offset of a reloc from the start of an insn. */ \ 41 1.7 christos } 42 1.7 christos 43 1.7 christos 44 1.1 christos static const bfd_arch_info_type bfd_hppa10_arch = 45 1.8 christos N (32, bfd_mach_hppa10, "hppa1.0", true, NULL); 46 1.1 christos 47 1.7 christos /* PA2.0 in narrow mode. */ 48 1.1 christos static const bfd_arch_info_type bfd_hppa20_arch = 49 1.8 christos N (32, bfd_mach_hppa20, "hppa2.0", false, &bfd_hppa10_arch); 50 1.1 christos 51 1.7 christos /* PA2.0 in wide mode. */ 52 1.1 christos static const bfd_arch_info_type bfd_hppa20w_arch = 53 1.8 christos N (64, bfd_mach_hppa20w, "hppa2.0w", false, &bfd_hppa20_arch); 54 1.1 christos 55 1.1 christos const bfd_arch_info_type bfd_hppa_arch = 56 1.8 christos N (32, bfd_mach_hppa11, "hppa1.1", false, &bfd_hppa20w_arch); 57