Add support for arm-vxworks target

This commit is contained in:
Nick Clifton 2001-04-27 17:12:18 +00:00
parent cc3f9cbbf7
commit 87748b3227
13 changed files with 687 additions and 627 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 ""

View File

@ -1,3 +1,8 @@
2001-04-27 Sean McNeil <sean@mcneil.com>
* configure.in: Add arm-vxworks.
* configure: Regenerate.
2001-04-26 Nick Clifton <nickc@cambridge.redhat.com>
* config/tc-arm.c (arm_handle_align): New Function: Generate

339
gas/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -197,6 +197,7 @@ changequote([,])dnl
arm-*-wince) fmt=coff em=wince-pe ;;
arm-*-pe | thumb-*-pe) fmt=coff em=pe ;;
arm-*-riscix*) fmt=aout em=riscix ;;
arm-*-vxworks) fmt=coff ;;
avr-*-*) fmt=elf bfd_gas=yes ;;

View File

@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2001-04-25 20:59+0100\n"
"POT-Creation-Date: 2001-04-27 15:23+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"
@ -2058,6 +2058,10 @@ msgstr ""
msgid "%s: unexpected function type: %d"
msgstr ""
#: config/tc-arm.c:8857
msgid "alignments in code section > 32 not supported."
msgstr ""
#: config/tc-avr.c:185
msgid "Known MCU names:"
msgstr ""

View File

@ -1,3 +1,10 @@
2001-04-27 Sean McNeil <sean@mcneil.com>
* configure.tgt: Add arm-vxworks target.
* scripttempl/armcoff.sc: Support .text or .data as a section name
prefix.
Define _etext.
2001-04-13 J.T. Conklin <jtc@redback.com>
* ld.texinfo: Document --fatal-warnings.

View File

