diff options
author | obrien <obrien@FreeBSD.org> | 2000-05-22 08:09:42 +0000 |
---|---|---|
committer | obrien <obrien@FreeBSD.org> | 2000-05-22 08:09:42 +0000 |
commit | c2ff59c91600056a533c867eead61cde58e8818d (patch) | |
tree | 84494dbe259ce294ac77a97f0d6d82e7b02b7034 /gnu/usr.bin | |
parent | 03603928027eb505be259ce3cfc88a8135f112b1 (diff) | |
download | FreeBSD-src-c2ff59c91600056a533c867eead61cde58e8818d.zip FreeBSD-src-c2ff59c91600056a533c867eead61cde58e8818d.tar.gz |
Pull the switch and activate our Binutils to a snapshot of the up and
comming 2.10 release.
Diffstat (limited to 'gnu/usr.bin')
22 files changed, 2609 insertions, 300 deletions
diff --git a/gnu/usr.bin/binutils/Makefile.inc0 b/gnu/usr.bin/binutils/Makefile.inc0 index 5134bf2..42cadc3 100644 --- a/gnu/usr.bin/binutils/Makefile.inc0 +++ b/gnu/usr.bin/binutils/Makefile.inc0 @@ -8,7 +8,7 @@ # definitions before the sub-Makefile is processed. # -VERSION= 2.9.1 +VERSION= 2.10-anoncvs-20000512 TARGET_ARCH?= ${MACHINE_ARCH} .if ${TARGET_ARCH} == "mipsel" || ${TARGET_ARCH} == "mipseb" @@ -22,7 +22,7 @@ BINUTIL_ARCH=${TARGET_ARCH} # added to it as we descend into subdirectories. RELTOP:= .. -RELSRC= ${RELTOP}/../../../contrib/binutils.291 +RELSRC= ${RELTOP}/../../../contrib/binutils SRCDIR= ${.CURDIR}/${RELSRC} CFLAGS+= -D_GNU_SOURCE diff --git a/gnu/usr.bin/binutils/as/Makefile.inc0 b/gnu/usr.bin/binutils/as/Makefile.inc0 index b98400b..13e5d38 100644 --- a/gnu/usr.bin/binutils/as/Makefile.inc0 +++ b/gnu/usr.bin/binutils/as/Makefile.inc0 @@ -16,7 +16,7 @@ SRCS+= app.c as.c atof-generic.c atof-ieee.c bignum-copy.c \ CFLAGS+= -I${SRCDIR}/gas CFLAGS+= -I${SRCDIR}/gas/config CFLAGS+= -I${SRCDIR} -CFLAGS+= -DVERSION=\"${VERSION}\" +CFLAGS+= -DVERSION=\"${VERSION}\" -DBFD_VERSION=\"${VERSION}\" DPADD= ${RELTOP}/libbfd/libbfd.a DPADD+= ${RELTOP}/libiberty/libiberty.a DPADD+= ${RELTOP}/libopcodes/libopcodes.a diff --git a/gnu/usr.bin/binutils/as/alpha-freebsd/config.h b/gnu/usr.bin/binutils/as/alpha-freebsd/config.h index 37991d9..a6226d3 100644 --- a/gnu/usr.bin/binutils/as/alpha-freebsd/config.h +++ b/gnu/usr.bin/binutils/as/alpha-freebsd/config.h @@ -1,13 +1,14 @@ -/* config.h. Generated automatically by make. */ -#ifndef GAS_VERSION -#define GAS_VERSION "2.8.1" +/* $FreeBSD$ */ -/* conf. Generated automatically by configure. */ -/* conf.in. Generated automatically from configure.in by autoheader. */ +/* config.h. Generated automatically by configure. */ +/* 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. */ /* #undef CRAY_STACKSEG_END */ @@ -18,9 +19,21 @@ /* 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. */ +#define HAVE_MMAP 1 + /* 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 if you need to in order for stat and other things to work. */ +/* #undef _POSIX_SOURCE */ + +/* 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. @@ -30,70 +43,35 @@ */ /* #undef STACK_DIRECTION */ -/* Should gas use high-level BFD interfaces? */ -#define BFD_ASSEMBLER 1 +/* Define if you have the ANSI C header files. */ +#define STDC_HEADERS 1 -/* Some assert/preprocessor combinations are incapable of handling - certain kinds of constructs in the argument of assert. For example, - quoted strings (if requoting isn't done right) or newlines. */ -/* #undef BROKEN_ASSERT */ +/* Define if lex declares yytext as a char * by default, not a char[]. */ +#define YYTEXT_POINTER 1 -/* If we aren't doing cross-assembling, some operations can be optimized, - since byte orders and value sizes don't need to be adjusted. */ -/* #undef CROSS_COMPILE */ +/* Define if you have the __argz_count function. */ +/* #undef HAVE___ARGZ_COUNT */ -/* Some gas code wants to know these parameters. */ -#define TARGET_ALIAS "alpha-unknown-freebsdelf" -#define TARGET_CPU "alpha" -#define TARGET_CANONICAL "alpha-unknown-freebsdelf" -#define TARGET_OS "freebsdelf" -#define TARGET_VENDOR "unknown" +/* Define if you have the __argz_next function. */ +/* #undef HAVE___ARGZ_NEXT */ -/* Sometimes the system header files don't declare strstr. */ -/* #undef NEED_DECLARATION_STRSTR */ +/* Define if you have the __argz_stringify function. */ +/* #undef HAVE___ARGZ_STRINGIFY */ -/* Sometimes the system header files don't declare malloc and realloc. */ -/* #undef NEED_DECLARATION_MALLOC */ +/* Define if you have the dcgettext function. */ +/* #undef HAVE_DCGETTEXT */ -/* Sometimes the system header files don't declare free. */ -/* #undef NEED_DECLARATION_FREE */ +/* Define if you have the getcwd function. */ +#define HAVE_GETCWD 1 -/* Sometimes the system header files don't declare sbrk. */ -/* #undef NEED_DECLARATION_SBRK */ +/* Define if you have the getpagesize function. */ +#define HAVE_GETPAGESIZE 1 -/* Sometimes errno.h doesn't declare errno itself. */ -/* #undef NEED_DECLARATION_ERRNO */ +/* Define if you have the munmap function. */ +#define HAVE_MUNMAP 1 -/* #undef MANY_SEGMENTS */ - -/* Needed only for sparc configuration. */ -/* #undef SPARC_V9 */ -/* #undef SPARC_ARCH64 */ - -/* Defined if using CGEN. */ -/* #undef USING_CGEN */ - -/* Needed only for some configurations that can produce multiple output - formats. */ -#define DEFAULT_EMULATION "" -#define EMULATIONS -/* #undef USE_EMULATIONS */ -/* #undef OBJ_MAYBE_AOUT */ -/* #undef OBJ_MAYBE_BOUT */ -/* #undef OBJ_MAYBE_COFF */ -/* #undef OBJ_MAYBE_ECOFF */ -/* #undef OBJ_MAYBE_ELF */ -/* #undef OBJ_MAYBE_GENERIC */ -/* #undef OBJ_MAYBE_HP300 */ -/* #undef OBJ_MAYBE_IEEE */ -/* #undef OBJ_MAYBE_SOM */ -/* #undef OBJ_MAYBE_VMS */ - -/* Used for some of the COFF configurations, when the COFF code needs - to select something based on the CPU type before it knows it... */ -/* #undef I386COFF */ -/* #undef M68KCOFF */ -/* #undef M88KCOFF */ +/* Define if you have the putenv function. */ +#define HAVE_PUTENV 1 /* Define if you have the remove function. */ /* #undef HAVE_REMOVE */ @@ -101,15 +79,45 @@ /* Define if you have the sbrk function. */ #define HAVE_SBRK 1 +/* Define if you have the setenv function. */ +#define HAVE_SETENV 1 + +/* Define if you have the setlocale function. */ +#define HAVE_SETLOCALE 1 + +/* Define if you have the stpcpy function. */ +/* #undef HAVE_STPCPY */ + +/* Define if you have the strcasecmp function. */ +#define HAVE_STRCASECMP 1 + +/* Define if you have the strchr function. */ +#define HAVE_STRCHR 1 + /* Define if you have the unlink function. */ #define HAVE_UNLINK 1 +/* Define if you have the <argz.h> header file. */ +/* #undef HAVE_ARGZ_H */ + /* Define if you have the <errno.h> header file. */ #define HAVE_ERRNO_H 1 +/* Define if you have the <limits.h> header file. */ +#define HAVE_LIMITS_H 1 + +/* Define if you have the <locale.h> header file. */ +#define HAVE_LOCALE_H 1 + +/* Define if you have the <malloc.h> header file. */ +/* #undef HAVE_MALLOC_H */ + /* Define if you have the <memory.h> header file. */ #define HAVE_MEMORY_H 1 +/* Define if you have the <nl_types.h> header file. */ +#define HAVE_NL_TYPES_H 1 + /* Define if you have the <stdarg.h> header file. */ #define HAVE_STDARG_H 1 @@ -122,12 +130,147 @@ /* Define if you have the <strings.h> header file. */ #define HAVE_STRINGS_H 1 +/* Define if you have the <sys/param.h> header file. */ +#define HAVE_SYS_PARAM_H 1 + /* Define if you have the <sys/types.h> header file. */ #define HAVE_SYS_TYPES_H 1 /* Define if you have the <unistd.h> header file. */ #define HAVE_UNISTD_H 1 +/* Define if you have the <values.h> header file. */ +/* #undef HAVE_VALUES_H */ + /* Define if you have the <varargs.h> header file. */ #define HAVE_VARARGS_H 1 -#endif /* GAS_VERSION */ + +/* Name of package */ +#define PACKAGE "gas" + +/* Version number of package */ +/* #define VERSION "000427" */ + +/* Define if defaulting to ELF on SCO 5. */ +/* #undef SCO_ELF */ + +/* Use ELF stabs for MIPS, not ECOFF stabs */ +/* #undef MIPS_STABS_ELF */ + +/* Define if default target is PowerPC Solaris. */ +/* #undef TARGET_SOLARIS_COMMENT */ + +/* Define as 1 if big endian. */ +/* #undef TARGET_BYTES_BIG_ENDIAN */ + +/* Default architecture. */ +/* #undef DEFAULT_ARCH */ + +/* Using cgen code? */ +/* #undef USING_CGEN */ + +/* Using i386 COFF? */ +/* #undef I386COFF */ + +/* Using m68k COFF? */ +/* #undef M68KCOFF */ + +/* Using m88k COFF? */ +/* #undef M88KCOFF */ + +/* a.out support? */ +/* #undef OBJ_MAYBE_AOUT */ + +/* b.out support? */ +/* #undef OBJ_MAYBE_BOUT */ + +/* COFF support? */ +/* #undef OBJ_MAYBE_COFF */ + +/* ECOFF support? */ +/* #undef OBJ_MAYBE_ECOFF */ + +/* ELF support? */ +/* #undef OBJ_MAYBE_ELF */ + +/* generic support? */ +/* #undef OBJ_MAYBE_GENERIC */ + +/* HP300 support? */ +/* #undef OBJ_MAYBE_HP300 */ + +/* IEEE support? */ +/* #undef OBJ_MAYBE_IEEE */ + +/* SOM support? */ +/* #undef OBJ_MAYBE_SOM */ + +/* VMS support? */ +/* #undef OBJ_MAYBE_VMS */ + +/* Use emulation support? */ +/* #undef USE_EMULATIONS */ + +/* Supported emulations. */ +#define EMULATIONS + +/* Default emulation. */ +#define DEFAULT_EMULATION "" + +/* old COFF support? */ +/* #undef MANY_SEGMENTS */ + +/* Use BFD interface? */ +#define BFD_ASSEMBLER 1 + +/* Target alias. */ +#define TARGET_ALIAS "alpha-unknown-freebsdelf5.0" + +/* Canonical target. */ +#define TARGET_CANONICAL "alpha-unknown-freebsdelf5.0" + +/* Target CPU. */ +#define TARGET_CPU "alpha" + +/* Target vendor. */ +#define TARGET_VENDOR "unknown" + +/* Target OS. */ +#define TARGET_OS "freebsdelf5.0" + +/* Define if you have the stpcpy function */ +/* #undef HAVE_STPCPY */ + +/* Define if your locale.h file contains LC_MESSAGES. */ +#define HAVE_LC_MESSAGES 1 + +/* Define to 1 if NLS is requested */ +/* #define ENABLE_NLS 1 */ + +/* Define as 1 if you have gettext and don't want to use GNU gettext. */ +/* #undef HAVE_GETTEXT */ + +/* Compiling cross-assembler? */ +/* #undef CROSS_COMPILE */ + +/* assert broken? */ +/* #undef BROKEN_ASSERT */ + +/* Define if strstr is not declared in system header files. */ +/* #undef NEED_DECLARATION_STRSTR */ + +/* Define if malloc is not declared in system header files. */ +/* #undef NEED_DECLARATION_MALLOC */ + +/* Define if free is not declared in system header files. */ +/* #undef NEED_DECLARATION_FREE */ + +/* Define if sbrk is not declared in system header files. */ +/* #undef NEED_DECLARATION_SBRK */ + +/* Define if environ is not declared in system header files. */ +#define NEED_DECLARATION_ENVIRON 1 + +/* Define if errno is not declared in system header files. */ +/* #undef NEED_DECLARATION_ERRNO */ + diff --git a/gnu/usr.bin/binutils/as/i386-freebsd/config.h b/gnu/usr.bin/binutils/as/i386-freebsd/config.h index 26d42b0..ba81c7f 100644 --- a/gnu/usr.bin/binutils/as/i386-freebsd/config.h +++ b/gnu/usr.bin/binutils/as/i386-freebsd/config.h @@ -1,13 +1,14 @@ -/* config.h. Generated automatically by make. */ -#ifndef GAS_VERSION -#define GAS_VERSION "2.8.1" +/* $FreeBSD$ */ -/* conf. Generated automatically by configure. */ -/* conf.in. Generated automatically from configure.in by autoheader. */ +/* config.h. Generated automatically by configure. */ +/* 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. */ /* #undef CRAY_STACKSEG_END */ @@ -18,9 +19,21 @@ /* 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. */ +#define HAVE_MMAP 1 + /* 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 if you need to in order for stat and other things to work. */ +/* #undef _POSIX_SOURCE */ + +/* 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. @@ -30,70 +43,35 @@ */ /* #undef STACK_DIRECTION */ -/* Should gas use high-level BFD interfaces? */ -#define BFD_ASSEMBLER 1 +/* Define if you have the ANSI C header files. */ +#define STDC_HEADERS 1 -/* Some assert/preprocessor combinations are incapable of handling - certain kinds of constructs in the argument of assert. For example, - quoted strings (if requoting isn't done right) or newlines. */ -/* #undef BROKEN_ASSERT */ +/* Define if lex declares yytext as a char * by default, not a char[]. */ +#define YYTEXT_POINTER 1 -/* If we aren't doing cross-assembling, some operations can be optimized, - since byte orders and value sizes don't need to be adjusted. */ -/* #undef CROSS_COMPILE */ +/* Define if you have the __argz_count function. */ +/* #undef HAVE___ARGZ_COUNT */ -/* Some gas code wants to know these parameters. */ -#define TARGET_ALIAS "i386-unknown-freebsdelf" -#define TARGET_CPU "i386" -#define TARGET_CANONICAL "i386-unknown-freebsdelf" -#define TARGET_OS "freebsdelf" -#define TARGET_VENDOR "unknown" - -/* Sometimes the system header files don't declare strstr. */ -/* #undef NEED_DECLARATION_STRSTR */ +/* Define if you have the __argz_next function. */ +/* #undef HAVE___ARGZ_NEXT */ -/* Sometimes the system header files don't declare malloc and realloc. */ -/* #undef NEED_DECLARATION_MALLOC */ - -/* Sometimes the system header files don't declare free. */ -/* #undef NEED_DECLARATION_FREE */ +/* Define if you have the __argz_stringify function. */ +/* #undef HAVE___ARGZ_STRINGIFY */ -/* Sometimes the system header files don't declare sbrk. */ -/* #undef NEED_DECLARATION_SBRK */ +/* Define if you have the dcgettext function. */ +/* #undef HAVE_DCGETTEXT */ -/* Sometimes errno.h doesn't declare errno itself. */ -/* #undef NEED_DECLARATION_ERRNO */ +/* Define if you have the getcwd function. */ +#define HAVE_GETCWD 1 -/* #undef MANY_SEGMENTS */ +/* Define if you have the getpagesize function. */ +#define HAVE_GETPAGESIZE 1 -/* Needed only for sparc configuration. */ -/* #undef SPARC_V9 */ -/* #undef SPARC_ARCH64 */ +/* Define if you have the munmap function. */ +#define HAVE_MUNMAP 1 -/* Defined if using CGEN. */ -/* #undef USING_CGEN */ - -/* Needed only for some configurations that can produce multiple output - formats. */ -#define DEFAULT_EMULATION "" -#define EMULATIONS -/* #undef USE_EMULATIONS */ -/* #undef OBJ_MAYBE_AOUT */ -/* #undef OBJ_MAYBE_BOUT */ -/* #undef OBJ_MAYBE_COFF */ -/* #undef OBJ_MAYBE_ECOFF */ -/* #undef OBJ_MAYBE_ELF */ -/* #undef OBJ_MAYBE_GENERIC */ -/* #undef OBJ_MAYBE_HP300 */ -/* #undef OBJ_MAYBE_IEEE */ -/* #undef OBJ_MAYBE_SOM */ -/* #undef OBJ_MAYBE_VMS */ - -/* Used for some of the COFF configurations, when the COFF code needs - to select something based on the CPU type before it knows it... */ -/* #undef I386COFF */ -/* #undef M68KCOFF */ -/* #undef M88KCOFF */ +/* Define if you have the putenv function. */ +#define HAVE_PUTENV 1 /* Define if you have the remove function. */ /* #undef HAVE_REMOVE */ @@ -101,15 +79,45 @@ /* Define if you have the sbrk function. */ #define HAVE_SBRK 1 +/* Define if you have the setenv function. */ +#define HAVE_SETENV 1 + +/* Define if you have the setlocale function. */ +#define HAVE_SETLOCALE 1 + +/* Define if you have the stpcpy function. */ +/* #undef HAVE_STPCPY */ + +/* Define if you have the strcasecmp function. */ +#define HAVE_STRCASECMP 1 + +/* Define if you have the strchr function. */ +#define HAVE_STRCHR 1 + /* Define if you have the unlink function. */ #define HAVE_UNLINK 1 +/* Define if you have the <argz.h> header file. */ +/* #undef HAVE_ARGZ_H */ + /* Define if you have the <errno.h> header file. */ #define HAVE_ERRNO_H 1 +/* Define if you have the <limits.h> header file. */ +#define HAVE_LIMITS_H 1 + +/* Define if you have the <locale.h> header file. */ +#define HAVE_LOCALE_H 1 + +/* Define if you have the <malloc.h> header file. */ +/* #undef HAVE_MALLOC_H */ + /* Define if you have the <memory.h> header file. */ #define HAVE_MEMORY_H 1 +/* Define if you have the <nl_types.h> header file. */ +#define HAVE_NL_TYPES_H 1 + /* Define if you have the <stdarg.h> header file. */ #define HAVE_STDARG_H 1 @@ -122,12 +130,147 @@ /* Define if you have the <strings.h> header file. */ #define HAVE_STRINGS_H 1 +/* Define if you have the <sys/param.h> header file. */ +#define HAVE_SYS_PARAM_H 1 + /* Define if you have the <sys/types.h> header file. */ #define HAVE_SYS_TYPES_H 1 /* Define if you have the <unistd.h> header file. */ #define HAVE_UNISTD_H 1 +/* Define if you have the <values.h> header file. */ +/* #undef HAVE_VALUES_H */ + /* Define if you have the <varargs.h> header file. */ #define HAVE_VARARGS_H 1 -#endif /* GAS_VERSION */ + +/* Name of package */ +#define PACKAGE "gas" + +/* Version number of package */ +/* #define VERSION "000427" */ + +/* Define if defaulting to ELF on SCO 5. */ +/* #undef SCO_ELF */ + +/* Use ELF stabs for MIPS, not ECOFF stabs */ +/* #undef MIPS_STABS_ELF */ + +/* Define if default target is PowerPC Solaris. */ +/* #undef TARGET_SOLARIS_COMMENT */ + +/* Define as 1 if big endian. */ +/* #undef TARGET_BYTES_BIG_ENDIAN */ + +/* Default architecture. */ +/* #undef DEFAULT_ARCH */ + +/* Using cgen code? */ +/* #undef USING_CGEN */ + +/* Using i386 COFF? */ +/* #undef I386COFF */ + +/* Using m68k COFF? */ +/* #undef M68KCOFF */ + +/* Using m88k COFF? */ +/* #undef M88KCOFF */ + +/* a.out support? */ +/* #undef OBJ_MAYBE_AOUT */ + +/* b.out support? */ +/* #undef OBJ_MAYBE_BOUT */ + +/* COFF support? */ +/* #undef OBJ_MAYBE_COFF */ + +/* ECOFF support? */ +/* #undef OBJ_MAYBE_ECOFF */ + +/* ELF support? */ +/* #undef OBJ_MAYBE_ELF */ + +/* generic support? */ +/* #undef OBJ_MAYBE_GENERIC */ + +/* HP300 support? */ +/* #undef OBJ_MAYBE_HP300 */ + +/* IEEE support? */ +/* #undef OBJ_MAYBE_IEEE */ + +/* SOM support? */ +/* #undef OBJ_MAYBE_SOM */ + +/* VMS support? */ +/* #undef OBJ_MAYBE_VMS */ + +/* Use emulation support? */ +/* #undef USE_EMULATIONS */ + +/* Supported emulations. */ +#define EMULATIONS &i386elf, + +/* Default emulation. */ +#define DEFAULT_EMULATION "i386elf" + +/* old COFF support? */ +/* #undef MANY_SEGMENTS */ + +/* Use BFD interface? */ +#define BFD_ASSEMBLER 1 + +/* Target alias. */ +#define TARGET_ALIAS "i386-unknown-freebsdelf5.0" + +/* Canonical target. */ +#define TARGET_CANONICAL "i386-unknown-freebsdelf5.0" + +/* Target CPU. */ +#define TARGET_CPU "i386" + +/* Target vendor. */ +#define TARGET_VENDOR "unknown" + +/* Target OS. */ +#define TARGET_OS "freebsdelf5.0" + +/* Define if you have the stpcpy function */ +/* #undef HAVE_STPCPY */ + +/* Define if your locale.h file contains LC_MESSAGES. */ +#define HAVE_LC_MESSAGES 1 + +/* Define to 1 if NLS is requested */ +/* #define ENABLE_NLS 1 */ + +/* Define as 1 if you have gettext and don't want to use GNU gettext. */ +/* #undef HAVE_GETTEXT */ + +/* Compiling cross-assembler? */ +/* #undef CROSS_COMPILE */ + +/* assert broken? */ +/* #undef BROKEN_ASSERT */ + +/* Define if strstr is not declared in system header files. */ +/* #undef NEED_DECLARATION_STRSTR */ + +/* Define if malloc is not declared in system header files. */ +/* #undef NEED_DECLARATION_MALLOC */ + +/* Define if free is not declared in system header files. */ +/* #undef NEED_DECLARATION_FREE */ + +/* Define if sbrk is not declared in system header files. */ +/* #undef NEED_DECLARATION_SBRK */ + +/* Define if environ is not declared in system header files. */ +#define NEED_DECLARATION_ENVIRON 1 + +/* Define if errno is not declared in system header files. */ +/* #undef NEED_DECLARATION_ERRNO */ + diff --git a/gnu/usr.bin/binutils/doc/Makefile b/gnu/usr.bin/binutils/doc/Makefile index b6e02e0..ba71508 100644 --- a/gnu/usr.bin/binutils/doc/Makefile +++ b/gnu/usr.bin/binutils/doc/Makefile @@ -21,8 +21,8 @@ MAKEINFOFLAGS+= -I ${CONTRIBDIR}/libreadline/doc CLEANFILES= gdb-cfg.texi inc-hist.texi inc-hist.texi.orig -as.info: as.texinfo asconfig.texi c-i386.texi -ld.info: ld.texinfo bfdsumm.texi +as.info: as.texinfo asconfig.texi c-i386.texi gasver.texi +ld.info: ld.texinfo bfdsumm.texi ldver.texi gdb.info: gdb.texinfo gdb-cfg.texi GDBvn.texi remote.texi \ rluser.texinfo inc-hist.texi @@ -30,6 +30,9 @@ gdb.info: gdb.texinfo gdb-cfg.texi GDBvn.texi remote.texi \ gdb-cfg.texi: all-cfg.texi ln -sf ${.ALLSRC} ${.TARGET} +gasver.texi ldver.texi: + echo "@set VERSION ${VERSION}" > ${.TARGET} + .PATH: ${CONTRIBDIR}/libreadline/doc inc-hist.texi: hsuser.texinfo inc-hist.diff cp ${.ALLSRC:M*.texinfo} ${.TARGET} diff --git a/gnu/usr.bin/binutils/gdb/Makefile b/gnu/usr.bin/binutils/gdb/Makefile index e34ff99..8316369 100644 --- a/gnu/usr.bin/binutils/gdb/Makefile +++ b/gnu/usr.bin/binutils/gdb/Makefile @@ -4,6 +4,10 @@ .PATH: ${SRCDIR}/binutils +.if ${MACHINE_ARCH} == "i386" +CFLAGS+= -Dprint_insn_i386=print_insn_i386_att +.endif + PROG= gdb XSRCS= annotate.c ax-general.c ax-gdb.c bcache.c blockframe.c \ breakpoint.c buildsym.c c-exp.y c-lang.c c-typeprint.c \ diff --git a/gnu/usr.bin/binutils/ld/Makefile b/gnu/usr.bin/binutils/ld/Makefile index b9396ca..f11702a 100644 --- a/gnu/usr.bin/binutils/ld/Makefile +++ b/gnu/usr.bin/binutils/ld/Makefile @@ -11,11 +11,12 @@ SRCS+= ldcref.c ldctor.c ldemul.c ldemul-list.h ldexp.c ldfile.c \ ldver.c ldwrite.c lexsup.c mri.c CFLAGS+= -DSCRIPTDIR=\"${DESTDIR}/usr/libdata\" CFLAGS+= -I${SRCDIR}/ld +CFLAGS+= -DVERSION=\"${VERSION}\" -DBFD_VERSION=\"${VERSION}\" DPADD= ${RELTOP}/libbfd/libbfd.a DPADD+= ${RELTOP}/libiberty/libiberty.a LDADD= ${DPADD} CLEANDIRS+= ldscripts -CLEANFILES+= ldemul-list.h +CLEANFILES+= ldemul-list.h stringify.sed # If set, BINUTILSDISTDIR is the path to a directory containing the full GNU # binutils release. FreeBSD only distributes the bits that are required to @@ -36,6 +37,9 @@ ldemul-list.h: echo "${EMXFR}" > ldemul-list.h echo "#define EMULATION_LIST ${EMLST} 0" >> ldemul-list.h +stringify.sed: + ln -sf ${SRCDIR}/ld/emultempl/stringify.sed ${.TARGET} + afterinstall: ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ ${LDSCRIPTS:S|^|ldscripts/|} ${DESTDIR}${SCRIPTDIR} diff --git a/gnu/usr.bin/binutils/ld/Makefile.alpha b/gnu/usr.bin/binutils/ld/Makefile.alpha index cd85ee4..41f8c5f 100644 --- a/gnu/usr.bin/binutils/ld/Makefile.alpha +++ b/gnu/usr.bin/binutils/ld/Makefile.alpha @@ -18,7 +18,7 @@ SRCS+= eelf64alpha.c ealpha.c CLEANFILES+= eelf64alpha.c ealpha.c eelf64alpha.c: emulparams/elf64alpha.sh emultempl/elf32.em \ - scripttempl/elf.sc genscripts.sh emultempl/stringify.sed + scripttempl/elf.sc genscripts.sh stringify.sed sh ${.CURDIR}/genscripts.sh ${SRCDIR}/ld ${_alpha_path} \ ${HOST} alpha-unknown-freebsdelf alpha-unknown-freebsdelf \ elf64alpha "" elf64alpha alpha-unknown-freebsdelf diff --git a/gnu/usr.bin/binutils/ld/Makefile.i386 b/gnu/usr.bin/binutils/ld/Makefile.i386 index 0e4e99e..3cb1f0f 100644 --- a/gnu/usr.bin/binutils/ld/Makefile.i386 +++ b/gnu/usr.bin/binutils/ld/Makefile.i386 @@ -17,7 +17,7 @@ SRCS+= eelf_i386.c CLEANFILES+= eelf_i386.c eelf_i386.c: emulparams/elf_i386.sh emultempl/elf32.em \ - scripttempl/elf.sc genscripts.sh emultempl/stringify.sed + scripttempl/elf.sc genscripts.sh stringify.sed sh ${.CURDIR}/genscripts.sh ${SRCDIR}/ld ${_i386_path} \ ${HOST} i386-unknown-freebsdelf i386-unknown-freebsdelf \ elf_i386 "" elf_i386 i386-unknown-freebsdelf diff --git a/gnu/usr.bin/binutils/ld/config.h b/gnu/usr.bin/binutils/ld/config.h index bbeac89..660ec86 100644 --- a/gnu/usr.bin/binutils/ld/config.h +++ b/gnu/usr.bin/binutils/ld/config.h @@ -1,39 +1,117 @@ +/* $FreeBSD$ */ + /* config.h. Generated automatically by configure. */ /* config.in. Generated automatically from configure.in by autoheader. */ -/* Name of package. */ -#define PACKAGE "ld" +/* Define if using alloca.c. */ +/* #undef C_ALLOCA */ -/* Version of package. */ -#define VERSION "2.9.1" +/* Define to empty if the keyword does not work. */ +/* #undef const */ -/* Whether strstr must be declared even if <string.h> is included. */ -/* #undef NEED_DECLARATION_STRSTR */ +/* 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 */ -/* Whether free must be declared even if <stdlib.h> is included. */ -/* #undef NEED_DECLARATION_FREE */ +/* Define if you have alloca, as a function or macro. */ +#define HAVE_ALLOCA 1 -/* Whether sbrk must be declared even if <unistd.h> is included. */ -/* #undef NEED_DECLARATION_SBRK */ +/* Define if you have <alloca.h> and it should be used (not on Ultrix). */ +/* #undef HAVE_ALLOCA_H */ -/* Whether getenv must be declared even if <stdlib.h> is included. */ -/* #undef NEED_DECLARATION_GETENV */ +/* Define if you have a working `mmap' system call. */ +#define HAVE_MMAP 1 + +/* 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 if you need to in order for stat and other things to work. */ +/* #undef _POSIX_SOURCE */ + +/* 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. */ +#define STDC_HEADERS 1 /* Define if lex declares yytext as a char * by default, not a char[]. */ #define YYTEXT_POINTER 1 -/* Do we need to use the b modifier when opening binary files? */ -/* #undef USE_BINARY_FOPEN */ +/* 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. */ +#define HAVE_GETCWD 1 + +/* Define if you have the getpagesize function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define if you have the munmap function. */ +#define HAVE_MUNMAP 1 + +/* Define if you have the putenv function. */ +#define HAVE_PUTENV 1 /* Define if you have the sbrk function. */ #define HAVE_SBRK 1 +/* Define if you have the setenv function. */ +#define HAVE_SETENV 1 + +/* Define if you have the setlocale function. */ +#define HAVE_SETLOCALE 1 + +/* Define if you have the stpcpy function. */ +/* #undef HAVE_STPCPY */ + +/* Define if you have the strcasecmp function. */ +#define HAVE_STRCASECMP 1 + +/* Define if you have the strchr function. */ +#define HAVE_STRCHR 1 + +/* Define if you have the <argz.h> header file. */ +/* #undef HAVE_ARGZ_H */ + /* Define if you have the <dirent.h> header file. */ #define HAVE_DIRENT_H 1 +/* Define if you have the <limits.h> header file. */ +#define HAVE_LIMITS_H 1 + +/* Define if you have the <locale.h> header file. */ +#define HAVE_LOCALE_H 1 + +/* 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. */ +#define HAVE_NL_TYPES_H 1 + /* Define if you have the <stdlib.h> header file. */ #define HAVE_STDLIB_H 1 @@ -49,5 +127,51 @@ /* 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. */ +#define HAVE_SYS_PARAM_H 1 + /* Define if you have the <unistd.h> header file. */ #define HAVE_UNISTD_H 1 + +/* Define if you have the <values.h> header file. */ +/* #undef HAVE_VALUES_H */ + +/* Name of package */ +#define PACKAGE "ld" + +/* Version number of package */ +/* #define VERSION "2.9.5" */ + +/* Define if you have the stpcpy function */ +/* #undef HAVE_STPCPY */ + +/* Define if your locale.h file contains LC_MESSAGES. */ +#define HAVE_LC_MESSAGES 1 + +/* Define to 1 if NLS is requested */ +/* #define ENABLE_NLS 1 */ + +/* 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 strstr is not declared in system header files. */ +/* #undef NEED_DECLARATION_STRSTR */ + +/* Define if free is not declared in system header files. */ +/* #undef NEED_DECLARATION_FREE */ + +/* Define if sbrk is not declared in system header files. */ +/* #undef NEED_DECLARATION_SBRK */ + +/* Define if getenv is not declared in system header files. */ +/* #undef NEED_DECLARATION_GETENV */ + +/* Define if environ is not declared in system header files. */ +#define NEED_DECLARATION_ENVIRON 1 + +/* Additional extension a shared object might have. */ +/* #undef EXTRA_SHLIB_EXTENSION */ + diff --git a/gnu/usr.bin/binutils/ld/genscripts.sh b/gnu/usr.bin/binutils/ld/genscripts.sh index 1815790..a7f04eb 100755 --- a/gnu/usr.bin/binutils/ld/genscripts.sh +++ b/gnu/usr.bin/binutils/ld/genscripts.sh @@ -23,7 +23,7 @@ libdir=$2 host=$3 target=$4 target_alias=$5 -DEFAULT_EMULATION=$6 +EMULATION_LIBPATH=$6 NATIVE_LIB_DIRS=$7 EMULATION_NAME=$8 @@ -36,6 +36,13 @@ else mkdir ldscripts fi +# Set the library search path, for libraries named by -lfoo. +# If LIB_PATH is defined (e.g., by Makefile) and non-empty, it is used. +# Otherwise, the default is set here. +# +# The format is the usual list of colon-separated directories. +# To force a logically empty LIB_PATH, do LIBPATH=":". + LIB_SEARCH_DIRS=`echo ${libdir} | tr ':' ' ' | sed -e 's/\([^ ][^ ]*\)/SEARCH_DIR(\1);/g'` # Generate 5 or 6 script files from a master script template in @@ -101,7 +108,8 @@ if test -n "$GENERATE_SHLIB_SCRIPT"; then ldscripts/${EMULATION_NAME}.xs fi -test "$DEFAULT_EMULATION" = "$EMULATION_NAME" && COMPILE_IN=true - +for i in $EMULATION_LIBPATH ; do + test "$i" = "$EMULATION_NAME" && COMPILE_IN=true +done # Generate e${EMULATION_NAME}.c. . ${srcdir}/emultempl/${TEMPLATE_NAME-generic}.em diff --git a/gnu/usr.bin/binutils/libbfd/Makefile b/gnu/usr.bin/binutils/libbfd/Makefile index 9177607..aa6f940 100644 --- a/gnu/usr.bin/binutils/libbfd/Makefile +++ b/gnu/usr.bin/binutils/libbfd/Makefile @@ -11,8 +11,9 @@ SRCS+= archive.c archures.c bfd.c binary.c cache.c \ coffgen.c corefile.c elf.c format.c hash.c ihex.c \ init.c libbfd.c linker.c opncls.c reloc.c section.c \ srec.c stab-syms.c stabs.c syms.c targets.c tekhex.c \ - targmatch.h dwarf2.c + targmatch.h dwarf1.c dwarf2.c CFLAGS+= -I${SRCDIR}/bfd +CFLAGS+= -DBFD_VERSION=\"${VERSION}\" NOPROFILE= true NOPIC= true INTERNALLIB= true diff --git a/gnu/usr.bin/binutils/libbfd/alpha/bfd.h b/gnu/usr.bin/binutils/libbfd/alpha/bfd.h index 7bfdc94..af911c4 100644 --- a/gnu/usr.bin/binutils/libbfd/alpha/bfd.h +++ b/gnu/usr.bin/binutils/libbfd/alpha/bfd.h @@ -1,6 +1,7 @@ /* $FreeBSD$ */ + /* Main header file for the bfd library -- portable access to object files. - Copyright 1990, 91, 92, 93, 94, 95, 96, 97, 1998 + Copyright 1990, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free Software Foundation, Inc. Contributed by Cygnus Support. @@ -53,13 +54,13 @@ extern "C" { #include "ansidecl.h" /* These two lines get substitutions done by commands in Makefile.in. */ -#define BFD_VERSION "2.9.1" +/* #define BFD_VERSION "2.9.5" */ #define BFD_ARCH_SIZE 64 #if defined(__i386__) -#define BFD_HOST_64BIT_LONG 0 +#define BFD_HOST_64BIT_LONG 0 #else -#define BFD_HOST_64BIT_LONG 1 -#endif +#define BFD_HOST_64BIT_LONG 1 +#endif /* __i386__ */ #if 0 #define BFD_HOST_64_BIT #define BFD_HOST_U_64_BIT @@ -94,7 +95,7 @@ typedef struct _bfd bfd; /* Yup, SVR4 has a "typedef enum boolean" in <sys/types.h> -fnf */ /* It gets worse if the host also defines a true/false enum... -sts */ /* And even worse if your compiler has built-in boolean types... -law */ -#if defined (__GNUG__) && (__GNUC_MINOR__ > 5) +#if defined (__GNUG__) && (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 6)) #define TRUE_FALSE_ALREADY_DEFINED #endif #ifdef MPW @@ -126,20 +127,24 @@ typedef long int file_ptr; use gcc's "long long" type. Otherwise, BFD_HOST_64_BIT must be defined above. */ +#ifndef BFD_HOST_64_BIT +# if BFD_HOST_64BIT_LONG +# define BFD_HOST_64_BIT long +# define BFD_HOST_U_64_BIT unsigned long +# else +# ifdef __GNUC__ +# if __GNUC__ >= 2 +# define BFD_HOST_64_BIT long long +# define BFD_HOST_U_64_BIT unsigned long long +# endif /* __GNUC__ >= 2 */ +# endif /* ! defined (__GNUC__) */ +# endif /* ! BFD_HOST_64BIT_LONG */ +#endif /* ! defined (BFD_HOST_64_BIT) */ + #ifdef BFD64 #ifndef BFD_HOST_64_BIT -#if BFD_HOST_64BIT_LONG -#define BFD_HOST_64_BIT long -#define BFD_HOST_U_64_BIT unsigned long -#else -#ifdef __GNUC__ -#define BFD_HOST_64_BIT long long -#define BFD_HOST_U_64_BIT unsigned long long -#else /* ! defined (__GNUC__) */ #error No 64 bit integer type available -#endif /* ! defined (__GNUC__) */ -#endif /* ! BFD_HOST_64BIT_LONG */ #endif /* ! defined (BFD_HOST_64_BIT) */ typedef BFD_HOST_U_64_BIT bfd_vma; @@ -180,7 +185,9 @@ typedef unsigned long bfd_size_type; /* Print a bfd_vma x on stream s. */ #define fprintf_vma(s,x) fprintf(s, "%08lx", x) #define sprintf_vma(s,x) sprintf(s, "%08lx", x) + #endif /* not BFD64 */ + #define printf_vma(x) fprintf_vma(stdout,x) typedef unsigned int flagword; /* 32 bits of flags */ @@ -625,6 +632,23 @@ extern boolean bfd_elf64_size_dynamic_sections extern void bfd_elf_set_dt_needed_name PARAMS ((bfd *, const char *)); extern const char *bfd_elf_get_dt_soname PARAMS ((bfd *)); +/* Return an upper bound on the number of bytes required to store a + copy of ABFD's program header table entries. Return -1 if an error + occurs; bfd_get_error will return an appropriate code. */ +extern long bfd_get_elf_phdr_upper_bound PARAMS ((bfd *abfd)); + +/* Copy ABFD's program header table entries to *PHDRS. The entries + will be stored as an array of Elf_Internal_Phdr structures, as + defined in include/elf/internal.h. To find out how large the + buffer needs to be, call bfd_get_elf_phdr_upper_bound. + + Return the number of program header table entries read, or -1 if an + error occurs; bfd_get_error will return an appropriate code. */ +extern int bfd_get_elf_phdrs PARAMS ((bfd *abfd, void *phdrs)); + +/* Return the arch_size field of an elf bfd, or -1 if not elf. */ +extern int bfd_elf_get_arch_size PARAMS ((bfd *)); + /* SunOS shared library support routines for the linker. */ extern struct bfd_link_needed_list *bfd_sunos_get_needed_list @@ -696,9 +720,50 @@ union internal_auxent; extern boolean bfd_coff_get_syment PARAMS ((bfd *, struct symbol_cache_entry *, struct internal_syment *)); + extern boolean bfd_coff_get_auxent PARAMS ((bfd *, struct symbol_cache_entry *, int, union internal_auxent *)); +extern boolean bfd_coff_set_symbol_class + PARAMS ((bfd *, struct symbol_cache_entry *, unsigned int)); + +/* ARM Interworking support. Called from linker. */ +extern boolean bfd_arm_allocate_interworking_sections + PARAMS ((struct bfd_link_info *)); + +extern boolean bfd_arm_process_before_allocation + PARAMS ((bfd *, struct bfd_link_info *, int)); + +extern boolean bfd_arm_get_bfd_for_interworking + PARAMS ((bfd *, struct bfd_link_info *)); + +/* PE ARM Interworking support. Called from linker. */ +extern boolean bfd_arm_pe_allocate_interworking_sections + PARAMS ((struct bfd_link_info *)); + +extern boolean bfd_arm_pe_process_before_allocation + PARAMS ((bfd *, struct bfd_link_info *, int)); + +extern boolean bfd_arm_pe_get_bfd_for_interworking + PARAMS ((bfd *, struct bfd_link_info *)); + +/* ELF ARM Interworking support. Called from linker. */ +extern boolean bfd_elf32_arm_allocate_interworking_sections + PARAMS ((struct bfd_link_info *)); + +extern boolean bfd_elf32_arm_process_before_allocation + PARAMS ((bfd *, struct bfd_link_info *, int)); + +extern boolean bfd_elf32_arm_get_bfd_for_interworking + PARAMS ((bfd *, struct bfd_link_info *)); + +/* TI COFF load page support. */ +extern void bfd_ticoff_set_section_load_page + PARAMS ((struct sec *, int)); + +extern int bfd_ticoff_get_section_load_page + PARAMS ((struct sec *)); + /* And more from the source. */ void bfd_init PARAMS ((void)); @@ -724,11 +789,17 @@ bfd_close_all_done PARAMS ((bfd *)); bfd * bfd_create PARAMS ((CONST char *filename, bfd *templ)); +boolean +bfd_make_writable PARAMS ((bfd *abfd)); + +boolean +bfd_make_readable PARAMS ((bfd *abfd)); + /* Byte swapping macros for user section data. */ #define bfd_put_8(abfd, val, ptr) \ - (*((unsigned char *)(ptr)) = (unsigned char)(val)) + ((void) (*((unsigned char *)(ptr)) = (unsigned char)(val))) #define bfd_put_signed_8 \ bfd_put_8 #define bfd_get_8(abfd, ptr) \ @@ -763,6 +834,20 @@ bfd_create PARAMS ((CONST char *filename, bfd *templ)); #define bfd_get_signed_64(abfd, ptr) \ BFD_SEND(abfd, bfd_getx_signed_64, (ptr)) +#define bfd_get(bits, abfd, ptr) \ + ((bits) == 8 ? bfd_get_8 (abfd, ptr) \ + : (bits) == 16 ? bfd_get_16 (abfd, ptr) \ + : (bits) == 32 ? bfd_get_32 (abfd, ptr) \ + : (bits) == 64 ? bfd_get_64 (abfd, ptr) \ + : (abort (), (bfd_vma) - 1)) + +#define bfd_put(bits, abfd, val, ptr) \ + ((bits) == 8 ? bfd_put_8 (abfd, val, ptr) \ + : (bits) == 16 ? bfd_put_16 (abfd, val, ptr) \ + : (bits) == 32 ? bfd_put_32 (abfd, val, ptr) \ + : (bits) == 64 ? bfd_put_64 (abfd, val, ptr) \ + : (abort (), (void) 0)) + /* Byte swapping macros for file header data. */ @@ -802,6 +887,27 @@ bfd_create PARAMS ((CONST char *filename, bfd *templ)); #define bfd_h_get_signed_64(abfd, ptr) \ BFD_SEND(abfd, bfd_h_getx_signed_64, (ptr)) + /* This structure is used for a comdat section, as in PE. A comdat + section is associated with a particular symbol. When the linker + sees a comdat section, it keeps only one of the sections with a + given name and associated with a given symbol. */ + +struct bfd_comdat_info +{ + /* The name of the symbol associated with a comdat section. */ + const char *name; + + /* The local symbol table index of the symbol associated with a + comdat section. This is only meaningful to the object file format + specific code; it is not an index into the list returned by + bfd_canonicalize_symtab. */ + long symbol; + + /* If this section is being discarded, the linker uses this field + to point to the input section which is being kept. */ + struct sec *sec; +}; + typedef struct sec { /* The name of the section; the name isn't a copy, the pointer is @@ -867,7 +973,7 @@ typedef struct sec standard data. */ #define SEC_CONSTRUCTOR 0x100 - /* The section is a constuctor, and should be placed at the + /* The section is a constructor, and should be placed at the end of the text, data, or bss section(?). */ #define SEC_CONSTRUCTOR_TEXT 0x1100 #define SEC_CONSTRUCTOR_DATA 0x2100 @@ -956,6 +1062,27 @@ typedef struct sec else up the line will take care of it later. */ #define SEC_LINKER_CREATED 0x800000 + /* This section should not be subject to garbage collection. */ +#define SEC_KEEP 0x1000000 + + /* This section contains "short" data, and should be placed + "near" the GP. */ +#define SEC_SMALL_DATA 0x2000000 + + /* This section contains data which may be shared with other + executables or shared objects. */ +#define SEC_SHARED 0x4000000 + + /* When a section with this flag is being linked, then if the size of + the input section is less than a page, it should not cross a page + boundary. If the size of the input section is one page or more, it + should be aligned on a page boundary. */ +#define SEC_BLOCK 0x8000000 + + /* Conditionally link this section; do not link if there are no + references found to any symbol in the section. */ +#define SEC_CLINK 0x10000000 + /* End of section flags. */ /* Some internal packed boolean fields. */ @@ -969,6 +1096,9 @@ typedef struct sec /* A mark flag used by some of the linker backends. */ unsigned int linker_mark : 1; + /* A mark flag used by some linker backends for garbage collection. */ + unsigned int gc_mark : 1; + /* End of internal packed boolean fields. */ /* The virtual memory address of the section - where it will be @@ -986,22 +1116,25 @@ typedef struct sec bfd_vma lma; - /* The size of the section in bytes, as it will be output. - contains a value even if the section has no contents (e.g., the - size of <<.bss>>). This will be filled in after relocation */ + /* The size of the section in octets, as it will be output. + Contains a value even if the section has no contents (e.g., the + size of <<.bss>>). This will be filled in after relocation. */ bfd_size_type _cooked_size; - /* The original size on disk of the section, in bytes. Normally this + /* The original size on disk of the section, in octets. Normally this value is the same as the size, but if some relaxing has been done, then this value will be bigger. */ bfd_size_type _raw_size; /* If this section is going to be output, then this value is the - offset into the output section of the first byte in the input - section. E.g., if this was going to start at the 100th byte in - the output section, this value would be 100. */ + offset in *bytes* into the output section of the first byte in the + input section (byte ==> smallest addressable unit on the + target). In most cases, if this was going to start at the + 100th octet (8-bit quantity) in the output section, this value + would be 100. However, if the target byte size is 16 bits + (bfd_octets_per_byte is "2"), this value would be 50. */ bfd_vma output_offset; @@ -1059,6 +1192,10 @@ typedef struct sec unsigned int lineno_count; + /* Optional information about a COMDAT entry; NULL if not COMDAT */ + + struct bfd_comdat_info *comdat; + /* When a section is being output, this value changes as more linenumbers are written out */ @@ -1118,9 +1255,11 @@ extern const struct symbol_cache_entry * const bfd_com_symbol; extern const struct symbol_cache_entry * const bfd_und_symbol; extern const struct symbol_cache_entry * const bfd_ind_symbol; #define bfd_get_section_size_before_reloc(section) \ - (section->reloc_done ? (abort(),1): (section)->_raw_size) + ((section)->reloc_done ? (abort (), (bfd_size_type) 1) \ + : (section)->_raw_size) #define bfd_get_section_size_after_reloc(section) \ - ((section->reloc_done) ? (section)->_cooked_size: (abort(),1)) + ((section)->reloc_done ? (section)->_cooked_size \ + : (abort (), (bfd_size_type) 1)) asection * bfd_get_section_by_name PARAMS ((bfd *abfd, CONST char *name)); @@ -1165,6 +1304,10 @@ bfd_copy_private_section_data PARAMS ((bfd *ibfd, asection *isec, bfd *obfd, ase #define bfd_copy_private_section_data(ibfd, isection, obfd, osection) \ BFD_SEND (obfd, _bfd_copy_private_section_data, \ (ibfd, isection, obfd, osection)) +void +_bfd_strip_section_from_output + PARAMS ((struct bfd_link_info *info, asection *section)); + enum bfd_architecture { bfd_arch_unknown, /* File arch not known */ @@ -1177,6 +1320,7 @@ enum bfd_architecture #define bfd_mach_m68030 5 #define bfd_mach_m68040 6 #define bfd_mach_m68060 7 +#define bfd_mach_cpu32 8 bfd_arch_vax, /* DEC Vax */ bfd_arch_i960, /* Intel 960 */ /* The order of the following is important. @@ -1204,8 +1348,9 @@ enum bfd_architecture #define bfd_mach_sparc_sparclite 3 #define bfd_mach_sparc_v8plus 4 #define bfd_mach_sparc_v8plusa 5 /* with ultrasparc add'ns */ -#define bfd_mach_sparc_v9 6 -#define bfd_mach_sparc_v9a 7 /* with ultrasparc add'ns */ +#define bfd_mach_sparc_sparclite_le 6 +#define bfd_mach_sparc_v9 7 +#define bfd_mach_sparc_v9a 8 /* with ultrasparc add'ns */ /* Nonzero if MACH has the v9 instruction set. */ #define bfd_mach_sparc_v9_p(mach) \ ((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9a) @@ -1215,6 +1360,7 @@ enum bfd_architecture #define bfd_mach_mips4000 4000 #define bfd_mach_mips4010 4010 #define bfd_mach_mips4100 4100 +#define bfd_mach_mips4111 4111 #define bfd_mach_mips4300 4300 #define bfd_mach_mips4400 4400 #define bfd_mach_mips4600 4600 @@ -1227,9 +1373,11 @@ enum bfd_architecture bfd_arch_i386, /* Intel 386 */ #define bfd_mach_i386_i386 0 #define bfd_mach_i386_i8086 1 +#define bfd_mach_i386_i386_intel_syntax 2 bfd_arch_we32k, /* AT&T WE32xxx */ bfd_arch_tahoe, /* CCI/Harris Tahoe */ bfd_arch_i860, /* Intel 860 */ + bfd_arch_i370, /* IBM 360/370 Mainframes */ bfd_arch_romp, /* IBM ROMP PC/RT */ bfd_arch_alliant, /* Alliant */ bfd_arch_convex, /* Convex */ @@ -1243,34 +1391,63 @@ enum bfd_architecture bfd_arch_rs6000, /* IBM RS/6000 */ bfd_arch_hppa, /* HP PA RISC */ bfd_arch_d10v, /* Mitsubishi D10V */ +#define bfd_mach_d10v 0 +#define bfd_mach_d10v_ts2 2 +#define bfd_mach_d10v_ts3 3 + bfd_arch_d30v, /* Mitsubishi D30V */ bfd_arch_z8k, /* Zilog Z8000 */ #define bfd_mach_z8001 1 #define bfd_mach_z8002 2 bfd_arch_h8500, /* Hitachi H8/500 */ bfd_arch_sh, /* Hitachi SH */ #define bfd_mach_sh 0 +#define bfd_mach_sh2 0x20 +#define bfd_mach_sh_dsp 0x2d #define bfd_mach_sh3 0x30 +#define bfd_mach_sh3_dsp 0x3d #define bfd_mach_sh3e 0x3e #define bfd_mach_sh4 0x40 bfd_arch_alpha, /* Dec Alpha */ +#define bfd_mach_alpha_ev4 0x10 +#define bfd_mach_alpha_ev5 0x20 +#define bfd_mach_alpha_ev6 0x30 bfd_arch_arm, /* Advanced Risc Machines ARM */ #define bfd_mach_arm_2 1 -#define bfd_mach_arm_2a 2 +#define bfd_mach_arm_2a 2 #define bfd_mach_arm_3 3 #define bfd_mach_arm_3M 4 -#define bfd_mach_arm_4 5 +#define bfd_mach_arm_4 5 #define bfd_mach_arm_4T 6 +#define bfd_mach_arm_5 7 +#define bfd_mach_arm_5T 8 bfd_arch_ns32k, /* National Semiconductors ns32000 */ bfd_arch_w65, /* WDC 65816 */ bfd_arch_tic30, /* Texas Instruments TMS320C30 */ + bfd_arch_tic54x, /* Texas Instruments TMS320C54X */ + bfd_arch_tic80, /* TI TMS320c80 (MVP) */ bfd_arch_v850, /* NEC V850 */ #define bfd_mach_v850 0 +#define bfd_mach_v850e 'E' +#define bfd_mach_v850ea 'A' bfd_arch_arc, /* Argonaut RISC Core */ #define bfd_mach_arc_base 0 bfd_arch_m32r, /* Mitsubishi M32R/D */ #define bfd_mach_m32r 0 /* backwards compatibility */ +#define bfd_mach_m32rx 'x' bfd_arch_mn10200, /* Matsushita MN10200 */ bfd_arch_mn10300, /* Matsushita MN10300 */ +#define bfd_mach_mn10300 300 +#define bfd_mach_am33 330 + bfd_arch_fr30, +#define bfd_mach_fr30 0x46523330 + bfd_arch_mcore, + bfd_arch_ia64, /* HP/Intel ia64 */ + bfd_arch_pj, + bfd_arch_avr, /* Atmel AVR microcontrollers */ +#define bfd_mach_avr1 1 +#define bfd_mach_avr2 2 +#define bfd_mach_avr3 3 +#define bfd_mach_avr4 4 bfd_arch_last }; @@ -1336,6 +1513,13 @@ const char * bfd_printable_arch_mach PARAMS ((enum bfd_architecture arch, unsigned long machine)); +unsigned int +bfd_octets_per_byte PARAMS ((bfd *abfd)); + +unsigned int +bfd_arch_mach_octets_per_byte PARAMS ((enum bfd_architecture arch, + unsigned long machine)); + typedef enum bfd_reloc_status { /* No errors detected */ @@ -1454,13 +1638,26 @@ struct reloc_howto_struct /* The textual name of the relocation type. */ char *name; - /* When performing a partial link, some formats must modify the - relocations rather than the data - this flag signals this.*/ + /* Some formats record a relocation addend in the section contents + rather than with the relocation. For ELF formats this is the + distinction between USE_REL and USE_RELA (though the code checks + for USE_REL == 1/0). The value of this field is TRUE if the + addend is recorded with the section contents; when performing a + partial link (ld -r) the section contents (the data) will be + modified. The value of this field is FALSE if addends are + recorded with the relocation (in arelent.addend); when performing + a partial link the relocation will be modified. + All relocations for all ELF USE_RELA targets should set this field + to FALSE (values of TRUE should be looked on with suspicion). + However, the converse is not true: not all relocations of all ELF + USE_REL targets set this field to TRUE. Why this is so is peculiar + to each particular target. For relocs that aren't used in partial + links (e.g. GOT stuff) it doesn't matter what this is set to. */ boolean partial_inplace; /* The src_mask selects which parts of the read in data are to be used in the relocation sum. E.g., if this was an 8 bit - bit of data which we read and relocated, this would be + byte of data which we read and relocated, this would be 0x000000ff. When we have relocs which have an addend, such as sun4 extended relocs, the value in the offset part of a relocating field is garbage so we never use it. In this case @@ -1486,6 +1683,9 @@ struct reloc_howto_struct {(unsigned)C,R,S,B, P, BI, O,SF,NAME,INPLACE,MASKSRC,MASKDST,PC} #define NEWHOWTO( FUNCTION, NAME,SIZE,REL,IN) HOWTO(0,0,SIZE,0,REL,0,complain_overflow_dont,FUNCTION, NAME,false,0,0,IN) +#define EMPTY_HOWTO(C) \ + HOWTO((C),0,0,0,false,0,complain_overflow_dont,NULL,NULL,false,0,0,false) + #define HOWTO_PREPARE(relocation, symbol) \ { \ if (symbol != (asymbol *)NULL) { \ @@ -1510,6 +1710,7 @@ bfd_check_overflow PARAMS ((enum complain_overflow how, unsigned int bitsize, unsigned int rightshift, + unsigned int addrsize, bfd_vma relocation)); bfd_reloc_status_type @@ -1666,6 +1867,9 @@ relocation types already defined. */ BFD_RELOC_SPARC_L44, BFD_RELOC_SPARC_REGISTER, +/* SPARC little endian relocation */ + BFD_RELOC_SPARC_REV32, + /* Alpha ECOFF and ELF relocations. Some of these treat the symbol or "addend" in some special way. For GPDISP_HI16 ("gpdisp") relocations, the symbol is ignored when @@ -1714,6 +1918,17 @@ The GNU linker currently doesn't do any of this optimizing. */ BFD_RELOC_ALPHA_ELF_LITERAL, BFD_RELOC_ALPHA_LITUSE, +/* The BFD_RELOC_ALPHA_USER_* relocations are used by the assembler to +process the explicit !<reloc>!sequence relocations, and are mapped +into the normal relocations at the end of processing. */ + BFD_RELOC_ALPHA_USER_LITERAL, + BFD_RELOC_ALPHA_USER_LITUSE_BASE, + BFD_RELOC_ALPHA_USER_LITUSE_BYTOFF, + BFD_RELOC_ALPHA_USER_LITUSE_JSR, + BFD_RELOC_ALPHA_USER_GPDISP, + BFD_RELOC_ALPHA_USER_GPRELHIGH, + BFD_RELOC_ALPHA_USER_GPRELLOW, + /* The HINT relocation indicates a value that should be filled into the "hint" field of a jmp/jsr/ret instruction, for possible branch- prediction logic which may be provided on some processors. */ @@ -1769,6 +1984,10 @@ to compensate for the borrow when the low bits are added. */ BFD_RELOC_MIPS_GOT_LO16, BFD_RELOC_MIPS_CALL_HI16, BFD_RELOC_MIPS_CALL_LO16, + BFD_RELOC_MIPS_SUB, + BFD_RELOC_MIPS_GOT_PAGE, + BFD_RELOC_MIPS_GOT_OFST, + BFD_RELOC_MIPS_GOT_DISP, /* i386/elf relocations */ @@ -1795,6 +2014,14 @@ to compensate for the borrow when the low bits are added. */ BFD_RELOC_NS32K_DISP_16_PCREL, BFD_RELOC_NS32K_DISP_32_PCREL, +/* Picojava relocs. Not all of these appear in object files. */ + BFD_RELOC_PJ_CODE_HI16, + BFD_RELOC_PJ_CODE_LO16, + BFD_RELOC_PJ_CODE_DIR16, + BFD_RELOC_PJ_CODE_DIR32, + BFD_RELOC_PJ_CODE_REL16, + BFD_RELOC_PJ_CODE_REL32, + /* Power(rs6000) and PowerPC relocations. */ BFD_RELOC_PPC_B26, BFD_RELOC_PPC_BA26, @@ -1827,6 +2054,9 @@ to compensate for the borrow when the low bits are added. */ BFD_RELOC_PPC_EMB_BIT_FLD, BFD_RELOC_PPC_EMB_RELSDA, +/* IBM 370/390 relocations */ + BFD_RELOC_I370_D12, + /* The type of reloc used to build a contructor table - at the moment probably a 32 bit wide absolute relocation, but the target can choose. It generally does map to one of the other relocation types. */ @@ -1836,9 +2066,20 @@ It generally does map to one of the other relocation types. */ not stored in the instruction. */ BFD_RELOC_ARM_PCREL_BRANCH, +/* ARM 26 bit pc-relative branch. The lowest bit must be zero and is +not stored in the instruction. The 2nd lowest bit comes from a 1 bit +field in the instruction. */ + BFD_RELOC_ARM_PCREL_BLX, + +/* Thumb 22 bit pc-relative branch. The lowest bit must be zero and is +not stored in the instruction. The 2nd lowest bit comes from a 1 bit +field in the instruction. */ + BFD_RELOC_THUMB_PCREL_BLX, + /* These relocs are only used within the ARM assembler. They are not (at present) written to any object files. */ BFD_RELOC_ARM_IMMEDIATE, + BFD_RELOC_ARM_ADRL_IMMEDIATE, BFD_RELOC_ARM_OFFSET_IMM, BFD_RELOC_ARM_SHIFT_IMM, BFD_RELOC_ARM_SWI, @@ -1854,6 +2095,15 @@ not stored in the instruction. */ BFD_RELOC_ARM_THUMB_IMM, BFD_RELOC_ARM_THUMB_SHIFT, BFD_RELOC_ARM_THUMB_OFFSET, + BFD_RELOC_ARM_GOT12, + BFD_RELOC_ARM_GOT32, + BFD_RELOC_ARM_JUMP_SLOT, + BFD_RELOC_ARM_COPY, + BFD_RELOC_ARM_GLOB_DAT, + BFD_RELOC_ARM_PLT32, + BFD_RELOC_ARM_RELATIVE, + BFD_RELOC_ARM_GOTOFF, + BFD_RELOC_ARM_GOTPC, /* Hitachi SH relocs. Not all of these appear in object files. */ BFD_RELOC_SH_PCDISP8BY2, @@ -1874,6 +2124,8 @@ not stored in the instruction. */ BFD_RELOC_SH_CODE, BFD_RELOC_SH_DATA, BFD_RELOC_SH_LABEL, + BFD_RELOC_SH_LOOP_START, + BFD_RELOC_SH_LOOP_END, /* Thumb 23-, 12- and 9-bit pc-relative branches. The lowest bit must be zero and is not stored in the instruction. */ @@ -1912,7 +2164,53 @@ assumed to be 0. */ assumed to be 0. */ BFD_RELOC_D10V_18_PCREL, +/* Mitsubishi D30V relocs. +This is a 6-bit absolute reloc. */ + BFD_RELOC_D30V_6, + +/* This is a 6-bit pc-relative reloc with +the right 3 bits assumed to be 0. */ + BFD_RELOC_D30V_9_PCREL, + +/* This is a 6-bit pc-relative reloc with +the right 3 bits assumed to be 0. Same +as the previous reloc but on the right side +of the container. */ + BFD_RELOC_D30V_9_PCREL_R, +/* This is a 12-bit absolute reloc with the +right 3 bitsassumed to be 0. */ + BFD_RELOC_D30V_15, + +/* This is a 12-bit pc-relative reloc with +the right 3 bits assumed to be 0. */ + BFD_RELOC_D30V_15_PCREL, + +/* This is a 12-bit pc-relative reloc with +the right 3 bits assumed to be 0. Same +as the previous reloc but on the right side +of the container. */ + BFD_RELOC_D30V_15_PCREL_R, + +/* This is an 18-bit absolute reloc with +the right 3 bits assumed to be 0. */ + BFD_RELOC_D30V_21, + +/* This is an 18-bit pc-relative reloc with +the right 3 bits assumed to be 0. */ + BFD_RELOC_D30V_21_PCREL, + +/* This is an 18-bit pc-relative reloc with +the right 3 bits assumed to be 0. Same +as the previous reloc but on the right side +of the container. */ + BFD_RELOC_D30V_21_PCREL_R, + +/* This is a 32-bit absolute reloc. */ + BFD_RELOC_D30V_32, + +/* This is a 32-bit pc-relative reloc. */ + BFD_RELOC_D30V_32_PCREL, /* Mitsubishi M32R relocs. This is a 24 bit absolute address. */ @@ -1976,6 +2274,27 @@ data area pointer. */ /* This is a 16 bit offset from the tiny data area pointer. */ BFD_RELOC_V850_TDA_16_16_OFFSET, +/* This is a 5 bit offset (of which only 4 bits are used) from the tiny +data area pointer. */ + BFD_RELOC_V850_TDA_4_5_OFFSET, + +/* This is a 4 bit offset from the tiny data area pointer. */ + BFD_RELOC_V850_TDA_4_4_OFFSET, + +/* This is a 16 bit offset from the short data area pointer, with the +bits placed non-contigously in the instruction. */ + BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET, + +/* This is a 16 bit offset from the zero data area pointer, with the +bits placed non-contigously in the instruction. */ + BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET, + +/* This is a 6 bit offset from the call table base pointer. */ + BFD_RELOC_V850_CALLT_6_7_OFFSET, + +/* This is a 16 bit offset from the call table base pointer. */ + BFD_RELOC_V850_CALLT_16_16_OFFSET, + /* This is a 32bit pcrel reloc for the mn10300, offset by two bytes in the instruction. */ @@ -1989,6 +2308,221 @@ instruction. */ significant 8 bits of a 24 bit word are placed into the least significant 8 bits of the opcode. */ BFD_RELOC_TIC30_LDP, + +/* This is a 7bit reloc for the tms320c54x, where the least +significant 7 bits of a 16 bit word are placed into the least +significant 7 bits of the opcode. */ + BFD_RELOC_TIC54X_PARTLS7, + +/* This is a 9bit DP reloc for the tms320c54x, where the most +significant 9 bits of a 16 bit word are placed into the least +significant 9 bits of the opcode. */ + BFD_RELOC_TIC54X_PARTMS9, + +/* This is an extended address 23-bit reloc for the tms320c54x. */ + BFD_RELOC_TIC54X_23, + +/* This is a 16-bit reloc for the tms320c54x, where the least +significant 16 bits of a 23-bit extended address are placed into +the opcode. */ + BFD_RELOC_TIC54X_16_OF_23, + +/* This is a reloc for the tms320c54x, where the most +significant 7 bits of a 23-bit extended address are placed into +the opcode. */ + BFD_RELOC_TIC54X_MS7_OF_23, + +/* This is a 48 bit reloc for the FR30 that stores 32 bits. */ + BFD_RELOC_FR30_48, + +/* This is a 32 bit reloc for the FR30 that stores 20 bits split up into +two sections. */ + BFD_RELOC_FR30_20, + +/* This is a 16 bit reloc for the FR30 that stores a 6 bit word offset in +4 bits. */ + BFD_RELOC_FR30_6_IN_4, + +/* This is a 16 bit reloc for the FR30 that stores an 8 bit byte offset +into 8 bits. */ + BFD_RELOC_FR30_8_IN_8, + +/* This is a 16 bit reloc for the FR30 that stores a 9 bit short offset +into 8 bits. */ + BFD_RELOC_FR30_9_IN_8, + +/* This is a 16 bit reloc for the FR30 that stores a 10 bit word offset +into 8 bits. */ + BFD_RELOC_FR30_10_IN_8, + +/* This is a 16 bit reloc for the FR30 that stores a 9 bit pc relative +short offset into 8 bits. */ + BFD_RELOC_FR30_9_PCREL, + +/* This is a 16 bit reloc for the FR30 that stores a 12 bit pc relative +short offset into 11 bits. */ + BFD_RELOC_FR30_12_PCREL, + +/* Motorola Mcore relocations. */ + BFD_RELOC_MCORE_PCREL_IMM8BY4, + BFD_RELOC_MCORE_PCREL_IMM11BY2, + BFD_RELOC_MCORE_PCREL_IMM4BY2, + BFD_RELOC_MCORE_PCREL_32, + BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2, + BFD_RELOC_MCORE_RVA, + +/* This is a 16 bit reloc for the AVR that stores 8 bit pc relative +short offset into 7 bits. */ + BFD_RELOC_AVR_7_PCREL, + +/* This is a 16 bit reloc for the AVR that stores 13 bit pc relative +short offset into 12 bits. */ + BFD_RELOC_AVR_13_PCREL, + +/* This is a 16 bit reloc for the AVR that stores 17 bit value (usually +program memory address) into 16 bits. */ + BFD_RELOC_AVR_16_PM, + +/* This is a 16 bit reloc for the AVR that stores 8 bit value (usually +data memory address) into 8 bit immediate value of LDI insn. */ + BFD_RELOC_AVR_LO8_LDI, + +/* This is a 16 bit reloc for the AVR that stores 8 bit value (high 8 bit +of data memory address) into 8 bit immediate value of LDI insn. */ + BFD_RELOC_AVR_HI8_LDI, + +/* This is a 16 bit reloc for the AVR that stores 8 bit value (most high 8 bit +of program memory address) into 8 bit immediate value of LDI insn. */ + BFD_RELOC_AVR_HH8_LDI, + +/* This is a 16 bit reloc for the AVR that stores negated 8 bit value +(usually data memory address) into 8 bit immediate value of SUBI insn. */ + BFD_RELOC_AVR_LO8_LDI_NEG, + +/* This is a 16 bit reloc for the AVR that stores negated 8 bit value +(high 8 bit of data memory address) into 8 bit immediate value of +SUBI insn. */ + BFD_RELOC_AVR_HI8_LDI_NEG, + +/* This is a 16 bit reloc for the AVR that stores negated 8 bit value +(most high 8 bit of program memory address) into 8 bit immediate value +of LDI or SUBI insn. */ + BFD_RELOC_AVR_HH8_LDI_NEG, + +/* This is a 16 bit reloc for the AVR that stores 8 bit value (usually +command address) into 8 bit immediate value of LDI insn. */ + BFD_RELOC_AVR_LO8_LDI_PM, + +/* This is a 16 bit reloc for the AVR that stores 8 bit value (high 8 bit +of command address) into 8 bit immediate value of LDI insn. */ + BFD_RELOC_AVR_HI8_LDI_PM, + +/* This is a 16 bit reloc for the AVR that stores 8 bit value (most high 8 bit +of command address) into 8 bit immediate value of LDI insn. */ + BFD_RELOC_AVR_HH8_LDI_PM, + +/* This is a 16 bit reloc for the AVR that stores negated 8 bit value +(usually command address) into 8 bit immediate value of SUBI insn. */ + BFD_RELOC_AVR_LO8_LDI_PM_NEG, + +/* This is a 16 bit reloc for the AVR that stores negated 8 bit value +(high 8 bit of 16 bit command address) into 8 bit immediate value +of SUBI insn. */ + BFD_RELOC_AVR_HI8_LDI_PM_NEG, + +/* This is a 16 bit reloc for the AVR that stores negated 8 bit value +(high 6 bit of 22 bit command address) into 8 bit immediate +value of SUBI insn. */ + BFD_RELOC_AVR_HH8_LDI_PM_NEG, + +/* This is a 32 bit reloc for the AVR that stores 23 bit value +into 22 bits. */ + BFD_RELOC_AVR_CALL, + +/* These two relocations are used by the linker to determine which of +the entries in a C++ virtual function table are actually used. When +the --gc-sections option is given, the linker will zero out the entries +that are not used, so that the code for those functions need not be +included in the output. + +VTABLE_INHERIT is a zero-space relocation used to describe to the +linker the inheritence tree of a C++ virtual function table. The +relocation's symbol should be the parent class' vtable, and the +relocation should be located at the child vtable. + +VTABLE_ENTRY is a zero-space relocation that describes the use of a +virtual function table entry. The reloc's symbol should refer to the +table of the class mentioned in the code. Off of that base, an offset +describes the entry that is being used. For Rela hosts, this offset +is stored in the reloc's addend. For Rel hosts, we are forced to put +this offset in the reloc's section offset. */ + BFD_RELOC_VTABLE_INHERIT, + BFD_RELOC_VTABLE_ENTRY, + +/* Intel IA64 Relocations. */ + BFD_RELOC_IA64_IMM14, + BFD_RELOC_IA64_IMM22, + BFD_RELOC_IA64_IMM64, + BFD_RELOC_IA64_DIR32MSB, + BFD_RELOC_IA64_DIR32LSB, + BFD_RELOC_IA64_DIR64MSB, + BFD_RELOC_IA64_DIR64LSB, + BFD_RELOC_IA64_GPREL22, + BFD_RELOC_IA64_GPREL64I, + BFD_RELOC_IA64_GPREL32MSB, + BFD_RELOC_IA64_GPREL32LSB, + BFD_RELOC_IA64_GPREL64MSB, + BFD_RELOC_IA64_GPREL64LSB, + BFD_RELOC_IA64_LTOFF22, + BFD_RELOC_IA64_LTOFF64I, + BFD_RELOC_IA64_PLTOFF22, + BFD_RELOC_IA64_PLTOFF64I, + BFD_RELOC_IA64_PLTOFF64MSB, + BFD_RELOC_IA64_PLTOFF64LSB, + BFD_RELOC_IA64_FPTR64I, + BFD_RELOC_IA64_FPTR32MSB, + BFD_RELOC_IA64_FPTR32LSB, + BFD_RELOC_IA64_FPTR64MSB, + BFD_RELOC_IA64_FPTR64LSB, + BFD_RELOC_IA64_PCREL21B, + BFD_RELOC_IA64_PCREL21M, + BFD_RELOC_IA64_PCREL21F, + BFD_RELOC_IA64_PCREL32MSB, + BFD_RELOC_IA64_PCREL32LSB, + BFD_RELOC_IA64_PCREL64MSB, + BFD_RELOC_IA64_PCREL64LSB, + BFD_RELOC_IA64_LTOFF_FPTR22, + BFD_RELOC_IA64_LTOFF_FPTR64I, + BFD_RELOC_IA64_LTOFF_FPTR64MSB, + BFD_RELOC_IA64_LTOFF_FPTR64LSB, + BFD_RELOC_IA64_SEGBASE, + BFD_RELOC_IA64_SEGREL32MSB, + BFD_RELOC_IA64_SEGREL32LSB, + BFD_RELOC_IA64_SEGREL64MSB, + BFD_RELOC_IA64_SEGREL64LSB, + BFD_RELOC_IA64_SECREL32MSB, + BFD_RELOC_IA64_SECREL32LSB, + BFD_RELOC_IA64_SECREL64MSB, + BFD_RELOC_IA64_SECREL64LSB, + BFD_RELOC_IA64_REL32MSB, + BFD_RELOC_IA64_REL32LSB, + BFD_RELOC_IA64_REL64MSB, + BFD_RELOC_IA64_REL64LSB, + BFD_RELOC_IA64_LTV32MSB, + BFD_RELOC_IA64_LTV32LSB, + BFD_RELOC_IA64_LTV64MSB, + BFD_RELOC_IA64_LTV64LSB, + BFD_RELOC_IA64_IPLTMSB, + BFD_RELOC_IA64_IPLTLSB, + BFD_RELOC_IA64_EPLTMSB, + BFD_RELOC_IA64_EPLTLSB, + BFD_RELOC_IA64_COPY, + BFD_RELOC_IA64_TPREL22, + BFD_RELOC_IA64_TPREL64MSB, + BFD_RELOC_IA64_TPREL64LSB, + BFD_RELOC_IA64_LTOFF_TP22, + BFD_RELOC_IA64_LTOFF22X, + BFD_RELOC_IA64_LDXMOV, BFD_RELOC_UNUSED }; typedef enum bfd_reloc_code_real bfd_reloc_code_real_type; reloc_howto_type * @@ -2043,7 +2577,7 @@ typedef struct symbol_cache_entry <<BSF_GLOBAL>> */ /* The symbol is a debugging record. The value has an arbitary - meaning. */ + meaning, unless BSF_DEBUGGING_RELOC is also set. */ #define BSF_DEBUGGING 0x08 /* The symbol denotes a function entry point. Used in ELF, @@ -2101,6 +2635,11 @@ typedef struct symbol_cache_entry others someday. */ #define BSF_OBJECT 0x10000 + /* This symbol is a debugging symbol. The value is the offset + into the section of the data. BSF_DEBUGGING should be set + as well. */ +#define BSF_DEBUGGING_RELOC 0x20000 + flagword flags; /* A pointer to the section to which this symbol is @@ -2142,6 +2681,9 @@ bfd_print_symbol_vandf PARAMS ((PTR file, asymbol *symbol)); int bfd_decode_symclass PARAMS ((asymbol *symbol)); +boolean +bfd_is_undefined_symclass PARAMS ((int symclass)); + void bfd_symbol_info PARAMS ((asymbol *symbol, symbol_info *ret)); @@ -2285,6 +2827,7 @@ struct _bfd struct nlm_obj_tdata *nlm_obj_data; struct bout_data_struct *bout_data; struct sun_core_struct *sun_core_data; + struct sco5_core_struct *sco5_core_data; struct trad_core_struct *trad_core_data; struct som_data_struct *som_data; struct hpux_core_struct *hpux_core_data; @@ -2437,6 +2980,9 @@ bfd_set_private_flags PARAMS ((bfd *abfd, flagword flags)); #define bfd_relax_section(abfd, section, link_info, again) \ BFD_SEND (abfd, _bfd_relax_section, (abfd, section, link_info, again)) +#define bfd_gc_sections(abfd, link_info) \ + BFD_SEND (abfd, _bfd_gc_sections, (abfd, link_info)) + #define bfd_link_hash_table_create(abfd) \ BFD_SEND (abfd, _bfd_link_hash_table_create, (abfd)) @@ -2524,6 +3070,7 @@ enum bfd_flavour { bfd_target_os9k_flavour, bfd_target_versados_flavour, bfd_target_msdos_flavour, + bfd_target_ovax_flavour, bfd_target_evax_flavour }; @@ -2731,7 +3278,8 @@ CAT(NAME,_bfd_relax_section),\ CAT(NAME,_bfd_link_hash_table_create),\ CAT(NAME,_bfd_link_add_symbols),\ CAT(NAME,_bfd_final_link),\ -CAT(NAME,_bfd_link_split_section) +CAT(NAME,_bfd_link_split_section),\ +CAT(NAME,_bfd_gc_sections) int (*_bfd_sizeof_headers) PARAMS ((bfd *, boolean)); bfd_byte * (*_bfd_get_relocated_section_contents) PARAMS ((bfd *, struct bfd_link_info *, struct bfd_link_order *, @@ -2755,7 +3303,10 @@ CAT(NAME,_bfd_link_split_section) /* Should this section be split up into smaller pieces during linking. */ boolean (*_bfd_link_split_section) PARAMS ((bfd *, struct sec *)); - /* Routines to handle dynamic symbols and relocs. */ + /* Remove sections that are not referenced from the output. */ + boolean (*_bfd_gc_sections) PARAMS ((bfd *, struct bfd_link_info *)); + + /* Routines to handle dynamic symbols and relocs. */ #define BFD_JUMP_TABLE_DYNAMIC(NAME)\ CAT(NAME,_get_dynamic_symtab_upper_bound),\ CAT(NAME,_canonicalize_dynamic_symtab),\ @@ -2772,7 +3323,11 @@ CAT(NAME,_canonicalize_dynamic_reloc) long (*_bfd_canonicalize_dynamic_reloc) PARAMS ((bfd *, arelent **, struct symbol_cache_entry **)); + /* Opposite endian version of this target. */ + const struct bfd_target * alternative_target; + PTR backend_data; + } bfd_target; boolean bfd_set_default_target PARAMS ((const char *name)); @@ -2783,6 +3338,9 @@ bfd_find_target PARAMS ((CONST char *target_name, bfd *abfd)); const char ** bfd_target_list PARAMS ((void)); +const bfd_target * +bfd_search_for_target PARAMS ((int (* search_func)(const bfd_target *, void *), void *)); + boolean bfd_check_format PARAMS ((bfd *abfd, bfd_format format)); diff --git a/gnu/usr.bin/binutils/libbfd/alpha/config.h b/gnu/usr.bin/binutils/libbfd/alpha/config.h index b14ec9f..48c4240 100644 --- a/gnu/usr.bin/binutils/libbfd/alpha/config.h +++ b/gnu/usr.bin/binutils/libbfd/alpha/config.h @@ -1,47 +1,65 @@ +/* $FreeBSD$ */ + /* config.h. Generated automatically by configure. */ /* config.in. Generated automatically from configure.in by autoheader. */ -/* Name of package. */ -#define PACKAGE "bfd" +/* Define if using alloca.c. */ +/* #undef C_ALLOCA */ -/* Version of package. */ -#define VERSION "2.9.1" +/* Define to empty if the keyword does not work. */ +/* #undef const */ -/* Whether strstr must be declared even if <string.h> is included. */ -/* #undef NEED_DECLARATION_STRSTR */ +/* 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 */ -/* Whether malloc must be declared even if <stdlib.h> is included. */ -/* #undef NEED_DECLARATION_MALLOC */ +/* Define if you have alloca, as a function or macro. */ +#define HAVE_ALLOCA 1 -/* Whether realloc must be declared even if <stdlib.h> is included. */ -/* #undef NEED_DECLARATION_REALLOC */ - -/* Whether free must be declared even if <stdlib.h> is included. */ -/* #undef NEED_DECLARATION_FREE */ - -/* Whether getenv must be declared even if <stdlib.h> is included. */ -/* #undef NEED_DECLARATION_GETENV */ +/* 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. */ #define HAVE_MMAP 1 +/* 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 if you need to in order for stat and other things to work. */ /* #undef _POSIX_SOURCE */ +/* 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. */ +#define STDC_HEADERS 1 + /* Define if you can safely include both <sys/time.h> and <time.h>. */ #define TIME_WITH_SYS_TIME 1 -/* Do we need to use the b modifier when opening binary files? */ -/* #undef USE_BINARY_FOPEN */ +/* Define if you have the __argz_count function. */ +/* #undef HAVE___ARGZ_COUNT */ -/* Name of host specific header file to include in trad-core.c. */ -/* #undef TRAD_HEADER */ +/* Define if you have the __argz_next function. */ +/* #undef HAVE___ARGZ_NEXT */ -/* Define only if <sys/procfs.h> is available *and* it defines prstatus_t. */ -#define HAVE_SYS_PROCFS_H 1 +/* Define if you have the __argz_stringify function. */ +/* #undef HAVE___ARGZ_STRINGIFY */ -/* Do we really want to use mmap if it's available? */ -/* #undef USE_MMAP */ +/* Define if you have the dcgettext function. */ +/* #undef HAVE_DCGETTEXT */ /* Define if you have the fcntl function. */ #define HAVE_FCNTL 1 @@ -49,24 +67,75 @@ /* Define if you have the fdopen function. */ #define HAVE_FDOPEN 1 +/* Define if you have the getcwd function. */ +#define HAVE_GETCWD 1 + +/* Define if you have the getgid function. */ +#define HAVE_GETGID 1 + /* Define if you have the getpagesize function. */ #define HAVE_GETPAGESIZE 1 +/* Define if you have the getuid function. */ +#define HAVE_GETUID 1 + /* Define if you have the madvise function. */ #define HAVE_MADVISE 1 /* Define if you have the mprotect function. */ #define HAVE_MPROTECT 1 +/* Define if you have the munmap function. */ +#define HAVE_MUNMAP 1 + +/* Define if you have the putenv function. */ +#define HAVE_PUTENV 1 + +/* Define if you have the setenv function. */ +#define HAVE_SETENV 1 + /* Define if you have the setitimer function. */ #define HAVE_SETITIMER 1 +/* Define if you have the setlocale function. */ +#define HAVE_SETLOCALE 1 + +/* Define if you have the stpcpy function. */ +/* #undef HAVE_STPCPY */ + +/* Define if you have the strcasecmp function. */ +#define HAVE_STRCASECMP 1 + +/* Define if you have the strchr function. */ +#define HAVE_STRCHR 1 + /* Define if you have the sysconf function. */ #define HAVE_SYSCONF 1 +/* Define if you have the <argz.h> header file. */ +/* #undef HAVE_ARGZ_H */ + +/* Define if you have the <dirent.h> header file. */ +#define HAVE_DIRENT_H 1 + /* Define if you have the <fcntl.h> header file. */ #define HAVE_FCNTL_H 1 +/* Define if you have the <limits.h> header file. */ +#define HAVE_LIMITS_H 1 + +/* Define if you have the <locale.h> header file. */ +#define HAVE_LOCALE_H 1 + +/* 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. */ +#define HAVE_NL_TYPES_H 1 + /* Define if you have the <stddef.h> header file. */ #define HAVE_STDDEF_H 1 @@ -79,9 +148,21 @@ /* Define if you have the <strings.h> header file. */ #define HAVE_STRINGS_H 1 +/* Define if you have the <sys/dir.h> header file. */ +/* #undef HAVE_SYS_DIR_H */ + /* Define if you have the <sys/file.h> header file. */ #define HAVE_SYS_FILE_H 1 +/* 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. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define if you have the <sys/procfs.h> header file. */ +#define HAVE_SYS_PROCFS_H 1 + /* Define if you have the <sys/time.h> header file. */ #define HAVE_SYS_TIME_H 1 @@ -90,3 +171,76 @@ /* Define if you have the <unistd.h> header file. */ #define HAVE_UNISTD_H 1 + +/* Define if you have the <values.h> header file. */ +/* #undef HAVE_VALUES_H */ + +/* Name of package */ +#define PACKAGE "bfd" + +/* Version number of package */ +/* #define VERSION "000427" */ + +/* Define if you have the stpcpy function */ +/* #undef HAVE_STPCPY */ + +/* Define if your locale.h file contains LC_MESSAGES. */ +#define HAVE_LC_MESSAGES 1 + +/* Define to 1 if NLS is requested */ +/* #define ENABLE_NLS 1 */ + +/* 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 strstr is not declared in system header files. */ +/* #undef NEED_DECLARATION_STRSTR */ + +/* Define if malloc is not declared in system header files. */ +/* #undef NEED_DECLARATION_MALLOC */ + +/* Define if realloc is not declared in system header files. */ +/* #undef NEED_DECLARATION_REALLOC */ + +/* 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 <sys/procfs.h> has prstatus_t. */ +#define HAVE_PRSTATUS_T 1 + +/* Define if <sys/procfs.h> has prstatus_t.pr_who. */ +/* #undef HAVE_PRSTATUS_T_PR_WHO */ + +/* Define if <sys/procfs.h> has pstatus_t. */ +/* #undef HAVE_PSTATUS_T */ + +/* Define if <sys/procfs.h> has prpsinfo_t. */ +#define HAVE_PRPSINFO_T 1 + +/* Define if <sys/procfs.h> has psinfo_t. */ +/* #undef HAVE_PSINFO_T */ + +/* Define if <sys/procfs.h> has lwpstatus_t. */ +/* #undef HAVE_LWPSTATUS_T */ + +/* Define if <sys/procfs.h> has lwpstatus_t.pr_context. */ +/* #undef HAVE_LWPSTATUS_T_PR_CONTEXT */ + +/* Define if <sys/procfs.h> has lwpstatus_t.pr_reg. */ +/* #undef HAVE_LWPSTATUS_T_PR_REG */ + +/* Define if <sys/procfs.h> has win32_pstatus_t. */ +/* #undef HAVE_WIN32_PSTATUS_T */ + +/* Name of host specific header file to include in trad-core.c. */ +#define TRAD_HEADER + +/* Use mmap if it's available? */ +/* #undef USE_MMAP */ + diff --git a/gnu/usr.bin/binutils/libbfd/i386/bfd.h b/gnu/usr.bin/binutils/libbfd/i386/bfd.h index af01ba3..eafbf61 100644 --- a/gnu/usr.bin/binutils/libbfd/i386/bfd.h +++ b/gnu/usr.bin/binutils/libbfd/i386/bfd.h @@ -1,5 +1,7 @@ +/* $FreeBSD$ */ + /* Main header file for the bfd library -- portable access to object files. - Copyright 1990, 91, 92, 93, 94, 95, 96, 97, 1998 + Copyright 1990, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free Software Foundation, Inc. Contributed by Cygnus Support. @@ -52,7 +54,7 @@ extern "C" { #include "ansidecl.h" /* These two lines get substitutions done by commands in Makefile.in. */ -#define BFD_VERSION "2.9.1" +/* #define BFD_VERSION "2.9.5" */ #define BFD_ARCH_SIZE 32 #define BFD_HOST_64BIT_LONG 0 #if 0 @@ -121,20 +123,24 @@ typedef long int file_ptr; use gcc's "long long" type. Otherwise, BFD_HOST_64_BIT must be defined above. */ +#ifndef BFD_HOST_64_BIT +# if BFD_HOST_64BIT_LONG +# define BFD_HOST_64_BIT long +# define BFD_HOST_U_64_BIT unsigned long +# else +# ifdef __GNUC__ +# if __GNUC__ >= 2 +# define BFD_HOST_64_BIT long long +# define BFD_HOST_U_64_BIT unsigned long long +# endif /* __GNUC__ >= 2 */ +# endif /* ! defined (__GNUC__) */ +# endif /* ! BFD_HOST_64BIT_LONG */ +#endif /* ! defined (BFD_HOST_64_BIT) */ + #ifdef BFD64 #ifndef BFD_HOST_64_BIT -#if BFD_HOST_64BIT_LONG -#define BFD_HOST_64_BIT long -#define BFD_HOST_U_64_BIT unsigned long -#else -#ifdef __GNUC__ -#define BFD_HOST_64_BIT long long -#define BFD_HOST_U_64_BIT unsigned long long -#else /* ! defined (__GNUC__) */ #error No 64 bit integer type available -#endif /* ! defined (__GNUC__) */ -#endif /* ! BFD_HOST_64BIT_LONG */ #endif /* ! defined (BFD_HOST_64_BIT) */ typedef BFD_HOST_U_64_BIT bfd_vma; @@ -175,7 +181,9 @@ typedef unsigned long bfd_size_type; /* Print a bfd_vma x on stream s. */ #define fprintf_vma(s,x) fprintf(s, "%08lx", x) #define sprintf_vma(s,x) sprintf(s, "%08lx", x) + #endif /* not BFD64 */ + #define printf_vma(x) fprintf_vma(stdout,x) typedef unsigned int flagword; /* 32 bits of flags */ @@ -620,6 +628,20 @@ extern boolean bfd_elf64_size_dynamic_sections extern void bfd_elf_set_dt_needed_name PARAMS ((bfd *, const char *)); extern const char *bfd_elf_get_dt_soname PARAMS ((bfd *)); +/* Return an upper bound on the number of bytes required to store a + copy of ABFD's program header table entries. Return -1 if an error + occurs; bfd_get_error will return an appropriate code. */ +extern long bfd_get_elf_phdr_upper_bound PARAMS ((bfd *abfd)); + +/* Copy ABFD's program header table entries to *PHDRS. The entries + will be stored as an array of Elf_Internal_Phdr structures, as + defined in include/elf/internal.h. To find out how large the + buffer needs to be, call bfd_get_elf_phdr_upper_bound. + + Return the number of program header table entries read, or -1 if an + error occurs; bfd_get_error will return an appropriate code. */ +extern int bfd_get_elf_phdrs PARAMS ((bfd *abfd, void *phdrs)); + /* SunOS shared library support routines for the linker. */ extern struct bfd_link_needed_list *bfd_sunos_get_needed_list @@ -691,9 +713,50 @@ union internal_auxent; extern boolean bfd_coff_get_syment PARAMS ((bfd *, struct symbol_cache_entry *, struct internal_syment *)); + extern boolean bfd_coff_get_auxent PARAMS ((bfd *, struct symbol_cache_entry *, int, union internal_auxent *)); +extern boolean bfd_coff_set_symbol_class + PARAMS ((bfd *, struct symbol_cache_entry *, unsigned int)); + +/* ARM Interworking support. Called from linker. */ +extern boolean bfd_arm_allocate_interworking_sections + PARAMS ((struct bfd_link_info *)); + +extern boolean bfd_arm_process_before_allocation + PARAMS ((bfd *, struct bfd_link_info *, int)); + +extern boolean bfd_arm_get_bfd_for_interworking + PARAMS ((bfd *, struct bfd_link_info *)); + +/* PE ARM Interworking support. Called from linker. */ +extern boolean bfd_arm_pe_allocate_interworking_sections + PARAMS ((struct bfd_link_info *)); + +extern boolean bfd_arm_pe_process_before_allocation + PARAMS ((bfd *, struct bfd_link_info *, int)); + +extern boolean bfd_arm_pe_get_bfd_for_interworking + PARAMS ((bfd *, struct bfd_link_info *)); + +/* ELF ARM Interworking support. Called from linker. */ +extern boolean bfd_elf32_arm_allocate_interworking_sections + PARAMS ((struct bfd_link_info *)); + +extern boolean bfd_elf32_arm_process_before_allocation + PARAMS ((bfd *, struct bfd_link_info *, int)); + +extern boolean bfd_elf32_arm_get_bfd_for_interworking + PARAMS ((bfd *, struct bfd_link_info *)); + +/* TI COFF load page support. */ +extern void bfd_ticoff_set_section_load_page + PARAMS ((struct sec *, int)); + +extern int bfd_ticoff_get_section_load_page + PARAMS ((struct sec *)); + /* And more from the source. */ void bfd_init PARAMS ((void)); @@ -719,11 +782,17 @@ bfd_close_all_done PARAMS ((bfd *)); bfd * bfd_create PARAMS ((CONST char *filename, bfd *templ)); +boolean +bfd_make_writable PARAMS ((bfd *abfd)); + +boolean +bfd_make_readable PARAMS ((bfd *abfd)); + /* Byte swapping macros for user section data. */ #define bfd_put_8(abfd, val, ptr) \ - (*((unsigned char *)(ptr)) = (unsigned char)(val)) + ((void) (*((unsigned char *)(ptr)) = (unsigned char)(val))) #define bfd_put_signed_8 \ bfd_put_8 #define bfd_get_8(abfd, ptr) \ @@ -758,6 +827,20 @@ bfd_create PARAMS ((CONST char *filename, bfd *templ)); #define bfd_get_signed_64(abfd, ptr) \ BFD_SEND(abfd, bfd_getx_signed_64, (ptr)) +#define bfd_get(bits, abfd, ptr) \ + ((bits) == 8 ? bfd_get_8 (abfd, ptr) \ + : (bits) == 16 ? bfd_get_16 (abfd, ptr) \ + : (bits) == 32 ? bfd_get_32 (abfd, ptr) \ + : (bits) == 64 ? bfd_get_64 (abfd, ptr) \ + : (abort (), (bfd_vma) - 1)) + +#define bfd_put(bits, abfd, val, ptr) \ + ((bits) == 8 ? bfd_put_8 (abfd, val, ptr) \ + : (bits) == 16 ? bfd_put_16 (abfd, val, ptr) \ + : (bits) == 32 ? bfd_put_32 (abfd, val, ptr) \ + : (bits) == 64 ? bfd_put_64 (abfd, val, ptr) \ + : (abort (), (void) 0)) + /* Byte swapping macros for file header data. */ @@ -797,6 +880,27 @@ bfd_create PARAMS ((CONST char *filename, bfd *templ)); #define bfd_h_get_signed_64(abfd, ptr) \ BFD_SEND(abfd, bfd_h_getx_signed_64, (ptr)) + /* This structure is used for a comdat section, as in PE. A comdat + section is associated with a particular symbol. When the linker + sees a comdat section, it keeps only one of the sections with a + given name and associated with a given symbol. */ + +struct bfd_comdat_info +{ + /* The name of the symbol associated with a comdat section. */ + const char *name; + + /* The local symbol table index of the symbol associated with a + comdat section. This is only meaningful to the object file format + specific code; it is not an index into the list returned by + bfd_canonicalize_symtab. */ + long symbol; + + /* If this section is being discarded, the linker uses this field + to point to the input section which is being kept. */ + struct sec *sec; +}; + typedef struct sec { /* The name of the section; the name isn't a copy, the pointer is @@ -862,7 +966,7 @@ typedef struct sec standard data. */ #define SEC_CONSTRUCTOR 0x100 - /* The section is a constuctor, and should be placed at the + /* The section is a constructor, and should be placed at the end of the text, data, or bss section(?). */ #define SEC_CONSTRUCTOR_TEXT 0x1100 #define SEC_CONSTRUCTOR_DATA 0x2100 @@ -951,6 +1055,27 @@ typedef struct sec else up the line will take care of it later. */ #define SEC_LINKER_CREATED 0x800000 + /* This section should not be subject to garbage collection. */ +#define SEC_KEEP 0x1000000 + + /* This section contains "short" data, and should be placed + "near" the GP. */ +#define SEC_SMALL_DATA 0x2000000 + + /* This section contains data which may be shared with other + executables or shared objects. */ +#define SEC_SHARED 0x4000000 + + /* When a section with this flag is being linked, then if the size of + the input section is less than a page, it should not cross a page + boundary. If the size of the input section is one page or more, it + should be aligned on a page boundary. */ +#define SEC_BLOCK 0x8000000 + + /* Conditionally link this section; do not link if there are no + references found to any symbol in the section. */ +#define SEC_CLINK 0x10000000 + /* End of section flags. */ /* Some internal packed boolean fields. */ @@ -964,6 +1089,9 @@ typedef struct sec /* A mark flag used by some of the linker backends. */ unsigned int linker_mark : 1; + /* A mark flag used by some linker backends for garbage collection. */ + unsigned int gc_mark : 1; + /* End of internal packed boolean fields. */ /* The virtual memory address of the section - where it will be @@ -981,22 +1109,25 @@ typedef struct sec bfd_vma lma; - /* The size of the section in bytes, as it will be output. - contains a value even if the section has no contents (e.g., the - size of <<.bss>>). This will be filled in after relocation */ + /* The size of the section in octets, as it will be output. + Contains a value even if the section has no contents (e.g., the + size of <<.bss>>). This will be filled in after relocation. */ bfd_size_type _cooked_size; - /* The original size on disk of the section, in bytes. Normally this + /* The original size on disk of the section, in octets. Normally this value is the same as the size, but if some relaxing has been done, then this value will be bigger. */ bfd_size_type _raw_size; /* If this section is going to be output, then this value is the - offset into the output section of the first byte in the input - section. E.g., if this was going to start at the 100th byte in - the output section, this value would be 100. */ + offset in *bytes* into the output section of the first byte in the + input section (byte ==> smallest addressable unit on the + target). In most cases, if this was going to start at the + 100th octet (8-bit quantity) in the output section, this value + would be 100. However, if the target byte size is 16 bits + (bfd_octets_per_byte is "2"), this value would be 50. */ bfd_vma output_offset; @@ -1054,6 +1185,10 @@ typedef struct sec unsigned int lineno_count; + /* Optional information about a COMDAT entry; NULL if not COMDAT */ + + struct bfd_comdat_info *comdat; + /* When a section is being output, this value changes as more linenumbers are written out */ @@ -1113,9 +1248,11 @@ extern const struct symbol_cache_entry * const bfd_com_symbol; extern const struct symbol_cache_entry * const bfd_und_symbol; extern const struct symbol_cache_entry * const bfd_ind_symbol; #define bfd_get_section_size_before_reloc(section) \ - (section->reloc_done ? (abort(),1): (section)->_raw_size) + ((section)->reloc_done ? (abort (), (bfd_size_type) 1) \ + : (section)->_raw_size) #define bfd_get_section_size_after_reloc(section) \ - ((section->reloc_done) ? (section)->_cooked_size: (abort(),1)) + ((section)->reloc_done ? (section)->_cooked_size \ + : (abort (), (bfd_size_type) 1)) asection * bfd_get_section_by_name PARAMS ((bfd *abfd, CONST char *name)); @@ -1160,6 +1297,10 @@ bfd_copy_private_section_data PARAMS ((bfd *ibfd, asection *isec, bfd *obfd, ase #define bfd_copy_private_section_data(ibfd, isection, obfd, osection) \ BFD_SEND (obfd, _bfd_copy_private_section_data, \ (ibfd, isection, obfd, osection)) +void +_bfd_strip_section_from_output + PARAMS ((struct bfd_link_info *info, asection *section)); + enum bfd_architecture { bfd_arch_unknown, /* File arch not known */ @@ -1172,6 +1313,7 @@ enum bfd_architecture #define bfd_mach_m68030 5 #define bfd_mach_m68040 6 #define bfd_mach_m68060 7 +#define bfd_mach_cpu32 8 bfd_arch_vax, /* DEC Vax */ bfd_arch_i960, /* Intel 960 */ /* The order of the following is important. @@ -1199,8 +1341,9 @@ enum bfd_architecture #define bfd_mach_sparc_sparclite 3 #define bfd_mach_sparc_v8plus 4 #define bfd_mach_sparc_v8plusa 5 /* with ultrasparc add'ns */ -#define bfd_mach_sparc_v9 6 -#define bfd_mach_sparc_v9a 7 /* with ultrasparc add'ns */ +#define bfd_mach_sparc_sparclite_le 6 +#define bfd_mach_sparc_v9 7 +#define bfd_mach_sparc_v9a 8 /* with ultrasparc add'ns */ /* Nonzero if MACH has the v9 instruction set. */ #define bfd_mach_sparc_v9_p(mach) \ ((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9a) @@ -1210,6 +1353,7 @@ enum bfd_architecture #define bfd_mach_mips4000 4000 #define bfd_mach_mips4010 4010 #define bfd_mach_mips4100 4100 +#define bfd_mach_mips4111 4111 #define bfd_mach_mips4300 4300 #define bfd_mach_mips4400 4400 #define bfd_mach_mips4600 4600 @@ -1222,9 +1366,11 @@ enum bfd_architecture bfd_arch_i386, /* Intel 386 */ #define bfd_mach_i386_i386 0 #define bfd_mach_i386_i8086 1 +#define bfd_mach_i386_i386_intel_syntax 2 bfd_arch_we32k, /* AT&T WE32xxx */ bfd_arch_tahoe, /* CCI/Harris Tahoe */ bfd_arch_i860, /* Intel 860 */ + bfd_arch_i370, /* IBM 360/370 Mainframes */ bfd_arch_romp, /* IBM ROMP PC/RT */ bfd_arch_alliant, /* Alliant */ bfd_arch_convex, /* Convex */ @@ -1238,34 +1384,63 @@ enum bfd_architecture bfd_arch_rs6000, /* IBM RS/6000 */ bfd_arch_hppa, /* HP PA RISC */ bfd_arch_d10v, /* Mitsubishi D10V */ +#define bfd_mach_d10v 0 +#define bfd_mach_d10v_ts2 2 +#define bfd_mach_d10v_ts3 3 + bfd_arch_d30v, /* Mitsubishi D30V */ bfd_arch_z8k, /* Zilog Z8000 */ #define bfd_mach_z8001 1 #define bfd_mach_z8002 2 bfd_arch_h8500, /* Hitachi H8/500 */ bfd_arch_sh, /* Hitachi SH */ #define bfd_mach_sh 0 +#define bfd_mach_sh2 0x20 +#define bfd_mach_sh_dsp 0x2d #define bfd_mach_sh3 0x30 +#define bfd_mach_sh3_dsp 0x3d #define bfd_mach_sh3e 0x3e #define bfd_mach_sh4 0x40 bfd_arch_alpha, /* Dec Alpha */ +#define bfd_mach_alpha_ev4 0x10 +#define bfd_mach_alpha_ev5 0x20 +#define bfd_mach_alpha_ev6 0x30 bfd_arch_arm, /* Advanced Risc Machines ARM */ #define bfd_mach_arm_2 1 -#define bfd_mach_arm_2a 2 +#define bfd_mach_arm_2a 2 #define bfd_mach_arm_3 3 #define bfd_mach_arm_3M 4 -#define bfd_mach_arm_4 5 +#define bfd_mach_arm_4 5 #define bfd_mach_arm_4T 6 +#define bfd_mach_arm_5 7 +#define bfd_mach_arm_5T 8 bfd_arch_ns32k, /* National Semiconductors ns32000 */ bfd_arch_w65, /* WDC 65816 */ bfd_arch_tic30, /* Texas Instruments TMS320C30 */ + bfd_arch_tic54x, /* Texas Instruments TMS320C54X */ + bfd_arch_tic80, /* TI TMS320c80 (MVP) */ bfd_arch_v850, /* NEC V850 */ #define bfd_mach_v850 0 +#define bfd_mach_v850e 'E' +#define bfd_mach_v850ea 'A' bfd_arch_arc, /* Argonaut RISC Core */ #define bfd_mach_arc_base 0 bfd_arch_m32r, /* Mitsubishi M32R/D */ #define bfd_mach_m32r 0 /* backwards compatibility */ +#define bfd_mach_m32rx 'x' bfd_arch_mn10200, /* Matsushita MN10200 */ bfd_arch_mn10300, /* Matsushita MN10300 */ +#define bfd_mach_mn10300 300 +#define bfd_mach_am33 330 + bfd_arch_fr30, +#define bfd_mach_fr30 0x46523330 + bfd_arch_mcore, + bfd_arch_ia64, /* HP/Intel ia64 */ + bfd_arch_pj, + bfd_arch_avr, /* Atmel AVR microcontrollers */ +#define bfd_mach_avr1 1 +#define bfd_mach_avr2 2 +#define bfd_mach_avr3 3 +#define bfd_mach_avr4 4 bfd_arch_last }; @@ -1331,6 +1506,13 @@ const char * bfd_printable_arch_mach PARAMS ((enum bfd_architecture arch, unsigned long machine)); +unsigned int +bfd_octets_per_byte PARAMS ((bfd *abfd)); + +unsigned int +bfd_arch_mach_octets_per_byte PARAMS ((enum bfd_architecture arch, + unsigned long machine)); + typedef enum bfd_reloc_status { /* No errors detected */ @@ -1449,13 +1631,26 @@ struct reloc_howto_struct /* The textual name of the relocation type. */ char *name; - /* When performing a partial link, some formats must modify the - relocations rather than the data - this flag signals this.*/ + /* Some formats record a relocation addend in the section contents + rather than with the relocation. For ELF formats this is the + distinction between USE_REL and USE_RELA (though the code checks + for USE_REL == 1/0). The value of this field is TRUE if the + addend is recorded with the section contents; when performing a + partial link (ld -r) the section contents (the data) will be + modified. The value of this field is FALSE if addends are + recorded with the relocation (in arelent.addend); when performing + a partial link the relocation will be modified. + All relocations for all ELF USE_RELA targets should set this field + to FALSE (values of TRUE should be looked on with suspicion). + However, the converse is not true: not all relocations of all ELF + USE_REL targets set this field to TRUE. Why this is so is peculiar + to each particular target. For relocs that aren't used in partial + links (e.g. GOT stuff) it doesn't matter what this is set to. */ boolean partial_inplace; /* The src_mask selects which parts of the read in data are to be used in the relocation sum. E.g., if this was an 8 bit - bit of data which we read and relocated, this would be + byte of data which we read and relocated, this would be 0x000000ff. When we have relocs which have an addend, such as sun4 extended relocs, the value in the offset part of a relocating field is garbage so we never use it. In this case @@ -1481,6 +1676,9 @@ struct reloc_howto_struct {(unsigned)C,R,S,B, P, BI, O,SF,NAME,INPLACE,MASKSRC,MASKDST,PC} #define NEWHOWTO( FUNCTION, NAME,SIZE,REL,IN) HOWTO(0,0,SIZE,0,REL,0,complain_overflow_dont,FUNCTION, NAME,false,0,0,IN) +#define EMPTY_HOWTO(C) \ + HOWTO((C),0,0,0,false,0,complain_overflow_dont,NULL,NULL,false,0,0,false) + #define HOWTO_PREPARE(relocation, symbol) \ { \ if (symbol != (asymbol *)NULL) { \ @@ -1505,6 +1703,7 @@ bfd_check_overflow PARAMS ((enum complain_overflow how, unsigned int bitsize, unsigned int rightshift, + unsigned int addrsize, bfd_vma relocation)); bfd_reloc_status_type @@ -1661,6 +1860,9 @@ relocation types already defined. */ BFD_RELOC_SPARC_L44, BFD_RELOC_SPARC_REGISTER, +/* SPARC little endian relocation */ + BFD_RELOC_SPARC_REV32, + /* Alpha ECOFF and ELF relocations. Some of these treat the symbol or "addend" in some special way. For GPDISP_HI16 ("gpdisp") relocations, the symbol is ignored when @@ -1709,6 +1911,17 @@ The GNU linker currently doesn't do any of this optimizing. */ BFD_RELOC_ALPHA_ELF_LITERAL, BFD_RELOC_ALPHA_LITUSE, +/* The BFD_RELOC_ALPHA_USER_* relocations are used by the assembler to +process the explicit !<reloc>!sequence relocations, and are mapped +into the normal relocations at the end of processing. */ + BFD_RELOC_ALPHA_USER_LITERAL, + BFD_RELOC_ALPHA_USER_LITUSE_BASE, + BFD_RELOC_ALPHA_USER_LITUSE_BYTOFF, + BFD_RELOC_ALPHA_USER_LITUSE_JSR, + BFD_RELOC_ALPHA_USER_GPDISP, + BFD_RELOC_ALPHA_USER_GPRELHIGH, + BFD_RELOC_ALPHA_USER_GPRELLOW, + /* The HINT relocation indicates a value that should be filled into the "hint" field of a jmp/jsr/ret instruction, for possible branch- prediction logic which may be provided on some processors. */ @@ -1764,6 +1977,10 @@ to compensate for the borrow when the low bits are added. */ BFD_RELOC_MIPS_GOT_LO16, BFD_RELOC_MIPS_CALL_HI16, BFD_RELOC_MIPS_CALL_LO16, + BFD_RELOC_MIPS_SUB, + BFD_RELOC_MIPS_GOT_PAGE, + BFD_RELOC_MIPS_GOT_OFST, + BFD_RELOC_MIPS_GOT_DISP, /* i386/elf relocations */ @@ -1790,6 +2007,14 @@ to compensate for the borrow when the low bits are added. */ BFD_RELOC_NS32K_DISP_16_PCREL, BFD_RELOC_NS32K_DISP_32_PCREL, +/* Picojava relocs. Not all of these appear in object files. */ + BFD_RELOC_PJ_CODE_HI16, + BFD_RELOC_PJ_CODE_LO16, + BFD_RELOC_PJ_CODE_DIR16, + BFD_RELOC_PJ_CODE_DIR32, + BFD_RELOC_PJ_CODE_REL16, + BFD_RELOC_PJ_CODE_REL32, + /* Power(rs6000) and PowerPC relocations. */ BFD_RELOC_PPC_B26, BFD_RELOC_PPC_BA26, @@ -1822,6 +2047,9 @@ to compensate for the borrow when the low bits are added. */ BFD_RELOC_PPC_EMB_BIT_FLD, BFD_RELOC_PPC_EMB_RELSDA, +/* IBM 370/390 relocations */ + BFD_RELOC_I370_D12, + /* The type of reloc used to build a contructor table - at the moment probably a 32 bit wide absolute relocation, but the target can choose. It generally does map to one of the other relocation types. */ @@ -1831,9 +2059,20 @@ It generally does map to one of the other relocation types. */ not stored in the instruction. */ BFD_RELOC_ARM_PCREL_BRANCH, +/* ARM 26 bit pc-relative branch. The lowest bit must be zero and is +not stored in the instruction. The 2nd lowest bit comes from a 1 bit +field in the instruction. */ + BFD_RELOC_ARM_PCREL_BLX, + +/* Thumb 22 bit pc-relative branch. The lowest bit must be zero and is +not stored in the instruction. The 2nd lowest bit comes from a 1 bit +field in the instruction. */ + BFD_RELOC_THUMB_PCREL_BLX, + /* These relocs are only used within the ARM assembler. They are not (at present) written to any object files. */ BFD_RELOC_ARM_IMMEDIATE, + BFD_RELOC_ARM_ADRL_IMMEDIATE, BFD_RELOC_ARM_OFFSET_IMM, BFD_RELOC_ARM_SHIFT_IMM, BFD_RELOC_ARM_SWI, @@ -1849,6 +2088,15 @@ not stored in the instruction. */ BFD_RELOC_ARM_THUMB_IMM, BFD_RELOC_ARM_THUMB_SHIFT, BFD_RELOC_ARM_THUMB_OFFSET, + BFD_RELOC_ARM_GOT12, + BFD_RELOC_ARM_GOT32, + BFD_RELOC_ARM_JUMP_SLOT, + BFD_RELOC_ARM_COPY, + BFD_RELOC_ARM_GLOB_DAT, + BFD_RELOC_ARM_PLT32, + BFD_RELOC_ARM_RELATIVE, + BFD_RELOC_ARM_GOTOFF, + BFD_RELOC_ARM_GOTPC, /* Hitachi SH relocs. Not all of these appear in object files. */ BFD_RELOC_SH_PCDISP8BY2, @@ -1869,6 +2117,8 @@ not stored in the instruction. */ BFD_RELOC_SH_CODE, BFD_RELOC_SH_DATA, BFD_RELOC_SH_LABEL, + BFD_RELOC_SH_LOOP_START, + BFD_RELOC_SH_LOOP_END, /* Thumb 23-, 12- and 9-bit pc-relative branches. The lowest bit must be zero and is not stored in the instruction. */ @@ -1907,7 +2157,53 @@ assumed to be 0. */ assumed to be 0. */ BFD_RELOC_D10V_18_PCREL, +/* Mitsubishi D30V relocs. +This is a 6-bit absolute reloc. */ + BFD_RELOC_D30V_6, + +/* This is a 6-bit pc-relative reloc with +the right 3 bits assumed to be 0. */ + BFD_RELOC_D30V_9_PCREL, + +/* This is a 6-bit pc-relative reloc with +the right 3 bits assumed to be 0. Same +as the previous reloc but on the right side +of the container. */ + BFD_RELOC_D30V_9_PCREL_R, +/* This is a 12-bit absolute reloc with the +right 3 bitsassumed to be 0. */ + BFD_RELOC_D30V_15, + +/* This is a 12-bit pc-relative reloc with +the right 3 bits assumed to be 0. */ + BFD_RELOC_D30V_15_PCREL, + +/* This is a 12-bit pc-relative reloc with +the right 3 bits assumed to be 0. Same +as the previous reloc but on the right side +of the container. */ + BFD_RELOC_D30V_15_PCREL_R, + +/* This is an 18-bit absolute reloc with +the right 3 bits assumed to be 0. */ + BFD_RELOC_D30V_21, + +/* This is an 18-bit pc-relative reloc with +the right 3 bits assumed to be 0. */ + BFD_RELOC_D30V_21_PCREL, + +/* This is an 18-bit pc-relative reloc with +the right 3 bits assumed to be 0. Same +as the previous reloc but on the right side +of the container. */ + BFD_RELOC_D30V_21_PCREL_R, + +/* This is a 32-bit absolute reloc. */ + BFD_RELOC_D30V_32, + +/* This is a 32-bit pc-relative reloc. */ + BFD_RELOC_D30V_32_PCREL, /* Mitsubishi M32R relocs. This is a 24 bit absolute address. */ @@ -1971,6 +2267,27 @@ data area pointer. */ /* This is a 16 bit offset from the tiny data area pointer. */ BFD_RELOC_V850_TDA_16_16_OFFSET, +/* This is a 5 bit offset (of which only 4 bits are used) from the tiny +data area pointer. */ + BFD_RELOC_V850_TDA_4_5_OFFSET, + +/* This is a 4 bit offset from the tiny data area pointer. */ + BFD_RELOC_V850_TDA_4_4_OFFSET, + +/* This is a 16 bit offset from the short data area pointer, with the +bits placed non-contigously in the instruction. */ + BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET, + +/* This is a 16 bit offset from the zero data area pointer, with the +bits placed non-contigously in the instruction. */ + BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET, + +/* This is a 6 bit offset from the call table base pointer. */ + BFD_RELOC_V850_CALLT_6_7_OFFSET, + +/* This is a 16 bit offset from the call table base pointer. */ + BFD_RELOC_V850_CALLT_16_16_OFFSET, + /* This is a 32bit pcrel reloc for the mn10300, offset by two bytes in the instruction. */ @@ -1984,6 +2301,221 @@ instruction. */ significant 8 bits of a 24 bit word are placed into the least significant 8 bits of the opcode. */ BFD_RELOC_TIC30_LDP, + +/* This is a 7bit reloc for the tms320c54x, where the least +significant 7 bits of a 16 bit word are placed into the least +significant 7 bits of the opcode. */ + BFD_RELOC_TIC54X_PARTLS7, + +/* This is a 9bit DP reloc for the tms320c54x, where the most +significant 9 bits of a 16 bit word are placed into the least +significant 9 bits of the opcode. */ + BFD_RELOC_TIC54X_PARTMS9, + +/* This is an extended address 23-bit reloc for the tms320c54x. */ + BFD_RELOC_TIC54X_23, + +/* This is a 16-bit reloc for the tms320c54x, where the least +significant 16 bits of a 23-bit extended address are placed into +the opcode. */ + BFD_RELOC_TIC54X_16_OF_23, + +/* This is a reloc for the tms320c54x, where the most +significant 7 bits of a 23-bit extended address are placed into +the opcode. */ + BFD_RELOC_TIC54X_MS7_OF_23, + +/* This is a 48 bit reloc for the FR30 that stores 32 bits. */ + BFD_RELOC_FR30_48, + +/* This is a 32 bit reloc for the FR30 that stores 20 bits split up into +two sections. */ + BFD_RELOC_FR30_20, + +/* This is a 16 bit reloc for the FR30 that stores a 6 bit word offset in +4 bits. */ + BFD_RELOC_FR30_6_IN_4, + +/* This is a 16 bit reloc for the FR30 that stores an 8 bit byte offset +into 8 bits. */ + BFD_RELOC_FR30_8_IN_8, + +/* This is a 16 bit reloc for the FR30 that stores a 9 bit short offset +into 8 bits. */ + BFD_RELOC_FR30_9_IN_8, + +/* This is a 16 bit reloc for the FR30 that stores a 10 bit word offset +into 8 bits. */ + BFD_RELOC_FR30_10_IN_8, + +/* This is a 16 bit reloc for the FR30 that stores a 9 bit pc relative +short offset into 8 bits. */ + BFD_RELOC_FR30_9_PCREL, + +/* This is a 16 bit reloc for the FR30 that stores a 12 bit pc relative +short offset into 11 bits. */ + BFD_RELOC_FR30_12_PCREL, + +/* Motorola Mcore relocations. */ + BFD_RELOC_MCORE_PCREL_IMM8BY4, + BFD_RELOC_MCORE_PCREL_IMM11BY2, + BFD_RELOC_MCORE_PCREL_IMM4BY2, + BFD_RELOC_MCORE_PCREL_32, + BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2, + BFD_RELOC_MCORE_RVA, + +/* This is a 16 bit reloc for the AVR that stores 8 bit pc relative +short offset into 7 bits. */ + BFD_RELOC_AVR_7_PCREL, + +/* This is a 16 bit reloc for the AVR that stores 13 bit pc relative +short offset into 12 bits. */ + BFD_RELOC_AVR_13_PCREL, + +/* This is a 16 bit reloc for the AVR that stores 17 bit value (usually +program memory address) into 16 bits. */ + BFD_RELOC_AVR_16_PM, + +/* This is a 16 bit reloc for the AVR that stores 8 bit value (usually +data memory address) into 8 bit immediate value of LDI insn. */ + BFD_RELOC_AVR_LO8_LDI, + +/* This is a 16 bit reloc for the AVR that stores 8 bit value (high 8 bit +of data memory address) into 8 bit immediate value of LDI insn. */ + BFD_RELOC_AVR_HI8_LDI, + +/* This is a 16 bit reloc for the AVR that stores 8 bit value (most high 8 bit +of program memory address) into 8 bit immediate value of LDI insn. */ + BFD_RELOC_AVR_HH8_LDI, + +/* This is a 16 bit reloc for the AVR that stores negated 8 bit value +(usually data memory address) into 8 bit immediate value of SUBI insn. */ + BFD_RELOC_AVR_LO8_LDI_NEG, + +/* This is a 16 bit reloc for the AVR that stores negated 8 bit value +(high 8 bit of data memory address) into 8 bit immediate value of +SUBI insn. */ + BFD_RELOC_AVR_HI8_LDI_NEG, + +/* This is a 16 bit reloc for the AVR that stores negated 8 bit value +(most high 8 bit of program memory address) into 8 bit immediate value +of LDI or SUBI insn. */ + BFD_RELOC_AVR_HH8_LDI_NEG, + +/* This is a 16 bit reloc for the AVR that stores 8 bit value (usually +command address) into 8 bit immediate value of LDI insn. */ + BFD_RELOC_AVR_LO8_LDI_PM, + +/* This is a 16 bit reloc for the AVR that stores 8 bit value (high 8 bit +of command address) into 8 bit immediate value of LDI insn. */ + BFD_RELOC_AVR_HI8_LDI_PM, + +/* This is a 16 bit reloc for the AVR that stores 8 bit value (most high 8 bit +of command address) into 8 bit immediate value of LDI insn. */ + BFD_RELOC_AVR_HH8_LDI_PM, + +/* This is a 16 bit reloc for the AVR that stores negated 8 bit value +(usually command address) into 8 bit immediate value of SUBI insn. */ + BFD_RELOC_AVR_LO8_LDI_PM_NEG, + +/* This is a 16 bit reloc for the AVR that stores negated 8 bit value +(high 8 bit of 16 bit command address) into 8 bit immediate value +of SUBI insn. */ + BFD_RELOC_AVR_HI8_LDI_PM_NEG, + +/* This is a 16 bit reloc for the AVR that stores negated 8 bit value +(high 6 bit of 22 bit command address) into 8 bit immediate +value of SUBI insn. */ + BFD_RELOC_AVR_HH8_LDI_PM_NEG, + +/* This is a 32 bit reloc for the AVR that stores 23 bit value +into 22 bits. */ + BFD_RELOC_AVR_CALL, + +/* These two relocations are used by the linker to determine which of +the entries in a C++ virtual function table are actually used. When +the --gc-sections option is given, the linker will zero out the entries +that are not used, so that the code for those functions need not be +included in the output. + +VTABLE_INHERIT is a zero-space relocation used to describe to the +linker the inheritence tree of a C++ virtual function table. The +relocation's symbol should be the parent class' vtable, and the +relocation should be located at the child vtable. + +VTABLE_ENTRY is a zero-space relocation that describes the use of a +virtual function table entry. The reloc's symbol should refer to the +table of the class mentioned in the code. Off of that base, an offset +describes the entry that is being used. For Rela hosts, this offset +is stored in the reloc's addend. For Rel hosts, we are forced to put +this offset in the reloc's section offset. */ + BFD_RELOC_VTABLE_INHERIT, + BFD_RELOC_VTABLE_ENTRY, + +/* Intel IA64 Relocations. */ + BFD_RELOC_IA64_IMM14, + BFD_RELOC_IA64_IMM22, + BFD_RELOC_IA64_IMM64, + BFD_RELOC_IA64_DIR32MSB, + BFD_RELOC_IA64_DIR32LSB, + BFD_RELOC_IA64_DIR64MSB, + BFD_RELOC_IA64_DIR64LSB, + BFD_RELOC_IA64_GPREL22, + BFD_RELOC_IA64_GPREL64I, + BFD_RELOC_IA64_GPREL32MSB, + BFD_RELOC_IA64_GPREL32LSB, + BFD_RELOC_IA64_GPREL64MSB, + BFD_RELOC_IA64_GPREL64LSB, + BFD_RELOC_IA64_LTOFF22, + BFD_RELOC_IA64_LTOFF64I, + BFD_RELOC_IA64_PLTOFF22, + BFD_RELOC_IA64_PLTOFF64I, + BFD_RELOC_IA64_PLTOFF64MSB, + BFD_RELOC_IA64_PLTOFF64LSB, + BFD_RELOC_IA64_FPTR64I, + BFD_RELOC_IA64_FPTR32MSB, + BFD_RELOC_IA64_FPTR32LSB, + BFD_RELOC_IA64_FPTR64MSB, + BFD_RELOC_IA64_FPTR64LSB, + BFD_RELOC_IA64_PCREL21B, + BFD_RELOC_IA64_PCREL21M, + BFD_RELOC_IA64_PCREL21F, + BFD_RELOC_IA64_PCREL32MSB, + BFD_RELOC_IA64_PCREL32LSB, + BFD_RELOC_IA64_PCREL64MSB, + BFD_RELOC_IA64_PCREL64LSB, + BFD_RELOC_IA64_LTOFF_FPTR22, + BFD_RELOC_IA64_LTOFF_FPTR64I, + BFD_RELOC_IA64_LTOFF_FPTR64MSB, + BFD_RELOC_IA64_LTOFF_FPTR64LSB, + BFD_RELOC_IA64_SEGBASE, + BFD_RELOC_IA64_SEGREL32MSB, + BFD_RELOC_IA64_SEGREL32LSB, + BFD_RELOC_IA64_SEGREL64MSB, + BFD_RELOC_IA64_SEGREL64LSB, + BFD_RELOC_IA64_SECREL32MSB, + BFD_RELOC_IA64_SECREL32LSB, + BFD_RELOC_IA64_SECREL64MSB, + BFD_RELOC_IA64_SECREL64LSB, + BFD_RELOC_IA64_REL32MSB, + BFD_RELOC_IA64_REL32LSB, + BFD_RELOC_IA64_REL64MSB, + BFD_RELOC_IA64_REL64LSB, + BFD_RELOC_IA64_LTV32MSB, + BFD_RELOC_IA64_LTV32LSB, + BFD_RELOC_IA64_LTV64MSB, + BFD_RELOC_IA64_LTV64LSB, + BFD_RELOC_IA64_IPLTMSB, + BFD_RELOC_IA64_IPLTLSB, + BFD_RELOC_IA64_EPLTMSB, + BFD_RELOC_IA64_EPLTLSB, + BFD_RELOC_IA64_COPY, + BFD_RELOC_IA64_TPREL22, + BFD_RELOC_IA64_TPREL64MSB, + BFD_RELOC_IA64_TPREL64LSB, + BFD_RELOC_IA64_LTOFF_TP22, + BFD_RELOC_IA64_LTOFF22X, + BFD_RELOC_IA64_LDXMOV, BFD_RELOC_UNUSED }; typedef enum bfd_reloc_code_real bfd_reloc_code_real_type; reloc_howto_type * @@ -2038,7 +2570,7 @@ typedef struct symbol_cache_entry <<BSF_GLOBAL>> */ /* The symbol is a debugging record. The value has an arbitary - meaning. */ + meaning, unless BSF_DEBUGGING_RELOC is also set. */ #define BSF_DEBUGGING 0x08 /* The symbol denotes a function entry point. Used in ELF, @@ -2096,6 +2628,11 @@ typedef struct symbol_cache_entry others someday. */ #define BSF_OBJECT 0x10000 + /* This symbol is a debugging symbol. The value is the offset + into the section of the data. BSF_DEBUGGING should be set + as well. */ +#define BSF_DEBUGGING_RELOC 0x20000 + flagword flags; /* A pointer to the section to which this symbol is @@ -2137,6 +2674,9 @@ bfd_print_symbol_vandf PARAMS ((PTR file, asymbol *symbol)); int bfd_decode_symclass PARAMS ((asymbol *symbol)); +boolean +bfd_is_undefined_symclass PARAMS ((int symclass)); + void bfd_symbol_info PARAMS ((asymbol *symbol, symbol_info *ret)); @@ -2280,6 +2820,7 @@ struct _bfd struct nlm_obj_tdata *nlm_obj_data; struct bout_data_struct *bout_data; struct sun_core_struct *sun_core_data; + struct sco5_core_struct *sco5_core_data; struct trad_core_struct *trad_core_data; struct som_data_struct *som_data; struct hpux_core_struct *hpux_core_data; @@ -2432,6 +2973,9 @@ bfd_set_private_flags PARAMS ((bfd *abfd, flagword flags)); #define bfd_relax_section(abfd, section, link_info, again) \ BFD_SEND (abfd, _bfd_relax_section, (abfd, section, link_info, again)) +#define bfd_gc_sections(abfd, link_info) \ + BFD_SEND (abfd, _bfd_gc_sections, (abfd, link_info)) + #define bfd_link_hash_table_create(abfd) \ BFD_SEND (abfd, _bfd_link_hash_table_create, (abfd)) @@ -2519,6 +3063,7 @@ enum bfd_flavour { bfd_target_os9k_flavour, bfd_target_versados_flavour, bfd_target_msdos_flavour, + bfd_target_ovax_flavour, bfd_target_evax_flavour }; @@ -2726,7 +3271,8 @@ CAT(NAME,_bfd_relax_section),\ CAT(NAME,_bfd_link_hash_table_create),\ CAT(NAME,_bfd_link_add_symbols),\ CAT(NAME,_bfd_final_link),\ -CAT(NAME,_bfd_link_split_section) +CAT(NAME,_bfd_link_split_section),\ +CAT(NAME,_bfd_gc_sections) int (*_bfd_sizeof_headers) PARAMS ((bfd *, boolean)); bfd_byte * (*_bfd_get_relocated_section_contents) PARAMS ((bfd *, struct bfd_link_info *, struct bfd_link_order *, @@ -2750,7 +3296,10 @@ CAT(NAME,_bfd_link_split_section) /* Should this section be split up into smaller pieces during linking. */ boolean (*_bfd_link_split_section) PARAMS ((bfd *, struct sec *)); - /* Routines to handle dynamic symbols and relocs. */ + /* Remove sections that are not referenced from the output. */ + boolean (*_bfd_gc_sections) PARAMS ((bfd *, struct bfd_link_info *)); + + /* Routines to handle dynamic symbols and relocs. */ #define BFD_JUMP_TABLE_DYNAMIC(NAME)\ CAT(NAME,_get_dynamic_symtab_upper_bound),\ CAT(NAME,_canonicalize_dynamic_symtab),\ @@ -2767,7 +3316,11 @@ CAT(NAME,_canonicalize_dynamic_reloc) long (*_bfd_canonicalize_dynamic_reloc) PARAMS ((bfd *, arelent **, struct symbol_cache_entry **)); + /* Opposite endian version of this target. */ + const struct bfd_target * alternative_target; + PTR backend_data; + } bfd_target; boolean bfd_set_default_target PARAMS ((const char *name)); @@ -2778,6 +3331,9 @@ bfd_find_target PARAMS ((CONST char *target_name, bfd *abfd)); const char ** bfd_target_list PARAMS ((void)); +const bfd_target * +bfd_search_for_target PARAMS ((int (* search_func)(const bfd_target *, void *), void *)); + boolean bfd_check_format PARAMS ((bfd *abfd, bfd_format format)); diff --git a/gnu/usr.bin/binutils/libbfd/i386/config.h b/gnu/usr.bin/binutils/libbfd/i386/config.h index 1e1ede9..0db021c 100644 --- a/gnu/usr.bin/binutils/libbfd/i386/config.h +++ b/gnu/usr.bin/binutils/libbfd/i386/config.h @@ -1,47 +1,65 @@ +/* $FreeBSD$ */ + /* config.h. Generated automatically by configure. */ /* config.in. Generated automatically from configure.in by autoheader. */ -/* Name of package. */ -#define PACKAGE "bfd" - -/* Version of package. */ -#define VERSION "2.9.1" - -/* Whether strstr must be declared even if <string.h> is included. */ -/* #undef NEED_DECLARATION_STRSTR */ +/* Define if using alloca.c. */ +/* #undef C_ALLOCA */ -/* Whether malloc must be declared even if <stdlib.h> is included. */ -/* #undef NEED_DECLARATION_MALLOC */ +/* Define to empty if the keyword does not work. */ +/* #undef const */ -/* Whether realloc must be declared even if <stdlib.h> is included. */ -/* #undef NEED_DECLARATION_REALLOC */ +/* 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 */ -/* Whether free must be declared even if <stdlib.h> is included. */ -/* #undef NEED_DECLARATION_FREE */ +/* Define if you have alloca, as a function or macro. */ +#define HAVE_ALLOCA 1 -/* Whether getenv must be declared even if <stdlib.h> is included. */ -/* #undef NEED_DECLARATION_GETENV */ +/* 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. */ #define HAVE_MMAP 1 +/* 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 if you need to in order for stat and other things to work. */ /* #undef _POSIX_SOURCE */ +/* 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. */ +#define STDC_HEADERS 1 + /* Define if you can safely include both <sys/time.h> and <time.h>. */ #define TIME_WITH_SYS_TIME 1 -/* Do we need to use the b modifier when opening binary files? */ -/* #undef USE_BINARY_FOPEN */ +/* Define if you have the __argz_count function. */ +/* #undef HAVE___ARGZ_COUNT */ -/* Name of host specific header file to include in trad-core.c. */ -#define TRAD_HEADER "hosts/i386bsd.h" +/* Define if you have the __argz_next function. */ +/* #undef HAVE___ARGZ_NEXT */ -/* Define only if <sys/procfs.h> is available *and* it defines prstatus_t. */ -#define HAVE_SYS_PROCFS_H 1 +/* Define if you have the __argz_stringify function. */ +/* #undef HAVE___ARGZ_STRINGIFY */ -/* Do we really want to use mmap if it's available? */ -/* #undef USE_MMAP */ +/* Define if you have the dcgettext function. */ +/* #undef HAVE_DCGETTEXT */ /* Define if you have the fcntl function. */ #define HAVE_FCNTL 1 @@ -49,24 +67,75 @@ /* Define if you have the fdopen function. */ #define HAVE_FDOPEN 1 +/* Define if you have the getcwd function. */ +#define HAVE_GETCWD 1 + +/* Define if you have the getgid function. */ +#define HAVE_GETGID 1 + /* Define if you have the getpagesize function. */ #define HAVE_GETPAGESIZE 1 +/* Define if you have the getuid function. */ +#define HAVE_GETUID 1 + /* Define if you have the madvise function. */ #define HAVE_MADVISE 1 /* Define if you have the mprotect function. */ #define HAVE_MPROTECT 1 +/* Define if you have the munmap function. */ +#define HAVE_MUNMAP 1 + +/* Define if you have the putenv function. */ +#define HAVE_PUTENV 1 + +/* Define if you have the setenv function. */ +#define HAVE_SETENV 1 + /* Define if you have the setitimer function. */ #define HAVE_SETITIMER 1 +/* Define if you have the setlocale function. */ +#define HAVE_SETLOCALE 1 + +/* Define if you have the stpcpy function. */ +/* #undef HAVE_STPCPY */ + +/* Define if you have the strcasecmp function. */ +#define HAVE_STRCASECMP 1 + +/* Define if you have the strchr function. */ +#define HAVE_STRCHR 1 + /* Define if you have the sysconf function. */ #define HAVE_SYSCONF 1 +/* Define if you have the <argz.h> header file. */ +/* #undef HAVE_ARGZ_H */ + +/* Define if you have the <dirent.h> header file. */ +#define HAVE_DIRENT_H 1 + /* Define if you have the <fcntl.h> header file. */ #define HAVE_FCNTL_H 1 +/* Define if you have the <limits.h> header file. */ +#define HAVE_LIMITS_H 1 + +/* Define if you have the <locale.h> header file. */ +#define HAVE_LOCALE_H 1 + +/* 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. */ +#define HAVE_NL_TYPES_H 1 + /* Define if you have the <stddef.h> header file. */ #define HAVE_STDDEF_H 1 @@ -79,9 +148,21 @@ /* Define if you have the <strings.h> header file. */ #define HAVE_STRINGS_H 1 +/* Define if you have the <sys/dir.h> header file. */ +/* #undef HAVE_SYS_DIR_H */ + /* Define if you have the <sys/file.h> header file. */ #define HAVE_SYS_FILE_H 1 +/* 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. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define if you have the <sys/procfs.h> header file. */ +#define HAVE_SYS_PROCFS_H 1 + /* Define if you have the <sys/time.h> header file. */ #define HAVE_SYS_TIME_H 1 @@ -90,3 +171,76 @@ /* Define if you have the <unistd.h> header file. */ #define HAVE_UNISTD_H 1 + +/* Define if you have the <values.h> header file. */ +/* #undef HAVE_VALUES_H */ + +/* Name of package */ +#define PACKAGE "bfd" + +/* Version number of package */ +/* #define VERSION "000427" */ + +/* Define if you have the stpcpy function */ +/* #undef HAVE_STPCPY */ + +/* Define if your locale.h file contains LC_MESSAGES. */ +#define HAVE_LC_MESSAGES 1 + +/* Define to 1 if NLS is requested */ +/* #define ENABLE_NLS 1 */ + +/* 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 strstr is not declared in system header files. */ +/* #undef NEED_DECLARATION_STRSTR */ + +/* Define if malloc is not declared in system header files. */ +/* #undef NEED_DECLARATION_MALLOC */ + +/* Define if realloc is not declared in system header files. */ +/* #undef NEED_DECLARATION_REALLOC */ + +/* 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 <sys/procfs.h> has prstatus_t. */ +#define HAVE_PRSTATUS_T 1 + +/* Define if <sys/procfs.h> has prstatus_t.pr_who. */ +/* #undef HAVE_PRSTATUS_T_PR_WHO */ + +/* Define if <sys/procfs.h> has pstatus_t. */ +/* #undef HAVE_PSTATUS_T */ + +/* Define if <sys/procfs.h> has prpsinfo_t. */ +#define HAVE_PRPSINFO_T 1 + +/* Define if <sys/procfs.h> has psinfo_t. */ +/* #undef HAVE_PSINFO_T */ + +/* Define if <sys/procfs.h> has lwpstatus_t. */ +/* #undef HAVE_LWPSTATUS_T */ + +/* Define if <sys/procfs.h> has lwpstatus_t.pr_context. */ +/* #undef HAVE_LWPSTATUS_T_PR_CONTEXT */ + +/* Define if <sys/procfs.h> has lwpstatus_t.pr_reg. */ +/* #undef HAVE_LWPSTATUS_T_PR_REG */ + +/* Define if <sys/procfs.h> has win32_pstatus_t. */ +/* #undef HAVE_WIN32_PSTATUS_T */ + +/* Name of host specific header file to include in trad-core.c. */ +#define TRAD_HEADER "hosts/i386bsd.h" + +/* Use mmap if it's available? */ +/* #undef USE_MMAP */ + diff --git a/gnu/usr.bin/binutils/libbinutils/Makefile b/gnu/usr.bin/binutils/libbinutils/Makefile index c6ee50c..ea60cc5 100644 --- a/gnu/usr.bin/binutils/libbinutils/Makefile +++ b/gnu/usr.bin/binutils/libbinutils/Makefile @@ -8,7 +8,7 @@ LIB= binutils SRCS+= arlex.l arparse.y arsup.c bucomm.c debug.c filemode.c \ - ieee.c rdcoff.c rddbg.c stabs.c wrstabs.c version.c + ieee.c rdcoff.c rddbg.c rename.c stabs.c wrstabs.c version.c .if ${TARGET_ARCH} == "mipseb" CFLAGS+= -DTARGET=\"elf32-bigmips\" .elif ${TARGET_ARCH} == "mipsel" diff --git a/gnu/usr.bin/binutils/libbinutils/config.h b/gnu/usr.bin/binutils/libbinutils/config.h index f554e1f..6d250b8 100644 --- a/gnu/usr.bin/binutils/libbinutils/config.h +++ b/gnu/usr.bin/binutils/libbinutils/config.h @@ -1,24 +1,14 @@ +/* $FreeBSD$ */ + /* config.h. Generated automatically by configure. */ /* config.in. Generated automatically from configure.in by autoheader. */ -/* Name of package. */ -#define PACKAGE "binutils" - -/* Whether strstr must be declared even if <string.h> is included. */ -/* #undef NEED_DECLARATION_STRSTR */ - -/* Whether fprintf must be declared even if <stdio.h> is included. */ -/* #undef NEED_DECLARATION_FPRINTF */ - -/* Whether sbrk must be declared even if <unistd.h> is included. */ -/* #undef NEED_DECLARATION_SBRK */ - -/* Whether getenv must be declared even if <stdlib.h> is included. */ -/* #undef NEED_DECLARATION_GETENV */ - /* 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. */ /* #undef CRAY_STACKSEG_END */ @@ -29,9 +19,24 @@ /* 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. */ +#define HAVE_MMAP 1 + /* Define if you have <sys/wait.h> that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 +/* 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 if you need to in order for stat and other things to work. */ +/* #undef _POSIX_SOURCE */ + +/* 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. @@ -41,30 +46,75 @@ */ /* #undef STACK_DIRECTION */ +/* Define if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + /* Define if lex declares yytext as a char * by default, not a char[]. */ #define YYTEXT_POINTER 1 -/* Is the type time_t defined in <time.h>? */ -#define HAVE_TIME_T_IN_TIME_H 1 +/* Define if you have the __argz_count function. */ +/* #undef HAVE___ARGZ_COUNT */ -/* Is the type time_t defined in <sys/types.h>? */ -#define HAVE_TIME_T_IN_TYPES_H 1 +/* Define if you have the __argz_next function. */ +/* #undef HAVE___ARGZ_NEXT */ -/* Does <utime.h> define struct utimbuf? */ -#define HAVE_GOOD_UTIME_H 1 +/* Define if you have the __argz_stringify function. */ +/* #undef HAVE___ARGZ_STRINGIFY */ -/* Do we need to use the b modifier when opening binary files? */ -/* #undef USE_BINARY_FOPEN */ +/* Define if you have the dcgettext function. */ +/* #undef HAVE_DCGETTEXT */ + +/* Define if you have the getcwd function. */ +#define HAVE_GETCWD 1 + +/* Define if you have the getpagesize function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define if you have the munmap function. */ +#define HAVE_MUNMAP 1 + +/* Define if you have the putenv function. */ +#define HAVE_PUTENV 1 /* Define if you have the sbrk function. */ #define HAVE_SBRK 1 +/* Define if you have the setenv function. */ +#define HAVE_SETENV 1 + +/* Define if you have the setlocale function. */ +#define HAVE_SETLOCALE 1 + +/* Define if you have the stpcpy function. */ +/* #undef HAVE_STPCPY */ + +/* Define if you have the strcasecmp function. */ +#define HAVE_STRCASECMP 1 + +/* Define if you have the strchr function. */ +#define HAVE_STRCHR 1 + /* Define if you have the utimes function. */ #define HAVE_UTIMES 1 +/* Define if you have the <argz.h> header file. */ +/* #undef HAVE_ARGZ_H */ + /* Define if you have the <fcntl.h> header file. */ #define HAVE_FCNTL_H 1 +/* Define if you have the <limits.h> header file. */ +#define HAVE_LIMITS_H 1 + +/* Define if you have the <locale.h> header file. */ +#define HAVE_LOCALE_H 1 + +/* Define if you have the <malloc.h> header file. */ +/* #undef HAVE_MALLOC_H */ + +/* Define if you have the <nl_types.h> header file. */ +#define HAVE_NL_TYPES_H 1 + /* Define if you have the <stdlib.h> header file. */ #define HAVE_STDLIB_H 1 @@ -77,5 +127,66 @@ /* Define if you have the <sys/file.h> header file. */ #define HAVE_SYS_FILE_H 1 +/* Define if you have the <sys/param.h> header file. */ +#define HAVE_SYS_PARAM_H 1 + /* Define if you have the <unistd.h> header file. */ #define HAVE_UNISTD_H 1 + +/* Define if you have the <values.h> header file. */ +/* #undef HAVE_VALUES_H */ + +/* Name of package */ +#define PACKAGE "binutils" + +/* Version number of package */ +/* #define VERSION "000427" */ + +/* Define if you have the stpcpy function */ +/* #undef HAVE_STPCPY */ + +/* Define if your locale.h file contains LC_MESSAGES. */ +#define HAVE_LC_MESSAGES 1 + +/* Define to 1 if NLS is requested */ +/* #define ENABLE_NLS 1 */ + +/* Define as 1 if you have gettext and don't want to use GNU gettext. */ +/* #undef HAVE_GETTEXT */ + +/* Does the platform use an executable suffix? */ +/* #undef HAVE_EXECUTABLE_SUFFIX */ + +/* Suffix used for executables, if any. */ +#define EXECUTABLE_SUFFIX "" + +/* Is the type time_t defined in <time.h>? */ +#define HAVE_TIME_T_IN_TIME_H 1 + +/* Is the type time_t defined in <sys/types.h>? */ +#define HAVE_TIME_T_IN_TYPES_H 1 + +/* Does <utime.h> define struct utimbuf? */ +#define HAVE_GOOD_UTIME_H 1 + +/* Define if fprintf is not declared in system header files. */ +/* #undef NEED_DECLARATION_FPRINTF */ + +/* Define if strstr is not declared in system header files. */ +/* #undef NEED_DECLARATION_STRSTR */ + +/* Define if sbrk is not declared in system header files. */ +/* #undef NEED_DECLARATION_SBRK */ + +/* Define if getenv is not declared in system header files. */ +/* #undef NEED_DECLARATION_GETENV */ + +/* Define if environ is not declared in system header files. */ +#define NEED_DECLARATION_ENVIRON 1 + +/* Use b modifier when opening binary files? */ +/* #undef USE_BINARY_FOPEN */ + +/* Configured target name. */ +/* #define TARGET "alpha-unknown-freebsdelf5.0" */ + diff --git a/gnu/usr.bin/binutils/libiberty/Makefile b/gnu/usr.bin/binutils/libiberty/Makefile index 7d42838..0c66f60 100644 --- a/gnu/usr.bin/binutils/libiberty/Makefile +++ b/gnu/usr.bin/binutils/libiberty/Makefile @@ -12,6 +12,7 @@ SRCS= argv.c basename.c choose-temp.c concat.c cplus-dem.c \ hex.c floatformat.c objalloc.c obstack.c spaces.c \ strerror.c strsignal.c xatexit.c xexit.c xmalloc.c \ xstrdup.c xstrerror.c insque.c +CFLAGS+= -DHAVE_CONFIG_H NOPROFILE= true NOPIC= true INTERNALLIB= true diff --git a/gnu/usr.bin/binutils/libiberty/config.h b/gnu/usr.bin/binutils/libiberty/config.h index 55d3a79..1627943 100644 --- a/gnu/usr.bin/binutils/libiberty/config.h +++ b/gnu/usr.bin/binutils/libiberty/config.h @@ -1,10 +1,227 @@ -/* !Automatically generated from ../../binutils-2.8.1/libiberty/functions.def - DO NOT EDIT! */ -#ifndef NEED_basename -#define NEED_basename -#endif -#ifndef NEED_on_exit -#define NEED_on_exit -#endif -#ifndef NEED_strsignal -#define NEED_strsignal -#endif +/* $FreeBSD$ */ + +/* config.h. Generated automatically by configure. */ +/* config.in. Generated automatically from configure.in by autoheader. */ + +/* Define if using alloca.c. */ +/* #undef C_ALLOCA */ + +/* 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. */ +#define HAVE_ALLOCA 1 + +/* Define if you have <alloca.h> and it should be used (not on Ultrix). */ +/* #undef HAVE_ALLOCA_H */ + +/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */ +#define HAVE_SYS_WAIT_H 1 + +/* Define if you have <vfork.h>. */ +/* #undef HAVE_VFORK_H */ + +/* Define to `int' if <sys/types.h> doesn't define. */ +/* #undef pid_t */ + +/* Define if you need to in order for stat and other things to work. */ +/* #undef _POSIX_SOURCE */ + +/* 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. */ +#define STDC_HEADERS 1 + +/* Define vfork as fork if vfork does not work. */ +/* #undef vfork */ + +/* Define if you have the sys_errlist variable. */ +#define HAVE_SYS_ERRLIST 1 + +/* Define if you have the sys_nerr variable. */ +#define HAVE_SYS_NERR 1 + +/* Define if you have the sys_siglist variable. */ +#define HAVE_SYS_SIGLIST 1 + +/* Define if you have the strerror function. */ +#define HAVE_STRERROR 1 + +/* Define if you have the asprintf function. */ +#define HAVE_ASPRINTF 1 + +/* Define if you have the atexit function. */ +#define HAVE_ATEXIT 1 + +/* Define if you have the basename function. */ +/* #undef HAVE_BASENAME */ + +/* Define if you have the bcmp function. */ +#define HAVE_BCMP 1 + +/* Define if you have the bcopy function. */ +#define HAVE_BCOPY 1 + +/* Define if you have the bzero function. */ +#define HAVE_BZERO 1 + +/* Define if you have the calloc function. */ +#define HAVE_CALLOC 1 + +/* Define if you have the clock function. */ +#define HAVE_CLOCK 1 + +/* Define if you have the getcwd function. */ +#define HAVE_GETCWD 1 + +/* Define if you have the getpagesize function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define if you have the getrusage function. */ +#define HAVE_GETRUSAGE 1 + +/* Define if you have the gettimeofday function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define if you have the index function. */ +#define HAVE_INDEX 1 + +/* Define if you have the insque function. */ +/* #undef HAVE_INSQUE */ + +/* Define if you have the memchr function. */ +#define HAVE_MEMCHR 1 + +/* Define if you have the memcmp function. */ +#define HAVE_MEMCMP 1 + +/* Define if you have the memcpy function. */ +#define HAVE_MEMCPY 1 + +/* Define if you have the memmove function. */ +#define HAVE_MEMMOVE 1 + +/* Define if you have the memset function. */ +#define HAVE_MEMSET 1 + +/* Define if you have the mkstemps function. */ +#define HAVE_MKSTEMPS 1 + +/* Define if you have the on_exit function. */ +/* #undef HAVE_ON_EXIT */ + +/* Define if you have the psignal function. */ +#define HAVE_PSIGNAL 1 + +/* Define if you have the putenv function. */ +#define HAVE_PUTENV 1 + +/* Define if you have the random function. */ +#define HAVE_RANDOM 1 + +/* Define if you have the rename function. */ +#define HAVE_RENAME 1 + +/* Define if you have the rindex function. */ +#define HAVE_RINDEX 1 + +/* Define if you have the sbrk function. */ +#define HAVE_SBRK 1 + +/* Define if you have the setenv function. */ +#define HAVE_SETENV 1 + +/* Define if you have the sigsetmask function. */ +#define HAVE_SIGSETMASK 1 + +/* Define if you have the strcasecmp function. */ +#define HAVE_STRCASECMP 1 + +/* Define if you have the strchr function. */ +#define HAVE_STRCHR 1 + +/* Define if you have the strdup function. */ +#define HAVE_STRDUP 1 + +/* Define if you have the strerror function. */ +#define HAVE_STRERROR 1 + +/* Define if you have the strncasecmp function. */ +#define HAVE_STRNCASECMP 1 + +/* Define if you have the strrchr function. */ +#define HAVE_STRRCHR 1 + +/* Define if you have the strsignal function. */ +#define HAVE_STRSIGNAL 1 + +/* Define if you have the strstr function. */ +#define HAVE_STRSTR 1 + +/* Define if you have the strtod function. */ +#define HAVE_STRTOD 1 + +/* Define if you have the strtol function. */ +#define HAVE_STRTOL 1 + +/* Define if you have the strtoul function. */ +#define HAVE_STRTOUL 1 + +/* Define if you have the sysconf function. */ +#define HAVE_SYSCONF 1 + +/* Define if you have the times function. */ +#define HAVE_TIMES 1 + +/* Define if you have the tmpnam function. */ +#define HAVE_TMPNAM 1 + +/* Define if you have the vasprintf function. */ +#define HAVE_VASPRINTF 1 + +/* Define if you have the vfprintf function. */ +#define HAVE_VFPRINTF 1 + +/* Define if you have the vprintf function. */ +#define HAVE_VPRINTF 1 + +/* Define if you have the vsprintf function. */ +#define HAVE_VSPRINTF 1 + +/* Define if you have the waitpid function. */ +#define HAVE_WAITPID 1 + +/* Define if you have the <stdlib.h> header file. */ +#define HAVE_STDLIB_H 1 + +/* Define if you have the <string.h> header file. */ +#define HAVE_STRING_H 1 + +/* Define if you have the <strings.h> header file. */ +#define HAVE_STRINGS_H 1 + +/* Define if you have the <sys/file.h> header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define if you have the <sys/param.h> header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define if you have the <sys/resource.h> header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define if you have the <sys/stat.h> header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define if you have the <sys/time.h> header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define if you have the <unistd.h> header file. */ +#define HAVE_UNISTD_H 1 diff --git a/gnu/usr.bin/binutils/libopcodes/config.h b/gnu/usr.bin/binutils/libopcodes/config.h index 7a96285..72013d2 100644 --- a/gnu/usr.bin/binutils/libopcodes/config.h +++ b/gnu/usr.bin/binutils/libopcodes/config.h @@ -1,6 +1,105 @@ +/* $FreeBSD$ */ + /* config.h. Generated automatically by configure. */ /* 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. */ +/* #undef CRAY_STACKSEG_END */ + +/* Define if you have alloca, as a function or macro. */ +#define HAVE_ALLOCA 1 + +/* 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. */ +#define HAVE_MMAP 1 + +/* 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 if you need to in order for stat and other things to work. */ +/* #undef _POSIX_SOURCE */ + +/* 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. */ +#define STDC_HEADERS 1 + +/* 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. */ +#define HAVE_GETCWD 1 + +/* Define if you have the getpagesize function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define if you have the munmap function. */ +#define HAVE_MUNMAP 1 + +/* Define if you have the putenv function. */ +#define HAVE_PUTENV 1 + +/* Define if you have the setenv function. */ +#define HAVE_SETENV 1 + +/* Define if you have the setlocale function. */ +#define HAVE_SETLOCALE 1 + +/* Define if you have the stpcpy function. */ +/* #undef HAVE_STPCPY */ + +/* Define if you have the strcasecmp function. */ +#define HAVE_STRCASECMP 1 + +/* Define if you have the strchr function. */ +#define HAVE_STRCHR 1 + +/* Define if you have the <argz.h> header file. */ +/* #undef HAVE_ARGZ_H */ + +/* Define if you have the <limits.h> header file. */ +#define HAVE_LIMITS_H 1 + +/* Define if you have the <locale.h> header file. */ +#define HAVE_LOCALE_H 1 + +/* Define if you have the <malloc.h> header file. */ +/* #undef HAVE_MALLOC_H */ + +/* Define if you have the <nl_types.h> header file. */ +#define HAVE_NL_TYPES_H 1 + /* Define if you have the <stdlib.h> header file. */ #define HAVE_STDLIB_H 1 @@ -9,3 +108,31 @@ /* Define if you have the <strings.h> header file. */ #define HAVE_STRINGS_H 1 + +/* Define if you have the <sys/param.h> header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define if you have the <unistd.h> header file. */ +#define HAVE_UNISTD_H 1 + +/* Define if you have the <values.h> header file. */ +/* #undef HAVE_VALUES_H */ + +/* Name of package */ +#define PACKAGE "opcodes" + +/* Version number of package */ +/* #define VERSION "000427" */ + +/* Define if you have the stpcpy function */ +/* #undef HAVE_STPCPY */ + +/* Define if your locale.h file contains LC_MESSAGES. */ +#define HAVE_LC_MESSAGES 1 + +/* Define to 1 if NLS is requested */ +/* #define ENABLE_NLS 1 */ + +/* Define as 1 if you have gettext and don't want to use GNU gettext. */ +/* #undef HAVE_GETTEXT */ + diff --git a/gnu/usr.bin/binutils/objdump/Makefile b/gnu/usr.bin/binutils/objdump/Makefile index 2608fa2..b53f539 100644 --- a/gnu/usr.bin/binutils/objdump/Makefile +++ b/gnu/usr.bin/binutils/objdump/Makefile @@ -8,6 +8,7 @@ PROG= objdump SRCS= objdump.c prdbg.c CFLAGS+= -I${.CURDIR}/${RELTOP}/libbinutils CFLAGS+= -I${SRCDIR}/binutils +CFLAGS+= -DBFD_VERSION=\"${VERSION}\" DPADD= ${RELTOP}/libbinutils/libbinutils.a DPADD+= ${RELTOP}/libopcodes/libopcodes.a DPADD+= ${RELTOP}/libbfd/libbfd.a |