aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWalter Lee <walt@tilera.com>2012-02-25 18:57:55 +0000
committerWalter Lee <walt@tilera.com>2012-02-25 18:57:55 +0000
commit825902491e89db303b036d82eef32ef0b07d4317 (patch)
tree13498fd177a03840343af896d71cadd5bac4ce41
parent6fe37d2340f0f261387a6a6f70d288be1d1eeb1d (diff)
downloadgdb-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/ChangeLog7
-rw-r--r--bfd/archures.c1
-rw-r--r--bfd/bfd-in2.h1
-rw-r--r--bfd/cpu-tilegx.c19
-rw-r--r--gas/ChangeLog4
-rw-r--r--gas/config/tc-tilegx.c4
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,