Define two bfd_targets for absence and presence of leading
authorHans-Peter Nilsson <hp@axis.com>
Fri, 29 Sep 2000 17:05:22 +0000 (17:05 +0000)
committerHans-Peter Nilsson <hp@axis.com>
Fri, 29 Sep 2000 17:05:22 +0000 (17:05 +0000)
underscore on symbols.  Make sure to only link same kind.
* elf32-cris.c (cris_elf_object_p,
cris_elf_final_write_processing, cris_elf_print_private_bfd_data,
cris_elf_merge_private_bfd_data): New.
(elf_backend_object_p, elf_backend_final_write_processing,
bfd_elf32_bfd_print_private_bfd_data,
bfd_elf32_bfd_merge_private_bfd_data): Define.
<Target vector definition>: Include elf32-target.h twice with
different macro settings:
(TARGET_LITTLE_SYM): First as bfd_elf32_cris_vec, then as
bfd_elf32_us_cris_vec.
(TARGET_LITTLE_NAME): First as "elf32-cris", then "elf32-us-cris".
(elf_symbol_leading_char): First as 0, then '_'.
(INCLUDED_TARGET_FILE): Define for second include of elf32-target.h.
* config.bfd (cris-*-*): Add bfd_elf32_us_cris_vec to targ_selvecs.
* configure.in (bfd_elf32_cris_vec, cris_aout_vec): New vector.
* configure: Regenerate.
* targets.c: Declare bfd_elf32_us_cris_vec.
* po/bfd.pot: Regenerate.

bfd/ChangeLog
bfd/config.bfd
bfd/configure
bfd/configure.in
bfd/elf32-cris.c
bfd/po/bfd.pot
bfd/targets.c

index 046387c24ab1641597cffc771b7903b20a7ba038..6c72eceebda8d9fefbd41eaf4ffd4c34ed8c2133 100644 (file)
@@ -1,3 +1,26 @@
+2000-09-27  Hans-Peter Nilsson  <hp@axis.com>
+
+       Define two bfd_targets for absence and presence of leading
+       underscore on symbols.  Make sure to only link same kind.
+       * elf32-cris.c (cris_elf_object_p,
+       cris_elf_final_write_processing, cris_elf_print_private_bfd_data,
+       cris_elf_merge_private_bfd_data): New.
+       (elf_backend_object_p, elf_backend_final_write_processing,
+       bfd_elf32_bfd_print_private_bfd_data,
+       bfd_elf32_bfd_merge_private_bfd_data): Define.
+       <Target vector definition>: Include elf32-target.h twice with
+       different macro settings:
+       (TARGET_LITTLE_SYM): First as bfd_elf32_cris_vec, then as
+       bfd_elf32_us_cris_vec.
+       (TARGET_LITTLE_NAME): First as "elf32-cris", then "elf32-us-cris".
+       (elf_symbol_leading_char): First as 0, then '_'.
+       (INCLUDED_TARGET_FILE): Define for second include of elf32-target.h.
+       * config.bfd (cris-*-*): Add bfd_elf32_us_cris_vec to targ_selvecs.
+       * configure.in (bfd_elf32_cris_vec, cris_aout_vec): New vector.
+       * configure: Regenerate.
+       * targets.c: Declare bfd_elf32_us_cris_vec.
+       * po/bfd.pot: Regenerate.
+
 2000-09-29  Momchil Velikov  <velco@fadata.bg>
 
        * elf32-arm.h (arm_add_to_rel): Correctly adjust the addend for
index ec8f8d68559d470b647ba6321b9d82e3dc14f735..acd0cc49431e366a4902da68c767d0d5b1425092 100644 (file)
@@ -209,8 +209,8 @@ case "${targ}" in
 
   cris-*-*)
     targ_defvec=cris_aout_vec
-    targ_selvecs="bfd_elf32_cris_vec ieee_vec"
-    targ_underscore=yes
+    targ_selvecs="bfd_elf32_us_cris_vec bfd_elf32_cris_vec ieee_vec"
+    targ_underscore=yes # Note: not true for bfd_elf32_cris_vec.
     ;;
 
   d10v-*-*)
index c5cc0bbe0fc673ec608fd8f982a4430a9f48347e..1e6c3495947e64e39e1325b3239fd16e39c8ad74 100755 (executable)
@@ -5852,6 +5852,7 @@ do
     bfd_elf64_bigmips_vec)     tb="$tb elf64-mips.lo elf64.lo elf32-mips.lo elf32.lo $elf ecofflink.lo"
                                target64=true ;;
     bfd_elf32_cris_vec)                tb="$tb elf32-cris.lo elf32.lo $elf" ;;
