aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2004-07-06 16:58:43 +0000
committerNick Clifton <nickc@redhat.com>2004-07-06 16:58:43 +0000
commit85fbca6a4f46e23f3ebb7761821694b358e253b5 (patch)
tree0ac77d2402d894dc2a2e84110fe4e206949f6287 /gas
parente7bd9ea00e5f9144e69f3aeb477d4da420c281ed (diff)
downloadfsf-binutils-gdb-85fbca6a4f46e23f3ebb7761821694b358e253b5.zip
fsf-binutils-gdb-85fbca6a4f46e23f3ebb7761821694b358e253b5.tar.gz
fsf-binutils-gdb-85fbca6a4f46e23f3ebb7761821694b358e253b5.tar.bz2
Add support for sh-symbian-elf target
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog7
-rw-r--r--gas/config.in3
-rw-r--r--gas/config/tc-sh.h2
-rwxr-xr-xgas/configure7
-rw-r--r--gas/configure.in3
5 files changed, 22 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index a7b174e..48042bb 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,12 @@
2004-07-06 Nick Clifton <nickc@redhat.com>
+ * config.in: Undefine TARGET_SYMBIAN by default.
+ * configure.in:
+ * configure: Regenerate. Add sh-symbian-elf target. If
+ selected define TARGET_SYMBIAN.
+ * config/tc-sh.h (TARGET_FORMAT): Select a Symbian target
+ format if TARGET_SYMBIAN has been defined.
+
* output-file.c (output_file_create): Report the target format
chosen when bfd_openw reports that it is invalid.
diff --git a/gas/config.in b/gas/config.in
index 5776361..d124077 100644
--- a/gas/config.in
+++ b/gas/config.in
@@ -275,6 +275,9 @@
/* Define if default target is PowerPC Solaris. */
#undef TARGET_SOLARIS_COMMENT
+/* Define if target is Symbian OS. */
+#undef TARGET_SYMBIAN
+
/* Target vendor. */
#undef TARGET_VENDOR
diff --git a/gas/config/tc-sh.h b/gas/config/tc-sh.h
index 9931847..acf1649 100644
--- a/gas/config/tc-sh.h
+++ b/gas/config/tc-sh.h
@@ -189,6 +189,8 @@ extern int target_big_endian;
#define TARGET_FORMAT (!target_big_endian ? "elf32-sh-linux" : "elf32-shbig-linux")
#elif defined(TE_NetBSD)
#define TARGET_FORMAT (!target_big_endian ? "elf32-shl-nbsd" : "elf32-sh-nbsd")
+#elif defined TARGET_SYMBIAN
+#define TARGET_FORMAT (!target_big_endian ? "elf32-shl-symbian" : "elf32-sh-symbian")
#else
#define TARGET_FORMAT (!target_big_endian ? "elf32-shl" : "elf32-sh")
#endif
diff --git a/gas/configure b/gas/configure
index 1f83fbf..668df15 100755
--- a/gas/configure
+++ b/gas/configure
@@ -4504,6 +4504,13 @@ echo "$as_me: error: Solaris must be configured little endian" >&2;}
sh5*-*-netbsd*) fmt=elf em=nbsd ;;
sh64*-*-netbsd*) fmt=elf em=nbsd ;;
sh*-*-netbsdelf*) fmt=elf em=nbsd ;;
+ sh*-symbian-elf*) fmt=elf endian=little
+
+cat >>confdefs.h <<\_ACEOF
+#define TARGET_SYMBIAN 1
+_ACEOF
+
+ ;;
sh-*-elf*) fmt=elf ;;
sh-*-coff*) fmt=coff ;;
sh-*-nto*) fmt=elf ;;
diff --git a/gas/configure.in b/gas/configure.in
index ab6460c..10e3648 100644
--- a/gas/configure.in
+++ b/gas/configure.in
@@ -448,6 +448,9 @@ changequote([,])dnl
sh5*-*-netbsd*) fmt=elf em=nbsd ;;
sh64*-*-netbsd*) fmt=elf em=nbsd ;;
sh*-*-netbsdelf*) fmt=elf em=nbsd ;;
+ sh*-symbian-elf*) fmt=elf endian=little
+ AC_DEFINE(TARGET_SYMBIAN, 1, [Define if target is Symbian OS.])
+ ;;
sh-*-elf*) fmt=elf ;;
sh-*-coff*) fmt=coff ;;
sh-*-nto*) fmt=elf ;;