@ -1,171 +1,175 @@
/* config.in. Generated automatically from configure.in by autoheader. */
/* Define if using alloca.c. */
#undef C_ALLOCA
/* Define to empty if the keyword does not work. */
#undef const
/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
This function is required for alloca.c support on those systems. */
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
systems. This function is required for `alloca.c' support on those systems.
*/
#undef CRAY_STACKSEG_END
/* Define if you have alloca, as a function or macro. */
#undef HAVE_ALLOCA
/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
#undef HAVE_ALLOCA_H
/* Define if you have a working `mmap' system call. */
#undef HAVE_MMAP
/* Define as __inline if that's what the C compiler calls it. */
#undef inline
/* Define to `long' if <sys/types.h> doesn't define. */
#undef off_t
/* Define to `unsigned' if <sys/types.h> doesn't define. */
#undef size_t
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown
*/
#undef STACK_DIRECTION
/* Define if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define if lex declares yytext as a char * by default, not a char[]. */
#undef YYTEXT_POINTER
/* Define if you have the __argz_count function. */
#undef HAVE___ARGZ_COUNT
/* Define if you have the __argz_next function. */
#undef HAVE___ARGZ_NEXT
/* Define if you have the __argz_stringify function. */
#undef HAVE___ARGZ_STRINGIFY
/* Define if you have the dcgettext function. */
#undef HAVE_DCGETTEXT
/* Define if you have the getcwd function. */
#undef HAVE_GETCWD
/* Define if you have the getpagesize function. */
#undef HAVE_GETPAGESIZE
/* Define if you have the munmap function. */
#undef HAVE_MUNMAP
/* Define if you have the putenv function. */
#undef HAVE_PUTENV
/* Define if you have the sbrk function. */
#undef HAVE_SBRK
/* Define if you have the setenv function. */
#undef HAVE_SETENV
/* Define if you have the setlocale function. */
#undef HAVE_SETLOCALE
/* Define if you have the stpcpy function. */
#undef HAVE_STPCPY
/* Define if you have the strcasecmp function. */
#undef HAVE_STRCASECMP
/* Define if you have the strchr function. */
#undef HAVE_STRCHR
/* Define if you have the <argz.h> header file. */
#undef HAVE_ARGZ_H
/* Define if you have the <dirent.h> header file. */
#undef HAVE_DIRENT_H
/* Define if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
/* Define if you have the <locale.h> header file. */
#undef HAVE_LOCALE_H
/* Define if you have the <malloc.h> header file. */
#undef HAVE_MALLOC_H
/* Define if you have the <ndir.h> header file. */
#undef HAVE_NDIR_H
/* Define if you have the <nl_types.h> header file. */
#undef HAVE_NL_TYPES_H
/* Define if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define if you have the <sys/dir.h> header file. */
#undef HAVE_SYS_DIR_H
/* Define if you have the <sys/ndir.h> header file. */
#undef HAVE_SYS_NDIR_H
/* Define if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
/* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define if you have the <values.h> header file. */
#undef HAVE_VALUES_H
/* Name of package */
#undef PACKAGE
/* Version number of package */
#undef VERSION
/* Define if you have the stpcpy function */
#undef HAVE_STPCPY
/* Define if your locale.h file contains LC_MESSAGES. */
#undef HAVE_LC_MESSAGES
/* Define if using `alloca.c'. */
#undef C_ALLOCA
/* Define to 1 if NLS is requested */
#undef ENABLE_NLS
/* Additional extension a shared object might have. */
#undef EXTRA_SHLIB_EXTENSION
/* Define if you have `alloca', as a function or macro. */
#undef HAVE_ALLOCA
/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
#undef HAVE_ALLOCA_H
/* Define if you have the <argz.h> header file. */
#undef HAVE_ARGZ_H
/* Define if you have the `dcgettext' function. */
#undef HAVE_DCGETTEXT
/* Define if you have the <dirent.h> header file, and it defines `DIR'. */
#undef HAVE_DIRENT_H
/* Define if you have the `getcwd' function. */
#undef HAVE_GETCWD
/* Define if you have the `getpagesize' function. */
#undef HAVE_GETPAGESIZE
/* Define as 1 if you have gettext and don't want to use GNU gettext. */
#undef HAVE_GETTEXT
/* Use b modifier when opening binary files? */
#undef USE_BINARY_FOPEN
/* Define if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define if strstr is not declared in system header files. */
#undef NEED_DECLARATION_STRSTR
/* Define if your locale.h file contains LC_MESSAGES. */
#undef HAVE_LC_MESSAGES
/* Define if free is not declared in system header files. */
#undef NEED_DECLARATION_FREE
/* Define if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
/* Define if sbrk is not declared in system header files. */
#undef NEED_DECLARATION_SBRK
/* Define if you have the <locale.h> header file. */
#undef HAVE_LOCALE_H
/* Define if getenv is not declared in system header files. */
#undef NEED_DECLARATION_GETENV
/* Define if you have the <malloc.h> header file. */
#undef HAVE_MALLOC_H
/* Define if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define if you have a working `mmap' system call. */
#undef HAVE_MMAP
/* Define if you have the `munmap' function. */
#undef HAVE_MUNMAP
/* Define if you have the <ndir.h> header file, and it defines `DIR'. */
#undef HAVE_NDIR_H
/* Define if you have the <nl_types.h> header file. */
#undef HAVE_NL_TYPES_H
/* Define if you have the `putenv' function. */
#undef HAVE_PUTENV
/* Define if you have the `sbrk' function. */
#undef HAVE_SBRK
/* Define if you have the `setenv' function. */
#undef HAVE_SETENV
/* Define if you have the `setlocale' function. */
#undef HAVE_SETLOCALE
/* Define if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define if you have the stpcpy function */
#undef HAVE_STPCPY
/* Define if you have the `strcasecmp' function. */
#undef HAVE_STRCASECMP
/* Define if you have the `strchr' function. */
#undef HAVE_STRCHR
/* Define if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define if you have the <sys/dir.h> header file, and it defines `DIR'. */
#undef HAVE_SYS_DIR_H
/* Define if you have the <sys/ndir.h> header file, and it defines `DIR'. */
#undef HAVE_SYS_NDIR_H
/* Define if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
/* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define if you have the <values.h> header file. */
#undef HAVE_VALUES_H
/* Define if you have the `__argz_count' function. */
#undef HAVE___ARGZ_COUNT
/* Define if you have the `__argz_next' function. */
#undef HAVE___ARGZ_NEXT
/* Define if you have the `__argz_stringify' function. */
#undef HAVE___ARGZ_STRINGIFY
/* Define if environ is not declared in system header files. */
#undef NEED_DECLARATION_ENVIRON
/* Additional extension a shared object might have. */
#undef EXTRA_SHLIB_EXTENSION
/* Define if free is not declared in system header files. */
#undef NEED_DECLARATION_FREE
/* Define if getenv is not declared in system header files. */
#undef NEED_DECLARATION_GETENV
/* Define if sbrk is not declared in system header files. */
#undef NEED_DECLARATION_SBRK
/* Define if strstr is not declared in system header files. */
#undef NEED_DECLARATION_STRSTR
/* Name of package */
#undef PACKAGE
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
#undef STACK_DIRECTION
/* Define if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Use b modifier when opening binary files? */
#undef USE_BINARY_FOPEN
/* Version number of package */
#undef VERSION
/* Define if `lex' declares `yytext' as a `char *' by default, not a `char[]'.
*/
#undef YYTEXT_POINTER
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* Define as `__inline' if that's what the C compiler calls it, or to nothing
if it is not supported. */
#undef inline
/* Define to `long' if <sys/types.h> does not define. */
#undef off_t
/* Define to `unsigned' if <sys/types.h> does not define. */
#undef size_t

View File

@ -185,6 +185,7 @@ a29k-*-*) targ_emul=a29k ;;
arm-*-aout | armel-*-aout) targ_emul=armaoutl ;;
armeb-*-aout) targ_emul=armaoutb ;;
arm-*-coff) targ_emul=armcoff ;;
arm-*-vxworks) targ_emul=armcoff ;;
arm-*-freebsd*) targ_emul=armelf ;;
arm-*-netbsd*) targ_emul=armnbsd ;;
arm-*-rtems*) targ_emul=armelf ;;

File diff suppressed because it is too large Load Diff

View File

@ -20,7 +20,7 @@ SECTIONS
present): */
.text ${RELOCATING+ 0x8000} : {
*(.init)
*(.text)
*(.text*)
*(.glue_7t)
*(.glue_7)
*(.rdata)
@ -30,10 +30,11 @@ SECTIONS
LONG (-1); *(.dtors); *(.dtor); LONG (0); }
*(.fini)
${RELOCATING+ etext = .;}
${RELOCATING+ _etext = .;}
}
.data ${RELOCATING+${DATA_ADDR-0x40000 + (. & 0xfffc0fff)}} : {
${RELOCATING+ __data_start__ = . ;}
*(.data)
*(.data*)
${RELOCATING+ __data_end__ = . ;}
${RELOCATING+ edata = .;}
${RELOCATING+ _edata = .;}