diff options
author | Stephen Clarke <stephen.clarke@earthling.net> | 2002-10-09 19:07:43 +0000 |
---|---|---|
committer | Stephen Clarke <stephen.clarke@earthling.net> | 2002-10-09 19:07:43 +0000 |
commit | f61dfddf2d39c72b66e18861c1959c3ec06aaee8 (patch) | |
tree | fb8126b29dba25e7f8a0cbae163dc2df7943db90 /gas | |
parent | efacd36e843f2553b4838cdb362478e4e362cec1 (diff) | |
download | gdb-f61dfddf2d39c72b66e18861c1959c3ec06aaee8.zip gdb-f61dfddf2d39c72b66e18861c1959c3ec06aaee8.tar.gz gdb-f61dfddf2d39c72b66e18861c1959c3ec06aaee8.tar.bz2 |
* config/tc-sh64.c (sh64_target_format): Add support for sh64
Linux environment.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/config/tc-sh64.c | 17 |
2 files changed, 19 insertions, 4 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index ed37bd2..30124d5 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2002-10-09 Richard Shann <richard.shann@superh.com> + Stephen Clarke <stephen.clarke@superh.com> + + * config/tc-sh64.c (sh64_target_format): Add support for sh64 + Linux environment. + 2002-10-03 Kaz Kojima <kkojima@rr.iij4u.or.jp> * contig/tc-sh.c (sh_local_pcrel): New. diff --git a/gas/config/tc-sh64.c b/gas/config/tc-sh64.c index 6ac77b8..8d899fb 100644 --- a/gas/config/tc-sh64.c +++ b/gas/config/tc-sh64.c @@ -2944,10 +2944,6 @@ s_sh64_abi (ignore) const char * sh64_target_format () { -#ifdef TE_LINUX - return "FIXME: No linux target yet"; -#endif - #ifdef TE_NetBSD /* For NetBSD, if the ISA is unspecified, always use SHmedia. */ if (sh64_isa_mode == sh64_isa_unspecified) @@ -2966,6 +2962,14 @@ sh64_target_format () } #endif +#ifdef TE_LINUX + if (sh64_isa_mode == sh64_isa_unspecified) + sh64_isa_mode = sh64_isa_shmedia; + + if (sh64_abi == sh64_abi_unspecified) + sh64_abi = sh64_abi_32; +#endif + if (sh64_abi == sh64_abi_64 && sh64_isa_mode == sh64_isa_unspecified) sh64_isa_mode = sh64_isa_shmedia; @@ -3002,6 +3006,11 @@ sh64_target_format () return (target_big_endian ? "elf64-sh64-nbsd" : "elf64-sh64l-nbsd"); else return (target_big_endian ? "elf32-sh64-nbsd" : "elf32-sh64l-nbsd"); +#elif defined (TE_LINUX) + if (sh64_abi == sh64_abi_64) + return (target_big_endian ? "elf64-sh64big-linux" : "elf64-sh64-linux"); + else + return (target_big_endian ? "elf32-sh64big-linux" : "elf32-sh64-linux"); #else /* When the ISA is not one of SHmedia or SHcompact, use the old SH object format. */ |