aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2003-08-08 10:14:52 +0000
committerNick Clifton <nickc@redhat.com>2003-08-08 10:14:52 +0000
commit3b260895e34c44f647aac36633959733e020e7fa (patch)
treee2459f6df6ef7e18363fc2892095692047ec40fe /bfd
parentff85ab24ab5e9d9230a0859aed45c03b13bea246 (diff)
downloadgdb-3b260895e34c44f647aac36633959733e020e7fa.zip
gdb-3b260895e34c44f647aac36633959733e020e7fa.tar.gz
gdb-3b260895e34c44f647aac36633959733e020e7fa.tar.bz2
Add MSP430 variants
Diffstat (limited to 'bfd')
-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
5 files changed, 76 insertions, 57 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 13bfca6..f3070c7 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 77f6a9e..407cd26 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 0479814..bab0809 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 c7d283b..54ed649 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 23f5069..b09ef87 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;
}
}