+    bfd_elf32_us_cris_vec)     tb="$tb elf32-cris.lo elf32.lo $elf" ;;
     bfd_elf32_d10v_vec)                tb="$tb elf32-d10v.lo elf32.lo $elf" ;;
     bfd_elf32_d30v_vec)                tb="$tb elf32-d30v.lo elf32.lo $elf" ;;
     bfd_elf32_fr30_vec)                tb="$tb elf32-fr30.lo elf32.lo $elf" ;;
@@ -6075,17 +6076,17 @@ for ac_hdr in unistd.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:6079: checking for $ac_hdr" >&5
+echo "configure:6080: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6084 "configure"
+#line 6085 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6089: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6090: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -6114,12 +6115,12 @@ done
 for ac_func in getpagesize
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6118: checking for $ac_func" >&5
+echo "configure:6119: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6123 "configure"
+#line 6124 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6142,7 +6143,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6146: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6147: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -6167,7 +6168,7 @@ fi
 done
 
 echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:6171: checking for working mmap" >&5
+echo "configure:6172: checking for working mmap" >&5
 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6175,7 +6176,7 @@ else
   ac_cv_func_mmap_fixed_mapped=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 6179 "configure"
+#line 6180 "configure"
 #include "confdefs.h"
 
 /* Thanks to Mike Haertel and Jim Avera for this test.
@@ -6315,7 +6316,7 @@ main()
 }
 
 EOF
-if { (eval echo configure:6319: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6320: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_mmap_fixed_mapped=yes
 else
@@ -6340,12 +6341,12 @@ fi
 for ac_func in madvise mprotect
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6344: checking for $ac_func" >&5
+echo "configure:6345: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6349 "configure"
+#line 6350 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6368,7 +6369,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6372: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6373: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
index c7d648075105900fbbb9614b34f6664d109a7930..b2fd478ae02f799b8705b727ea054562e5c25f06 100644 (file)
@@ -494,6 +494,7 @@ do
     bfd_elf64_bigmips_vec)     tb="$tb elf64-mips.lo elf64.lo elf32-mips.lo elf32.lo $elf ecofflink.lo"
                                target64=true ;;
     bfd_elf32_cris_vec)                tb="$tb elf32-cris.lo elf32.lo $elf" ;;
+    bfd_elf32_us_cris_vec)     tb="$tb elf32-cris.lo elf32.lo $elf" ;;
     bfd_elf32_d10v_vec)                tb="$tb elf32-d10v.lo elf32.lo $elf" ;;
     bfd_elf32_d30v_vec)                tb="$tb elf32-d30v.lo elf32.lo $elf" ;;
     bfd_elf32_fr30_vec)                tb="$tb elf32-fr30.lo elf32.lo $elf" ;;
index 54bc991e95eb16642e9eaa017a80820f651b6be7..32501a12e78e599304d5704f5d9d0c46ac870a64 100644 (file)
@@ -48,6 +48,14 @@ static asection * cris_elf_gc_mark_hook
   PARAMS ((bfd *, struct bfd_link_info *, Elf_Internal_Rela *,
           struct elf_link_hash_entry *, Elf_Internal_Sym *));
 
+static boolean cris_elf_object_p PARAMS ((bfd *));
+
+static void cris_elf_final_write_processing PARAMS ((bfd *, boolean));
+
+static boolean cris_elf_print_private_bfd_data PARAMS ((bfd *, PTR));
+
+static boolean cris_elf_merge_private_bfd_data PARAMS ((bfd *, bfd *));
+
 static reloc_howto_type cris_elf_howto_table [] =
 {
   /* This reloc does nothing.  */
@@ -565,6 +573,96 @@ cris_elf_check_relocs (abfd, info, sec, relocs)
  
   return true;
 }
