aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDavid Carlton <carlton@bactrian.org>2002-10-11 22:23:08 +0000
committerDavid Carlton <carlton@bactrian.org>2002-10-11 22:23:08 +0000
commit25c7cec908f444fb80ac6b5ea3594de13c0a8657 (patch)
treef4d9a6c280f498da2187f04b8dadc392f67e7f5c /include
parent763914f14ca1b05fe07c4160232bee3917f8d506 (diff)
downloadgdb-25c7cec908f444fb80ac6b5ea3594de13c0a8657.zip
gdb-25c7cec908f444fb80ac6b5ea3594de13c0a8657.tar.gz
gdb-25c7cec908f444fb80ac6b5ea3594de13c0a8657.tar.bz2
Merge with mainline; merge tag carlton_dictionary-20021011-merge.
Diffstat (limited to 'include')
-rw-r--r--include/elf/ChangeLog12
-rw-r--r--include/elf/mips.h3
-rw-r--r--include/elf/sh.h16
-rw-r--r--include/opcode/ChangeLog14
-rw-r--r--include/opcode/mips.h32
5 files changed, 70 insertions, 7 deletions
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog
index 389569e..65f3160 100644
--- a/include/elf/ChangeLog
+++ b/include/elf/ChangeLog
@@ -1,3 +1,15 @@
+2002-10-11 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * sh.h: Add SH TLS relocs.
+
+2002-09-30 Gavin Romig-Koch <gavin@redhat.com>
+ Ken Raeburn <raeburn@cygnus.com>
+ Aldy Hernandez <aldyh@redhat.com>
+ Eric Christopher <echristo@redhat.com>
+ Richard Sandiford <rsandifo@redhat.com>
+
+ * mips.h (E_MIPS_MACH_4120, E_MIPS_MACH_5400, E_MIPS_MACH_5500): New.
+
2002-09-12 Roland McGrath <roland@redhat.com>
* dwarf2.h: Updates from GCC version of thie file:
diff --git a/include/elf/mips.h b/include/elf/mips.h
index 3b6fe99..81451ab 100644
--- a/include/elf/mips.h
+++ b/include/elf/mips.h
@@ -175,8 +175,11 @@ END_RELOC_NUMBERS (R_MIPS_maxext)
#define E_MIPS_MACH_4010 0x00820000
#define E_MIPS_MACH_4100 0x00830000
#define E_MIPS_MACH_4650 0x00850000
+#define E_MIPS_MACH_4120 0x00870000
#define E_MIPS_MACH_4111 0x00880000
#define E_MIPS_MACH_SB1 0x008a0000
+#define E_MIPS_MACH_5400 0x00910000
+#define E_MIPS_MACH_5500 0x00980000
/* Processor specific section indices. These sections do not actually
exist. Symbols with a st_shndx field corresponding to one of these
diff --git a/include/elf/sh.h b/include/elf/sh.h
index af78c9b..ef964d6 100644
--- a/include/elf/sh.h
+++ b/include/elf/sh.h
@@ -167,7 +167,17 @@ START_RELOC_NUMBERS (elf_sh_reloc_type)
RELOC_NUMBER (R_SH_DIR10SL, 50)
RELOC_NUMBER (R_SH_DIR10SQ, 51)
FAKE_RELOC (R_SH_FIRST_INVALID_RELOC_3, 52)
- FAKE_RELOC (R_SH_LAST_INVALID_RELOC_3, 159)
+ FAKE_RELOC (R_SH_LAST_INVALID_RELOC_3, 143)
+ RELOC_NUMBER (R_SH_TLS_GD_32, 144)
+ RELOC_NUMBER (R_SH_TLS_LD_32, 145)
+ RELOC_NUMBER (R_SH_TLS_LDO_32, 146)
+ RELOC_NUMBER (R_SH_TLS_IE_32, 147)
+ RELOC_NUMBER (R_SH_TLS_LE_32, 148)
+ RELOC_NUMBER (R_SH_TLS_DTPMOD32, 149)
+ RELOC_NUMBER (R_SH_TLS_DTPOFF32, 150)
+ RELOC_NUMBER (R_SH_TLS_TPOFF32, 151)
+ FAKE_RELOC (R_SH_FIRST_INVALID_RELOC_4, 152)
+ FAKE_RELOC (R_SH_LAST_INVALID_RELOC_4, 159)
RELOC_NUMBER (R_SH_GOT32, 160)
RELOC_NUMBER (R_SH_PLT32, 161)
RELOC_NUMBER (R_SH_COPY, 162)
@@ -205,8 +215,8 @@ START_RELOC_NUMBERS (elf_sh_reloc_type)
RELOC_NUMBER (R_SH_GLOB_DAT64, 194)
RELOC_NUMBER (R_SH_JMP_SLOT64, 195)
RELOC_NUMBER (R_SH_RELATIVE64, 196)
- FAKE_RELOC (R_SH_FIRST_INVALID_RELOC_4, 197)
- FAKE_RELOC (R_SH_LAST_INVALID_RELOC_4, 241)
+ FAKE_RELOC (R_SH_FIRST_INVALID_RELOC_5, 197)
+ FAKE_RELOC (R_SH_LAST_INVALID_RELOC_5, 241)
RELOC_NUMBER (R_SH_SHMEDIA_CODE, 242)
RELOC_NUMBER (R_SH_PT_16, 243)
RELOC_NUMBER (R_SH_IMMS16, 244)
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog
index b950eef..ab908ec 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -1,3 +1,17 @@
+2002-09-30 Gavin Romig-Koch <gavin@redhat.com>
+ Ken Raeburn <raeburn@cygnus.com>
+ Aldy Hernandez <aldyh@redhat.com>
+ Eric Christopher <echristo@redhat.com>
+ Richard Sandiford <rsandifo@redhat.com>
+
+ * mips.h: Update comment for new opcodes.
+ (OP_MASK_VECBYTE, OP_SH_VECBYTE): New.
+ (OP_MASK_VECALIGN, OP_SH_VECALIGN): New.
+ (INSN_4111, INSN_4120, INSN_5400, INSN_5500): New.
+ (CPU_VR4120, CPU_VR5400, CPU_VR5500): New.
+ (OPCODE_IS_MEMBER): Handle the new CPU_* values and INSN_* flags.
+ Don't match CPU_R4111 with INSN_4100.
+
2002-08-19 Elena Zannoni <ezannoni@redhat.com>
From matthew green <mrg@redhat.com>
diff --git a/include/opcode/mips.h b/include/opcode/mips.h
index 1a39640..3849fdc 100644
--- a/include/opcode/mips.h
+++ b/include/opcode/mips.h
@@ -137,6 +137,11 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
#define OP_MASK_ALN 0x7
#define OP_SH_VSEL 21
#define OP_MASK_VSEL 0x1f
+#define OP_MASK_VECBYTE 0x7 /* Selector field is really 4 bits,
+ but 0x8-0xf don't select bytes. */
+#define OP_SH_VECBYTE 22
+#define OP_MASK_VECALIGN 0x7 /* Vector byte-align (alni.ob) op. */
+#define OP_SH_VECALIGN 21
/* Values in the 'VSEL' field. */
#define MDMX_FMTSEL_IMM_QH 0x1d
@@ -189,6 +194,7 @@ struct mips_opcode
"i" 16 bit unsigned immediate (OP_*_IMMEDIATE)
"j" 16 bit signed immediate (OP_*_DELTA)
"k" 5 bit cache opcode in target register position (OP_*_CACHE)
+ Also used for immediate operands in vr5400 vector insns.
"o" 16 bit signed offset (OP_*_DELTA)
"p" 16 bit PC relative branch target address (OP_*_DELTA)
"q" 10 bit extra breakpoint code (OP_*_CODE2)
@@ -221,6 +227,9 @@ struct mips_opcode
"G" 5 bit destination register (OP_*_RD)
"H" 3 bit sel field for (d)mtc* and (d)mfc* (OP_*_SEL)
"P" 5 bit performance-monitor register (OP_*_PERFREG)
+ "e" 5 bit vector register byte specifier (OP_*_VECBYTE)
+ "%" 3 bit immediate vr5400 vector alignment operand (OP_*_VECALIGN)
+ see also "k" above
Macro instructions:
"A" General 32 bit expression
@@ -241,11 +250,12 @@ struct mips_opcode
Other:
"()" parens surrounding optional value
"," separates operands
+ "[]" brackets around index for vector-op scalar operand specifier (vr5400)
Characters used so far, for quick reference when adding more:
- "<>(),"
+ "%[]<>(),"
"ABCDEFGHIJLMNOPQRSTUVWXYZ"
- "abcdfhijklopqrstuvwxz"
+ "abcdefhijklopqrstuvwxz"
*/
/* These are the bits which may be set in the pinfo field of an
@@ -362,6 +372,14 @@ struct mips_opcode
#define INSN_10000 0x00100000
/* Broadcom SB-1 instruction. */
#define INSN_SB1 0x00200000
+/* NEC VR4111/VR4181 instruction. */
+#define INSN_4111 0x00400000
+/* NEC VR4120 instruction. */
+#define INSN_4120 0x00800000
+/* NEC VR5400 instruction. */
+#define INSN_5400 0x01000000
+/* NEC VR5500 instruction. */
+#define INSN_5500 0x02000000
/* MIPS ISA defines, use instead of hardcoding ISA level. */
@@ -383,11 +401,14 @@ struct mips_opcode
#define CPU_R4010 4010
#define CPU_VR4100 4100
#define CPU_R4111 4111
+#define CPU_VR4120 4120
#define CPU_R4300 4300
#define CPU_R4400 4400
#define CPU_R4600 4600
#define CPU_R4650 4650
#define CPU_R5000 5000
+#define CPU_VR5400 5400
+#define CPU_VR5500 5500
#define CPU_R6000 6000
#define CPU_R8000 8000
#define CPU_R10000 10000
@@ -407,12 +428,15 @@ struct mips_opcode
(((insn)->membership & isa) != 0 \
|| (cpu == CPU_R4650 && ((insn)->membership & INSN_4650) != 0) \
|| (cpu == CPU_R4010 && ((insn)->membership & INSN_4010) != 0) \
- || ((cpu == CPU_VR4100 || cpu == CPU_R4111) \
- && ((insn)->membership & INSN_4100) != 0) \
+ || (cpu == CPU_VR4100 && ((insn)->membership & INSN_4100) != 0) \
|| (cpu == CPU_R3900 && ((insn)->membership & INSN_3900) != 0) \
|| ((cpu == CPU_R10000 || cpu == CPU_R12000) \
&& ((insn)->membership & INSN_10000) != 0) \
|| (cpu == CPU_SB1 && ((insn)->membership & INSN_SB1) != 0) \
+ || (cpu == CPU_R4111 && ((insn)->membership & INSN_4111) != 0) \
+ || (cpu == CPU_VR4120 && ((insn)->membership & INSN_4120) != 0) \
+ || (cpu == CPU_VR5400 && ((insn)->membership & INSN_5400) != 0) \
+ || (cpu == CPU_VR5500 && ((insn)->membership & INSN_5500) != 0) \
|| 0) /* Please keep this term for easier source merging. */
/* This is a list of macro expanded instructions.