2005-01-06 Paul Brook <paul@codesourcery.com>
authorPaul Brook <paul@codesourcery.com>
Thu, 6 Jan 2005 16:18:25 +0000 (16:18 +0000)
committerPaul Brook <paul@codesourcery.com>
Thu, 6 Jan 2005 16:18:25 +0000 (16:18 +0000)
bfd/
* config.bfd: Add entry for arm-*-vxworks and arm-*-windiss.
* configure.in: Add bfd_elf32_{big,little}arm_vxworks_vec.
* configure: Regenerate.
* elf32-arm.c: Add VxWorks target bfd.
(USE_REL): Remove.
(elf32_arm_link_hash_table): Add use_rel.
(elf32_arm_link_hash_table_create, elf32_arm_final_link_relocate,
elf32_arm_relocate_section): Replace USE_REL with runtime check.
Correct offset calculation for RELA case.
(elf_backend_may_use_rel_p, elf_backend_may_use_rela_p,
elf_backend_default_use_rela_p, elf_backend_rela_normal): Define.
(elf32_arm_vxworks_link_hash_table_create): New function.
* targets.c (bfd_elf32_bigarm_vxworks_vec): Add declaration.
(bfd_elf32_littlearm_vxworks_vec): Ditto.
(_bfd_target_vector): Add bfd_elf32_{big,little}arm_vxworks_vec.
gas/
* config/tc-arm.c (FPU_DEFAULT): Define for TE_VXWORKS.
(md_begin): Handle TE_VXWORKS for FP defaults.
(md_apply_fix3): Correct rela offsets.
(elf32_arm_target_format): Add VxWorks targets.
ld/
* Makefie.am: Add earmelf_vxworks.
* Makefile.in: Regenerate.
* configure.tgt: Make arm-*-vxworks a separate case.
* emulparams/armelf_vxworks.sh: New function.

13 files changed:
bfd/ChangeLog
bfd/config.bfd
bfd/configure
bfd/configure.in
bfd/elf32-arm.c
bfd/targets.c
gas/ChangeLog
gas/config/tc-arm.c
ld/ChangeLog
ld/Makefile.am
ld/Makefile.in
ld/configure.tgt
ld/emulparams/armelf_vxworks.sh [new file with mode: 0644]

index 343d6d0..77186e0 100644 (file)
@@ -1,3 +1,21 @@
+2005-01-06  Paul Brook  <paul@codesourcery.com>
+
+       * config.bfd: Add entry for arm-*-vxworks and arm-*-windiss.
+       * configure.in: Add bfd_elf32_{big,little}arm_vxworks_vec.
+       * configure: Regenerate.
+       * elf32-arm.c: Add VxWorks target bfd.
+       (USE_REL): Remove.
+       (elf32_arm_link_hash_table): Add use_rel.
+       (elf32_arm_link_hash_table_create, elf32_arm_final_link_relocate,
+       elf32_arm_relocate_section): Replace USE_REL with runtime check.
+       Correct offset calculation for RELA case.
+       (elf_backend_may_use_rel_p, elf_backend_may_use_rela_p,
+       elf_backend_default_use_rela_p, elf_backend_rela_normal): Define.
+       (elf32_arm_vxworks_link_hash_table_create): New function.
+       * targets.c (bfd_elf32_bigarm_vxworks_vec): Add declaration.
+       (bfd_elf32_littlearm_vxworks_vec): Ditto.
+       (_bfd_target_vector): Add bfd_elf32_{big,little}arm_vxworks_vec.
+
 2005-01-06  Alan Modra  <amodra@bigpond.net.au>
 
        * elf64-ppc.c (struct ppc_link_hash_table): Add no_multi_toc and
index e1389ff..f466e64 100644 (file)
@@ -236,11 +236,15 @@ case "${targ}" in
     targ_selvecs=bfd_elf32_bigarm_vec
     ;;
   arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-conix* | \
-  arm*-*-uclinux* | arm-*-kfreebsd*-gnu | arm-*-vxworks | \
+  arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \
   arm*-*-eabi* )
     targ_defvec=bfd_elf32_littlearm_vec
     targ_selvecs=bfd_elf32_bigarm_vec
     ;;
+  arm*-*-vxworks | arm*-*-windiss)
+    targ_defvec=bfd_elf32_littlearm_vxworks_vec
+    targ_selvecs=bfd_elf32_bigarm_vxworks_vec
+    ;;
   arm*-*-symbianelf*)
     targ_defvec=bfd_elf32_littlearm_symbian_vec
     targ_selvecs=bfd_elf32_bigarm_symbian_vec
index 2658d95..5a5559e 100755 (executable)
@@ -973,7 +973,7 @@ esac
     else
       echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
     fi
-    cd $ac_popdir
+    cd "$ac_popdir"
   done
 fi
 
@@ -1997,8 +1997,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -2056,8 +2055,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -2173,8 +2171,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -2228,8 +2225,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -2274,8 +2270,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -2319,8 +2314,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -2398,8 +2392,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -2453,8 +2446,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -3974,7 +3966,7 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
 case $host in
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 3977 "configure"' > conftest.$ac_ext
+  echo '#line 3969 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -4070,8 +4062,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -4748,8 +4739,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -4807,8 +4797,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -4924,8 +4913,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -4979,8 +4967,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5025,8 +5012,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5070,8 +5056,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5475,8 +5460,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5683,8 +5667,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5744,8 +5727,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5824,8 +5806,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5890,8 +5871,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5956,8 +5936,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -6021,8 +6000,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -6103,8 +6081,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -6245,8 +6222,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -6384,8 +6360,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -6569,8 +6544,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -6821,8 +6795,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7016,8 +6989,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7120,8 +7092,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7192,8 +7163,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7295,8 +7265,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7432,8 +7401,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7497,8 +7465,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7553,8 +7520,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7694,8 +7660,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7828,8 +7793,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -8097,8 +8061,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -8370,8 +8333,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -8430,8 +8392,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -8503,8 +8464,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -8640,8 +8600,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -8792,8 +8751,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -8941,8 +8899,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9013,8 +8970,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9086,8 +9042,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9141,8 +9096,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9213,8 +9167,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9268,8 +9221,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9378,8 +9330,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9480,8 +9431,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9567,8 +9517,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9643,8 +9592,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9719,8 +9667,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9795,8 +9742,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9871,8 +9817,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -10092,8 +10037,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -10213,8 +10157,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -10361,8 +10304,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -10426,8 +10368,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -10491,8 +10432,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -10556,8 +10496,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -10621,8 +10560,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -10686,8 +10624,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -10751,8 +10688,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -10816,8 +10752,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -10881,8 +10816,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -10946,8 +10880,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -11011,8 +10944,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -11076,8 +11008,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -11141,8 +11072,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -11206,8 +11136,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -11271,8 +11200,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -11336,8 +11264,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -11533,6 +11460,8 @@ do
     bfd_elf32_bigarm_vec)      tb="$tb elf32-arm.lo elf32.lo $elf" ;;
     bfd_elf32_bigarm_symbian_vec)
                                 tb="$tb elf32-arm.lo elf32.lo $elf" ;;
