diff options
author | Walter Lee <walt@tilera.com> | 2012-02-25 18:57:55 +0000 |
---|---|---|
committer | Walter Lee <walt@tilera.com> | 2012-02-25 18:57:55 +0000 |
commit | 825902491e89db303b036d82eef32ef0b07d4317 (patch) | |
tree | 13498fd177a03840343af896d71cadd5bac4ce41 | |
parent | 6fe37d2340f0f261387a6a6f70d288be1d1eeb1d (diff) | |
download | gdb-825902491e89db303b036d82eef32ef0b07d4317.zip gdb-825902491e89db303b036d82eef32ef0b07d4317.tar.gz gdb-825902491e89db303b036d82eef32ef0b07d4317.tar.bz2 |
Properly create and use a bfd_arch_info_type for 32-bit tilegx.
bfd/
* arctures.c (bfd_architecture): Define bfd_mach_tilegx32.
* bfd-in2.h: Regenerate.
* cpu-tilegx.c (bfd_tilegx32_arch): define.
(bfd_tilegx_arch): link to bfd_tilegx32_arch.
gas/
* tc-tilegx.c (md_begin): set architecture and machine.
-rw-r--r-- | bfd/ChangeLog | 7 | ||||
-rw-r--r-- | bfd/archures.c | 1 | ||||
-rw-r--r-- | bfd/bfd-in2.h | 1 | ||||
-rw-r--r-- | bfd/cpu-tilegx.c | 19 | ||||
-rw-r--r-- | gas/ChangeLog | 4 | ||||
-rw-r--r-- | gas/config/tc-tilegx.c | 4 |
6 files changed, 35 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index cf9bf17..2568c32 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,10 @@ +2012-02-25 Walter Lee <walt@tilera.com> + + * arctures.c (bfd_architecture): Define bfd_mach_tilegx32. + * bfd-in2.h: Regenerate. + * cpu-tilegx.c (bfd_tilegx32_arch): define. + (bfd_tilegx_arch): link to bfd_tilegx32_arch. + 2012-02-24 Nick Clifton <nickc@redhat.com> PR ld/13730 diff --git a/bfd/archures.c b/bfd/archures.c index c833cbf..92c4867 100644 --- a/bfd/archures.c +++ b/bfd/archures.c @@ -453,6 +453,7 @@ DESCRIPTION . bfd_arch_tilegx, {* Tilera TILE-Gx *} .#define bfd_mach_tilepro 1 .#define bfd_mach_tilegx 1 +.#define bfd_mach_tilegx32 2 . bfd_arch_last . }; */ diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index fb56337..4a92e47 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -2159,6 +2159,7 @@ enum bfd_architecture bfd_arch_tilegx, /* Tilera TILE-Gx */ #define bfd_mach_tilepro 1 #define bfd_mach_tilegx 1 +#define bfd_mach_tilegx32 2 bfd_arch_last }; diff --git a/bfd/cpu-tilegx.c b/bfd/cpu-tilegx.c index dc9bc63..f98cb0c 100644 --- a/bfd/cpu-tilegx.c +++ b/bfd/cpu-tilegx.c @@ -22,6 +22,23 @@ #include "sysdep.h" #include "libbfd.h" +const bfd_arch_info_type bfd_tilegx32_arch = + { + 32, /* 32 bits in a word */ + 32, /* 32 bits in an address */ + 8, /* 8 bits in a byte */ + bfd_arch_tilegx, + bfd_mach_tilegx32, + "tilegx32", + "tilegx32", + 3, + FALSE, + bfd_default_compatible, + bfd_default_scan, + bfd_arch_default_fill, + 0, + }; + const bfd_arch_info_type bfd_tilegx_arch = { 64, /* 64 bits in a word */ @@ -36,5 +53,5 @@ const bfd_arch_info_type bfd_tilegx_arch = bfd_default_compatible, bfd_default_scan, bfd_arch_default_fill, - 0, + &bfd_tilegx32_arch, }; diff --git a/gas/ChangeLog b/gas/ChangeLog index 6293433..dda0c1a 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,7 @@ +2012-02-25 Walter Lee <walt@tilera.com> + + * tc-tilegx.c (md_begin): set architecture and machine. + 2012-02-21 H.J. Lu <hongjiu.lu@intel.com> * config/tc-i386.c (check_hle): Use HLEPrefixNone, HLEPrefixLock, diff --git a/gas/config/tc-tilegx.c b/gas/config/tc-tilegx.c index 39e1907..9f6e349 100644 --- a/gas/config/tc-tilegx.c +++ b/gas/config/tc-tilegx.c @@ -241,6 +241,10 @@ md_begin (void) { const struct tilegx_opcode *op; int i; + int mach = (tilegx_arch_size == 64) ? bfd_mach_tilegx : bfd_mach_tilegx32; + + if (! bfd_set_arch_mach (stdoutput, bfd_arch_tilegx, mach)) + as_warn (_("Could not set architecture and machine")); /* Guarantee text section is aligned. */ bfd_set_section_alignment (stdoutput, text_section, |