+
+/* Reject a file depending on underscores on symbols.  */
+
+static boolean
+cris_elf_object_p (abfd)
+     bfd *abfd;
+{
+  if ((elf_elfheader (abfd)->e_flags & EF_CRIS_UNDERSCORE))
+    return (bfd_get_symbol_leading_char (abfd) == '_');
+  else
+    return (bfd_get_symbol_leading_char (abfd) == 0);
+}
+
+/* Mark presence or absence of leading underscore.  */
+
+static void
+cris_elf_final_write_processing (abfd, linker)
+     bfd *abfd;
+     boolean linker ATTRIBUTE_UNUSED;
+{
+  if (bfd_get_symbol_leading_char (abfd) == '_')
+    elf_elfheader (abfd)->e_flags |= EF_CRIS_UNDERSCORE;
+  else
+    elf_elfheader (abfd)->e_flags &= ~EF_CRIS_UNDERSCORE;
+}
+
+/* Display the flags field.  */
+
+static boolean
+cris_elf_print_private_bfd_data (abfd, ptr)
+     bfd *abfd;
+     PTR ptr;
+{
+  FILE *file = (FILE *) ptr;
+
+  BFD_ASSERT (abfd != NULL && ptr != NULL)
+
+  _bfd_elf_print_private_bfd_data (abfd, ptr);
+
+  fprintf (file, _("private flags = %lx:"), elf_elfheader (abfd)->e_flags);
+
+  if (elf_elfheader (abfd)->e_flags & EF_CRIS_UNDERSCORE)
+    fprintf (file, _(" [symbols have a _ prefix]"));
+
+  fputc ('\n', file);
+  return true;
+}
+
+/* Don't mix files with and without a leading underscore.  */
+
+static boolean
+cris_elf_merge_private_bfd_data (ibfd, obfd)
+     bfd *ibfd;
+     bfd *obfd;
+{
+  flagword old_flags, new_flags;
+
+  if (_bfd_generic_verify_endian_match (ibfd, obfd) == false)
+    return false;
+
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
+      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
+    return true;
+
+  if (! elf_flags_init (obfd))
+    {
+      /* This happens when ld starts out with a 'blank' output file.  */
+      elf_flags_init (obfd) = true;
+
+      /* Set flags according to current bfd_target.  */
+      cris_elf_final_write_processing (obfd, false);
+    }
+
+  old_flags = elf_elfheader (obfd)->e_flags;
+  new_flags = elf_elfheader (ibfd)->e_flags;
+
+  /* Is this good or bad?  We'll follow with other excluding flags.  */
+  if ((old_flags & EF_CRIS_UNDERSCORE) != (new_flags & EF_CRIS_UNDERSCORE))
+    {
+      (*_bfd_error_handler)
+       ((new_flags & EF_CRIS_UNDERSCORE)
+        ? _("%s: uses _-prefixed symbols, but writing file with non-prefixed symbols")
+        : _("%s: uses non-prefixed symbols, but writing file with _-prefixed symbols"),
+        bfd_get_filename (ibfd));
+      bfd_set_error (bfd_error_bad_value);
+      return false;
+    }
+
+  return true;
+}
 \f
 #define ELF_ARCH               bfd_arch_cris
 #define ELF_MACHINE_CODE       EM_CRIS
@@ -572,14 +670,7 @@ cris_elf_check_relocs (abfd, info, sec, relocs)
 
 #define TARGET_LITTLE_SYM      bfd_elf32_cris_vec
 #define TARGET_LITTLE_NAME     "elf32-cris"
-
-/* For the time being, we have a leading underscore.  Perhaps change to 0
-   later, when
-   1) a.out isn't as dominating, and we can forget about multiformat links
-      and old assembly code.
-   2) there's an official solution to the symbol vs. register duality
-      problem; perhaps a % register prefix, optionally enforced.  */
-#define elf_symbol_leading_char '_'
+#define elf_symbol_leading_char 0
 
 #define elf_info_to_howto_rel                  NULL
 #define elf_info_to_howto                      cris_info_to_howto_rela
@@ -590,6 +681,14 @@ cris_elf_check_relocs (abfd, info, sec, relocs)
 
 #define elf_backend_can_gc_sections            1
 
