Jakub Jelinek <jj@ultra.linux.cz>
[deliverable/binutils-gdb.git] / include / elf / mips.h
index 6d3816e7ca8e709969771b01d0cbcb91d5d10df8..203acbed2dd4b8b52dbd1234cfa51546a4642011 100644 (file)
@@ -75,17 +75,6 @@ START_RELOC_NUMBERS (elf_mips_reloc_type)
   /* These relocs are used for the mips16.  */
   RELOC_NUMBER (R_MIPS16_26, 100)
   RELOC_NUMBER (R_MIPS16_GPREL, 101)
-/* start-sanitize-r5900 */
-  /* This is used by a mips co-processor instruction.  */
-  RELOC_NUMBER (R_MIPS15_S3, 119)
-/* end-sanitize-r5900 */
-/* start-sanitize-sky */
-  /* These relocs are for the dvp.  */
-  RELOC_NUMBER (R_MIPS_DVP_11_PCREL, 120)
-  RELOC_NUMBER (R_MIPS_DVP_27_S4, 121)
-  RELOC_NUMBER (R_MIPS_DVP_11_S4, 122)
-  RELOC_NUMBER (R_MIPS_DVP_U15_S3, 123)
-/* end-sanitize-sky */
   /* These are GNU extensions to enable C++ vtable garbage collection.  */
   RELOC_NUMBER (R_MIPS_GNU_VTINHERIT, 253)
   RELOC_NUMBER (R_MIPS_GNU_VTENTRY, 254)
@@ -106,6 +95,10 @@ END_RELOC_NUMBERS
 /* Code in file uses new ABI (-n32 on Irix 6).  */
 #define EF_MIPS_ABI2           0x00000020
 
+/* Indicates code compiled for a 64-bit machine in 32-bit mode. 
+   (regs are 32-bits wide.) */
+#define EF_MIPS_32BITMODE       0x00000100
+
 /* Four bit MIPS architecture field.  */
 #define EF_MIPS_ARCH           0xf0000000
 
@@ -151,23 +144,9 @@ END_RELOC_NUMBERS
 
 #define E_MIPS_MACH_4010       0x00820000
 #define E_MIPS_MACH_4100       0x00830000
-/* start-sanitize-vr4320 */
-#define E_MIPS_MACH_4320       0x00840000
-/* end-sanitize-vr4320 */
 #define E_MIPS_MACH_4650       0x00850000
-/* start-sanitize-tx49 */
-#define E_MIPS_MACH_4900       0x00860000
-/* end-sanitize-tx49 */
-/* start-sanitize-vr4xxx */
-#define E_MIPS_MACH_4121       0x00870000
-/* end-sanitize-vr4xxx */
-
-/* start-sanitize-cygnus */
-#define E_MIPS_MACH_5400       0x00910000
-/* end-sanitize-cygnus */
-/* start-sanitize-r5900 */
-#define E_MIPS_MACH_5900       0x00920000
-/* end-sanitize-r5900 */
+#define E_MIPS_MACH_4111       0x00880000
+
 \f
 /* Processor specific section indices.  These sections do not actually
    exist.  Symbols with a st_shndx field corresponding to one of these
@@ -315,16 +294,6 @@ END_RELOC_NUMBERS
 /* ??? */
 #define SHT_MIPS_PDR_EXCEPTION 0x70000029
 
