home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / gdb-4.16-base.tgz / gdb-4.16-base.tar / fsf / gdb / include / elf / hppa.h < prev    next >
C/C++ Source or Header  |  1995-10-31  |  3KB  |  95 lines

  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 */
  95.