Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/ChangeLog19
-rw-r--r--include/bfdlink.h19
-rw-r--r--include/dis-asm.h1
-rw-r--r--include/elf/ChangeLog26
-rw-r--r--include/elf/common.h5
-rw-r--r--include/elf/i370.h26
-rw-r--r--include/elf/ip2k.h62
-rw-r--r--include/elf/m68hc11.h37
-rw-r--r--include/gdb/ChangeLog21
-rw-r--r--include/gdb/remote-sim.h62
-rw-r--r--include/gdb/sim-h8300.h78
-rw-r--r--include/gdb/sim-sh.h143
-rw-r--r--include/opcode/ChangeLog21
-rw-r--r--include/opcode/m68hc11.h21
-rw-r--r--include/opcode/mips.h1
-rw-r--r--include/opcode/ppc.h24
16 files changed, 479 insertions, 87 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index cae894a54..39f18740b 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,22 @@
+2002-08-07 H.J. Lu <hjl@gnu.org>
+
+ * bfdlink.h (bfd_link_info): Add allow_undefined_version.
+ (bfd_elf_version_expr): Add symver and script.
+
+2002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
+
+ * bfdlink.h (bfd_link_common_skip_ar_symbols): New enum.
+ (struct bfd_link_info): Add new field 'common_skip_ar_symbols'.
+
+2002-07-25 Richard Sandiford <rsandifo@redhat.com>
+
+ * opcode/mips.h (CPU_R2000): Remove.
+
+2002-07-19 Denis Chertykov <denisc@overta.ru>
+ Matthew Green <mrg@redhat.com>
+
+ * dis-asm.h (print_insn_ip2k): Declare.
+
2002-07-10 Jakub Jelinek <jakub@redhat.com>
* elf/common.h (SHT_GNU_LIBLIST, DT_GNU_PRELINKED,
diff --git a/include/bfdlink.h b/include/bfdlink.h
index 63f5ecd74..4998fe3db 100644
--- a/include/bfdlink.h
+++ b/include/bfdlink.h
@@ -66,6 +66,14 @@ enum bfd_link_hash_type
bfd_link_hash_warning /* Like indirect, but warn if referenced. */
};
+enum bfd_link_common_skip_ar_aymbols
+{
+ bfd_link_common_skip_none,
+ bfd_link_common_skip_text,
+ bfd_link_common_skip_data,
+ bfd_link_common_skip_all
+};
+
/* The linking routines use a hash table which uses this structure for
its elements. */
@@ -254,6 +262,9 @@ struct bfd_link_info
/* true if ok to have multiple definition. */
boolean allow_multiple_definition;
+ /* true if ok to have version with no definition. */
+ boolean allow_undefined_version;
+
/* Which symbols to strip. */
enum bfd_link_strip strip;
@@ -343,6 +354,10 @@ struct bfd_link_info
/* How many spare .dynamic DT_NULL entries should be added? */
unsigned int spare_dynamic_tags;
+
+ /* Criteria for skipping symbols when detemining
+ whether to include an object from an archive. */
+ enum bfd_link_common_skip_ar_aymbols common_skip_ar_aymbols;
};
/* This structures holds a set of callback functions. These are
@@ -590,6 +605,10 @@ struct bfd_elf_version_expr
const char *pattern;
/* Matching function. */
int (*match) PARAMS((struct bfd_elf_version_expr *, const char *));
+ /* Defined by ".symver". */
+ unsigned int symver: 1;
+ /* Defined by version script. */
+ unsigned int script : 1;
};
/* Version dependencies. */
diff --git a/include/dis-asm.h b/include/dis-asm.h
index e036fef0b..84c436d4f 100644
--- a/include/dis-asm.h
+++ b/include/dis-asm.h
@@ -210,6 +210,7 @@ extern int print_insn_fr30 PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_hppa PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_i860 PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_i960 PARAMS ((bfd_vma, disassemble_info*));
+extern int print_insn_ip2k PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_m32r PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_m88k PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_mcore PARAMS ((bfd_vma, disassemble_info*));
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog
index 3e64a32c0..a7dfa2596 100644
--- a/include/elf/ChangeLog
+++ b/include/elf/ChangeLog
@@ -1,3 +1,29 @@
+2002-08-15 Alan Modra <amodra@bigpond.net.au>
+
+ * i370.h: Define relocs using reloc-macros.h.
+
+2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11.h (E_M68HC12_BANKS, E_M68HC11_I32, E_M68HC11_F64,
+ EF_M68HC11_ABI): Define for ABI specification.
+ (STO_M68HC12_FAR, STO_M68HC12_INTERRUPT): Symbol flags for
+ linker and debugger.
+ (R_M68HC11_24, R_M68HC11_LO16, R_M68HC11_PAGE): New relocs.
+ (R_M68HC11_RL_JUMP, R_M68HC11_RL_GROUP): New reloc for linker
+ relaxation.
+
+2002-07-15 Denis Chertykov <denisc@overta.ru>
+ Frank Ch. Eigler <fche@redhat.com>
+ Ben Elliston <bje@redhat.com>
+ Alan Lehotsky <alehotsky@cygnus.com>
+ John Healy <jhealy@redhat.com>
+ Graham Stott <grahams@redhat.com>
+ Jeff Johnston <jjohnstn@redhat.com>
+
+ * common.h (EM_IP2K): New macro.
+ (EM_IP2K_OLD): New macro.
+ * ip2k.h: New file.
+
2002-07-01 Matt Thomas <matt@3am-software.com>
* vax.h: Rename EF_* to EF_VAX_*.
diff --git a/include/elf/common.h b/include/elf/common.h
index 4e1b50276..0cef267e9 100644
--- a/include/elf/common.h
+++ b/include/elf/common.h
@@ -176,6 +176,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor */
#define EM_ARC_A5 93 /* ARC Cores Tangent-A5 */
#define EM_XTENSA 94 /* Tensilica Xtensa Architecture */
+#define EM_IP2K 101 /* Ubicom IP2022 micro controller */
/* If it is necessary to assign new unofficial EM_* values, please pick large
random numbers (0x8523, 0xa7f2, etc.) to minimize the chances of collision
@@ -246,6 +247,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* FRV magic number - no EABI available??. */
#define EM_CYGNUS_FRV 0x5441
+
+/* Ubicom IP2xxx; no ABI */
+#define EM_IP2K_OLD 0x8217
+
/* See the above comment before you add a new EM_* value here. */
/* Values for e_version. */
diff --git a/include/elf/i370.h b/include/elf/i370.h
index b6f478535..fd5ec4739 100644
--- a/include/elf/i370.h
+++ b/include/elf/i370.h
@@ -1,5 +1,5 @@
/* i370 ELF support for BFD.
- Copyright 2000 Free Software Foundation, Inc.
+ Copyright 2000, 2002 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -23,6 +23,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifndef _ELF_I370_H
#define _ELF_I370_H
+#include "elf/reloc-macros.h"
+
/* Processor specific section headers, sh_type field */
#define SHT_ORDERED SHT_HIPROC /* Link editor is to sort the \
@@ -41,6 +43,26 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
builds when those objects \
are not to be furhter \
relocated. */
-#endif /* _ELF_I370_H */
+/* i370 relocations
+ Note that there is really just one relocation that we currently
+ support (and only one that we seem to need, at the moment), and
+ that is the 31-bit address relocation. Note that the 370/390
+ only supports a 31-bit (2GB) address space. */
+START_RELOC_NUMBERS (i370_reloc_type)
+ RELOC_NUMBER (R_I370_NONE, 0)
+ RELOC_NUMBER (R_I370_ADDR31, 1)
+ RELOC_NUMBER (R_I370_ADDR32, 2)
+ RELOC_NUMBER (R_I370_ADDR16, 3)
+ RELOC_NUMBER (R_I370_REL31, 4)
+ RELOC_NUMBER (R_I370_REL32, 5)
+ RELOC_NUMBER (R_I370_ADDR12, 6)
+ RELOC_NUMBER (R_I370_REL12, 7)
+ RELOC_NUMBER (R_I370_ADDR8, 8)
+ RELOC_NUMBER (R_I370_REL8, 9)
+ RELOC_NUMBER (R_I370_COPY, 10)
+ RELOC_NUMBER (R_I370_RELATIVE, 11)
+END_RELOC_NUMBERS (R_I370_max)
+
+#endif /* _ELF_I370_H */
diff --git a/include/elf/ip2k.h b/include/elf/ip2k.h
new file mode 100644
index 000000000..c331b720f
--- /dev/null
+++ b/include/elf/ip2k.h
@@ -0,0 +1,62 @@
+/* IP2xxx ELF support for BFD.
+ Copyright (C) 2000, 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_IP2K_H
+#define _ELF_IP2K_H
+
+#include "elf/reloc-macros.h"
+
+/* Relocations. */
+START_RELOC_NUMBERS (elf_ip2k_reloc_type)
+ RELOC_NUMBER (R_IP2K_NONE, 0)
+ RELOC_NUMBER (R_IP2K_16, 1)
+ RELOC_NUMBER (R_IP2K_32, 2)
+ RELOC_NUMBER (R_IP2K_FR9, 3)
+ RELOC_NUMBER (R_IP2K_BANK, 4)
+ RELOC_NUMBER (R_IP2K_ADDR16CJP, 5)
+ RELOC_NUMBER (R_IP2K_PAGE3, 6)
+ RELOC_NUMBER (R_IP2K_LO8DATA, 7)
+ RELOC_NUMBER (R_IP2K_HI8DATA, 8)
+ RELOC_NUMBER (R_IP2K_LO8INSN, 9)
+ RELOC_NUMBER (R_IP2K_HI8INSN, 10)
+ RELOC_NUMBER (R_IP2K_PC_SKIP, 11)
+ RELOC_NUMBER (R_IP2K_TEXT, 12)
+ RELOC_NUMBER (R_IP2K_FR_OFFSET, 13)
+ RELOC_NUMBER (R_IP2K_EX8DATA, 14)
+END_RELOC_NUMBERS(R_IP2K_max)
+
+
+/* Define the data & instruction memory discriminator. In a linked
+ executable, an symbol should be deemed to point to an instruction
+ if ((address & IP2K_INSN_MASK) == IP2K_INSN_VALUE), and similarly
+ for the data space. See also `ld/emulparams/elf32ip2k.sh'. */
+/* ??? Consider extending the _MASK values to include all the
+ intermediate bits that must be zero due to the limited physical
+ memory size on the IP2K. */
+
+#define IP2K_DATA_MASK 0xff000000
+#define IP2K_DATA_VALUE 0x01000000
+#define IP2K_INSN_MASK 0xff000000
+#define IP2K_INSN_VALUE 0x02000000
+
+/* The location of the memory mapped hardware stack. */
+#define IP2K_STACK_VALUE 0x0f000000
+#define IP2K_STACK_SIZE 0x20
+
+#endif /* _ELF_IP2K_H */
diff --git a/include/elf/m68hc11.h b/include/elf/m68hc11.h
index 0f9546d74..c4ef37d97 100644
--- a/include/elf/m68hc11.h
+++ b/include/elf/m68hc11.h
@@ -1,5 +1,5 @@
/* m68hc11 & m68hc12 ELF support for BFD.
- Copyright 1999, 2000 Free Software Foundation, Inc.
+ Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -37,6 +37,41 @@ START_RELOC_NUMBERS (elf_m68hc11_reloc_type)
/* These are GNU extensions to enable C++ vtable garbage collection. */
RELOC_NUMBER (R_M68HC11_GNU_VTINHERIT, 9)
RELOC_NUMBER (R_M68HC11_GNU_VTENTRY, 10)
+
+ RELOC_NUMBER (R_M68HC11_24, 11)
+ RELOC_NUMBER (R_M68HC11_LO16, 12)
+ RELOC_NUMBER (R_M68HC11_PAGE, 13)
+
+ /* GNU extension for linker relaxation.
+ Mark beginning of a jump instruction (any form). */
+ RELOC_NUMBER (R_M68HC11_RL_JUMP, 20)
+
+ /* Mark beginning of Gcc relaxation group instruction. */
+ RELOC_NUMBER (R_M68HC11_RL_GROUP, 21)
END_RELOC_NUMBERS (R_M68HC11_max)
+/* Processor specific flags for the ELF header e_flags field. */
+
+/* ABI identification. */
+#define EF_M68HC11_ABI 0x00000000F
+
+/* Integers are 32-bit long. */
+#define E_M68HC11_I32 0x000000001
+
+/* Doubles are 64-bit long. */
+#define E_M68HC11_F64 0x000000002
+
+/* Uses 68HC12 memory banks. */
+#define E_M68HC12_BANKS 0x000000004
+
+
+/* Special values for the st_other field in the symbol table. These
+ are used for 68HC12 to identify far functions (must be called with
+ 'call' and returns with 'rtc'). */
+#define STO_M68HC12_FAR 0x80
+
+/* Identify interrupt handlers. This is used by the debugger to
+ correctly compute the stack frame. */
+#define STO_M68HC12_INTERRUPT 0x40
+
#endif
diff --git a/include/gdb/ChangeLog b/include/gdb/ChangeLog
index 29a5af9b6..c39a7a047 100644
--- a/include/gdb/ChangeLog
+++ b/include/gdb/ChangeLog
@@ -1,3 +1,24 @@
+2002-07-29 Andrey Volkov <avolkov@transas.com>
+
+ * sim-h8300.h: Rename all enums from H8300_ to SIM_H8300_
+ prefix.
+
+2002-07-23 Andrey Volkov <avolkov@transas.com>
+
+ * sim-h8300.h: New file.
+
+2002-07-17 Andrew Cagney <cagney@redhat.com>
+
+ * remote-sim.h: Update copyright.
+ (sim_set_callbacks, sim_size, sim_trace)
+ (sim_set_trace, sim_set_profile_size, sim_kill): Delete. Moved to
+ "sim/common/run-sim.h".
+
+Wed Jul 17 19:36:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * sim-sh.h: Add enum constants for sh[1-4], sh3e, sh3?-dsp,
+ renumbering the sh-dsp registers to use distinct numbers.
+
2002-06-15 Andrew Cagney <ac131313@redhat.com>
* sim-arm.h (enum sim_arm_regs): Rename sim_arm_regnum.
diff --git a/include/gdb/remote-sim.h b/include/gdb/remote-sim.h
index 726ec623f..14d90b444 100644
--- a/include/gdb/remote-sim.h
+++ b/include/gdb/remote-sim.h
@@ -1,6 +1,7 @@
/* This file defines the interface between the simulator and gdb.
- Copyright 1993, 1994, 1996, 1997, 1998, 2000
- Free Software Foundation, Inc.
+
+ Copyright 1993, 1994, 1996, 1997, 1998, 2000, 2002 Free Software
+ Foundation, Inc.
This file is part of GDB.
@@ -289,63 +290,6 @@ SIM_RC sim_enable_breakpoint PARAMS ((SIM_DESC sd, SIM_ADDR addr));
SIM_RC sim_disable_breakpoint PARAMS ((SIM_DESC sd, SIM_ADDR addr));
SIM_RC sim_enable_all_breakpoints PARAMS ((SIM_DESC sd));
SIM_RC sim_disable_all_breakpoints PARAMS ((SIM_DESC sd));
-
-
-/* Provide simulator with a default (global) host_callback_struct.
- THIS PROCEDURE IS DEPRECIATED.
- GDB and NRUN do not use this interface.
- This procedure does not take a SIM_DESC argument as it is
- used before sim_open. */
-
-void sim_set_callbacks PARAMS ((struct host_callback_struct *));
-
-
-/* Set the size of the simulator memory array.
- THIS PROCEDURE IS DEPRECIATED.
- GDB and NRUN do not use this interface.
- This procedure does not take a SIM_DESC argument as it is
- used before sim_open. */
-
-void sim_size PARAMS ((int i));
-
-
-/* Single-step simulator with tracing enabled.
- THIS PROCEDURE IS DEPRECIATED.
- THIS PROCEDURE IS EVEN MORE DEPRECATED THAN SIM_SET_TRACE
- GDB and NRUN do not use this interface.
- This procedure returns: ``0'' indicating that the simulator should
- be continued using sim_trace() calls; ``1'' indicating that the
- simulation has finished. */
-
-int sim_trace PARAMS ((SIM_DESC sd));
-
-
-/* Enable tracing.
- THIS PROCEDURE IS DEPRECIATED.
- GDB and NRUN do not use this interface.
- This procedure returns: ``0'' indicating that the simulator should
- be continued using sim_trace() calls; ``1'' indicating that the
- simulation has finished. */
-
-void sim_set_trace PARAMS ((void));
-
-
-/* Configure the size of the profile buffer.
- THIS PROCEDURE IS DEPRECIATED.
- GDB and NRUN do not use this interface.
- This procedure does not take a SIM_DESC argument as it is
- used before sim_open. */
-
-void sim_set_profile_size PARAMS ((int n));
-
-
-/* Kill the running program.
- THIS PROCEDURE IS DEPRECIATED.
- GDB and NRUN do not use this interface.
- This procedure will be replaced as part of the introduction of
- multi-cpu simulators. */
-
-void sim_kill PARAMS ((SIM_DESC sd));
#ifdef __cplusplus
}
diff --git a/include/gdb/sim-h8300.h b/include/gdb/sim-h8300.h
new file mode 100644
index 000000000..ecc688352
--- /dev/null
+++ b/include/gdb/sim-h8300.h
@@ -0,0 +1,78 @@
+/* This file defines the interface between the h8300 simulator and gdb.
+ Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GDB.
+
+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. */
+
+#if !defined (SIM_H8300_H)
+#define SIM_H8300_H
+
+#ifdef __cplusplus
+extern "C" { //}
+#endif
+
+/* The simulator makes use of the following register information. */
+
+ enum sim_h8300_regs
+ {
+ /* Registers common to all the H8 variants. */
+ /* Start here: */
+ SIM_H8300_R0_REGNUM,
+ SIM_H8300_R1_REGNUM,
+ SIM_H8300_R2_REGNUM,
+ SIM_H8300_R3_REGNUM,
+ SIM_H8300_R4_REGNUM,
+ SIM_H8300_R5_REGNUM,
+ SIM_H8300_R6_REGNUM,
+ SIM_H8300_R7_REGNUM,
+
+ SIM_H8300_CCR_REGNUM, /* Contains processor status */
+ SIM_H8300_PC_REGNUM, /* Contains program counter */
+ /* End here */
+
+ SIM_H8300_EXR_REGNUM, /* Contains extended processor status
+ H8S and higher */
+ SIM_H8300_MACL_REGNUM, /* Lower part of MAC register (26xx only)*/
+ SIM_H8300_MACH_REGNUM, /* High part of MAC register (26xx only) */
+
+ SIM_H8300_CYCLE_REGNUM,
+ SIM_H8300_INST_REGNUM,
+ SIM_H8300_TICK_REGNUM
+ };
+
+ enum
+ {
+ SIM_H8300_ARG_FIRST_REGNUM = SIM_H8300_R0_REGNUM, /* first reg in which an arg
+ may be passed */
+ SIM_H8300_ARG_LAST_REGNUM = SIM_H8300_R3_REGNUM, /* last reg in which an arg
+ may be passed */
+ SIM_H8300_FP_REGNUM = SIM_H8300_R6_REGNUM, /* Contain address of executing
+ stack frame */
+ SIM_H8300_SP_REGNUM = SIM_H8300_R7_REGNUM /* Contains address of top of stack */
+ };
+
+ enum
+ {
+ SIM_H8300_NUM_COMMON_REGS = 10,
+ SIM_H8300_S_NUM_REGS = 13,
+ SIM_H8300_NUM_REGS = 16
+ };
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* SIM_H8300_H */
diff --git a/include/gdb/sim-sh.h b/include/gdb/sim-sh.h
index 3c736be86..ec0d6276b 100644
--- a/include/gdb/sim-sh.h
+++ b/include/gdb/sim-sh.h
@@ -1,5 +1,5 @@
/* This file defines the interface between the sh simulator and gdb.
- Copyright (C) 2002 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2002 Free Software Foundation, Inc.
This file is part of GDB.
@@ -27,25 +27,132 @@ extern "C" { // }
/* The simulator makes use of the following register information. */
enum
- {
- SIM_SH64_R0_REGNUM = 0,
- SIM_SH64_SP_REGNUM = 15,
- SIM_SH64_PC_REGNUM = 64,
- SIM_SH64_SR_REGNUM = 65,
- SIM_SH64_SSR_REGNUM = 66,
- SIM_SH64_SPC_REGNUM = 67,
- SIM_SH64_TR0_REGNUM = 68,
- SIM_SH64_FPCSR_REGNUM = 76,
- SIM_SH64_FR0_REGNUM = 77
- };
+{
+ SIM_SH_R0_REGNUM = 0,
+ SIM_SH_R1_REGNUM,
+ SIM_SH_R2_REGNUM,
+ SIM_SH_R3_REGNUM,
+ SIM_SH_R4_REGNUM,
+ SIM_SH_R5_REGNUM,
+ SIM_SH_R6_REGNUM,
+ SIM_SH_R7_REGNUM,
+ SIM_SH_R8_REGNUM,
+ SIM_SH_R9_REGNUM,
+ SIM_SH_R10_REGNUM,
+ SIM_SH_R11_REGNUM,
+ SIM_SH_R12_REGNUM,
+ SIM_SH_R13_REGNUM,
+ SIM_SH_R14_REGNUM,
+ SIM_SH_R15_REGNUM,
+ SIM_SH_PC_REGNUM,
+ SIM_SH_PR_REGNUM,
+ SIM_SH_GBR_REGNUM,
+ SIM_SH_VBR_REGNUM,
+ SIM_SH_MACH_REGNUM,
+ SIM_SH_MACL_REGNUM,
+ SIM_SH_SR_REGNUM,
+ SIM_SH_FPUL_REGNUM,
+ SIM_SH_FPSCR_REGNUM,
+ SIM_SH_FR0_REGNUM, /* FRn registers: sh3e / sh4 */
+ SIM_SH_FR1_REGNUM,
+ SIM_SH_FR2_REGNUM,
+ SIM_SH_FR3_REGNUM,
+ SIM_SH_FR4_REGNUM,
+ SIM_SH_FR5_REGNUM,
+ SIM_SH_FR6_REGNUM,
+ SIM_SH_FR7_REGNUM,
+ SIM_SH_FR8_REGNUM,
+ SIM_SH_FR9_REGNUM,
+ SIM_SH_FR10_REGNUM,
+ SIM_SH_FR11_REGNUM,
+ SIM_SH_FR12_REGNUM,
+ SIM_SH_FR13_REGNUM,
+ SIM_SH_FR14_REGNUM,
+ SIM_SH_FR15_REGNUM,
+ SIM_SH_SSR_REGNUM, /* sh3{,e,-dsp}, sh4 */
+ SIM_SH_SPC_REGNUM, /* sh3{,e,-dsp}, sh4 */
+ SIM_SH_R0_BANK0_REGNUM, /* SIM_SH_Rn_BANKm_REGNUM: sh3[e] / sh4 */
+ SIM_SH_R1_BANK0_REGNUM,
+ SIM_SH_R2_BANK0_REGNUM,
+ SIM_SH_R3_BANK0_REGNUM,
+ SIM_SH_R4_BANK0_REGNUM,
+ SIM_SH_R5_BANK0_REGNUM,
+ SIM_SH_R6_BANK0_REGNUM,
+ SIM_SH_R7_BANK0_REGNUM,
+ SIM_SH_R0_BANK1_REGNUM,
+ SIM_SH_R1_BANK1_REGNUM,
+ SIM_SH_R2_BANK1_REGNUM,
+ SIM_SH_R3_BANK1_REGNUM,
+ SIM_SH_R4_BANK1_REGNUM,
+ SIM_SH_R5_BANK1_REGNUM,
+ SIM_SH_R6_BANK1_REGNUM,
+ SIM_SH_R7_BANK1_REGNUM,
+ SIM_SH_XF0_REGNUM,
+ SIM_SH_XF1_REGNUM,
+ SIM_SH_XF2_REGNUM,
+ SIM_SH_XF3_REGNUM,
+ SIM_SH_XF4_REGNUM,
+ SIM_SH_XF5_REGNUM,
+ SIM_SH_XF6_REGNUM,
+ SIM_SH_XF7_REGNUM,
+ SIM_SH_XF8_REGNUM,
+ SIM_SH_XF9_REGNUM,
+ SIM_SH_XF10_REGNUM,
+ SIM_SH_XF11_REGNUM,
+ SIM_SH_XF12_REGNUM,
+ SIM_SH_XF13_REGNUM,
+ SIM_SH_XF14_REGNUM,
+ SIM_SH_XF15_REGNUM,
+ SIM_SH_SGR_REGNUM,
+ SIM_SH_DBR_REGNUM,
+ SIM_SH4_NUM_REGS, /* 77 */
+
+ /* sh[3]-dsp */
+ SIM_SH_DSR_REGNUM,
+ SIM_SH_A0G_REGNUM,
+ SIM_SH_A0_REGNUM,
+ SIM_SH_A1G_REGNUM,
+ SIM_SH_A1_REGNUM,
+ SIM_SH_M0_REGNUM,
+ SIM_SH_M1_REGNUM,
+ SIM_SH_X0_REGNUM,
+ SIM_SH_X1_REGNUM,
+ SIM_SH_Y0_REGNUM,
+ SIM_SH_Y1_REGNUM,
+ SIM_SH_MOD_REGNUM,
+ SIM_SH_RS_REGNUM,
+ SIM_SH_RE_REGNUM,
+ SIM_SH_R0_BANK_REGNUM,
+ SIM_SH_R1_BANK_REGNUM,
+ SIM_SH_R2_BANK_REGNUM,
+ SIM_SH_R3_BANK_REGNUM,
+ SIM_SH_R4_BANK_REGNUM,
+ SIM_SH_R5_BANK_REGNUM,
+ SIM_SH_R6_BANK_REGNUM,
+ SIM_SH_R7_BANK_REGNUM
+ /* 100..127: room for expansion. */
+};
+
+enum
+{
+ SIM_SH64_R0_REGNUM = 0,
+ SIM_SH64_SP_REGNUM = 15,
+ SIM_SH64_PC_REGNUM = 64,
+ SIM_SH64_SR_REGNUM = 65,
+ SIM_SH64_SSR_REGNUM = 66,
+ SIM_SH64_SPC_REGNUM = 67,
+ SIM_SH64_TR0_REGNUM = 68,
+ SIM_SH64_FPCSR_REGNUM = 76,
+ SIM_SH64_FR0_REGNUM = 77
+};
enum
- {
- SIM_SH64_NR_REGS = 141, /* total number of architectural registers */
- SIM_SH64_NR_R_REGS = 64, /* number of general registers */
- SIM_SH64_NR_TR_REGS = 8, /* number of target registers */
- SIM_SH64_NR_FP_REGS = 64 /* number of floating point registers */
- };
+{
+ SIM_SH64_NR_REGS = 141, /* total number of architectural registers */
+ SIM_SH64_NR_R_REGS = 64, /* number of general registers */
+ SIM_SH64_NR_TR_REGS = 8, /* number of target registers */
+ SIM_SH64_NR_FP_REGS = 64 /* number of floating point registers */
+};
#ifdef __cplusplus
}
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog
index 385b19152..b950eefc3 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -1,3 +1,24 @@
+2002-08-19 Elena Zannoni <ezannoni@redhat.com>
+
+ From matthew green <mrg@redhat.com>
+
+ * ppc.h (PPC_OPCODE_SPE): New opcode flag for Powerpc e500
+ instructions.
+ (PPC_OPCODE_ISEL, PPC_OPCODE_BRLOCK, PPC_OPCODE_PMR,
+ PPC_OPCODE_CACHELCK, PPC_OPCODE_RFMCI): New opcode flags for the
+ e500x2 Integer select, branch locking, performance monitor,
+ cache locking and machine check APUs, respectively.
+ (PPC_OPCODE_EFS): New opcode type for efs* instructions.
+ (PPC_OPCODE_CLASSIC): New opcode type for Classic PowerPC instructions.
+
+2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
+
+ * m68hc11.h (M6812_OP_PAGE): Define to identify call operand.
+ (M68HC12_BANK_VIRT, M68HC12_BANK_MASK, M68HC12_BANK_BASE,
+ M68HC12_BANK_SHIFT, M68HC12_BANK_PAGE_MASK): Define for 68HC12
+ memory banks.
+ (M6811_OC1M5, M6811_OC1M4, M6811_MODF): Fix value.
+
2002-07-09 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
* mips.h (INSN_MIPS16): New define.
diff --git a/include/opcode/m68hc11.h b/include/opcode/m68hc11.h
index 52a246130..a538026f8 100644
--- a/include/opcode/m68hc11.h
+++ b/include/opcode/m68hc11.h
@@ -1,6 +1,6 @@
/* m68hc11.h -- Header file for Motorola 68HC11 & 68HC12 opcode table
- Copyright 1999, 2000 Free Software Foundation, Inc.
- Written by Stephane Carrez (stcarrez@worldnet.fr)
+ Copyright 1999, 2000, 2002 Free Software Foundation, Inc.
+ Written by Stephane Carrez (stcarrez@nerim.fr)
This file is part of GDB, GAS, and the GNU binutils.
@@ -191,7 +191,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
/* Flags of the SPSR register. */
#define M6811_SPIF 0x80 /* SPI Transfer Complete flag */
#define M6811_WCOL 0x40 /* Write Collision */
-#define M6811_MODF 0x20 /* Mode Fault */
+#define M6811_MODF 0x10 /* Mode Fault */
/* Flags of the ADCTL register. */
#define M6811_CCF 0x80 /* Conversions Complete Flag */
@@ -212,8 +212,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
/* Flags of the OC1M register. */
#define M6811_OC1M7 0x80 /* Output Compare 7 */
#define M6811_OC1M6 0x40 /* 6 */
-#define M6811_OC1M5 0x40 /* 5 */
-#define M6811_OC1M4 0x40 /* 4 */
+#define M6811_OC1M5 0x20 /* 5 */
+#define M6811_OC1M4 0x10 /* 4 */
#define M6811_OC1M3 0x08 /* 3 */
/* Flags of the OC1D register. */
@@ -341,7 +341,9 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
#define M6812_OP_IDX_2 0x0800 /* N,r N:16-bits */
#define M6812_OP_D_IDX 0x1000 /* Indirect indexed: [D,r] */
#define M6812_OP_D_IDX_2 0x2000 /* [N,r] N:16-bits */
-#define M6811_OP_MASK 0x0FFFF
+#define M6812_OP_PAGE 0x4000 /* Page number */
+#define M6811_OP_MASK 0x07FFF
+#define M6811_OP_BRANCH 0x00008000 /* Branch, jsr, call */
#define M6811_OP_BITMASK 0x00010000 /* Bitmask: #<val-8> */
#define M6811_OP_JUMP_REL 0x00020000 /* Pc-Relative: <val-8> */
#define M6812_OP_JUMP_REL16 0x00040000 /* Pc-relative: <val-16> */
@@ -376,6 +378,13 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
#define M6811_OP_HIGH_ADDR 0x01000000 /* Used internally by gas. */
#define M6811_OP_LOW_ADDR 0x02000000
+#define M68HC12_BANK_VIRT 0x01000000
+#define M68HC12_BANK_MASK 0x00003fff
+#define M68HC12_BANK_BASE 0x00008000
+#define M68HC12_BANK_SHIFT 14
+#define M68HC12_BANK_PAGE_MASK 0x0ff
+
+
/* CPU identification. */
#define cpu6811 0x01
#define cpu6812 0x02
diff --git a/include/opcode/mips.h b/include/opcode/mips.h
index 312a2ac17..1a39640ca 100644
--- a/include/opcode/mips.h
+++ b/include/opcode/mips.h
@@ -377,7 +377,6 @@ struct mips_opcode
/* CPU defines, use instead of hardcoding processor number. Keep this
in sync with bfd/archures.c in order for machine selection to work. */
#define CPU_UNKNOWN 0 /* Gas internal use. */
-#define CPU_R2000 2000
#define CPU_R3000 3000
#define CPU_R3900 3900
#define CPU_R4000 4000
diff --git a/include/opcode/ppc.h b/include/opcode/ppc.h
index f7db66f63..ffd313acd 100644
--- a/include/opcode/ppc.h
+++ b/include/opcode/ppc.h
@@ -107,6 +107,30 @@ extern const int powerpc_num_opcodes;
/* Opcode isn't supported by Power4 architecture. */
#define PPC_OPCODE_NOPOWER4 (040000)
+/* Opcode is only supported by POWERPC Classic architecture. */
+#define PPC_OPCODE_CLASSIC (0100000)
+
+/* Opcode is only supported by e500x2 Core. */
+#define PPC_OPCODE_SPE (0200000)
+
+/* Opcode is supported by e500x2 Integer select APU. */
+#define PPC_OPCODE_ISEL (0400000)
+
+/* Opcode is an e500 SPE floating point instruction. */
+#define PPC_OPCODE_EFS (01000000)
+
+/* Opcode is supported by branch locking APU. */
+#define PPC_OPCODE_BRLOCK (02000000)
+
+/* Opcode is supported by performance monitor APU. */
+#define PPC_OPCODE_PMR (04000000)
+
+/* Opcode is supported by cache locking APU. */
+#define PPC_OPCODE_CACHELCK (010000000)
+
+/* Opcode is supported by machine check APU. */
+#define PPC_OPCODE_RFMCI (020000000)
+
/* A macro to extract the major opcode from an instruction. */
#define PPC_OP(i) (((i) >> 26) & 0x3f)