+    bfd_elf32_bigarm_vxworks_vec)
+                                tb="$tb elf32-arm.lo elf32.lo $elf" ;;
     bfd_elf32_bigmips_vec)     tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;;
     bfd_elf32_cr16c_vec)       tb="$tb elf32-cr16c.lo elf32.lo $elf" ;;
     bfd_elf32_cris_vec)                tb="$tb elf32-cris.lo elf32.lo $elf" ;;
@@ -11561,6 +11490,8 @@ do
     bfd_elf32_littlearc_vec)   tb="$tb elf32-arc.lo elf32.lo $elf" ;;
     bfd_elf32_littlearm_symbian_vec)
                                 tb="$tb elf32-arm.lo elf32.lo $elf" ;;
+    bfd_elf32_littlearm_vxworks_vec)
+                                tb="$tb elf32-arm.lo elf32.lo $elf" ;;
     bfd_elf32_littlearm_vec)   tb="$tb elf32-arm.lo elf32.lo $elf" ;;
     bfd_elf32_littlemips_vec)  tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;;
     bfd_elf32_m32r_vec)                tb="$tb elf32-m32r.lo elf32.lo $elf" ;;
@@ -11952,8 +11883,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12019,8 +11949,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12116,8 +12045,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12301,8 +12229,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12579,8 +12506,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -13560,11 +13486,6 @@ esac
   *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
   esac
 
