]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/gdb/include/elf/hppa.h
This file was not part of the GDB 5.2.1 import and should have been
[FreeBSD/FreeBSD.git] / contrib / gdb / include / elf / hppa.h
1 /* HPPA ELF support for BFD.
2    Copyright (C) 1993, 1994 Free Software Foundation, Inc.
3
4 This file is part of BFD, the Binary File Descriptor library.
5
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.
10
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.
15
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.  */
19
20 /* This file holds definitions specific to the HPPA ELF ABI.  Note
21    that most of this is not actually implemented by BFD.  */
22
23 #ifndef _ELF_HPPA_H
24 #define _ELF_HPPA_H
25
26 /* Processor specific flags for the ELF header e_flags field.  */
27
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.  */
31
32 /* PA 1.0 big endian.  */
33 #ifndef CPU_PA_RISC1_0
34 #define CPU_PA_RISC1_0          0x0000020b
35 #endif
36
37 /* PA 1.1 big endian.  */
38 #ifndef CPU_PA_RISC1_1
39 #define CPU_PA_RISC1_1          0x00000210
40 #endif
41
42 /* PA 1.0 little endian (unsupported) is 0x0000028b.  */
43 /* PA 1.1 little endian (unsupported) is 0x00000290.  */
44
45 /* Trap null address dereferences.  */
46 #define ELF_PARISC_TRAPNIL      0x00010000
47
48 /* .PARISC.archext section is present.  */
49 #define EF_PARISC_EXT           0x00020000
50
51 /* Processor specific section types.  */
52
53 /* Holds the global offset table, a table of pointers to external
54    data.  */
55 #define SHT_PARISC_GOT          SHT_LOPROC+0
56
57 /* Nonloadable section containing information in architecture
58    extensions used by the code.  */
59 #define SHT_PARISC_ARCH         SHT_LOPROC+1
60
61 /* Section in which $global$ is defined.  */
62 #define SHT_PARISC_GLOBAL       SHT_LOPROC+2
63
64 /* Section holding millicode routines (mul, div, rem, dyncall, etc.  */
65 #define SHT_PARISC_MILLI        SHT_LOPROC+3
66
67 /* Section holding unwind information for use by debuggers.  */
68 #define SHT_PARISC_UNWIND       SHT_LOPROC+4
69
70 /* Section holding the procedure linkage table.  */
71 #define SHT_PARISC_PLT          SHT_LOPROC+5
72
73 /* Short initialized and uninitialized data.  */
74 #define SHT_PARISC_SDATA        SHT_LOPROC+6
75 #define SHT_PARISC_SBSS         SHT_LOPROC+7
76
77 /* Optional section holding argument location/relocation info.  */
78 #define SHT_PARISC_SYMEXTN      SHT_LOPROC+8
79
80 /* Option section for linker stubs.  */
81 #define SHT_PARISC_STUBS        SHT_LOPROC+9
82
83 /* Processor specific section flags.  */
84
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
88
89 /* Processor specific symbol types.  */
90
91 /* Millicode function entry point.  */
92 #define STT_PARISC_MILLICODE    STT_LOPROC+0
93
94 #endif /* _ELF_HPPA_H */