+#define elf_backend_object_p                   cris_elf_object_p
+#define elf_backend_final_write_processing \
+       cris_elf_final_write_processing
+#define bfd_elf32_bfd_print_private_bfd_data \
+       cris_elf_print_private_bfd_data
+#define bfd_elf32_bfd_merge_private_bfd_data \
+       cris_elf_merge_private_bfd_data
+
 #define bfd_elf32_bfd_reloc_type_lookup                cris_reloc_type_lookup
 
 /* Later, we my want to optimize RELA entries into REL entries for dynamic
@@ -599,3 +698,15 @@ cris_elf_check_relocs (abfd, info, sec, relocs)
 #define elf_backend_may_use_rela_p 1
 
 #include "elf32-target.h"
+
+#define INCLUDED_TARGET_FILE
+
+#undef TARGET_LITTLE_SYM
+#undef TARGET_LITTLE_NAME
+#undef elf_symbol_leading_char
+
+#define TARGET_LITTLE_SYM bfd_elf32_us_cris_vec
+#define TARGET_LITTLE_NAME "elf32-us-cris"
+#define elf_symbol_leading_char '_'
+
+#include "elf32-target.h"
index e36a6a5c95ada45351ba76fd11f59ec872f9e6e1..8e29e9e1b13d1c6c751beb18326a51df3b297f49 100644 (file)
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2000-09-15 11:44-0700\n"
+"POT-Creation-Date: 2000-09-26 05:49+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -326,6 +326,43 @@ msgstr ""
 msgid "Warning: Clearing the interworking flag of %s due to outside request"
 msgstr ""
 
+#: coff-i960.c:136 coff-i960.c:485
+msgid "uncertain calling convention for non-COFF symbol"
+msgstr ""
+
+#: coff-m68k.c:477 coff-mips.c:2433 elf32-m68k.c:2267
+msgid "unsupported reloc type"
+msgstr ""
+
+#: coff-mips.c:875 elf32-mips.c:1416
+msgid "GP relative relocation when _gp not defined"
+msgstr ""
+
+#. No other sections should appear in -membedded-pic
+#. code.
+#: coff-mips.c:2470
+msgid "reloc against unsupported section"
+msgstr ""
+
+#: coff-mips.c:2478
+msgid "reloc not properly aligned"
+msgstr ""
+
+#: coff-tic54x.c:264 coff-tic80.c:445
+#, c-format
+msgid "Unrecognized reloc type 0x%x"
+msgstr ""
+
+#: coff-tic54x.c:377 coffcode.h:4745
+#, c-format
+msgid "%s: warning: illegal symbol index %ld in relocs"
+msgstr ""
+
+#: coff-w65.c:383
+#, c-format
+msgid "ignoring reloc %s\n"
+msgstr ""
+
 #: coffcode.h:2101
 #, c-format
 msgid "Unrecognized TI COFF target id '0x%x'"
@@ -351,11 +388,6 @@ msgstr ""
 msgid "warning: %s: local symbol `%s' has no section"
 msgstr ""
 
-#: coff-tic54x.c:377 coffcode.h:4745
-#, c-format
-msgid "%s: warning: illegal symbol index %ld in relocs"
-msgstr ""
-
 #: coffcode.h:4783
 #, c-format
 msgid "%s: illegal relocation type %d at address 0x%lx"
@@ -371,10 +403,6 @@ msgstr ""
 msgid "AUX tagndx %ld ttlsiz 0x%lx lnnos %ld next %ld"
 msgstr ""
 
-#: coff-i960.c:136 coff-i960.c:485
-msgid "uncertain calling convention for non-COFF symbol"
-msgstr ""
-
 #: cofflink.c:526 elflink.h:1659
 #, c-format
 msgid "Warning: type of symbol `%s' changed from %d to %d in %s"
@@ -395,34 +423,6 @@ msgstr ""
 msgid "%s: warning: %s: line number overflow: 0x%lx > 0xffff"
 msgstr ""
 
-#: coff-m68k.c:477 coff-mips.c:2433 elf32-m68k.c:2267
-msgid "unsupported reloc type"
-msgstr ""
-
-#: coff-mips.c:875 elf32-mips.c:1416
-msgid "GP relative relocation when _gp not defined"
-msgstr ""
-
-#. No other sections should appear in -membedded-pic
-#. code.
-#: coff-mips.c:2470
-msgid "reloc against unsupported section"
-msgstr ""
-
-#: coff-mips.c:2478
-msgid "reloc not properly aligned"
-msgstr ""
-
-#: coff-tic54x.c:264 coff-tic80.c:445
-#, c-format
-msgid "Unrecognized reloc type 0x%x"
-msgstr ""
-
-#: coff-w65.c:383
-#, c-format
-msgid "ignoring reloc %s\n"
-msgstr ""
-
 #: dwarf2.c:425
 msgid "Dwarf Error: Can't find .debug_abbrev section."
 msgstr ""
@@ -539,16 +539,6 @@ msgid ""
 "      Type: %s"
 msgstr ""
 
-#: elf32-arm.h:1181
-#, c-format
-msgid "%s: Warning: Arm BLX instruction targets Arm function '%s'."
-msgstr ""
-
-#: elf32-arm.h:1377
-#, c-format
-msgid "%s: Warning: Thumb BLX instruction targets thumb function '%s'."
-msgstr ""
-
 #: elf-hppa.h:1363 elf-hppa.h:1396 elf32-arm.h:1832 elf32-i386.c:1430
 #: elf32-ppc.c:3083 elf32-sh.c:2997
 #, c-format
@@ -557,13 +547,13 @@ msgid ""
 msgstr ""
 
 #: elf-m10200.c:455 elf-m10300.c:670 elf32-arm.h:1901 elf32-avr.c:844
-#: elf32-cris.c:423 elf32-d10v.c:479 elf32-fr30.c:651 elf32-i860.c:1062
+#: elf32-cris.c:425 elf32-d10v.c:479 elf32-fr30.c:651 elf32-i860.c:1062
 #: elf32-m32r.c:1265 elf32-v850.c:1677
 msgid "internal error: out of range error"
 msgstr ""
 
 #: elf-m10200.c:459 elf-m10300.c:674 elf32-arm.h:1905 elf32-avr.c:848
-#: elf32-cris.c:427 elf32-d10v.c:483 elf32-fr30.c:655 elf32-i860.c:1066
+#: elf32-cris.c:429 elf32-d10v.c:483 elf32-fr30.c:655 elf32-i860.c:1066
 #: elf32-m32r.c:1269 elf32-v850.c:1681
 msgid "internal error: unsupported relocation error"
 msgstr ""
@@ -574,11 +564,114 @@ msgid "internal error: dangerous error"
 msgstr ""
 
 #: elf-m10200.c:467 elf-m10300.c:682 elf32-arm.h:1913 elf32-avr.c:856
-#: elf32-cris.c:435 elf32-d10v.c:491 elf32-fr30.c:663 elf32-i860.c:1074
+#: elf32-cris.c:437 elf32-d10v.c:491 elf32-fr30.c:663 elf32-i860.c:1074
 #: elf32-m32r.c:1277 elf32-v850.c:1701
 msgid "internal error: unknown error"
 msgstr ""
 
+#: elf.c:325
+#, c-format
+msgid "%s: invalid string offset %u >= %lu for section `%s'"
+msgstr ""
+
+#: elf.c:560
+msgid ""
+"\n"
+"Program Header:\n"
+msgstr ""
+
+#: elf.c:608
+msgid ""
+"\n"
+"Dynamic Section:\n"
+msgstr ""
+
+#: elf.c:737
+msgid ""
+"\n"
+"Version definitions:\n"
+msgstr ""
+
+#: elf.c:760
+msgid ""
+"\n"
+"Version References:\n"
+msgstr ""
+
+#: elf.c:765
+#, c-format
+msgid "  required from %s:\n"
+msgstr ""
+
+#: elf.c:1353
+#, c-format
+msgid "%s: invalid link %lu for reloc section %s (index %u)"
+msgstr ""
+
+#: elf.c:2113
+#, c-format
+msgid ""
+"creating section symbol, name = %s, value = 0x%.8lx, index = %d, section = "
+"0x%.8lx\n"
+msgstr ""
+
+#: elf.c:2716
+#, c-format
+msgid "%s: Not enough room for program headers (allocated %u, need %u)"
+msgstr ""
+
+#: elf.c:2815
+#, c-format
+msgid "%s: Not enough room for program headers, try linking with -N"
+msgstr ""
+
+#: elf.c:2941
+#, c-format
+msgid "Error: First section in segment (%s) starts at 0x%x"
+msgstr ""
+
+#: elf.c:2944
+#, c-format
+msgid "       whereas segment starts at 0x%x"
+msgstr ""
+
+#: elf.c:3217
+#, c-format
+msgid "%s: warning: allocated section `%s' not in segment"
+msgstr ""
+
+#: elf.c:3613
+#, c-format
+msgid "%s: symbol `%s' required but not present"
+msgstr ""
+
+#: elf.c:3622
+#, c-format
+msgid ""
+"elf_symbol_from_bfd_symbol 0x%.8lx, name = %s, sym num = %d, flags = "
+"0x%.8lx%s\n"
+msgstr ""
+
+#: elf.c:3863
+#, c-format
+msgid "%s: warning: Empty loadable segment detected\n"
+msgstr ""
+
+#: elf.c:5207
+#, c-format
+msgid "%s: unsupported relocation type %s"
+msgstr ""
+
+#: elf32-arm.h:1181
+#, c-format
+msgid "%s: Warning: Arm BLX instruction targets Arm function '%s'."
+msgstr ""
+
+#: elf32-arm.h:1377
+#, c-format
+msgid "%s: Warning: Thumb BLX instruction targets thumb function '%s'."
+msgstr ""
+
 #: elf32-arm.h:1941
 #, c-format
 msgid ""
@@ -660,7 +753,7 @@ msgstr ""
 
 #. Ignore init flag - it may not be set, despite the flags field
 #. containing valid data.
-#: elf32-arm.h:2137 elf32-m68k.c:430 elf32-mips.c:2638
+#: elf32-arm.h:2137 elf32-cris.c:609 elf32-m68k.c:430 elf32-mips.c:2638
 #, c-format
 msgid "private flags = %lx:"
 msgstr ""
@@ -717,61 +810,65 @@ msgstr ""
 msgid "<Unrecognised flag bits set>"
 msgstr ""
 
-#: elf32-avr.c:852 elf32-cris.c:431 elf32-fr30.c:659 elf32-i860.c:1070
+#: elf32-avr.c:852 elf32-cris.c:433 elf32-fr30.c:659 elf32-i860.c:1070
 #: elf32-v850.c:1685
 msgid "internal error: dangerous relocation"
 msgstr ""
 
-#: elf32-hppa.c:590
+#: elf32-cris.c:612
+msgid " [symbols have a _ prefix]"
+msgstr ""
+
+#: elf32-hppa.c:597
 #, c-format
 msgid "%s(%s+0x%lx): cannot find stub entry %s"
 msgstr ""
 
-#: elf32-hppa.c:656
+#: elf32-hppa.c:659
 #, c-format
 msgid "%s: cannot create stub entry %s"
 msgstr ""
 
-#: elf32-hppa.c:850
+#: elf32-hppa.c:853
 #, c-format
 msgid "%s(%s+0x%lx): cannot relocate %s, recompile with -ffunction-sections"
 msgstr ""
 
-#: elf32-hppa.c:863 elf32-hppa.c:1565
+#: elf32-hppa.c:866 elf32-hppa.c:1567
 #, c-format
 msgid "Could not find relocation section for %s"
 msgstr ""
 
-#: elf32-hppa.c:997 elf32-hppa.c:3234
+#: elf32-hppa.c:1000 elf32-hppa.c:3341
 #, c-format
 msgid "%s(%s+0x%lx): cannot reach %s, recompile with -ffunction-sections"
 msgstr ""
 
-#: elf32-hppa.c:1319
+#: elf32-hppa.c:1322
 #, c-format
 msgid ""
 "%s: relocation %s can not be used when making a shared object; recompile "
 "with -fPIC"
 msgstr ""
 
-#: elf32-hppa.c:1338
+#: elf32-hppa.c:1341
 #, c-format
 msgid ""
 "%s: relocation %s should not be used when making a shared object; recompile "
 "with -fPIC"
 msgstr ""
 
-#: elf32-hppa.c:2624
+#: elf32-hppa.c:2732
 #, c-format
 msgid "%s: duplicate export stub %s"
 msgstr ""
 
-#: elf32-hppa.c:3126
+#: elf32-hppa.c:3233
 #, c-format
 msgid "%s(%s+0x%lx): fixing %s"
 msgstr ""
 
-#: elf32-hppa.c:3728
+#: elf32-hppa.c:3835
 #, c-format
 msgid "%s(%s+0x%lx): cannot handle %s for %s"
 msgstr ""
@@ -1230,99 +1327,6 @@ msgstr ""
 msgid "%s: linking UltraSPARC specific with HAL specific code"
 msgstr ""
 
-#: elf.c:325
-#, c-format
-msgid "%s: invalid string offset %u >= %lu for section `%s'"
-msgstr ""
-
-#: elf.c:560
-msgid ""
-"\n"
-"Program Header:\n"
-msgstr ""
-
-#: elf.c:608
-msgid ""
-"\n"
-"Dynamic Section:\n"
-msgstr ""
-
-#: elf.c:737
-msgid ""
-"\n"
-"Version definitions:\n"
-msgstr ""
-
-#: elf.c:760
-msgid ""
-"\n"
-"Version References:\n"
-msgstr ""
-
-#: elf.c:765
-#, c-format
-msgid "  required from %s:\n"
-msgstr ""
-
-#: elf.c:1353
-#, c-format
-msgid "%s: invalid link %lu for reloc section %s (index %u)"
-msgstr ""
-
-#: elf.c:2113
-#, c-format
-msgid ""
-"creating section symbol, name = %s, value = 0x%.8lx, index = %d, section = "
-"0x%.8lx\n"
-msgstr ""
-
-#: elf.c:2716
-#, c-format
-msgid "%s: Not enough room for program headers (allocated %u, need %u)"
-msgstr ""
-
-#: elf.c:2815
-#, c-format
-msgid "%s: Not enough room for program headers, try linking with -N"
-msgstr ""
-
-#: elf.c:2941
-#, c-format
-msgid "Error: First section in segment (%s) starts at 0x%x"
-msgstr ""
-
-#: elf.c:2944
-#, c-format
-msgid "       whereas segment starts at 0x%x"
-msgstr ""
-
-#: elf.c:3217
-#, c-format
-msgid "%s: warning: allocated section `%s' not in segment"
-msgstr ""
-
-#: elf.c:3613
-#, c-format
-msgid "%s: symbol `%s' required but not present"
-msgstr ""
-
-#: elf.c:3622
-#, c-format
-msgid ""
-"elf_symbol_from_bfd_symbol 0x%.8lx, name = %s, sym num = %d, flags = "
-"0x%.8lx%s\n"
-msgstr ""
-
-#: elf.c:3863
-#, c-format
-msgid "%s: warning: Empty loadable segment detected\n"
-msgstr ""
-
-#: elf.c:5207
-#, c-format
-msgid "%s: unsupported relocation type %s"
-msgstr ""
-
 #: elfcode.h:1067
 #, c-format
 msgid "%s: version count (%ld) does not match symbol count (%ld)"
@@ -1497,6 +1501,21 @@ msgstr ""
 msgid "Unhandled OSF/1 core file section type %d\n"
 msgstr ""
 
+#: pe-mips.c:657
+#, c-format
+msgid "%s: `ld -r' not supported with PE MIPS objects\n"
+msgstr ""
+
+#: pe-mips.c:820
+#, c-format
+msgid "%s: jump too far away\n"
+msgstr ""
+
+#: pe-mips.c:847
+#, c-format
+msgid "%s: bad pair/reflo after refhi\n"
+msgstr ""
+
 #. XXX code yet to be written.
 #: peicode.h:809
 #, c-format
@@ -1834,21 +1853,6 @@ msgid ""
 "Characteristics 0x%x\n"
 msgstr ""
 
-#: pe-mips.c:657
-#, c-format
-msgid "%s: `ld -r' not supported with PE MIPS objects\n"
-msgstr ""
-
-#: pe-mips.c:820
-#, c-format
-msgid "%s: jump too far away\n"
-msgstr ""
-
-#: pe-mips.c:847
-#, c-format
-msgid "%s: bad pair/reflo after refhi\n"
-msgstr ""
-
 #: ppcboot.c:422
 msgid ""
 "\n"
index 986d88bb87b61a96f3ebd9d64d77327e69b6859e..d4d3318d6bb12ddbfab736cfdcca1d81a38f4e53 100644 (file)
@@ -523,6 +523,7 @@ extern const bfd_target bfd_elf32_big_generic_vec;
 extern const bfd_target bfd_elf32_bigmips_vec;
 extern const bfd_target bfd_elf64_bigmips_vec;
 extern const bfd_target bfd_elf32_cris_vec;
+extern const bfd_target bfd_elf32_us_cris_vec;
 extern const bfd_target bfd_elf32_d10v_vec;
 extern const bfd_target bfd_elf32_d30v_vec;
 extern const bfd_target bfd_elf32_hppa_vec;
@@ -730,6 +731,7 @@ const bfd_target * const bfd_target_vector[] = {
        &bfd_elf64_bigmips_vec,
 #endif
        &bfd_elf32_cris_vec,
+       &bfd_elf32_us_cris_vec,
        &bfd_elf32_d10v_vec,
        &bfd_elf32_d30v_vec,
        &bfd_elf32_hppa_vec,