-  if test x"$ac_file" != x-; then
-    { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-    rm -f "$ac_file"
-  fi
   # Let's still pretend it is `configure' which instantiates (i.e., don't
   # use $as_me), people would be surprised to read:
   #    /* config.h.  Generated by config.status.  */
@@ -13603,6 +13524,12 @@ echo "$as_me: error: cannot find input file: $f" >&2;}
         fi;;
       esac
     done` || { (exit 1); exit 1; }
+
+  if test x"$ac_file" != x-; then
+    { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    rm -f "$ac_file"
+  fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
   sed "$ac_vpsub
index b471538..c69d505 100644 (file)
@@ -584,6 +584,8 @@ do
     bfd_elf32_bigarm_vec)      tb="$tb elf32-arm.lo elf32.lo $elf" ;;
     bfd_elf32_bigarm_symbian_vec)      
                                 tb="$tb elf32-arm.lo elf32.lo $elf" ;;
+    bfd_elf32_bigarm_vxworks_vec)      
+                                tb="$tb elf32-arm.lo elf32.lo $elf" ;;
     bfd_elf32_bigmips_vec)     tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;;
     bfd_elf32_cr16c_vec)       tb="$tb elf32-cr16c.lo elf32.lo $elf" ;;
     bfd_elf32_cris_vec)                tb="$tb elf32-cris.lo elf32.lo $elf" ;;
@@ -612,6 +614,8 @@ do
     bfd_elf32_littlearc_vec)   tb="$tb elf32-arc.lo elf32.lo $elf" ;;
     bfd_elf32_littlearm_symbian_vec)
                                 tb="$tb elf32-arm.lo elf32.lo $elf" ;;
+    bfd_elf32_littlearm_vxworks_vec)
+                                tb="$tb elf32-arm.lo elf32.lo $elf" ;;
     bfd_elf32_littlearm_vec)   tb="$tb elf32-arm.lo elf32.lo $elf" ;;
     bfd_elf32_littlemips_vec)  tb="$tb elf32-mips.lo elfxx-mips.lo elf32.lo $elf ecofflink.lo" ;;
     bfd_elf32_m32r_vec)                tb="$tb elf32-m32r.lo elf32.lo $elf" ;;
index af3a4a9..1f113e2 100644 (file)
@@ -1,5 +1,5 @@
 /* 32-bit ELF support for ARM
-   Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004
+   Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
    Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -28,8 +28,6 @@
 #define NUM_ELEM(a)  (sizeof (a) / (sizeof (a)[0]))
 #endif
 
-#define USE_REL        1
-
 #define elf_info_to_howto               0
 #define elf_info_to_howto_rel           elf32_arm_info_to_howto
 
@@ -987,10 +985,6 @@ elf32_arm_nabi_grok_psinfo (abfd, note)
 #define elf_backend_grok_prstatus      elf32_arm_nabi_grok_prstatus
 #define elf_backend_grok_psinfo                elf32_arm_nabi_grok_psinfo
 
-#ifndef USE_REL
-#define USE_REL        0
-#endif
-
 typedef unsigned long int insn32;
 typedef unsigned short int insn16;
 
@@ -1180,6 +1174,9 @@ struct elf32_arm_link_hash_table
     /* True if the target system is Symbian OS.  */
     int symbian_p;
 
+    /* True if the target uses REL relocations.  */
+    int use_rel;
+
     /* Short-cuts to get to dynamic linker sections.  */
     asection *sgot;
     asection *sgotplt;
@@ -1389,6 +1386,7 @@ elf32_arm_link_hash_table_create (bfd *abfd)
   ret->plt_entry_size = 12;
 #endif
   ret->symbian_p = 0;
+  ret->use_rel = 1;
   ret->sym_sec.abfd = NULL;
   ret->obfd = abfd;
 
@@ -2288,20 +2286,21 @@ elf32_arm_final_link_relocate (reloc_howto_type *           howto,
   local_got_offsets = elf_local_got_offsets (input_bfd);
   r_symndx = ELF32_R_SYM (rel->r_info);
 
-#if USE_REL
-  addend = bfd_get_32 (input_bfd, hit_data) & howto->src_mask;
-
-  if (addend & ((howto->src_mask + 1) >> 1))
+  if (globals->use_rel)
     {
-      signed_addend = -1;
-      signed_addend &= ~ howto->src_mask;
-      signed_addend |= addend;
+      addend = bfd_get_32 (input_bfd, hit_data) & howto->src_mask;
+
+      if (addend & ((howto->src_mask + 1) >> 1))
+       {
+         signed_addend = -1;
+         signed_addend &= ~ howto->src_mask;
+         signed_addend |= addend;
+       }
+      else
+       signed_addend = addend;
     }
   else
-    signed_addend = addend;
-#else
-  addend = signed_addend = rel->r_addend;
-#endif
+    addend = signed_addend = rel->r_addend;
 
   switch (r_type)
     {
@@ -2508,7 +2507,11 @@ elf32_arm_final_link_relocate (reloc_howto_type *           howto,
          value -= (input_section->output_section->vma
                    + input_section->output_offset);
          value -= rel->r_offset;
-         value += (signed_addend << howto->size);
+         if (globals->use_rel)
+           value += (signed_addend << howto->size);
+         else
+           /* RELA addends do not have to be adjusted by howto->size.  */
+           value += signed_addend;
 
          signed_addend = value;
          signed_addend >>= howto->rightshift;
@@ -2602,12 +2605,13 @@ elf32_arm_final_link_relocate (reloc_howto_type *           howto,
 
     case R_ARM_THM_ABS5:
       /* Support ldr and str instructions for the thumb.  */
-#if USE_REL
-      /* Need to refetch addend.  */
-      addend = bfd_get_16 (input_bfd, hit_data) & howto->src_mask;
-      /* ??? Need to determine shift amount from operand size.  */
-      addend >>= howto->rightshift;
-#endif
+      if (globals->use_rel)
+       {
+         /* Need to refetch addend.  */
+         addend = bfd_get_16 (input_bfd, hit_data) & howto->src_mask;
+         /* ??? Need to determine shift amount from operand size.  */
+         addend >>= howto->rightshift;
+       }
       value += addend;
 
       /* ??? Isn't value unsigned?  */
@@ -2634,17 +2638,16 @@ elf32_arm_final_link_relocate (reloc_howto_type *           howto,
        bfd_vma check;
        bfd_signed_vma signed_check;
 
-#if USE_REL
        /* Need to refetch the addend and squish the two 11 bit pieces
           together.  */
-       {
-         bfd_vma upper = upper_insn & 0x7ff;
-         bfd_vma lower = lower_insn & 0x7ff;
-         upper = (upper ^ 0x400) - 0x400; /* Sign extend.  */
-         addend = (upper << 12) | (lower << 1);
-         signed_addend = addend;
-       }
-#endif
+       if (globals->use_rel)
+         {
+           bfd_vma upper = upper_insn & 0x7ff;
+           bfd_vma lower = lower_insn & 0x7ff;
+           upper = (upper ^ 0x400) - 0x400; /* Sign extend.  */
+           addend = (upper << 12) | (lower << 1);
+           signed_addend = addend;
+         }
 #ifndef OLD_ARM_ABI
        if (r_type == R_ARM_THM_XPC22)
          {
@@ -2735,22 +2738,23 @@ elf32_arm_final_link_relocate (reloc_howto_type *           howto,
        bfd_signed_vma reloc_signed_min = ~ reloc_signed_max;
        bfd_signed_vma signed_check;
 
-#if USE_REL
-       /* Need to refetch addend.  */
-       addend = bfd_get_16 (input_bfd, hit_data) & howto->src_mask;
-       if (addend & ((howto->src_mask + 1) >> 1))
+       if (globals->use_rel)
          {
-           signed_addend = -1;
-           signed_addend &= ~ howto->src_mask;
-           signed_addend |= addend;
+           /* Need to refetch addend.  */
+           addend = bfd_get_16 (input_bfd, hit_data) & howto->src_mask;
+           if (addend & ((howto->src_mask + 1) >> 1))
+             {
+               signed_addend = -1;
+               signed_addend &= ~ howto->src_mask;
+               signed_addend |= addend;
+             }
+           else
+             signed_addend = addend;
+           /* The value in the insn has been right shifted.  We need to
+              undo this, so that we can perform the address calculation
+              in terms of bytes.  */
+           signed_addend <<= howto->rightshift;
          }
-       else
-         signed_addend = addend;
-       /* The value in the insn has been right shifted.  We need to
-          undo this, so that we can perform the address calculation
-          in terms of bytes.  */
-       signed_addend <<= howto->rightshift;
-#endif
        relocation = value + signed_addend;
 
        relocation -= (input_section->output_section->vma
@@ -2780,11 +2784,12 @@ elf32_arm_final_link_relocate (reloc_howto_type *           howto,
        bfd_vma relocation;
 
        insn = bfd_get_32 (input_bfd, hit_data);
-#if USE_REL
-       /* Extract the addend.  */
-       addend = (insn & 0xff) << ((insn & 0xf00) >> 7);
-       signed_addend = addend;
-#endif
+       if (globals->use_rel)
+         {
+           /* Extract the addend.  */
+           addend = (insn & 0xff) << ((insn & 0xf00) >> 7);
+           signed_addend = addend;
+         }
        relocation = value + signed_addend;
 
        relocation -= (input_section->output_section->vma
@@ -2985,7 +2990,6 @@ elf32_arm_final_link_relocate (reloc_howto_type *           howto,
     }
 }
 
-#if USE_REL
 /* Add INCREMENT to the reloc (of type HOWTO) at ADDRESS.  */
 static void
 arm_add_to_rel (bfd *              abfd,
@@ -3059,7 +3063,6 @@ arm_add_to_rel (bfd *              abfd,
       bfd_put_32 (abfd, contents, address);
     }
 }
-#endif /* USE_REL */
 
 /* Relocate an ARM ELF section.  */
 static bfd_boolean
@@ -3079,12 +3082,10 @@ elf32_arm_relocate_section (bfd *                  output_bfd,
   const char *name;
   struct elf32_arm_link_hash_table * globals;
 
-#if !USE_REL
-  if (info->relocatable)
+  globals = elf32_arm_hash_table (info);
+  if (info->relocatable && !globals->use_rel)
     return TRUE;
-#endif
 
-  globals = elf32_arm_hash_table (info);
   symtab_hdr = & elf_tdata (input_bfd)->symtab_hdr;
   sym_hashes = elf_sym_hashes (input_bfd);
 
@@ -3113,8 +3114,7 @@ elf32_arm_relocate_section (bfd *                  output_bfd,
       bfd_reloc.howto = elf32_arm_howto_from_type (r_type);
       howto = bfd_reloc.howto;
 
-#if USE_REL
-      if (info->relocatable)
+      if (info->relocatable && globals->use_rel)
        {
          /* This is a relocatable link.  We don't have to change
             anything, unless the reloc is against a section symbol,
@@ -3135,7 +3135,6 @@ elf32_arm_relocate_section (bfd *                  output_bfd,
 
          continue;
        }
-#endif
 
       /* This is a final link.  */
       h = NULL;
@@ -3146,48 +3145,49 @@ elf32_arm_relocate_section (bfd *                  output_bfd,
        {
          sym = local_syms + r_symndx;
          sec = local_sections[r_symndx];
-#if USE_REL
-         relocation = (sec->output_section->vma
-                       + sec->output_offset
-                       + sym->st_value);
-         if ((sec->flags & SEC_MERGE)
-                  && ELF_ST_TYPE (sym->st_info) == STT_SECTION)
+         if (globals->use_rel)
            {
-             asection *msec;
-             bfd_vma addend, value;
-
-             if (howto->rightshift)
+             relocation = (sec->output_section->vma
+                           + sec->output_offset
+                           + sym->st_value);
+             if ((sec->flags & SEC_MERGE)
+                      && ELF_ST_TYPE (sym->st_info) == STT_SECTION)
                {
-                 (*_bfd_error_handler)
-                   (_("%B(%A+0x%lx): %s relocation against SEC_MERGE section"),
-                    input_bfd, input_section,
-                    (long) rel->r_offset, howto->name);
-                 return FALSE;
-               }
+                 asection *msec;
+                 bfd_vma addend, value;
+
+                 if (howto->rightshift)
+                   {
+                     (*_bfd_error_handler)
+                       (_("%B(%A+0x%lx): %s relocation against SEC_MERGE section"),
+                        input_bfd, input_section,
+                        (long) rel->r_offset, howto->name);
+                     return FALSE;
+                   }
 
-             value = bfd_get_32 (input_bfd, contents + rel->r_offset);
+                 value = bfd_get_32 (input_bfd, contents + rel->r_offset);
 
-             /* Get the (signed) value from the instruction.  */
-             addend = value & howto->src_mask;
-             if (addend & ((howto->src_mask + 1) >> 1))
-               {
-                 bfd_signed_vma mask;
+                 /* Get the (signed) value from the instruction.  */
+                 addend = value & howto->src_mask;
+                 if (addend & ((howto->src_mask + 1) >> 1))
+                   {
+                     bfd_signed_vma mask;
 
-                 mask = -1;
-                 mask &= ~ howto->src_mask;
-                 addend |= mask;
+                     mask = -1;
+                     mask &= ~ howto->src_mask;
+                     addend |= mask;
+                   }
+                 msec = sec;
+                 addend =
+                   _bfd_elf_rel_local_sym (output_bfd, sym, &msec, addend)
+                   - relocation;
+                 addend += msec->output_section->vma + msec->output_offset;
+                 value = (value & ~ howto->dst_mask) | (addend & howto->dst_mask);
+                 bfd_put_32 (input_bfd, value, contents + rel->r_offset);
                }
-             msec = sec;
-             addend =
-               _bfd_elf_rel_local_sym (output_bfd, sym, &msec, addend)
-               - relocation;
-             addend += msec->output_section->vma + msec->output_offset;
-             value = (value & ~ howto->dst_mask) | (addend & howto->dst_mask);
-             bfd_put_32 (input_bfd, value, contents + rel->r_offset);
            }
-#else
-         relocation = _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel);
-#endif
+         else
+           relocation = _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel);
        }
       else
        {
@@ -5734,14 +5734,62 @@ const struct elf_size_info elf32_arm_size_info = {
 #define elf_backend_plt_readonly    1
 #define elf_backend_want_got_plt    1
 #define elf_backend_want_plt_sym    0
-#if !USE_REL
-#define elf_backend_rela_normal     1
-#endif
+#define elf_backend_may_use_rel_p   1
+#define elf_backend_may_use_rela_p  0
+#define elf_backend_default_use_rela_p 0
+#define elf_backend_rela_normal     0
 
 #define elf_backend_got_header_size    12
 
 #include "elf32-target.h"
 
+/* VxWorks Targets */
+
+#undef TARGET_LITTLE_SYM
+#define TARGET_LITTLE_SYM               bfd_elf32_littlearm_vxworks_vec
+#undef TARGET_LITTLE_NAME
+#define TARGET_LITTLE_NAME              "elf32-littlearm-vxworks"
+#undef TARGET_BIG_SYM
+#define TARGET_BIG_SYM                  bfd_elf32_bigarm_vxworks_vec
+#undef TARGET_BIG_NAME
+#define TARGET_BIG_NAME                 "elf32-bigarm-vxworks"
+
+/* Like elf32_arm_link_hash_table_create -- but overrides
+   appropriately for VxWorks.  */
+static struct bfd_link_hash_table *
+elf32_arm_vxworks_link_hash_table_create (bfd *abfd)
+{
+  struct bfd_link_hash_table *ret;
+
+  ret = elf32_arm_link_hash_table_create (abfd);
+  if (ret)
+    {
+      struct elf32_arm_link_hash_table *htab
+       = (struct elf32_arm_link_hash_table *)ret;
+      htab->use_rel = 0;
+    }
+  return ret;
+}     
+
+#undef elf32_bed
+#define elf32_bed elf32_arm_vxworks_bed
+
+#undef bfd_elf32_bfd_link_hash_table_create
+#define bfd_elf32_bfd_link_hash_table_create \
+  elf32_arm_vxworks_link_hash_table_create
+
+#undef elf_backend_may_use_rel_p
+#define elf_backend_may_use_rel_p   0
+#undef elf_backend_may_use_rela_p
+#define elf_backend_may_use_rela_p  1
+#undef elf_backend_default_use_rela_p
+#define elf_backend_default_use_rela_p 1
+#undef elf_backend_rela_normal
+#define elf_backend_rela_normal     1
+
+#include "elf32-target.h"
+
+
 /* Symbian OS Targets */
 
 #undef TARGET_LITTLE_SYM
@@ -5859,4 +5907,13 @@ elf32_arm_symbian_modify_segment_map (bfd *abfd,
 #undef elf_backend_want_got_plt
 #define elf_backend_want_got_plt 0
 
+#undef elf_backend_may_use_rel_p
+#define elf_backend_may_use_rel_p   1
+#undef elf_backend_may_use_rela_p
+#define elf_backend_may_use_rela_p  0
+#undef elf_backend_default_use_rela_p
+#define elf_backend_default_use_rela_p 1
+#undef elf_backend_rela_normal
+#define elf_backend_rela_normal     0
+
 #include "elf32-target.h"
index b6c31f8..804da96 100644 (file)
@@ -1,6 +1,6 @@
 /* Generic target-file-type support for the BFD library.
    Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-   2000, 2001, 2002, 2003, 2004
+   2000, 2001, 2002, 2003, 2004, 2005
    Free Software Foundation, Inc.
    Written by Cygnus Support.
 
@@ -536,6 +536,7 @@ extern const bfd_target bfd_elf32_big_generic_vec;
 extern const bfd_target bfd_elf32_bigarc_vec;
 extern const bfd_target bfd_elf32_bigarm_vec;
 extern const bfd_target bfd_elf32_bigarm_symbian_vec;
+extern const bfd_target bfd_elf32_bigarm_vxworks_vec;
 extern const bfd_target bfd_elf32_bigmips_vec;
 extern const bfd_target bfd_elf32_cr16c_vec;
 extern const bfd_target bfd_elf32_cris_vec;
@@ -564,6 +565,7 @@ extern const bfd_target bfd_elf32_little_generic_vec;
 extern const bfd_target bfd_elf32_littlearc_vec;
 extern const bfd_target bfd_elf32_littlearm_vec;
 extern const bfd_target bfd_elf32_littlearm_symbian_vec;
+extern const bfd_target bfd_elf32_littlearm_vxworks_vec;
 extern const bfd_target bfd_elf32_littlemips_vec;
 extern const bfd_target bfd_elf32_m32r_vec;
 extern const bfd_target bfd_elf32_m32rle_vec;
@@ -833,6 +835,7 @@ static const bfd_target * const _bfd_target_vector[] = {
        &bfd_elf32_bigarc_vec,
        &bfd_elf32_bigarm_vec,
        &bfd_elf32_bigarm_symbian_vec,
+       &bfd_elf32_bigarm_vxworks_vec,
        &bfd_elf32_bigmips_vec,
        &bfd_elf32_cr16c_vec,
        &bfd_elf32_cris_vec,
@@ -863,6 +866,7 @@ static const bfd_target * const _bfd_target_vector[] = {
        &bfd_elf32_littlearc_vec,
        &bfd_elf32_littlearm_vec,
        &bfd_elf32_littlearm_symbian_vec,
+       &bfd_elf32_littlearm_vxworks_vec,
        &bfd_elf32_littlemips_vec,
        &bfd_elf32_m32r_vec,
         &bfd_elf32_m32rle_vec,
index e900b24..ceea7de 100644 (file)
@@ -1,5 +1,12 @@
 2005-01-06  Paul Brook  <paul@codesourcery.com>
 
+       * config/tc-arm.c (FPU_DEFAULT): Define for TE_VXWORKS.
+       (md_begin): Handle TE_VXWORKS for FP defaults.
+       (md_apply_fix3): Correct rela offsets.
+       (elf32_arm_target_format): Add VxWorks targets.
+
+2005-01-06  Paul Brook  <paul@codesourcery.com>
+
        * configure.tgt: Set em=vxworks for *-*-vxworks.
        * config/te-vxworks.h: New File.
 
index 0c6c591..4de310a 100644 (file)
@@ -1,5 +1,6 @@
 /* tc-arm.c -- Assemble for the ARM
-   Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+   Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+   2005
    Free Software Foundation, Inc.
    Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org)
        Modified by David Taylor (dtaylor@armltd.co.uk)
@@ -125,6 +126,8 @@ enum arm_float_abi
     /* Legacy a.out format.  */
 #   define FPU_DEFAULT FPU_ARCH_FPA    /* Soft-float, but FPA order.  */
 #  endif
+# elif defined (TE_VXWORKS)
+#  define FPU_DEFAULT FPU_ARCH_VFP     /* Soft-float, VFP order.  */
 # else
    /* For backwards compatibility, default to FPA.  */
 #  define FPU_DEFAULT FPU_ARCH_FPA
@@ -11059,7 +11062,7 @@ md_begin (void)
     }
   else if (mfpu_opt == -1)
     {
-#if !(defined (TE_LINUX) || defined (TE_NetBSD))
+#if !(defined (TE_LINUX) || defined (TE_NetBSD) || defined (TE_VXWORKS)) 
       /* Some environments specify a default FPU.  If they don't, infer it
         from the processor.  */
       if (mcpu_fpu_opt != -1)
@@ -11764,7 +11767,18 @@ md_apply_fix3 (fixS *   fixP,
        as_bad_where (fixP->fx_file, fixP->fx_line,
                      _("out of range branch"));
 
-      newval = (value & 0x00ffffff) | (newval & 0xff000000);
+      if (seg->use_rela_p && !fixP->fx_done)
+       {
+         /* Must unshift the value before storing it in the addend.  */
+         value <<= 2;
+#ifdef OBJ_ELF
+         fixP->fx_offset = value;
+#endif
+         fixP->fx_addnumber = value;
+         newval = newval & 0xff000000;
+       }
+      else
+         newval = (value & 0x00ffffff) | (newval & 0xff000000);
       md_number_to_chars (buf, newval, INSN_SIZE);
       break;
 
@@ -11779,7 +11793,21 @@ md_apply_fix3 (fixS *   fixP,
        hbit   = (value >> 1) & 1;
        value  = (value >> 2) & 0x00ffffff;
        value  = (value + (newval & 0x00ffffff)) & 0x00ffffff;
-       newval = value | (newval & 0xfe000000) | (hbit << 24);
+
+       if (seg->use_rela_p && !fixP->fx_done)
+         {
+           /* Must sign-extend and unshift the value before storing
+              it in the addend.  */
+           value = SEXT24 (value);
+           value = (value << 2) | hbit;
+#ifdef OBJ_ELF
+           fixP->fx_offset = value;
+#endif
+           fixP->fx_addnumber = value;
+           newval = newval & 0xfe000000;
+         }
+       else
+         newval = value | (newval & 0xfe000000) | (hbit << 24);
        md_number_to_chars (buf, newval, INSN_SIZE);
       }
       break;
@@ -11795,7 +11823,16 @@ md_apply_fix3 (fixS *   fixP,
        if ((value & ~0xff) && ((value & ~0xff) != ~0xff))
          as_bad_where (fixP->fx_file, fixP->fx_line,
                        _("branch out of range"));
-       newval = (newval & 0xff00) | ((value & 0x1ff) >> 1);
+       if (seg->use_rela_p && !fixP->fx_done)
+         {
+#ifdef OBJ_ELF
+           fixP->fx_offset = value;
+#endif
+           fixP->fx_addnumber = value;
+           newval = newval & 0xff00;
+         }
+       else
+         newval = (newval & 0xff00) | ((value & 0x1ff) >> 1);
       }
       md_number_to_chars (buf, newval, THUMB_SIZE);
       break;
@@ -11811,7 +11848,16 @@ md_apply_fix3 (fixS *   fixP,
        if ((value & ~0x7ff) && ((value & ~0x7ff) != ~0x7ff))
          as_bad_where (fixP->fx_file, fixP->fx_line,
                        _("branch out of range"));
-       newval = (newval & 0xf800) | ((value & 0xfff) >> 1);
+       if (seg->use_rela_p && !fixP->fx_done)
+         {
+#ifdef OBJ_ELF
+           fixP->fx_offset = value;
+#endif
+           fixP->fx_addnumber = value;
+           newval = newval & 0xf800;
+         }
+       else
+         newval = (newval & 0xf800) | ((value & 0xfff) >> 1);
       }
       md_number_to_chars (buf, newval, THUMB_SIZE);
       break;
@@ -11836,20 +11882,35 @@ md_apply_fix3 (fixS *   fixP,
          as_bad_where (fixP->fx_file, fixP->fx_line,
                        _("branch with link out of range"));
 
-       newval  = (newval  & 0xf800) | ((value & 0x7fffff) >> 12);
-       newval2 = (newval2 & 0xf800) | ((value & 0xfff) >> 1);
        if (fixP->fx_r_type == BFD_RELOC_THUMB_PCREL_BLX)
          /* For a BLX instruction, make sure that the relocation is rounded up
             to a word boundary.  This follows the semantics of the instruction
             which specifies that bit 1 of the target address will come from bit
             1 of the base address.  */
-         newval2 = (newval2 + 1) & ~ 1;
+         value = (value + 1) & ~ 1;
+
+       if (seg->use_rela_p && !fixP->fx_done)
+         {
+#ifdef OBJ_ELF
+           fixP->fx_offset = value;
+#endif
+           fixP->fx_addnumber = value;
+           newval = newval & 0xf800;
+           newval2 = newval2 & 0xf800;
+         }
+       else
+         {
+           newval  = (newval  & 0xf800) | ((value & 0x7fffff) >> 12);
+           newval2 = (newval2 & 0xf800) | ((value & 0xfff) >> 1);
+         }
        md_number_to_chars (buf, newval, THUMB_SIZE);
        md_number_to_chars (buf + THUMB_SIZE, newval2, THUMB_SIZE);
       }
       break;
 
     case BFD_RELOC_8:
+      if (seg->use_rela_p && !fixP->fx_done)
+       break;
       if (fixP->fx_done || fixP->fx_pcrel)
        md_number_to_chars (buf, value, 1);
 #ifdef OBJ_ELF
@@ -11862,6 +11923,8 @@ md_apply_fix3 (fixS *   fixP,
       break;
 
     case BFD_RELOC_16:
+      if (seg->use_rela_p && !fixP->fx_done)
+       break;
       if (fixP->fx_done || fixP->fx_pcrel)
        md_number_to_chars (buf, value, 2);
 #ifdef OBJ_ELF
@@ -11877,6 +11940,8 @@ md_apply_fix3 (fixS *   fixP,
     case BFD_RELOC_ARM_GOT32:
     case BFD_RELOC_ARM_GOTOFF:
     case BFD_RELOC_ARM_TARGET2:
+      if (seg->use_rela_p && !fixP->fx_done)
+       break;
       md_number_to_chars (buf, 0, 4);
       break;
 #endif
@@ -11887,6 +11952,8 @@ md_apply_fix3 (fixS *   fixP,
     case BFD_RELOC_ARM_ROSEGREL32:
     case BFD_RELOC_ARM_SBREL32:
     case BFD_RELOC_32_PCREL:
+      if (seg->use_rela_p && !fixP->fx_done)
+       break;
       if (fixP->fx_done || fixP->fx_pcrel)
        md_number_to_chars (buf, value, 4);
 #ifdef OBJ_ELF
@@ -13502,6 +13569,10 @@ elf32_arm_target_format (void)
   return (target_big_endian
          ? "elf32-bigarm-symbian"
          : "elf32-littlearm-symbian");
+#elif defined (TE_VXWORKS)
+  return (target_big_endian
+         ? "elf32-bigarm-vxworks"
+         : "elf32-littlearm-vxworks");
 #else
   if (target_big_endian)
     return "elf32-bigarm";
index 6a969e3..5fceef3 100644 (file)
@@ -1,3 +1,10 @@
+2005-01-06  Paul Brook  <paul@codesourcery.com>
+
+       * Makefie.am: Add earmelf_vxworks.
+       * Makefile.in: Regenerate.
+       * configure.tgt: Make arm-*-vxworks a separate case.
+       * emulparams/armelf_vxworks.sh: New function.
+
 2005-01-06  Alan Modra  <amodra@bigpond.net.au>
 
        * emultempl/ppc64elf.em (no_multi_toc): New var.
index 67038fb..49b632d 100644 (file)
@@ -125,6 +125,7 @@ ALL_EMULATIONS = \
        earmelfb_linux.o \
        earmelf_nbsd.o \
        earmelfb_nbsd.o \
+       earmelf_vxworks.o \
        earmnto.o \
        earmnbsd.o \
        earmpe.o \
@@ -518,6 +519,11 @@ earmelfb_nbsd.c: $(srcdir)/emulparams/armelfb_nbsd.sh \
   $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/armelf.em \
   $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
        ${GENSCRIPTS} armelfb_nbsd "$(tdir_armelfb_nbsd)"
+earmelf_vxworks.c: $(srcdir)/emulparams/armelf_vxworks.sh \
+  $(srcdir)/emulparams/armelf.sh $(srcdir)/emultempl/elf32.em \
+  $(srcdir)/emultempl/armelf.em $(srcdir)/scripttempl/elf.sc \
+  ${GEN_DEPENDS}
+       ${GENSCRIPTS} armelf_vxworks "$(tdir_armelf)"
 earmaoutb.c:   $(srcdir)/emulparams/armaoutb.sh \
   $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/armaout.sc ${GEN_DEPENDS}
        ${GENSCRIPTS} armaoutb "$(tdir_armaoutb)"
index 5a569d8..499a18b 100644 (file)
@@ -201,7 +201,7 @@ INCLUDES = -D_GNU_SOURCE -I. -I$(srcdir) -I../bfd -I$(BFDDIR) -I$(INCDIR) -I$(to
 BFDLIB = ../bfd/libbfd.la
 LIBIBERTY = ../libiberty/libiberty.a
 
-ALL_EMULATIONS =       ea29k.o         eaixppc.o       eaixrs6.o       ealpha.o        earcelf.o       earm_epoc_pe.o  earmaoutb.o     earmaoutl.o     earmcoff.o      earmelf.o       earmelfb.o      earmelf_fbsd.o  earmelf_linux.o         earmelf_linux_eabi.o    earmelfb_linux.o        earmelf_nbsd.o  earmelfb_nbsd.o         earmnto.o       earmnbsd.o      earmpe.o        earmsymbian.o   eavr2.o         eavr1.o         eavr3.o         eavr4.o         eavr5.o         ecoff_i860.o    ecoff_sparc.o   ecrisaout.o     ecriself.o      ecrislinux.o    ed10velf.o      ed30v_e.o       ed30v_o.o       ed30velf.o      edelta68.o      eelf32_dlx.o    eebmon29k.o     eelf32_i960.o   eelf32_i860.o   eelf32_sparc.o  eelf32b4300.o   eelf32cr16c.o   eelf32bmip.o    eelf32bmipn32.o         eelf32btsmip.o  eelf32crx.o     eelf32btsmipn32.o       eelf32ltsmip.o  eelf32ltsmipn32.o       eelf32ebmip.o   eelf32elmip.o   eelf32fr30.o    eelf32frv.o     eelf32i370.o    eelf32ip2k.o    eelf32iq2000.o  eelf32iq10.o    eelf32l4300.o   eelf32lmip.o    eelf32lppc.o    eelf32lppcnto.o         eelf32lppcsim.o         eelf32mcore.o   eelf32mipswindiss.o     eelf32openrisc.o        eelf32ppc.o     eelf32ppc_fbsd.o        eelf32ppclinux.o        eelf32ppcnto.o  eelf32ppcsim.o  eelf32ppcwindiss.o      eelf32vax.o     eelf32xstormy16.o       eelf32xtensa.o  eelf_i386.o     eelf_i386_be.o  eelf_i386_chaos.o       eelf_i386_fbsd.o        eelf_i386_ldso.o        eelf_s390.o     egld960.o       egld960coff.o   eh8300.o        eh8300h.o       eh8300s.o       eh8300elf.o     eh8300hn.o      eh8300sn.o      eh8300sx.o      eh8300helf.o    eh8300self.o    eh8300hnelf.o   eh8300snelf.o   eh8300sxelf.o   eh8300sxn.o     eh8300sxnelf.o  eh8500.o        eh8500b.o       eh8500c.o       eh8500m.o       eh8500s.o       ehp300bsd.o     ehp3hpux.o      ehppaelf.o      ehppalinux.o    ehppanbsd.o     ehppaobsd.o     ei386aout.o     ei386beos.o     ei386bsd.o      ei386coff.o     ei386go32.o     ei386linux.o    ei386lynx.o     ei386mach.o     ei386moss.o     ei386msdos.o    ei386nbsd.o     ei386nto.o      ei386nw.o       ei386pe.o       ei386pe_posix.o         elnk960.o       em32relf.o      em32rlelf.o     em32relf_linux.o        em32rlelf_linux.o       em68hc11elf.o   em68hc11elfb.o  em68hc12elf.o   em68hc12elfb.o  em68k4knbsd.o   em68kaout.o     em68kaux.o      em68kcoff.o     em68kelf.o      em68kelfnbsd.o  em68klinux.o    em68klynx.o     em68knbsd.o     em68kpsos.o     em88kbcs.o      emaxqcoff.o     emcorepe.o      emipsbig.o      emipsbsd.o      emipsidt.o      emipsidtl.o     emipslit.o      emipslnews.o    emipspe.o       emsp430x110.o   emsp430x112.o   emsp430x1101.o  emsp430x1111.o  emsp430x1121.o  emsp430x1122.o  emsp430x1132.o  emsp430x122.o   emsp430x123.o   emsp430x1222.o  emsp430x1232.o  emsp430x133.o   emsp430x135.o   emsp430x1331.o  emsp430x1351.o  emsp430x147.o   emsp430x148.o   emsp430x149.o   emsp430x155.o   emsp430x156.o   emsp430x157.o   emsp430x167.o   emsp430x168.o   emsp430x169.o   emsp430x1610.o  emsp430x1611.o  emsp430x1612.o  emsp430x311.o   emsp430x312.o   emsp430x313.o   emsp430x314.o   emsp430x315.o   emsp430x323.o   emsp430x325.o   emsp430x336.o   emsp430x337.o   emsp430x412.o   emsp430x413.o   emsp430x415.o   emsp430x417.o   emsp430xE423.o  emsp430xE425.o  emsp430xE427.o  emsp430xW423.o  emsp430xW425.o  emsp430xW427.o  emsp430xG437.o  emsp430xG438.o  emsp430xG439.o  emsp430x435.o   emsp430x436.o   emsp430x437.o   emsp430x447.o   emsp430x448.o   emsp430x449.o   enews.o         ens32knbsd.o    eor32.o         eor32elf.o      epc532macha.o   epdp11.o        epjelf.o        epjlelf.o       eppcmacos.o     eppcnw.o        eppcpe.o        eppclynx.o      eriscix.o       esa29200.o      esh.o   eshelf32.o      eshlelf32.o     eshelf32_linux.o        eshlelf32_linux.o       eshelf32_nbsd.o         eshlelf32_nbsd.o        eshelf.o        eshelf_linux.o  eshlelf_linux.o         eshelf_nbsd.o   eshlelf_nbsd.o  eshelf_nto.o    eshlelf_nto.o   eshl.o  eshlelf.o       eshlsymbian.o   eshpe.o         esparcaout.o    esparclinux.o   esparclynx.o    esparcnbsd.o    est2000.o       esun3.o         esun4.o         etic30aout.o    etic30coff.o    etic3xcoff.o    etic3xcoff_onchip.o     etic4xcoff.o    etic54xcoff.o   etic80coff.o    evanilla.o      evax.o  evaxnbsd.o      evsta.o         ew65.o  ez8001.o          eelf32frvfd.o         ez8002.o
+ALL_EMULATIONS =       ea29k.o         eaixppc.o       eaixrs6.o       ealpha.o        earcelf.o       earm_epoc_pe.o  earmaoutb.o     earmaoutl.o     earmcoff.o      earmelf.o       earmelfb.o      earmelf_fbsd.o  earmelf_linux.o         earmelf_linux_eabi.o    earmelfb_linux.o        earmelf_nbsd.o  earmelfb_nbsd.o         earmelf_vxworks.o       earmnto.o       earmnbsd.o      earmpe.o        earmsymbian.o   eavr2.o         eavr1.o         eavr3.o         eavr4.o         eavr5.o         ecoff_i860.o    ecoff_sparc.o   ecrisaout.o     ecriself.o      ecrislinux.o    ed10velf.o      ed30v_e.o       ed30v_o.o       ed30velf.o      edelta68.o      eelf32_dlx.o    eebmon29k.o     eelf32_i960.o   eelf32_i860.o   eelf32_sparc.o  eelf32b4300.o   eelf32cr16c.o   eelf32bmip.o    eelf32bmipn32.o         eelf32btsmip.o  eelf32crx.o     eelf32btsmipn32.o       eelf32ltsmip.o  eelf32ltsmipn32.o       eelf32ebmip.o   eelf32elmip.o   eelf32fr30.o    eelf32frv.o     eelf32i370.o    eelf32ip2k.o    eelf32iq2000.o  eelf32iq10.o    eelf32l4300.o   eelf32lmip.o    eelf32lppc.o    eelf32lppcnto.o         eelf32lppcsim.o         eelf32mcore.o   eelf32mipswindiss.o     eelf32openrisc.o        eelf32ppc.o     eelf32ppc_fbsd.o        eelf32ppclinux.o        eelf32ppcnto.o  eelf32ppcsim.o  eelf32ppcwindiss.o      eelf32vax.o     eelf32xstormy16.o       eelf32xtensa.o  eelf_i386.o     eelf_i386_be.o  eelf_i386_chaos.o       eelf_i386_fbsd.o        eelf_i386_ldso.o        eelf_s390.o     egld960.o       egld960coff.o   eh8300.o        eh8300h.o       eh8300s.o       eh8300elf.o     eh8300hn.o      eh8300sn.o      eh8300sx.o      eh8300helf.o    eh8300self.o    eh8300hnelf.o   eh8300snelf.o   eh8300sxelf.o   eh8300sxn.o     eh8300sxnelf.o  eh8500.o        eh8500b.o       eh8500c.o       eh8500m.o       eh8500s.o       ehp300bsd.o     ehp3hpux.o      ehppaelf.o      ehppalinux.o    ehppanbsd.o     ehppaobsd.o     ei386aout.o     ei386beos.o     ei386bsd.o      ei386coff.o     ei386go32.o     ei386linux.o    ei386lynx.o     ei386mach.o     ei386moss.o     ei386msdos.o    ei386nbsd.o     ei386nto.o      ei386nw.o       ei386pe.o       ei386pe_posix.o         elnk960.o       em32relf.o      em32rlelf.o     em32relf_linux.o        em32rlelf_linux.o       em68hc11elf.o   em68hc11elfb.o  em68hc12elf.o   em68hc12elfb.o  em68k4knbsd.o   em68kaout.o     em68kaux.o      em68kcoff.o     em68kelf.o      em68kelfnbsd.o  em68klinux.o    em68klynx.o     em68knbsd.o     em68kpsos.o     em88kbcs.o      emaxqcoff.o     emcorepe.o      emipsbig.o      emipsbsd.o      emipsidt.o      emipsidtl.o     emipslit.o      emipslnews.o    emipspe.o       emsp430x110.o   emsp430x112.o   emsp430x1101.o  emsp430x1111.o  emsp430x1121.o  emsp430x1122.o  emsp430x1132.o  emsp430x122.o   emsp430x123.o   emsp430x1222.o  emsp430x1232.o  emsp430x133.o   emsp430x135.o   emsp430x1331.o  emsp430x1351.o  emsp430x147.o   emsp430x148.o   emsp430x149.o   emsp430x155.o   emsp430x156.o   emsp430x157.o   emsp430x167.o   emsp430x168.o   emsp430x169.o   emsp430x1610.o  emsp430x1611.o  emsp430x1612.o  emsp430x311.o   emsp430x312.o   emsp430x313.o   emsp430x314.o   emsp430x315.o   emsp430x323.o   emsp430x325.o   emsp430x336.o   emsp430x337.o   emsp430x412.o   emsp430x413.o   emsp430x415.o   emsp430x417.o   emsp430xE423.o  emsp430xE425.o  emsp430xE427.o  emsp430xW423.o  emsp430xW425.o  emsp430xW427.o  emsp430xG437.o  emsp430xG438.o  emsp430xG439.o  emsp430x435.o   emsp430x436.o   emsp430x437.o   emsp430x447.o   emsp430x448.o   emsp430x449.o   enews.o         ens32knbsd.o    eor32.o         eor32elf.o      epc532macha.o   epdp11.o        epjelf.o        epjlelf.o       eppcmacos.o     eppcnw.o        eppcpe.o        eppclynx.o      eriscix.o       esa29200.o      esh.o   eshelf32.o      eshlelf32.o     eshelf32_linux.o        eshlelf32_linux.o       eshelf32_nbsd.o         eshlelf32_nbsd.o        eshelf.o        eshelf_linux.o  eshlelf_linux.o         eshelf_nbsd.o   eshlelf_nbsd.o  eshelf_nto.o    eshlelf_nto.o   eshl.o  eshlelf.o       eshlsymbian.o   eshpe.o         esparcaout.o    esparclinux.o   esparclynx.o    esparcnbsd.o    est2000.o       esun3.o         esun4.o         etic30aout.o    etic30coff.o    etic3xcoff.o    etic3xcoff_onchip.o     etic4xcoff.o    etic54xcoff.o   etic80coff.o    evanilla.o      evax.o  evaxnbsd.o      evsta.o         ew65.o  ez8001.o          eelf32frvfd.o         ez8002.o
 
 
 ALL_64_EMULATIONS =    eelf64_aix.o    eelf64_ia64.o   eelf64_ia64_fbsd.o      eshelf64.o      eshlelf64.o     eshelf64_nbsd.o         eshlelf64_nbsd.o        eelf_x86_64.o   eelf_x86_64_fbsd.o      eelf64_s390.o   eelf64_sparc.o  eelf64_sparc_fbsd.o     eelf64alpha.o   eelf64alpha_fbsd.o      eelf64alpha_nbsd.o      eelf64bmip.o    eelf64btsmip.o  eelf64ltsmip.o  eelf64hppa.o    eelf64mmix.o    emmo.o  eelf64ppc.o     eelf64lppc.o    ehppa64linux.o
@@ -301,7 +301,7 @@ deffilep.c ldgram.c ldlex.c
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
 SOURCES = $(ld_new_SOURCES) $(EXTRA_ld_new_SOURCES)
 OBJECTS = $(ld_new_OBJECTS)
@@ -644,7 +644,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.in $(TAGS_DEPENDENCIES) $(LISP
          awk '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
        test -z "$(ETAGS_ARGS)config.in$$unique$(LISP)$$tags" \
-         || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.in $$unique $(LISP) -o $$here/TAGS)
+         || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags config.in $$unique $(LISP))
 
 mostlyclean-tags:
 
@@ -734,7 +734,7 @@ site.exp: Makefile
        @echo 'set build_alias $(build_alias)' >> $@-t
        @echo 'set build_triplet $(build_triplet)' >> $@-t
        @echo '## All variables above are generated by configure. Do Not Edit ##' >> $@-t
-       @test ! -f site.exp || sed '1,/^## All variables above are.*##/ d' site.exp >> $@-t
+       @test ! -f $(srcdir)/site.exp || sed '1,/^## All variables above are.*##/ d' $(srcdir)/site.exp >> $@-t
        @test ! -f site.exp || mv site.exp site.bak
        @mv $@-t site.exp
 info-am: $(INFO_DEPS)
@@ -929,6 +929,11 @@ earmelfb_nbsd.c: $(srcdir)/emulparams/armelfb_nbsd.sh \
   $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/armelf.em \
   $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
        ${GENSCRIPTS} armelfb_nbsd "$(tdir_armelfb_nbsd)"
+earmelf_vxworks.c: $(srcdir)/emulparams/armelf_vxworks.sh \
+  $(srcdir)/emulparams/armelf.sh $(srcdir)/emultempl/elf32.em \
+  $(srcdir)/emultempl/armelf.em $(srcdir)/scripttempl/elf.sc \
+  ${GEN_DEPENDS}
+       ${GENSCRIPTS} armelf_vxworks "$(tdir_armelf)"
 earmaoutb.c:   $(srcdir)/emulparams/armaoutb.sh \
   $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/armaout.sc ${GEN_DEPENDS}
        ${GENSCRIPTS} armaoutb "$(tdir_armaoutb)"
index 96b2c4c..bc907d9 100644 (file)
@@ -257,7 +257,7 @@ arm-*-nto*)         targ_emul=armnto ;;
 arm-*-openbsd*)                targ_emul=armnbsd ;;
 arm-*-rtems*)          targ_emul=armelf ;;
 armeb-*-elf)           targ_emul=armelfb ;;
-arm-*-elf | arm-*-vxworks | arm*-*-eabi*)
+arm-*-elf | arm*-*-eabi*)
                        targ_emul=armelf ;;
 arm*-*-symbianelf*)     targ_emul=armsymbian;;
 arm-*-kaos*)           targ_emul=armelf ;;
@@ -266,6 +266,7 @@ arm*b-*-linux-gnu*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
 arm*-*-linux-gnueabi)  targ_emul=armelf_linux_eabi ;;
 arm*-*-linux-gnu*)     targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
 arm*-*-uclinux*)       targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
+arm-*-vxworks)         targ_emul=armelf_vxworks ;;
 arm*-*-conix*)         targ_emul=armelf ;;
 thumb-*-linux-gnu* | thumb-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
 strongarm-*-coff)      targ_emul=armcoff ;;
diff --git a/ld/emulparams/armelf_vxworks.sh b/ld/emulparams/armelf_vxworks.sh
new file mode 100644 (file)
index 0000000..5b0f3d8
--- /dev/null
@@ -0,0 +1,4 @@
+. ${srcdir}/emulparams/armelf.sh
+OUTPUT_FORMAT="elf32-littlearm-vxworks"
+BIG_OUTPUT_FORMAT="elf32-bigarm-vxworks"
+LITTLE_OUTPUT_FORMAT="$OUTPUT_FORMAT"