From: sclarke Date: Wed, 9 Oct 2002 19:07:42 +0000 (+0000) Subject: * config/tc-sh64.c (sh64_target_format): Add support for sh64 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=86efa82c0b7fa308b0b322fea70e28fadc4016fb;p=pf3gnuchains%2Fsourceware.git * config/tc-sh64.c (sh64_target_format): Add support for sh64 Linux environment. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index ed37bd25ec..30124d522f 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2002-10-09 Richard Shann + Stephen Clarke + + * config/tc-sh64.c (sh64_target_format): Add support for sh64 + Linux environment. + 2002-10-03 Kaz Kojima * contig/tc-sh.c (sh_local_pcrel): New. diff --git a/gas/config/tc-sh64.c b/gas/config/tc-sh64.c index 6ac77b853d..8d899fbefb 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. */