From 1b4c63dda5cd2b37f964092a5c53b865e172ff55 Mon Sep 17 00:00:00 2001 From: Daniel Jacobowitz Date: Tue, 21 Sep 2004 20:44:23 +0000 Subject: Merge from mainline. --- bfd/ChangeLog | 135 +++ bfd/Makefile.am | 33 +- bfd/Makefile.in | 1359 ++++++++++++++++------- bfd/aclocal.m4 | 2071 +++++++++++++++++------------------- bfd/bfd-in.h | 5 +- bfd/bfd-in2.h | 15 +- bfd/configure | 724 +++++++++++-- bfd/configure.in | 2 +- bfd/doc/ChangeLog | 11 + bfd/doc/Makefile.am | 4 +- bfd/doc/Makefile.in | 676 +++++++----- bfd/ecoff.c | 12 +- bfd/elf-bfd.h | 128 +-- bfd/elf-hppa.h | 18 +- bfd/elf-m10300.c | 56 +- bfd/elf.c | 34 +- bfd/elf32-arm.h | 349 +++--- bfd/elf32-cris.c | 100 +- bfd/elf32-frv.c | 31 +- bfd/elf32-hppa.c | 104 +- bfd/elf32-i370.c | 31 +- bfd/elf32-i386.c | 96 +- bfd/elf32-m32r.c | 109 +- bfd/elf32-m68k.c | 76 +- bfd/elf32-ppc.c | 115 +- bfd/elf32-s390.c | 104 +- bfd/elf32-sh-symbian.c | 2 +- bfd/elf32-sh.c | 128 +-- bfd/elf32-sh64.c | 2 +- bfd/elf32-sparc.c | 100 +- bfd/elf32-vax.c | 67 +- bfd/elf32-xtensa.c | 18 +- bfd/elf64-alpha.c | 53 +- bfd/elf64-hppa.c | 21 +- bfd/elf64-ppc.c | 145 ++- bfd/elf64-s390.c | 104 +- bfd/elf64-sh64.c | 75 +- bfd/elf64-sparc.c | 51 +- bfd/elf64-x86-64.c | 96 +- bfd/elfarm-nabi.c | 95 +- bfd/elflink.c | 358 ++++--- bfd/elfxx-ia64.c | 33 +- bfd/elfxx-mips.c | 101 +- bfd/libbfd.h | 2 + bfd/linker.c | 26 +- bfd/po/SRC-POTFILES.in | 5 + bfd/po/bfd.pot | 1925 ++++++++++++++++----------------- bfd/reloc.c | 10 + bfd/version.h | 2 +- bfd/xcofflink.c | 2 +- gdb/ChangeLog | 255 +++++ gdb/Makefile.in | 37 +- gdb/ada-exp.y | 90 +- gdb/ada-lang.c | 425 ++++---- gdb/ada-lang.h | 12 - gdb/ada-lex.l | 18 +- gdb/ada-typeprint.c | 2 +- gdb/config/i386/fbsd.mh | 6 +- gdb/config/i386/nbsdaout.mh | 5 +- gdb/config/i386/nbsdelf.mh | 2 +- gdb/config/i386/nm-fbsd.h | 16 - gdb/config/i386/nm-linux.h | 2 +- gdb/config/i386/nm-obsd.h | 10 - gdb/config/i386/obsd.mh | 3 +- gdb/config/i386/obsdaout.mh | 5 +- gdb/config/nm-linux.h | 2 +- gdb/config/nm-lynx.h | 2 +- gdb/config/pa/hpux1020.mh | 2 +- gdb/config/pa/hpux11.mh | 2 +- gdb/config/pa/hpux11w.mh | 2 +- gdb/config/sparc/nbsd64.mt | 2 +- gdb/config/sparc/obsd.mt | 2 +- gdb/config/sparc/obsd64.mt | 2 +- gdb/configure | 1025 ++++++++---------- gdb/configure.in | 59 +- gdb/doc/ChangeLog | 96 +- gdb/doc/gdb.texinfo | 149 +-- gdb/dwarf2read.c | 419 +++++--- gdb/fbsd-nat.c | 181 ++++ gdb/fbsd-nat.h | 43 + gdb/i386-tdep.c | 12 +- gdb/i386bsd-nat.c | 24 +- gdb/i386bsd-nat.h | 30 + gdb/i386fbsd-nat.c | 22 +- gdb/i386nbsd-nat.c | 5 + gdb/inf-child.c | 14 +- gdb/inf-ptrace.c | 1 + gdb/infptrace.c | 15 +- gdb/infttrace.c | 6 +- gdb/jv-exp.y | 17 +- gdb/minsyms.c | 10 +- gdb/mips-tdep.c | 212 ++-- gdb/sparc64nbsd-tdep.c | 6 +- gdb/sparc64obsd-tdep.c | 7 +- gdb/symtab.c | 29 +- gdb/testsuite/ChangeLog | 9 + gdb/testsuite/gdb.base/bigcore.exp | 7 + gdb/testsuite/gdb.java/jprint.exp | 80 ++ gdb/testsuite/gdb.java/jprint.java | 62 ++ gdb/valarith.c | 5 +- gdb/version.in | 2 +- include/ChangeLog | 11 + include/bfdlink.h | 47 +- include/elf/arm.h | 11 +- opcodes/ChangeLog | 17 + opcodes/Makefile.am | 23 +- opcodes/Makefile.in | 1025 +++++++++++------- opcodes/aclocal.m4 | 1950 ++++++++++++++++----------------- opcodes/configure | 856 ++++++++++++--- opcodes/po/POTFILES.in | 2 + opcodes/po/opcodes.pot | 104 +- 111 files changed, 10055 insertions(+), 7261 deletions(-) create mode 100644 gdb/fbsd-nat.c create mode 100644 gdb/fbsd-nat.h create mode 100644 gdb/i386bsd-nat.h create mode 100644 gdb/testsuite/gdb.java/jprint.exp create mode 100644 gdb/testsuite/gdb.java/jprint.java diff --git a/bfd/ChangeLog b/bfd/ChangeLog index eb179d9d1b5..27813dcff5f 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,138 @@ +2004-09-17 H.J. Lu + + * Makefile.am (AUTOMAKE_OPTIONS): Require 1.9. + (CONFIG_STATUS_DEPENDENCIES): New. + (Makefile): Removed. + (config.status): Likewise. + * Makefile.in: Regenerated. + +2004-09-17 Paul Brook + + * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add prototype. + (bfd_elf32_arm_process_before_allocation): Update prototype. + * bfd-in2.h: Regenerate. + * bfd/elf32-arm.h (elf32_arm_link_hash_table): Add target2_reloc. + (elf32_arm_link_hash_table_create): Set it. + (bfd_elf32_arm_process_before_allocation): Remove target1_is_rel. + (bfd_elf32_arm_set_target_relocs): New function. + (arm_real_reloc_type): New function. + (elf32_arm_final_link_relocate): Use it. Handle R_ARM_PREL31 and + R_ARM_GOT_PREL. Remove R_ARM_TARGET1. + (elf32_arm_gc_sweep_hook): Ditto. + (elf32_arm_check_relocs): Ditto. + (elf32_arm_relocate_section): Handle R_ARM_GOT_PREL. + * elfarm-nabi.c (elf32_arm_howto_table): Add R_ARM_PREL31 and + R_ARM_GOT_TARGET2. + (elf32_arm_got_prel): New variable. + (elf32_arm_howto_from_type): New function. + (elf32_arm_info_to_howto): Use it. + (elf32_arm_reloc_map): Add BFD_RELOC_ARM_PREL31 and + BFD_RELOC_ARM_TARGET2. + * libbfd.h: Regenerate. + * reloc.c: Add BFD_RELOC_ARM_TARGET2 and BFD_RELOC_ARM_PREL31. + +2004-09-17 Alan Modra + + * ecoff.c: Update u.undef.next refs. + * elf64-ppc.c: Likewise. + * elflink.c: Likewise. + * linker.c: Likewise. + * xcofflink.c: Likewise. + + * elf-bfd.h (struct elf_link_hash_entry): Rearrange. Add FIXME to + dynamic_def. Combine weakdef and elf_hash_value. Move vtable + fields to indirect struct. + * elf-m10300.c: Update u.weakdef refs. + * elf32-arm.h: Likewise. + * elf32-cris.c: Likewise. + * elf32-frv.c: Likewise. + * elf32-hppa.c: Likewise. + * elf32-i370.c: Likewise. + * elf32-i386.c: Likewise. + * elf32-m32r.c: Likewise. + * elf32-m68k.c: Likewise. + * elf32-ppc.c: Likewise. + * elf32-s390.c: Likewise. + * elf32-sh.c: Likewise. + * elf32-sparc.c: Likewise. + * elf32-vax.c: Likewise. + * elf32-xtensa.c: Likewise. + * elf64-alpha.c: Likewise. + * elf64-hppa.c: Likewise. + * elf64-ppc.c: Likewise. + * elf64-s390.c: Likewise. + * elf64-sh64.c: Likewise. + * elf64-sparc.c: Likewise. + * elf64-x86-64.c: Likewise. + * elfxx-ia64.c: Likewise. + * elfxx-mips.c: Likewise. + * elflink.c: Likewise. Also u.elf_hash_value. + (elf_gc_propagate_vtable_entries_used): Update for h->vtable + indirection. + (elf_gc_smash_unused_vtentry_relocs): Likewise. + (bfd_elf_gc_record_vtinherit): Alloc vtable. + (bfd_elf_gc_record_vtentry): Likewise. + * elf.c (_bfd_elf_link_hash_newfunc): Use memset. + +2004-09-17 Alan Modra + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + * bfd-in2.h: Regenerate. + * po/SRC-POTFILES.in: Regenerate. + * po/bfd.pot: Regenerate. + +2004-09-16 Alan Modra + + * elf-bfd.h (struct elf_link_hash_entry): Replace elf_link_hash_flags + with bitfields. Make "type" and "other" bitfields too. + (ELF_LINK_HASH_REF_REGULAR, ELF_LINK_HASH_DEF_REGULAR, + ELF_LINK_HASH_REF_DYNAMIC, ELF_LINK_HASH_DEF_DYNAMIC, + ELF_LINK_HASH_REF_REGULAR_NONWEAK, ELF_LINK_HASH_DYNAMIC_ADJUSTED, + ELF_LINK_HASH_NEEDS_COPY, ELF_LINK_HASH_NEEDS_PLT, ELF_LINK_NON_ELF, + ELF_LINK_HIDDEN, ELF_LINK_FORCED_LOCAL, ELF_LINK_HASH_MARK, + ELF_LINK_NON_GOT_REF, ELF_LINK_DYNAMIC_DEF, ELF_LINK_DYNAMIC_WEAK, + ELF_LINK_POINTER_EQUALITY_NEEDED): Delete. + (ELF_COMMON_DEF_P, WILL_CALL_FINISH_DYNAMIC_SYMBOL): Update. + * elf-hppa.h: Update all uses of elf_link_hash_flags. + * elf-m10300.c: Likewise. + * elf.c: Likewise. + * elf32-arm.h: Likewise. + * elf32-cris.c: Likewise. + * elf32-frv.c: Likewise. + * elf32-hppa.c: Likewise. + * elf32-i370.c: Likewise. + * elf32-i386.c: Likewise. + * elf32-m32r.c: Likewise. + * elf32-m68k.c: Likewise. + * elf32-ppc.c: Likewise. + * elf32-s390.c: Likewise. + * elf32-sh-symbian.c: Likewise. + * elf32-sh.c: Likewise. + * elf32-sh64.c: Likewise. + * elf32-sparc.c: Likewise. + * elf32-vax.c: Likewise. + * elf32-xtensa.c: Likewise. + * elf64-alpha.c: Likewise. + * elf64-hppa.c: Likewise. + * elf64-ppc.c: Likewise. + * elf64-s390.c: Likewise. + * elf64-sh64.c: Likewise. + * elf64-sparc.c: Likewise. + * elf64-x86-64.c: Likewise. + * elflink.c: Likewise. + * elfxx-ia64.c: Likewise. + * elfxx-mips.c: Likewise. + * configure.in (AM_INIT_AUTOMAKE): Set version to 2.15.92. + * configure: Regenerate. + * aclocal.m4: Regenerate. + +2004-09-16 Alan Modra + + * elf32-arm.h (elf32_arm_gc_sweep_hook): Add #ifndef OLD_ARM_ABI + around uses of R_ARM_TARGET1. + (elf32_arm_check_relocs): Likewise. + 2004-09-13 Paul Brook * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update diff --git a/bfd/Makefile.am b/bfd/Makefile.am index a937cc04614..a7eabfc26bb 100644 --- a/bfd/Makefile.am +++ b/bfd/Makefile.am @@ -1,6 +1,6 @@ ## Process this file with automake to generate Makefile.in -AUTOMAKE_OPTIONS = cygnus +AUTOMAKE_OPTIONS = 1.9 cygnus # Uncomment the following line when doing a release. # RELEASE=y @@ -575,6 +575,14 @@ OPTIONAL_BACKENDS_CFILES = \ trad-core.c \ cisco-core.c +# We want to rerun configure if configure.in, config.bfd or +# configure.host change. configure.in is needed since the version +# number in Makefile comes from configure.in. +CONFIG_STATUS_DEPENDENCIES = \ + $(srcdir)/configure.in \ + $(srcdir)/config.bfd \ + $(srcdir)/configure.host + # These are defined by configure.in: WORDSIZE = @wordsize@ ALL_BACKENDS = @all_backends@ @@ -763,8 +771,6 @@ uninstall_libbfd: rm -f $(DESTDIR)$(bfdincludedir)/symcat.h rm -f $(DESTDIR)$(bfdincludedir)/bfdlink.h -Makefile: $(srcdir)/configure.in - # Have to get rid of DEP1 here so that "$?" later includes all of $(CFILES). DEP: dep.sed $(CFILES) $(HFILES) bfd.h rm -f DEP1 @@ -871,10 +877,6 @@ CLEANFILES = bfd.h dep.sed stmp-bfd-h DEP DEPA DEP1 DEP2 libbfd.a stamp-lib \ DISTCLEANFILES = $(BUILD_CFILES) $(BUILD_HFILES) -# We want to rerun configure if configure, config.bfd or configure.host change. -config.status: $(srcdir)/configure $(srcdir)/config.bfd $(srcdir)/configure.host - $(SHELL) ./config.status --recheck - bfdver.h: $(srcdir)/version.h $(srcdir)/Makefile.in @echo "creating $@" @bfd_version=`echo "$(VERSION)" | sed -e 's/\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\).*/\1.00\2.00\3.00\4.00\5/' -e 's/\([^\.]*\)\..*\(..\)\..*\(..\)\..*\(..\)\..*\(..\)$$/\1\2\3\4\5/'` ;\ @@ -1172,9 +1174,9 @@ elf32-cris.lo: elf32-cris.c $(INCDIR)/filenames.h elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(INCDIR)/elf/cris.h $(INCDIR)/elf/reloc-macros.h \ elf32-target.h -elf32-crx.lo: elf32-crx.c $(INCDIR)/filenames.h elf-bfd.h \ - $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/elf/crx.h $(INCDIR)/elf/reloc-macros.h \ +elf32-crx.lo: elf32-crx.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ + elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ + $(INCDIR)/elf/external.h $(INCDIR)/elf/crx.h $(INCDIR)/elf/reloc-macros.h \ elf32-target.h elf32-d10v.lo: elf32-d10v.c $(INCDIR)/filenames.h elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1321,10 +1323,10 @@ elf32-sh.lo: elf32-sh.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ $(INCDIR)/elf/external.h $(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h \ $(INCDIR)/libiberty.h $(srcdir)/../opcodes/sh-opc.h \ elf32-target.h -elf32-sh-symbian.lo: elf32-sh-symbian.c elf32-sh.c $(INCDIR)/filenames.h \ - $(INCDIR)/bfdlink.h elf-bfd.h $(INCDIR)/elf/common.h \ - $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/sh.h \ - $(INCDIR)/elf/reloc-macros.h $(INCDIR)/libiberty.h \ +elf32-sh-symbian.lo: elf32-sh-symbian.c elf32-sh.c \ + $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h elf-bfd.h \ + $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ + $(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h $(INCDIR)/libiberty.h \ $(srcdir)/../opcodes/sh-opc.h elf32-target.h elf32-sparc.lo: elf32-sparc.c $(INCDIR)/filenames.h \ $(INCDIR)/bfdlink.h elf-bfd.h $(INCDIR)/elf/common.h \ @@ -1557,7 +1559,8 @@ xcofflink.lo: xcofflink.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ xsym.lo: xsym.c xsym.h $(INCDIR)/filenames.h xtensa-isa.lo: xtensa-isa.c $(INCDIR)/xtensa-isa.h \ $(INCDIR)/xtensa-isa-internal.h -xtensa-modules.lo: xtensa-modules.c $(INCDIR)/xtensa-isa-internal.h +xtensa-modules.lo: xtensa-modules.c $(INCDIR)/xtensa-isa.h \ + $(INCDIR)/xtensa-isa-internal.h aix5ppc-core.lo: aix5ppc-core.c aout64.lo: aout64.c aoutx.h $(INCDIR)/filenames.h $(INCDIR)/safe-ctype.h \ $(INCDIR)/bfdlink.h libaout.h $(INCDIR)/aout/aout64.h \ diff --git a/bfd/Makefile.in b/bfd/Makefile.in index 8d8440944d2..ac92e492535 100644 --- a/bfd/Makefile.in +++ b/bfd/Makefile.in @@ -1,6 +1,8 @@ -# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am +# Makefile.in generated by automake 1.9.1 from Makefile.am. +# @configure_input@ -# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -10,57 +12,108 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. +@SET_MAKE@ -SHELL = @SHELL@ + +SOURCES = $(libbfd_a_SOURCES) $(libbfd_la_SOURCES) srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include - -DESTDIR = - pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ - top_builddir = . - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -transform = @program_transform_name@ - +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -host_alias = @host_alias@ +build_triplet = @build@ host_triplet = @host@ +target_triplet = @target@ +DIST_COMMON = $(srcdir)/../config.guess $(srcdir)/../config.sub README \ + ChangeLog $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/configure $(am__configure_deps) \ + $(srcdir)/config.in $(srcdir)/../mkinstalldirs \ + $(srcdir)/bfd-in2.h $(top_srcdir)/po/Make-in \ + $(srcdir)/../ltmain.sh $(srcdir)/../config.guess \ + $(srcdir)/../config.sub +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/../config/accross.m4 \ + $(top_srcdir)/../config/acx.m4 $(top_srcdir)/../libtool.m4 \ + $(top_srcdir)/../gettext.m4 $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = bfd-in3.h po/Makefile.in +LIBRARIES = $(noinst_LIBRARIES) +ARFLAGS = cru +libbfd_a_AR = $(AR) $(ARFLAGS) +libbfd_a_LIBADD = +am_libbfd_a_OBJECTS = +libbfd_a_OBJECTS = $(am_libbfd_a_OBJECTS) +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(bfdlibdir)" +bfdlibLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(bfdlib_LTLIBRARIES) +am__objects_1 = archive.lo archures.lo bfd.lo bfdio.lo bfdwin.lo \ + cache.lo coffgen.lo corefile.lo format.lo init.lo libbfd.lo \ + opncls.lo reloc.lo section.lo syms.lo targets.lo hash.lo \ + linker.lo srec.lo binary.lo tekhex.lo ihex.lo stabs.lo \ + stab-syms.lo merge.lo dwarf2.lo simple.lo +am__objects_2 = archive64.lo +am_libbfd_la_OBJECTS = $(am__objects_1) $(am__objects_2) +libbfd_la_OBJECTS = $(am_libbfd_la_OBJECTS) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I. +depcomp = +am__depfiles_maybe = +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(libbfd_a_SOURCES) $(libbfd_la_SOURCES) +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ AR = @AR@ -AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ BFD_HOST_64BIT_LONG = @BFD_HOST_64BIT_LONG@ BFD_HOST_64_BIT = @BFD_HOST_64_BIT@ BFD_HOST_64_BIT_DEFINED = @BFD_HOST_64_BIT_DEFINED@ @@ -69,89 +122,140 @@ BFD_HOST_U_64_BIT = @BFD_HOST_U_64_BIT@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ +CCDEPMODE = @CCDEPMODE@ CC_FOR_BUILD = @CC_FOR_BUILD@ +CFLAGS = @CFLAGS@ COREFILE = @COREFILE@ COREFLAG = @COREFLAG@ CPP = @CPP@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ -DLLTOOL = @DLLTOOL@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ -GCJ = @GCJ@ -GCJFLAGS = @GCJFLAGS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ -GNATBIND = @GNATBIND@ GT_NO = @GT_NO@ GT_YES = @GT_YES@ -HAVE_LIB = @HAVE_LIB@ HDEFINES = @HDEFINES@ INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_LIBBFD_FALSE = @INSTALL_LIBBFD_FALSE@ +INSTALL_LIBBFD_TRUE = @INSTALL_LIBBFD_TRUE@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLDEPS = @INTLDEPS@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ -LIB = @LIB@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ -LN = @LN@ LN_S = @LN_S@ -LTLIB = @LTLIB@ +LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ -OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ POFILES = @POFILES@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ STRIP = @STRIP@ TDEFINES = @TDEFINES@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +WARN_CFLAGS = @WARN_CFLAGS@ WIN32LDFLAGS = @WIN32LDFLAGS@ WIN32LIBADD = @WIN32LIBADD@ +XGETTEXT = @XGETTEXT@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ all_backends = @all_backends@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bfd_backends = @bfd_backends@ bfd_default_target_size = @bfd_default_target_size@ bfd_file_ptr = @bfd_file_ptr@ bfd_libs = @bfd_libs@ bfd_machines = @bfd_machines@ bfd_ufile_ptr = @bfd_ufile_ptr@ -build_noncanonical = @build_noncanonical@ -build_subdir = @build_subdir@ -do_compare = @do_compare@ +bfdincludedir = @bfdincludedir@ +bfdlibdir = @bfdlibdir@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ host_noncanonical = @host_noncanonical@ -host_subdir = @host_subdir@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ l = @l@ -ncn_cv_ = @ncn_cv_@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target = @target@ +target_alias = @target_alias@ +target_cpu = @target_cpu@ target_noncanonical = @target_noncanonical@ -target_subdir = @target_subdir@ +target_os = @target_os@ +target_vendor = @target_vendor@ tdefaults = @tdefaults@ wordsize = @wordsize@ - -AUTOMAKE_OPTIONS = cygnus +AUTOMAKE_OPTIONS = 1.9 cygnus # Uncomment the following line when doing a release. # RELEASE=y - INCDIR = $(srcdir)/../include CSEARCH = -I. -I$(srcdir) -I$(INCDIR) MKDEP = gcc -MM - SUBDIRS = doc po - docdir = doc -bfdlibdir = @bfdlibdir@ -bfdincludedir = @bfdincludedir@ - bfdlib_LTLIBRARIES = libbfd.la - -WARN_CFLAGS = @WARN_CFLAGS@ AM_CFLAGS = $(WARN_CFLAGS) # bfd.h goes here, for now @@ -164,45 +268,560 @@ BFD_H = bfd.h # for the debugger, so if you are downloading things as S-records you # need two copies of the executable, one to download and one for the # debugger). -BFD32_LIBS = archive.lo archures.lo bfd.lo bfdio.lo bfdwin.lo cache.lo coffgen.lo corefile.lo format.lo init.lo libbfd.lo opncls.lo reloc.lo section.lo syms.lo targets.lo hash.lo linker.lo srec.lo binary.lo tekhex.lo ihex.lo stabs.lo stab-syms.lo merge.lo dwarf2.lo simple.lo - +BFD32_LIBS = \ + archive.lo archures.lo bfd.lo bfdio.lo bfdwin.lo \ + cache.lo coffgen.lo corefile.lo \ + format.lo init.lo libbfd.lo opncls.lo reloc.lo \ + section.lo syms.lo targets.lo hash.lo linker.lo \ + srec.lo binary.lo tekhex.lo ihex.lo stabs.lo stab-syms.lo \ + merge.lo dwarf2.lo simple.lo BFD64_LIBS = archive64.lo - -BFD32_LIBS_CFILES = archive.c archures.c bfd.c bfdio.c bfdwin.c cache.c coffgen.c corefile.c format.c init.c libbfd.c opncls.c reloc.c section.c syms.c targets.c hash.c linker.c srec.c binary.c tekhex.c ihex.c stabs.c stab-syms.c merge.c dwarf2.c simple.c - +BFD32_LIBS_CFILES = \ + archive.c archures.c bfd.c bfdio.c bfdwin.c \ + cache.c coffgen.c corefile.c \ + format.c init.c libbfd.c opncls.c reloc.c \ + section.c syms.c targets.c hash.c linker.c \ + srec.c binary.c tekhex.c ihex.c stabs.c stab-syms.c \ + merge.c dwarf2.c simple.c BFD64_LIBS_CFILES = archive64.c # This list is alphabetized to make it easier to keep in sync # with the decls and initializer in archures.c. -ALL_MACHINES = cpu-a29k.lo cpu-alpha.lo cpu-arc.lo cpu-arm.lo cpu-avr.lo cpu-cr16c.lo cpu-cris.lo cpu-crx.lo cpu-d10v.lo cpu-d30v.lo cpu-dlx.lo cpu-fr30.lo cpu-frv.lo cpu-h8300.lo cpu-h8500.lo cpu-hppa.lo cpu-ia64.lo cpu-i370.lo cpu-i386.lo cpu-i860.lo cpu-i960.lo cpu-ip2k.lo cpu-iq2000.lo cpu-m32r.lo cpu-m68hc11.lo cpu-m68hc12.lo cpu-m68k.lo cpu-m88k.lo cpu-m10200.lo cpu-m10300.lo cpu-mcore.lo cpu-mips.lo cpu-mmix.lo cpu-msp430.lo cpu-or32.lo cpu-ns32k.lo cpu-openrisc.lo cpu-pdp11.lo cpu-pj.lo cpu-powerpc.lo cpu-rs6000.lo cpu-s390.lo cpu-sh.lo cpu-sparc.lo cpu-tic30.lo cpu-tic4x.lo cpu-tic54x.lo cpu-tic80.lo cpu-v850.lo cpu-vax.lo cpu-we32k.lo cpu-w65.lo cpu-xstormy16.lo cpu-xtensa.lo cpu-z8k.lo - - -ALL_MACHINES_CFILES = cpu-a29k.c cpu-alpha.c cpu-arc.c cpu-arm.c cpu-avr.c cpu-cris.c cpu-cr16c.c cpu-crx.c cpu-d10v.c cpu-d30v.c cpu-dlx.c cpu-fr30.c cpu-frv.c cpu-h8300.c cpu-h8500.c cpu-hppa.c cpu-ia64.c cpu-i370.c cpu-i386.c cpu-i860.c cpu-i960.c cpu-ip2k.c cpu-iq2000.c cpu-m32r.c cpu-m68hc11.c cpu-m68hc12.c cpu-m68k.c cpu-m88k.c cpu-m10200.c cpu-m10300.c cpu-mcore.c cpu-mips.c cpu-mmix.c cpu-msp430.c cpu-or32.c cpu-ns32k.c cpu-openrisc.c cpu-pdp11.c cpu-pj.c cpu-powerpc.c cpu-rs6000.c cpu-s390.c cpu-sh.c cpu-sparc.c cpu-tic30.c cpu-tic4x.c cpu-tic54x.c cpu-tic80.c cpu-v850.c cpu-vax.c cpu-we32k.c cpu-w65.c cpu-xstormy16.c cpu-xtensa.c cpu-z8k.c +ALL_MACHINES = \ + cpu-a29k.lo \ + cpu-alpha.lo \ + cpu-arc.lo \ + cpu-arm.lo \ + cpu-avr.lo \ + cpu-cr16c.lo \ + cpu-cris.lo \ + cpu-crx.lo \ + cpu-d10v.lo \ + cpu-d30v.lo \ + cpu-dlx.lo \ + cpu-fr30.lo \ + cpu-frv.lo \ + cpu-h8300.lo \ + cpu-h8500.lo \ + cpu-hppa.lo \ + cpu-ia64.lo \ + cpu-i370.lo \ + cpu-i386.lo \ + cpu-i860.lo \ + cpu-i960.lo \ + cpu-ip2k.lo \ + cpu-iq2000.lo \ + cpu-m32r.lo \ + cpu-m68hc11.lo \ + cpu-m68hc12.lo \ + cpu-m68k.lo \ + cpu-m88k.lo \ + cpu-m10200.lo \ + cpu-m10300.lo \ + cpu-mcore.lo \ + cpu-mips.lo \ + cpu-mmix.lo \ + cpu-msp430.lo \ + cpu-or32.lo \ + cpu-ns32k.lo \ + cpu-openrisc.lo \ + cpu-pdp11.lo \ + cpu-pj.lo \ + cpu-powerpc.lo \ + cpu-rs6000.lo \ + cpu-s390.lo \ + cpu-sh.lo \ + cpu-sparc.lo \ + cpu-tic30.lo \ + cpu-tic4x.lo \ + cpu-tic54x.lo \ + cpu-tic80.lo \ + cpu-v850.lo \ + cpu-vax.lo \ + cpu-we32k.lo \ + cpu-w65.lo \ + cpu-xstormy16.lo \ + cpu-xtensa.lo \ + cpu-z8k.lo + +ALL_MACHINES_CFILES = \ + cpu-a29k.c \ + cpu-alpha.c \ + cpu-arc.c \ + cpu-arm.c \ + cpu-avr.c \ + cpu-cris.c \ + cpu-cr16c.c \ + cpu-crx.c \ + cpu-d10v.c \ + cpu-d30v.c \ + cpu-dlx.c \ + cpu-fr30.c \ + cpu-frv.c \ + cpu-h8300.c \ + cpu-h8500.c \ + cpu-hppa.c \ + cpu-ia64.c \ + cpu-i370.c \ + cpu-i386.c \ + cpu-i860.c \ + cpu-i960.c \ + cpu-ip2k.c \ + cpu-iq2000.c \ + cpu-m32r.c \ + cpu-m68hc11.c \ + cpu-m68hc12.c \ + cpu-m68k.c \ + cpu-m88k.c \ + cpu-m10200.c \ + cpu-m10300.c \ + cpu-mcore.c \ + cpu-mips.c \ + cpu-mmix.c \ + cpu-msp430.c \ + cpu-or32.c \ + cpu-ns32k.c \ + cpu-openrisc.c \ + cpu-pdp11.c \ + cpu-pj.c \ + cpu-powerpc.c \ + cpu-rs6000.c \ + cpu-s390.c \ + cpu-sh.c \ + cpu-sparc.c \ + cpu-tic30.c \ + cpu-tic4x.c \ + cpu-tic54x.c \ + cpu-tic80.c \ + cpu-v850.c \ + cpu-vax.c \ + cpu-we32k.c \ + cpu-w65.c \ + cpu-xstormy16.c \ + cpu-xtensa.c \ + cpu-z8k.c # The .o files needed by all of the 32 bit vectors that are configured into # target_vector in targets.c if configured with --enable-targets=all. -BFD32_BACKENDS = aout-adobe.lo aout-arm.lo aout-cris.lo aout-ns32k.lo aout-sparcle.lo aout-tic30.lo aout0.lo aout32.lo armnetbsd.lo bout.lo cf-i386lynx.lo cf-m68klynx.lo cf-sparclynx.lo coff-a29k.lo coff-apollo.lo coff-arm.lo coff-aux.lo coff-h8300.lo coff-h8500.lo coff-i386.lo coff-go32.lo coff-i860.lo coff-i960.lo coff-m68k.lo coff-m88k.lo coff-mips.lo coff-or32.lo coff-rs6000.lo coff-sh.lo coff-sparc.lo coff-stgo32.lo coff-svm68k.lo coff-tic30.lo coff-tic4x.lo coff-tic54x.lo coff-tic80.lo coff-u68k.lo coff-we32k.lo coff-w65.lo coff-z8k.lo cofflink.lo dwarf1.lo ecoff.lo ecofflink.lo efi-app-ia32.lo elf.lo elf32-am33lin.lo elf32-arc.lo elfarm-oabi.lo elfarm-nabi.lo elf32-avr.lo elf32-cr16c.lo elf32-cris.lo elf32-crx.lo elf32-d10v.lo elf32-d30v.lo elf32-dlx.lo elf32-fr30.lo elf32-frv.lo elf32-gen.lo elf32-h8300.lo elf32-hppa.lo elf32-i370.lo elf32-i386.lo elf32-i860.lo elf32-i960.lo elf32-ia64.lo elf32-ip2k.lo elf32-iq2000.lo elf32-m32r.lo elf32-m68hc11.lo elf32-m68hc12.lo elf32-m68hc1x.lo elf32-m68k.lo elf32-m88k.lo elf-m10200.lo elf-m10300.lo elf32-mcore.lo elfxx-mips.lo elf32-mips.lo elf32-msp430.lo elf32-openrisc.lo elf32-or32.lo elf32-pj.lo elf32-ppc.lo elf32-s390.lo elf32-sh.lo elf32-sh-symbian.lo elf32-sh64.lo elf32-sh64-com.lo elf32-sparc.lo elf32-v850.lo elf32-vax.lo elf32-xstormy16.lo elf32-xtensa.lo elf32.lo elflink.lo elf-strtab.lo elf-eh-frame.lo epoc-pe-arm.lo epoc-pei-arm.lo hp300bsd.lo hp300hpux.lo som.lo i386aout.lo i386bsd.lo i386dynix.lo i386freebsd.lo i386linux.lo i386lynx.lo i386msdos.lo i386netbsd.lo i386mach3.lo i386os9k.lo ieee.lo m68k4knetbsd.lo m68klinux.lo m68klynx.lo m68knetbsd.lo m88kmach3.lo m88kopenbsd.lo mach-o.lo mipsbsd.lo newsos3.lo nlm.lo nlm32-i386.lo nlm32-sparc.lo nlm32-ppc.lo nlm32.lo ns32knetbsd.lo oasys.lo pc532-mach.lo pdp11.lo pef.lo pe-arm.lo pei-arm.lo pe-i386.lo pei-i386.lo pe-mcore.lo pei-mcore.lo pe-ppc.lo pei-ppc.lo pe-sh.lo pei-sh.lo pe-mips.lo pei-mips.lo peigen.lo ppcboot.lo reloc16.lo riscix.lo sparclinux.lo sparclynx.lo sparcnetbsd.lo sunos.lo vaxnetbsd.lo vax1knetbsd.lo vaxbsd.lo versados.lo vms.lo vms-gsd.lo vms-hdr.lo vms-misc.lo vms-tir.lo xcofflink.lo xsym.lo xtensa-isa.lo xtensa-modules.lo - - -BFD32_BACKENDS_CFILES = aout-adobe.c aout-arm.c aout-cris.c aout-ns32k.c aout-sparcle.c aout-tic30.c aout0.c aout32.c armnetbsd.c bout.c cf-i386lynx.c cf-m68klynx.c cf-sparclynx.c coff-a29k.c coff-apollo.c coff-arm.c coff-aux.c coff-h8300.c coff-h8500.c coff-i386.c coff-i860.c coff-go32.c coff-i960.c coff-m68k.c coff-m88k.c coff-mips.c coff-or32.c coff-rs6000.c coff-sh.c coff-sparc.c coff-stgo32.c coff-svm68k.c coff-tic30.c coff-tic4x.c coff-tic54x.c coff-tic80.c coff-u68k.c coff-we32k.c coff-w65.c coff-z8k.c cofflink.c dwarf1.c ecoff.c ecofflink.c efi-app-ia32.c elf.c elf32-am33lin.c elf32-arc.c elfarm-oabi.c elfarm-nabi.c elf32-avr.c elf32-cr16c.c elf32-cris.c elf32-crx.c elf32-d10v.c elf32-d30v.c elf32-dlx.c elf32-fr30.c elf32-frv.c elf32-gen.c elf32-h8300.c elf32-hppa.c elf32-i370.c elf32-i386.c elf32-i860.c elf32-i960.c elf32-ip2k.c elf32-iq2000.c elf32-m32r.c elf32-m68k.c elf32-m68hc11.c elf32-m68hc12.c elf32-m68hc1x.c elf32-m88k.c elf-m10200.c elf-m10300.c elf32-mcore.c elfxx-mips.c elf32-mips.c elf32-msp430.c elf32-openrisc.c elf32-or32.c elf32-pj.c elf32-ppc.c elf32-sh64.c elf32-sh64-com.c elf32-s390.c elf32-sh.c elf32-sh-symbian.c elf32-sparc.c elf32-v850.c elf32-vax.c elf32-xstormy16.c elf32-xtensa.c elf32.c elflink.c elf-strtab.c elf-eh-frame.c epoc-pe-arm.c epoc-pei-arm.c hp300bsd.c hp300hpux.c som.c i386aout.c i386bsd.c i386dynix.c i386freebsd.c i386linux.c i386lynx.c i386msdos.c i386netbsd.c i386mach3.c i386os9k.c ieee.c m68k4knetbsd.c m68klinux.c m68klynx.c m68knetbsd.c m88kmach3.c m88kopenbsd.c mach-o.c mipsbsd.c newsos3.c nlm.c nlm32-i386.c nlm32-sparc.c nlm32-ppc.c nlm32.c ns32knetbsd.c oasys.c pc532-mach.c pdp11.c pef.c pe-arm.c pei-arm.c pe-i386.c pei-i386.c pe-mcore.c pei-mcore.c pe-ppc.c pei-ppc.c pe-sh.c pei-sh.c pe-mips.c pei-mips.c ppcboot.c reloc16.c riscix.c sparclinux.c sparclynx.c sparcnetbsd.c sunos.c vaxnetbsd.c vax1knetbsd.c vaxbsd.c versados.c vms.c vms-gsd.c vms-hdr.c vms-misc.c vms-tir.c xcofflink.c xsym.c xtensa-isa.c xtensa-modules.c +BFD32_BACKENDS = \ + aout-adobe.lo \ + aout-arm.lo \ + aout-cris.lo \ + aout-ns32k.lo \ + aout-sparcle.lo \ + aout-tic30.lo \ + aout0.lo \ + aout32.lo \ + armnetbsd.lo \ + bout.lo \ + cf-i386lynx.lo \ + cf-m68klynx.lo \ + cf-sparclynx.lo \ + coff-a29k.lo \ + coff-apollo.lo \ + coff-arm.lo \ + coff-aux.lo \ + coff-h8300.lo \ + coff-h8500.lo \ + coff-i386.lo \ + coff-go32.lo \ + coff-i860.lo \ + coff-i960.lo \ + coff-m68k.lo \ + coff-m88k.lo \ + coff-mips.lo \ + coff-or32.lo \ + coff-rs6000.lo \ + coff-sh.lo \ + coff-sparc.lo \ + coff-stgo32.lo \ + coff-svm68k.lo \ + coff-tic30.lo \ + coff-tic4x.lo \ + coff-tic54x.lo \ + coff-tic80.lo \ + coff-u68k.lo \ + coff-we32k.lo \ + coff-w65.lo \ + coff-z8k.lo \ + cofflink.lo \ + dwarf1.lo \ + ecoff.lo \ + ecofflink.lo \ + efi-app-ia32.lo \ + elf.lo \ + elf32-am33lin.lo \ + elf32-arc.lo \ + elfarm-oabi.lo \ + elfarm-nabi.lo \ + elf32-avr.lo \ + elf32-cr16c.lo \ + elf32-cris.lo \ + elf32-crx.lo \ + elf32-d10v.lo \ + elf32-d30v.lo \ + elf32-dlx.lo \ + elf32-fr30.lo \ + elf32-frv.lo \ + elf32-gen.lo \ + elf32-h8300.lo \ + elf32-hppa.lo \ + elf32-i370.lo \ + elf32-i386.lo \ + elf32-i860.lo \ + elf32-i960.lo \ + elf32-ia64.lo \ + elf32-ip2k.lo \ + elf32-iq2000.lo \ + elf32-m32r.lo \ + elf32-m68hc11.lo \ + elf32-m68hc12.lo \ + elf32-m68hc1x.lo \ + elf32-m68k.lo \ + elf32-m88k.lo \ + elf-m10200.lo \ + elf-m10300.lo \ + elf32-mcore.lo \ + elfxx-mips.lo \ + elf32-mips.lo \ + elf32-msp430.lo \ + elf32-openrisc.lo \ + elf32-or32.lo \ + elf32-pj.lo \ + elf32-ppc.lo \ + elf32-s390.lo \ + elf32-sh.lo \ + elf32-sh-symbian.lo \ + elf32-sh64.lo \ + elf32-sh64-com.lo \ + elf32-sparc.lo \ + elf32-v850.lo \ + elf32-vax.lo \ + elf32-xstormy16.lo \ + elf32-xtensa.lo \ + elf32.lo \ + elflink.lo \ + elf-strtab.lo \ + elf-eh-frame.lo \ + epoc-pe-arm.lo \ + epoc-pei-arm.lo \ + hp300bsd.lo \ + hp300hpux.lo \ + som.lo \ + i386aout.lo \ + i386bsd.lo \ + i386dynix.lo \ + i386freebsd.lo \ + i386linux.lo \ + i386lynx.lo \ + i386msdos.lo \ + i386netbsd.lo \ + i386mach3.lo \ + i386os9k.lo \ + ieee.lo \ + m68k4knetbsd.lo \ + m68klinux.lo \ + m68klynx.lo \ + m68knetbsd.lo \ + m88kmach3.lo \ + m88kopenbsd.lo \ + mach-o.lo \ + mipsbsd.lo \ + newsos3.lo \ + nlm.lo \ + nlm32-i386.lo \ + nlm32-sparc.lo \ + nlm32-ppc.lo \ + nlm32.lo \ + ns32knetbsd.lo \ + oasys.lo \ + pc532-mach.lo \ + pdp11.lo \ + pef.lo \ + pe-arm.lo \ + pei-arm.lo \ + pe-i386.lo \ + pei-i386.lo \ + pe-mcore.lo \ + pei-mcore.lo \ + pe-ppc.lo \ + pei-ppc.lo \ + pe-sh.lo \ + pei-sh.lo \ + pe-mips.lo \ + pei-mips.lo \ + peigen.lo \ + ppcboot.lo \ + reloc16.lo \ + riscix.lo \ + sparclinux.lo \ + sparclynx.lo \ + sparcnetbsd.lo \ + sunos.lo \ + vaxnetbsd.lo \ + vax1knetbsd.lo \ + vaxbsd.lo \ + versados.lo \ + vms.lo \ + vms-gsd.lo \ + vms-hdr.lo \ + vms-misc.lo \ + vms-tir.lo \ + xcofflink.lo \ + xsym.lo \ + xtensa-isa.lo \ + xtensa-modules.lo + +BFD32_BACKENDS_CFILES = \ + aout-adobe.c \ + aout-arm.c \ + aout-cris.c \ + aout-ns32k.c \ + aout-sparcle.c \ + aout-tic30.c \ + aout0.c \ + aout32.c \ + armnetbsd.c \ + bout.c \ + cf-i386lynx.c \ + cf-m68klynx.c \ + cf-sparclynx.c \ + coff-a29k.c \ + coff-apollo.c \ + coff-arm.c \ + coff-aux.c \ + coff-h8300.c \ + coff-h8500.c \ + coff-i386.c \ + coff-i860.c \ + coff-go32.c \ + coff-i960.c \ + coff-m68k.c \ + coff-m88k.c \ + coff-mips.c \ + coff-or32.c \ + coff-rs6000.c \ + coff-sh.c \ + coff-sparc.c \ + coff-stgo32.c \ + coff-svm68k.c \ + coff-tic30.c \ + coff-tic4x.c \ + coff-tic54x.c \ + coff-tic80.c \ + coff-u68k.c \ + coff-we32k.c \ + coff-w65.c \ + coff-z8k.c \ + cofflink.c \ + dwarf1.c \ + ecoff.c \ + ecofflink.c \ + efi-app-ia32.c \ + elf.c \ + elf32-am33lin.c \ + elf32-arc.c \ + elfarm-oabi.c \ + elfarm-nabi.c \ + elf32-avr.c \ + elf32-cr16c.c \ + elf32-cris.c \ + elf32-crx.c \ + elf32-d10v.c \ + elf32-d30v.c \ + elf32-dlx.c \ + elf32-fr30.c \ + elf32-frv.c \ + elf32-gen.c \ + elf32-h8300.c \ + elf32-hppa.c \ + elf32-i370.c \ + elf32-i386.c \ + elf32-i860.c \ + elf32-i960.c \ + elf32-ip2k.c \ + elf32-iq2000.c \ + elf32-m32r.c \ + elf32-m68k.c \ + elf32-m68hc11.c \ + elf32-m68hc12.c \ + elf32-m68hc1x.c \ + elf32-m88k.c \ + elf-m10200.c \ + elf-m10300.c \ + elf32-mcore.c \ + elfxx-mips.c \ + elf32-mips.c \ + elf32-msp430.c \ + elf32-openrisc.c \ + elf32-or32.c \ + elf32-pj.c \ + elf32-ppc.c \ + elf32-sh64.c \ + elf32-sh64-com.c \ + elf32-s390.c \ + elf32-sh.c \ + elf32-sh-symbian.c \ + elf32-sparc.c \ + elf32-v850.c \ + elf32-vax.c \ + elf32-xstormy16.c \ + elf32-xtensa.c \ + elf32.c \ + elflink.c \ + elf-strtab.c \ + elf-eh-frame.c \ + epoc-pe-arm.c \ + epoc-pei-arm.c \ + hp300bsd.c \ + hp300hpux.c \ + som.c \ + i386aout.c \ + i386bsd.c \ + i386dynix.c \ + i386freebsd.c \ + i386linux.c \ + i386lynx.c \ + i386msdos.c \ + i386netbsd.c \ + i386mach3.c \ + i386os9k.c \ + ieee.c \ + m68k4knetbsd.c \ + m68klinux.c \ + m68klynx.c \ + m68knetbsd.c \ + m88kmach3.c \ + m88kopenbsd.c \ + mach-o.c \ + mipsbsd.c \ + newsos3.c \ + nlm.c \ + nlm32-i386.c \ + nlm32-sparc.c \ + nlm32-ppc.c \ + nlm32.c \ + ns32knetbsd.c \ + oasys.c \ + pc532-mach.c \ + pdp11.c \ + pef.c \ + pe-arm.c \ + pei-arm.c \ + pe-i386.c \ + pei-i386.c \ + pe-mcore.c \ + pei-mcore.c \ + pe-ppc.c \ + pei-ppc.c \ + pe-sh.c \ + pei-sh.c \ + pe-mips.c \ + pei-mips.c \ + ppcboot.c \ + reloc16.c \ + riscix.c \ + sparclinux.c \ + sparclynx.c \ + sparcnetbsd.c \ + sunos.c \ + vaxnetbsd.c \ + vax1knetbsd.c \ + vaxbsd.c \ + versados.c \ + vms.c \ + vms-gsd.c \ + vms-hdr.c \ + vms-misc.c \ + vms-tir.c \ + xcofflink.c \ + xsym.c \ + xtensa-isa.c \ + xtensa-modules.c # The .o files needed by all of the 64 bit vectors that are configured into # target_vector in targets.c if configured with --enable-targets=all # and --enable-64-bit-bfd. -BFD64_BACKENDS = aix5ppc-core.lo aout64.lo coff-alpha.lo coff64-rs6000.lo demo64.lo efi-app-ia64.lo elf64-x86-64.lo elf64-alpha.lo elf64-hppa.lo elf64-ia64.lo elf64-gen.lo elfn32-mips.lo elf64-mips.lo elf64-mmix.lo elf64-sh64.lo elf64-ppc.lo elf64-s390.lo elf64-sparc.lo elf64.lo mmo.lo nlm32-alpha.lo nlm64.lo pepigen.lo - - -BFD64_BACKENDS_CFILES = aix5ppc-core.c aout64.c coff-alpha.c coff64-rs6000.c demo64.c efi-app-ia64.c elf64-x86-64.c elf64-alpha.c elf64-hppa.c elf64-gen.c elfn32-mips.c elf64-mips.c elf64-mmix.c elf64-ppc.c elf64-s390.c elf64-sh64.c elf64-sparc.c elf64.c mmo.c nlm32-alpha.c nlm64.c - - -OPTIONAL_BACKENDS = aix386-core.lo hpux-core.lo irix-core.lo lynx-core.lo osf-core.lo sco5-core.lo trad-core.lo cisco-core.lo - - -OPTIONAL_BACKENDS_CFILES = aix386-core.c hpux-core.c irix-core.c lynx-core.c osf-core.c sco5-core.c trad-core.c cisco-core.c +BFD64_BACKENDS = \ + aix5ppc-core.lo \ + aout64.lo \ + coff-alpha.lo \ + coff64-rs6000.lo \ + demo64.lo \ + efi-app-ia64.lo \ + elf64-x86-64.lo \ + elf64-alpha.lo \ + elf64-hppa.lo \ + elf64-ia64.lo \ + elf64-gen.lo \ + elfn32-mips.lo \ + elf64-mips.lo \ + elf64-mmix.lo \ + elf64-sh64.lo \ + elf64-ppc.lo \ + elf64-s390.lo \ + elf64-sparc.lo \ + elf64.lo \ + mmo.lo \ + nlm32-alpha.lo \ + nlm64.lo \ + pepigen.lo + +BFD64_BACKENDS_CFILES = \ + aix5ppc-core.c \ + aout64.c \ + coff-alpha.c \ + coff64-rs6000.c \ + demo64.c \ + efi-app-ia64.c \ + elf64-x86-64.c \ + elf64-alpha.c \ + elf64-hppa.c \ + elf64-gen.c \ + elfn32-mips.c \ + elf64-mips.c \ + elf64-mmix.c \ + elf64-ppc.c \ + elf64-s390.c \ + elf64-sh64.c \ + elf64-sparc.c \ + elf64.c \ + mmo.c \ + nlm32-alpha.c \ + nlm64.c + +OPTIONAL_BACKENDS = \ + aix386-core.lo \ + hpux-core.lo \ + irix-core.lo \ + lynx-core.lo \ + osf-core.lo \ + sco5-core.lo \ + trad-core.lo \ + cisco-core.lo + +OPTIONAL_BACKENDS_CFILES = \ + aix386-core.c \ + hpux-core.c \ + irix-core.c \ + lynx-core.c \ + osf-core.c \ + sco5-core.c \ + trad-core.c \ + cisco-core.c + + +# We want to rerun configure if configure.in, config.bfd or +# configure.host change. configure.in is needed since the version +# number in Makefile comes from configure.in. +CONFIG_STATUS_DEPENDENCIES = \ + $(srcdir)/configure.in \ + $(srcdir)/config.bfd \ + $(srcdir)/configure.host # These are defined by configure.in: @@ -212,26 +831,36 @@ BFD_BACKENDS = @bfd_backends@ BFD_LIBS = @bfd_libs@ BFD_MACHINES = @bfd_machines@ TDEFAULTS = @tdefaults@ - INCLUDES = -D_GNU_SOURCE @HDEFINES@ @COREFLAG@ @TDEFINES@ $(CSEARCH) $(CSWITCHES) -I$(srcdir)/../intl -I../intl # C source files that correspond to .o's. -SOURCE_CFILES = $(BFD32_LIBS_CFILES) $(BFD64_LIBS_CFILES) $(ALL_MACHINES_CFILES) $(BFD32_BACKENDS_CFILES) $(BFD64_BACKENDS_CFILES) $(OPTIONAL_BACKENDS_CFILES) - - -BUILD_CFILES = elf32-ia64.c elf64-ia64.c peigen.c pepigen.c +SOURCE_CFILES = \ + $(BFD32_LIBS_CFILES) \ + $(BFD64_LIBS_CFILES) \ + $(ALL_MACHINES_CFILES) \ + $(BFD32_BACKENDS_CFILES) \ + $(BFD64_BACKENDS_CFILES) \ + $(OPTIONAL_BACKENDS_CFILES) +BUILD_CFILES = \ + elf32-ia64.c elf64-ia64.c peigen.c pepigen.c CFILES = $(SOURCE_CFILES) $(BUILD_CFILES) - -SOURCE_HFILES = aout-target.h aoutf1.h aoutx.h coffcode.h coffswap.h ecoffswap.h elf-bfd.h elf-hppa.h elf32-arm.h elf32-hppa.h elf64-hppa.h elfcode.h elfcore.h freebsd.h genlink.h go32stub.h libaout.h libbfd.h libcoff.h libecoff.h libhppa.h libieee.h libnlm.h liboasys.h libpei.h libxcoff.h mach-o.h netbsd.h nlm-target.h nlmcode.h nlmswap.h ns32k.h pef.h pef-traceback.h peicode.h som.h version.h vms.h xcoff-target.h xsym.h - - -BUILD_HFILES = bfdver.h elf32-target.h elf64-target.h targmatch.h - +SOURCE_HFILES = \ + aout-target.h aoutf1.h aoutx.h coffcode.h coffswap.h ecoffswap.h \ + elf-bfd.h elf-hppa.h elf32-arm.h elf32-hppa.h \ + elf64-hppa.h elfcode.h elfcore.h \ + freebsd.h genlink.h go32stub.h \ + libaout.h libbfd.h libcoff.h libecoff.h libhppa.h libieee.h \ + libnlm.h liboasys.h libpei.h libxcoff.h mach-o.h \ + netbsd.h nlm-target.h nlmcode.h nlmswap.h ns32k.h \ + pef.h pef-traceback.h peicode.h som.h version.h \ + vms.h xcoff-target.h xsym.h + +BUILD_HFILES = \ + bfdver.h elf32-target.h elf64-target.h targmatch.h HFILES = $(SOURCE_HFILES) $(BUILD_HFILES) - SRC_POTFILES = $(SOURCE_CFILES) $(SOURCE_HFILES) BLD_POTFILES = $(BUILD_CFILES) $(BUILD_HFILES) @@ -240,7 +869,6 @@ BLD_POTFILES = $(BUILD_CFILES) $(BUILD_HFILES) # BFD_MACHINES Architecture-specific routines the configured targets need. # COREFILE Core file routines for a native configuration OFILES = $(BFD_BACKENDS) $(BFD_MACHINES) @COREFILE@ - libbfd_la_SOURCES = $(BFD32_LIBS_CFILES) $(BFD64_LIBS_CFILES) libbfd_la_DEPENDENCIES = $(OFILES) ofiles libbfd_la_LIBADD = `cat ofiles` @WIN32LIBADD@ @@ -250,150 +878,112 @@ libbfd_la_LDFLAGS = -release $(VERSION) @WIN32LDFLAGS@ # directory so that we don't have to convert all the programs that use # libbfd.a simultaneously. This is a hack which should be removed if # everything else starts using libtool. FIXME. - noinst_LIBRARIES = libbfd.a libbfd_a_SOURCES = - BFD_H_DEPS = $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h LOCAL_H_DEPS = libbfd.h sysdep.h config.h - -BFD_H_FILES = bfd-in.h init.c opncls.c libbfd.c section.c archures.c reloc.c syms.c bfd.c bfdio.c bfdwin.c archive.c corefile.c targets.c format.c +BFD_H_FILES = bfd-in.h init.c opncls.c libbfd.c section.c archures.c \ + reloc.c syms.c bfd.c bfdio.c bfdwin.c \ + archive.c corefile.c targets.c format.c BFD64_H_FILES = archive64.c -LIBBFD_H_FILES = libbfd-in.h init.c libbfd.c bfdio.c bfdwin.c cache.c reloc.c archures.c elf.c +LIBBFD_H_FILES = libbfd-in.h init.c libbfd.c bfdio.c bfdwin.c \ + cache.c reloc.c archures.c elf.c LIBCOFF_H_FILES = libcoff-in.h coffcode.h - MOSTLYCLEANFILES = ofiles stamp-ofiles - -CLEANFILES = bfd.h dep.sed stmp-bfd-h DEP DEPA DEP1 DEP2 libbfd.a stamp-lib stmp-bin2-h stmp-lbfd-h stmp-lcoff-h - +CLEANFILES = bfd.h dep.sed stmp-bfd-h DEP DEPA DEP1 DEP2 libbfd.a stamp-lib \ + stmp-bin2-h stmp-lbfd-h stmp-lcoff-h DISTCLEANFILES = $(BUILD_CFILES) $(BUILD_HFILES) -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = bfd-in3.h -LIBRARIES = $(noinst_LIBRARIES) - - -DEFS = @DEFS@ -I. -I$(srcdir) -I. -CPPFLAGS = @CPPFLAGS@ -LDFLAGS = @LDFLAGS@ -LIBS = @LIBS@ -libbfd_a_LIBADD = -libbfd_a_OBJECTS = -LTLIBRARIES = $(bfdlib_LTLIBRARIES) - -libbfd_la_OBJECTS = archive.lo archures.lo bfd.lo bfdio.lo bfdwin.lo \ -cache.lo coffgen.lo corefile.lo format.lo init.lo libbfd.lo opncls.lo \ -reloc.lo section.lo syms.lo targets.lo hash.lo linker.lo srec.lo \ -binary.lo tekhex.lo ihex.lo stabs.lo stab-syms.lo merge.lo dwarf2.lo \ -simple.lo archive64.lo -CFLAGS = @CFLAGS@ -COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ -DIST_COMMON = README ./stamp-h.in COPYING ChangeLog Makefile.am \ -Makefile.in TODO acinclude.m4 aclocal.m4 bfd-in2.h config.in configure \ -configure.in - - -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = tar -GZIP_ENV = --best -SOURCES = $(libbfd_a_SOURCES) $(libbfd_la_SOURCES) -OBJECTS = $(libbfd_a_OBJECTS) $(libbfd_la_OBJECTS) +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive -all: all-redirect .SUFFIXES: -.SUFFIXES: .S .c .lo .o .obj .s -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status +.SUFFIXES: .c .lo .o .obj +am--refresh: + @: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --cygnus '; \ + cd $(srcdir) && $(AUTOMAKE) --cygnus \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --cygnus Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in acinclude.m4 - cd $(srcdir) && $(ACLOCAL) -$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -config.h: stamp-h +config.h: stamp-h1 @if test ! -f $@; then \ - rm -f stamp-h; \ - $(MAKE) stamp-h; \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ else :; fi -stamp-h: $(srcdir)/config.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES= CONFIG_HEADERS=config.h:config.in \ - $(SHELL) ./config.status - @echo timestamp > stamp-h 2> /dev/null -$(srcdir)/config.in: @MAINTAINER_MODE_TRUE@$(srcdir)/stamp-h.in - @if test ! -f $@; then \ - rm -f $(srcdir)/stamp-h.in; \ - $(MAKE) $(srcdir)/stamp-h.in; \ - else :; fi -$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOHEADER) - @echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null - -mostlyclean-hdr: -clean-hdr: +stamp-h1: $(srcdir)/config.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ distclean-hdr: - -rm -f config.h - -maintainer-clean-hdr: -bfd-in3.h: $(top_builddir)/config.status bfd-in2.h - cd $(top_builddir) && CONFIG_FILES=$@:bfd-in2.h CONFIG_HEADERS= $(SHELL) ./config.status - -mostlyclean-noinstLIBRARIES: + -rm -f config.h stamp-h1 +bfd-in3.h: $(top_builddir)/config.status $(srcdir)/bfd-in2.h + cd $(top_builddir) && $(SHELL) ./config.status $@ +po/Makefile.in: $(top_builddir)/config.status $(top_srcdir)/po/Make-in + cd $(top_builddir) && $(SHELL) ./config.status $@ clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -distclean-noinstLIBRARIES: - -maintainer-clean-noinstLIBRARIES: - -.c.o: - $(COMPILE) -c $< - -# FIXME: We should only use cygpath when building on Windows, -# and only if it is available. -.c.obj: - $(COMPILE) -c `cygpath -w $<` - -.s.o: - $(COMPILE) -c $< - -.S.o: - $(COMPILE) -c $< +clean-bfdlibLTLIBRARIES: + -test -z "$(bfdlib_LTLIBRARIES)" || rm -f $(bfdlib_LTLIBRARIES) + @list='$(bfdlib_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libbfd.la: $(libbfd_la_OBJECTS) $(libbfd_la_DEPENDENCIES) + $(LINK) -rpath $(bfdlibdir) $(libbfd_la_LDFLAGS) $(libbfd_la_OBJECTS) $(libbfd_la_LIBADD) $(LIBS) mostlyclean-compile: - -rm -f *.o core *.core -rm -f *.$(OBJEXT) -clean-compile: - distclean-compile: -rm -f *.tab.c -maintainer-clean-compile: - -.c.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< +.c.o: + $(COMPILE) -c $< -.s.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< +.c.obj: + $(COMPILE) -c `$(CYGPATH_W) '$<'` -.S.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< +.c.lo: + $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo @@ -402,20 +992,8 @@ clean-libtool: -rm -rf .libs _libs distclean-libtool: - -maintainer-clean-libtool: - -mostlyclean-bfdlibLTLIBRARIES: - -clean-bfdlibLTLIBRARIES: - -test -z "$(bfdlib_LTLIBRARIES)" || rm -f $(bfdlib_LTLIBRARIES) - -distclean-bfdlibLTLIBRARIES: - -maintainer-clean-bfdlibLTLIBRARIES: - -libbfd.la: $(libbfd_la_OBJECTS) $(libbfd_la_DEPENDENCIES) - $(LINK) -rpath $(bfdlibdir) $(libbfd_la_LDFLAGS) $(libbfd_la_OBJECTS) $(libbfd_la_LIBADD) $(LIBS) + -rm -f libtool +uninstall-info-am: # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. @@ -423,13 +1001,8 @@ libbfd.la: $(libbfd_la_OBJECTS) $(libbfd_la_DEPENDENCIES) # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. - -@SET_MAKE@ - -all-recursive install-data-recursive install-exec-recursive \ -installdirs-recursive install-recursive uninstall-recursive install-info-recursive \ -check-recursive installcheck-recursive info-recursive dvi-recursive: - @set fnord $(MAKEFLAGS); amf=$$2; \ +$(RECURSIVE_TARGETS): + @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -449,13 +1022,18 @@ check-recursive installcheck-recursive info-recursive dvi-recursive: mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: - @set fnord $(MAKEFLAGS); amf=$$2; \ + @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ - rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ - rev="$$subdir $$rev"; \ - test "$$subdir" != "." || dot_seen=yes; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ done; \ - test "$$dot_seen" = "no" && rev=". $$rev"; \ + rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ @@ -471,132 +1049,93 @@ tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ - here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $$unique $(LISP) + mkid -fID $$unique +tags: TAGS -TAGS: tags-recursive $(HEADERS) $(SOURCES) config.in $(TAGS_DEPENDENCIES) $(LISP) +TAGS: tags-recursive $(HEADERS) $(SOURCES) config.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ - fi; \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ done; \ - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ + list='$(SOURCES) $(HEADERS) config.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)config.in$$unique$(LISP)$$tags" \ - || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags config.in $$unique $(LISP)) - -mostlyclean-tags: + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique -clean-tags: +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here distclean-tags: - -rm -f TAGS ID - -maintainer-clean-tags: - -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - -rm -rf $(distdir) - GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz - mkdir $(distdir)/=build - mkdir $(distdir)/=inst - dc_install_base=`cd $(distdir)/=inst && pwd`; \ - cd $(distdir)/=build \ - && ../configure --srcdir=.. --prefix=$$dc_install_base \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) dist - -rm -rf $(distdir) - @banner="$(distdir).tar.gz is ready for distribution"; \ - dashes=`echo "$$banner" | sed s/./=/g`; \ - echo "$$dashes"; \ - echo "$$banner"; \ - echo "$$dashes" -dist: distdir - -chmod -R a+r $(distdir) - GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) - -rm -rf $(distdir) -dist-all: distdir - -chmod -R a+r $(distdir) - GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) - -rm -rf $(distdir) -distdir: $(DISTFILES) - -rm -rf $(distdir) - mkdir $(distdir) - -chmod 777 $(distdir) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - cp -pr $$d/$$file $(distdir)/$$file; \ - else \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file || :; \ - fi; \ - done - for subdir in $(SUBDIRS); do \ - if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ - || exit 1; \ - chmod 777 $(distdir)/$$subdir; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \ - || exit 1; \ - fi; \ - done -info-am: -info: info-recursive -dvi-am: -dvi: dvi-recursive + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-am: check: check-recursive -installcheck-am: -installcheck: installcheck-recursive -install-info-am: -install-info: install-info-recursive -all-recursive-am: config.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -install-exec-am: +all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) config.h +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(bfdlibdir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-recursive install-exec: install-exec-recursive - -install-data-am: install-bfdlibLTLIBRARIES install-data: install-data-recursive +uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-recursive -uninstall-am: uninstall-bfdlibLTLIBRARIES -uninstall: uninstall-recursive -all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) config.h -all-redirect: all-recursive-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: installdirs-recursive -installdirs-am: - $(mkinstalldirs) $(DESTDIR)$(bfdlibdir) - +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) @@ -604,65 +1143,81 @@ clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -rm -f config.cache config.log stamp-h stamp-h[0-9]* + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: -mostlyclean-am: mostlyclean-hdr mostlyclean-noinstLIBRARIES \ - mostlyclean-compile mostlyclean-libtool \ - mostlyclean-bfdlibLTLIBRARIES mostlyclean-tags \ - mostlyclean-generic + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive -mostlyclean: mostlyclean-recursive +clean-am: clean-bfdlibLTLIBRARIES clean-generic clean-libtool \ + clean-noinstLIBRARIES mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-tags -clean-am: clean-hdr clean-noinstLIBRARIES clean-compile clean-libtool \ - clean-bfdlibLTLIBRARIES clean-tags clean-generic \ - mostlyclean-am +dvi: dvi-recursive -clean: clean-recursive +dvi-am: -distclean-am: distclean-hdr distclean-noinstLIBRARIES distclean-compile \ - distclean-libtool distclean-bfdlibLTLIBRARIES \ - distclean-tags distclean-generic clean-am - -rm -f libtool +html: html-recursive -distclean: distclean-recursive - -rm -f config.status - -maintainer-clean-am: maintainer-clean-hdr \ - maintainer-clean-noinstLIBRARIES \ - maintainer-clean-compile maintainer-clean-libtool \ - maintainer-clean-bfdlibLTLIBRARIES \ - maintainer-clean-tags maintainer-clean-generic \ - distclean-am - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." +info: info-recursive + +info-am: + +install-data-am: install-bfdlibLTLIBRARIES + +install-exec-am: + +install-info: install-info-recursive + +install-man: + +installcheck-am: maintainer-clean: maintainer-clean-recursive - -rm -f config.status - -.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \ -mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \ -clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \ -mostlyclean-compile distclean-compile clean-compile \ -maintainer-clean-compile mostlyclean-libtool distclean-libtool \ -clean-libtool maintainer-clean-libtool mostlyclean-bfdlibLTLIBRARIES \ -distclean-bfdlibLTLIBRARIES clean-bfdlibLTLIBRARIES \ -maintainer-clean-bfdlibLTLIBRARIES uninstall-bfdlibLTLIBRARIES \ -install-bfdlibLTLIBRARIES install-data-recursive \ -uninstall-data-recursive install-exec-recursive \ -uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \ -all-recursive check-recursive installcheck-recursive info-recursive \ -dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \ -maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ -distclean-tags clean-tags maintainer-clean-tags distdir info-am info \ -dvi-am dvi check check-am installcheck-am installcheck install-info-am \ -install-info all-recursive-am install-exec-am install-exec \ -install-data-am install-data install-am install uninstall-am uninstall \ -all-redirect all-am all installdirs-am installdirs mostlyclean-generic \ -distclean-generic clean-generic maintainer-clean-generic clean \ -mostlyclean distclean maintainer-clean + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-bfdlibLTLIBRARIES + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-bfdlibLTLIBRARIES clean-generic \ + clean-libtool clean-noinstLIBRARIES clean-recursive ctags \ + ctags-recursive distclean distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-recursive \ + distclean-tags dvi dvi-am html html-am info info-am install \ + install-am install-bfdlibLTLIBRARIES install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic maintainer-clean-recursive \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am \ + uninstall-bfdlibLTLIBRARIES uninstall-info-am po/SRC-POTFILES.in: @MAINT@ Makefile $(SRC_POTFILES) @@ -786,8 +1341,6 @@ uninstall_libbfd: rm -f $(DESTDIR)$(bfdincludedir)/symcat.h rm -f $(DESTDIR)$(bfdincludedir)/bfdlink.h -Makefile: $(srcdir)/configure.in - # Have to get rid of DEP1 here so that "$?" later includes all of $(CFILES). DEP: dep.sed $(CFILES) $(HFILES) bfd.h rm -f DEP1 @@ -879,10 +1432,6 @@ stmp-lcoff-h: $(LIBCOFF_H_FILES) $(SHELL) $(srcdir)/../move-if-change libcoff.h-new $(srcdir)/libcoff.h touch stmp-lcoff-h -# We want to rerun configure if configure, config.bfd or configure.host change. -config.status: $(srcdir)/configure $(srcdir)/config.bfd $(srcdir)/configure.host - $(SHELL) ./config.status --recheck - bfdver.h: $(srcdir)/version.h $(srcdir)/Makefile.in @echo "creating $@" @bfd_version=`echo "$(VERSION)" | sed -e 's/\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\).*/\1.00\2.00\3.00\4.00\5/' -e 's/\([^\.]*\)\..*\(..\)\..*\(..\)\..*\(..\)\..*\(..\)$$/\1\2\3\4\5/'` ;\ @@ -1180,9 +1729,9 @@ elf32-cris.lo: elf32-cris.c $(INCDIR)/filenames.h elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(INCDIR)/elf/cris.h $(INCDIR)/elf/reloc-macros.h \ elf32-target.h -elf32-crx.lo: elf32-crx.c $(INCDIR)/filenames.h elf-bfd.h \ - $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ - $(INCDIR)/bfdlink.h $(INCDIR)/elf/crx.h $(INCDIR)/elf/reloc-macros.h \ +elf32-crx.lo: elf32-crx.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ + elf-bfd.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \ + $(INCDIR)/elf/external.h $(INCDIR)/elf/crx.h $(INCDIR)/elf/reloc-macros.h \ elf32-target.h elf32-d10v.lo: elf32-d10v.c $(INCDIR)/filenames.h elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ @@ -1329,10 +1878,10 @@ elf32-sh.lo: elf32-sh.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ $(INCDIR)/elf/external.h $(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h \ $(INCDIR)/libiberty.h $(srcdir)/../opcodes/sh-opc.h \ elf32-target.h -elf32-sh-symbian.lo: elf32-sh-symbian.c elf32-sh.c $(INCDIR)/filenames.h \ - $(INCDIR)/bfdlink.h elf-bfd.h $(INCDIR)/elf/common.h \ - $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/sh.h \ - $(INCDIR)/elf/reloc-macros.h $(INCDIR)/libiberty.h \ +elf32-sh-symbian.lo: elf32-sh-symbian.c elf32-sh.c \ + $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h elf-bfd.h \ + $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ + $(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h $(INCDIR)/libiberty.h \ $(srcdir)/../opcodes/sh-opc.h elf32-target.h elf32-sparc.lo: elf32-sparc.c $(INCDIR)/filenames.h \ $(INCDIR)/bfdlink.h elf-bfd.h $(INCDIR)/elf/common.h \ @@ -1565,7 +2114,8 @@ xcofflink.lo: xcofflink.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ xsym.lo: xsym.c xsym.h $(INCDIR)/filenames.h xtensa-isa.lo: xtensa-isa.c $(INCDIR)/xtensa-isa.h \ $(INCDIR)/xtensa-isa-internal.h -xtensa-modules.lo: xtensa-modules.c $(INCDIR)/xtensa-isa-internal.h +xtensa-modules.lo: xtensa-modules.c $(INCDIR)/xtensa-isa.h \ + $(INCDIR)/xtensa-isa-internal.h aix5ppc-core.lo: aix5ppc-core.c aout64.lo: aout64.c aoutx.h $(INCDIR)/filenames.h $(INCDIR)/safe-ctype.h \ $(INCDIR)/bfdlink.h libaout.h $(INCDIR)/aout/aout64.h \ @@ -1680,7 +2230,6 @@ pepigen.lo: pepigen.c $(INCDIR)/filenames.h $(INCDIR)/coff/internal.h \ $(INCDIR)/coff/ia64.h $(INCDIR)/coff/external.h $(INCDIR)/coff/pe.h \ libcoff.h $(INCDIR)/bfdlink.h libpei.h # IF YOU PUT ANYTHING HERE IT WILL GO AWAY - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/bfd/aclocal.m4 b/bfd/aclocal.m4 index 4759a9f2f6e..49e8d5bac91 100644 --- a/bfd/aclocal.m4 +++ b/bfd/aclocal.m4 @@ -1,1067 +1,835 @@ -dnl aclocal.m4 generated automatically by aclocal 1.4-p6 - -dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl This program is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without -dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A -dnl PARTICULAR PURPOSE. - -sinclude(../config/accross.m4) -sinclude(../config/acx.m4) - -dnl See whether we need to use fopen-bin.h rather than fopen-same.h. -AC_DEFUN([BFD_BINARY_FOPEN], -[AC_REQUIRE([AC_CANONICAL_TARGET]) -case "${host}" in -changequote(,)dnl -*-*-msdos* | *-*-go32* | *-*-mingw32* | *-*-cygwin* | *-*-windows*) -changequote([,])dnl - AC_DEFINE(USE_BINARY_FOPEN, 1, [Use b modifier when opening binary files?]) ;; -esac])dnl - -dnl Get a default for CC_FOR_BUILD to put into Makefile. -AC_DEFUN([BFD_CC_FOR_BUILD], -[# Put a plausible default for CC_FOR_BUILD in Makefile. -if test -z "$CC_FOR_BUILD"; then - if test "x$cross_compiling" = "xno"; then - CC_FOR_BUILD='$(CC)' - else - CC_FOR_BUILD=gcc - fi -fi -AC_SUBST(CC_FOR_BUILD) -# Also set EXEEXT_FOR_BUILD. -if test "x$cross_compiling" = "xno"; then - EXEEXT_FOR_BUILD='$(EXEEXT)' +# generated automatically by aclocal 1.9.1 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# -*- Autoconf -*- +# Copyright (C) 2002, 2003 Free Software Foundation, Inc. +# Generated from amversion.in; do not edit by hand. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION so it can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], + [AM_AUTOMAKE_VERSION([1.9.1])]) + +# AM_AUX_DIR_EXPAND + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997, 2000, 2001, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 6 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE]) +AC_SUBST([$1_FALSE]) +if $2; then + $1_TRUE= + $1_FALSE='#' else - AC_CACHE_CHECK([for build system executable suffix], bfd_cv_build_exeext, - [rm -f conftest* - echo 'int main () { return 0; }' > conftest.c - bfd_cv_build_exeext= - ${CC_FOR_BUILD} -o conftest conftest.c 1>&5 2>&5 - for file in conftest.*; do - case $file in - *.c | *.o | *.obj | *.ilk | *.pdb) ;; - *) bfd_cv_build_exeext=`echo $file | sed -e s/conftest//` ;; - esac - done - rm -f conftest* - test x"${bfd_cv_build_exeext}" = x && bfd_cv_build_exeext=no]) - EXEEXT_FOR_BUILD="" - test x"${bfd_cv_build_exeext}" != xno && EXEEXT_FOR_BUILD=${bfd_cv_build_exeext} -fi -AC_SUBST(EXEEXT_FOR_BUILD)])dnl - -dnl See whether we need a declaration for a function. -AC_DEFUN([BFD_NEED_DECLARATION], -[AC_MSG_CHECKING([whether $1 must be declared]) -AC_CACHE_VAL(bfd_cv_decl_needed_$1, -[AC_TRY_COMPILE([ -#include -#ifdef HAVE_STRING_H -#include -#else -#ifdef HAVE_STRINGS_H -#include -#endif -#endif -#ifdef HAVE_STDLIB_H -#include -#endif -#ifdef HAVE_UNISTD_H -#include -#endif], -[char *(*pfn) = (char *(*)) $1], -bfd_cv_decl_needed_$1=no, bfd_cv_decl_needed_$1=yes)]) -AC_MSG_RESULT($bfd_cv_decl_needed_$1) -if test $bfd_cv_decl_needed_$1 = yes; then - AC_DEFINE([NEED_DECLARATION_]translit($1, [a-z], [A-Z]), 1, - [Define if $1 is not declared in system header files.]) + $1_TRUE='#' + $1_FALSE= fi -])dnl - -dnl Check for existence of a type $1 in sys/procfs.h - -AC_DEFUN([BFD_HAVE_SYS_PROCFS_TYPE], -[AC_MSG_CHECKING([for $1 in sys/procfs.h]) - AC_CACHE_VAL(bfd_cv_have_sys_procfs_type_$1, - [AC_TRY_COMPILE([ -#define _SYSCALL32 -#include ], - [$1 avar], - bfd_cv_have_sys_procfs_type_$1=yes, - bfd_cv_have_sys_procfs_type_$1=no - )]) - if test $bfd_cv_have_sys_procfs_type_$1 = yes; then - AC_DEFINE([HAVE_]translit($1, [a-z], [A-Z]), 1, - [Define if has $1.]) - fi - AC_MSG_RESULT($bfd_cv_have_sys_procfs_type_$1) -]) +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) +# serial 7 -*- Autoconf -*- -dnl Check for existence of member $2 in type $1 in sys/procfs.h - -AC_DEFUN([BFD_HAVE_SYS_PROCFS_TYPE_MEMBER], -[AC_MSG_CHECKING([for $1.$2 in sys/procfs.h]) - AC_CACHE_VAL(bfd_cv_have_sys_procfs_type_member_$1_$2, - [AC_TRY_COMPILE([ -#define _SYSCALL32 -#include ], - [$1 avar; void* aref = (void*) &avar.$2], - bfd_cv_have_sys_procfs_type_member_$1_$2=yes, - bfd_cv_have_sys_procfs_type_member_$1_$2=no - )]) - if test $bfd_cv_have_sys_procfs_type_member_$1_$2 = yes; then - AC_DEFINE([HAVE_]translit($1, [a-z], [A-Z])[_]translit($2, [a-z], [A-Z]), 1, - [Define if has $1.$2.]) - fi - AC_MSG_RESULT($bfd_cv_have_sys_procfs_type_member_$1_$2) -]) +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. -sinclude(../libtool.m4) -dnl The lines below arrange for aclocal not to bring libtool.m4 -dnl AM_PROG_LIBTOOL into aclocal.m4, while still arranging for automake -dnl to add a definition of LIBTOOL to Makefile.in. -ifelse(yes,no,[ -AC_DEFUN([AM_PROG_LIBTOOL],) -AC_DEFUN([AM_DISABLE_SHARED],) -AC_SUBST(LIBTOOL) -]) +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. -sinclude(../gettext.m4) -ifelse(yes,no,[ -AC_DEFUN([CY_WITH_NLS],) -AC_SUBST(INTLLIBS) -]) +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. -AC_DEFUN([AM_INSTALL_LIBBFD], -[AC_MSG_CHECKING([whether to install libbfd]) - AC_ARG_ENABLE(install-libbfd, -[ --enable-install-libbfd controls installation of libbfd and related headers], - install_libbfd_p=$enableval, - if test "${host}" = "${target}" || test "$enable_shared" = "yes"; then - install_libbfd_p=yes - else - install_libbfd_p=no - fi) - AC_MSG_RESULT($install_libbfd_p) - AM_CONDITIONAL(INSTALL_LIBBFD, test $install_libbfd_p = yes) - # Need _noncanonical variables for this. - ACX_NONCANONICAL_HOST - ACX_NONCANONICAL_TARGET - # libbfd.a is a host library containing target dependent code - bfdlibdir='$(libdir)' - bfdincludedir='$(includedir)' - if test "${host}" != "${target}"; then - bfdlibdir='$(exec_prefix)/$(host_noncanonical)/$(target_noncanonical)/lib' - bfdincludedir='$(exec_prefix)/$(host_noncanonical)/$(target_noncanonical)/include' +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi - AC_SUBST(bfdlibdir) - AC_SUBST(bfdincludedir) -] -) + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf -# lib-prefix.m4 serial 3 (gettext-0.13) -dnl Copyright (C) 2001-2003 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible. - -dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and -dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't -dnl require excessive bracketing. -ifdef([AC_HELP_STRING], -[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], -[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) - -dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed -dnl to access previously installed libraries. The basic assumption is that -dnl a user will want packages to use other packages he previously installed -dnl with the same --prefix option. -dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate -dnl libraries, but is otherwise very convenient. -AC_DEFUN([AC_LIB_PREFIX], -[ - AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - dnl By default, look in $includedir and $libdir. - use_additional=yes - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - AC_LIB_ARG_WITH([lib-prefix], -[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib - --without-lib-prefix don't search for libraries in includedir and libdir], -[ - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue else - additional_includedir="$withval/include" - additional_libdir="$withval/lib" - fi - fi -]) - if test $use_additional = yes; then - dnl Potentially add $additional_includedir to $CPPFLAGS. - dnl But don't add it - dnl 1. if it's the standard /usr/include, - dnl 2. if it's already present in $CPPFLAGS, - dnl 3. if it's /usr/local/include and we are using GCC on Linux, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - for x in $CPPFLAGS; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux*) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - dnl Really add $additional_includedir to $CPPFLAGS. - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" - fi - fi + break fi - fi - dnl Potentially add $additional_libdir to $LDFLAGS. - dnl But don't add it - dnl 1. if it's the standard /usr/lib, - dnl 2. if it's already present in $LDFLAGS, - dnl 3. if it's /usr/local/lib and we are using GCC on Linux, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_libdir" != "X/usr/lib"; then - haveit= - for x in $LDFLAGS; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test "X$additional_libdir" = "X/usr/local/lib"; then - if test -n "$GCC"; then - case $host_os in - linux*) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LDFLAGS. - LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" - fi - fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break fi fi - fi -]) + done -dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, -dnl acl_final_exec_prefix, containing the values to which $prefix and -dnl $exec_prefix will expand at the end of the configure script. -AC_DEFUN([AC_LIB_PREPARE_PREFIX], -[ - dnl Unfortunately, prefix and exec_prefix get only finally determined - dnl at the end of configure. - if test "X$prefix" = "XNONE"; then - acl_final_prefix="$ac_default_prefix" - else - acl_final_prefix="$prefix" - fi - if test "X$exec_prefix" = "XNONE"; then - acl_final_exec_prefix='${prefix}' - else - acl_final_exec_prefix="$exec_prefix" - fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" - prefix="$acl_save_prefix" + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) -dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the -dnl variables prefix and exec_prefix bound to the values they will have -dnl at the end of the configure script. -AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], -[ - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - $1 - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) -# lib-link.m4 serial 4 (gettext-0.12) -dnl Copyright (C) 2001-2003 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible. - -dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and -dnl the libraries corresponding to explicit and implicit dependencies. -dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and -dnl augments the CPPFLAGS variable. -AC_DEFUN([AC_LIB_LINKFLAGS], -[ - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - define([Name],[translit([$1],[./-], [___])]) - define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ - AC_LIB_LINKFLAGS_BODY([$1], [$2]) - ac_cv_lib[]Name[]_libs="$LIB[]NAME" - ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" - ac_cv_lib[]Name[]_cppflags="$INC[]NAME" - ]) - LIB[]NAME="$ac_cv_lib[]Name[]_libs" - LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" - INC[]NAME="$ac_cv_lib[]Name[]_cppflags" - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) - AC_SUBST([LIB]NAME) - AC_SUBST([LTLIB]NAME) - dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the - dnl results of this search when this library appears as a dependency. - HAVE_LIB[]NAME=yes - undefine([Name]) - undefine([NAME]) + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH]) ]) -dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) -dnl searches for libname and the libraries corresponding to explicit and -dnl implicit dependencies, together with the specified include files and -dnl the ability to compile and link the specified testcode. If found, it -dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and -dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and -dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs -dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. -AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], -[ - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - define([Name],[translit([$1],[./-], [___])]) - define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - - dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME - dnl accordingly. - AC_LIB_LINKFLAGS_BODY([$1], [$2]) - - dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, - dnl because if the user has installed lib[]Name and not disabled its use - dnl via --without-lib[]Name-prefix, he wants to use it. - ac_save_CPPFLAGS="$CPPFLAGS" - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) - - AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ - ac_save_LIBS="$LIBS" - LIBS="$LIBS $LIB[]NAME" - AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) - LIBS="$ac_save_LIBS" - ]) - if test "$ac_cv_lib[]Name" = yes; then - HAVE_LIB[]NAME=yes - AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) - AC_MSG_CHECKING([how to link with lib[]$1]) - AC_MSG_RESULT([$LIB[]NAME]) +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +#serial 2 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` else - HAVE_LIB[]NAME=no - dnl If $LIB[]NAME didn't lead to a usable library, we don't need - dnl $INC[]NAME either. - CPPFLAGS="$ac_save_CPPFLAGS" - LIB[]NAME= - LTLIB[]NAME= + continue fi - AC_SUBST([HAVE_LIB]NAME) - AC_SUBST([LIB]NAME) - AC_SUBST([LTLIB]NAME) - undefine([Name]) - undefine([NAME]) -]) + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +])# _AM_OUTPUT_DEPENDENCY_COMMANDS -dnl Determine the platform dependent parameters needed to use rpath: -dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator, -dnl hardcode_direct, hardcode_minus_L. -AC_DEFUN([AC_LIB_RPATH], -[ - AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS - AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld - AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host - AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir - AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ - CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ - ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh - . ./conftest.sh - rm -f ./conftest.sh - acl_cv_rpath=done - ]) - wl="$acl_cv_wl" - libext="$acl_cv_libext" - shlibext="$acl_cv_shlibext" - hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" - hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" - hardcode_direct="$acl_cv_hardcode_direct" - hardcode_minus_L="$acl_cv_hardcode_minus_L" - dnl Determine whether the user wants rpath handling at all. - AC_ARG_ENABLE(rpath, - [ --disable-rpath do not hardcode runtime library paths], - :, enable_rpath=yes) -]) -dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and -dnl the libraries corresponding to explicit and implicit dependencies. -dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. -AC_DEFUN([AC_LIB_LINKFLAGS_BODY], -[ - define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - dnl By default, look in $includedir and $libdir. - use_additional=yes - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - AC_LIB_ARG_WITH([lib$1-prefix], -[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib - --without-lib$1-prefix don't search for lib$1 in includedir and libdir], -[ - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - else - additional_includedir="$withval/include" - additional_libdir="$withval/lib" - fi - fi -]) - dnl Search the library and its dependencies in $additional_libdir and - dnl $LDFLAGS. Using breadth-first-seach. - LIB[]NAME= - LTLIB[]NAME= - INC[]NAME= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='$1 $2' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - dnl See if it was already located by an earlier AC_LIB_LINKFLAGS - dnl or AC_LIB_HAVE_LINKFLAGS call. - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" - else - dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined - dnl that this library doesn't exist. So just drop it. - : - fi - else - dnl Search the library lib$name in $additional_libdir and $LDFLAGS - dnl and the already constructed $LIBNAME/$LTLIBNAME. - found_dir= - found_la= - found_so= - found_a= - if test $use_additional = yes; then - if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then - found_dir="$additional_libdir" - found_so="$additional_libdir/lib$name.$shlibext" - if test -f "$additional_libdir/lib$name.la"; then - found_la="$additional_libdir/lib$name.la" - fi - else - if test -f "$additional_libdir/lib$name.$libext"; then - found_dir="$additional_libdir" - found_a="$additional_libdir/lib$name.$libext" - if test -f "$additional_libdir/lib$name.la"; then - found_la="$additional_libdir/lib$name.la" - fi - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then - found_dir="$dir" - found_so="$dir/lib$name.$shlibext" - if test -f "$dir/lib$name.la"; then - found_la="$dir/lib$name.la" - fi - else - if test -f "$dir/lib$name.$libext"; then - found_dir="$dir" - found_a="$dir/lib$name.$libext" - if test -f "$dir/lib$name.la"; then - found_la="$dir/lib$name.la" - fi - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - dnl Found the library. - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - dnl Linking with a shared library. We attempt to hardcode its - dnl directory into the executable's runpath, unless it's the - dnl standard /usr/lib. - if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then - dnl No hardcoding is needed. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - dnl Use an explicit option to hardcode DIR into the resulting - dnl binary. - dnl Potentially add DIR to ltrpathdirs. - dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - dnl The hardcoding into $LIBNAME is system dependent. - if test "$hardcode_direct" = yes; then - dnl Using DIR/libNAME.so during linking hardcodes DIR into the - dnl resulting binary. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then - dnl Use an explicit option to hardcode DIR into the resulting - dnl binary. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - dnl Potentially add DIR to rpathdirs. - dnl The rpathdirs will be appended to $LIBNAME at the end. - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - dnl Rely on "-L$found_dir". - dnl But don't add it if it's already contained in the LDFLAGS - dnl or the already constructed $LIBNAME - haveit= - for x in $LDFLAGS $LIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" - fi - if test "$hardcode_minus_L" != no; then - dnl FIXME: Not sure whether we should use - dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" - dnl here. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH - dnl here, because this doesn't fit in flags passed to the - dnl compiler. So give up. No hardcoding. This affects only - dnl very old systems. - dnl FIXME: Not sure whether we should use - dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" - dnl here. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - dnl Linking with a static library. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" - else - dnl We shouldn't come here, but anyway it's good to have a - dnl fallback. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" - fi - fi - dnl Assume the include files are nearby. - additional_includedir= - case "$found_dir" in - */lib | */lib/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - dnl Potentially add $additional_includedir to $INCNAME. - dnl But don't add it - dnl 1. if it's the standard /usr/include, - dnl 2. if it's /usr/local/include and we are using GCC on Linux, - dnl 3. if it's already present in $CPPFLAGS or the already - dnl constructed $INCNAME, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux*) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INC[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - dnl Really add $additional_includedir to $INCNAME. - INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - dnl Look for dependencies. - if test -n "$found_la"; then - dnl Read the .la file. It defines the variables - dnl dlname, library_names, old_library, dependency_libs, current, - dnl age, revision, installed, dlopen, dlpreopen, libdir. - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - dnl We use only dependency_libs. - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. - dnl But don't add it - dnl 1. if it's the standard /usr/lib, - dnl 2. if it's /usr/local/lib and we are using GCC on Linux, - dnl 3. if it's already present in $LDFLAGS or the already - dnl constructed $LIBNAME, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_libdir" != "X/usr/lib"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/lib"; then - if test -n "$GCC"; then - case $host_os in - linux*) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LIBNAME. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LTLIBNAME. - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - dnl Potentially add DIR to rpathdirs. - dnl The rpathdirs will be appended to $LIBNAME at the end. - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - dnl Potentially add DIR to ltrpathdirs. - dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - dnl Handle this in the next round. - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - dnl Handle this in the next round. Throw away the .la's - dnl directory; it is already contained in a preceding -L - dnl option. - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - dnl Most likely an immediate library name. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" - ;; - esac - done - fi - else - dnl Didn't find the library; assume it is in the system directories - dnl known to the linker and runtime loader. (All the system - dnl directories known to the linker should also be known to the - dnl runtime loader, otherwise the system is severely misconfigured.) - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$hardcode_libdir_separator"; then - dnl Weird platform: only the last -rpath option counts, the user must - dnl pass all path elements in one option. We can arrange that for a - dnl single library, but not when more than one $LIBNAMEs are used. - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" - done - dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl. - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" - else - dnl The -rpath options are cumulative. - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - dnl When using libtool, the option that works for both libraries and - dnl executables is -R. The -R options are cumulative. - for found_dir in $ltrpathdirs; do - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" - done - fi +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) -dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, -dnl unless already present in VAR. -dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes -dnl contains two or three consecutive elements that belong together. -AC_DEFUN([AC_LIB_APPENDTOVAR], -[ - for element in [$2]; do - haveit= - for x in $[$1]; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - [$1]="${[$1]}${[$1]:+ }$element" - fi - done -]) +# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*- -# lib-ld.m4 serial 3 (gettext-0.13) -dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl Subroutines of libtool.m4, -dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision -dnl with libtool.m4. - -dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. -AC_DEFUN([AC_LIB_PROG_LD_GNU], -[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, -[# I'd rather use --version here, but apparently some GNU ld's only accept -v. -case `$LD -v 2>&1 conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 11 + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.58])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' else - PATH_SEPARATOR=: + CYGPATH_W=echo fi - rm -f conf$$.sh fi -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by GCC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]* | [A-Za-z]:[\\/]*)] - [re_direlt='/[^/][^/]*/\.\./'] - # Canonicalize the path of ld - ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $1 | $1:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) +done +echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"$am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) + +# -*- Autoconf -*- +# Copyright (C) 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 1 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. else - AC_MSG_CHECKING([for non-GNU ld]) + am__leading_dot=_ fi -AC_CACHE_VAL(acl_cv_path_LD, -[if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - acl_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in - *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break ;; - *) - test "$with_gnu_ld" != yes && break ;; - esac - fi - done - IFS="$ac_save_ifs" -else - acl_cv_path_LD="$LD" # Let the user override the test with a path. -fi]) -LD="$acl_cv_path_LD" -if test -n "$LD"; then - AC_MSG_RESULT($LD) -else - AC_MSG_RESULT(no) +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Add --enable-maintainer-mode option to configure. +# From Jim Meyering + +# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +AC_DEFUN([AM_MAINTAINER_MODE], +[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) + dnl maintainer-mode is disabled by default + AC_ARG_ENABLE(maintainer-mode, +[ --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer], + USE_MAINTAINER_MODE=$enableval, + USE_MAINTAINER_MODE=no) + AC_MSG_RESULT([$USE_MAINTAINER_MODE]) + AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes]) + MAINT=$MAINTAINER_MODE_TRUE + AC_SUBST(MAINT)dnl +] +) + +AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU fi -test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) -AC_LIB_PROG_LD_GNU +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf ]) -# Define a conditional. +# -*- Autoconf -*- -AC_DEFUN([AM_CONDITIONAL], -[AC_SUBST($1_TRUE) -AC_SUBST($1_FALSE) -if $2; then - $1_TRUE= - $1_FALSE='#' + +# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " else - $1_TRUE='#' - $1_FALSE= -fi]) - -# isc-posix.m4 serial 2 (gettext-0.11.2) -dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -# This file is not needed with autoconf-2.53 and newer. Remove it in 2005. - -# This test replaces the one in autoconf. -# Currently this macro should have the same name as the autoconf macro -# because gettext's gettext.m4 (distributed in the automake package) -# still uses it. Otherwise, the use in gettext.m4 makes autoheader -# give these diagnostics: -# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX -# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX - -undefine([AC_ISC_POSIX]) - -AC_DEFUN([AC_ISC_POSIX], - [ - dnl This test replaces the obsolescent AC_ISC_POSIX kludge. - AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"]) - ] -) + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) -# Do all the work for Automake. This macro actually does too much -- -# some checks are only needed if your package does certain things. -# But this isn't really a big deal. +# AM_PROG_MKDIR_P +# --------------- +# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. -# serial 1 +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. -dnl Usage: -dnl AM_INIT_AUTOMAKE(package,version, [no-define]) +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL]) -PACKAGE=[$1] -AC_SUBST(PACKAGE) -VERSION=[$2] -AC_SUBST(VERSION) -dnl test to see if srcdir already configured -if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories +# created by `make install' are always world readable, even if the +# installer happens to have an overly restrictive umask (e.g. 077). +# This was a mistake. There are at least two reasons why we must not +# use `-m 0755': +# - it causes special bits like SGID to be ignored, +# - it may be too restrictive (some setups expect 775 directories). +# +# Do not use -m 0755 and let people choose whatever they expect by +# setting umask. +# +# We cannot accept any implementation of `mkdir' that recognizes `-p'. +# Some implementations (such as Solaris 8's) are not thread-safe: if a +# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' +# concurrently, both version can detect that a/ is missing, but only +# one can create it and the other will error out. Consequently we +# restrict ourselves to GNU make (using the --version option ensures +# this.) +AC_DEFUN([AM_PROG_MKDIR_P], +[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # We used to keeping the `.' as first argument, in order to + # allow $(mkdir_p) to be used without argument. As in + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. However this is wrong + # for two reasons: + # 1. if the package is installed by a user who cannot write `.' + # make install will fail, + # 2. the above comment should most certainly read + # $(mkdir_p) $(DESTDIR)$(somedir) + # so it does not work when $(somedir) is undefined and + # $(DESTDIR) is not. + # To support the latter case, we have to write + # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), + # so the `.' trick is pointless. + mkdir_p='mkdir -p --' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi fi -ifelse([$3],, -AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) -AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])) -AC_REQUIRE([AM_SANITY_CHECK]) -AC_REQUIRE([AC_ARG_PROGRAM]) -dnl FIXME This is truly gross. -missing_dir=`cd $ac_aux_dir && pwd` -AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}, $missing_dir) -AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir) -AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}, $missing_dir) -AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir) -AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir) -AC_REQUIRE([AC_PROG_MAKE_SET])]) - -# Copyright 2002 Free Software Foundation, Inc. +AC_SUBST([mkdir_p])]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -1076,42 +844,77 @@ AC_REQUIRE([AC_PROG_MAKE_SET])]) # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. -# AM_AUTOMAKE_VERSION(VERSION) -# ---------------------------- -# Automake X.Y traces this macro to ensure aclocal.m4 has been -# generated from the m4 files accompanying Automake X.Y. -AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.4"]) +# serial 2 -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION so it can be traced. -# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], - [AM_AUTOMAKE_VERSION([1.4-p6])]) +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # # Check to make sure that the build environment is sane. # +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +# AM_SANITY_CHECK +# --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 -echo timestamp > conftestfile +echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( - set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null` - if test "[$]*" = "X"; then + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then # -L didn't work. - set X `ls -t $srcdir/configure conftestfile` + set X `ls -t $srcdir/configure conftest.file` fi - if test "[$]*" != "X $srcdir/configure conftestfile" \ - && test "[$]*" != "X conftestfile $srcdir/configure"; then + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a @@ -1121,7 +924,7 @@ if ( alias in your environment]) fi - test "[$]2" = conftestfile + test "$[2]" = conftest.file ) then # Ok. @@ -1130,65 +933,153 @@ else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi -rm -f conftest* AC_MSG_RESULT(yes)]) -dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY) -dnl The program must properly implement --version. -AC_DEFUN([AM_MISSING_PROG], -[AC_MSG_CHECKING(for working $2) -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if ($2 --version) < /dev/null > /dev/null 2>&1; then - $1=$2 - AC_MSG_RESULT(found) -else - $1="$3/missing $2" - AC_MSG_RESULT(missing) +# AM_PROG_INSTALL_STRIP + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) fi -AC_SUBST($1)]) +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# Check how to create a tarball. -*- Autoconf -*- + +# Copyright (C) 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. -# Like AC_CONFIG_HEADER, but automatically create stamp file. - -AC_DEFUN([AM_CONFIG_HEADER], -[AC_PREREQ([2.12]) -AC_CONFIG_HEADER([$1]) -dnl When config.status generates a header, we must update the stamp-h file. -dnl This file resides in the same directory as the config header -dnl that is generated. We must strip everything past the first ":", -dnl and everything past the last "/". -AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl -ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>, -<>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>, -<>; do - case " <<$>>CONFIG_HEADERS " in - *" <<$>>am_file "*<<)>> - echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 1 + + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of `v7', `ustar', or `pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. +AM_MISSING_PROG([AMTAR], [tar]) +m4_if([$1], [v7], + [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [m4_case([$1], [ustar],, [pax],, + [m4_fatal([Unknown tar format])]) +AC_MSG_CHECKING([how to create a $1 tar archive]) +# Loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' +_am_tools=${am_cv_prog_tar_$1-$_am_tools} +# Do not fold the above two line into one, because Tru64 sh and +# Solaris sh will not grok spaces in the rhs of `-'. +for _am_tool in $_am_tools +do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; + do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false ;; esac - am_indx=`expr "<<$>>am_indx" + 1` -done<<>>dnl>>) -changequote([,]))]) -# Add --enable-maintainer-mode option to configure. -# From Jim Meyering + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break -# serial 1 + # tar/untar a dummy directory, and stop if the command works + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi +done +rm -rf conftest.dir -AC_DEFUN([AM_MAINTAINER_MODE], -[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) - dnl maintainer-mode is disabled by default - AC_ARG_ENABLE(maintainer-mode, -[ --enable-maintainer-mode enable make rules and dependencies not useful - (and sometimes confusing) to the casual installer], - USE_MAINTAINER_MODE=$enableval, - USE_MAINTAINER_MODE=no) - AC_MSG_RESULT($USE_MAINTAINER_MODE) - AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes) - MAINT=$MAINTAINER_MODE_TRUE - AC_SUBST(MAINT)dnl -] -) +AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) +AC_MSG_RESULT([$am_cv_prog_tar_$1])]) +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR +m4_include([acinclude.m4]) diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h index da4c9746c2e..04dfe69d490 100644 --- a/bfd/bfd-in.h +++ b/bfd/bfd-in.h @@ -814,7 +814,10 @@ extern bfd_boolean bfd_elf32_arm_allocate_interworking_sections (struct bfd_link_info *); extern bfd_boolean bfd_elf32_arm_process_before_allocation - (bfd *, struct bfd_link_info *, int, int, int); + (bfd *, struct bfd_link_info *, int, int); + +void bfd_elf32_arm_set_target_relocs + (struct bfd_link_info *, int, char *); extern bfd_boolean bfd_elf32_arm_get_bfd_for_interworking (bfd *, struct bfd_link_info *); diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index 8e732b77432..4be38cf7a3e 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -821,7 +821,10 @@ extern bfd_boolean bfd_elf32_arm_allocate_interworking_sections (struct bfd_link_info *); extern bfd_boolean bfd_elf32_arm_process_before_allocation - (bfd *, struct bfd_link_info *, int, int, int); + (bfd *, struct bfd_link_info *, int, int); + +void bfd_elf32_arm_set_target_relocs + (struct bfd_link_info *, int, char *); extern bfd_boolean bfd_elf32_arm_get_bfd_for_interworking (bfd *, struct bfd_link_info *); @@ -1484,7 +1487,7 @@ void bfd_map_over_sections asection *bfd_sections_find_if (bfd *abfd, - bfd_boolean (*func) (bfd *abfd, asection *sect, void *obj), + bfd_boolean (*operation) (bfd *abfd, asection *sect, void *obj), void *obj); bfd_boolean bfd_set_section_size @@ -2649,6 +2652,14 @@ entries in .init_array sections. */ /* Data segment base relative address. */ BFD_RELOC_ARM_SBREL32, +/* This reloc is used for References to RTTI dta from exception handling +tables. The actual definition depends on the target. It may be a +pc-relative or some form of GOT-indirect relocation. */ + BFD_RELOC_ARM_TARGET2, + +/* 31-bit PC relative address. */ + BFD_RELOC_ARM_PREL31, + /* Renesas / SuperH SH relocs. Not all of these appear in object files. */ BFD_RELOC_SH_PCDISP8BY2, BFD_RELOC_SH_PCDISP12BY2, diff --git a/bfd/configure b/bfd/configure index 48d6ca637e4..6710ec63e76 100755 --- a/bfd/configure +++ b/bfd/configure @@ -309,7 +309,7 @@ ac_includes_default="\ # include #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO SET_MAKE AR ac_ct_AR RANLIB ac_ct_RANLIB LN_S STRIP ac_ct_STRIP LIBTOOL WARN_CFLAGS MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT INSTALL_LIBBFD_TRUE INSTALL_LIBBFD_FALSE host_noncanonical target_noncanonical bfdlibdir bfdincludedir CPP EGREP ALLOCA USE_NLS MSGFMT GMSGFMT XGETTEXT USE_INCLUDED_LIBINTL CATALOGS CATOBJEXT DATADIRNAME GMOFILES INSTOBJEXT INTLDEPS INTLLIBS INTLOBJS POFILES POSUB INCLUDE_LOCALE_H GT_NO GT_YES MKINSTALLDIRS l HDEFINES BFD_HOST_64BIT_LONG BFD_HOST_LONG_LONG BFD_HOST_64_BIT_DEFINED BFD_HOST_64_BIT BFD_HOST_U_64_BIT CC_FOR_BUILD EXEEXT_FOR_BUILD COREFILE COREFLAG WIN32LDFLAGS WIN32LIBADD TDEFINES wordsize bfd_libs all_backends bfd_backends bfd_machines bfd_default_target_size bfd_file_ptr bfd_ufile_ptr tdefaults LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE AR ac_ct_AR RANLIB ac_ct_RANLIB LN_S LIBTOOL WARN_CFLAGS MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT INSTALL_LIBBFD_TRUE INSTALL_LIBBFD_FALSE host_noncanonical target_noncanonical bfdlibdir bfdincludedir CPP EGREP ALLOCA USE_NLS MSGFMT GMSGFMT XGETTEXT USE_INCLUDED_LIBINTL CATALOGS CATOBJEXT DATADIRNAME GMOFILES INSTOBJEXT INTLDEPS INTLLIBS INTLOBJS POFILES POSUB INCLUDE_LOCALE_H GT_NO GT_YES MKINSTALLDIRS l HDEFINES BFD_HOST_64BIT_LONG BFD_HOST_LONG_LONG BFD_HOST_64_BIT_DEFINED BFD_HOST_64_BIT BFD_HOST_U_64_BIT CC_FOR_BUILD EXEEXT_FOR_BUILD COREFILE COREFLAG WIN32LDFLAGS WIN32LIBADD TDEFINES wordsize bfd_libs all_backends bfd_backends bfd_machines bfd_default_target_size bfd_file_ptr bfd_ufile_ptr tdefaults LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -850,6 +850,8 @@ if test -n "$ac_init_help"; then Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors --enable-shared=PKGS build shared libraries default=no --enable-static=PKGS build static libraries default=yes --enable-fast-install=PKGS optimize for fast installation default=yes @@ -858,8 +860,8 @@ Optional Features: --enable-targets alternative target configurations --enable-commonbfdlib build shared BFD/opcodes/libiberty library --enable-build-warnings Enable build-time compiler warnings if gcc is used - --enable-maintainer-mode enable make rules and dependencies not useful - (and sometimes confusing) to the casual installer + --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer --enable-install-libbfd controls installation of libbfd and related headers --disable-nls do not use Native Language Support @@ -2358,14 +2360,13 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu - - echo "$as_me:$LINENO: checking for strerror in -lcposix" >&5 -echo $ECHO_N "checking for strerror in -lcposix... $ECHO_C" >&6 -if test "${ac_cv_lib_cposix_strerror+set}" = set; then +echo "$as_me:$LINENO: checking for library containing strerror" >&5 +echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6 +if test "${ac_cv_search_strerror+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcposix $LIBS" + ac_func_search_save_LIBS=$LIBS +ac_cv_search_strerror=no cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -2410,27 +2411,83 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_lib_cposix_strerror=yes + ac_cv_search_strerror="none required" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_cposix_strerror=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +if test "$ac_cv_search_strerror" = no; then + for ac_lib in cposix; do + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char strerror (); +int +main () +{ +strerror (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search_strerror="-l$ac_lib" +break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + fi -echo "$as_me:$LINENO: result: $ac_cv_lib_cposix_strerror" >&5 -echo "${ECHO_T}$ac_cv_lib_cposix_strerror" >&6 -if test $ac_cv_lib_cposix_strerror = yes; then - LIBS="$LIBS -lcposix" +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + done fi +LIBS=$ac_func_search_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5 +echo "${ECHO_T}$ac_cv_search_strerror" >&6 +if test "$ac_cv_search_strerror" != no; then + test "$ac_cv_search_strerror" = "none required" || LIBS="$ac_cv_search_strerror $LIBS" +fi - -am__api_version="1.4" +am__api_version="1.9" # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: @@ -2514,20 +2571,21 @@ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6 # Just in case sleep 1 -echo timestamp > conftestfile +echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( - set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null` + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. - set X `ls -t $srcdir/configure conftestfile` + set X `ls -t $srcdir/configure conftest.file` fi - if test "$*" != "X $srcdir/configure conftestfile" \ - && test "$*" != "X conftestfile $srcdir/configure"; then + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a @@ -2540,7 +2598,7 @@ alias in your environment" >&2;} { (exit 1); exit 1; }; } fi - test "$2" = conftestfile + test "$2" = conftest.file ) then # Ok. @@ -2552,7 +2610,6 @@ echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi -rm -f conftest* echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 test "$program_prefix" != NONE && @@ -2568,6 +2625,92 @@ _ACEOF program_transform_name=`echo $program_transform_name | sed -f conftest.sed` rm conftest.sed +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # We used to keeping the `.' as first argument, in order to + # allow $(mkdir_p) to be used without argument. As in + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. However this is wrong + # for two reasons: + # 1. if the package is installed by a user who cannot write `.' + # make install will fail, + # 2. the above comment should most certainly read + # $(mkdir_p) $(DESTDIR)$(somedir) + # so it does not work when $(somedir) is undefined and + # $(DESTDIR) is not. + # To support the latter case, we have to write + # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), + # so the `.' trick is pointless. + mkdir_p='mkdir -p --' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$AWK" && break +done + echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'` @@ -2597,17 +2740,103 @@ echo "${ECHO_T}no" >&6 SET_MAKE="MAKE=${MAKE-make}" fi +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +DEPDIR="${am__leading_dot}deps" + + ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6 +rm -f confinc confmf + +# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval="$enable_dependency_tracking" + +fi; +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi -PACKAGE=bfd -VERSION=2.15.91 -if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} { (exit 1); exit 1; }; } fi +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE=bfd + VERSION=2.15.92 + + cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF @@ -2617,86 +2846,234 @@ cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} +install_sh=${install_sh-"$am_aux_dir/install-sh"} -missing_dir=`cd $ac_aux_dir && pwd` -echo "$as_me:$LINENO: checking for working aclocal-${am__api_version}" >&5 -echo $ECHO_N "checking for working aclocal-${am__api_version}... $ECHO_C" >&6 -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if (aclocal-${am__api_version} --version) < /dev/null > /dev/null 2>&1; then - ACLOCAL=aclocal-${am__api_version} - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else - ACLOCAL="$missing_dir/missing aclocal-${am__api_version}" - echo "$as_me:$LINENO: result: missing" >&5 -echo "${ECHO_T}missing" >&6 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done -echo "$as_me:$LINENO: checking for working autoconf" >&5 -echo $ECHO_N "checking for working autoconf... $ECHO_C" >&6 -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if (autoconf --version) < /dev/null > /dev/null 2>&1; then - AUTOCONF=autoconf - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6 else - AUTOCONF="$missing_dir/missing autoconf" - echo "$as_me:$LINENO: result: missing" >&5 -echo "${ECHO_T}missing" >&6 + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi -echo "$as_me:$LINENO: checking for working automake-${am__api_version}" >&5 -echo $ECHO_N "checking for working automake-${am__api_version}... $ECHO_C" >&6 -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if (automake-${am__api_version} --version) < /dev/null > /dev/null 2>&1; then - AUTOMAKE=automake-${am__api_version} - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + STRIP=$ac_ct_STRIP else - AUTOMAKE="$missing_dir/missing automake-${am__api_version}" - echo "$as_me:$LINENO: result: missing" >&5 -echo "${ECHO_T}missing" >&6 + STRIP="$ac_cv_prog_STRIP" +fi + fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +# Always define AMTAR for backward compatibility. + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' + -echo "$as_me:$LINENO: checking for working autoheader" >&5 -echo $ECHO_N "checking for working autoheader... $ECHO_C" >&6 -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if (autoheader --version) < /dev/null > /dev/null 2>&1; then - AUTOHEADER=autoheader - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + + +depcc="$CC" am_compiler_list= + +echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - AUTOHEADER="$missing_dir/missing autoheader" - echo "$as_me:$LINENO: result: missing" >&5 -echo "${ECHO_T}missing" >&6 + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + fi +echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type -echo "$as_me:$LINENO: checking for working makeinfo" >&5 -echo $ECHO_N "checking for working makeinfo... $ECHO_C" >&6 -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if (makeinfo --version) < /dev/null > /dev/null 2>&1; then - MAKEINFO=makeinfo - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' else - MAKEINFO="$missing_dir/missing makeinfo" - echo "$as_me:$LINENO: result: missing" >&5 -echo "${ECHO_T}missing" >&6 + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= fi + if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 @@ -3597,7 +3974,7 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic" case $host in *-*-irix6*) # Find out which ABI we are using. - echo '#line 3600 "configure"' > conftest.$ac_ext + echo '#line 3977 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -3907,11 +4284,8 @@ if test "x${build_warnings}" != x && test "x$GCC" = xyes ; then fi - ac_config_headers="$ac_config_headers config.h:config.in" - ac_config_commands="$ac_config_commands default-1" - if test -z "$target" ; then { { echo "$as_me:$LINENO: error: Unrecognized target system type; please check config.sub." >&5 @@ -3939,6 +4313,7 @@ else MAINTAINER_MODE_TRUE='#' MAINTAINER_MODE_FALSE= fi + MAINT=$MAINTAINER_MODE_TRUE @@ -3981,6 +4356,7 @@ else INSTALL_LIBBFD_TRUE='#' INSTALL_LIBBFD_FALSE= fi + # Need _noncanonical variables for this. @@ -12341,6 +12717,34 @@ LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${INSTALL_LIBBFD_TRUE}" && test -z "${INSTALL_LIBBFD_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"INSTALL_LIBBFD\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"INSTALL_LIBBFD\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files @@ -12774,7 +13178,7 @@ cat >>$CONFIG_STATUS <<_ACEOF # INIT-COMMANDS section. # - +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" _ACEOF @@ -12790,7 +13194,7 @@ do "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; "bfd-in3.h" ) CONFIG_FILES="$CONFIG_FILES bfd-in3.h:bfd-in2.h" ;; "po/Makefile.in" ) CONFIG_FILES="$CONFIG_FILES po/Makefile.in:po/Make-in" ;; - "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; + "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.in" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 @@ -12900,6 +13304,7 @@ s,@OBJEXT@,$OBJEXT,;t t s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t s,@INSTALL_DATA@,$INSTALL_DATA,;t t +s,@CYGPATH_W@,$CYGPATH_W,;t t s,@PACKAGE@,$PACKAGE,;t t s,@VERSION@,$VERSION,;t t s,@ACLOCAL@,$ACLOCAL,;t t @@ -12907,14 +13312,31 @@ s,@AUTOCONF@,$AUTOCONF,;t t s,@AUTOMAKE@,$AUTOMAKE,;t t s,@AUTOHEADER@,$AUTOHEADER,;t t s,@MAKEINFO@,$MAKEINFO,;t t +s,@install_sh@,$install_sh,;t t +s,@STRIP@,$STRIP,;t t +s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t +s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t +s,@mkdir_p@,$mkdir_p,;t t +s,@AWK@,$AWK,;t t s,@SET_MAKE@,$SET_MAKE,;t t +s,@am__leading_dot@,$am__leading_dot,;t t +s,@AMTAR@,$AMTAR,;t t +s,@am__tar@,$am__tar,;t t +s,@am__untar@,$am__untar,;t t +s,@DEPDIR@,$DEPDIR,;t t +s,@am__include@,$am__include,;t t +s,@am__quote@,$am__quote,;t t +s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t +s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t +s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t +s,@CCDEPMODE@,$CCDEPMODE,;t t +s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t +s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t s,@AR@,$AR,;t t s,@ac_ct_AR@,$ac_ct_AR,;t t s,@RANLIB@,$RANLIB,;t t s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t s,@LN_S@,$LN_S,;t t -s,@STRIP@,$STRIP,;t t -s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t s,@LIBTOOL@,$LIBTOOL,;t t s,@WARN_CFLAGS@,$WARN_CFLAGS,;t t s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t @@ -13432,6 +13854,28 @@ echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} cat $tmp/config.h rm -f $tmp/config.h fi +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'`/stamp-h$_am_stamp_count done _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF @@ -13548,7 +13992,91 @@ esac { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 echo "$as_me: executing $ac_dest commands" >&6;} case $ac_dest in - default-1 ) test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ;; + depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`(dirname "$mf") 2>/dev/null || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`(dirname "$file") 2>/dev/null || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p $dirpart/$fdir + else + as_dir=$dirpart/$fdir + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5 +echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;} + { (exit 1); exit 1; }; }; } + + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; default ) sed -e '/SRC-POTFILES =/r po/SRC-POTFILES' -e '/BLD-POTFILES =/r po/BLD-POTFILES' po/Makefile.in > po/Makefile ;; esac done diff --git a/bfd/configure.in b/bfd/configure.in index 7e3fa454ce0..c5fe78e8a59 100644 --- a/bfd/configure.in +++ b/bfd/configure.in @@ -8,7 +8,7 @@ AC_CONFIG_SRCDIR([libbfd.c]) AC_CANONICAL_TARGET AC_ISC_POSIX -AM_INIT_AUTOMAKE(bfd, 2.15.91) +AM_INIT_AUTOMAKE(bfd, 2.15.92) dnl These must be called before AM_PROG_LIBTOOL, because it may want dnl to call AC_CHECK_PROG. diff --git a/bfd/doc/ChangeLog b/bfd/doc/ChangeLog index cc57b2bb7a5..c340ff0527c 100644 --- a/bfd/doc/ChangeLog +++ b/bfd/doc/ChangeLog @@ -1,3 +1,14 @@ +2004-09-19 H.J. Lu + + * Makefile.am (AUTOMAKE_OPTIONS): Require 1.9. + (bfd.info): Rename the target to ... + ($(srcdir)/bfd.info): This. + * Makefile.in: Regenerated. + +2004-09-17 Alan Modra + + * Makefile.in: Regenerate. + 2004-03-27 Alan Modra * bfdint.texi: Remove all mention of elflink.h. diff --git a/bfd/doc/Makefile.am b/bfd/doc/Makefile.am index 4aaa341807c..65d034502f1 100644 --- a/bfd/doc/Makefile.am +++ b/bfd/doc/Makefile.am @@ -1,6 +1,6 @@ ## Process this file with automake to generate Makefile.in -AUTOMAKE_OPTIONS = cygnus +AUTOMAKE_OPTIONS = 1.9 cygnus DOCFILES = aoutx.texi archive.texi archures.texi \ bfdt.texi cache.texi coffcode.texi \ @@ -62,7 +62,7 @@ chew.o: chew.c protos: libbfd.h libcoff.h bfd.h -bfd.info bfd.dvi: $(DOCFILES) bfdsumm.texi bfd.texinfo +$(srcdir)/bfd.info bfd.dvi: $(DOCFILES) bfdsumm.texi bfd.texinfo # We can't replace these rules with an implicit rule, because # makes without VPATH support couldn't find the .h files in `..'. diff --git a/bfd/doc/Makefile.in b/bfd/doc/Makefile.in index 9f064895a27..b36bec4795d 100644 --- a/bfd/doc/Makefile.in +++ b/bfd/doc/Makefile.in @@ -1,6 +1,8 @@ -# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am +# Makefile.in generated by automake 1.9.1 from Makefile.am. +# @configure_input@ -# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -10,57 +12,72 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. - -SHELL = @SHELL@ - +@SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include - -DESTDIR = - pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ - top_builddir = .. - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -transform = @program_transform_name@ - +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -host_alias = @host_alias@ +build_triplet = @build@ host_triplet = @host@ +target_triplet = @target@ +subdir = doc +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/../config/accross.m4 \ + $(top_srcdir)/../config/acx.m4 $(top_srcdir)/../libtool.m4 \ + $(top_srcdir)/../gettext.m4 $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +depcomp = +am__depfiles_maybe = +SOURCES = +INFO_DEPS = $(srcdir)/bfd.info +TEXINFO_TEX = $(top_srcdir)/../texinfo/texinfo.tex +am__TEXINFO_TEX_DIR = $(top_srcdir)/../texinfo +DVIS = bfd.dvi +PDFS = bfd.pdf +PSS = bfd.ps +HTMLS = bfd.html +TEXINFOS = bfd.texinfo +TEXI2DVI = `if test -f $(top_srcdir)/../texinfo/util/texi2dvi; then \ + echo $(top_srcdir)/../texinfo/util/texi2dvi; \ + else \ + echo texi2dvi; \ + fi` +TEXI2PDF = $(TEXI2DVI) --pdf --batch +MAKEINFOHTML = $(MAKEINFO) --html +AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS) +DVIPS = dvips +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ AR = @AR@ -AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ BFD_HOST_64BIT_LONG = @BFD_HOST_64BIT_LONG@ BFD_HOST_64_BIT = @BFD_HOST_64_BIT@ BFD_HOST_64_BIT_DEFINED = @BFD_HOST_64_BIT_DEFINED@ @@ -69,45 +86,64 @@ BFD_HOST_U_64_BIT = @BFD_HOST_U_64_BIT@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ +CCDEPMODE = @CCDEPMODE@ CC_FOR_BUILD = @CC_FOR_BUILD@ +CFLAGS = @CFLAGS@ COREFILE = @COREFILE@ COREFLAG = @COREFLAG@ CPP = @CPP@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ -DLLTOOL = @DLLTOOL@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ -GCJ = @GCJ@ -GCJFLAGS = @GCJFLAGS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ -GNATBIND = @GNATBIND@ GT_NO = @GT_NO@ GT_YES = @GT_YES@ -HAVE_LIB = @HAVE_LIB@ HDEFINES = @HDEFINES@ INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_LIBBFD_FALSE = @INSTALL_LIBBFD_FALSE@ +INSTALL_LIBBFD_TRUE = @INSTALL_LIBBFD_TRUE@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLDEPS = @INTLDEPS@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ -LIB = @LIB@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ -LN = @LN@ LN_S = @LN_S@ -LTLIB = @LTLIB@ +LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ -OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ POFILES = @POFILES@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ STRIP = @STRIP@ TDEFINES = @TDEFINES@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ @@ -116,7 +152,19 @@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WIN32LDFLAGS = @WIN32LDFLAGS@ WIN32LIBADD = @WIN32LIBADD@ +XGETTEXT = @XGETTEXT@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ all_backends = @all_backends@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bfd_backends = @bfd_backends@ bfd_default_target_size = @bfd_default_target_size@ bfd_file_ptr = @bfd_file_ptr@ @@ -125,248 +173,308 @@ bfd_machines = @bfd_machines@ bfd_ufile_ptr = @bfd_ufile_ptr@ bfdincludedir = @bfdincludedir@ bfdlibdir = @bfdlibdir@ -build_noncanonical = @build_noncanonical@ -build_subdir = @build_subdir@ -do_compare = @do_compare@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ host_noncanonical = @host_noncanonical@ -host_subdir = @host_subdir@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ l = @l@ -ncn_cv_ = @ncn_cv_@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target = @target@ +target_alias = @target_alias@ +target_cpu = @target_cpu@ target_noncanonical = @target_noncanonical@ -target_subdir = @target_subdir@ +target_os = @target_os@ +target_vendor = @target_vendor@ tdefaults = @tdefaults@ wordsize = @wordsize@ - -AUTOMAKE_OPTIONS = cygnus - -DOCFILES = aoutx.texi archive.texi archures.texi bfdt.texi cache.texi coffcode.texi core.texi elf.texi elfcode.texi format.texi libbfd.texi bfdwin.texi bfdio.texi opncls.texi reloc.texi section.texi syms.texi targets.texi init.texi hash.texi linker.texi mmo.texi - - -PROTOS = archive.p archures.p bfd.p core.p format.p bfdio.p bfdwin.p libbfd.p opncls.p reloc.p section.p syms.p targets.p format.p core.p init.p - +AUTOMAKE_OPTIONS = 1.9 cygnus +DOCFILES = aoutx.texi archive.texi archures.texi \ + bfdt.texi cache.texi coffcode.texi \ + core.texi elf.texi elfcode.texi format.texi \ + libbfd.texi bfdwin.texi bfdio.texi \ + opncls.texi reloc.texi section.texi \ + syms.texi targets.texi init.texi hash.texi linker.texi \ + mmo.texi + +PROTOS = archive.p archures.p bfd.p \ + core.p format.p \ + bfdio.p bfdwin.p \ + libbfd.p opncls.p reloc.p \ + section.p syms.p targets.p \ + format.p core.p init.p IPROTOS = cache.ip libbfd.ip reloc.ip init.ip archures.ip coffcode.ip # SRCDOC, SRCPROT, SRCIPROT only used to sidestep Sun Make bug in interaction # between VPATH and suffix rules. If you use GNU Make, perhaps other Makes, # you don't need these three: -SRCDOC = $(srcdir)/../aoutx.h $(srcdir)/../archive.c $(srcdir)/../archures.c $(srcdir)/../bfd.c $(srcdir)/../bfdio.c $(srcdir)/../bfdwin.c $(srcdir)/../cache.c $(srcdir)/../coffcode.h $(srcdir)/../corefile.c $(srcdir)/../elf.c $(srcdir)/../elfcode.h $(srcdir)/../format.c $(srcdir)/../libbfd.c $(srcdir)/../opncls.c $(srcdir)/../reloc.c $(srcdir)/../section.c $(srcdir)/../syms.c $(srcdir)/../targets.c $(srcdir)/../hash.c $(srcdir)/../linker.c $(srcdir)/../mmo.c - - -SRCPROT = $(srcdir)/../archive.c $(srcdir)/../archures.c $(srcdir)/../bfd.c $(srcdir)/../coffcode.h $(srcdir)/../corefile.c $(srcdir)/../format.c $(srcdir)/../libbfd.c $(srcdir)/../bfdio.c $(srcdir)/../bfdwin.c $(srcdir)/../opncls.c $(srcdir)/../reloc.c $(srcdir)/../section.c $(srcdir)/../syms.c $(srcdir)/../targets.c $(srcdir)/../init.c - - -SRCIPROT = $(srcdir)/../cache.c $(srcdir)/../libbfd.c $(srcdir)/../bfdio.c $(srcdir)/../bfdwin.c $(srcdir)/../reloc.c $(srcdir)/../cpu-h8300.c $(srcdir)/../cpu-i960.c $(srcdir)/../archures.c $(srcdir)/../init.c - +SRCDOC = $(srcdir)/../aoutx.h $(srcdir)/../archive.c \ + $(srcdir)/../archures.c $(srcdir)/../bfd.c \ + $(srcdir)/../bfdio.c $(srcdir)/../bfdwin.c \ + $(srcdir)/../cache.c $(srcdir)/../coffcode.h \ + $(srcdir)/../corefile.c $(srcdir)/../elf.c \ + $(srcdir)/../elfcode.h $(srcdir)/../format.c \ + $(srcdir)/../libbfd.c $(srcdir)/../opncls.c \ + $(srcdir)/../reloc.c $(srcdir)/../section.c \ + $(srcdir)/../syms.c $(srcdir)/../targets.c \ + $(srcdir)/../hash.c $(srcdir)/../linker.c \ + $(srcdir)/../mmo.c + +SRCPROT = $(srcdir)/../archive.c $(srcdir)/../archures.c \ + $(srcdir)/../bfd.c $(srcdir)/../coffcode.h $(srcdir)/../corefile.c \ + $(srcdir)/../format.c $(srcdir)/../libbfd.c \ + $(srcdir)/../bfdio.c $(srcdir)/../bfdwin.c \ + $(srcdir)/../opncls.c $(srcdir)/../reloc.c \ + $(srcdir)/../section.c $(srcdir)/../syms.c \ + $(srcdir)/../targets.c $(srcdir)/../init.c + +SRCIPROT = $(srcdir)/../cache.c $(srcdir)/../libbfd.c \ + $(srcdir)/../bfdio.c $(srcdir)/../bfdwin.c \ + $(srcdir)/../reloc.c $(srcdir)/../cpu-h8300.c \ + $(srcdir)/../cpu-i960.c $(srcdir)/../archures.c \ + $(srcdir)/../init.c TEXIDIR = $(srcdir)/../../texinfo/fsf - info_TEXINFOS = bfd.texinfo - MKDOC = chew$(EXEEXT_FOR_BUILD) - -LIBBFD_H_DEP = $(srcdir)/../libbfd-in.h $(srcdir)/../init.c $(srcdir)/../libbfd.c $(srcdir)/../bfdio.c $(srcdir)/../bfdwin.c $(srcdir)/../cache.c $(srcdir)/../reloc.c $(srcdir)/../archures.c $(srcdir)/../elf.c $(srcdir)/header.sed $(srcdir)/proto.str $(MKDOC) - - -LIBCOFF_H_DEP = $(srcdir)/../libcoff-in.h $(srcdir)/../coffcode.h $(srcdir)/header.sed $(srcdir)/proto.str $(MKDOC) - - -BFD_H_DEP = $(srcdir)/../bfd-in.h $(srcdir)/../init.c $(srcdir)/../opncls.c $(srcdir)/../libbfd.c $(srcdir)/../bfdio.c $(srcdir)/../bfdwin.c $(srcdir)/../section.c $(srcdir)/../archures.c $(srcdir)/../reloc.c $(srcdir)/../syms.c $(srcdir)/../bfd.c $(srcdir)/../archive.c $(srcdir)/../corefile.c $(srcdir)/../targets.c $(srcdir)/../format.c $(srcdir)/../linker.c $(srcdir)/../simple.c $(srcdir)/header.sed $(srcdir)/proto.str $(srcdir)/../version.h $(MKDOC) - +LIBBFD_H_DEP = \ + $(srcdir)/../libbfd-in.h \ + $(srcdir)/../init.c \ + $(srcdir)/../libbfd.c \ + $(srcdir)/../bfdio.c \ + $(srcdir)/../bfdwin.c \ + $(srcdir)/../cache.c \ + $(srcdir)/../reloc.c \ + $(srcdir)/../archures.c \ + $(srcdir)/../elf.c \ + $(srcdir)/header.sed \ + $(srcdir)/proto.str \ + $(MKDOC) + +LIBCOFF_H_DEP = \ + $(srcdir)/../libcoff-in.h \ + $(srcdir)/../coffcode.h \ + $(srcdir)/header.sed \ + $(srcdir)/proto.str \ + $(MKDOC) + +BFD_H_DEP = \ + $(srcdir)/../bfd-in.h \ + $(srcdir)/../init.c \ + $(srcdir)/../opncls.c \ + $(srcdir)/../libbfd.c \ + $(srcdir)/../bfdio.c \ + $(srcdir)/../bfdwin.c \ + $(srcdir)/../section.c \ + $(srcdir)/../archures.c \ + $(srcdir)/../reloc.c \ + $(srcdir)/../syms.c \ + $(srcdir)/../bfd.c \ + $(srcdir)/../archive.c \ + $(srcdir)/../corefile.c \ + $(srcdir)/../targets.c \ + $(srcdir)/../format.c \ + $(srcdir)/../linker.c \ + $(srcdir)/../simple.c \ + $(srcdir)/header.sed \ + $(srcdir)/proto.str \ + $(srcdir)/../version.h \ + $(MKDOC) noinst_TEXINFOS = bfdint.texi - MOSTLYCLEANFILES = $(MKDOC) *.o - CLEANFILES = s-* *.p *.ip - DISTCLEANFILES = bfd.?? bfd.??? bfd.h libbfd.h libcoff.h texput.log - MAINTAINERCLEANFILES = $(DOCFILES) -mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs -CONFIG_HEADER = ../config.h -CONFIG_CLEAN_FILES = -TEXI2DVI = `if test -f $(top_srcdir)/../texinfo/util/texi2dvi; then echo $(top_srcdir)/../texinfo/util/texi2dvi; else echo texi2dvi; fi` -TEXINFO_TEX = $(top_srcdir)/../texinfo/texinfo.tex -INFO_DEPS = bfd.info -DVIS = bfd.dvi -TEXINFOS = bfd.texinfo -DIST_COMMON = ChangeLog Makefile.am Makefile.in +all: all-am - -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = tar -GZIP_ENV = --best -all: all-redirect .SUFFIXES: -.SUFFIXES: .dvi .info .ps .texi .texinfo .txi -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --cygnus doc/Makefile - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - - -bfd.info: bfd.texinfo -bfd.dvi: bfd.texinfo - - -DVIPS = dvips - -.texi.info: - @rm -f $@ $@-[0-9] $@-[0-9][0-9] - $(MAKEINFO) -I $(srcdir) $< - -.texi.dvi: - TEXINPUTS=$(top_srcdir)/../texinfo/texinfo.tex:$$TEXINPUTS \ - MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $< - -.texi: - @rm -f $@ $@-[0-9] $@-[0-9][0-9] - $(MAKEINFO) -I $(srcdir) $< +.SUFFIXES: .dvi .html .info .pdf .ps .texinfo +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --cygnus doc/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --cygnus doc/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool .texinfo.info: - @rm -f $@ $@-[0-9] $@-[0-9][0-9] - $(MAKEINFO) -I $(srcdir) $< - -.texinfo: - @rm -f $@ $@-[0-9] $@-[0-9][0-9] - $(MAKEINFO) -I $(srcdir) $< + restore=: && backupdir="$(am__leading_dot)am$$$$" && \ + am__cwd=`pwd` && cd $(srcdir) && \ + rm -rf $$backupdir && mkdir $$backupdir && \ + for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ + if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ + done; \ + cd "$$am__cwd"; \ + if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ + -o $@ $<; \ + then \ + rc=0; \ + cd $(srcdir); \ + else \ + rc=$$?; \ + cd $(srcdir) && \ + $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \ + fi; \ + rm -rf $$backupdir; exit $$rc .texinfo.dvi: - TEXINPUTS=$(top_srcdir)/../texinfo/texinfo.tex:$$TEXINPUTS \ - MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $< - -.txi.info: - @rm -f $@ $@-[0-9] $@-[0-9][0-9] - $(MAKEINFO) -I $(srcdir) $< - -.txi.dvi: - TEXINPUTS=$(top_srcdir)/../texinfo/texinfo.tex:$$TEXINPUTS \ - MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $< - -.txi: - @rm -f $@ $@-[0-9] $@-[0-9][0-9] - $(MAKEINFO) -I $(srcdir) $< + TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ + MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ + $(TEXI2DVI) $< + +.texinfo.pdf: + TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ + MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ + $(TEXI2PDF) $< + +.texinfo.html: + rm -rf $(@:.html=.htp) + if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ + -o $(@:.html=.htp) $<; \ + then \ + rm -rf $@; \ + if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \ + mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \ + else \ + if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \ + rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \ + exit 1; \ + fi +$(srcdir)/bfd.info: bfd.texinfo +bfd.dvi: bfd.texinfo +bfd.pdf: bfd.texinfo +bfd.html: bfd.texinfo .dvi.ps: - $(DVIPS) $< -o $@ + $(DVIPS) -o $@ $< -install-info-am: $(INFO_DEPS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(infodir) - @list='$(INFO_DEPS)'; \ - for file in $$list; do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - for ifile in `cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \ - if test -f $$d/$$ifile; then \ - echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile"; \ - $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile; \ - else : ; fi; \ - done; \ - done - @$(POST_INSTALL) - @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \ +uninstall-info-am: + $(PRE_UNINSTALL) + @if (install-info --version && \ + install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ list='$(INFO_DEPS)'; \ for file in $$list; do \ - echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";\ - install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :;\ + relfile=`echo "$$file" | sed 's|^.*/||'`; \ + echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \ + install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \ done; \ - else : ; fi - -uninstall-info: - $(PRE_UNINSTALL) - @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \ - ii=yes; \ - else ii=; fi; \ - list='$(INFO_DEPS)'; \ - for file in $$list; do \ - test -z "$$ii" \ - || install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file; \ - done + else :; fi @$(NORMAL_UNINSTALL) - list='$(INFO_DEPS)'; \ + @list='$(INFO_DEPS)'; \ for file in $$list; do \ - (cd $(DESTDIR)$(infodir) && rm -f $$file $$file-[0-9] $$file-[0-9][0-9]); \ + relfile=`echo "$$file" | sed 's|^.*/||'`; \ + relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \ + (if cd "$(DESTDIR)$(infodir)"; then \ + echo " rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9])"; \ + rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \ + else :; fi); \ done dist-info: $(INFO_DEPS) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ list='$(INFO_DEPS)'; \ for base in $$list; do \ + case $$base in \ + $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \ + esac; \ if test -f $$base; then d=.; else d=$(srcdir); fi; \ - for file in `cd $$d && eval echo $$base*`; do \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file; \ + for file in $$d/$$base*; do \ + relfile=`expr "$$file" : "$$d/\(.*\)"`; \ + test -f $(distdir)/$$relfile || \ + cp -p $$file $(distdir)/$$relfile; \ done; \ done mostlyclean-aminfo: - -rm -f bfd.aux bfd.cp bfd.cps bfd.dvi bfd.fn bfd.fns bfd.ky bfd.kys \ - bfd.ps bfd.log bfd.pg bfd.toc bfd.tp bfd.tps bfd.vr bfd.vrs \ - bfd.op bfd.tr bfd.cv bfd.cn - -clean-aminfo: - -distclean-aminfo: + -rm -rf bfd.aux bfd.cp bfd.cps bfd.fn bfd.ky bfd.kys bfd.log bfd.pg bfd.pgs \ + bfd.tmp bfd.toc bfd.tp bfd.tps bfd.vr bfd.vrs bfd.dvi \ + bfd.pdf bfd.ps bfd.html maintainer-clean-aminfo: - for i in $(INFO_DEPS); do \ - rm -f $$i; \ - if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \ - rm -f $$i-[0-9]*; \ - fi; \ + @list='$(INFO_DEPS)'; for i in $$list; do \ + i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \ + echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \ + rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \ done + clean-info: mostlyclean-aminfo tags: TAGS TAGS: +ctags: CTAGS +CTAGS: -distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) - -subdir = doc - -distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - cp -pr $$d/$$file $(distdir)/$$file; \ - else \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file || :; \ - fi; \ - done - $(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-info -info-am: $(INFO_DEPS) -info: info-am -dvi-am: $(DVIS) -dvi: dvi-am check-am: check: check-am -installcheck-am: -installcheck: installcheck-am -install-info-am: -install-info: install-info-am -install-exec-am: +all-am: Makefile +installdirs: install-exec: install-exec-am - -install-data-am: install-data: install-data-am +uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-am -uninstall-am: -uninstall: uninstall-am -all-am: Makefile -all-redirect: all-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: - +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) @@ -374,40 +482,103 @@ clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -rm -f config.cache config.log stamp-h stamp-h[0-9]* + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -mostlyclean-am: mostlyclean-aminfo mostlyclean-generic +clean: clean-am -mostlyclean: mostlyclean-am +clean-am: clean-generic clean-libtool mostlyclean-am -clean-am: clean-aminfo clean-generic mostlyclean-am +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool -clean: clean-am +dvi: dvi-am -distclean-am: distclean-aminfo distclean-generic clean-am - -rm -f libtool +dvi-am: $(DVIS) -distclean: distclean-am +html: html-am -maintainer-clean-am: maintainer-clean-aminfo maintainer-clean-generic \ - distclean-am - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." +html-am: $(HTMLS) + +info: info-am + +info-am: $(INFO_DEPS) + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-info-am: $(INFO_DEPS) + @$(NORMAL_INSTALL) + test -z "$(infodir)" || $(mkdir_p) "$(DESTDIR)$(infodir)" + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + list='$(INFO_DEPS)'; \ + for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + esac; \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \ + for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \ + $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \ + if test -f $$ifile; then \ + relfile=`echo "$$ifile" | sed 's|^.*/||'`; \ + echo " $(INSTALL_DATA) '$$ifile' '$(DESTDIR)$(infodir)/$$relfile'"; \ + $(INSTALL_DATA) "$$ifile" "$(DESTDIR)$(infodir)/$$relfile"; \ + else : ; fi; \ + done; \ + done + @$(POST_INSTALL) + @if (install-info --version && \ + install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ + list='$(INFO_DEPS)'; \ + for file in $$list; do \ + relfile=`echo "$$file" | sed 's|^.*/||'`; \ + echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\ + install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\ + done; \ + else : ; fi +install-man: + +installcheck-am: maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-aminfo \ + maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-aminfo mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am -.PHONY: install-info-am uninstall-info mostlyclean-aminfo \ -distclean-aminfo clean-aminfo maintainer-clean-aminfo tags distdir \ -info-am info dvi-am dvi check check-am installcheck-am installcheck \ -install-info-am install-info install-exec-am install-exec \ -install-data-am install-data install-am install uninstall-am uninstall \ -all-redirect all-am all installdirs mostlyclean-generic \ -distclean-generic clean-generic maintainer-clean-generic clean \ -mostlyclean distclean maintainer-clean +pdf-am: $(PDFS) + +ps: ps-am + +ps-am: $(PSS) + +uninstall-am: + +.PHONY: all all-am check check-am clean clean-generic clean-info \ + clean-libtool dist-info distclean distclean-generic \ + distclean-libtool dvi dvi-am html html-am info info-am install \ + install-am install-data install-data-am install-exec \ + install-exec-am install-info install-info-am install-man \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-aminfo \ + maintainer-clean-generic mostlyclean mostlyclean-aminfo \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + uninstall uninstall-am uninstall-info-am $(MKDOC): chew.o @@ -418,7 +589,7 @@ chew.o: chew.c protos: libbfd.h libcoff.h bfd.h -bfd.info bfd.dvi: $(DOCFILES) bfdsumm.texi bfd.texinfo +$(srcdir)/bfd.info bfd.dvi: $(DOCFILES) bfdsumm.texi bfd.texinfo # We can't replace these rules with an implicit rule, because # makes without VPATH support couldn't find the .h files in `..'. @@ -607,7 +778,6 @@ bfd.h: $(BFD_H_DEP) # We want install to imply install-info as per GNU standards, despite the # cygnus option. install: install-info - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/bfd/ecoff.c b/bfd/ecoff.c index eba6236fd6b..b94de12abb7 100644 --- a/bfd/ecoff.c +++ b/bfd/ecoff.c @@ -3563,9 +3563,9 @@ ecoff_link_add_archive_symbols (abfd, info) entry if it is the tail, because that would lose any entries we add to the list later on. */ if (*pundef != info->hash->undefs_tail) - *pundef = (*pundef)->und_next; + *pundef = (*pundef)->u.undef.next; else - pundef = &(*pundef)->und_next; + pundef = &(*pundef)->u.undef.next; continue; } @@ -3575,7 +3575,7 @@ ecoff_link_add_archive_symbols (abfd, info) other object format. */ if (h->type != bfd_link_hash_undefined) { - pundef = &(*pundef)->und_next; + pundef = &(*pundef)->u.undef.next; continue; } @@ -3587,7 +3587,7 @@ ecoff_link_add_archive_symbols (abfd, info) if (file_offset == 0) { /* Nothing in this slot. */ - pundef = &(*pundef)->und_next; + pundef = &(*pundef)->u.undef.next; continue; } @@ -3618,7 +3618,7 @@ ecoff_link_add_archive_symbols (abfd, info) if (! found) { - pundef = &(*pundef)->und_next; + pundef = &(*pundef)->u.undef.next; continue; } @@ -3640,7 +3640,7 @@ ecoff_link_add_archive_symbols (abfd, info) if (! ecoff_link_add_object_symbols (element, info)) return FALSE; - pundef = &(*pundef)->und_next; + pundef = &(*pundef)->u.undef.next; } return TRUE; diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index 5565e49e96a..8a1b6da0146 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -104,40 +104,6 @@ struct elf_link_hash_entry not visible outside this DSO. */ long dynindx; - /* String table index in .dynstr if this is a dynamic symbol. */ - unsigned long dynstr_index; - - /* Hash value of the name computed using the ELF hash function. */ - unsigned long elf_hash_value; - - /* If this is a weak defined symbol from a dynamic object, this - field points to a defined symbol with the same value, if there is - one. Otherwise it is NULL. */ - struct elf_link_hash_entry *weakdef; - - /* Version information. */ - union - { - /* This field is used for a symbol which is not defined in a - regular object. It points to the version information read in - from the dynamic object. */ - Elf_Internal_Verdef *verdef; - /* This field is used for a symbol which is defined in a regular - object. It is set up in size_dynamic_sections. It points to - the version information we should write out for this symbol. */ - struct bfd_elf_version_tree *vertree; - } verinfo; - - /* Virtual table entry use information. This array is nominally of size - size/sizeof(target_void_pointer), though we have to be able to assume - and track a size while the symbol is still undefined. It is indexed - via offset/sizeof(target_void_pointer). */ - size_t vtable_entries_size; - bfd_boolean *vtable_entries_used; - - /* Virtual table derivation info. */ - struct elf_link_hash_entry *vtable_parent; - /* If this symbol requires an entry in the global offset table, the processor specific backend uses this field to track usage and final offset. Two schemes are supported: The first assumes that @@ -162,47 +128,89 @@ struct elf_link_hash_entry bfd_size_type size; /* Symbol type (STT_NOTYPE, STT_OBJECT, etc.). */ - char type; + unsigned int type : 8; /* Symbol st_other value, symbol visibility. */ - unsigned char other; + unsigned int other : 8; - /* Some flags; legal values follow. */ - unsigned short elf_link_hash_flags; /* Symbol is referenced by a non-shared object. */ -#define ELF_LINK_HASH_REF_REGULAR 01 + unsigned int ref_regular : 1; /* Symbol is defined by a non-shared object. */ -#define ELF_LINK_HASH_DEF_REGULAR 02 + unsigned int def_regular : 1; /* Symbol is referenced by a shared object. */ -#define ELF_LINK_HASH_REF_DYNAMIC 04 + unsigned int ref_dynamic : 1; /* Symbol is defined by a shared object. */ -#define ELF_LINK_HASH_DEF_DYNAMIC 010 + unsigned int def_dynamic : 1; /* Symbol has a non-weak reference from a non-shared object. */ -#define ELF_LINK_HASH_REF_REGULAR_NONWEAK 020 + unsigned int ref_regular_nonweak : 1; /* Dynamic symbol has been adjustd. */ -#define ELF_LINK_HASH_DYNAMIC_ADJUSTED 040 + unsigned int dynamic_adjusted : 1; /* Symbol needs a copy reloc. */ -#define ELF_LINK_HASH_NEEDS_COPY 0100 + unsigned int needs_copy : 1; /* Symbol needs a procedure linkage table entry. */ -#define ELF_LINK_HASH_NEEDS_PLT 0200 + unsigned int needs_plt : 1; /* Symbol appears in a non-ELF input file. */ -#define ELF_LINK_NON_ELF 0400 + unsigned int non_elf : 1; /* Symbol should be marked as hidden in the version information. */ -#define ELF_LINK_HIDDEN 01000 + unsigned int hidden : 1; /* Symbol was forced to local scope due to a version script file. */ -#define ELF_LINK_FORCED_LOCAL 02000 + unsigned int forced_local : 1; /* Symbol was marked during garbage collection. */ -#define ELF_LINK_HASH_MARK 04000 + unsigned int mark : 1; /* Symbol is referenced by a non-GOT/non-PLT relocation. This is not currently set by all the backends. */ -#define ELF_LINK_NON_GOT_REF 010000 - /* Symbol has a definition in a shared object. */ -#define ELF_LINK_DYNAMIC_DEF 020000 + unsigned int non_got_ref : 1; + /* Symbol has a definition in a shared object. + FIXME: There is no real need for this field if def_dynamic is never + cleared and all places that test def_dynamic also test def_regular. */ + unsigned int dynamic_def : 1; /* Symbol is weak in all shared objects. */ -#define ELF_LINK_DYNAMIC_WEAK 040000 + unsigned int dynamic_weak : 1; /* Symbol is referenced with a relocation where C/C++ pointer equality matters. */ -#define ELF_LINK_POINTER_EQUALITY_NEEDED 0100000 + unsigned int pointer_equality_needed : 1; + + /* String table index in .dynstr if this is a dynamic symbol. */ + unsigned long dynstr_index; + + union + { + /* If this is a weak defined symbol from a dynamic object, this + field points to a defined symbol with the same value, if there is + one. Otherwise it is NULL. */ + struct elf_link_hash_entry *weakdef; + + /* Hash value of the name computed using the ELF hash function. + Used part way through size_dynamic_sections, after we've finished + with weakdefs. */ + unsigned long elf_hash_value; + } u; + + /* Version information. */ + union + { + /* This field is used for a symbol which is not defined in a + regular object. It points to the version information read in + from the dynamic object. */ + Elf_Internal_Verdef *verdef; + /* This field is used for a symbol which is defined in a regular + object. It is set up in size_dynamic_sections. It points to + the version information we should write out for this symbol. */ + struct bfd_elf_version_tree *vertree; + } verinfo; + + struct + { + /* Virtual table entry use information. This array is nominally of size + size/sizeof(target_void_pointer), though we have to be able to assume + and track a size while the symbol is still undefined. It is indexed + via offset/sizeof(target_void_pointer). */ + size_t size; + bfd_boolean *used; + + /* Virtual table derivation info. */ + struct elf_link_hash_entry *parent; + } *vtable; }; /* Will references to this symbol always reference the symbol @@ -221,8 +229,8 @@ struct elf_link_hash_entry /* Common symbols that are turned into definitions don't have the DEF_REGULAR flag set, so they might appear to be undefined. */ #define ELF_COMMON_DEF_P(H) \ - (((H)->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0 \ - && ((H)->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 \ + (!(H)->def_regular \ + && !(H)->def_dynamic \ && (H)->root.type == bfd_link_hash_defined) /* Records local symbols to be emitted in the dynamic symbol table. */ @@ -1771,10 +1779,8 @@ extern bfd_boolean _sh_elf_set_mach_from_flags about initializing any .plt and .got entries in relocate_section. */ #define WILL_CALL_FINISH_DYNAMIC_SYMBOL(DYN, SHARED, H) \ ((DYN) \ - && ((SHARED) \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) \ - && ((H)->dynindx != -1 \ - || ((H)->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)) + && ((SHARED) || !(H)->forced_local) \ + && ((H)->dynindx != -1 || (H)->forced_local)) /* This macro is to avoid lots of duplicated code in the body of xxx_relocate_section() in the various elfxx-xxxx.c files. */ diff --git a/bfd/elf-hppa.h b/bfd/elf-hppa.h index b1e00af1ce4..a6d3d691f13 100644 --- a/bfd/elf-hppa.h +++ b/bfd/elf-hppa.h @@ -1115,11 +1115,11 @@ elf_hppa_unmark_useless_dynamic_symbols (struct elf_link_hash_entry *h, if (! info->relocatable && info->unresolved_syms_in_shared_libs != RM_IGNORE && h->root.type == bfd_link_hash_undefined - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0) + && h->ref_dynamic + && !h->ref_regular) { - h->elf_link_hash_flags &= ~ELF_LINK_HASH_REF_DYNAMIC; - h->elf_link_hash_flags |= 0x8000; + h->ref_dynamic = 0; + h->pointer_equality_needed = 1; } return TRUE; @@ -1149,12 +1149,12 @@ elf_hppa_remark_useless_dynamic_symbols (struct elf_link_hash_entry *h, if (! info->relocatable && info->unresolved_syms_in_shared_libs != RM_IGNORE && h->root.type == bfd_link_hash_undefined - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0 - && (h->elf_link_hash_flags & 0x8000) != 0) + && !h->ref_dynamic + && !h->ref_regular + && h->pointer_equality_needed) { - h->elf_link_hash_flags |= ELF_LINK_HASH_REF_DYNAMIC; - h->elf_link_hash_flags &= ~0x8000; + h->ref_dynamic = 1; + h->pointer_equality_needed = 0; } return TRUE; diff --git a/bfd/elf-m10300.c b/bfd/elf-m10300.c index a83015d7647..d882eb4f775 100644 --- a/bfd/elf-m10300.c +++ b/bfd/elf-m10300.c @@ -593,7 +593,7 @@ _bfd_mn10300_elf_create_got_section (abfd, info) get_elf_backend_data (abfd)->collect, &bh))) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; h->type = STT_OBJECT; if (info->shared @@ -627,7 +627,7 @@ _bfd_mn10300_elf_create_got_section (abfd, info) bed->collect, &bh))) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; h->type = STT_OBJECT; if (info->shared @@ -864,7 +864,7 @@ mn10300_elf_check_relocs (abfd, info, sec, relocs) || ELF_ST_VISIBILITY (h->other) == STV_HIDDEN) break; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; break; @@ -875,12 +875,12 @@ mn10300_elf_check_relocs (abfd, info, sec, relocs) case R_MN10300_PCREL16: case R_MN10300_PCREL8: if (h != NULL) - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; break; case R_MN10300_32: if (h != NULL) - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; /* If we are creating a shared library, then we need to copy the reloc into the shared library. */ @@ -1470,8 +1470,7 @@ mn10300_elf_relocate_section (output_bfd, info, input_bfd, input_section, externally in shared libraries. We can't do anything with them here. */ || ((input_section->flags & SEC_DEBUGGING) != 0 - && (h->root.elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0))))) + && h->root.def_dynamic))))) /* In these cases, we don't need the relocation value. We check specially because in some obscure cases sec->output_section will be NULL. */ @@ -4021,31 +4020,28 @@ _bfd_mn10300_elf_adjust_dynamic_symbol (info, h) /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL - && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) - || h->weakdef != NULL - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))); + && (h->needs_plt + || h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); /* If this is a function, put it in the procedure linkage table. We will fill in the contents of the procedure linkage table later, when we know the address of the .got section. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0) + && !h->def_dynamic + && !h->ref_dynamic) { /* This case can occur if we saw a PLT reloc in an input file, but the symbol was never referred to by a dynamic object. In such a case, we don't actually need to build a procedure linkage table, and we can just do a REL32 reloc instead. */ - BFD_ASSERT ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0); + BFD_ASSERT (h->needs_plt); return TRUE; } @@ -4070,7 +4066,7 @@ _bfd_mn10300_elf_adjust_dynamic_symbol (info, h) pointers compare as equal between the normal executable and the shared library. */ if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = s->size; @@ -4100,12 +4096,12 @@ _bfd_mn10300_elf_adjust_dynamic_symbol (info, h) /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } @@ -4121,7 +4117,7 @@ _bfd_mn10300_elf_adjust_dynamic_symbol (info, h) /* If there are no references to this symbol that do not use the GOT, we don't need to generate a copy reloc. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0) + if (!h->non_got_ref) return TRUE; /* We must allocate the symbol in our .dynbss section, which will @@ -4148,7 +4144,7 @@ _bfd_mn10300_elf_adjust_dynamic_symbol (info, h) srel = bfd_get_section_by_name (dynobj, ".rela.bss"); BFD_ASSERT (srel != NULL); srel->size += sizeof (Elf32_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -4445,7 +4441,7 @@ _bfd_mn10300_elf_finish_dynamic_symbol (output_bfd, info, h, sym) (bfd_byte *) ((Elf32_External_Rela *) srel->contents + plt_index)); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. */ sym->st_shndx = SHN_UNDEF; @@ -4474,7 +4470,7 @@ _bfd_mn10300_elf_finish_dynamic_symbol (output_bfd, info, h, sym) initialized in the relocate_section function. */ if (info->shared && (info->symbolic || h->dynindx == -1) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + && h->def_regular) { rel.r_info = ELF32_R_INFO (0, R_MN10300_RELATIVE); rel.r_addend = (h->root.u.def.value @@ -4494,7 +4490,7 @@ _bfd_mn10300_elf_finish_dynamic_symbol (output_bfd, info, h, sym) ++ srel->reloc_count; } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { asection * s; Elf_Internal_Rela rel; diff --git a/bfd/elf.c b/bfd/elf.c index c0d60090dbe..c57da590e25 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -1391,23 +1391,14 @@ _bfd_elf_link_hash_newfunc (struct bfd_hash_entry *entry, /* Set local fields. */ ret->indx = -1; ret->dynindx = -1; - ret->dynstr_index = 0; - ret->elf_hash_value = 0; - ret->weakdef = NULL; - ret->verinfo.verdef = NULL; - ret->vtable_entries_size = 0; - ret->vtable_entries_used = NULL; - ret->vtable_parent = NULL; - ret->got = htab->init_refcount; - ret->plt = htab->init_refcount; - ret->size = 0; - ret->type = STT_NOTYPE; - ret->other = 0; + ret->got = ret->plt = htab->init_refcount; + memset (&ret->size, 0, (sizeof (struct elf_link_hash_entry) + - offsetof (struct elf_link_hash_entry, size))); /* Assume that we have been called by a non-ELF symbol reader. This flag is then reset by the code which reads an ELF input file. This ensures that a symbol created by a non-ELF symbol reader will have the flag set correctly. */ - ret->elf_link_hash_flags = ELF_LINK_NON_ELF; + ret->non_elf = 1; } return entry; @@ -1427,13 +1418,12 @@ _bfd_elf_link_hash_copy_indirect (const struct elf_backend_data *bed, /* Copy down any references that we may have already seen to the symbol which just became indirect. */ - dir->elf_link_hash_flags - |= ind->elf_link_hash_flags & (ELF_LINK_HASH_REF_DYNAMIC - | ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_REF_REGULAR_NONWEAK - | ELF_LINK_NON_GOT_REF - | ELF_LINK_HASH_NEEDS_PLT - | ELF_LINK_POINTER_EQUALITY_NEEDED); + dir->ref_dynamic |= ind->ref_dynamic; + dir->ref_regular |= ind->ref_regular; + dir->ref_regular_nonweak |= ind->ref_regular_nonweak; + dir->non_got_ref |= ind->non_got_ref; + dir->needs_plt |= ind->needs_plt; + dir->pointer_equality_needed |= ind->pointer_equality_needed; if (ind->root.type != bfd_link_hash_indirect) return; @@ -1475,10 +1465,10 @@ _bfd_elf_link_hash_hide_symbol (struct bfd_link_info *info, bfd_boolean force_local) { h->plt = elf_hash_table (info)->init_offset; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; if (force_local) { - h->elf_link_hash_flags |= ELF_LINK_FORCED_LOCAL; + h->forced_local = 1; if (h->dynindx != -1) { h->dynindx = -1; diff --git a/bfd/elf32-arm.h b/bfd/elf32-arm.h index ac3ec95be3f..27e74d95569 100644 --- a/bfd/elf32-arm.h +++ b/bfd/elf32-arm.h @@ -186,6 +186,9 @@ struct elf32_arm_link_hash_table Nonzero if R_ARM_TARGET1 means R_ARM_ABS32. */ int target1_is_rel; + /* The relocation to use for R_ARM_TARGET2 relocations. */ + int target2_reloc; + /* The number of bytes in the initial entry in the PLT. */ bfd_size_type plt_header_size; @@ -378,6 +381,7 @@ elf32_arm_link_hash_table_create (bfd *abfd) ret->no_pipeline_knowledge = 0; ret->byteswap_code = 0; ret->target1_is_rel = 0; + ret->target2_reloc = R_ARM_NONE; #ifdef FOUR_WORD_PLT ret->plt_header_size = 16; ret->plt_entry_size = 16; @@ -757,8 +761,7 @@ bfd_boolean bfd_elf32_arm_process_before_allocation (bfd *abfd, struct bfd_link_info *link_info, int no_pipeline_knowledge, - int byteswap_code, - int target1_is_rel) + int byteswap_code) { Elf_Internal_Shdr *symtab_hdr; Elf_Internal_Rela *internal_relocs = NULL; @@ -781,7 +784,7 @@ bfd_elf32_arm_process_before_allocation (bfd *abfd, BFD_ASSERT (globals->bfd_of_glue_owner != NULL); globals->no_pipeline_knowledge = no_pipeline_knowledge; - globals->target1_is_rel = target1_is_rel; + if (byteswap_code && !bfd_big_endian (abfd)) { _bfd_error_handler (_("%B: BE8 images only valid in big-endian mode."), @@ -906,6 +909,32 @@ error_return: } #endif + +#ifndef OLD_ARM_ABI +/* Set target relocation values needed during linking. */ + +void +bfd_elf32_arm_set_target_relocs (struct bfd_link_info *link_info, + int target1_is_rel, + char * target2_type) +{ + struct elf32_arm_link_hash_table *globals; + + globals = elf32_arm_hash_table (link_info); + + globals->target1_is_rel = target1_is_rel; + if (strcmp (target2_type, "rel") == 0) + globals->target2_reloc = R_ARM_REL32; + else if (strcmp (target2_type, "got-rel") == 0) + globals->target2_reloc = R_ARM_GOT_PREL; + else + { + _bfd_error_handler (_("Invalid TARGET2 relocation type '%s'."), + target2_type); + } +} +#endif + /* The thumb form of a long branch is a bit finicky, because the offset encoding is split over two fields, each in it's own instruction. They can occur in any order. So given a thumb form of long branch, and an @@ -1151,6 +1180,32 @@ elf32_arm_to_thumb_stub (struct bfd_link_info * info, return TRUE; } + +#ifndef OLD_ARM_ABI +/* Some relocations map to different relocations depending on the + target. Return the real relocation. */ +static int +arm_real_reloc_type (struct elf32_arm_link_hash_table * globals, + int r_type) +{ + switch (r_type) + { + case R_ARM_TARGET1: + if (globals->target1_is_rel) + return R_ARM_REL32; + else + return R_ARM_ABS32; + + case R_ARM_TARGET2: + return globals->target2_reloc; + + default: + return r_type; + } +} +#endif /* OLD_ARM_ABI */ + + /* Perform a relocation as part of a final link. */ static bfd_reloc_status_type @@ -1186,15 +1241,9 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto, #ifndef OLD_ARM_ABI /* Some relocation type map to different relocations depending on the target. We pick the right one here. */ - if (r_type == R_ARM_TARGET1) - { - if (globals->target1_is_rel) - r_type = R_ARM_REL32; - else - r_type = R_ARM_ABS32; - - howto = &elf32_arm_howto_table[r_type]; - } + r_type = arm_real_reloc_type (globals, r_type); + if (r_type != howto->type) + howto = elf32_arm_howto_from_type (r_type); #endif /* OLD_ARM_ABI */ /* If the start address has been set, then set the EF_ARM_HASENTRY @@ -1245,6 +1294,7 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto, case R_ARM_REL32: #ifndef OLD_ARM_ABI case R_ARM_XPC25: + case R_ARM_PREL31: #endif case R_ARM_PLT32: /* r_symndx will be zero only for relocs against symbols @@ -1257,7 +1307,11 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto, will use the symbol's value, which may point to a PLT entry, but we don't need to handle that here. If we created a PLT entry, all branches in this object should go to it. */ - if ((r_type != R_ARM_ABS32 && r_type != R_ARM_REL32) + if ((r_type != R_ARM_ABS32 && r_type != R_ARM_REL32 +#ifndef OLD_ARM_ABI + && r_type != R_ARM_PREL31 +#endif + ) && h != NULL && splt != NULL && h->plt.offset != (bfd_vma) -1) @@ -1279,8 +1333,11 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto, into the output file to be resolved at run time. */ if (info->shared && (input_section->flags & SEC_ALLOC) - && (r_type != R_ARM_REL32 - || !SYMBOL_CALLS_LOCAL (info, h)) + && ((r_type != R_ARM_REL32 +#ifndef OLD_ARM_ABI + && r_type != R_ARM_PREL31 +#endif + ) || !SYMBOL_CALLS_LOCAL (info, h)) && (h == NULL || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT || h->root.type != bfd_link_hash_undefweak) @@ -1330,8 +1387,7 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto, && h->dynindx != -1 && (!info->shared || !info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) outrel.r_info = ELF32_R_INFO (h->dynindx, r_type); else { @@ -1481,6 +1537,24 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto, + input_section->output_offset + rel->r_offset); value += addend; break; + +#ifndef OLD_ARM_ABI + case R_ARM_PREL31: + value -= (input_section->output_section->vma + + input_section->output_offset + rel->r_offset); + value += signed_addend; + if (! h || h->root.type != bfd_link_hash_undefweak) + { + /* Check for overflow */ + if ((value ^ (value >> 1)) & (1 << 30)) + return bfd_reloc_overflow; + } + value &= 0x7fffffff; + value |= (bfd_get_32 (input_bfd, hit_data) & 0x80000000); + if (sym_flags == STT_ARM_TFUNC) + value |= 1; + break; +#endif } bfd_put_32 (input_bfd, value, hit_data); @@ -1770,6 +1844,9 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto, (bfd_vma) 0); case R_ARM_GOT32: +#ifndef OLD_ARM_ABI + case R_ARM_GOT_PREL: +#endif /* Relocation is to the entry for this symbol in the global offset table. */ if (sgot == NULL) @@ -1858,6 +1935,8 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto, value = sgot->output_offset + off; } + if (r_type != R_ARM_GOT32) + value += sgot->output_section->vma; return _bfd_final_link_relocate (howto, input_bfd, input_section, contents, rel->r_offset, value, @@ -2112,10 +2191,8 @@ elf32_arm_relocate_section (bfd * output_bfd, case R_ARM_PLT32: if (info->shared - && ( - (!info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0 - ) + && ((!info->symbolic && h->dynindx != -1) + || !h->def_regular) && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && ((input_section->flags & SEC_ALLOC) != 0 /* DWARF will emit R_ARM_ABS32 relocations in its @@ -2123,8 +2200,7 @@ elf32_arm_relocate_section (bfd * output_bfd, in shared libraries. We can't do anything with them here. */ || ((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0)) + && h->def_dynamic)) ) relocation = 0; break; @@ -2134,13 +2210,15 @@ elf32_arm_relocate_section (bfd * output_bfd, break; case R_ARM_GOT32: +#ifndef OLD_ARM_ABI + case R_ARM_GOT_PREL: +#endif if ((WILL_CALL_FINISH_DYNAMIC_SYMBOL (elf_hash_table (info)->dynamic_sections_created, info->shared, h)) && (!info->shared || (!info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) relocation = 0; break; @@ -2731,6 +2809,9 @@ elf32_arm_gc_sweep_hook (bfd * abfd ATTRIBUTE_UNUSED, const Elf_Internal_Rela *rel, *relend; unsigned long r_symndx; struct elf_link_hash_entry *h; + struct elf32_arm_link_hash_table * globals; + + globals = elf32_arm_hash_table (info); elf_section_data (sec)->local_dynrel = NULL; @@ -2740,62 +2821,77 @@ elf32_arm_gc_sweep_hook (bfd * abfd ATTRIBUTE_UNUSED, relend = relocs + sec->reloc_count; for (rel = relocs; rel < relend; rel++) - switch (ELF32_R_TYPE (rel->r_info)) - { - case R_ARM_GOT32: - r_symndx = ELF32_R_SYM (rel->r_info); - if (r_symndx >= symtab_hdr->sh_info) - { - h = sym_hashes[r_symndx - symtab_hdr->sh_info]; - if (h->got.refcount > 0) - h->got.refcount -= 1; - } - else if (local_got_refcounts != NULL) - { - if (local_got_refcounts[r_symndx] > 0) - local_got_refcounts[r_symndx] -= 1; - } - break; - - case R_ARM_ABS32: - case R_ARM_REL32: - case R_ARM_TARGET1: - case R_ARM_PC24: - case R_ARM_PLT32: - r_symndx = ELF32_R_SYM (rel->r_info); - if (r_symndx >= symtab_hdr->sh_info) - { - struct elf32_arm_link_hash_entry *eh; - struct elf32_arm_relocs_copied **pp; - struct elf32_arm_relocs_copied *p; + { + int r_type; - h = sym_hashes[r_symndx - symtab_hdr->sh_info]; + r_type = ELF32_R_TYPE (rel->r_info); +#ifndef OLD_ARM_ABI + r_type = arm_real_reloc_type (globals, r_type); +#endif + switch (r_type) + { + case R_ARM_GOT32: +#ifndef OLD_ARM_ABI + case R_ARM_GOT_PREL: +#endif + r_symndx = ELF32_R_SYM (rel->r_info); + if (r_symndx >= symtab_hdr->sh_info) + { + h = sym_hashes[r_symndx - symtab_hdr->sh_info]; + if (h->got.refcount > 0) + h->got.refcount -= 1; + } + else if (local_got_refcounts != NULL) + { + if (local_got_refcounts[r_symndx] > 0) + local_got_refcounts[r_symndx] -= 1; + } + break; - if (h->plt.refcount > 0) - h->plt.refcount -= 1; + case R_ARM_ABS32: + case R_ARM_REL32: + case R_ARM_PC24: + case R_ARM_PLT32: +#ifndef OLD_ARM_ABI + case R_ARM_PREL31: +#endif + r_symndx = ELF32_R_SYM (rel->r_info); + if (r_symndx >= symtab_hdr->sh_info) + { + struct elf32_arm_link_hash_entry *eh; + struct elf32_arm_relocs_copied **pp; + struct elf32_arm_relocs_copied *p; - if (ELF32_R_TYPE (rel->r_info) == R_ARM_ABS32 - || ELF32_R_TYPE (rel->r_info) == R_ARM_REL32 - || ELF32_R_TYPE (rel->r_info) == R_ARM_TARGET1) - { - eh = (struct elf32_arm_link_hash_entry *) h; + h = sym_hashes[r_symndx - symtab_hdr->sh_info]; - for (pp = &eh->relocs_copied; (p = *pp) != NULL; - pp = &p->next) - if (p->section == sec) - { - p->count -= 1; - if (p->count == 0) - *pp = p->next; - break; - } - } - } - break; + if (h->plt.refcount > 0) + h->plt.refcount -= 1; - default: - break; - } + if (r_type == R_ARM_ABS32 +#ifndef OLD_ARM_ABI + || r_type == R_ARM_PREL31 +#endif + || r_type == R_ARM_REL32) + { + eh = (struct elf32_arm_link_hash_entry *) h; + + for (pp = &eh->relocs_copied; (p = *pp) != NULL; + pp = &p->next) + if (p->section == sec) + { + p->count -= 1; + if (p->count == 0) + *pp = p->next; + break; + } + } + } + break; + + default: + break; + } + } return TRUE; } @@ -2838,16 +2934,24 @@ elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info, { struct elf_link_hash_entry *h; unsigned long r_symndx; + int r_type; r_symndx = ELF32_R_SYM (rel->r_info); + r_type = ELF32_R_TYPE (rel->r_info); +#ifndef OLD_ARM_ABI + r_type = arm_real_reloc_type (htab, r_type); +#endif if (r_symndx < symtab_hdr->sh_info) h = NULL; else h = sym_hashes[r_symndx - symtab_hdr->sh_info]; - switch (ELF32_R_TYPE (rel->r_info)) + switch (r_type) { case R_ARM_GOT32: +#ifndef OLD_ARM_ABI + case R_ARM_GOT_PREL: +#endif /* This symbol requires a global offset table entry. */ if (h != NULL) { @@ -2872,7 +2976,9 @@ elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info, } local_got_refcounts[r_symndx] += 1; } - break; + if (r_type == R_ARM_GOT32) + break; + /* Fall through. */ case R_ARM_GOTOFF: case R_ARM_GOTPC: @@ -2887,9 +2993,11 @@ elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info, case R_ARM_ABS32: case R_ARM_REL32: - case R_ARM_TARGET1: case R_ARM_PC24: case R_ARM_PLT32: +#ifndef OLD_ARM_ABI + case R_ARM_PREL31: +#endif if (h != NULL) { /* If this reloc is in a read-only section, we might @@ -2899,15 +3007,15 @@ elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info, Tentatively set the flag for now, and correct in adjust_dynamic_symbol. */ if (!info->shared) - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; /* We may need a .plt entry if the function this reloc refers to is in a different object. We can't tell for sure yet, because something later might force the symbol local. */ - if (ELF32_R_TYPE (rel->r_info) == R_ARM_PC24 - || ELF32_R_TYPE (rel->r_info) == R_ARM_PLT32) - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + if (r_type == R_ARM_PC24 + || r_type == R_ARM_PLT32) + h->needs_plt = 1; /* If we create a PLT entry, this relocation will reference it, even if it's an ABS32 relocation. */ @@ -2928,14 +3036,15 @@ elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info, relocs_copied field of the hash table entry. */ if (info->shared && (sec->flags & SEC_ALLOC) != 0 - && ((ELF32_R_TYPE (rel->r_info) != R_ARM_PC24 - && ELF32_R_TYPE (rel->r_info) != R_ARM_PLT32 - && ELF32_R_TYPE (rel->r_info) != R_ARM_REL32 - && ELF32_R_TYPE (rel->r_info) != R_ARM_TARGET1) + && ((r_type != R_ARM_PC24 + && r_type != R_ARM_PLT32 +#ifndef OLD_ARM_ABI + && r_type != R_ARM_PREL31 +#endif + && r_type != R_ARM_REL32) || (h != NULL && (! info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) { struct elf32_arm_relocs_copied *p, **head; @@ -3015,9 +3124,11 @@ elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info, p->count = 0; } - if (ELF32_R_TYPE (rel->r_info) == R_ARM_ABS32 - || ELF32_R_TYPE (rel->r_info) == R_ARM_REL32 - || ELF32_R_TYPE (rel->r_info) == R_ARM_TARGET1) + if (r_type == R_ARM_ABS32 +#ifndef OLD_ARM_ABI + || r_type == R_ARM_PREL31 +#endif + || r_type == R_ARM_REL32) p->count += 1; } break; @@ -3182,20 +3293,17 @@ elf32_arm_adjust_dynamic_symbol (struct bfd_link_info * info, /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL - && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) - || h->weakdef != NULL - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))); + && (h->needs_plt + || h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); /* If this is a function, put it in the procedure linkage table. We will fill in the contents of the procedure linkage table later, when we know the address of the .got section. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { if (h->plt.refcount <= 0 || SYMBOL_CALLS_LOCAL (info, h) @@ -3208,7 +3316,7 @@ elf32_arm_adjust_dynamic_symbol (struct bfd_link_info * info, such a case, we don't actually need to build a procedure linkage table, and we can just do a PC24 reloc instead. */ h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } return TRUE; @@ -3224,12 +3332,12 @@ elf32_arm_adjust_dynamic_symbol (struct bfd_link_info * info, /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } @@ -3266,7 +3374,7 @@ elf32_arm_adjust_dynamic_symbol (struct bfd_link_info * info, srel = bfd_get_section_by_name (dynobj, ".rel.bss"); BFD_ASSERT (srel != NULL); srel->size += sizeof (Elf32_External_Rel); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -3322,7 +3430,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -3346,7 +3454,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf) pointers compare as equal between the normal executable and the shared library. */ if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = h->plt.offset; @@ -3366,13 +3474,13 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf) else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } } else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } if (h->got.refcount > 0) @@ -3383,7 +3491,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -3429,9 +3537,9 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf) symbols which turn out to need copy relocs or are not dynamic. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->non_got_ref + && ((h->def_dynamic + && !h->def_regular) || (htab->root.dynamic_sections_created && (h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined)))) @@ -3439,7 +3547,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -3790,7 +3898,7 @@ elf32_arm_finish_dynamic_symbol (bfd * output_bfd, struct bfd_link_info * info, loc = srel->contents + plt_index * sizeof (Elf32_External_Rel); bfd_elf32_swap_reloc_out (output_bfd, &rel, loc); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. */ @@ -3799,8 +3907,7 @@ elf32_arm_finish_dynamic_symbol (bfd * output_bfd, struct bfd_link_info * info, Otherwise, the PLT entry would provide a definition for the symbol even if the symbol wasn't defined anywhere, and so the symbol would never be NULL. */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR_NONWEAK) - == 0) + if (!h->ref_regular_nonweak) sym->st_value = 0; } } @@ -3844,7 +3951,7 @@ elf32_arm_finish_dynamic_symbol (bfd * output_bfd, struct bfd_link_info * info, bfd_elf32_swap_reloc_out (output_bfd, &rel, loc); } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { asection * s; Elf_Internal_Rela rel; diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c index ae8b3d204e6..2e8a6b3874d 100644 --- a/bfd/elf32-cris.c +++ b/bfd/elf32-cris.c @@ -905,8 +905,7 @@ cris_elf_relocate_section (output_bfd, info, input_bfd, input_section, other targets. */ if (info->shared && ((! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0) + || !h->def_regular) && (input_section->flags & SEC_ALLOC) != 0 && (r_type == R_CRIS_8 || r_type == R_CRIS_16 @@ -967,11 +966,9 @@ cris_elf_relocate_section (output_bfd, info, input_bfd, input_section, if (h != NULL && (h->got.offset == (bfd_vma) -1 || (!info->shared - && !((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) != 0 - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) == 0 - && h->root.type == bfd_link_hash_undefweak))))) + && !(h->def_regular + || (!h->def_dynamic + && h->root.type == bfd_link_hash_undefweak))))) { (*_bfd_error_handler) ((h->got.offset == (bfd_vma) -1) @@ -1011,13 +1008,12 @@ cris_elf_relocate_section (output_bfd, info, input_bfd, input_section, if (!elf_hash_table (info)->dynamic_sections_created || (! info->shared - && ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) + && (h->def_regular || h->type == STT_FUNC - || (h->elf_link_hash_flags - & ELF_LINK_HASH_NEEDS_PLT))) + || h->needs_plt)) || (info->shared && (info->symbolic || h->dynindx == -1) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))) + && h->def_regular)) { /* This wasn't checked above for ! info->shared, but must hold there if we get here; the symbol must @@ -1025,11 +1021,9 @@ cris_elf_relocate_section (output_bfd, info, input_bfd, input_section, or be a function or otherwise need a PLT. */ BFD_ASSERT (!elf_hash_table (info)->dynamic_sections_created || info->shared - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) != 0 + || h->def_regular || h->type == STT_FUNC - || (h->elf_link_hash_flags - & ELF_LINK_HASH_NEEDS_PLT) + || h->needs_plt || h->root.type == bfd_link_hash_undefweak); /* This is actually a static link, or it is a @@ -1133,8 +1127,8 @@ cris_elf_relocate_section (output_bfd, info, input_bfd, input_section, if (h != NULL && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT && !(!info->shared - && ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0 - || ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 + && (h->def_regular + || (!h->def_dynamic && h->root.type == bfd_link_hash_undefweak)))) { (*_bfd_error_handler) @@ -1236,8 +1230,7 @@ cris_elf_relocate_section (output_bfd, info, input_bfd, input_section, && r_type != R_CRIS_16_PCREL && r_type != R_CRIS_32_PCREL) || (!info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + || !h->def_regular))) { Elf_Internal_Rela outrel; bfd_byte *loc; @@ -1300,8 +1293,7 @@ cris_elf_relocate_section (output_bfd, info, input_bfd, input_section, become local. */ else if (h != NULL && ((! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) { BFD_ASSERT (h->dynindx != -1); outrel.r_info = ELF32_R_INFO (h->dynindx, r_type); @@ -1515,7 +1507,7 @@ elf_cris_finish_dynamic_symbol (output_bfd, info, h, sym) bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. */ @@ -1529,8 +1521,7 @@ elf_cris_finish_dynamic_symbol (output_bfd, info, h, sym) Otherwise, the PLT entry would provide a definition for the symbol even if the symbol wasn't defined anywhere, and so the symbol would never be NULL. */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR_NONWEAK) - == 0) + if (!h->ref_regular_nonweak) sym->st_value = 0; } } @@ -1544,7 +1535,7 @@ elf_cris_finish_dynamic_symbol (output_bfd, info, h, sym) && (info->shared || (h->dynindx != -1 && h->plt.offset == (bfd_vma) -1 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0 + && !h->def_regular && h->root.type != bfd_link_hash_undefweak))) { asection *sgot; @@ -1572,7 +1563,7 @@ elf_cris_finish_dynamic_symbol (output_bfd, info, h, sym) if (! elf_hash_table (info)->dynamic_sections_created || (info->shared && (info->symbolic || h->dynindx == -1) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))) + && h->def_regular)) { rela.r_info = ELF32_R_INFO (0, R_CRIS_RELATIVE); rela.r_addend = bfd_get_signed_32 (output_bfd, where); @@ -1589,7 +1580,7 @@ elf_cris_finish_dynamic_symbol (output_bfd, info, h, sym) bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { asection *s; Elf_Internal_Rela rela; @@ -2032,20 +2023,17 @@ elf_cris_adjust_dynamic_symbol (info, h) /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL - && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) - || h->weakdef != NULL - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))); + && (h->needs_plt + || h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); /* If this is a function, put it in the procedure linkage table. We will fill in the contents of the procedure linkage table later, when we know the address of the .got section. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { /* If we link a program (not a DSO), we'll get rid of unnecessary PLT entries; we point to the actual symbols -- even for pic @@ -2054,15 +2042,15 @@ elf_cris_adjust_dynamic_symbol (info, h) symbols. FIXME: m68k and i386 differ here, for unclear reasons. */ if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0) + && !h->def_dynamic) { /* This case can occur if we saw a PLT reloc in an input file, but the symbol was not defined by a dynamic object. In such a case, we don't actually need to build a procedure linkage table, and we can just do an absolute or PC reloc instead, or change a .got.plt index to a .got index for GOTPLT relocs. */ - BFD_ASSERT ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0); - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + BFD_ASSERT (h->needs_plt); + h->needs_plt = 0; h->plt.offset = (bfd_vma) -1; return elf_cris_adjust_gotplt_to_got ((struct @@ -2083,7 +2071,7 @@ elf_cris_adjust_dynamic_symbol (info, h) /* GC or folding may have rendered this entry unused. */ if (h->plt.refcount <= 0) { - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; h->plt.offset = (bfd_vma) -1; return TRUE; } @@ -2107,7 +2095,7 @@ elf_cris_adjust_dynamic_symbol (info, h) not generating a shared library, then set the symbol to this location in the .plt. */ if (!info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = s->size; @@ -2174,12 +2162,12 @@ elf_cris_adjust_dynamic_symbol (info, h) /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } @@ -2195,7 +2183,7 @@ elf_cris_adjust_dynamic_symbol (info, h) /* If there are no references to this symbol that do not use the GOT, we don't need to generate a copy reloc. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0) + if (!h->non_got_ref) return TRUE; /* We must allocate the symbol in our .dynbss section, which will @@ -2222,7 +2210,7 @@ elf_cris_adjust_dynamic_symbol (info, h) srel = bfd_get_section_by_name (dynobj, ".rela.bss"); BFD_ASSERT (srel != NULL); srel->size += sizeof (Elf32_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* Historic precedent: m68k and i386 allow max 8-byte alignment for the @@ -2478,7 +2466,7 @@ cris_elf_check_relocs (abfd, info, sec, relocs) if (h == NULL) continue; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->plt.refcount++; break; @@ -2510,7 +2498,7 @@ cris_elf_check_relocs (abfd, info, sec, relocs) case R_CRIS_32_PCREL: if (h != NULL) { - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; /* Make sure a plt entry is created for this symbol if it turns out to be a function defined by a dynamic object. */ @@ -2558,7 +2546,7 @@ cris_elf_check_relocs (abfd, info, sec, relocs) we can't identify at this time. */ if (info->symbolic && h->root.type != bfd_link_hash_defweak - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0) + && h->def_regular) break; } @@ -2868,8 +2856,8 @@ elf_cris_discard_excess_dso_dynamics (h, inf) /* If a symbol has been forced local or we have found a regular definition for the symbolic link case, then we won't be needing any relocs. */ - if ((h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0 - && ((h->root.elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0 + if (h->root.def_regular + && (h->root.forced_local || info->symbolic)) { for (s = h->pcrel_relocs_copied; s != NULL; s = s->next) @@ -2898,7 +2886,7 @@ elf_cris_discard_excess_program_dynamics (h, inf) (or rather, not defined by a DSO) then lose the reloc for the .got (don't allocate room for it). Likewise for relocs for something for which we create a PLT. */ - if ((h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 + if (!h->root.def_dynamic || h->root.plt.refcount > 0) { if (h->root.got.refcount > 0 @@ -2925,8 +2913,8 @@ elf_cris_discard_excess_program_dynamics (h, inf) introduce new problems. Of course we don't do this if we're exporting all dynamic symbols. */ if (! info->export_dynamic - && (h->root.elf_link_hash_flags - & (ELF_LINK_HASH_DEF_DYNAMIC|ELF_LINK_HASH_REF_DYNAMIC)) == 0) + && !h->root.def_dynamic + && !h->root.ref_dynamic) { h->root.dynindx = -1; _bfd_elf_strtab_delref (elf_hash_table (info)->dynstr, diff --git a/bfd/elf32-frv.c b/bfd/elf32-frv.c index 9341fe8acca..d95fa800c87 100644 --- a/bfd/elf32-frv.c +++ b/bfd/elf32-frv.c @@ -2755,7 +2755,7 @@ _frv_create_got_section (bfd *abfd, struct bfd_link_info *info) bed->collect, &bh))) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; h->type = STT_OBJECT; /* Machine-specific: we want the symbol for executables as @@ -2814,7 +2814,7 @@ _frv_create_got_section (bfd *abfd, struct bfd_link_info *info) bed->collect, &bh))) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; h->type = STT_OBJECT; /* Machine-specific: we want the symbol for executables as well. */ @@ -2869,7 +2869,7 @@ elf32_frvfdpic_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info) FALSE, get_elf_backend_data (abfd)->collect, &bh))) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; h->type = STT_OBJECT; if (! info->executable @@ -3677,7 +3677,7 @@ elf32_frvfdpic_always_size_sections (bfd *output_bfd, FALSE, FALSE, FALSE); if (! h || h->root.type != bfd_link_hash_defined || h->type != STT_OBJECT - || !(h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + || !h->def_regular) { struct bfd_link_hash_entry *bh = NULL; @@ -3689,7 +3689,7 @@ elf32_frvfdpic_always_size_sections (bfd *output_bfd, return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; h->type = STT_OBJECT; } @@ -3865,23 +3865,20 @@ elf32_frvfdpic_adjust_dynamic_symbol /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL - && (h->weakdef != NULL - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))); + && (h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; } return TRUE; diff --git a/bfd/elf32-hppa.c b/bfd/elf32-hppa.c index 701c72fd3f8..dbe6d06553e 100644 --- a/bfd/elf32-hppa.c +++ b/bfd/elf32-hppa.c @@ -570,7 +570,7 @@ hppa_type_of_stub (asection *input_sec, && hash->elf.dynindx != -1 && !hash->plabel && (info->shared - || !(hash->elf.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) + || !hash->elf.def_regular || hash->elf.root.type == bfd_link_hash_defweak)) { /* We need an import stub. Decide between hppa_stub_import @@ -1019,15 +1019,16 @@ elf32_hppa_copy_indirect_symbol (const struct elf_backend_data *bed, if (ELIMINATE_COPY_RELOCS && ind->root.type != bfd_link_hash_indirect - && (dir->elf_link_hash_flags & ELF_LINK_HASH_DYNAMIC_ADJUSTED) != 0) - /* If called to transfer flags for a weakdef during processing - of elf_adjust_dynamic_symbol, don't copy ELF_LINK_NON_GOT_REF. - We clear it ourselves for ELIMINATE_COPY_RELOCS. */ - dir->elf_link_hash_flags |= - (ind->elf_link_hash_flags & (ELF_LINK_HASH_REF_DYNAMIC - | ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_REF_REGULAR_NONWEAK - | ELF_LINK_HASH_NEEDS_PLT)); + && dir->dynamic_adjusted) + { + /* If called to transfer flags for a weakdef during processing + of elf_adjust_dynamic_symbol, don't copy non_got_ref. + We clear it ourselves for ELIMINATE_COPY_RELOCS. */ + dir->ref_dynamic |= ind->ref_dynamic; + dir->ref_regular |= ind->ref_regular; + dir->ref_regular_nonweak |= ind->ref_regular_nonweak; + dir->needs_plt |= ind->needs_plt; + } else _bfd_elf_link_hash_copy_indirect (bed, dir, ind); } @@ -1278,7 +1279,7 @@ elf32_hppa_check_relocs (bfd *abfd, { if (h != NULL) { - h->elf.elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->elf.needs_plt = 1; h->elf.plt.refcount += 1; /* If this .plt entry is for a plabel, mark it so @@ -1319,7 +1320,7 @@ elf32_hppa_check_relocs (bfd *abfd, so that we generate copy relocs if it turns out to be dynamic. */ if (h != NULL && !info->shared) - h->elf.elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->elf.non_got_ref = 1; /* If we are creating a shared library then we need to copy the reloc into the shared library. However, if we are @@ -1355,15 +1356,13 @@ elf32_hppa_check_relocs (bfd *abfd, || (h != NULL && (!info->symbolic || h->elf.root.type == bfd_link_hash_defweak - || (h->elf.elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->elf.def_regular)))) || (ELIMINATE_COPY_RELOCS && !info->shared && (sec->flags & SEC_ALLOC) != 0 && h != NULL && (h->elf.root.type == bfd_link_hash_defweak - || (h->elf.elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + || !h->elf.def_regular))) { struct elf32_hppa_dyn_reloc_entry *p; struct elf32_hppa_dyn_reloc_entry **head; @@ -1611,7 +1610,7 @@ elf32_hppa_hide_symbol (struct bfd_link_info *info, { if (force_local) { - h->elf_link_hash_flags |= ELF_LINK_FORCED_LOCAL; + h->forced_local = 1; if (h->dynindx != -1) { h->dynindx = -1; @@ -1622,7 +1621,7 @@ elf32_hppa_hide_symbol (struct bfd_link_info *info, if (! ((struct elf32_hppa_link_hash_entry *) h)->plabel) { - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; h->plt = elf_hash_table (info)->init_refcount; } } @@ -1644,10 +1643,10 @@ elf32_hppa_adjust_dynamic_symbol (struct bfd_link_info *info, /* If this is a function, put it in the procedure linkage table. We will fill in the contents of the procedure linkage table later. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { if (h->plt.refcount <= 0 - || ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0 + || (h->def_regular && h->root.type != bfd_link_hash_defweak && ! ((struct elf32_hppa_link_hash_entry *) h)->plabel && (!info->shared || info->symbolic))) @@ -1661,7 +1660,7 @@ elf32_hppa_adjust_dynamic_symbol (struct bfd_link_info *info, application or we are doing a shared symbolic link. */ h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } return TRUE; @@ -1672,17 +1671,15 @@ elf32_hppa_adjust_dynamic_symbol (struct bfd_link_info *info, /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - if (h->weakdef->root.type != bfd_link_hash_defined - && h->weakdef->root.type != bfd_link_hash_defweak) + if (h->u.weakdef->root.type != bfd_link_hash_defined + && h->u.weakdef->root.type != bfd_link_hash_defweak) abort (); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; if (ELIMINATE_COPY_RELOCS) - h->elf_link_hash_flags - = ((h->elf_link_hash_flags & ~ELF_LINK_NON_GOT_REF) - | (h->weakdef->elf_link_hash_flags & ELF_LINK_NON_GOT_REF)); + h->non_got_ref = h->u.weakdef->non_got_ref; return TRUE; } @@ -1698,7 +1695,7 @@ elf32_hppa_adjust_dynamic_symbol (struct bfd_link_info *info, /* If there are no references to this symbol that do not use the GOT, we don't need to generate a copy reloc. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0) + if (!h->non_got_ref) return TRUE; if (ELIMINATE_COPY_RELOCS) @@ -1718,7 +1715,7 @@ elf32_hppa_adjust_dynamic_symbol (struct bfd_link_info *info, we'll be keeping the dynamic relocs and avoiding the copy reloc. */ if (p == NULL) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } } @@ -1741,7 +1738,7 @@ elf32_hppa_adjust_dynamic_symbol (struct bfd_link_info *info, if ((h->root.u.def.section->flags & SEC_ALLOC) != 0) { htab->srelbss->size += sizeof (Elf32_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -1794,7 +1791,7 @@ allocate_plt_static (struct elf_link_hash_entry *h, void *inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0 + && !h->forced_local && h->type != STT_PARISC_MILLI) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) @@ -1821,13 +1818,13 @@ allocate_plt_static (struct elf_link_hash_entry *h, void *inf) { /* No .plt entry needed. */ h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } } else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } return TRUE; @@ -1872,7 +1869,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0 + && !h->forced_local && h->type != STT_PARISC_MILLI) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) @@ -1885,7 +1882,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) if (htab->elf.dynamic_sections_created && (info->shared || (h->dynindx != -1 - && h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)) + && !h->forced_local))) { htab->srelgot->size += sizeof (Elf32_External_Rela); } @@ -1932,10 +1929,10 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) /* For the non-shared case, discard space for relocs against symbols which turn out to need copy relocs or are not dynamic. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 + if (!h->non_got_ref && ((ELIMINATE_COPY_RELOCS - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && h->def_dynamic + && !h->def_regular) || (htab->elf.dynamic_sections_created && (h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined)))) @@ -1943,7 +1940,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0 + && !h->forced_local && h->type != STT_PARISC_MILLI) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) @@ -1987,7 +1984,7 @@ clobber_millicode_symbols (struct elf_link_hash_entry *h, h = (struct elf_link_hash_entry *) h->root.u.i.link; if (h->type == STT_PARISC_MILLI - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { elf32_hppa_hide_symbol (info, h, TRUE); } @@ -2546,8 +2543,8 @@ get_local_syms (bfd *output_bfd, bfd *input_bfd, struct bfd_link_info *info) && (hash->elf.root.u.def.section->output_section->owner == output_bfd) && hash->elf.root.u.def.section->owner == input_bfd - && (hash->elf.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) - && !(hash->elf.elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) + && hash->elf.def_regular + && !hash->elf.forced_local && ELF_ST_VISIBILITY (hash->elf.other) == STV_DEFAULT) { asection *sec; @@ -3104,7 +3101,7 @@ final_link_relocate (asection *input_section, && h->elf.dynindx != -1 && !h->plabel && (info->shared - || !(h->elf.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) + || !h->elf.def_regular || h->elf.root.type == bfd_link_hash_defweak))) { stub_entry = hppa_get_stub_entry (input_section, sym_sec, @@ -3690,12 +3687,10 @@ elf32_hppa_relocate_section (bfd *output_bfd, || (!info->shared && h != NULL && h->elf.dynindx != -1 - && (h->elf.elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 + && !h->elf.non_got_ref && ((ELIMINATE_COPY_RELOCS - && (h->elf.elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf.elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0) + && h->elf.def_dynamic + && !h->elf.def_regular) || h->elf.root.type == bfd_link_hash_undefweak || h->elf.root.type == bfd_link_hash_undefined))) { @@ -3727,8 +3722,7 @@ elf32_hppa_relocate_section (bfd *output_bfd, || !IS_ABSOLUTE_RELOC (r_type) || !info->shared || !info->symbolic - || (h->elf.elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->elf.def_regular)) { outrel.r_info = ELF32_R_INFO (h->elf.dynindx, r_type); } @@ -3894,7 +3888,7 @@ elf32_hppa_finish_dynamic_symbol (bfd *output_bfd, loc += htab->srelplt->reloc_count++ * sizeof (Elf32_External_Rela); bfd_elf32_swap_reloca_out (htab->splt->output_section->owner, &rel, loc); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. */ @@ -3918,7 +3912,7 @@ elf32_hppa_finish_dynamic_symbol (bfd *output_bfd, relocate_section function. */ if (info->shared && (info->symbolic || h->dynindx == -1) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + && h->def_regular) { rel.r_info = ELF32_R_INFO (0, R_PARISC_DIR32); rel.r_addend = (h->root.u.def.value @@ -3939,7 +3933,7 @@ elf32_hppa_finish_dynamic_symbol (bfd *output_bfd, bfd_elf32_swap_reloca_out (output_bfd, &rel, loc); } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { asection *s; diff --git a/bfd/elf32-i370.c b/bfd/elf32-i370.c index a44ff4c8819..18d4a2558e1 100644 --- a/bfd/elf32-i370.c +++ b/bfd/elf32-i370.c @@ -500,14 +500,11 @@ i370_elf_adjust_dynamic_symbol (info, h) /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL - && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) - || h->weakdef != NULL - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))); + && (h->needs_plt + || h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); s = bfd_get_section_by_name (dynobj, ".rela.text"); BFD_ASSERT (s != NULL); @@ -516,12 +513,12 @@ i370_elf_adjust_dynamic_symbol (info, h) /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } @@ -569,7 +566,7 @@ i370_elf_adjust_dynamic_symbol (info, h) srel = bfd_get_section_by_name (dynobj, ".rela.bss"); BFD_ASSERT (srel != NULL); srel->size += sizeof (Elf32_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -1218,8 +1215,7 @@ i370_elf_relocate_section (output_bfd, info, input_bfd, input_section, sec = h->root.u.def.section; if (info->shared && ((! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0) + || !h->def_regular) && (input_section->flags & SEC_ALLOC) != 0 && (r_type == R_I370_ADDR31 || r_type == R_I370_COPY @@ -1338,8 +1334,7 @@ i370_elf_relocate_section (output_bfd, info, input_bfd, input_section, become local. */ else if (h != NULL && ((! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) { BFD_ASSERT (h->dynindx != -1); outrel.r_info = ELF32_R_INFO (h->dynindx, r_type); diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index f689bee56be..5763acc00e9 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -784,16 +784,17 @@ elf_i386_copy_indirect_symbol (const struct elf_backend_data *bed, if (ELIMINATE_COPY_RELOCS && ind->root.type != bfd_link_hash_indirect - && (dir->elf_link_hash_flags & ELF_LINK_HASH_DYNAMIC_ADJUSTED) != 0) - /* If called to transfer flags for a weakdef during processing - of elf_adjust_dynamic_symbol, don't copy ELF_LINK_NON_GOT_REF. - We clear it ourselves for ELIMINATE_COPY_RELOCS. */ - dir->elf_link_hash_flags |= - (ind->elf_link_hash_flags & (ELF_LINK_HASH_REF_DYNAMIC - | ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_REF_REGULAR_NONWEAK - | ELF_LINK_HASH_NEEDS_PLT - | ELF_LINK_POINTER_EQUALITY_NEEDED)); + && dir->dynamic_adjusted) + { + /* If called to transfer flags for a weakdef during processing + of elf_adjust_dynamic_symbol, don't copy non_got_ref. + We clear it ourselves for ELIMINATE_COPY_RELOCS. */ + dir->ref_dynamic |= ind->ref_dynamic; + dir->ref_regular |= ind->ref_regular; + dir->ref_regular_nonweak |= ind->ref_regular_nonweak; + dir->needs_plt |= ind->needs_plt; + dir->pointer_equality_needed |= ind->pointer_equality_needed; + } else _bfd_elf_link_hash_copy_indirect (bed, dir, ind); } @@ -893,7 +894,7 @@ elf_i386_check_relocs (bfd *abfd, if (h == NULL) continue; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->plt.refcount += 1; break; @@ -1018,13 +1019,13 @@ elf_i386_check_relocs (bfd *abfd, sections have not yet been mapped to output sections. Tentatively set the flag for now, and correct in adjust_dynamic_symbol. */ - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; /* We may need a .plt entry if the function this reloc refers to is in a shared lib. */ h->plt.refcount += 1; if (r_type != R_386_PC32) - h->elf_link_hash_flags |= ELF_LINK_POINTER_EQUALITY_NEEDED; + h->pointer_equality_needed = 1; } /* If we are creating a shared library, and this is a reloc @@ -1054,15 +1055,13 @@ elf_i386_check_relocs (bfd *abfd, || (h != NULL && (! info->symbolic || h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) || (ELIMINATE_COPY_RELOCS && !info->shared && (sec->flags & SEC_ALLOC) != 0 && h != NULL && (h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + || !h->def_regular))) { struct elf_i386_dyn_relocs *p; struct elf_i386_dyn_relocs **head; @@ -1326,7 +1325,7 @@ elf_i386_adjust_dynamic_symbol (struct bfd_link_info *info, will fill in the contents of the procedure linkage table later, when we know the address of the .got section. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { if (h->plt.refcount <= 0 || SYMBOL_CALLS_LOCAL (info, h) @@ -1339,7 +1338,7 @@ elf_i386_adjust_dynamic_symbol (struct bfd_link_info *info, such a case, we don't actually need to build a procedure linkage table, and we can just do a PC32 reloc instead. */ h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } return TRUE; @@ -1355,16 +1354,14 @@ elf_i386_adjust_dynamic_symbol (struct bfd_link_info *info, /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; if (ELIMINATE_COPY_RELOCS || info->nocopyreloc) - h->elf_link_hash_flags - = ((h->elf_link_hash_flags & ~ELF_LINK_NON_GOT_REF) - | (h->weakdef->elf_link_hash_flags & ELF_LINK_NON_GOT_REF)); + h->non_got_ref = h->u.weakdef->non_got_ref; return TRUE; } @@ -1380,13 +1377,13 @@ elf_i386_adjust_dynamic_symbol (struct bfd_link_info *info, /* If there are no references to this symbol that do not use the GOT, we don't need to generate a copy reloc. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0) + if (!h->non_got_ref) return TRUE; /* If -z nocopyreloc was given, we won't generate them either. */ if (info->nocopyreloc) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } @@ -1407,7 +1404,7 @@ elf_i386_adjust_dynamic_symbol (struct bfd_link_info *info, we'll be keeping the dynamic relocs and avoiding the copy reloc. */ if (p == NULL) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } } @@ -1430,7 +1427,7 @@ elf_i386_adjust_dynamic_symbol (struct bfd_link_info *info, if ((h->root.u.def.section->flags & SEC_ALLOC) != 0) { htab->srelbss->size += sizeof (Elf32_External_Rel); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -1487,7 +1484,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -1511,7 +1508,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) pointers compare as equal between the normal executable and the shared library. */ if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = h->plt.offset; @@ -1530,13 +1527,13 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } } else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } /* If R_386_TLS_{IE_32,IE,GOTIE} symbol is now local to the binary, @@ -1555,7 +1552,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -1634,9 +1631,9 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) symbols which turn out to need copy relocs or are not dynamic. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->non_got_ref + && ((h->def_dynamic + && !h->def_regular) || (htab->elf.dynamic_sections_created && (h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined)))) @@ -1644,7 +1641,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -2344,11 +2341,9 @@ elf_i386_relocate_section (bfd *output_bfd, && !info->shared && h != NULL && h->dynindx != -1 - && (h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->non_got_ref + && ((h->def_dynamic + && !h->def_regular) || h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined))) { @@ -2381,8 +2376,7 @@ elf_i386_relocate_section (bfd *output_bfd, && (r_type == R_386_PC32 || !info->shared || !info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) outrel.r_info = ELF32_R_INFO (h->dynindx, r_type); else { @@ -2912,7 +2906,7 @@ elf_i386_relocate_section (bfd *output_bfd, not process them. */ if (unresolved_reloc && !((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0)) + && h->def_dynamic)) { (*_bfd_error_handler) (_("%B(%A+0x%lx): unresolvable relocation against symbol `%s'"), @@ -3045,7 +3039,7 @@ elf_i386_finish_dynamic_symbol (bfd *output_bfd, loc = htab->srelplt->contents + plt_index * sizeof (Elf32_External_Rel); bfd_elf32_swap_reloc_out (output_bfd, &rel, loc); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value if there were any @@ -3056,7 +3050,7 @@ elf_i386_finish_dynamic_symbol (bfd *output_bfd, called from a binary, there is no need to slow down shared libraries because of that. */ sym->st_shndx = SHN_UNDEF; - if ((h->elf_link_hash_flags & ELF_LINK_POINTER_EQUALITY_NEEDED) == 0) + if (!h->pointer_equality_needed) sym->st_value = 0; } } @@ -3102,7 +3096,7 @@ elf_i386_finish_dynamic_symbol (bfd *output_bfd, bfd_elf32_swap_reloc_out (output_bfd, &rel, loc); } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { Elf_Internal_Rela rel; bfd_byte *loc; diff --git a/bfd/elf32-m32r.c b/bfd/elf32-m32r.c index b7609e02ada..ec967e2118f 100644 --- a/bfd/elf32-m32r.c +++ b/bfd/elf32-m32r.c @@ -1783,7 +1783,7 @@ m32r_elf_create_dynamic_sections (abfd, info) get_elf_backend_data (abfd)->collect, &bh))) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; h->type = STT_OBJECT; if (info->shared @@ -1954,25 +1954,22 @@ printf("m32r_elf_adjust_dynamic_symbol()\n"); /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL - && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) - || h->weakdef != NULL - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))); + && (h->needs_plt + || h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); /* If this is a function, put it in the procedure linkage table. We will fill in the contents of the procedure linkage table later, when we know the address of the .got section. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0 + && !h->def_dynamic + && !h->ref_dynamic && h->root.type != bfd_link_hash_undefweak && h->root.type != bfd_link_hash_undefined) { @@ -1982,7 +1979,7 @@ printf("m32r_elf_adjust_dynamic_symbol()\n"); a procedure linkage table, and we can just do a PCREL reloc instead. */ h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } return TRUE; @@ -1993,12 +1990,12 @@ printf("m32r_elf_adjust_dynamic_symbol()\n"); /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } @@ -2014,13 +2011,13 @@ printf("m32r_elf_adjust_dynamic_symbol()\n"); /* If there are no references to this symbol that do not use the GOT, we don't need to generate a copy reloc. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0) + if (!h->non_got_ref) return TRUE; /* If -z nocopyreloc was given, we won't generate them either. */ if (info->nocopyreloc) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } @@ -2037,7 +2034,7 @@ printf("m32r_elf_adjust_dynamic_symbol()\n"); the copy reloc. */ if (p == NULL) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } @@ -2066,7 +2063,7 @@ printf("m32r_elf_adjust_dynamic_symbol()\n"); srel = htab->srelbss; BFD_ASSERT (srel != NULL); srel->size += sizeof (Elf32_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -2120,7 +2117,7 @@ allocate_dynrelocs (h, inf) eh = (struct elf_m32r_link_hash_entry *) h; // if ((h->got.refcount > 0 -// || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL)) +// || h->forced_local) // && eh->gotplt_refcount > 0) // { // /* The symbol has been forced local, or we have some direct got refs, @@ -2136,7 +2133,7 @@ allocate_dynrelocs (h, inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -2159,7 +2156,7 @@ allocate_dynrelocs (h, inf) pointers compare as equal between the normal executable and the shared library. */ if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = h->plt.offset; @@ -2178,13 +2175,13 @@ allocate_dynrelocs (h, inf) else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } } else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } if (h->got.refcount > 0) @@ -2195,7 +2192,7 @@ allocate_dynrelocs (h, inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -2223,8 +2220,8 @@ allocate_dynrelocs (h, inf) if (info->shared) { - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0 - && ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0 + if (h->def_regular + && (h->forced_local || info->symbolic)) { struct elf_m32r_dyn_relocs **pp; @@ -2245,9 +2242,9 @@ allocate_dynrelocs (h, inf) symbols which turn out to need copy relocs or are not dynamic. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->non_got_ref + && ((h->def_dynamic + && !h->def_regular) || (htab->root.dynamic_sections_created && (h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined)))) @@ -2255,7 +2252,7 @@ allocate_dynrelocs (h, inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -2761,20 +2758,17 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section, info->shared, h) && (! info->shared || (! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) || (info->shared && ((! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0) + || !h->def_regular) && (((r_type == R_M32R_16_RELA || r_type == R_M32R_32_RELA || r_type == R_M32R_24_RELA || r_type == R_M32R_HI16_ULO_RELA || r_type == R_M32R_HI16_SLO_RELA || r_type == R_M32R_LO16_RELA) - && (h->elf_link_hash_flags - & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) || r_type == R_M32R_10_PCREL_RELA || r_type == R_M32R_18_PCREL_RELA || r_type == R_M32R_26_PCREL_RELA) @@ -2784,8 +2778,7 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section, externally in shared libraries. We can't do anything with them here. */ || ((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0)))) + && h->def_dynamic)))) { /* In these cases, we don't need the relocation value. We check specially because in some @@ -2909,8 +2902,8 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section, || (info->shared && (info->symbolic || h->dynindx == -1 - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL)) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))) + || h->forced_local) + && h->def_regular)) { /* This is actually a static link, or it is a -Bsymbolic link and the symbol is defined @@ -3000,7 +2993,7 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section, //if (ELF_ST_VISIBILITY (h->other) == STV_INTERNAL // || ELF_ST_VISIBILITY (h->other) == STV_HIDDEN) // break; - if (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) + if (h->forced_local) break; if (h->plt.offset == (bfd_vma) -1) @@ -3039,8 +3032,7 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section, || (h != NULL && h->dynindx != -1 && (! info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) { Elf_Internal_Rela outrel; bfd_boolean skip, relocate; @@ -3099,8 +3091,7 @@ m32r_elf_relocate_section (output_bfd, info, input_bfd, input_section, become local. */ if (h == NULL || ((info->symbolic || h->dynindx == -1) - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) != 0)) + && h->def_regular)) { relocate = TRUE; outrel.r_info = ELF32_R_INFO (0, R_M32R_RELATIVE); @@ -3400,7 +3391,7 @@ printf("m32r_elf_finish_dynamic_symbol()\n"); loc += plt_index * sizeof(Elf32_External_Rela); bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. */ @@ -3433,8 +3424,8 @@ printf("m32r_elf_finish_dynamic_symbol()\n"); if (info->shared && (info->symbolic || h->dynindx == -1 - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL)) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + || h->forced_local) + && h->def_regular) { rela.r_info = ELF32_R_INFO (0, R_M32R_RELATIVE); rela.r_addend = (h->root.u.def.value @@ -3455,7 +3446,7 @@ printf("m32r_elf_finish_dynamic_symbol()\n"); ++srela->reloc_count; } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { asection *s; Elf_Internal_Rela rela; @@ -4564,10 +4555,10 @@ m32r_elf_check_relocs (abfd, info, sec, relocs) if (h == NULL) continue; - if (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) + if (h->forced_local) break; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->plt.refcount += 1; break; @@ -4583,7 +4574,7 @@ m32r_elf_check_relocs (abfd, info, sec, relocs) if (h != NULL && !info->shared) { - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; h->plt.refcount += 1; } @@ -4613,14 +4604,12 @@ m32r_elf_check_relocs (abfd, info, sec, relocs) || (h != NULL && (! info->symbolic || h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) || (!info->shared && (sec->flags & SEC_ALLOC) != 0 && h != NULL && (h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + || !h->def_regular))) { struct elf_m32r_dyn_relocs *p; struct elf_m32r_dyn_relocs **head; diff --git a/bfd/elf32-m68k.c b/bfd/elf32-m68k.c index 08cc7934761..4f119035811 100644 --- a/bfd/elf32-m68k.c +++ b/bfd/elf32-m68k.c @@ -506,7 +506,7 @@ elf_m68k_check_relocs (abfd, info, sec, relocs) { /* Make sure this symbol is output as a dynamic symbol. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (!bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -564,7 +564,7 @@ elf_m68k_check_relocs (abfd, info, sec, relocs) if (h == NULL) continue; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->plt.refcount++; break; @@ -584,13 +584,13 @@ elf_m68k_check_relocs (abfd, info, sec, relocs) /* Make sure this symbol is output as a dynamic symbol. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (!bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->plt.refcount++; break; @@ -612,8 +612,7 @@ elf_m68k_check_relocs (abfd, info, sec, relocs) && h != NULL && (!info->symbolic || h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + || !h->def_regular))) { if (h != NULL) { @@ -925,24 +924,21 @@ elf_m68k_adjust_dynamic_symbol (info, h) /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL - && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) - || h->weakdef != NULL - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))); + && (h->needs_plt + || h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); /* If this is a function, put it in the procedure linkage table. We will fill in the contents of the procedure linkage table later, when we know the address of the .got section. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0 + && !h->def_dynamic + && !h->ref_dynamic /* We must always create the plt entry if it was referenced by a PLTxxO relocation. In this case we already recorded it as a dynamic symbol. */ @@ -953,7 +949,7 @@ elf_m68k_adjust_dynamic_symbol (info, h) object. In such a case, we don't actually need to build a procedure linkage table, and we can just do a PCxx reloc instead. */ - BFD_ASSERT ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0); + BFD_ASSERT (h->needs_plt); h->plt.offset = (bfd_vma) -1; return TRUE; } @@ -961,14 +957,14 @@ elf_m68k_adjust_dynamic_symbol (info, h) /* GC may have rendered this entry unused. */ if (h->plt.refcount <= 0) { - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; h->plt.offset = (bfd_vma) -1; return TRUE; } /* Make sure this symbol is output as a dynamic symbol. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -993,7 +989,7 @@ elf_m68k_adjust_dynamic_symbol (info, h) pointers compare as equal between the normal executable and the shared library. */ if (!info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = s->size; @@ -1028,12 +1024,12 @@ elf_m68k_adjust_dynamic_symbol (info, h) /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } @@ -1071,7 +1067,7 @@ elf_m68k_adjust_dynamic_symbol (info, h) srel = bfd_get_section_by_name (dynobj, ".rela.bss"); BFD_ASSERT (srel != NULL); srel->size += sizeof (Elf32_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -1295,9 +1291,9 @@ elf_m68k_discard_copies (h, inf) if (h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0 + if (!h->def_regular || (!info->symbolic - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0)) + && !h->forced_local)) { if ((info->flags & DF_TEXTREL) == 0) { @@ -1442,8 +1438,8 @@ elf_m68k_relocate_section (output_bfd, info, input_bfd, input_section, || (info->shared && (info->symbolic || h->dynindx == -1 - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) != 0) + || h->forced_local) + && h->def_regular)) { /* This is actually a static link, or it is a -Bsymbolic link and the symbol is defined @@ -1579,7 +1575,7 @@ elf_m68k_relocate_section (output_bfd, info, input_bfd, input_section, case R_68K_PC32: if (h == NULL || (info->shared - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)) + && h->forced_local)) break; /* Fall through. */ case R_68K_8: @@ -1597,8 +1593,7 @@ elf_m68k_relocate_section (output_bfd, info, input_bfd, input_section, || (h != NULL && h->dynindx != -1 && (!info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) { Elf_Internal_Rela outrel; bfd_byte *loc; @@ -1630,8 +1625,7 @@ elf_m68k_relocate_section (output_bfd, info, input_bfd, input_section, || r_type == R_68K_PC32 || !info->shared || !info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) { outrel.r_info = ELF32_R_INFO (h->dynindx, r_type); outrel.r_addend = rel->r_addend; @@ -1702,7 +1696,7 @@ elf_m68k_relocate_section (output_bfd, info, input_bfd, input_section, not process them. */ if (unresolved_reloc && !((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0)) + && h->def_dynamic)) { (*_bfd_error_handler) (_("%B(%A+0x%lx): unresolvable relocation against symbol `%s'"), @@ -1854,7 +1848,7 @@ elf_m68k_finish_dynamic_symbol (output_bfd, info, h, sym) loc = srela->contents + plt_index * sizeof (Elf32_External_Rela); bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. */ @@ -1888,8 +1882,8 @@ elf_m68k_finish_dynamic_symbol (output_bfd, info, h, sym) if (info->shared && (info->symbolic || h->dynindx == -1 - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + || h->forced_local) + && h->def_regular) { rela.r_info = ELF32_R_INFO (0, R_68K_RELATIVE); rela.r_addend = bfd_get_signed_32 (output_bfd, @@ -1909,7 +1903,7 @@ elf_m68k_finish_dynamic_symbol (output_bfd, info, h, sym) bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { asection *s; Elf_Internal_Rela rela; diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c index 9c22c172449..50cb3a445d0 100644 --- a/bfd/elf32-ppc.c +++ b/bfd/elf32-ppc.c @@ -329,15 +329,16 @@ ppc_elf_copy_indirect_symbol (const struct elf_backend_data *bed, if (ELIMINATE_COPY_RELOCS && ind->root.type != bfd_link_hash_indirect - && (dir->elf_link_hash_flags & ELF_LINK_HASH_DYNAMIC_ADJUSTED) != 0) - /* If called to transfer flags for a weakdef during processing - of elf_adjust_dynamic_symbol, don't copy ELF_LINK_NON_GOT_REF. - We clear it ourselves for ELIMINATE_COPY_RELOCS. */ - dir->elf_link_hash_flags |= - (ind->elf_link_hash_flags & (ELF_LINK_HASH_REF_DYNAMIC - | ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_REF_REGULAR_NONWEAK - | ELF_LINK_HASH_NEEDS_PLT)); + && dir->dynamic_adjusted) + { + /* If called to transfer flags for a weakdef during processing + of elf_adjust_dynamic_symbol, don't copy non_got_ref. + We clear it ourselves for ELIMINATE_COPY_RELOCS. */ + dir->ref_dynamic |= ind->ref_dynamic; + dir->ref_regular |= ind->ref_regular; + dir->ref_regular_nonweak |= ind->ref_regular_nonweak; + dir->needs_plt |= ind->needs_plt; + } else _bfd_elf_link_hash_copy_indirect (bed, dir, ind); } @@ -2526,7 +2527,7 @@ elf_finish_pointer_linker_section (bfd *output_bfd, if (! elf_hash_table (info)->dynamic_sections_created || (info->shared && info->symbolic - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))) + && h->def_regular)) { /* This is actually a static link, or it is a -Bsymbolic link and the symbol is defined @@ -2872,18 +2873,15 @@ ppc_elf_adjust_dynamic_symbol (struct bfd_link_info *info, /* Make sure we know what is going on here. */ htab = ppc_elf_hash_table (info); BFD_ASSERT (htab->elf.dynobj != NULL - && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) - || h->weakdef != NULL - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))); + && (h->needs_plt + || h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); /* Deal with function syms. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { /* Clear procedure linkage table information for any symbol that won't need a .plt entry. */ @@ -2903,7 +2901,7 @@ ppc_elf_adjust_dynamic_symbol (struct bfd_link_info *info, 3. We know for certain that a call to this symbol will go to this object, or will remain undefined. */ h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } return TRUE; } @@ -2913,16 +2911,14 @@ ppc_elf_adjust_dynamic_symbol (struct bfd_link_info *info, /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; if (ELIMINATE_COPY_RELOCS) - h->elf_link_hash_flags - = ((h->elf_link_hash_flags & ~ELF_LINK_NON_GOT_REF) - | (h->weakdef->elf_link_hash_flags & ELF_LINK_NON_GOT_REF)); + h->non_got_ref = h->u.weakdef->non_got_ref; return TRUE; } @@ -2938,7 +2934,7 @@ ppc_elf_adjust_dynamic_symbol (struct bfd_link_info *info, /* If there are no references to this symbol that do not use the GOT, we don't need to generate a copy reloc. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0) + if (!h->non_got_ref) return TRUE; if (ELIMINATE_COPY_RELOCS) @@ -2955,7 +2951,7 @@ ppc_elf_adjust_dynamic_symbol (struct bfd_link_info *info, we'll be keeping the dynamic relocs and avoiding the copy reloc. */ if (p == NULL) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } } @@ -2994,7 +2990,7 @@ ppc_elf_adjust_dynamic_symbol (struct bfd_link_info *info, srel = htab->relbss; BFD_ASSERT (srel != NULL); srel->size += sizeof (Elf32_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -3057,7 +3053,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) { /* Make sure this symbol is output as a dynamic symbol. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -3087,7 +3083,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) function pointers compare as equal between the normal executable and the shared library. */ if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = h->plt.offset; @@ -3106,13 +3102,13 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } } else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } eh = (struct ppc_elf_link_hash_entry *) h; @@ -3120,14 +3116,14 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) { /* Make sure this symbol is output as a dynamic symbol. */ if (eh->elf.dynindx == -1 - && (eh->elf.elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !eh->elf.forced_local) { if (!bfd_elf_link_record_dynamic_symbol (info, &eh->elf)) return FALSE; } if (eh->tls_mask == (TLS_TLS | TLS_LD) - && !(eh->elf.elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC)) + && !eh->elf.def_dynamic) /* If just an LD reloc, we'll just use htab->tlsld_got.offset. */ eh->elf.got.offset = (bfd_vma) -1; else @@ -3210,7 +3206,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) && eh->dyn_relocs != NULL && h->dynindx == -1 && h->root.type == bfd_link_hash_undefweak - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -3222,14 +3218,14 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) symbols which turn out to need copy relocs or are not dynamic. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->non_got_ref + && h->def_dynamic + && !h->def_regular) { /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -3774,7 +3770,7 @@ ppc_elf_check_relocs (bfd *abfd, return FALSE; } - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->plt.refcount++; break; @@ -3883,7 +3879,7 @@ ppc_elf_check_relocs (bfd *abfd, h->plt.refcount++; /* We may need a copy reloc too. */ - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; } dodyn: @@ -3913,15 +3909,13 @@ ppc_elf_check_relocs (bfd *abfd, || (h != NULL && (! info->symbolic || h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) || (ELIMINATE_COPY_RELOCS && !info->shared && (sec->flags & SEC_ALLOC) != 0 && h != NULL && (h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + || !h->def_regular))) { struct ppc_elf_dyn_relocs *p; struct ppc_elf_dyn_relocs **head; @@ -4250,7 +4244,7 @@ ppc_elf_tls_optimize (bfd *obfd ATTRIBUTE_UNUSED, is_local = FALSE; if (h == NULL - || !(h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC)) + || !h->def_dynamic) is_local = TRUE; r_type = ELF32_R_TYPE (rel->r_info); @@ -4478,7 +4472,7 @@ ppc_elf_finish_dynamic_symbol (bfd *output_bfd, + reloc_index * sizeof (Elf32_External_Rela)); bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. */ @@ -4487,13 +4481,12 @@ ppc_elf_finish_dynamic_symbol (bfd *output_bfd, Otherwise, the PLT entry would provide a definition for the symbol even if the symbol wasn't defined anywhere, and so the symbol would never be NULL. */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR_NONWEAK) - == 0) + if (!h->ref_regular_nonweak) sym->st_value = 0; } } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { asection *s; Elf_Internal_Rela rela; @@ -5032,7 +5025,7 @@ ppc_elf_relocate_section (bfd *output_bfd, indx = 0; if (tls_type == (TLS_TLS | TLS_LD) && (h == NULL - || !(h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC))) + || !h->def_dynamic)) offp = &htab->tlsld_got.offset; else if (h != NULL) { @@ -5075,8 +5068,7 @@ ppc_elf_relocate_section (bfd *output_bfd, if (offp == &htab->tlsld_got.offset) tls_m = TLS_LD; else if (h == NULL - || !(h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC)) + || !h->def_dynamic) tls_m &= ~TLS_LD; /* We might have multiple got entries for this sym. @@ -5195,8 +5187,7 @@ ppc_elf_relocate_section (bfd *output_bfd, { if ((tls_mask & TLS_LD) != 0 && !(h == NULL - || !(h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC))) + || !h->def_dynamic)) off += 8; if (tls_type != (TLS_TLS | TLS_GD)) { @@ -5321,9 +5312,9 @@ ppc_elf_relocate_section (bfd *output_bfd, && (input_section->flags & SEC_ALLOC) != 0 && h != NULL && h->dynindx != -1 - && (h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)) + && !h->non_got_ref + && h->def_dynamic + && !h->def_regular)) { int skip; @@ -5722,7 +5713,7 @@ ppc_elf_relocate_section (bfd *output_bfd, if (unresolved_reloc && !((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0)) + && h->def_dynamic)) { (*_bfd_error_handler) (_("%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"), diff --git a/bfd/elf32-s390.c b/bfd/elf32-s390.c index 72ae02e8328..65c27e0220f 100644 --- a/bfd/elf32-s390.c +++ b/bfd/elf32-s390.c @@ -899,15 +899,16 @@ elf_s390_copy_indirect_symbol (bed, dir, ind) if (ELIMINATE_COPY_RELOCS && ind->root.type != bfd_link_hash_indirect - && (dir->elf_link_hash_flags & ELF_LINK_HASH_DYNAMIC_ADJUSTED) != 0) - /* If called to transfer flags for a weakdef during processing - of elf_adjust_dynamic_symbol, don't copy ELF_LINK_NON_GOT_REF. - We clear it ourselves for ELIMINATE_COPY_RELOCS. */ - dir->elf_link_hash_flags |= - (ind->elf_link_hash_flags & (ELF_LINK_HASH_REF_DYNAMIC - | ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_REF_REGULAR_NONWEAK - | ELF_LINK_HASH_NEEDS_PLT)); + && dir->dynamic_adjusted) + { + /* If called to transfer flags for a weakdef during processing + of elf_adjust_dynamic_symbol, don't copy non_got_ref. + We clear it ourselves for ELIMINATE_COPY_RELOCS. */ + dir->ref_dynamic |= ind->ref_dynamic; + dir->ref_regular |= ind->ref_regular; + dir->ref_regular_nonweak |= ind->ref_regular_nonweak; + dir->needs_plt |= ind->needs_plt; + } else _bfd_elf_link_hash_copy_indirect (bed, dir, ind); } @@ -1068,7 +1069,7 @@ elf_s390_check_relocs (abfd, info, sec, relocs) creating a procedure linkage table entry. */ if (h != NULL) { - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->plt.refcount += 1; } break; @@ -1089,7 +1090,7 @@ elf_s390_check_relocs (abfd, info, sec, relocs) if (h != NULL) { ((struct elf_s390_link_hash_entry *) h)->gotplt_refcount++; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->plt.refcount += 1; } else @@ -1198,7 +1199,7 @@ elf_s390_check_relocs (abfd, info, sec, relocs) sections have not yet been mapped to output sections. Tentatively set the flag for now, and correct in adjust_dynamic_symbol. */ - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; /* We may need a .plt entry if the function this reloc refers to is in a shared lib. */ @@ -1235,15 +1236,13 @@ elf_s390_check_relocs (abfd, info, sec, relocs) || (h != NULL && (! info->symbolic || h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) || (ELIMINATE_COPY_RELOCS && !info->shared && (sec->flags & SEC_ALLOC) != 0 && h != NULL && (h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + || !h->def_regular))) { struct elf_s390_dyn_relocs *p; struct elf_s390_dyn_relocs **head; @@ -1580,12 +1579,12 @@ elf_s390_adjust_dynamic_symbol (info, h) will fill in the contents of the procedure linkage table later (although we could actually do it here). */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { if (h->plt.refcount <= 0 || (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0 + && !h->def_dynamic + && !h->ref_dynamic && h->root.type != bfd_link_hash_undefweak && h->root.type != bfd_link_hash_undefined)) { @@ -1595,7 +1594,7 @@ elf_s390_adjust_dynamic_symbol (info, h) such a case, we don't actually need to build a procedure linkage table, and we can just do a PC32 reloc instead. */ h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; elf_s390_adjust_gotplt((struct elf_s390_link_hash_entry *) h); } @@ -1612,16 +1611,14 @@ elf_s390_adjust_dynamic_symbol (info, h) /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; if (ELIMINATE_COPY_RELOCS || info->nocopyreloc) - h->elf_link_hash_flags - = ((h->elf_link_hash_flags & ~ELF_LINK_NON_GOT_REF) - | (h->weakdef->elf_link_hash_flags & ELF_LINK_NON_GOT_REF)); + h->non_got_ref = h->u.weakdef->non_got_ref; return TRUE; } @@ -1637,13 +1634,13 @@ elf_s390_adjust_dynamic_symbol (info, h) /* If there are no references to this symbol that do not use the GOT, we don't need to generate a copy reloc. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0) + if (!h->non_got_ref) return TRUE; /* If -z nocopyreloc was given, we won't generate them either. */ if (info->nocopyreloc) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } @@ -1664,7 +1661,7 @@ elf_s390_adjust_dynamic_symbol (info, h) we'll be keeping the dynamic relocs and avoiding the copy reloc. */ if (p == NULL) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } } @@ -1687,7 +1684,7 @@ elf_s390_adjust_dynamic_symbol (info, h) if ((h->root.u.def.section->flags & SEC_ALLOC) != 0) { htab->srelbss->size += sizeof (Elf32_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -1748,7 +1745,7 @@ allocate_dynrelocs (h, inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -1772,7 +1769,7 @@ allocate_dynrelocs (h, inf) pointers compare as equal between the normal executable and the shared library. */ if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = h->plt.offset; @@ -1791,14 +1788,14 @@ allocate_dynrelocs (h, inf) else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; elf_s390_adjust_gotplt((struct elf_s390_link_hash_entry *) h); } } else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; elf_s390_adjust_gotplt((struct elf_s390_link_hash_entry *) h); } @@ -1831,7 +1828,7 @@ allocate_dynrelocs (h, inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -1899,9 +1896,9 @@ allocate_dynrelocs (h, inf) symbols which turn out to need copy relocs or are not dynamic. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->non_got_ref + && ((h->def_dynamic + && !h->def_regular) || (htab->elf.dynamic_sections_created && (h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined)))) @@ -1909,7 +1906,7 @@ allocate_dynrelocs (h, inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -2372,8 +2369,8 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section, || (info->shared && (info->symbolic || h->dynindx == -1 - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL)) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + || h->forced_local) + && h->def_regular) || (ELF_ST_VISIBILITY (h->other) && h->root.type == bfd_link_hash_undefweak)) { @@ -2553,11 +2550,9 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section, && !info->shared && h != NULL && h->dynindx != -1 - && (h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->non_got_ref + && ((h->def_dynamic + && !h->def_regular) || h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined))) { @@ -2593,8 +2588,7 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section, || r_type == R_390_PC32 || !info->shared || !info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) { outrel.r_info = ELF32_R_INFO (h->dynindx, r_type); outrel.r_addend = rel->r_addend; @@ -2990,7 +2984,7 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section, not process them. */ if (unresolved_reloc && !((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0)) + && h->def_dynamic)) (*_bfd_error_handler) (_("%B(%A+0x%lx): unresolvable relocation against symbol `%s'"), input_bfd, @@ -3194,7 +3188,7 @@ elf_s390_finish_dynamic_symbol (output_bfd, info, h, sym) loc = htab->srelplt->contents + plt_index * sizeof (Elf32_External_Rela); bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. This is a clue @@ -3231,8 +3225,8 @@ elf_s390_finish_dynamic_symbol (output_bfd, info, h, sym) if (info->shared && (info->symbolic || h->dynindx == -1 - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL)) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + || h->forced_local) + && h->def_regular) { BFD_ASSERT((h->got.offset & 1) != 0); rela.r_info = ELF32_R_INFO (0, R_390_RELATIVE); @@ -3253,7 +3247,7 @@ elf_s390_finish_dynamic_symbol (output_bfd, info, h, sym) bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { Elf_Internal_Rela rela; bfd_byte *loc; diff --git a/bfd/elf32-sh-symbian.c b/bfd/elf32-sh-symbian.c index 1247c6f11ad..adce088cc4d 100644 --- a/bfd/elf32-sh-symbian.c +++ b/bfd/elf32-sh-symbian.c @@ -505,7 +505,7 @@ sh_symbian_relocate_section (bfd * output_bfd, /* Allow the symbol to become local if necessary. */ if (new_hash->dynindx == -1) - new_hash->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + new_hash->def_regular = 1; if (DEBUG) fprintf (stderr, "Created new symbol %s\n", ptr->new_name); diff --git a/bfd/elf32-sh.c b/bfd/elf32-sh.c index a5aa4ff7bc3..4304a4ec40a 100644 --- a/bfd/elf32-sh.c +++ b/bfd/elf32-sh.c @@ -3910,7 +3910,7 @@ sh_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; h->type = STT_OBJECT; if (info->shared @@ -4017,20 +4017,17 @@ sh_elf_adjust_dynamic_symbol (struct bfd_link_info *info, /* Make sure we know what is going on here. */ BFD_ASSERT (htab->root.dynobj != NULL - && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) - || h->weakdef != NULL - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))); + && (h->needs_plt + || h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); /* If this is a function, put it in the procedure linkage table. We will fill in the contents of the procedure linkage table later, when we know the address of the .got section. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { if (h->plt.refcount <= 0 || SYMBOL_CALLS_LOCAL (info, h) @@ -4043,7 +4040,7 @@ sh_elf_adjust_dynamic_symbol (struct bfd_link_info *info, a procedure linkage table, and we can just do a REL32 reloc instead. */ h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } return TRUE; @@ -4054,16 +4051,14 @@ sh_elf_adjust_dynamic_symbol (struct bfd_link_info *info, /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; if (info->nocopyreloc) - h->elf_link_hash_flags - = ((h->elf_link_hash_flags & ~ELF_LINK_NON_GOT_REF) - | (h->weakdef->elf_link_hash_flags & ELF_LINK_NON_GOT_REF)); + h->non_got_ref = h->u.weakdef->non_got_ref; return TRUE; } @@ -4079,13 +4074,13 @@ sh_elf_adjust_dynamic_symbol (struct bfd_link_info *info, /* If there are no references to this symbol that do not use the GOT, we don't need to generate a copy reloc. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0) + if (!h->non_got_ref) return TRUE; /* If -z nocopyreloc was given, we won't generate them either. */ if (info->nocopyreloc) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } @@ -4102,7 +4097,7 @@ sh_elf_adjust_dynamic_symbol (struct bfd_link_info *info, the copy reloc. */ if (p == NULL) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } @@ -4130,7 +4125,7 @@ sh_elf_adjust_dynamic_symbol (struct bfd_link_info *info, srel = htab->srelbss; BFD_ASSERT (srel != NULL); srel->size += sizeof (Elf32_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -4182,7 +4177,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) eh = (struct elf_sh_link_hash_entry *) h; if ((h->got.refcount > 0 - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL)) + || h->forced_local) && eh->gotplt_refcount > 0) { /* The symbol has been forced local, or we have some direct got refs, @@ -4200,7 +4195,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -4224,7 +4219,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) pointers compare as equal between the normal executable and the shared library. */ if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = h->plt.offset; @@ -4243,13 +4238,13 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } } else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } if (h->got.refcount > 0) @@ -4261,7 +4256,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -4299,7 +4294,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -4354,9 +4349,9 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) symbols which turn out to need copy relocs or are not dynamic. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->non_got_ref + && ((h->def_dynamic + && !h->def_regular) || (htab->root.dynamic_sections_created && (h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined)))) @@ -4364,7 +4359,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -4862,8 +4857,7 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info, && WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, info->shared, h) && (! info->shared || (! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) /* The cases above are those in which relocation is overwritten in the switch block below. The cases below are those in which we must defer relocation @@ -4871,11 +4865,9 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info, addresses when creating a shared library. */ || (info->shared && ((! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0) + || !h->def_regular) && ((r_type == R_SH_DIR32 - && (h->elf_link_hash_flags - & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) || r_type == R_SH_REL32) && ((input_section->flags & SEC_ALLOC) != 0 /* DWARF will emit R_SH_DIR32 relocations in its @@ -4883,15 +4875,13 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info, in shared libraries. We can't do anything with them here. */ || ((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0))) + && h->def_dynamic))) /* Dynamic relocs are not propagated for SEC_DEBUGGING sections because such sections are not SEC_ALLOC and thus ld.so will not process them. */ || (sec->output_section == NULL && ((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0)) + && h->def_dynamic)) || (sec->output_section == NULL && (sh_elf_hash_entry (h)->tls_type == GOT_TLS_IE || sh_elf_hash_entry (h)->tls_type == GOT_TLS_GD))) @@ -5138,8 +5128,7 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info, become local. */ if (h == NULL || ((info->symbolic || h->dynindx == -1) - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) != 0)) + && h->def_regular)) { relocate = TRUE; outrel.r_info = ELF32_R_INFO (0, R_SH_RELATIVE); @@ -5183,7 +5172,7 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info, procedure linkage table. */ if (h == NULL - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) + || h->forced_local || ! info->shared || info->symbolic || h->dynindx == -1 @@ -5411,7 +5400,7 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info, if (h == NULL) goto final_link_relocate; - if (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) + if (h->forced_local) goto final_link_relocate; if (h->plt.offset == (bfd_vma) -1) @@ -5464,7 +5453,7 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info, tls_type = sh_elf_hash_entry (h)->tls_type; if (! info->shared && (h->dynindx == -1 - || (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))) + || h->def_regular)) r_type = R_SH_TLS_LE_32; } @@ -6307,15 +6296,16 @@ sh_elf_copy_indirect_symbol (const struct elf_backend_data *bed, } if (ind->root.type != bfd_link_hash_indirect - && (dir->elf_link_hash_flags & ELF_LINK_HASH_DYNAMIC_ADJUSTED) != 0) - /* If called to transfer flags for a weakdef during processing - of elf_adjust_dynamic_symbol, don't copy ELF_LINK_NON_GOT_REF. - We clear it ourselves for ELIMINATE_COPY_RELOCS. */ - dir->elf_link_hash_flags |= - (ind->elf_link_hash_flags & (ELF_LINK_HASH_REF_DYNAMIC - | ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_REF_REGULAR_NONWEAK - | ELF_LINK_HASH_NEEDS_PLT)); + && dir->dynamic_adjusted) + { + /* If called to transfer flags for a weakdef during processing + of elf_adjust_dynamic_symbol, don't copy non_got_ref. + We clear it ourselves for ELIMINATE_COPY_RELOCS. */ + dir->ref_dynamic |= ind->ref_dynamic; + dir->ref_regular |= ind->ref_regular; + dir->ref_regular_nonweak |= ind->ref_regular_nonweak; + dir->needs_plt |= ind->needs_plt; + } else _bfd_elf_link_hash_copy_indirect (bed, dir, ind); } @@ -6411,7 +6401,7 @@ sh_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec, && h->root.type != bfd_link_hash_undefined && h->root.type != bfd_link_hash_undefweak && (h->dynindx == -1 - || (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))) + || h->def_regular)) r_type = R_SH_TLS_LE_32; /* Some relocs require a global offset table. */ @@ -6608,13 +6598,13 @@ sh_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec, creating a procedure linkage table entry. */ if (h == NULL - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) + || h->forced_local || ! info->shared || info->symbolic || h->dynindx == -1) goto force_got; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->plt.refcount += 1; ((struct elf_sh_link_hash_entry *) h)->gotplt_refcount += 1; @@ -6639,10 +6629,10 @@ sh_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec, if (h == NULL) continue; - if (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) + if (h->forced_local) break; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->plt.refcount += 1; break; @@ -6656,7 +6646,7 @@ sh_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec, #endif if (h != NULL && ! info->shared) { - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; h->plt.refcount += 1; } @@ -6685,14 +6675,12 @@ sh_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec, || (h != NULL && (! info->symbolic || h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) || (! info->shared && (sec->flags & SEC_ALLOC) != 0 && h != NULL && (h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + || !h->def_regular))) { struct elf_sh_dyn_relocs *p; struct elf_sh_dyn_relocs **head; @@ -7081,7 +7069,7 @@ sh_elf_finish_dynamic_symbol (bfd *output_bfd, struct bfd_link_info *info, loc = srel->contents + plt_index * sizeof (Elf32_External_Rela); bfd_elf32_swap_reloca_out (output_bfd, &rel, loc); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. */ @@ -7185,7 +7173,7 @@ sh_elf_finish_dynamic_symbol (bfd *output_bfd, struct bfd_link_info *info, } #endif - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { asection *s; Elf_Internal_Rela rel; diff --git a/bfd/elf32-sh64.c b/bfd/elf32-sh64.c index 58833715af9..f7d8949fe3a 100644 --- a/bfd/elf32-sh64.c +++ b/bfd/elf32-sh64.c @@ -425,7 +425,7 @@ sh64_elf_add_symbol_hook (bfd *abfd, struct bfd_link_info *info, } h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags &=~ ELF_LINK_NON_ELF; + h->non_elf = 0; h->type = STT_DATALABEL; } else diff --git a/bfd/elf32-sparc.c b/bfd/elf32-sparc.c index 5b805334192..77b108632a3 100644 --- a/bfd/elf32-sparc.c +++ b/bfd/elf32-sparc.c @@ -1098,7 +1098,7 @@ elf32_sparc_check_relocs (abfd, info, sec, relocs) break; } - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; if (ELF32_R_TYPE (rel->r_info) == R_SPARC_PLT32) goto r_sparc_plt32; @@ -1108,7 +1108,7 @@ elf32_sparc_check_relocs (abfd, info, sec, relocs) case R_SPARC_PC10: case R_SPARC_PC22: if (h != NULL) - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; if (h != NULL && strcmp (h->root.root.string, "_GLOBAL_OFFSET_TABLE_") == 0) @@ -1132,7 +1132,7 @@ elf32_sparc_check_relocs (abfd, info, sec, relocs) case R_SPARC_UA16: case R_SPARC_UA32: if (h != NULL) - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; r_sparc_plt32: if (h != NULL && !info->shared) @@ -1169,14 +1169,12 @@ elf32_sparc_check_relocs (abfd, info, sec, relocs) || (h != NULL && (! info->symbolic || h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) || (!info->shared && (sec->flags & SEC_ALLOC) != 0 && h != NULL && (h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + || !h->def_regular))) { struct elf32_sparc_dyn_relocs *p; struct elf32_sparc_dyn_relocs **head; @@ -1457,14 +1455,11 @@ elf32_sparc_adjust_dynamic_symbol (info, h) /* Make sure we know what is going on here. */ BFD_ASSERT (htab->elf.dynobj != NULL - && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) - || h->weakdef != NULL - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))); + && (h->needs_plt + || h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); /* If this is a function, put it in the procedure linkage table. We will fill in the contents of the procedure linkage table later @@ -1474,7 +1469,7 @@ elf32_sparc_adjust_dynamic_symbol (info, h) some of their functions as STT_NOTYPE when they really should be STT_FUNC. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0 + || h->needs_plt || (h->type == STT_NOTYPE && (h->root.type == bfd_link_hash_defined || h->root.type == bfd_link_hash_defweak) @@ -1482,8 +1477,8 @@ elf32_sparc_adjust_dynamic_symbol (info, h) { if (h->plt.refcount <= 0 || (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0 + && !h->def_dynamic + && !h->ref_dynamic && h->root.type != bfd_link_hash_undefweak && h->root.type != bfd_link_hash_undefined)) { @@ -1493,7 +1488,7 @@ elf32_sparc_adjust_dynamic_symbol (info, h) such a case, we don't actually need to build a procedure linkage table, and we can just do a WDISP30 reloc instead. */ h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } return TRUE; @@ -1504,12 +1499,12 @@ elf32_sparc_adjust_dynamic_symbol (info, h) /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } @@ -1525,7 +1520,7 @@ elf32_sparc_adjust_dynamic_symbol (info, h) /* If there are no references to this symbol that do not use the GOT, we don't need to generate a copy reloc. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0) + if (!h->non_got_ref) return TRUE; eh = (struct elf32_sparc_link_hash_entry *) h; @@ -1540,7 +1535,7 @@ elf32_sparc_adjust_dynamic_symbol (info, h) we'll be keeping the dynamic relocs and avoiding the copy reloc. */ if (p == NULL) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } @@ -1561,7 +1556,7 @@ elf32_sparc_adjust_dynamic_symbol (info, h) if ((h->root.u.def.section->flags & SEC_ALLOC) != 0) { htab->srelbss->size += sizeof (Elf32_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -1620,7 +1615,7 @@ allocate_dynrelocs (h, inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -1649,7 +1644,7 @@ allocate_dynrelocs (h, inf) pointers compare as equal between the normal executable and the shared library. */ if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = h->plt.offset; @@ -1664,13 +1659,13 @@ allocate_dynrelocs (h, inf) else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } } else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } /* If R_SPARC_TLS_IE_{HI22,LO10} symbol is now local to the binary, @@ -1689,7 +1684,7 @@ allocate_dynrelocs (h, inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -1728,8 +1723,8 @@ allocate_dynrelocs (h, inf) if (info->shared) { - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0 - && ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0 + if (h->def_regular + && (h->forced_local || info->symbolic)) { struct elf32_sparc_dyn_relocs **pp; @@ -1751,9 +1746,9 @@ allocate_dynrelocs (h, inf) symbols which turn out to need copy relocs or are not dynamic. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->non_got_ref + && ((h->def_dynamic + && !h->def_regular) || (htab->elf.dynamic_sections_created && (h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined)))) @@ -1761,7 +1756,7 @@ allocate_dynrelocs (h, inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -2229,8 +2224,8 @@ elf32_sparc_relocate_section (output_bfd, info, input_bfd, input_section, || (info->shared && (info->symbolic || h->dynindx == -1 - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL)) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))) + || h->forced_local) + && h->def_regular)) { /* This is actually a static link, or it is a -Bsymbolic link and the symbol is defined @@ -2378,16 +2373,13 @@ elf32_sparc_relocate_section (output_bfd, info, input_bfd, input_section, || (h != NULL && h->dynindx != -1 && (! info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) || (!info->shared && h != NULL && h->dynindx != -1 - && (h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->non_got_ref + && ((h->def_dynamic + && !h->def_regular) || h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined))) { @@ -2452,8 +2444,7 @@ elf32_sparc_relocate_section (output_bfd, info, input_bfd, input_section, become local. */ else if (h != NULL && ! is_plt && ((! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) { BFD_ASSERT (h->dynindx != -1); outrel.r_info = ELF32_R_INFO (h->dynindx, r_type); @@ -2849,7 +2840,7 @@ elf32_sparc_relocate_section (output_bfd, info, input_bfd, input_section, not process them. */ if (unresolved_reloc && !((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0)) + && h->def_dynamic)) (*_bfd_error_handler) (_("%B(%A+0x%lx): unresolvable relocation against symbol `%s'"), input_bfd, @@ -3100,7 +3091,7 @@ elf32_sparc_finish_dynamic_symbol (output_bfd, info, h, sym) loc += (h->plt.offset / PLT_ENTRY_SIZE - 4) * sizeof (Elf32_External_Rela); bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. */ @@ -3109,8 +3100,7 @@ elf32_sparc_finish_dynamic_symbol (output_bfd, info, h, sym) Otherwise, the PLT entry would provide a definition for the symbol even if the symbol wasn't defined anywhere, and so the symbol would never be NULL. */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR_NONWEAK) - == 0) + if (!h->ref_regular_nonweak) sym->st_value = 0; } } @@ -3142,7 +3132,7 @@ elf32_sparc_finish_dynamic_symbol (output_bfd, info, h, sym) initialized in the relocate_section function. */ if (info->shared && (info->symbolic || h->dynindx == -1) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + && h->def_regular) { asection *sec = h->root.u.def.section; rela.r_info = ELF32_R_INFO (0, R_SPARC_RELATIVE); @@ -3163,7 +3153,7 @@ elf32_sparc_finish_dynamic_symbol (output_bfd, info, h, sym) bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { asection *s; Elf_Internal_Rela rela; diff --git a/bfd/elf32-vax.c b/bfd/elf32-vax.c index a0249b19f3d..9a8f0407435 100644 --- a/bfd/elf32-vax.c +++ b/bfd/elf32-vax.c @@ -682,7 +682,7 @@ elf_vax_check_relocs (abfd, info, sec, relocs) if (h == NULL) continue; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; if (h->plt.refcount == -1) h->plt.refcount = 1; else @@ -706,8 +706,7 @@ elf_vax_check_relocs (abfd, info, sec, relocs) && (sec->flags & SEC_ALLOC) != 0 && h != NULL && (!info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + || !h->def_regular))) { if (h != NULL) { @@ -962,24 +961,21 @@ elf_vax_adjust_dynamic_symbol (info, h) /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL - && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) - || h->weakdef != NULL - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))); + && (h->needs_plt + || h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); /* If this is a function, put it in the procedure linkage table. We will fill in the contents of the procedure linkage table later, when we know the address of the .got section. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0 + && !h->def_dynamic + && !h->ref_dynamic /* We must always create the plt entry if it was referenced by a PLTxxO relocation. In this case we already recorded it as a dynamic symbol. */ @@ -990,7 +986,7 @@ elf_vax_adjust_dynamic_symbol (info, h) object. In such a case, we don't actually need to build a procedure linkage table, and we can just do a PCxx reloc instead. */ - BFD_ASSERT ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0); + BFD_ASSERT (h->needs_plt); h->plt.offset = (bfd_vma) -1; return TRUE; } @@ -998,7 +994,7 @@ elf_vax_adjust_dynamic_symbol (info, h) /* GC may have rendered this entry unused. */ if (h->plt.refcount <= 0) { - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; h->plt.offset = (bfd_vma) -1; return TRUE; } @@ -1026,7 +1022,7 @@ elf_vax_adjust_dynamic_symbol (info, h) pointers compare as equal between the normal executable and the shared library. */ if (!info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = s->size; @@ -1060,12 +1056,12 @@ elf_vax_adjust_dynamic_symbol (info, h) /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } @@ -1103,7 +1099,7 @@ elf_vax_adjust_dynamic_symbol (info, h) srel = bfd_get_section_by_name (dynobj, ".rela.bss"); BFD_ASSERT (srel != NULL); srel->size += sizeof (Elf32_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -1349,7 +1345,7 @@ elf_vax_discard_copies (h, ignore) h = (struct elf_vax_link_hash_entry *) h->root.root.u.i.link; /* We only discard relocs for symbols defined in a regular object. */ - if ((h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->root.def_regular) return TRUE; for (s = h->pcrel_relocs_copied; s != NULL; s = s->next) @@ -1504,12 +1500,10 @@ elf_vax_relocate_section (output_bfd, info, input_bfd, input_section, && elf_hash_table (info)->dynamic_sections_created && (! info->shared || (! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) || (info->shared && ((! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0) + || !h->def_regular) && ((input_section->flags & SEC_ALLOC) != 0 /* DWARF will emit R_VAX_32 relocations in its sections against symbols defined externally @@ -1517,8 +1511,7 @@ elf_vax_relocate_section (output_bfd, info, input_bfd, input_section, with them here. */ || ((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0)) + && h->def_dynamic)) && (r_type == R_VAX_8 || r_type == R_VAX_16 || r_type == R_VAX_32 @@ -1558,7 +1551,7 @@ elf_vax_relocate_section (output_bfd, info, input_bfd, input_section, if (info->shared && h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + && h->def_regular) { /* The symbol was forced to be local because of a version file.. We must initialize @@ -1665,8 +1658,7 @@ elf_vax_relocate_section (output_bfd, info, input_bfd, input_section, && r_type != R_VAX_PC16 && r_type != R_VAX_PC32) || (!info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + || !h->def_regular))) { Elf_Internal_Rela outrel; bfd_byte *loc; @@ -1714,8 +1706,7 @@ elf_vax_relocate_section (output_bfd, info, input_bfd, input_section, become local. */ else if (h != NULL && ((! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) { BFD_ASSERT (h->dynindx != -1); outrel.r_info = ELF32_R_INFO (h->dynindx, r_type); @@ -1923,7 +1914,7 @@ elf_vax_finish_dynamic_symbol (output_bfd, info, h, sym) loc = srela->contents + plt_index * sizeof (Elf32_External_Rela); bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. */ @@ -1954,7 +1945,7 @@ elf_vax_finish_dynamic_symbol (output_bfd, info, h, sym) the relocate_section function. */ if (info->shared && h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + && h->def_regular) { rela.r_info = ELF32_R_INFO (0, R_VAX_RELATIVE); } @@ -1971,7 +1962,7 @@ elf_vax_finish_dynamic_symbol (output_bfd, info, h, sym) bfd_elf32_swap_reloca_out (output_bfd, &rela, loc); } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { asection *s; Elf_Internal_Rela rela; diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c index cfdbd235fde..0755e09d596 100644 --- a/bfd/elf32-xtensa.c +++ b/bfd/elf32-xtensa.c @@ -681,7 +681,7 @@ elf_xtensa_check_relocs (abfd, info, sec, relocs) { if (h->plt.refcount <= 0) { - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->plt.refcount = 1; } else @@ -984,12 +984,12 @@ elf_xtensa_adjust_dynamic_symbol (info, h) /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } @@ -2100,7 +2100,7 @@ elf_xtensa_relocate_section (output_bfd, info, input_bfd, not process them. */ if (unresolved_reloc && !((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0)) + && h->def_dynamic)) (*_bfd_error_handler) (_("%B(%A+0x%lx): unresolvable relocation against symbol `%s'"), input_bfd, @@ -2160,8 +2160,8 @@ elf_xtensa_finish_dynamic_symbol (output_bfd, info, h, sym) struct elf_link_hash_entry *h; Elf_Internal_Sym *sym; { - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (h->needs_plt + && !h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. */ diff --git a/bfd/elf64-alpha.c b/bfd/elf64-alpha.c index a1f4e03cfb5..64806126517 100644 --- a/bfd/elf64-alpha.c +++ b/bfd/elf64-alpha.c @@ -2111,7 +2111,7 @@ elf64_alpha_relax_section (abfd, sec, link_info, again) /* If the symbol isn't defined in the current module, again we can't do anything. */ - if (!(h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + if (!h->root.def_regular) { /* Except for TLSGD relocs, which can sometimes be relaxed to GOTTPREL relocs. */ @@ -2450,7 +2450,7 @@ elf64_alpha_create_dynamic_sections (abfd, info) get_elf_backend_data (abfd)->collect, &bh))) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; h->type = STT_OBJECT; if (info->shared @@ -2494,7 +2494,7 @@ elf64_alpha_create_dynamic_sections (abfd, info) FALSE, get_elf_backend_data (abfd)->collect, &bh))) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; h->type = STT_OBJECT; if (info->shared @@ -2741,10 +2741,9 @@ elf64_alpha_output_extsym (h, data) if (h->root.indx == -2) strip = FALSE; - else if (((h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - || (h->root.elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0) - && (h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0 - && (h->root.elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0) + else if ((h->root.def_dynamic || h->root.ref_dynamic) + && !h->root.def_regular + && !h->root.ref_regular) strip = TRUE; else if (einfo->info->strip == strip_all || (einfo->info->strip == strip_some @@ -2831,7 +2830,7 @@ elf64_alpha_output_extsym (h, data) else h->esym.asym.value = 0; } - else if ((h->root.elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + else if (h->root.needs_plt) { /* Set type and value for a symbol with a function stub. */ h->esym.asym.st = stProc; @@ -2998,7 +2997,7 @@ elf64_alpha_check_relocs (abfd, info, sec, relocs) || h->root.root.type == bfd_link_hash_warning) h = (struct alpha_elf_link_hash_entry *)h->root.root.u.i.link; - h->root.elf_link_hash_flags |= ELF_LINK_HASH_REF_REGULAR; + h->root.ref_regular = 1; } /* We can only get preliminary data on whether a symbol is @@ -3008,7 +3007,7 @@ elf64_alpha_check_relocs (abfd, info, sec, relocs) maybe_dynamic = FALSE; if (h && ((info->shared && (!info->symbolic || info->unresolved_syms_in_shared_libs == RM_IGNORE)) - || ! (h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) + || !h->root.def_regular || h->root.root.type == bfd_link_hash_defweak)) maybe_dynamic = TRUE; @@ -3114,9 +3113,9 @@ elf64_alpha_check_relocs (abfd, info, sec, relocs) /* Make a guess as to whether a .plt entry is needed. */ if ((gotent_flags & ALPHA_ELF_LINK_HASH_LU_FUNC) && !(gotent_flags & ~ALPHA_ELF_LINK_HASH_LU_FUNC)) - h->root.elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->root.needs_plt = 1; else - h->root.elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->root.needs_plt = 0; } } } @@ -3240,7 +3239,7 @@ elf64_alpha_adjust_dynamic_symbol (info, h) somewhere later. But for now don't bother. */ && ah->got_entries) { - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; s = bfd_get_section_by_name(dynobj, ".plt"); if (!s && !elf64_alpha_create_dynamic_sections (dynobj, info)) @@ -3275,17 +3274,17 @@ elf64_alpha_adjust_dynamic_symbol (info, h) return TRUE; } else - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } @@ -3727,7 +3726,7 @@ elf64_alpha_size_plt_section_1 (h, data) struct alpha_elf_got_entry *gotent; /* If we didn't need an entry before, we still don't. */ - if (!(h->root.elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT)) + if (!h->root.needs_plt) return TRUE; /* There must still be a LITERAL got entry for the function. */ @@ -3747,7 +3746,7 @@ elf64_alpha_size_plt_section_1 (h, data) } else { - h->root.elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->root.needs_plt = 0; h->root.plt.offset = -1; /* Undo the definition frobbing begun in adjust_dynamic_symbol. */ @@ -3849,15 +3848,13 @@ elf64_alpha_calc_dynrel_sizes (h, info) set. This is done for dynamic symbols in elf_adjust_dynamic_symbol but this is not done for non-dynamic symbols, somehow. */ - if (((h->root.elf_link_hash_flags - & (ELF_LINK_HASH_DEF_REGULAR - | ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_DEF_DYNAMIC)) - == ELF_LINK_HASH_REF_REGULAR) + if (!h->root.def_regular + && h->root.ref_regular + && !h->root.def_dynamic && (h->root.root.type == bfd_link_hash_defined || h->root.root.type == bfd_link_hash_defweak) && !(h->root.root.u.def.section->owner->flags & DYNAMIC)) - h->root.elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->root.def_regular = 1; /* If the symbol is dynamic, we'll need all the relocations in their natural form. If this is a shared object, and it has been forced @@ -4897,7 +4894,7 @@ elf64_alpha_finish_dynamic_symbol (output_bfd, info, h, sym) loc = srel->contents + plt_index * sizeof (Elf64_External_Rela); bfd_elf64_swap_reloca_out (output_bfd, &outrel, loc); - if (!(h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. */ diff --git a/bfd/elf64-hppa.c b/bfd/elf64-hppa.c index 25431d410e1..800d66ad7ca 100644 --- a/bfd/elf64-hppa.c +++ b/bfd/elf64-hppa.c @@ -743,7 +743,7 @@ elf64_hppa_check_relocs (abfd, info, sec, relocs) || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; - h->elf_link_hash_flags |= ELF_LINK_HASH_REF_REGULAR; + h->ref_regular = 1; } /* We can only get preliminary data on whether a symbol is @@ -752,8 +752,9 @@ elf64_hppa_check_relocs (abfd, info, sec, relocs) this may help reduce memory usage and processing time later. */ maybe_dynamic = FALSE; if (h && ((info->shared - && (!info->symbolic || info->unresolved_syms_in_shared_libs == RM_IGNORE)) - || ! (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) + && (!info->symbolic + || info->unresolved_syms_in_shared_libs == RM_IGNORE)) + || !h->def_regular || h->root.type == bfd_link_hash_defweak)) maybe_dynamic = TRUE; @@ -913,7 +914,7 @@ elf64_hppa_check_relocs (abfd, info, sec, relocs) /* This could be a local function that had its address taken, in which case H will be NULL. */ if (h) - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; } /* Add a new dynamic relocation to the chain of dynamic @@ -1014,7 +1015,7 @@ elf64_hppa_mark_exported_functions (h, data) dyn_h->want_opd = 1; /* Put a flag here for output_symbol_hook. */ dyn_h->st_shndx = -1; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; } return TRUE; @@ -1558,12 +1559,12 @@ elf64_hppa_adjust_dynamic_symbol (info, h) /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index b49b6137034..6f30194e6ad 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -3766,7 +3766,6 @@ ppc64_elf_copy_indirect_symbol struct elf_link_hash_entry *ind) { struct ppc_link_hash_entry *edir, *eind; - flagword mask; edir = (struct ppc_link_hash_entry *) dir; eind = (struct ppc_link_hash_entry *) ind; @@ -3810,18 +3809,18 @@ ppc64_elf_copy_indirect_symbol edir->is_func_descriptor |= eind->is_func_descriptor; edir->tls_mask |= eind->tls_mask; - mask = (ELF_LINK_HASH_REF_DYNAMIC | ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_REF_REGULAR_NONWEAK | ELF_LINK_NON_GOT_REF - | ELF_LINK_HASH_NEEDS_PLT); /* If called to transfer flags for a weakdef during processing - of elf_adjust_dynamic_symbol, don't copy ELF_LINK_NON_GOT_REF. + of elf_adjust_dynamic_symbol, don't copy NON_GOT_REF. We clear it ourselves for ELIMINATE_COPY_RELOCS. */ - if (ELIMINATE_COPY_RELOCS - && eind->elf.root.type != bfd_link_hash_indirect - && (edir->elf.elf_link_hash_flags & ELF_LINK_HASH_DYNAMIC_ADJUSTED) != 0) - mask &= ~ELF_LINK_NON_GOT_REF; + if (!(ELIMINATE_COPY_RELOCS + && eind->elf.root.type != bfd_link_hash_indirect + && edir->elf.dynamic_adjusted)) + edir->elf.non_got_ref |= eind->elf.non_got_ref; - edir->elf.elf_link_hash_flags |= eind->elf.elf_link_hash_flags & mask; + edir->elf.ref_dynamic |= eind->elf.ref_dynamic; + edir->elf.ref_regular |= eind->elf.ref_regular; + edir->elf.ref_regular_nonweak |= eind->elf.ref_regular_nonweak; + edir->elf.needs_plt |= eind->elf.needs_plt; /* If we were called to copy over info for a weak sym, that's all. */ if (eind->elf.root.type != bfd_link_hash_indirect) @@ -4064,22 +4063,22 @@ ppc64_elf_check_directives (bfd *abfd ATTRIBUTE_UNUSED, if (h->type != bfd_link_hash_undefined && h->type != bfd_link_hash_common) { - *pun = h->und_next; - h->und_next = NULL; + *pun = h->u.undef.next; + h->u.undef.next = NULL; if (h == htab->elf.root.undefs_tail) { if (pun == &htab->elf.root.undefs) htab->elf.root.undefs_tail = NULL; else - /* pun points at an und_next field. Go back to + /* pun points at an u.undef.next field. Go back to the start of the link_hash_entry. */ htab->elf.root.undefs_tail = (struct bfd_link_hash_entry *) - ((char *) pun - ((char *) &h->und_next - (char *) h)); + ((char *) pun - ((char *) &h->u.undef.next - (char *) h)); break; } } else - pun = &h->und_next; + pun = &h->u.undef.next; } htab->twiddled_syms = 0; @@ -4155,7 +4154,7 @@ update_plt_info (bfd *abfd, struct ppc_link_hash_entry *eh, bfd_vma addend) eh->elf.plt.plist = ent; } ent->plt.refcount += 1; - eh->elf.elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + eh->elf.needs_plt = 1; eh->is_func = 1; return TRUE; } @@ -4551,7 +4550,7 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, case R_PPC64_TOC: if (h != NULL && !info->shared) /* We may need a copy reloc. */ - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; /* Don't propagate .opd relocs. */ if (NO_OPD_RELOCS && opd_sym_map != NULL) @@ -4584,14 +4583,12 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, || (h != NULL && (! info->symbolic || h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) || (ELIMINATE_COPY_RELOCS && !info->shared && h != NULL && (h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + || !h->def_regular))) { struct ppc_dyn_relocs *p; struct ppc_dyn_relocs **head; @@ -5080,13 +5077,13 @@ sfpr_define (struct bfd_link_info *info, const struct sfpr_def_parms *parm) sym[len + 1] = i % 10 + '0'; h = elf_link_hash_lookup (&htab->elf, sym, FALSE, FALSE, TRUE); if (h != NULL - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.type = bfd_link_hash_defined; h->root.u.def.section = htab->sfpr; h->root.u.def.value = htab->sfpr->size; h->type = STT_FUNC; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; _bfd_elf_link_hash_hide_symbol (info, h, TRUE); writing = TRUE; if (htab->sfpr->contents == NULL) @@ -5311,7 +5308,7 @@ func_desc_adjust (struct elf_link_hash_entry *h, void *inf) &fh->elf.root.u.def.value) != (bfd_vma) -1) { fh->elf.root.type = fh->oh->elf.root.type; - fh->elf.elf_link_hash_flags |= ELF_LINK_FORCED_LOCAL; + fh->elf.forced_local = 1; } /* If this is a function code symbol, transfer dynamic linking @@ -5362,27 +5359,26 @@ func_desc_adjust (struct elf_link_hash_entry *h, void *inf) return FALSE; } fdh = (struct ppc_link_hash_entry *) bh; - fdh->elf.elf_link_hash_flags &= ~ELF_LINK_NON_ELF; + fdh->elf.non_elf = 0; fdh->elf.size = 24; fdh->elf.type = STT_OBJECT; } if (fdh != NULL - && (fdh->elf.elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0 + && !fdh->elf.forced_local && (info->shared - || (fdh->elf.elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - || (fdh->elf.elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0 + || fdh->elf.def_dynamic + || fdh->elf.ref_dynamic || (fdh->elf.root.type == bfd_link_hash_undefweak && ELF_ST_VISIBILITY (fdh->elf.other) == STV_DEFAULT))) { if (fdh->elf.dynindx == -1) if (! bfd_elf_link_record_dynamic_symbol (info, &fdh->elf)) return FALSE; - fdh->elf.elf_link_hash_flags - |= (fh->elf.elf_link_hash_flags & (ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_REF_DYNAMIC - | ELF_LINK_HASH_REF_REGULAR_NONWEAK - | ELF_LINK_NON_GOT_REF)); + fdh->elf.ref_regular |= fh->elf.ref_regular; + fdh->elf.ref_dynamic |= fh->elf.ref_dynamic; + fdh->elf.ref_regular_nonweak |= fh->elf.ref_regular_nonweak; + fdh->elf.non_got_ref |= fh->elf.non_got_ref; if (ELF_ST_VISIBILITY (fh->elf.other) == STV_DEFAULT) { struct plt_entry **ep = &fdh->elf.plt.plist; @@ -5390,7 +5386,7 @@ func_desc_adjust (struct elf_link_hash_entry *h, void *inf) ep = &(*ep)->next; *ep = fh->elf.plt.plist; fh->elf.plt.plist = NULL; - fdh->elf.elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + fdh->elf.needs_plt = 1; } fdh->is_func_descriptor = 1; fdh->oh = fh; @@ -5406,10 +5402,10 @@ func_desc_adjust (struct elf_link_hash_entry *h, void *inf) linker dragging in a definition from a static library. */ force_local = (info->shared - && ((fh->elf.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0 + && (!fh->elf.def_regular || fdh == NULL - || (fdh->elf.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0 - || (fdh->elf.elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0)); + || !fdh->elf.def_regular + || fdh->elf.forced_local)); _bfd_elf_link_hash_hide_symbol (info, &fh->elf, force_local); return TRUE; @@ -5479,7 +5475,7 @@ ppc64_elf_adjust_dynamic_symbol (struct bfd_link_info *info, /* Deal with function syms. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { /* Clear procedure linkage table information for any symbol that won't need a .plt entry. */ @@ -5493,7 +5489,7 @@ ppc64_elf_adjust_dynamic_symbol (struct bfd_link_info *info, && h->root.type == bfd_link_hash_undefweak)) { h->plt.plist = NULL; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } } else @@ -5502,16 +5498,14 @@ ppc64_elf_adjust_dynamic_symbol (struct bfd_link_info *info, /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; if (ELIMINATE_COPY_RELOCS) - h->elf_link_hash_flags - = ((h->elf_link_hash_flags & ~ELF_LINK_NON_GOT_REF) - | (h->weakdef->elf_link_hash_flags & ELF_LINK_NON_GOT_REF)); + h->non_got_ref = h->u.weakdef->non_got_ref; return TRUE; } @@ -5524,7 +5518,7 @@ ppc64_elf_adjust_dynamic_symbol (struct bfd_link_info *info, /* If there are no references to this symbol that do not use the GOT, we don't need to generate a copy reloc. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0) + if (!h->non_got_ref) return TRUE; if (ELIMINATE_COPY_RELOCS) @@ -5544,7 +5538,7 @@ ppc64_elf_adjust_dynamic_symbol (struct bfd_link_info *info, we'll be keeping the dynamic relocs and avoiding the copy reloc. */ if (p == NULL) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } } @@ -5582,7 +5576,7 @@ ppc64_elf_adjust_dynamic_symbol (struct bfd_link_info *info, if ((h->root.u.def.section->flags & SEC_ALLOC) != 0) { htab->relbss->size += sizeof (Elf64_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -5812,7 +5806,7 @@ get_tls_mask (char **tls_maskp, unsigned long *toc_symndx, if ((h == NULL || ((h->root.type == bfd_link_hash_defined || h->root.type == bfd_link_hash_defweak) - && !(h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC))) + && !h->def_dynamic)) && (next_r == -1 || next_r == -2)) return 1 - next_r; return 1; @@ -6404,7 +6398,7 @@ ppc64_elf_tls_optimize (bfd *obfd ATTRIBUTE_UNUSED, struct bfd_link_info *info) ok_tprel = FALSE; is_local = FALSE; if (h == NULL - || !(h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC)) + || !h->def_dynamic) { is_local = TRUE; value += sym_sec->output_offset; @@ -6683,13 +6677,13 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) if (!doneone) { h->plt.plist = NULL; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } } else { h->plt.plist = NULL; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } eh = (struct ppc_link_hash_entry *) h; @@ -6727,14 +6721,14 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) Undefined weak syms won't yet be marked as dynamic, nor will all TLS symbols. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; } if ((gent->tls_type & TLS_LD) != 0 - && !(h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC)) + && !h->def_dynamic) { gent->got.offset = ppc64_tlsld_got (gent->owner)->offset; continue; @@ -6801,14 +6795,14 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) symbols which turn out to need copy relocs or are not dynamic. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->non_got_ref + && h->def_dynamic + && !h->def_regular) { /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -7537,10 +7531,11 @@ ppc_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg) h->root.type = bfd_link_hash_defined; h->root.u.def.section = stub_entry->stub_sec; h->root.u.def.value = stub_entry->stub_offset; - h->elf_link_hash_flags = (ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_DEF_REGULAR - | ELF_LINK_HASH_REF_REGULAR_NONWEAK - | ELF_LINK_FORCED_LOCAL); + h->ref_regular = 1; + h->def_regular = 1; + h->ref_regular_nonweak = 1; + h->forced_local = 1; + h->non_elf = 0; } } @@ -8403,10 +8398,11 @@ ppc64_elf_build_stubs (bfd_boolean emit_stub_syms, h->root.type = bfd_link_hash_defined; h->root.u.def.section = htab->glink; h->root.u.def.value = 0; - h->elf_link_hash_flags = (ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_DEF_REGULAR - | ELF_LINK_HASH_REF_REGULAR_NONWEAK - | ELF_LINK_FORCED_LOCAL); + h->ref_regular = 1; + h->def_regular = 1; + h->ref_regular_nonweak = 1; + h->forced_local = 1; + h->non_elf = 0; } } p = htab->glink->contents; @@ -9322,8 +9318,7 @@ ppc64_elf_relocate_section (bfd *output_bfd, if (tls_type == (TLS_TLS | TLS_LD) && (h == NULL - || (h->elf.elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) == 0)) + || !h->elf.def_dynamic)) offp = &ppc64_tlsld_got (input_bfd)->offset; else { @@ -9642,9 +9637,9 @@ ppc64_elf_relocate_section (bfd *output_bfd, && !info->shared && h != NULL && h->elf.dynindx != -1 - && !(h->elf.elf_link_hash_flags & ELF_LINK_NON_GOT_REF) - && (h->elf.elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) - && !(h->elf.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))) + && !h->elf.non_got_ref + && h->elf.def_dynamic + && !h->elf.def_regular)) { Elf_Internal_Rela outrel; bfd_boolean skip, relocate; @@ -9897,7 +9892,7 @@ ppc64_elf_relocate_section (bfd *output_bfd, not process them. */ if (unresolved_reloc && !((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf.elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC))) + && h->elf.def_dynamic)) { (*_bfd_error_handler) (_("%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"), @@ -10035,7 +10030,7 @@ ppc64_elf_finish_dynamic_symbol (bfd *output_bfd, bfd_elf64_swap_reloca_out (output_bfd, &rela, loc); } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { Elf_Internal_Rela rela; bfd_byte *loc; diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c index 821ea51fb4d..796c4f7c539 100644 --- a/bfd/elf64-s390.c +++ b/bfd/elf64-s390.c @@ -852,15 +852,16 @@ elf_s390_copy_indirect_symbol (bed, dir, ind) if (ELIMINATE_COPY_RELOCS && ind->root.type != bfd_link_hash_indirect - && (dir->elf_link_hash_flags & ELF_LINK_HASH_DYNAMIC_ADJUSTED) != 0) - /* If called to transfer flags for a weakdef during processing - of elf_adjust_dynamic_symbol, don't copy ELF_LINK_NON_GOT_REF. - We clear it ourselves for ELIMINATE_COPY_RELOCS. */ - dir->elf_link_hash_flags |= - (ind->elf_link_hash_flags & (ELF_LINK_HASH_REF_DYNAMIC - | ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_REF_REGULAR_NONWEAK - | ELF_LINK_HASH_NEEDS_PLT)); + && dir->dynamic_adjusted) + { + /* If called to transfer flags for a weakdef during processing + of elf_adjust_dynamic_symbol, don't copy non_got_ref. + We clear it ourselves for ELIMINATE_COPY_RELOCS. */ + dir->ref_dynamic |= ind->ref_dynamic; + dir->ref_regular |= ind->ref_regular; + dir->ref_regular_nonweak |= ind->ref_regular_nonweak; + dir->needs_plt |= ind->needs_plt; + } else _bfd_elf_link_hash_copy_indirect (bed, dir, ind); } @@ -1028,7 +1029,7 @@ elf_s390_check_relocs (abfd, info, sec, relocs) creating a procedure linkage table entry. */ if (h != NULL) { - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->plt.refcount += 1; } break; @@ -1050,7 +1051,7 @@ elf_s390_check_relocs (abfd, info, sec, relocs) if (h != NULL) { ((struct elf_s390_link_hash_entry *) h)->gotplt_refcount++; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->plt.refcount += 1; } else @@ -1162,7 +1163,7 @@ elf_s390_check_relocs (abfd, info, sec, relocs) sections have not yet been mapped to output sections. Tentatively set the flag for now, and correct in adjust_dynamic_symbol. */ - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; /* We may need a .plt entry if the function this reloc refers to is in a shared lib. */ @@ -1200,15 +1201,13 @@ elf_s390_check_relocs (abfd, info, sec, relocs) || (h != NULL && (! info->symbolic || h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) || (ELIMINATE_COPY_RELOCS && !info->shared && (sec->flags & SEC_ALLOC) != 0 && h != NULL && (h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + || !h->def_regular))) { struct elf_s390_dyn_relocs *p; struct elf_s390_dyn_relocs **head; @@ -1552,12 +1551,12 @@ elf_s390_adjust_dynamic_symbol (info, h) will fill in the contents of the procedure linkage table later (although we could actually do it here). */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { if (h->plt.refcount <= 0 || (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0 + && !h->def_dynamic + && !h->ref_dynamic && h->root.type != bfd_link_hash_undefweak && h->root.type != bfd_link_hash_undefined)) { @@ -1567,7 +1566,7 @@ elf_s390_adjust_dynamic_symbol (info, h) such a case, we don't actually need to build a procedure linkage table, and we can just do a PC32 reloc instead. */ h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; elf_s390_adjust_gotplt((struct elf_s390_link_hash_entry *) h); } @@ -1584,16 +1583,14 @@ elf_s390_adjust_dynamic_symbol (info, h) /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; if (ELIMINATE_COPY_RELOCS || info->nocopyreloc) - h->elf_link_hash_flags - = ((h->elf_link_hash_flags & ~ELF_LINK_NON_GOT_REF) - | (h->weakdef->elf_link_hash_flags & ELF_LINK_NON_GOT_REF)); + h->non_got_ref = h->u.weakdef->non_got_ref; return TRUE; } @@ -1609,13 +1606,13 @@ elf_s390_adjust_dynamic_symbol (info, h) /* If there are no references to this symbol that do not use the GOT, we don't need to generate a copy reloc. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0) + if (!h->non_got_ref) return TRUE; /* If -z nocopyreloc was given, we won't generate them either. */ if (info->nocopyreloc) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } @@ -1636,7 +1633,7 @@ elf_s390_adjust_dynamic_symbol (info, h) we'll be keeping the dynamic relocs and avoiding the copy reloc. */ if (p == NULL) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } } @@ -1659,7 +1656,7 @@ elf_s390_adjust_dynamic_symbol (info, h) if ((h->root.u.def.section->flags & SEC_ALLOC) != 0) { htab->srelbss->size += sizeof (Elf64_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -1720,7 +1717,7 @@ allocate_dynrelocs (h, inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -1744,7 +1741,7 @@ allocate_dynrelocs (h, inf) pointers compare as equal between the normal executable and the shared library. */ if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = h->plt.offset; @@ -1763,14 +1760,14 @@ allocate_dynrelocs (h, inf) else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; elf_s390_adjust_gotplt((struct elf_s390_link_hash_entry *) h); } } else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; elf_s390_adjust_gotplt((struct elf_s390_link_hash_entry *) h); } @@ -1803,7 +1800,7 @@ allocate_dynrelocs (h, inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -1871,9 +1868,9 @@ allocate_dynrelocs (h, inf) symbols which turn out to need copy relocs or are not dynamic. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->non_got_ref + && ((h->def_dynamic + && !h->def_regular) || (htab->elf.dynamic_sections_created && (h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined)))) @@ -1881,7 +1878,7 @@ allocate_dynrelocs (h, inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -2345,8 +2342,8 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section, || (info->shared && (info->symbolic || h->dynindx == -1 - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL)) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + || h->forced_local) + && h->def_regular) || (ELF_ST_VISIBILITY (h->other) && h->root.type == bfd_link_hash_undefweak)) { @@ -2532,11 +2529,9 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section, && !info->shared && h != NULL && h->dynindx != -1 - && (h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->non_got_ref + && ((h->def_dynamic + && !h->def_regular) || h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined))) { @@ -2573,8 +2568,7 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section, || r_type == R_390_PC64 || !info->shared || !info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) { outrel.r_info = ELF64_R_INFO (h->dynindx, r_type); outrel.r_addend = rel->r_addend; @@ -2987,7 +2981,7 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section, not process them. */ if (unresolved_reloc && !((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0)) + && h->def_dynamic)) (*_bfd_error_handler) (_("%B(%A+0x%lx): unresolvable relocation against symbol `%s'"), input_bfd, @@ -3137,7 +3131,7 @@ elf_s390_finish_dynamic_symbol (output_bfd, info, h, sym) loc = htab->srelplt->contents + plt_index * sizeof (Elf64_External_Rela); bfd_elf64_swap_reloca_out (output_bfd, &rela, loc); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. This is a clue @@ -3173,8 +3167,8 @@ elf_s390_finish_dynamic_symbol (output_bfd, info, h, sym) if (info->shared && (info->symbolic || h->dynindx == -1 - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL)) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + || h->forced_local) + && h->def_regular) { BFD_ASSERT((h->got.offset & 1) != 0); rela.r_info = ELF64_R_INFO (0, R_390_RELATIVE); @@ -3195,7 +3189,7 @@ elf_s390_finish_dynamic_symbol (output_bfd, info, h, sym) bfd_elf64_swap_reloca_out (output_bfd, &rela, loc); } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { Elf_Internal_Rela rela; bfd_byte *loc; diff --git a/bfd/elf64-sh64.c b/bfd/elf64-sh64.c index ea6f4df34ea..c2e1034020d 100644 --- a/bfd/elf64-sh64.c +++ b/bfd/elf64-sh64.c @@ -1653,8 +1653,7 @@ sh_elf64_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED, && elf_hash_table (info)->dynamic_sections_created && (! info->shared || (! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) /* The cases above are those in which relocation is overwritten in the switch block below. The cases below are those in which we must defer relocation @@ -1662,8 +1661,7 @@ sh_elf64_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED, addresses when creating a shared library. */ || (info->shared && ((! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0) + || !h->def_regular) && ((r_type == R_SH_64 && !(ELF_ST_VISIBILITY (h->other) == STV_INTERNAL || ELF_ST_VISIBILITY (h->other) == STV_HIDDEN)) @@ -1679,8 +1677,7 @@ sh_elf64_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED, thus ld.so will not process them. */ || (sec->output_section == NULL && ((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0))) + && h->def_dynamic))) relocation = 0; else if (sec->output_section == NULL) { @@ -1747,8 +1744,7 @@ sh_elf64_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED, || (h != NULL && h->dynindx != -1 && (! info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) { Elf_Internal_Rela outrel; bfd_byte *loc; @@ -1807,8 +1803,7 @@ sh_elf64_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED, become local. */ if (h == NULL || ((info->symbolic || h->dynindx == -1) - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) != 0)) + && h->def_regular)) { relocate = TRUE; outrel.r_info = ELF64_R_INFO (0, R_SH_RELATIVE64); @@ -1906,7 +1901,7 @@ sh_elf64_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED, && (info->symbolic || h->dynindx == -1 || ELF_ST_VISIBILITY (h->other) == STV_INTERNAL || ELF_ST_VISIBILITY (h->other) == STV_HIDDEN) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))) + && h->def_regular)) { /* This is actually a static link, or it is a -Bsymbolic link and the symbol is defined @@ -2720,7 +2715,7 @@ sh_elf64_check_relocs (bfd *abfd, struct bfd_link_info *info, return FALSE; } - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; break; @@ -2744,14 +2739,14 @@ sh_elf64_check_relocs (bfd *abfd, struct bfd_link_info *info, || ELF_ST_VISIBILITY (h->other) == STV_HIDDEN) break; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; break; case R_SH_64: case R_SH_64_PCREL: if (h != NULL) - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; /* If we are creating a shared library, and this is a reloc against a global symbol, or a non PC relative reloc @@ -2770,8 +2765,7 @@ sh_elf64_check_relocs (bfd *abfd, struct bfd_link_info *info, && (ELF32_R_TYPE (rel->r_info) != R_SH_64_PCREL || (h != NULL && (! info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) { /* When creating a shared object, we must copy these reloc types into the output file. We create a reloc @@ -2935,7 +2929,7 @@ sh64_elf64_add_symbol_hook (bfd *abfd, struct bfd_link_info *info, } h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags &=~ ELF_LINK_NON_ELF; + h->non_elf = 0; h->type = STT_DATALABEL; } else @@ -3294,7 +3288,7 @@ sh64_elf64_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; h->type = STT_OBJECT; if (info->shared @@ -3393,31 +3387,28 @@ sh64_elf64_adjust_dynamic_symbol (struct bfd_link_info *info, /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL - && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) - || h->weakdef != NULL - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))); + && (h->needs_plt + || h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); /* If this is a function, put it in the procedure linkage table. We will fill in the contents of the procedure linkage table later, when we know the address of the .got section. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0) + && !h->def_dynamic + && !h->ref_dynamic) { /* This case can occur if we saw a PLT reloc in an input file, but the symbol was never referred to by a dynamic object. In such a case, we don't actually need to build a procedure linkage table, and we can just do a REL64 reloc instead. */ - BFD_ASSERT ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0); + BFD_ASSERT (h->needs_plt); return TRUE; } @@ -3442,7 +3433,7 @@ sh64_elf64_adjust_dynamic_symbol (struct bfd_link_info *info, pointers compare as equal between the normal executable and the shared library. */ if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = s->size; @@ -3472,12 +3463,12 @@ sh64_elf64_adjust_dynamic_symbol (struct bfd_link_info *info, /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } @@ -3493,7 +3484,7 @@ sh64_elf64_adjust_dynamic_symbol (struct bfd_link_info *info, /* If there are no references to this symbol that do not use the GOT, we don't need to generate a copy reloc. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0) + if (!h->non_got_ref) return TRUE; /* We must allocate the symbol in our .dynbss section, which will @@ -3520,7 +3511,7 @@ sh64_elf64_adjust_dynamic_symbol (struct bfd_link_info *info, srel = bfd_get_section_by_name (dynobj, ".rela.bss"); BFD_ASSERT (srel != NULL); srel->size += sizeof (Elf64_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -3564,7 +3555,7 @@ sh64_elf64_discard_copies (struct elf_sh64_link_hash_entry *h, h = (struct elf_sh64_link_hash_entry *) h->root.root.u.i.link; /* We only discard relocs for symbols defined in a regular object. */ - if ((h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->root.def_regular) return TRUE; for (s = h->pcrel_relocs_copied; s != NULL; s = s->next) @@ -3872,7 +3863,7 @@ sh64_elf64_finish_dynamic_symbol (bfd *output_bfd, loc = srel->contents + plt_index * sizeof (Elf64_External_Rela); bfd_elf64_swap_reloca_out (output_bfd, &rel, loc); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. */ @@ -3905,7 +3896,7 @@ sh64_elf64_finish_dynamic_symbol (bfd *output_bfd, initialized in the relocate_section function. */ if (info->shared && (info->symbolic || h->dynindx == -1) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + && h->def_regular) { rel.r_info = ELF64_R_INFO (0, R_SH_RELATIVE64); rel.r_addend = (h->root.u.def.value @@ -3924,7 +3915,7 @@ sh64_elf64_finish_dynamic_symbol (bfd *output_bfd, bfd_elf64_swap_reloca_out (output_bfd, &rel, loc); } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { asection *s; Elf_Internal_Rela rel; diff --git a/bfd/elf64-sparc.c b/bfd/elf64-sparc.c index ca35eecba2c..6a8977c438e 100644 --- a/bfd/elf64-sparc.c +++ b/bfd/elf64-sparc.c @@ -1265,7 +1265,7 @@ sparc64_elf_check_relocs (abfd, info, sec, relocs) return FALSE; } - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; if (ELF64_R_TYPE_ID (rel->r_info) != R_SPARC_PLT32 && ELF64_R_TYPE_ID (rel->r_info) != R_SPARC_PLT64) break; @@ -1612,14 +1612,11 @@ sparc64_elf_adjust_dynamic_symbol (info, h) /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL - && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) - || h->weakdef != NULL - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))); + && (h->needs_plt + || h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); /* If this is a function, put it in the procedure linkage table. We will fill in the contents of the procedure linkage table later @@ -1629,7 +1626,7 @@ sparc64_elf_adjust_dynamic_symbol (info, h) some of their functions as STT_NOTYPE when they really should be STT_FUNC. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0 + || h->needs_plt || (h->type == STT_NOTYPE && (h->root.type == bfd_link_hash_defined || h->root.type == bfd_link_hash_defweak) @@ -1642,7 +1639,7 @@ sparc64_elf_adjust_dynamic_symbol (info, h) In such a case, we don't actually need to build a procedure linkage table, and we can just do a WDISP30 reloc instead. */ - BFD_ASSERT ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0); + BFD_ASSERT (h->needs_plt); return TRUE; } @@ -1662,7 +1659,7 @@ sparc64_elf_adjust_dynamic_symbol (info, h) pointers compare as equal between the normal executable and the shared library. */ if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = sparc64_elf_plt_entry_offset (h->plt.offset); @@ -1692,12 +1689,12 @@ sparc64_elf_adjust_dynamic_symbol (info, h) /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } @@ -1735,7 +1732,7 @@ sparc64_elf_adjust_dynamic_symbol (info, h) srel = bfd_get_section_by_name (dynobj, ".rela.bss"); BFD_ASSERT (srel != NULL); srel->size += sizeof (Elf64_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -2222,8 +2219,7 @@ sparc64_elf_relocate_section (output_bfd, info, input_bfd, input_section, become local. */ else if (h != NULL && ! is_plt && ((! info->symbolic && h->dynindx != -1) - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) { BFD_ASSERT (h->dynindx != -1); outrel.r_info @@ -2325,8 +2321,8 @@ sparc64_elf_relocate_section (output_bfd, info, input_bfd, input_section, || (info->shared && (info->symbolic || h->dynindx == -1 - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL)) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))) + || h->forced_local) + && h->def_regular)) { /* This is actually a static link, or it is a -Bsymbolic link and the symbol is defined locally, or the symbol @@ -2614,7 +2610,7 @@ sparc64_elf_relocate_section (output_bfd, info, input_bfd, input_section, not process them. */ if (unresolved_reloc && !((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0)) + && h->def_dynamic)) (*_bfd_error_handler) (_("%B(%A+0x%lx): unresolvable relocation against symbol `%s'"), input_bfd, input_section, @@ -2736,7 +2732,7 @@ sparc64_elf_finish_dynamic_symbol (output_bfd, info, h, sym) loc += (h->plt.offset - 4) * sizeof (Elf64_External_Rela); bfd_elf64_swap_reloca_out (output_bfd, &rela, loc); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value alone. */ @@ -2745,8 +2741,7 @@ sparc64_elf_finish_dynamic_symbol (output_bfd, info, h, sym) Otherwise, the PLT entry would provide a definition for the symbol even if the symbol wasn't defined anywhere, and so the symbol would never be NULL. */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR_NONWEAK) - == 0) + if (!h->ref_regular_nonweak) sym->st_value = 0; } } @@ -2775,7 +2770,7 @@ sparc64_elf_finish_dynamic_symbol (output_bfd, info, h, sym) initialized in the relocate_section function. */ if (info->shared && (info->symbolic || h->dynindx == -1) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)) + && h->def_regular) { asection *sec = h->root.u.def.section; rela.r_info = ELF64_R_INFO (0, R_SPARC_RELATIVE); @@ -2796,7 +2791,7 @@ sparc64_elf_finish_dynamic_symbol (output_bfd, info, h, sym) bfd_elf64_swap_reloca_out (output_bfd, &rela, loc); } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { asection *s; Elf_Internal_Rela rela; diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c index a5c5c9fedca..8737f234358 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -553,16 +553,17 @@ elf64_x86_64_copy_indirect_symbol (const struct elf_backend_data *bed, if (ELIMINATE_COPY_RELOCS && ind->root.type != bfd_link_hash_indirect - && (dir->elf_link_hash_flags & ELF_LINK_HASH_DYNAMIC_ADJUSTED) != 0) - /* If called to transfer flags for a weakdef during processing - of elf_adjust_dynamic_symbol, don't copy ELF_LINK_NON_GOT_REF. - We clear it ourselves for ELIMINATE_COPY_RELOCS. */ - dir->elf_link_hash_flags |= - (ind->elf_link_hash_flags & (ELF_LINK_HASH_REF_DYNAMIC - | ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_REF_REGULAR_NONWEAK - | ELF_LINK_HASH_NEEDS_PLT - | ELF_LINK_POINTER_EQUALITY_NEEDED)); + && dir->dynamic_adjusted) + { + /* If called to transfer flags for a weakdef during processing + of elf_adjust_dynamic_symbol, don't copy non_got_ref. + We clear it ourselves for ELIMINATE_COPY_RELOCS. */ + dir->ref_dynamic |= ind->ref_dynamic; + dir->ref_regular |= ind->ref_regular; + dir->ref_regular_nonweak |= ind->ref_regular_nonweak; + dir->needs_plt |= ind->needs_plt; + dir->pointer_equality_needed |= ind->pointer_equality_needed; + } else _bfd_elf_link_hash_copy_indirect (bed, dir, ind); } @@ -770,7 +771,7 @@ elf64_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec, if (h == NULL) continue; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->plt.refcount += 1; break; @@ -808,13 +809,13 @@ elf64_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec, sections have not yet been mapped to output sections. Tentatively set the flag for now, and correct in adjust_dynamic_symbol. */ - h->elf_link_hash_flags |= ELF_LINK_NON_GOT_REF; + h->non_got_ref = 1; /* We may need a .plt entry if the function this reloc refers to is in a shared lib. */ h->plt.refcount += 1; if (r_type != R_X86_64_PC32) - h->elf_link_hash_flags |= ELF_LINK_POINTER_EQUALITY_NEEDED; + h->pointer_equality_needed = 1; } /* If we are creating a shared library, and this is a reloc @@ -846,15 +847,13 @@ elf64_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec, || (h != NULL && (! info->symbolic || h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)))) + || !h->def_regular)))) || (ELIMINATE_COPY_RELOCS && !info->shared && (sec->flags & SEC_ALLOC) != 0 && h != NULL && (h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + || !h->def_regular))) { struct elf64_x86_64_dyn_relocs *p; struct elf64_x86_64_dyn_relocs **head; @@ -1126,7 +1125,7 @@ elf64_x86_64_adjust_dynamic_symbol (struct bfd_link_info *info, will fill in the contents of the procedure linkage table later, when we know the address of the .got section. */ if (h->type == STT_FUNC - || (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + || h->needs_plt) { if (h->plt.refcount <= 0 || SYMBOL_CALLS_LOCAL (info, h) @@ -1139,7 +1138,7 @@ elf64_x86_64_adjust_dynamic_symbol (struct bfd_link_info *info, such a case, we don't actually need to build a procedure linkage table, and we can just do a PC32 reloc instead. */ h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } return TRUE; @@ -1155,16 +1154,14 @@ elf64_x86_64_adjust_dynamic_symbol (struct bfd_link_info *info, /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; if (ELIMINATE_COPY_RELOCS || info->nocopyreloc) - h->elf_link_hash_flags - = ((h->elf_link_hash_flags & ~ELF_LINK_NON_GOT_REF) - | (h->weakdef->elf_link_hash_flags & ELF_LINK_NON_GOT_REF)); + h->non_got_ref = h->u.weakdef->non_got_ref; return TRUE; } @@ -1180,13 +1177,13 @@ elf64_x86_64_adjust_dynamic_symbol (struct bfd_link_info *info, /* If there are no references to this symbol that do not use the GOT, we don't need to generate a copy reloc. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0) + if (!h->non_got_ref) return TRUE; /* If -z nocopyreloc was given, we won't generate them either. */ if (info->nocopyreloc) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } @@ -1207,7 +1204,7 @@ elf64_x86_64_adjust_dynamic_symbol (struct bfd_link_info *info, we'll be keeping the dynamic relocs and avoiding the copy reloc. */ if (p == NULL) { - h->elf_link_hash_flags &= ~ELF_LINK_NON_GOT_REF; + h->non_got_ref = 0; return TRUE; } } @@ -1230,7 +1227,7 @@ elf64_x86_64_adjust_dynamic_symbol (struct bfd_link_info *info, if ((h->root.u.def.section->flags & SEC_ALLOC) != 0) { htab->srelbss->size += sizeof (Elf64_External_Rela); - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_COPY; + h->needs_copy = 1; } /* We need to figure out the alignment required for this symbol. I @@ -1287,7 +1284,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -1311,7 +1308,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf) pointers compare as equal between the normal executable and the shared library. */ if (! info->shared - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { h->root.u.def.section = s; h->root.u.def.value = h->plt.offset; @@ -1330,13 +1327,13 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf) else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } } else { h->plt.offset = (bfd_vma) -1; - h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 0; } /* If R_X86_64_GOTTPOFF symbol is now local to the binary, @@ -1355,7 +1352,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -1430,9 +1427,9 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf) symbols which turn out to need copy relocs or are not dynamic. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->non_got_ref + && ((h->def_dynamic + && !h->def_regular) || (htab->elf.dynamic_sections_created && (h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined)))) @@ -1440,7 +1437,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf) /* Make sure this symbol is output as a dynamic symbol. Undefined weak syms won't yet be marked as dynamic. */ if (h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) return FALSE; @@ -1987,11 +1984,9 @@ elf64_x86_64_relocate_section (bfd *output_bfd, struct bfd_link_info *info, && !info->shared && h != NULL && h->dynindx != -1 - && (h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && (((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->non_got_ref + && ((h->def_dynamic + && !h->def_regular) || h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined))) { @@ -2029,8 +2024,7 @@ elf64_x86_64_relocate_section (bfd *output_bfd, struct bfd_link_info *info, || r_type == R_X86_64_PC32 || !info->shared || !info->symbolic - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) { outrel.r_info = ELF64_R_INFO (h->dynindx, r_type); outrel.r_addend = rel->r_addend; @@ -2404,7 +2398,7 @@ elf64_x86_64_relocate_section (bfd *output_bfd, struct bfd_link_info *info, not process them. */ if (unresolved_reloc && !((input_section->flags & SEC_DEBUGGING) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0)) + && h->def_dynamic)) (*_bfd_error_handler) (_("%B(%A+0x%lx): unresolvable relocation against symbol `%s'"), input_bfd, @@ -2540,7 +2534,7 @@ elf64_x86_64_finish_dynamic_symbol (bfd *output_bfd, loc = htab->srelplt->contents + plt_index * sizeof (Elf64_External_Rela); bfd_elf64_swap_reloca_out (output_bfd, &rela, loc); - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* Mark the symbol as undefined, rather than as defined in the .plt section. Leave the value if there were any @@ -2551,7 +2545,7 @@ elf64_x86_64_finish_dynamic_symbol (bfd *output_bfd, called from a binary, there is no need to slow down shared libraries because of that. */ sym->st_shndx = SHN_UNDEF; - if ((h->elf_link_hash_flags & ELF_LINK_POINTER_EQUALITY_NEEDED) == 0) + if (!h->pointer_equality_needed) sym->st_value = 0; } } @@ -2600,7 +2594,7 @@ elf64_x86_64_finish_dynamic_symbol (bfd *output_bfd, bfd_elf64_swap_reloca_out (output_bfd, &rela, loc); } - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_COPY) != 0) + if (h->needs_copy) { Elf_Internal_Rela rela; bfd_byte *loc; diff --git a/bfd/elfarm-nabi.c b/bfd/elfarm-nabi.c index aef15d47c59..3eb2cbdf590 100644 --- a/bfd/elfarm-nabi.c +++ b/bfd/elfarm-nabi.c @@ -636,6 +636,34 @@ static reloc_howto_type elf32_arm_howto_table[] = 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ FALSE), /* pcrel_offset */ + + HOWTO (R_ARM_TARGET2, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_signed,/* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_ARM_TARGET2", /* name */ + FALSE, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ + TRUE), /* pcrel_offset */ + + HOWTO (R_ARM_PREL31, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 31, /* bitsize */ + TRUE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_signed,/* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_ARM_PREL31", /* name */ + FALSE, /* partial_inplace */ + 0x7fffffff, /* src_mask */ + 0x7fffffff, /* dst_mask */ + TRUE), /* pcrel_offset */ }; /* GNU extension to record C++ vtable hierarchy */ @@ -702,52 +730,67 @@ static reloc_howto_type elf32_arm_thm_pc9_howto = 0x000000ff, /* dst_mask */ TRUE); /* pcrel_offset */ -static void elf32_arm_info_to_howto - PARAMS ((bfd *, arelent *, Elf_Internal_Rela *)); +/* Place relative GOT-indirect. */ +static reloc_howto_type elf32_arm_got_prel = + HOWTO (R_ARM_GOT_PREL, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + TRUE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_ARM_GOT_PREL", /* name */ + FALSE, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ + TRUE); /* pcrel_offset */ -static void -elf32_arm_info_to_howto (abfd, bfd_reloc, elf_reloc) - bfd * abfd ATTRIBUTE_UNUSED; - arelent * bfd_reloc; - Elf_Internal_Rela * elf_reloc; +static reloc_howto_type * +elf32_arm_howto_from_type (unsigned int r_type) { - unsigned int r_type; - - r_type = ELF32_R_TYPE (elf_reloc->r_info); - + if (r_type < NUM_ELEM (elf32_arm_howto_table)) + return &elf32_arm_howto_table[r_type]; + switch (r_type) { + case R_ARM_GOT_PREL: + return &elf32_arm_got_prel; + case R_ARM_GNU_VTINHERIT: - bfd_reloc->howto = & elf32_arm_vtinherit_howto; - break; + return &elf32_arm_vtinherit_howto; case R_ARM_GNU_VTENTRY: - bfd_reloc->howto = & elf32_arm_vtentry_howto; - break; + return &elf32_arm_vtentry_howto; case R_ARM_THM_PC11: - bfd_reloc->howto = & elf32_arm_thm_pc11_howto; - break; + return &elf32_arm_thm_pc11_howto; case R_ARM_THM_PC9: - bfd_reloc->howto = & elf32_arm_thm_pc9_howto; - break; + return &elf32_arm_thm_pc9_howto; default: - if (r_type >= NUM_ELEM (elf32_arm_howto_table)) - bfd_reloc->howto = NULL; - else - bfd_reloc->howto = & elf32_arm_howto_table[r_type]; - break; + return NULL; } } +static void +elf32_arm_info_to_howto (bfd * abfd ATTRIBUTE_UNUSED, arelent * bfd_reloc, + Elf_Internal_Rela * elf_reloc) +{ + unsigned int r_type; + + r_type = ELF32_R_TYPE (elf_reloc->r_info); + bfd_reloc->howto = elf32_arm_howto_from_type (r_type); +} + struct elf32_arm_reloc_map { bfd_reloc_code_real_type bfd_reloc_val; unsigned char elf_reloc_val; }; +/* All entries in this list must also be present in elf32_arm_howto_table. */ static const struct elf32_arm_reloc_map elf32_arm_reloc_map[] = { {BFD_RELOC_NONE, R_ARM_NONE}, @@ -771,7 +814,9 @@ static const struct elf32_arm_reloc_map elf32_arm_reloc_map[] = {BFD_RELOC_ARM_PLT32, R_ARM_PLT32}, {BFD_RELOC_ARM_TARGET1, R_ARM_TARGET1}, {BFD_RELOC_ARM_ROSEGREL32, R_ARM_ROSEGREL32}, - {BFD_RELOC_ARM_SBREL32, R_ARM_SBREL32} + {BFD_RELOC_ARM_SBREL32, R_ARM_SBREL32}, + {BFD_RELOC_ARM_PREL31, R_ARM_PREL31}, + {BFD_RELOC_ARM_TARGET2, R_ARM_TARGET2} }; static reloc_howto_type * diff --git a/bfd/elflink.c b/bfd/elflink.c index e4e8dcc7212..8320fd87831 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -86,7 +86,7 @@ _bfd_elf_create_got_section (bfd *abfd, struct bfd_link_info *info) bed->got_symbol_offset, NULL, FALSE, bed->collect, &bh))) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; h->type = STT_OBJECT; if (! info->executable @@ -213,7 +213,7 @@ _bfd_elf_link_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info) get_elf_backend_data (abfd)->collect, &bh))) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; h->type = STT_OBJECT; if (! info->executable @@ -276,7 +276,7 @@ _bfd_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info) FALSE, get_elf_backend_data (abfd)->collect, &bh))) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; h->type = STT_OBJECT; if (! info->executable @@ -363,7 +363,7 @@ bfd_elf_link_record_dynamic_symbol (struct bfd_link_info *info, if (h->root.type != bfd_link_hash_undefined && h->root.type != bfd_link_hash_undefweak) { - h->elf_link_hash_flags |= ELF_LINK_FORCED_LOCAL; + h->forced_local = 1; return TRUE; } @@ -439,15 +439,15 @@ bfd_elf_record_link_assignment (bfd *output_bfd ATTRIBUTE_UNUSED, h->root.type = bfd_link_hash_new; if (h->root.type == bfd_link_hash_new) - h->elf_link_hash_flags &= ~ELF_LINK_NON_ELF; + h->non_elf = 0; /* If this symbol is being provided by the linker script, and it is currently defined by a dynamic object, but not by a regular object, then mark it as undefined so that the generic linker will force the correct value. */ if (provide - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && h->def_dynamic + && !h->def_regular) h->root.type = bfd_link_hash_undefined; /* If this symbol is not being provided by the linker script, and it is @@ -455,14 +455,14 @@ bfd_elf_record_link_assignment (bfd *output_bfd ATTRIBUTE_UNUSED, then clear out any version information because the symbol will not be associated with the dynamic object any more. */ if (!provide - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && h->def_dynamic + && !h->def_regular) h->verinfo.verdef = NULL; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; - if (((h->elf_link_hash_flags & (ELF_LINK_HASH_DEF_DYNAMIC - | ELF_LINK_HASH_REF_DYNAMIC)) != 0 + if ((h->def_dynamic + || h->ref_dynamic || info->shared) && h->dynindx == -1) { @@ -472,10 +472,10 @@ bfd_elf_record_link_assignment (bfd *output_bfd ATTRIBUTE_UNUSED, /* If this is a weak defined symbol, and we know a corresponding real symbol from the same dynamic object, make sure the real symbol is also made into a dynamic symbol. */ - if (h->weakdef != NULL - && h->weakdef->dynindx == -1) + if (h->u.weakdef != NULL + && h->u.weakdef->dynindx == -1) { - if (! bfd_elf_link_record_dynamic_symbol (info, h->weakdef)) + if (! bfd_elf_link_record_dynamic_symbol (info, h->u.weakdef)) return FALSE; } } @@ -749,7 +749,7 @@ _bfd_elf_merge_symbol (bfd *abfd, if (h->root.type == bfd_link_hash_new) { - h->elf_link_hash_flags &=~ ELF_LINK_NON_ELF; + h->non_elf = 0; return TRUE; } @@ -784,7 +784,7 @@ _bfd_elf_merge_symbol (bfd *abfd, dynamic object, which we do want to handle here. */ if (abfd == oldbfd && ((abfd->flags & DYNAMIC) == 0 - || (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) return TRUE; /* NEWDYN and OLDDYN indicate whether the new or old symbol, @@ -843,22 +843,22 @@ _bfd_elf_merge_symbol (bfd *abfd, /* We need to remember if a symbol has a definition in a dynamic object or is weak in all dynamic objects. Internal and hidden visibility will make it unavailable to dynamic objects. */ - if (newdyn && (h->elf_link_hash_flags & ELF_LINK_DYNAMIC_DEF) == 0) + if (newdyn && !h->dynamic_def) { if (!bfd_is_und_section (sec)) - h->elf_link_hash_flags |= ELF_LINK_DYNAMIC_DEF; + h->dynamic_def = 1; else { /* Check if this symbol is weak in all dynamic objects. If it is the first time we see it in a dynamic object, we mark if it is weak. Otherwise, we clear it. */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0) + if (!h->ref_dynamic) { if (bind == STB_WEAK) - h->elf_link_hash_flags |= ELF_LINK_DYNAMIC_WEAK; + h->dynamic_weak = 1; } else if (bind != STB_WEAK) - h->elf_link_hash_flags &= ~ELF_LINK_DYNAMIC_WEAK; + h->dynamic_weak = 0; } } @@ -870,7 +870,7 @@ _bfd_elf_merge_symbol (bfd *abfd, { *skip = TRUE; /* Make sure this symbol is dynamic. */ - h->elf_link_hash_flags |= ELF_LINK_HASH_REF_DYNAMIC; + h->ref_dynamic = 1; /* A protected symbol has external availability. Make sure it is recorded as dynamic. @@ -882,7 +882,7 @@ _bfd_elf_merge_symbol (bfd *abfd, } else if (!newdyn && ELF_ST_VISIBILITY (sym->st_other) != STV_DEFAULT - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0) + && h->def_dynamic) { /* If the new symbol with non-default visibility comes from a relocatable file and the old definition comes from a dynamic @@ -890,17 +890,16 @@ _bfd_elf_merge_symbol (bfd *abfd, if ((*sym_hash)->root.type == bfd_link_hash_indirect) h = *sym_hash; - if ((h->root.und_next || info->hash->undefs_tail == &h->root) + if ((h->root.u.undef.next || info->hash->undefs_tail == &h->root) && bfd_is_und_section (sec)) { /* If the new symbol is undefined and the old symbol was also undefined before, we need to make sure _bfd_generic_link_add_one_symbol doesn't mess - up the linker hash table undefs list. Since the old + up the linker hash table undefs list. Since the old definition came from a dynamic object, it is still on the undefs list. */ h->root.type = bfd_link_hash_undefined; - /* FIXME: What if the new symbol is weak undefined? */ h->root.u.undef.abfd = abfd; } else @@ -909,11 +908,11 @@ _bfd_elf_merge_symbol (bfd *abfd, h->root.u.undef.abfd = NULL; } - if (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) + if (h->def_dynamic) { - h->elf_link_hash_flags &= ~ELF_LINK_HASH_DEF_DYNAMIC; - h->elf_link_hash_flags |= (ELF_LINK_HASH_REF_DYNAMIC - | ELF_LINK_DYNAMIC_DEF); + h->def_dynamic = 0; + h->ref_dynamic = 1; + h->dynamic_def = 1; } /* FIXME: Should we check type and size for protected symbol? */ h->size = 0; @@ -996,7 +995,7 @@ _bfd_elf_merge_symbol (bfd *abfd, if (olddyn && olddef && h->root.type == bfd_link_hash_defined - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 + && h->def_dynamic && (h->root.u.def.section->flags & SEC_ALLOC) != 0 && (h->root.u.def.section->flags & SEC_LOAD) == 0 && h->size > 0 @@ -1103,7 +1102,7 @@ _bfd_elf_merge_symbol (bfd *abfd, || h->type == STT_FUNC))) && olddyn && olddef - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0) + && h->def_dynamic) { /* Change the hash table entry to undefined, and let _bfd_generic_link_add_one_symbol do the right thing with the @@ -1185,10 +1184,10 @@ _bfd_elf_merge_symbol (bfd *abfd, h->root.u.i.link = (struct bfd_link_hash_entry *) flip; (*bed->elf_backend_copy_indirect_symbol) (bed, flip, h); flip->root.u.undef.abfd = h->root.u.undef.abfd; - if (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) + if (h->def_dynamic) { - h->elf_link_hash_flags &= ~ELF_LINK_HASH_DEF_DYNAMIC; - flip->elf_link_hash_flags |= ELF_LINK_HASH_REF_DYNAMIC; + h->def_dynamic = 0; + flip->ref_dynamic = 1; } } @@ -1311,13 +1310,12 @@ _bfd_elf_add_default_symbol (bfd *abfd, h->root.type = bfd_link_hash_indirect; h->root.u.i.link = (struct bfd_link_hash_entry *) hi; - if (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) + if (h->def_dynamic) { - h->elf_link_hash_flags &=~ ELF_LINK_HASH_DEF_DYNAMIC; - hi->elf_link_hash_flags |= ELF_LINK_HASH_REF_DYNAMIC; - if (hi->elf_link_hash_flags - & (ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_DEF_REGULAR)) + h->def_dynamic = 0; + hi->ref_dynamic = 1; + if (hi->ref_regular + || hi->def_regular) { if (! bfd_elf_link_record_dynamic_symbol (info, hi)) return FALSE; @@ -1347,14 +1345,12 @@ _bfd_elf_add_default_symbol (bfd *abfd, if (! dynamic) { if (info->shared - || ((hi->elf_link_hash_flags - & ELF_LINK_HASH_REF_DYNAMIC) != 0)) + || hi->ref_dynamic) *dynsym = TRUE; } else { - if ((hi->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0) + if (hi->ref_regular) *dynsym = TRUE; } } @@ -1418,14 +1414,12 @@ nondefault: if (! dynamic) { if (info->shared - || ((hi->elf_link_hash_flags - & ELF_LINK_HASH_REF_DYNAMIC) != 0)) + || hi->ref_dynamic) *dynsym = TRUE; } else { - if ((hi->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0) + if (hi->ref_regular) *dynsym = TRUE; } } @@ -1451,8 +1445,8 @@ _bfd_elf_export_symbol (struct elf_link_hash_entry *h, void *data) h = (struct elf_link_hash_entry *) h->root.u.i.link; if (h->dynindx == -1 - && (h->elf_link_hash_flags - & (ELF_LINK_HASH_DEF_REGULAR | ELF_LINK_HASH_REF_REGULAR)) != 0) + && (h->def_regular + || h->ref_regular)) { struct bfd_elf_version_tree *t; struct bfd_elf_version_expr *d; @@ -1507,8 +1501,8 @@ _bfd_elf_link_find_version_dependencies (struct elf_link_hash_entry *h, /* We only care about symbols defined in shared objects with version information. */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 - || (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0 + if (!h->def_dynamic + || h->def_regular || h->dynindx == -1 || h->verinfo.verdef == NULL) return TRUE; @@ -1598,7 +1592,7 @@ _bfd_elf_link_assign_sym_version (struct elf_link_hash_entry *h, void *data) /* We only need version numbers for symbols defined in regular objects. */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) return TRUE; bed = get_elf_backend_data (sinfo->output_bfd); @@ -1623,7 +1617,7 @@ _bfd_elf_link_assign_sym_version (struct elf_link_hash_entry *h, void *data) if (*p == '\0') { if (hidden) - h->elf_link_hash_flags |= ELF_LINK_HIDDEN; + h->hidden = 1; return TRUE; } @@ -1718,7 +1712,7 @@ _bfd_elf_link_assign_sym_version (struct elf_link_hash_entry *h, void *data) } if (hidden) - h->elf_link_hash_flags |= ELF_LINK_HIDDEN; + h->hidden = 1; } /* If we don't have a version for this symbol, see if we can find @@ -2096,29 +2090,33 @@ _bfd_elf_fix_symbol_flags (struct elf_link_hash_entry *h, DEF_REGULAR and REF_REGULAR correctly. This is the only way to permit a non-ELF file to correctly refer to a symbol defined in an ELF dynamic object. */ - if ((h->elf_link_hash_flags & ELF_LINK_NON_ELF) != 0) + if (h->non_elf) { while (h->root.type == bfd_link_hash_indirect) h = (struct elf_link_hash_entry *) h->root.u.i.link; if (h->root.type != bfd_link_hash_defined && h->root.type != bfd_link_hash_defweak) - h->elf_link_hash_flags |= (ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_REF_REGULAR_NONWEAK); + { + h->ref_regular = 1; + h->ref_regular_nonweak = 1; + } else { if (h->root.u.def.section->owner != NULL && (bfd_get_flavour (h->root.u.def.section->owner) == bfd_target_elf_flavour)) - h->elf_link_hash_flags |= (ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_REF_REGULAR_NONWEAK); + { + h->ref_regular = 1; + h->ref_regular_nonweak = 1; + } else - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; } if (h->dynindx == -1 - && ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - || (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0)) + && (h->def_dynamic + || h->ref_dynamic)) { if (! bfd_elf_link_record_dynamic_symbol (eif->info, h)) { @@ -2129,7 +2127,7 @@ _bfd_elf_fix_symbol_flags (struct elf_link_hash_entry *h, } else { - /* Unfortunately, ELF_LINK_NON_ELF is only correct if the symbol + /* Unfortunately, NON_ELF is only correct if the symbol was first seen in a non-ELF file. Fortunately, if the symbol was first seen in an ELF file, we're probably OK unless the symbol was defined in a non-ELF file. Catch that case here. @@ -2137,27 +2135,26 @@ _bfd_elf_fix_symbol_flags (struct elf_link_hash_entry *h, a dynamic object, and then later in a non-ELF regular object. */ if ((h->root.type == bfd_link_hash_defined || h->root.type == bfd_link_hash_defweak) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0 + && !h->def_regular && (h->root.u.def.section->owner != NULL ? (bfd_get_flavour (h->root.u.def.section->owner) != bfd_target_elf_flavour) : (bfd_is_abs_section (h->root.u.def.section) - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) == 0))) - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + && !h->def_dynamic))) + h->def_regular = 1; } /* If this is a final link, and the symbol was defined as a common symbol in a regular object file, and there was no definition in any dynamic object, then the linker will have allocated space for - the symbol in a common section but the ELF_LINK_HASH_DEF_REGULAR + the symbol in a common section but the DEF_REGULAR flag will not have been set. */ if (h->root.type == bfd_link_hash_defined - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 + && !h->def_regular + && h->ref_regular + && !h->def_dynamic && (h->root.u.def.section->owner->flags & DYNAMIC) == 0) - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; /* If -Bsymbolic was used (which means to bind references to global symbols to the definition within the shared object), and this @@ -2165,12 +2162,12 @@ _bfd_elf_fix_symbol_flags (struct elf_link_hash_entry *h, need a PLT entry. Likewise, if the symbol has non-default visibility. If the symbol has hidden or internal visibility, we will force it local. */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0 + if (h->needs_plt && eif->info->shared && is_elf_hash_table (eif->info->hash) && (eif->info->symbolic || ELF_ST_VISIBILITY (h->other) != STV_DEFAULT) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0) + && h->def_regular) { const struct elf_backend_data *bed; bfd_boolean force_local; @@ -2195,11 +2192,11 @@ _bfd_elf_fix_symbol_flags (struct elf_link_hash_entry *h, /* If this is a weak defined symbol in a dynamic object, and we know the real definition in the dynamic object, copy interesting flags over to the real definition. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { struct elf_link_hash_entry *weakdef; - weakdef = h->weakdef; + weakdef = h->u.weakdef; if (h->root.type == bfd_link_hash_indirect) h = (struct elf_link_hash_entry *) h->root.u.i.link; @@ -2207,13 +2204,13 @@ _bfd_elf_fix_symbol_flags (struct elf_link_hash_entry *h, || h->root.type == bfd_link_hash_defweak); BFD_ASSERT (weakdef->root.type == bfd_link_hash_defined || weakdef->root.type == bfd_link_hash_defweak); - BFD_ASSERT (weakdef->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC); + BFD_ASSERT (weakdef->def_dynamic); /* If the real definition is defined by a regular object file, don't do anything special. See the longer description in _bfd_elf_adjust_dynamic_symbol, below. */ - if ((weakdef->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0) - h->weakdef = NULL; + if (weakdef->def_regular) + h->u.weakdef = NULL; else { const struct elf_backend_data *bed; @@ -2266,11 +2263,11 @@ _bfd_elf_adjust_dynamic_symbol (struct elf_link_hash_entry *h, void *data) to the dynamic symbol table. FIXME: Do we normally need to worry about symbols which are defined by one dynamic object and referenced by another one? */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) == 0 - && ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) != 0 - || (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 - || ((h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0 - && (h->weakdef == NULL || h->weakdef->dynindx == -1)))) + if (!h->needs_plt + && (h->def_regular + || !h->def_dynamic + || (!h->ref_regular + && (h->u.weakdef == NULL || h->u.weakdef->dynindx == -1)))) { h->plt = elf_hash_table (eif->info)->init_offset; return TRUE; @@ -2278,14 +2275,14 @@ _bfd_elf_adjust_dynamic_symbol (struct elf_link_hash_entry *h, void *data) /* If we've already adjusted this symbol, don't do it again. This can happen via a recursive call. */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DYNAMIC_ADJUSTED) != 0) + if (h->dynamic_adjusted) return TRUE; /* Don't look at this symbol again. Note that we must set this after checking the above conditions, because we may look at a symbol once, decide not to do anything, and then get called recursively later after REF_REGULAR is set below. */ - h->elf_link_hash_flags |= ELF_LINK_HASH_DYNAMIC_ADJUSTED; + h->dynamic_adjusted = 1; /* If this is a weak definition, and we know a real definition, and the real symbol is not itself defined by a regular object file, @@ -2315,15 +2312,15 @@ _bfd_elf_adjust_dynamic_symbol (struct elf_link_hash_entry *h, void *data) wind up at different memory locations. The tzset call will set _timezone, leaving timezone unchanged. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { /* If we get to this point, we know there is an implicit reference by a regular object file via the weak symbol H. FIXME: Is this really true? What if the traversal finds - H->WEAKDEF before it finds H? */ - h->weakdef->elf_link_hash_flags |= ELF_LINK_HASH_REF_REGULAR; + H->U.WEAKDEF before it finds H? */ + h->u.weakdef->ref_regular = 1; - if (! _bfd_elf_adjust_dynamic_symbol (h->weakdef, eif)) + if (! _bfd_elf_adjust_dynamic_symbol (h->u.weakdef, eif)) return FALSE; } @@ -2334,7 +2331,7 @@ _bfd_elf_adjust_dynamic_symbol (struct elf_link_hash_entry *h, void *data) code, and the assembly code fails to set the symbol type. */ if (h->size == 0 && h->type == STT_NOTYPE - && (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) == 0) + && !h->needs_plt) (*_bfd_error_handler) (_("warning: type and size of dynamic symbol `%s' are not defined"), h->root.root.string); @@ -2399,7 +2396,7 @@ _bfd_elf_dynamic_symbol_p (struct elf_link_hash_entry *h, /* If it was forced local, then clearly it's not dynamic. */ if (h->dynindx == -1) return FALSE; - if (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) + if (h->forced_local) return FALSE; /* Identify the cases where name binding rules say that a @@ -2425,7 +2422,7 @@ _bfd_elf_dynamic_symbol_p (struct elf_link_hash_entry *h, } /* If it isn't defined locally, then clearly it's dynamic. */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) return TRUE; /* Otherwise, the symbol is dynamic if binding rules don't tell @@ -2453,11 +2450,11 @@ _bfd_elf_symbol_refs_local_p (struct elf_link_hash_entry *h, /* Do nothing. */; /* If we don't have a definition in a regular file, then we can't resolve locally. The sym is either undefined or dynamic. */ - else if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + else if (!h->def_regular) return FALSE; /* Forced local symbols resolve locally. */ - if ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0) + if (h->forced_local) return TRUE; /* As do non-dynamic symbols. */ @@ -3596,7 +3593,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) && (flags & BSF_WEAK) != 0 && ELF_ST_TYPE (isym->st_info) != STT_FUNC && is_elf_hash_table (hash_table) - && h->weakdef == NULL) + && h->u.weakdef == NULL) { /* Keep a list of all weak defined non function symbols from a dynamic object, using the weakdef field. Later in this @@ -3610,7 +3607,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) dynamic object, and we will be using that previous definition anyhow. */ - h->weakdef = weaks; + h->u.weakdef = weaks; weaks = h; new_weakdef = TRUE; } @@ -3633,9 +3630,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) if (is_elf_hash_table (hash_table)) { - int old_flags; bfd_boolean dynsym; - int new_flag; /* Check the alignment when a common symbol is involved. This can change when a common symbol is overridden by a normal @@ -3753,39 +3748,36 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) the number of dynamic symbols we find. A dynamic symbol is one which is referenced or defined by both a regular object and a shared object. */ - old_flags = h->elf_link_hash_flags; dynsym = FALSE; if (! dynamic) { if (! definition) { - new_flag = ELF_LINK_HASH_REF_REGULAR; + h->ref_regular = 1; if (bind != STB_WEAK) - new_flag |= ELF_LINK_HASH_REF_REGULAR_NONWEAK; + h->ref_regular_nonweak = 1; } else - new_flag = ELF_LINK_HASH_DEF_REGULAR; + h->def_regular = 1; if (! info->executable - || (old_flags & (ELF_LINK_HASH_DEF_DYNAMIC - | ELF_LINK_HASH_REF_DYNAMIC)) != 0) + || h->def_dynamic + || h->ref_dynamic) dynsym = TRUE; } else { if (! definition) - new_flag = ELF_LINK_HASH_REF_DYNAMIC; + h->ref_dynamic = 1; else - new_flag = ELF_LINK_HASH_DEF_DYNAMIC; - if ((old_flags & (ELF_LINK_HASH_DEF_REGULAR - | ELF_LINK_HASH_REF_REGULAR)) != 0 - || (h->weakdef != NULL + h->def_dynamic = 1; + if (h->def_regular + || h->ref_regular + || (h->u.weakdef != NULL && ! new_weakdef - && h->weakdef->dynindx != -1)) + && h->u.weakdef->dynindx != -1)) dynsym = TRUE; } - h->elf_link_hash_flags |= new_flag; - /* Check to see if we need to add an indirect symbol for the default name. */ if (definition || h->root.type == bfd_link_hash_common) @@ -3815,11 +3807,11 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) { if (! bfd_elf_link_record_dynamic_symbol (info, h)) goto error_free_vers; - if (h->weakdef != NULL + if (h->u.weakdef != NULL && ! new_weakdef - && h->weakdef->dynindx == -1) + && h->u.weakdef->dynindx == -1) { - if (! bfd_elf_link_record_dynamic_symbol (info, h->weakdef)) + if (! bfd_elf_link_record_dynamic_symbol (info, h->u.weakdef)) goto error_free_vers; } } @@ -3839,8 +3831,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) if (!add_needed && definition && dynsym - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0) + && h->ref_regular) { int ret; const char *soname = elf_dt_name (abfd); @@ -3985,8 +3976,8 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) size_t i, j, idx; hlook = weaks; - weaks = hlook->weakdef; - hlook->weakdef = NULL; + weaks = hlook->u.weakdef; + hlook->u.weakdef = NULL; BFD_ASSERT (hlook->root.type == bfd_link_hash_defined || hlook->root.type == bfd_link_hash_defweak @@ -4037,7 +4028,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) break; else if (h != hlook) { - hlook->weakdef = h; + hlook->u.weakdef = h; /* If the weak definition is in the list of dynamic symbols, make sure the real definition is put @@ -4480,7 +4471,7 @@ elf_collect_hash_codes (struct elf_link_hash_entry *h, void *data) /* And store it in the struct so that we can put it in the hash table later. */ - h->elf_hash_value = ha; + h->u.elf_hash_value = ha; if (alc != NULL) free (alc); @@ -4865,8 +4856,7 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd, /* Mark this version if there is a definition and it is not defined in a shared object. */ if (newh != NULL - && ((newh->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) == 0) + && !newh->def_dynamic && (newh->root.type == bfd_link_hash_defined || newh->root.type == bfd_link_hash_defweak)) d->symver = 1; @@ -4925,8 +4915,8 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd, FALSE, FALSE) : NULL); if (h != NULL - && (h->elf_link_hash_flags & (ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_DEF_REGULAR)) != 0) + && (h->ref_regular + || h->def_regular)) { if (!_bfd_elf_add_dynamic_entry (info, DT_INIT, 0)) return FALSE; @@ -4937,8 +4927,8 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd, FALSE, FALSE) : NULL); if (h != NULL - && (h->elf_link_hash_flags & (ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_DEF_REGULAR)) != 0) + && (h->ref_regular + || h->def_regular)) { if (!_bfd_elf_add_dynamic_entry (info, DT_FINI, 0)) return FALSE; @@ -5127,8 +5117,8 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd, get_elf_backend_data (dynobj)->collect, &bh))) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags &= ~ ELF_LINK_NON_ELF; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->non_elf = 0; + h->def_regular = 1; h->type = STT_OBJECT; h->verinfo.vertree = t; @@ -5992,12 +5982,12 @@ elf_link_output_extsym (struct elf_link_hash_entry *h, void *data) /* Decide whether to output this symbol in this pass. */ if (eoinfo->localsyms) { - if ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + if (!h->forced_local) return TRUE; } else { - if ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0) + if (h->forced_local) return TRUE; } @@ -6008,8 +5998,8 @@ elf_link_output_extsym (struct elf_link_hash_entry *h, void *data) references in regular files have already been handled). If we are reporting errors for this situation then do so now. */ if (h->root.type == bfd_link_hash_undefined - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0 + && h->ref_dynamic + && !h->ref_regular && ! elf_link_check_versioned_symbol (finfo->info, bed, h) && finfo->info->unresolved_syms_in_shared_libs != RM_IGNORE) { @@ -6026,9 +6016,10 @@ elf_link_output_extsym (struct elf_link_hash_entry *h, void *data) shared libraries. */ if (! finfo->info->relocatable && (! finfo->info->shared) - && (h->elf_link_hash_flags - & (ELF_LINK_FORCED_LOCAL | ELF_LINK_HASH_REF_DYNAMIC | ELF_LINK_DYNAMIC_DEF | ELF_LINK_DYNAMIC_WEAK)) - == (ELF_LINK_FORCED_LOCAL | ELF_LINK_HASH_REF_DYNAMIC) + && h->forced_local + && h->ref_dynamic + && !h->dynamic_def + && !h->dynamic_weak && ! elf_link_check_versioned_symbol (finfo->info, bed, h)) { (*_bfd_error_handler) @@ -6049,10 +6040,10 @@ elf_link_output_extsym (struct elf_link_hash_entry *h, void *data) output it. */ if (h->indx == -2) strip = FALSE; - else if (((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - || (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0) - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0 - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0) + else if ((h->def_dynamic + || h->ref_dynamic) + && !h->def_regular + && !h->ref_regular) strip = TRUE; else if (finfo->info->strip == strip_all) strip = TRUE; @@ -6072,13 +6063,13 @@ elf_link_output_extsym (struct elf_link_hash_entry *h, void *data) nothing else to do unless it is a forced local symbol. */ if (strip && h->dynindx == -1 - && (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + && !h->forced_local) return TRUE; sym.st_value = 0; sym.st_size = h->size; sym.st_other = h->other; - if ((h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0) + if (h->forced_local) sym.st_info = ELF_ST_INFO (STB_LOCAL, h->type); else if (h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_defweak) @@ -6165,11 +6156,11 @@ elf_link_output_extsym (struct elf_link_hash_entry *h, void *data) symbol. FIXME: Not calling elf_backend_finish_dynamic_symbol for forced local syms when non-shared is due to a historical quirk. */ if ((h->dynindx != -1 - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0) + || h->forced_local) && ((finfo->info->shared && (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT || h->root.type != bfd_link_hash_undefweak)) - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0) + || !h->forced_local) && elf_hash_table (finfo->info)->dynamic_sections_created) { if (! ((*bed->elf_backend_finish_dynamic_symbol) @@ -6187,13 +6178,13 @@ elf_link_output_extsym (struct elf_link_hash_entry *h, void *data) because it might not be marked as undefined until the finish_dynamic_symbol routine gets through with it. */ if (sym.st_shndx == SHN_UNDEF - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) != 0 + && h->ref_regular && (ELF_ST_BIND (sym.st_info) == STB_GLOBAL || ELF_ST_BIND (sym.st_info) == STB_WEAK)) { int bindtype; - if ((h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR_NONWEAK) != 0) + if (h->ref_regular_nonweak) bindtype = STB_GLOBAL; else bindtype = STB_WEAK; @@ -6206,7 +6197,7 @@ elf_link_output_extsym (struct elf_link_hash_entry *h, void *data) && ELF_ST_VISIBILITY (sym.st_other) != STV_DEFAULT && ELF_ST_BIND (sym.st_info) != STB_WEAK && h->root.type == bfd_link_hash_undefined - && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + && !h->def_regular) { (*_bfd_error_handler) (_("%B: %s symbol `%s' isn't defined"), @@ -6238,7 +6229,7 @@ elf_link_output_extsym (struct elf_link_hash_entry *h, void *data) bed->s->swap_symbol_out (finfo->output_bfd, &sym, esym, 0); bucketcount = elf_hash_table (finfo->info)->bucketcount; - bucket = h->elf_hash_value % bucketcount; + bucket = h->u.elf_hash_value % bucketcount; hash_entry_size = elf_section_data (finfo->hash_sec)->this_hdr.sh_entsize; bucketpos = ((bfd_byte *) finfo->hash_sec->contents @@ -6254,7 +6245,7 @@ elf_link_output_extsym (struct elf_link_hash_entry *h, void *data) Elf_Internal_Versym iversym; Elf_External_Versym *eversym; - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { if (h->verinfo.verdef == NULL) iversym.vs_vers = 0; @@ -6269,7 +6260,7 @@ elf_link_output_extsym (struct elf_link_hash_entry *h, void *data) iversym.vs_vers = h->verinfo.vertree->vernum + 1; } - if ((h->elf_link_hash_flags & ELF_LINK_HIDDEN) != 0) + if (h->hidden) iversym.vs_vers |= VERSYM_HIDDEN; eversym = (Elf_External_Versym *) finfo->symver_sec->contents; @@ -8573,26 +8564,26 @@ elf_gc_propagate_vtable_entries_used (struct elf_link_hash_entry *h, void *okp) h = (struct elf_link_hash_entry *) h->root.u.i.link; /* Those that are not vtables. */ - if (h->vtable_parent == NULL) + if (h->vtable == NULL || h->vtable->parent == NULL) return TRUE; /* Those vtables that do not have parents, we cannot merge. */ - if (h->vtable_parent == (struct elf_link_hash_entry *) -1) + if (h->vtable->parent == (struct elf_link_hash_entry *) -1) return TRUE; /* If we've already been done, exit. */ - if (h->vtable_entries_used && h->vtable_entries_used[-1]) + if (h->vtable->used && h->vtable->used[-1]) return TRUE; /* Make sure the parent's table is up to date. */ - elf_gc_propagate_vtable_entries_used (h->vtable_parent, okp); + elf_gc_propagate_vtable_entries_used (h->vtable->parent, okp); - if (h->vtable_entries_used == NULL) + if (h->vtable->used == NULL) { /* None of this table's entries were referenced. Re-use the parent's table. */ - h->vtable_entries_used = h->vtable_parent->vtable_entries_used; - h->vtable_entries_size = h->vtable_parent->vtable_entries_size; + h->vtable->used = h->vtable->parent->vtable->used; + h->vtable->size = h->vtable->parent->vtable->size; } else { @@ -8600,9 +8591,9 @@ elf_gc_propagate_vtable_entries_used (struct elf_link_hash_entry *h, void *okp) bfd_boolean *cu, *pu; /* Or the parent's entries into ours. */ - cu = h->vtable_entries_used; + cu = h->vtable->used; cu[-1] = TRUE; - pu = h->vtable_parent->vtable_entries_used; + pu = h->vtable->parent->vtable->used; if (pu != NULL) { const struct elf_backend_data *bed; @@ -8610,7 +8601,7 @@ elf_gc_propagate_vtable_entries_used (struct elf_link_hash_entry *h, void *okp) bed = get_elf_backend_data (h->root.u.def.section->owner); log_file_align = bed->s->log_file_align; - n = h->vtable_parent->vtable_entries_size >> log_file_align; + n = h->vtable->parent->vtable->size >> log_file_align; while (n--) { if (*pu) @@ -8638,7 +8629,7 @@ elf_gc_smash_unused_vtentry_relocs (struct elf_link_hash_entry *h, void *okp) /* Take care of both those symbols that do not describe vtables as well as those that are not loaded. */ - if (h->vtable_parent == NULL) + if (h->vtable == NULL || h->vtable->parent == NULL) return TRUE; BFD_ASSERT (h->root.type == bfd_link_hash_defined @@ -8660,11 +8651,11 @@ elf_gc_smash_unused_vtentry_relocs (struct elf_link_hash_entry *h, void *okp) if (rel->r_offset >= hstart && rel->r_offset < hend) { /* If the entry is in use, do nothing. */ - if (h->vtable_entries_used - && (rel->r_offset - hstart) < h->vtable_entries_size) + if (h->vtable->used + && (rel->r_offset - hstart) < h->vtable->size) { bfd_vma entry = (rel->r_offset - hstart) >> log_file_align; - if (h->vtable_entries_used[entry]) + if (h->vtable->used[entry]) continue; } /* Otherwise, kill it. */ @@ -8686,7 +8677,7 @@ elf_gc_mark_dynamic_ref_symbol (struct elf_link_hash_entry *h, if ((h->root.type == bfd_link_hash_defined || h->root.type == bfd_link_hash_defweak) - && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC)) + && h->ref_dynamic) h->root.u.def.section->flags |= SEC_KEEP; return TRUE; @@ -8807,6 +8798,12 @@ bfd_elf_gc_record_vtinherit (bfd *abfd, return FALSE; win: + if (!child->vtable) + { + child->vtable = bfd_zalloc (abfd, sizeof (*child->vtable)); + if (!child->vtable) + return FALSE; + } if (!h) { /* This *should* only be the absolute section. It could potentially @@ -8814,10 +8811,10 @@ bfd_elf_gc_record_vtinherit (bfd *abfd, would be bad. It isn't worth paging in the local symbols to be sure though; that case should simply be handled by the assembler. */ - child->vtable_parent = (struct elf_link_hash_entry *) -1; + child->vtable->parent = (struct elf_link_hash_entry *) -1; } else - child->vtable_parent = h; + child->vtable->parent = h; return TRUE; } @@ -8833,10 +8830,17 @@ bfd_elf_gc_record_vtentry (bfd *abfd ATTRIBUTE_UNUSED, const struct elf_backend_data *bed = get_elf_backend_data (abfd); unsigned int log_file_align = bed->s->log_file_align; - if (addend >= h->vtable_entries_size) + if (!h->vtable) + { + h->vtable = bfd_zalloc (abfd, sizeof (*h->vtable)); + if (!h->vtable) + return FALSE; + } + + if (addend >= h->vtable->size) { size_t size, bytes, file_align; - bfd_boolean *ptr = h->vtable_entries_used; + bfd_boolean *ptr = h->vtable->used; /* While the symbol is undefined, we have to be prepared to handle a zero size. */ @@ -8867,7 +8871,7 @@ bfd_elf_gc_record_vtentry (bfd *abfd ATTRIBUTE_UNUSED, { size_t oldbytes; - oldbytes = (((h->vtable_entries_size >> log_file_align) + 1) + oldbytes = (((h->vtable->size >> log_file_align) + 1) * sizeof (bfd_boolean)); memset (((char *) ptr) + oldbytes, 0, bytes - oldbytes); } @@ -8879,11 +8883,11 @@ bfd_elf_gc_record_vtentry (bfd *abfd ATTRIBUTE_UNUSED, return FALSE; /* And arrange for that done flag to be at index -1. */ - h->vtable_entries_used = ptr + 1; - h->vtable_entries_size = size; + h->vtable->used = ptr + 1; + h->vtable->size = size; } - h->vtable_entries_used[addend >> log_file_align] = TRUE; + h->vtable->used[addend >> log_file_align] = TRUE; return TRUE; } diff --git a/bfd/elfxx-ia64.c b/bfd/elfxx-ia64.c index a3a69e40897..69ec779331c 100644 --- a/bfd/elfxx-ia64.c +++ b/bfd/elfxx-ia64.c @@ -1641,12 +1641,10 @@ elfNN_ia64_hash_copy_indirect (bed, xdir, xind) /* Copy down any references that we may have already seen to the symbol which just became indirect. */ - dir->root.elf_link_hash_flags |= - (ind->root.elf_link_hash_flags - & (ELF_LINK_HASH_REF_DYNAMIC - | ELF_LINK_HASH_REF_REGULAR - | ELF_LINK_HASH_REF_REGULAR_NONWEAK - | ELF_LINK_HASH_NEEDS_PLT)); + dir->root.ref_dynamic |= ind->root.ref_dynamic; + dir->root.ref_regular |= ind->root.ref_regular; + dir->root.ref_regular_nonweak |= ind->root.ref_regular_nonweak; + dir->root.needs_plt |= ind->root.needs_plt; if (ind->root.root.type != bfd_link_hash_indirect) return; @@ -2235,7 +2233,7 @@ elfNN_ia64_check_relocs (abfd, info, sec, relocs) || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; - h->elf_link_hash_flags |= ELF_LINK_HASH_REF_REGULAR; + h->ref_regular = 1; } /* We can only get preliminary data on whether a symbol is @@ -2244,8 +2242,9 @@ elfNN_ia64_check_relocs (abfd, info, sec, relocs) this may help reduce memory usage and processing time later. */ maybe_dynamic = FALSE; if (h && ((!info->executable - && (!info->symbolic || info->unresolved_syms_in_shared_libs == RM_IGNORE)) - || ! (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) + && (!info->symbolic + || info->unresolved_syms_in_shared_libs == RM_IGNORE)) + || !h->def_regular || h->root.type == bfd_link_hash_defweak)) maybe_dynamic = TRUE; @@ -2444,7 +2443,7 @@ elfNN_ia64_check_relocs (abfd, info, sec, relocs) { if (!ia64_info->root.dynobj) ia64_info->root.dynobj = abfd; - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; dyn_i->want_plt = 1; } if (need_entry & NEED_FULL_PLT) @@ -2651,7 +2650,7 @@ allocate_plt_entries (dyn_i, data) || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; - /* ??? Versioned symbols seem to lose ELF_LINK_HASH_NEEDS_PLT. */ + /* ??? Versioned symbols seem to lose NEEDS_PLT. */ if (elfNN_ia64_dynamic_symbol_p (h, x->info, 0)) { bfd_size_type offset = x->ofs; @@ -2839,12 +2838,12 @@ elfNN_ia64_adjust_dynamic_symbol (info, h) /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } @@ -4575,7 +4574,7 @@ elfNN_ia64_finish_dynamic_symbol (output_bfd, info, h, sym) plt section. Leave the value alone. */ /* ??? We didn't redefine it in adjust_dynamic_symbol in the first place. But perhaps elflink.c did some for us. */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) sym->st_shndx = SHN_UNDEF; } diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index 56d0d78bc70..64eff153c47 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -1490,10 +1490,10 @@ mips_elf_output_extsym (struct mips_elf_link_hash_entry *h, void *data) if (h->root.indx == -2) strip = FALSE; - else if (((h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - || (h->root.elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) != 0) - && (h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0 - && (h->root.elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0) + else if ((h->root.def_dynamic + || h->root.ref_dynamic) + && !h->root.def_regular + && !h->root.ref_regular) strip = TRUE; else if (einfo->info->strip == strip_all || (einfo->info->strip == strip_some @@ -1611,7 +1611,7 @@ mips_elf_output_extsym (struct mips_elf_link_hash_entry *h, void *data) else h->esym.asym.value = 0; } - else if ((h->root.elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + else if (h->root.needs_plt) { struct mips_elf_link_hash_entry *hd = h; bfd_boolean no_fn_stub = h->no_fn_stub; @@ -2411,10 +2411,8 @@ mips_elf_set_global_got_offset (void **entryp, void *p) entry->gotidx = arg->value * (long) g->assigned_gotno++; if (arg->info->shared || (elf_hash_table (arg->info)->dynamic_sections_created - && ((entry->d.h->root.elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0) - && ((entry->d.h->root.elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + && entry->d.h->root.def_dynamic + && !entry->d.h->root.def_regular)) ++arg->needed_relocs; } else @@ -2764,7 +2762,7 @@ mips_elf_local_relocation_p (bfd *input_bfd, while (h->root.root.type == bfd_link_hash_indirect || h->root.root.type == bfd_link_hash_warning) h = (struct mips_elf_link_hash_entry *) h->root.root.u.i.link; - if ((h->root.elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0) + if (h->root.forced_local) return TRUE; } @@ -2910,8 +2908,8 @@ mips_elf_create_got_section (bfd *abfd, struct bfd_link_info *info, return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags &= ~ELF_LINK_NON_ELF; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->non_elf = 0; + h->def_regular = 1; h->type = STT_OBJECT; if (info->shared @@ -3237,7 +3235,7 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd, if (! elf_hash_table(info)->dynamic_sections_created || (info->shared && (info->symbolic || h->root.dynindx == -1) - && (h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR))) + && h->root.def_regular)) { /* This is a static link or a -Bsymbolic link. The symbol is defined locally, or was forced to be local. @@ -3300,10 +3298,8 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd, if ((info->shared || (elf_hash_table (info)->dynamic_sections_created && h != NULL - && ((h->root.elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0) - && ((h->root.elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + && h->root.def_dynamic + && !h->root.def_regular)) && r_symndx != 0 && (input_section->flags & SEC_ALLOC) != 0) { @@ -3857,16 +3853,14 @@ mips_elf_create_dynamic_relocation (bfd *output_bfd, /* We must now calculate the dynamic symbol table index to use in the relocation. */ if (h != NULL - && (! info->symbolic || (h->root.elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0) + && (! info->symbolic || !h->root.def_regular) /* h->root.dynindx may be -1 if this symbol was marked to become local. */ && h->root.dynindx != -1) { indx = h->root.dynindx; if (SGI_COMPAT (output_bfd)) - defined_p = ((h->root.elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) != 0); + defined_p = h->root.def_regular; else /* ??? glibc's ld.so just adds the final GOT entry to the relocation field. It therefore treats relocs against @@ -4813,8 +4807,8 @@ _bfd_mips_elf_add_symbol_hook (bfd *abfd, struct bfd_link_info *info, return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags &= ~ELF_LINK_NON_ELF; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->non_elf = 0; + h->def_regular = 1; h->type = STT_OBJECT; if (! bfd_elf_link_record_dynamic_symbol (info, h)) @@ -4925,8 +4919,8 @@ _bfd_mips_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags &= ~ELF_LINK_NON_ELF; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->non_elf = 0; + h->def_regular = 1; h->type = STT_SECTION; if (! bfd_elf_link_record_dynamic_symbol (info, h)) @@ -4970,8 +4964,8 @@ _bfd_mips_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags &= ~ELF_LINK_NON_ELF; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->non_elf = 0; + h->def_regular = 1; h->type = STT_SECTION; if (! bfd_elf_link_record_dynamic_symbol (info, h)) @@ -4994,8 +4988,8 @@ _bfd_mips_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info) return FALSE; h = (struct elf_link_hash_entry *) bh; - h->elf_link_hash_flags &= ~ELF_LINK_NON_ELF; - h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR; + h->non_elf = 0; + h->def_regular = 1; h->type = STT_OBJECT; if (! bfd_elf_link_record_dynamic_symbol (info, h)) @@ -5318,7 +5312,7 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, /* We need a stub, not a plt entry for the undefined function. But we record it as if it needs plt. See _bfd_elf_adjust_dynamic_symbol. */ - h->elf_link_hash_flags |= ELF_LINK_HASH_NEEDS_PLT; + h->needs_plt = 1; h->type = STT_FUNC; } break; @@ -5338,10 +5332,9 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, hmips = (struct mips_elf_link_hash_entry *) hmips->root.root.u.i.link; - if ((hmips->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) + if (hmips->root.def_regular && ! (info->shared && ! info->symbolic - && ! (hmips->root.elf_link_hash_flags - & ELF_LINK_FORCED_LOCAL))) + && ! hmips->root.forced_local)) break; } /* Fall through. */ @@ -5550,7 +5543,7 @@ _bfd_mips_relax_section (bfd *abfd, asection *sec, || h->root.root.type == bfd_link_hash_defweak) && h->root.root.u.def.section) || (link_info->shared && ! link_info->symbolic - && ! (h->root.elf_link_hash_flags & ELF_LINK_FORCED_LOCAL))) + && !h->root.forced_local)) continue; sym_sec = h->root.root.u.def.section; @@ -5674,14 +5667,11 @@ _bfd_mips_elf_adjust_dynamic_symbol (struct bfd_link_info *info, /* Make sure we know what is going on here. */ BFD_ASSERT (dynobj != NULL - && ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) - || h->weakdef != NULL - || ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_REF_REGULAR) != 0 - && (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))); + && (h->needs_plt + || h->u.weakdef != NULL + || (h->def_dynamic + && h->ref_regular + && !h->def_regular))); /* If this symbol is defined in a dynamic object, we need to copy any R_MIPS_32 or R_MIPS_REL32 relocs against it into the output @@ -5690,8 +5680,7 @@ _bfd_mips_elf_adjust_dynamic_symbol (struct bfd_link_info *info, if (! info->relocatable && hmips->possibly_dynamic_relocs != 0 && (h->root.type == bfd_link_hash_defweak - || (h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0)) + || !h->def_regular)) { mips_elf_allocate_dynamic_relocations (dynobj, hmips->possibly_dynamic_relocs); @@ -5703,7 +5692,7 @@ _bfd_mips_elf_adjust_dynamic_symbol (struct bfd_link_info *info, /* For a function, create a stub, if allowed. */ if (! hmips->no_fn_stub - && (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0) + && h->needs_plt) { if (! elf_hash_table (info)->dynamic_sections_created) return TRUE; @@ -5712,7 +5701,7 @@ _bfd_mips_elf_adjust_dynamic_symbol (struct bfd_link_info *info, the symbol to the stub location. This is required to make function pointers compare as equal between the normal executable and the shared library. */ - if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) + if (!h->def_regular) { /* We need .stub section. */ s = bfd_get_section_by_name (dynobj, @@ -5734,7 +5723,7 @@ _bfd_mips_elf_adjust_dynamic_symbol (struct bfd_link_info *info, } } else if ((h->type == STT_FUNC) - && (h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) == 0) + && !h->needs_plt) { /* This will set the entry for this symbol in the GOT to 0, and the dynamic linker will take care of this. */ @@ -5745,12 +5734,12 @@ _bfd_mips_elf_adjust_dynamic_symbol (struct bfd_link_info *info, /* If this is a weak symbol, and there is a real definition, the processor independent code will have arranged for us to see the real definition first, and we can just use the same value. */ - if (h->weakdef != NULL) + if (h->u.weakdef != NULL) { - BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined - || h->weakdef->root.type == bfd_link_hash_defweak); - h->root.u.def.section = h->weakdef->root.u.def.section; - h->root.u.def.value = h->weakdef->root.u.def.value; + BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined + || h->u.weakdef->root.type == bfd_link_hash_defweak); + h->root.u.def.section = h->u.weakdef->root.u.def.section; + h->root.u.def.value = h->u.weakdef->root.u.def.value; return TRUE; } @@ -6608,7 +6597,7 @@ _bfd_mips_elf_finish_dynamic_symbol (bfd *output_bfd, } BFD_ASSERT (h->dynindx != -1 - || (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0); + || h->forced_local); sgot = mips_elf_got_section (dynobj, FALSE); BFD_ASSERT (sgot != NULL); @@ -6651,10 +6640,8 @@ _bfd_mips_elf_finish_dynamic_symbol (bfd *output_bfd, if (info->shared || (elf_hash_table (info)->dynamic_sections_created && p->d.h != NULL - && ((p->d.h->root.elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0) - && ((p->d.h->root.elf_link_hash_flags - & ELF_LINK_HASH_DEF_REGULAR) == 0))) + && p->d.h->root.def_dynamic + && !p->d.h->root.def_regular)) { /* Create an R_MIPS_REL32 relocation for this entry. Due to the various compatibility problems, it's easier to mock diff --git a/bfd/libbfd.h b/bfd/libbfd.h index 4e9a4c27291..abe6a2aca03 100644 --- a/bfd/libbfd.h +++ b/bfd/libbfd.h @@ -1137,6 +1137,8 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_ARM_TARGET1", "BFD_RELOC_ARM_ROSEGREL32", "BFD_RELOC_ARM_SBREL32", + "BFD_RELOC_ARM_TARGET2", + "BFD_RELOC_ARM_PREL31", "BFD_RELOC_SH_PCDISP8BY2", "BFD_RELOC_SH_PCDISP12BY2", "BFD_RELOC_SH_IMM3", diff --git a/bfd/linker.c b/bfd/linker.c index aac7da90763..8abf3596701 100644 --- a/bfd/linker.c +++ b/bfd/linker.c @@ -455,7 +455,7 @@ _bfd_link_hash_newfunc (struct bfd_hash_entry *entry, /* Initialize the local fields. */ h->type = bfd_link_hash_new; - h->und_next = NULL; + h->u.undef.next = NULL; } return entry; @@ -616,9 +616,9 @@ void bfd_link_add_undef (struct bfd_link_hash_table *table, struct bfd_link_hash_entry *h) { - BFD_ASSERT (h->und_next == NULL); + BFD_ASSERT (h->u.undef.next == NULL); if (table->undefs_tail != NULL) - table->undefs_tail->und_next = h; + table->undefs_tail->u.undef.next = h; if (table->undefs == NULL) table->undefs = h; table->undefs_tail = h; @@ -990,9 +990,9 @@ _bfd_generic_link_add_archive_symbols us to lose track of whether the symbol has been referenced). */ if (*pundef != info->hash->undefs_tail) - *pundef = (*pundef)->und_next; + *pundef = (*pundef)->u.undef.next; else - pundef = &(*pundef)->und_next; + pundef = &(*pundef)->u.undef.next; continue; } @@ -1015,7 +1015,7 @@ _bfd_generic_link_add_archive_symbols } if (arh == NULL) { - pundef = &(*pundef)->und_next; + pundef = &(*pundef)->u.undef.next; continue; } } @@ -1064,7 +1064,7 @@ _bfd_generic_link_add_archive_symbols } } - pundef = &(*pundef)->und_next; + pundef = &(*pundef)->u.undef.next; } archive_hash_table_free (&arsym_hash); @@ -1694,8 +1694,8 @@ _bfd_generic_link_add_one_symbol (struct bfd_link_info *info, case REF: /* A reference to a defined symbol. */ - if (h->und_next == NULL && info->hash->undefs_tail != h) - h->und_next = h; + if (h->u.undef.next == NULL && info->hash->undefs_tail != h) + h->u.undef.next = h; break; case BIG: @@ -1881,8 +1881,8 @@ _bfd_generic_link_add_one_symbol (struct bfd_link_info *info, case REFC: /* A reference to an indirect symbol. */ - if (h->und_next == NULL && info->hash->undefs_tail != h) - h->und_next = h; + if (h->u.undef.next == NULL && info->hash->undefs_tail != h) + h->u.undef.next = h; h = h->u.i.link; cycle = TRUE; break; @@ -1897,10 +1897,10 @@ _bfd_generic_link_add_one_symbol (struct bfd_link_info *info, case CWARN: /* Warn if this symbol has been referenced already, otherwise add a warning. A symbol has been referenced if - the und_next field is not NULL, or it is the tail of the + the u.undef.next field is not NULL, or it is the tail of the undefined symbol list. The REF case above helps to ensure this. */ - if (h->und_next != NULL || info->hash->undefs_tail == h) + if (h->u.undef.next != NULL || info->hash->undefs_tail == h) { if (! (*info->callbacks->warning) (info, string, h->root.string, hash_entry_bfd (h), NULL, 0)) diff --git a/bfd/po/SRC-POTFILES.in b/bfd/po/SRC-POTFILES.in index a48688e171e..cbf2abf6bcb 100644 --- a/bfd/po/SRC-POTFILES.in +++ b/bfd/po/SRC-POTFILES.in @@ -65,7 +65,9 @@ cpu-alpha.c cpu-arc.c cpu-arm.c cpu-avr.c +cpu-cr16c.c cpu-cris.c +cpu-crx.c cpu-d10v.c cpu-d30v.c cpu-dlx.c @@ -126,7 +128,9 @@ elf32-arc.c elf32-arm.h elf32-avr.c elf32.c +elf32-cr16c.c elf32-cris.c +elf32-crx.c elf32-d10v.c elf32-d30v.c elf32-dlx.c @@ -159,6 +163,7 @@ elf32-s390.c elf32-sh64.c elf32-sh64-com.c elf32-sh.c +elf32-sh-symbian.c elf32-sparc.c elf32-v850.c elf32-vax.c diff --git a/bfd/po/bfd.pot b/bfd/po/bfd.pot index dd37e15cbea..e26caba2cf5 100644 --- a/bfd/po/bfd.pot +++ b/bfd/po/bfd.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-03-27 15:34+1030\n" +"POT-Creation-Date: 2004-09-17 15:33+0930\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,8 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: aout-adobe.c:204 -#, c-format -msgid "%s: Unknown section type in a.out.adobe file: %x\n" +msgid "%B: Unknown section type in a.out.adobe file: %x\n" msgstr "" #: aout-cris.c:207 @@ -27,143 +26,141 @@ msgid "%s: Invalid relocation type exported: %d" msgstr "" #: aout-cris.c:251 -#, c-format -msgid "%s: Invalid relocation type imported: %d" +msgid "%B: Invalid relocation type imported: %d" msgstr "" #: aout-cris.c:262 -#, c-format -msgid "%s: Bad relocation record imported: %d" +msgid "%B: Bad relocation record imported: %d" msgstr "" -#: aoutx.h:1296 aoutx.h:1717 +#: aoutx.h:1299 aoutx.h:1720 #, c-format msgid "%s: can not represent section `%s' in a.out object file format" msgstr "" -#: aoutx.h:1683 +#: aoutx.h:1686 #, c-format msgid "" "%s: can not represent section for symbol `%s' in a.out object file format" msgstr "" -#: aoutx.h:1685 +#: aoutx.h:1688 msgid "*unknown*" msgstr "" -#: aoutx.h:3777 +#: aoutx.h:3780 #, c-format msgid "%s: relocatable link from %s to %s not supported" msgstr "" -#: archive.c:1751 +#: archive.c:1764 msgid "Warning: writing archive was slow: rewriting timestamp\n" msgstr "" -#: archive.c:2014 +#: archive.c:2027 msgid "Reading archive file mod timestamp" msgstr "" -#: archive.c:2040 +#: archive.c:2053 msgid "Writing updated armap timestamp" msgstr "" -#: bfd.c:280 +#: bfd.c:276 msgid "No error" msgstr "" -#: bfd.c:281 +#: bfd.c:277 msgid "System call error" msgstr "" -#: bfd.c:282 +#: bfd.c:278 msgid "Invalid bfd target" msgstr "" -#: bfd.c:283 +#: bfd.c:279 msgid "File in wrong format" msgstr "" -#: bfd.c:284 +#: bfd.c:280 msgid "Archive object file in wrong format" msgstr "" -#: bfd.c:285 +#: bfd.c:281 msgid "Invalid operation" msgstr "" -#: bfd.c:286 +#: bfd.c:282 msgid "Memory exhausted" msgstr "" -#: bfd.c:287 +#: bfd.c:283 msgid "No symbols" msgstr "" -#: bfd.c:288 +#: bfd.c:284 msgid "Archive has no index; run ranlib to add one" msgstr "" -#: bfd.c:289 +#: bfd.c:285 msgid "No more archived files" msgstr "" -#: bfd.c:290 +#: bfd.c:286 msgid "Malformed archive" msgstr "" -#: bfd.c:291 +#: bfd.c:287 msgid "File format not recognized" msgstr "" -#: bfd.c:292 +#: bfd.c:288 msgid "File format is ambiguous" msgstr "" -#: bfd.c:293 +#: bfd.c:289 msgid "Section has no contents" msgstr "" -#: bfd.c:294 +#: bfd.c:290 msgid "Nonrepresentable section on output" msgstr "" -#: bfd.c:295 +#: bfd.c:291 msgid "Symbol needs debug section which does not exist" msgstr "" -#: bfd.c:296 +#: bfd.c:292 msgid "Bad value" msgstr "" -#: bfd.c:297 +#: bfd.c:293 msgid "File truncated" msgstr "" -#: bfd.c:298 +#: bfd.c:294 msgid "File too big" msgstr "" -#: bfd.c:299 +#: bfd.c:295 msgid "#" msgstr "" -#: bfd.c:687 +#: bfd.c:765 #, c-format msgid "BFD %s assertion fail %s:%d" msgstr "" -#: bfd.c:703 +#: bfd.c:781 #, c-format msgid "BFD %s internal error, aborting at %s line %d in %s\n" msgstr "" -#: bfd.c:707 +#: bfd.c:785 #, c-format msgid "BFD %s internal error, aborting at %s line %d\n" msgstr "" -#: bfd.c:709 +#: bfd.c:787 msgid "Please report this bug.\n" msgstr "" @@ -182,9 +179,8 @@ msgstr "" msgid "Warning: Writing section `%s' to huge (ie negative) file offset 0x%lx." msgstr "" -#: coff64-rs6000.c:2108 coff-rs6000.c:3615 -#, c-format -msgid "%s: symbol `%s' has unrecognized smclas %d" +#: coff64-rs6000.c:2107 coff-rs6000.c:3614 +msgid "%B: symbol `%s' has unrecognized smclas %d" msgstr "" #: coff-a29k.c:120 @@ -207,196 +203,193 @@ msgstr "" msgid "missing IHIHALF reloc" msgstr "" -#: coff-alpha.c:884 coff-alpha.c:921 coff-alpha.c:1992 coff-mips.c:1397 +#: coff-alpha.c:881 coff-alpha.c:918 coff-alpha.c:1987 coff-mips.c:985 msgid "GP relative relocation used when GP not defined" msgstr "" -#: coff-alpha.c:1488 +#: coff-alpha.c:1483 msgid "using multiple gp values" msgstr "" -#: coff-arm.c:1066 elf32-arm.h:465 -#, c-format -msgid "%s: unable to find THUMB glue '%s' for `%s'" -msgstr "" - -#: coff-arm.c:1096 elf32-arm.h:500 +#: coff-arm.c:1066 elf32-arm.h:420 #, c-format -msgid "%s: unable to find ARM glue '%s' for `%s'" +msgid "%B: unable to find THUMB glue '%s' for `%s'" msgstr "" -#: coff-arm.c:1400 coff-arm.c:1495 elf32-arm.h:1063 elf32-arm.h:1170 +#: coff-arm.c:1096 elf32-arm.h:454 #, c-format -msgid "%s(%s): warning: interworking not enabled." +msgid "%B: unable to find ARM glue '%s' for `%s'" msgstr "" -#: coff-arm.c:1404 elf32-arm.h:1173 +#: coff-arm.c:1400 elf32-arm.h:1114 #, c-format -msgid " first occurrence: %s: arm call to thumb" +msgid "" +"%B(%s): warning: interworking not enabled.\n" +" first occurrence: %B: arm call to thumb" msgstr "" -#: coff-arm.c:1499 elf32-arm.h:1066 +#: coff-arm.c:1490 #, c-format -msgid " first occurrence: %s: thumb call to arm" -msgstr "" - -#: coff-arm.c:1502 -msgid " consider relinking with --support-old-code enabled" +msgid "" +"%B(%s): warning: interworking not enabled.\n" +" first occurrence: %B: thumb call to arm\n" +" consider relinking with --support-old-code enabled" msgstr "" -#: coff-arm.c:1797 cofflink.c:2987 coff-tic80.c:687 -#, c-format -msgid "%s: bad reloc address 0x%lx in section `%s'" +#: coff-arm.c:1787 cofflink.c:3008 coff-tic80.c:687 +msgid "%B: bad reloc address 0x%lx in section `%A'" msgstr "" -#: coff-arm.c:2141 -#, c-format -msgid "%s: illegal symbol index in reloc: %d" +#: coff-arm.c:2129 +msgid "%B: illegal symbol index in reloc: %d" msgstr "" -#: coff-arm.c:2274 +#: coff-arm.c:2262 #, c-format -msgid "ERROR: %s is compiled for APCS-%d, whereas %s is compiled for APCS-%d" +msgid "ERROR: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%d" msgstr "" -#: coff-arm.c:2289 elf32-arm.h:2482 +#: coff-arm.c:2278 elf32-arm.h:2445 #, c-format msgid "" -"ERROR: %s passes floats in float registers, whereas %s passes them in " +"ERROR: %B passes floats in float registers, whereas %B passes them in " "integer registers" msgstr "" -#: coff-arm.c:2292 elf32-arm.h:2487 +#: coff-arm.c:2281 elf32-arm.h:2449 #, c-format msgid "" -"ERROR: %s passes floats in integer registers, whereas %s passes them in " +"ERROR: %B passes floats in integer registers, whereas %B passes them in " "float registers" msgstr "" -#: coff-arm.c:2307 +#: coff-arm.c:2295 #, c-format msgid "" -"ERROR: %s is compiled as position independent code, whereas target %s is " +"ERROR: %B is compiled as position independent code, whereas target %B is " "absolute position" msgstr "" -#: coff-arm.c:2310 +#: coff-arm.c:2298 #, c-format msgid "" -"ERROR: %s is compiled as absolute position code, whereas target %s is " +"ERROR: %B is compiled as absolute position code, whereas target %B is " "position independent" msgstr "" -#: coff-arm.c:2339 elf32-arm.h:2559 +#: coff-arm.c:2326 elf32-arm.h:2514 #, c-format -msgid "Warning: %s supports interworking, whereas %s does not" +msgid "Warning: %B supports interworking, whereas %B does not" msgstr "" -#: coff-arm.c:2342 elf32-arm.h:2566 +#: coff-arm.c:2329 elf32-arm.h:2520 #, c-format -msgid "Warning: %s does not support interworking, whereas %s does" +msgid "Warning: %B does not support interworking, whereas %B does" msgstr "" -#: coff-arm.c:2369 +#: coff-arm.c:2355 #, c-format msgid "private flags = %x:" msgstr "" -#: coff-arm.c:2377 elf32-arm.h:2621 +#: coff-arm.c:2363 elf32-arm.h:2571 #, c-format msgid " [floats passed in float registers]" msgstr "" -#: coff-arm.c:2379 +#: coff-arm.c:2365 #, c-format msgid " [floats passed in integer registers]" msgstr "" -#: coff-arm.c:2382 elf32-arm.h:2624 +#: coff-arm.c:2368 elf32-arm.h:2574 #, c-format msgid " [position independent]" msgstr "" -#: coff-arm.c:2384 +#: coff-arm.c:2370 #, c-format msgid " [absolute position]" msgstr "" -#: coff-arm.c:2388 +#: coff-arm.c:2374 #, c-format msgid " [interworking flag not initialised]" msgstr "" -#: coff-arm.c:2390 +#: coff-arm.c:2376 #, c-format msgid " [interworking supported]" msgstr "" -#: coff-arm.c:2392 +#: coff-arm.c:2378 #, c-format msgid " [interworking not supported]" msgstr "" -#: coff-arm.c:2440 elf32-arm.h:2286 +#: coff-arm.c:2426 elf32-arm.h:2256 #, c-format msgid "" -"Warning: Not setting interworking flag of %s since it has already been " +"Warning: Not setting interworking flag of %B since it has already been " "specified as non-interworking" msgstr "" -#: coff-arm.c:2444 elf32-arm.h:2290 +#: coff-arm.c:2430 elf32-arm.h:2260 #, c-format -msgid "Warning: Clearing the interworking flag of %s due to outside request" +msgid "Warning: Clearing the interworking flag of %B due to outside request" msgstr "" -#: coffcode.h:1112 -#, c-format -msgid "%s (%s): Section flag %s (0x%x) ignored" +#: coffcode.h:859 +msgid "%B: warning: COMDAT symbol '%s' does not match section name '%s'" msgstr "" -#: coffcode.h:2224 +#. Generate a warning message rather using the 'unhandled' +#. variable as this will allow some .sys files generate by +#. other toolchains to be processed. See bugzilla issue 196. +#: coffcode.h:1075 +msgid "" +"%B: Warning: Ignoring section flag IMAGE_SCN_MEM_NOT_PAGED in section %s" +msgstr "" + +#: coffcode.h:1131 +msgid "%B (%s): Section flag %s (0x%x) ignored" +msgstr "" + +#: coffcode.h:2243 #, c-format msgid "Unrecognized TI COFF target id '0x%x'" msgstr "" -#: coffcode.h:4428 -#, c-format -msgid "%s: warning: line number table read failed" +#: coffcode.h:4449 +msgid "%B: warning: line number table read failed" msgstr "" -#: coffcode.h:4461 -#, c-format -msgid "%s: warning: illegal symbol index %ld in line numbers" +#: coffcode.h:4481 +msgid "%B: warning: illegal symbol index %ld in line numbers" msgstr "" -#: coffcode.h:4475 -#, c-format -msgid "%s: warning: duplicate line number information for `%s'" +#: coffcode.h:4495 +msgid "%B: warning: duplicate line number information for `%s'" msgstr "" -#: coffcode.h:4831 -#, c-format -msgid "%s: Unrecognized storage class %d for %s symbol `%s'" +#: coffcode.h:4850 +msgid "%B: Unrecognized storage class %d for %s symbol `%s'" msgstr "" -#: coffcode.h:4964 -#, c-format -msgid "warning: %s: local symbol `%s' has no section" +#: coffcode.h:4983 +msgid "warning: %B: local symbol `%s' has no section" msgstr "" -#: coffcode.h:5071 coff-i860.c:610 coff-tic4x.c:218 coff-tic54x.c:366 -#, c-format -msgid "%s: warning: illegal symbol index %ld in relocs" +#: coffcode.h:5089 coff-i860.c:610 coff-tic54x.c:367 +msgid "%B: warning: illegal symbol index %ld in relocs" msgstr "" -#: coffcode.h:5109 -#, c-format -msgid "%s: illegal relocation type %d at address 0x%lx" +#: coffcode.h:5127 +msgid "%B: illegal relocation type %d at address 0x%lx" msgstr "" #: coffgen.c:1666 -#, c-format -msgid "%s: bad string table size %lu" +msgid "%B: bad string table size %lu" msgstr "" #: coff-h8300.c:1124 @@ -413,44 +406,32 @@ msgstr "" msgid "uncertain calling convention for non-COFF symbol" msgstr "" -#: cofflink.c:506 elflink.c:3665 -#, c-format -msgid "Warning: type of symbol `%s' changed from %d to %d in %s" +#: cofflink.c:507 elflink.c:3711 +msgid "Warning: type of symbol `%s' changed from %d to %d in %B" msgstr "" -#: cofflink.c:2293 -#, c-format -msgid "%s: relocs in section `%s', but it has no contents" +#: cofflink.c:2295 +msgid "%B: relocs in section `%A', but it has no contents" msgstr "" -#: cofflink.c:2629 coffswap.h:890 +#: cofflink.c:2626 coffswap.h:890 #, c-format msgid "%s: %s: reloc overflow: 0x%lx > 0xffff" msgstr "" -#: cofflink.c:2638 coffswap.h:876 +#: cofflink.c:2635 coffswap.h:876 #, c-format msgid "%s: warning: %s: line number overflow: 0x%lx > 0xffff" msgstr "" -#: coff-m68k.c:482 coff-mips.c:2394 elf32-m68k.c:2145 elf32-mips.c:1405 +#: coff-m68k.c:482 elf32-m68k.c:2129 msgid "unsupported reloc type" msgstr "" -#: coff-mips.c:839 elf32-mips.c:795 elf64-mips.c:1490 elfn32-mips.c:1301 +#: coff-mips.c:686 elf32-mips.c:749 elf64-mips.c:1490 elfn32-mips.c:1301 msgid "GP relative relocation when _gp not defined" msgstr "" -#. No other sections should appear in -membedded-pic -#. code. -#: coff-mips.c:2431 -msgid "reloc against unsupported section" -msgstr "" - -#: coff-mips.c:2439 -msgid "reloc not properly aligned" -msgstr "" - #: coff-rs6000.c:2789 #, c-format msgid "%s: unsupported relocation type 0x%02x" @@ -461,592 +442,582 @@ msgstr "" msgid "%s: TOC reloc at 0x%x to symbol `%s' with no TOC entry" msgstr "" -#: coff-tic4x.c:170 coff-tic54x.c:281 coff-tic80.c:450 +#: coff-tic4x.c:170 coff-tic54x.c:282 coff-tic80.c:450 #, c-format msgid "Unrecognized reloc type 0x%x" msgstr "" +#: coff-tic4x.c:218 +#, c-format +msgid "%s: warning: illegal symbol index %ld in relocs" +msgstr "" + #: coff-w65.c:364 #, c-format msgid "ignoring reloc %s\n" msgstr "" -#: cpu-arm.c:196 cpu-arm.c:206 -#, c-format -msgid "ERROR: %s is compiled for the EP9312, whereas %s is compiled for XScale" +#: cpu-arm.c:197 cpu-arm.c:206 +msgid "ERROR: %B is compiled for the EP9312, whereas %B is compiled for XScale" msgstr "" -#: cpu-arm.c:344 +#: cpu-arm.c:338 #, c-format msgid "warning: unable to update contents of %s section in %s" msgstr "" -#: dwarf2.c:289 +#: dwarf2.c:290 msgid "Dwarf Error: Can't find .debug_str section." msgstr "" -#: dwarf2.c:306 +#: dwarf2.c:308 #, c-format msgid "" "Dwarf Error: DW_FORM_strp offset (%lu) greater than or equal to .debug_str " "size (%lu)." msgstr "" -#: dwarf2.c:441 +#: dwarf2.c:443 msgid "Dwarf Error: Can't find .debug_abbrev section." msgstr "" -#: dwarf2.c:456 +#: dwarf2.c:458 #, c-format msgid "" "Dwarf Error: Abbrev offset (%lu) greater than or equal to .debug_abbrev size " "(%lu)." msgstr "" -#: dwarf2.c:654 +#: dwarf2.c:656 #, c-format msgid "Dwarf Error: Invalid or unhandled FORM value: %u." msgstr "" -#: dwarf2.c:827 +#: dwarf2.c:828 msgid "Dwarf Error: mangled line number section (bad file number)." msgstr "" -#: dwarf2.c:920 +#: dwarf2.c:921 msgid "Dwarf Error: Can't find .debug_line section." msgstr "" -#: dwarf2.c:937 +#: dwarf2.c:938 #, c-format msgid "" "Dwarf Error: Line offset (%lu) greater than or equal to .debug_line size (%" "lu)." msgstr "" -#: dwarf2.c:1142 +#: dwarf2.c:1143 msgid "Dwarf Error: mangled line number section." msgstr "" -#: dwarf2.c:1352 dwarf2.c:1501 +#: dwarf2.c:1353 dwarf2.c:1502 #, c-format msgid "Dwarf Error: Could not find abbrev number %u." msgstr "" -#: dwarf2.c:1462 +#: dwarf2.c:1463 #, c-format msgid "" "Dwarf Error: found dwarf version '%u', this reader only handles version 2 " "information." msgstr "" -#: dwarf2.c:1469 +#: dwarf2.c:1470 #, c-format msgid "" "Dwarf Error: found address size '%u', this reader can not handle sizes " "greater than '%u'." msgstr "" -#: dwarf2.c:1492 +#: dwarf2.c:1493 #, c-format msgid "Dwarf Error: Bad abbrev number: %u." msgstr "" -#: ecoff.c:1339 +#: ecoff.c:1336 #, c-format msgid "Unknown basic type %d" msgstr "" -#: ecoff.c:1599 +#: ecoff.c:1596 #, c-format msgid "" "\n" " End+1 symbol: %ld" msgstr "" -#: ecoff.c:1606 ecoff.c:1609 +#: ecoff.c:1603 ecoff.c:1606 #, c-format msgid "" "\n" " First symbol: %ld" msgstr "" -#: ecoff.c:1621 +#: ecoff.c:1618 #, c-format msgid "" "\n" " End+1 symbol: %-7ld Type: %s" msgstr "" -#: ecoff.c:1628 +#: ecoff.c:1625 #, c-format msgid "" "\n" " Local symbol: %ld" msgstr "" -#: ecoff.c:1636 +#: ecoff.c:1633 #, c-format msgid "" "\n" " struct; End+1 symbol: %ld" msgstr "" -#: ecoff.c:1641 +#: ecoff.c:1638 #, c-format msgid "" "\n" " union; End+1 symbol: %ld" msgstr "" -#: ecoff.c:1646 +#: ecoff.c:1643 #, c-format msgid "" "\n" " enum; End+1 symbol: %ld" msgstr "" -#: ecoff.c:1652 +#: ecoff.c:1649 #, c-format msgid "" "\n" " Type: %s" msgstr "" -#: elf32-arm.h:1416 -#, c-format -msgid "%s: Warning: Arm BLX instruction targets Arm function '%s'." +#: elf32-arm.h:787 +msgid "%B: BE8 images only valid in big-endian mode." msgstr "" -#: elf32-arm.h:1612 -#, c-format -msgid "%s: Warning: Thumb BLX instruction targets thumb function '%s'." +#: elf32-arm.h:1009 +msgid "" +"%B(%s): warning: interworking not enabled.\n" +" first occurrence: %B: thumb call to arm" msgstr "" -#: elf32-arm.h:2080 elf32-sh.c:4808 elf64-sh64.c:1596 -#, c-format -msgid "%s(%s+0x%lx): %s relocation against SEC_MERGE section" +#: elf32-arm.h:1371 +msgid "\\%B: Warning: Arm BLX instruction targets Arm function '%s'." msgstr "" -#: elf32-arm.h:2172 -#, c-format -msgid "" -"%s: warning: unresolvable relocation %d against symbol `%s' from %s section" +#: elf32-arm.h:1570 +msgid "%B: Warning: Thumb BLX instruction targets thumb function '%s'." +msgstr "" + +#: elf32-arm.h:2061 elf32-sh.c:4793 elf64-sh64.c:1596 +msgid "%B(%A+0x%lx): %s relocation against SEC_MERGE section" +msgstr "" + +#: elf32-arm.h:2145 +msgid "%B(%A): warning: unresolvable relocation %d against symbol `%s'" msgstr "" -#: elf32-arm.h:2224 elf32-avr.c:791 elf32-cris.c:1376 elf32-d10v.c:563 -#: elf32-fr30.c:599 elf32-frv.c:2499 elf32-h8300.c:493 elf32-i860.c:1196 -#: elf32-ip2k.c:1568 elf32-iq2000.c:666 elf32-m32r.c:3191 elf32-m68hc1x.c:1190 -#: elf32-msp430.c:489 elf32-openrisc.c:415 elf32-v850.c:1746 -#: elf32-xstormy16.c:954 elf64-mmix.c:1518 elf-m10200.c:426 elf-m10300.c:1676 +#: elf32-arm.h:2196 elf32-avr.c:791 elf32-cr16c.c:770 elf32-cris.c:1371 +#: elf32-crx.c:884 elf32-d10v.c:563 elf32-fr30.c:599 elf32-frv.c:2557 +#: elf32-h8300.c:493 elf32-i860.c:1196 elf32-ip2k.c:1558 elf32-iq2000.c:666 +#: elf32-m32r.c:3252 elf32-m68hc1x.c:1189 elf32-msp430.c:502 +#: elf32-openrisc.c:415 elf32-v850.c:1745 elf32-xstormy16.c:948 +#: elf64-mmix.c:1517 elf-m10200.c:426 elf-m10300.c:1526 msgid "internal error: out of range error" msgstr "" -#: elf32-arm.h:2228 elf32-avr.c:795 elf32-cris.c:1380 elf32-d10v.c:567 -#: elf32-fr30.c:603 elf32-frv.c:2503 elf32-h8300.c:497 elf32-i860.c:1200 -#: elf32-iq2000.c:670 elf32-m32r.c:3195 elf32-m68hc1x.c:1194 -#: elf32-msp430.c:493 elf32-openrisc.c:419 elf32-v850.c:1750 -#: elf32-xstormy16.c:958 elf64-mmix.c:1522 elf-m10200.c:430 elf-m10300.c:1680 -#: elfxx-mips.c:6459 +#: elf32-arm.h:2200 elf32-avr.c:795 elf32-cr16c.c:774 elf32-cris.c:1375 +#: elf32-crx.c:888 elf32-d10v.c:567 elf32-fr30.c:603 elf32-frv.c:2561 +#: elf32-h8300.c:497 elf32-i860.c:1200 elf32-iq2000.c:670 elf32-m32r.c:3256 +#: elf32-m68hc1x.c:1193 elf32-msp430.c:506 elf32-openrisc.c:419 +#: elf32-v850.c:1749 elf32-xstormy16.c:952 elf64-mmix.c:1521 elf-m10200.c:430 +#: elf-m10300.c:1530 elfxx-mips.c:6405 msgid "internal error: unsupported relocation error" msgstr "" -#: elf32-arm.h:2232 elf32-d10v.c:571 elf32-h8300.c:501 elf32-m32r.c:3199 -#: elf32-m68hc1x.c:1198 elf-m10200.c:434 elf-m10300.c:1684 +#: elf32-arm.h:2204 elf32-cr16c.c:778 elf32-crx.c:892 elf32-d10v.c:571 +#: elf32-h8300.c:501 elf32-m32r.c:3260 elf32-m68hc1x.c:1197 elf-m10200.c:434 +#: elf-m10300.c:1534 msgid "internal error: dangerous error" msgstr "" -#: elf32-arm.h:2236 elf32-avr.c:803 elf32-cris.c:1388 elf32-d10v.c:575 -#: elf32-fr30.c:611 elf32-frv.c:2511 elf32-h8300.c:505 elf32-i860.c:1208 -#: elf32-ip2k.c:1583 elf32-iq2000.c:678 elf32-m32r.c:3203 elf32-m68hc1x.c:1202 -#: elf32-msp430.c:501 elf32-openrisc.c:427 elf32-v850.c:1770 -#: elf32-xstormy16.c:966 elf64-mmix.c:1530 elf-m10200.c:438 elf-m10300.c:1688 +#: elf32-arm.h:2208 elf32-avr.c:803 elf32-cr16c.c:782 elf32-cris.c:1383 +#: elf32-crx.c:896 elf32-d10v.c:575 elf32-fr30.c:611 elf32-frv.c:2569 +#: elf32-h8300.c:505 elf32-i860.c:1208 elf32-ip2k.c:1573 elf32-iq2000.c:678 +#: elf32-m32r.c:3264 elf32-m68hc1x.c:1201 elf32-msp430.c:514 +#: elf32-openrisc.c:427 elf32-v850.c:1769 elf32-xstormy16.c:960 +#: elf64-mmix.c:1529 elf-m10200.c:438 elf-m10300.c:1538 msgid "internal error: unknown error" msgstr "" -#: elf32-arm.h:2338 -#, c-format +#: elf32-arm.h:2306 msgid "" -"Warning: Clearing the interworking flag of %s because non-interworking code " -"in %s has been linked with it" +"Warning: Clearing the interworking flag of %B because non-interworking code " +"in %B has been linked with it" msgstr "" -#: elf32-arm.h:2456 -#, c-format +#: elf32-arm.h:2421 msgid "" -"ERROR: %s is compiled for EABI version %d, whereas %s is compiled for " +"ERROR: %B is compiled for EABI version %d, whereas %B is compiled for " "version %d" msgstr "" -#: elf32-arm.h:2470 -#, c-format -msgid "ERROR: %s is compiled for APCS-%d, whereas target %s uses APCS-%d" +#: elf32-arm.h:2434 +msgid "ERROR: %B is compiled for APCS-%d, whereas target %B uses APCS-%d" msgstr "" -#: elf32-arm.h:2498 -#, c-format -msgid "ERROR: %s uses VFP instructions, whereas %s does not" +#: elf32-arm.h:2459 +msgid "ERROR: %B uses VFP instructions, whereas %B does not" msgstr "" -#: elf32-arm.h:2503 -#, c-format -msgid "ERROR: %s uses FPA instructions, whereas %s does not" +#: elf32-arm.h:2463 +msgid "ERROR: %B uses FPA instructions, whereas %B does not" msgstr "" -#: elf32-arm.h:2514 -#, c-format -msgid "ERROR: %s uses Maverick instructions, whereas %s does not" +#: elf32-arm.h:2473 +msgid "ERROR: %B uses Maverick instructions, whereas %B does not" msgstr "" -#: elf32-arm.h:2519 -#, c-format -msgid "ERROR: %s does not use Maverick instructions, whereas %s does" +#: elf32-arm.h:2477 +msgid "ERROR: %B does not use Maverick instructions, whereas %B does" msgstr "" -#: elf32-arm.h:2539 -#, c-format -msgid "ERROR: %s uses software FP, whereas %s uses hardware FP" +#: elf32-arm.h:2496 +msgid "ERROR: %B uses software FP, whereas %B uses hardware FP" msgstr "" -#: elf32-arm.h:2544 -#, c-format -msgid "ERROR: %s uses hardware FP, whereas %s uses software FP" +#: elf32-arm.h:2500 +msgid "ERROR: %B uses hardware FP, whereas %B uses software FP" msgstr "" #. Ignore init flag - it may not be set, despite the flags field #. containing valid data. #. Ignore init flag - it may not be set, despite the flags field containing valid data. -#: elf32-arm.h:2597 elf32-cris.c:2980 elf32-m68hc1x.c:1338 elf32-m68k.c:397 -#: elf32-vax.c:546 elfxx-mips.c:9168 +#: elf32-arm.h:2547 elf32-cris.c:2967 elf32-m68hc1x.c:1333 elf32-m68k.c:397 +#: elf32-vax.c:546 elfxx-mips.c:9099 #, c-format msgid "private flags = %lx:" msgstr "" -#: elf32-arm.h:2606 +#: elf32-arm.h:2556 #, c-format msgid " [interworking enabled]" msgstr "" -#: elf32-arm.h:2614 +#: elf32-arm.h:2564 #, c-format msgid " [VFP float format]" msgstr "" -#: elf32-arm.h:2616 +#: elf32-arm.h:2566 #, c-format msgid " [Maverick float format]" msgstr "" -#: elf32-arm.h:2618 +#: elf32-arm.h:2568 #, c-format msgid " [FPA float format]" msgstr "" -#: elf32-arm.h:2627 +#: elf32-arm.h:2577 #, c-format msgid " [new ABI]" msgstr "" -#: elf32-arm.h:2630 +#: elf32-arm.h:2580 #, c-format msgid " [old ABI]" msgstr "" -#: elf32-arm.h:2633 +#: elf32-arm.h:2583 #, c-format msgid " [software FP]" msgstr "" -#: elf32-arm.h:2642 +#: elf32-arm.h:2592 #, c-format msgid " [Version1 EABI]" msgstr "" -#: elf32-arm.h:2645 elf32-arm.h:2656 +#: elf32-arm.h:2595 elf32-arm.h:2606 #, c-format msgid " [sorted symbol table]" msgstr "" -#: elf32-arm.h:2647 elf32-arm.h:2658 +#: elf32-arm.h:2597 elf32-arm.h:2608 #, c-format msgid " [unsorted symbol table]" msgstr "" -#: elf32-arm.h:2653 +#: elf32-arm.h:2603 #, c-format msgid " [Version2 EABI]" msgstr "" -#: elf32-arm.h:2661 +#: elf32-arm.h:2611 #, c-format msgid " [dynamic symbols use segment index]" msgstr "" -#: elf32-arm.h:2664 +#: elf32-arm.h:2614 #, c-format msgid " [mapping symbols precede others]" msgstr "" -#: elf32-arm.h:2671 +#: elf32-arm.h:2621 #, c-format msgid " [Version3 EABI]" msgstr "" -#: elf32-arm.h:2674 +#: elf32-arm.h:2624 #, c-format msgid " [BE8]" msgstr "" -#: elf32-arm.h:2677 +#: elf32-arm.h:2627 #, c-format msgid " [LE8]" msgstr "" -#: elf32-arm.h:2683 +#: elf32-arm.h:2633 #, c-format msgid " " msgstr "" -#: elf32-arm.h:2690 +#: elf32-arm.h:2640 #, c-format msgid " [relocatable executable]" msgstr "" -#: elf32-arm.h:2693 +#: elf32-arm.h:2643 #, c-format msgid " [has entry point]" msgstr "" -#: elf32-arm.h:2698 +#: elf32-arm.h:2648 #, c-format msgid "" msgstr "" -#: elf32-avr.c:799 elf32-cris.c:1384 elf32-fr30.c:607 elf32-frv.c:2507 -#: elf32-i860.c:1204 elf32-ip2k.c:1579 elf32-iq2000.c:674 elf32-msp430.c:497 -#: elf32-openrisc.c:423 elf32-v850.c:1754 elf32-xstormy16.c:962 -#: elf64-mmix.c:1526 +#: elf32-avr.c:799 elf32-cris.c:1379 elf32-fr30.c:607 elf32-frv.c:2565 +#: elf32-i860.c:1204 elf32-ip2k.c:1569 elf32-iq2000.c:674 elf32-msp430.c:510 +#: elf32-openrisc.c:423 elf32-v850.c:1753 elf32-xstormy16.c:956 +#: elf64-mmix.c:1525 msgid "internal error: dangerous relocation" msgstr "" -#: elf32-cris.c:921 -#, c-format -msgid "%s: unresolvable relocation %s against symbol `%s' from %s section" +#: elf32-cris.c:920 +msgid "%B(%A): unresolvable relocation %s against symbol `%s'" msgstr "" -#: elf32-cris.c:978 -#, c-format -msgid "" -"%s: No PLT nor GOT for relocation %s against symbol `%s' from %s section" +#: elf32-cris.c:975 +msgid "%B(%A): No PLT nor GOT for relocation %s against symbol `%s'" msgstr "" -#: elf32-cris.c:980 -#, c-format -msgid "%s: No PLT for relocation %s against symbol `%s' from %s section" +#: elf32-cris.c:977 +msgid "%B(%A): No PLT for relocation %s against symbol `%s'" msgstr "" -#: elf32-cris.c:984 elf32-cris.c:1117 +#: elf32-cris.c:983 elf32-cris.c:1115 msgid "[whose name is lost]" msgstr "" -#: elf32-cris.c:1106 -#, c-format -msgid "" -"%s: relocation %s with non-zero addend %d against local symbol from %s " -"section" +#: elf32-cris.c:1101 +msgid "%B(%A): relocation %s with non-zero addend %d against local symbol" msgstr "" -#: elf32-cris.c:1113 -#, c-format -msgid "" -"%s: relocation %s with non-zero addend %d against symbol `%s' from %s section" +#: elf32-cris.c:1109 +msgid "%B(%A): relocation %s with non-zero addend %d against symbol `%s'" msgstr "" -#: elf32-cris.c:1138 -#, c-format -msgid "" -"%s: relocation %s is not allowed for global symbol: `%s' from %s section" +#: elf32-cris.c:1135 +msgid "%B(%A): relocation %s is not allowed for global symbol: `%s'" msgstr "" -#: elf32-cris.c:1153 -#, c-format -msgid "%s: relocation %s in section %s with no GOT created" +#: elf32-cris.c:1150 +msgid "%B: relocation %s in section %A with no GOT created" msgstr "" -#: elf32-cris.c:1272 -#, c-format -msgid "%s: Internal inconsistency; no relocation section %s" +#: elf32-cris.c:1268 +msgid "%B: Internal inconsistency; no relocation section %s" msgstr "" -#: elf32-cris.c:2502 -#, c-format +#: elf32-cris.c:2489 msgid "" -"%s, section %s:\n" +"%B, section %A:\n" " relocation %s should not be used in a shared object; recompile with -fPIC" msgstr "" -#: elf32-cris.c:2983 +#: elf32-cris.c:2970 #, c-format msgid " [symbols have a _ prefix]" msgstr "" -#: elf32-cris.c:3022 -#, c-format -msgid "%s: uses _-prefixed symbols, but writing file with non-prefixed symbols" +#: elf32-cris.c:3009 +msgid "%B: uses _-prefixed symbols, but writing file with non-prefixed symbols" msgstr "" -#: elf32-cris.c:3023 -#, c-format -msgid "%s: uses non-prefixed symbols, but writing file with _-prefixed symbols" +#: elf32-cris.c:3010 +msgid "%B: uses non-prefixed symbols, but writing file with _-prefixed symbols" msgstr "" -#: elf32-frv.c:2013 -msgid "Dynamic relocation references symbol with nonzero addend" +#: elf32-frv.c:2045 +msgid "%B: relocation at `%A+0x%x' references symbol `%s' with nonzero addend" msgstr "" -#: elf32-frv.c:2026 +#: elf32-frv.c:2059 msgid "relocation references symbol not defined in the module" msgstr "" -#: elf32-frv.c:2120 +#: elf32-frv.c:2155 msgid "R_FRV_FUNCDESC references dynamic symbol with nonzero addend" msgstr "" -#: elf32-frv.c:2158 elf32-frv.c:2257 +#: elf32-frv.c:2194 elf32-frv.c:2307 msgid "cannot emit fixups in read-only section" msgstr "" -#: elf32-frv.c:2181 elf32-frv.c:2294 +#: elf32-frv.c:2220 elf32-frv.c:2347 msgid "cannot emit dynamic relocations in read-only section" msgstr "" -#: elf32-frv.c:2216 +#: elf32-frv.c:2265 msgid "R_FRV_FUNCDESC_VALUE references dynamic symbol with nonzero addend" msgstr "" -#: elf32-frv.c:2386 +#: elf32-frv.c:2444 msgid "relocations between different segments are not supported" msgstr "" -#: elf32-frv.c:2387 +#: elf32-frv.c:2445 msgid "warning: relocation references a different segment" msgstr "" -#: elf32-frv.c:4390 +#: elf32-frv.c:4236 +msgid "%B: unsupported relocation type %i" +msgstr "" + +#: elf32-frv.c:4554 #, c-format msgid "" "%s: compiled with %s and linked with modules that use non-pic relocations" msgstr "" -#: elf32-frv.c:4443 elf32-iq2000.c:862 +#: elf32-frv.c:4607 elf32-iq2000.c:862 #, c-format msgid "%s: compiled with %s and linked with modules compiled with %s" msgstr "" -#: elf32-frv.c:4455 +#: elf32-frv.c:4619 #, c-format msgid "" "%s: uses different unknown e_flags (0x%lx) fields than previous modules (0x%" "lx)" msgstr "" -#: elf32-frv.c:4491 elf32-iq2000.c:900 +#: elf32-frv.c:4640 #, c-format -msgid "private flags = 0x%lx:" +msgid "%s: cannot link non-fdpic object file into fdpic executable" msgstr "" -#: elf32-gen.c:83 elf64-gen.c:83 +#: elf32-frv.c:4644 #, c-format -msgid "%s: Relocations in generic ELF (EM: %d)" +msgid "%s: cannot link fdpic object file into non-fdpic executable" msgstr "" -#: elf32-hppa.c:542 elf32-m68hc1x.c:161 elf64-ppc.c:3188 +#: elf32-frv.c:4669 elf32-iq2000.c:900 #, c-format -msgid "%s: cannot create stub entry %s" +msgid "private flags = 0x%lx:" msgstr "" -#: elf32-hppa.c:795 elf32-hppa.c:3315 -#, c-format -msgid "%s(%s+0x%lx): cannot reach %s, recompile with -ffunction-sections" +#: elf32-gen.c:83 elf64-gen.c:83 +msgid "%B: Relocations in generic ELF (EM: %d)" msgstr "" -#: elf32-hppa.c:1167 elf64-x86-64.c:665 elf64-x86-64.c:790 -#, c-format +#: elf32-hppa.c:542 elf32-m68hc1x.c:161 elf64-ppc.c:3635 +msgid "%B: cannot create stub entry %s" +msgstr "" + +#: elf32-hppa.c:795 elf32-hppa.c:3317 +msgid "%B(%A+0x%lx): cannot reach %s, recompile with -ffunction-sections" +msgstr "" + +#: elf32-hppa.c:1176 msgid "" -"%s: relocation %s can not be used when making a shared object; recompile " +"%B: relocation %s can not be used when making a shared object; recompile " "with -fPIC" msgstr "" -#: elf32-hppa.c:1187 -#, c-format +#: elf32-hppa.c:1196 msgid "" -"%s: relocation %s should not be used when making a shared object; recompile " +"%B: relocation %s should not be used when making a shared object; recompile " "with -fPIC" msgstr "" -#: elf32-hppa.c:1377 +#: elf32-hppa.c:1384 #, c-format msgid "Could not find relocation section for %s" msgstr "" -#: elf32-hppa.c:2572 -#, c-format -msgid "%s: duplicate export stub %s" +#: elf32-hppa.c:2573 +msgid "%B: duplicate export stub %s" msgstr "" -#: elf32-hppa.c:3162 -#, c-format +#: elf32-hppa.c:3164 msgid "" -"%s(%s+0x%lx): %s fixup for insn 0x%x is not supported in a non-shared link" +"%B(%A+0x%lx): %s fixup for insn 0x%x is not supported in a non-shared link" msgstr "" -#: elf32-hppa.c:3192 -#, c-format -msgid "%s(%s+0x%lx): fixing %s" +#: elf32-hppa.c:3194 +msgid "%B(%A+0x%lx): fixing %s" msgstr "" -#: elf32-hppa.c:3810 -#, c-format -msgid "%s(%s+0x%lx): cannot handle %s for %s" +#: elf32-hppa.c:3809 +msgid "%B(%A+0x%lx): cannot handle %s for %s" msgstr "" -#: elf32-hppa.c:4103 +#: elf32-hppa.c:4102 msgid ".got section not immediately after .plt section" msgstr "" #: elf32-i386.c:326 -#, c-format -msgid "%s: invalid relocation type %d" +msgid "%B: invalid relocation type %d" msgstr "" -#: elf32-i386.c:864 elf32-s390.c:983 elf32-sparc.c:916 elf32-xtensa.c:641 -#: elf64-s390.c:936 elf64-x86-64.c:643 -#, c-format -msgid "%s: bad symbol index: %d" +#: elf32-i386.c:865 elf32-s390.c:984 elf32-sparc.c:916 elf32-xtensa.c:644 +#: elf64-s390.c:937 elf64-x86-64.c:645 +msgid "%B: bad symbol index: %d" msgstr "" -#: elf32-i386.c:972 elf32-s390.c:1161 elf32-sh.c:6590 elf32-sparc.c:1040 -#: elf64-s390.c:1122 -#, c-format -msgid "%s: `%s' accessed both as normal and thread local symbol" +#: elf32-i386.c:973 elf32-s390.c:1161 elf32-sh.c:6568 elf32-sparc.c:1039 +#: elf64-s390.c:1123 +msgid "%B: `%s' accessed both as normal and thread local symbol" msgstr "" -#: elf32-i386.c:1089 elf32-s390.c:1272 elf64-ppc.c:4036 elf64-s390.c:1236 -#: elf64-x86-64.c:879 -#, c-format -msgid "%s: bad relocation section name `%s'" +#: elf32-i386.c:1088 elf32-s390.c:1270 elf64-ppc.c:4616 elf64-s390.c:1235 +#: elf64-x86-64.c:881 +msgid "%B: bad relocation section name `%s'" msgstr "" -#: elf32-i386.c:2889 elf32-m68k.c:1709 elf32-s390.c:2996 elf32-sparc.c:2857 -#: elf32-xtensa.c:2106 elf64-s390.c:2992 elf64-sparc.c:2620 -#: elf64-x86-64.c:2389 -#, c-format -msgid "%s(%s+0x%lx): unresolvable relocation against symbol `%s'" +#: elf32-i386.c:2040 +msgid "%B: unrecognized relocation (0x%x) in section `%A'" msgstr "" -#: elf32-i386.c:2928 elf32-m68k.c:1748 elf32-s390.c:3046 elf64-s390.c:3042 -#: elf64-x86-64.c:2427 -#, c-format -msgid "%s(%s+0x%lx): reloc against `%s': error %d" +#: elf32-i386.c:2912 elf32-m68k.c:1702 elf32-s390.c:2989 elf32-sparc.c:2845 +#: elf32-xtensa.c:2105 elf64-s390.c:2986 elf64-sparc.c:2615 +#: elf64-x86-64.c:2403 +msgid "%B(%A+0x%lx): unresolvable relocation against symbol `%s'" +msgstr "" + +#: elf32-i386.c:2951 elf32-m68k.c:1741 elf32-s390.c:3039 elf64-s390.c:3036 +#: elf64-x86-64.c:2446 +msgid "%B(%A+0x%lx): reloc against `%s': error %d" msgstr "" #: elf32-ip2k.c:565 elf32-ip2k.c:571 elf32-ip2k.c:734 elf32-ip2k.c:740 @@ -1058,155 +1029,151 @@ msgstr "" msgid "ip2k relaxer: switch table header corrupt." msgstr "" -#: elf32-ip2k.c:1395 +#: elf32-ip2k.c:1385 #, c-format msgid "ip2k linker: missing page instruction at 0x%08lx (dest = 0x%08lx)." msgstr "" -#: elf32-ip2k.c:1409 +#: elf32-ip2k.c:1399 #, c-format msgid "ip2k linker: redundant page instruction at 0x%08lx (dest = 0x%08lx)." msgstr "" #. Only if it's not an unresolved symbol. -#: elf32-ip2k.c:1575 +#: elf32-ip2k.c:1565 msgid "unsupported relocation between data/insn address spaces" msgstr "" -#: elf32-iq2000.c:874 elf32-m68hc1x.c:1312 elf32-ppc.c:2293 elf64-sparc.c:3028 -#: elfxx-mips.c:9129 +#: elf32-iq2000.c:874 #, c-format msgid "%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)" msgstr "" -#: elf32-m32r.c:1487 +#: elf32-m32r.c:1532 msgid "SDA relocation when _SDA_BASE_ not defined" msgstr "" -#: elf32-m32r.c:2564 elf64-alpha.c:4199 elf64-alpha.c:4325 elf32-ia64.c:3921 -#: elf64-ia64.c:3921 -#, c-format -msgid "%s: unknown relocation type %d" +#: elf32-m32r.c:2606 elf64-alpha.c:4179 elf64-alpha.c:4305 elf32-ia64.c:3905 +#: elf64-ia64.c:3905 +msgid "%B: unknown relocation type %d" msgstr "" -#: elf32-m32r.c:2753 elf64-sh64.c:1689 elf-hppa.h:1406 elf-hppa.h:1433 -#: elf-hppa.h:1449 elf-m10300.c:1631 +#: elf32-m32r.c:2791 elf64-sh64.c:1685 elf-m10300.c:1481 #, c-format msgid "" "%s: warning: unresolvable relocation against symbol `%s' from %s section" msgstr "" -#: elf32-m32r.c:3128 -#, c-format -msgid "%s: The target (%s) of an %s relocation is in the wrong section (%s)" +#: elf32-m32r.c:3189 +msgid "%B: The target (%s) of an %s relocation is in the wrong section (%A)" msgstr "" -#: elf32-m32r.c:4211 -#, c-format -msgid "%s: Instruction set mismatch with previous modules" +#: elf32-m32r.c:4256 +msgid "%B: Instruction set mismatch with previous modules" msgstr "" -#: elf32-m32r.c:4234 +#: elf32-m32r.c:4278 #, c-format msgid "private flags = %lx" msgstr "" -#: elf32-m32r.c:4239 +#: elf32-m32r.c:4283 #, c-format msgid ": m32r instructions" msgstr "" -#: elf32-m32r.c:4240 +#: elf32-m32r.c:4284 #, c-format msgid ": m32rx instructions" msgstr "" -#: elf32-m32r.c:4241 +#: elf32-m32r.c:4285 #, c-format msgid ": m32r2 instructions" msgstr "" -#: elf32-m68hc1x.c:1102 +#: elf32-m68hc1x.c:1101 #, c-format msgid "" "Reference to the far symbol `%s' using a wrong relocation may result in " "incorrect execution" msgstr "" -#: elf32-m68hc1x.c:1125 +#: elf32-m68hc1x.c:1124 #, c-format msgid "" "banked address [%lx:%04lx] (%lx) is not in the same bank as current banked " "address [%lx:%04lx] (%lx)" msgstr "" -#: elf32-m68hc1x.c:1144 +#: elf32-m68hc1x.c:1143 #, c-format msgid "" "reference to a banked address [%lx:%04lx] in the normal address space at %" "04lx" msgstr "" -#: elf32-m68hc1x.c:1277 -#, c-format +#: elf32-m68hc1x.c:1276 msgid "" -"%s: linking files compiled for 16-bit integers (-mshort) and others for 32-" +"%B: linking files compiled for 16-bit integers (-mshort) and others for 32-" "bit integers" msgstr "" -#: elf32-m68hc1x.c:1285 -#, c-format +#: elf32-m68hc1x.c:1283 msgid "" -"%s: linking files compiled for 32-bit double (-fshort-double) and others for " +"%B: linking files compiled for 32-bit double (-fshort-double) and others for " "64-bit double" msgstr "" -#: elf32-m68hc1x.c:1295 -#, c-format -msgid "%s: linking files compiled for HCS12 with others compiled for HC12" +#: elf32-m68hc1x.c:1292 +msgid "%B: linking files compiled for HCS12 with others compiled for HC12" msgstr "" -#: elf32-m68hc1x.c:1341 +#: elf32-m68hc1x.c:1308 elf32-ppc.c:2321 elf64-sparc.c:3016 elfxx-mips.c:9060 +msgid "%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)" +msgstr "" + +#: elf32-m68hc1x.c:1336 #, c-format msgid "[abi=32-bit int, " msgstr "" -#: elf32-m68hc1x.c:1343 +#: elf32-m68hc1x.c:1338 #, c-format msgid "[abi=16-bit int, " msgstr "" -#: elf32-m68hc1x.c:1346 +#: elf32-m68hc1x.c:1341 #, c-format msgid "64-bit double, " msgstr "" -#: elf32-m68hc1x.c:1348 +#: elf32-m68hc1x.c:1343 #, c-format msgid "32-bit double, " msgstr "" -#: elf32-m68hc1x.c:1351 +#: elf32-m68hc1x.c:1346 #, c-format msgid "cpu=HC11]" msgstr "" -#: elf32-m68hc1x.c:1353 +#: elf32-m68hc1x.c:1348 #, c-format msgid "cpu=HCS12]" msgstr "" -#: elf32-m68hc1x.c:1355 +#: elf32-m68hc1x.c:1350 #, c-format msgid "cpu=HC12]" msgstr "" -#: elf32-m68hc1x.c:1358 +#: elf32-m68hc1x.c:1353 #, c-format msgid " [memory=bank-model]" msgstr "" -#: elf32-m68hc1x.c:1360 +#: elf32-m68hc1x.c:1355 #, c-format msgid " [memory=flat]" msgstr "" @@ -1221,320 +1188,299 @@ msgstr "" msgid " [m68000]" msgstr "" -#: elf32-mcore.c:353 elf32-mcore.c:456 -#, c-format -msgid "%s: Relocation %s (%d) is not currently supported.\n" +#: elf32-mcore.c:353 elf32-mcore.c:455 +msgid "%B: Relocation %s (%d) is not currently supported.\n" msgstr "" #: elf32-mcore.c:441 -#, c-format -msgid "%s: Unknown relocation type %d\n" +msgid "%B: Unknown relocation type %d\n" msgstr "" -#: elf32-mips.c:968 elf64-mips.c:1693 elfn32-mips.c:1488 +#: elf32-mips.c:922 elf64-mips.c:1693 elfn32-mips.c:1488 #, c-format msgid "Linking mips16 objects into %s format is not supported" msgstr "" -#: elf32-ppc.c:2174 +#: elf32-ppc.c:2204 #, c-format msgid "generic linker can't handle %s" msgstr "" -#: elf32-ppc.c:2256 -#, c-format +#: elf32-ppc.c:2286 msgid "" -"%s: compiled with -mrelocatable and linked with modules compiled normally" +"%B: compiled with -mrelocatable and linked with modules compiled normally" msgstr "" -#: elf32-ppc.c:2265 -#, c-format +#: elf32-ppc.c:2294 msgid "" -"%s: compiled normally and linked with modules compiled with -mrelocatable" +"%B: compiled normally and linked with modules compiled with -mrelocatable" msgstr "" -#: elf32-ppc.c:3534 -#, c-format -msgid "%s: relocation %s cannot be used when making a shared object" +#: elf32-ppc.c:3558 +msgid "%B: relocation %s cannot be used when making a shared object" msgstr "" -#: elf32-ppc.c:3740 -#, c-format -msgid "%s(%s+0x%lx): %s reloc against local symbol" +#. It does not make sense to have a procedure linkage +#. table entry for a local symbol. +#: elf32-ppc.c:3763 +msgid "%B(%A+0x%lx): %s reloc against local symbol" msgstr "" -#: elf32-ppc.c:4945 elf64-ppc.c:8022 -#, c-format -msgid "%s: unknown relocation type %d for symbol %s" +#: elf32-ppc.c:4964 elf64-ppc.c:9259 +msgid "%B: unknown relocation type %d for symbol %s" msgstr "" -#: elf32-ppc.c:5196 -#, c-format -msgid "%s(%s+0x%lx): non-zero addend on %s reloc against `%s'" +#: elf32-ppc.c:5213 +msgid "%B(%A+0x%lx): non-zero addend on %s reloc against `%s'" msgstr "" -#: elf32-ppc.c:5507 elf32-ppc.c:5533 elf32-ppc.c:5592 -#, c-format +#: elf32-ppc.c:5524 elf32-ppc.c:5550 elf32-ppc.c:5609 msgid "" -"%s: the target (%s) of a %s relocation is in the wrong output section (%s)" +"%B: the target (%s) of a %s relocation is in the wrong output section (%s)" msgstr "" -#: elf32-ppc.c:5647 -#, c-format -msgid "%s: relocation %s is not yet supported for symbol %s." +#: elf32-ppc.c:5664 +msgid "%B: relocation %s is not yet supported for symbol %s." msgstr "" -#: elf32-ppc.c:5702 elf64-ppc.c:8694 -#, c-format -msgid "%s(%s+0x%lx): unresolvable %s relocation against symbol `%s'" +#: elf32-ppc.c:5719 elf64-ppc.c:9898 +msgid "%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'" msgstr "" -#: elf32-ppc.c:5752 elf64-ppc.c:8740 -#, c-format -msgid "%s(%s+0x%lx): %s reloc against `%s': error %d" +#: elf32-ppc.c:5769 elf64-ppc.c:9944 +msgid "%B(%A+0x%lx): %s reloc against `%s': error %d" msgstr "" -#: elf32-ppc.c:5996 -#, c-format -msgid "corrupt or empty %s section in %s" +#: elf32-ppc.c:6012 +msgid "corrupt or empty %s section in %B" msgstr "" -#: elf32-ppc.c:6003 -#, c-format -msgid "unable to read in %s section from %s" +#: elf32-ppc.c:6019 +msgid "unable to read in %s section from %B" msgstr "" -#: elf32-ppc.c:6009 -#, c-format -msgid "corrupt %s section in %s" +#: elf32-ppc.c:6025 +msgid "corrupt %s section in %B" msgstr "" -#: elf32-ppc.c:6052 -#, c-format -msgid "warning: unable to set size of %s section in %s" +#: elf32-ppc.c:6068 +msgid "warning: unable to set size of %s section in %B" msgstr "" -#: elf32-ppc.c:6102 +#: elf32-ppc.c:6117 msgid "failed to allocate space for new APUinfo section." msgstr "" -#: elf32-ppc.c:6121 +#: elf32-ppc.c:6136 msgid "failed to compute new APUinfo section." msgstr "" -#: elf32-ppc.c:6124 +#: elf32-ppc.c:6139 msgid "failed to install new APUinfo section." msgstr "" -#: elf32-s390.c:2234 elf64-s390.c:2204 -#, c-format -msgid "%s(%s+0x%lx): invalid instruction for TLS relocation %s" +#: elf32-s390.c:2230 elf64-s390.c:2201 +msgid "%B(%A+0x%lx): invalid instruction for TLS relocation %s" msgstr "" -#: elf32-sh64.c:215 elf64-sh64.c:2383 +#: elf32-sh64.c:217 elf64-sh64.c:2377 #, c-format msgid "%s: compiled as 32-bit object and %s is 64-bit" msgstr "" -#: elf32-sh64.c:218 elf64-sh64.c:2386 +#: elf32-sh64.c:220 elf64-sh64.c:2380 #, c-format msgid "%s: compiled as 64-bit object and %s is 32-bit" msgstr "" -#: elf32-sh64.c:220 elf64-sh64.c:2388 +#: elf32-sh64.c:222 elf64-sh64.c:2382 #, c-format msgid "%s: object size does not match that of target %s" msgstr "" -#: elf32-sh64.c:442 elf64-sh64.c:2955 +#: elf32-sh64.c:444 elf64-sh64.c:2948 #, c-format msgid "%s: encountered datalabel symbol in input" msgstr "" -#: elf32-sh64.c:519 +#: elf32-sh64.c:521 msgid "PTB mismatch: a SHmedia address (bit 0 == 1)" msgstr "" -#: elf32-sh64.c:522 +#: elf32-sh64.c:524 msgid "PTA mismatch: a SHcompact address (bit 0 == 0)" msgstr "" -#: elf32-sh64.c:540 +#: elf32-sh64.c:542 #, c-format msgid "%s: GAS error: unexpected PTB insn with R_SH_PT_16" msgstr "" -#: elf32-sh64.c:589 elf64-sh64.c:1736 +#: elf32-sh64.c:591 elf64-sh64.c:1732 #, c-format msgid "%s: error: unaligned relocation type %d at %08x reloc %08x\n" msgstr "" -#: elf32-sh64.c:670 +#: elf32-sh64.c:667 #, c-format msgid "%s: could not write out added .cranges entries" msgstr "" -#: elf32-sh64.c:732 +#: elf32-sh64.c:727 #, c-format msgid "%s: could not write out sorted .cranges entries" msgstr "" -#: elf32-sh.c:2252 -#, c-format -msgid "%s: 0x%lx: warning: bad R_SH_USES offset" +#: elf32-sh.c:2245 +msgid "%B: 0x%lx: warning: bad R_SH_USES offset" msgstr "" -#: elf32-sh.c:2264 -#, c-format -msgid "%s: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x" +#: elf32-sh.c:2257 +msgid "%B: 0x%lx: warning: R_SH_USES points to unrecognized insn 0x%x" msgstr "" -#: elf32-sh.c:2281 -#, c-format -msgid "%s: 0x%lx: warning: bad R_SH_USES load offset" +#: elf32-sh.c:2274 +msgid "%B: 0x%lx: warning: bad R_SH_USES load offset" msgstr "" -#: elf32-sh.c:2296 -#, c-format -msgid "%s: 0x%lx: warning: could not find expected reloc" +#: elf32-sh.c:2289 +msgid "%B: 0x%lx: warning: could not find expected reloc" msgstr "" -#: elf32-sh.c:2324 -#, c-format -msgid "%s: 0x%lx: warning: symbol in unexpected section" +#: elf32-sh.c:2317 +msgid "%B: 0x%lx: warning: symbol in unexpected section" msgstr "" -#: elf32-sh.c:2449 -#, c-format -msgid "%s: 0x%lx: warning: could not find expected COUNT reloc" +#: elf32-sh.c:2442 +msgid "%B: 0x%lx: warning: could not find expected COUNT reloc" msgstr "" -#: elf32-sh.c:2458 -#, c-format -msgid "%s: 0x%lx: warning: bad count" +#: elf32-sh.c:2451 +msgid "%B: 0x%lx: warning: bad count" msgstr "" -#: elf32-sh.c:2858 elf32-sh.c:3227 -#, c-format -msgid "%s: 0x%lx: fatal: reloc overflow while relaxing" +#: elf32-sh.c:2846 elf32-sh.c:3216 +msgid "%B: 0x%lx: fatal: reloc overflow while relaxing" msgstr "" -#: elf32-sh.c:4756 elf64-sh64.c:1568 +#: elf32-sh.c:4741 elf64-sh64.c:1568 msgid "Unexpected STO_SH5_ISA32 on local symbol is not handled" msgstr "" -#: elf32-sh.c:4913 -#, c-format -msgid "%s: unresolvable relocation against symbol `%s' from %s section" +#: elf32-sh.c:4892 +msgid "%B(%A): unresolvable relocation against symbol `%s'" msgstr "" -#: elf32-sh.c:4984 -#, c-format -msgid "%s: 0x%lx: fatal: unaligned branch target for relax-support relocation" +#: elf32-sh.c:4962 +msgid "%B: 0x%lx: fatal: unaligned branch target for relax-support relocation" msgstr "" -#: elf32-sh.c:5017 elf32-sh.c:5032 -#, c-format -msgid "%s: 0x%lx: fatal: unaligned %s relocation 0x%lx" +#: elf32-sh.c:4995 elf32-sh.c:5010 +msgid "%B: 0x%lx: fatal: unaligned %s relocation 0x%lx" msgstr "" -#: elf32-sh.c:5046 -#, c-format -msgid "%s: 0x%lx: fatal: R_SH_PSHA relocation %d not in range -32..32" +#: elf32-sh.c:5024 +msgid "%B: 0x%lx: fatal: R_SH_PSHA relocation %d not in range -32..32" msgstr "" -#: elf32-sh.c:5060 -#, c-format -msgid "%s: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32" +#: elf32-sh.c:5038 +msgid "%B: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32" msgstr "" -#: elf32-sh.c:6802 elf64-alpha.c:4744 -#, c-format -msgid "%s: TLS local exec code cannot be linked into shared objects" +#: elf32-sh.c:6779 elf64-alpha.c:4723 +msgid "%B: TLS local exec code cannot be linked into shared objects" msgstr "" -#: elf32-sparc.c:2499 elf64-sparc.c:2270 -#, c-format -msgid "%s: probably compiled without -fPIC?" +#: elf32-sh-symbian.c:128 +msgid "%B: IMPORT AS directive for %s conceals previous IMPORT AS" msgstr "" -#: elf32-sparc.c:3325 -#, c-format -msgid "%s: compiled for a 64 bit system and target is 32 bit" +#: elf32-sh-symbian.c:380 +msgid "%B: Unrecognised .directive command: %s" msgstr "" -#: elf32-sparc.c:3339 -#, c-format -msgid "%s: linking little endian files with big endian files" +#: elf32-sh-symbian.c:498 +msgid "%B: Failed to add renamed symbol %s" +msgstr "" + +#: elf32-sparc.c:2487 elf64-sparc.c:2271 +msgid "%B: probably compiled without -fPIC?" msgstr "" -#: elf32-v850.c:753 +#: elf32-sparc.c:3309 +msgid "%B: compiled for a 64 bit system and target is 32 bit" +msgstr "" + +#: elf32-sparc.c:3322 +msgid "%B: linking little endian files with big endian files" +msgstr "" + +#: elf32-v850.c:752 #, c-format msgid "Variable `%s' cannot occupy in multiple small data regions" msgstr "" -#: elf32-v850.c:756 +#: elf32-v850.c:755 #, c-format msgid "" "Variable `%s' can only be in one of the small, zero, and tiny data regions" msgstr "" -#: elf32-v850.c:759 +#: elf32-v850.c:758 #, c-format msgid "" "Variable `%s' cannot be in both small and zero data regions simultaneously" msgstr "" -#: elf32-v850.c:762 +#: elf32-v850.c:761 #, c-format msgid "" "Variable `%s' cannot be in both small and tiny data regions simultaneously" msgstr "" -#: elf32-v850.c:765 +#: elf32-v850.c:764 #, c-format msgid "" "Variable `%s' cannot be in both zero and tiny data regions simultaneously" msgstr "" -#: elf32-v850.c:1144 +#: elf32-v850.c:1143 #, c-format msgid "FAILED to find previous HI16 reloc\n" msgstr "" -#: elf32-v850.c:1758 +#: elf32-v850.c:1757 msgid "could not locate special linker symbol __gp" msgstr "" -#: elf32-v850.c:1762 +#: elf32-v850.c:1761 msgid "could not locate special linker symbol __ep" msgstr "" -#: elf32-v850.c:1766 +#: elf32-v850.c:1765 msgid "could not locate special linker symbol __ctbp" msgstr "" -#: elf32-v850.c:1951 -#, c-format -msgid "%s: Architecture mismatch with previous modules" +#: elf32-v850.c:1950 +msgid "%B: Architecture mismatch with previous modules" msgstr "" -#: elf32-v850.c:1972 +#: elf32-v850.c:1971 #, c-format msgid "private flags = %lx: " msgstr "" -#: elf32-v850.c:1977 +#: elf32-v850.c:1976 #, c-format msgid "v850 architecture" msgstr "" -#: elf32-v850.c:1978 +#: elf32-v850.c:1977 #, c-format msgid "v850e architecture" msgstr "" -#: elf32-v850.c:1979 +#: elf32-v850.c:1978 #, c-format msgid "v850e1 architecture" msgstr "" @@ -1561,83 +1507,75 @@ msgid "" "%ld" msgstr "" -#: elf32-vax.c:1645 +#: elf32-vax.c:1637 #, c-format msgid "%s: warning: PLT addend of %d to `%s' from %s section ignored" msgstr "" -#: elf32-vax.c:1771 +#: elf32-vax.c:1761 #, c-format msgid "%s: warning: %s relocation against symbol `%s' from %s section" msgstr "" -#: elf32-vax.c:1777 +#: elf32-vax.c:1767 #, c-format msgid "%s: warning: %s relocation to 0x%x from %s section" msgstr "" -#: elf32-xstormy16.c:462 elf32-ia64.c:2418 elf64-ia64.c:2418 +#: elf32-xstormy16.c:462 elf32-ia64.c:2389 elf64-ia64.c:2389 msgid "non-zero addend in @fptr reloc" msgstr "" -#: elf32-xtensa.c:2051 +#: elf32-xtensa.c:2050 msgid "dynamic relocation in read-only section" msgstr "" -#: elf64-alpha.c:1067 +#: elf64-alpha.c:1069 msgid "GPDISP relocation did not find ldah and lda instructions" msgstr "" -#: elf64-alpha.c:3565 +#: elf64-alpha.c:3555 #, c-format msgid "Symbol %s has no GOT subsection for offset 0x%x" msgstr "" -#: elf64-alpha.c:3651 -#, c-format -msgid "%s: .got subsegment exceeds 64K (size %d)" +#: elf64-alpha.c:3640 +msgid "%B: .got subsegment exceeds 64K (size %d)" msgstr "" -#: elf64-alpha.c:4498 elf64-alpha.c:4510 -#, c-format -msgid "%s: gp-relative relocation against dynamic symbol %s" +#: elf64-alpha.c:4477 elf64-alpha.c:4489 +msgid "%B: gp-relative relocation against dynamic symbol %s" msgstr "" -#: elf64-alpha.c:4536 elf64-alpha.c:4669 -#, c-format -msgid "%s: pc-relative relocation against dynamic symbol %s" +#: elf64-alpha.c:4515 elf64-alpha.c:4648 +msgid "%B: pc-relative relocation against dynamic symbol %s" msgstr "" -#: elf64-alpha.c:4564 -#, c-format -msgid "%s: change in gp: BRSGP %s" +#: elf64-alpha.c:4543 +msgid "%B: change in gp: BRSGP %s" msgstr "" -#: elf64-alpha.c:4589 +#: elf64-alpha.c:4568 msgid "" msgstr "" -#: elf64-alpha.c:4594 -#, c-format -msgid "%s: !samegp reloc against symbol without .prologue: %s" +#: elf64-alpha.c:4573 +msgid "%B: !samegp reloc against symbol without .prologue: %s" msgstr "" -#: elf64-alpha.c:4645 -#, c-format -msgid "%s: unhandled dynamic relocation against %s" +#: elf64-alpha.c:4624 +msgid "%B: unhandled dynamic relocation against %s" msgstr "" -#: elf64-alpha.c:4728 -#, c-format -msgid "%s: dtp-relative relocation against dynamic symbol %s" +#: elf64-alpha.c:4707 +msgid "%B: dtp-relative relocation against dynamic symbol %s" msgstr "" -#: elf64-alpha.c:4751 -#, c-format -msgid "%s: tp-relative relocation against dynamic symbol %s" +#: elf64-alpha.c:4730 +msgid "%B: tp-relative relocation against dynamic symbol %s" msgstr "" -#: elf64-hppa.c:2083 +#: elf64-hppa.c:2084 #, c-format msgid "stub entry for %s cannot load .plt, dp offset = %ld" msgstr "" @@ -1646,7 +1584,7 @@ msgstr "" msgid "32bits gp relative relocation occurs for an external symbol" msgstr "" -#: elf64-mmix.c:1171 +#: elf64-mmix.c:1163 #, c-format msgid "" "%s: Internal inconsistency error for value for\n" @@ -1654,116 +1592,111 @@ msgid "" "08lx\n" msgstr "" -#: elf64-mmix.c:1603 +#: elf64-mmix.c:1602 #, c-format msgid "" "%s: base-plus-offset relocation against register symbol: (unknown) in %s" msgstr "" -#: elf64-mmix.c:1608 +#: elf64-mmix.c:1607 #, c-format msgid "%s: base-plus-offset relocation against register symbol: %s in %s" msgstr "" -#: elf64-mmix.c:1652 +#: elf64-mmix.c:1651 #, c-format msgid "%s: register relocation against non-register symbol: (unknown) in %s" msgstr "" -#: elf64-mmix.c:1657 +#: elf64-mmix.c:1656 #, c-format msgid "%s: register relocation against non-register symbol: %s in %s" msgstr "" -#: elf64-mmix.c:1694 +#: elf64-mmix.c:1693 #, c-format msgid "%s: directive LOCAL valid only with a register or absolute value" msgstr "" -#: elf64-mmix.c:1722 +#: elf64-mmix.c:1721 #, c-format msgid "" "%s: LOCAL directive: Register $%ld is not a local register. First global " "register is $%ld." msgstr "" -#: elf64-mmix.c:2202 +#: elf64-mmix.c:2201 #, c-format msgid "" "%s: Error: multiple definition of `%s'; start of %s is set in a earlier " "linked file\n" msgstr "" -#: elf64-mmix.c:2261 +#: elf64-mmix.c:2260 msgid "Register section has contents\n" msgstr "" -#: elf64-mmix.c:2467 +#: elf64-mmix.c:2453 #, c-format msgid "" "Internal inconsistency: remaining %u != max %u.\n" " Please report this bug." msgstr "" -#: elf64-ppc.c:2433 libbfd.c:821 -#, c-format -msgid "%s: compiled for a big endian system and target is little endian" +#: elf64-ppc.c:2487 libbfd.c:826 +msgid "%B: compiled for a big endian system and target is little endian" msgstr "" -#: elf64-ppc.c:2436 libbfd.c:823 -#, c-format -msgid "%s: compiled for a little endian system and target is big endian" +#: elf64-ppc.c:2490 libbfd.c:828 +msgid "%B: compiled for a little endian system and target is big endian" msgstr "" -#: elf64-ppc.c:4656 +#: elf64-ppc.c:5554 #, c-format msgid "" "copy reloc against `%s' requires lazy plt linking; avoid setting " "LD_BIND_NOW=1 or upgrade gcc" msgstr "" -#: elf64-ppc.c:5027 -#, c-format -msgid "%s: .opd is not a regular array of opd entries" +#: elf64-ppc.c:5954 +msgid "%B: .opd is not a regular array of opd entries" msgstr "" -#: elf64-ppc.c:5037 -#, c-format -msgid "%s: unexpected reloc type %u in .opd section" +#: elf64-ppc.c:5963 +msgid "%B: unexpected reloc type %u in .opd section" msgstr "" -#: elf64-ppc.c:5057 -#, c-format -msgid "%s: undefined sym `%s' in .opd section" +#: elf64-ppc.c:5983 +msgid "%B: undefined sym `%s' in .opd section" msgstr "" -#: elf64-ppc.c:6272 +#: elf64-ppc.c:7374 #, c-format msgid "can't find branch stub `%s'" msgstr "" -#: elf64-ppc.c:6311 elf64-ppc.c:6386 +#: elf64-ppc.c:7413 elf64-ppc.c:7489 #, c-format msgid "linkage table error against `%s'" msgstr "" -#: elf64-ppc.c:6503 +#: elf64-ppc.c:7618 #, c-format msgid "can't build branch stub `%s'" msgstr "" -#: elf64-ppc.c:7222 +#: elf64-ppc.c:8385 msgid ".glink and .plt too far apart" msgstr "" -#: elf64-ppc.c:7334 +#: elf64-ppc.c:8498 msgid "stubs don't match calculated size" msgstr "" -#: elf64-ppc.c:7346 +#: elf64-ppc.c:8510 #, c-format msgid "" -"linker stubs in %u groups\n" +"linker stubs in %u group%s\n" " branch %lu\n" " toc adjust %lu\n" " long branch %lu\n" @@ -1771,443 +1704,457 @@ msgid "" " plt call %lu" msgstr "" -#: elf64-ppc.c:7544 -#, c-format -msgid "%s(%s+0x%lx): %s used with TLS symbol %s" +#: elf64-ppc.c:8747 +msgid "%B(%A+0x%lx): %s used with TLS symbol %s" msgstr "" -#: elf64-ppc.c:7545 -#, c-format -msgid "%s(%s+0x%lx): %s used with non-TLS symbol %s" +#: elf64-ppc.c:8748 +msgid "%B(%A+0x%lx): %s used with non-TLS symbol %s" msgstr "" -#: elf64-ppc.c:7956 -#, c-format +#: elf64-ppc.c:9148 msgid "" -"%s(%s+0x%lx): automatic multiple TOCs not supported using your crt files; " +"%B(%A+0x%lx): automatic multiple TOCs not supported using your crt files; " "recompile with -mminimal-toc or upgrade gcc" msgstr "" -#: elf64-ppc.c:7964 -#, c-format +#: elf64-ppc.c:9156 msgid "" -"%s(%s+0x%lx): sibling call optimization to `%s' does not allow automatic " +"%B(%A+0x%lx): sibling call optimization to `%s' does not allow automatic " "multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, " "or make `%s' extern" msgstr "" -#: elf64-ppc.c:8562 -#, c-format -msgid "%s: relocation %s is not supported for symbol %s." +#: elf64-ppc.c:9800 +msgid "%B: relocation %s is not supported for symbol %s." msgstr "" -#: elf64-ppc.c:8641 -#, c-format -msgid "%s: error: relocation %s not a multiple of %d" +#: elf64-ppc.c:9879 +msgid "%B: error: relocation %s not a multiple of %d" msgstr "" #: elf64-sparc.c:1371 -#, c-format -msgid "%s: check_relocs: unhandled reloc type %d" +msgid "%B: check_relocs: unhandled reloc type %d" msgstr "" -#: elf64-sparc.c:1408 -#, c-format -msgid "%s: Only registers %%g[2367] can be declared using STT_REGISTER" +#: elf64-sparc.c:1407 +msgid "%B: Only registers %%g[2367] can be declared using STT_REGISTER" msgstr "" -#: elf64-sparc.c:1428 -#, c-format -msgid "Register %%g%d used incompatibly: %s in %s, previously %s in %s" +#: elf64-sparc.c:1427 +msgid "Register %%g%d used incompatibly: %s in %B, previously %s in %B" msgstr "" -#: elf64-sparc.c:1451 -#, c-format -msgid "Symbol `%s' has differing types: REGISTER in %s, previously %s in %s" +#: elf64-sparc.c:1450 +msgid "Symbol `%s' has differing types: REGISTER in %B, previously %s in %B" msgstr "" -#: elf64-sparc.c:1497 -#, c-format -msgid "Symbol `%s' has differing types: %s in %s, previously REGISTER in %s" +#: elf64-sparc.c:1495 +msgid "Symbol `%s' has differing types: %s in %B, previously REGISTER in %B" msgstr "" -#: elf64-sparc.c:3009 -#, c-format -msgid "%s: linking UltraSPARC specific with HAL specific code" +#: elf64-sparc.c:2997 +msgid "%B: linking UltraSPARC specific with HAL specific code" msgstr "" -#: elf64-x86-64.c:732 -#, c-format -msgid "%s: %s' accessed both as normal and thread local symbol" +#: elf64-x86-64.c:666 elf64-x86-64.c:791 elf64-x86-64.c:1952 +msgid "" +"%B: relocation %s against `%s' can not be used when making a shared object; " +"recompile with -fPIC" +msgstr "" + +#: elf64-x86-64.c:734 +msgid "%B: %s' accessed both as normal and thread local symbol" msgstr "" #: elf.c:295 -#, c-format -msgid "%s: invalid string offset %u >= %lu for section `%s'" +msgid "%B: invalid string offset %u >= %lu for section `%s'" msgstr "" #: elf.c:538 -#, c-format -msgid "%s: invalid SHT_GROUP entry" +msgid "%B: invalid SHT_GROUP entry" msgstr "" -#: elf.c:609 -#, c-format -msgid "%s: no group info for section %s" +#: elf.c:608 +msgid "%B: no group info for section %A" +msgstr "" + +#: elf.c:645 +msgid "%B: unknown [%d] section `%s' in group [%s]" msgstr "" -#: elf.c:952 +#: elf.c:1026 #, c-format msgid "" "\n" "Program Header:\n" msgstr "" -#: elf.c:1003 +#: elf.c:1078 #, c-format msgid "" "\n" "Dynamic Section:\n" msgstr "" -#: elf.c:1131 +#: elf.c:1203 #, c-format msgid "" "\n" "Version definitions:\n" msgstr "" -#: elf.c:1154 +#: elf.c:1226 #, c-format msgid "" "\n" "Version References:\n" msgstr "" -#: elf.c:1159 +#: elf.c:1231 #, c-format msgid " required from %s:\n" msgstr "" -#: elf.c:1826 -#, c-format -msgid "%s: invalid link %lu for reloc section %s (index %u)" +#: elf.c:1896 +msgid "%B: invalid link %lu for reloc section %s (index %u)" +msgstr "" + +#: elf.c:2889 +msgid "%B: warning: sh_link not set for section `%S'" msgstr "" -#: elf.c:3684 +#: elf.c:3869 #, c-format msgid "%s: Not enough room for program headers (allocated %u, need %u)" msgstr "" -#: elf.c:3791 +#: elf.c:3944 +#, c-format +msgid "" +"%s: The first section in the PT_DYNAMIC segment is not the .dynamic section" +msgstr "" + +#: elf.c:3988 #, c-format msgid "%s: Not enough room for program headers, try linking with -N" msgstr "" -#: elf.c:3924 +#: elf.c:4121 #, c-format msgid "" "Error: First section in segment (%s) starts at 0x%x whereas the segment " "starts at 0x%x" msgstr "" -#: elf.c:4243 +#: elf.c:4496 #, c-format msgid "%s: warning: allocated section `%s' not in segment" msgstr "" -#: elf.c:4557 -#, c-format -msgid "%s: symbol `%s' required but not present" +#: elf.c:4810 +msgid "%B: symbol `%s' required but not present" msgstr "" -#: elf.c:4845 -#, c-format -msgid "%s: warning: Empty loadable segment detected, is this intentional ?\n" +#: elf.c:5098 +msgid "%B: warning: Empty loadable segment detected, is this intentional ?\n" msgstr "" -#: elf.c:5479 +#: elf.c:5737 #, c-format msgid "" "Unable to find equivalent output section for symbol '%s' from section '%s'" msgstr "" -#: elf.c:6264 -#, c-format -msgid "%s: unsupported relocation type %s" +#: elf.c:6522 +msgid "%B: unsupported relocation type %s" msgstr "" -#: elfcode.h:1050 +#: elfcode.h:1056 #, c-format msgid "%s: version count (%ld) does not match symbol count (%ld)" msgstr "" -#: elfcode.h:1276 +#: elfcode.h:1282 #, c-format msgid "%s(%s): relocation %d has invalid symbol index %ld" msgstr "" -#: elflink.c:1350 -#, c-format -msgid "%s: warning: unexpected redefinition of indirect versioned symbol `%s'" +#: elf-hppa.h:1402 elf-hppa.h:1428 elf-hppa.h:1443 +msgid "%B(%A): warning: unresolvable relocation against symbol `%s'" msgstr "" -#: elflink.c:1669 -#, c-format -msgid "%s: undefined versioned symbol name %s" +#: elflink.c:1390 +msgid "%B: unexpected redefinition of indirect versioned symbol `%s'" msgstr "" -#: elflink.c:1818 -#, c-format +#: elflink.c:1707 +msgid "%B: undefined versioned symbol name %s" +msgstr "" + +#: elflink.c:1856 msgid "" -"%s: bad reloc symbol index (0x%lx >= 0x%lx) for offset 0x%lx in section `%s'" +"%B: bad reloc symbol index (0x%lx >= 0x%lx) for offset 0x%lx in section `%A'" msgstr "" -#: elflink.c:2007 -#, c-format -msgid "%s: relocation size mismatch in %s section %s" +#: elflink.c:2046 +msgid "%B: relocation size mismatch in %B section %A" msgstr "" -#: elflink.c:2296 +#: elflink.c:2336 #, c-format msgid "warning: type and size of dynamic symbol `%s' are not defined" msgstr "" -#: elflink.c:2917 +#: elflink.c:2966 msgid "warning: " msgstr "" -#: elflink.c:3411 -#, c-format -msgid "%s: %s: invalid version %u (max %d)" +#: elflink.c:3461 +msgid "%B: %s: invalid version %u (max %d)" msgstr "" -#: elflink.c:3452 -#, c-format -msgid "%s: %s: invalid needed version %d" +#: elflink.c:3502 +msgid "%B: %s: invalid needed version %d" msgstr "" -#: elflink.c:3627 -#, c-format -msgid "Warning: alignment %u of symbol `%s' in %s is smaller than %u in %s" +#: elflink.c:3675 +msgid "Warning: alignment %u of symbol `%s' in %B is smaller than %u in %B" +msgstr "" + +#: elflink.c:3687 +msgid "Warning: size of symbol `%s' changed from %lu in %B to %lu in %B" msgstr "" -#: elflink.c:3641 +#: elflink.c:3846 #, c-format -msgid "Warning: size of symbol `%s' changed from %lu in %s to %lu in %s" +msgid "%s: invalid DSO for symbol `%s' definition" msgstr "" -#: elflink.c:4837 +#: elflink.c:4886 #, c-format msgid "%s: undefined version: %s" msgstr "" -#: elflink.c:4903 -#, c-format -msgid "%s: .preinit_array section is not allowed in DSO" +#: elflink.c:4952 +msgid "%B: .preinit_array section is not allowed in DSO" msgstr "" -#: elflink.c:5594 +#: elflink.c:5643 msgid "Not enough memory to sort relocations" msgstr "" -#: elflink.c:5976 -#, c-format -msgid "%s: %s symbol `%s' in %s is referenced by DSO" +#: elflink.c:6026 +msgid "%B: %s symbol `%s' in %B is referenced by DSO" msgstr "" -#: elflink.c:6057 -#, c-format -msgid "%s: could not find output section %s for input section %s" +#: elflink.c:6106 +msgid "%B: could not find output section %A for input section %A" msgstr "" -#: elflink.c:6156 -#, c-format -msgid "%s: %s symbol `%s' isn't defined" +#: elflink.c:6203 +msgid "%B: %s symbol `%s' isn't defined" +msgstr "" + +#: elflink.c:6712 +msgid "" +"`%s' referenced in section `%A' of %B: defined in discarded section `%A' of %" +"B\n" msgstr "" -#: elflink.c:6575 elflink.c:6616 -msgid "%T: discarded in section `%s' from %s\n" +#: elflink.c:7221 +msgid "%B: warning: sh_link not set for section `%A'" msgstr "" -#: elflink.c:7870 elflink.c:7912 +#: elflink.c:7294 #, c-format -msgid "%s: could not find output section %s" +msgid "%A has both ordered and unordered sections" msgstr "" -#: elflink.c:7876 +#: elflink.c:8123 elflink.c:8164 +msgid "%B: could not find output section %s" +msgstr "" + +#: elflink.c:8128 #, c-format msgid "warning: %s section has zero size" msgstr "" -#: elflink.c:8427 +#: elflink.c:8703 msgid "Warning: gc-sections option ignored" msgstr "" -#: elfxx-mips.c:890 +#: elflink.c:9362 +msgid "%B: ignoring duplicate section `%A'\n" +msgstr "" + +#: elflink.c:9369 elflink.c:9376 +msgid "%B: duplicate section `%A' has different size\n" +msgstr "" + +#: elflink.c:9384 elflink.c:9389 +msgid "%B: warning: could not read contents of section `%A'\n" +msgstr "" + +#: elflink.c:9393 +msgid "%B: warning: duplicate section `%A' has different contents\n" +msgstr "" + +#: elfxx-mips.c:887 msgid "static procedure (no name)" msgstr "" -#: elfxx-mips.c:2028 +#: elfxx-mips.c:1993 msgid "not enough GOT space for local GOT entries" msgstr "" -#: elfxx-mips.c:3775 -#, c-format -msgid "%s: %s+0x%lx: jump to stub routine which is not jal" +#: elfxx-mips.c:3718 +msgid "%B: %A+0x%lx: jump to stub routine which is not jal" msgstr "" -#: elfxx-mips.c:5260 -#, c-format -msgid "%s: Malformed reloc detected for section %s" +#: elfxx-mips.c:5223 +msgid "%B: Malformed reloc detected for section %s" msgstr "" -#: elfxx-mips.c:5334 -#, c-format -msgid "%s: CALL16 reloc at 0x%lx not against global symbol" +#: elfxx-mips.c:5297 +msgid "%B: CALL16 reloc at 0x%lx not against global symbol" msgstr "" -#: elfxx-mips.c:8631 +#: elfxx-mips.c:8562 #, c-format msgid "%s: illegal section name `%s'" msgstr "" -#: elfxx-mips.c:8954 -#, c-format -msgid "%s: endianness incompatible with that of the selected emulation" +#: elfxx-mips.c:8885 +msgid "%B: endianness incompatible with that of the selected emulation" msgstr "" -#: elfxx-mips.c:8966 -#, c-format -msgid "%s: ABI is incompatible with that of the selected emulation" +#: elfxx-mips.c:8897 +msgid "%B: ABI is incompatible with that of the selected emulation" msgstr "" -#: elfxx-mips.c:9038 -#, c-format -msgid "%s: warning: linking PIC files with non-PIC files" +#: elfxx-mips.c:8969 +msgid "%B: warning: linking PIC files with non-PIC files" msgstr "" -#: elfxx-mips.c:9055 -#, c-format -msgid "%s: linking 32-bit code with 64-bit code" +#: elfxx-mips.c:8986 +msgid "%B: linking 32-bit code with 64-bit code" msgstr "" -#: elfxx-mips.c:9083 -#, c-format -msgid "%s: linking %s module with previous %s modules" +#: elfxx-mips.c:9014 +msgid "%B: linking %s module with previous %s modules" msgstr "" -#: elfxx-mips.c:9106 -#, c-format -msgid "%s: ABI mismatch: linking %s module with previous %s modules" +#: elfxx-mips.c:9037 +msgid "%B: ABI mismatch: linking %s module with previous %s modules" msgstr "" -#: elfxx-mips.c:9171 +#: elfxx-mips.c:9102 #, c-format msgid " [abi=O32]" msgstr "" -#: elfxx-mips.c:9173 +#: elfxx-mips.c:9104 #, c-format msgid " [abi=O64]" msgstr "" -#: elfxx-mips.c:9175 +#: elfxx-mips.c:9106 #, c-format msgid " [abi=EABI32]" msgstr "" -#: elfxx-mips.c:9177 +#: elfxx-mips.c:9108 #, c-format msgid " [abi=EABI64]" msgstr "" -#: elfxx-mips.c:9179 +#: elfxx-mips.c:9110 #, c-format msgid " [abi unknown]" msgstr "" -#: elfxx-mips.c:9181 +#: elfxx-mips.c:9112 #, c-format msgid " [abi=N32]" msgstr "" -#: elfxx-mips.c:9183 +#: elfxx-mips.c:9114 #, c-format msgid " [abi=64]" msgstr "" -#: elfxx-mips.c:9185 +#: elfxx-mips.c:9116 #, c-format msgid " [no abi set]" msgstr "" -#: elfxx-mips.c:9188 +#: elfxx-mips.c:9119 #, c-format msgid " [mips1]" msgstr "" -#: elfxx-mips.c:9190 +#: elfxx-mips.c:9121 #, c-format msgid " [mips2]" msgstr "" -#: elfxx-mips.c:9192 +#: elfxx-mips.c:9123 #, c-format msgid " [mips3]" msgstr "" -#: elfxx-mips.c:9194 +#: elfxx-mips.c:9125 #, c-format msgid " [mips4]" msgstr "" -#: elfxx-mips.c:9196 +#: elfxx-mips.c:9127 #, c-format msgid " [mips5]" msgstr "" -#: elfxx-mips.c:9198 +#: elfxx-mips.c:9129 #, c-format msgid " [mips32]" msgstr "" -#: elfxx-mips.c:9200 +#: elfxx-mips.c:9131 #, c-format msgid " [mips64]" msgstr "" -#: elfxx-mips.c:9202 +#: elfxx-mips.c:9133 #, c-format msgid " [mips32r2]" msgstr "" -#: elfxx-mips.c:9204 +#: elfxx-mips.c:9135 #, c-format msgid " [mips64r2]" msgstr "" -#: elfxx-mips.c:9206 +#: elfxx-mips.c:9137 #, c-format msgid " [unknown ISA]" msgstr "" -#: elfxx-mips.c:9209 +#: elfxx-mips.c:9140 #, c-format msgid " [mdmx]" msgstr "" -#: elfxx-mips.c:9212 +#: elfxx-mips.c:9143 #, c-format msgid " [mips16]" msgstr "" -#: elfxx-mips.c:9215 +#: elfxx-mips.c:9146 #, c-format msgid " [32bitmode]" msgstr "" -#: elfxx-mips.c:9217 +#: elfxx-mips.c:9148 #, c-format msgid " [not 32bitmode]" msgstr "" @@ -2243,83 +2190,70 @@ msgid "%s: unrecognized symbol `%s' flags 0x%x" msgstr "" #: ieee.c:938 -#, c-format -msgid "%s: unimplemented ATI record %u for symbol %u" +msgid "%B: unimplemented ATI record %u for symbol %u" msgstr "" -#: ieee.c:963 -#, c-format -msgid "%s: unexpected ATN type %d in external part" +#: ieee.c:962 +msgid "%B: unexpected ATN type %d in external part" msgstr "" -#: ieee.c:985 -#, c-format -msgid "%s: unexpected type after ATN" +#: ieee.c:984 +msgid "%B: unexpected type after ATN" msgstr "" #: ihex.c:264 -#, c-format -msgid "%s:%d: unexpected character `%s' in Intel Hex file\n" +msgid "%B:%d: unexpected character `%s' in Intel Hex file" msgstr "" #: ihex.c:372 -#, c-format -msgid "%s:%u: bad checksum in Intel Hex file (expected %u, found %u)" +msgid "%B:%u: bad checksum in Intel Hex file (expected %u, found %u)" msgstr "" #: ihex.c:426 -#, c-format -msgid "%s:%u: bad extended address record length in Intel Hex file" +msgid "%B:%u: bad extended address record length in Intel Hex file" msgstr "" #: ihex.c:443 -#, c-format -msgid "%s:%u: bad extended start address length in Intel Hex file" +msgid "%B:%u: bad extended start address length in Intel Hex file" msgstr "" #: ihex.c:460 -#, c-format -msgid "%s:%u: bad extended linear address record length in Intel Hex file" +msgid "%B:%u: bad extended linear address record length in Intel Hex file" msgstr "" #: ihex.c:477 -#, c-format -msgid "%s:%u: bad extended linear start address length in Intel Hex file" +msgid "%B:%u: bad extended linear start address length in Intel Hex file" msgstr "" #: ihex.c:494 -#, c-format -msgid "%s:%u: unrecognized ihex type %u in Intel Hex file\n" +msgid "%B:%u: unrecognized ihex type %u in Intel Hex file" msgstr "" #: ihex.c:619 -#, c-format -msgid "%s: internal error in ihex_read_section" +msgid "%B: internal error in ihex_read_section" msgstr "" -#: ihex.c:654 -#, c-format -msgid "%s: bad section length in ihex_read_section" +#: ihex.c:653 +msgid "%B: bad section length in ihex_read_section" msgstr "" -#: ihex.c:872 +#: ihex.c:870 #, c-format msgid "%s: address 0x%s out of range for Intel Hex file" msgstr "" -#: libbfd.c:851 +#: libbfd.c:856 #, c-format msgid "Deprecated %s called at %s line %d in %s\n" msgstr "" -#: libbfd.c:854 +#: libbfd.c:859 #, c-format msgid "Deprecated %s called\n" msgstr "" #: linker.c:1831 -#, c-format -msgid "%s: indirect symbol `%s' to `%s' is a loop" +msgid "%B: indirect symbol `%s' to `%s' is a loop" msgstr "" #: linker.c:2699 @@ -2327,9 +2261,17 @@ msgstr "" msgid "Attempt to do relocatable link with %s input and %s output" msgstr "" -#: merge.c:797 +#: linker.c:2996 +msgid "%B: warning: ignoring duplicate section `%A'\n" +msgstr "" + +#: linker.c:3010 +msgid "%B: warning: duplicate section `%A' has different size\n" +msgstr "" + +#: merge.c:795 #, c-format -msgid "%s: access beyond end of merged section (%ld + %ld)" +msgid "%s: access beyond end of merged section (%ld)" msgstr "" #: mmo.c:503 @@ -2342,132 +2284,132 @@ msgstr "" msgid "%s: No core to allocate a symbol %d bytes long\n" msgstr "" -#: mmo.c:1287 +#: mmo.c:1286 #, c-format msgid "%s: invalid mmo file: initialization value for $255 is not `Main'\n" msgstr "" -#: mmo.c:1433 +#: mmo.c:1432 #, c-format msgid "" "%s: unsupported wide character sequence 0x%02X 0x%02X after symbol name " "starting with `%s'\n" msgstr "" -#: mmo.c:1674 +#: mmo.c:1672 #, c-format msgid "%s: invalid mmo file: unsupported lopcode `%d'\n" msgstr "" -#: mmo.c:1684 +#: mmo.c:1682 #, c-format msgid "%s: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote\n" msgstr "" -#: mmo.c:1720 +#: mmo.c:1718 #, c-format msgid "%s: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc\n" msgstr "" -#: mmo.c:1766 +#: mmo.c:1764 #, c-format msgid "" "%s: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo\n" msgstr "" -#: mmo.c:1805 +#: mmo.c:1803 #, c-format msgid "%s: invalid mmo file: expected y = 0, got y = %d for lop_fixrx\n" msgstr "" -#: mmo.c:1814 +#: mmo.c:1812 #, c-format msgid "" "%s: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx\n" msgstr "" -#: mmo.c:1837 +#: mmo.c:1835 #, c-format msgid "" "%s: invalid mmo file: leading byte of operand word must be 0 or 1, got %d " "for lop_fixrx\n" msgstr "" -#: mmo.c:1860 +#: mmo.c:1858 #, c-format msgid "%s: cannot allocate file name for file number %d, %d bytes\n" msgstr "" -#: mmo.c:1880 +#: mmo.c:1878 #, c-format msgid "" "%s: invalid mmo file: file number %d `%s', was already entered as `%s'\n" msgstr "" -#: mmo.c:1893 +#: mmo.c:1891 #, c-format msgid "" "%s: invalid mmo file: file name for number %d was not specified before use\n" msgstr "" -#: mmo.c:1999 +#: mmo.c:1997 #, c-format msgid "" "%s: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d\n" msgstr "" -#: mmo.c:2035 +#: mmo.c:2033 #, c-format msgid "%s: invalid mmo file: lop_end not last item in file\n" msgstr "" -#: mmo.c:2048 +#: mmo.c:2046 #, c-format msgid "" "%s: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras " "to the preceding lop_stab (%ld)\n" msgstr "" -#: mmo.c:2698 +#: mmo.c:2696 #, c-format msgid "%s: invalid symbol table: duplicate symbol `%s'\n" msgstr "" -#: mmo.c:2949 +#: mmo.c:2947 #, c-format msgid "" "%s: Bad symbol definition: `Main' set to %s rather than the start address %" "s\n" msgstr "" -#: mmo.c:3039 +#: mmo.c:3037 #, c-format msgid "" "%s: warning: symbol table too large for mmo, larger than 65535 32-bit words: " "%d. Only `Main' will be emitted.\n" msgstr "" -#: mmo.c:3084 +#: mmo.c:3082 #, c-format msgid "%s: internal error, symbol table changed size from %d to %d words\n" msgstr "" -#: mmo.c:3139 +#: mmo.c:3137 #, c-format msgid "%s: internal error, internal register section %s had contents\n" msgstr "" -#: mmo.c:3191 +#: mmo.c:3189 #, c-format msgid "%s: no initialized registers; section length 0\n" msgstr "" -#: mmo.c:3197 +#: mmo.c:3195 #, c-format msgid "%s: too many initialized registers; section length %ld\n" msgstr "" -#: mmo.c:3202 +#: mmo.c:3200 #, c-format msgid "" "%s: invalid start address for initialized registers of length %ld: 0x%lx%" @@ -2486,45 +2428,37 @@ msgstr "" #. XXX code yet to be written. #: peicode.h:787 -#, c-format -msgid "%s: Unhandled import type; %x" +msgid "%B: Unhandled import type; %x" msgstr "" #: peicode.h:792 -#, c-format -msgid "%s: Unrecognised import type; %x" +msgid "%B: Unrecognised import type; %x" msgstr "" #: peicode.h:806 -#, c-format -msgid "%s: Unrecognised import name type; %x" +msgid "%B: Unrecognised import name type; %x" msgstr "" -#: peicode.h:1194 -#, c-format -msgid "%s: Unrecognised machine type (0x%x) in Import Library Format archive" +#: peicode.h:1193 +msgid "%B: Unrecognised machine type (0x%x) in Import Library Format archive" msgstr "" -#: peicode.h:1206 -#, c-format +#: peicode.h:1205 msgid "" -"%s: Recognised but unhandled machine type (0x%x) in Import Library Format " +"%B: Recognised but unhandled machine type (0x%x) in Import Library Format " "archive" msgstr "" #: peicode.h:1223 -#, c-format -msgid "%s: size field is zero in Import Library Format header" +msgid "%B: size field is zero in Import Library Format header" msgstr "" -#: peicode.h:1254 -#, c-format -msgid "%s: string not null terminated in ILF object file." +#: peicode.h:1253 +msgid "%B: string not null terminated in ILF object file." msgstr "" -#: pe-mips.c:659 -#, c-format -msgid "%s: `ld -r' not supported with PE MIPS objects\n" +#: pe-mips.c:636 +msgid "%B: `ld -r' not supported with PE MIPS objects\n" msgstr "" #. OK, at this point the following variables are set up: @@ -2532,19 +2466,16 @@ msgstr "" #. mem = pointer to memory we're fixing up #. val = VMA of what we need to refer to #. -#: pe-mips.c:795 -#, c-format -msgid "%s: unimplemented %s\n" +#: pe-mips.c:770 +msgid "%B: unimplemented %s\n" msgstr "" -#: pe-mips.c:821 -#, c-format -msgid "%s: jump too far away\n" +#: pe-mips.c:796 +msgid "%B: jump too far away\n" msgstr "" -#: pe-mips.c:848 -#, c-format -msgid "%s: bad pair/reflo after refhi\n" +#: pe-mips.c:822 +msgid "%B: bad pair/reflo after refhi\n" msgstr "" #: ppcboot.c:416 @@ -2596,21 +2527,19 @@ msgstr "" msgid "Partition[%d] length = 0x%.8lx (%ld)\n" msgstr "" -#: som.c:5422 +#: som.c:5490 msgid "som_sizeof_headers unimplemented" msgstr "" #: srec.c:302 -#, c-format -msgid "%s:%d: Unexpected character `%s' in S-record file\n" +msgid "%B:%d: Unexpected character `%s' in S-record file\n" msgstr "" -#: stabs.c:326 -#, c-format -msgid "%s(%s+0x%lx): Stabs entry has invalid string index." +#: stabs.c:296 +msgid "%B(%A+0x%lx): Stabs entry has invalid string index." msgstr "" -#: syms.c:1019 +#: syms.c:1027 msgid "Unsupported .stab relocation" msgstr "" @@ -2629,7 +2558,7 @@ msgstr "" msgid "Size mismatch section %s=%lx, %s=%lx" msgstr "" -#: vms-gsd.c:704 +#: vms-gsd.c:702 #, c-format msgid "unknown gsd/egsd subtype %d" msgstr "" @@ -2679,7 +2608,7 @@ msgstr "" msgid "unsupported STA cmd %s" msgstr "" -#: vms-tir.c:401 vms-tir.c:1261 +#: vms-tir.c:401 vms-tir.c:1260 #, c-format msgid "reserved STA cmd %d" msgstr "" @@ -2694,38 +2623,38 @@ msgstr "" #. Redefine symbol to current location. #. Define a literal. #: vms-tir.c:602 vms-tir.c:714 vms-tir.c:824 vms-tir.c:842 vms-tir.c:850 -#: vms-tir.c:859 vms-tir.c:1584 +#: vms-tir.c:859 vms-tir.c:1583 #, c-format msgid "%s: not supported" msgstr "" -#: vms-tir.c:607 vms-tir.c:1439 +#: vms-tir.c:607 vms-tir.c:1438 #, c-format msgid "%s: not implemented" msgstr "" -#: vms-tir.c:611 vms-tir.c:1443 +#: vms-tir.c:611 vms-tir.c:1442 #, c-format msgid "reserved STO cmd %d" msgstr "" -#: vms-tir.c:729 vms-tir.c:1589 +#: vms-tir.c:729 vms-tir.c:1588 #, c-format msgid "reserved OPR cmd %d" msgstr "" -#: vms-tir.c:797 vms-tir.c:1653 +#: vms-tir.c:797 vms-tir.c:1652 #, c-format msgid "reserved CTL cmd %d" msgstr "" #. stack byte from image #. arg: none. -#: vms-tir.c:1169 +#: vms-tir.c:1168 msgid "stack-from-image not implemented" msgstr "" -#: vms-tir.c:1187 +#: vms-tir.c:1186 msgid "stack-entry-mask not fully implemented" msgstr "" @@ -2736,278 +2665,272 @@ msgstr "" #. #. compare argument descriptor with symbol argument (ARG$V_PASSMECH) #. and stack TRUE (args match) or FALSE (args dont match) value. -#: vms-tir.c:1201 +#: vms-tir.c:1200 msgid "PASSMECH not fully implemented" msgstr "" -#: vms-tir.c:1220 +#: vms-tir.c:1219 msgid "stack-local-symbol not fully implemented" msgstr "" -#: vms-tir.c:1233 +#: vms-tir.c:1232 msgid "stack-literal not fully implemented" msgstr "" -#: vms-tir.c:1254 +#: vms-tir.c:1253 msgid "stack-local-symbol-entry-point-mask not fully implemented" msgstr "" -#: vms-tir.c:1531 vms-tir.c:1543 vms-tir.c:1555 vms-tir.c:1567 vms-tir.c:1632 -#: vms-tir.c:1640 vms-tir.c:1648 +#: vms-tir.c:1530 vms-tir.c:1542 vms-tir.c:1554 vms-tir.c:1566 vms-tir.c:1631 +#: vms-tir.c:1639 vms-tir.c:1647 #, c-format msgid "%s: not fully implemented" msgstr "" -#: vms-tir.c:1705 +#: vms-tir.c:1704 #, c-format msgid "obj code %d not found" msgstr "" -#: vms-tir.c:2043 +#: vms-tir.c:2042 #, c-format msgid "SEC_RELOC with no relocs in section %s" msgstr "" -#: vms-tir.c:2331 +#: vms-tir.c:2330 #, c-format msgid "Unhandled relocation %s" msgstr "" -#: xcofflink.c:1244 -#, c-format -msgid "%s: `%s' has line numbers but no enclosing section" +#: xcofflink.c:1243 +msgid "%B: `%s' has line numbers but no enclosing section" msgstr "" -#: xcofflink.c:1297 -#, c-format -msgid "%s: class %d symbol `%s' has no aux entries" +#: xcofflink.c:1296 +msgid "%B: class %d symbol `%s' has no aux entries" msgstr "" -#: xcofflink.c:1320 -#, c-format -msgid "%s: symbol `%s' has unrecognized csect type %d" +#: xcofflink.c:1319 +msgid "%B: symbol `%s' has unrecognized csect type %d" msgstr "" -#: xcofflink.c:1332 -#, c-format -msgid "%s: bad XTY_ER symbol `%s': class %d scnum %d scnlen %d" +#: xcofflink.c:1331 +msgid "%B: bad XTY_ER symbol `%s': class %d scnum %d scnlen %d" msgstr "" -#: xcofflink.c:1368 -#, c-format -msgid "%s: XMC_TC0 symbol `%s' is class %d scnlen %d" +#: xcofflink.c:1367 +msgid "%B: XMC_TC0 symbol `%s' is class %d scnlen %d" msgstr "" -#: xcofflink.c:1520 -#, c-format -msgid "%s: csect `%s' not in enclosing section" +#: xcofflink.c:1518 +msgid "%B: csect `%s' not in enclosing section" msgstr "" -#: xcofflink.c:1627 -#, c-format -msgid "%s: misplaced XTY_LD `%s'" +#: xcofflink.c:1625 +msgid "%B: misplaced XTY_LD `%s'" msgstr "" -#: xcofflink.c:1958 -#, c-format -msgid "%s: reloc %s:%d not in csect" +#: xcofflink.c:1956 +msgid "%B: reloc %s:%d not in csect" msgstr "" -#: xcofflink.c:2095 +#: xcofflink.c:2093 #, c-format msgid "%s: XCOFF shared object when not producing XCOFF output" msgstr "" -#: xcofflink.c:2116 +#: xcofflink.c:2114 #, c-format msgid "%s: dynamic object with no .loader section" msgstr "" -#: xcofflink.c:2761 +#: xcofflink.c:2759 #, c-format msgid "%s: no such symbol" msgstr "" -#: xcofflink.c:2894 +#: xcofflink.c:2892 msgid "error: undefined symbol __rtinit" msgstr "" -#: xcofflink.c:3455 +#: xcofflink.c:3449 #, c-format msgid "warning: attempt to export undefined symbol `%s'" msgstr "" -#: xcofflink.c:4448 +#: xcofflink.c:4444 #, c-format msgid "TOC overflow: 0x%lx > 0x10000; try -mminimal-toc when compiling" msgstr "" -#: xcofflink.c:5288 xcofflink.c:5755 xcofflink.c:5817 xcofflink.c:6119 +#: xcofflink.c:5285 +msgid "%B: loader reloc in unrecognized section `%A'" +msgstr "" + +#: xcofflink.c:5306 +msgid "%B: `%s' in loader reloc but not loader sym" +msgstr "" + +#: xcofflink.c:5321 +msgid "%B: loader reloc in read-only section %A" +msgstr "" + +#: xcofflink.c:5747 xcofflink.c:5809 xcofflink.c:6111 #, c-format msgid "%s: loader reloc in unrecognized section `%s'" msgstr "" -#: xcofflink.c:5310 xcofflink.c:6130 +#: xcofflink.c:6122 #, c-format msgid "%s: `%s' in loader reloc but not loader sym" msgstr "" -#: xcofflink.c:5325 -#, c-format -msgid "%s: loader reloc in read-only section %s" +#: elf32-ia64.c:980 elf64-ia64.c:980 +msgid "" +"%B: Can't relax br at 0x%lx in section `%A'. Please use brl or indirect " +"branch." msgstr "" -#: elf32-ia64.c:2363 elf64-ia64.c:2363 +#: elf32-ia64.c:2334 elf64-ia64.c:2334 msgid "@pltoff reloc against local symbol" msgstr "" -#: elf32-ia64.c:3768 elf64-ia64.c:3768 +#: elf32-ia64.c:3752 elf64-ia64.c:3752 #, c-format msgid "%s: short data segment overflowed (0x%lx >= 0x400000)" msgstr "" -#: elf32-ia64.c:3779 elf64-ia64.c:3779 +#: elf32-ia64.c:3763 elf64-ia64.c:3763 #, c-format msgid "%s: __gp does not cover short data segment" msgstr "" -#: elf32-ia64.c:4027 elf64-ia64.c:4027 -#, c-format -msgid "%s: non-pic code with imm relocation against dynamic symbol `%s'" +#: elf32-ia64.c:4010 elf64-ia64.c:4010 +msgid "%B: non-pic code with imm relocation against dynamic symbol `%s'" msgstr "" -#: elf32-ia64.c:4092 elf64-ia64.c:4092 -#, c-format -msgid "%s: @gprel relocation against dynamic symbol %s" +#: elf32-ia64.c:4075 elf64-ia64.c:4075 +msgid "%B: @gprel relocation against dynamic symbol %s" msgstr "" -#: elf32-ia64.c:4152 elf64-ia64.c:4152 -#, c-format -msgid "%s: linking non-pic code in a position independent executable" +#: elf32-ia64.c:4135 elf64-ia64.c:4135 +msgid "%B: linking non-pic code in a position independent executable" msgstr "" -#: elf32-ia64.c:4289 elf64-ia64.c:4289 -#, c-format -msgid "%s: @internal branch to dynamic symbol %s" +#: elf32-ia64.c:4272 elf64-ia64.c:4272 +msgid "%B: @internal branch to dynamic symbol %s" msgstr "" -#: elf32-ia64.c:4291 elf64-ia64.c:4291 -#, c-format -msgid "%s: speculation fixup to dynamic symbol %s" +#: elf32-ia64.c:4274 elf64-ia64.c:4274 +msgid "%B: speculation fixup to dynamic symbol %s" msgstr "" -#: elf32-ia64.c:4293 elf64-ia64.c:4293 -#, c-format -msgid "%s: @pcrel relocation against dynamic symbol %s" +#: elf32-ia64.c:4276 elf64-ia64.c:4276 +msgid "%B: @pcrel relocation against dynamic symbol %s" msgstr "" -#: elf32-ia64.c:4505 elf64-ia64.c:4505 +#: elf32-ia64.c:4484 elf64-ia64.c:4484 msgid "unsupported reloc" msgstr "" -#: elf32-ia64.c:4784 elf64-ia64.c:4784 -#, c-format -msgid "%s: linking trap-on-NULL-dereference with non-trapping files" +#: elf32-ia64.c:4761 elf64-ia64.c:4761 +msgid "%B: linking trap-on-NULL-dereference with non-trapping files" msgstr "" -#: elf32-ia64.c:4793 elf64-ia64.c:4793 -#, c-format -msgid "%s: linking big-endian files with little-endian files" +#: elf32-ia64.c:4770 elf64-ia64.c:4770 +msgid "%B: linking big-endian files with little-endian files" msgstr "" -#: elf32-ia64.c:4802 elf64-ia64.c:4802 -#, c-format -msgid "%s: linking 64-bit files with 32-bit files" +#: elf32-ia64.c:4779 elf64-ia64.c:4779 +msgid "%B: linking 64-bit files with 32-bit files" msgstr "" -#: elf32-ia64.c:4811 elf64-ia64.c:4811 -#, c-format -msgid "%s: linking constant-gp files with non-constant-gp files" +#: elf32-ia64.c:4788 elf64-ia64.c:4788 +msgid "%B: linking constant-gp files with non-constant-gp files" msgstr "" -#: elf32-ia64.c:4821 elf64-ia64.c:4821 -#, c-format -msgid "%s: linking auto-pic files with non-auto-pic files" +#: elf32-ia64.c:4798 elf64-ia64.c:4798 +msgid "%B: linking auto-pic files with non-auto-pic files" msgstr "" -#: peigen.c:1031 pepigen.c:1031 +#: peigen.c:1033 pepigen.c:1033 #, c-format msgid "%s: line number overflow: 0x%lx > 0xffff" msgstr "" -#: peigen.c:1052 pepigen.c:1052 +#: peigen.c:1054 pepigen.c:1054 #, c-format msgid "%s: reloc overflow 1: 0x%lx > 0xffff" msgstr "" -#: peigen.c:1066 pepigen.c:1066 +#: peigen.c:1068 pepigen.c:1068 msgid "Export Directory [.edata (or where ever we found it)]" msgstr "" -#: peigen.c:1067 pepigen.c:1067 +#: peigen.c:1069 pepigen.c:1069 msgid "Import Directory [parts of .idata]" msgstr "" -#: peigen.c:1068 pepigen.c:1068 +#: peigen.c:1070 pepigen.c:1070 msgid "Resource Directory [.rsrc]" msgstr "" -#: peigen.c:1069 pepigen.c:1069 +#: peigen.c:1071 pepigen.c:1071 msgid "Exception Directory [.pdata]" msgstr "" -#: peigen.c:1070 pepigen.c:1070 +#: peigen.c:1072 pepigen.c:1072 msgid "Security Directory" msgstr "" -#: peigen.c:1071 pepigen.c:1071 +#: peigen.c:1073 pepigen.c:1073 msgid "Base Relocation Directory [.reloc]" msgstr "" -#: peigen.c:1072 pepigen.c:1072 +#: peigen.c:1074 pepigen.c:1074 msgid "Debug Directory" msgstr "" -#: peigen.c:1073 pepigen.c:1073 +#: peigen.c:1075 pepigen.c:1075 msgid "Description Directory" msgstr "" -#: peigen.c:1074 pepigen.c:1074 +#: peigen.c:1076 pepigen.c:1076 msgid "Special Directory" msgstr "" -#: peigen.c:1075 pepigen.c:1075 +#: peigen.c:1077 pepigen.c:1077 msgid "Thread Storage Directory [.tls]" msgstr "" -#: peigen.c:1076 pepigen.c:1076 +#: peigen.c:1078 pepigen.c:1078 msgid "Load Configuration Directory" msgstr "" -#: peigen.c:1077 pepigen.c:1077 +#: peigen.c:1079 pepigen.c:1079 msgid "Bound Import Directory" msgstr "" -#: peigen.c:1078 pepigen.c:1078 +#: peigen.c:1080 pepigen.c:1080 msgid "Import Address Table Directory" msgstr "" -#: peigen.c:1079 pepigen.c:1079 +#: peigen.c:1081 pepigen.c:1081 msgid "Delay Import Directory" msgstr "" -#: peigen.c:1080 peigen.c:1081 pepigen.c:1080 pepigen.c:1081 +#: peigen.c:1082 peigen.c:1083 pepigen.c:1082 pepigen.c:1083 msgid "Reserved" msgstr "" -#: peigen.c:1144 pepigen.c:1144 +#: peigen.c:1145 pepigen.c:1145 #, c-format msgid "" "\n" "There is an import table, but the section containing it could not be found\n" msgstr "" -#: peigen.c:1149 pepigen.c:1149 +#: peigen.c:1150 pepigen.c:1150 #, c-format msgid "" "\n" @@ -3026,61 +2949,61 @@ msgstr "" msgid "\tcode-base %08lx toc (loadable/actual) %08lx/%08lx\n" msgstr "" -#: peigen.c:1195 pepigen.c:1195 +#: peigen.c:1197 pepigen.c:1197 #, c-format msgid "" "\n" "No reldata section! Function descriptor not decoded.\n" msgstr "" -#: peigen.c:1200 pepigen.c:1200 +#: peigen.c:1202 pepigen.c:1202 #, c-format msgid "" "\n" "The Import Tables (interpreted %s section contents)\n" msgstr "" -#: peigen.c:1203 pepigen.c:1203 +#: peigen.c:1205 pepigen.c:1205 #, c-format msgid "" " vma: Hint Time Forward DLL First\n" " Table Stamp Chain Name Thunk\n" msgstr "" -#: peigen.c:1254 pepigen.c:1254 +#: peigen.c:1255 pepigen.c:1255 #, c-format msgid "" "\n" "\tDLL Name: %s\n" msgstr "" -#: peigen.c:1265 pepigen.c:1265 +#: peigen.c:1266 pepigen.c:1266 #, c-format msgid "\tvma: Hint/Ord Member-Name Bound-To\n" msgstr "" -#: peigen.c:1290 pepigen.c:1290 +#: peigen.c:1291 pepigen.c:1291 #, c-format msgid "" "\n" "There is a first thunk, but the section containing it could not be found\n" msgstr "" -#: peigen.c:1430 pepigen.c:1430 +#: peigen.c:1431 pepigen.c:1431 #, c-format msgid "" "\n" "There is an export table, but the section containing it could not be found\n" msgstr "" -#: peigen.c:1435 pepigen.c:1435 +#: peigen.c:1436 pepigen.c:1436 #, c-format msgid "" "\n" "There is an export table in %s at 0x%lx\n" msgstr "" -#: peigen.c:1466 pepigen.c:1466 +#: peigen.c:1467 pepigen.c:1467 #, c-format msgid "" "\n" @@ -3088,128 +3011,128 @@ msgid "" "\n" msgstr "" -#: peigen.c:1470 pepigen.c:1470 +#: peigen.c:1471 pepigen.c:1471 #, c-format msgid "Export Flags \t\t\t%lx\n" msgstr "" -#: peigen.c:1473 pepigen.c:1473 +#: peigen.c:1474 pepigen.c:1474 #, c-format msgid "Time/Date stamp \t\t%lx\n" msgstr "" -#: peigen.c:1476 pepigen.c:1476 +#: peigen.c:1477 pepigen.c:1477 #, c-format msgid "Major/Minor \t\t\t%d/%d\n" msgstr "" -#: peigen.c:1479 pepigen.c:1479 +#: peigen.c:1480 pepigen.c:1480 #, c-format msgid "Name \t\t\t\t" msgstr "" -#: peigen.c:1485 pepigen.c:1485 +#: peigen.c:1486 pepigen.c:1486 #, c-format msgid "Ordinal Base \t\t\t%ld\n" msgstr "" -#: peigen.c:1488 pepigen.c:1488 +#: peigen.c:1489 pepigen.c:1489 #, c-format msgid "Number in:\n" msgstr "" -#: peigen.c:1491 pepigen.c:1491 +#: peigen.c:1492 pepigen.c:1492 #, c-format msgid "\tExport Address Table \t\t%08lx\n" msgstr "" -#: peigen.c:1495 pepigen.c:1495 +#: peigen.c:1496 pepigen.c:1496 #, c-format msgid "\t[Name Pointer/Ordinal] Table\t%08lx\n" msgstr "" -#: peigen.c:1498 pepigen.c:1498 +#: peigen.c:1499 pepigen.c:1499 #, c-format msgid "Table Addresses\n" msgstr "" -#: peigen.c:1501 pepigen.c:1501 +#: peigen.c:1502 pepigen.c:1502 #, c-format msgid "\tExport Address Table \t\t" msgstr "" -#: peigen.c:1506 pepigen.c:1506 +#: peigen.c:1507 pepigen.c:1507 #, c-format msgid "\tName Pointer Table \t\t" msgstr "" -#: peigen.c:1511 pepigen.c:1511 +#: peigen.c:1512 pepigen.c:1512 #, c-format msgid "\tOrdinal Table \t\t\t" msgstr "" -#: peigen.c:1526 pepigen.c:1526 +#: peigen.c:1527 pepigen.c:1527 #, c-format msgid "" "\n" "Export Address Table -- Ordinal Base %ld\n" msgstr "" -#: peigen.c:1545 pepigen.c:1545 +#: peigen.c:1546 pepigen.c:1546 msgid "Forwarder RVA" msgstr "" -#: peigen.c:1556 pepigen.c:1556 +#: peigen.c:1557 pepigen.c:1557 msgid "Export RVA" msgstr "" -#: peigen.c:1563 pepigen.c:1563 +#: peigen.c:1564 pepigen.c:1564 #, c-format msgid "" "\n" "[Ordinal/Name Pointer] Table\n" msgstr "" -#: peigen.c:1618 pepigen.c:1618 +#: peigen.c:1619 pepigen.c:1619 #, c-format msgid "Warning, .pdata section size (%ld) is not a multiple of %d\n" msgstr "" -#: peigen.c:1622 pepigen.c:1622 +#: peigen.c:1623 pepigen.c:1623 #, c-format msgid "" "\n" "The Function Table (interpreted .pdata section contents)\n" msgstr "" -#: peigen.c:1625 pepigen.c:1625 +#: peigen.c:1626 pepigen.c:1626 #, c-format msgid " vma:\t\t\tBegin Address End Address Unwind Info\n" msgstr "" -#: peigen.c:1627 pepigen.c:1627 +#: peigen.c:1628 pepigen.c:1628 #, c-format msgid "" " vma:\t\tBegin End EH EH PrologEnd Exception\n" " \t\tAddress Address Handler Data Address Mask\n" msgstr "" -#: peigen.c:1697 pepigen.c:1697 +#: peigen.c:1698 pepigen.c:1698 #, c-format msgid " Register save millicode" msgstr "" -#: peigen.c:1700 pepigen.c:1700 +#: peigen.c:1701 pepigen.c:1701 #, c-format msgid " Register restore millicode" msgstr "" -#: peigen.c:1703 pepigen.c:1703 +#: peigen.c:1704 pepigen.c:1704 #, c-format msgid " Glue code sequence" msgstr "" -#: peigen.c:1755 pepigen.c:1755 +#: peigen.c:1756 pepigen.c:1756 #, c-format msgid "" "\n" @@ -3217,14 +3140,14 @@ msgid "" "PE File Base Relocations (interpreted .reloc section contents)\n" msgstr "" -#: peigen.c:1785 pepigen.c:1785 +#: peigen.c:1786 pepigen.c:1786 #, c-format msgid "" "\n" "Virtual Address: %08lx Chunk size %ld (0x%lx) Number of fixups %ld\n" msgstr "" -#: peigen.c:1798 pepigen.c:1798 +#: peigen.c:1799 pepigen.c:1799 #, c-format msgid "\treloc %4d offset %4x [%4lx] %s" msgstr "" @@ -3232,7 +3155,7 @@ msgstr "" #. The MS dumpbin program reportedly ands with 0xff0f before #. printing the characteristics field. Not sure why. No reason to #. emulate it here. -#: peigen.c:1838 pepigen.c:1838 +#: peigen.c:1839 pepigen.c:1839 #, c-format msgid "" "\n" diff --git a/bfd/reloc.c b/bfd/reloc.c index 1c95d7ec44b..8356b6092f6 100644 --- a/bfd/reloc.c +++ b/bfd/reloc.c @@ -2621,6 +2621,16 @@ ENUM BFD_RELOC_ARM_SBREL32 ENUMDOC Data segment base relative address. +ENUM + BFD_RELOC_ARM_TARGET2 +ENUMDOC + This reloc is used for References to RTTI dta from exception handling + tables. The actual definition depends on the target. It may be a + pc-relative or some form of GOT-indirect relocation. +ENUM + BFD_RELOC_ARM_PREL31 +ENUMDOC + 31-bit PC relative address. ENUM BFD_RELOC_SH_PCDISP8BY2 diff --git a/bfd/version.h b/bfd/version.h index b491758b2a2..df343d71dd1 100644 --- a/bfd/version.h +++ b/bfd/version.h @@ -1,3 +1,3 @@ -#define BFD_VERSION_DATE 20040915 +#define BFD_VERSION_DATE 20040921 #define BFD_VERSION @bfd_version@ #define BFD_VERSION_STRING @bfd_version_string@ diff --git a/bfd/xcofflink.c b/bfd/xcofflink.c index ec737d12a4d..ccb9c905589 100644 --- a/bfd/xcofflink.c +++ b/bfd/xcofflink.c @@ -1825,7 +1825,7 @@ xcoff_link_add_symbols (abfd, info) section = bfd_und_section_ptr; value = 0; } - else if ((*sym_hash)->root.und_next != NULL + else if ((*sym_hash)->root.u.undef.next != NULL || info->hash->undefs_tail == &(*sym_hash)->root) { /* This symbol has been referenced. In this diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 7043f68e107..90d02c55799 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,258 @@ +2004-09-21 Daniel Jacobowitz + + * dwarf2read.c (struct dwarf2_per_cu_data): New field type_hash. + (struct dwarf2_offset_and_type): New. + (set_die_type, reset_die_and_siblings_types, get_die_type) + (offset_and_type_hash, offset_and_type_eq): New functions. + (read_structure_type, read_enumeration_type, read_array_type) + (read_namespace, read_tag_pointer_type, read_tag_ptr_to_member_type) + (read_tag_reference_type, read_tag_const_type) + (read_tag_volatile_type, read_tag_string_type, read_subroutine_type) + (read_typedef, read_base_type, read_subrange_type): Use + set_die_type. + +2004-09-20 Daniel Jacobowitz + + * Makefile.in (dwarf2read.o): Update dependencies. + * dwarf2read.c: Include "command.h" and "gdbcmd.h". + (struct dwarf2_per_objfile): Add all_comp_units, n_comp_units, + and read_in_chain. + (struct dwarf2_cu): Add read_in_chain, per_cu, last_used, + mark, and has_form_ref_addr. + (struct dwarf2_per_cu_data): New. + (dwarf2_max_cache_age): New. + (dwarf2_build_psymtabs_hard): Free cached compilation units + after loading. Create and manage the list of compilation units. + Remove unnecessary NULL initialization. Fix indentation. + (psymtab_to_symtab_1): Initialize all of CU. + (dwarf2_read_abbrevs): Set has_form_ref_addr. + (find_partial_die): Use dwarf2_find_containing_comp_unit + and load_comp_unit. + (free_stack_comp_unit): Update comments. Clear the per-cu + pointer. Handle aging. + (dwarf2_find_containing_comp_unit, free_cached_comp_units) + (age_cached_comp_units, free_one_cached_comp_unit) + (dwarf2_mark, dwarf2_clear_marks, create_all_comp_units) + (load_comp_unit, dwarf2_find_comp_unit, free_one_comp_unit) + (set_dwarf2_cmdlist, show_dwarf2_cmdlist, set_dwarf2_cmd) + (show_dwarf2_cmd): New. + (_initialize_dwarf2_read): Provide "maint set dwarf2 max-cache-age" + and "maint show dwarf2 max-cache-age". + * gdbcmd.h (maintenance_set_cmdlist, maintenance_show_cmdlist): New + externs. + * maint.c (maintenance_set_cmdlist, maintenance_show_cmdlist): Make + global. + +2004-09-20 Jeff Johnston + + * dwarf2read.c (typename_concat): Change prototype to accept obstack + and dwarf2_cu struct pointer as arguments. Change function to use + obstack if provided and use dwarf2_cu to determine language-specific + separator. + (partial_die_parent_scope): Change comment to include java. Use + new version of typename_concat instead of obconcat. + (partial_die_full_name): Use typename_concat. + (read_namespace): Ditto. + (read_enumeration_type): Use typename_concat instead of obconcat. + (new_symbol): Ditto. + (add_partial_symbol): Enhance tests for C++ to also test for Java. + (guess_structure_name): Ditto. + (read_subroutine_type): Ditto. + (read_structure_type): Ditto. + (is_vtable_name): Add Java support. + (determine_class_name): Switch to new typename_concat call. + (determine_prefix): Switch to new typename_concat call. + * jv-exp.y (FuncStart): New pattern. + (MethodInvocation): Add support for simple function calls. Change + warning message for other forms of inferior call currently not + supported. + * valarith.c (value_subscript): Treat an array with upper-bound + of -1 as unknown size. + +2004-09-20 Daniel Jacobowitz + + * symtab.c (lookup_partial_symtab): Use psymtab_to_fullname. + (lookup_partial_symtab): Use symtab_to_fullname. + +2004-09-19 Jim Blandy + + * minsyms.c (lookup_minimal_symbol): Doc fix. + +2004-09-20 Andrew Cagney + + * config/nm-lynx.h (DEPRECATED_CHILD_RESUME): Deprecate + CHILD_RESUME. + * config/i386/nm-linux.h (DEPRECATED_CHILD_RESUME): Ditto. + * config/nm-linux.h (DEPRECATED_KILL_INFERIOR): Deprecate + KILL_INFERIOR. + * infptrace.c: Update. + +2004-09-19 Daniel Jacobowitz + + * symtab.c (output_source_filename): Mark first argument as const. + (sources_info): Use symtab_to_fullname and psymtab_to_fullname + for "info sources" output. + +2004-09-20 Mark Kettenis + + * config/i386/nm-fbsd.h, config/i386/nm-obsd.h: Don't include + . + (KERNEL_U_ADDR, REGISTER_U_ADDR): Remove defines. + (register_u_addr): Remove prototype. + +2004-09-19 Mark Kettenis + + * i386bsd-nat.c: Include "i386bsd-nat.h" and "inf-ptrace.h". + (i386bsd_fetch_inferior_registers): Rename from + fetch_inferior_registers. Make static. + (i386bsd_store_inferior_registers): Rename from + store_inferior_registers. Make static. + (i386bsd_target): New function. + * i386bsd-nat.h: New file. + * i386fbsd-nat.c: Include "target.h", "fbsd-nat.h" and + "i386bsd-nat.h". + (i386fbsd_resume): Rename from child_resume. Make static. + (_initialize_i386fbsd_nat): Construct and add target vector. + * i386nbsd-nat.c: Include "target.h" and "i386bsd-nat.h". + (_initialize_i386nbsd_nat): Construct and add target vector. + * config/i386/nm-fbsd.h: (CHILD_RESUME, CHILD_PID_TO_EXEC_FILE): + Remove defines. + * config/i386/fbsd.mh (NATDEPFILES): Add inf-child.o, inf-ptrace.o + and fbsd-nat.o. Remove inftarg.o and fbsd-proc.o. + * config/i386/nbsdaout.mh (NATDEPFILES): Add inf-child.o, + inf-ptrace.o, i386bsd-nat.o and bsd-kvm.o. Remove inftarg.o. + (LOADLIBES): New variable. + * config/i386/nbsdelf.mh (NATDEPFILES): Add inf-child.o and + inf-ptrace.o. Remove inftarg.o. + * config/i386/obsd.mh (NATDEPFILES): Add inf-child.o and + inf-ptrace.o. Remove inftarg.o. + * config/i386/obsdaout.mh (NATDEPFILES): Add inf-child.o, + inf-ptrace.o, i386nbsd-nat.o and bsd-kvm.o. Remove inftarg.o. + (LOADLIBES): New variable. + * Makefile.in (i386bsd_nat_h): New variable. + (i386bsd-nat.o, i386fbsd-nat.o, i386nbsd-nat.o): Update + dependencies. + + * sparc64nbsd-tdep.c: Include "objfiles.h". + (sparc64nbsd_init_abi): Set in_solib_call_trampoline and + skip_trampoline_code. Set solib_svr4_fetch_link_map_offsets to + svr4_lp64_fetch_link_map_offsets. + * sparc64obsd-tdep.c: Include "objfiles.h". Don't include + "nbsd-tdep.h". + (sparc64obsd_init_abi): Set in_solib_call_trampoline and + skip_trampoline_code. Set solib_svr4_fetch_link_map_offsets to + svr4_lp64_fetch_link_map_offsets. + * Makefile.in (sparc64nbsd-tdep.o, sparc64obsd-tdep.o): Update + dependencies. + + * fbsd-nat.c: New files with cleaned up contents of fbsd-proc.c. + * fbsd-nat.h: New file. + * Makefile.in (ALLDEPFILES): Add fbsd-nat.c. + (fbsd_nat_h): New variable. + (fbsd-nat.o): New dependency. + + * config/sparc/nbsd64.mt, config/sparc/obsd.mt, + config/sparc/obsd64.mt (DEPRECATED_TM_FILE): Set to solib.h. + + * inf-child.c (inf_child_post_wait): Remove stray whitespace in + comment. + +2004-09-18 Paul N. Hilfinger + + * ada-exp.y (type_int): New function to add layer of abstraction + around references to expression types. + (type_long): Ditto. + (type_long_long): Ditto. + (type_float): Ditto. + (type_double): Ditto. + (type_long_double): Ditto. + (type_char): Ditto. + (type_system_address): Ditto. + (simple_exp): Use type_* functions in place of builtin_* + variables. + (exp): Ditto. + (write_var_from_name): Ditto. + (write_object_renaming): Ditto. + * ada-lang.c (ada_create_fundamental_type): Remove redundant + declaration. + (build_ada_types): Remove, replacing with... + (ada_language_arch_info): New function to initialize primitive + type vector in language_arch_info. + (ada_array_length): Remove use of builtin_type_ada_int. + (value_pos_atr): Ditto. + (ada_evaluate_subexp): Ditto. + (builtin_type_ada_int, builtin_type_ada_short, builtin_type_ada_long, + builtin_type_ada_long_long, builtin_type_ada_char, + builtin_type_ada_float, builtin_type_ada_double, + builtin_type_ada_long_double, builtin_type_ada_natural, + builtin_type_ada_positive, builtin_type_ada_system_address): Remove. + (ada_builtin_types): Remove. + (ada_language_defn): Remove entries for la_builtin_type_vector and + string_char_type and use ada_language_arch_info. + (_initialize_ada_language): Do type-vector initialization along + the lines of c-lang.c. + (ada_create_fundamental_type): Break up line. + (ada_dump_symtab): Remove unused function. + (enum ada_primitive_types): Define. + * ada-lang.h (builtin_type_ada_int, builtin_type_ada_short, + builtin_type_ada_long,builtin_type_ada_long_long,builtin_type_ada_char, + builtin_type_ada_float, builtin_type_ada_double, + builtin_type_ada_long_double, builtin_type_ada_natural, + builtin_type_ada_positive, builtin_type_ada_system_address): Remove. + * ada-lex.l: Use type_* functions in place of builtin_* variables. + (processInt): Ditto. + (processReal): Ditto. + (name_lookup): Ditto. + * ada-typeprint.c (print_range): Use builtin_type_int, not + builtin_type_ada_int. + +2004-09-18 Mark Kettenis + + * i386-tdep.c (i386_register_name): Rename regno to regnum. + + * config/pa/hpux1020.mh (MH_CFLAGS): Remove -D__HP_CURSES. + * config/pa/hpux11.mh (MH_CFLAGS): Likewise. + * config/pa/hpux11w.mh (MH_CFLAGS): Likewise. + * configure.in: Improve checks for curses library by checking for + mvwaddstr instead of initscr. Drop HP curses in favour of + standard curses on HP-UX. + * configure: Regenerated. + +2004-09-18 Paul N. Hilfinger + + * ada-lang.c: (ada_main_name, ada_value_slice_ptr, ada_value_slice, + ada_breakpoint_rewrite, ada_template_to_fixed_record_type_1): + Minor formatting changes. + (empty_array): Slight rewrite for formatting. + (emit_char,parse,ada_language_defn,build_ada_types, + ada_is_exception_sym, _initialize_ada_language): Move + definitions around. + (ada_dump_symtab): Remove unused definition. + (ada_maybe_exception_partial_symbol): Remove unused definition. + +2004-09-16 Andrew Cagney + + * inf-child.c: Include "gdb_string.h". + (inf_child_core_file_to_sym_file): Delete. + (inf_child_target): Set to_fetch_registers and to_store_registers. + * inf-ptrace.c: Include "gdb_string.h". + * Makefile.in: Update all dependencies. + + * Makefile.in (gnu-v3-abi.o): Add explict rule to avoid -Werror + problem. + +2004-09-14 Joel Brobecker + + * mips-tdep.c (mips_insn32_frame_cache): Pass frame cache in + call to heuristic_proc_desc. Remove code that became redundant + as a consequence. + (read_next_frame_reg): Remove special case for SP_REGNUM. + (set_reg_offset): Fix small typo. + (reset_saved_regs): New procedure. + (mips32_heuristic_proc_desc): No longer compute a fake + procedure descriptor. Compute the full frame cache instead. + Some minor comment reformatting. + 2004-09-14 Andrew Cagney * MAINTAINERS: Add Michael Chastain as the backup gdb.threads diff --git a/gdb/Makefile.in b/gdb/Makefile.in index 327e1b926f2..17267ac9662 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -668,6 +668,7 @@ event_loop_h = event-loop.h event_top_h = event-top.h exec_h = exec.h $(target_h) expression_h = expression.h $(symtab_h) $(doublest_h) +fbsd_nat_h = fbsd-nat.h f_lang_h = f-lang.h frame_base_h = frame-base.h frame_h = frame.h @@ -698,6 +699,7 @@ glibc_tdep_h = glibc-tdep.h gnu_nat_h = gnu-nat.h gregset_h = gregset.h hppa_tdep_h = hppa-tdep.h +i386bsd_nat_h = i386bsd-nat.h i386_linux_tdep_h = i386-linux-tdep.h i386_tdep_h = i386-tdep.h i387_tdep_h = i387-tdep.h @@ -1358,7 +1360,9 @@ ALLDEPFILES = \ bsd-kvm.c \ coff-solib.c \ core-regset.c core-aout.c corelow.c \ - dcache.c exec.c fork-child.c \ + dcache.c exec.c \ + fbsd-nat.c \ + fork-child.c \ glibc-tdep.c \ go32-nat.c h8300-tdep.c \ hppa-tdep.c hppa-hpux-tdep.c \ @@ -1432,6 +1436,14 @@ main.o: main.c $(CC) -c $(INTERNAL_CFLAGS) $(TARGET_SYSTEM_ROOT_DEFINE) \ -DBINDIR=\"$(bindir)\" $(srcdir)/main.c +# FIXME: cagney/2004-09-16: "gnu-v3-abi.c", with a GCC 3.4 compiler, +# gets a "assignment from incompatible pointer type" warning. The +# return types - "enum gnu_v3_dtor_kinds" vs "enum ctor_kinds" - +# conflict. +gnu-v3-abi.o: $(srcdir)/gnu-v3-abi.c + $(CC) -c $(INTERNAL_WARN_CFLAGS) $(NO_WERROR_CFLAGS) \ + $(srcdir)/gnu-v3-abi.c + # FIXME: cagney/2003-08-10: "monitor.c" gets -Wformat-nonliteral # errors. It turns out that that is the least of monitor.c's # problems. The function print_vsprintf appears to be using @@ -1861,6 +1873,9 @@ exec.o: exec.c $(defs_h) $(frame_h) $(inferior_h) $(target_h) $(gdbcmd_h) \ expprint.o: expprint.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(expression_h) \ $(value_h) $(language_h) $(parser_defs_h) $(user_regs_h) $(target_h) \ $(gdb_string_h) $(block_h) +fbsd-nat.o: fbsd-nat.c $(defs_h) $(gdbcore_h) $(inferior_h) $(regcache_h) \ + $(regset_h) $(gdb_assert_h) $(gdb_string_h) $(elf_bfd_h) \ + $(fbsd_nat_h) fbsd-proc.o: fbsd-proc.c $(defs_h) $(gdbcore_h) $(inferior_h) $(regcache_h) \ $(regset_h) $(gdb_assert_h) $(gdb_string_h) $(elf_bfd_h) f-exp.o: f-exp.c $(defs_h) $(gdb_string_h) $(expression_h) $(value_h) \ @@ -1961,13 +1976,15 @@ hpread.o: hpread.c $(defs_h) $(bfd_h) $(gdb_string_h) $(hp_symtab_h) \ hpux-thread.o: hpux-thread.c $(defs_h) $(gdbthread_h) $(target_h) \ $(inferior_h) $(regcache_h) $(gdb_stat_h) $(gdbcore_h) i386bsd-nat.o: i386bsd-nat.c $(defs_h) $(inferior_h) $(regcache_h) \ - $(gdb_assert_h) $(i386_tdep_h) $(i387_tdep_h) + $(gdb_assert_h) $(i386_tdep_h) $(i387_tdep_h) $(i386bsd_nat_h) \ + $(inf_ptrace_h) i386bsd-tdep.o: i386bsd-tdep.c $(defs_h) $(arch_utils_h) $(frame_h) \ $(gdbcore_h) $(regcache_h) $(osabi_h) $(gdb_string_h) $(i386_tdep_h) i386-cygwin-tdep.o: i386-cygwin-tdep.c $(defs_h) $(osabi_h) $(gdb_string_h) \ $(i386_tdep_h) i386fbsd-nat.o: i386fbsd-nat.c $(defs_h) $(inferior_h) $(regcache_h) \ - $(i386_tdep_h) $(bsd_kvm_h) + $(target_h) $(fbsd_nat_h) $(i386_tdep_h) $(i386bsd_nat_h) \ + $(bsd_kvm_h) i386fbsd-tdep.o: i386fbsd-tdep.c $(defs_h) $(arch_utils_h) $(osabi_h) \ $(i386_tdep_h) $(i387_tdep_h) $(solib_svr4_h) i386gnu-nat.o: i386gnu-nat.c $(defs_h) $(inferior_h) $(floatformat_h) \ @@ -1986,7 +2003,7 @@ i386ly-tdep.o: i386ly-tdep.c $(defs_h) $(gdbcore_h) $(inferior_h) \ $(regcache_h) $(target_h) $(osabi_h) $(i386_tdep_h) i386-nat.o: i386-nat.c $(defs_h) $(breakpoint_h) $(command_h) $(gdbcmd_h) i386nbsd-nat.o: i386nbsd-nat.c $(defs_h) $(gdbcore_h) $(regcache_h) \ - $(i386_tdep_h) $(bsd_kvm_h) + $(target_h) $(i386_tdep_h) $(i386bsd_nat_h) $(bsd_kvm_h) i386nbsd-tdep.o: i386nbsd-tdep.c $(defs_h) $(arch_utils_h) $(frame_h) \ $(gdbcore_h) $(regcache_h) $(regset_h) $(osabi_h) $(symtab_h) \ $(gdb_assert_h) $(gdb_string_h) $(i386_tdep_h) $(i387_tdep_h) \ @@ -2036,7 +2053,7 @@ infcall.o: infcall.c $(defs_h) $(breakpoint_h) $(target_h) $(regcache_h) \ $(objfiles_h) $(gdbcmd_h) $(command_h) $(gdb_string_h) $(infcall_h) \ $(dummy_frame_h) inf-child.o: inf-child.c $(defs_h) $(regcache_h) $(memattr_h) $(symtab_h) \ - $(target_h) $(inferior_h) + $(target_h) $(inferior_h) $(gdb_string_h) infcmd.o: infcmd.c $(defs_h) $(gdb_string_h) $(symtab_h) $(gdbtypes_h) \ $(frame_h) $(inferior_h) $(environ_h) $(value_h) $(gdbcmd_h) \ $(symfile_h) $(gdbcore_h) $(target_h) $(language_h) $(symfile_h) \ @@ -2050,7 +2067,7 @@ inflow.o: inflow.c $(defs_h) $(frame_h) $(inferior_h) $(command_h) \ $(inflow_h) inf-ptrace.o: inf-ptrace.c $(defs_h) $(observer_h) $(gdb_ptrace_h) \ $(inflow_h) $(inferior_h) $(regcache_h) $(command_h) $(gdbcore_h) \ - $(inf_child_h) $(gdbcmd_h) + $(inf_child_h) $(gdbcmd_h) $(gdb_string_h) infptrace.o: infptrace.c $(defs_h) $(command_h) $(frame_h) $(gdbcore_h) \ $(inferior_h) $(regcache_h) $(target_h) $(gdb_assert_h) \ $(gdb_wait_h) $(gdb_string_h) $(gdb_dirent_h) $(gdb_ptrace_h) @@ -2502,11 +2519,11 @@ sparc64nbsd-nat.o: sparc64nbsd-nat.c $(defs_h) $(regcache_h) \ $(sparc64_tdep_h) $(sparc_nat_h) $(bsd_kvm_h) sparc64nbsd-tdep.o: sparc64nbsd-tdep.c $(defs_h) $(frame_h) \ $(frame_unwind_h) $(gdbcore_h) $(osabi_h) $(regcache_h) $(regset_h) \ - $(symtab_h) $(solib_svr4_h) $(trad_frame_h) $(gdb_assert_h) \ - $(gdb_string_h) $(sparc64_tdep_h) $(nbsd_tdep_h) + $(symtab_h) $(objfiles_h) $(solib_svr4_h) $(trad_frame_h) \ + $(gdb_assert_h) $(gdb_string_h) $(sparc64_tdep_h) $(nbsd_tdep_h) sparc64obsd-tdep.o: sparc64obsd-tdep.c $(defs_h) $(frame_h) \ - $(frame_unwind_h) $(osabi_h) $(regset_h) $(symtab_h) $(solib_svr4_h) \ - $(trad_frame_h) $(gdb_assert_h) $(sparc64_tdep_h) $(nbsd_tdep_h) + $(frame_unwind_h) $(osabi_h) $(regset_h) $(symtab_h) $(objfiles_h) \ + $(solib_svr4_h) $(trad_frame_h) $(gdb_assert_h) $(sparc64_tdep_h) sparc64-sol2-tdep.o: sparc64-sol2-tdep.c $(defs_h) $(frame_h) \ $(frame_unwind_h) $(gdbarch_h) $(symtab_h) $(objfiles_h) $(osabi_h) \ $(trad_frame_h) $(gdb_assert_h) $(sparc64_tdep_h) $(solib_svr4_h) diff --git a/gdb/ada-exp.y b/gdb/ada-exp.y index 9e91817febd..73bd120a48f 100644 --- a/gdb/ada-exp.y +++ b/gdb/ada-exp.y @@ -126,6 +126,22 @@ static void write_object_renaming (struct block *, struct symbol *, int); static void write_var_from_name (struct block *, struct name_info); static LONGEST convert_char_literal (struct type *, LONGEST); + +static struct type *type_int (void); + +static struct type *type_long (void); + +static struct type *type_long_long (void); + +static struct type *type_float (void); + +static struct type *type_double (void); + +static struct type *type_long_double (void); + +static struct type *type_char (void); + +static struct type *type_system_address (void); %} %union @@ -426,17 +442,17 @@ simple_exp : simple_exp TICK_ACCESS | simple_exp TICK_ADDRESS { write_exp_elt_opcode (UNOP_ADDR); write_exp_elt_opcode (UNOP_CAST); - write_exp_elt_type (builtin_type_ada_system_address); + write_exp_elt_type (type_system_address ()); write_exp_elt_opcode (UNOP_CAST); } | simple_exp TICK_FIRST tick_arglist - { write_int ($3, builtin_type_int); + { write_int ($3, type_int ()); write_exp_elt_opcode (OP_ATR_FIRST); } | simple_exp TICK_LAST tick_arglist - { write_int ($3, builtin_type_int); + { write_int ($3, type_int ()); write_exp_elt_opcode (OP_ATR_LAST); } | simple_exp TICK_LENGTH tick_arglist - { write_int ($3, builtin_type_int); + { write_int ($3, type_int ()); write_exp_elt_opcode (OP_ATR_LENGTH); } | simple_exp TICK_SIZE { write_exp_elt_opcode (OP_ATR_SIZE); } @@ -449,13 +465,13 @@ simple_exp : simple_exp TICK_ACCESS | opt_type_prefix TICK_POS '(' exp ')' { write_exp_elt_opcode (OP_ATR_POS); } | type_prefix TICK_FIRST tick_arglist - { write_int ($3, builtin_type_int); + { write_int ($3, type_int ()); write_exp_elt_opcode (OP_ATR_FIRST); } | type_prefix TICK_LAST tick_arglist - { write_int ($3, builtin_type_int); + { write_int ($3, type_int ()); write_exp_elt_opcode (OP_ATR_LAST); } | type_prefix TICK_LENGTH tick_arglist - { write_int ($3, builtin_type_int); + { write_int ($3, type_int ()); write_exp_elt_opcode (OP_ATR_LENGTH); } | type_prefix TICK_VAL '(' exp ')' { write_exp_elt_opcode (OP_ATR_VAL); } @@ -505,7 +521,7 @@ exp : FLOAT ; exp : NULL_PTR - { write_int (0, builtin_type_int); } + { write_int (0, type_int ()); } ; exp : STRING @@ -666,8 +682,8 @@ write_var_from_name (struct block *orig_left_context, if (name.msym != NULL) { write_exp_msymbol (name.msym, - lookup_function_type (builtin_type_int), - builtin_type_int); + lookup_function_type (type_int ()), + type_int ()); } else if (name.sym == NULL) { @@ -779,7 +795,7 @@ write_object_renaming (struct block *orig_left_context, goto BadEncoding; suffix = next; write_exp_elt_opcode (OP_LONG); - write_exp_elt_type (builtin_type_ada_int); + write_exp_elt_type (type_int ()); write_exp_elt_longcst ((LONGEST) val); write_exp_elt_opcode (OP_LONG); } @@ -879,6 +895,58 @@ convert_char_literal (struct type *type, LONGEST val) return val; } +static struct type * +type_int (void) +{ + return builtin_type (current_gdbarch)->builtin_int; +} + +static struct type * +type_long (void) +{ + return builtin_type (current_gdbarch)->builtin_long; +} + +static struct type * +type_long_long (void) +{ + return builtin_type (current_gdbarch)->builtin_long_long; +} + +static struct type * +type_float (void) +{ + return builtin_type (current_gdbarch)->builtin_float; +} + +static struct type * +type_double (void) +{ + return builtin_type (current_gdbarch)->builtin_double; +} + +static struct type * +type_long_double (void) +{ + return builtin_type (current_gdbarch)->builtin_long_double; +} + +static struct type * +type_char (void) +{ + return language_string_char_type (current_language, current_gdbarch); +} + +static struct type * +type_system_address (void) +{ + struct type *type + = language_lookup_primitive_type_by_name (current_language, + current_gdbarch, + "system__address"); + return type != NULL ? type : lookup_pointer_type (builtin_type_void); +} + void _initialize_ada_exp (void) { diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index 51c5fb7ed1e..0babccadaef 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -192,8 +192,6 @@ static struct value *evaluate_subexp (struct type *, struct expression *, static struct value *evaluate_subexp_type (struct expression *, int *); -static struct type *ada_create_fundamental_type (struct objfile *, int); - static int is_dynamic_field (struct type *, int); static struct type *to_fixed_variant_branch_type (struct type *, char *, @@ -281,6 +279,11 @@ static int ada_is_direct_array_type (struct type *); static void error_breakpoint_runtime_sym_not_found (const char *err_desc); static int is_runtime_sym_defined (const char *name, int allow_tramp); + +static void ada_language_arch_info (struct gdbarch *, + struct language_arch_info *); + +static void check_size (const struct type *); @@ -753,6 +756,7 @@ ada_main_name (void) struct minimal_symbol *msym; CORE_ADDR main_program_name_addr; static char main_program_name[1024]; + /* For Ada, the name of the main procedure is stored in a specific string constant, generated by the binder. Look for that symbol, extract its address, and then read that string. If we didn't find @@ -2196,16 +2200,16 @@ ada_value_ptr_subscript (struct value *arr, struct type *type, int arity, the Ada slice of HIGH-LOW+1 elements starting at index LOW. The lower bound of this array is LOW, as per Ada rules. */ static struct value * -ada_value_slice_ptr (struct value *array_ptr, struct type *type, +ada_value_slice_ptr (struct value *array_ptr, struct type *type, int low, int high) { - CORE_ADDR base = value_as_address (array_ptr) + CORE_ADDR base = value_as_address (array_ptr) + ((low - TYPE_LOW_BOUND (TYPE_INDEX_TYPE (type))) * TYPE_LENGTH (TYPE_TARGET_TYPE (type))); - struct type *index_type = - create_range_type (NULL, TYPE_TARGET_TYPE (TYPE_INDEX_TYPE (type)), + struct type *index_type = + create_range_type (NULL, TYPE_TARGET_TYPE (TYPE_INDEX_TYPE (type)), low, high); - struct type *slice_type = + struct type *slice_type = create_array_type (NULL, TYPE_TARGET_TYPE (type), index_type); return value_from_pointer (lookup_reference_type (slice_type), base); } @@ -2215,11 +2219,11 @@ static struct value * ada_value_slice (struct value *array, int low, int high) { struct type *type = VALUE_TYPE (array); - struct type *index_type = + struct type *index_type = create_range_type (NULL, TYPE_INDEX_TYPE (type), low, high); - struct type *slice_type = + struct type *slice_type = create_array_type (NULL, TYPE_TARGET_TYPE (type), index_type); - return value_cast (slice_type, value_slice (array, low, high-low+1)); + return value_cast (slice_type, value_slice (array, low, high - low + 1)); } /* If type is a record type in the form of a standard GNAT array @@ -2439,7 +2443,7 @@ ada_array_length (struct value *arr, int n) } else return - value_from_longest (builtin_type_ada_int, + value_from_longest (builtin_type_int, value_as_long (desc_one_bound (desc_bounds (arr), n, 1)) - value_as_long (desc_one_bound (desc_bounds (arr), @@ -2452,7 +2456,7 @@ ada_array_length (struct value *arr, int n) static struct value * empty_array (struct type *arr_type, int low) { - struct type *index_type = + struct type *index_type = create_range_type (NULL, TYPE_TARGET_TYPE (TYPE_INDEX_TYPE (arr_type)), low, low - 1); struct type *elt_type = ada_array_element_type (arr_type, 1); @@ -6179,6 +6183,20 @@ extended_canonical_line_spec (struct symtab_and_line sal, const char *name) return r; } + + /* Exception-related */ + +int +ada_is_exception_sym (struct symbol *sym) +{ + char *type_name = type_name_no_tag (SYMBOL_TYPE (sym)); + + return (SYMBOL_CLASS (sym) != LOC_TYPEDEF + && SYMBOL_CLASS (sym) != LOC_BLOCK + && SYMBOL_CLASS (sym) != LOC_CONST + && type_name != NULL && strcmp (type_name, "exception") == 0); +} + /* Return type of Ada breakpoint associated with bp_stat: 0 if not an Ada-specific breakpoint, 1 for break on specific exception, 2 for break on unhandled exception, 3 for assert. */ @@ -6430,25 +6448,6 @@ ada_print_exception_breakpoint_task (struct breakpoint *b) } } -int -ada_is_exception_sym (struct symbol *sym) -{ - char *type_name = type_name_no_tag (SYMBOL_TYPE (sym)); - - return (SYMBOL_CLASS (sym) != LOC_TYPEDEF - && SYMBOL_CLASS (sym) != LOC_BLOCK - && SYMBOL_CLASS (sym) != LOC_CONST - && type_name != NULL && strcmp (type_name, "exception") == 0); -} - -int -ada_maybe_exception_partial_symbol (struct partial_symbol *sym) -{ - return (SYMBOL_CLASS (sym) != LOC_TYPEDEF - && SYMBOL_CLASS (sym) != LOC_BLOCK - && SYMBOL_CLASS (sym) != LOC_CONST); -} - /* Cause the appropriate error if no appropriate runtime symbol is found to set a breakpoint, using ERR_DESC to describe the breakpoint. */ @@ -6573,7 +6572,7 @@ ada_breakpoint_rewrite (char *arg, int *break_on_exceptionp) } return arg; } -#endif +#endif /* GNAT_GDB */ /* Field Access */ @@ -7720,9 +7719,8 @@ ada_template_to_fixed_record_type_1 (struct type *type, char *valaddr, for (f = 0; f < nfields; f += 1) { - off = - align_value (off, - field_alignment (type, f)) + TYPE_FIELD_BITPOS (type, f); + off = align_value (off, field_alignment (type, f)) + + TYPE_FIELD_BITPOS (type, f); TYPE_FIELD_BITPOS (rtype, f) = off; TYPE_FIELD_BITSIZE (rtype, f) = 0; @@ -8348,7 +8346,7 @@ pos_atr (struct value *arg) static struct value * value_pos_atr (struct value *arg) { - return value_from_longest (builtin_type_ada_int, pos_atr (arg)); + return value_from_longest (builtin_type_int, pos_atr (arg)); } /* Evaluate the TYPE'VAL attribute applied to ARG. */ @@ -9066,7 +9064,7 @@ ada_evaluate_subexp (struct type *expect_type, struct expression *exp, array = value_addr (array); if (noside == EVAL_AVOID_SIDE_EFFECTS - && ada_is_array_descriptor_type (check_typedef + && ada_is_array_descriptor_type (check_typedef (VALUE_TYPE (array)))) return empty_array (ada_type_of_array (array, 0), low_bound); @@ -9083,7 +9081,8 @@ ada_evaluate_subexp (struct type *expect_type, struct expression *exp, to_fixed_array_type (TYPE_TARGET_TYPE (VALUE_TYPE (array)), NULL, 1); return ada_value_slice_ptr (array, arr_type0, - (int) low_bound, (int) high_bound); + (int) low_bound, + (int) high_bound); } } else if (noside == EVAL_AVOID_SIDE_EFFECTS) @@ -9324,7 +9323,7 @@ ada_evaluate_subexp (struct type *expect_type, struct expression *exp, if (noside == EVAL_SKIP) goto nosideret; else if (noside == EVAL_AVOID_SIDE_EFFECTS) - return value_zero (builtin_type_ada_int, not_lval); + return value_zero (builtin_type_int, not_lval); else return value_pos_atr (arg1); @@ -9333,9 +9332,9 @@ ada_evaluate_subexp (struct type *expect_type, struct expression *exp, if (noside == EVAL_SKIP) goto nosideret; else if (noside == EVAL_AVOID_SIDE_EFFECTS) - return value_zero (builtin_type_ada_int, not_lval); + return value_zero (builtin_type_int, not_lval); else - return value_from_longest (builtin_type_ada_int, + return value_from_longest (builtin_type_int, TARGET_CHAR_BIT * TYPE_LENGTH (VALUE_TYPE (arg1))); @@ -10088,179 +10087,7 @@ static const struct op_print ada_op_print_tab[] = { {NULL, 0, 0, 0} }; - /* Assorted Types and Interfaces */ - -struct type *builtin_type_ada_int; -struct type *builtin_type_ada_short; -struct type *builtin_type_ada_long; -struct type *builtin_type_ada_long_long; -struct type *builtin_type_ada_char; -struct type *builtin_type_ada_float; -struct type *builtin_type_ada_double; -struct type *builtin_type_ada_long_double; -struct type *builtin_type_ada_natural; -struct type *builtin_type_ada_positive; -struct type *builtin_type_ada_system_address; - -struct type **const (ada_builtin_types[]) = -{ - &builtin_type_ada_int, - &builtin_type_ada_long, - &builtin_type_ada_short, - &builtin_type_ada_char, - &builtin_type_ada_float, - &builtin_type_ada_double, - &builtin_type_ada_long_long, - &builtin_type_ada_long_double, - &builtin_type_ada_natural, &builtin_type_ada_positive, - /* The following types are carried over from C for convenience. */ -&builtin_type_int, - &builtin_type_long, - &builtin_type_short, - &builtin_type_char, - &builtin_type_float, - &builtin_type_double, - &builtin_type_long_long, - &builtin_type_void, - &builtin_type_signed_char, - &builtin_type_unsigned_char, - &builtin_type_unsigned_short, - &builtin_type_unsigned_int, - &builtin_type_unsigned_long, - &builtin_type_unsigned_long_long, - &builtin_type_long_double, - &builtin_type_complex, &builtin_type_double_complex, 0}; - -/* Not really used, but needed in the ada_language_defn. */ - -static void -emit_char (int c, struct ui_file *stream, int quoter) -{ - ada_emit_char (c, stream, quoter, 1); -} - -static int -parse (void) -{ - warnings_issued = 0; - return ada_parse (); -} - -static const struct exp_descriptor ada_exp_descriptor = { - ada_print_subexp, - ada_operator_length, - ada_op_name, - ada_dump_subexp_body, - ada_evaluate_subexp -}; - -const struct language_defn ada_language_defn = { - "ada", /* Language name */ - language_ada, - ada_builtin_types, - range_check_off, - type_check_off, - case_sensitive_on, /* Yes, Ada is case-insensitive, but - that's not quite what this means. */ -#ifdef GNAT_GDB - ada_lookup_symbol, - ada_lookup_minimal_symbol, -#endif /* GNAT_GDB */ - array_row_major, - &ada_exp_descriptor, - parse, - ada_error, - resolve, - ada_printchar, /* Print a character constant */ - ada_printstr, /* Function to print string constant */ - emit_char, /* Function to print single char (not used) */ - ada_create_fundamental_type, /* Create fundamental type in this language */ - ada_print_type, /* Print a type using appropriate syntax */ - ada_val_print, /* Print a value using appropriate syntax */ - ada_value_print, /* Print a top-level value */ - NULL, /* Language specific skip_trampoline */ - NULL, /* value_of_this */ - ada_lookup_symbol_nonlocal, /* Looking up non-local symbols. */ - basic_lookup_transparent_type, /* lookup_transparent_type */ - ada_la_decode, /* Language specific symbol demangler */ - NULL, /* Language specific class_name_from_physname */ - ada_op_print_tab, /* expression operators for printing */ - 0, /* c-style arrays */ - 1, /* String lower bound */ - &builtin_type_ada_char, - ada_get_gdb_completer_word_break_characters, -#ifdef GNAT_GDB - ada_translate_error_message, /* Substitute Ada-specific terminology - in errors and warnings. */ -#endif /* GNAT_GDB */ - LANG_MAGIC -}; - -static void -build_ada_types (struct gdbarch *current_gdbarch) -{ - builtin_type_ada_int = - init_type (TYPE_CODE_INT, TARGET_INT_BIT / TARGET_CHAR_BIT, - 0, "integer", (struct objfile *) NULL); - builtin_type_ada_long = - init_type (TYPE_CODE_INT, TARGET_LONG_BIT / TARGET_CHAR_BIT, - 0, "long_integer", (struct objfile *) NULL); - builtin_type_ada_short = - init_type (TYPE_CODE_INT, TARGET_SHORT_BIT / TARGET_CHAR_BIT, - 0, "short_integer", (struct objfile *) NULL); - builtin_type_ada_char = - init_type (TYPE_CODE_INT, TARGET_CHAR_BIT / TARGET_CHAR_BIT, - 0, "character", (struct objfile *) NULL); - builtin_type_ada_float = - init_type (TYPE_CODE_FLT, TARGET_FLOAT_BIT / TARGET_CHAR_BIT, - 0, "float", (struct objfile *) NULL); - builtin_type_ada_double = - init_type (TYPE_CODE_FLT, TARGET_DOUBLE_BIT / TARGET_CHAR_BIT, - 0, "long_float", (struct objfile *) NULL); - builtin_type_ada_long_long = - init_type (TYPE_CODE_INT, TARGET_LONG_LONG_BIT / TARGET_CHAR_BIT, - 0, "long_long_integer", (struct objfile *) NULL); - builtin_type_ada_long_double = - init_type (TYPE_CODE_FLT, TARGET_LONG_DOUBLE_BIT / TARGET_CHAR_BIT, - 0, "long_long_float", (struct objfile *) NULL); - builtin_type_ada_natural = - init_type (TYPE_CODE_INT, TARGET_INT_BIT / TARGET_CHAR_BIT, - 0, "natural", (struct objfile *) NULL); - builtin_type_ada_positive = - init_type (TYPE_CODE_INT, TARGET_INT_BIT / TARGET_CHAR_BIT, - 0, "positive", (struct objfile *) NULL); - - - builtin_type_ada_system_address = - lookup_pointer_type (init_type (TYPE_CODE_VOID, 1, 0, "void", - (struct objfile *) NULL)); - TYPE_NAME (builtin_type_ada_system_address) = "system__address"; -} - -void -_initialize_ada_language (void) -{ - - build_ada_types (current_gdbarch); - gdbarch_data_register_post_init (build_ada_types); - add_language (&ada_language_defn); - - varsize_limit = 65536; -#ifdef GNAT_GDB - add_setshow_uinteger_cmd ("varsize-limit", class_support, - &varsize_limit, "\ -Set the maximum number of bytes allowed in a dynamic-sized object.", "\ -Show the maximum number of bytes allowed in a dynamic-sized object.", - NULL, NULL, &setlist, &showlist); - obstack_init (&cache_space); -#endif /* GNAT_GDB */ - - obstack_init (&symbol_list_obstack); - - decoded_names_store = htab_create_alloc - (256, htab_hash_string, (int (*)(const void *, const void *)) streq, - NULL, xcalloc, xfree); -} + /* Fundamental Ada Types */ /* Create a fundamental Ada type using default reasonable for the current target machine. @@ -10343,7 +10170,9 @@ ada_create_fundamental_type (struct objfile *objfile, int typeid) 0, "integer", objfile); break; case FT_SIGNED_INTEGER: - type = init_type (TYPE_CODE_INT, TARGET_INT_BIT / TARGET_CHAR_BIT, 0, "integer", objfile); /* FIXME -fnf */ + type = init_type (TYPE_CODE_INT, TARGET_INT_BIT / + TARGET_CHAR_BIT, + 0, "integer", objfile); /* FIXME -fnf */ break; case FT_UNSIGNED_INTEGER: type = init_type (TYPE_CODE_INT, @@ -10399,22 +10228,156 @@ ada_create_fundamental_type (struct objfile *objfile, int typeid) return (type); } +enum ada_primitive_types { + ada_primitive_type_int, + ada_primitive_type_long, + ada_primitive_type_short, + ada_primitive_type_char, + ada_primitive_type_float, + ada_primitive_type_double, + ada_primitive_type_void, + ada_primitive_type_long_long, + ada_primitive_type_long_double, + ada_primitive_type_natural, + ada_primitive_type_positive, + ada_primitive_type_system_address, + nr_ada_primitive_types +}; + +static void +ada_language_arch_info (struct gdbarch *current_gdbarch, + struct language_arch_info *lai) +{ + const struct builtin_type *builtin = builtin_type (current_gdbarch); + lai->primitive_type_vector + = GDBARCH_OBSTACK_CALLOC (current_gdbarch, nr_ada_primitive_types + 1, + struct type *); + lai->primitive_type_vector [ada_primitive_type_int] = + init_type (TYPE_CODE_INT, TARGET_INT_BIT / TARGET_CHAR_BIT, + 0, "integer", (struct objfile *) NULL); + lai->primitive_type_vector [ada_primitive_type_long] = + init_type (TYPE_CODE_INT, TARGET_LONG_BIT / TARGET_CHAR_BIT, + 0, "long_integer", (struct objfile *) NULL); + lai->primitive_type_vector [ada_primitive_type_short] = + init_type (TYPE_CODE_INT, TARGET_SHORT_BIT / TARGET_CHAR_BIT, + 0, "short_integer", (struct objfile *) NULL); + lai->primitive_type_vector [ada_primitive_type_char] = + init_type (TYPE_CODE_INT, TARGET_CHAR_BIT / TARGET_CHAR_BIT, + 0, "character", (struct objfile *) NULL); + lai->string_char_type = builtin->builtin_char; + lai->primitive_type_vector [ada_primitive_type_float] = + init_type (TYPE_CODE_FLT, TARGET_FLOAT_BIT / TARGET_CHAR_BIT, + 0, "float", (struct objfile *) NULL); + lai->primitive_type_vector [ada_primitive_type_double] = + init_type (TYPE_CODE_FLT, TARGET_DOUBLE_BIT / TARGET_CHAR_BIT, + 0, "long_float", (struct objfile *) NULL); + lai->primitive_type_vector [ada_primitive_type_long_long] = + init_type (TYPE_CODE_INT, TARGET_LONG_LONG_BIT / TARGET_CHAR_BIT, + 0, "long_long_integer", (struct objfile *) NULL); + lai->primitive_type_vector [ada_primitive_type_long_double] = + init_type (TYPE_CODE_FLT, TARGET_LONG_DOUBLE_BIT / TARGET_CHAR_BIT, + 0, "long_long_float", (struct objfile *) NULL); + lai->primitive_type_vector [ada_primitive_type_natural] = + init_type (TYPE_CODE_INT, TARGET_INT_BIT / TARGET_CHAR_BIT, + 0, "natural", (struct objfile *) NULL); + lai->primitive_type_vector [ada_primitive_type_positive] = + init_type (TYPE_CODE_INT, TARGET_INT_BIT / TARGET_CHAR_BIT, + 0, "positive", (struct objfile *) NULL); + lai->primitive_type_vector [ada_primitive_type_void] = builtin->builtin_void; + + lai->primitive_type_vector [ada_primitive_type_system_address] = + lookup_pointer_type (init_type (TYPE_CODE_VOID, 1, 0, "void", + (struct objfile *) NULL)); + TYPE_NAME (lai->primitive_type_vector [ada_primitive_type_system_address]) + = "system__address"; +} + + /* Language vector */ + +/* Not really used, but needed in the ada_language_defn. */ + +static void +emit_char (int c, struct ui_file *stream, int quoter) +{ + ada_emit_char (c, stream, quoter, 1); +} + +static int +parse (void) +{ + warnings_issued = 0; + return ada_parse (); +} + +static const struct exp_descriptor ada_exp_descriptor = { + ada_print_subexp, + ada_operator_length, + ada_op_name, + ada_dump_subexp_body, + ada_evaluate_subexp +}; + +const struct language_defn ada_language_defn = { + "ada", /* Language name */ + language_ada, + NULL, + range_check_off, + type_check_off, + case_sensitive_on, /* Yes, Ada is case-insensitive, but + that's not quite what this means. */ +#ifdef GNAT_GDB + ada_lookup_symbol, + ada_lookup_minimal_symbol, +#endif /* GNAT_GDB */ + array_row_major, + &ada_exp_descriptor, + parse, + ada_error, + resolve, + ada_printchar, /* Print a character constant */ + ada_printstr, /* Function to print string constant */ + emit_char, /* Function to print single char (not used) */ + ada_create_fundamental_type, /* Create fundamental type in this language */ + ada_print_type, /* Print a type using appropriate syntax */ + ada_val_print, /* Print a value using appropriate syntax */ + ada_value_print, /* Print a top-level value */ + NULL, /* Language specific skip_trampoline */ + NULL, /* value_of_this */ + ada_lookup_symbol_nonlocal, /* Looking up non-local symbols. */ + basic_lookup_transparent_type, /* lookup_transparent_type */ + ada_la_decode, /* Language specific symbol demangler */ + NULL, /* Language specific class_name_from_physname */ + ada_op_print_tab, /* expression operators for printing */ + 0, /* c-style arrays */ + 1, /* String lower bound */ + NULL, + ada_get_gdb_completer_word_break_characters, + ada_language_arch_info, +#ifdef GNAT_GDB + ada_translate_error_message, /* Substitute Ada-specific terminology + in errors and warnings. */ +#endif /* GNAT_GDB */ + LANG_MAGIC +}; + void -ada_dump_symtab (struct symtab *s) +_initialize_ada_language (void) { - int i; - fprintf (stderr, "New symtab: [\n"); - fprintf (stderr, " Name: %s/%s;\n", - s->dirname ? s->dirname : "?", s->filename ? s->filename : "?"); - fprintf (stderr, " Format: %s;\n", s->debugformat); - if (s->linetable != NULL) - { - fprintf (stderr, " Line table (section %d):\n", s->block_line_section); - for (i = 0; i < s->linetable->nitems; i += 1) - { - struct linetable_entry *e = s->linetable->item + i; - fprintf (stderr, " %4ld: %8lx\n", (long) e->line, (long) e->pc); - } - } - fprintf (stderr, "]\n"); + add_language (&ada_language_defn); + + varsize_limit = 65536; +#ifdef GNAT_GDB + add_setshow_uinteger_cmd ("varsize-limit", class_support, + &varsize_limit, "\ +Set the maximum number of bytes allowed in a dynamic-sized object.", "\ +Show the maximum number of bytes allowed in a dynamic-sized object.", + NULL, NULL, &setlist, &showlist); + obstack_init (&cache_space); +#endif /* GNAT_GDB */ + + obstack_init (&symbol_list_obstack); + + decoded_names_store = htab_create_alloc + (256, htab_hash_string, (int (*)(const void *, const void *)) streq, + NULL, xcalloc, xfree); } diff --git a/gdb/ada-lang.h b/gdb/ada-lang.h index 12eaf4bcb3f..931fd8eb3cf 100644 --- a/gdb/ada-lang.h +++ b/gdb/ada-lang.h @@ -160,18 +160,6 @@ struct task_entry int stack_per; }; -extern struct type *builtin_type_ada_int; -extern struct type *builtin_type_ada_short; -extern struct type *builtin_type_ada_long; -extern struct type *builtin_type_ada_long_long; -extern struct type *builtin_type_ada_char; -extern struct type *builtin_type_ada_float; -extern struct type *builtin_type_ada_double; -extern struct type *builtin_type_ada_long_double; -extern struct type *builtin_type_ada_natural; -extern struct type *builtin_type_ada_positive; -extern struct type *builtin_type_ada_system_address; - /* The maximum number of tasks known to the Ada runtime. */ extern const int MAX_NUMBER_OF_KNOWN_TASKS; diff --git a/gdb/ada-lex.l b/gdb/ada-lex.l index 21dba2c021b..6ecd849cdbc 100644 --- a/gdb/ada-lex.l +++ b/gdb/ada-lex.l @@ -144,14 +144,14 @@ static int find_dot_all (const char *); } "'"({GRAPHIC}|\")"'" { - yylval.typed_val.type = builtin_type_ada_char; + yylval.typed_val.type = type_char (); yylval.typed_val.val = yytext[1]; return CHARLIT; } "'[\""{HEXDIG}{2}"\"]'" { int v; - yylval.typed_val.type = builtin_type_ada_char; + yylval.typed_val.type = type_char (); sscanf (yytext+3, "%2x", &v); yylval.typed_val.val = v; return CHARLIT; @@ -478,9 +478,9 @@ processInt (const char *base0, const char *num0, const char *exp0) } if ((result >> (TARGET_INT_BIT-1)) == 0) - yylval.typed_val.type = builtin_type_ada_int; + yylval.typed_val.type = type_int (); else if ((result >> (TARGET_LONG_BIT-1)) == 0) - yylval.typed_val.type = builtin_type_ada_long; + yylval.typed_val.type = type_long (); else if (((result >> (TARGET_LONG_BIT-1)) >> 1) == 0) { /* We have a number representable as an unsigned integer quantity. @@ -500,7 +500,7 @@ processInt (const char *base0, const char *num0, const char *exp0) return INT; } else - yylval.typed_val.type = builtin_type_ada_long_long; + yylval.typed_val.type = type_long_long (); yylval.typed_val.val = (LONGEST) result; return INT; @@ -527,11 +527,11 @@ processReal (const char *num0) yylval.typed_val_float.dval = temp; } - yylval.typed_val_float.type = builtin_type_ada_float; + yylval.typed_val_float.type = type_float (); if (sizeof(DOUBLEST) >= TARGET_DOUBLE_BIT / TARGET_CHAR_BIT) - yylval.typed_val_float.type = builtin_type_ada_double; + yylval.typed_val_float.type = type_double (); if (sizeof(DOUBLEST) >= TARGET_LONG_DOUBLE_BIT / TARGET_CHAR_BIT) - yylval.typed_val_float.type = builtin_type_ada_long_double; + yylval.typed_val_float.type = type_long_double (); return FLOAT; } @@ -745,7 +745,7 @@ name_lookup (char *name0, char *err_name, int *token_type, int depth) current_gdbarch, name); if (type == NULL && strcmp ("system__address", name) == 0) - type = builtin_type_ada_system_address; + type = type_system_address (); if (type != NULL) { /* First check to see if we have a regular definition of this diff --git a/gdb/ada-typeprint.c b/gdb/ada-typeprint.c index fb9c690f820..5e3385c94ab 100644 --- a/gdb/ada-typeprint.c +++ b/gdb/ada-typeprint.c @@ -149,7 +149,7 @@ print_range (struct type *type, struct ui_file *stream) case TYPE_CODE_ENUM: break; default: - target_type = builtin_type_ada_int; + target_type = builtin_type_int; break; } diff --git a/gdb/config/i386/fbsd.mh b/gdb/config/i386/fbsd.mh index 6f539f79eee..fbbe5bf7135 100644 --- a/gdb/config/i386/fbsd.mh +++ b/gdb/config/i386/fbsd.mh @@ -1,7 +1,7 @@ # Host: FreeBSD/i386 -NATDEPFILES= fork-child.o infptrace.o inftarg.o \ - i386-nat.o i386bsd-nat.o i386fbsd-nat.o \ - gcore.o fbsd-proc.o bsd-kvm.o +NATDEPFILES= fork-child.o inf-child.o inf-ptrace.o infptrace.o \ + fbsd-nat.o i386-nat.o i386bsd-nat.o i386fbsd-nat.o \ + gcore.o bsd-kvm.o NAT_FILE= nm-fbsd.h LOADLIBES= -lkvm diff --git a/gdb/config/i386/nbsdaout.mh b/gdb/config/i386/nbsdaout.mh index d9b94f0d263..9f5e6c4910f 100644 --- a/gdb/config/i386/nbsdaout.mh +++ b/gdb/config/i386/nbsdaout.mh @@ -1,4 +1,7 @@ # Host: NetBSD/i386 a.out -NATDEPFILES= fork-child.o infptrace.o inftarg.o i386bsd-nat.o \ +NATDEPFILES= fork-child.o inf-child.o inf-ptrace.o infptrace.o + i386bsd-nat.o i386nbsd-nat.o bsd-kvm.o \ solib.o solib-sunos.o NAT_FILE= nm-nbsdaout.h + +LOADLIBES= -lkvm diff --git a/gdb/config/i386/nbsdelf.mh b/gdb/config/i386/nbsdelf.mh index 4f9a6fdef88..2e5707d1b9d 100644 --- a/gdb/config/i386/nbsdelf.mh +++ b/gdb/config/i386/nbsdelf.mh @@ -1,5 +1,5 @@ # Host: NetBSD/i386 ELF -NATDEPFILES= fork-child.o infptrace.o inftarg.o \ +NATDEPFILES= fork-child.o inf-child.o inf-ptrace.o infptrace.o \ i386bsd-nat.o i386nbsd-nat.o bsd-kvm.o NAT_FILE= config/nm-nbsd.h diff --git a/gdb/config/i386/nm-fbsd.h b/gdb/config/i386/nm-fbsd.h index 4c5683bcbd9..1caff24e179 100644 --- a/gdb/config/i386/nm-fbsd.h +++ b/gdb/config/i386/nm-fbsd.h @@ -54,12 +54,6 @@ extern unsigned long i386bsd_dr_get_status (void); /* Get generic BSD native definitions. */ #include "config/nm-bsd.h" - -/* Override child_resume in `infptrace.c' to work around a kernel bug. */ -#define CHILD_RESUME - -/* Override child_pid_to_exec_file in 'inftarg.c'. */ -#define CHILD_PID_TO_EXEC_FILE /* Support for the user struct. */ @@ -68,16 +62,6 @@ extern unsigned long i386bsd_dr_get_status (void); #define KERNEL_U_SIZE kernel_u_size () extern int kernel_u_size (void); - -/* This is the amount to subtract from u.u_ar0 - to get the offset in the core file of the register values. */ - -#include -#define KERNEL_U_ADDR USRSTACK - -#define REGISTER_U_ADDR(addr, blockend, regno) \ - (addr) = register_u_addr ((blockend), (regno)) -extern CORE_ADDR register_u_addr (CORE_ADDR blockend, int regno); /* Shared library support. */ diff --git a/gdb/config/i386/nm-linux.h b/gdb/config/i386/nm-linux.h index 1df875fd57b..40c3e05ec0b 100644 --- a/gdb/config/i386/nm-linux.h +++ b/gdb/config/i386/nm-linux.h @@ -80,7 +80,7 @@ extern int cannot_store_register (int regno); #endif /* Override child_resume in `infptrace.c'. */ -#define CHILD_RESUME +#define DEPRECATED_CHILD_RESUME /* `linux-nat.c' and `i386-nat.c' have their own versions of child_post_startup_inferior. Define this to use the copy in diff --git a/gdb/config/i386/nm-obsd.h b/gdb/config/i386/nm-obsd.h index 7fd32ca7c43..99d8b61b891 100644 --- a/gdb/config/i386/nm-obsd.h +++ b/gdb/config/i386/nm-obsd.h @@ -31,16 +31,6 @@ #define KERNEL_U_SIZE kernel_u_size () extern int kernel_u_size (void); - -/* This is the amount to subtract from u.u_ar0 - to get the offset in the core file of the register values. */ - -#include -#define KERNEL_U_ADDR USRSTACK - -#define REGISTER_U_ADDR(addr, blockend, regno) \ - (addr) = register_u_addr ((blockend), (regno)) -extern CORE_ADDR register_u_addr (CORE_ADDR blockend, int regno); /* Shared library support. */ diff --git a/gdb/config/i386/obsd.mh b/gdb/config/i386/obsd.mh index 5e5781c7aaf..103ccecf8cd 100644 --- a/gdb/config/i386/obsd.mh +++ b/gdb/config/i386/obsd.mh @@ -1,7 +1,6 @@ # Host: OpenBSD/i386 ELF -NATDEPFILES= fork-child.o infptrace.o inftarg.o \ +NATDEPFILES= fork-child.o inf-child.o inf-ptrace.o infptrace.o \ i386bsd-nat.o i386obsd-nat.o i386nbsd-nat.o bsd-kvm.o NAT_FILE= nm-obsd.h LOADLIBES= -lkvm - diff --git a/gdb/config/i386/obsdaout.mh b/gdb/config/i386/obsdaout.mh index 7b6850f6ef7..656353da932 100644 --- a/gdb/config/i386/obsdaout.mh +++ b/gdb/config/i386/obsdaout.mh @@ -1,4 +1,7 @@ # Host: OpenBSD/i386 a.out -NATDEPFILES= fork-child.o infptrace.o inftarg.o i386bsd-nat.o i386obsd-nat.o \ +NATDEPFILES= fork-child.o inf-child.o inf-ptrace.o infptrace.o \ + i386bsd-nat.o i386nbsd-nat.o i386obsd-nat.o bsd-kvm.o \ solib.o solib-sunos.o NAT_FILE= nm-obsd.h + +LOADLIBES= -lkvm diff --git a/gdb/config/nm-linux.h b/gdb/config/nm-linux.h index 870e40d34dc..fc784e3e833 100644 --- a/gdb/config/nm-linux.h +++ b/gdb/config/nm-linux.h @@ -68,7 +68,7 @@ extern void lin_thread_get_thread_signals (sigset_t *mask); #define CHILD_POST_STARTUP_INFERIOR #define CHILD_POST_ATTACH #define CHILD_FOLLOW_FORK -#define KILL_INFERIOR +#define DEPRECATED_KILL_INFERIOR #define NATIVE_XFER_AUXV procfs_xfer_auxv #include "auxv.h" /* Declares it. */ diff --git a/gdb/config/nm-lynx.h b/gdb/config/nm-lynx.h index 4a55a13c960..d4ff5a468e9 100644 --- a/gdb/config/nm-lynx.h +++ b/gdb/config/nm-lynx.h @@ -64,7 +64,7 @@ struct target_waitstatus; /* Override child_resume in infptrace.c */ -#define CHILD_RESUME +#define DEPRECATED_CHILD_RESUME /* Override child_thread_alive in intarg.c */ diff --git a/gdb/config/pa/hpux1020.mh b/gdb/config/pa/hpux1020.mh index 9a727eb67c6..ac253838270 100644 --- a/gdb/config/pa/hpux1020.mh +++ b/gdb/config/pa/hpux1020.mh @@ -4,7 +4,7 @@ # stop GDB hanging on HP/UX. For some reason vfork() hangs yet fork() # doesn't .... -MH_CFLAGS = -D__HP_CURSES -Dvfork=fork +MH_CFLAGS = -Dvfork=fork NAT_FILE= nm-hppah.h NATDEPFILES= hppah-nat.o corelow.o core-aout.o inftarg.o fork-child.o infptrace.o somread.o hpread.o somsolib.o diff --git a/gdb/config/pa/hpux11.mh b/gdb/config/pa/hpux11.mh index b5466ffa1f7..1ad2a4e7f96 100644 --- a/gdb/config/pa/hpux11.mh +++ b/gdb/config/pa/hpux11.mh @@ -4,7 +4,7 @@ # stop GDB hanging on HP/UX. For some reason vfork() hangs yet fork() # doesn't .... -MH_CFLAGS = -D__HP_CURSES -Dvfork=fork +MH_CFLAGS = -Dvfork=fork NAT_FILE= nm-hppah11.h NATDEPFILES= hppah-nat.o corelow.o core-aout.o inftarg.o fork-child.o infttrace.o somread.o hpread.o somsolib.o diff --git a/gdb/config/pa/hpux11w.mh b/gdb/config/pa/hpux11w.mh index c59f3fc78b5..51c9f2c9fb7 100644 --- a/gdb/config/pa/hpux11w.mh +++ b/gdb/config/pa/hpux11w.mh @@ -4,7 +4,7 @@ # stop GDB hanging on HP/UX. For some reason vfork() hangs yet fork() # doesn't .... -MH_CFLAGS = -D__HP_CURSES -Dvfork=fork +MH_CFLAGS = -Dvfork=fork NAT_FILE= nm-hppah11.h NATDEPFILES= hppah-nat.o corelow.o core-aout.o inftarg.o fork-child.o infttrace.o hpread.o pa64solib.o solib.o diff --git a/gdb/config/sparc/nbsd64.mt b/gdb/config/sparc/nbsd64.mt index 6d8eb1b3050..9264eddbf3f 100644 --- a/gdb/config/sparc/nbsd64.mt +++ b/gdb/config/sparc/nbsd64.mt @@ -2,4 +2,4 @@ TDEPFILES= sparc64-tdep.o sparc64nbsd-tdep.o \ sparc-tdep.o sparcnbsd-tdep.o nbsd-tdep.o \ corelow.o solib.o solib-svr4.o -DEPRECATED_TM_FILE= tm-nbsd.h +DEPRECATED_TM_FILE= solib.h diff --git a/gdb/config/sparc/obsd.mt b/gdb/config/sparc/obsd.mt index 0dffffcfae8..a24b7e9ad64 100644 --- a/gdb/config/sparc/obsd.mt +++ b/gdb/config/sparc/obsd.mt @@ -1,4 +1,4 @@ # Target: OpenBSD/sparc TDEPFILES= sparc-tdep.o sparcnbsd-tdep.o sparcobsd-tdep.o nbsd-tdep.o \ corelow.o solib.o solib-svr4.o -DEPRECATED_TM_FILE= tm-nbsd.h +DEPRECATED_TM_FILE= solib.h diff --git a/gdb/config/sparc/obsd64.mt b/gdb/config/sparc/obsd64.mt index 8f5ef801aaa..8514db18698 100644 --- a/gdb/config/sparc/obsd64.mt +++ b/gdb/config/sparc/obsd64.mt @@ -2,4 +2,4 @@ TDEPFILES= sparc64-tdep.o sparc64nbsd-tdep.o sparc64obsd-tdep.o \ sparc-tdep.o sparcnbsd-tdep.o sparcobsd-tdep.o nbsd-tdep.o \ corelow.o solib.o solib-svr4.o -DEPRECATED_TM_FILE= tm-nbsd.h +DEPRECATED_TM_FILE= solib.h diff --git a/gdb/configure b/gdb/configure index 349fdfd9fac..16482244055 100755 --- a/gdb/configure +++ b/gdb/configure @@ -3096,7 +3096,7 @@ fi if test x"$enable_tui" = xyes; then if test -d $srcdir/tui; then - if test "$ac_cv_search_initscr" != no -a "$ac_cv_search_wborder" != no; then + if test "$ac_cv_search_mvwaddstr" != no; then CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_TUI_OBS)" CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_TUI_DEPS)" CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_TUI_SRCS)" @@ -4066,67 +4066,60 @@ else : fi -# Since GDB uses Readline, we need termcap functionality, so we need -# to find a library that provides that. When GDB is configured with -# the TUI, we need full curses functionality. +# For the TUI, we need enhanced curses functionality. +# +# FIXME: kettenis/20040905: We prefer ncurses over the vendor-supplied +# curses library because the latter might not provide all the +# functionality we need. However, this leads to problems on systems +# where the linker searches /usr/local/lib, but the compiler doesn't +# search /usr/local/include if ncurses is installed in /usr/local. A +# default installation of ncurses on alpha*-dec-osf* will lead to such +# a situation. -case $host_os in - cygwin*) - if test -d $srcdir/libtermcap; then - LIBS="../libtermcap/libtermcap.a $LIBS" - ac_cv_search_tgetent="../libtermcap/libtermcap.a" - fi ;; - go32* | *djgpp*) - ac_cv_search_tgetent="none required" - ;; - aix*) - # Readline prefers curses over termcap on AIX. - # ??? Why? - -echo $ac_n "checking for library containing tgetent""... $ac_c" 1>&6 -echo "configure:4088: checking for library containing tgetent" >&5 -if eval "test \"`echo '$''{'ac_cv_search_tgetent'+set}'`\" = set"; then +echo $ac_n "checking for library containing mvwaddstr""... $ac_c" 1>&6 +echo "configure:4081: checking for library containing mvwaddstr" >&5 +if eval "test \"`echo '$''{'ac_cv_search_mvwaddstr'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_func_search_save_LIBS="$LIBS" -ac_cv_search_tgetent="no" +ac_cv_search_mvwaddstr="no" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4099: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* - ac_cv_search_tgetent="none required" + ac_cv_search_mvwaddstr="none required" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -f conftest* -test "$ac_cv_search_tgetent" = "no" && for i in tinfo ncurses curses termcap; do +test "$ac_cv_search_mvwaddstr" = "no" && for i in ncurses cursesX curses; do LIBS="-l$i $ac_func_search_save_LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4121: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* - ac_cv_search_tgetent="-l$i" + ac_cv_search_mvwaddstr="-l$i" break else echo "configure: failed program was:" >&5 @@ -4137,28 +4130,44 @@ done LIBS="$ac_func_search_save_LIBS" fi -echo "$ac_t""$ac_cv_search_tgetent" 1>&6 -if test "$ac_cv_search_tgetent" != "no"; then - test "$ac_cv_search_tgetent" = "none required" || LIBS="$ac_cv_search_tgetent $LIBS" +echo "$ac_t""$ac_cv_search_mvwaddstr" 1>&6 +if test "$ac_cv_search_mvwaddstr" != "no"; then + test "$ac_cv_search_mvwaddstr" = "none required" || LIBS="$ac_cv_search_mvwaddstr $LIBS" else : fi + +if test "$ac_cv_search_mvwaddstr" = no; then + echo "configure: warning: no curses library found" 1>&2 +fi + +# Since GDB uses Readline, we need termcap functionality. In many +# cases this will be provided by the curses library, but some systems +# have a seperate termcap library, or no curses library at all. + +case $host_os in + cygwin*) + if test -d $srcdir/libtermcap; then + LIBS="../libtermcap/libtermcap.a $LIBS" + ac_cv_search_tgetent="../libtermcap/libtermcap.a" + fi ;; + go32* | *djgpp*) + ac_cv_search_tgetent="none required" ;; esac -# Note: We used to check for libtermlib and libterminfo too, but -# Readline doesn't, so I think we're safe with leaving them out. +# These are the libraries checked by Readline. echo $ac_n "checking for library containing tgetent""... $ac_c" 1>&6 -echo "configure:4155: checking for library containing tgetent" >&5 +echo "configure:4164: checking for library containing tgetent" >&5 if eval "test \"`echo '$''{'ac_cv_search_tgetent'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_func_search_save_LIBS="$LIBS" ac_cv_search_tgetent="no" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4182: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_tgetent="none required" else @@ -4177,10 +4186,10 @@ else cat conftest.$ac_ext >&5 fi rm -f conftest* -test "$ac_cv_search_tgetent" = "no" && for i in termcap tinfo ncurses Hcurses curses; do +test "$ac_cv_search_tgetent" = "no" && for i in termcap tinfo curses ncurses; do LIBS="-l$i $ac_func_search_save_LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4204: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_tgetent="-l$i" break @@ -4216,152 +4225,6 @@ if test "$ac_cv_search_tgetent" = no; then { echo "configure: error: no termcap library found" 1>&2; exit 1; } fi -# FIXME: kettenis/20030102: We seem to prefer HP curses (Hcurses) over -# Xcurses on HP-UX; see the `-D__HP_CURSES' in the relevant host -# Makefile fragments. That's why we need to have `Hcurses' before -# `curses'. I don't see why we should use HP curses if a more -# standard curses is available, except that according to HP's -# documentation one needs to compile `-D_XOPEN_SOURCE_EXTENDED' on -# HP-UX 10.10 and 10.20. - -# FIXME: ncurses does not work on native alphaev68-dec-osf5.1, -# and probably other platforms. AC_SEARCH_LIBS finds the library -# in a place such as /usr/local/lib/libncurses.a, but does not -# do anything to look for the matching include files. -# -- chastain 2004-05-01 - - -echo $ac_n "checking for library containing initscr""... $ac_c" 1>&6 -echo "configure:4236: checking for library containing initscr" >&5 -if eval "test \"`echo '$''{'ac_cv_search_initscr'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_func_search_save_LIBS="$LIBS" -ac_cv_search_initscr="no" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_cv_search_initscr="none required" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -f conftest* -test "$ac_cv_search_initscr" = "no" && for i in ncurses Hcurses cursesX curses pdcurses; do -LIBS="-l$i $ac_func_search_save_LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_cv_search_initscr="-l$i" -break -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -f conftest* -done -LIBS="$ac_func_search_save_LIBS" -fi - -echo "$ac_t""$ac_cv_search_initscr" 1>&6 -if test "$ac_cv_search_initscr" != "no"; then - test "$ac_cv_search_initscr" = "none required" || LIBS="$ac_cv_search_initscr $LIBS" - -else : - echo "configure: warning: no curses library found" 1>&2 -fi - -# Check whether the wborder function is provided by the curses -# library detected above. In certain implementations such as -# the HP/UX Hcurses for instance, this function is provided by an -# additional library. So if we did not find this function inside -# the curses library, try some alternate libraries we know might -# provide it. - -echo $ac_n "checking for library containing wborder""... $ac_c" 1>&6 -echo "configure:4305: checking for library containing wborder" >&5 -if eval "test \"`echo '$''{'ac_cv_search_wborder'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_func_search_save_LIBS="$LIBS" -ac_cv_search_wborder="no" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_cv_search_wborder="none required" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -f conftest* -test "$ac_cv_search_wborder" = "no" && for i in cur_colr; do -LIBS="-l$i $ac_func_search_save_LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_cv_search_wborder="-l$i" -break -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -f conftest* -done -LIBS="$ac_func_search_save_LIBS" -fi - -echo "$ac_t""$ac_cv_search_wborder" 1>&6 -if test "$ac_cv_search_wborder" != "no"; then - test "$ac_cv_search_wborder" = "none required" || LIBS="$ac_cv_search_wborder $LIBS" - -else : - echo "configure: warning: wborder function not found, tui will be disabled" 1>&2 -fi - # ------------------------- # # Checks for header files. # # ------------------------- # @@ -4371,12 +4234,12 @@ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6 -echo "configure:4375: checking for $ac_hdr that defines DIR" >&5 +echo "configure:4238: checking for $ac_hdr that defines DIR" >&5 if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include <$ac_hdr> @@ -4384,7 +4247,7 @@ int main() { DIR *dirp = 0; ; return 0; } EOF -if { (eval echo configure:4388: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4251: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "ac_cv_header_dirent_$ac_safe=yes" else @@ -4409,7 +4272,7 @@ done # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6 -echo "configure:4413: checking for opendir in -ldir" >&5 +echo "configure:4276: checking for opendir in -ldir" >&5 ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4417,7 +4280,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ldir $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4295: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4450,7 +4313,7 @@ fi else echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 -echo "configure:4454: checking for opendir in -lx" >&5 +echo "configure:4317: checking for opendir in -lx" >&5 ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4458,7 +4321,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lx $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4336: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4492,12 +4355,12 @@ fi fi echo $ac_n "checking whether stat file-mode macros are broken""... $ac_c" 1>&6 -echo "configure:4496: checking whether stat file-mode macros are broken" >&5 +echo "configure:4359: checking whether stat file-mode macros are broken" >&5 if eval "test \"`echo '$''{'ac_cv_header_stat_broken'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -4548,12 +4411,12 @@ EOF fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:4552: checking for ANSI C header files" >&5 +echo "configure:4415: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -4561,7 +4424,7 @@ else #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4565: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4428: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4578,7 +4441,7 @@ rm -f conftest* if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -4596,7 +4459,7 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -4617,7 +4480,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -4628,7 +4491,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:4632: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4495: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -4655,17 +4518,17 @@ for ac_hdr in link.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4659: checking for $ac_hdr" >&5 +echo "configure:4522: checking for $ac_hdr" >&5 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:4669: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4532: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4695,17 +4558,17 @@ for ac_hdr in machine/reg.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4699: checking for $ac_hdr" >&5 +echo "configure:4562: checking for $ac_hdr" >&5 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:4709: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4572: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4735,17 +4598,17 @@ for ac_hdr in nlist.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4739: checking for $ac_hdr" >&5 +echo "configure:4602: checking for $ac_hdr" >&5 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:4749: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4612: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4775,17 +4638,17 @@ for ac_hdr in poll.h sys/poll.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4779: checking for $ac_hdr" >&5 +echo "configure:4642: checking for $ac_hdr" >&5 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:4789: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4652: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4815,17 +4678,17 @@ for ac_hdr in proc_service.h thread_db.h gnu/libc-version.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4819: checking for $ac_hdr" >&5 +echo "configure:4682: checking for $ac_hdr" >&5 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:4829: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4692: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4855,17 +4718,17 @@ for ac_hdr in stddef.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4859: checking for $ac_hdr" >&5 +echo "configure:4722: checking for $ac_hdr" >&5 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:4869: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4732: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4895,17 +4758,17 @@ for ac_hdr in stdlib.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4899: checking for $ac_hdr" >&5 +echo "configure:4762: checking for $ac_hdr" >&5 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:4909: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4772: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4935,17 +4798,17 @@ for ac_hdr in stdint.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4939: checking for $ac_hdr" >&5 +echo "configure:4802: checking for $ac_hdr" >&5 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:4949: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4812: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4975,17 +4838,17 @@ for ac_hdr in string.h memory.h strings.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4979: checking for $ac_hdr" >&5 +echo "configure:4842: checking for $ac_hdr" >&5 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:4989: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4852: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5015,17 +4878,17 @@ for ac_hdr in sys/fault.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5019: checking for $ac_hdr" >&5 +echo "configure:4882: checking for $ac_hdr" >&5 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:5029: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4892: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5055,17 +4918,17 @@ for ac_hdr in sys/file.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5059: checking for $ac_hdr" >&5 +echo "configure:4922: checking for $ac_hdr" >&5 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:5069: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4932: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5095,17 +4958,17 @@ for ac_hdr in sys/filio.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5099: checking for $ac_hdr" >&5 +echo "configure:4962: checking for $ac_hdr" >&5 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:5109: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4972: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5135,17 +4998,17 @@ for ac_hdr in sys/ioctl.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5139: checking for $ac_hdr" >&5 +echo "configure:5002: checking for $ac_hdr" >&5 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:5149: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5012: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5175,17 +5038,17 @@ for ac_hdr in sys/param.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5179: checking for $ac_hdr" >&5 +echo "configure:5042: checking for $ac_hdr" >&5 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:5189: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5052: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5215,17 +5078,17 @@ for ac_hdr in sys/proc.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5219: checking for $ac_hdr" >&5 +echo "configure:5082: checking for $ac_hdr" >&5 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:5229: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5092: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5255,17 +5118,17 @@ for ac_hdr in sys/procfs.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5259: checking for $ac_hdr" >&5 +echo "configure:5122: checking for $ac_hdr" >&5 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:5269: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5132: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5295,17 +5158,17 @@ for ac_hdr in sys/ptrace.h ptrace.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5299: checking for $ac_hdr" >&5 +echo "configure:5162: checking for $ac_hdr" >&5 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:5309: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5172: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5335,17 +5198,17 @@ for ac_hdr in sys/reg.h sys/debugreg.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5339: checking for $ac_hdr" >&5 +echo "configure:5202: checking for $ac_hdr" >&5 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:5349: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5212: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5375,17 +5238,17 @@ for ac_hdr in sys/select.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5379: checking for $ac_hdr" >&5 +echo "configure:5242: checking for $ac_hdr" >&5 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:5389: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5252: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5415,17 +5278,17 @@ for ac_hdr in sys/syscall.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5419: checking for $ac_hdr" >&5 +echo "configure:5282: checking for $ac_hdr" >&5 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:5429: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5292: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5455,17 +5318,17 @@ for ac_hdr in sys/types.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5459: checking for $ac_hdr" >&5 +echo "configure:5322: checking for $ac_hdr" >&5 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:5469: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5332: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5495,17 +5358,17 @@ for ac_hdr in sys/user.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5499: checking for $ac_hdr" >&5 +echo "configure:5362: checking for $ac_hdr" >&5 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:5509: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5372: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5535,17 +5398,17 @@ for ac_hdr in sys/wait.h wait.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5539: checking for $ac_hdr" >&5 +echo "configure:5402: checking for $ac_hdr" >&5 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:5549: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5412: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5575,17 +5438,17 @@ for ac_hdr in termios.h termio.h sgtty.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5579: checking for $ac_hdr" >&5 +echo "configure:5442: checking for $ac_hdr" >&5 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:5589: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5452: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5615,17 +5478,17 @@ for ac_hdr in unistd.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5619: checking for $ac_hdr" >&5 +echo "configure:5482: checking for $ac_hdr" >&5 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:5629: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5492: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5668,17 +5531,17 @@ for ac_hdr in curses.h cursesX.h ncurses.h ncurses/ncurses.h term.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5672: checking for $ac_hdr" >&5 +echo "configure:5535: checking for $ac_hdr" >&5 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:5682: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5545: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5711,17 +5574,17 @@ for ac_hdr in ctype.h time.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5715: checking for $ac_hdr" >&5 +echo "configure:5578: checking for $ac_hdr" >&5 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:5725: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5588: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5749,12 +5612,12 @@ done echo $ac_n "checking for member st_blocks in struct stat""... $ac_c" 1>&6 -echo "configure:5753: checking for member st_blocks in struct stat" >&5 +echo "configure:5616: checking for member st_blocks in struct stat" >&5 if eval "test \"`echo '$''{'gdb_cv_have_struct_stat_with_st_blocks_member'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -5762,7 +5625,7 @@ int main() { struct stat st; (void) st.st_blocks; ; return 0; } EOF -if { (eval echo configure:5766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5629: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gdb_cv_have_struct_stat_with_st_blocks_member=yes else @@ -5790,12 +5653,12 @@ for ac_func in getopt do ac_tr_decl=HAVE_DECL_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` echo $ac_n "checking whether $ac_func is declared""... $ac_c" 1>&6 -echo "configure:5794: checking whether $ac_func is declared" >&5 +echo "configure:5657: checking whether $ac_func is declared" >&5 if eval "test \"`echo '$''{'gcc_cv_have_decl_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5674: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "gcc_cv_have_decl_$ac_func=yes" else @@ -5844,12 +5707,12 @@ fi # ------------------ # echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:5848: checking return type of signal handlers" >&5 +echo "configure:5711: checking return type of signal handlers" >&5 if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -5866,7 +5729,7 @@ int main() { int i; ; return 0; } EOF -if { (eval echo configure:5870: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5733: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else @@ -5890,12 +5753,12 @@ EOF # ------------------------------------- # echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:5894: checking for working const" >&5 +echo "configure:5757: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5811: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -5965,21 +5828,21 @@ EOF fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:5969: checking for inline" >&5 +echo "configure:5832: checking for inline" >&5 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5846: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -6012,19 +5875,19 @@ esac # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:6016: checking for working alloca.h" >&5 +echo "configure:5879: checking for working alloca.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:6028: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5891: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -6045,12 +5908,12 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:6049: checking for alloca" >&5 +echo "configure:5912: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5945: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -6110,12 +5973,12 @@ EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:6114: checking whether alloca needs Cray hooks" >&5 +echo "configure:5977: checking whether alloca needs Cray hooks" >&5 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6144: checking for $ac_func" >&5 +echo "configure:6007: checking for $ac_func" >&5 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; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6035: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6195,7 +6058,7 @@ done fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:6199: checking stack direction for C alloca" >&5 +echo "configure:6062: checking stack direction for C alloca" >&5 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6203,7 +6066,7 @@ else ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:6089: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_stack_direction=1 else @@ -6247,17 +6110,17 @@ for ac_hdr in unistd.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:6251: checking for $ac_hdr" >&5 +echo "configure:6114: checking for $ac_hdr" >&5 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:6261: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6124: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6286,12 +6149,12 @@ done for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6290: checking for $ac_func" >&5 +echo "configure:6153: checking for $ac_func" >&5 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; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6181: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6339,7 +6202,7 @@ fi done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:6343: checking for working mmap" >&5 +echo "configure:6206: checking for working mmap" >&5 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6347,7 +6210,7 @@ else ac_cv_func_mmap_fixed_mapped=no else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:6354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_mmap_fixed_mapped=yes else @@ -6510,12 +6373,12 @@ EOF fi echo $ac_n "checking for pid_t""... $ac_c" 1>&6 -echo "configure:6514: checking for pid_t" >&5 +echo "configure:6377: checking for pid_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -6544,17 +6407,17 @@ fi ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for vfork.h""... $ac_c" 1>&6 -echo "configure:6548: checking for vfork.h" >&5 +echo "configure:6411: checking for vfork.h" >&5 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:6558: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6421: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6579,18 +6442,18 @@ else fi echo $ac_n "checking for working vfork""... $ac_c" 1>&6 -echo "configure:6583: checking for working vfork" >&5 +echo "configure:6446: checking for working vfork" >&5 if eval "test \"`echo '$''{'ac_cv_func_vfork_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test "$cross_compiling" = yes; then echo $ac_n "checking for vfork""... $ac_c" 1>&6 -echo "configure:6589: checking for vfork" >&5 +echo "configure:6452: checking for vfork" >&5 if eval "test \"`echo '$''{'ac_cv_func_vfork'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6480: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_vfork=yes" else @@ -6635,7 +6498,7 @@ fi ac_cv_func_vfork_works=$ac_cv_func_vfork else cat > conftest.$ac_ext < @@ -6730,7 +6593,7 @@ main() { } } EOF -if { (eval echo configure:6734: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:6597: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_vfork_works=yes else @@ -6755,12 +6618,12 @@ fi for ac_func in canonicalize_file_name realpath do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6759: checking for $ac_func" >&5 +echo "configure:6622: checking for $ac_func" >&5 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; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6650: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6810,12 +6673,12 @@ done for ac_func in poll do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6814: checking for $ac_func" >&5 +echo "configure:6677: checking for $ac_func" >&5 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; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6705: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6865,12 +6728,12 @@ done for ac_func in pread64 do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6869: checking for $ac_func" >&5 +echo "configure:6732: checking for $ac_func" >&5 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; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6760: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6920,12 +6783,12 @@ done for ac_func in sbrk do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6924: checking for $ac_func" >&5 +echo "configure:6787: checking for $ac_func" >&5 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; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6815: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6975,12 +6838,12 @@ done for ac_func in setpgid setpgrp do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6979: checking for $ac_func" >&5 +echo "configure:6842: checking for $ac_func" >&5 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; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6870: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -7030,12 +6893,12 @@ done for ac_func in sigaction sigprocmask sigsetmask do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:7034: checking for $ac_func" >&5 +echo "configure:6897: checking for $ac_func" >&5 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; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6925: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -7085,12 +6948,12 @@ done for ac_func in socketpair do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:7089: checking for $ac_func" >&5 +echo "configure:6952: checking for $ac_func" >&5 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; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6980: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -7140,12 +7003,12 @@ done for ac_func in syscall do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:7144: checking for $ac_func" >&5 +echo "configure:7007: checking for $ac_func" >&5 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; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7035: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -7195,12 +7058,12 @@ done for ac_func in ttrace do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:7199: checking for $ac_func" >&5 +echo "configure:7062: checking for $ac_func" >&5 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; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7090: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -7266,12 +7129,12 @@ for ac_func in ptrace do ac_tr_decl=HAVE_DECL_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` echo $ac_n "checking whether $ac_func is declared""... $ac_c" 1>&6 -echo "configure:7270: checking whether $ac_func is declared" >&5 +echo "configure:7133: checking whether $ac_func is declared" >&5 if eval "test \"`echo '$''{'gcc_cv_have_decl_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7150: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "gcc_cv_have_decl_$ac_func=yes" else @@ -7319,19 +7182,19 @@ fi # Check return type. echo $ac_n "checking return type of ptrace""... $ac_c" 1>&6 -echo "configure:7323: checking return type of ptrace" >&5 +echo "configure:7186: checking return type of ptrace" >&5 if eval "test \"`echo '$''{'gdb_cv_func_ptrace_ret'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7198: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gdb_cv_func_ptrace_ret='int' else @@ -7350,7 +7213,7 @@ EOF # Check argument types. echo $ac_n "checking types of arguments for ptrace""... $ac_c" 1>&6 -echo "configure:7354: checking types of arguments for ptrace" >&5 +echo "configure:7217: checking types of arguments for ptrace" >&5 if eval "test \"`echo '$''{'gdb_cv_func_ptrace_args'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -7360,7 +7223,7 @@ for gdb_arg1 in 'int' 'long'; do for gdb_arg3 in 'int *' 'caddr_t' 'int' 'long'; do for gdb_arg4 in 'int' 'long'; do cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7237: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gdb_cv_func_ptrace_args="$gdb_arg1,$gdb_arg2,$gdb_arg3,$gdb_arg4"; break 4; @@ -7381,7 +7244,7 @@ fi rm -f conftest* for gdb_arg5 in 'int *' 'int' 'long'; do cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7258: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gdb_cv_func_ptrace_args="$gdb_arg1,$gdb_arg2,$gdb_arg3,$gdb_arg4,$gdb_arg5"; @@ -7429,7 +7292,7 @@ fi if test "$cross_compiling" = no; then echo $ac_n "checking whether setpgrp takes no argument""... $ac_c" 1>&6 -echo "configure:7433: checking whether setpgrp takes no argument" >&5 +echo "configure:7296: checking whether setpgrp takes no argument" >&5 if eval "test \"`echo '$''{'ac_cv_func_setpgrp_void'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -7437,7 +7300,7 @@ else { echo "configure: error: cannot check setpgrp if cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:7324: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_setpgrp_void=no else @@ -7482,12 +7345,12 @@ fi else echo $ac_n "checking whether setpgrp takes no argument""... $ac_c" 1>&6 -echo "configure:7486: checking whether setpgrp takes no argument" >&5 +echo "configure:7349: checking whether setpgrp takes no argument" >&5 if eval "test \"`echo '$''{'ac_cv_func_setpgrp_void'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -7501,7 +7364,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:7505: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7368: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_func_setpgrp_void=no else @@ -7525,12 +7388,12 @@ fi # Check if sigsetjmp is available. Using AC_CHECK_FUNCS won't do # since sigsetjmp might only be defined as a macro. echo $ac_n "checking for sigsetjmp""... $ac_c" 1>&6 -echo "configure:7529: checking for sigsetjmp" >&5 +echo "configure:7392: checking for sigsetjmp" >&5 if eval "test \"`echo '$''{'gdb_cv_func_sigsetjmp'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -7539,7 +7402,7 @@ int main() { sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1); ; return 0; } EOF -if { (eval echo configure:7543: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7406: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gdb_cv_func_sigsetjmp=yes else @@ -7565,12 +7428,12 @@ gdb_use_included_regex=yes # However, if the system regex is GNU regex, then default to *not* # using the included regex. echo $ac_n "checking for GNU regex""... $ac_c" 1>&6 -echo "configure:7569: checking for GNU regex" >&5 +echo "configure:7432: checking for GNU regex" >&5 if eval "test \"`echo '$''{'gdb_cv_have_gnu_regex'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { @@ -7580,7 +7443,7 @@ int main() { #endif ; return 0; } EOF -if { (eval echo configure:7584: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7447: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gdb_cv_have_gnu_regex=yes else @@ -7614,12 +7477,12 @@ fi # See if defines `struct thread' with a td_pcb member. echo $ac_n "checking for td_pcb in struct thread""... $ac_c" 1>&6 -echo "configure:7618: checking for td_pcb in struct thread" >&5 +echo "configure:7481: checking for td_pcb in struct thread" >&5 if eval "test \"`echo '$''{'gdb_cv_struct_thread_td_pcb'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -7627,7 +7490,7 @@ int main() { struct thread td; td.td_pcb; ; return 0; } EOF -if { (eval echo configure:7631: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7494: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gdb_cv_struct_thread_td_pcb=yes else @@ -7649,12 +7512,12 @@ fi # See if defines `struct lwp`. echo $ac_n "checking for struct lwp""... $ac_c" 1>&6 -echo "configure:7653: checking for struct lwp" >&5 +echo "configure:7516: checking for struct lwp" >&5 if eval "test \"`echo '$''{'gdb_cv_struct_lwp'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -7662,7 +7525,7 @@ int main() { struct lwp l; ; return 0; } EOF -if { (eval echo configure:7666: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7529: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gdb_cv_struct_lwp=yes else @@ -7684,12 +7547,12 @@ fi # See if degines `struct reg'. echo $ac_n "checking for struct reg in machine/reg.h""... $ac_c" 1>&6 -echo "configure:7688: checking for struct reg in machine/reg.h" >&5 +echo "configure:7551: checking for struct reg in machine/reg.h" >&5 if eval "test \"`echo '$''{'gdb_cv_struct_reg'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -7697,7 +7560,7 @@ int main() { struct reg r; ; return 0; } EOF -if { (eval echo configure:7701: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7564: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gdb_cv_struct_reg=yes else @@ -7720,19 +7583,19 @@ fi # See if supports the %fs and %gs i386 segment registers. # Older i386 BSD's don't have the r_fs and r_gs members of `struct reg'. echo $ac_n "checking for r_fs in struct reg""... $ac_c" 1>&6 -echo "configure:7724: checking for r_fs in struct reg" >&5 +echo "configure:7587: checking for r_fs in struct reg" >&5 if eval "test \"`echo '$''{'gdb_cv_struct_reg_r_fs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { struct reg r; r.r_fs; ; return 0; } EOF -if { (eval echo configure:7736: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7599: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gdb_cv_struct_reg_r_fs=yes else @@ -7752,19 +7615,19 @@ EOF fi echo $ac_n "checking for r_gs in struct reg""... $ac_c" 1>&6 -echo "configure:7756: checking for r_gs in struct reg" >&5 +echo "configure:7619: checking for r_gs in struct reg" >&5 if eval "test \"`echo '$''{'gdb_cv_struct_reg_r_gs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { struct reg r; r.r_gs; ; return 0; } EOF -if { (eval echo configure:7768: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7631: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gdb_cv_struct_reg_r_gs=yes else @@ -7786,19 +7649,19 @@ fi # See if provides the PTRACE_GETREGS request. echo $ac_n "checking for PTRACE_GETREGS""... $ac_c" 1>&6 -echo "configure:7790: checking for PTRACE_GETREGS" >&5 +echo "configure:7653: checking for PTRACE_GETREGS" >&5 if eval "test \"`echo '$''{'gdb_cv_have_ptrace_getregs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { PTRACE_GETREGS; ; return 0; } EOF -if { (eval echo configure:7802: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7665: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gdb_cv_have_ptrace_getregs=yes else @@ -7820,19 +7683,19 @@ fi # See if provides the PTRACE_GETFPXREGS request. echo $ac_n "checking for PTRACE_GETFPXREGS""... $ac_c" 1>&6 -echo "configure:7824: checking for PTRACE_GETFPXREGS" >&5 +echo "configure:7687: checking for PTRACE_GETFPXREGS" >&5 if eval "test \"`echo '$''{'gdb_cv_have_ptrace_getfpxregs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { PTRACE_GETFPXREGS; ; return 0; } EOF -if { (eval echo configure:7836: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7699: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gdb_cv_have_ptrace_getfpxregs=yes else @@ -7854,12 +7717,12 @@ fi # See if provides the PT_GETDBREGS request. echo $ac_n "checking for PT_GETDBREGS""... $ac_c" 1>&6 -echo "configure:7858: checking for PT_GETDBREGS" >&5 +echo "configure:7721: checking for PT_GETDBREGS" >&5 if eval "test \"`echo '$''{'gdb_cv_have_pt_getdbregs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -7867,7 +7730,7 @@ int main() { PT_GETDBREGS; ; return 0; } EOF -if { (eval echo configure:7871: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7734: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gdb_cv_have_pt_getdbregs=yes else @@ -7889,12 +7752,12 @@ fi # See if provides the PT_GETXMMREGS request. echo $ac_n "checking for PT_GETXMMREGS""... $ac_c" 1>&6 -echo "configure:7893: checking for PT_GETXMMREGS" >&5 +echo "configure:7756: checking for PT_GETXMMREGS" >&5 if eval "test \"`echo '$''{'gdb_cv_have_pt_getxmmregs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -7902,7 +7765,7 @@ int main() { PT_GETXMMREGS; ; return 0; } EOF -if { (eval echo configure:7906: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7769: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gdb_cv_have_pt_getxmmregs=yes else @@ -7925,19 +7788,19 @@ fi # See if stdint.h provides the uintptr_t type. # Autoconf 2.5X has an improved AC_CHECK_TYPE which will simplify this. echo $ac_n "checking for uintptr_t in stdint.h""... $ac_c" 1>&6 -echo "configure:7929: checking for uintptr_t in stdint.h" >&5 +echo "configure:7792: checking for uintptr_t in stdint.h" >&5 if eval "test \"`echo '$''{'gdb_cv_have_uintptr_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { uintptr_t foo = 0; ; return 0; } EOF -if { (eval echo configure:7941: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7804: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gdb_cv_have_uintptr_t=yes else @@ -7958,12 +7821,12 @@ EOF fi echo $ac_n "checking whether malloc must be declared""... $ac_c" 1>&6 -echo "configure:7962: checking whether malloc must be declared" >&5 +echo "configure:7825: checking whether malloc must be declared" >&5 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 < @@ -7984,7 +7847,7 @@ int main() { char *(*pfn) = (char *(*)) malloc ; return 0; } EOF -if { (eval echo configure:7988: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7851: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_malloc=no else @@ -8005,12 +7868,12 @@ EOF fi echo $ac_n "checking whether realloc must be declared""... $ac_c" 1>&6 -echo "configure:8009: checking whether realloc must be declared" >&5 +echo "configure:7872: checking whether realloc must be declared" >&5 if eval "test \"`echo '$''{'bfd_cv_decl_needed_realloc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -8031,7 +7894,7 @@ int main() { char *(*pfn) = (char *(*)) realloc ; return 0; } EOF -if { (eval echo configure:8035: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7898: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_realloc=no else @@ -8052,12 +7915,12 @@ EOF fi echo $ac_n "checking whether free must be declared""... $ac_c" 1>&6 -echo "configure:8056: checking whether free must be declared" >&5 +echo "configure:7919: checking whether free must be declared" >&5 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 < @@ -8078,7 +7941,7 @@ int main() { char *(*pfn) = (char *(*)) free ; return 0; } EOF -if { (eval echo configure:8082: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7945: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_free=no else @@ -8099,12 +7962,12 @@ EOF fi echo $ac_n "checking whether strerror must be declared""... $ac_c" 1>&6 -echo "configure:8103: checking whether strerror must be declared" >&5 +echo "configure:7966: checking whether strerror must be declared" >&5 if eval "test \"`echo '$''{'bfd_cv_decl_needed_strerror'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -8125,7 +7988,7 @@ int main() { char *(*pfn) = (char *(*)) strerror ; return 0; } EOF -if { (eval echo configure:8129: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7992: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_strerror=no else @@ -8146,12 +8009,12 @@ EOF fi echo $ac_n "checking whether strdup must be declared""... $ac_c" 1>&6 -echo "configure:8150: checking whether strdup must be declared" >&5 +echo "configure:8013: checking whether strdup must be declared" >&5 if eval "test \"`echo '$''{'bfd_cv_decl_needed_strdup'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -8172,7 +8035,7 @@ int main() { char *(*pfn) = (char *(*)) strdup ; return 0; } EOF -if { (eval echo configure:8176: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8039: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_strdup=no else @@ -8193,12 +8056,12 @@ EOF fi echo $ac_n "checking whether strstr must be declared""... $ac_c" 1>&6 -echo "configure:8197: checking whether strstr must be declared" >&5 +echo "configure:8060: checking whether strstr must be declared" >&5 if eval "test \"`echo '$''{'bfd_cv_decl_needed_strstr'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -8219,7 +8082,7 @@ int main() { char *(*pfn) = (char *(*)) strstr ; return 0; } EOF -if { (eval echo configure:8223: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8086: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_strstr=no else @@ -8240,12 +8103,12 @@ EOF fi echo $ac_n "checking whether canonicalize_file_name must be declared""... $ac_c" 1>&6 -echo "configure:8244: checking whether canonicalize_file_name must be declared" >&5 +echo "configure:8107: checking whether canonicalize_file_name must be declared" >&5 if eval "test \"`echo '$''{'bfd_cv_decl_needed_canonicalize_file_name'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -8266,7 +8129,7 @@ int main() { char *(*pfn) = (char *(*)) canonicalize_file_name ; return 0; } EOF -if { (eval echo configure:8270: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8133: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_canonicalize_file_name=no else @@ -8292,9 +8155,9 @@ fi # could be expunged. --jsm 1999-03-22 echo $ac_n "checking for HPUX save_state structure""... $ac_c" 1>&6 -echo "configure:8296: checking for HPUX save_state structure" >&5 +echo "configure:8159: checking for HPUX save_state structure" >&5 cat > conftest.$ac_ext < EOF @@ -8309,7 +8172,7 @@ fi rm -f conftest* cat > conftest.$ac_ext < EOF @@ -8386,12 +8249,12 @@ fi if test "$ac_cv_header_sys_procfs_h" = yes; then echo $ac_n "checking for pstatus_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:8390: checking for pstatus_t in sys/procfs.h" >&5 +echo "configure:8253: checking for pstatus_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_pstatus_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8267: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_pstatus_t=yes else @@ -8422,12 +8285,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_pstatus_t" 1>&6 echo $ac_n "checking for prrun_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:8426: checking for prrun_t in sys/procfs.h" >&5 +echo "configure:8289: checking for prrun_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prrun_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8303: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_prrun_t=yes else @@ -8458,12 +8321,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_prrun_t" 1>&6 echo $ac_n "checking for gregset_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:8462: checking for gregset_t in sys/procfs.h" >&5 +echo "configure:8325: checking for gregset_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_gregset_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8339: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_gregset_t=yes else @@ -8494,12 +8357,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_gregset_t" 1>&6 echo $ac_n "checking for fpregset_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:8498: checking for fpregset_t in sys/procfs.h" >&5 +echo "configure:8361: checking for fpregset_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_fpregset_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8375: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_fpregset_t=yes else @@ -8530,12 +8393,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_fpregset_t" 1>&6 echo $ac_n "checking for prgregset_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:8534: checking for prgregset_t in sys/procfs.h" >&5 +echo "configure:8397: checking for prgregset_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prgregset_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8411: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_prgregset_t=yes else @@ -8566,12 +8429,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_prgregset_t" 1>&6 echo $ac_n "checking for prfpregset_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:8570: checking for prfpregset_t in sys/procfs.h" >&5 +echo "configure:8433: checking for prfpregset_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prfpregset_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8447: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_prfpregset_t=yes else @@ -8602,12 +8465,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_prfpregset_t" 1>&6 echo $ac_n "checking for prgregset32_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:8606: checking for prgregset32_t in sys/procfs.h" >&5 +echo "configure:8469: checking for prgregset32_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prgregset32_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8483: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_prgregset32_t=yes else @@ -8638,12 +8501,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_prgregset32_t" 1>&6 echo $ac_n "checking for prfpregset32_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:8642: checking for prfpregset32_t in sys/procfs.h" >&5 +echo "configure:8505: checking for prfpregset32_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prfpregset32_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8519: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_prfpregset32_t=yes else @@ -8674,12 +8537,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_prfpregset32_t" 1>&6 echo $ac_n "checking for lwpid_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:8678: checking for lwpid_t in sys/procfs.h" >&5 +echo "configure:8541: checking for lwpid_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_lwpid_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8555: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_lwpid_t=yes else @@ -8710,12 +8573,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_lwpid_t" 1>&6 echo $ac_n "checking for psaddr_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:8714: checking for psaddr_t in sys/procfs.h" >&5 +echo "configure:8577: checking for psaddr_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_psaddr_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8591: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_psaddr_t=yes else @@ -8746,12 +8609,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_psaddr_t" 1>&6 echo $ac_n "checking for prsysent_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:8750: checking for prsysent_t in sys/procfs.h" >&5 +echo "configure:8613: checking for prsysent_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prsysent_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8627: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_prsysent_t=yes else @@ -8782,12 +8645,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_prsysent_t" 1>&6 echo $ac_n "checking for pr_sigset_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:8786: checking for pr_sigset_t in sys/procfs.h" >&5 +echo "configure:8649: checking for pr_sigset_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_pr_sigset_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8663: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_pr_sigset_t=yes else @@ -8818,12 +8681,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_pr_sigset_t" 1>&6 echo $ac_n "checking for pr_sigaction64_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:8822: checking for pr_sigaction64_t in sys/procfs.h" >&5 +echo "configure:8685: checking for pr_sigaction64_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_pr_sigaction64_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8699: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_pr_sigaction64_t=yes else @@ -8854,12 +8717,12 @@ EOF echo "$ac_t""$bfd_cv_have_sys_procfs_type_pr_sigaction64_t" 1>&6 echo $ac_n "checking for pr_siginfo64_t in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:8858: checking for pr_siginfo64_t in sys/procfs.h" >&5 +echo "configure:8721: checking for pr_siginfo64_t in sys/procfs.h" >&5 if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_pr_siginfo64_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8735: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_have_sys_procfs_type_pr_siginfo64_t=yes else @@ -8895,7 +8758,7 @@ EOF if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; then echo $ac_n "checking whether prfpregset_t type is broken""... $ac_c" 1>&6 -echo "configure:8899: checking whether prfpregset_t type is broken" >&5 +echo "configure:8762: checking whether prfpregset_t type is broken" >&5 if eval "test \"`echo '$''{'gdb_cv_prfpregset_t_broken'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -8903,7 +8766,7 @@ else gdb_cv_prfpregset_t_broken=yes else cat > conftest.$ac_ext < int main () @@ -8913,7 +8776,7 @@ else return 0; } EOF -if { (eval echo configure:8917: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:8780: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then gdb_cv_prfpregset_t_broken=no else @@ -8938,12 +8801,12 @@ EOF echo $ac_n "checking for PIOCSET ioctl entry in sys/procfs.h""... $ac_c" 1>&6 -echo "configure:8942: checking for PIOCSET ioctl entry in sys/procfs.h" >&5 +echo "configure:8805: checking for PIOCSET ioctl entry in sys/procfs.h" >&5 if eval "test \"`echo '$''{'gdb_cv_have_procfs_piocset'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -8956,7 +8819,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:8960: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8823: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gdb_cv_have_procfs_piocset=yes else @@ -8980,19 +8843,19 @@ fi if test ${host} = ${target} ; then echo $ac_n "checking for member l_addr in struct link_map""... $ac_c" 1>&6 -echo "configure:8984: checking for member l_addr in struct link_map" >&5 +echo "configure:8847: checking for member l_addr in struct link_map" >&5 if eval "test \"`echo '$''{'gdb_cv_have_struct_link_map_with_l_members'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { struct link_map lm; (void) lm.l_addr; ; return 0; } EOF -if { (eval echo configure:8996: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8859: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gdb_cv_have_struct_link_map_with_l_members=yes else @@ -9014,12 +8877,12 @@ EOF echo $ac_n "checking for member lm_addr in struct link_map""... $ac_c" 1>&6 -echo "configure:9018: checking for member lm_addr in struct link_map" >&5 +echo "configure:8881: checking for member lm_addr in struct link_map" >&5 if eval "test \"`echo '$''{'gdb_cv_have_struct_link_map_with_lm_members'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -9027,7 +8890,7 @@ int main() { struct link_map lm; (void) lm.lm_addr; ; return 0; } EOF -if { (eval echo configure:9031: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8894: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gdb_cv_have_struct_link_map_with_lm_members=yes else @@ -9049,12 +8912,12 @@ EOF echo $ac_n "checking for member som_addr in struct so_map""... $ac_c" 1>&6 -echo "configure:9053: checking for member som_addr in struct so_map" >&5 +echo "configure:8916: checking for member som_addr in struct so_map" >&5 if eval "test \"`echo '$''{'gdb_cv_have_struct_so_map_with_som_members'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #ifdef HAVE_NLIST_H @@ -9065,7 +8928,7 @@ int main() { struct so_map lm; (void) lm.som_addr; ; return 0; } EOF -if { (eval echo configure:9069: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8932: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gdb_cv_have_struct_so_map_with_som_members=yes else @@ -9087,12 +8950,12 @@ EOF echo $ac_n "checking for struct link_map32 in sys/link.h""... $ac_c" 1>&6 -echo "configure:9091: checking for struct link_map32 in sys/link.h" >&5 +echo "configure:8954: checking for struct link_map32 in sys/link.h" >&5 if eval "test \"`echo '$''{'gdb_cv_have_struct_link_map32'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -9100,7 +8963,7 @@ int main() { struct link_map32 l; ; return 0; } EOF -if { (eval echo configure:9104: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8967: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gdb_cv_have_struct_link_map32=yes else @@ -9127,12 +8990,12 @@ fi echo $ac_n "checking for long long support in compiler""... $ac_c" 1>&6 -echo "configure:9131: checking for long long support in compiler" >&5 +echo "configure:8994: checking for long long support in compiler" >&5 if eval "test \"`echo '$''{'gdb_cv_c_long_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:9009: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gdb_cv_c_long_long=yes else @@ -9164,7 +9027,7 @@ fi echo $ac_n "checking for long long support in printf""... $ac_c" 1>&6 -echo "configure:9168: checking for long long support in printf" >&5 +echo "configure:9031: checking for long long support in printf" >&5 if eval "test \"`echo '$''{'gdb_cv_printf_has_long_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -9172,7 +9035,7 @@ else gdb_cv_printf_has_long_long=no else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:9053: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then gdb_cv_printf_has_long_long=yes else @@ -9210,19 +9073,19 @@ echo "$ac_t""$gdb_cv_printf_has_long_long" 1>&6 echo $ac_n "checking for long double support in compiler""... $ac_c" 1>&6 -echo "configure:9214: checking for long double support in compiler" >&5 +echo "configure:9077: checking for long double support in compiler" >&5 if eval "test \"`echo '$''{'ac_cv_c_long_double'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:9089: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_long_double=yes else @@ -9244,7 +9107,7 @@ fi echo $ac_n "checking for long double support in printf""... $ac_c" 1>&6 -echo "configure:9248: checking for long double support in printf" >&5 +echo "configure:9111: checking for long double support in printf" >&5 if eval "test \"`echo '$''{'gdb_cv_printf_has_long_double'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -9252,7 +9115,7 @@ else gdb_cv_printf_has_long_double=no else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:9129: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then gdb_cv_printf_has_long_double=yes else @@ -9286,7 +9149,7 @@ echo "$ac_t""$gdb_cv_printf_has_long_double" 1>&6 echo $ac_n "checking for long double support in scanf""... $ac_c" 1>&6 -echo "configure:9290: checking for long double support in scanf" >&5 +echo "configure:9153: checking for long double support in scanf" >&5 if eval "test \"`echo '$''{'gdb_cv_scanf_has_long_double'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -9294,7 +9157,7 @@ else gdb_cv_scanf_has_long_double=no else cat > conftest.$ac_ext < 3.14159 && f < 3.14160); } EOF -if { (eval echo configure:9308: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:9171: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then gdb_cv_scanf_has_long_double=yes else @@ -9329,7 +9192,7 @@ echo "$ac_t""$gdb_cv_scanf_has_long_double" 1>&6 case ${host_os} in aix*) echo $ac_n "checking for -bbigtoc option""... $ac_c" 1>&6 -echo "configure:9333: checking for -bbigtoc option" >&5 +echo "configure:9196: checking for -bbigtoc option" >&5 if eval "test \"`echo '$''{'gdb_cv_bigtoc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -9343,14 +9206,14 @@ else LDFLAGS=$LDFLAGS\ $gdb_cv_bigtoc cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9217: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then : else echo "configure: failed program was:" >&5 @@ -9374,7 +9237,7 @@ if test ${build} = ${host} -a ${host} = ${target} ; then case ${host_os} in hpux*) echo $ac_n "checking for HPUX/OSF thread support""... $ac_c" 1>&6 -echo "configure:9378: checking for HPUX/OSF thread support" >&5 +echo "configure:9241: checking for HPUX/OSF thread support" >&5 if test -f /usr/include/dce/cma_config.h ; then if test "$GCC" = "yes" ; then echo "$ac_t""yes" 1>&6 @@ -9397,7 +9260,7 @@ EOF # because version 0 (present on Solaris 2.4 or earlier) doesn't have # the same API. echo $ac_n "checking for Solaris thread debugging library""... $ac_c" 1>&6 -echo "configure:9401: checking for Solaris thread debugging library" >&5 +echo "configure:9264: checking for Solaris thread debugging library" >&5 if test -f /usr/lib/libthread_db.so.1 ; then echo "$ac_t""yes" 1>&6 cat >> confdefs.h <<\EOF @@ -9407,7 +9270,7 @@ EOF CONFIG_OBS="${CONFIG_OBS} sol-thread.o" CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c" echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 -echo "configure:9411: checking for dlopen in -ldl" >&5 +echo "configure:9274: checking for dlopen in -ldl" >&5 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -9415,7 +9278,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ldl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9293: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -9458,17 +9321,17 @@ fi # all symbols visible in the dynamic symbol table. hold_ldflags=$LDFLAGS echo $ac_n "checking for the ld -export-dynamic flag""... $ac_c" 1>&6 -echo "configure:9462: checking for the ld -export-dynamic flag" >&5 +echo "configure:9325: checking for the ld -export-dynamic flag" >&5 LDFLAGS="${LDFLAGS} -Wl,-export-dynamic" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9335: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* found=yes else @@ -9487,13 +9350,13 @@ rm -f conftest* # Sun randomly tweaked the prototypes in # at one point. echo $ac_n "checking if is old""... $ac_c" 1>&6 -echo "configure:9491: checking if is old" >&5 +echo "configure:9354: checking if is old" >&5 if eval "test \"`echo '$''{'gdb_cv_proc_service_is_old'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -9504,7 +9367,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:9508: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:9371: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gdb_cv_proc_service_is_old=no else @@ -9530,12 +9393,12 @@ EOF ;; aix*) echo $ac_n "checking for AiX thread debugging library""... $ac_c" 1>&6 -echo "configure:9534: checking for AiX thread debugging library" >&5 +echo "configure:9397: checking for AiX thread debugging library" >&5 if eval "test \"`echo '$''{'gdb_cv_have_aix_thread_debug'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { @@ -9544,7 +9407,7 @@ int main() { #endif ; return 0; } EOF -if { (eval echo configure:9548: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:9411: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gdb_cv_have_aix_thread_debug=yes else @@ -9569,19 +9432,19 @@ fi if test "x$ac_cv_header_thread_db_h" = "xyes"; then echo $ac_n "checking whether has TD_NOTALLOC""... $ac_c" 1>&6 -echo "configure:9573: checking whether has TD_NOTALLOC" >&5 +echo "configure:9436: checking whether has TD_NOTALLOC" >&5 if eval "test \"`echo '$''{'gdb_cv_thread_db_h_has_td_notalloc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { int i = TD_NOTALLOC; ; return 0; } EOF -if { (eval echo configure:9585: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:9448: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gdb_cv_thread_db_h_has_td_notalloc=yes else @@ -9606,19 +9469,19 @@ fi if test "x$ac_cv_header_sys_syscall_h" = "xyes"; then echo $ac_n "checking whether has __NR_tkill""... $ac_c" 1>&6 -echo "configure:9610: checking whether has __NR_tkill" >&5 +echo "configure:9473: checking whether has __NR_tkill" >&5 if eval "test \"`echo '$''{'gdb_cv_sys_syscall_h_has_tkill'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { int i = __NR_tkill; ; return 0; } EOF -if { (eval echo configure:9622: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:9485: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gdb_cv_sys_syscall_h_has_tkill=yes else @@ -9730,7 +9593,7 @@ WERROR_CFLAGS="" if test "x${build_warnings}" != x -a "x$GCC" = xyes then echo $ac_n "checking compiler warning flags""... $ac_c" 1>&6 -echo "configure:9734: checking compiler warning flags" >&5 +echo "configure:9597: checking compiler warning flags" >&5 # Separate out the -Werror flag as some files just cannot be # compiled with it enabled. for w in ${build_warnings}; do @@ -9740,14 +9603,14 @@ echo "configure:9734: checking compiler warning flags" >&5 saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $w" cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:9614: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* WARN_CFLAGS="${WARN_CFLAGS} $w" else @@ -9765,12 +9628,12 @@ fi # In the Cygwin environment, we need some additional flags. echo $ac_n "checking for cygwin""... $ac_c" 1>&6 -echo "configure:9769: checking for cygwin" >&5 +echo "configure:9632: checking for cygwin" >&5 if eval "test \"`echo '$''{'gdb_cv_os_cygwin'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 -echo "configure:9859: checking for Tcl configuration" >&5 +echo "configure:9722: checking for Tcl configuration" >&5 if eval "test \"`echo '$''{'ac_cv_c_tclconfig'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -9964,7 +9827,7 @@ if test "${with_tkconfig+set}" = set; then fi echo $ac_n "checking for Tk configuration""... $ac_c" 1>&6 -echo "configure:9968: checking for Tk configuration" >&5 +echo "configure:9831: checking for Tk configuration" >&5 if eval "test \"`echo '$''{'ac_cv_c_tkconfig'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -10066,7 +9929,7 @@ fi no_tcl=true echo $ac_n "checking for Tcl private headers. dir=${configdir}""... $ac_c" 1>&6 -echo "configure:10070: checking for Tcl private headers. dir=${configdir}" >&5 +echo "configure:9933: checking for Tcl private headers. dir=${configdir}" >&5 # Check whether --with-tclinclude or --without-tclinclude was given. if test "${with_tclinclude+set}" = set; then withval="$with_tclinclude" @@ -10132,17 +9995,17 @@ fi if test x"${ac_cv_c_tclh}" = x ; then ac_safe=`echo "tclInt.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for tclInt.h""... $ac_c" 1>&6 -echo "configure:10136: checking for tclInt.h" >&5 +echo "configure:9999: checking for tclInt.h" >&5 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:10146: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10009: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -10202,7 +10065,7 @@ fi # no_tk=true echo $ac_n "checking for Tk private headers""... $ac_c" 1>&6 -echo "configure:10206: checking for Tk private headers" >&5 +echo "configure:10069: checking for Tk private headers" >&5 # Check whether --with-tkinclude or --without-tkinclude was given. if test "${with_tkinclude+set}" = set; then withval="$with_tkinclude" @@ -10268,17 +10131,17 @@ fi if test x"${ac_cv_c_tkh}" = x ; then ac_safe=`echo "tk.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for tk.h""... $ac_c" 1>&6 -echo "configure:10272: checking for tk.h" >&5 +echo "configure:10135: checking for tk.h" >&5 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:10282: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10145: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -10324,7 +10187,7 @@ fi echo $ac_n "checking for Itcl private headers. srcdir=${srcdir}""... $ac_c" 1>&6 -echo "configure:10328: checking for Itcl private headers. srcdir=${srcdir}" >&5 +echo "configure:10191: checking for Itcl private headers. srcdir=${srcdir}" >&5 if test x"${ac_cv_c_itclh}" = x ; then for i in ${srcdir}/../itcl ${srcdir}/../../itcl ${srcdir}/../../../itcl ${srcdir}/../itcl/itcl; do if test -f $i/generic/itcl.h ; then @@ -10347,7 +10210,7 @@ fi echo $ac_n "checking for Itk private headers. srcdir=${srcdir}""... $ac_c" 1>&6 -echo "configure:10351: checking for Itk private headers. srcdir=${srcdir}" >&5 +echo "configure:10214: checking for Itk private headers. srcdir=${srcdir}" >&5 if test x"${ac_cv_c_itkh}" = x ; then for i in ${srcdir}/../itcl ${srcdir}/../../itcl ${srcdir}/../../../itcl ${srcdir}/../itcl/itk; do if test -f $i/generic/itk.h ; then @@ -10395,7 +10258,7 @@ if test "${with_itclconfig+set}" = set; then fi echo $ac_n "checking for Itcl configuration""... $ac_c" 1>&6 -echo "configure:10399: checking for Itcl configuration" >&5 +echo "configure:10262: checking for Itcl configuration" >&5 if eval "test \"`echo '$''{'ac_cv_c_itclconfig'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -10498,7 +10361,7 @@ if test "${with_itkconfig+set}" = set; then fi echo $ac_n "checking for Itk configuration""... $ac_c" 1>&6 -echo "configure:10502: checking for Itk configuration" >&5 +echo "configure:10365: checking for Itk configuration" >&5 if eval "test \"`echo '$''{'ac_cv_c_itkconfig'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -10640,7 +10503,7 @@ fi # Uses ac_ vars as temps to allow command line to override cache and checks. # --without-x overrides everything else, but does not touch the cache. echo $ac_n "checking for X""... $ac_c" 1>&6 -echo "configure:10644: checking for X" >&5 +echo "configure:10507: checking for X" >&5 # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then @@ -10702,12 +10565,12 @@ if test "$ac_x_includes" = NO; then # First, try using that file with no special directory specified. cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10711: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10574: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -10776,14 +10639,14 @@ if test "$ac_x_libraries" = NO; then ac_save_LIBS="$LIBS" LIBS="-l$x_direct_test_library $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10650: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* LIBS="$ac_save_LIBS" # We can link X programs with no special library path. @@ -11009,7 +10872,7 @@ fi # We only build gdbserver automatically if host and target are the same. if test "x$target" = "x$host"; then echo $ac_n "checking whether gdbserver is supported on this host""... $ac_c" 1>&6 -echo "configure:11013: checking whether gdbserver is supported on this host" >&5 +echo "configure:10876: checking whether gdbserver is supported on this host" >&5 if test "x$build_gdbserver" = xyes; then configdirs="$configdirs gdbserver" echo "$ac_t""yes" 1>&6 @@ -11082,12 +10945,12 @@ fi echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6 -echo "configure:11086: checking for Cygwin environment" >&5 +echo "configure:10949: checking for Cygwin environment" >&5 if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:10965: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_cygwin=yes else @@ -11115,19 +10978,19 @@ echo "$ac_t""$ac_cv_cygwin" 1>&6 CYGWIN= test "$ac_cv_cygwin" = yes && CYGWIN=yes echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6 -echo "configure:11119: checking for mingw32 environment" >&5 +echo "configure:10982: checking for mingw32 environment" >&5 if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:10994: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_mingw32=yes else @@ -11146,7 +11009,7 @@ test "$ac_cv_mingw32" = yes && MINGW32=yes echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:11150: checking for executable suffix" >&5 +echo "configure:11013: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -11156,10 +11019,10 @@ else rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= - if { (eval echo configure:11160: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + if { (eval echo configure:11023: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in - *.c | *.o | *.obj | *.ilk | *.pdb) ;; + *.c | *.C | *.o | *.obj | *.ilk | *.pdb) ;; *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;; esac done @@ -11198,7 +11061,7 @@ fi echo $ac_n "checking for iconv""... $ac_c" 1>&6 -echo "configure:11202: checking for iconv" >&5 +echo "configure:11065: checking for iconv" >&5 if eval "test \"`echo '$''{'am_cv_func_iconv'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -11206,7 +11069,7 @@ else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat > conftest.$ac_ext < #include @@ -11216,7 +11079,7 @@ iconv_t cd = iconv_open("",""); iconv_close(cd); ; return 0; } EOF -if { (eval echo configure:11220: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11083: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_func_iconv=yes else @@ -11228,7 +11091,7 @@ rm -f conftest* am_save_LIBS="$LIBS" LIBS="$LIBS -liconv" cat > conftest.$ac_ext < #include @@ -11238,7 +11101,7 @@ iconv_t cd = iconv_open("",""); iconv_close(cd); ; return 0; } EOF -if { (eval echo configure:11242: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11105: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_lib_iconv=yes am_cv_func_iconv=yes @@ -11259,13 +11122,13 @@ echo "$ac_t""$am_cv_func_iconv" 1>&6 EOF echo $ac_n "checking for iconv declaration""... $ac_c" 1>&6 -echo "configure:11263: checking for iconv declaration" >&5 +echo "configure:11126: checking for iconv declaration" >&5 if eval "test \"`echo '$''{'am_cv_proto_iconv'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -11284,7 +11147,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:11288: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:11151: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* am_cv_proto_iconv_arg1="" else diff --git a/gdb/configure.in b/gdb/configure.in index 81be74b8d49..d3dc041d4bd 100644 --- a/gdb/configure.in +++ b/gdb/configure.in @@ -195,7 +195,7 @@ AC_ARG_ENABLE(tui, esac],enable_tui=yes) if test x"$enable_tui" = xyes; then if test -d $srcdir/tui; then - if test "$ac_cv_search_initscr" != no -a "$ac_cv_search_wborder" != no; then + if test "$ac_cv_search_mvwaddstr" != no; then CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_TUI_OBS)" CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_TUI_DEPS)" CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_TUI_SRCS)" @@ -332,9 +332,24 @@ AC_SEARCH_LIBS(gethostbyname, nsl) # Some systems (e.g. Solaris) have `socketpair' in libsocket. AC_SEARCH_LIBS(socketpair, socket) -# Since GDB uses Readline, we need termcap functionality, so we need -# to find a library that provides that. When GDB is configured with -# the TUI, we need full curses functionality. +# For the TUI, we need enhanced curses functionality. +# +# FIXME: kettenis/20040905: We prefer ncurses over the vendor-supplied +# curses library because the latter might not provide all the +# functionality we need. However, this leads to problems on systems +# where the linker searches /usr/local/lib, but the compiler doesn't +# search /usr/local/include, if ncurses is installed in /usr/local. A +# default installation of ncurses on alpha*-dec-osf* will lead to such +# a situation. +AC_SEARCH_LIBS(mvwaddstr, [ncurses cursesX curses]) + +if test "$ac_cv_search_mvwaddstr" = no; then + AC_MSG_WARN([no curses library found]) +fi + +# Since GDB uses Readline, we need termcap functionality. In many +# cases this will be provided by the curses library, but some systems +# have a seperate termcap library, or no curses library at all. case $host_os in cygwin*) @@ -345,47 +360,15 @@ case $host_os in go32* | *djgpp*) ac_cv_search_tgetent="none required" ;; - aix*) - # Readline prefers curses over termcap on AIX. - # ??? Why? - AC_SEARCH_LIBS(tgetent, [tinfo ncurses curses termcap]) - ;; esac -# Note: We used to check for libtermlib and libterminfo too, but -# Readline doesn't, so I think we're safe with leaving them out. -AC_SEARCH_LIBS(tgetent, [termcap tinfo ncurses Hcurses curses]) +# These are the libraries checked by Readline. +AC_SEARCH_LIBS(tgetent, [termcap tinfo curses ncurses]) if test "$ac_cv_search_tgetent" = no; then AC_MSG_ERROR([no termcap library found]) fi -# FIXME: kettenis/20030102: We seem to prefer HP curses (Hcurses) over -# Xcurses on HP-UX; see the `-D__HP_CURSES' in the relevant host -# Makefile fragments. That's why we need to have `Hcurses' before -# `curses'. I don't see why we should use HP curses if a more -# standard curses is available, except that according to HP's -# documentation one needs to compile `-D_XOPEN_SOURCE_EXTENDED' on -# HP-UX 10.10 and 10.20. - -# FIXME: ncurses does not work on native alphaev68-dec-osf5.1, -# and probably other platforms. AC_SEARCH_LIBS finds the library -# in a place such as /usr/local/lib/libncurses.a, but does not -# do anything to look for the matching include files. -# -- chastain 2004-05-01 - -AC_SEARCH_LIBS(initscr, [ncurses Hcurses cursesX curses pdcurses], [], - [AC_MSG_WARN([no curses library found])]) - -# Check whether the wborder function is provided by the curses -# library detected above. In certain implementations such as -# the HP/UX Hcurses for instance, this function is provided by an -# additional library. So if we did not find this function inside -# the curses library, try some alternate libraries we know might -# provide it. -AC_SEARCH_LIBS(wborder, [cur_colr], [], - [AC_MSG_WARN([wborder function not found, tui will be disabled])]) - # ------------------------- # # Checks for header files. # # ------------------------- # diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 2d3035ed3d5..67bcf526a2d 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,19 @@ +2004-09-20 Daniel Jacobowitz + + * gdb.texinfo (Maintenance Commands): Document "maint set dwarf2 + max-cache-age" and "maint show dwarf2 max-cache-age". + +2004-09-16 Eli Zaretskii + + * gdb.texinfo (Set Breaks): Add index entry for setting + breakpoints on overloaded C++ functions that are not members of + any classes. Add an example and an index entry for setting + breakpoints on all program functions. + (Character Sets, Macros, Overlay Commands) + (Non-debug DLL symbols, GDB/MI Output Syntax) + (Annotations Overview, Maintenance Commands, File-I/O Overview): + Use "(@value{GDBP})" instead of a literal "(gdb)". + 2004-09-12 Andrew Cagney * gdbint.texinfo (Native Debugging): Delete description of @@ -359,7 +375,7 @@ (Coding): Add -Wunused-label to list of -Werror warnings. 2004-01-08 Jason Molenda - Eli Zaretskii + Eli Zaretskii * gdb.texinfo: Update copyright. (Objective-C): "methodName" typeo fixed. Add @code/@var markup @@ -1117,7 +1133,7 @@ 2002-09-20 Kevin Buettner - From Eli Zaretskii : + From Eli Zaretskii : * gdb.texinfo (Character Sets): Use @smallexample instead of @example. Use GNU/Linux instead of Linux. @@ -1388,14 +1404,14 @@ * gdbint.texinfo (Target Architecture Definition): Delete definition of HAVE_REGISTER_WINDOWS. -2002-04-19 Eli Zaretskii +2002-04-19 Eli Zaretskii * gdbint.texinfo (Releasing GDB, Coding): Fix typos. Reported by "Theodore A. Roth" . 2002-04-15 Don Howard - From Eli Zaretskii + From Eli Zaretskii * gdb.texinfo (show max-user-call-depth): Correct formatting. Provide a better explaination of this feature. @@ -1499,7 +1515,7 @@ '_ovly_debug_event', which allows GDB to keep better track of overlays. -2002-02-03 Eli Zaretskii +2002-02-03 Eli Zaretskii * gdb.texinfo (Memory Region Attributes): Fix the wording. Suggested by Dmitry Sivachenko. @@ -1524,7 +1540,7 @@ * gdbint.texinfo (Target Architecture Definition): Delete description of TARGET_BYTE_ORDER_DEFAULT. -2002-01-27 Eli Zaretskii +2002-01-27 Eli Zaretskii * gdb.texinfo: Fix typos and markup. From Dmitry Sivachenko . @@ -1582,7 +1598,7 @@ Tue Jan 22 11:57:38 2002 Andrew Cagney * gdbint.texinfo (Target Architecture Definition): Remove definition of IEEE_FLOAT. -2002-01-20 Eli Zaretskii +2002-01-20 Eli Zaretskii * gdb.texinfo: Beautify copyright years; fix a typo. (DJGPP Native): Fix overfull hboxes in examples. From Brian Youmans @@ -1608,7 +1624,7 @@ Tue Jan 22 11:57:38 2002 Andrew Cagney * fdl.texi: Remove next/prev from @node. -2002-01-17 Eli Zaretskii +2002-01-17 Eli Zaretskii * gdb.texinfo: @include fdl.texi. Fixes for overfull hboxes and for monstrous @multitable (from Brian Youmans). @@ -1640,7 +1656,7 @@ Tue Jan 22 11:57:38 2002 Andrew Cagney * gdb.texinfo (--pid): Document new command line option (attach). -2002-01-07 Eli Zaretskii +2002-01-07 Eli Zaretskii * gdb.texinfo (Tracepoints): Clarify that tracepoints need support in the stub. @@ -1664,7 +1680,7 @@ Tue Jan 22 11:57:38 2002 Andrew Cagney * gdb.texinfo (Free Software): New section ``Free Software Needs Free Documentation''. -2001-12-30 Eli Zaretskii +2001-12-30 Eli Zaretskii * stabs.texinfo: * gdb.texinfo: @@ -1711,7 +1727,7 @@ Tue Jan 22 11:57:38 2002 Andrew Cagney * gdb.texinfo (Options): Eliminate attempt to explain .gdbinit/gdb.ini use since it is described in the referenced section. - From Eli Zaretskii + From Eli Zaretskii * gdb.texinfo (Command Files): Reword to make gdb.ini requirement clearer when using DJGPP. @@ -1825,7 +1841,7 @@ Wed Aug 15 10:47:28 2001 Christopher Faylor * gdbint.texinfo (libgdb): Rewrite. -2001-07-26 Eli Zaretskii +2001-07-26 Eli Zaretskii * Makefile.in (gdbgui.dvi, gdb-gui, gdbgui.info): Targets deleted. @@ -1839,7 +1855,7 @@ Wed Aug 15 10:47:28 2001 Christopher Faylor * gdbint.texinfo (Host Definition): Remove description of NEED_POSIX_SETPGID. -2001-07-23 Eli Zaretskii +2001-07-23 Eli Zaretskii * gdb.tex (DJGPP Native): New node, with descriptions of DJGPP-specific commands. @@ -1878,7 +1894,7 @@ Wed Aug 15 10:47:28 2001 Christopher Faylor EXTRACT_STRUCT_VALUE_ADDRESS and EXTRACT_STRUCT_VALUE_ADDRESS_P. The latter has been changed to a true predicate. -2001-06-17 Eli Zaretskii +2001-06-17 Eli Zaretskii * annotate.texi: Add @noindent where needed. From Dmitry Sivachenko . @@ -1897,7 +1913,7 @@ Wed Aug 15 10:47:28 2001 Christopher Faylor * gdb.texinfo (Protocol): Add doc for new packet "qSymbol:". -2001-06-13 Eli Zaretskii +2001-06-13 Eli Zaretskii * gdb.texinfo (Signals): Clarify the default setting of signal handling. @@ -1911,20 +1927,20 @@ Wed Aug 15 10:47:28 2001 Christopher Faylor * Makefile.in (GDBvn.texi): Set GDBVN from ../version.in. -2001-05-10 Eli Zaretskii +2001-05-10 Eli Zaretskii * gdbint.texinfo (Clean Design and Portable Implementation): Renamed from "Clean Design". (Clean Design and Portable Implementation): Document portable methods of handling file names, and the associated macros. -2001-04-02 Eli Zaretskii +2001-04-02 Eli Zaretskii * gdb.texinfo (Tracepoint Actions): Mention the "info scope" command and provide a cross-reference to its description. (Symbols): Note that "info scope" is useful for trace experiments. -2001-04-01 Eli Zaretskii +2001-04-01 Eli Zaretskii * gdb.texinfo (Symbols): Document "info scope". (Tracepoints): New chapter. @@ -1936,7 +1952,7 @@ Wed Aug 15 10:47:28 2001 Christopher Faylor * stabs.texinfo: Change Permissions to GFDL. Update Copyright. -2001-03-26 Eli Zaretskii +2001-03-26 Eli Zaretskii * gdb.texinfo: Change Permissions to GFDL. Update Copyright. @@ -1951,7 +1967,7 @@ Wed Aug 15 10:47:28 2001 Christopher Faylor a cross-reference to its description. (Symbols): Document "info symbol". -2001-03-21 Eli Zaretskii +2001-03-21 Eli Zaretskii * gdbint.texinfo (Algorithms): New section "Watchpoints" and new subsection "x86 Watchpoints". @@ -1970,11 +1986,11 @@ Wed Aug 15 10:47:28 2001 Christopher Faylor * Makefile.in, all-cfg.texi, annotate.texi, gdb.texinfo, gdbint.texinfo, refcard.tex: Update/correct copyright notices. -2001-02-21 Eli Zaretskii +2001-02-21 Eli Zaretskii * gdb.texinfo (Signals): Document "ignore", "noignore", and "all". -2001-02-11 Eli Zaretskii +2001-02-11 Eli Zaretskii * gdb.texinfo (Environment): Document that `path' does not change the value of PATH in GDB's own environment (it did in the past, @@ -1993,7 +2009,7 @@ Wed Aug 15 10:47:28 2001 Christopher Faylor * gdbint.texinfo (POP_FRAME): Document use by return_command. -2000-12-25 Eli Zaretskii +2000-12-25 Eli Zaretskii * refcard.tex: Version and copyright fixed. From Phil Edwards . @@ -2008,7 +2024,7 @@ Mon Nov 20 21:29:35 2000 Andrew Cagney * gdbint.texinfo (Coding): Update current value of --enable-build-warnings. Mention --enable-gdb-build-warnings. -2000-11-19 Eli Zaretskii +2000-11-19 Eli Zaretskii * gdb.texinfo (Continuing and Stepping): Fixed markup and typos, as suggested by Dmitry Sivachenko . @@ -2017,12 +2033,12 @@ Mon Nov 20 21:29:35 2000 Andrew Cagney * gdb.texinfo: Document new 'set step-mode' command. -2000-10-16 Eli Zaretskii +2000-10-16 Eli Zaretskii * gdb.texinfo (Contributors, MIPS Embedded): Minor spelling changes from Dmitry Sivachenko . -2000-09-26 Eli Zaretskii +2000-09-26 Eli Zaretskii * gdb.texinfo (Hooks): Document the new post-hook functionality. From Steven Johnson . @@ -2031,7 +2047,7 @@ Mon Nov 20 21:29:35 2000 Andrew Cagney * gdbint.texinfo (Overall Structure): Spelling fix. -2000-08-10 Eli Zaretskii +2000-08-10 Eli Zaretskii * gdbint.texinfo (Target Architecture Definition): Document that REGISTER_CONVERT_TO_VIRTUAL should only be called on a register @@ -2047,12 +2063,12 @@ Mon Nov 20 21:29:35 2000 Andrew Cagney * stabs.texinfo: Fix spelling errors. (String Field): FILE-NUMBER starts from 0, not 1. -2000-07-05 Eli Zaretskii +2000-07-05 Eli Zaretskii * refcard.tex: Remove \centerline from the blurb. Patch from Brian Youmans. -2000-06-25 Eli Zaretskii +2000-06-25 Eli Zaretskii * Makefile.in (install-info): Support installation from outside of the source directory. Reported by Mark Harig @@ -2071,7 +2087,7 @@ Fri May 26 15:55:33 2000 Andrew Cagney (gdb.texinfo, gdbint.texinfo, stabs.texinfo): When TeX insert the @contents at the start. -2000-05-24 Eli Zaretskii +2000-05-24 Eli Zaretskii * gdb.texinfo: Remove duplicate @syncodeindex. From Brian Youmans. @@ -2090,7 +2106,7 @@ Tue May 23 22:57:41 2000 Andrew Cagney * configure: Regenerate. -2000-05-17 Eli Zaretskii +2000-05-17 Eli Zaretskii * Makefile.in (install-info): Run install-info on installed Info files. @@ -2100,7 +2116,7 @@ Fri May 12 20:18:04 2000 Andrew Cagney * gdb.texinfo: Add Stan Shebs, et.al. as authors. Mention Andrew Cagney. -2000-05-09 Eli Zaretskii +2000-05-09 Eli Zaretskii * gdb.texinfo: Proofreading changes from Brian Youmans. @@ -2109,7 +2125,7 @@ Fri May 12 20:18:04 2000 Andrew Cagney * gdb.texinfo (Command Files): Mention -x, use @enumerate for startup sequence, minor edits. -2000-05-01 Eli Zaretskii +2000-05-01 Eli Zaretskii * annotate.texi: Remove "@syncodeindex fn cp", it causes grief in TeX. @@ -2123,7 +2139,7 @@ Sat Apr 29 17:01:04 2000 Andrew Cagney * gdbint.texinfo (Hints): Do not use @value{GDBN in @nodes. -2000-04-23 Eli Zaretskii +2000-04-23 Eli Zaretskii * Makefile.in (GDBMI_DIR): New variable. (SET_TEXINPUTS): Add $(GDBMI_DIR). @@ -2142,19 +2158,19 @@ Sat Apr 29 17:01:04 2000 Andrew Cagney * gdb.texinfo (Files): Update description of add-symbol-file command. -2000-04-17 Eli Zaretskii +2000-04-17 Eli Zaretskii * gdb.texinfo (Porting GDB): Don't use @value in the node name, it prevents the build (and is generally a Bad Idea). -2000-04-17 Eli Zaretskii +2000-04-17 Eli Zaretskii * gdb.texinfo (Protocol): Prevent makeinfo from complaining about a comma inside @var. (Command Files): Index markup changes from Dmitry Sivachenko . -2000-04-16 Eli Zaretskii +2000-04-16 Eli Zaretskii * Makefile.in (LN_S): Define. (gdb-cfg.texi, gdb.dvi, links2roff, inc-hist.texinfo): Don't @@ -2266,7 +2282,7 @@ Fri Mar 24 17:56:48 2000 Andrew Cagney , also clarification of allowed content for string constants. -2000-03-16 Eli Zaretskii +2000-03-16 Eli Zaretskii * gdb.texinfo (main menu): Add Annotations. (File Options): Add @cindex entries for each command-line option. @@ -2355,7 +2371,7 @@ Thu Oct 14 21:17:17 1999 Andrew Cagney * gdb.texinfo: Fix uses of @multitable. - From Eli Zaretskii : + From Eli Zaretskii : * gdb.texinfo: Include details specific to DOS host, clarify some confusing language, fix @ref/@xref/@pxref usages, add comments about using with optimization, add more indexing, @@ -2412,7 +2428,7 @@ Wed Aug 25 10:47:03 1999 Andrew Cagney * gdbint.texinfo (Breakpoint Handling): Add missing words. -1999-08-10 Eli Zaretskii +1999-08-10 Eli Zaretskii * gdb.texinfo (Set Watchpoints): Explain some subtleties about watch, awatch, and rwatch. Explain why the latter two cannot be diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index e3288b6bb9f..d2174ec3c62 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -2590,10 +2590,19 @@ an @code{fo} followed by zero or more @code{o}s. There is an implicit @code{.*} leading and trailing the regular expression you supply, so to match only functions that begin with @code{foo}, use @code{^foo}. +@cindex non-member C@t{++} functions, set breakpoint in When debugging C@t{++} programs, @code{rbreak} is useful for setting breakpoints on overloaded functions that are not members of any special classes. +@cindex set breakpoints on all functions +The @code{rbreak} command can be used to set breakpoints in +@strong{all} the functions in a program, like this: + +@smallexample +(@value{GDBP}) rbreak . +@end smallexample + @kindex info breakpoints @cindex @code{$_} and @code{info breakpoints} @item info breakpoints @r{[}@var{n}@r{]} @@ -6300,7 +6309,7 @@ $ gdb -nw charset-test GNU gdb 2001-12-19-cvs Copyright 2001 Free Software Foundation, Inc. @dots{} -(gdb) +(@value{GDBP}) @end smallexample We can use the @code{show charset} command to see what character sets @@ -6308,18 +6317,18 @@ We can use the @code{show charset} command to see what character sets strings: @smallexample -(gdb) show charset +(@value{GDBP}) show charset The current host and target character set is `ISO-8859-1'. -(gdb) +(@value{GDBP}) @end smallexample For the sake of printing this manual, let's use @sc{ascii} as our initial character set: @smallexample -(gdb) set charset ASCII -(gdb) show charset +(@value{GDBP}) set charset ASCII +(@value{GDBP}) show charset The current host and target character set is `ASCII'. -(gdb) +(@value{GDBP}) @end smallexample Let's assume that @sc{ascii} is indeed the correct character set for our @@ -6329,20 +6338,20 @@ them properly. Since our current target character set is also @sc{ascii}, the contents of @code{ascii_hello} print legibly: @smallexample -(gdb) print ascii_hello +(@value{GDBP}) print ascii_hello $1 = 0x401698 "Hello, world!\n" -(gdb) print ascii_hello[0] +(@value{GDBP}) print ascii_hello[0] $2 = 72 'H' -(gdb) +(@value{GDBP}) @end smallexample @value{GDBN} uses the target character set for character and string literals you use in expressions: @smallexample -(gdb) print '+' +(@value{GDBP}) print '+' $3 = 43 '+' -(gdb) +(@value{GDBP}) @end smallexample The @sc{ascii} character set uses the number 43 to encode the @samp{+} @@ -6353,20 +6362,20 @@ target program uses. If we print @code{ibm1047_hello} while our target character set is still @sc{ascii}, we get jibberish: @smallexample -(gdb) print ibm1047_hello +(@value{GDBP}) print ibm1047_hello $4 = 0x4016a8 "\310\205\223\223\226k@@\246\226\231\223\204Z%" -(gdb) print ibm1047_hello[0] +(@value{GDBP}) print ibm1047_hello[0] $5 = 200 '\310' -(gdb) +(@value{GDBP}) @end smallexample If we invoke the @code{set target-charset} followed by @key{TAB}@key{TAB}, @value{GDBN} tells us the character sets it supports: @smallexample -(gdb) set target-charset +(@value{GDBP}) set target-charset ASCII EBCDIC-US IBM1047 ISO-8859-1 -(gdb) set target-charset +(@value{GDBP}) set target-charset @end smallexample We can select @sc{ibm1047} as our target character set, and examine the @@ -6376,28 +6385,28 @@ target character set, @sc{ibm1047}, to the host character set, @sc{ascii}, and they display correctly: @smallexample -(gdb) set target-charset IBM1047 -(gdb) show charset +(@value{GDBP}) set target-charset IBM1047 +(@value{GDBP}) show charset The current host character set is `ASCII'. The current target character set is `IBM1047'. -(gdb) print ascii_hello +(@value{GDBP}) print ascii_hello $6 = 0x401698 "\110\145%%?\054\040\167?\162%\144\041\012" -(gdb) print ascii_hello[0] +(@value{GDBP}) print ascii_hello[0] $7 = 72 '\110' -(gdb) print ibm1047_hello +(@value{GDBP}) print ibm1047_hello $8 = 0x4016a8 "Hello, world!\n" -(gdb) print ibm1047_hello[0] +(@value{GDBP}) print ibm1047_hello[0] $9 = 200 'H' -(gdb) +(@value{GDBP}) @end smallexample As above, @value{GDBN} uses the target character set for character and string literals you use in expressions: @smallexample -(gdb) print '+' +(@value{GDBP}) print '+' $10 = 78 '+' -(gdb) +(@value{GDBP}) @end smallexample The @sc{ibm1047} character set uses the number 78 to encode the @samp{+} @@ -6538,7 +6547,7 @@ $ gdb -nw sample GNU gdb 2002-05-06-cvs Copyright 2002 Free Software Foundation, Inc. GDB is free software, @dots{} -(gdb) +(@value{GDBP}) @end smallexample We can expand macros and examine their definitions, even when the @@ -6546,7 +6555,7 @@ program is not running. @value{GDBN} uses the current listing position to decide which macro definitions are in scope: @smallexample -(gdb) list main +(@value{GDBP}) list main 3 4 #define M 42 5 #define ADD(x) (M + x) @@ -6557,18 +6566,18 @@ to decide which macro definitions are in scope: 10 printf ("Hello, world!\n"); 11 #undef N 12 printf ("We're so creative.\n"); -(gdb) info macro ADD +(@value{GDBP}) info macro ADD Defined at /home/jimb/gdb/macros/play/sample.c:5 #define ADD(x) (M + x) -(gdb) info macro Q +(@value{GDBP}) info macro Q Defined at /home/jimb/gdb/macros/play/sample.h:1 included at /home/jimb/gdb/macros/play/sample.c:2 #define Q < -(gdb) macro expand ADD(1) +(@value{GDBP}) macro expand ADD(1) expands to: (42 + 1) -(gdb) macro expand-once ADD(1) +(@value{GDBP}) macro expand-once ADD(1) expands to: once (M + 1) -(gdb) +(@value{GDBP}) @end smallexample In the example above, note that @command{macro expand-once} expands only @@ -6580,27 +6589,27 @@ Once the program is running, GDB uses the macro definitions in force at the source line of the current stack frame: @smallexample -(gdb) break main +(@value{GDBP}) break main Breakpoint 1 at 0x8048370: file sample.c, line 10. -(gdb) run +(@value{GDBP}) run Starting program: /home/jimb/gdb/macros/play/sample Breakpoint 1, main () at sample.c:10 10 printf ("Hello, world!\n"); -(gdb) +(@value{GDBP}) @end smallexample At line 10, the definition of the macro @code{N} at line 9 is in force: @smallexample -(gdb) info macro N +(@value{GDBP}) info macro N Defined at /home/jimb/gdb/macros/play/sample.c:9 #define N 28 -(gdb) macro expand N Q M +(@value{GDBP}) macro expand N Q M expands to: 28 < 42 -(gdb) print N Q M +(@value{GDBP}) print N Q M $1 = 1 -(gdb) +(@value{GDBP}) @end smallexample As we step over directives that remove @code{N}'s definition, and then @@ -6608,23 +6617,23 @@ give it a new definition, @value{GDBN} finds the definition (or lack thereof) in force at each point: @smallexample -(gdb) next +(@value{GDBP}) next Hello, world! 12 printf ("We're so creative.\n"); -(gdb) info macro N +(@value{GDBP}) info macro N The symbol `N' has no definition as a C/C++ preprocessor macro at /home/jimb/gdb/macros/play/sample.c:12 -(gdb) next +(@value{GDBP}) next We're so creative. 14 printf ("Goodbye, world!\n"); -(gdb) info macro N +(@value{GDBP}) info macro N Defined at /home/jimb/gdb/macros/play/sample.c:13 #define N 1729 -(gdb) macro expand N Q M +(@value{GDBP}) macro expand N Q M expands to: 1729 < 42 -(gdb) print N Q M +(@value{GDBP}) print N Q M $2 = 0 -(gdb) +(@value{GDBP}) @end smallexample @@ -7480,7 +7489,7 @@ Normally, when @value{GDBN} prints a code address, it includes the name of the function the address falls in: @smallexample -(gdb) print main +(@value{GDBP}) print main $3 = @{int ()@} 0x11a0
@end smallexample @noindent @@ -7490,9 +7499,9 @@ asterisks around them. For example, if @code{foo} is a function in an unmapped overlay, @value{GDBN} prints it this way: @smallexample -(gdb) overlay list +(@value{GDBP}) overlay list No sections are mapped. -(gdb) print foo +(@value{GDBP}) print foo $5 = @{int (int)@} 0x100000 <*foo*> @end smallexample @noindent @@ -7500,10 +7509,10 @@ When @code{foo}'s overlay is mapped, @value{GDBN} prints the function's name normally: @smallexample -(gdb) overlay list +(@value{GDBP}) overlay list Section .ov.foo.text, loaded at 0x100000 - 0x100034, mapped at 0x1016 - 0x104a -(gdb) print foo +(@value{GDBP}) print foo $6 = @{int (int)@} 0x1016 @end smallexample @@ -11756,7 +11765,7 @@ some confusion. If in doubt, try the @code{info functions} and @pxref{Symbols}). Here's an example: @smallexample -(gdb) info function CreateFileA +(@value{GDBP}) info function CreateFileA All functions matching regular expression "CreateFileA": Non-debugging symbols: @@ -11765,7 +11774,7 @@ Non-debugging symbols: @end smallexample @smallexample -(gdb) info function ! +(@value{GDBP}) info function ! All functions matching regular expression "!": Non-debugging symbols: @@ -11792,28 +11801,28 @@ type information in the command. Here's an example of the type of problem: @smallexample -(gdb) print 'cygwin1!__argv' +(@value{GDBP}) print 'cygwin1!__argv' $1 = 268572168 @end smallexample @smallexample -(gdb) x 'cygwin1!__argv' +(@value{GDBP}) x 'cygwin1!__argv' 0x10021610: "\230y\"" @end smallexample And two possible solutions: @smallexample -(gdb) print ((char **)'cygwin1!__argv')[0] +(@value{GDBP}) print ((char **)'cygwin1!__argv')[0] $2 = 0x22fd98 "/cygdrive/c/mydirectory/myprogram" @end smallexample @smallexample -(gdb) x/2x &'cygwin1!__argv' +(@value{GDBP}) x/2x &'cygwin1!__argv' 0x610c0aa8 : 0x10021608 0x00000000 -(gdb) x/x 0x10021608 +(@value{GDBP}) x/x 0x10021608 0x10021608: 0x0022fd98 -(gdb) x/s 0x0022fd98 +(@value{GDBP}) x/s 0x0022fd98 0x22fd98: "/cygdrive/c/mydirectory/myprogram" @end smallexample @@ -11824,7 +11833,7 @@ function's frame set-up code. You can work around this by using ``*&'' to set the breakpoint at a raw memory address: @smallexample -(gdb) break *&'python22!PyOS_Readline' +(@value{GDBP}) break *&'python22!PyOS_Readline' Breakpoint 1 at 0x1e04eff0 @end smallexample @@ -14668,7 +14677,7 @@ corresponding output for that command will also be prefixed by that same @table @code @item @var{output} @expansion{} -@code{( @var{out-of-band-record} )* [ @var{result-record} ] "(gdb)" @var{nl}} +@code{( @var{out-of-band-record} )* [ @var{result-record} ] "(@value{GDBP})" @var{nl}} @item @var{result-record} @expansion{} @code{ [ @var{token} ] "^" @var{result-class} ( "," @var{result} )* @var{nl}} @@ -18531,7 +18540,7 @@ for details. This GDB was configured as "i386-pc-linux-gnu" ^Z^Zpre-prompt -(gdb) +(@value{GDBP}) ^Z^Zprompt @kbd{quit} @@ -19453,13 +19462,13 @@ either quit @value{GDBN} or create a core file of the current @value{GDBN} session. @smallexample -(gdb) @kbd{maint internal-error testing, 1, 2} +(@value{GDBP}) @kbd{maint internal-error testing, 1, 2} @dots{}/maint.c:121: internal-error: testing, 1, 2 A problem internal to GDB has been detected. Further debugging may prove unreliable. Quit this debugging session? (y or n) @kbd{n} Create a core file? (y or n) @kbd{n} -(gdb) +(@value{GDBP}) @end smallexample Takes an optional parameter that is used as the text of the error or @@ -19471,18 +19480,18 @@ warning message. Prints the contents of @value{GDBN}'s internal dummy-frame stack. @smallexample -(gdb) @kbd{b add} +(@value{GDBP}) @kbd{b add} @dots{} -(gdb) @kbd{print add(2,3)} +(@value{GDBP}) @kbd{print add(2,3)} Breakpoint 2, add (a=2, b=3) at @dots{} 58 return (a + b); The program being debugged stopped while in a function called from GDB. @dots{} -(gdb) @kbd{maint print dummy-frames} +(@value{GDBP}) @kbd{maint print dummy-frames} 0x1a57c80: pc=0x01014068 fp=0x0200bddc sp=0x0200bdd6 top=0x0200bdd4 id=@{stack=0x200bddc,code=0x101405c@} call_lo=0x01014000 call_hi=0x01014001 -(gdb) +(@value{GDBP}) @end smallexample Takes an optional file parameter. @@ -19513,7 +19522,7 @@ Print @value{GDBN}'s internal register group data structures. Takes an optional file parameter. @smallexample -(gdb) @kbd{maint print reggroups} +(@value{GDBP}) @kbd{maint print reggroups} Group Type general user float user @@ -20714,7 +20723,7 @@ previous activity (continue, step). No additional continue or step request from @value{GDBN} is required. @smallexample -(gdb) continue +(@value{GDBP}) continue <- target requests 'system call X' target is stopped, @value{GDBN} executes system call -> GDB returns result diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index e8d696923d8..00ebaeeb024 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -368,11 +368,18 @@ struct dwarf2_per_cu_data any of the current compilation units are processed. */ unsigned long queued : 1; + /* Set iff currently read in. */ + struct dwarf2_cu *cu; + /* Only set during full symbol reading. */ struct partial_symtab *psymtab; - /* Set iff currently read in. */ - struct dwarf2_cu *cu; + /* If full symbols for this CU have been read in, then this field + holds a map of DIE offsets to types. It isn't always possible + to reconstruct this information later, so we have to preserve + it. */ + + htab_t type_hash; }; /* The line number information for a compilation unit (found in the @@ -657,7 +664,7 @@ struct field_info compilation units. Set this to zero to disable caching. Cache sizes of up to at least twenty will improve startup time for typical inter-CU-reference binaries, at an obvious memory cost. */ -static unsigned int dwarf2_max_cache_age = 5; +static int dwarf2_max_cache_age = 5; /* Various complaints about symbol reading that don't abort the process */ @@ -871,7 +878,8 @@ static void read_type_die (struct die_info *, struct dwarf2_cu *); static char *determine_prefix (struct die_info *die, struct dwarf2_cu *); -static char *typename_concat (const char *prefix, const char *suffix); +static char *typename_concat (struct obstack *, const char *prefix, const char *suffix, + struct dwarf2_cu *); static void read_typedef (struct die_info *, struct dwarf2_cu *); @@ -1059,7 +1067,7 @@ static void free_one_comp_unit (void *); static void free_cached_comp_units (void *); -static void age_cached_comp_units (void *); +static void age_cached_comp_units (void); static void free_one_cached_comp_unit (void *); @@ -1466,10 +1474,6 @@ dwarf2_build_psymtabs_hard (struct objfile *objfile, int mainline) cu.list_in_scope = &file_symbols; - cu.partial_dies = NULL; - - cu.read_in_chain = NULL; - /* Read the abbrevs for this compilation unit into a table */ dwarf2_read_abbrevs (abfd, &cu); make_cleanup (dwarf2_free_abbrev_table, &cu); @@ -1492,13 +1496,12 @@ dwarf2_build_psymtabs_hard (struct objfile *objfile, int mainline) objfile->global_psymbols.next, objfile->static_psymbols.next); - if (comp_unit_die.dirname) - pst->dirname = xstrdup (comp_unit_die.dirname); + if (comp_unit_die.dirname) + pst->dirname = xstrdup (comp_unit_die.dirname); pst->read_symtab_private = (char *) obstack_alloc (&objfile->objfile_obstack, sizeof (struct dwarf2_pinfo)); DWARF_INFO_OFFSET (pst) = beg_of_comp_unit - dwarf2_per_objfile->info_buffer; - PST_PRIVATE (pst)->type_hash = NULL; baseaddr = ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile)); /* Store the function that reads in the rest of the symbol table */ @@ -1510,18 +1513,21 @@ dwarf2_build_psymtabs_hard (struct objfile *objfile, int mainline) per_cu = dwarf2_find_comp_unit (cu.header.offset, objfile); - /* If we were already read in, free ourselves to read in again. - Yes, this is pointless duplication. Fixing this will provide - a nice speed boost but require a lot of editing in this - function. */ + /* If this compilation unit was already read in, free the + cached copy in order to read it in again. This is + necessary because we skipped some symbols when we first + read in the compilation unit (see load_partial_dies). + This problem could be avoided, but the benefit is + unclear. */ if (per_cu->cu != NULL) free_one_cached_comp_unit (per_cu->cu); cu.per_cu = per_cu; - /* Note that this is a pointer to our stack frame. It will - be cleaned up in free_stack_comp_unit when we finish with - this compilation unit. */ + /* Note that this is a pointer to our stack frame, being + added to a global data structure. It will be cleaned up + in free_stack_comp_unit when we finish with this + compilation unit. */ per_cu->cu = &cu; per_cu->psymtab = pst; @@ -1609,25 +1615,24 @@ load_comp_unit (struct dwarf2_per_cu_data *this_cu, struct objfile *objfile) cu->objfile = objfile; info_ptr = partial_read_comp_unit_head (&cu->header, info_ptr, abfd); - /* Complete the cu_header */ + /* Complete the cu_header. */ cu->header.offset = beg_of_comp_unit - dwarf2_per_objfile->info_buffer; cu->header.first_die_ptr = info_ptr; cu->header.cu_head_ptr = beg_of_comp_unit; - cu->partial_dies = NULL; - - /* Read the abbrevs for this compilation unit into a table */ + /* Read the abbrevs for this compilation unit into a table. */ dwarf2_read_abbrevs (abfd, cu); back_to = make_cleanup (dwarf2_free_abbrev_table, cu); - /* Read the compilation unit die */ + /* Read the compilation unit die. */ abbrev = peek_die_abbrev (info_ptr, &bytes_read, cu); info_ptr = read_partial_die (&comp_unit_die, abbrev, bytes_read, abfd, info_ptr, cu); - /* Set the language we're debugging */ + /* Set the language we're debugging. */ set_cu_language (comp_unit_die.language, cu); + /* Link this compilation unit into the compilation unit tree. */ this_cu->cu = cu; cu->per_cu = this_cu; @@ -1791,7 +1796,8 @@ scan_partial_symbols (struct partial_die_info *first_die, CORE_ADDR *lowpc, /* Functions used to compute the fully scoped name of a partial DIE. Normally, this is simple. For C++, the parent DIE's fully scoped - name is concatenated with "::" and the partial DIE's name. + name is concatenated with "::" and the partial DIE's name. For + Java, the same thing occurs except that "." is used instead of "::". Enumerators are an exception; they use the scope of their parent enumeration type, i.e. the name of the enumeration type is not prepended to the enumerator. @@ -1846,8 +1852,8 @@ partial_die_parent_scope (struct partial_die_info *pdi, if (grandparent_scope == NULL) parent->scope = parent->name; else - parent->scope = obconcat (&cu->comp_unit_obstack, grandparent_scope, - "::", parent->name); + parent->scope = typename_concat (&cu->comp_unit_obstack, grandparent_scope, + parent->name, cu); } else if (parent->tag == DW_TAG_enumeration_type) /* Enumerators should not get the name of the enumeration as a prefix. */ @@ -1879,7 +1885,7 @@ partial_die_full_name (struct partial_die_info *pdi, if (parent_scope == NULL) return NULL; else - return concat (parent_scope, "::", pdi->name, NULL); + return typename_concat (NULL, parent_scope, pdi->name, cu); } static void @@ -1997,14 +2003,16 @@ add_partial_symbol (struct partial_die_info *pdi, struct dwarf2_cu *cu) return; add_psymbol_to_list (actual_name, strlen (actual_name), STRUCT_DOMAIN, LOC_TYPEDEF, - cu->language == language_cplus + (cu->language == language_cplus + || cu->language == language_java) ? &objfile->global_psymbols : &objfile->static_psymbols, 0, (CORE_ADDR) 0, cu->language, objfile); - if (cu->language == language_cplus) + if (cu->language == language_cplus + || cu->language == language_java) { - /* For C++, these implicitly act as typedefs as well. */ + /* For C++ and Java, these implicitly act as typedefs as well. */ add_psymbol_to_list (actual_name, strlen (actual_name), VAR_DOMAIN, LOC_TYPEDEF, &objfile->global_psymbols, @@ -2014,7 +2022,8 @@ add_partial_symbol (struct partial_die_info *pdi, struct dwarf2_cu *cu) case DW_TAG_enumerator: add_psymbol_to_list (actual_name, strlen (actual_name), VAR_DOMAIN, LOC_CONST, - cu->language == language_cplus + (cu->language == language_cplus + || cu->language == language_java) ? &objfile->global_psymbols : &objfile->static_psymbols, 0, (CORE_ADDR) 0, cu->language, objfile); @@ -2094,7 +2103,8 @@ static void guess_structure_name (struct partial_die_info *struct_pdi, struct dwarf2_cu *cu) { - if (cu->language == language_cplus + if ((cu->language == language_cplus + || cu->language == language_java) && cu->has_namespace_info == 0 && struct_pdi->has_children) { @@ -2524,7 +2534,7 @@ psymtab_to_symtab_1 (struct partial_symtab *pst) /* Aging is a very important performance improvement. My testing shows a factor of six loss from disabling the caching. */ - age_cached_comp_units (NULL); + age_cached_comp_units (); } do_cleanups (back_to); @@ -2928,7 +2938,8 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu) if (name == NULL || !dwarf2_get_pc_bounds (die, &lowpc, &highpc, cu)) return; - if (cu->language == language_cplus) + if (cu->language == language_cplus + || cu->language == language_java) { struct dwarf2_cu *spec_cu; struct die_info *spec_die = die_specification (die, cu, &spec_cu); @@ -3728,10 +3739,13 @@ static int is_vtable_name (const char *name, struct dwarf2_cu *cu) { static const char vptr[] = "_vptr"; + static const char vtable[] = "vtable"; - /* C++ and some implementations of Java use this name. */ - if (strncmp (name, vptr, sizeof (vptr) - 1) == 0 - && is_cplus_marker (name[sizeof (vptr) - 1])) + /* Look for the C++ and Java forms of the vtable. */ + if ((cu->language == language_java + && strncmp (name, vtable, sizeof (vtable) - 1) == 0) + || (strncmp (name, vptr, sizeof (vptr) - 1) == 0 + && is_cplus_marker (name[sizeof (vptr) - 1]))) return 1; return 0; @@ -3775,7 +3789,8 @@ read_structure_type (struct die_info *die, struct dwarf2_cu *cu) attr = dwarf2_attr (die, DW_AT_name, cu); if (attr && DW_STRING (attr)) { - if (cu->language == language_cplus) + if (cu->language == language_cplus + || cu->language == language_java) { char *new_prefix = determine_class_name (die, cu); TYPE_TAG_NAME (type) = obsavestring (new_prefix, @@ -3980,11 +3995,9 @@ read_enumeration_type (struct die_info *die, struct dwarf2_cu *cu) if (processing_has_namespace_info) { - TYPE_TAG_NAME (type) = obconcat (&objfile->objfile_obstack, - processing_current_prefix, - processing_current_prefix[0] == '\0' - ? "" : "::", - name); + TYPE_TAG_NAME (type) = typename_concat (&objfile->objfile_obstack, + processing_current_prefix, + name, cu); } else { @@ -4008,7 +4021,7 @@ read_enumeration_type (struct die_info *die, struct dwarf2_cu *cu) } /* Determine the name of the type represented by DIE, which should be - a named C++ compound type. Return the name in question; the caller + a named C++ or Java compound type. Return the name in question; the caller is responsible for xfree()'ing it. */ static char * @@ -4056,8 +4069,9 @@ determine_class_name (struct die_info *die, struct dwarf2_cu *cu) if (new_prefix == NULL) { const char *name = dwarf2_name (die, cu); - new_prefix = typename_concat (processing_current_prefix, - name ? name : "<>"); + new_prefix = typename_concat (NULL, processing_current_prefix, + name ? name : "<>", + cu); } if (back_to != NULL) @@ -4325,6 +4339,7 @@ read_namespace (struct die_info *die, struct dwarf2_cu *cu) const char *name; int is_anonymous; struct die_info *current_die; + struct cleanup *back_to = make_cleanup (null_cleanup, 0); struct dwarf2_cu *spec_cu; name = namespace_name (die, &is_anonymous, cu); @@ -4337,14 +4352,8 @@ read_namespace (struct die_info *die, struct dwarf2_cu *cu) } else { - /* We need temp_name around because processing_current_prefix - is a const char *. */ - char *temp_name = alloca (strlen (previous_prefix) - + 2 + strlen(name) + 1); - strcpy (temp_name, previous_prefix); - strcat (temp_name, "::"); - strcat (temp_name, name); - + char *temp_name = typename_concat (NULL, previous_prefix, name, cu); + make_cleanup (xfree, temp_name); processing_current_prefix = temp_name; } @@ -4384,6 +4393,7 @@ read_namespace (struct die_info *die, struct dwarf2_cu *cu) } processing_current_prefix = previous_prefix; + do_cleanups (back_to); } /* Return the name of the namespace represented by DIE. Set @@ -4634,10 +4644,11 @@ read_subroutine_type (struct die_info *die, struct dwarf2_cu *cu) type = die_type (die, cu); ftype = lookup_function_type (type); - /* All functions in C++ have prototypes. */ + /* All functions in C++ and Java have prototypes. */ attr = dwarf2_attr (die, DW_AT_prototyped, cu); if ((attr && (DW_UNSND (attr) != 0)) - || cu->language == language_cplus) + || cu->language == language_cplus + || cu->language == language_java) TYPE_FLAGS (ftype) |= TYPE_FLAG_PROTOTYPED; if (die->child != NULL) @@ -4704,7 +4715,8 @@ read_typedef (struct die_info *die, struct dwarf2_cu *cu) name = DW_STRING (attr); } set_die_type (die, init_type (TYPE_CODE_TYPEDEF, 0, - TYPE_FLAG_TARGET_STUB, name, objfile), cu); + TYPE_FLAG_TARGET_STUB, name, objfile), + cu); TYPE_TARGET_TYPE (die->type) = die_type (die, cu); } } @@ -5291,7 +5303,8 @@ load_partial_dies (bfd *abfd, char *info_ptr, int building_psymtab, else if (building_psymtab) add_psymbol_to_list (part_die->name, strlen (part_die->name), VAR_DOMAIN, LOC_CONST, - cu->language == language_cplus + (cu->language == language_cplus + || cu->language == language_java) ? &cu->objfile->global_psymbols : &cu->objfile->static_psymbols, 0, (CORE_ADDR) 0, cu->language, cu->objfile); @@ -5530,7 +5543,13 @@ find_partial_die (unsigned long offset, struct dwarf2_cu *cu, } per_cu = dwarf2_find_containing_comp_unit (offset, cu->objfile); - gdb_assert (per_cu != NULL); + + /* If this offset isn't pointing into a known compilation unit, + the debug information is probably corrupted. */ + if (per_cu == NULL) + error ("Dwarf Error: could not find partial DIE containing " + "offset 0x%lx [in module %s]", + (long) offset, bfd_get_filename (cu->objfile->obfd)); if (per_cu->cu == NULL) { @@ -6972,7 +6991,8 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu) read_structure_type, and the correct name is saved in the type. */ - if (cu->language == language_cplus) + if (cu->language == language_cplus + || cu->language == language_java) { struct type *type = SYMBOL_TYPE (sym); @@ -6989,7 +7009,7 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu) } { - /* NOTE: carlton/2003-11-10: C++ class symbols shouldn't + /* NOTE: carlton/2003-11-10: C++ and Java class symbols shouldn't really ever be static objects: otherwise, if you try to, say, break of a class's method and you're in a file which doesn't mention that class, it won't work unless @@ -7000,15 +7020,18 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu) struct pending **list_to_add; list_to_add = (cu->list_in_scope == &file_symbols - && cu->language == language_cplus + && (cu->language == language_cplus + || cu->language == language_java) ? &global_symbols : cu->list_in_scope); add_symbol_to_list (sym, list_to_add); /* The semantics of C++ state that "struct foo { ... }" also - defines a typedef for "foo". Synthesize a typedef symbol so - that "ptype foo" works as expected. */ - if (cu->language == language_cplus) + defines a typedef for "foo". A Java class declaration also + defines a typedef for the class. Synthesize a typedef symbol + so that "ptype foo" works as expected. */ + if (cu->language == language_cplus + || cu->language == language_java) { struct symbol *typedef_sym = (struct symbol *) obstack_alloc (&objfile->objfile_obstack, @@ -7028,10 +7051,9 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu) if (processing_has_namespace_info && processing_current_prefix[0] != '\0') { - SYMBOL_LINKAGE_NAME (sym) = obconcat (&objfile->objfile_obstack, - processing_current_prefix, - "::", - name); + SYMBOL_LINKAGE_NAME (sym) = typename_concat (&objfile->objfile_obstack, + processing_current_prefix, + name, cu); } SYMBOL_CLASS (sym) = LOC_TYPEDEF; SYMBOL_DOMAIN (sym) = VAR_DOMAIN; @@ -7047,10 +7069,9 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu) if (processing_has_namespace_info && processing_current_prefix[0] != '\0') { - SYMBOL_LINKAGE_NAME (sym) = obconcat (&objfile->objfile_obstack, - processing_current_prefix, - "::", - name); + SYMBOL_LINKAGE_NAME (sym) = typename_concat (&objfile->objfile_obstack, + processing_current_prefix, + name, cu); } attr = dwarf2_attr (die, DW_AT_const_value, cu); if (attr) @@ -7064,7 +7085,8 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu) struct pending **list_to_add; list_to_add = (cu->list_in_scope == &file_symbols - && cu->language == language_cplus + && (cu->language == language_cplus + || cu->language == language_java) ? &global_symbols : cu->list_in_scope); add_symbol_to_list (sym, list_to_add); @@ -7372,7 +7394,8 @@ determine_prefix (struct die_info *die, struct dwarf2_cu *cu) { struct die_info *parent; - if (cu->language != language_cplus) + if (cu->language != language_cplus + && cu->language != language_java) return NULL; parent = die->parent; @@ -7396,9 +7419,10 @@ determine_prefix (struct die_info *die, struct dwarf2_cu *cu) { int dummy; char *parent_prefix = determine_prefix (parent, cu); - char *retval = typename_concat (parent_prefix, + char *retval = typename_concat (NULL, parent_prefix, namespace_name (parent, &dummy, - cu)); + cu), + cu); xfree (parent_prefix); return retval; } @@ -7431,25 +7455,47 @@ determine_prefix (struct die_info *die, struct dwarf2_cu *cu) } } -/* Return a newly-allocated string formed by concatenating PREFIX, - "::", and SUFFIX, except that if PREFIX is NULL or the empty - string, just return a copy of SUFFIX. */ +/* Return a newly-allocated string formed by concatenating PREFIX and + SUFFIX with appropriate separator. If PREFIX or SUFFIX is NULL or empty, then + simply copy the SUFFIX or PREFIX, respectively. If OBS is non-null, + perform an obconcat, otherwise allocate storage for the result. The CU argument + is used to determine the language and hence, the appropriate separator. */ + +#define MAX_SEP_LEN 2 /* sizeof ("::") */ static char * -typename_concat (const char *prefix, const char *suffix) +typename_concat (struct obstack *obs, const char *prefix, const char *suffix, + struct dwarf2_cu *cu) { - if (prefix == NULL || prefix[0] == '\0') - return xstrdup (suffix); - else - { - char *retval = xmalloc (strlen (prefix) + 2 + strlen (suffix) + 1); + char *sep; - strcpy (retval, prefix); - strcat (retval, "::"); - strcat (retval, suffix); + if (suffix == NULL || suffix[0] == '\0' || prefix == NULL || prefix[0] == '\0') + sep = ""; + else if (cu->language == language_java) + sep = "."; + else + sep = "::"; + if (obs == NULL) + { + char *retval = xmalloc (strlen (prefix) + MAX_SEP_LEN + strlen (suffix) + 1); + retval[0] = '\0'; + + if (prefix) + { + strcpy (retval, prefix); + strcat (retval, sep); + } + if (suffix) + strcat (retval, suffix); + return retval; } + else + { + /* We have an obstack. */ + return obconcat (obs, prefix, sep, suffix); + } } static struct type * @@ -9342,7 +9388,10 @@ dwarf2_find_containing_comp_unit (unsigned long offset, struct dwarf2_per_cu_data *this_cu; int low, high; - gdb_assert (dwarf2_per_objfile->all_comp_units != NULL); + if (dwarf2_per_objfile->all_comp_units == NULL) + error ("Dwarf Error: offset 0x%lx points outside this " + "compilation unit [in module %s]", + offset, bfd_get_filename (objfile->obfd)); low = 0; high = dwarf2_per_objfile->n_comp_units - 1; @@ -9402,8 +9451,8 @@ dwarf2_find_comp_unit_psymtab (unsigned int offset, struct objfile *objfile) } /* Release one cached compilation unit, CU. We unlink it from the tree - of compilation units, but we don't remove it from the read_in_chain - (so it should not be on that chain to begin with). */ + of compilation units, but we don't remove it from the read_in_chain; + the caller is responsible for that. */ static void free_one_comp_unit (void *data) @@ -9421,52 +9470,6 @@ free_one_comp_unit (void *data) xfree (cu); } -/* Helper function for cleaning up the compilation unit cache. Walk - this objfile's read_in_chain. If AGING, increase the age counter - on each compilation unit, and free any that are too old. Otherwise, - if TARGET_CU, free only that compilation unit, removing it from the - chain. Otherwise free all compilation units. */ - -static void -free_comp_units_worker (struct dwarf2_cu *target_cu, int aging) -{ - struct dwarf2_per_cu_data *per_cu, **last_chain; - - if (aging) - { - dwarf2_clear_marks (dwarf2_per_objfile->read_in_chain); - per_cu = dwarf2_per_objfile->read_in_chain; - while (per_cu != NULL) - { - per_cu->cu->last_used ++; - if (per_cu->cu->last_used <= dwarf2_max_cache_age) - dwarf2_mark (per_cu->cu); - per_cu = per_cu->cu->read_in_chain; - } - } - - per_cu = dwarf2_per_objfile->read_in_chain; - last_chain = &dwarf2_per_objfile->read_in_chain; - while (per_cu != NULL) - { - struct dwarf2_per_cu_data *next_cu; - - next_cu = per_cu->cu->read_in_chain; - - if ((aging && !per_cu->cu->mark) - || (target_cu && per_cu->cu == target_cu) - || (!aging && target_cu == NULL)) - { - free_one_comp_unit (per_cu->cu); - *last_chain = next_cu; - } - else - last_chain = &per_cu->cu->read_in_chain; - - per_cu = next_cu; - } -} - /* This cleanup function is passed the address of a dwarf2_cu on the stack when we're finished with it. We can't free the pointer itself, but be sure to unlink it from the cache. Also release any associated storage @@ -9491,34 +9494,110 @@ free_stack_comp_unit (void *data) /* If we had a per-cu pointer, then we may have other compilation units loaded, so age them now. */ - age_cached_comp_units (NULL); + age_cached_comp_units (); } } +/* Free all cached compilation units. */ + static void free_cached_comp_units (void *data) { - free_comp_units_worker (NULL, 0); + struct dwarf2_per_cu_data *per_cu, **last_chain; + + per_cu = dwarf2_per_objfile->read_in_chain; + last_chain = &dwarf2_per_objfile->read_in_chain; + while (per_cu != NULL) + { + struct dwarf2_per_cu_data *next_cu; + + next_cu = per_cu->cu->read_in_chain; + + free_one_comp_unit (per_cu->cu); + *last_chain = next_cu; + + per_cu = next_cu; + } } +/* Increase the age counter on each cached compilation unit, and free + any that are too old. */ + static void -age_cached_comp_units (void *data) +age_cached_comp_units (void) { - free_comp_units_worker (NULL, 1); + struct dwarf2_per_cu_data *per_cu, **last_chain; + + dwarf2_clear_marks (dwarf2_per_objfile->read_in_chain); + per_cu = dwarf2_per_objfile->read_in_chain; + while (per_cu != NULL) + { + per_cu->cu->last_used ++; + if (per_cu->cu->last_used <= dwarf2_max_cache_age) + dwarf2_mark (per_cu->cu); + per_cu = per_cu->cu->read_in_chain; + } + + per_cu = dwarf2_per_objfile->read_in_chain; + last_chain = &dwarf2_per_objfile->read_in_chain; + while (per_cu != NULL) + { + struct dwarf2_per_cu_data *next_cu; + + next_cu = per_cu->cu->read_in_chain; + + if (!per_cu->cu->mark) + { + free_one_comp_unit (per_cu->cu); + *last_chain = next_cu; + } + else + last_chain = &per_cu->cu->read_in_chain; + + per_cu = next_cu; + } } +/* Remove a single compilation unit from the cache. */ + static void free_one_cached_comp_unit (void *target_cu) { - free_comp_units_worker (target_cu, 0); + struct dwarf2_per_cu_data *per_cu, **last_chain; + + per_cu = dwarf2_per_objfile->read_in_chain; + last_chain = &dwarf2_per_objfile->read_in_chain; + while (per_cu != NULL) + { + struct dwarf2_per_cu_data *next_cu; + + next_cu = per_cu->cu->read_in_chain; + + if (per_cu->cu == target_cu) + { + free_one_comp_unit (per_cu->cu); + *last_chain = next_cu; + break; + } + else + last_chain = &per_cu->cu->read_in_chain; + + per_cu = next_cu; + } } +/* A pair of DIE offset and GDB type pointer. We store these + in a hash table separate from the DIEs, and preserve them + when the DIEs are flushed out of cache. */ + struct dwarf2_offset_and_type { unsigned int offset; struct type *type; }; +/* Hash function for a dwarf2_offset_and_type. */ + static hashval_t offset_and_type_hash (const void *item) { @@ -9526,6 +9605,8 @@ offset_and_type_hash (const void *item) return ofs->offset; } +/* Equality function for a dwarf2_offset_and_type. */ + static int offset_and_type_eq (const void *item_lhs, const void *item_rhs) { @@ -9534,13 +9615,12 @@ offset_and_type_eq (const void *item_lhs, const void *item_rhs) return ofs_lhs->offset == ofs_rhs->offset; } -/* Functions used to regenerate die->type, given a tree of DIEs and an - already completed symtab. Types without names can't necessarily be - reconstituted, so we save them. */ +/* Set the type associated with DIE to TYPE. Save it in CU's hash + table if necessary. */ + static void set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu) { - htab_t type_hash; struct dwarf2_offset_and_type **slot, ofs; die->type = type; @@ -9548,28 +9628,29 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu) if (cu->per_cu == NULL) return; - type_hash = PST_PRIVATE (cu->per_cu->psymtab)->type_hash; - if (type_hash == NULL) - { - type_hash = htab_create_alloc_ex (cu->header.length / 24, - offset_and_type_hash, - offset_and_type_eq, - NULL, - &cu->objfile->objfile_obstack, - hashtab_obstack_allocate, - dummy_obstack_deallocate); - PST_PRIVATE (cu->per_cu->psymtab)->type_hash = type_hash; - } + if (cu->per_cu->type_hash == NULL) + cu->per_cu->type_hash + = htab_create_alloc_ex (cu->header.length / 24, + offset_and_type_hash, + offset_and_type_eq, + NULL, + &cu->objfile->objfile_obstack, + hashtab_obstack_allocate, + dummy_obstack_deallocate); + ofs.offset = die->offset; ofs.type = type; slot = (struct dwarf2_offset_and_type **) - htab_find_slot_with_hash (type_hash, &ofs, ofs.offset, INSERT); + htab_find_slot_with_hash (cu->per_cu->type_hash, &ofs, ofs.offset, INSERT); *slot = obstack_alloc (&cu->objfile->objfile_obstack, sizeof (**slot)); **slot = ofs; } +/* Find the type for DIE in TYPE_HASH, or return NULL if DIE does not + have a saved type. */ + static struct type * -get_die_type (struct die_info *die, htab_t type_hash, struct dwarf2_cu *cu) +get_die_type (struct die_info *die, htab_t type_hash) { struct dwarf2_offset_and_type *slot, ofs; @@ -9581,24 +9662,28 @@ get_die_type (struct die_info *die, htab_t type_hash, struct dwarf2_cu *cu) return NULL; } +/* Restore the types of the DIE tree starting at START_DIE from the hash + table saved in CU. */ + static void reset_die_and_siblings_types (struct die_info *start_die, struct dwarf2_cu *cu) { struct die_info *die; - htab_t type_hash; - type_hash = PST_PRIVATE (cu->per_cu->psymtab)->type_hash; - if (type_hash == NULL) + if (cu->per_cu->type_hash == NULL) return; for (die = start_die; die != NULL; die = die->sibling) { - die->type = get_die_type (die, type_hash, cu); + die->type = get_die_type (die, cu->per_cu->type_hash); if (die->child != NULL) reset_die_and_siblings_types (die->child, cu); } } +/* Set the mark field in CU and in every other compilation unit in the + cache that we must keep because we are keeping CU. */ + /* Add a dependence relationship from CU to REF_PER_CU. */ static void diff --git a/gdb/fbsd-nat.c b/gdb/fbsd-nat.c new file mode 100644 index 00000000000..b7045d493e2 --- /dev/null +++ b/gdb/fbsd-nat.c @@ -0,0 +1,181 @@ +/* Native-dependent code for FreeBSD. + + Copyright 2002, 2003, 2004 Free Software Foundation, Inc. + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include "defs.h" +#include "gdbcore.h" +#include "inferior.h" +#include "regcache.h" +#include "regset.h" + +#include "gdb_assert.h" +#include "gdb_string.h" +#include +#include + +#include "elf-bfd.h" +#include "fbsd-nat.h" + +/* Return a the name of file that can be opened to get the symbols for + the child process identified by PID. */ + +char * +fbsd_pid_to_exec_file (int pid) +{ + char *path; + char *buf; + + path = xstrprintf ("/proc/%d/file", pid); + buf = xcalloc (MAXPATHLEN, sizeof (char)); + make_cleanup (xfree, path); + make_cleanup (xfree, buf); + + if (readlink (path, buf, MAXPATHLEN) > 0) + return buf; + + return NULL; +} + +static int +fbsd_read_mapping (FILE *mapfile, unsigned long *start, unsigned long *end, + char *protection) +{ + /* FreeBSD 5.1-RELEASE uses a 256-byte buffer. */ + char buf[256]; + int resident, privateresident; + unsigned long obj; + int ret = EOF; + + /* As of FreeBSD 5.0-RELEASE, the layout is described in + /usr/src/sys/fs/procfs/procfs_map.c. Somewhere in 5.1-CURRENT a + new column was added to the procfs map. Therefore we can't use + fscanf since we need to support older releases too. */ + if (fgets (buf, sizeof buf, mapfile) != NULL) + ret = sscanf (buf, "%lx %lx %d %d %lx %s", start, end, + &resident, &privateresident, &obj, protection); + + return (ret != 0 && ret != EOF); +} + +/* Iterate over all the memory regions in the current inferior, + calling FUNC for each memory region. OBFD is passed as the last + argument to FUNC. */ + +int +fbsd_find_memory_regions (int (*func) (CORE_ADDR, unsigned long, + int, int, int, void *), + void *obfd) +{ + pid_t pid = ptid_get_pid (inferior_ptid); + char *mapfilename; + FILE *mapfile; + unsigned long start, end, size; + char protection[4]; + int read, write, exec; + + mapfilename = xstrprintf ("/proc/%ld/map", (long) pid); + mapfile = fopen (mapfilename, "r"); + if (mapfile == NULL) + error ("Couldn't open %s\n", mapfilename); + + if (info_verbose) + fprintf_filtered (gdb_stdout, + "Reading memory regions from %s\n", mapfilename); + + /* Now iterate until end-of-file. */ + while (fbsd_read_mapping (mapfile, &start, &end, &protection[0])) + { + size = end - start; + + read = (strchr (protection, 'r') != 0); + write = (strchr (protection, 'w') != 0); + exec = (strchr (protection, 'x') != 0); + + if (info_verbose) + { + fprintf_filtered (gdb_stdout, + "Save segment, %ld bytes at 0x%s (%c%c%c)\n", + size, paddr_nz (start), + read ? 'r' : '-', + write ? 'w' : '-', + exec ? 'x' : '-'); + } + + /* Invoke the callback function to create the corefile segment. */ + func (start, size, read, write, exec, obfd); + } + + fclose (mapfile); + return 0; +} + +/* Create appropriate note sections for a corefile, returning them in + allocated memory. */ + +char * +fbsd_make_corefile_notes (bfd *obfd, int *note_size) +{ + struct gdbarch *gdbarch = current_gdbarch; + const struct regcache *regcache = current_regcache; + gregset_t gregs; + fpregset_t fpregs; + char *note_data = NULL; + Elf_Internal_Ehdr *i_ehdrp; + const struct regset *regset; + size_t size; + + /* Put a "FreeBSD" label in the ELF header. */ + i_ehdrp = elf_elfheader (obfd); + i_ehdrp->e_ident[EI_OSABI] = ELFOSABI_FREEBSD; + + gdb_assert (gdbarch_regset_from_core_section_p (gdbarch)); + + size = sizeof gregs; + regset = gdbarch_regset_from_core_section (gdbarch, ".reg", size); + gdb_assert (regset && regset->collect_regset); + regset->collect_regset (regset, regcache, -1, &gregs, size); + + note_data = elfcore_write_prstatus (obfd, note_data, note_size, + ptid_get_pid (inferior_ptid), + stop_signal, &gregs); + + size = sizeof fpregs; + regset = gdbarch_regset_from_core_section (gdbarch, ".reg2", size); + gdb_assert (regset && regset->collect_regset); + regset->collect_regset (regset, regcache, -1, &fpregs, size); + + note_data = elfcore_write_prfpreg (obfd, note_data, note_size, + &fpregs, sizeof (fpregs)); + + if (get_exec_file (0)) + { + char *fname = strrchr (get_exec_file (0), '/') + 1; + char *psargs = xstrdup (fname); + + if (get_inferior_args ()) + psargs = reconcat (psargs, psargs, " ", get_inferior_args (), NULL); + + note_data = elfcore_write_prpsinfo (obfd, note_data, note_size, + fname, psargs); + } + + make_cleanup (xfree, note_data); + return note_data; +} diff --git a/gdb/fbsd-nat.h b/gdb/fbsd-nat.h new file mode 100644 index 00000000000..b59cf666c36 --- /dev/null +++ b/gdb/fbsd-nat.h @@ -0,0 +1,43 @@ +/* Native-dependent code for FreeBSD. + + Copyright 2004 Free Software Foundation, Inc. + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef FBSD_NAT_H +#define FBSD_NAT_H + +/* Return a the name of file that can be opened to get the symbols for + the child process identified by PID. */ + +extern char *fbsd_pid_to_exec_file (int pid); + +/* Iterate over all the memory regions in the current inferior, + calling FUNC for each memory region. OBFD is passed as the last + argument to FUNC. */ + +extern int fbsd_find_memory_regions (int (*func) (CORE_ADDR, unsigned long, + int, int, int, void *), + void *obfd); + +/* Create appropriate note sections for a corefile, returning them in + allocated memory. */ + +extern char *fbsd_make_corefile_notes (bfd *obfd, int *note_size); + +#endif /* fbsd-nat.h */ diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c index cc727c81d98..d5cd111c901 100644 --- a/gdb/i386-tdep.c +++ b/gdb/i386-tdep.c @@ -151,16 +151,16 @@ i386_fpc_regnum_p (int regnum) return (I387_FCTRL_REGNUM <= regnum && regnum < I387_XMM0_REGNUM); } -/* Return the name of register REG. */ +/* Return the name of register REGNUM. */ const char * -i386_register_name (int reg) +i386_register_name (int regnum) { - if (i386_mmx_regnum_p (current_gdbarch, reg)) - return i386_mmx_names[reg - I387_MM0_REGNUM]; + if (i386_mmx_regnum_p (current_gdbarch, regnum)) + return i386_mmx_names[regnum - I387_MM0_REGNUM]; - if (reg >= 0 && reg < i386_num_register_names) - return i386_register_names[reg]; + if (regnum >= 0 && regnum < i386_num_register_names) + return i386_register_names[regnum]; return NULL; } diff --git a/gdb/i386bsd-nat.c b/gdb/i386bsd-nat.c index f54d2f0fb72..349112a4ad0 100644 --- a/gdb/i386bsd-nat.c +++ b/gdb/i386bsd-nat.c @@ -33,6 +33,8 @@ #include "i386-tdep.h" #include "i387-tdep.h" +#include "i386bsd-nat.h" +#include "inf-ptrace.h" /* In older BSD versions we cannot get at some of the segment @@ -128,8 +130,8 @@ i386bsd_collect_gregset (const struct regcache *regcache, /* Fetch register REGNUM from the inferior. If REGNUM is -1, do this for all registers (including the floating point registers). */ -void -fetch_inferior_registers (int regnum) +static void +i386bsd_fetch_inferior_registers (int regnum) { if (regnum == -1 || GETREGS_SUPPLIES (regnum)) { @@ -178,8 +180,8 @@ fetch_inferior_registers (int regnum) /* Store register REGNUM back into the inferior. If REGNUM is -1, do this for all registers (including the floating point registers). */ -void -store_inferior_registers (int regnum) +static void +i386bsd_store_inferior_registers (int regnum) { if (regnum == -1 || GETREGS_SUPPLIES (regnum)) { @@ -235,6 +237,20 @@ store_inferior_registers (int regnum) #endif } } + +/* Create a prototype *BSD/i386 target. The client can override it + with local methods. */ + +struct target_ops * +i386bsd_target (void) +{ + struct target_ops *t; + + t = inf_ptrace_target (); + t->to_fetch_registers = i386bsd_fetch_inferior_registers; + t->to_store_registers = i386bsd_store_inferior_registers; + return t; +} /* Support for debug registers. */ diff --git a/gdb/i386bsd-nat.h b/gdb/i386bsd-nat.h new file mode 100644 index 00000000000..a0764ff2f1c --- /dev/null +++ b/gdb/i386bsd-nat.h @@ -0,0 +1,30 @@ +/* Native-dependent code for modern i386 BSD's. + + Copyright 2004 Free Software Foundation, Inc. + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef I386BSD_NAT_H +#define I386BSD_NAT_H + +/* Create a prototype *BSD/i386 target. The client can override it + with local methods. */ + +extern struct target_ops *i386bsd_target (void); + +#endif /* i386bsd-nat.h */ diff --git a/gdb/i386fbsd-nat.c b/gdb/i386fbsd-nat.c index ed07711ab31..ca3b95d663a 100644 --- a/gdb/i386fbsd-nat.c +++ b/gdb/i386fbsd-nat.c @@ -22,19 +22,21 @@ #include "defs.h" #include "inferior.h" #include "regcache.h" +#include "target.h" #include #include #include +#include "fbsd-nat.h" #include "i386-tdep.h" +#include "i386bsd-nat.h" -/* Resume execution of the inferior process. - If STEP is nonzero, single-step it. - If SIGNAL is nonzero, give it that signal. */ +/* Resume execution of the inferior process. If STEP is nonzero, + single-step it. If SIGNAL is nonzero, give it that signal. */ -void -child_resume (ptid_t ptid, int step, enum target_signal signal) +static void +i386fbsd_resume (ptid_t ptid, int step, enum target_signal signal) { pid_t pid = ptid_get_pid (ptid); int request = PT_STEP; @@ -119,6 +121,16 @@ void _initialize_i386fbsd_nat (void); void _initialize_i386fbsd_nat (void) { + struct target_ops *t; + + /* Add some extra features to the common *BSD/i386 target. */ + t = i386bsd_target (); + t->to_resume = i386fbsd_resume; + t->to_pid_to_exec_file = fbsd_pid_to_exec_file; + t->to_find_memory_regions = fbsd_find_memory_regions; + t->to_make_corefile_notes = fbsd_make_corefile_notes; + add_target (t); + /* FreeBSD provides a kern.ps_strings sysctl that we can use to locate the sigtramp. That way we can still recognize a sigtramp if its location is changed in a new kernel. Of course this is diff --git a/gdb/i386nbsd-nat.c b/gdb/i386nbsd-nat.c index 92da7e18dcd..22af0117e4e 100644 --- a/gdb/i386nbsd-nat.c +++ b/gdb/i386nbsd-nat.c @@ -22,8 +22,10 @@ #include "defs.h" #include "gdbcore.h" #include "regcache.h" +#include "target.h" #include "i386-tdep.h" +#include "i386bsd-nat.h" /* Support for debugging kernel virtual memory images. */ @@ -77,6 +79,9 @@ void _initialize_i386nbsd_nat (void); void _initialize_i386nbsd_nat (void) { + /* We've got nothing to add to the common *BSD/i386 target. */ + add_target (i386bsd_target ()); + /* Support debugging kernel virtual memory images. */ bsd_kvm_add_target (i386nbsd_supply_pcb); } diff --git a/gdb/inf-child.c b/gdb/inf-child.c index f729611173a..cb7b2ec04d9 100644 --- a/gdb/inf-child.c +++ b/gdb/inf-child.c @@ -27,6 +27,7 @@ #include "symtab.h" #include "target.h" #include "inferior.h" +#include "gdb_string.h" /* Fetch register REGNUM from the inferior. If REGNUM is -1, do this for all registers. */ @@ -55,8 +56,7 @@ void inf_child_post_wait (ptid_t ptid, int wait_status) { /* This version of Unix doesn't require a meaningful "post wait" - operation. - */ + operation. */ } static void @@ -188,14 +188,6 @@ inf_child_pid_to_exec_file (int pid) return NULL; } -static char * -inf_child_core_file_to_sym_file (char *core) -{ - /* The target stratum for a running executable need not support this - operation. */ - return NULL; -} - struct target_ops * inf_child_target (void) { @@ -206,6 +198,8 @@ inf_child_target (void) t->to_open = inf_child_open; t->to_post_attach = inf_child_post_attach; t->to_post_wait = inf_child_post_wait; + t->to_fetch_registers = inf_child_fetch_inferior_registers; + t->to_store_registers = inf_child_store_inferior_registers; t->to_prepare_to_store = inf_child_prepare_to_store; t->to_insert_breakpoint = memory_insert_breakpoint; t->to_remove_breakpoint = memory_remove_breakpoint; diff --git a/gdb/inf-ptrace.c b/gdb/inf-ptrace.c index f79f7863ba6..9e07706ba16 100644 --- a/gdb/inf-ptrace.c +++ b/gdb/inf-ptrace.c @@ -30,6 +30,7 @@ #include "gdbcore.h" #include "inf-child.h" #include "gdbcmd.h" +#include "gdb_string.h" #include #include diff --git a/gdb/infptrace.c b/gdb/infptrace.c index fb7736c2fc5..a9abbf2c39a 100644 --- a/gdb/infptrace.c +++ b/gdb/infptrace.c @@ -148,7 +148,11 @@ ptrace_wait (ptid_t ptid, int *status) return wstate; } -#ifndef KILL_INFERIOR +#ifndef DEPRECATED_KILL_INFERIOR +/* NOTE: cagney/2004-09-12: Instead of definining this macro, code + should call inf_ptrace_target to get a basic ptrace target and then + locally update any necessary methods. See ppcnbsd-nat.c. */ + void kill_inferior (void) { @@ -170,9 +174,12 @@ kill_inferior (void) ptrace_wait (null_ptid, &status); target_mourn_inferior (); } -#endif /* KILL_INFERIOR */ +#endif /* DEPRECATED_KILL_INFERIOR */ -#ifndef CHILD_RESUME +#ifndef DEPRECATED_CHILD_RESUME +/* NOTE: cagney/2004-09-12: Instead of definining this macro, code + should call inf_ptrace_target to get a basic ptrace target and then + locally update any necessary methods. See ppcnbsd-nat.c. */ /* Resume execution of the inferior process. If STEP is nonzero, single-step it. @@ -211,7 +218,7 @@ child_resume (ptid_t ptid, int step, enum target_signal signal) if (errno != 0) perror_with_name ("ptrace"); } -#endif /* CHILD_RESUME */ +#endif /* DEPRECATED_CHILD_RESUME */ /* Start debugging the process whose number is PID. */ diff --git a/gdb/infttrace.c b/gdb/infttrace.c index fcb4d028bd9..30e893c323b 100644 --- a/gdb/infttrace.c +++ b/gdb/infttrace.c @@ -3842,7 +3842,7 @@ kill_inferior (void) } -#ifndef CHILD_RESUME +#ifndef DEPRECATED_CHILD_RESUME /* Sanity check a thread about to be continued. */ @@ -4253,7 +4253,7 @@ threads_continue_one_with_signal (lwpid_t gdb_tid, int signal) } #endif -#ifndef CHILD_RESUME +#ifndef DEPRECATED_CHILD_RESUME /* Resume execution of the inferior process. @@ -4554,7 +4554,7 @@ child_resume (ptid_t ptid, int step, enum target_signal signal) #endif } -#endif /* CHILD_RESUME */ +#endif /* DEPRECATED_CHILD_RESUME */ /* * Like it says. diff --git a/gdb/jv-exp.y b/gdb/jv-exp.y index 41da7d0f3fd..a3d12104454 100644 --- a/gdb/jv-exp.y +++ b/gdb/jv-exp.y @@ -446,13 +446,22 @@ FieldAccess: /*| SUPER '.' SimpleName { FIXME } */ ; +FuncStart: + Name '(' + { push_expression_name ($1); } +; + MethodInvocation: - Name '(' ArgumentList_opt ')' - { error (_("Method invocation not implemented")); } + FuncStart + { start_arglist(); } + ArgumentList_opt ')' + { write_exp_elt_opcode (OP_FUNCALL); + write_exp_elt_longcst ((LONGEST) end_arglist ()); + write_exp_elt_opcode (OP_FUNCALL); } | Primary '.' SimpleName '(' ArgumentList_opt ')' - { error (_("Method invocation not implemented")); } + { error (_("Form of method invocation not implemented")); } | SUPER '.' SimpleName '(' ArgumentList_opt ')' - { error (_("Method invocation not implemented")); } + { error (_("Form of method invocation not implemented")); } ; ArrayAccess: diff --git a/gdb/minsyms.c b/gdb/minsyms.c index 3aeda7d0815..635d0cc4a17 100644 --- a/gdb/minsyms.c +++ b/gdb/minsyms.c @@ -145,7 +145,15 @@ add_minsym_to_demangled_hash_table (struct minimal_symbol *sym, Note: One instance where there may be duplicate minimal symbols with the same name is when the symbol tables for a shared library and the symbol tables for an executable contain global symbols with the same - names (the dynamic linker deals with the duplication). */ + names (the dynamic linker deals with the duplication). + + It's also possible to have minimal symbols with different mangled + names, but identical demangled names. For example, the GNU C++ v3 + ABI requires the generation of two (or perhaps three) copies of + constructor functions --- "in-charge", "not-in-charge", and + "allocate" copies; destructors may be duplicated as well. + Obviously, there must be distinct mangled names for each of these, + but the demangled names are all the same: S::S or S::~S. */ struct minimal_symbol * lookup_minimal_symbol (const char *name, const char *sfile, diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index 2b40fddf8f9..e9dc6238cae 100644 --- a/gdb/mips-tdep.c +++ b/gdb/mips-tdep.c @@ -2060,6 +2060,7 @@ mips_insn32_frame_cache (struct frame_info *next_frame, void **this_cache) if ((*this_cache) != NULL) return (*this_cache); + cache = FRAME_OBSTACK_ZALLOC (struct mips_frame_cache); (*this_cache) = cache; cache->saved_regs = trad_frame_alloc_saved_regs (next_frame); @@ -2073,11 +2074,7 @@ mips_insn32_frame_cache (struct frame_info *next_frame, void **this_cache) if (start_addr == 0) start_addr = heuristic_proc_start (pc); -#ifdef NOT_YET proc_desc = heuristic_proc_desc (start_addr, pc, next_frame, *this_cache); -#else - proc_desc = heuristic_proc_desc (start_addr, pc, next_frame, NULL); -#endif } if (proc_desc == NULL) @@ -2086,117 +2083,6 @@ mips_insn32_frame_cache (struct frame_info *next_frame, void **this_cache) heuristic_proc_desc and set the saved_regs right away. */ return cache; - /* Extract the frame's base. */ - cache->base = (frame_unwind_register_signed (next_frame, NUM_REGS + PROC_FRAME_REG (proc_desc)) - + PROC_FRAME_OFFSET (proc_desc) - PROC_FRAME_ADJUST (proc_desc)); - - kernel_trap = PROC_REG_MASK (proc_desc) & 1; - gen_mask = kernel_trap ? 0xFFFFFFFF : PROC_REG_MASK (proc_desc); - float_mask = kernel_trap ? 0xFFFFFFFF : PROC_FREG_MASK (proc_desc); - - /* In any frame other than the innermost or a frame interrupted by a - signal, we assume that all registers have been saved. This - assumes that all register saves in a function happen before the - first function call. */ - if (in_prologue (frame_pc_unwind (next_frame), PROC_LOW_ADDR (proc_desc)) - /* Not sure exactly what kernel_trap means, but if it means the - kernel saves the registers without a prologue doing it, we - better not examine the prologue to see whether registers - have been saved yet. */ - && !kernel_trap) - { - /* We need to figure out whether the registers that the - proc_desc claims are saved have been saved yet. */ - - CORE_ADDR addr; - - /* Bitmasks; set if we have found a save for the register. */ - unsigned long gen_save_found = 0; - unsigned long float_save_found = 0; - - addr = PROC_LOW_ADDR (proc_desc); - - /* Scan through this function's instructions preceding the - current PC, and look for those that save registers. */ - while (addr < frame_pc_unwind (next_frame)) - { - mips32_decode_reg_save (mips32_fetch_instruction (addr), - &gen_save_found, &float_save_found); - addr += MIPS_INSTLEN; - } - gen_mask = gen_save_found; - float_mask = float_save_found; - } - - /* Fill in the offsets for the registers which gen_mask says were - saved. */ - { - CORE_ADDR reg_position = (cache->base - + PROC_REG_OFFSET (proc_desc)); - int ireg; - for (ireg = MIPS_NUMREGS - 1; gen_mask; --ireg, gen_mask <<= 1) - if (gen_mask & 0x80000000) - { - cache->saved_regs[NUM_REGS + ireg].addr = reg_position; - reg_position -= mips_abi_regsize (gdbarch); - } - } - - /* Fill in the offsets for the registers which float_mask says were - saved. */ - { - CORE_ADDR reg_position = (cache->base + PROC_FREG_OFFSET (proc_desc)); - int ireg; - - /* Fill in the offsets for the float registers which float_mask - says were saved. */ - for (ireg = MIPS_NUMREGS - 1; float_mask; --ireg, float_mask <<= 1) - if (float_mask & 0x80000000) - { - const int regno = - NUM_REGS + mips_regnum (current_gdbarch)->fp0 + ireg; - - if (mips_abi_regsize (gdbarch) == 4 - && TARGET_BYTE_ORDER == BFD_ENDIAN_BIG) - { - /* On a big endian 32 bit ABI, floating point registers - are paired to form doubles such that the most - significant part is in $f[N+1] and the least - significant in $f[N] vis: $f[N+1] ||| $f[N]. The - registers are also spilled as a pair and stored as a - double. - - When little-endian the least significant part is - stored first leading to the memory order $f[N] and - then $f[N+1]. - - Unfortunately, when big-endian the most significant - part of the double is stored first, and the least - significant is stored second. This leads to the - registers being ordered in memory as firt $f[N+1] and - then $f[N]. - - For the big-endian case make certain that the - addresses point at the correct (swapped) locations - $f[N] and $f[N+1] pair (keep in mind that - reg_position is decremented each time through the - loop). */ - if ((ireg & 1)) - cache->saved_regs[regno].addr = - reg_position - mips_abi_regsize (gdbarch); - else - cache->saved_regs[regno].addr = - reg_position + mips_abi_regsize (gdbarch); - } - else - cache->saved_regs[regno].addr = reg_position; - reg_position -= mips_abi_regsize (gdbarch); - } - - cache->saved_regs[NUM_REGS + mips_regnum (current_gdbarch)->pc] - = cache->saved_regs[NUM_REGS + RA_REGNUM]; - } - /* SP_REGNUM, contains the value and not the address. */ trad_frame_set_value (cache->saved_regs, NUM_REGS + MIPS_SP_REGNUM, cache->base); @@ -2373,12 +2259,6 @@ read_next_frame_reg (struct frame_info *fi, int regno) regcache_cooked_read_signed (current_regcache, regno, &val); return val; } - else if ((regno % NUM_REGS) == MIPS_SP_REGNUM) - /* MIPS_SP_REGNUM is special, its value is stored in saved_regs. - In fact, it is so special that it can even only be fetched - using a raw register number! Once this code as been converted - to frame-unwind the problem goes away. */ - return frame_unwind_register_signed (fi, regno % NUM_REGS); else return frame_unwind_register_signed (fi, regno); @@ -2456,7 +2336,7 @@ set_reg_offset (struct mips_frame_cache *this_cache, int regnum, CORE_ADDR offset) { if (this_cache != NULL - && this_cache->saved_regs[regnum].addr == 0) + && this_cache->saved_regs[regnum].addr == -1) { this_cache->saved_regs[regnum + 0 * NUM_REGS].addr = offset; this_cache->saved_regs[regnum + 1 * NUM_REGS].addr = offset; @@ -2755,6 +2635,26 @@ mips16_heuristic_proc_desc (CORE_ADDR start_pc, CORE_ADDR limit_pc, } } +/* Mark all the registers as unset in the saved_regs array + of THIS_CACHE. Do nothing if THIS_CACHE is null. */ + +void +reset_saved_regs (struct mips_frame_cache *this_cache) +{ + if (this_cache == NULL || this_cache->saved_regs == NULL) + return; + + { + const int num_regs = NUM_REGS; + int i; + + for (i = 0; i < num_regs; i++) + { + this_cache->saved_regs[i].addr = -1; + } + } +} + static void mips32_heuristic_proc_desc (CORE_ADDR start_pc, CORE_ADDR limit_pc, CORE_ADDR sp, struct frame_info *next_frame, @@ -2762,9 +2662,12 @@ mips32_heuristic_proc_desc (CORE_ADDR start_pc, CORE_ADDR limit_pc, { CORE_ADDR cur_pc; CORE_ADDR frame_addr = 0; /* Value of $r30. Used by gcc for frame-pointer */ + long frame_offset; + int frame_reg = MIPS_SP_REGNUM; + restart: - PROC_FRAME_OFFSET (&temp_proc_desc) = 0; - PROC_FRAME_ADJUST (&temp_proc_desc) = 0; /* offset of FP from SP */ + + frame_offset = 0; for (cur_pc = start_pc; cur_pc < limit_pc; cur_pc += MIPS_INSTLEN) { unsigned long inst, high_word, low_word; @@ -2783,7 +2686,7 @@ restart: || high_word == 0x67bd) /* daddiu $sp,$sp,-i */ { if (low_word & 0x8000) /* negative stack adjustment? */ - PROC_FRAME_OFFSET (&temp_proc_desc) += 0x10000 - low_word; + frame_offset += 0x10000 - low_word; else /* Exit loop if a positive stack adjustment is found, which usually means that the stack cleanup code in the function @@ -2792,34 +2695,37 @@ restart: } else if ((high_word & 0xFFE0) == 0xafa0) /* sw reg,offset($sp) */ { - PROC_REG_MASK (&temp_proc_desc) |= 1 << reg; set_reg_offset (this_cache, reg, sp + low_word); } else if ((high_word & 0xFFE0) == 0xffa0) /* sd reg,offset($sp) */ { /* Irix 6.2 N32 ABI uses sd instructions for saving $gp and $ra. */ - PROC_REG_MASK (&temp_proc_desc) |= 1 << reg; set_reg_offset (this_cache, reg, sp + low_word); } else if (high_word == 0x27be) /* addiu $30,$sp,size */ { /* Old gcc frame, r30 is virtual frame pointer. */ - if ((long) low_word != PROC_FRAME_OFFSET (&temp_proc_desc)) + if ((long) low_word != frame_offset) frame_addr = sp + low_word; - else if (PROC_FRAME_REG (&temp_proc_desc) == MIPS_SP_REGNUM) + else if (frame_reg == MIPS_SP_REGNUM) { unsigned alloca_adjust; - PROC_FRAME_REG (&temp_proc_desc) = 30; + + frame_reg = 30; frame_addr = read_next_frame_reg (next_frame, NUM_REGS + 30); alloca_adjust = (unsigned) (frame_addr - (sp + low_word)); if (alloca_adjust > 0) { - /* FP > SP + frame_size. This may be because - * of an alloca or somethings similar. - * Fix sp to "pre-alloca" value, and try again. - */ + /* FP > SP + frame_size. This may be because of + an alloca or somethings similar. Fix sp to + "pre-alloca" value, and try again. */ sp += alloca_adjust; + /* Need to reset the status of all registers. Otherwise, + we will hit a guard that prevents the new address + for each register to be recomputed during the second + pass. */ + reset_saved_regs (this_cache); goto restart; } } @@ -2830,29 +2736,45 @@ restart: else if (inst == 0x03A0F021 || inst == 0x03a0f025 || inst == 0x03a0f02d) { /* New gcc frame, virtual frame pointer is at r30 + frame_size. */ - if (PROC_FRAME_REG (&temp_proc_desc) == MIPS_SP_REGNUM) + if (frame_reg == MIPS_SP_REGNUM) { unsigned alloca_adjust; - PROC_FRAME_REG (&temp_proc_desc) = 30; + + frame_reg = 30; frame_addr = read_next_frame_reg (next_frame, NUM_REGS + 30); alloca_adjust = (unsigned) (frame_addr - sp); if (alloca_adjust > 0) - { - /* FP > SP + frame_size. This may be because - * of an alloca or somethings similar. - * Fix sp to "pre-alloca" value, and try again. - */ - sp += alloca_adjust; - goto restart; - } + { + /* FP > SP + frame_size. This may be because of + an alloca or somethings similar. Fix sp to + "pre-alloca" value, and try again. */ + sp = frame_addr; + /* Need to reset the status of all registers. Otherwise, + we will hit a guard that prevents the new address + for each register to be recomputed during the second + pass. */ + reset_saved_regs (this_cache); + goto restart; + } } } else if ((high_word & 0xFFE0) == 0xafc0) /* sw reg,offset($30) */ { - PROC_REG_MASK (&temp_proc_desc) |= 1 << reg; set_reg_offset (this_cache, reg, frame_addr + low_word); } } + + if (this_cache != NULL) + { + this_cache->base = + (frame_unwind_register_signed (next_frame, NUM_REGS + frame_reg) + + frame_offset); + /* FIXME: brobecker/2004-09-15: We should be able to get rid of + this assignment below, eventually. But it's still needed + for now. */ + this_cache->saved_regs[NUM_REGS + mips_regnum (current_gdbarch)->pc] + = this_cache->saved_regs[NUM_REGS + RA_REGNUM]; + } } static mips_extra_func_info_t diff --git a/gdb/sparc64nbsd-tdep.c b/gdb/sparc64nbsd-tdep.c index 35ad2326ff3..aa665da8c5d 100644 --- a/gdb/sparc64nbsd-tdep.c +++ b/gdb/sparc64nbsd-tdep.c @@ -28,6 +28,7 @@ #include "regcache.h" #include "regset.h" #include "symtab.h" +#include "objfiles.h" #include "solib-svr4.h" #include "trad-frame.h" @@ -236,8 +237,11 @@ sparc64nbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) sparc64_init_abi (info, gdbarch); + /* NetBSD/sparc64 has SVR4-style shared libraries... */ + set_gdbarch_in_solib_call_trampoline (gdbarch, in_plt_section); + set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target); set_solib_svr4_fetch_link_map_offsets - (gdbarch, nbsd_lp64_solib_svr4_fetch_link_map_offsets); + (gdbarch, svr4_lp64_fetch_link_map_offsets); } diff --git a/gdb/sparc64obsd-tdep.c b/gdb/sparc64obsd-tdep.c index 5f8cb3bc480..fdd5e8184ce 100644 --- a/gdb/sparc64obsd-tdep.c +++ b/gdb/sparc64obsd-tdep.c @@ -25,13 +25,13 @@ #include "osabi.h" #include "regset.h" #include "symtab.h" +#include "objfiles.h" #include "solib-svr4.h" #include "trad-frame.h" #include "gdb_assert.h" #include "sparc64-tdep.h" -#include "nbsd-tdep.h" /* OpenBSD uses the traditional NetBSD core file format, even for ports that use ELF. The core files don't use multiple register @@ -201,8 +201,11 @@ sparc64obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) sparc64_init_abi (info, gdbarch); + /* OpenBSD/sparc64 has SVR4-style shared libraries... */ + set_gdbarch_in_solib_call_trampoline (gdbarch, in_plt_section); + set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target); set_solib_svr4_fetch_link_map_offsets - (gdbarch, nbsd_lp64_solib_svr4_fetch_link_map_offsets); + (gdbarch, svr4_lp64_fetch_link_map_offsets); } diff --git a/gdb/symtab.c b/gdb/symtab.c index 46325db11b7..94b60814eb3 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -69,7 +69,7 @@ static void variables_info (char *, int); static void sources_info (char *, int); -static void output_source_filename (char *, int *); +static void output_source_filename (const char *, int *); static int find_line_common (struct linetable *, int, int *); @@ -272,8 +272,7 @@ lookup_partial_symtab (const char *name) this symtab and use its absolute path. */ if (full_path != NULL) { - if (pst->fullname == NULL) - source_full_path_of (pst->filename, &pst->fullname); + psymtab_to_fullname (pst); if (pst->fullname != NULL && FILENAME_CMP (full_path, pst->fullname) == 0) { @@ -284,8 +283,7 @@ lookup_partial_symtab (const char *name) if (real_path != NULL) { char *rp = NULL; - if (pst->fullname == NULL) - source_full_path_of (pst->filename, &pst->fullname); + psymtab_to_fullname (pst); if (pst->fullname != NULL) { rp = gdb_realpath (pst->fullname); @@ -1000,7 +998,7 @@ lookup_symbol (const char *name, const struct block *block, modified_name = name; - /* If we are using C++ language, demangle the name before doing a lookup, so + /* If we are using C++ or Java, demangle the name before doing a lookup, so we can always binary search. */ if (current_language->la_language == language_cplus) { @@ -1012,6 +1010,17 @@ lookup_symbol (const char *name, const struct block *block, needtofreename = 1; } } + else if (current_language->la_language == language_java) + { + demangled_name = cplus_demangle (name, + DMGL_ANSI | DMGL_PARAMS | DMGL_JAVA); + if (demangled_name) + { + mangled_name = name; + modified_name = demangled_name; + needtofreename = 1; + } + } if (case_sensitivity == case_sensitive_off) { @@ -2622,7 +2631,7 @@ filename_seen (const char *file, int add, int *first) NAME is the name to print and *FIRST is nonzero if this is the first name printed. Set *FIRST to zero. */ static void -output_source_filename (char *name, int *first) +output_source_filename (const char *name, int *first) { /* Since a single source file can result in several partial symbol tables, we need to avoid printing it more than once. Note: if @@ -2671,7 +2680,8 @@ sources_info (char *ignore, int from_tty) first = 1; ALL_SYMTABS (objfile, s) { - output_source_filename (s->filename, &first); + const char *fullname = symtab_to_fullname (s); + output_source_filename (fullname ? fullname : s->filename, &first); } printf_filtered ("\n\n"); @@ -2682,7 +2692,8 @@ sources_info (char *ignore, int from_tty) { if (!ps->readin) { - output_source_filename (ps->filename, &first); + const char *fullname = psymtab_to_fullname (ps); + output_source_filename (fullname ? fullname : ps->filename, &first); } } printf_filtered ("\n"); diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index aa6abb45d22..73d79a94c6b 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2004-09-20 Jeff Johnston + + * gdb.java/jprint.exp: New test case for java inferior call. + * gdb.java/jprint.java: Ditto. + +2004-09-15 Joel Brobecker + + * gdb.base/bigcore.exp: Deactivate on IRIX targets. + 2004-09-14 Michael Chastain * gdb.threads/killed.c: Include . diff --git a/gdb/testsuite/gdb.base/bigcore.exp b/gdb/testsuite/gdb.base/bigcore.exp index b7201365361..0a55eae6cba 100644 --- a/gdb/testsuite/gdb.base/bigcore.exp +++ b/gdb/testsuite/gdb.base/bigcore.exp @@ -49,6 +49,13 @@ if { [istarget "*-*-*bsd*"] return } +# This testcase causes too much stress (in terms of memory usage) +# on certain systems... +if { [istarget "*-*-*irix*"] } { + untested "Testcase too stressful for this system" + return +} + set testfile "bigcore" set srcfile ${testfile}.c set binfile ${objdir}/${subdir}/${testfile} diff --git a/gdb/testsuite/gdb.java/jprint.exp b/gdb/testsuite/gdb.java/jprint.exp new file mode 100644 index 00000000000..0268f87fcd8 --- /dev/null +++ b/gdb/testsuite/gdb.java/jprint.exp @@ -0,0 +1,80 @@ +# Copyright 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# This file was written by Jeff Johnston. (jjohnstn@redhat.com) +# + +if $tracelevel then { + strace $tracelevel +} + +load_lib "java.exp" + +set testfile "jprint" +set srcfile ${srcdir}/$subdir/${testfile}.java +set binfile ${objdir}/${subdir}/${testfile} +if { [compile_java_from_source ${srcfile} ${binfile} "-g"] != "" } { + untested "Couldn't compile ${srcfile}" + return -1 +} + +# Set the current language to java. This counts as a test. If it +# fails, then we skip the other tests. + +proc set_lang_java {} { + global gdb_prompt + global binfile objdir subdir + + verbose "loading file '$binfile'" + gdb_load $binfile + + send_gdb "set language java\n" + gdb_expect { + -re ".*$gdb_prompt $" {} + timeout { fail "set language java (timeout)" ; return 0 } + } + + return [gdb_test "show language" ".* source language is \"java\".*" \ + "set language to \"java\""] +} + +set prms_id 0 +set bug_id 0 + +# Start with a fresh gdb. + +gdb_exit +gdb_start +gdb_reinitialize_dir $srcdir/$subdir + +gdb_test "set print sevenbit-strings" ".*" + +if ![set_lang_java] then { + # Ref PR gdb:java/1565. Don't use the simpler "break jmisc.main". + # As of 2004-02-24 it wasn't working and is being tested separatly. + runto "\'${testfile}.main(java.lang.String\[\])\'" + + gdb_test "p jvclass.addprint(4,5,6)" "sum is 15\r\n.*" "unambiguous static call" + + gdb_test "next" "" + gdb_test "next" "" + + gdb_test "p x.print(44)" "x is 44\r\n.*" "single argument print call" + gdb_test "p x.print(22,33)" "y is 33\r\n.*" "double argument print call" + gdb_test "call x.dothat(55)" "new value is 58\r\n.*= 62.*" "virtual fn call" + gdb_test "p x.addprint(1,2,3)" "sum is 6\r\n.*" "inherited static call" + gdb_test "call x.addk(44)" "adding k gives 121\r\n.*= 121.*" "inherited virtual fn call" +} diff --git a/gdb/testsuite/gdb.java/jprint.java b/gdb/testsuite/gdb.java/jprint.java new file mode 100644 index 00000000000..f17607efe76 --- /dev/null +++ b/gdb/testsuite/gdb.java/jprint.java @@ -0,0 +1,62 @@ +// jprint.java test program. +// +// Copyright 2004 +// Free Software Foundation, Inc. +// +// Written by Jeff Johnston +// Contributed by Red Hat +// +// This file is part of GDB. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, +// Boston, MA 02111-1307, USA. + +class jvclass { + public static int k; + static { + k = 77; + } + public static void addprint (int x, int y, int z) { + int sum = x + y + z; + System.out.println ("sum is " + sum); + } + + public int addk (int x) { + int sum = x + k; + System.out.println ("adding k gives " + sum); + return sum; + } +} + +public class jprint extends jvclass { + public int dothat (int x) { + int y = x + 3; + System.out.println ("new value is " + y); + return y + 4; + } + public static void print (int x) { + System.out.println("x is " + x); + } + public static void print (int x, int y) { + System.out.println("y is " + y); + } + public static void main(String[] args) { + jprint x = new jprint (); + x.print (44); + print (k, 33); + } +} + + diff --git a/gdb/valarith.c b/gdb/valarith.c index 7858f91d0de..f88701faee8 100644 --- a/gdb/valarith.c +++ b/gdb/valarith.c @@ -202,7 +202,10 @@ value_subscript (struct value *array, struct value *idx) LONGEST index = value_as_long (idx); if (index >= lowerbound && index <= upperbound) return value_subscripted_rvalue (array, idx, lowerbound); - warning ("array or string index out of range"); + /* Emit warning unless we have an array of unknown size. + An array of unknown size has lowerbound 0 and upperbound -1. */ + if (upperbound > -1) + warning ("array or string index out of range"); /* fall doing C stuff */ c_style = 1; } diff --git a/gdb/version.in b/gdb/version.in index bcce9d2be7b..2623d0de149 100644 --- a/gdb/version.in +++ b/gdb/version.in @@ -1 +1 @@ -2004-09-15-cvs +2004-09-21-cvs diff --git a/include/ChangeLog b/include/ChangeLog index fa03f7cd7fa..b6c11568fb4 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,14 @@ +2004-09-17 Paul Brook + + * elf/arm.h: Remove R_ARM_STKCHK and R_ARM_THM_STKCHK. + Add R_ARM_TARGET2, R_ARM_PREL31, R_ARM_GOT_ABS, R_ARM_GOT_PREL, + R_ARM_GOT_BREL12, R_ARM_GOTOFF12 and R_ARM_GOTRELAX. + +2004-09-17 Alan Modra + + * bfdlink.h (struct bfd_link_hash_entry): Move und_next into elements + of union. + 2004-09-13 Aaron W. LaFramboise * libiberty.h (basename): Prototype for __MINGW32__. diff --git a/include/bfdlink.h b/include/bfdlink.h index 5adad790e6f..5aa72d4b4c2 100644 --- a/include/bfdlink.h +++ b/include/bfdlink.h @@ -85,26 +85,6 @@ struct bfd_link_hash_entry /* Type of this entry. */ enum bfd_link_hash_type type; - /* Undefined and common symbols are kept in a linked list through - this field. This field is not in the union because that would - force us to remove entries from the list when we changed their - type, which would force the list to be doubly linked, which would - waste more memory. When an undefined or common symbol is - created, it should be added to this list, the head of which is in - the link hash table itself. As symbols are defined, they need - not be removed from the list; anything which reads the list must - doublecheck the symbol type. - - Weak symbols are not kept on this list. - - Defined and defweak symbols use this field as a reference marker. - If the field is not NULL, or this structure is the tail of the - undefined symbol list, the symbol has been referenced. If the - symbol is undefined and becomes defined, this field will - automatically be non-NULL since the symbol will have been on the - undefined symbol list. */ - struct bfd_link_hash_entry *und_next; - /* A union of information depending upon the type. */ union { @@ -112,23 +92,46 @@ struct bfd_link_hash_entry /* bfd_link_hash_undefined, bfd_link_hash_undefweak. */ struct { + /* Undefined and common symbols are kept in a linked list through + this field. This field is present in all of the union element + so that we don't need to remove entries from the list when we + change their type. Removing entries would either require the + list to be doubly linked, which would waste more memory, or + require a traversal. When an undefined or common symbol is + created, it should be added to this list, the head of which is in + the link hash table itself. As symbols are defined, they need + not be removed from the list; anything which reads the list must + doublecheck the symbol type. + + Weak symbols are not kept on this list. + + Defined and defweak symbols use this field as a reference marker. + If the field is not NULL, or this structure is the tail of the + undefined symbol list, the symbol has been referenced. If the + symbol is undefined and becomes defined, this field will + automatically be non-NULL since the symbol will have been on the + undefined symbol list. */ + struct bfd_link_hash_entry *next; bfd *abfd; /* BFD symbol was found in. */ } undef; /* bfd_link_hash_defined, bfd_link_hash_defweak. */ struct { - bfd_vma value; /* Symbol value. */ + struct bfd_link_hash_entry *next; asection *section; /* Symbol section. */ + bfd_vma value; /* Symbol value. */ } def; /* bfd_link_hash_indirect, bfd_link_hash_warning. */ struct { + struct bfd_link_hash_entry *next; struct bfd_link_hash_entry *link; /* Real symbol. */ const char *warning; /* Warning (bfd_link_hash_warning only). */ } i; /* bfd_link_hash_common. */ struct { + struct bfd_link_hash_entry *next; /* The linker needs to know three things about common symbols: the size, the alignment, and the section in which the symbol should be placed. We store the size @@ -138,12 +141,12 @@ struct bfd_link_hash_entry directly because we don't want to increase the size of the union; this structure is a major space user in the linker. */ - bfd_size_type size; /* Common symbol size. */ struct bfd_link_hash_common_entry { unsigned int alignment_power; /* Alignment. */ asection *section; /* Symbol section. */ } *p; + bfd_size_type size; /* Common symbol size. */ } c; } u; }; diff --git a/include/elf/arm.h b/include/elf/arm.h index 34bde17e921..05ba3464f07 100644 --- a/include/elf/arm.h +++ b/include/elf/arm.h @@ -130,10 +130,15 @@ START_RELOC_NUMBERS (elf_arm_reloc_type) RELOC_NUMBER (R_ARM_TARGET1, 38) RELOC_NUMBER (R_ARM_ROSEGREL32, 39) RELOC_NUMBER (R_ARM_V4BX, 40) - RELOC_NUMBER (R_ARM_STKCHK, 41) - RELOC_NUMBER (R_ARM_THM_STKCHK, 42) + RELOC_NUMBER (R_ARM_TARGET2, 41) + RELOC_NUMBER (R_ARM_PREL31, 42) FAKE_RELOC (FIRST_INVALID_RELOC2, 43) - FAKE_RELOC (LAST_INVALID_RELOC2, 99) + FAKE_RELOC (LAST_INVALID_RELOC2, 94) + RELOC_NUMBER (R_ARM_GOT_ABS, 95) + RELOC_NUMBER (R_ARM_GOT_PREL, 96) + RELOC_NUMBER (R_ARM_GOT_BREL12, 97) + RELOC_NUMBER (R_ARM_GOTOFF12, 98) + RELOC_NUMBER (R_ARM_GOTRELAX, 99) RELOC_NUMBER (R_ARM_GNU_VTENTRY, 100) RELOC_NUMBER (R_ARM_GNU_VTINHERIT, 101) RELOC_NUMBER (R_ARM_THM_PC11, 102) /* Cygnus extension to abi: Thumb unconditional branch. */ diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 6405e9f0557..f4eebbbe19c 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,20 @@ +2004-09-17 H.J. Lu + + * Makefile.am (AUTOMAKE_OPTIONS): Require 1.9. + (CONFIG_STATUS_DEPENDENCIES): New. + (Makefile): Removed. + (config.status): Likewise. + * Makefile.in: Regenerated. + +2004-09-17 Alan Modra + + * Makefile.am: Run "make dep-am". + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * configure: Regenerate. + * po/POTFILES.in: Regenerate. + * po/opcodes.pot: Regenerate. + 2004-09-11 Andreas Schwab * configure: Rebuild. diff --git a/opcodes/Makefile.am b/opcodes/Makefile.am index 5c28971dade..596dee24d45 100644 --- a/opcodes/Makefile.am +++ b/opcodes/Makefile.am @@ -1,6 +1,6 @@ ## Process this file with automake to generate Makefile.in -AUTOMAKE_OPTIONS = cygnus +AUTOMAKE_OPTIONS = 1.9 cygnus SUBDIRS = po @@ -281,6 +281,10 @@ ALL_MACHINES = \ OFILES = @BFD_MACHINES@ +# We should reconfigure whenever bfd/configure.in changes, because +# that's where the version number in Makefile comes from. +CONFIG_STATUS_DEPENDENCIES = $(BFDDIR)/configure.in + INCLUDES = -D_GNU_SOURCE -I. -I$(srcdir) -I../bfd -I$(INCDIR) -I$(BFDDIR) @HDEFINES@ -I$(srcdir)/../intl -I../intl disassemble.lo: disassemble.c $(INCDIR)/dis-asm.h @@ -319,11 +323,6 @@ po/POTFILES.in: @MAINT@ Makefile for f in $(POTFILES); do echo $$f; done | LC_COLLATE= sort > tmp \ && mv tmp $(srcdir)/po/POTFILES.in -# We should reconfigure whenever bfd/configure.in changes, because -# that's where the version number comes from. -config.status: $(srcdir)/configure $(srcdir)/../bfd/configure.in - $(SHELL) ./config.status --recheck - install-bfdlibLTLIBRARIES: @INSTALL_LIBBFD_TRUE@install_libopcodes @$(NORMAL_INSTALL) @@ -465,8 +464,6 @@ s390-opc.tab: s390-mkopc s390-opc.txt sh-dis.lo: sh-dis.c $(LIBTOOL) --mode=compile $(COMPILE) -c @archdefs@ $< -Makefile: $(BFDDIR)/configure.in - # This dependency stuff is copied from BFD. DEP: dep.sed $(CFILES) $(HFILES) config.h @@ -552,9 +549,11 @@ cris-dis.lo: cris-dis.c $(INCDIR)/dis-asm.h $(BFD_H) \ $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h sysdep.h config.h \ $(INCDIR)/opcode/cris.h $(INCDIR)/libiberty.h cris-opc.lo: cris-opc.c $(INCDIR)/opcode/cris.h -crx-dis.lo: crx-dis.c $(INCDIR)/opcode/crx.h \ - $(INCDIR)/dis-asm.h sysdep.h $(INCDIR)/ansidecl.h -crx-opc.lo: crx-opc.c $(INCDIR)/opcode/crx.h +crx-dis.lo: crx-dis.c $(INCDIR)/dis-asm.h $(BFD_H) \ + $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h sysdep.h config.h \ + $(INCDIR)/opcode/crx.h +crx-opc.lo: crx-opc.c $(INCDIR)/libiberty.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/symcat.h $(INCDIR)/opcode/crx.h d10v-dis.lo: d10v-dis.c sysdep.h config.h $(INCDIR)/ansidecl.h \ $(INCDIR)/opcode/d10v.h $(INCDIR)/dis-asm.h $(BFD_H) \ $(INCDIR)/symcat.h @@ -789,7 +788,7 @@ s390-dis.lo: s390-dis.c $(INCDIR)/ansidecl.h sysdep.h \ config.h $(INCDIR)/dis-asm.h $(BFD_H) $(INCDIR)/symcat.h \ $(INCDIR)/opcode/s390.h sh-dis.lo: sh-dis.c sysdep.h config.h $(INCDIR)/ansidecl.h \ - sh-opc.h $(INCDIR)/dis-asm.h $(BFD_H) $(INCDIR)/symcat.h + sh-opc.h $(BFD_H) $(INCDIR)/symcat.h $(INCDIR)/dis-asm.h sh64-dis.lo: sh64-dis.c $(INCDIR)/dis-asm.h $(BFD_H) \ $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h sysdep.h config.h \ sh64-opc.h $(INCDIR)/libiberty.h $(BFDDIR)/elf-bfd.h \ diff --git a/opcodes/Makefile.in b/opcodes/Makefile.in index 9acfc0b03a9..9bd778fb76c 100644 --- a/opcodes/Makefile.in +++ b/opcodes/Makefile.in @@ -1,6 +1,8 @@ -# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am +# Makefile.in generated by automake 1.9.1 from Makefile.am. +# @configure_input@ -# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -10,130 +12,229 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. +@SET_MAKE@ -SHELL = @SHELL@ + +SOURCES = libopcodes.c $(libopcodes_la_SOURCES) srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include - -DESTDIR = - pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ - top_builddir = . - -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -transform = @program_transform_name@ - +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -host_alias = @host_alias@ +build_triplet = @build@ host_triplet = @host@ +target_triplet = @target@ +DIST_COMMON = $(srcdir)/../config.guess $(srcdir)/../config.sub \ + ChangeLog $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/configure $(am__configure_deps) \ + $(srcdir)/config.in $(srcdir)/../mkinstalldirs \ + $(top_srcdir)/po/Make-in $(srcdir)/../ltmain.sh \ + $(srcdir)/../config.guess $(srcdir)/../config.sub +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/../bfd/acinclude.m4 \ + $(top_srcdir)/../config/accross.m4 \ + $(top_srcdir)/../config/acx.m4 $(top_srcdir)/../libtool.m4 \ + $(top_srcdir)/../gettext.m4 $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = po/Makefile.in +LIBRARIES = $(noinst_LIBRARIES) +ARFLAGS = cru +libopcodes_a_AR = $(AR) $(ARFLAGS) +libopcodes_a_LIBADD = +libopcodes_a_SOURCES = libopcodes.c +libopcodes_a_OBJECTS = libopcodes.$(OBJEXT) +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(bfdlibdir)" +bfdlibLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(bfdlib_LTLIBRARIES) +am__DEPENDENCIES_1 = +am_libopcodes_la_OBJECTS = dis-buf.lo disassemble.lo dis-init.lo +libopcodes_la_OBJECTS = $(am_libopcodes_la_OBJECTS) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I. +depcomp = +am__depfiles_maybe = +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = libopcodes.c $(libopcodes_la_SOURCES) +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ AR = @AR@ -AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ BFD_MACHINES = @BFD_MACHINES@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ +CCDEPMODE = @CCDEPMODE@ CC_FOR_BUILD = @CC_FOR_BUILD@ +CFLAGS = @CFLAGS@ +CGEN_MAINT_FALSE = @CGEN_MAINT_FALSE@ +CGEN_MAINT_TRUE = @CGEN_MAINT_TRUE@ CPP = @CPP@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ -DLLTOOL = @DLLTOOL@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@ -GCJ = @GCJ@ -GCJFLAGS = @GCJFLAGS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ -GNATBIND = @GNATBIND@ GT_NO = @GT_NO@ GT_YES = @GT_YES@ -HAVE_LIB = @HAVE_LIB@ HDEFINES = @HDEFINES@ INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_LIBBFD_FALSE = @INSTALL_LIBBFD_FALSE@ +INSTALL_LIBBFD_TRUE = @INSTALL_LIBBFD_TRUE@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLDEPS = @INTLDEPS@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ -LIB = @LIB@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ -LN = @LN@ LN_S = @LN_S@ -LTLIB = @LTLIB@ +LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ -OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ POFILES = @POFILES@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ STRIP = @STRIP@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +WARN_CFLAGS = @WARN_CFLAGS@ WIN32LDFLAGS = @WIN32LDFLAGS@ WIN32LIBADD = @WIN32LIBADD@ +XGETTEXT = @XGETTEXT@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ archdefs = @archdefs@ -build_noncanonical = @build_noncanonical@ -build_subdir = @build_subdir@ +bfdincludedir = @bfdincludedir@ +bfdlibdir = @bfdlibdir@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ cgendir = @cgendir@ -do_compare = @do_compare@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ host_noncanonical = @host_noncanonical@ -host_subdir = @host_subdir@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ l = @l@ -ncn_cv_ = @ncn_cv_@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target = @target@ +target_alias = @target_alias@ +target_cpu = @target_cpu@ target_noncanonical = @target_noncanonical@ -target_subdir = @target_subdir@ - -AUTOMAKE_OPTIONS = cygnus - +target_os = @target_os@ +target_vendor = @target_vendor@ +AUTOMAKE_OPTIONS = 1.9 cygnus SUBDIRS = po - INCDIR = $(srcdir)/../include BFDDIR = $(srcdir)/../bfd MKDEP = gcc -MM - -WARN_CFLAGS = @WARN_CFLAGS@ AM_CFLAGS = $(WARN_CFLAGS) - -bfdlibdir = @bfdlibdir@ -bfdincludedir = @bfdincludedir@ - bfdlib_LTLIBRARIES = libopcodes.la # This is where bfd.h lives. @@ -143,20 +244,269 @@ BFD_H = ../bfd/bfd.h LIBIBERTY = ../libiberty/libiberty.a # Header files. -HFILES = arm-opc.h fr30-desc.h fr30-opc.h frv-desc.h frv-opc.h h8500-opc.h ia64-asmtab.h ia64-opc.h ip2k-desc.h ip2k-opc.h iq2000-desc.h iq2000-opc.h m32r-desc.h m32r-opc.h mcore-opc.h openrisc-desc.h openrisc-opc.h sh-opc.h sh64-opc.h sysdep.h w65-opc.h xstormy16-desc.h xstormy16-opc.h z8k-opc.h +HFILES = \ + arm-opc.h \ + fr30-desc.h fr30-opc.h \ + frv-desc.h frv-opc.h \ + h8500-opc.h \ + ia64-asmtab.h \ + ia64-opc.h \ + ip2k-desc.h ip2k-opc.h \ + iq2000-desc.h iq2000-opc.h \ + m32r-desc.h m32r-opc.h \ + mcore-opc.h \ + openrisc-desc.h openrisc-opc.h \ + sh-opc.h \ + sh64-opc.h \ + sysdep.h \ + w65-opc.h \ + xstormy16-desc.h xstormy16-opc.h \ + z8k-opc.h # C source files that correspond to .o's. -CFILES = a29k-dis.c alpha-dis.c alpha-opc.c arc-dis.c arc-opc.c arc-ext.c arm-dis.c avr-dis.c cgen-asm.c cgen-dis.c cgen-opc.c cris-dis.c cris-opc.c crx-dis.c crx-opc.c d10v-dis.c d10v-opc.c d30v-dis.c d30v-opc.c dlx-dis.c dis-buf.c dis-init.c disassemble.c fr30-asm.c fr30-desc.c fr30-dis.c fr30-ibld.c fr30-opc.c frv-asm.c frv-desc.c frv-dis.c frv-ibld.c frv-opc.c h8300-dis.c h8500-dis.c hppa-dis.c i370-dis.c i370-opc.c i386-dis.c i860-dis.c i960-dis.c ia64-dis.c ia64-opc-a.c ia64-opc-b.c ia64-opc-f.c ia64-opc-i.c ia64-opc-m.c ia64-opc-d.c ia64-opc.c ia64-gen.c ia64-asmtab.c ip2k-asm.c ip2k-desc.c ip2k-dis.c ip2k-ibld.c ip2k-opc.c iq2000-asm.c iq2000-desc.c iq2000-dis.c iq2000-ibld.c iq2000-opc.c m32r-asm.c m32r-desc.c m32r-dis.c m32r-ibld.c m32r-opc.c m32r-opinst.c m68hc11-dis.c m68hc11-opc.c m68k-dis.c m68k-opc.c m88k-dis.c mcore-dis.c mips-dis.c mips-opc.c mips16-opc.c m10200-dis.c m10200-opc.c m10300-dis.c m10300-opc.c mmix-dis.c mmix-opc.c ns32k-dis.c openrisc-asm.c openrisc-desc.c openrisc-dis.c openrisc-ibld.c openrisc-opc.c or32-dis.c or32-opc.c pdp11-dis.c pdp11-opc.c pj-dis.c pj-opc.c ppc-dis.c ppc-opc.c s390-mkopc.c s390-opc.c s390-dis.c sh-dis.c sh64-dis.c sh64-opc.c sparc-dis.c sparc-opc.c tic30-dis.c tic4x-dis.c tic54x-dis.c tic54x-opc.c tic80-dis.c tic80-opc.c v850-dis.c v850-opc.c vax-dis.c w65-dis.c xstormy16-asm.c xstormy16-desc.c xstormy16-dis.c xstormy16-ibld.c xstormy16-opc.c xtensa-dis.c z8k-dis.c z8kgen.c - - -ALL_MACHINES = a29k-dis.lo alpha-dis.lo alpha-opc.lo arc-dis.lo arc-opc.lo arc-ext.lo arm-dis.lo avr-dis.lo cgen-asm.lo cgen-dis.lo cgen-opc.lo cris-dis.lo cris-opc.lo crx-dis.lo crx-opc.lo d10v-dis.lo d10v-opc.lo d30v-dis.lo d30v-opc.lo dlx-dis.lo fr30-asm.lo fr30-desc.lo fr30-dis.lo fr30-ibld.lo fr30-opc.lo frv-asm.lo frv-desc.lo frv-dis.lo frv-ibld.lo frv-opc.lo h8300-dis.lo h8500-dis.lo hppa-dis.lo i386-dis.lo i370-dis.lo i370-opc.lo i860-dis.lo i960-dis.lo ia64-dis.lo ia64-opc.lo ip2k-asm.lo ip2k-desc.lo ip2k-dis.lo ip2k-ibld.lo ip2k-opc.lo iq2000-asm.lo iq2000-desc.lo iq2000-dis.lo iq2000-ibld.lo iq2000-opc.lo m32r-asm.lo m32r-desc.lo m32r-dis.lo m32r-ibld.lo m32r-opc.lo m32r-opinst.lo m68hc11-dis.lo m68hc11-opc.lo m68k-dis.lo m68k-opc.lo m88k-dis.lo m10200-dis.lo m10200-opc.lo m10300-dis.lo m10300-opc.lo mcore-dis.lo mips-dis.lo mips-opc.lo mips16-opc.lo mmix-dis.lo mmix-opc.lo msp430-dis.lo ns32k-dis.lo openrisc-asm.lo openrisc-desc.lo openrisc-dis.lo openrisc-ibld.lo openrisc-opc.lo or32-dis.lo or32-opc.lo pdp11-dis.lo pdp11-opc.lo pj-dis.lo pj-opc.lo ppc-dis.lo ppc-opc.lo s390-dis.lo s390-opc.lo sh-dis.lo sh64-dis.lo sh64-opc.lo sparc-dis.lo sparc-opc.lo tic30-dis.lo tic4x-dis.lo tic54x-dis.lo tic54x-opc.lo tic80-dis.lo tic80-opc.lo v850-dis.lo v850-opc.lo vax-dis.lo w65-dis.lo xstormy16-asm.lo xstormy16-desc.lo xstormy16-dis.lo xstormy16-ibld.lo xstormy16-opc.lo xtensa-dis.lo z8k-dis.lo - +CFILES = \ + a29k-dis.c \ + alpha-dis.c \ + alpha-opc.c \ + arc-dis.c \ + arc-opc.c \ + arc-ext.c \ + arm-dis.c \ + avr-dis.c \ + cgen-asm.c \ + cgen-dis.c \ + cgen-opc.c \ + cris-dis.c \ + cris-opc.c \ + crx-dis.c \ + crx-opc.c \ + d10v-dis.c \ + d10v-opc.c \ + d30v-dis.c \ + d30v-opc.c \ + dlx-dis.c \ + dis-buf.c \ + dis-init.c \ + disassemble.c \ + fr30-asm.c \ + fr30-desc.c \ + fr30-dis.c \ + fr30-ibld.c \ + fr30-opc.c \ + frv-asm.c \ + frv-desc.c \ + frv-dis.c \ + frv-ibld.c \ + frv-opc.c \ + h8300-dis.c \ + h8500-dis.c \ + hppa-dis.c \ + i370-dis.c \ + i370-opc.c \ + i386-dis.c \ + i860-dis.c \ + i960-dis.c \ + ia64-dis.c \ + ia64-opc-a.c \ + ia64-opc-b.c \ + ia64-opc-f.c \ + ia64-opc-i.c \ + ia64-opc-m.c \ + ia64-opc-d.c \ + ia64-opc.c \ + ia64-gen.c \ + ia64-asmtab.c \ + ip2k-asm.c \ + ip2k-desc.c \ + ip2k-dis.c \ + ip2k-ibld.c \ + ip2k-opc.c \ + iq2000-asm.c \ + iq2000-desc.c \ + iq2000-dis.c \ + iq2000-ibld.c \ + iq2000-opc.c \ + m32r-asm.c \ + m32r-desc.c \ + m32r-dis.c \ + m32r-ibld.c \ + m32r-opc.c \ + m32r-opinst.c \ + m68hc11-dis.c \ + m68hc11-opc.c \ + m68k-dis.c \ + m68k-opc.c \ + m88k-dis.c \ + mcore-dis.c \ + mips-dis.c \ + mips-opc.c \ + mips16-opc.c \ + m10200-dis.c \ + m10200-opc.c \ + m10300-dis.c \ + m10300-opc.c \ + mmix-dis.c \ + mmix-opc.c \ + ns32k-dis.c \ + openrisc-asm.c \ + openrisc-desc.c \ + openrisc-dis.c \ + openrisc-ibld.c \ + openrisc-opc.c \ + or32-dis.c \ + or32-opc.c \ + pdp11-dis.c \ + pdp11-opc.c \ + pj-dis.c \ + pj-opc.c \ + ppc-dis.c \ + ppc-opc.c \ + s390-mkopc.c \ + s390-opc.c \ + s390-dis.c \ + sh-dis.c \ + sh64-dis.c \ + sh64-opc.c \ + sparc-dis.c \ + sparc-opc.c \ + tic30-dis.c \ + tic4x-dis.c \ + tic54x-dis.c \ + tic54x-opc.c \ + tic80-dis.c \ + tic80-opc.c \ + v850-dis.c \ + v850-opc.c \ + vax-dis.c \ + w65-dis.c \ + xstormy16-asm.c \ + xstormy16-desc.c \ + xstormy16-dis.c \ + xstormy16-ibld.c \ + xstormy16-opc.c \ + xtensa-dis.c \ + z8k-dis.c \ + z8kgen.c + +ALL_MACHINES = \ + a29k-dis.lo \ + alpha-dis.lo \ + alpha-opc.lo \ + arc-dis.lo \ + arc-opc.lo \ + arc-ext.lo \ + arm-dis.lo \ + avr-dis.lo \ + cgen-asm.lo \ + cgen-dis.lo \ + cgen-opc.lo \ + cris-dis.lo \ + cris-opc.lo \ + crx-dis.lo \ + crx-opc.lo \ + d10v-dis.lo \ + d10v-opc.lo \ + d30v-dis.lo \ + d30v-opc.lo \ + dlx-dis.lo \ + fr30-asm.lo \ + fr30-desc.lo \ + fr30-dis.lo \ + fr30-ibld.lo \ + fr30-opc.lo \ + frv-asm.lo \ + frv-desc.lo \ + frv-dis.lo \ + frv-ibld.lo \ + frv-opc.lo \ + h8300-dis.lo \ + h8500-dis.lo \ + hppa-dis.lo \ + i386-dis.lo \ + i370-dis.lo \ + i370-opc.lo \ + i860-dis.lo \ + i960-dis.lo \ + ia64-dis.lo \ + ia64-opc.lo \ + ip2k-asm.lo \ + ip2k-desc.lo \ + ip2k-dis.lo \ + ip2k-ibld.lo \ + ip2k-opc.lo \ + iq2000-asm.lo \ + iq2000-desc.lo \ + iq2000-dis.lo \ + iq2000-ibld.lo \ + iq2000-opc.lo \ + m32r-asm.lo \ + m32r-desc.lo \ + m32r-dis.lo \ + m32r-ibld.lo \ + m32r-opc.lo \ + m32r-opinst.lo \ + m68hc11-dis.lo \ + m68hc11-opc.lo \ + m68k-dis.lo \ + m68k-opc.lo \ + m88k-dis.lo \ + m10200-dis.lo \ + m10200-opc.lo \ + m10300-dis.lo \ + m10300-opc.lo \ + mcore-dis.lo \ + mips-dis.lo \ + mips-opc.lo \ + mips16-opc.lo \ + mmix-dis.lo \ + mmix-opc.lo \ + msp430-dis.lo \ + ns32k-dis.lo \ + openrisc-asm.lo \ + openrisc-desc.lo \ + openrisc-dis.lo \ + openrisc-ibld.lo \ + openrisc-opc.lo \ + or32-dis.lo \ + or32-opc.lo \ + pdp11-dis.lo \ + pdp11-opc.lo \ + pj-dis.lo \ + pj-opc.lo \ + ppc-dis.lo \ + ppc-opc.lo \ + s390-dis.lo \ + s390-opc.lo \ + sh-dis.lo \ + sh64-dis.lo \ + sh64-opc.lo \ + sparc-dis.lo \ + sparc-opc.lo \ + tic30-dis.lo \ + tic4x-dis.lo \ + tic54x-dis.lo \ + tic54x-opc.lo \ + tic80-dis.lo \ + tic80-opc.lo \ + v850-dis.lo \ + v850-opc.lo \ + vax-dis.lo \ + w65-dis.lo \ + xstormy16-asm.lo \ + xstormy16-desc.lo \ + xstormy16-dis.lo \ + xstormy16-ibld.lo \ + xstormy16-opc.lo \ + xtensa-dis.lo \ + z8k-dis.lo OFILES = @BFD_MACHINES@ +# We should reconfigure whenever bfd/configure.in changes, because +# that's where the version number in Makefile comes from. +CONFIG_STATUS_DEPENDENCIES = $(BFDDIR)/configure.in INCLUDES = -D_GNU_SOURCE -I. -I$(srcdir) -I../bfd -I$(INCDIR) -I$(BFDDIR) @HDEFINES@ -I$(srcdir)/../intl -I../intl - libopcodes_la_SOURCES = dis-buf.c disassemble.c dis-init.c # It's desirable to list ../bfd/libbfd.la in DEPENDENCIES and LIBADD. # Unfortunately this causes libtool to add -L$(libdir), referring to the @@ -171,155 +521,125 @@ libopcodes_la_LDFLAGS = -release $(VERSION) @WIN32LDFLAGS@ # the build directory so that we don't have to convert all the # programs that use libopcodes.a simultaneously. This is a hack which # should be removed if everything else starts using libtool. FIXME. - noinst_LIBRARIES = libopcodes.a - POTFILES = $(HFILES) $(CFILES) - -CLEANFILES = stamp-ip2k stamp-m32r stamp-fr30 stamp-frv stamp-openrisc stamp-iq2000 stamp-xstormy16 libopcodes.a stamp-lib dep.sed DEP DEPA DEP1 DEP2 - +CLEANFILES = \ + stamp-ip2k stamp-m32r stamp-fr30 stamp-frv stamp-openrisc \ + stamp-iq2000 stamp-xstormy16 \ + libopcodes.a stamp-lib dep.sed DEP DEPA DEP1 DEP2 CGENDIR = @cgendir@ CPUDIR = $(CGENDIR)/cpu CGEN = `if test -f ../guile/libguile/guile ; then echo ../guile/libguile/guile; else echo guile ; fi` CGENFLAGS = -v - -CGENDEPS = $(CGENDIR)/desc.scm $(CGENDIR)/desc-cpu.scm $(CGENDIR)/opcodes.scm $(CGENDIR)/opc-asmdis.scm $(CGENDIR)/opc-ibld.scm $(CGENDIR)/opc-itab.scm $(CGENDIR)/opc-opinst.scm cgen-asm.in cgen-dis.in cgen-ibld.in - +CGENDEPS = \ + $(CGENDIR)/desc.scm $(CGENDIR)/desc-cpu.scm \ + $(CGENDIR)/opcodes.scm $(CGENDIR)/opc-asmdis.scm \ + $(CGENDIR)/opc-ibld.scm $(CGENDIR)/opc-itab.scm \ + $(CGENDIR)/opc-opinst.scm \ + cgen-asm.in cgen-dis.in cgen-ibld.in CGEN_CPUS = fr30 frv ip2k m32r openrisc xstormy16 -@CGEN_MAINT_TRUE@IP2K_DEPS = stamp-ip2k @CGEN_MAINT_FALSE@IP2K_DEPS = -@CGEN_MAINT_TRUE@M32R_DEPS = stamp-m32r +@CGEN_MAINT_TRUE@IP2K_DEPS = stamp-ip2k @CGEN_MAINT_FALSE@M32R_DEPS = -@CGEN_MAINT_TRUE@FR30_DEPS = stamp-fr30 +@CGEN_MAINT_TRUE@M32R_DEPS = stamp-m32r @CGEN_MAINT_FALSE@FR30_DEPS = -@CGEN_MAINT_TRUE@FRV_DEPS = stamp-frv +@CGEN_MAINT_TRUE@FR30_DEPS = stamp-fr30 @CGEN_MAINT_FALSE@FRV_DEPS = -@CGEN_MAINT_TRUE@OPENRISC_DEPS = stamp-openrisc +@CGEN_MAINT_TRUE@FRV_DEPS = stamp-frv @CGEN_MAINT_FALSE@OPENRISC_DEPS = -@CGEN_MAINT_TRUE@IQ2000_DEPS = stamp-iq2000 +@CGEN_MAINT_TRUE@OPENRISC_DEPS = stamp-openrisc @CGEN_MAINT_FALSE@IQ2000_DEPS = -@CGEN_MAINT_TRUE@XSTORMY16_DEPS = stamp-xstormy16 +@CGEN_MAINT_TRUE@IQ2000_DEPS = stamp-iq2000 @CGEN_MAINT_FALSE@XSTORMY16_DEPS = -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = -LIBRARIES = $(noinst_LIBRARIES) - - -DEFS = @DEFS@ -I. -I$(srcdir) -I. -CPPFLAGS = @CPPFLAGS@ -LDFLAGS = @LDFLAGS@ -LIBS = @LIBS@ -libopcodes_a_LIBADD = -libopcodes_a_SOURCES = libopcodes.a.c -libopcodes_a_OBJECTS = libopcodes.a.$(OBJEXT) -LTLIBRARIES = $(bfdlib_LTLIBRARIES) - -libopcodes_la_OBJECTS = dis-buf.lo disassemble.lo dis-init.lo -CFLAGS = @CFLAGS@ -COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ -DIST_COMMON = ./stamp-h.in ChangeLog Makefile.am Makefile.in \ -acinclude.m4 aclocal.m4 config.in configure configure.in - - -DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) - -TAR = tar -GZIP_ENV = --best -SOURCES = libopcodes.a.c $(libopcodes_la_SOURCES) -OBJECTS = libopcodes.a.$(OBJEXT) $(libopcodes_la_OBJECTS) +@CGEN_MAINT_TRUE@XSTORMY16_DEPS = stamp-xstormy16 +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive -all: all-redirect .SUFFIXES: -.SUFFIXES: .S .c .lo .o .obj .s -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status +.SUFFIXES: .c .lo .o .obj +am--refresh: + @: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --cygnus '; \ + cd $(srcdir) && $(AUTOMAKE) --cygnus \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --cygnus Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in acinclude.m4 - cd $(srcdir) && $(ACLOCAL) -$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -config.h: stamp-h +config.h: stamp-h1 @if test ! -f $@; then \ - rm -f stamp-h; \ - $(MAKE) stamp-h; \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ else :; fi -stamp-h: $(srcdir)/config.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES= CONFIG_HEADERS=config.h:config.in \ - $(SHELL) ./config.status - @echo timestamp > stamp-h 2> /dev/null -$(srcdir)/config.in: @MAINTAINER_MODE_TRUE@$(srcdir)/stamp-h.in - @if test ! -f $@; then \ - rm -f $(srcdir)/stamp-h.in; \ - $(MAKE) $(srcdir)/stamp-h.in; \ - else :; fi -$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOHEADER) - @echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null -mostlyclean-hdr: - -clean-hdr: +stamp-h1: $(srcdir)/config.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ distclean-hdr: - -rm -f config.h - -maintainer-clean-hdr: - -mostlyclean-noinstLIBRARIES: + -rm -f config.h stamp-h1 +po/Makefile.in: $(top_builddir)/config.status $(top_srcdir)/po/Make-in + cd $(top_builddir) && $(SHELL) ./config.status $@ clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -distclean-noinstLIBRARIES: - -maintainer-clean-noinstLIBRARIES: - -.c.o: - $(COMPILE) -c $< - -# FIXME: We should only use cygpath when building on Windows, -# and only if it is available. -.c.obj: - $(COMPILE) -c `cygpath -w $<` - -.s.o: - $(COMPILE) -c $< - -.S.o: - $(COMPILE) -c $< +clean-bfdlibLTLIBRARIES: + -test -z "$(bfdlib_LTLIBRARIES)" || rm -f $(bfdlib_LTLIBRARIES) + @list='$(bfdlib_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libopcodes.la: $(libopcodes_la_OBJECTS) $(libopcodes_la_DEPENDENCIES) + $(LINK) -rpath $(bfdlibdir) $(libopcodes_la_LDFLAGS) $(libopcodes_la_OBJECTS) $(libopcodes_la_LIBADD) $(LIBS) mostlyclean-compile: - -rm -f *.o core *.core -rm -f *.$(OBJEXT) -clean-compile: - distclean-compile: -rm -f *.tab.c -maintainer-clean-compile: - -.c.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< +.c.o: + $(COMPILE) -c $< -.s.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< +.c.obj: + $(COMPILE) -c `$(CYGPATH_W) '$<'` -.S.lo: - $(LIBTOOL) --mode=compile $(COMPILE) -c $< +.c.lo: + $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo @@ -328,20 +648,8 @@ clean-libtool: -rm -rf .libs _libs distclean-libtool: - -maintainer-clean-libtool: - -mostlyclean-bfdlibLTLIBRARIES: - -clean-bfdlibLTLIBRARIES: - -test -z "$(bfdlib_LTLIBRARIES)" || rm -f $(bfdlib_LTLIBRARIES) - -distclean-bfdlibLTLIBRARIES: - -maintainer-clean-bfdlibLTLIBRARIES: - -libopcodes.la: $(libopcodes_la_OBJECTS) $(libopcodes_la_DEPENDENCIES) - $(LINK) -rpath $(bfdlibdir) $(libopcodes_la_LDFLAGS) $(libopcodes_la_OBJECTS) $(libopcodes_la_LIBADD) $(LIBS) + -rm -f libtool +uninstall-info-am: # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. @@ -349,13 +657,8 @@ libopcodes.la: $(libopcodes_la_OBJECTS) $(libopcodes_la_DEPENDENCIES) # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. - -@SET_MAKE@ - -all-recursive install-data-recursive install-exec-recursive \ -installdirs-recursive install-recursive uninstall-recursive install-info-recursive \ -check-recursive installcheck-recursive info-recursive dvi-recursive: - @set fnord $(MAKEFLAGS); amf=$$2; \ +$(RECURSIVE_TARGETS): + @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -375,13 +678,18 @@ check-recursive installcheck-recursive info-recursive dvi-recursive: mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: - @set fnord $(MAKEFLAGS); amf=$$2; \ + @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ - rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ - rev="$$subdir $$rev"; \ - test "$$subdir" != "." || dot_seen=yes; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ done; \ - test "$$dot_seen" = "no" && rev=". $$rev"; \ + rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ @@ -397,196 +705,173 @@ tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ - here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $$unique $(LISP) + mkid -fID $$unique +tags: TAGS -TAGS: tags-recursive $(HEADERS) $(SOURCES) config.in $(TAGS_DEPENDENCIES) $(LISP) +TAGS: tags-recursive $(HEADERS) $(SOURCES) config.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ - fi; \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ done; \ - list='$(SOURCES) $(HEADERS)'; \ - unique=`for i in $$list; do echo $$i; done | \ - awk ' { files[$$0] = 1; } \ + list='$(SOURCES) $(HEADERS) config.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)config.in$$unique$(LISP)$$tags" \ - || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags config.in $$unique $(LISP)) - -mostlyclean-tags: + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique -clean-tags: +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here distclean-tags: - -rm -f TAGS ID - -maintainer-clean-tags: - -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - -rm -rf $(distdir) - GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz - mkdir $(distdir)/=build - mkdir $(distdir)/=inst - dc_install_base=`cd $(distdir)/=inst && pwd`; \ - cd $(distdir)/=build \ - && ../configure --srcdir=.. --prefix=$$dc_install_base \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) dist - -rm -rf $(distdir) - @banner="$(distdir).tar.gz is ready for distribution"; \ - dashes=`echo "$$banner" | sed s/./=/g`; \ - echo "$$dashes"; \ - echo "$$banner"; \ - echo "$$dashes" -dist: distdir - -chmod -R a+r $(distdir) - GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) - -rm -rf $(distdir) -dist-all: distdir - -chmod -R a+r $(distdir) - GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) - -rm -rf $(distdir) -distdir: $(DISTFILES) - -rm -rf $(distdir) - mkdir $(distdir) - -chmod 777 $(distdir) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - cp -pr $$d/$$file $(distdir)/$$file; \ - else \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file || :; \ - fi; \ - done - for subdir in $(SUBDIRS); do \ - if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ - || exit 1; \ - chmod 777 $(distdir)/$$subdir; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \ - || exit 1; \ - fi; \ - done -info-am: -info: info-recursive -dvi-am: -dvi: dvi-recursive + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-am: check: check-recursive -installcheck-am: -installcheck: installcheck-recursive -install-info-am: -install-info: install-info-recursive -all-recursive-am: config.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -install-exec-am: +all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) config.h +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(bfdlibdir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-recursive install-exec: install-exec-recursive - -install-data-am: install-bfdlibLTLIBRARIES install-data: install-data-recursive +uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -install: install-recursive -uninstall-am: uninstall-bfdlibLTLIBRARIES -uninstall: uninstall-recursive -all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) config.h -all-redirect: all-recursive-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install -installdirs: installdirs-recursive -installdirs-am: - $(mkinstalldirs) $(DESTDIR)$(bfdlibdir) - +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) - -rm -f config.cache config.log stamp-h stamp-h[0-9]* + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: -mostlyclean-am: mostlyclean-hdr mostlyclean-noinstLIBRARIES \ - mostlyclean-compile mostlyclean-libtool \ - mostlyclean-bfdlibLTLIBRARIES mostlyclean-tags \ - mostlyclean-generic + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive -mostlyclean: mostlyclean-recursive +clean-am: clean-bfdlibLTLIBRARIES clean-generic clean-libtool \ + clean-noinstLIBRARIES mostlyclean-am -clean-am: clean-hdr clean-noinstLIBRARIES clean-compile clean-libtool \ - clean-bfdlibLTLIBRARIES clean-tags clean-generic \ - mostlyclean-am +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-tags -clean: clean-recursive +dvi: dvi-recursive -distclean-am: distclean-hdr distclean-noinstLIBRARIES distclean-compile \ - distclean-libtool distclean-bfdlibLTLIBRARIES \ - distclean-tags distclean-generic clean-am - -rm -f libtool +dvi-am: -distclean: distclean-recursive - -rm -f config.status - -maintainer-clean-am: maintainer-clean-hdr \ - maintainer-clean-noinstLIBRARIES \ - maintainer-clean-compile maintainer-clean-libtool \ - maintainer-clean-bfdlibLTLIBRARIES \ - maintainer-clean-tags maintainer-clean-generic \ - distclean-am - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: install-bfdlibLTLIBRARIES + +install-exec-am: + +install-info: install-info-recursive + +install-man: + +installcheck-am: maintainer-clean: maintainer-clean-recursive - -rm -f config.status - -.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \ -mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \ -clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \ -mostlyclean-compile distclean-compile clean-compile \ -maintainer-clean-compile mostlyclean-libtool distclean-libtool \ -clean-libtool maintainer-clean-libtool mostlyclean-bfdlibLTLIBRARIES \ -distclean-bfdlibLTLIBRARIES clean-bfdlibLTLIBRARIES \ -maintainer-clean-bfdlibLTLIBRARIES uninstall-bfdlibLTLIBRARIES \ -install-bfdlibLTLIBRARIES install-data-recursive \ -uninstall-data-recursive install-exec-recursive \ -uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \ -all-recursive check-recursive installcheck-recursive info-recursive \ -dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \ -maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ -distclean-tags clean-tags maintainer-clean-tags distdir info-am info \ -dvi-am dvi check check-am installcheck-am installcheck install-info-am \ -install-info all-recursive-am install-exec-am install-exec \ -install-data-am install-data install-am install uninstall-am uninstall \ -all-redirect all-am all installdirs-am installdirs mostlyclean-generic \ -distclean-generic clean-generic maintainer-clean-generic clean \ -mostlyclean distclean maintainer-clean + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-bfdlibLTLIBRARIES + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-bfdlibLTLIBRARIES clean-generic \ + clean-libtool clean-noinstLIBRARIES clean-recursive ctags \ + ctags-recursive distclean distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-recursive \ + distclean-tags dvi dvi-am html html-am info info-am install \ + install-am install-bfdlibLTLIBRARIES install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic maintainer-clean-recursive \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am \ + uninstall-bfdlibLTLIBRARIES uninstall-info-am disassemble.lo: disassemble.c $(INCDIR)/dis-asm.h @@ -606,11 +891,6 @@ po/POTFILES.in: @MAINT@ Makefile for f in $(POTFILES); do echo $$f; done | LC_COLLATE= sort > tmp \ && mv tmp $(srcdir)/po/POTFILES.in -# We should reconfigure whenever bfd/configure.in changes, because -# that's where the version number comes from. -config.status: $(srcdir)/configure $(srcdir)/../bfd/configure.in - $(SHELL) ./config.status --recheck - install-bfdlibLTLIBRARIES: @INSTALL_LIBBFD_TRUE@install_libopcodes @$(NORMAL_INSTALL) @@ -714,8 +994,6 @@ s390-opc.tab: s390-mkopc s390-opc.txt sh-dis.lo: sh-dis.c $(LIBTOOL) --mode=compile $(COMPILE) -c @archdefs@ $< -Makefile: $(BFDDIR)/configure.in - # This dependency stuff is copied from BFD. DEP: dep.sed $(CFILES) $(HFILES) config.h @@ -801,9 +1079,11 @@ cris-dis.lo: cris-dis.c $(INCDIR)/dis-asm.h $(BFD_H) \ $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h sysdep.h config.h \ $(INCDIR)/opcode/cris.h $(INCDIR)/libiberty.h cris-opc.lo: cris-opc.c $(INCDIR)/opcode/cris.h -crx-dis.lo: crx-dis.c $(INCDIR)/opcode/crx.h \ - $(INCDIR)/dis-asm.h sysdep.h $(INCDIR)/ansidecl.h -crx-opc.lo: crx-opc.c $(INCDIR)/opcode/crx.h +crx-dis.lo: crx-dis.c $(INCDIR)/dis-asm.h $(BFD_H) \ + $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h sysdep.h config.h \ + $(INCDIR)/opcode/crx.h +crx-opc.lo: crx-opc.c $(INCDIR)/libiberty.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/symcat.h $(INCDIR)/opcode/crx.h d10v-dis.lo: d10v-dis.c sysdep.h config.h $(INCDIR)/ansidecl.h \ $(INCDIR)/opcode/d10v.h $(INCDIR)/dis-asm.h $(BFD_H) \ $(INCDIR)/symcat.h @@ -1038,7 +1318,7 @@ s390-dis.lo: s390-dis.c $(INCDIR)/ansidecl.h sysdep.h \ config.h $(INCDIR)/dis-asm.h $(BFD_H) $(INCDIR)/symcat.h \ $(INCDIR)/opcode/s390.h sh-dis.lo: sh-dis.c sysdep.h config.h $(INCDIR)/ansidecl.h \ - sh-opc.h $(INCDIR)/dis-asm.h $(BFD_H) $(INCDIR)/symcat.h + sh-opc.h $(BFD_H) $(INCDIR)/symcat.h $(INCDIR)/dis-asm.h sh64-dis.lo: sh64-dis.c $(INCDIR)/dis-asm.h $(BFD_H) \ $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h sysdep.h config.h \ sh64-opc.h $(INCDIR)/libiberty.h $(BFDDIR)/elf-bfd.h \ @@ -1102,7 +1382,6 @@ z8k-dis.lo: z8k-dis.c sysdep.h config.h $(INCDIR)/ansidecl.h \ z8kgen.lo: z8kgen.c sysdep.h config.h $(INCDIR)/ansidecl.h \ $(INCDIR)/libiberty.h # IF YOU PUT ANYTHING HERE IT WILL GO AWAY - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/opcodes/aclocal.m4 b/opcodes/aclocal.m4 index d5ae2337731..49e8d5bac91 100644 --- a/opcodes/aclocal.m4 +++ b/opcodes/aclocal.m4 @@ -1,923 +1,835 @@ -dnl aclocal.m4 generated automatically by aclocal 1.4-p6 - -dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl This program is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without -dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A -dnl PARTICULAR PURPOSE. - -sinclude(../bfd/acinclude.m4) - -dnl sinclude(../libtool.m4) already included in bfd/acinclude.m4 -dnl The lines below arrange for aclocal not to bring libtool.m4 -dnl AM_PROG_LIBTOOL into aclocal.m4, while still arranging for automake -dnl to add a definition of LIBTOOL to Makefile.in. -ifelse(yes,no,[ -AC_DEFUN([AM_PROG_LIBTOOL],) -AC_DEFUN([AM_DISABLE_SHARED],) -AC_SUBST(LIBTOOL) -]) +# generated automatically by aclocal 1.9.1 -*- Autoconf -*- -dnl sinclude(../gettext.m4) already included in bfd/acinclude.m4 -ifelse(yes,no,[ -AC_DEFUN([CY_WITH_NLS],) -AC_SUBST(INTLLIBS) -]) +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# -*- Autoconf -*- +# Copyright (C) 2002, 2003 Free Software Foundation, Inc. +# Generated from amversion.in; do not edit by hand. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION so it can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], + [AM_AUTOMAKE_VERSION([1.9.1])]) + +# AM_AUX_DIR_EXPAND + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. -dnl AM_INSTALL_LIBBFD already included in bfd/acinclude.m4 -ifelse(yes,no,[ -AC_DEFUN([AM_INSTALL_LIBBFD],) -AC_SUBST(bfdlibdir) -AC_SUBST(bfdincludedir) +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` ]) -# lib-prefix.m4 serial 3 (gettext-0.13) -dnl Copyright (C) 2001-2003 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible. - -dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and -dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't -dnl require excessive bracketing. -ifdef([AC_HELP_STRING], -[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], -[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) - -dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed -dnl to access previously installed libraries. The basic assumption is that -dnl a user will want packages to use other packages he previously installed -dnl with the same --prefix option. -dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate -dnl libraries, but is otherwise very convenient. -AC_DEFUN([AC_LIB_PREFIX], -[ - AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - dnl By default, look in $includedir and $libdir. - use_additional=yes - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - AC_LIB_ARG_WITH([lib-prefix], -[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib - --without-lib-prefix don't search for libraries in includedir and libdir], -[ - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997, 2000, 2001, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 6 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE]) +AC_SUBST([$1_FALSE]) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) + +# serial 7 -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue else - additional_includedir="$withval/include" - additional_libdir="$withval/lib" - fi - fi -]) - if test $use_additional = yes; then - dnl Potentially add $additional_includedir to $CPPFLAGS. - dnl But don't add it - dnl 1. if it's the standard /usr/include, - dnl 2. if it's already present in $CPPFLAGS, - dnl 3. if it's /usr/local/include and we are using GCC on Linux, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - for x in $CPPFLAGS; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux*) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - dnl Really add $additional_includedir to $CPPFLAGS. - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" - fi - fi + break fi - fi - dnl Potentially add $additional_libdir to $LDFLAGS. - dnl But don't add it - dnl 1. if it's the standard /usr/lib, - dnl 2. if it's already present in $LDFLAGS, - dnl 3. if it's /usr/local/lib and we are using GCC on Linux, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_libdir" != "X/usr/lib"; then - haveit= - for x in $LDFLAGS; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test "X$additional_libdir" = "X/usr/local/lib"; then - if test -n "$GCC"; then - case $host_os in - linux*) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LDFLAGS. - LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" - fi - fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break fi fi - fi -]) + done -dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, -dnl acl_final_exec_prefix, containing the values to which $prefix and -dnl $exec_prefix will expand at the end of the configure script. -AC_DEFUN([AC_LIB_PREPARE_PREFIX], -[ - dnl Unfortunately, prefix and exec_prefix get only finally determined - dnl at the end of configure. - if test "X$prefix" = "XNONE"; then - acl_final_prefix="$ac_default_prefix" - else - acl_final_prefix="$prefix" - fi - if test "X$exec_prefix" = "XNONE"; then - acl_final_exec_prefix='${prefix}' - else - acl_final_exec_prefix="$exec_prefix" - fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" - prefix="$acl_save_prefix" + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi ]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + -dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the -dnl variables prefix and exec_prefix bound to the values they will have -dnl at the end of the configure script. -AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], -[ - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - $1 - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) -# lib-link.m4 serial 4 (gettext-0.12) -dnl Copyright (C) 2001-2003 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible. - -dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and -dnl the libraries corresponding to explicit and implicit dependencies. -dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and -dnl augments the CPPFLAGS variable. -AC_DEFUN([AC_LIB_LINKFLAGS], -[ - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - define([Name],[translit([$1],[./-], [___])]) - define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ - AC_LIB_LINKFLAGS_BODY([$1], [$2]) - ac_cv_lib[]Name[]_libs="$LIB[]NAME" - ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" - ac_cv_lib[]Name[]_cppflags="$INC[]NAME" - ]) - LIB[]NAME="$ac_cv_lib[]Name[]_libs" - LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" - INC[]NAME="$ac_cv_lib[]Name[]_cppflags" - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) - AC_SUBST([LIB]NAME) - AC_SUBST([LTLIB]NAME) - dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the - dnl results of this search when this library appears as a dependency. - HAVE_LIB[]NAME=yes - undefine([Name]) - undefine([NAME]) + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH]) ]) -dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) -dnl searches for libname and the libraries corresponding to explicit and -dnl implicit dependencies, together with the specified include files and -dnl the ability to compile and link the specified testcode. If found, it -dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and -dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and -dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs -dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. -AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], -[ - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - define([Name],[translit([$1],[./-], [___])]) - define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - - dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME - dnl accordingly. - AC_LIB_LINKFLAGS_BODY([$1], [$2]) - - dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, - dnl because if the user has installed lib[]Name and not disabled its use - dnl via --without-lib[]Name-prefix, he wants to use it. - ac_save_CPPFLAGS="$CPPFLAGS" - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) - - AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ - ac_save_LIBS="$LIBS" - LIBS="$LIBS $LIB[]NAME" - AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) - LIBS="$ac_save_LIBS" - ]) - if test "$ac_cv_lib[]Name" = yes; then - HAVE_LIB[]NAME=yes - AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) - AC_MSG_CHECKING([how to link with lib[]$1]) - AC_MSG_RESULT([$LIB[]NAME]) +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +#serial 2 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` else - HAVE_LIB[]NAME=no - dnl If $LIB[]NAME didn't lead to a usable library, we don't need - dnl $INC[]NAME either. - CPPFLAGS="$ac_save_CPPFLAGS" - LIB[]NAME= - LTLIB[]NAME= + continue fi - AC_SUBST([HAVE_LIB]NAME) - AC_SUBST([LIB]NAME) - AC_SUBST([LTLIB]NAME) - undefine([Name]) - undefine([NAME]) -]) + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +])# _AM_OUTPUT_DEPENDENCY_COMMANDS -dnl Determine the platform dependent parameters needed to use rpath: -dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator, -dnl hardcode_direct, hardcode_minus_L. -AC_DEFUN([AC_LIB_RPATH], -[ - AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS - AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld - AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host - AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir - AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ - CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ - ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh - . ./conftest.sh - rm -f ./conftest.sh - acl_cv_rpath=done - ]) - wl="$acl_cv_wl" - libext="$acl_cv_libext" - shlibext="$acl_cv_shlibext" - hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" - hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" - hardcode_direct="$acl_cv_hardcode_direct" - hardcode_minus_L="$acl_cv_hardcode_minus_L" - dnl Determine whether the user wants rpath handling at all. - AC_ARG_ENABLE(rpath, - [ --disable-rpath do not hardcode runtime library paths], - :, enable_rpath=yes) -]) -dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and -dnl the libraries corresponding to explicit and implicit dependencies. -dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. -AC_DEFUN([AC_LIB_LINKFLAGS_BODY], -[ - define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - dnl By default, look in $includedir and $libdir. - use_additional=yes - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - AC_LIB_ARG_WITH([lib$1-prefix], -[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib - --without-lib$1-prefix don't search for lib$1 in includedir and libdir], -[ - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - else - additional_includedir="$withval/include" - additional_libdir="$withval/lib" - fi - fi -]) - dnl Search the library and its dependencies in $additional_libdir and - dnl $LDFLAGS. Using breadth-first-seach. - LIB[]NAME= - LTLIB[]NAME= - INC[]NAME= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='$1 $2' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - dnl See if it was already located by an earlier AC_LIB_LINKFLAGS - dnl or AC_LIB_HAVE_LINKFLAGS call. - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" - else - dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined - dnl that this library doesn't exist. So just drop it. - : - fi - else - dnl Search the library lib$name in $additional_libdir and $LDFLAGS - dnl and the already constructed $LIBNAME/$LTLIBNAME. - found_dir= - found_la= - found_so= - found_a= - if test $use_additional = yes; then - if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then - found_dir="$additional_libdir" - found_so="$additional_libdir/lib$name.$shlibext" - if test -f "$additional_libdir/lib$name.la"; then - found_la="$additional_libdir/lib$name.la" - fi - else - if test -f "$additional_libdir/lib$name.$libext"; then - found_dir="$additional_libdir" - found_a="$additional_libdir/lib$name.$libext" - if test -f "$additional_libdir/lib$name.la"; then - found_la="$additional_libdir/lib$name.la" - fi - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then - found_dir="$dir" - found_so="$dir/lib$name.$shlibext" - if test -f "$dir/lib$name.la"; then - found_la="$dir/lib$name.la" - fi - else - if test -f "$dir/lib$name.$libext"; then - found_dir="$dir" - found_a="$dir/lib$name.$libext" - if test -f "$dir/lib$name.la"; then - found_la="$dir/lib$name.la" - fi - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - dnl Found the library. - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - dnl Linking with a shared library. We attempt to hardcode its - dnl directory into the executable's runpath, unless it's the - dnl standard /usr/lib. - if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then - dnl No hardcoding is needed. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - dnl Use an explicit option to hardcode DIR into the resulting - dnl binary. - dnl Potentially add DIR to ltrpathdirs. - dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - dnl The hardcoding into $LIBNAME is system dependent. - if test "$hardcode_direct" = yes; then - dnl Using DIR/libNAME.so during linking hardcodes DIR into the - dnl resulting binary. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then - dnl Use an explicit option to hardcode DIR into the resulting - dnl binary. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - dnl Potentially add DIR to rpathdirs. - dnl The rpathdirs will be appended to $LIBNAME at the end. - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - dnl Rely on "-L$found_dir". - dnl But don't add it if it's already contained in the LDFLAGS - dnl or the already constructed $LIBNAME - haveit= - for x in $LDFLAGS $LIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" - fi - if test "$hardcode_minus_L" != no; then - dnl FIXME: Not sure whether we should use - dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" - dnl here. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH - dnl here, because this doesn't fit in flags passed to the - dnl compiler. So give up. No hardcoding. This affects only - dnl very old systems. - dnl FIXME: Not sure whether we should use - dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" - dnl here. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - dnl Linking with a static library. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" - else - dnl We shouldn't come here, but anyway it's good to have a - dnl fallback. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" - fi - fi - dnl Assume the include files are nearby. - additional_includedir= - case "$found_dir" in - */lib | */lib/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - dnl Potentially add $additional_includedir to $INCNAME. - dnl But don't add it - dnl 1. if it's the standard /usr/include, - dnl 2. if it's /usr/local/include and we are using GCC on Linux, - dnl 3. if it's already present in $CPPFLAGS or the already - dnl constructed $INCNAME, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux*) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INC[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - dnl Really add $additional_includedir to $INCNAME. - INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - dnl Look for dependencies. - if test -n "$found_la"; then - dnl Read the .la file. It defines the variables - dnl dlname, library_names, old_library, dependency_libs, current, - dnl age, revision, installed, dlopen, dlpreopen, libdir. - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - dnl We use only dependency_libs. - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. - dnl But don't add it - dnl 1. if it's the standard /usr/lib, - dnl 2. if it's /usr/local/lib and we are using GCC on Linux, - dnl 3. if it's already present in $LDFLAGS or the already - dnl constructed $LIBNAME, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_libdir" != "X/usr/lib"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/lib"; then - if test -n "$GCC"; then - case $host_os in - linux*) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LIBNAME. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LTLIBNAME. - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - dnl Potentially add DIR to rpathdirs. - dnl The rpathdirs will be appended to $LIBNAME at the end. - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - dnl Potentially add DIR to ltrpathdirs. - dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - dnl Handle this in the next round. - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - dnl Handle this in the next round. Throw away the .la's - dnl directory; it is already contained in a preceding -L - dnl option. - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - dnl Most likely an immediate library name. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" - ;; - esac - done - fi - else - dnl Didn't find the library; assume it is in the system directories - dnl known to the linker and runtime loader. (All the system - dnl directories known to the linker should also be known to the - dnl runtime loader, otherwise the system is severely misconfigured.) - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$hardcode_libdir_separator"; then - dnl Weird platform: only the last -rpath option counts, the user must - dnl pass all path elements in one option. We can arrange that for a - dnl single library, but not when more than one $LIBNAMEs are used. - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" - done - dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl. - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" - else - dnl The -rpath options are cumulative. - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - dnl When using libtool, the option that works for both libraries and - dnl executables is -R. The -R options are cumulative. - for found_dir in $ltrpathdirs; do - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" - done - fi +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) -dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, -dnl unless already present in VAR. -dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes -dnl contains two or three consecutive elements that belong together. -AC_DEFUN([AC_LIB_APPENDTOVAR], -[ - for element in [$2]; do - haveit= - for x in $[$1]; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - [$1]="${[$1]}${[$1]:+ }$element" - fi - done -]) +# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*- -# lib-ld.m4 serial 3 (gettext-0.13) -dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl Subroutines of libtool.m4, -dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision -dnl with libtool.m4. - -dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. -AC_DEFUN([AC_LIB_PROG_LD_GNU], -[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, -[# I'd rather use --version here, but apparently some GNU ld's only accept -v. -case `$LD -v 2>&1 conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.58])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' else - PATH_SEPARATOR=: + CYGPATH_W=echo fi - rm -f conf$$.sh fi -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by GCC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]* | [A-Za-z]:[\\/]*)] - [re_direlt='/[^/][^/]*/\.\./'] - # Canonicalize the path of ld - ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $1 | $1:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) +done +echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"$am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) + +# -*- Autoconf -*- +# Copyright (C) 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 1 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. else - AC_MSG_CHECKING([for non-GNU ld]) + am__leading_dot=_ fi -AC_CACHE_VAL(acl_cv_path_LD, -[if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - acl_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in - *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break ;; - *) - test "$with_gnu_ld" != yes && break ;; - esac - fi - done - IFS="$ac_save_ifs" -else - acl_cv_path_LD="$LD" # Let the user override the test with a path. -fi]) -LD="$acl_cv_path_LD" -if test -n "$LD"; then - AC_MSG_RESULT($LD) +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Add --enable-maintainer-mode option to configure. +# From Jim Meyering + +# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +AC_DEFUN([AM_MAINTAINER_MODE], +[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) + dnl maintainer-mode is disabled by default + AC_ARG_ENABLE(maintainer-mode, +[ --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer], + USE_MAINTAINER_MODE=$enableval, + USE_MAINTAINER_MODE=no) + AC_MSG_RESULT([$USE_MAINTAINER_MODE]) + AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes]) + MAINT=$MAINTAINER_MODE_TRUE + AC_SUBST(MAINT)dnl +] +) + +AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# -*- Autoconf -*- + + +# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " else - AC_MSG_RESULT(no) + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) fi -test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) -AC_LIB_PROG_LD_GNU ]) -# isc-posix.m4 serial 2 (gettext-0.11.2) -dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -# This file is not needed with autoconf-2.53 and newer. Remove it in 2005. - -# This test replaces the one in autoconf. -# Currently this macro should have the same name as the autoconf macro -# because gettext's gettext.m4 (distributed in the automake package) -# still uses it. Otherwise, the use in gettext.m4 makes autoheader -# give these diagnostics: -# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX -# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX - -undefine([AC_ISC_POSIX]) - -AC_DEFUN([AC_ISC_POSIX], - [ - dnl This test replaces the obsolescent AC_ISC_POSIX kludge. - AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"]) - ] -) +# AM_PROG_MKDIR_P +# --------------- +# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. -# Do all the work for Automake. This macro actually does too much -- -# some checks are only needed if your package does certain things. -# But this isn't really a big deal. +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. -# serial 1 +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. -dnl Usage: -dnl AM_INIT_AUTOMAKE(package,version, [no-define]) +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL]) -PACKAGE=[$1] -AC_SUBST(PACKAGE) -VERSION=[$2] -AC_SUBST(VERSION) -dnl test to see if srcdir already configured -if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories +# created by `make install' are always world readable, even if the +# installer happens to have an overly restrictive umask (e.g. 077). +# This was a mistake. There are at least two reasons why we must not +# use `-m 0755': +# - it causes special bits like SGID to be ignored, +# - it may be too restrictive (some setups expect 775 directories). +# +# Do not use -m 0755 and let people choose whatever they expect by +# setting umask. +# +# We cannot accept any implementation of `mkdir' that recognizes `-p'. +# Some implementations (such as Solaris 8's) are not thread-safe: if a +# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' +# concurrently, both version can detect that a/ is missing, but only +# one can create it and the other will error out. Consequently we +# restrict ourselves to GNU make (using the --version option ensures +# this.) +AC_DEFUN([AM_PROG_MKDIR_P], +[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # We used to keeping the `.' as first argument, in order to + # allow $(mkdir_p) to be used without argument. As in + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. However this is wrong + # for two reasons: + # 1. if the package is installed by a user who cannot write `.' + # make install will fail, + # 2. the above comment should most certainly read + # $(mkdir_p) $(DESTDIR)$(somedir) + # so it does not work when $(somedir) is undefined and + # $(DESTDIR) is not. + # To support the latter case, we have to write + # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), + # so the `.' trick is pointless. + mkdir_p='mkdir -p --' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi fi -ifelse([$3],, -AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) -AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])) -AC_REQUIRE([AM_SANITY_CHECK]) -AC_REQUIRE([AC_ARG_PROGRAM]) -dnl FIXME This is truly gross. -missing_dir=`cd $ac_aux_dir && pwd` -AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}, $missing_dir) -AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir) -AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}, $missing_dir) -AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir) -AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir) -AC_REQUIRE([AC_PROG_MAKE_SET])]) - -# Copyright 2002 Free Software Foundation, Inc. +AC_SUBST([mkdir_p])]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -932,42 +844,77 @@ AC_REQUIRE([AC_PROG_MAKE_SET])]) # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. -# AM_AUTOMAKE_VERSION(VERSION) -# ---------------------------- -# Automake X.Y traces this macro to ensure aclocal.m4 has been -# generated from the m4 files accompanying Automake X.Y. -AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.4"]) +# serial 2 -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION so it can be traced. -# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], - [AM_AUTOMAKE_VERSION([1.4-p6])]) +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # # Check to make sure that the build environment is sane. # +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +# AM_SANITY_CHECK +# --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 -echo timestamp > conftestfile +echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( - set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null` - if test "[$]*" = "X"; then + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then # -L didn't work. - set X `ls -t $srcdir/configure conftestfile` + set X `ls -t $srcdir/configure conftest.file` fi - if test "[$]*" != "X $srcdir/configure conftestfile" \ - && test "[$]*" != "X conftestfile $srcdir/configure"; then + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a @@ -977,7 +924,7 @@ if ( alias in your environment]) fi - test "[$]2" = conftestfile + test "$[2]" = conftest.file ) then # Ok. @@ -986,78 +933,153 @@ else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi -rm -f conftest* AC_MSG_RESULT(yes)]) -dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY) -dnl The program must properly implement --version. -AC_DEFUN([AM_MISSING_PROG], -[AC_MSG_CHECKING(for working $2) -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if ($2 --version) < /dev/null > /dev/null 2>&1; then - $1=$2 - AC_MSG_RESULT(found) -else - $1="$3/missing $2" - AC_MSG_RESULT(missing) +# AM_PROG_INSTALL_STRIP + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) fi -AC_SUBST($1)]) +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Like AC_CONFIG_HEADER, but automatically create stamp file. - -AC_DEFUN([AM_CONFIG_HEADER], -[AC_PREREQ([2.12]) -AC_CONFIG_HEADER([$1]) -dnl When config.status generates a header, we must update the stamp-h file. -dnl This file resides in the same directory as the config header -dnl that is generated. We must strip everything past the first ":", -dnl and everything past the last "/". -AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl -ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>, -<>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>, -<>; do - case " <<$>>CONFIG_HEADERS " in - *" <<$>>am_file "*<<)>> - echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx - ;; - esac - am_indx=`expr "<<$>>am_indx" + 1` -done<<>>dnl>>) -changequote([,]))]) +# Check how to create a tarball. -*- Autoconf -*- -# Add --enable-maintainer-mode option to configure. -# From Jim Meyering +# Copyright (C) 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. # serial 1 -AC_DEFUN([AM_MAINTAINER_MODE], -[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) - dnl maintainer-mode is disabled by default - AC_ARG_ENABLE(maintainer-mode, -[ --enable-maintainer-mode enable make rules and dependencies not useful - (and sometimes confusing) to the casual installer], - USE_MAINTAINER_MODE=$enableval, - USE_MAINTAINER_MODE=no) - AC_MSG_RESULT($USE_MAINTAINER_MODE) - AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes) - MAINT=$MAINTAINER_MODE_TRUE - AC_SUBST(MAINT)dnl -] -) -# Define a conditional. +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of `v7', `ustar', or `pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. +AM_MISSING_PROG([AMTAR], [tar]) +m4_if([$1], [v7], + [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [m4_case([$1], [ustar],, [pax],, + [m4_fatal([Unknown tar format])]) +AC_MSG_CHECKING([how to create a $1 tar archive]) +# Loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' +_am_tools=${am_cv_prog_tar_$1-$_am_tools} +# Do not fold the above two line into one, because Tru64 sh and +# Solaris sh will not grok spaces in the rhs of `-'. +for _am_tool in $_am_tools +do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; + do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac -AC_DEFUN([AM_CONDITIONAL], -[AC_SUBST($1_TRUE) -AC_SUBST($1_FALSE) -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi]) + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi +done +rm -rf conftest.dir + +AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) +AC_MSG_RESULT([$am_cv_prog_tar_$1])]) +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR +m4_include([acinclude.m4]) diff --git a/opcodes/configure b/opcodes/configure index 26eaf59b25a..c803c94860d 100755 --- a/opcodes/configure +++ b/opcodes/configure @@ -309,7 +309,7 @@ ac_includes_default="\ # include #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO SET_MAKE AR ac_ct_AR RANLIB ac_ct_RANLIB LN_S STRIP ac_ct_STRIP LIBTOOL WARN_CFLAGS MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT INSTALL_LIBBFD_TRUE INSTALL_LIBBFD_FALSE host_noncanonical target_noncanonical bfdlibdir bfdincludedir CPP EGREP ALLOCA USE_NLS MSGFMT GMSGFMT XGETTEXT USE_INCLUDED_LIBINTL CATALOGS CATOBJEXT DATADIRNAME GMOFILES INSTOBJEXT INTLDEPS INTLLIBS INTLOBJS POFILES POSUB INCLUDE_LOCALE_H GT_NO GT_YES MKINSTALLDIRS l CC_FOR_BUILD EXEEXT_FOR_BUILD HDEFINES CGEN_MAINT_TRUE CGEN_MAINT_FALSE cgendir WIN32LDFLAGS WIN32LIBADD archdefs BFD_MACHINES LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE AR ac_ct_AR RANLIB ac_ct_RANLIB LN_S LIBTOOL WARN_CFLAGS MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT INSTALL_LIBBFD_TRUE INSTALL_LIBBFD_FALSE host_noncanonical target_noncanonical bfdlibdir bfdincludedir CPP EGREP ALLOCA USE_NLS MSGFMT GMSGFMT XGETTEXT USE_INCLUDED_LIBINTL CATALOGS CATOBJEXT DATADIRNAME GMOFILES INSTOBJEXT INTLDEPS INTLLIBS INTLOBJS POFILES POSUB INCLUDE_LOCALE_H GT_NO GT_YES MKINSTALLDIRS l CC_FOR_BUILD EXEEXT_FOR_BUILD HDEFINES CGEN_MAINT_TRUE CGEN_MAINT_FALSE cgendir WIN32LDFLAGS WIN32LIBADD archdefs BFD_MACHINES LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -850,6 +850,8 @@ if test -n "$ac_init_help"; then Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors --enable-shared=PKGS build shared libraries default=no --enable-static=PKGS build static libraries default=yes --enable-fast-install=PKGS optimize for fast installation default=yes @@ -857,8 +859,8 @@ Optional Features: --enable-targets alternative target configurations --enable-commonbfdlib build shared BFD/opcodes/libiberty library --enable-build-warnings Enable build-time compiler warnings if gcc is used - --enable-maintainer-mode enable make rules and dependencies not useful - (and sometimes confusing) to the casual installer + --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer --enable-install-libbfd controls installation of libbfd and related headers --disable-nls do not use Native Language Support --enable-cgen-maint=dir build cgen generated files @@ -970,7 +972,7 @@ esac else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi - cd "$ac_popdir" + cd $ac_popdir done fi @@ -1994,7 +1996,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -2052,7 +2055,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -2168,7 +2172,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -2222,7 +2227,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -2267,7 +2273,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -2311,7 +2318,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -2351,14 +2359,13 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu - - echo "$as_me:$LINENO: checking for strerror in -lcposix" >&5 -echo $ECHO_N "checking for strerror in -lcposix... $ECHO_C" >&6 -if test "${ac_cv_lib_cposix_strerror+set}" = set; then +echo "$as_me:$LINENO: checking for library containing strerror" >&5 +echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6 +if test "${ac_cv_search_strerror+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcposix $LIBS" + ac_func_search_save_LIBS=$LIBS +ac_cv_search_strerror=no cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -2390,7 +2397,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -2402,24 +2410,80 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_lib_cposix_strerror=yes + ac_cv_search_strerror="none required" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_lib_cposix_strerror=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +if test "$ac_cv_search_strerror" = no; then + for ac_lib in cposix; do + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char strerror (); +int +main () +{ +strerror (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search_strerror="-l$ac_lib" +break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + fi -echo "$as_me:$LINENO: result: $ac_cv_lib_cposix_strerror" >&5 -echo "${ECHO_T}$ac_cv_lib_cposix_strerror" >&6 -if test $ac_cv_lib_cposix_strerror = yes; then - LIBS="$LIBS -lcposix" +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + done fi +LIBS=$ac_func_search_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5 +echo "${ECHO_T}$ac_cv_search_strerror" >&6 +if test "$ac_cv_search_strerror" != no; then + test "$ac_cv_search_strerror" = "none required" || LIBS="$ac_cv_search_strerror $LIBS" - +fi # We currently only use the version number for the name of any shared @@ -2427,7 +2491,7 @@ fi # number that BFD is using. BFD_VERSION=`sed -n -e 's/^.._INIT_AUTOMAKE.*,[ ]*\([^ ]*\)[ ]*).*/\1/p' < ${srcdir}/../bfd/configure.in` -am__api_version="1.4" +am__api_version="1.9" # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: @@ -2511,20 +2575,21 @@ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6 # Just in case sleep 1 -echo timestamp > conftestfile +echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( - set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null` + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. - set X `ls -t $srcdir/configure conftestfile` + set X `ls -t $srcdir/configure conftest.file` fi - if test "$*" != "X $srcdir/configure conftestfile" \ - && test "$*" != "X conftestfile $srcdir/configure"; then + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a @@ -2537,7 +2602,7 @@ alias in your environment" >&2;} { (exit 1); exit 1; }; } fi - test "$2" = conftestfile + test "$2" = conftest.file ) then # Ok. @@ -2549,7 +2614,6 @@ echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi -rm -f conftest* echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 test "$program_prefix" != NONE && @@ -2565,6 +2629,92 @@ _ACEOF program_transform_name=`echo $program_transform_name | sed -f conftest.sed` rm conftest.sed +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # We used to keeping the `.' as first argument, in order to + # allow $(mkdir_p) to be used without argument. As in + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. However this is wrong + # for two reasons: + # 1. if the package is installed by a user who cannot write `.' + # make install will fail, + # 2. the above comment should most certainly read + # $(mkdir_p) $(DESTDIR)$(somedir) + # so it does not work when $(somedir) is undefined and + # $(DESTDIR) is not. + # To support the latter case, we have to write + # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), + # so the `.' trick is pointless. + mkdir_p='mkdir -p --' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$AWK" && break +done + echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'` @@ -2594,17 +2744,103 @@ echo "${ECHO_T}no" >&6 SET_MAKE="MAKE=${MAKE-make}" fi +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +DEPDIR="${am__leading_dot}deps" + + ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6 +rm -f confinc confmf + +# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval="$enable_dependency_tracking" + +fi; +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi -PACKAGE=opcodes -VERSION=${BFD_VERSION} -if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} { (exit 1); exit 1; }; } fi +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE=opcodes + VERSION=${BFD_VERSION} + + cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF @@ -2614,86 +2850,234 @@ cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF +# Some tools Automake needs. +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} -missing_dir=`cd $ac_aux_dir && pwd` -echo "$as_me:$LINENO: checking for working aclocal-${am__api_version}" >&5 -echo $ECHO_N "checking for working aclocal-${am__api_version}... $ECHO_C" >&6 -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if (aclocal-${am__api_version} --version) < /dev/null > /dev/null 2>&1; then - ACLOCAL=aclocal-${am__api_version} - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +install_sh=${install_sh-"$am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6 else - ACLOCAL="$missing_dir/missing aclocal-${am__api_version}" - echo "$as_me:$LINENO: result: missing" >&5 -echo "${ECHO_T}missing" >&6 + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi -echo "$as_me:$LINENO: checking for working autoconf" >&5 -echo $ECHO_N "checking for working autoconf... $ECHO_C" >&6 -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if (autoconf --version) < /dev/null > /dev/null 2>&1; then - AUTOCONF=autoconf - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6 else - AUTOCONF="$missing_dir/missing autoconf" - echo "$as_me:$LINENO: result: missing" >&5 -echo "${ECHO_T}missing" >&6 + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 fi -echo "$as_me:$LINENO: checking for working automake-${am__api_version}" >&5 -echo $ECHO_N "checking for working automake-${am__api_version}... $ECHO_C" >&6 -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if (automake-${am__api_version} --version) < /dev/null > /dev/null 2>&1; then - AUTOMAKE=automake-${am__api_version} - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 + STRIP=$ac_ct_STRIP else - AUTOMAKE="$missing_dir/missing automake-${am__api_version}" - echo "$as_me:$LINENO: result: missing" >&5 -echo "${ECHO_T}missing" >&6 + STRIP="$ac_cv_prog_STRIP" fi -echo "$as_me:$LINENO: checking for working autoheader" >&5 -echo $ECHO_N "checking for working autoheader... $ECHO_C" >&6 -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if (autoheader --version) < /dev/null > /dev/null 2>&1; then - AUTOHEADER=autoheader - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +# Always define AMTAR for backward compatibility. + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' + + + + +depcc="$CC" am_compiler_list= + +echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - AUTOHEADER="$missing_dir/missing autoheader" - echo "$as_me:$LINENO: result: missing" >&5 -echo "${ECHO_T}missing" >&6 + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + fi +echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + -echo "$as_me:$LINENO: checking for working makeinfo" >&5 -echo $ECHO_N "checking for working makeinfo... $ECHO_C" >&6 -# Run test in a subshell; some versions of sh will print an error if -# an executable is not found, even if stderr is redirected. -# Redirect stdin to placate older versions of autoconf. Sigh. -if (makeinfo --version) < /dev/null > /dev/null 2>&1; then - MAKEINFO=makeinfo - echo "$as_me:$LINENO: result: found" >&5 -echo "${ECHO_T}found" >&6 +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' else - MAKEINFO="$missing_dir/missing makeinfo" - echo "$as_me:$LINENO: result: missing" >&5 -echo "${ECHO_T}missing" >&6 + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= fi + if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 @@ -3594,7 +3978,7 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic" case $host in *-*-irix6*) # Find out which ABI we are using. - echo '#line 3597 "configure"' > conftest.$ac_ext + echo '#line 3981 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -3690,7 +4074,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -3878,11 +4263,8 @@ if test "x${build_warnings}" != x -a "x$GCC" = xyes ; then fi - ac_config_headers="$ac_config_headers config.h:config.in" - ac_config_commands="$ac_config_commands default-1" - if test -z "$target" ; then { { echo "$as_me:$LINENO: error: Unrecognized target system type; please check config.sub." >&5 @@ -3910,6 +4292,7 @@ else MAINTAINER_MODE_TRUE='#' MAINTAINER_MODE_FALSE= fi + MAINT=$MAINTAINER_MODE_TRUE @@ -3952,6 +4335,7 @@ else INSTALL_LIBBFD_TRUE='#' INSTALL_LIBBFD_FALSE= fi + # Need _noncanonical variables for this. @@ -4339,7 +4723,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4397,7 +4782,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4513,7 +4899,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4567,7 +4954,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4612,7 +5000,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -4656,7 +5045,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -5060,7 +5450,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -5267,7 +5658,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -5327,7 +5719,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -5406,7 +5799,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -5471,7 +5865,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -5536,7 +5931,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -5600,7 +5996,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -5681,7 +6078,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -5822,7 +6220,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -5960,7 +6359,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -6144,7 +6544,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -6395,7 +6796,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -6589,7 +6991,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -6692,7 +7095,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -6763,7 +7167,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -6865,7 +7270,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7001,7 +7407,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7065,7 +7472,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7120,7 +7528,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7260,7 +7669,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7393,7 +7803,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7661,7 +8072,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -7971,7 +8383,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -8115,6 +8528,7 @@ else fi + using_cgen=no # Horrible hacks to build DLLs on Windows. @@ -8388,6 +8802,41 @@ LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${INSTALL_LIBBFD_TRUE}" && test -z "${INSTALL_LIBBFD_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"INSTALL_LIBBFD\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"INSTALL_LIBBFD\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${CGEN_MAINT_TRUE}" && test -z "${CGEN_MAINT_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"CGEN_MAINT\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"CGEN_MAINT\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files @@ -8821,7 +9270,7 @@ cat >>$CONFIG_STATUS <<_ACEOF # INIT-COMMANDS section. # - +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" _ACEOF @@ -8835,7 +9284,7 @@ do # Handling of arguments. "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; "po/Makefile.in" ) CONFIG_FILES="$CONFIG_FILES po/Makefile.in:po/Make-in" ;; - "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; + "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.in" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 @@ -8945,6 +9394,7 @@ s,@OBJEXT@,$OBJEXT,;t t s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t s,@INSTALL_DATA@,$INSTALL_DATA,;t t +s,@CYGPATH_W@,$CYGPATH_W,;t t s,@PACKAGE@,$PACKAGE,;t t s,@VERSION@,$VERSION,;t t s,@ACLOCAL@,$ACLOCAL,;t t @@ -8952,14 +9402,31 @@ s,@AUTOCONF@,$AUTOCONF,;t t s,@AUTOMAKE@,$AUTOMAKE,;t t s,@AUTOHEADER@,$AUTOHEADER,;t t s,@MAKEINFO@,$MAKEINFO,;t t +s,@install_sh@,$install_sh,;t t +s,@STRIP@,$STRIP,;t t +s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t +s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t +s,@mkdir_p@,$mkdir_p,;t t +s,@AWK@,$AWK,;t t s,@SET_MAKE@,$SET_MAKE,;t t +s,@am__leading_dot@,$am__leading_dot,;t t +s,@AMTAR@,$AMTAR,;t t +s,@am__tar@,$am__tar,;t t +s,@am__untar@,$am__untar,;t t +s,@DEPDIR@,$DEPDIR,;t t +s,@am__include@,$am__include,;t t +s,@am__quote@,$am__quote,;t t +s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t +s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t +s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t +s,@CCDEPMODE@,$CCDEPMODE,;t t +s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t +s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t s,@AR@,$AR,;t t s,@ac_ct_AR@,$ac_ct_AR,;t t s,@RANLIB@,$RANLIB,;t t s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t s,@LN_S@,$LN_S,;t t -s,@STRIP@,$STRIP,;t t -s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t s,@LIBTOOL@,$LIBTOOL,;t t s,@WARN_CFLAGS@,$WARN_CFLAGS,;t t s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t @@ -9172,6 +9639,11 @@ esac *) ac_INSTALL=$ac_top_builddir$INSTALL ;; esac + if test x"$ac_file" != x-; then + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + rm -f "$ac_file" + fi # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ @@ -9210,12 +9682,6 @@ echo "$as_me: error: cannot find input file: $f" >&2;} fi;; esac done` || { (exit 1); exit 1; } - - if test x"$ac_file" != x-; then - { echo "$as_me:$LINENO: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - rm -f "$ac_file" - fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF sed "$ac_vpsub @@ -9466,6 +9932,28 @@ echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} cat $tmp/config.h rm -f $tmp/config.h fi +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'`/stamp-h$_am_stamp_count done _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF @@ -9582,7 +10070,91 @@ esac { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 echo "$as_me: executing $ac_dest commands" >&6;} case $ac_dest in - default-1 ) test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ;; + depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`(dirname "$mf") 2>/dev/null || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`(dirname "$file") 2>/dev/null || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p $dirpart/$fdir + else + as_dir=$dirpart/$fdir + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5 +echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;} + { (exit 1); exit 1; }; }; } + + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; default ) sed -e '/POTFILES =/r po/POTFILES' po/Makefile.in > po/Makefile ;; esac done diff --git a/opcodes/po/POTFILES.in b/opcodes/po/POTFILES.in index 333c612130b..e71ddced5ed 100644 --- a/opcodes/po/POTFILES.in +++ b/opcodes/po/POTFILES.in @@ -12,6 +12,8 @@ cgen-dis.c cgen-opc.c cris-dis.c cris-opc.c +crx-dis.c +crx-opc.c d10v-dis.c d10v-opc.c d30v-dis.c diff --git a/opcodes/po/opcodes.pot b/opcodes/po/opcodes.pot index 9ab879039dd..f149ddb35dc 100644 --- a/opcodes/po/opcodes.pot +++ b/opcodes/po/opcodes.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-03-19 14:59+1030\n" +"POT-Creation-Date: 2004-09-16 23:00+0930\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -94,14 +94,14 @@ msgstr "" msgid "Address 0x%x is out of bounds.\n" msgstr "" -#: fr30-asm.c:323 frv-asm.c:967 ip2k-asm.c:574 iq2000-asm.c:460 m32r-asm.c:335 +#: fr30-asm.c:323 frv-asm.c:967 ip2k-asm.c:574 iq2000-asm.c:460 m32r-asm.c:338 #: openrisc-asm.c:261 xstormy16-asm.c:284 #, c-format msgid "Unrecognized field %d while parsing.\n" msgstr "" #: fr30-asm.c:372 frv-asm.c:1016 ip2k-asm.c:623 iq2000-asm.c:509 -#: m32r-asm.c:384 openrisc-asm.c:310 xstormy16-asm.c:333 +#: m32r-asm.c:387 openrisc-asm.c:310 xstormy16-asm.c:333 msgid "missing mnemonic in syntax string" msgstr "" @@ -109,43 +109,43 @@ msgstr "" #: fr30-asm.c:507 fr30-asm.c:511 fr30-asm.c:598 fr30-asm.c:699 frv-asm.c:1151 #: frv-asm.c:1155 frv-asm.c:1242 frv-asm.c:1343 ip2k-asm.c:758 ip2k-asm.c:762 #: ip2k-asm.c:849 ip2k-asm.c:950 iq2000-asm.c:644 iq2000-asm.c:648 -#: iq2000-asm.c:735 iq2000-asm.c:836 m32r-asm.c:519 m32r-asm.c:523 -#: m32r-asm.c:610 m32r-asm.c:711 openrisc-asm.c:445 openrisc-asm.c:449 +#: iq2000-asm.c:735 iq2000-asm.c:836 m32r-asm.c:522 m32r-asm.c:526 +#: m32r-asm.c:613 m32r-asm.c:714 openrisc-asm.c:445 openrisc-asm.c:449 #: openrisc-asm.c:536 openrisc-asm.c:637 xstormy16-asm.c:468 #: xstormy16-asm.c:472 xstormy16-asm.c:559 xstormy16-asm.c:660 msgid "unrecognized instruction" msgstr "" #: fr30-asm.c:554 frv-asm.c:1198 ip2k-asm.c:805 iq2000-asm.c:691 -#: m32r-asm.c:566 openrisc-asm.c:492 xstormy16-asm.c:515 +#: m32r-asm.c:569 openrisc-asm.c:492 xstormy16-asm.c:515 #, c-format msgid "syntax error (expected char `%c', found `%c')" msgstr "" #: fr30-asm.c:564 frv-asm.c:1208 ip2k-asm.c:815 iq2000-asm.c:701 -#: m32r-asm.c:576 openrisc-asm.c:502 xstormy16-asm.c:525 +#: m32r-asm.c:579 openrisc-asm.c:502 xstormy16-asm.c:525 #, c-format msgid "syntax error (expected char `%c', found end of instruction)" msgstr "" #: fr30-asm.c:592 frv-asm.c:1236 ip2k-asm.c:843 iq2000-asm.c:729 -#: m32r-asm.c:604 openrisc-asm.c:530 xstormy16-asm.c:553 +#: m32r-asm.c:607 openrisc-asm.c:530 xstormy16-asm.c:553 msgid "junk at end of line" msgstr "" #: fr30-asm.c:698 frv-asm.c:1342 ip2k-asm.c:949 iq2000-asm.c:835 -#: m32r-asm.c:710 openrisc-asm.c:636 xstormy16-asm.c:659 +#: m32r-asm.c:713 openrisc-asm.c:636 xstormy16-asm.c:659 msgid "unrecognized form of instruction" msgstr "" #: fr30-asm.c:710 frv-asm.c:1354 ip2k-asm.c:961 iq2000-asm.c:847 -#: m32r-asm.c:722 openrisc-asm.c:648 xstormy16-asm.c:671 +#: m32r-asm.c:725 openrisc-asm.c:648 xstormy16-asm.c:671 #, c-format msgid "bad instruction `%.50s...'" msgstr "" #: fr30-asm.c:713 frv-asm.c:1357 ip2k-asm.c:964 iq2000-asm.c:850 -#: m32r-asm.c:725 openrisc-asm.c:651 xstormy16-asm.c:674 +#: m32r-asm.c:728 openrisc-asm.c:651 xstormy16-asm.c:674 #, c-format msgid "bad instruction `%.50s'" msgstr "" @@ -219,7 +219,7 @@ msgstr "" msgid "Hmmmm 0x%x" msgstr "" -#: h8300-dis.c:741 +#: h8300-dis.c:744 #, c-format msgid "Don't understand 0x%x \n" msgstr "" @@ -230,12 +230,12 @@ msgid "can't cope with insert %d\n" msgstr "" #. Couldn't understand anything. -#: h8500-dis.c:350 +#: h8500-dis.c:342 #, c-format msgid "%02x\t\t*unknown*" msgstr "" -#: i386-dis.c:1712 +#: i386-dis.c:1720 msgid "" msgstr "" @@ -275,72 +275,72 @@ msgstr "" msgid "overlapping field %s->%s\n" msgstr "" -#: ia64-gen.c:1236 +#: ia64-gen.c:1242 #, c-format msgid "overwriting note %d with note %d (IC:%s)\n" msgstr "" -#: ia64-gen.c:1435 +#: ia64-gen.c:1441 #, c-format msgid "don't know how to specify %% dependency %s\n" msgstr "" -#: ia64-gen.c:1457 +#: ia64-gen.c:1463 #, c-format msgid "Don't know how to specify # dependency %s\n" msgstr "" -#: ia64-gen.c:1496 +#: ia64-gen.c:1502 #, c-format msgid "IC:%s [%s] has no terminals or sub-classes\n" msgstr "" -#: ia64-gen.c:1499 +#: ia64-gen.c:1505 #, c-format msgid "IC:%s has no terminals or sub-classes\n" msgstr "" -#: ia64-gen.c:1508 +#: ia64-gen.c:1514 #, c-format msgid "no insns mapped directly to terminal IC %s [%s]" msgstr "" -#: ia64-gen.c:1511 +#: ia64-gen.c:1517 #, c-format msgid "no insns mapped directly to terminal IC %s\n" msgstr "" -#: ia64-gen.c:1522 +#: ia64-gen.c:1528 #, c-format msgid "class %s is defined but not used\n" msgstr "" -#: ia64-gen.c:1533 +#: ia64-gen.c:1539 #, c-format msgid "Warning: rsrc %s (%s) has no chks%s\n" msgstr "" -#: ia64-gen.c:1537 +#: ia64-gen.c:1543 #, c-format msgid "rsrc %s (%s) has no regs\n" msgstr "" -#: ia64-gen.c:2436 +#: ia64-gen.c:2442 #, c-format msgid "IC note %d in opcode %s (IC:%s) conflicts with resource %s note %d\n" msgstr "" -#: ia64-gen.c:2464 +#: ia64-gen.c:2470 #, c-format msgid "IC note %d for opcode %s (IC:%s) conflicts with resource %s note %d\n" msgstr "" -#: ia64-gen.c:2478 +#: ia64-gen.c:2484 #, c-format msgid "opcode %s has no class (ops %d %d %d)\n" msgstr "" -#: ia64-gen.c:2789 +#: ia64-gen.c:2795 #, c-format msgid "unable to change directory to \"%s\", errno = %s\n" msgstr "" @@ -430,12 +430,12 @@ msgstr "" msgid "unknown\t0x%04x" msgstr "" -#: m68k-dis.c:432 +#: m68k-dis.c:295 #, c-format msgid "\n" msgstr "" -#: m68k-dis.c:1025 +#: m68k-dis.c:1089 #, c-format msgid "" msgstr "" @@ -573,83 +573,87 @@ msgstr "" msgid "$" msgstr "" -#: ppc-opc.c:791 ppc-opc.c:819 +#: ppc-opc.c:794 ppc-opc.c:822 msgid "invalid conditional option" msgstr "" -#: ppc-opc.c:821 +#: ppc-opc.c:824 msgid "attempt to set y bit when using + or - modifier" msgstr "" -#: ppc-opc.c:849 +#: ppc-opc.c:852 msgid "offset not a multiple of 16" msgstr "" -#: ppc-opc.c:868 +#: ppc-opc.c:871 msgid "offset not a multiple of 2" msgstr "" -#: ppc-opc.c:870 +#: ppc-opc.c:873 msgid "offset greater than 62" msgstr "" -#: ppc-opc.c:889 ppc-opc.c:934 ppc-opc.c:978 +#: ppc-opc.c:892 ppc-opc.c:937 ppc-opc.c:981 msgid "offset not a multiple of 4" msgstr "" -#: ppc-opc.c:891 +#: ppc-opc.c:894 msgid "offset greater than 124" msgstr "" -#: ppc-opc.c:910 +#: ppc-opc.c:913 msgid "offset not a multiple of 8" msgstr "" -#: ppc-opc.c:912 +#: ppc-opc.c:915 msgid "offset greater than 248" msgstr "" -#: ppc-opc.c:955 +#: ppc-opc.c:958 msgid "offset not between -2048 and 2047" msgstr "" -#: ppc-opc.c:976 +#: ppc-opc.c:979 msgid "offset not between -8192 and 8191" msgstr "" -#: ppc-opc.c:1014 +#: ppc-opc.c:1007 +msgid "invalid mask field" +msgstr "" + +#: ppc-opc.c:1033 msgid "ignoring invalid mfcr mask" msgstr "" -#: ppc-opc.c:1061 +#: ppc-opc.c:1075 msgid "ignoring least significant bits in branch offset" msgstr "" -#: ppc-opc.c:1091 ppc-opc.c:1126 +#: ppc-opc.c:1105 ppc-opc.c:1140 msgid "illegal bitmask" msgstr "" -#: ppc-opc.c:1191 +#: ppc-opc.c:1205 msgid "value out of range" msgstr "" -#: ppc-opc.c:1259 +#: ppc-opc.c:1273 msgid "index register in load range" msgstr "" -#: ppc-opc.c:1275 +#: ppc-opc.c:1289 msgid "source and target register operands must be different" msgstr "" -#: ppc-opc.c:1290 +#: ppc-opc.c:1304 msgid "invalid register operand when updating" msgstr "" -#: ppc-opc.c:1329 +#: ppc-opc.c:1343 msgid "target register operand must be even" msgstr "" -#: ppc-opc.c:1343 +#: ppc-opc.c:1357 msgid "source register operand must be even" msgstr "" -- cgit v1.2.1