summaryrefslogtreecommitdiffstats
path: root/include/elf
diff options
context:
space:
mode:
Diffstat (limited to 'include/elf')
-rw-r--r--include/elf/ChangeLog48
-rw-r--r--include/elf/dwarf2.h20
-rw-r--r--include/elf/internal.h68
-rw-r--r--include/elf/iq2000.h58
-rw-r--r--include/elf/m68hc11.h18
-rw-r--r--include/elf/mmix.h8
-rw-r--r--include/elf/msp430.h56
-rw-r--r--include/elf/ppc64.h156
-rw-r--r--include/elf/sh.h2
-rw-r--r--include/elf/xstormy16.h6
-rw-r--r--include/elf/xtensa.h88
11 files changed, 91 insertions, 437 deletions
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog
index 65f3160af..de95f20c5 100644
--- a/include/elf/ChangeLog
+++ b/include/elf/ChangeLog
@@ -1,3 +1,51 @@
+2002-12-20 DJ Delorie <dj@redhat.com>
+
+ * xstormy16.h: Add XSTORMY16_12.
+
+2002-12-16 Andrew MacLeod <amacleod@redhat.com>
+
+ * xstormy16.h (START_RELOC_NUMBERS) Add relocation numbers
+ for R_XSTORMY16_LO16 and R_XSTORMY16_HI16.
+
+2002-12-10 James Cownie <jcownie@etnus.com>
+
+ * dwarf2.h (DW_TAG_upc_shared_type, DW_TAG_upc_strict_type,
+ DW_TAG_upc_relaxed_type, DW_AT_upc_threads_scaled, DW_LANG_Upc):
+ Define.
+
+2002-12-01 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11.h (EF_M68HC12_MACH, EF_M68HCS12_MACH): Define.
+ (EF_M68HC11_MACH_MASK, EF_M68HC11_MACH): Define.
+ (EF_M68HC11_MERGE_MACH, EF_M68HC11_CAN_MERGE_MACH): Define.
+
+2002-11-30 Alan Modra <amodra@bigpond.net.au>
+
+ * mmix.h: Replace boolean with bfd_boolean.
+ * sh.h: Likewise.
+
+2002-11-28 Alan Modra <amodra@bigpond.net.au>
+
+ * internal.h (elf32_internal_ehdr, Elf32_Internal_Ehdr,
+ elf64_internal_ehdr, Elf64_Internal_Ehdr, elf32_internal_phdr,
+ Elf32_Internal_Phdr, elf64_internal_phdr, Elf64_Internal_Phdr,
+ elf32_internal_shdr, Elf32_Internal_Shdr, elf64_internal_shdr,
+ Elf64_Internal_Shdr, elf32_internal_sym, elf64_internal_sym,
+ Elf32_Internal_Sym, Elf64_Internal_Sym, Elf32_Internal_Note,
+ elf32_internal_note, elf32_internal_rel, Elf32_Internal_Rel,
+ elf64_internal_rel, Elf64_Internal_Rel, elf32_internal_rela,
+ elf64_internal_rela, Elf32_Internal_Rela, Elf64_Internal_Rela,
+ elf32_internal_dyn, elf64_internal_dyn, Elf32_Internal_Dyn,
+ Elf64_Internal_Dyn, elf32_internal_verdef, elf64_internal_verdef,
+ elf32_internal_verdaux, elf64_internal_verdaux, elf32_internal_verneed,
+ elf64_internal_verneed, elf32_internal_vernaux, elf64_internal_vernaux,
+ elf32_internal_versym, elf64_internal_versym, Elf32_Internal_Verdef,
+ Elf64_Internal_Verdef, Elf32_Internal_Verdaux, Elf64_Internal_Verdaux,
+ Elf32_Internal_Verneed, Elf64_Internal_Verneed, Elf32_Internal_Vernaux,
+ Elf64_Internal_Vernaux, Elf32_Internal_Versym, Elf64_Internal_Versym,
+ Elf32_Internal_Syminfo, Elf64_Internal_Syminfo): Delete.
+ (Elf_Internal_Rel): Delete.
+
2002-10-11 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sh.h: Add SH TLS relocs.
diff --git a/include/elf/dwarf2.h b/include/elf/dwarf2.h
index 6463b5a90..9c8ce4e00 100644
--- a/include/elf/dwarf2.h
+++ b/include/elf/dwarf2.h
@@ -87,7 +87,7 @@ typedef struct
}
DWARF2_Internal_PubNames;
-/* Strcuture found in .debug_info section. */
+/* Structure found in .debug_info section. */
typedef struct
{
unsigned char cu_length [4];
@@ -194,7 +194,11 @@ enum dwarf_tag
DW_TAG_function_template = 0x4102, /* For C++. */
DW_TAG_class_template = 0x4103, /* For C++. */
DW_TAG_GNU_BINCL = 0x4104,
- DW_TAG_GNU_EINCL = 0x4105
+ DW_TAG_GNU_EINCL = 0x4105,
+ /* Extensions for UPC. See: http://upc.gwu.edu/~upc. */
+ DW_TAG_upc_shared_type = 0x8765,
+ DW_TAG_upc_strict_type = 0x8766,
+ DW_TAG_upc_relaxed_type = 0x8767
};
#define DW_TAG_lo_user 0x4080
@@ -309,7 +313,7 @@ enum dwarf_attribute
DW_AT_call_column = 0x57,
DW_AT_call_file = 0x58,
DW_AT_call_line = 0x59,
- /* SGI/MIPS Extensions. */
+ /* SGI/MIPS extensions. */
DW_AT_MIPS_fde = 0x2001,
DW_AT_MIPS_loop_begin = 0x2002,
DW_AT_MIPS_tail_loop_begin = 0x2003,
@@ -329,8 +333,10 @@ enum dwarf_attribute
DW_AT_body_begin = 0x2105,
DW_AT_body_end = 0x2106,
DW_AT_GNU_vector = 0x2107,
- /* VMS Extensions. */
- DW_AT_VMS_rtnbeg_pd_address = 0x2201
+ /* VMS extensions. */
+ DW_AT_VMS_rtnbeg_pd_address = 0x2201,
+ /* UPC extension. */
+ DW_AT_upc_threads_scaled = 0x3210
};
#define DW_AT_lo_user 0x2000 /* Implementation-defined range start. */
@@ -678,7 +684,9 @@ enum dwarf_source_language
DW_LANG_Ada95 = 0x000d,
DW_LANG_Fortran95 = 0x000e,
/* MIPS. */
- DW_LANG_Mips_Assembler = 0x8001
+ DW_LANG_Mips_Assembler = 0x8001,
+ /* UPC. */
+ DW_LANG_Upc = 0x8765
};
#define DW_LANG_lo_user 0x8000 /* Implementation-defined range start. */
diff --git a/include/elf/internal.h b/include/elf/internal.h
index 5d39d3ae7..45d682a22 100644
--- a/include/elf/internal.h
+++ b/include/elf/internal.h
@@ -1,5 +1,5 @@
/* ELF support for BFD.
- Copyright 1991, 1992, 1993, 1994, 1995, 1997, 1998, 2000, 2001
+ Copyright 1991, 1992, 1993, 1994, 1995, 1997, 1998, 2000, 2001, 2002
Free Software Foundation, Inc.
Written by Fred Fish @ Cygnus Support, from information published
@@ -58,11 +58,6 @@ typedef struct elf_internal_ehdr {
unsigned int e_shstrndx; /* Section header string table index */
} Elf_Internal_Ehdr;
-#define elf32_internal_ehdr elf_internal_ehdr
-#define Elf32_Internal_Ehdr Elf_Internal_Ehdr
-#define elf64_internal_ehdr elf_internal_ehdr
-#define Elf64_Internal_Ehdr Elf_Internal_Ehdr
-
/* Program header */
struct elf_internal_phdr {
@@ -77,10 +72,6 @@ struct elf_internal_phdr {
};
typedef struct elf_internal_phdr Elf_Internal_Phdr;
-#define elf32_internal_phdr elf_internal_phdr
-#define Elf32_Internal_Phdr Elf_Internal_Phdr
-#define elf64_internal_phdr elf_internal_phdr
-#define Elf64_Internal_Phdr Elf_Internal_Phdr
/* Section header */
@@ -101,11 +92,6 @@ typedef struct elf_internal_shdr {
unsigned char *contents; /* Section contents. */
} Elf_Internal_Shdr;
-#define elf32_internal_shdr elf_internal_shdr
-#define Elf32_Internal_Shdr Elf_Internal_Shdr
-#define elf64_internal_shdr elf_internal_shdr
-#define Elf64_Internal_Shdr Elf_Internal_Shdr
-
/* Symbol table entry */
struct elf_internal_sym {
@@ -119,11 +105,6 @@ struct elf_internal_sym {
typedef struct elf_internal_sym Elf_Internal_Sym;
-#define elf32_internal_sym elf_internal_sym
-#define elf64_internal_sym elf_internal_sym
-#define Elf32_Internal_Sym Elf_Internal_Sym
-#define Elf64_Internal_Sym Elf_Internal_Sym
-
/* Note segments */
typedef struct elf_internal_note {
@@ -134,33 +115,15 @@ typedef struct elf_internal_note {
char * descdata; /* Start of the desc data */
bfd_vma descpos; /* File offset of the descdata */
} Elf_Internal_Note;
-#define Elf32_Internal_Note Elf_Internal_Note
-#define elf32_internal_note elf_internal_note
/* Relocation Entries */
-typedef struct elf_internal_rel {
- bfd_vma r_offset; /* Location at which to apply the action */
- /* This needs to support 64-bit values in elf64. */
- bfd_vma r_info; /* index and type of relocation */
-} Elf_Internal_Rel;
-
-#define elf32_internal_rel elf_internal_rel
-#define Elf32_Internal_Rel Elf_Internal_Rel
-#define elf64_internal_rel elf_internal_rel
-#define Elf64_Internal_Rel Elf_Internal_Rel
-
typedef struct elf_internal_rela {
bfd_vma r_offset; /* Location at which to apply the action */
bfd_vma r_info; /* Index and Type of relocation */
bfd_vma r_addend; /* Constant addend used to compute value */
} Elf_Internal_Rela;
-#define elf32_internal_rela elf_internal_rela
-#define elf64_internal_rela elf_internal_rela
-#define Elf32_Internal_Rela Elf_Internal_Rela
-#define Elf64_Internal_Rela Elf_Internal_Rela
-
/* dynamic section structure */
typedef struct elf_internal_dyn {
@@ -173,11 +136,6 @@ typedef struct elf_internal_dyn {
} d_un;
} Elf_Internal_Dyn;
-#define elf32_internal_dyn elf_internal_dyn
-#define elf64_internal_dyn elf_internal_dyn
-#define Elf32_Internal_Dyn Elf_Internal_Dyn
-#define Elf64_Internal_Dyn Elf_Internal_Dyn
-
/* This structure appears in a SHT_GNU_verdef section. */
typedef struct elf_internal_verdef {
@@ -257,30 +215,6 @@ typedef struct
} Elf_Internal_Syminfo;
-#define elf32_internal_verdef elf_internal_verdef
-#define elf64_internal_verdef elf_internal_verdef
-#define elf32_internal_verdaux elf_internal_verdaux
-#define elf64_internal_verdaux elf_internal_verdaux
-#define elf32_internal_verneed elf_internal_verneed
-#define elf64_internal_verneed elf_internal_verneed
-#define elf32_internal_vernaux elf_internal_vernaux
-#define elf64_internal_vernaux elf_internal_vernaux
-#define elf32_internal_versym elf_internal_versym
-#define elf64_internal_versym elf_internal_versym
-
-#define Elf32_Internal_Verdef Elf_Internal_Verdef
-#define Elf64_Internal_Verdef Elf_Internal_Verdef
-#define Elf32_Internal_Verdaux Elf_Internal_Verdaux
-#define Elf64_Internal_Verdaux Elf_Internal_Verdaux
-#define Elf32_Internal_Verneed Elf_Internal_Verneed
-#define Elf64_Internal_Verneed Elf_Internal_Verneed
-#define Elf32_Internal_Vernaux Elf_Internal_Vernaux
-#define Elf64_Internal_Vernaux Elf_Internal_Vernaux
-#define Elf32_Internal_Versym Elf_Internal_Versym
-#define Elf64_Internal_Versym Elf_Internal_Versym
-#define Elf32_Internal_Syminfo Elf_Internal_Syminfo
-#define Elf64_Internal_Syminfo Elf_Internal_Syminfo
-
/* This structure is used to describe how sections should be assigned
to program segments. */
diff --git a/include/elf/iq2000.h b/include/elf/iq2000.h
deleted file mode 100644
index 83c690c70..000000000
--- a/include/elf/iq2000.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* IQ2000 ELF support for BFD.
- Copyright (C) 2002 Free Software Foundation, Inc.
-
-This file is part of BFD, the Binary File Descriptor library.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ifndef _ELF_IQ2000_H
-#define _ELF_IQ2000_H
-
-#include "elf/reloc-macros.h"
-
-/* Relocations. */
-START_RELOC_NUMBERS (elf_iq2000_reloc_type)
- RELOC_NUMBER (R_IQ2000_NONE, 0)
- RELOC_NUMBER (R_IQ2000_16, 1)
- RELOC_NUMBER (R_IQ2000_32, 2)
- RELOC_NUMBER (R_IQ2000_26, 3)
- RELOC_NUMBER (R_IQ2000_PC16, 4)
- RELOC_NUMBER (R_IQ2000_HI16, 5)
- RELOC_NUMBER (R_IQ2000_LO16, 6)
- RELOC_NUMBER (R_IQ2000_OFFSET_16, 7)
- RELOC_NUMBER (R_IQ2000_OFFSET_21, 8)
- RELOC_NUMBER (R_IQ2000_UHI16, 9)
- RELOC_NUMBER (R_IQ2000_32_DEBUG, 10)
- RELOC_NUMBER (R_IQ2000_GNU_VTINHERIT, 200)
- RELOC_NUMBER (R_IQ2000_GNU_VTENTRY, 201)
-END_RELOC_NUMBERS(R_IQ2000_max)
-
-#define EF_IQ2000_CPU_IQ2000 0x00000001 /* default */
-#define EF_IQ2000_CPU_IQ10 0x00000002 /* IQ10 */
-#define EF_IQ2000_CPU_MASK 0x00000003 /* specific cpu bits */
-#define EF_IQ2000_ALL_FLAGS (EF_IQ2000_CPU_MASK)
-
-/* Define the data & instruction memory discriminator. In a linked
- executable, an symbol should be deemed to point to an instruction
- if ((address & IQ2000_INSN_MASK) == IQ2000_INSN_VALUE), and similarly
- for the data space. */
-
-#define IQ2000_DATA_MASK 0x80000000
-#define IQ2000_DATA_VALUE 0x00000000
-#define IQ2000_INSN_MASK 0x80000000
-#define IQ2000_INSN_VALUE 0x80000000
-
-
-#endif /* _ELF_IQ2000_H */
diff --git a/include/elf/m68hc11.h b/include/elf/m68hc11.h
index c4ef37d97..1902f7fa6 100644
--- a/include/elf/m68hc11.h
+++ b/include/elf/m68hc11.h
@@ -64,6 +64,24 @@ END_RELOC_NUMBERS (R_M68HC11_max)
/* Uses 68HC12 memory banks. */
#define E_M68HC12_BANKS 0x000000004
+#define EF_M68HC11_MACH_MASK 0xF0
+#define EF_M68HC11_GENERIC 0x00 /* Generic 68HC12/backward compatibility. */
+#define EF_M68HC12_MACH 0x10 /* 68HC12 microcontroller. */
+#define EF_M68HCS12_MACH 0x20 /* 68HCS12 microcontroller. */
+#define EF_M68HC11_MACH(mach) ((mach) & EF_M68HC11_MACH_MASK)
+
+/* True if we can merge machines. A generic HC12 can work on any proc
+ but once we have specific code, merge is not possible. */
+#define EF_M68HC11_CAN_MERGE_MACH(mach1, mach2) \
+ ((EF_M68HC11_MACH (mach1) == EF_M68HC11_MACH (mach2)) \
+ || (EF_M68HC11_MACH (mach1) == EF_M68HC11_GENERIC) \
+ || (EF_M68HC11_MACH (mach2) == EF_M68HC11_GENERIC))
+
+#define EF_M68HC11_MERGE_MACH(mach1, mach2) \
+ (((EF_M68HC11_MACH (mach1) == EF_M68HC11_MACH (mach2)) \
+ || (EF_M68HC11_MACH (mach1) == EF_M68HC11_GENERIC)) ? \
+ EF_M68HC11_MACH (mach2) : EF_M68HC11_MACH (mach1))
+
/* Special values for the st_other field in the symbol table. These
are used for 68HC12 to identify far functions (must be called with
diff --git a/include/elf/mmix.h b/include/elf/mmix.h
index e3be26b0f..98536e246 100644
--- a/include/elf/mmix.h
+++ b/include/elf/mmix.h
@@ -1,5 +1,5 @@
/* MMIX support for BFD.
- Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+ Copyright 2001, 2002 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -157,11 +157,11 @@ END_RELOC_NUMBERS (R_MMIX_max)
#define MMO_SEC_DEBUGGING 0x10000
#ifdef BFD_ARCH_SIZE
-extern boolean _bfd_mmix_prepare_linker_allocated_gregs
+extern bfd_boolean _bfd_mmix_prepare_linker_allocated_gregs
PARAMS ((bfd *, struct bfd_link_info *));
-extern boolean _bfd_mmix_finalize_linker_allocated_gregs
+extern bfd_boolean _bfd_mmix_finalize_linker_allocated_gregs
PARAMS ((bfd *, struct bfd_link_info *));
-extern boolean _bfd_mmix_check_all_relocs
+extern bfd_boolean _bfd_mmix_check_all_relocs
PARAMS ((bfd *, struct bfd_link_info *));
#endif
diff --git a/include/elf/msp430.h b/include/elf/msp430.h
deleted file mode 100644
index 912ded768..000000000
--- a/include/elf/msp430.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* MSP430 ELF support for BFD.
- Copyright (C) 2002 Free Software Foundation, Inc.
- Contributed by Dmitry Diky <diwil@mail.ru>
-
- This file is part of BFD, the Binary File Descriptor library.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation, Inc.,
- 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ifndef _ELF_MSP430_H
-#define _ELF_MSP430_H
-
-#include "elf/reloc-macros.h"
-
-/* Processor specific flags for the ELF header e_flags field. */
-#define EF_MSP430_MACH 0xff
-
-#define E_MSP430_MACH_MSP430x11 11
-#define E_MSP430_MACH_MSP430x11x1 110
-#define E_MSP430_MACH_MSP430x12 12
-#define E_MSP430_MACH_MSP430x13 13
-#define E_MSP430_MACH_MSP430x14 14
-#define E_MSP430_MACH_MSP430x15 15
-#define E_MSP430_MACH_MSP430x16 16
-#define E_MSP430_MACH_MSP430x31 31
-#define E_MSP430_MACH_MSP430x32 32
-#define E_MSP430_MACH_MSP430x33 33
-#define E_MSP430_MACH_MSP430x41 41
-#define E_MSP430_MACH_MSP430x42 42
-#define E_MSP430_MACH_MSP430x43 43
-#define E_MSP430_MACH_MSP430x44 44
-
-/* Relocations. */
-START_RELOC_NUMBERS (elf_msp430_reloc_type)
- RELOC_NUMBER (R_MSP430_NONE, 0)
- RELOC_NUMBER (R_MSP430_32, 1)
- RELOC_NUMBER (R_MSP430_10_PCREL, 2)
- RELOC_NUMBER (R_MSP430_16, 3)
- RELOC_NUMBER (R_MSP430_16_PCREL, 4)
- RELOC_NUMBER (R_MSP430_16_BYTE, 5)
- RELOC_NUMBER (R_MSP430_16_PCREL_BYTE, 6)
-
-END_RELOC_NUMBERS (R_MSP430_max)
-
-#endif /* _ELF_MSP430_H */
diff --git a/include/elf/ppc64.h b/include/elf/ppc64.h
deleted file mode 100644
index ee2b0ea53..000000000
--- a/include/elf/ppc64.h
+++ /dev/null
@@ -1,156 +0,0 @@
-/* PPC64 ELF support for BFD.
- Copyright 2003 Free Software Foundation, Inc.
-
-This file is part of BFD, the Binary File Descriptor library.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ifndef _ELF_PPC64_H
-#define _ELF_PPC64_H
-
-#include "elf/reloc-macros.h"
-
-/* Relocations. */
-START_RELOC_NUMBERS (elf_ppc64_reloc_type)
- RELOC_NUMBER (R_PPC64_NONE, 0)
- RELOC_NUMBER (R_PPC64_ADDR32, 1)
- RELOC_NUMBER (R_PPC64_ADDR24, 2)
- RELOC_NUMBER (R_PPC64_ADDR16, 3)
- RELOC_NUMBER (R_PPC64_ADDR16_LO, 4)
- RELOC_NUMBER (R_PPC64_ADDR16_HI, 5)
- RELOC_NUMBER (R_PPC64_ADDR16_HA, 6)
- RELOC_NUMBER (R_PPC64_ADDR14, 7)
- RELOC_NUMBER (R_PPC64_ADDR14_BRTAKEN, 8)
- RELOC_NUMBER (R_PPC64_ADDR14_BRNTAKEN, 9)
- RELOC_NUMBER (R_PPC64_REL24, 10)
- RELOC_NUMBER (R_PPC64_REL14, 11)
- RELOC_NUMBER (R_PPC64_REL14_BRTAKEN, 12)
- RELOC_NUMBER (R_PPC64_REL14_BRNTAKEN, 13)
- RELOC_NUMBER (R_PPC64_GOT16, 14)
- RELOC_NUMBER (R_PPC64_GOT16_LO, 15)
- RELOC_NUMBER (R_PPC64_GOT16_HI, 16)
- RELOC_NUMBER (R_PPC64_GOT16_HA, 17)
- /* 18 unused. 32-bit reloc is R_PPC_PLTREL24. */
- RELOC_NUMBER (R_PPC64_COPY, 19)
- RELOC_NUMBER (R_PPC64_GLOB_DAT, 20)
- RELOC_NUMBER (R_PPC64_JMP_SLOT, 21)
- RELOC_NUMBER (R_PPC64_RELATIVE, 22)
- /* 23 unused. 32-bit reloc is R_PPC_LOCAL24PC. */
- RELOC_NUMBER (R_PPC64_UADDR32, 24)
- RELOC_NUMBER (R_PPC64_UADDR16, 25)
- RELOC_NUMBER (R_PPC64_REL32, 26)
- RELOC_NUMBER (R_PPC64_PLT32, 27)
- RELOC_NUMBER (R_PPC64_PLTREL32, 28)
- RELOC_NUMBER (R_PPC64_PLT16_LO, 29)
- RELOC_NUMBER (R_PPC64_PLT16_HI, 30)
- RELOC_NUMBER (R_PPC64_PLT16_HA, 31)
- /* 32 unused. 32-bit reloc is R_PPC_SDAREL16. */
- RELOC_NUMBER (R_PPC64_SECTOFF, 33)
- RELOC_NUMBER (R_PPC64_SECTOFF_LO, 34)
- RELOC_NUMBER (R_PPC64_SECTOFF_HI, 35)
- RELOC_NUMBER (R_PPC64_SECTOFF_HA, 36)
- RELOC_NUMBER (R_PPC64_REL30, 37)
- RELOC_NUMBER (R_PPC64_ADDR64, 38)
- RELOC_NUMBER (R_PPC64_ADDR16_HIGHER, 39)
- RELOC_NUMBER (R_PPC64_ADDR16_HIGHERA, 40)
- RELOC_NUMBER (R_PPC64_ADDR16_HIGHEST, 41)
- RELOC_NUMBER (R_PPC64_ADDR16_HIGHESTA, 42)
- RELOC_NUMBER (R_PPC64_UADDR64, 43)
- RELOC_NUMBER (R_PPC64_REL64, 44)
- RELOC_NUMBER (R_PPC64_PLT64, 45)
- RELOC_NUMBER (R_PPC64_PLTREL64, 46)
- RELOC_NUMBER (R_PPC64_TOC16, 47)
- RELOC_NUMBER (R_PPC64_TOC16_LO, 48)
- RELOC_NUMBER (R_PPC64_TOC16_HI, 49)
- RELOC_NUMBER (R_PPC64_TOC16_HA, 50)
- RELOC_NUMBER (R_PPC64_TOC, 51)
- RELOC_NUMBER (R_PPC64_PLTGOT16, 52)
- RELOC_NUMBER (R_PPC64_PLTGOT16_LO, 53)
- RELOC_NUMBER (R_PPC64_PLTGOT16_HI, 54)
- RELOC_NUMBER (R_PPC64_PLTGOT16_HA, 55)
-
- /* The following relocs were added in the 64-bit PowerPC ELF ABI
- revision 1.2. */
- RELOC_NUMBER (R_PPC64_ADDR16_DS, 56)
- RELOC_NUMBER (R_PPC64_ADDR16_LO_DS, 57)
- RELOC_NUMBER (R_PPC64_GOT16_DS, 58)
- RELOC_NUMBER (R_PPC64_GOT16_LO_DS, 59)
- RELOC_NUMBER (R_PPC64_PLT16_LO_DS, 60)
- RELOC_NUMBER (R_PPC64_SECTOFF_DS, 61)
- RELOC_NUMBER (R_PPC64_SECTOFF_LO_DS, 62)
- RELOC_NUMBER (R_PPC64_TOC16_DS, 63)
- RELOC_NUMBER (R_PPC64_TOC16_LO_DS, 64)
- RELOC_NUMBER (R_PPC64_PLTGOT16_DS, 65)
- RELOC_NUMBER (R_PPC64_PLTGOT16_LO_DS, 66)
-
- /* Relocs added to support TLS. PowerPC64 ELF ABI revision 1.5. */
- RELOC_NUMBER (R_PPC64_TLS, 67)
- RELOC_NUMBER (R_PPC64_DTPMOD64, 68)
- RELOC_NUMBER (R_PPC64_TPREL16, 69)
- RELOC_NUMBER (R_PPC64_TPREL16_LO, 70)
- RELOC_NUMBER (R_PPC64_TPREL16_HI, 71)
- RELOC_NUMBER (R_PPC64_TPREL16_HA, 72)
- RELOC_NUMBER (R_PPC64_TPREL64, 73)
- RELOC_NUMBER (R_PPC64_DTPREL16, 74)
- RELOC_NUMBER (R_PPC64_DTPREL16_LO, 75)
- RELOC_NUMBER (R_PPC64_DTPREL16_HI, 76)
- RELOC_NUMBER (R_PPC64_DTPREL16_HA, 77)
- RELOC_NUMBER (R_PPC64_DTPREL64, 78)
- RELOC_NUMBER (R_PPC64_GOT_TLSGD16, 79)
- RELOC_NUMBER (R_PPC64_GOT_TLSGD16_LO, 80)
- RELOC_NUMBER (R_PPC64_GOT_TLSGD16_HI, 81)
- RELOC_NUMBER (R_PPC64_GOT_TLSGD16_HA, 82)
- RELOC_NUMBER (R_PPC64_GOT_TLSLD16, 83)
- RELOC_NUMBER (R_PPC64_GOT_TLSLD16_LO, 84)
- RELOC_NUMBER (R_PPC64_GOT_TLSLD16_HI, 85)
- RELOC_NUMBER (R_PPC64_GOT_TLSLD16_HA, 86)
- RELOC_NUMBER (R_PPC64_GOT_TPREL16_DS, 87)
- RELOC_NUMBER (R_PPC64_GOT_TPREL16_LO_DS, 88)
- RELOC_NUMBER (R_PPC64_GOT_TPREL16_HI, 89)
- RELOC_NUMBER (R_PPC64_GOT_TPREL16_HA, 90)
- RELOC_NUMBER (R_PPC64_GOT_DTPREL16_DS, 91)
- RELOC_NUMBER (R_PPC64_GOT_DTPREL16_LO_DS, 92)
- RELOC_NUMBER (R_PPC64_GOT_DTPREL16_HI, 93)
- RELOC_NUMBER (R_PPC64_GOT_DTPREL16_HA, 94)
- RELOC_NUMBER (R_PPC64_TPREL16_DS, 95)
- RELOC_NUMBER (R_PPC64_TPREL16_LO_DS, 96)
- RELOC_NUMBER (R_PPC64_TPREL16_HIGHER, 97)
- RELOC_NUMBER (R_PPC64_TPREL16_HIGHERA, 98)
- RELOC_NUMBER (R_PPC64_TPREL16_HIGHEST, 99)
- RELOC_NUMBER (R_PPC64_TPREL16_HIGHESTA, 100)
- RELOC_NUMBER (R_PPC64_DTPREL16_DS, 101)
- RELOC_NUMBER (R_PPC64_DTPREL16_LO_DS, 102)
- RELOC_NUMBER (R_PPC64_DTPREL16_HIGHER, 103)
- RELOC_NUMBER (R_PPC64_DTPREL16_HIGHERA, 104)
- RELOC_NUMBER (R_PPC64_DTPREL16_HIGHEST, 105)
- RELOC_NUMBER (R_PPC64_DTPREL16_HIGHESTA, 106)
-
- /* These are GNU extensions to enable C++ vtable garbage collection. */
- RELOC_NUMBER (R_PPC64_GNU_VTINHERIT, 253)
- RELOC_NUMBER (R_PPC64_GNU_VTENTRY, 254)
-
-END_RELOC_NUMBERS (R_PPC64_max)
-
-#define IS_PPC64_TLS_RELOC(R) \
- ((R) >= R_PPC64_TLS && (R) <= R_PPC64_DTPREL16_HIGHESTA)
-
-/* Specify the start of the .glink section. */
-#define DT_PPC64_GLINK DT_LOPROC
-
-/* Specify the start and size of the .opd section. */
-#define DT_PPC64_OPD (DT_LOPROC + 1)
-#define DT_PPC64_OPDSZ (DT_LOPROC + 2)
-
-#endif /* _ELF_PPC64_H */
diff --git a/include/elf/sh.h b/include/elf/sh.h
index ef964d685..68a2c542e 100644
--- a/include/elf/sh.h
+++ b/include/elf/sh.h
@@ -106,7 +106,7 @@ extern enum sh64_elf_cr_type sh64_get_contents_type
/* Simpler interface.
FIXME: This seems redundant now that we export the interface above. */
-extern boolean sh64_address_is_shmedia PARAMS ((asection *, bfd_vma));
+extern bfd_boolean sh64_address_is_shmedia PARAMS ((asection *, bfd_vma));
extern int _bfd_sh64_crange_qsort_cmpb PARAMS ((const void *, const void *));
extern int _bfd_sh64_crange_qsort_cmpl PARAMS ((const void *, const void *));
diff --git a/include/elf/xstormy16.h b/include/elf/xstormy16.h
index ee6c551a0..6b1e98f57 100644
--- a/include/elf/xstormy16.h
+++ b/include/elf/xstormy16.h
@@ -1,5 +1,5 @@
/* XSTORMY16 ELF support for BFD.
- Copyright (C) 2001 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -37,6 +37,10 @@ START_RELOC_NUMBERS (elf_xstormy16_reloc_type)
RELOC_NUMBER (R_XSTORMY16_24, 8)
RELOC_NUMBER (R_XSTORMY16_FPTR16, 9)
+ RELOC_NUMBER (R_XSTORMY16_LO16, 10)
+ RELOC_NUMBER (R_XSTORMY16_HI16, 11)
+ RELOC_NUMBER (R_XSTORMY16_12, 12)
+
RELOC_NUMBER (R_XSTORMY16_GNU_VTINHERIT, 128)
RELOC_NUMBER (R_XSTORMY16_GNU_VTENTRY, 129)
END_RELOC_NUMBERS (R_XSTORMY16_max)
diff --git a/include/elf/xtensa.h b/include/elf/xtensa.h
deleted file mode 100644
index 6c584c715..000000000
--- a/include/elf/xtensa.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/* Xtensa ELF support for BFD.
- Copyright 2003 Free Software Foundation, Inc.
- Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
-
- This file is part of BFD, the Binary File Descriptor library.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
- USA. */
-
-/* This file holds definitions specific to the Xtensa ELF ABI. */
-
-#ifndef _ELF_XTENSA_H
-#define _ELF_XTENSA_H
-
-#include "elf/reloc-macros.h"
-
-/* Relocations. */
-START_RELOC_NUMBERS (elf_xtensa_reloc_type)
- RELOC_NUMBER (R_XTENSA_NONE, 0)
- RELOC_NUMBER (R_XTENSA_32, 1)
- RELOC_NUMBER (R_XTENSA_RTLD, 2)
- RELOC_NUMBER (R_XTENSA_GLOB_DAT, 3)
- RELOC_NUMBER (R_XTENSA_JMP_SLOT, 4)
- RELOC_NUMBER (R_XTENSA_RELATIVE, 5)
- RELOC_NUMBER (R_XTENSA_PLT, 6)
- RELOC_NUMBER (R_XTENSA_OP0, 8)
- RELOC_NUMBER (R_XTENSA_OP1, 9)
- RELOC_NUMBER (R_XTENSA_OP2, 10)
- RELOC_NUMBER (R_XTENSA_ASM_EXPAND, 11)
- RELOC_NUMBER (R_XTENSA_ASM_SIMPLIFY, 12)
- RELOC_NUMBER (R_XTENSA_GNU_VTINHERIT, 15)
- RELOC_NUMBER (R_XTENSA_GNU_VTENTRY, 16)
-END_RELOC_NUMBERS (R_XTENSA_max)
-
-/* Processor-specific flags for the ELF header e_flags field. */
-
-/* Four-bit Xtensa machine type field. */
-#define EF_XTENSA_MACH 0x0000000f
-
-/* Various CPU types. */
-#define E_XTENSA_MACH 0x00000000
-
-/* Leave bits 0xf0 alone in case we ever have more than 16 cpu types.
- Highly unlikely, but what the heck. */
-
-#define EF_XTENSA_XT_INSN 0x00000100
-#define EF_XTENSA_XT_LIT 0x00000200
-
-
-/* Processor-specific dynamic array tags. */
-
-/* Offset of the table that records the GOT location(s). */
-#define DT_XTENSA_GOT_LOC_OFF 0x70000000
-
-/* Number of entries in the GOT location table. */
-#define DT_XTENSA_GOT_LOC_SZ 0x70000001
-
-
-/* Definitions for instruction and literal property tables. The
- tables for ".gnu.linkonce.*" sections are placed in the following
- sections:
-
- instruction tables: .gnu.linkonce.x.*
- literal tables: .gnu.linkonce.p.*
-*/
-
-#define XTENSA_INSN_SEC_NAME ".xt.insn"
-#define XTENSA_LIT_SEC_NAME ".xt.lit"
-
-typedef struct property_table_entry_t
-{
- bfd_vma address;
- bfd_vma size;
-} property_table_entry;
-
-#endif /* _ELF_XTENSA_H */