summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog7
-rw-r--r--bfd/archures.c9
-rw-r--r--bfd/bfd-in2.h9
-rw-r--r--bfd/cpu-msp430.c40
-rw-r--r--bfd/elf32-msp430.c68
-rwxr-xr-xconfig.sub4
-rw-r--r--include/elf/ChangeLog5
-rw-r--r--include/elf/msp430.h7
8 files changed, 87 insertions, 62 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 13bfca62ebd..f3070c79763 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,10 @@
+2003-08-08 Dmitry Diky <diwil@mail.ru>
+
+ * archures.c: Add xW42 and xE42 parts. Sort MPU list according to gcc order.
+ * cpu-msp430.c: Likewise.
+ * elf32-msp430.c: Likewise.
+ * bfd-in2.h: Regenerate.
+
2003-08-07 Alan Modra <amodra@bigpond.net.au>
* elfxx-target.h: Remove PTR cast.
diff --git a/bfd/archures.c b/bfd/archures.c
index 77f6a9e6e13..407cd263141 100644
--- a/bfd/archures.c
+++ b/bfd/archures.c
@@ -301,19 +301,20 @@ DESCRIPTION
. bfd_arch_xstormy16,
.#define bfd_mach_xstormy16 1
. bfd_arch_msp430, {* Texas Instruments MSP430 architecture. *}
-.#define bfd_mach_msp110 110
.#define bfd_mach_msp11 11
+.#define bfd_mach_msp110 110
.#define bfd_mach_msp12 12
.#define bfd_mach_msp13 13
.#define bfd_mach_msp14 14
-.#define bfd_mach_msp41 41
+.#define bfd_mach_msp15 15
+.#define bfd_mach_msp16 16
.#define bfd_mach_msp31 31
.#define bfd_mach_msp32 32
.#define bfd_mach_msp33 33
+.#define bfd_mach_msp41 41
+.#define bfd_mach_msp42 42
.#define bfd_mach_msp43 43
.#define bfd_mach_msp44 44
-.#define bfd_mach_msp15 15
-.#define bfd_mach_msp16 16
. bfd_arch_xtensa, {* Tensilica's Xtensa cores. *}
.#define bfd_mach_xtensa 1
. bfd_arch_last
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 0479814767b..bab08097727 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -1731,19 +1731,20 @@ enum bfd_architecture
bfd_arch_xstormy16,
#define bfd_mach_xstormy16 1
bfd_arch_msp430, /* Texas Instruments MSP430 architecture. */
-#define bfd_mach_msp110 110
#define bfd_mach_msp11 11
+#define bfd_mach_msp110 110
#define bfd_mach_msp12 12
#define bfd_mach_msp13 13
#define bfd_mach_msp14 14
-#define bfd_mach_msp41 41
+#define bfd_mach_msp15 15
+#define bfd_mach_msp16 16
#define bfd_mach_msp31 31
#define bfd_mach_msp32 32
#define bfd_mach_msp33 33
+#define bfd_mach_msp41 41
+#define bfd_mach_msp42 42
#define bfd_mach_msp43 43
#define bfd_mach_msp44 44
-#define bfd_mach_msp15 15
-#define bfd_mach_msp16 16
bfd_arch_xtensa, /* Tensilica's Xtensa cores. */
#define bfd_mach_xtensa 1
bfd_arch_last
diff --git a/bfd/cpu-msp430.c b/bfd/cpu-msp430.c
index c7d283b63bb..54ed649a34b 100644
--- a/bfd/cpu-msp430.c
+++ b/bfd/cpu-msp430.c
@@ -46,42 +46,44 @@ static const bfd_arch_info_type arch_info_struct[] =
/* msp430x11x. */
N (16, bfd_mach_msp11, "msp:11", FALSE, & arch_info_struct[1]),
+ /* msp430x11x1. */
+ N (16, bfd_mach_msp110, "msp:110", FALSE, & arch_info_struct[2]),
+
/* msp430x12x. */
- N (16, bfd_mach_msp12, "msp:12", FALSE, & arch_info_struct[2]),
+ N (16, bfd_mach_msp12, "msp:12", FALSE, & arch_info_struct[3]),
/* msp430x13x. */
- N (16, bfd_mach_msp13, "msp:13", FALSE, & arch_info_struct[3]),
+ N (16, bfd_mach_msp13, "msp:13", FALSE, & arch_info_struct[4]),
/* msp430x14x. */
- N (16, bfd_mach_msp14, "msp:14", FALSE, & arch_info_struct[4]),
+ N (16, bfd_mach_msp14, "msp:14", FALSE, & arch_info_struct[5]),
+
+ /* msp430x15x. */
+ N (16, bfd_mach_msp15, "msp:15", FALSE, & arch_info_struct[6]),
+
+ /* msp430x16x. */
+ N (16, bfd_mach_msp16, "msp:16", FALSE, & arch_info_struct[7]),
/* msp430x31x. */
- N (16, bfd_mach_msp31, "msp:31", FALSE, & arch_info_struct[5]),
+ N (16, bfd_mach_msp31, "msp:31", FALSE, & arch_info_struct[8]),
/* msp430x32x. */
- N (16, bfd_mach_msp32, "msp:32", FALSE, & arch_info_struct[6]),
+ N (16, bfd_mach_msp32, "msp:32", FALSE, & arch_info_struct[9]),
/* msp430x33x. */
- N (16, bfd_mach_msp33, "msp:33", FALSE, & arch_info_struct[7]),
+ N (16, bfd_mach_msp33, "msp:33", FALSE, & arch_info_struct[10]),
/* msp430x41x. */
- N (16, bfd_mach_msp41, "msp:41", FALSE, & arch_info_struct[8]),
+ N (16, bfd_mach_msp41, "msp:41", FALSE, & arch_info_struct[11]),
+
+ /* msp430x42x. */
+ N (16, bfd_mach_msp42, "msp:42", FALSE, & arch_info_struct[12]),
/* msp430x43x. */
- N (16, bfd_mach_msp43, "msp:43", FALSE, & arch_info_struct[9]),
+ N (16, bfd_mach_msp43, "msp:43", FALSE, & arch_info_struct[13]),
/* msp430x44x. */
- N (16, bfd_mach_msp43, "msp:44", FALSE, & arch_info_struct[10]),
-
- /* msp430x15x. */
- N (16, bfd_mach_msp15, "msp:15", FALSE, & arch_info_struct[11]),
-
- /* msp430x16x. */
- N (16, bfd_mach_msp16, "msp:16", FALSE, & arch_info_struct[12]),
-
- /* msp430x11x1. */
- N (16, bfd_mach_msp110, "msp:110", FALSE, NULL)
-
+ N (16, bfd_mach_msp43, "msp:44", FALSE, NULL)
};
const bfd_arch_info_type bfd_msp430_arch =
diff --git a/bfd/elf32-msp430.c b/bfd/elf32-msp430.c
index 23f5069cb19..b09ef873cb1 100644
--- a/bfd/elf32-msp430.c
+++ b/bfd/elf32-msp430.c
@@ -550,10 +550,6 @@ bfd_elf_msp430_final_write_processing (abfd, linker)
switch (bfd_get_mach (abfd))
{
default:
- case bfd_mach_msp12:
- val = E_MSP430_MACH_MSP430x12;
- break;
-
case bfd_mach_msp110:
val = E_MSP430_MACH_MSP430x11x1;
break;
@@ -562,6 +558,10 @@ bfd_elf_msp430_final_write_processing (abfd, linker)
val = E_MSP430_MACH_MSP430x11;
break;
+ case bfd_mach_msp12:
+ val = E_MSP430_MACH_MSP430x12;
+ break;
+
case bfd_mach_msp13:
val = E_MSP430_MACH_MSP430x13;
break;
@@ -570,16 +570,12 @@ bfd_elf_msp430_final_write_processing (abfd, linker)
val = E_MSP430_MACH_MSP430x14;
break;
- case bfd_mach_msp41:
- val = E_MSP430_MACH_MSP430x41;
- break;
-
- case bfd_mach_msp43:
- val = E_MSP430_MACH_MSP430x43;
+ case bfd_mach_msp15:
+ val = E_MSP430_MACH_MSP430x15;
break;
- case bfd_mach_msp44:
- val = E_MSP430_MACH_MSP430x44;
+ case bfd_mach_msp16:
+ val = E_MSP430_MACH_MSP430x16;
break;
case bfd_mach_msp31:
@@ -594,12 +590,20 @@ bfd_elf_msp430_final_write_processing (abfd, linker)
val = E_MSP430_MACH_MSP430x33;
break;
- case bfd_mach_msp15:
- val = E_MSP430_MACH_MSP430x15;
+ case bfd_mach_msp41:
+ val = E_MSP430_MACH_MSP430x41;
break;
- case bfd_mach_msp16:
- val = E_MSP430_MACH_MSP430x16;
+ case bfd_mach_msp42:
+ val = E_MSP430_MACH_MSP430x42;
+ break;
+
+ case bfd_mach_msp43:
+ val = E_MSP430_MACH_MSP430x43;
+ break;
+
+ case bfd_mach_msp44:
+ val = E_MSP430_MACH_MSP430x44;
break;
}
@@ -624,10 +628,6 @@ elf32_msp430_object_p (abfd)
switch (e_mach)
{
default:
- case E_MSP430_MACH_MSP430x12:
- e_set = bfd_mach_msp12;
- break;
-
case E_MSP430_MACH_MSP430x11:
e_set = bfd_mach_msp11;
break;
@@ -636,6 +636,10 @@ elf32_msp430_object_p (abfd)
e_set = bfd_mach_msp110;
break;
+ case E_MSP430_MACH_MSP430x12:
+ e_set = bfd_mach_msp12;
+ break;
+
case E_MSP430_MACH_MSP430x13:
e_set = bfd_mach_msp13;
break;
@@ -644,8 +648,12 @@ elf32_msp430_object_p (abfd)
e_set = bfd_mach_msp14;
break;
- case E_MSP430_MACH_MSP430x41:
- e_set = bfd_mach_msp41;
+ case E_MSP430_MACH_MSP430x15:
+ e_set = bfd_mach_msp15;
+ break;
+
+ case E_MSP430_MACH_MSP430x16:
+ e_set = bfd_mach_msp16;
break;
case E_MSP430_MACH_MSP430x31:
@@ -660,20 +668,20 @@ elf32_msp430_object_p (abfd)
e_set = bfd_mach_msp33;
break;
- case E_MSP430_MACH_MSP430x43:
- e_set = bfd_mach_msp43;
+ case E_MSP430_MACH_MSP430x41:
+ e_set = bfd_mach_msp41;
break;
- case E_MSP430_MACH_MSP430x44:
- e_set = bfd_mach_msp44;
+ case E_MSP430_MACH_MSP430x42:
+ e_set = bfd_mach_msp42;
break;
- case E_MSP430_MACH_MSP430x15:
- e_set = bfd_mach_msp15;
+ case E_MSP430_MACH_MSP430x43:
+ e_set = bfd_mach_msp43;
break;
- case E_MSP430_MACH_MSP430x16:
- e_set = bfd_mach_msp16;
+ case E_MSP430_MACH_MSP430x44:
+ e_set = bfd_mach_msp44;
break;
}
}
diff --git a/config.sub b/config.sub
index 725707f709a..dfeed485c2b 100755
--- a/config.sub
+++ b/config.sub
@@ -234,7 +234,7 @@ case $basic_machine in
| fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \
- | ip2k \
+ | iq2000 | ip2k \
| m32r | m68000 | m68k | m88k | mcore \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
@@ -304,7 +304,7 @@ case $basic_machine in
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| i*86-* | i860-* | i960-* | ia64-* \
- | ip2k-* \
+ | iq2000-* | ip2k-* \
| m32r-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
| m88110-* | m88k-* | mcore-* \
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog
index 90f525c7804..7d9ef0ccddc 100644
--- a/include/elf/ChangeLog
+++ b/include/elf/ChangeLog
@@ -1,3 +1,8 @@
+2003-08-08 Dmitry Diky <diwil@mail.ru>
+
+ * msp430.h: Add xW42 and xE42 parts. Sort MPU list according to
+ gcc order.
+
2003-08-07 Alan Modra <amodra@bigpond.net.au>
* reloc-macros.h (START_RELOC_NUMBERS) : Remove PARAMS macro. Use
diff --git a/include/elf/msp430.h b/include/elf/msp430.h
index cb3f241dea1..912ded7685d 100644
--- a/include/elf/msp430.h
+++ b/include/elf/msp430.h
@@ -26,19 +26,20 @@
/* Processor specific flags for the ELF header e_flags field. */
#define EF_MSP430_MACH 0xff
-#define E_MSP430_MACH_MSP430x11x1 110
#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
-#define E_MSP430_MACH_MSP430x15 15
-#define E_MSP430_MACH_MSP430x16 16
/* Relocations. */
START_RELOC_NUMBERS (elf_msp430_reloc_type)