summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/elf/ChangeLog12
-rw-r--r--include/elf/m68k.h22
-rw-r--r--include/opcode/m68k.h60
3 files changed, 72 insertions, 22 deletions
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog
index 1bac01d0e..fca9b33e3 100644
--- a/include/elf/ChangeLog
+++ b/include/elf/ChangeLog
@@ -1,3 +1,15 @@
+2006-02-07 Nathan Sidwell <nathan@codesourcery.com>
+
+ * m68k.h (EF_CPU32, EF_M68000, EF_CFV4E): Rename to ...
+ (EF_M68K_CPU32, EF_M68K_M68000, EF_M68K_CFV4E): ... here.
+ (EF_M68K_ISA_MASK, EF_M68K_ISA_A, EF_M68K_M68K_ISA_A_PLUS,
+ EF_M68K_ISA_B, EF_M68K_HW_DIV, EF_M68K_MAC_MASK, EF_M68K_MAC,
+ EF_M68K_EMAC, EF_M68K_USP, EF_M68K_FLOAT): New.
+
+2006-02-06 Steve Ellcey <sje@cup.hp.com>
+
+ * ia64.h (SHF_IA_64_HP_TLS): New.
+
2006-01-18 Alexandre Oliva <aoliva@redhat.com>
Introduce TLS descriptors for i386 and x86_64.
diff --git a/include/elf/m68k.h b/include/elf/m68k.h
index 05e2eb8f3..929cd60f4 100644
--- a/include/elf/m68k.h
+++ b/include/elf/m68k.h
@@ -1,5 +1,5 @@
/* MC68k ELF support for BFD.
- Copyright 1998, 1999, 2000, 2002, 2005 Free Software Foundation, Inc.
+ Copyright 1998, 1999, 2000, 2002, 2005, 2006 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -52,8 +52,22 @@ START_RELOC_NUMBERS (elf_m68k_reloc_type)
RELOC_NUMBER (R_68K_GNU_VTENTRY, 24)
END_RELOC_NUMBERS (R_68K_max)
-#define EF_CPU32 0x00810000
-#define EF_M68000 0x01000000
-#define EF_CFV4E 0x00008000
+#define EF_M68K_CPU32 0x00810000
+#define EF_M68K_M68000 0x01000000
+#define EF_M68K_CFV4E 0x00008000
+/* We use the bottom 8 bits to encode information about the
+ coldfire variant. */
+#define EF_M68K_ISA_MASK 0x07 /* Which ISA */
+#define EF_M68K_ISA_A 0x01
+#define EF_M68K_ISA_A_PLUS 0x02
+#define EF_M68K_ISA_B 0x03
+#define EF_M68K_HW_DIV 0x08 /* Has HW divide */
+#define EF_M68K_MAC_MASK 0x30
+#define EF_M68K_MAC 0x10 /* Has MAC */
+#define EF_M68K_EMAC 0x20 /* Has EMAC */
+#define EF_M68K_USP 0x40 /* Has USP insns */
+#define EF_M68K_FLOAT 0x80 /* Has float insns */
+#define EF_M68K_CF_MASK 0xFF
+
#endif
diff --git a/include/opcode/m68k.h b/include/opcode/m68k.h
index 84bef9895..0d21658e9 100644
--- a/include/opcode/m68k.h
+++ b/include/opcode/m68k.h
@@ -1,6 +1,6 @@
/* Opcode table header for m680[01234]0/m6888[12]/m68851.
Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999, 2001,
- 2003, 2004 Free Software Foundation, Inc.
+ 2003, 2004, 2006 Free Software Foundation, Inc.
This file is part of GDB, GAS, and the GNU binutils.
@@ -23,19 +23,15 @@
structure. */
#define _m68k_undef 0
#define m68000 0x001
-#define m68008 m68000 /* Synonym for -m68000. otherwise unused. */
#define m68010 0x002
#define m68020 0x004
#define m68030 0x008
-#define m68ec030 m68030 /* Similar enough to -m68030 to ignore differences;
- gas will deal with the few differences. */
#define m68040 0x010
-/* There is no 68050. */
#define m68060 0x020
#define m68881 0x040
-#define m68882 m68881 /* Synonym for -m68881. otherwise unused. */
#define m68851 0x080
#define cpu32 0x100 /* e.g., 68332 */
+#define m68k_mask 0x1ff
#define mcfmac 0x200 /* ColdFire MAC. */
#define mcfemac 0x400 /* ColdFire EMAC. */
@@ -47,26 +43,54 @@
#define mcfisa_b 0x8000 /* ColdFire ISA_B. */
#define mcfusp 0x10000 /* ColdFire USP instructions. */
-#define mcf5200 0x20000
-#define mcf5206e 0x40000
-#define mcf521x 0x80000
-#define mcf5249 0x100000
-#define mcf528x 0x200000
-#define mcf5307 0x400000
-#define mcf5407 0x800000
-#define mcf5470 0x1000000
-#define mcf5480 0x2000000
-
- /* Handy aliases. */
+/* Handy aliases. */
#define m68040up (m68040 | m68060)
#define m68030up (m68030 | m68040up)
#define m68020up (m68020 | m68030up)
#define m68010up (m68010 | cpu32 | m68020up)
#define m68000up (m68000 | m68010up)
-#define mfloat (m68881 | m68882 | m68040 | m68060)
+#define mfloat (m68881 | m68040 | m68060)
#define mmmu (m68851 | m68030 | m68040 | m68060)
+/* CPU numbering. There are too many of these to use a bit vector.
+ These are a one-of-many selection. Choose a numbering scheme that
+ simply maps onto manufacturer's part numbers. */
+
+/* All m68k cpus */
+#define cpu_m68k 0
+/* All coldfire cpus */
+#define cpu_cf 1000000
+
+#define cpu_m68000 (cpu_m68k + 68000)
+#define cpu_m68008 cpu_m68000 /* Synonym for -m68000. otherwise unused. */
+#define cpu_m68010 (cpu_m68k + 68010)
+#define cpu_m68020 (cpu_m68k + 68020)
+#define cpu_m68030 (cpu_m68k + 68030)
+#define cpu_m68ec030 cpu_m68030 /* Similar enough to -m68030 to ignore
+ differences; gas will deal with the few
+ differences. */
+#define cpu_m68040 (cpu_m68k + 68040)
+/* There is no 68050. */
+#define cpu_m68060 (cpu_m68k + 68060)
+#define cpu_m68851 (cpu_m68k + 68851)
+#define cpu_m68881 (cpu_m68k + 68881)
+#define cpu_m68882 cpu_m68881 /* Synonym for -m68881. otherwise unused. */
+#define cpu_cpu32 (cpu_m68k + 32)
+
+#define cpu_cf5200 (cpu_cf + 5200)
+#define cpu_cf5206e (cpu_cf + 5206)
+#define cpu_cf5208 (cpu_cf + 5208)
+#define cpu_cf521x (cpu_cf + 5210)
+#define cpu_cf5213 (cpu_cf + 5213)
+#define cpu_cf5249 (cpu_cf + 5249)
+#define cpu_cf528x (cpu_cf + 5280)
+#define cpu_cf5307 (cpu_cf + 5307)
+#define cpu_cf5329 (cpu_cf + 5329)
+#define cpu_cf5407 (cpu_cf + 5407)
+#define cpu_cf547x (cpu_cf + 5470)
+#define cpu_cf548x (cpu_cf + 5480)
+
/* The structure used to hold information for an opcode. */
struct m68k_opcode