+2004-07-09  Nick Clifton  <nickc@redhat.com>
+
+       * config.bfd: Change sh-sybmian-elf to sh-*-symbianelf.
+       * elf32-sh-symbian.c: Rename the sh_find_elf_flags and
+       sh_elf_get_flags_from_mach functions so that they do not conflict
+       when this target is built with other sh-elf targets.
+       * elf32-sh.c (sh_elf_get_flags_from_mach): Remove bogus
+       suppression of this function.
+       (sh_elf_find_flags): Likewise.
+
 2004-07-07  Tomer Levi  <Tomer.Levi@nsc.com>
 
        * Makefile.am (ALL_MACHINES): Add cpu-crx.lo.
 
     targ_defvec=bfd_elf32_shnbsd_vec
     targ_selvecs="bfd_elf32_shlnbsd_vec shcoff_vec shlcoff_vec"
     ;;
-  sh*-symbian-elf*)
+  sh*-*-symbianelf*)
     targ_defvec=bfd_elf32_shl_symbian_vec
     targ_selvecs="shlcoff_vec shlcoff_small_vec"
     targ_underscore=yes
 
 
 /* Stop elf32-sh.c from defining any target vectors.  */
 #define SH_TARGET_ALREADY_DEFINED
+#define sh_find_elf_flags           sh_symbian_find_elf_flags
+#define sh_elf_get_flags_from_mach  sh_symbian_elf_get_flags_from_mach 
 #include "elf32-sh.c"
 
 
 
    return the equivalent ELF flags from the table.
    Return -1 if no match is found.  */
 
-#ifndef SH_TARGET_ALREADY_DEFINED
 int
 sh_elf_get_flags_from_mach (unsigned long mach)
 {
 
   return -1;
 }
-#endif
 #endif /* not sh_elf_set_mach_from_flags */
 
 #ifndef sh_elf_set_private_flags
 /* This function returns the ELF architecture number that
    corresponds to the given arch_sh* flags.  */
 
-#ifndef SH_TARGET_ALREADY_DEFINED
 int
 sh_find_elf_flags (unsigned int arch_set)
 {
 
   return sh_elf_get_flags_from_mach (bfd_mach);
 }
-#endif
 
 /* This routine initialises the elf flags when required and
    calls sh_merge_bfd_arch() to check dsp/fpu compatibility.  */
 
+2004-07-09  Nick Clifton  <nickc@redhat.com>
+
+       * configure.in: Change sh-sybmian-elf to sh-*-symbianelf.
+       * configure: Regenerate.
+       * NEWS: Change sh-sybmian-elf to sh-*-symbianelf.
+       * config/tc-sh.c (sh_elf_final_processing): Use renamed version of
+       sh_find_elf_flags if necessary.
+
 2004-07-08  Richard Sandiford  <rsandifo@redhat.com>
 
        * config/tc-mips.c (mips_fix_adjustable): If the full addend is
 
 
 * Support for the crx-elf target added.
 
-* Support for the sh-symbian-elf target added.
+* Support for the sh-symbianelf target added.
 
 * Added a pseudo-op (.secrel32) to generate 32 bit section relative relocations
   on pe[i]-i386; required for this target's DWARF 2 support.
 
   if (sh64_isa_mode != sh64_isa_unspecified)
     val = EF_SH5;
   else
+#elif defined TARGET_SYMBIAN
+    if (1)
+      val = sh_symbian_find_elf_flags (valid_arch);
+    else
 #endif /* HAVE_SH64 */
     val = sh_find_elf_flags (valid_arch);
 
 
       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
+      sh*-*-symbianelf*)               fmt=elf endian=little
 
 cat >>confdefs.h <<\_ACEOF
 #define TARGET_SYMBIAN 1
 
       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
+      sh*-*-symbianelf*)               fmt=elf endian=little
                AC_DEFINE(TARGET_SYMBIAN, 1, [Define if target is Symbian OS.])
                ;;
       sh-*-elf*)                       fmt=elf ;;
 
+2004-07-09  Nick Clifton  <nickc@redhat.com>
+
+       * configure.tgt: Change sh-sybmian-elf to sh-*-symbianelf.
+
 2004-07-06  Tomer Levi  <Tomer.Levi@nsc.com>
 
        * Makefile.am (ALL_EMULATIONS): Add eelf32crx.o.
 
 
 * Support for the crx-elf target added.
 
-* Support for the sh-symbian-elf target added.
+* Support for the sh-symbianelf target added.
 
 * A new linker command line switch has been added which allows the hash table
   size to be set to a suitable prime value near to its argument.  This switch
 
                        targ_emul=shelf_nbsd
                        targ_extra_emuls=shlelf_nbsd
                        ;;
-sh*-symbian-elf*)
+sh*-*-symbianelf*)
                        targ_emul=shlsymbian
                        ;;
 shle*-*-elf* | sh[1234]*le*-*-elf | shle*-*-kaos*)