From f4e14cb90109af6fd725477394fa363046cf12d8 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Fri, 19 Jul 1996 00:48:20 +0000 Subject: [PATCH] * configure.in: Set and substitute VERSION, BFD_HOST_64BIT_LONG (replacing HOST_64BITLONG), BFD_HOST_64_BIT_DEFINED, BFD_HOST_64_BIT, and BFD_HOST_U_64_BIT. Add bfd-in2.h:bfd-in2.h to AC_OUTPUT call. * configure: Rebuild. * bfd-in.h (BFD_ARCH_SIZE): Define as @wordsize@, not @WORDSIZE@. (BFD_HOST_64_BIT): Define conditionally. (BFD_HOST_U_64_BIT): Define when BFD_HOST_64_BIT is defined. (bfd_vma): Typedef as BFD_HOST_U_64_BIT. (symvalue, bfd_size_type): Likewise. * bfd-in2.h: Rebuild. * Makefile.in (do_clean): Remove bfd-tmp.h. (do_distclean): Remove bfd-in3.h. (stmp-bfd.h): Just do copy-if-change bfd-in3.h bfd.h. (bfd-in3.h): New target. --- bfd/ChangeLog | 18 +++++++++++++ bfd/Makefile.in | 20 +++++++------- bfd/bfd-in.h | 45 +++++++++++++++++++++++++------- bfd/bfd-in2.h | 30 ++++++++++++++------- bfd/configure | 79 ++++++++++++++++++++++++++++++++++---------------------- bfd/configure.in | 21 ++++++++++++--- 6 files changed, 150 insertions(+), 63 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 20b1086..ca299e4 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,23 @@ Thu Jul 18 15:39:10 1996 Ian Lance Taylor + * configure.host (mips-sgi-irix6*): New host. + + * configure.in: Set and substitute VERSION, BFD_HOST_64BIT_LONG + (replacing HOST_64BITLONG), BFD_HOST_64_BIT_DEFINED, + BFD_HOST_64_BIT, and BFD_HOST_U_64_BIT. Add bfd-in2.h:bfd-in2.h + to AC_OUTPUT call. + * configure: Rebuild. + * bfd-in.h (BFD_ARCH_SIZE): Define as @wordsize@, not @WORDSIZE@. + (BFD_HOST_64_BIT): Define conditionally. + (BFD_HOST_U_64_BIT): Define when BFD_HOST_64_BIT is defined. + (bfd_vma): Typedef as BFD_HOST_U_64_BIT. + (symvalue, bfd_size_type): Likewise. + * bfd-in2.h: Rebuild. + * Makefile.in (do_clean): Remove bfd-tmp.h. + (do_distclean): Remove bfd-in3.h. + (stmp-bfd.h): Just do copy-if-change bfd-in3.h bfd.h. + (bfd-in3.h): New target. + * config.bfd (sparc-*-sysv4*): Don't build sunos_big_vec. From Andrew Gierth . diff --git a/bfd/Makefile.in b/bfd/Makefile.in index b71b7a0..01efdc6 100644 --- a/bfd/Makefile.in +++ b/bfd/Makefile.in @@ -578,11 +578,11 @@ do_mostlyclean: rm -f *.o *~ core *.E *.p *.ip aout-params.h gen-aout config.log \ pic/*.o do_clean: do_mostlyclean - rm -f libbfd.a TAGS bfd.h stmp-bfd.h ofiles stamp-ofiles \ + rm -f libbfd.a TAGS bfd.h stmp-bfd.h bfd-tmp.h ofiles stamp-ofiles \ elf32-target.h elf64-target.h $(SHLIB) $(SHLINK) \ piclist stamp-piclist do_distclean: do_clean - rm -f Makefile config.status config.cache config.h stamp-h + rm -f Makefile config.status config.cache config.h stamp-h bfd-in3.h rm -rf pic stamp-picdir do_maintainer_clean: do_distclean rm -f $(srcdir)/bfd-in2.h $(srcdir)/libbfd.h $(srcdir)/libcoff.h @@ -752,16 +752,16 @@ BFDIN_H= $(srcdir)/bfd-in2.h $(BFD_H): stmp-bfd.h ; @true -stmp-bfd.h : $(srcdir)/bfd-in2.h Makefile - rm -f bfd.h-new - sed -e 's/@WORDSIZE@/$(WORDSIZE)/' \ - -e "s/@VERSION@/`cat $(srcdir)/VERSION`/" \ - -e 's/@BFD_HOST_64BIT_LONG@/@HOST_64BIT_LONG@/' \ - < $(srcdir)/bfd-in2.h \ - > bfd.h-new - $(srcdir)/../move-if-change bfd.h-new $(BFD_H) +stmp-bfd.h: bfd-in3.h + rm -f bfd-tmp.h + cp bfd-in3.h bfd-tmp.h + $(srcdir)/../move-if-change bfd-tmp.h $(BFD_H) + rm -f bfd-tmp.h touch stmp-bfd.h +bfd-in3.h: bfd-in2.h config.status + CONFIG_FILES=bfd-in3.h:bfd-in2.h CONFIG_HEADERS= $(SHELL) ./config.status + # Could really use a "copy-if-change"... headers: (cd $(docdir); $(MAKE) protos $(FLAGS_TO_PASS)) diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h index 858daa8..fadbd04 100644 --- a/bfd/bfd-in.h +++ b/bfd/bfd-in.h @@ -1,5 +1,5 @@ /* Main header file for the bfd library -- portable access to object files. - Copyright 1990, 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. + Copyright 1990, 91, 92, 93, 94, 95, 1996 Free Software Foundation, Inc. Contributed by Cygnus Support. ** NOTE: bfd.h and bfd-in2.h are GENERATED files. Don't change them; @@ -53,8 +53,12 @@ extern "C" { /* These two lines get substitutions done by commands in Makefile.in. */ #define BFD_VERSION "@VERSION@" -#define BFD_ARCH_SIZE @WORDSIZE@ +#define BFD_ARCH_SIZE @wordsize@ #define BFD_HOST_64BIT_LONG @BFD_HOST_64BIT_LONG@ +#if @BFD_HOST_64_BIT_DEFINED@ +#define BFD_HOST_64_BIT @BFD_HOST_64_BIT@ +#define BFD_HOST_U_64_BIT @BFD_HOST_U_64_BIT@ +#endif #if BFD_ARCH_SIZE >= 64 #define BFD64 @@ -114,25 +118,29 @@ typedef long int file_ptr; /* Support for different sizes of target format ints and addresses. If the type `long' is at least 64 bits, BFD_HOST_64BIT_LONG will be set to 1 above. Otherwise, if gcc is being used, this code will - use gcc's "long long" type. Otherwise, the compilation will fail - if 64-bit targets are requested. */ + use gcc's "long long" type. Otherwise, BFD_HOST_64_BIT must be + defined above. */ #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 -#endif /* defined (__GNUC__) */ +#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 unsigned BFD_HOST_64_BIT bfd_vma; +typedef BFD_HOST_U_64_BIT bfd_vma; typedef BFD_HOST_64_BIT bfd_signed_vma; -typedef unsigned BFD_HOST_64_BIT bfd_size_type; -typedef unsigned BFD_HOST_64_BIT symvalue; +typedef BFD_HOST_U_64_BIT bfd_size_type; +typedef BFD_HOST_U_64_BIT symvalue; #ifndef fprintf_vma #if BFD_HOST_64BIT_LONG @@ -333,6 +341,10 @@ typedef struct _symbol_info short stab_desc; /* Stab desc. */ CONST char *stab_name; /* String for stab type. */ } symbol_info; + +/* Get the name of a stabs type code. */ + +extern const char *bfd_get_stab_name PARAMS ((int)); /* Hash table routines. There is no way to free up a hash table. */ @@ -599,6 +611,7 @@ extern boolean bfd_elf64_size_dynamic_sections PARAMS ((bfd *, const char *, const char *, boolean, struct bfd_link_info *, struct sec **)); extern void bfd_elf_set_dt_needed_name PARAMS ((bfd *, const char *)); +extern const char *bfd_elf_get_dt_soname PARAMS ((bfd *)); /* SunOS shared library support routines for the linker. */ @@ -612,7 +625,9 @@ extern boolean bfd_sunos_size_dynamic_sections /* Linux shared library support routines for the linker. */ -extern boolean bfd_linux_size_dynamic_sections +extern boolean bfd_i386linux_size_dynamic_sections + PARAMS ((bfd *, struct bfd_link_info *)); +extern boolean bfd_m68klinux_size_dynamic_sections PARAMS ((bfd *, struct bfd_link_info *)); /* mmap hacks */ @@ -658,4 +673,16 @@ extern boolean bfd_xcoff_size_dynamic_sections unsigned long, unsigned long, unsigned long, boolean, int, boolean, boolean, struct sec **)); +/* Externally visible COFF routines. */ + +#if defined(__STDC__) || defined(ALMOST_STDC) +struct internal_syment; +union internal_auxent; +#endif + +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 *)); + /* And more from the source. */ diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index d6f7702..0bd9c8b 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -53,8 +53,12 @@ extern "C" { /* These two lines get substitutions done by commands in Makefile.in. */ #define BFD_VERSION "@VERSION@" -#define BFD_ARCH_SIZE @WORDSIZE@ +#define BFD_ARCH_SIZE @wordsize@ #define BFD_HOST_64BIT_LONG @BFD_HOST_64BIT_LONG@ +#if @BFD_HOST_64_BIT_DEFINED@ +#define BFD_HOST_64_BIT @BFD_HOST_64_BIT@ +#define BFD_HOST_U_64_BIT @BFD_HOST_U_64_BIT@ +#endif #if BFD_ARCH_SIZE >= 64 #define BFD64 @@ -114,27 +118,29 @@ typedef long int file_ptr; /* Support for different sizes of target format ints and addresses. If the type `long' is at least 64 bits, BFD_HOST_64BIT_LONG will be set to 1 above. Otherwise, if gcc is being used, this code will - use gcc's "long long" type. Otherwise, the compilation will fail - if 64-bit targets are requested. */ + use gcc's "long long" type. Otherwise, BFD_HOST_64_BIT must be + defined above. */ #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 unsigned BFD_HOST_64_BIT bfd_vma; +typedef BFD_HOST_U_64_BIT bfd_vma; typedef BFD_HOST_64_BIT bfd_signed_vma; -typedef unsigned BFD_HOST_64_BIT bfd_size_type; -typedef unsigned BFD_HOST_64_BIT symvalue; +typedef BFD_HOST_U_64_BIT bfd_size_type; +typedef BFD_HOST_U_64_BIT symvalue; #ifndef fprintf_vma #if BFD_HOST_64BIT_LONG @@ -1198,9 +1204,9 @@ enum bfd_architecture bfd_arch_powerpc, /* PowerPC */ bfd_arch_rs6000, /* IBM RS/6000 */ bfd_arch_hppa, /* HP PA RISC */ -/* start-sanitize-d10v */ + /* start-sanitize-d10v */ bfd_arch_d10v, /* Mitsubishi D10V */ -/* end-sanitize-d10v */ + /* end-sanitize-d10v */ bfd_arch_z8k, /* Zilog Z8000 */ #define bfd_mach_z8001 1 #define bfd_mach_z8002 2 @@ -1784,9 +1790,15 @@ through 0. */ /* Mitsubishi D10V relocs. This is a 10-bit reloc with the right 2 bits assumed to be 0. */ - BFD_RELOC_D10V_10_PCREL_L, BFD_RELOC_D10V_10_PCREL_R, +/* Mitsubishi D10V relocs. +This is a 10-bit reloc with the right 2 bits +assumed to be 0. This is the same as the previous reloc +except it is in the left container, i.e., +shifted left 15 bits. */ + BFD_RELOC_D10V_10_PCREL_L, + /* This is an 18-bit reloc with the right 2 bits assumed to be 0. */ BFD_RELOC_D10V_18, diff --git a/bfd/configure b/bfd/configure index fc1e3d4..e5220af 100755 --- a/bfd/configure +++ b/bfd/configure @@ -1060,12 +1060,25 @@ fi -HOST_64BIT_LONG=0 +VERSION=`cat ${srcdir}/VERSION` + + +BFD_HOST_64BIT_LONG=0 +BFD_HOST_64_BIT_DEFINED=0 +BFD_HOST_64_BIT= +BFD_HOST_U_64_BIT= if test "x${HOST_64BIT_TYPE}" = "xlong"; then - HOST_64BIT_LONG=1 + BFD_HOST_64BIT_LONG=1 +elif test "x${HOST_64BIT_TYPE}" != "x"; then + BFD_HOST_64_BIT_DEFINED=1 + BFD_HOST_64_BIT=${HOST_64BIT_TYPE} + BFD_HOST_U_64_BIT=${HOST_U_64BIT_TYPE} fi + + + # If we cannot run a trivial program, we must be cross compiling. echo $ac_n "checking whether cross-compiling""... $ac_c" 1>&6 if eval "test \"`echo '$''{'ac_cv_c_cross'+set}'`\" = set"; then @@ -1075,11 +1088,11 @@ else ac_cv_c_cross=yes else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } +{ (eval echo configure:1096: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } if test -s conftest && (./conftest; exit) 2>/dev/null; then ac_cv_c_cross=no else @@ -1117,13 +1130,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1127: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1140: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1132,13 +1145,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1142: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1155: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1166,12 +1179,12 @@ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1175: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1188: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -1203,12 +1216,12 @@ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1212: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1225: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -1237,7 +1250,7 @@ if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -1247,7 +1260,7 @@ int t() { struct tm *tp; ; return 0; } EOF -if { (eval echo configure:1251: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1264: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else @@ -1273,7 +1286,7 @@ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; }; then +if { (eval echo configure:1314: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -1334,7 +1347,7 @@ if eval "test \"`echo '$''{'bfd_cv_decl_needed_malloc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -1349,7 +1362,7 @@ int t() { char *(*pfn) = (char *(*)) malloc ; return 0; } EOF -if { (eval echo configure:1353: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1366: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_malloc=no else @@ -1374,7 +1387,7 @@ if eval "test \"`echo '$''{'bfd_cv_decl_needed_free'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -1389,7 +1402,7 @@ int t() { char *(*pfn) = (char *(*)) free ; return 0; } EOF -if { (eval echo configure:1393: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1406: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_free=no else @@ -1661,7 +1674,7 @@ EOF echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { return 0; } @@ -1669,7 +1682,7 @@ int t() { prstatus_t t; ; return 0; } EOF -if { (eval echo configure:1673: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1686: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_header_sys_procfs_h=yes else @@ -1962,7 +1975,7 @@ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; }; then +if { (eval echo configure:2003: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2016,7 +2029,7 @@ else ac_cv_func_mmap=no else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } +{ (eval echo configure:2102: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } if test -s conftest && (./conftest; exit) 2>/dev/null; then ac_cv_func_mmap=yes else @@ -2110,7 +2123,7 @@ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; }; then +if { (eval echo configure:2151: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2251,7 +2264,7 @@ done ac_given_srcdir=$srcdir ac_given_INSTALL="$INSTALL" -trap 'rm -fr `echo "Makefile doc/Makefile config.h:config.in" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 +trap 'rm -fr `echo "Makefile doc/Makefile bfd-in3.h:bfd-in2.h config.h:config.in" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 EOF cat >> $CONFIG_STATUS <> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then diff --git a/bfd/configure.in b/bfd/configure.in index 7e265bd..20a67ad 100644 --- a/bfd/configure.in +++ b/bfd/configure.in @@ -111,11 +111,24 @@ AC_SUBST(PICLIST) AC_SUBST(SHLINK) AC_SUBST(INSTALL_SHLIB) -HOST_64BIT_LONG=0 +VERSION=`cat ${srcdir}/VERSION` +AC_SUBST(VERSION) + +BFD_HOST_64BIT_LONG=0 +BFD_HOST_64_BIT_DEFINED=0 +BFD_HOST_64_BIT= +BFD_HOST_U_64_BIT= if test "x${HOST_64BIT_TYPE}" = "xlong"; then - HOST_64BIT_LONG=1 + BFD_HOST_64BIT_LONG=1 +elif test "x${HOST_64BIT_TYPE}" != "x"; then + BFD_HOST_64_BIT_DEFINED=1 + BFD_HOST_64_BIT=${HOST_64BIT_TYPE} + BFD_HOST_U_64_BIT=${HOST_U_64BIT_TYPE} fi -AC_SUBST(HOST_64BIT_LONG) +AC_SUBST(BFD_HOST_64BIT_LONG) +AC_SUBST(BFD_HOST_64_BIT_DEFINED) +AC_SUBST(BFD_HOST_64_BIT) +AC_SUBST(BFD_HOST_U_64_BIT) BFD_CC_FOR_BUILD @@ -597,5 +610,5 @@ case ${want_mmap}+${ac_cv_func_mmap} in esac rm -f doc/config.status -AC_OUTPUT(Makefile doc/Makefile, +AC_OUTPUT(Makefile doc/Makefile bfd-in3.h:bfd-in2.h, [case x$CONFIG_HEADERS in xconfig.h:config.in) echo > stamp-h ;; esac]) -- 2.7.4