-/* start-sanitize-sky */
-/* The VU overlay table.  */
-#define SHT_DVP_OVERLAY_TABLE          0x7ffff420
-#define SHNAME_DVP_OVERLAY_TABLE       ".DVP.ovlytab"
-#define SHNAME_DVP_OVERLAY_STRTAB      ".DVP.ovlystrtab"
-/* A VU overlay.  */
-#define SHT_DVP_OVERLAY                        0x7ffff421
-/* Prefix of VU overlay sections.  */
-#define SHNAME_DVP_OVERLAY_PREFIX      ".DVP.overlay."
-/* end-sanitize-sky */
 
 /* A section of type SHT_MIPS_LIBLIST contains an array of the
    following structure.  The sh_link field is the section index of the
@@ -653,18 +622,6 @@ extern void bfd_mips_elf32_swap_reginfo_out
 #define STO_HIDDEN             0x02
 #define STO_PROTECTED          0x03
 
-/* start-sanitize-sky */
-/* These values are used for the dvp.  */
-#define STO_DVP_DMA            0xe8
-#define STO_DVP_VIF            0xe9
-#define STO_DVP_GIF            0xea
-#define STO_DVP_VU             0xeb
-/* Reserve a couple in case we need them.  */
-#define STO_DVP_RES1           0xec
-#define STO_DVP_RES2           0xed
-#define STO_DVP_P(sto) ((sto) >= STO_DVP_DMA && (sto) <= STO_DVP_RES2)
-
-/* end-sanitize-sky */
 /* This value is used for a mips16 .text symbol.  */
 #define STO_MIPS16             0xf0
 \f
@@ -859,6 +816,40 @@ typedef struct
   bfd_vma ri_gp_value;
 } Elf64_Internal_RegInfo;
 
+typedef struct
+{
+  /* The hash value computed from the name of the corresponding
+     dynamic symbol.  */
+  unsigned char ms_hash_value[4];
+  /* Contains both the dynamic relocation index and the symbol flags
+     field.  The macros ELF32_MS_REL_INDEX and ELF32_MS_FLAGS are used
+     to access the individual values.  The dynamic relocation index
+     identifies the first entry in the .rel.dyn section that
+     references the dynamic symbol corresponding to this msym entry.
+     If the index is 0, no dynamic relocations are associated with the
+     symbol.  The symbol flags field is reserved for future use.  */
+  unsigned char ms_info[4];
+} Elf32_External_Msym;
+
+typedef struct
+{
+  /* The hash value computed from the name of the corresponding
+     dynamic symbol.  */
+  unsigned long ms_hash_value;
+  /* Contains both the dynamic relocation index and the symbol flags
+     field.  The macros ELF32_MS_REL_INDEX and ELF32_MS_FLAGS are used
+     to access the individual values.  The dynamic relocation index
+     identifies the first entry in the .rel.dyn section that
+     references the dynamic symbol corresponding to this msym entry.
+     If the index is 0, no dynamic relocations are associated with the
+     symbol.  The symbol flags field is reserved for future use.  */
+  unsigned long ms_info;
+} Elf32_Internal_Msym;
+
+#define ELF32_MS_REL_INDEX(i) ((i) >> 8)
+#define ELF32_MS_FLAGS(i)     (i) & 0xff)
+#define ELF32_MS_INFO(r, f)   (((r) << 8) + ((f) & 0xff))
+
 /* MIPS ELF reginfo swapping routines.  */
 extern void bfd_mips_elf64_swap_reginfo_in
   PARAMS ((bfd *, const Elf64_External_RegInfo *, Elf64_Internal_RegInfo *));
@@ -899,32 +890,5 @@ extern void bfd_mips_elf64_swap_reginfo_out
 #define OHWA0_R4KEOP_CHECKED   0x00000001
 #define OHWA0_R4KEOP_CLEAN     0x00000002
 \f
-/* start-sanitize-sky */
-/* The vu overlay table is an array of this.  */
-
-typedef struct
-{
-  /* `name' is offset into overlay string table section.  */
-  char name[4];
-  char lma[4];
-  char vma[4];
-} Elf32_Dvp_External_Overlay;
-
-typedef struct
-{
-  bfd_vma name;
-  bfd_vma lma;
-  bfd_vma vma;
-} Elf32_Dvp_Internal_Overlay;
-
-/* overlay swapping routines.  */
-extern void bfd_dvp_elf32_swap_overlay_in
-  PARAMS ((bfd *, const Elf32_Dvp_External_Overlay *,
-          Elf32_Dvp_Internal_Overlay *));
-extern void bfd_dvp_elf32_swap_overlay_out
-  PARAMS ((bfd *, const Elf32_Dvp_Internal_Overlay *,
-          Elf32_Dvp_External_Overlay *));
-
-/* end-sanitize-sky */
 
 #endif /* _ELF_MIPS_H */
This page took 0.0245 seconds and 4 git commands to generate.