From 37f4530ea1a0c67e2a23f0f2a6ab3d4aba282bf9 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Thu, 31 Jan 2002 17:33:08 +0000 Subject: Add support for OpenRISC 32-bit embedded processor --- include/elf/ChangeLog | 32 +++++++++++++++++++++----- include/elf/common.h | 3 +++ include/elf/or32.h | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 92 insertions(+), 5 deletions(-) create mode 100644 include/elf/or32.h (limited to 'include/elf') diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index a0b4f714a6..10c05d8565 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,7 +1,20 @@ +2002-01-31 Ivan Guzvinec + + * or32.h: New file. + * common.h: Add support for or32 targets. + +2002-01-28 Jason Merrill + + * dwarf2.h: Sync with gcc version. + 2002-01-16 Alan Modra * ppc.h (DT_PPC64_GLINK): Define. +2002-01-15 Richard Earnshaw + + * arm.h (F_VFP_FLOAT, EF_ARM_VFP_FLOAT): Define. + 2002-01-09 Jason Thorpe * common.h: Update copyright years. @@ -24,6 +37,10 @@ unsigned int. * common.h (SHN_BAD): Define. +2001-12-13 Jakub Jelinek + + * elf/common.h (PT_GNU_EH_FRAME): Define. + 2001-12-11 Alan Modra * common.h (SHN_XINDEX): Comment typo fix. @@ -90,7 +107,7 @@ (E_H8_MACH_H8300, E_H8_MACH_H8300H, E_H8_MACH_H8300S): New machine types. -Tue Aug 26 23:32:34 2001 J"orn Rennecke +2001-08-26 J"orn Rennecke * h8.h: New file. @@ -118,6 +135,11 @@ Tue Aug 26 23:32:34 2001 J"orn Rennecke * common.h: Remove definition of EM_MIPS_RS4_BE. The constant was never in active use and is used otherwise by the ABI. +2001-05-11 Jakub Jelinek + + * ia64.h (ELF_STRING_ia64_unwind_once): Define. + (ELF_STRING_ia64_unwind_info_once): Define. + 2001-05-07 Thiemo Seufer * external.h: Fix typo. @@ -390,8 +412,8 @@ Tue Aug 26 23:32:34 2001 J"orn Rennecke (ELFOSABI_MODESTO): Defined. (ELFOSABI_OPENBSD): Likewise. -Fri Apr 21 13:20:53 2000 Richard Henderson - David Mosberger +2000-04-21 Richard Henderson + David Mosberger * ia64.h: New file. @@ -425,7 +447,7 @@ Fri Apr 21 13:20:53 2000 Richard Henderson (PF_ARM_PI): Define. (PF_ARM_ABS): Define. -Wed Apr 5 22:08:59 2000 J"orn Rennecke +2000-04-05 J"orn Rennecke * sh.h (R_SH_LOOP_START, R_SH_LOOP_END): New RELOC_NUMBERs. @@ -454,7 +476,7 @@ Wed Apr 5 22:08:59 2000 J"orn Rennecke * common.h (ELFOSABI_LINUX): Define. -Thu Feb 17 00:18:33 2000 J"orn Rennecke +2000-02-17 J"orn Rennecke * sh.h: (EF_SH_MACH_MASK, EF_SH_UNKNOWN, EF_SH1, EF_SH2): New macros. (EF_SH3, EF_SH_HAS_DSP, EF_SH_DSP, EF_SH3_DSP): Likewise. diff --git a/include/elf/common.h b/include/elf/common.h index 289d3f2add..d6e45fcc55 100644 --- a/include/elf/common.h +++ b/include/elf/common.h @@ -199,6 +199,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Old version of PowerPC, this should be removed shortly. */ #define EM_PPC_OLD 17 +/* (Depreciated) Temporary number for the OpenRISC processor. */ +#define EM_OR32 0x8472 + /* Cygnus M32R ELF backend. Written in the absence of an ABI. */ #define EM_CYGNUS_M32R 0x9041 diff --git a/include/elf/or32.h b/include/elf/or32.h new file mode 100644 index 0000000000..14884f330c --- /dev/null +++ b/include/elf/or32.h @@ -0,0 +1,62 @@ +/* OR1K ELF support for BFD. Derived from ppc.h. + Copyright (C) 2002 Free Software Foundation, Inc. + Contributed by Ivan Guzvinec + + 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_OR1K_H +#define _ELF_OR1K_H + +#include "elf/reloc-macros.h" + +/* Relocations. */ +START_RELOC_NUMBERS (elf_or32_reloc_type) + RELOC_NUMBER (R_OR32_NONE, 0) + RELOC_NUMBER (R_OR32_32, 1) + RELOC_NUMBER (R_OR32_16, 2) + RELOC_NUMBER (R_OR32_8, 3) + RELOC_NUMBER (R_OR32_CONST, 4) + RELOC_NUMBER (R_OR32_CONSTH, 5) + RELOC_NUMBER (R_OR32_JUMPTARG, 6) + RELOC_NUMBER (R_OR32_GNU_VTENTRY, 7) + RELOC_NUMBER (R_OR32_GNU_VTINHERIT, 8) +END_RELOC_NUMBERS (R_OR32_max) + +/* Four bit OR32 machine type field. */ +#define EF_OR32_MACH 0x0000000f + +/* Various CPU types. */ +#define E_OR32_MACH_BASE 0x00000000 +#define E_OR32_MACH_UNUSED1 0x00000001 +#define E_OR32_MACH_UNUSED2 0x00000002 +#define E_OR32_MACH_UNUSED4 0x00000003 + +/* Processor specific section headers, sh_type field */ +#define SHT_ORDERED SHT_HIPROC /* Link editor is to sort the \ + entries in this section \ + based on the address \ + specified in the associated \ + symbol table entry. */ + +/* Processor specific section flags, sh_flags field */ +#define SHF_EXCLUDE 0x80000000 /* Link editor is to exclude \ + this section from executable \ + and shared objects that it \ + builds when those objects \ + are not to be furhter \ + relocated. */ +#endif /* _ELF_OR1K_H */ -- cgit v1.2.1