1 /* HPPA ELF support for BFD.
2 Copyright (C) 1993, 1994 Free Software Foundation, Inc.
4 This file is part of BFD, the Binary File Descriptor library.
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
20 /* This file holds definitions specific to the HPPA ELF ABI. Note
21 that most of this is not actually implemented by BFD. */
26 /* Processor specific flags for the ELF header e_flags field. */
28 /* Target processor IDs to be placed in the low 16 bits of the flags
29 field. Note these names are shared with SOM, and therefore do not
30 follow ELF naming conventions. */
32 /* PA 1.0 big endian. */
33 #ifndef CPU_PA_RISC1_0
34 #define CPU_PA_RISC1_0 0x0000020b
37 /* PA 1.1 big endian. */
38 #ifndef CPU_PA_RISC1_1
39 #define CPU_PA_RISC1_1 0x00000210
42 /* PA 1.0 little endian (unsupported) is 0x0000028b. */
43 /* PA 1.1 little endian (unsupported) is 0x00000290. */
45 /* Trap null address dereferences. */
46 #define ELF_PARISC_TRAPNIL 0x00010000
48 /* .PARISC.archext section is present. */
49 #define EF_PARISC_EXT 0x00020000
51 /* Processor specific section types. */
53 /* Holds the global offset table, a table of pointers to external
55 #define SHT_PARISC_GOT SHT_LOPROC+0
57 /* Nonloadable section containing information in architecture
58 extensions used by the code. */
59 #define SHT_PARISC_ARCH SHT_LOPROC+1
61 /* Section in which $global$ is defined. */
62 #define SHT_PARISC_GLOBAL SHT_LOPROC+2
64 /* Section holding millicode routines (mul, div, rem, dyncall, etc. */
65 #define SHT_PARISC_MILLI SHT_LOPROC+3
67 /* Section holding unwind information for use by debuggers. */
68 #define SHT_PARISC_UNWIND SHT_LOPROC+4
70 /* Section holding the procedure linkage table. */
71 #define SHT_PARISC_PLT SHT_LOPROC+5
73 /* Short initialized and uninitialized data. */
74 #define SHT_PARISC_SDATA SHT_LOPROC+6
75 #define SHT_PARISC_SBSS SHT_LOPROC+7
77 /* Optional section holding argument location/relocation info. */
78 #define SHT_PARISC_SYMEXTN SHT_LOPROC+8
80 /* Option section for linker stubs. */
81 #define SHT_PARISC_STUBS SHT_LOPROC+9
83 /* Processor specific section flags. */
85 /* This section is near the global data pointer and thus allows short
86 addressing modes to be used. */
87 #define SHF_PARISC_SHORT 0x20000000
89 /* Processor specific symbol types. */
91 /* Millicode function entry point. */
92 #define STT_PARISC_MILLICODE STT_LOPROC+0
94 #endif /* _ELF_HPPA_H */