From 3b260895e34c44f647aac36633959733e020e7fa Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Fri, 8 Aug 2003 10:14:52 +0000 Subject: Add MSP430 variants --- bfd/ChangeLog | 7 ++++++ bfd/archures.c | 9 ++++---- bfd/bfd-in2.h | 9 ++++---- bfd/cpu-msp430.c | 40 +++++++++++++++++--------------- bfd/elf32-msp430.c | 68 ++++++++++++++++++++++++++++++------------------------ 5 files changed, 76 insertions(+), 57 deletions(-) (limited to 'bfd') 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 + + * 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 * 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; } } -- cgit v1.1