summaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2001-04-27 17:12:18 +0000
committerNick Clifton <nickc@redhat.com>2001-04-27 17:12:18 +0000
commit87748b32271dca951c949543fc14cb1ef2b5c992 (patch)
tree47bd23066af753d8b9e6e46d28f2eb9917386f7a /bfd
parentcc3f9cbbf767f6d2e07cf46508fc510f07042bc9 (diff)
downloadbinutils-gdb-87748b32271dca951c949543fc14cb1ef2b5c992.tar.gz
Add support for arm-vxworks target
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/coff-arm.c18
-rw-r--r--bfd/config.bfd6
-rw-r--r--bfd/po/bfd.pot64
4 files changed, 61 insertions, 33 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 37ffb671e34..4e3860d5692 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2001-04-27 Sean McNeil <sean@mcneil.com>
+
+ * config.bfd: Add arm-vxworks target.
+ * coff-arm (coff_arm_relocate_section): Add in symbol value to
+ addend (fro VXworks targets).
+
2001-04-26 H.J. Lu <hjl@gnu.org>
* elf32-i386.c (elf_i386_check_relocs): Verify if r_symndx is
diff --git a/bfd/coff-arm.c b/bfd/coff-arm.c
index ae7ee75a56d..8bb4e6c4940 100644
--- a/bfd/coff-arm.c
+++ b/bfd/coff-arm.c
@@ -1244,12 +1244,18 @@ coff_arm_relocate_section (output_bfd, info, input_bfd, input_section,
{
if (info->relocateable)
continue;
-#if 0 /* We must not ignore the symbol value. If the symbol is
- within the same section, the relocation should have already
- been fixed, but if it is not, we'll be handed a reloc into
- the beginning of the symbol's section, so we must not cancel
- out the symbol's value, otherwise we'll be adding it in
- twice. */
+ /* FIXME - it is not clear which targets need this next test
+ and which do not. It is known that it is needed for the
+ VXworks target (hence the #ifdef), but it is also known
+ that it was supressed for other (arm) targets. This ought
+ to be sorted out one day. */
+#ifdef VXWORKS
+ /* We must not ignore the symbol value. If the symbol is
+ within the same section, the relocation should have already
+ been fixed, but if it is not, we'll be handed a reloc into
+ the beginning of the symbol's section, so we must not cancel
+ out the symbol's value, otherwise we'll be adding it in
+ twice. */
if (sym != NULL && sym->n_scnum != 0)
addend += sym->n_value;
#endif
diff --git a/bfd/config.bfd b/bfd/config.bfd
index 168b8392ca4..70fd06c6470 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -140,6 +140,12 @@ case "${targ}" in
targ_defvec=aout_arm_big_vec
targ_selvecs=aout_arm_little_vec
;;
+ arm-*-vxworks*)
+ targ_defvec=armcoff_little_vec
+ targ_selvecs=armcoff_big_vec
+ targ_underscore=yes
+ targ_cflags=-DVXWORKS
+ ;;
arm-*-coff)
targ_defvec=armcoff_little_vec
targ_selvecs=armcoff_big_vec
diff --git a/bfd/po/bfd.pot b/bfd/po/bfd.pot
index 6bacc5ce700..8a8680a97a7 100644
--- a/bfd/po/bfd.pot
+++ b/bfd/po/bfd.pot
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2001-04-25 20:38+0100\n"
+"POT-Creation-Date: 2001-04-27 18:06+0100\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"
@@ -209,119 +209,119 @@ msgstr ""
msgid "%s: unable to find ARM glue '%s' for `%s'"
msgstr ""
-#: coff-arm.c:1336 coff-arm.c:1431 elf32-arm.h:841 elf32-arm.h:946
+#: coff-arm.c:1342 coff-arm.c:1437 elf32-arm.h:841 elf32-arm.h:946
#, c-format
msgid "%s(%s): warning: interworking not enabled."
msgstr ""
-#: coff-arm.c:1340 elf32-arm.h:949
+#: coff-arm.c:1346 elf32-arm.h:949
#, c-format
msgid " first occurrence: %s: arm call to thumb"
msgstr ""
-#: coff-arm.c:1435 elf32-arm.h:844
+#: coff-arm.c:1441 elf32-arm.h:844
#, c-format
msgid " first occurrence: %s: thumb call to arm"
msgstr ""
-#: coff-arm.c:1438
+#: coff-arm.c:1444
msgid " consider relinking with --support-old-code enabled"
msgstr ""
-#: coff-arm.c:1726 coff-tic80.c:682 cofflink.c:2992
+#: coff-arm.c:1732 coff-tic80.c:682 cofflink.c:2992
#, c-format
msgid "%s: bad reloc address 0x%lx in section `%s'"
msgstr ""
-#: coff-arm.c:2063
+#: coff-arm.c:2069
#, c-format
msgid "%s: illegal symbol index in reloc: %d"
msgstr ""
-#: coff-arm.c:2191
+#: coff-arm.c:2197
#, c-format
msgid "%s: ERROR: compiled for APCS-%d whereas target %s uses APCS-%d"
msgstr ""
-#: coff-arm.c:2206
+#: coff-arm.c:2212
#, c-format
msgid ""
"%s: ERROR: passes floats in float registers whereas target %s uses integer "
"registers"
msgstr ""
-#: coff-arm.c:2209
+#: coff-arm.c:2215
#, c-format
msgid ""
"%s: ERROR: passes floats in integer registers whereas target %s uses float "
"registers"
msgstr ""
-#: coff-arm.c:2224
+#: coff-arm.c:2230
#, c-format
msgid ""
"%s: ERROR: compiled as position independent code, whereas target %s is "
"absolute position"
msgstr ""
-#: coff-arm.c:2227
+#: coff-arm.c:2233
#, c-format
msgid ""
"%s: ERROR: compiled as absolute position code, whereas target %s is position "
"independent"
msgstr ""
-#: coff-arm.c:2256
+#: coff-arm.c:2262
#, c-format
msgid "Warning: input file %s supports interworking, whereas %s does not."
msgstr ""
-#: coff-arm.c:2259
+#: coff-arm.c:2265
#, c-format
msgid "Warning: input file %s does not support interworking, whereas %s does."
msgstr ""
-#: coff-arm.c:2286
+#: coff-arm.c:2292
#, c-format
msgid "private flags = %x:"
msgstr ""
-#: coff-arm.c:2294 elf32-arm.h:2222
+#: coff-arm.c:2300 elf32-arm.h:2222
msgid " [floats passed in float registers]"
msgstr ""
-#: coff-arm.c:2296
+#: coff-arm.c:2302
msgid " [floats passed in integer registers]"
msgstr ""
-#: coff-arm.c:2299 elf32-arm.h:2225
+#: coff-arm.c:2305 elf32-arm.h:2225
msgid " [position independent]"
msgstr ""
-#: coff-arm.c:2301
+#: coff-arm.c:2307
msgid " [absolute position]"
msgstr ""
-#: coff-arm.c:2305
+#: coff-arm.c:2311
msgid " [interworking flag not initialised]"
msgstr ""
-#: coff-arm.c:2307
+#: coff-arm.c:2313
msgid " [interworking supported]"
msgstr ""
-#: coff-arm.c:2309
+#: coff-arm.c:2315
msgid " [interworking not supported]"
msgstr ""
-#: coff-arm.c:2357
+#: coff-arm.c:2363
#, c-format
msgid ""
"Warning: Not setting interworking flag of %s, since it has already been "
"specified as non-interworking"
msgstr ""
-#: coff-arm.c:2361
+#: coff-arm.c:2367
#, c-format
msgid "Warning: Clearing the interworking flag of %s due to outside request"
msgstr ""
@@ -554,7 +554,7 @@ msgstr ""
msgid "%s: Warning: Thumb BLX instruction targets thumb function '%s'."
msgstr ""
-#: elf-hppa.h:1369 elf-hppa.h:1402 elf32-arm.h:1865 elf32-i386.c:1442
+#: elf-hppa.h:1369 elf-hppa.h:1402 elf32-arm.h:1865 elf32-i386.c:1456
#: elf32-ppc.c:3093 elf32-s390.c:1442 elf32-sh.c:2997 elf64-s390.c:1431
#: elf64-x86-64.c:1290
#, c-format
@@ -885,12 +885,22 @@ msgstr ""
msgid "%s: invalid relocation type %d"
msgstr ""
-#: elf32-i386.c:681 elf32-i386.c:1649
+#: elf32-i386.c:507
+#, c-format
+msgid "%s(%s): bad symbol index: %d"
+msgstr ""
+
+#: elf32-i386.c:512
+#, c-format
+msgid "%s: bad symbol index: %d"
+msgstr ""
+
+#: elf32-i386.c:695 elf32-i386.c:1663
#, c-format
msgid "%s(%s): bad relocation section name `%s'"
msgstr ""
-#: elf32-i386.c:686 elf32-i386.c:1654
+#: elf32-i386.c:700 elf32-i386.c:1668
#, c-format
msgid "%s: bad relocation section name `%s'"
msgstr ""