diff options
| author | Xavi Del Campo <xavi.dcr@tutanota.com> | 2019-11-05 17:56:35 +0100 |
|---|---|---|
| committer | Xavi Del Campo <xavi.dcr@tutanota.com> | 2019-11-05 17:56:35 +0100 |
| commit | e524f157266c07a7a4cf3b766edd6ff9db98e4f4 (patch) | |
| tree | 3dcbf507b5ec87d297f833df79cb532c3844032f /support/sdbinutils/bfd | |
| parent | 1dcefbf527e52315abfe3b4871272b3fd9bb0f4b (diff) | |
| download | sdcc-gas-e524f157266c07a7a4cf3b766edd6ff9db98e4f4.tar.gz | |
Removed intermediate files
Diffstat (limited to 'support/sdbinutils/bfd')
| -rw-r--r-- | support/sdbinutils/bfd/Makefile | 2241 | ||||
| -rw-r--r-- | support/sdbinutils/bfd/bfd-in3.h | 7830 | ||||
| -rw-r--r-- | support/sdbinutils/bfd/bfd_stdint.h | 47 | ||||
| -rw-r--r-- | support/sdbinutils/bfd/bfdver.h | 22 | ||||
| -rw-r--r-- | support/sdbinutils/bfd/config.h | 401 | ||||
| -rw-r--r-- | support/sdbinutils/bfd/doc/Makefile | 1066 | ||||
| -rw-r--r-- | support/sdbinutils/bfd/elf32-target.h | 1110 | ||||
| -rw-r--r-- | support/sdbinutils/bfd/elf64-target.h | 1110 | ||||
| -rwxr-xr-x | support/sdbinutils/bfd/libtool | 9129 | ||||
| -rw-r--r-- | support/sdbinutils/bfd/libtool-soversion | 1 | ||||
| -rw-r--r-- | support/sdbinutils/bfd/po/BLD-POTFILES | 14 | ||||
| -rw-r--r-- | support/sdbinutils/bfd/po/Makefile | 709 | ||||
| -rw-r--r-- | support/sdbinutils/bfd/po/Makefile.in | 298 | ||||
| -rw-r--r-- | support/sdbinutils/bfd/po/SRC-POTFILES | 397 | ||||
| -rw-r--r-- | support/sdbinutils/bfd/stamp-h1 | 1 | ||||
| -rw-r--r-- | support/sdbinutils/bfd/targmatch.h | 2940 |
16 files changed, 0 insertions, 27316 deletions
diff --git a/support/sdbinutils/bfd/Makefile b/support/sdbinutils/bfd/Makefile deleted file mode 100644 index bc19a8b..0000000 --- a/support/sdbinutils/bfd/Makefile +++ /dev/null @@ -1,2241 +0,0 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. -# Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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. - -# 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. - - - -# -# Copyright (C) 2012-2018 Free Software Foundation, Inc. -# -# This file 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 3 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; see the file COPYING3. If not see -# <http://www.gnu.org/licenses/>. -# - - - - -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } -pkgdatadir = $(datadir)/bfd -pkgincludedir = $(includedir)/bfd -pkglibdir = $(libdir)/bfd -pkglibexecdir = $(libexecdir)/bfd -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -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 = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -target_triplet = asxxxx-unknown-unknown -am__append_1 = -rpath $(rpath_bfdlibdir) -am__append_2 = $(INCDIR)/plugin-api.h -subdir = . -DIST_COMMON = 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)/../depcomp \ - $(am__bfdinclude_HEADERS_DIST) -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \ - $(top_srcdir)/../config/depstand.m4 \ - $(top_srcdir)/../config/gettext-sister.m4 \ - $(top_srcdir)/../config/largefile.m4 \ - $(top_srcdir)/../config/lead-dot.m4 \ - $(top_srcdir)/../config/nls.m4 \ - $(top_srcdir)/../config/override.m4 \ - $(top_srcdir)/../config/plugins.m4 \ - $(top_srcdir)/../config/po.m4 \ - $(top_srcdir)/../config/progtest.m4 \ - $(top_srcdir)/../config/stdint.m4 \ - $(top_srcdir)/../config/zlib.m4 $(top_srcdir)/../libtool.m4 \ - $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ - $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ - $(top_srcdir)/bfd.m4 $(top_srcdir)/warning.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/version.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = bfd-in3.h po/Makefile.in -CONFIG_CLEAN_VPATH_FILES = -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 = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(bfdlibdir)" \ - "$(DESTDIR)$(bfdincludedir)" -LTLIBRARIES = $(bfdlib_LTLIBRARIES) $(noinst_LTLIBRARIES) -am__DEPENDENCIES_1 = -am__objects_1 = archive.lo archures.lo bfd.lo bfdio.lo bfdwin.lo \ - cache.lo coff-bfd.lo compress.lo corefile.lo format.lo hash.lo \ - init.lo libbfd.lo linker.lo merge.lo opncls.lo reloc.lo \ - section.lo simple.lo stab-syms.lo stabs.lo syms.lo targets.lo \ - binary.lo ihex.lo srec.lo tekhex.lo verilog.lo -am_libbfd_la_OBJECTS = $(am__objects_1) -libbfd_la_OBJECTS = $(am_libbfd_la_OBJECTS) -libbfd_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libbfd_la_LDFLAGS) $(LDFLAGS) -o $@ -am_libbfd_la_rpath = -#am_libbfd_la_rpath = -rpath $(bfdlibdir) -DEFAULT_INCLUDES = -I. -depcomp = $(SHELL) $(top_srcdir)/../depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -SOURCES = $(libbfd_a_SOURCES) $(libbfd_la_SOURCES) \ - $(EXTRA_libbfd_la_SOURCES) -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-dvi-recursive install-exec-recursive \ - install-html-recursive install-info-recursive \ - install-pdf-recursive install-ps-recursive install-recursive \ - installcheck-recursive installdirs-recursive pdf-recursive \ - ps-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__bfdinclude_HEADERS_DIST = $(INCDIR)/plugin-api.h bfd.h \ - $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h $(INCDIR)/bfdlink.h -HEADERS = $(bfdinclude_HEADERS) -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -ACLOCAL = ${SHELL} /home/xavier/sdcc_gas/support/sdbinutils/missing --run aclocal-1.11 -AMTAR = $${TAR-tar} -AR = ar -AUTOCONF = ${SHELL} /home/xavier/sdcc_gas/support/sdbinutils/missing --run autoconf -AUTOHEADER = ${SHELL} /home/xavier/sdcc_gas/support/sdbinutils/missing --run autoheader -AUTOMAKE = ${SHELL} /home/xavier/sdcc_gas/support/sdbinutils/missing --run automake-1.11 -AWK = gawk -BFD_HOSTPTR_T = unsigned long -BFD_HOST_64BIT_LONG = 1 -BFD_HOST_64BIT_LONG_LONG = 0 -BFD_HOST_64_BIT = long -BFD_HOST_64_BIT_DEFINED = 1 -BFD_HOST_U_64_BIT = unsigned long -CATALOGS = -CATOBJEXT = -CC = gcc -CCDEPMODE = depmode=gcc3 -CC_FOR_BUILD = gcc -CFLAGS = -g -O2 -COREFILE = -COREFLAG = -CPP = gcc -E -CPPFLAGS = -CYGPATH_W = echo -DATADIRNAME = -DEBUGDIR = ${exec_prefix}/lib/debug -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -EXEEXT_FOR_BUILD = $(EXEEXT) -FGREP = /bin/grep -F -GENCAT = -GMSGFMT = /usr/bin/msgfmt -GREP = /bin/grep -HDEFINES = -INCINTL = -INSTALL = /usr/bin/install -c -INSTALL_DATA = /usr/bin/install -c -m 644 -INSTALL_PROGRAM = /usr/bin/install -c -INSTALL_SCRIPT = /usr/bin/install -c -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -INSTOBJEXT = -LD = ld -m elf_x86_64 -LDFLAGS = -static-libstdc++ -static-libgcc -LIBINTL = -LIBINTL_DEP = -LIBM = -lm -LIBOBJS = -LIBS = -ldl -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -MAINT = # -MAKEINFO = makeinfo --split-size=5000000 -MKDIR_P = /bin/mkdir -p -MKINSTALLDIRS = $(top_builddir)/./../mkinstalldirs -MSGFMT = /usr/bin/msgfmt -MSGMERGE = /usr/bin/msgmerge -NM = nm -NMEDIT = -NO_WERROR = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = bfd -PACKAGE_BUGREPORT = -PACKAGE_NAME = bfd -PACKAGE_STRING = bfd 2.30 -PACKAGE_TARNAME = bfd -PACKAGE_URL = -PACKAGE_VERSION = 2.30 -PATH_SEPARATOR = : -PKGVERSION = (sdbinutils derived from GNU Binutils) -POSUB = -RANLIB = ranlib -REPORT_BUGS_TEXI = @uref{https://sourceforge.net/p/sdcc/bugs/} -REPORT_BUGS_TO = <https://sourceforge.net/p/sdcc/bugs/> -SED = /bin/sed -SET_MAKE = -SHARED_LDFLAGS = -SHARED_LIBADD = -SHELL = /bin/bash -STRIP = strip -TDEFINES = -USE_NLS = yes -VERSION = 2.30 -WARN_CFLAGS = -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wstack-usage=262144 -WARN_CFLAGS_FOR_BUILD = -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wstack-usage=262144 -WARN_WRITE_STRINGS = -Wwrite-strings -XGETTEXT = /usr/bin/xgettext -abs_builddir = /home/xavier/sdcc_gas/support/sdbinutils/bfd -abs_srcdir = /home/xavier/sdcc_gas/support/sdbinutils/bfd -abs_top_builddir = /home/xavier/sdcc_gas/support/sdbinutils/bfd -abs_top_srcdir = /home/xavier/sdcc_gas/support/sdbinutils/bfd -ac_ct_CC = -ac_ct_DUMPBIN = -all_backends = $(BFD32_BACKENDS) -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bfd64_libs = -bfd_backends = asxxxx.lo plugin.lo -bfd_default_target_size = 32 -bfd_file_ptr = BFD_HOST_64_BIT -bfd_machines = cpu-z80.lo cpu-plugin.lo -bfd_ufile_ptr = BFD_HOST_U_64_BIT -bfdincludedir = -#bfdincludedir = $(exec_prefix)/$(host_noncanonical)/$(target_noncanonical)/include -# Empty these so that the respective installation directories will not be created. -bfdlibdir = -#bfdlibdir = $(exec_prefix)/$(host_noncanonical)/$(target_noncanonical)/lib -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = x86_64-pc-linux-gnu -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -havevecs = -DHAVE_asxxxx_vec -DHAVE_plugin_vec -host = x86_64-pc-linux-gnu -host_alias = x86_64-pc-linux-gnu -host_cpu = x86_64 -host_noncanonical = x86_64-pc-linux-gnu -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/xavier/sdcc_gas/support/sdbinutils/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -lt_cv_dlopen_libs = -ldl -mandir = ${datarootdir}/man -mkdir_p = /bin/mkdir -p -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,y,y, -psdir = ${docdir} -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -supports_plugins = 1 -sysconfdir = ${prefix}/etc -target = asxxxx-unknown-unknown -target_alias = x86_64-pc-linux-gnu -target_cpu = x86_64 -target_noncanonical = x86_64-pc-linux-gnu -target_os = linux-gnu -target_vendor = pc -tdefaults = -DDEFAULT_VECTOR=asxxxx_vec -DSELECT_VECS='&asxxxx_vec,&plugin_vec' -DSELECT_ARCHITECTURES='&bfd_z80_arch,&bfd_plugin_arch' -top_build_prefix = -top_builddir = . -top_srcdir = . -wordsize = 32 -zlibdir = -zlibinc = -AUTOMAKE_OPTIONS = 1.11 no-dist foreign -ACLOCAL_AMFLAGS = -I . -I .. -I ../config -INCDIR = $(srcdir)/../include -CSEARCH = -I. -I$(srcdir) -I$(INCDIR) -SUBDIRS = doc po -bfddocdir = doc -libbfd_la_LDFLAGS = $(am__append_1) -release `cat libtool-soversion` \ - $(am__empty) -#bfdlib_LTLIBRARIES = libbfd.la -bfdinclude_HEADERS = $(am__append_2) -#bfdinclude_HEADERS = $(BFD_H) \ -# $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h \ -# $(INCDIR)/bfdlink.h $(am__append_2) -rpath_bfdlibdir = $(exec_prefix)/$(host_noncanonical)/$(target_noncanonical)/lib -noinst_LTLIBRARIES = libbfd.la - -# This is where we get zlib from. zlibdir is -L../zlib and zlibinc is -# -I../zlib, unless we were configured with --with-system-zlib, in which -# case both are empty. -ZLIB = -lz -ZLIBINC = -AM_CFLAGS = $(WARN_CFLAGS) $(ZLIBINC) -AM_CPPFLAGS = -DBINDIR='"$(bindir)"' -LIBDL = -ldl - -# bfd.h goes here, for now -BFD_H = bfd.h - -# Jim Kingdon notes: -# Writing S-records should be included in all (or at least most) -# *-*-coff, *-*-aout, etc., configurations, because people will want to -# be able to use objcopy to create S-records. (S-records are not useful -# 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 coff-bfd.lo compress.lo corefile.lo format.lo hash.lo \ - init.lo libbfd.lo linker.lo merge.lo opncls.lo reloc.lo \ - section.lo simple.lo stab-syms.lo stabs.lo syms.lo targets.lo \ - binary.lo ihex.lo srec.lo tekhex.lo verilog.lo - -BFD64_LIBS = archive64.lo -BFD32_LIBS_CFILES = \ - archive.c archures.c bfd.c bfdio.c bfdwin.c \ - cache.c coff-bfd.c compress.c corefile.c format.c hash.c \ - init.c libbfd.c linker.c merge.c opncls.c reloc.c \ - section.c simple.c stab-syms.c stabs.c syms.c targets.c \ - binary.c ihex.c srec.c tekhex.c verilog.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-aarch64.lo \ - cpu-alpha.lo \ - cpu-arc.lo \ - cpu-arm.lo \ - cpu-avr.lo \ - cpu-bfin.lo \ - cpu-cr16.lo \ - cpu-cr16c.lo \ - cpu-cris.lo \ - cpu-crx.lo \ - cpu-d10v.lo \ - cpu-d30v.lo \ - cpu-dlx.lo \ - cpu-epiphany.lo \ - cpu-fr30.lo \ - cpu-frv.lo \ - cpu-ft32.lo \ - cpu-h8300.lo \ - cpu-h8500.lo \ - cpu-hppa.lo \ - cpu-i370.lo \ - cpu-i386.lo \ - cpu-iamcu.lo \ - cpu-l1om.lo \ - cpu-k1om.lo \ - cpu-i860.lo \ - cpu-i960.lo \ - cpu-ia64.lo \ - cpu-ip2k.lo \ - cpu-iq2000.lo \ - cpu-lm32.lo \ - cpu-m10200.lo \ - cpu-m10300.lo \ - cpu-m32c.lo \ - cpu-m32r.lo \ - cpu-m68hc11.lo \ - cpu-m68hc12.lo \ - cpu-m9s12x.lo \ - cpu-m9s12xg.lo \ - cpu-m68k.lo \ - cpu-m88k.lo \ - cpu-mcore.lo \ - cpu-mep.lo \ - cpu-metag.lo \ - cpu-microblaze.lo \ - cpu-mips.lo \ - cpu-mmix.lo \ - cpu-moxie.lo \ - cpu-msp430.lo \ - cpu-mt.lo \ - cpu-nds32.lo \ - cpu-nios2.lo \ - cpu-ns32k.lo \ - cpu-or1k.lo \ - cpu-pdp11.lo \ - cpu-pj.lo \ - cpu-plugin.lo \ - cpu-powerpc.lo \ - cpu-pru.lo \ - cpu-rs6000.lo \ - cpu-riscv.lo \ - cpu-rl78.lo \ - cpu-rx.lo \ - cpu-s390.lo \ - cpu-score.lo \ - cpu-sh.lo \ - cpu-sparc.lo \ - cpu-spu.lo \ - cpu-tic30.lo \ - cpu-tic4x.lo \ - cpu-tic54x.lo \ - cpu-tic6x.lo \ - cpu-tic80.lo \ - cpu-tilegx.lo \ - cpu-tilepro.lo \ - cpu-v850.lo \ - cpu-v850_rh850.lo \ - cpu-vax.lo \ - cpu-visium.lo \ - cpu-w65.lo \ - cpu-wasm32.lo \ - cpu-we32k.lo \ - cpu-xc16x.lo \ - cpu-xgate.lo \ - cpu-xstormy16.lo \ - cpu-xtensa.lo \ - cpu-z80.lo \ - cpu-z8k.lo - -ALL_MACHINES_CFILES = \ - cpu-aarch64.c \ - cpu-alpha.c \ - cpu-arc.c \ - cpu-arm.c \ - cpu-avr.c \ - cpu-bfin.c \ - cpu-cr16.c \ - cpu-cr16c.c \ - cpu-cris.c \ - cpu-crx.c \ - cpu-d10v.c \ - cpu-d30v.c \ - cpu-dlx.c \ - cpu-epiphany.c \ - cpu-fr30.c \ - cpu-frv.c \ - cpu-ft32.c \ - cpu-h8300.c \ - cpu-h8500.c \ - cpu-hppa.c \ - cpu-i370.c \ - cpu-i386.c \ - cpu-iamcu.c \ - cpu-l1om.c \ - cpu-k1om.c \ - cpu-i860.c \ - cpu-i960.c \ - cpu-ia64.c \ - cpu-ip2k.c \ - cpu-iq2000.c \ - cpu-lm32.c \ - cpu-m10200.c \ - cpu-m10300.c \ - cpu-m32c.c \ - cpu-m32r.c \ - cpu-m68hc11.c \ - cpu-m68hc12.c \ - cpu-m9s12x.c \ - cpu-m9s12xg.c \ - cpu-m68k.c \ - cpu-m88k.c \ - cpu-mcore.c \ - cpu-mep.c \ - cpu-metag.c \ - cpu-microblaze.c \ - cpu-mips.c \ - cpu-mmix.c \ - cpu-moxie.c \ - cpu-msp430.c \ - cpu-mt.c \ - cpu-nds32.c \ - cpu-ns32k.c \ - cpu-nios2.c \ - cpu-or1k.c \ - cpu-pdp11.c \ - cpu-pj.c \ - cpu-plugin.c \ - cpu-powerpc.c \ - cpu-pru.c \ - cpu-rs6000.c \ - cpu-riscv.c \ - cpu-rl78.c \ - cpu-rx.c \ - cpu-s390.c \ - cpu-score.c \ - cpu-sh.c \ - cpu-sparc.c \ - cpu-spu.c \ - cpu-tic30.c \ - cpu-tic4x.c \ - cpu-tic54x.c \ - cpu-tic6x.c \ - cpu-tic80.c \ - cpu-tilegx.c \ - cpu-tilepro.c \ - cpu-v850.c \ - cpu-v850_rh850.c \ - cpu-vax.c \ - cpu-visium.c \ - cpu-wasm32.c \ - cpu-w65.c \ - cpu-we32k.c \ - cpu-xc16x.c \ - cpu-xgate.c \ - cpu-xstormy16.c \ - cpu-xtensa.c \ - cpu-z80.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-sparclynx.lo \ - coff-apollo.lo \ - coff-arm.lo \ - coff-aux.lo \ - coff-go32.lo \ - coff-h8300.lo \ - coff-h8500.lo \ - coff-i386.lo \ - coff-i860.lo \ - coff-i960.lo \ - coff-m68k.lo \ - coff-m88k.lo \ - coff-mips.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-w65.lo \ - coff-we32k.lo \ - coff-z80.lo \ - coff-z8k.lo \ - coffgen.lo \ - cofflink.lo \ - dwarf1.lo \ - dwarf2.lo \ - ecoff.lo \ - ecofflink.lo \ - elf-attrs.lo \ - elf-eh-frame.lo \ - elf-ifunc.lo \ - elf-m10200.lo \ - elf-m10300.lo \ - elf-nacl.lo \ - elf-properties.lo \ - elf-strtab.lo \ - elf-vxworks.lo \ - elf.lo \ - elf32-am33lin.lo \ - elf32-arc.lo \ - elf32-arm.lo \ - elf32-avr.lo \ - elf32-bfin.lo \ - elf32-cr16.lo \ - elf32-cr16c.lo \ - elf32-cris.lo \ - elf32-crx.lo \ - elf32-d10v.lo \ - elf32-d30v.lo \ - elf32-dlx.lo \ - elf32-epiphany.lo \ - elf32-fr30.lo \ - elf32-frv.lo \ - elf32-ft32.lo \ - elf32-gen.lo \ - elf32-h8300.lo \ - elf32-hppa.lo \ - elf32-i370.lo \ - elf32-i386.lo \ - elfxx-x86.lo \ - elf32-i860.lo \ - elf32-i960.lo \ - elf32-ip2k.lo \ - elf32-iq2000.lo \ - elf32-lm32.lo \ - elf32-m32c.lo \ - elf32-m32r.lo \ - elf32-m68hc11.lo \ - elf32-m68hc12.lo \ - elf32-m68hc1x.lo \ - elf32-m68k.lo \ - elf32-m88k.lo \ - elf32-mcore.lo \ - elf32-mep.lo \ - elf32-metag.lo \ - elf32-microblaze.lo \ - elf32-moxie.lo \ - elf32-msp430.lo \ - elf32-mt.lo \ - elf32-nds32.lo \ - elf32-nios2.lo \ - elf32-or1k.lo \ - elf32-pj.lo \ - elf32-ppc.lo \ - elf32-pru.lo \ - elf32-rl78.lo \ - elf32-rx.lo \ - elf32-s390.lo \ - elf32-sh-symbian.lo \ - elf32-sh.lo \ - elf32-sh64-com.lo \ - elf32-sh64.lo \ - elf32-sparc.lo \ - elf32-spu.lo \ - elf32-tic6x.lo \ - elf32-tilegx.lo \ - elf32-tilepro.lo \ - elf32-v850.lo \ - elf32-vax.lo \ - elf32-visium.lo \ - elf32-wasm32.lo \ - elf32-xc16x.lo \ - elf32-xgate.lo \ - elf32-xstormy16.lo \ - elf32-xtensa.lo \ - elf32.lo \ - elflink.lo \ - elfxx-sparc.lo \ - elfxx-tilegx.lo \ - epoc-pe-arm.lo \ - epoc-pei-arm.lo \ - hp300bsd.lo \ - hp300hpux.lo \ - i386aout.lo \ - i386bsd.lo \ - i386dynix.lo \ - i386freebsd.lo \ - i386linux.lo \ - i386lynx.lo \ - i386mach3.lo \ - i386msdos.lo \ - i386netbsd.lo \ - i386os9k.lo \ - ieee.lo \ - m68k4knetbsd.lo \ - m68klinux.lo \ - m68knetbsd.lo \ - m88kmach3.lo \ - m88kopenbsd.lo \ - mach-o.lo \ - mach-o-i386.lo \ - mach-o-arm.lo \ - mipsbsd.lo \ - newsos3.lo \ - nlm.lo \ - nlm32-i386.lo \ - nlm32-ppc.lo \ - nlm32-sparc.lo \ - nlm32.lo \ - ns32knetbsd.lo \ - oasys.lo \ - pc532-mach.lo \ - pdp11.lo \ - pe-arm-wince.lo \ - pe-arm.lo \ - pe-i386.lo \ - pe-mcore.lo \ - pe-mips.lo \ - pe-ppc.lo \ - pe-sh.lo \ - pef.lo \ - pei-arm-wince.lo \ - pei-arm.lo \ - pei-i386.lo \ - pei-mcore.lo \ - pei-mips.lo \ - pei-ppc.lo \ - pei-sh.lo \ - peigen.lo \ - plugin.lo \ - ppcboot.lo \ - reloc16.lo \ - riscix.lo \ - som.lo \ - sparclinux.lo \ - sparclynx.lo \ - sparcnetbsd.lo \ - sunos.lo \ - vax1knetbsd.lo \ - vaxbsd.lo \ - vaxnetbsd.lo \ - versados.lo \ - vms-lib.lo \ - vms-misc.lo \ - wasm-module.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-sparclynx.c \ - coff-apollo.c \ - coff-arm.c \ - coff-aux.c \ - coff-go32.c \ - coff-h8300.c \ - coff-h8500.c \ - coff-i386.c \ - coff-i860.c \ - coff-i960.c \ - coff-m68k.c \ - coff-m88k.c \ - coff-mips.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-w65.c \ - coff-we32k.c \ - coff-z80.c \ - coff-z8k.c \ - coffgen.c \ - cofflink.c \ - dwarf1.c \ - dwarf2.c \ - ecoff.c \ - ecofflink.c \ - elf-attrs.c \ - elf-eh-frame.c \ - elf-ifunc.c \ - elf-m10200.c \ - elf-m10300.c \ - elf-nacl.c \ - elf-properties.c \ - elf-strtab.c \ - elf-vxworks.c \ - elf.c \ - elf32-am33lin.c \ - elf32-arc.c \ - elf32-arm.c \ - elf32-avr.c \ - elf32-bfin.c \ - elf32-cr16.c \ - elf32-cr16c.c \ - elf32-cris.c \ - elf32-crx.c \ - elf32-d10v.c \ - elf32-d30v.c \ - elf32-dlx.c \ - elf32-epiphany.c \ - elf32-fr30.c \ - elf32-frv.c \ - elf32-ft32.c \ - elf32-gen.c \ - elf32-h8300.c \ - elf32-hppa.c \ - elf32-i370.c \ - elf32-i386.c \ - elfxx-x86.c \ - elf32-i860.c \ - elf32-i960.c \ - elf32-ip2k.c \ - elf32-iq2000.c \ - elf32-lm32.c \ - elf32-m32c.c \ - elf32-m32r.c \ - elf32-m68hc11.c \ - elf32-m68hc12.c \ - elf32-m68hc1x.c \ - elf32-m68k.c \ - elf32-m88k.c \ - elf32-mcore.c \ - elf32-mep.c \ - elf32-metag.c \ - elf32-microblaze.c \ - elf32-moxie.c \ - elf32-msp430.c \ - elf32-mt.c \ - elf32-nds32.c \ - elf32-nios2.c \ - elf32-or1k.c \ - elf32-pj.c \ - elf32-ppc.c \ - elf32-pru.c \ - elf32-rl78.c \ - elf32-rx.c \ - elf32-s390.c \ - elf32-sh-symbian.c \ - elf32-sh.c \ - elf32-sh64-com.c \ - elf32-sh64.c \ - elf32-sparc.c \ - elf32-spu.c \ - elf32-tic6x.c \ - elf32-tilegx.c \ - elf32-tilepro.c \ - elf32-v850.c \ - elf32-vax.c \ - elf32-visium.c \ - elf32-wasm32.c \ - elf32-xc16x.c \ - elf32-xgate.c \ - elf32-xstormy16.c \ - elf32-xtensa.c \ - elf32.c \ - elflink.c \ - elfxx-sparc.c \ - elfxx-tilegx.c \ - epoc-pe-arm.c \ - epoc-pei-arm.c \ - hp300bsd.c \ - hp300hpux.c \ - i386aout.c \ - i386bsd.c \ - i386dynix.c \ - i386freebsd.c \ - i386linux.c \ - i386lynx.c \ - i386mach3.c \ - i386msdos.c \ - i386netbsd.c \ - i386os9k.c \ - ieee.c \ - m68k4knetbsd.c \ - m68klinux.c \ - m68knetbsd.c \ - m88kmach3.c \ - m88kopenbsd.c \ - mach-o.c \ - mach-o-i386.c \ - mach-o-arm.c \ - mipsbsd.c \ - newsos3.c \ - nlm.c \ - nlm32-i386.c \ - nlm32-ppc.c \ - nlm32-sparc.c \ - nlm32.c \ - ns32knetbsd.c \ - oasys.c \ - pc532-mach.c \ - pdp11.c \ - pe-arm-wince.c \ - pe-arm.c \ - pe-i386.c \ - pe-mcore.c \ - pe-mips.c \ - pe-ppc.c \ - pe-sh.c \ - pef.c \ - pei-arm-wince.c \ - pei-arm.c \ - pei-i386.c \ - pei-mcore.c \ - pei-mips.c \ - pei-ppc.c \ - pei-sh.c \ - plugin.c \ - ppcboot.c \ - reloc16.c \ - riscix.c \ - som.c \ - sparclinux.c \ - sparclynx.c \ - sparcnetbsd.c \ - sunos.c \ - vax1knetbsd.c \ - vaxbsd.c \ - vaxnetbsd.c \ - versados.c \ - vms-lib.c \ - vms-misc.c \ - wasm-module.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. -# elf32-ia64.c requires a 64-bit bfd_vma, and hence can not be put in -# BFD32_BACKENDS. -BFD64_BACKENDS = \ - elf32-aarch64.lo \ - elf64-aarch64.lo \ - elfxx-aarch64.lo \ - aix5ppc-core.lo \ - aout64.lo \ - coff-alpha.lo \ - coff-x86_64.lo \ - coff64-rs6000.lo \ - demo64.lo \ - elf32-ia64.lo \ - elf32-mips.lo \ - elf32-score.lo \ - elf32-score7.lo \ - elf64-alpha.lo \ - elf64-gen.lo \ - elf64-hppa.lo \ - elf64-ia64.lo \ - elf64-ia64-vms.lo \ - elfxx-ia64.lo \ - elfn32-mips.lo \ - elf64-mips.lo \ - elfxx-mips.lo \ - elf64-mmix.lo \ - elf64-ppc.lo \ - elf32-riscv.lo \ - elf64-riscv.lo \ - elfxx-riscv.lo \ - elf64-s390.lo \ - elf64-sh64.lo \ - elf64-sparc.lo \ - elf64-tilegx.lo \ - elf64-x86-64.lo \ - elfxx-x86.lo \ - elf64.lo \ - mach-o-aarch64.lo \ - mach-o-x86-64.lo \ - mmo.lo \ - nlm32-alpha.lo \ - nlm64.lo \ - pe-x86_64.lo \ - pei-ia64.lo \ - pei-x86_64.lo \ - pepigen.lo \ - pex64igen.lo \ - vms-alpha.lo - -BFD64_BACKENDS_CFILES = \ - aix5ppc-core.c \ - aout64.c \ - coff-alpha.c \ - coff-x86_64.c \ - coff64-rs6000.c \ - demo64.c \ - elf32-mips.c \ - elf32-score.c \ - elf32-score7.c \ - elf64-alpha.c \ - elf64-gen.c \ - elf64-hppa.c \ - elf64-ia64-vms.c \ - elf64-mips.c \ - elf64-mmix.c \ - elf64-ppc.c \ - elf64-s390.c \ - elf64-sh64.c \ - elf64-sparc.c \ - elf64-tilegx.c \ - elf64-x86-64.c \ - elfxx-x86.c \ - elf64.c \ - elfn32-mips.c \ - elfxx-aarch64.c \ - elfxx-ia64.c \ - elfxx-mips.c \ - elfxx-riscv.c \ - mach-o-aarch64.c \ - mach-o-x86-64.c \ - mmo.c \ - nlm32-alpha.c \ - nlm64.c \ - pe-x86_64.c \ - pei-ia64.c \ - pei-x86_64.c \ - vms-alpha.c - -OPTIONAL_BACKENDS = \ - aix386-core.lo \ - cisco-core.lo \ - hpux-core.lo \ - irix-core.lo \ - lynx-core.lo \ - netbsd-core.lo \ - osf-core.lo \ - rs6000-core.lo \ - sco5-core.lo \ - trad-core.lo - -OPTIONAL_BACKENDS_CFILES = \ - aix386-core.c \ - cisco-core.c \ - hpux-core.c \ - irix-core.c \ - lynx-core.c \ - netbsd-core.c \ - osf-core.c \ - rs6000-core.c \ - sco5-core.c \ - trad-core.c - - -# Reconfigure if config.bfd or configure.host changes. -# development.sh is used to determine -Werror default. -CONFIG_STATUS_DEPENDENCIES = \ - $(srcdir)/config.bfd \ - $(srcdir)/configure.host \ - $(srcdir)/development.sh - - -# These are defined by configure: -WORDSIZE = 32 -ALL_BACKENDS = $(BFD32_BACKENDS) -BFD_BACKENDS = asxxxx.lo plugin.lo -BFD_MACHINES = cpu-z80.lo cpu-plugin.lo -TDEFAULTS = -DDEFAULT_VECTOR=asxxxx_vec -DSELECT_VECS='&asxxxx_vec,&plugin_vec' -DSELECT_ARCHITECTURES='&bfd_z80_arch,&bfd_plugin_arch' -HAVEVECS = -DHAVE_asxxxx_vec -DHAVE_plugin_vec -INCLUDES = $(CSEARCH) $(CSWITCHES) \ - $(HAVEVECS) - - -# 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-aarch64.c elf64-aarch64.c \ - elf32-ia64.c elf64-ia64.c \ - elf32-riscv.c elf64-riscv.c \ - peigen.c pepigen.c pex64igen.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 elf-linux-core.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 xsym.h - -BUILD_HFILES = \ - bfdver.h elf32-target.h elf64-target.h targmatch.h bfd_stdint.h - - -# Ensure they are built early: -BUILT_SOURCES = $(BUILD_HFILES) -HFILES = $(SOURCE_HFILES) $(BUILD_HFILES) -SRC_POTFILES = $(SOURCE_CFILES) $(SOURCE_HFILES) -BLD_POTFILES = $(BUILD_CFILES) $(BUILD_HFILES) - -# Various kinds of .o files to put in libbfd.a: -# BFD_BACKENDS Routines the configured targets need. -# BFD_MACHINES Architecture-specific routines the configured targets need. -# COREFILE Core file routines for a native configuration -# bfd64_libs Routines for 64bit support -OFILES = $(BFD_BACKENDS) $(BFD_MACHINES) - -# Since BFD64_LIBS is optional and we can't have substitution in -# libbfd_la_SOURCES, we put BFD64_LIBS in OFILES instead. -# However, list all sources in EXTRA_libbfd_la_SOURCES so the -# dependency tracking fragments are picked up in the Makefile. -libbfd_la_SOURCES = $(BFD32_LIBS_CFILES) -EXTRA_libbfd_la_SOURCES = $(CFILES) -libbfd_la_DEPENDENCIES = $(OFILES) ofiles -libbfd_la_LIBADD = `cat ofiles` $(LIBDL) $(ZLIB) - -# libtool will build .libs/libbfd.a. We create libbfd.a in the build -# 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 \ - bfdio.c bfdwin.c section.c archures.c reloc.c \ - syms.c bfd.c archive.c corefile.c targets.c format.c \ - linker.c simple.c compress.c - -BFD64_H_FILES = archive64.c -LIBBFD_H_FILES = libbfd-in.h libbfd.c bfdio.c bfdwin.c \ - cache.c reloc.c archures.c linker.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 - -DISTCLEANFILES = $(BUILD_CFILES) $(BUILD_HFILES) libtool-soversion -all: $(BUILT_SOURCES) config.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -am--refresh: Makefile - @: -$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign 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 - -$(top_srcdir)/configure: # $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): # $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): - -config.h: stamp-h1 - @if test ! -f $@; then rm -f stamp-h1; else :; fi - @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi - -stamp-h1: $(srcdir)/config.in $(top_builddir)/config.status - @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status config.h -$(srcdir)/config.in: # $(am__configure_deps) - ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) - rm -f stamp-h1 - touch $@ - -distclean-hdr: - -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) -install-bfdlibLTLIBRARIES: $(bfdlib_LTLIBRARIES) - @$(NORMAL_INSTALL) - @list='$(bfdlib_LTLIBRARIES)'; test -n "$(bfdlibdir)" || list=; \ - list2=; for p in $$list; do \ - if test -f $$p; then \ - list2="$$list2 $$p"; \ - else :; fi; \ - done; \ - test -z "$$list2" || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(bfdlibdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bfdlibdir)" || exit 1; \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(bfdlibdir)'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(bfdlibdir)"; \ - } - -uninstall-bfdlibLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(bfdlib_LTLIBRARIES)'; test -n "$(bfdlibdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(bfdlibdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(bfdlibdir)/$$f"; \ - done - -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 - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_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) $(EXTRA_libbfd_la_DEPENDENCIES) - $(libbfd_la_LINK) $(am_libbfd_la_rpath) $(libbfd_la_OBJECTS) $(libbfd_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -include ./$(DEPDIR)/aix386-core.Plo -include ./$(DEPDIR)/aix5ppc-core.Plo -include ./$(DEPDIR)/aout-adobe.Plo -include ./$(DEPDIR)/aout-arm.Plo -include ./$(DEPDIR)/aout-cris.Plo -include ./$(DEPDIR)/aout-ns32k.Plo -include ./$(DEPDIR)/aout-sparcle.Plo -include ./$(DEPDIR)/aout-tic30.Plo -include ./$(DEPDIR)/aout0.Plo -include ./$(DEPDIR)/aout32.Plo -include ./$(DEPDIR)/aout64.Plo -include ./$(DEPDIR)/archive.Plo -include ./$(DEPDIR)/archive64.Plo -include ./$(DEPDIR)/archures.Plo -include ./$(DEPDIR)/armnetbsd.Plo -include ./$(DEPDIR)/bfd.Plo -include ./$(DEPDIR)/bfdio.Plo -include ./$(DEPDIR)/bfdwin.Plo -include ./$(DEPDIR)/binary.Plo -include ./$(DEPDIR)/bout.Plo -include ./$(DEPDIR)/cache.Plo -include ./$(DEPDIR)/cf-i386lynx.Plo -include ./$(DEPDIR)/cf-sparclynx.Plo -include ./$(DEPDIR)/cisco-core.Plo -include ./$(DEPDIR)/coff-alpha.Plo -include ./$(DEPDIR)/coff-apollo.Plo -include ./$(DEPDIR)/coff-arm.Plo -include ./$(DEPDIR)/coff-aux.Plo -include ./$(DEPDIR)/coff-bfd.Plo -include ./$(DEPDIR)/coff-go32.Plo -include ./$(DEPDIR)/coff-h8300.Plo -include ./$(DEPDIR)/coff-h8500.Plo -include ./$(DEPDIR)/coff-i386.Plo -include ./$(DEPDIR)/coff-i860.Plo -include ./$(DEPDIR)/coff-i960.Plo -include ./$(DEPDIR)/coff-m68k.Plo -include ./$(DEPDIR)/coff-m88k.Plo -include ./$(DEPDIR)/coff-mips.Plo -include ./$(DEPDIR)/coff-rs6000.Plo -include ./$(DEPDIR)/coff-sh.Plo -include ./$(DEPDIR)/coff-sparc.Plo -include ./$(DEPDIR)/coff-stgo32.Plo -include ./$(DEPDIR)/coff-svm68k.Plo -include ./$(DEPDIR)/coff-tic30.Plo -include ./$(DEPDIR)/coff-tic4x.Plo -include ./$(DEPDIR)/coff-tic54x.Plo -include ./$(DEPDIR)/coff-tic80.Plo -include ./$(DEPDIR)/coff-u68k.Plo -include ./$(DEPDIR)/coff-w65.Plo -include ./$(DEPDIR)/coff-we32k.Plo -include ./$(DEPDIR)/coff-x86_64.Plo -include ./$(DEPDIR)/coff-z80.Plo -include ./$(DEPDIR)/coff-z8k.Plo -include ./$(DEPDIR)/coff64-rs6000.Plo -include ./$(DEPDIR)/coffgen.Plo -include ./$(DEPDIR)/cofflink.Plo -include ./$(DEPDIR)/compress.Plo -include ./$(DEPDIR)/corefile.Plo -include ./$(DEPDIR)/cpu-aarch64.Plo -include ./$(DEPDIR)/cpu-alpha.Plo -include ./$(DEPDIR)/cpu-arc.Plo -include ./$(DEPDIR)/cpu-arm.Plo -include ./$(DEPDIR)/cpu-avr.Plo -include ./$(DEPDIR)/cpu-bfin.Plo -include ./$(DEPDIR)/cpu-cr16.Plo -include ./$(DEPDIR)/cpu-cr16c.Plo -include ./$(DEPDIR)/cpu-cris.Plo -include ./$(DEPDIR)/cpu-crx.Plo -include ./$(DEPDIR)/cpu-d10v.Plo -include ./$(DEPDIR)/cpu-d30v.Plo -include ./$(DEPDIR)/cpu-dlx.Plo -include ./$(DEPDIR)/cpu-epiphany.Plo -include ./$(DEPDIR)/cpu-fr30.Plo -include ./$(DEPDIR)/cpu-frv.Plo -include ./$(DEPDIR)/cpu-ft32.Plo -include ./$(DEPDIR)/cpu-h8300.Plo -include ./$(DEPDIR)/cpu-h8500.Plo -include ./$(DEPDIR)/cpu-hppa.Plo -include ./$(DEPDIR)/cpu-i370.Plo -include ./$(DEPDIR)/cpu-i386.Plo -include ./$(DEPDIR)/cpu-i860.Plo -include ./$(DEPDIR)/cpu-i960.Plo -include ./$(DEPDIR)/cpu-ia64.Plo -include ./$(DEPDIR)/cpu-iamcu.Plo -include ./$(DEPDIR)/cpu-ip2k.Plo -include ./$(DEPDIR)/cpu-iq2000.Plo -include ./$(DEPDIR)/cpu-k1om.Plo -include ./$(DEPDIR)/cpu-l1om.Plo -include ./$(DEPDIR)/cpu-lm32.Plo -include ./$(DEPDIR)/cpu-m10200.Plo -include ./$(DEPDIR)/cpu-m10300.Plo -include ./$(DEPDIR)/cpu-m32c.Plo -include ./$(DEPDIR)/cpu-m32r.Plo -include ./$(DEPDIR)/cpu-m68hc11.Plo -include ./$(DEPDIR)/cpu-m68hc12.Plo -include ./$(DEPDIR)/cpu-m68k.Plo -include ./$(DEPDIR)/cpu-m88k.Plo -include ./$(DEPDIR)/cpu-m9s12x.Plo -include ./$(DEPDIR)/cpu-m9s12xg.Plo -include ./$(DEPDIR)/cpu-mcore.Plo -include ./$(DEPDIR)/cpu-mep.Plo -include ./$(DEPDIR)/cpu-metag.Plo -include ./$(DEPDIR)/cpu-microblaze.Plo -include ./$(DEPDIR)/cpu-mips.Plo -include ./$(DEPDIR)/cpu-mmix.Plo -include ./$(DEPDIR)/cpu-moxie.Plo -include ./$(DEPDIR)/cpu-msp430.Plo -include ./$(DEPDIR)/cpu-mt.Plo -include ./$(DEPDIR)/cpu-nds32.Plo -include ./$(DEPDIR)/cpu-nios2.Plo -include ./$(DEPDIR)/cpu-ns32k.Plo -include ./$(DEPDIR)/cpu-or1k.Plo -include ./$(DEPDIR)/cpu-pdp11.Plo -include ./$(DEPDIR)/cpu-pj.Plo -include ./$(DEPDIR)/cpu-plugin.Plo -include ./$(DEPDIR)/cpu-powerpc.Plo -include ./$(DEPDIR)/cpu-pru.Plo -include ./$(DEPDIR)/cpu-riscv.Plo -include ./$(DEPDIR)/cpu-rl78.Plo -include ./$(DEPDIR)/cpu-rs6000.Plo -include ./$(DEPDIR)/cpu-rx.Plo -include ./$(DEPDIR)/cpu-s390.Plo -include ./$(DEPDIR)/cpu-score.Plo -include ./$(DEPDIR)/cpu-sh.Plo -include ./$(DEPDIR)/cpu-sparc.Plo -include ./$(DEPDIR)/cpu-spu.Plo -include ./$(DEPDIR)/cpu-tic30.Plo -include ./$(DEPDIR)/cpu-tic4x.Plo -include ./$(DEPDIR)/cpu-tic54x.Plo -include ./$(DEPDIR)/cpu-tic6x.Plo -include ./$(DEPDIR)/cpu-tic80.Plo -include ./$(DEPDIR)/cpu-tilegx.Plo -include ./$(DEPDIR)/cpu-tilepro.Plo -include ./$(DEPDIR)/cpu-v850.Plo -include ./$(DEPDIR)/cpu-v850_rh850.Plo -include ./$(DEPDIR)/cpu-vax.Plo -include ./$(DEPDIR)/cpu-visium.Plo -include ./$(DEPDIR)/cpu-w65.Plo -include ./$(DEPDIR)/cpu-wasm32.Plo -include ./$(DEPDIR)/cpu-we32k.Plo -include ./$(DEPDIR)/cpu-xc16x.Plo -include ./$(DEPDIR)/cpu-xgate.Plo -include ./$(DEPDIR)/cpu-xstormy16.Plo -include ./$(DEPDIR)/cpu-xtensa.Plo -include ./$(DEPDIR)/cpu-z80.Plo -include ./$(DEPDIR)/cpu-z8k.Plo -include ./$(DEPDIR)/demo64.Plo -include ./$(DEPDIR)/dwarf1.Plo -include ./$(DEPDIR)/dwarf2.Plo -include ./$(DEPDIR)/ecoff.Plo -include ./$(DEPDIR)/ecofflink.Plo -include ./$(DEPDIR)/elf-attrs.Plo -include ./$(DEPDIR)/elf-eh-frame.Plo -include ./$(DEPDIR)/elf-ifunc.Plo -include ./$(DEPDIR)/elf-m10200.Plo -include ./$(DEPDIR)/elf-m10300.Plo -include ./$(DEPDIR)/elf-nacl.Plo -include ./$(DEPDIR)/elf-properties.Plo -include ./$(DEPDIR)/elf-strtab.Plo -include ./$(DEPDIR)/elf-vxworks.Plo -include ./$(DEPDIR)/elf.Plo -include ./$(DEPDIR)/elf32-aarch64.Plo -include ./$(DEPDIR)/elf32-am33lin.Plo -include ./$(DEPDIR)/elf32-arc.Plo -include ./$(DEPDIR)/elf32-arm.Plo -include ./$(DEPDIR)/elf32-avr.Plo -include ./$(DEPDIR)/elf32-bfin.Plo -include ./$(DEPDIR)/elf32-cr16.Plo -include ./$(DEPDIR)/elf32-cr16c.Plo -include ./$(DEPDIR)/elf32-cris.Plo -include ./$(DEPDIR)/elf32-crx.Plo -include ./$(DEPDIR)/elf32-d10v.Plo -include ./$(DEPDIR)/elf32-d30v.Plo -include ./$(DEPDIR)/elf32-dlx.Plo -include ./$(DEPDIR)/elf32-epiphany.Plo -include ./$(DEPDIR)/elf32-fr30.Plo -include ./$(DEPDIR)/elf32-frv.Plo -include ./$(DEPDIR)/elf32-ft32.Plo -include ./$(DEPDIR)/elf32-gen.Plo -include ./$(DEPDIR)/elf32-h8300.Plo -include ./$(DEPDIR)/elf32-hppa.Plo -include ./$(DEPDIR)/elf32-i370.Plo -include ./$(DEPDIR)/elf32-i386.Plo -include ./$(DEPDIR)/elf32-i860.Plo -include ./$(DEPDIR)/elf32-i960.Plo -include ./$(DEPDIR)/elf32-ia64.Plo -include ./$(DEPDIR)/elf32-ip2k.Plo -include ./$(DEPDIR)/elf32-iq2000.Plo -include ./$(DEPDIR)/elf32-lm32.Plo -include ./$(DEPDIR)/elf32-m32c.Plo -include ./$(DEPDIR)/elf32-m32r.Plo -include ./$(DEPDIR)/elf32-m68hc11.Plo -include ./$(DEPDIR)/elf32-m68hc12.Plo -include ./$(DEPDIR)/elf32-m68hc1x.Plo -include ./$(DEPDIR)/elf32-m68k.Plo -include ./$(DEPDIR)/elf32-m88k.Plo -include ./$(DEPDIR)/elf32-mcore.Plo -include ./$(DEPDIR)/elf32-mep.Plo -include ./$(DEPDIR)/elf32-metag.Plo -include ./$(DEPDIR)/elf32-microblaze.Plo -include ./$(DEPDIR)/elf32-mips.Plo -include ./$(DEPDIR)/elf32-moxie.Plo -include ./$(DEPDIR)/elf32-msp430.Plo -include ./$(DEPDIR)/elf32-mt.Plo -include ./$(DEPDIR)/elf32-nds32.Plo -include ./$(DEPDIR)/elf32-nios2.Plo -include ./$(DEPDIR)/elf32-or1k.Plo -include ./$(DEPDIR)/elf32-pj.Plo -include ./$(DEPDIR)/elf32-ppc.Plo -include ./$(DEPDIR)/elf32-pru.Plo -include ./$(DEPDIR)/elf32-riscv.Plo -include ./$(DEPDIR)/elf32-rl78.Plo -include ./$(DEPDIR)/elf32-rx.Plo -include ./$(DEPDIR)/elf32-s390.Plo -include ./$(DEPDIR)/elf32-score.Plo -include ./$(DEPDIR)/elf32-score7.Plo -include ./$(DEPDIR)/elf32-sh-symbian.Plo -include ./$(DEPDIR)/elf32-sh.Plo -include ./$(DEPDIR)/elf32-sh64-com.Plo -include ./$(DEPDIR)/elf32-sh64.Plo -include ./$(DEPDIR)/elf32-sparc.Plo -include ./$(DEPDIR)/elf32-spu.Plo -include ./$(DEPDIR)/elf32-tic6x.Plo -include ./$(DEPDIR)/elf32-tilegx.Plo -include ./$(DEPDIR)/elf32-tilepro.Plo -include ./$(DEPDIR)/elf32-v850.Plo -include ./$(DEPDIR)/elf32-vax.Plo -include ./$(DEPDIR)/elf32-visium.Plo -include ./$(DEPDIR)/elf32-wasm32.Plo -include ./$(DEPDIR)/elf32-xc16x.Plo -include ./$(DEPDIR)/elf32-xgate.Plo -include ./$(DEPDIR)/elf32-xstormy16.Plo -include ./$(DEPDIR)/elf32-xtensa.Plo -include ./$(DEPDIR)/elf32.Plo -include ./$(DEPDIR)/elf64-aarch64.Plo -include ./$(DEPDIR)/elf64-alpha.Plo -include ./$(DEPDIR)/elf64-gen.Plo -include ./$(DEPDIR)/elf64-hppa.Plo -include ./$(DEPDIR)/elf64-ia64-vms.Plo -include ./$(DEPDIR)/elf64-ia64.Plo -include ./$(DEPDIR)/elf64-mips.Plo -include ./$(DEPDIR)/elf64-mmix.Plo -include ./$(DEPDIR)/elf64-ppc.Plo -include ./$(DEPDIR)/elf64-riscv.Plo -include ./$(DEPDIR)/elf64-s390.Plo -include ./$(DEPDIR)/elf64-sh64.Plo -include ./$(DEPDIR)/elf64-sparc.Plo -include ./$(DEPDIR)/elf64-tilegx.Plo -include ./$(DEPDIR)/elf64-x86-64.Plo -include ./$(DEPDIR)/elf64.Plo -include ./$(DEPDIR)/elflink.Plo -include ./$(DEPDIR)/elfn32-mips.Plo -include ./$(DEPDIR)/elfxx-aarch64.Plo -include ./$(DEPDIR)/elfxx-ia64.Plo -include ./$(DEPDIR)/elfxx-mips.Plo -include ./$(DEPDIR)/elfxx-riscv.Plo -include ./$(DEPDIR)/elfxx-sparc.Plo -include ./$(DEPDIR)/elfxx-tilegx.Plo -include ./$(DEPDIR)/elfxx-x86.Plo -include ./$(DEPDIR)/epoc-pe-arm.Plo -include ./$(DEPDIR)/epoc-pei-arm.Plo -include ./$(DEPDIR)/format.Plo -include ./$(DEPDIR)/hash.Plo -include ./$(DEPDIR)/hp300bsd.Plo -include ./$(DEPDIR)/hp300hpux.Plo -include ./$(DEPDIR)/hpux-core.Plo -include ./$(DEPDIR)/i386aout.Plo -include ./$(DEPDIR)/i386bsd.Plo -include ./$(DEPDIR)/i386dynix.Plo -include ./$(DEPDIR)/i386freebsd.Plo -include ./$(DEPDIR)/i386linux.Plo -include ./$(DEPDIR)/i386lynx.Plo -include ./$(DEPDIR)/i386mach3.Plo -include ./$(DEPDIR)/i386msdos.Plo -include ./$(DEPDIR)/i386netbsd.Plo -include ./$(DEPDIR)/i386os9k.Plo -include ./$(DEPDIR)/ieee.Plo -include ./$(DEPDIR)/ihex.Plo -include ./$(DEPDIR)/init.Plo -include ./$(DEPDIR)/irix-core.Plo -include ./$(DEPDIR)/libbfd.Plo -include ./$(DEPDIR)/linker.Plo -include ./$(DEPDIR)/lynx-core.Plo -include ./$(DEPDIR)/m68k4knetbsd.Plo -include ./$(DEPDIR)/m68klinux.Plo -include ./$(DEPDIR)/m68knetbsd.Plo -include ./$(DEPDIR)/m88kmach3.Plo -include ./$(DEPDIR)/m88kopenbsd.Plo -include ./$(DEPDIR)/mach-o-aarch64.Plo -include ./$(DEPDIR)/mach-o-arm.Plo -include ./$(DEPDIR)/mach-o-i386.Plo -include ./$(DEPDIR)/mach-o-x86-64.Plo -include ./$(DEPDIR)/mach-o.Plo -include ./$(DEPDIR)/merge.Plo -include ./$(DEPDIR)/mipsbsd.Plo -include ./$(DEPDIR)/mmo.Plo -include ./$(DEPDIR)/netbsd-core.Plo -include ./$(DEPDIR)/newsos3.Plo -include ./$(DEPDIR)/nlm.Plo -include ./$(DEPDIR)/nlm32-alpha.Plo -include ./$(DEPDIR)/nlm32-i386.Plo -include ./$(DEPDIR)/nlm32-ppc.Plo -include ./$(DEPDIR)/nlm32-sparc.Plo -include ./$(DEPDIR)/nlm32.Plo -include ./$(DEPDIR)/nlm64.Plo -include ./$(DEPDIR)/ns32knetbsd.Plo -include ./$(DEPDIR)/oasys.Plo -include ./$(DEPDIR)/opncls.Plo -include ./$(DEPDIR)/osf-core.Plo -include ./$(DEPDIR)/pc532-mach.Plo -include ./$(DEPDIR)/pdp11.Plo -include ./$(DEPDIR)/pe-arm-wince.Plo -include ./$(DEPDIR)/pe-arm.Plo -include ./$(DEPDIR)/pe-i386.Plo -include ./$(DEPDIR)/pe-mcore.Plo -include ./$(DEPDIR)/pe-mips.Plo -include ./$(DEPDIR)/pe-ppc.Plo -include ./$(DEPDIR)/pe-sh.Plo -include ./$(DEPDIR)/pe-x86_64.Plo -include ./$(DEPDIR)/pef.Plo -include ./$(DEPDIR)/pei-arm-wince.Plo -include ./$(DEPDIR)/pei-arm.Plo -include ./$(DEPDIR)/pei-i386.Plo -include ./$(DEPDIR)/pei-ia64.Plo -include ./$(DEPDIR)/pei-mcore.Plo -include ./$(DEPDIR)/pei-mips.Plo -include ./$(DEPDIR)/pei-ppc.Plo -include ./$(DEPDIR)/pei-sh.Plo -include ./$(DEPDIR)/pei-x86_64.Plo -include ./$(DEPDIR)/peigen.Plo -include ./$(DEPDIR)/pepigen.Plo -include ./$(DEPDIR)/pex64igen.Plo -include ./$(DEPDIR)/plugin.Plo -include ./$(DEPDIR)/ppcboot.Plo -include ./$(DEPDIR)/reloc.Plo -include ./$(DEPDIR)/reloc16.Plo -include ./$(DEPDIR)/riscix.Plo -include ./$(DEPDIR)/rs6000-core.Plo -include ./$(DEPDIR)/sco5-core.Plo -include ./$(DEPDIR)/section.Plo -include ./$(DEPDIR)/simple.Plo -include ./$(DEPDIR)/som.Plo -include ./$(DEPDIR)/sparclinux.Plo -include ./$(DEPDIR)/sparclynx.Plo -include ./$(DEPDIR)/sparcnetbsd.Plo -include ./$(DEPDIR)/srec.Plo -include ./$(DEPDIR)/stab-syms.Plo -include ./$(DEPDIR)/stabs.Plo -include ./$(DEPDIR)/sunos.Plo -include ./$(DEPDIR)/syms.Plo -include ./$(DEPDIR)/targets.Plo -include ./$(DEPDIR)/tekhex.Plo -include ./$(DEPDIR)/trad-core.Plo -include ./$(DEPDIR)/vax1knetbsd.Plo -include ./$(DEPDIR)/vaxbsd.Plo -include ./$(DEPDIR)/vaxnetbsd.Plo -include ./$(DEPDIR)/verilog.Plo -include ./$(DEPDIR)/versados.Plo -include ./$(DEPDIR)/vms-alpha.Plo -include ./$(DEPDIR)/vms-lib.Plo -include ./$(DEPDIR)/vms-misc.Plo -include ./$(DEPDIR)/wasm-module.Plo -include ./$(DEPDIR)/xcofflink.Plo -include ./$(DEPDIR)/xsym.Plo -include ./$(DEPDIR)/xtensa-isa.Plo -include ./$(DEPDIR)/xtensa-modules.Plo - -.c.o: - $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< - $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -# source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(COMPILE) -c $< - -.c.obj: - $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` - $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -# source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: - $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< - $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -# source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool config.lt -install-bfdincludeHEADERS: $(bfdinclude_HEADERS) - @$(NORMAL_INSTALL) - @list='$(bfdinclude_HEADERS)'; test -n "$(bfdincludedir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bfdincludedir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bfdincludedir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(bfdincludedir)'"; \ - $(INSTALL_HEADER) $$files "$(DESTDIR)$(bfdincludedir)" || exit $$?; \ - done - -uninstall-bfdincludeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(bfdinclude_HEADERS)'; test -n "$(bfdincludedir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(bfdincludedir)'; $(am__uninstall_files_from_dir) - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (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. -$(RECURSIVE_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -$(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - 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; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -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; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) config.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - 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 || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - 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; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - 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; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -check-am: all-am -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-recursive -all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(HEADERS) config.h -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(bfdlibdir)" "$(DESTDIR)$(bfdincludedir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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 "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -clean: clean-recursive - -clean-am: clean-bfdlibLTLIBRARIES clean-generic clean-libtool \ - clean-noinstLIBRARIES clean-noinstLTLIBRARIES mostlyclean-am - -distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-hdr distclean-libtool distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: install-bfdincludeHEADERS install-bfdlibLTLIBRARIES - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -rf ./$(DEPDIR) - -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-bfdincludeHEADERS uninstall-bfdlibLTLIBRARIES - -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \ - ctags-recursive install install-am install-strip \ - tags-recursive - -.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am am--refresh check check-am clean \ - clean-bfdlibLTLIBRARIES clean-generic clean-libtool \ - clean-noinstLIBRARIES clean-noinstLTLIBRARIES ctags \ - ctags-recursive distclean distclean-compile distclean-generic \ - distclean-hdr distclean-libtool distclean-tags dvi dvi-am html \ - html-am info info-am install install-am \ - install-bfdincludeHEADERS install-bfdlibLTLIBRARIES \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs installdirs-am \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ - uninstall-bfdincludeHEADERS uninstall-bfdlibLTLIBRARIES - - -po/SRC-POTFILES.in: # Makefile $(SRC_POTFILES) - for file in $(SRC_POTFILES); do echo $$file; done \ - | LC_ALL=C sort > tmp.src \ - && mv tmp.src $(srcdir)/po/SRC-POTFILES.in - -po/BLD-POTFILES.in: # Makefile $(BLD_POTFILES) - for file in $(BLD_POTFILES); do echo $$file; done \ - | LC_ALL=C sort > tmp.bld \ - && mv tmp.bld $(srcdir)/po/BLD-POTFILES.in - -all diststuff: info - -stamp-ofiles: Makefile - rm -f tofiles - f=""; \ - for i in $(OFILES) ; do \ - case " $$f " in \ - *" $$i "*) ;; \ - *) f="$$f $$i" ;; \ - esac ; \ - done ; \ - echo $$f > tofiles - $(SHELL) $(srcdir)/../move-if-change tofiles ofiles - touch stamp-ofiles - -ofiles: stamp-ofiles ; @true - -stamp-lib: libbfd.la - libtooldir=`$(LIBTOOL) --config | $(SED) -n -e 's/^objdir=//p'`; \ - if [ -f $$libtooldir/libbfd.a ]; then \ - cp $$libtooldir/libbfd.a libbfd.tmp; \ - $(RANLIB) libbfd.tmp; \ - $(SHELL) $(srcdir)/../move-if-change libbfd.tmp libbfd.a; \ - else true; fi - touch stamp-lib - -libbfd.a: stamp-lib ; @true - -# This file holds an array associating configuration triplets and -# vector names. It is built from config.bfd. It is not compiled by -# itself, but is included by targets.c. -targmatch.h: config.bfd targmatch.sed - rm -f targmatch.h - $(SED) -f $(srcdir)/targmatch.sed < $(srcdir)/config.bfd > targmatch.new - mv -f targmatch.new targmatch.h - -# When compiling archures.c and targets.c, supply the default target -# info from configure. - -targets.lo: targets.c Makefile - $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $(TDEFAULTS) $(srcdir)/targets.c - mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -# source='targets.c' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(LTCOMPILE) -c -o $@ $(TDEFAULTS) $(srcdir)/targets.c - -archures.lo: archures.c Makefile - $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $(TDEFAULTS) $(srcdir)/archures.c - mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -# source='archures.c' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(LTCOMPILE) -c -o $@ $(TDEFAULTS) $(srcdir)/archures.c - -dwarf2.lo: dwarf2.c Makefile - $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ -DDEBUGDIR=\"$(DEBUGDIR)\" $(srcdir)/dwarf2.c - mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -# source='dwarf2.c' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(LTCOMPILE) -c -o $@ -DDEBUGDIR=\"$(DEBUGDIR)\" $(srcdir)/dwarf2.c - -elf32-target.h : elfxx-target.h - rm -f elf32-target.h - $(SED) -e s/NN/32/g < $(srcdir)/elfxx-target.h > elf32-target.new - mv -f elf32-target.new elf32-target.h - -elf64-target.h : elfxx-target.h - rm -f elf64-target.h - $(SED) -e s/NN/64/g < $(srcdir)/elfxx-target.h > elf64-target.new - mv -f elf64-target.new elf64-target.h - -elf32-aarch64.c : elfnn-aarch64.c - rm -f elf32-aarch64.c - echo "#line 1 \"$(srcdir)/elfnn-aarch64.c\"" > elf32-aarch64.new - $(SED) -e s/NN/32/g < $(srcdir)/elfnn-aarch64.c >> elf32-aarch64.new - mv -f elf32-aarch64.new elf32-aarch64.c - -elf64-aarch64.c : elfnn-aarch64.c - rm -f elf64-aarch64.c - echo "#line 1 \"$(srcdir)/elfnn-aarch64.c\"" > elf64-aarch64.new - $(SED) -e s/NN/64/g < $(srcdir)/elfnn-aarch64.c >> elf64-aarch64.new - mv -f elf64-aarch64.new elf64-aarch64.c - -elf32-ia64.c : elfnn-ia64.c - rm -f elf32-ia64.c - $(SED) -e s/NN/32/g < $(srcdir)/elfnn-ia64.c > elf32-ia64.new - mv -f elf32-ia64.new elf32-ia64.c - -elf64-ia64.c : elfnn-ia64.c - rm -f elf64-ia64.c - $(SED) -e s/NN/64/g < $(srcdir)/elfnn-ia64.c > elf64-ia64.new - mv -f elf64-ia64.new elf64-ia64.c - -elf32-riscv.c : elfnn-riscv.c - rm -f elf32-riscv.c - echo "#line 1 \"$(srcdir)/elfnn-riscv.c\"" > elf32-riscv.new - sed -e s/NN/32/g < $(srcdir)/elfnn-riscv.c >> elf32-riscv.new - mv -f elf32-riscv.new elf32-riscv.c - -elf64-riscv.c : elfnn-riscv.c - rm -f elf64-riscv.c - echo "#line 1 \"$(srcdir)/elfnn-riscv.c\"" > elf64-riscv.new - sed -e s/NN/64/g < $(srcdir)/elfnn-riscv.c >> elf64-riscv.new - mv -f elf64-riscv.new elf64-riscv.c - -peigen.c : peXXigen.c - rm -f peigen.c - $(SED) -e s/XX/pe/g < $(srcdir)/peXXigen.c > peigen.new - mv -f peigen.new peigen.c - -pepigen.c : peXXigen.c - rm -f pepigen.c - $(SED) -e s/XX/pep/g < $(srcdir)/peXXigen.c > pepigen.new - mv -f pepigen.new pepigen.c - -pex64igen.c: peXXigen.c - rm -f pex64igen.c - $(SED) -e s/XX/pex64/g < $(srcdir)/peXXigen.c > pex64igen.new - mv -f pex64igen.new pex64igen.c -$(BFD32_LIBS) \ - $(BFD64_LIBS) \ - $(ALL_MACHINES) \ - $(BFD32_BACKENDS) \ - $(BFD64_BACKENDS) \ - $(OPTIONAL_BACKENDS): $(BFD_H) $(BFD_H_DEPS) $(LOCAL_H_DEPS) - -host-aout.lo: Makefile - -# The following program can be used to generate a simple config file -# which can be folded into an h-XXX file for a new host, with some editing. -aout-params.h: gen-aout - ./gen-aout host > aout-params.h -gen-aout: $(srcdir)/gen-aout.c Makefile - $(CC) -o gen-aout $(CFLAGS) $(LFLAGS) $(srcdir)/gen-aout.c - -$(BFD_H): stmp-bfd-h ; @true - -stmp-bfd-h: bfd-in3.h - rm -f bfd-tmp.h - cp bfd-in3.h bfd-tmp.h - $(SHELL) $(srcdir)/../move-if-change bfd-tmp.h $(BFD_H) - rm -f bfd-tmp.h - touch stmp-bfd-h - -# Could really use a "copy-if-change"... -headers: - (cd $(bfddocdir); $(MAKE) protos $(FLAGS_TO_PASS)) - cp $(bfddocdir)/bfd.h bfd-in2.h-new - $(SHELL) $(srcdir)/../move-if-change bfd-in2.h-new $(srcdir)/bfd-in2.h - cp $(bfddocdir)/libbfd.h libbfd.h-new - $(SHELL) $(srcdir)/../move-if-change libbfd.h-new $(srcdir)/libbfd.h - cp $(bfddocdir)/libcoff.h libcoff.h-new - $(SHELL) $(srcdir)/../move-if-change libcoff.h-new $(srcdir)/libcoff.h - -# We only rebuild the header files automatically if we have been -# configured with --enable-maintainer-mode. - -$(srcdir)/bfd-in2.h: # stmp-bin2-h ; @true -stmp-bin2-h: $(BFD_H_FILES) $(BFD64_H_FILES) - (cd $(bfddocdir); $(MAKE) $(FLAGS_TO_PASS) bfd.h) - cp $(bfddocdir)/bfd.h bfd-in2.h-new - $(SHELL) $(srcdir)/../move-if-change bfd-in2.h-new $(srcdir)/bfd-in2.h - touch stmp-bin2-h - -$(srcdir)/libbfd.h: # stmp-lbfd-h ; @true -stmp-lbfd-h: $(LIBBFD_H_FILES) - (cd $(bfddocdir); $(MAKE) $(FLAGS_TO_PASS) libbfd.h) - cp $(bfddocdir)/libbfd.h libbfd.h-new - $(SHELL) $(srcdir)/../move-if-change libbfd.h-new $(srcdir)/libbfd.h - touch stmp-lbfd-h - -$(srcdir)/libcoff.h: # stmp-lcoff-h ; @true -stmp-lcoff-h: $(LIBCOFF_H_FILES) - (cd $(bfddocdir); $(MAKE) $(FLAGS_TO_PASS) libcoff.h) - cp $(bfddocdir)/libcoff.h libcoff.h-new - $(SHELL) $(srcdir)/../move-if-change libcoff.h-new $(srcdir)/libcoff.h - touch stmp-lcoff-h - -bfdver.h: $(srcdir)/version.h $(srcdir)/development.sh $(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/'` ;\ - bfd_version_string="\"$(VERSION)\"" ;\ - bfd_soversion="$(VERSION)" ;\ - bfd_version_package="\"$(PKGVERSION)\"" ;\ - report_bugs_to="\"$(REPORT_BUGS_TO)\"" ;\ - . $(srcdir)/development.sh ;\ - if test "$$development" = true ; then \ - bfd_version_date=`$(SED) -n -e 's/.*DATE //p' < $(srcdir)/version.h` ;\ - bfd_version_string="\"$(VERSION).$${bfd_version_date}\"" ;\ - bfd_soversion="$(VERSION).$${bfd_version_date}" ;\ - fi ;\ - $(SED) -e "s,@bfd_version@,$$bfd_version," \ - -e "s,@bfd_version_string@,$$bfd_version_string," \ - -e "s,@bfd_version_package@,$$bfd_version_package," \ - -e "s,@report_bugs_to@,$$report_bugs_to," \ - < $(srcdir)/version.h > $@; \ - echo "$${bfd_soversion}" > libtool-soversion - -# Disable -Werror, if it has been enabled, since coffswap.h won't -# compile with gcc 4.5 and above. -coff-tic4x.lo: coff-tic4x.c - $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< $(NO_WERROR) - $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -# source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(LTCOMPILE) -c -o $@ $< $(NO_WERROR) - -coff-tic54x.lo: coff-tic54x.c - $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< $(NO_WERROR) - $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -# source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(LTCOMPILE) -c -o $@ $< $(NO_WERROR) - -# 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/support/sdbinutils/bfd/bfd-in3.h b/support/sdbinutils/bfd/bfd-in3.h deleted file mode 100644 index 7d90ebc..0000000 --- a/support/sdbinutils/bfd/bfd-in3.h +++ /dev/null @@ -1,7830 +0,0 @@ -/* DO NOT EDIT! -*- buffer-read-only: t -*- This file is automatically - generated from "bfd-in.h", "init.c", "opncls.c", "libbfd.c", - "bfdio.c", "bfdwin.c", "section.c", "archures.c", "reloc.c", - "syms.c", "bfd.c", "archive.c", "corefile.c", "targets.c", "format.c", - "linker.c", "simple.c" and "compress.c". - Run "make headers" in your build bfd/ to regenerate. */ - -/* Main header file for the bfd library -- portable access to object files. - - Copyright (C) 1990-2018 Free Software Foundation, Inc. - - Contributed by Cygnus Support. - - This file is part of BFD, the Binary File Descriptor library. - - 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 3 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef __BFD_H_SEEN__ -#define __BFD_H_SEEN__ - -/* PR 14072: Ensure that config.h is included first. */ -#if !defined PACKAGE && !defined PACKAGE_VERSION -#error config.h must be included before this header -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -#include "ansidecl.h" -#include "symcat.h" -#include <stdarg.h> -#include <sys/stat.h> - -#if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE) -#ifndef SABER -/* This hack is to avoid a problem with some strict ANSI C preprocessors. - The problem is, "32_" is not a valid preprocessing token, and we don't - want extra underscores (e.g., "nlm_32_"). The XCONCAT2 macro will - cause the inner CONCAT2 macros to be evaluated first, producing - still-valid pp-tokens. Then the final concatenation can be done. */ -#undef CONCAT4 -#define CONCAT4(a,b,c,d) XCONCAT2(CONCAT2(a,b),CONCAT2(c,d)) -#endif -#endif - -/* This is a utility macro to handle the situation where the code - wants to place a constant string into the code, followed by a - comma and then the length of the string. Doing this by hand - is error prone, so using this macro is safer. */ -#define STRING_COMMA_LEN(STR) (STR), (sizeof (STR) - 1) -/* Unfortunately it is not possible to use the STRING_COMMA_LEN macro - to create the arguments to another macro, since the preprocessor - will mis-count the number of arguments to the outer macro (by not - evaluating STRING_COMMA_LEN and so missing the comma). This is a - problem for example when trying to use STRING_COMMA_LEN to build - the arguments to the strncmp() macro. Hence this alternative - definition of strncmp is provided here. - - Note - these macros do NOT work if STR2 is not a constant string. */ -#define CONST_STRNEQ(STR1,STR2) (strncmp ((STR1), (STR2), sizeof (STR2) - 1) == 0) - /* strcpy() can have a similar problem, but since we know we are - copying a constant string, we can use memcpy which will be faster - since there is no need to check for a NUL byte inside STR. We - can also save time if we do not need to copy the terminating NUL. */ -#define LITMEMCPY(DEST,STR2) memcpy ((DEST), (STR2), sizeof (STR2) - 1) -#define LITSTRCPY(DEST,STR2) memcpy ((DEST), (STR2), sizeof (STR2)) - - -#define BFD_SUPPORTS_PLUGINS 1 - -/* The word size used by BFD on the host. This may be 64 with a 32 - bit target if the host is 64 bit, or if other 64 bit targets have - been selected with --enable-targets, or if --enable-64-bit-bfd. */ -#define BFD_ARCH_SIZE 32 - -/* The word size of the default bfd target. */ -#define BFD_DEFAULT_TARGET_SIZE 32 - -#define BFD_HOST_64BIT_LONG 1 -#define BFD_HOST_64BIT_LONG_LONG 0 -#if 1 -#define BFD_HOST_64_BIT long -#define BFD_HOST_U_64_BIT unsigned long -typedef BFD_HOST_64_BIT bfd_int64_t; -typedef BFD_HOST_U_64_BIT bfd_uint64_t; -#endif - -#if BFD_ARCH_SIZE >= 64 -#define BFD64 -#endif - -#ifndef INLINE -#if __GNUC__ >= 2 -#define INLINE __inline__ -#else -#define INLINE -#endif -#endif - -/* Declaring a type wide enough to hold a host long and a host pointer. */ -#define BFD_HOSTPTR_T unsigned long -typedef BFD_HOSTPTR_T bfd_hostptr_t; - -/* Forward declaration. */ -typedef struct bfd bfd; - -/* Boolean type used in bfd. Too many systems define their own - versions of "boolean" for us to safely typedef a "boolean" of - our own. Using an enum for "bfd_boolean" has its own set of - problems, with strange looking casts required to avoid warnings - on some older compilers. Thus we just use an int. - - General rule: Functions which are bfd_boolean return TRUE on - success and FALSE on failure (unless they're a predicate). */ - -typedef int bfd_boolean; -#undef FALSE -#undef TRUE -#define FALSE 0 -#define TRUE 1 - -#ifdef BFD64 - -#ifndef BFD_HOST_64_BIT - #error No 64 bit integer type available -#endif /* ! defined (BFD_HOST_64_BIT) */ - -typedef BFD_HOST_U_64_BIT bfd_vma; -typedef BFD_HOST_64_BIT bfd_signed_vma; -typedef BFD_HOST_U_64_BIT bfd_size_type; -typedef BFD_HOST_U_64_BIT symvalue; - -#if BFD_HOST_64BIT_LONG -#define BFD_VMA_FMT "l" -#elif defined (__MSVCRT__) -#define BFD_VMA_FMT "I64" -#else -#define BFD_VMA_FMT "ll" -#endif - -#ifndef fprintf_vma -#define sprintf_vma(s,x) sprintf (s, "%016" BFD_VMA_FMT "x", x) -#define fprintf_vma(f,x) fprintf (f, "%016" BFD_VMA_FMT "x", x) -#endif - -#else /* not BFD64 */ - -/* Represent a target address. Also used as a generic unsigned type - which is guaranteed to be big enough to hold any arithmetic types - we need to deal with. */ -typedef unsigned long bfd_vma; - -/* A generic signed type which is guaranteed to be big enough to hold any - arithmetic types we need to deal with. Can be assumed to be compatible - with bfd_vma in the same way that signed and unsigned ints are compatible - (as parameters, in assignment, etc). */ -typedef long bfd_signed_vma; - -typedef unsigned long symvalue; -typedef unsigned long bfd_size_type; - -/* Print a bfd_vma x on stream s. */ -#define BFD_VMA_FMT "l" -#define fprintf_vma(s,x) fprintf (s, "%08" BFD_VMA_FMT "x", x) -#define sprintf_vma(s,x) sprintf (s, "%08" BFD_VMA_FMT "x", x) - -#endif /* not BFD64 */ - -#define HALF_BFD_SIZE_TYPE \ - (((bfd_size_type) 1) << (8 * sizeof (bfd_size_type) / 2)) - -#ifndef BFD_HOST_64_BIT -/* Fall back on a 32 bit type. The idea is to make these types always - available for function return types, but in the case that - BFD_HOST_64_BIT is undefined such a function should abort or - otherwise signal an error. */ -typedef bfd_signed_vma bfd_int64_t; -typedef bfd_vma bfd_uint64_t; -#endif - -/* An offset into a file. BFD always uses the largest possible offset - based on the build time availability of fseek, fseeko, or fseeko64. */ -typedef BFD_HOST_64_BIT file_ptr; -typedef unsigned BFD_HOST_64_BIT ufile_ptr; - -extern void bfd_sprintf_vma (bfd *, char *, bfd_vma); -extern void bfd_fprintf_vma (bfd *, void *, bfd_vma); - -#define printf_vma(x) fprintf_vma(stdout,x) -#define bfd_printf_vma(abfd,x) bfd_fprintf_vma (abfd,stdout,x) - -typedef unsigned int flagword; /* 32 bits of flags */ -typedef unsigned char bfd_byte; - -/* File formats. */ - -typedef enum bfd_format -{ - bfd_unknown = 0, /* File format is unknown. */ - bfd_object, /* Linker/assembler/compiler output. */ - bfd_archive, /* Object archive file. */ - bfd_core, /* Core dump. */ - bfd_type_end /* Marks the end; don't use it! */ -} -bfd_format; - -/* Symbols and relocation. */ - -/* A count of carsyms (canonical archive symbols). */ -typedef unsigned long symindex; - -/* How to perform a relocation. */ -typedef const struct reloc_howto_struct reloc_howto_type; - -#define BFD_NO_MORE_SYMBOLS ((symindex) ~0) - -/* General purpose part of a symbol X; - target specific parts are in libcoff.h, libaout.h, etc. */ - -#define bfd_get_section(x) ((x)->section) -#define bfd_get_output_section(x) ((x)->section->output_section) -#define bfd_set_section(x,y) ((x)->section) = (y) -#define bfd_asymbol_base(x) ((x)->section->vma) -#define bfd_asymbol_value(x) (bfd_asymbol_base(x) + (x)->value) -#define bfd_asymbol_name(x) ((x)->name) -/*Perhaps future: #define bfd_asymbol_bfd(x) ((x)->section->owner)*/ -#define bfd_asymbol_bfd(x) ((x)->the_bfd) -#define bfd_asymbol_flavour(x) \ - (((x)->flags & BSF_SYNTHETIC) != 0 \ - ? bfd_target_unknown_flavour \ - : bfd_asymbol_bfd (x)->xvec->flavour) - -/* A canonical archive symbol. */ -/* This is a type pun with struct ranlib on purpose! */ -typedef struct carsym -{ - char *name; - file_ptr file_offset; /* Look here to find the file. */ -} -carsym; /* To make these you call a carsymogen. */ - -/* Used in generating armaps (archive tables of contents). - Perhaps just a forward definition would do? */ -struct orl /* Output ranlib. */ -{ - char **name; /* Symbol name. */ - union - { - file_ptr pos; - bfd *abfd; - } u; /* bfd* or file position. */ - int namidx; /* Index into string table. */ -}; - -/* Linenumber stuff. */ -typedef struct lineno_cache_entry -{ - unsigned int line_number; /* Linenumber from start of function. */ - union - { - struct bfd_symbol *sym; /* Function name. */ - bfd_vma offset; /* Offset into section. */ - } u; -} -alent; - -/* Object and core file sections. */ -typedef struct bfd_section *sec_ptr; - -#define align_power(addr, align) \ - (((addr) + ((bfd_vma) 1 << (align)) - 1) & (-((bfd_vma) 1 << (align)))) - -/* Align an address upward to a boundary, expressed as a number of bytes. - E.g. align to an 8-byte boundary with argument of 8. Take care never - to wrap around if the address is within boundary-1 of the end of the - address space. */ -#define BFD_ALIGN(this, boundary) \ - ((((bfd_vma) (this) + (boundary) - 1) >= (bfd_vma) (this)) \ - ? (((bfd_vma) (this) + ((boundary) - 1)) & ~ (bfd_vma) ((boundary)-1)) \ - : ~ (bfd_vma) 0) - -#define bfd_get_section_name(bfd, ptr) ((void) bfd, (ptr)->name) -#define bfd_get_section_vma(bfd, ptr) ((void) bfd, (ptr)->vma) -#define bfd_get_section_lma(bfd, ptr) ((void) bfd, (ptr)->lma) -#define bfd_get_section_alignment(bfd, ptr) ((void) bfd, \ - (ptr)->alignment_power) -#define bfd_section_name(bfd, ptr) ((ptr)->name) -#define bfd_section_size(bfd, ptr) ((ptr)->size) -#define bfd_get_section_size(ptr) ((ptr)->size) -#define bfd_section_vma(bfd, ptr) ((ptr)->vma) -#define bfd_section_lma(bfd, ptr) ((ptr)->lma) -#define bfd_section_alignment(bfd, ptr) ((ptr)->alignment_power) -#define bfd_get_section_flags(bfd, ptr) ((void) bfd, (ptr)->flags) -#define bfd_get_section_userdata(bfd, ptr) ((void) bfd, (ptr)->userdata) - -#define bfd_is_com_section(ptr) (((ptr)->flags & SEC_IS_COMMON) != 0) - -#define bfd_get_section_limit_octets(bfd, sec) \ - ((bfd)->direction != write_direction && (sec)->rawsize != 0 \ - ? (sec)->rawsize : (sec)->size) - -/* Find the address one past the end of SEC. */ -#define bfd_get_section_limit(bfd, sec) \ - (bfd_get_section_limit_octets(bfd, sec) / bfd_octets_per_byte (bfd)) - -/* Return TRUE if input section SEC has been discarded. */ -#define discarded_section(sec) \ - (!bfd_is_abs_section (sec) \ - && bfd_is_abs_section ((sec)->output_section) \ - && (sec)->sec_info_type != SEC_INFO_TYPE_MERGE \ - && (sec)->sec_info_type != SEC_INFO_TYPE_JUST_SYMS) - -typedef enum bfd_print_symbol -{ - bfd_print_symbol_name, - bfd_print_symbol_more, - bfd_print_symbol_all -} bfd_print_symbol_type; - -/* Information about a symbol that nm needs. */ - -typedef struct _symbol_info -{ - symvalue value; - char type; - const char *name; /* Symbol name. */ - unsigned char stab_type; /* Stab type. */ - char stab_other; /* Stab other. */ - short stab_desc; /* Stab desc. */ - const char *stab_name; /* String for stab type. */ -} symbol_info; - -/* Get the name of a stabs type code. */ - -extern const char *bfd_get_stab_name (int); - -/* Hash table routines. There is no way to free up a hash table. */ - -/* An element in the hash table. Most uses will actually use a larger - structure, and an instance of this will be the first field. */ - -struct bfd_hash_entry -{ - /* Next entry for this hash code. */ - struct bfd_hash_entry *next; - /* String being hashed. */ - const char *string; - /* Hash code. This is the full hash code, not the index into the - table. */ - unsigned long hash; -}; - -/* A hash table. */ - -struct bfd_hash_table -{ - /* The hash array. */ - struct bfd_hash_entry **table; - /* A function used to create new elements in the hash table. The - first entry is itself a pointer to an element. When this - function is first invoked, this pointer will be NULL. However, - having the pointer permits a hierarchy of method functions to be - built each of which calls the function in the superclass. Thus - each function should be written to allocate a new block of memory - only if the argument is NULL. */ - struct bfd_hash_entry *(*newfunc) - (struct bfd_hash_entry *, struct bfd_hash_table *, const char *); - /* An objalloc for this hash table. This is a struct objalloc *, - but we use void * to avoid requiring the inclusion of objalloc.h. */ - void *memory; - /* The number of slots in the hash table. */ - unsigned int size; - /* The number of entries in the hash table. */ - unsigned int count; - /* The size of elements. */ - unsigned int entsize; - /* If non-zero, don't grow the hash table. */ - unsigned int frozen:1; -}; - -/* Initialize a hash table. */ -extern bfd_boolean bfd_hash_table_init - (struct bfd_hash_table *, - struct bfd_hash_entry *(*) (struct bfd_hash_entry *, - struct bfd_hash_table *, - const char *), - unsigned int); - -/* Initialize a hash table specifying a size. */ -extern bfd_boolean bfd_hash_table_init_n - (struct bfd_hash_table *, - struct bfd_hash_entry *(*) (struct bfd_hash_entry *, - struct bfd_hash_table *, - const char *), - unsigned int, unsigned int); - -/* Free up a hash table. */ -extern void bfd_hash_table_free - (struct bfd_hash_table *); - -/* Look up a string in a hash table. If CREATE is TRUE, a new entry - will be created for this string if one does not already exist. The - COPY argument must be TRUE if this routine should copy the string - into newly allocated memory when adding an entry. */ -extern struct bfd_hash_entry *bfd_hash_lookup - (struct bfd_hash_table *, const char *, bfd_boolean create, - bfd_boolean copy); - -/* Insert an entry in a hash table. */ -extern struct bfd_hash_entry *bfd_hash_insert - (struct bfd_hash_table *, const char *, unsigned long); - -/* Rename an entry in a hash table. */ -extern void bfd_hash_rename - (struct bfd_hash_table *, const char *, struct bfd_hash_entry *); - -/* Replace an entry in a hash table. */ -extern void bfd_hash_replace - (struct bfd_hash_table *, struct bfd_hash_entry *old, - struct bfd_hash_entry *nw); - -/* Base method for creating a hash table entry. */ -extern struct bfd_hash_entry *bfd_hash_newfunc - (struct bfd_hash_entry *, struct bfd_hash_table *, const char *); - -/* Grab some space for a hash table entry. */ -extern void *bfd_hash_allocate - (struct bfd_hash_table *, unsigned int); - -/* Traverse a hash table in a random order, calling a function on each - element. If the function returns FALSE, the traversal stops. The - INFO argument is passed to the function. */ -extern void bfd_hash_traverse - (struct bfd_hash_table *, - bfd_boolean (*) (struct bfd_hash_entry *, void *), - void *info); - -/* Allows the default size of a hash table to be configured. New hash - tables allocated using bfd_hash_table_init will be created with - this size. */ -extern unsigned long bfd_hash_set_default_size (unsigned long); - -/* Types of compressed DWARF debug sections. We currently support - zlib. */ -enum compressed_debug_section_type -{ - COMPRESS_DEBUG_NONE = 0, - COMPRESS_DEBUG = 1 << 0, - COMPRESS_DEBUG_GNU_ZLIB = COMPRESS_DEBUG | 1 << 1, - COMPRESS_DEBUG_GABI_ZLIB = COMPRESS_DEBUG | 1 << 2 -}; - -/* This structure is used to keep track of stabs in sections - information while linking. */ - -struct stab_info -{ - /* A hash table used to hold stabs strings. */ - struct bfd_strtab_hash *strings; - /* The header file hash table. */ - struct bfd_hash_table includes; - /* The first .stabstr section. */ - struct bfd_section *stabstr; -}; - -#define COFF_SWAP_TABLE (void *) &bfd_coff_std_swap_table - -/* User program access to BFD facilities. */ - -/* Direct I/O routines, for programs which know more about the object - file than BFD does. Use higher level routines if possible. */ - -extern bfd_size_type bfd_bread (void *, bfd_size_type, bfd *); -extern bfd_size_type bfd_bwrite (const void *, bfd_size_type, bfd *); -extern int bfd_seek (bfd *, file_ptr, int); -extern file_ptr bfd_tell (bfd *); -extern int bfd_flush (bfd *); -extern int bfd_stat (bfd *, struct stat *); - -/* Deprecated old routines. */ -#if __GNUC__ -#define bfd_read(BUF, ELTSIZE, NITEMS, ABFD) \ - (_bfd_warn_deprecated ("bfd_read", __FILE__, __LINE__, __FUNCTION__), \ - bfd_bread ((BUF), (ELTSIZE) * (NITEMS), (ABFD))) -#define bfd_write(BUF, ELTSIZE, NITEMS, ABFD) \ - (_bfd_warn_deprecated ("bfd_write", __FILE__, __LINE__, __FUNCTION__), \ - bfd_bwrite ((BUF), (ELTSIZE) * (NITEMS), (ABFD))) -#else -#define bfd_read(BUF, ELTSIZE, NITEMS, ABFD) \ - (_bfd_warn_deprecated ("bfd_read", (const char *) 0, 0, (const char *) 0), \ - bfd_bread ((BUF), (ELTSIZE) * (NITEMS), (ABFD))) -#define bfd_write(BUF, ELTSIZE, NITEMS, ABFD) \ - (_bfd_warn_deprecated ("bfd_write", (const char *) 0, 0, (const char *) 0),\ - bfd_bwrite ((BUF), (ELTSIZE) * (NITEMS), (ABFD))) -#endif -extern void _bfd_warn_deprecated (const char *, const char *, int, const char *); - -/* Cast from const char * to char * so that caller can assign to - a char * without a warning. */ -#define bfd_get_filename(abfd) ((char *) (abfd)->filename) -#define bfd_get_cacheable(abfd) ((abfd)->cacheable) -#define bfd_get_format(abfd) ((abfd)->format) -#define bfd_get_target(abfd) ((abfd)->xvec->name) -#define bfd_get_flavour(abfd) ((abfd)->xvec->flavour) -#define bfd_family_coff(abfd) \ - (bfd_get_flavour (abfd) == bfd_target_coff_flavour || \ - bfd_get_flavour (abfd) == bfd_target_xcoff_flavour) -#define bfd_big_endian(abfd) ((abfd)->xvec->byteorder == BFD_ENDIAN_BIG) -#define bfd_little_endian(abfd) ((abfd)->xvec->byteorder == BFD_ENDIAN_LITTLE) -#define bfd_header_big_endian(abfd) \ - ((abfd)->xvec->header_byteorder == BFD_ENDIAN_BIG) -#define bfd_header_little_endian(abfd) \ - ((abfd)->xvec->header_byteorder == BFD_ENDIAN_LITTLE) -#define bfd_get_file_flags(abfd) ((abfd)->flags) -#define bfd_applicable_file_flags(abfd) ((abfd)->xvec->object_flags) -#define bfd_applicable_section_flags(abfd) ((abfd)->xvec->section_flags) -#define bfd_has_map(abfd) ((abfd)->has_armap) -#define bfd_is_thin_archive(abfd) ((abfd)->is_thin_archive) - -#define bfd_valid_reloc_types(abfd) ((abfd)->xvec->valid_reloc_types) -#define bfd_usrdata(abfd) ((abfd)->usrdata) - -#define bfd_get_start_address(abfd) ((abfd)->start_address) -#define bfd_get_symcount(abfd) ((abfd)->symcount) -#define bfd_get_outsymbols(abfd) ((abfd)->outsymbols) -#define bfd_count_sections(abfd) ((abfd)->section_count) - -#define bfd_get_dynamic_symcount(abfd) ((abfd)->dynsymcount) - -#define bfd_get_symbol_leading_char(abfd) ((abfd)->xvec->symbol_leading_char) - -extern bfd_boolean bfd_cache_close - (bfd *abfd); -/* NB: This declaration should match the autogenerated one in libbfd.h. */ - -extern bfd_boolean bfd_cache_close_all (void); - -extern bfd_boolean bfd_record_phdr - (bfd *, unsigned long, bfd_boolean, flagword, bfd_boolean, bfd_vma, - bfd_boolean, bfd_boolean, unsigned int, struct bfd_section **); - -/* Byte swapping routines. */ - -bfd_uint64_t bfd_getb64 (const void *); -bfd_uint64_t bfd_getl64 (const void *); -bfd_int64_t bfd_getb_signed_64 (const void *); -bfd_int64_t bfd_getl_signed_64 (const void *); -bfd_vma bfd_getb32 (const void *); -bfd_vma bfd_getl32 (const void *); -bfd_signed_vma bfd_getb_signed_32 (const void *); -bfd_signed_vma bfd_getl_signed_32 (const void *); -bfd_vma bfd_getb16 (const void *); -bfd_vma bfd_getl16 (const void *); -bfd_signed_vma bfd_getb_signed_16 (const void *); -bfd_signed_vma bfd_getl_signed_16 (const void *); -void bfd_putb64 (bfd_uint64_t, void *); -void bfd_putl64 (bfd_uint64_t, void *); -void bfd_putb32 (bfd_vma, void *); -void bfd_putl32 (bfd_vma, void *); -void bfd_putb16 (bfd_vma, void *); -void bfd_putl16 (bfd_vma, void *); - -/* Byte swapping routines which take size and endiannes as arguments. */ - -bfd_uint64_t bfd_get_bits (const void *, int, bfd_boolean); -void bfd_put_bits (bfd_uint64_t, void *, int, bfd_boolean); - -#if defined(__STDC__) || defined(ALMOST_STDC) -struct ecoff_debug_info; -struct ecoff_debug_swap; -struct ecoff_extr; -struct bfd_symbol; -struct bfd_link_info; -struct bfd_link_hash_entry; -struct bfd_section_already_linked; -struct bfd_elf_version_tree; -#endif - -extern bfd_boolean bfd_section_already_linked_table_init (void); -extern void bfd_section_already_linked_table_free (void); -extern bfd_boolean _bfd_handle_already_linked - (struct bfd_section *, struct bfd_section_already_linked *, - struct bfd_link_info *); - -/* Externally visible ECOFF routines. */ - -extern bfd_vma bfd_ecoff_get_gp_value - (bfd * abfd); -extern bfd_boolean bfd_ecoff_set_gp_value - (bfd *abfd, bfd_vma gp_value); -extern bfd_boolean bfd_ecoff_set_regmasks - (bfd *abfd, unsigned long gprmask, unsigned long fprmask, - unsigned long *cprmask); -extern void *bfd_ecoff_debug_init - (bfd *output_bfd, struct ecoff_debug_info *output_debug, - const struct ecoff_debug_swap *output_swap, struct bfd_link_info *); -extern void bfd_ecoff_debug_free - (void *handle, bfd *output_bfd, struct ecoff_debug_info *output_debug, - const struct ecoff_debug_swap *output_swap, struct bfd_link_info *); -extern bfd_boolean bfd_ecoff_debug_accumulate - (void *handle, bfd *output_bfd, struct ecoff_debug_info *output_debug, - const struct ecoff_debug_swap *output_swap, bfd *input_bfd, - struct ecoff_debug_info *input_debug, - const struct ecoff_debug_swap *input_swap, struct bfd_link_info *); -extern bfd_boolean bfd_ecoff_debug_accumulate_other - (void *handle, bfd *output_bfd, struct ecoff_debug_info *output_debug, - const struct ecoff_debug_swap *output_swap, bfd *input_bfd, - struct bfd_link_info *); -extern bfd_boolean bfd_ecoff_debug_externals - (bfd *abfd, struct ecoff_debug_info *debug, - const struct ecoff_debug_swap *swap, bfd_boolean relocatable, - bfd_boolean (*get_extr) (struct bfd_symbol *, struct ecoff_extr *), - void (*set_index) (struct bfd_symbol *, bfd_size_type)); -extern bfd_boolean bfd_ecoff_debug_one_external - (bfd *abfd, struct ecoff_debug_info *debug, - const struct ecoff_debug_swap *swap, const char *name, - struct ecoff_extr *esym); -extern bfd_size_type bfd_ecoff_debug_size - (bfd *abfd, struct ecoff_debug_info *debug, - const struct ecoff_debug_swap *swap); -extern bfd_boolean bfd_ecoff_write_debug - (bfd *abfd, struct ecoff_debug_info *debug, - const struct ecoff_debug_swap *swap, file_ptr where); -extern bfd_boolean bfd_ecoff_write_accumulated_debug - (void *handle, bfd *abfd, struct ecoff_debug_info *debug, - const struct ecoff_debug_swap *swap, - struct bfd_link_info *info, file_ptr where); - -/* Externally visible ELF routines. */ - -struct bfd_link_needed_list -{ - struct bfd_link_needed_list *next; - bfd *by; - const char *name; -}; - -enum dynamic_lib_link_class { - DYN_NORMAL = 0, - DYN_AS_NEEDED = 1, - DYN_DT_NEEDED = 2, - DYN_NO_ADD_NEEDED = 4, - DYN_NO_NEEDED = 8 -}; - -enum notice_asneeded_action { - notice_as_needed, - notice_not_needed, - notice_needed -}; - -extern bfd_boolean bfd_elf_record_link_assignment - (bfd *, struct bfd_link_info *, const char *, bfd_boolean, - bfd_boolean); -extern struct bfd_link_needed_list *bfd_elf_get_needed_list - (bfd *, struct bfd_link_info *); -extern bfd_boolean bfd_elf_get_bfd_needed_list - (bfd *, struct bfd_link_needed_list **); -extern bfd_boolean bfd_elf_stack_segment_size (bfd *, struct bfd_link_info *, - const char *, bfd_vma); -extern bfd_boolean bfd_elf_size_dynamic_sections - (bfd *, const char *, const char *, const char *, const char *, const char *, - const char * const *, struct bfd_link_info *, struct bfd_section **); -extern bfd_boolean bfd_elf_size_dynsym_hash_dynstr - (bfd *, struct bfd_link_info *); -extern void bfd_elf_set_dt_needed_name - (bfd *, const char *); -extern const char *bfd_elf_get_dt_soname - (bfd *); -extern void bfd_elf_set_dyn_lib_class - (bfd *, enum dynamic_lib_link_class); -extern int bfd_elf_get_dyn_lib_class - (bfd *); -extern struct bfd_link_needed_list *bfd_elf_get_runpath_list - (bfd *, struct bfd_link_info *); -extern int bfd_elf_discard_info - (bfd *, struct bfd_link_info *); -extern unsigned int _bfd_elf_default_action_discarded - (struct bfd_section *); - -/* Return an upper bound on the number of bytes required to store a - copy of ABFD's program header table entries. Return -1 if an error - occurs; bfd_get_error will return an appropriate code. */ -extern long bfd_get_elf_phdr_upper_bound - (bfd *abfd); - -/* Copy ABFD's program header table entries to *PHDRS. The entries - will be stored as an array of Elf_Internal_Phdr structures, as - defined in include/elf/internal.h. To find out how large the - buffer needs to be, call bfd_get_elf_phdr_upper_bound. - - Return the number of program header table entries read, or -1 if an - error occurs; bfd_get_error will return an appropriate code. */ -extern int bfd_get_elf_phdrs - (bfd *abfd, void *phdrs); - -/* Create a new BFD as if by bfd_openr. Rather than opening a file, - reconstruct an ELF file by reading the segments out of remote - memory based on the ELF file header at EHDR_VMA and the ELF program - headers it points to. If non-zero, SIZE is the known extent of the - object. If not null, *LOADBASEP is filled in with the difference - between the VMAs from which the segments were read, and the VMAs - the file headers (and hence BFD's idea of each section's VMA) put - them at. - - The function TARGET_READ_MEMORY is called to copy LEN bytes from - the remote memory at target address VMA into the local buffer at - MYADDR; it should return zero on success or an `errno' code on - failure. TEMPL must be a BFD for a target with the word size and - byte order found in the remote memory. */ -extern bfd *bfd_elf_bfd_from_remote_memory - (bfd *templ, bfd_vma ehdr_vma, bfd_size_type size, bfd_vma *loadbasep, - int (*target_read_memory) (bfd_vma vma, bfd_byte *myaddr, - bfd_size_type len)); - -extern struct bfd_section *_bfd_elf_tls_setup - (bfd *, struct bfd_link_info *); - -extern struct bfd_section * -_bfd_nearby_section (bfd *, struct bfd_section *, bfd_vma); - -extern void _bfd_fix_excluded_sec_syms - (bfd *, struct bfd_link_info *); - -extern unsigned bfd_m68k_mach_to_features (int); - -extern int bfd_m68k_features_to_mach (unsigned); - -extern bfd_boolean bfd_m68k_elf32_create_embedded_relocs - (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *, - char **); - -extern void bfd_elf_m68k_set_target_options (struct bfd_link_info *, int); - -extern bfd_boolean bfd_bfin_elf32_create_embedded_relocs - (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *, - char **); - -extern bfd_boolean bfd_cr16_elf32_create_embedded_relocs - (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *, - char **); - -/* SunOS shared library support routines for the linker. */ - -extern struct bfd_link_needed_list *bfd_sunos_get_needed_list - (bfd *, struct bfd_link_info *); -extern bfd_boolean bfd_sunos_record_link_assignment - (bfd *, struct bfd_link_info *, const char *); -extern bfd_boolean bfd_sunos_size_dynamic_sections - (bfd *, struct bfd_link_info *, struct bfd_section **, - struct bfd_section **, struct bfd_section **); - -/* Linux shared library support routines for the linker. */ - -extern bfd_boolean bfd_i386linux_size_dynamic_sections - (bfd *, struct bfd_link_info *); -extern bfd_boolean bfd_m68klinux_size_dynamic_sections - (bfd *, struct bfd_link_info *); -extern bfd_boolean bfd_sparclinux_size_dynamic_sections - (bfd *, struct bfd_link_info *); - -/* mmap hacks */ - -struct _bfd_window_internal; -typedef struct _bfd_window_internal bfd_window_internal; - -typedef struct _bfd_window -{ - /* What the user asked for. */ - void *data; - bfd_size_type size; - /* The actual window used by BFD. Small user-requested read-only - regions sharing a page may share a single window into the object - file. Read-write versions shouldn't until I've fixed things to - keep track of which portions have been claimed by the - application; don't want to give the same region back when the - application wants two writable copies! */ - struct _bfd_window_internal *i; -} -bfd_window; - -extern void bfd_init_window - (bfd_window *); -extern void bfd_free_window - (bfd_window *); -extern bfd_boolean bfd_get_file_window - (bfd *, file_ptr, bfd_size_type, bfd_window *, bfd_boolean); - -/* XCOFF support routines for the linker. */ - -extern bfd_boolean bfd_xcoff_split_import_path - (bfd *, const char *, const char **, const char **); -extern bfd_boolean bfd_xcoff_set_archive_import_path - (struct bfd_link_info *, bfd *, const char *); -extern bfd_boolean bfd_xcoff_link_record_set - (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, bfd_size_type); -extern bfd_boolean bfd_xcoff_import_symbol - (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, bfd_vma, - const char *, const char *, const char *, unsigned int); -extern bfd_boolean bfd_xcoff_export_symbol - (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *); -extern bfd_boolean bfd_xcoff_link_count_reloc - (bfd *, struct bfd_link_info *, const char *); -extern bfd_boolean bfd_xcoff_record_link_assignment - (bfd *, struct bfd_link_info *, const char *); -extern bfd_boolean bfd_xcoff_size_dynamic_sections - (bfd *, struct bfd_link_info *, const char *, const char *, - unsigned long, unsigned long, unsigned long, bfd_boolean, - int, bfd_boolean, unsigned int, struct bfd_section **, bfd_boolean); -extern bfd_boolean bfd_xcoff_link_generate_rtinit - (bfd *, const char *, const char *, bfd_boolean); - -/* XCOFF support routines for ar. */ -extern bfd_boolean bfd_xcoff_ar_archive_set_magic - (bfd *, char *); - -/* Externally visible COFF routines. */ - -#if defined(__STDC__) || defined(ALMOST_STDC) -struct internal_syment; -union internal_auxent; -#endif - -extern bfd_boolean bfd_coff_set_symbol_class - (bfd *, struct bfd_symbol *, unsigned int); - -extern bfd_boolean bfd_m68k_coff_create_embedded_relocs - (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *, char **); - -/* ARM VFP11 erratum workaround support. */ -typedef enum -{ - BFD_ARM_VFP11_FIX_DEFAULT, - BFD_ARM_VFP11_FIX_NONE, - BFD_ARM_VFP11_FIX_SCALAR, - BFD_ARM_VFP11_FIX_VECTOR -} bfd_arm_vfp11_fix; - -extern void bfd_elf32_arm_init_maps - (bfd *); - -extern void bfd_elf32_arm_set_vfp11_fix - (bfd *, struct bfd_link_info *); - -extern void bfd_elf32_arm_set_cortex_a8_fix - (bfd *, struct bfd_link_info *); - -extern bfd_boolean bfd_elf32_arm_vfp11_erratum_scan - (bfd *, struct bfd_link_info *); - -extern void bfd_elf32_arm_vfp11_fix_veneer_locations - (bfd *, struct bfd_link_info *); - -/* ARM STM STM32L4XX erratum workaround support. */ -typedef enum -{ - BFD_ARM_STM32L4XX_FIX_NONE, - BFD_ARM_STM32L4XX_FIX_DEFAULT, - BFD_ARM_STM32L4XX_FIX_ALL -} bfd_arm_stm32l4xx_fix; - -extern void bfd_elf32_arm_set_stm32l4xx_fix - (bfd *, struct bfd_link_info *); - -extern bfd_boolean bfd_elf32_arm_stm32l4xx_erratum_scan - (bfd *, struct bfd_link_info *); - -extern void bfd_elf32_arm_stm32l4xx_fix_veneer_locations - (bfd *, struct bfd_link_info *); - -/* ARM Interworking support. Called from linker. */ -extern bfd_boolean bfd_arm_allocate_interworking_sections - (struct bfd_link_info *); - -extern bfd_boolean bfd_arm_process_before_allocation - (bfd *, struct bfd_link_info *, int); - -extern bfd_boolean bfd_arm_get_bfd_for_interworking - (bfd *, struct bfd_link_info *); - -/* PE ARM Interworking support. Called from linker. */ -extern bfd_boolean bfd_arm_pe_allocate_interworking_sections - (struct bfd_link_info *); - -extern bfd_boolean bfd_arm_pe_process_before_allocation - (bfd *, struct bfd_link_info *, int); - -extern bfd_boolean bfd_arm_pe_get_bfd_for_interworking - (bfd *, struct bfd_link_info *); - -/* ELF ARM Interworking support. Called from linker. */ -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 *); - -struct elf32_arm_params { - char *thumb_entry_symbol; - int byteswap_code; - int target1_is_rel; - char * target2_type; - int fix_v4bx; - int use_blx; - bfd_arm_vfp11_fix vfp11_denorm_fix; - bfd_arm_stm32l4xx_fix stm32l4xx_fix; - int no_enum_size_warning; - int no_wchar_size_warning; - int pic_veneer; - int fix_cortex_a8; - int fix_arm1176; - int merge_exidx_entries; - int cmse_implib; - bfd *in_implib_bfd; -}; - -void bfd_elf32_arm_set_target_params - (bfd *, struct bfd_link_info *, struct elf32_arm_params *); - -extern bfd_boolean bfd_elf32_arm_get_bfd_for_interworking - (bfd *, struct bfd_link_info *); - -extern bfd_boolean bfd_elf32_arm_add_glue_sections_to_bfd - (bfd *, struct bfd_link_info *); - -extern void bfd_elf32_arm_keep_private_stub_output_sections - (struct bfd_link_info *); - -/* ELF ARM mapping symbol support. */ -#define BFD_ARM_SPECIAL_SYM_TYPE_MAP (1 << 0) -#define BFD_ARM_SPECIAL_SYM_TYPE_TAG (1 << 1) -#define BFD_ARM_SPECIAL_SYM_TYPE_OTHER (1 << 2) -#define BFD_ARM_SPECIAL_SYM_TYPE_ANY (~0) - -extern bfd_boolean bfd_is_arm_special_symbol_name - (const char *, int); - -extern void bfd_elf32_arm_set_byteswap_code - (struct bfd_link_info *, int); - -extern void bfd_elf32_arm_use_long_plt (void); - -/* ARM Note section processing. */ -extern bfd_boolean bfd_arm_merge_machines - (bfd *, bfd *); - -extern bfd_boolean bfd_arm_update_notes - (bfd *, const char *); - -extern unsigned int bfd_arm_get_mach_from_notes - (bfd *, const char *); - -/* ARM stub generation support. Called from the linker. */ -extern int elf32_arm_setup_section_lists - (bfd *, struct bfd_link_info *); -extern void elf32_arm_next_input_section - (struct bfd_link_info *, struct bfd_section *); -extern bfd_boolean elf32_arm_size_stubs - (bfd *, bfd *, struct bfd_link_info *, bfd_signed_vma, - struct bfd_section * (*) (const char *, struct bfd_section *, - struct bfd_section *, unsigned int), - void (*) (void)); -extern bfd_boolean elf32_arm_build_stubs - (struct bfd_link_info *); - -/* ARM unwind section editing support. */ -extern bfd_boolean elf32_arm_fix_exidx_coverage -(struct bfd_section **, unsigned int, struct bfd_link_info *, bfd_boolean); - -/* C6x unwind section editing support. */ -extern bfd_boolean elf32_tic6x_fix_exidx_coverage -(struct bfd_section **, unsigned int, struct bfd_link_info *, bfd_boolean); - -extern void bfd_elf64_aarch64_init_maps - (bfd *); - -extern void bfd_elf32_aarch64_init_maps - (bfd *); - -extern void bfd_elf64_aarch64_set_options - (bfd *, struct bfd_link_info *, int, int, int, int, int, int); - -extern void bfd_elf32_aarch64_set_options - (bfd *, struct bfd_link_info *, int, int, int, int, int, int); - -/* ELF AArch64 mapping symbol support. */ -#define BFD_AARCH64_SPECIAL_SYM_TYPE_MAP (1 << 0) -#define BFD_AARCH64_SPECIAL_SYM_TYPE_TAG (1 << 1) -#define BFD_AARCH64_SPECIAL_SYM_TYPE_OTHER (1 << 2) -#define BFD_AARCH64_SPECIAL_SYM_TYPE_ANY (~0) -extern bfd_boolean bfd_is_aarch64_special_symbol_name - (const char * name, int type); - -/* AArch64 stub generation support for ELF64. Called from the linker. */ -extern int elf64_aarch64_setup_section_lists - (bfd *, struct bfd_link_info *); -extern void elf64_aarch64_next_input_section - (struct bfd_link_info *, struct bfd_section *); -extern bfd_boolean elf64_aarch64_size_stubs - (bfd *, bfd *, struct bfd_link_info *, bfd_signed_vma, - struct bfd_section * (*) (const char *, struct bfd_section *), - void (*) (void)); -extern bfd_boolean elf64_aarch64_build_stubs - (struct bfd_link_info *); -/* AArch64 stub generation support for ELF32. Called from the linker. */ -extern int elf32_aarch64_setup_section_lists - (bfd *, struct bfd_link_info *); -extern void elf32_aarch64_next_input_section - (struct bfd_link_info *, struct bfd_section *); -extern bfd_boolean elf32_aarch64_size_stubs - (bfd *, bfd *, struct bfd_link_info *, bfd_signed_vma, - struct bfd_section * (*) (const char *, struct bfd_section *), - void (*) (void)); -extern bfd_boolean elf32_aarch64_build_stubs - (struct bfd_link_info *); - - -/* TI COFF load page support. */ -extern void bfd_ticoff_set_section_load_page - (struct bfd_section *, int); - -extern int bfd_ticoff_get_section_load_page - (struct bfd_section *); - -/* H8/300 functions. */ -extern bfd_vma bfd_h8300_pad_address - (bfd *, bfd_vma); - -/* IA64 Itanium code generation. Called from linker. */ -extern void bfd_elf32_ia64_after_parse - (int); - -extern void bfd_elf64_ia64_after_parse - (int); - -/* V850 Note manipulation routines. */ -extern bfd_boolean v850_elf_create_sections - (struct bfd_link_info *); - -extern bfd_boolean v850_elf_set_note - (bfd *, unsigned int, unsigned int); - -/* MIPS ABI flags data access. For the disassembler. */ -struct elf_internal_abiflags_v0; -extern struct elf_internal_abiflags_v0 *bfd_mips_elf_get_abiflags (bfd *); -/* Extracted from init.c. */ -void bfd_init (void); - -/* Extracted from opncls.c. */ -/* Set to N to open the next N BFDs using an alternate id space. */ -extern unsigned int bfd_use_reserved_id; -bfd *bfd_fopen (const char *filename, const char *target, - const char *mode, int fd); - -bfd *bfd_openr (const char *filename, const char *target); - -bfd *bfd_fdopenr (const char *filename, const char *target, int fd); - -bfd *bfd_openstreamr (const char * filename, const char * target, - void * stream); - -bfd *bfd_openr_iovec (const char *filename, const char *target, - void *(*open_func) (struct bfd *nbfd, - void *open_closure), - void *open_closure, - file_ptr (*pread_func) (struct bfd *nbfd, - void *stream, - void *buf, - file_ptr nbytes, - file_ptr offset), - int (*close_func) (struct bfd *nbfd, - void *stream), - int (*stat_func) (struct bfd *abfd, - void *stream, - struct stat *sb)); - -bfd *bfd_openw (const char *filename, const char *target); - -bfd_boolean bfd_close (bfd *abfd); - -bfd_boolean bfd_close_all_done (bfd *); - -bfd *bfd_create (const char *filename, bfd *templ); - -bfd_boolean bfd_make_writable (bfd *abfd); - -bfd_boolean bfd_make_readable (bfd *abfd); - -void *bfd_alloc (bfd *abfd, bfd_size_type wanted); - -void *bfd_zalloc (bfd *abfd, bfd_size_type wanted); - -unsigned long bfd_calc_gnu_debuglink_crc32 - (unsigned long crc, const unsigned char *buf, bfd_size_type len); - -char *bfd_get_debug_link_info (bfd *abfd, unsigned long *crc32_out); - -char *bfd_get_alt_debug_link_info (bfd * abfd, - bfd_size_type *buildid_len, - bfd_byte **buildid_out); - -char *bfd_follow_gnu_debuglink (bfd *abfd, const char *dir); - -char *bfd_follow_gnu_debugaltlink (bfd *abfd, const char *dir); - -struct bfd_section *bfd_create_gnu_debuglink_section - (bfd *abfd, const char *filename); - -bfd_boolean bfd_fill_in_gnu_debuglink_section - (bfd *abfd, struct bfd_section *sect, const char *filename); - -char *bfd_follow_build_id_debuglink (bfd *abfd, const char *dir); - -/* Extracted from libbfd.c. */ - -/* Byte swapping macros for user section data. */ - -#define bfd_put_8(abfd, val, ptr) \ - ((void) (*((unsigned char *) (ptr)) = (val) & 0xff)) -#define bfd_put_signed_8 \ - bfd_put_8 -#define bfd_get_8(abfd, ptr) \ - (*(const unsigned char *) (ptr) & 0xff) -#define bfd_get_signed_8(abfd, ptr) \ - (((*(const unsigned char *) (ptr) & 0xff) ^ 0x80) - 0x80) - -#define bfd_put_16(abfd, val, ptr) \ - BFD_SEND (abfd, bfd_putx16, ((val),(ptr))) -#define bfd_put_signed_16 \ - bfd_put_16 -#define bfd_get_16(abfd, ptr) \ - BFD_SEND (abfd, bfd_getx16, (ptr)) -#define bfd_get_signed_16(abfd, ptr) \ - BFD_SEND (abfd, bfd_getx_signed_16, (ptr)) - -#define bfd_put_32(abfd, val, ptr) \ - BFD_SEND (abfd, bfd_putx32, ((val),(ptr))) -#define bfd_put_signed_32 \ - bfd_put_32 -#define bfd_get_32(abfd, ptr) \ - BFD_SEND (abfd, bfd_getx32, (ptr)) -#define bfd_get_signed_32(abfd, ptr) \ - BFD_SEND (abfd, bfd_getx_signed_32, (ptr)) - -#define bfd_put_64(abfd, val, ptr) \ - BFD_SEND (abfd, bfd_putx64, ((val), (ptr))) -#define bfd_put_signed_64 \ - bfd_put_64 -#define bfd_get_64(abfd, ptr) \ - BFD_SEND (abfd, bfd_getx64, (ptr)) -#define bfd_get_signed_64(abfd, ptr) \ - BFD_SEND (abfd, bfd_getx_signed_64, (ptr)) - -#define bfd_get(bits, abfd, ptr) \ - ((bits) == 8 ? (bfd_vma) bfd_get_8 (abfd, ptr) \ - : (bits) == 16 ? bfd_get_16 (abfd, ptr) \ - : (bits) == 32 ? bfd_get_32 (abfd, ptr) \ - : (bits) == 64 ? bfd_get_64 (abfd, ptr) \ - : (abort (), (bfd_vma) - 1)) - -#define bfd_put(bits, abfd, val, ptr) \ - ((bits) == 8 ? bfd_put_8 (abfd, val, ptr) \ - : (bits) == 16 ? bfd_put_16 (abfd, val, ptr) \ - : (bits) == 32 ? bfd_put_32 (abfd, val, ptr) \ - : (bits) == 64 ? bfd_put_64 (abfd, val, ptr) \ - : (abort (), (void) 0)) - - -/* Byte swapping macros for file header data. */ - -#define bfd_h_put_8(abfd, val, ptr) \ - bfd_put_8 (abfd, val, ptr) -#define bfd_h_put_signed_8(abfd, val, ptr) \ - bfd_put_8 (abfd, val, ptr) -#define bfd_h_get_8(abfd, ptr) \ - bfd_get_8 (abfd, ptr) -#define bfd_h_get_signed_8(abfd, ptr) \ - bfd_get_signed_8 (abfd, ptr) - -#define bfd_h_put_16(abfd, val, ptr) \ - BFD_SEND (abfd, bfd_h_putx16, (val, ptr)) -#define bfd_h_put_signed_16 \ - bfd_h_put_16 -#define bfd_h_get_16(abfd, ptr) \ - BFD_SEND (abfd, bfd_h_getx16, (ptr)) -#define bfd_h_get_signed_16(abfd, ptr) \ - BFD_SEND (abfd, bfd_h_getx_signed_16, (ptr)) - -#define bfd_h_put_32(abfd, val, ptr) \ - BFD_SEND (abfd, bfd_h_putx32, (val, ptr)) -#define bfd_h_put_signed_32 \ - bfd_h_put_32 -#define bfd_h_get_32(abfd, ptr) \ - BFD_SEND (abfd, bfd_h_getx32, (ptr)) -#define bfd_h_get_signed_32(abfd, ptr) \ - BFD_SEND (abfd, bfd_h_getx_signed_32, (ptr)) - -#define bfd_h_put_64(abfd, val, ptr) \ - BFD_SEND (abfd, bfd_h_putx64, (val, ptr)) -#define bfd_h_put_signed_64 \ - bfd_h_put_64 -#define bfd_h_get_64(abfd, ptr) \ - BFD_SEND (abfd, bfd_h_getx64, (ptr)) -#define bfd_h_get_signed_64(abfd, ptr) \ - BFD_SEND (abfd, bfd_h_getx_signed_64, (ptr)) - -/* Aliases for the above, which should eventually go away. */ - -#define H_PUT_64 bfd_h_put_64 -#define H_PUT_32 bfd_h_put_32 -#define H_PUT_16 bfd_h_put_16 -#define H_PUT_8 bfd_h_put_8 -#define H_PUT_S64 bfd_h_put_signed_64 -#define H_PUT_S32 bfd_h_put_signed_32 -#define H_PUT_S16 bfd_h_put_signed_16 -#define H_PUT_S8 bfd_h_put_signed_8 -#define H_GET_64 bfd_h_get_64 -#define H_GET_32 bfd_h_get_32 -#define H_GET_16 bfd_h_get_16 -#define H_GET_8 bfd_h_get_8 -#define H_GET_S64 bfd_h_get_signed_64 -#define H_GET_S32 bfd_h_get_signed_32 -#define H_GET_S16 bfd_h_get_signed_16 -#define H_GET_S8 bfd_h_get_signed_8 - - -/* Extracted from bfdio.c. */ -long bfd_get_mtime (bfd *abfd); - -ufile_ptr bfd_get_size (bfd *abfd); - -ufile_ptr bfd_get_file_size (bfd *abfd); - -void *bfd_mmap (bfd *abfd, void *addr, bfd_size_type len, - int prot, int flags, file_ptr offset, - void **map_addr, bfd_size_type *map_len); - -/* Extracted from bfdwin.c. */ -/* Extracted from section.c. */ - -typedef struct bfd_section -{ - /* The name of the section; the name isn't a copy, the pointer is - the same as that passed to bfd_make_section. */ - const char *name; - - /* A unique sequence number. */ - unsigned int id; - - /* Which section in the bfd; 0..n-1 as sections are created in a bfd. */ - unsigned int index; - - /* The next section in the list belonging to the BFD, or NULL. */ - struct bfd_section *next; - - /* The previous section in the list belonging to the BFD, or NULL. */ - struct bfd_section *prev; - - /* The field flags contains attributes of the section. Some - flags are read in from the object file, and some are - synthesized from other information. */ - flagword flags; - -#define SEC_NO_FLAGS 0x0 - - /* Tells the OS to allocate space for this section when loading. - This is clear for a section containing debug information only. */ -#define SEC_ALLOC 0x1 - - /* Tells the OS to load the section from the file when loading. - This is clear for a .bss section. */ -#define SEC_LOAD 0x2 - - /* The section contains data still to be relocated, so there is - some relocation information too. */ -#define SEC_RELOC 0x4 - - /* A signal to the OS that the section contains read only data. */ -#define SEC_READONLY 0x8 - - /* The section contains code only. */ -#define SEC_CODE 0x10 - - /* The section contains data only. */ -#define SEC_DATA 0x20 - - /* The section will reside in ROM. */ -#define SEC_ROM 0x40 - - /* The section contains constructor information. This section - type is used by the linker to create lists of constructors and - destructors used by <<g++>>. When a back end sees a symbol - which should be used in a constructor list, it creates a new - section for the type of name (e.g., <<__CTOR_LIST__>>), attaches - the symbol to it, and builds a relocation. To build the lists - of constructors, all the linker has to do is catenate all the - sections called <<__CTOR_LIST__>> and relocate the data - contained within - exactly the operations it would peform on - standard data. */ -#define SEC_CONSTRUCTOR 0x80 - - /* The section has contents - a data section could be - <<SEC_ALLOC>> | <<SEC_HAS_CONTENTS>>; a debug section could be - <<SEC_HAS_CONTENTS>> */ -#define SEC_HAS_CONTENTS 0x100 - - /* An instruction to the linker to not output the section - even if it has information which would normally be written. */ -#define SEC_NEVER_LOAD 0x200 - - /* The section contains thread local data. */ -#define SEC_THREAD_LOCAL 0x400 - - /* The section has GOT references. This flag is only for the - linker, and is currently only used by the elf32-hppa back end. - It will be set if global offset table references were detected - in this section, which indicate to the linker that the section - contains PIC code, and must be handled specially when doing a - static link. */ -#define SEC_HAS_GOT_REF 0x800 - - /* The section contains common symbols (symbols may be defined - multiple times, the value of a symbol is the amount of - space it requires, and the largest symbol value is the one - used). Most targets have exactly one of these (which we - translate to bfd_com_section_ptr), but ECOFF has two. */ -#define SEC_IS_COMMON 0x1000 - - /* The section contains only debugging information. For - example, this is set for ELF .debug and .stab sections. - strip tests this flag to see if a section can be - discarded. */ -#define SEC_DEBUGGING 0x2000 - - /* The contents of this section are held in memory pointed to - by the contents field. This is checked by bfd_get_section_contents, - and the data is retrieved from memory if appropriate. */ -#define SEC_IN_MEMORY 0x4000 - - /* The contents of this section are to be excluded by the - linker for executable and shared objects unless those - objects are to be further relocated. */ -#define SEC_EXCLUDE 0x8000 - - /* The contents of this section are to be sorted based on the sum of - the symbol and addend values specified by the associated relocation - entries. Entries without associated relocation entries will be - appended to the end of the section in an unspecified order. */ -#define SEC_SORT_ENTRIES 0x10000 - - /* When linking, duplicate sections of the same name should be - discarded, rather than being combined into a single section as - is usually done. This is similar to how common symbols are - handled. See SEC_LINK_DUPLICATES below. */ -#define SEC_LINK_ONCE 0x20000 - - /* If SEC_LINK_ONCE is set, this bitfield describes how the linker - should handle duplicate sections. */ -#define SEC_LINK_DUPLICATES 0xc0000 - - /* This value for SEC_LINK_DUPLICATES means that duplicate - sections with the same name should simply be discarded. */ -#define SEC_LINK_DUPLICATES_DISCARD 0x0 - - /* This value for SEC_LINK_DUPLICATES means that the linker - should warn if there are any duplicate sections, although - it should still only link one copy. */ -#define SEC_LINK_DUPLICATES_ONE_ONLY 0x40000 - - /* This value for SEC_LINK_DUPLICATES means that the linker - should warn if any duplicate sections are a different size. */ -#define SEC_LINK_DUPLICATES_SAME_SIZE 0x80000 - - /* This value for SEC_LINK_DUPLICATES means that the linker - should warn if any duplicate sections contain different - contents. */ -#define SEC_LINK_DUPLICATES_SAME_CONTENTS \ - (SEC_LINK_DUPLICATES_ONE_ONLY | SEC_LINK_DUPLICATES_SAME_SIZE) - - /* This section was created by the linker as part of dynamic - relocation or other arcane processing. It is skipped when - going through the first-pass output, trusting that someone - else up the line will take care of it later. */ -#define SEC_LINKER_CREATED 0x100000 - - /* This section should not be subject to garbage collection. - Also set to inform the linker that this section should not be - listed in the link map as discarded. */ -#define SEC_KEEP 0x200000 - - /* This section contains "short" data, and should be placed - "near" the GP. */ -#define SEC_SMALL_DATA 0x400000 - - /* Attempt to merge identical entities in the section. - Entity size is given in the entsize field. */ -#define SEC_MERGE 0x800000 - - /* If given with SEC_MERGE, entities to merge are zero terminated - strings where entsize specifies character size instead of fixed - size entries. */ -#define SEC_STRINGS 0x1000000 - - /* This section contains data about section groups. */ -#define SEC_GROUP 0x2000000 - - /* The section is a COFF shared library section. This flag is - only for the linker. If this type of section appears in - the input file, the linker must copy it to the output file - without changing the vma or size. FIXME: Although this - was originally intended to be general, it really is COFF - specific (and the flag was renamed to indicate this). It - might be cleaner to have some more general mechanism to - allow the back end to control what the linker does with - sections. */ -#define SEC_COFF_SHARED_LIBRARY 0x4000000 - - /* This input section should be copied to output in reverse order - as an array of pointers. This is for ELF linker internal use - only. */ -#define SEC_ELF_REVERSE_COPY 0x4000000 - - /* This section contains data which may be shared with other - executables or shared objects. This is for COFF only. */ -#define SEC_COFF_SHARED 0x8000000 - - /* This section should be compressed. This is for ELF linker - internal use only. */ -#define SEC_ELF_COMPRESS 0x8000000 - - /* When a section with this flag is being linked, then if the size of - the input section is less than a page, it should not cross a page - boundary. If the size of the input section is one page or more, - it should be aligned on a page boundary. This is for TI - TMS320C54X only. */ -#define SEC_TIC54X_BLOCK 0x10000000 - - /* This section should be renamed. This is for ELF linker - internal use only. */ -#define SEC_ELF_RENAME 0x10000000 - - /* Conditionally link this section; do not link if there are no - references found to any symbol in the section. This is for TI - TMS320C54X only. */ -#define SEC_TIC54X_CLINK 0x20000000 - - /* This section contains vliw code. This is for Toshiba MeP only. */ -#define SEC_MEP_VLIW 0x20000000 - - /* Indicate that section has the no read flag set. This happens - when memory read flag isn't set. */ -#define SEC_COFF_NOREAD 0x40000000 - - /* Indicate that section has the purecode flag set. */ -#define SEC_ELF_PURECODE 0x80000000 - - /* End of section flags. */ - - /* Some internal packed boolean fields. */ - - /* See the vma field. */ - unsigned int user_set_vma : 1; - - /* A mark flag used by some of the linker backends. */ - unsigned int linker_mark : 1; - - /* Another mark flag used by some of the linker backends. Set for - output sections that have an input section. */ - unsigned int linker_has_input : 1; - - /* Mark flag used by some linker backends for garbage collection. */ - unsigned int gc_mark : 1; - - /* Section compression status. */ - unsigned int compress_status : 2; -#define COMPRESS_SECTION_NONE 0 -#define COMPRESS_SECTION_DONE 1 -#define DECOMPRESS_SECTION_SIZED 2 - - /* The following flags are used by the ELF linker. */ - - /* Mark sections which have been allocated to segments. */ - unsigned int segment_mark : 1; - - /* Type of sec_info information. */ - unsigned int sec_info_type:3; -#define SEC_INFO_TYPE_NONE 0 -#define SEC_INFO_TYPE_STABS 1 -#define SEC_INFO_TYPE_MERGE 2 -#define SEC_INFO_TYPE_EH_FRAME 3 -#define SEC_INFO_TYPE_JUST_SYMS 4 -#define SEC_INFO_TYPE_TARGET 5 -#define SEC_INFO_TYPE_EH_FRAME_ENTRY 6 - - /* Nonzero if this section uses RELA relocations, rather than REL. */ - unsigned int use_rela_p:1; - - /* Bits used by various backends. The generic code doesn't touch - these fields. */ - - unsigned int sec_flg0:1; - unsigned int sec_flg1:1; - unsigned int sec_flg2:1; - unsigned int sec_flg3:1; - unsigned int sec_flg4:1; - unsigned int sec_flg5:1; - - /* End of internal packed boolean fields. */ - - /* The virtual memory address of the section - where it will be - at run time. The symbols are relocated against this. The - user_set_vma flag is maintained by bfd; if it's not set, the - backend can assign addresses (for example, in <<a.out>>, where - the default address for <<.data>> is dependent on the specific - target and various flags). */ - bfd_vma vma; - - /* The load address of the section - where it would be in a - rom image; really only used for writing section header - information. */ - bfd_vma lma; - - /* The size of the section in *octets*, as it will be output. - Contains a value even if the section has no contents (e.g., the - size of <<.bss>>). */ - bfd_size_type size; - - /* For input sections, the original size on disk of the section, in - octets. This field should be set for any section whose size is - changed by linker relaxation. It is required for sections where - the linker relaxation scheme doesn't cache altered section and - reloc contents (stabs, eh_frame, SEC_MERGE, some coff relaxing - targets), and thus the original size needs to be kept to read the - section multiple times. For output sections, rawsize holds the - section size calculated on a previous linker relaxation pass. */ - bfd_size_type rawsize; - - /* The compressed size of the section in octets. */ - bfd_size_type compressed_size; - - /* Relaxation table. */ - struct relax_table *relax; - - /* Count of used relaxation table entries. */ - int relax_count; - - - /* If this section is going to be output, then this value is the - offset in *bytes* into the output section of the first byte in the - input section (byte ==> smallest addressable unit on the - target). In most cases, if this was going to start at the - 100th octet (8-bit quantity) in the output section, this value - would be 100. However, if the target byte size is 16 bits - (bfd_octets_per_byte is "2"), this value would be 50. */ - bfd_vma output_offset; - - /* The output section through which to map on output. */ - struct bfd_section *output_section; - - /* The alignment requirement of the section, as an exponent of 2 - - e.g., 3 aligns to 2^3 (or 8). */ - unsigned int alignment_power; - - /* If an input section, a pointer to a vector of relocation - records for the data in this section. */ - struct reloc_cache_entry *relocation; - - /* If an output section, a pointer to a vector of pointers to - relocation records for the data in this section. */ - struct reloc_cache_entry **orelocation; - - /* The number of relocation records in one of the above. */ - unsigned reloc_count; - - /* Information below is back end specific - and not always used - or updated. */ - - /* File position of section data. */ - file_ptr filepos; - - /* File position of relocation info. */ - file_ptr rel_filepos; - - /* File position of line data. */ - file_ptr line_filepos; - - /* Pointer to data for applications. */ - void *userdata; - - /* If the SEC_IN_MEMORY flag is set, this points to the actual - contents. */ - unsigned char *contents; - - /* Attached line number information. */ - alent *lineno; - - /* Number of line number records. */ - unsigned int lineno_count; - - /* Entity size for merging purposes. */ - unsigned int entsize; - - /* Points to the kept section if this section is a link-once section, - and is discarded. */ - struct bfd_section *kept_section; - - /* When a section is being output, this value changes as more - linenumbers are written out. */ - file_ptr moving_line_filepos; - - /* What the section number is in the target world. */ - int target_index; - - void *used_by_bfd; - - /* If this is a constructor section then here is a list of the - relocations created to relocate items within it. */ - struct relent_chain *constructor_chain; - - /* The BFD which owns the section. */ - bfd *owner; - - /* A symbol which points at this section only. */ - struct bfd_symbol *symbol; - struct bfd_symbol **symbol_ptr_ptr; - - /* Early in the link process, map_head and map_tail are used to build - a list of input sections attached to an output section. Later, - output sections use these fields for a list of bfd_link_order - structs. */ - union { - struct bfd_link_order *link_order; - struct bfd_section *s; - } map_head, map_tail; -} asection; - -/* Relax table contains information about instructions which can - be removed by relaxation -- replacing a long address with a - short address. */ -struct relax_table { - /* Address where bytes may be deleted. */ - bfd_vma addr; - - /* Number of bytes to be deleted. */ - int size; -}; - -/* Note: the following are provided as inline functions rather than macros - because not all callers use the return value. A macro implementation - would use a comma expression, eg: "((ptr)->foo = val, TRUE)" and some - compilers will complain about comma expressions that have no effect. */ -static inline bfd_boolean -bfd_set_section_userdata (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, - void * val) -{ - ptr->userdata = val; - return TRUE; -} - -static inline bfd_boolean -bfd_set_section_vma (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, bfd_vma val) -{ - ptr->vma = ptr->lma = val; - ptr->user_set_vma = TRUE; - return TRUE; -} - -static inline bfd_boolean -bfd_set_section_alignment (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, - unsigned int val) -{ - ptr->alignment_power = val; - return TRUE; -} - -/* These sections are global, and are managed by BFD. The application - and target back end are not permitted to change the values in - these sections. */ -extern asection _bfd_std_section[4]; - -#define BFD_ABS_SECTION_NAME "*ABS*" -#define BFD_UND_SECTION_NAME "*UND*" -#define BFD_COM_SECTION_NAME "*COM*" -#define BFD_IND_SECTION_NAME "*IND*" - -/* Pointer to the common section. */ -#define bfd_com_section_ptr (&_bfd_std_section[0]) -/* Pointer to the undefined section. */ -#define bfd_und_section_ptr (&_bfd_std_section[1]) -/* Pointer to the absolute section. */ -#define bfd_abs_section_ptr (&_bfd_std_section[2]) -/* Pointer to the indirect section. */ -#define bfd_ind_section_ptr (&_bfd_std_section[3]) - -#define bfd_is_und_section(sec) ((sec) == bfd_und_section_ptr) -#define bfd_is_abs_section(sec) ((sec) == bfd_abs_section_ptr) -#define bfd_is_ind_section(sec) ((sec) == bfd_ind_section_ptr) - -#define bfd_is_const_section(SEC) \ - ( ((SEC) == bfd_abs_section_ptr) \ - || ((SEC) == bfd_und_section_ptr) \ - || ((SEC) == bfd_com_section_ptr) \ - || ((SEC) == bfd_ind_section_ptr)) - -/* Macros to handle insertion and deletion of a bfd's sections. These - only handle the list pointers, ie. do not adjust section_count, - target_index etc. */ -#define bfd_section_list_remove(ABFD, S) \ - do \ - { \ - asection *_s = S; \ - asection *_next = _s->next; \ - asection *_prev = _s->prev; \ - if (_prev) \ - _prev->next = _next; \ - else \ - (ABFD)->sections = _next; \ - if (_next) \ - _next->prev = _prev; \ - else \ - (ABFD)->section_last = _prev; \ - } \ - while (0) -#define bfd_section_list_append(ABFD, S) \ - do \ - { \ - asection *_s = S; \ - bfd *_abfd = ABFD; \ - _s->next = NULL; \ - if (_abfd->section_last) \ - { \ - _s->prev = _abfd->section_last; \ - _abfd->section_last->next = _s; \ - } \ - else \ - { \ - _s->prev = NULL; \ - _abfd->sections = _s; \ - } \ - _abfd->section_last = _s; \ - } \ - while (0) -#define bfd_section_list_prepend(ABFD, S) \ - do \ - { \ - asection *_s = S; \ - bfd *_abfd = ABFD; \ - _s->prev = NULL; \ - if (_abfd->sections) \ - { \ - _s->next = _abfd->sections; \ - _abfd->sections->prev = _s; \ - } \ - else \ - { \ - _s->next = NULL; \ - _abfd->section_last = _s; \ - } \ - _abfd->sections = _s; \ - } \ - while (0) -#define bfd_section_list_insert_after(ABFD, A, S) \ - do \ - { \ - asection *_a = A; \ - asection *_s = S; \ - asection *_next = _a->next; \ - _s->next = _next; \ - _s->prev = _a; \ - _a->next = _s; \ - if (_next) \ - _next->prev = _s; \ - else \ - (ABFD)->section_last = _s; \ - } \ - while (0) -#define bfd_section_list_insert_before(ABFD, B, S) \ - do \ - { \ - asection *_b = B; \ - asection *_s = S; \ - asection *_prev = _b->prev; \ - _s->prev = _prev; \ - _s->next = _b; \ - _b->prev = _s; \ - if (_prev) \ - _prev->next = _s; \ - else \ - (ABFD)->sections = _s; \ - } \ - while (0) -#define bfd_section_removed_from_list(ABFD, S) \ - ((S)->next == NULL ? (ABFD)->section_last != (S) : (S)->next->prev != (S)) - -#define BFD_FAKE_SECTION(SEC, SYM, NAME, IDX, FLAGS) \ - /* name, id, index, next, prev, flags, user_set_vma, */ \ - { NAME, IDX, 0, NULL, NULL, FLAGS, 0, \ - \ - /* linker_mark, linker_has_input, gc_mark, decompress_status, */ \ - 0, 0, 1, 0, \ - \ - /* segment_mark, sec_info_type, use_rela_p, */ \ - 0, 0, 0, \ - \ - /* sec_flg0, sec_flg1, sec_flg2, sec_flg3, sec_flg4, sec_flg5, */ \ - 0, 0, 0, 0, 0, 0, \ - \ - /* vma, lma, size, rawsize, compressed_size, relax, relax_count, */ \ - 0, 0, 0, 0, 0, 0, 0, \ - \ - /* output_offset, output_section, alignment_power, */ \ - 0, &SEC, 0, \ - \ - /* relocation, orelocation, reloc_count, filepos, rel_filepos, */ \ - NULL, NULL, 0, 0, 0, \ - \ - /* line_filepos, userdata, contents, lineno, lineno_count, */ \ - 0, NULL, NULL, NULL, 0, \ - \ - /* entsize, kept_section, moving_line_filepos, */ \ - 0, NULL, 0, \ - \ - /* target_index, used_by_bfd, constructor_chain, owner, */ \ - 0, NULL, NULL, NULL, \ - \ - /* symbol, symbol_ptr_ptr, */ \ - (struct bfd_symbol *) SYM, &SEC.symbol, \ - \ - /* map_head, map_tail */ \ - { NULL }, { NULL } \ - } - -/* We use a macro to initialize the static asymbol structures because - traditional C does not permit us to initialize a union member while - gcc warns if we don't initialize it. - the_bfd, name, value, attr, section [, udata] */ -#ifdef __STDC__ -#define GLOBAL_SYM_INIT(NAME, SECTION) \ - { 0, NAME, 0, BSF_SECTION_SYM, SECTION, { 0 }} -#else -#define GLOBAL_SYM_INIT(NAME, SECTION) \ - { 0, NAME, 0, BSF_SECTION_SYM, SECTION } -#endif - -void bfd_section_list_clear (bfd *); - -asection *bfd_get_section_by_name (bfd *abfd, const char *name); - -asection *bfd_get_next_section_by_name (bfd *ibfd, asection *sec); - -asection *bfd_get_linker_section (bfd *abfd, const char *name); - -asection *bfd_get_section_by_name_if - (bfd *abfd, - const char *name, - bfd_boolean (*func) (bfd *abfd, asection *sect, void *obj), - void *obj); - -char *bfd_get_unique_section_name - (bfd *abfd, const char *templat, int *count); - -asection *bfd_make_section_old_way (bfd *abfd, const char *name); - -asection *bfd_make_section_anyway_with_flags - (bfd *abfd, const char *name, flagword flags); - -asection *bfd_make_section_anyway (bfd *abfd, const char *name); - -asection *bfd_make_section_with_flags - (bfd *, const char *name, flagword flags); - -asection *bfd_make_section (bfd *, const char *name); - -int bfd_get_next_section_id (void); - -bfd_boolean bfd_set_section_flags - (bfd *abfd, asection *sec, flagword flags); - -void bfd_rename_section - (bfd *abfd, asection *sec, const char *newname); - -void bfd_map_over_sections - (bfd *abfd, - void (*func) (bfd *abfd, asection *sect, void *obj), - void *obj); - -asection *bfd_sections_find_if - (bfd *abfd, - bfd_boolean (*operation) (bfd *abfd, asection *sect, void *obj), - void *obj); - -bfd_boolean bfd_set_section_size - (bfd *abfd, asection *sec, bfd_size_type val); - -bfd_boolean bfd_set_section_contents - (bfd *abfd, asection *section, const void *data, - file_ptr offset, bfd_size_type count); - -bfd_boolean bfd_get_section_contents - (bfd *abfd, asection *section, void *location, file_ptr offset, - bfd_size_type count); - -bfd_boolean bfd_malloc_and_get_section - (bfd *abfd, asection *section, bfd_byte **buf); - -bfd_boolean bfd_copy_private_section_data - (bfd *ibfd, asection *isec, bfd *obfd, asection *osec); - -#define bfd_copy_private_section_data(ibfd, isection, obfd, osection) \ - BFD_SEND (obfd, _bfd_copy_private_section_data, \ - (ibfd, isection, obfd, osection)) -bfd_boolean bfd_generic_is_group_section (bfd *, const asection *sec); - -bfd_boolean bfd_generic_discard_group (bfd *abfd, asection *group); - -/* Extracted from archures.c. */ -enum bfd_architecture -{ - bfd_arch_unknown, /* File arch not known. */ - bfd_arch_obscure, /* Arch known, not one of these. */ - bfd_arch_m68k, /* Motorola 68xxx. */ -#define bfd_mach_m68000 1 -#define bfd_mach_m68008 2 -#define bfd_mach_m68010 3 -#define bfd_mach_m68020 4 -#define bfd_mach_m68030 5 -#define bfd_mach_m68040 6 -#define bfd_mach_m68060 7 -#define bfd_mach_cpu32 8 -#define bfd_mach_fido 9 -#define bfd_mach_mcf_isa_a_nodiv 10 -#define bfd_mach_mcf_isa_a 11 -#define bfd_mach_mcf_isa_a_mac 12 -#define bfd_mach_mcf_isa_a_emac 13 -#define bfd_mach_mcf_isa_aplus 14 -#define bfd_mach_mcf_isa_aplus_mac 15 -#define bfd_mach_mcf_isa_aplus_emac 16 -#define bfd_mach_mcf_isa_b_nousp 17 -#define bfd_mach_mcf_isa_b_nousp_mac 18 -#define bfd_mach_mcf_isa_b_nousp_emac 19 -#define bfd_mach_mcf_isa_b 20 -#define bfd_mach_mcf_isa_b_mac 21 -#define bfd_mach_mcf_isa_b_emac 22 -#define bfd_mach_mcf_isa_b_float 23 -#define bfd_mach_mcf_isa_b_float_mac 24 -#define bfd_mach_mcf_isa_b_float_emac 25 -#define bfd_mach_mcf_isa_c 26 -#define bfd_mach_mcf_isa_c_mac 27 -#define bfd_mach_mcf_isa_c_emac 28 -#define bfd_mach_mcf_isa_c_nodiv 29 -#define bfd_mach_mcf_isa_c_nodiv_mac 30 -#define bfd_mach_mcf_isa_c_nodiv_emac 31 - bfd_arch_vax, /* DEC Vax. */ - bfd_arch_i960, /* Intel 960. */ - /* The order of the following is important. - lower number indicates a machine type that - only accepts a subset of the instructions - available to machines with higher numbers. - The exception is the "ca", which is - incompatible with all other machines except - "core". */ - -#define bfd_mach_i960_core 1 -#define bfd_mach_i960_ka_sa 2 -#define bfd_mach_i960_kb_sb 3 -#define bfd_mach_i960_mc 4 -#define bfd_mach_i960_xa 5 -#define bfd_mach_i960_ca 6 -#define bfd_mach_i960_jx 7 -#define bfd_mach_i960_hx 8 - - bfd_arch_or1k, /* OpenRISC 1000. */ -#define bfd_mach_or1k 1 -#define bfd_mach_or1knd 2 - - bfd_arch_sparc, /* SPARC. */ -#define bfd_mach_sparc 1 -/* The difference between v8plus and v9 is that v9 is a true 64 bit env. */ -#define bfd_mach_sparc_sparclet 2 -#define bfd_mach_sparc_sparclite 3 -#define bfd_mach_sparc_v8plus 4 -#define bfd_mach_sparc_v8plusa 5 /* with ultrasparc add'ns. */ -#define bfd_mach_sparc_sparclite_le 6 -#define bfd_mach_sparc_v9 7 -#define bfd_mach_sparc_v9a 8 /* with ultrasparc add'ns. */ -#define bfd_mach_sparc_v8plusb 9 /* with cheetah add'ns. */ -#define bfd_mach_sparc_v9b 10 /* with cheetah add'ns. */ -#define bfd_mach_sparc_v8plusc 11 /* with UA2005 and T1 add'ns. */ -#define bfd_mach_sparc_v9c 12 /* with UA2005 and T1 add'ns. */ -#define bfd_mach_sparc_v8plusd 13 /* with UA2007 and T3 add'ns. */ -#define bfd_mach_sparc_v9d 14 /* with UA2007 and T3 add'ns. */ -#define bfd_mach_sparc_v8pluse 15 /* with OSA2001 and T4 add'ns (no IMA). */ -#define bfd_mach_sparc_v9e 16 /* with OSA2001 and T4 add'ns (no IMA). */ -#define bfd_mach_sparc_v8plusv 17 /* with OSA2011 and T4 and IMA and FJMAU add'ns. */ -#define bfd_mach_sparc_v9v 18 /* with OSA2011 and T4 and IMA and FJMAU add'ns. */ -#define bfd_mach_sparc_v8plusm 19 /* with OSA2015 and M7 add'ns. */ -#define bfd_mach_sparc_v9m 20 /* with OSA2015 and M7 add'ns. */ -#define bfd_mach_sparc_v8plusm8 21 /* with OSA2017 and M8 add'ns. */ -#define bfd_mach_sparc_v9m8 22 /* with OSA2017 and M8 add'ns. */ -/* Nonzero if MACH has the v9 instruction set. */ -#define bfd_mach_sparc_v9_p(mach) \ - ((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9m8 \ - && (mach) != bfd_mach_sparc_sparclite_le) -/* Nonzero if MACH is a 64 bit sparc architecture. */ -#define bfd_mach_sparc_64bit_p(mach) \ - ((mach) >= bfd_mach_sparc_v9 \ - && (mach) != bfd_mach_sparc_v8plusb \ - && (mach) != bfd_mach_sparc_v8plusc \ - && (mach) != bfd_mach_sparc_v8plusd \ - && (mach) != bfd_mach_sparc_v8pluse \ - && (mach) != bfd_mach_sparc_v8plusv \ - && (mach) != bfd_mach_sparc_v8plusm \ - && (mach) != bfd_mach_sparc_v8plusm8) - bfd_arch_spu, /* PowerPC SPU. */ -#define bfd_mach_spu 256 - bfd_arch_mips, /* MIPS Rxxxx. */ -#define bfd_mach_mips3000 3000 -#define bfd_mach_mips3900 3900 -#define bfd_mach_mips4000 4000 -#define bfd_mach_mips4010 4010 -#define bfd_mach_mips4100 4100 -#define bfd_mach_mips4111 4111 -#define bfd_mach_mips4120 4120 -#define bfd_mach_mips4300 4300 -#define bfd_mach_mips4400 4400 -#define bfd_mach_mips4600 4600 -#define bfd_mach_mips4650 4650 -#define bfd_mach_mips5000 5000 -#define bfd_mach_mips5400 5400 -#define bfd_mach_mips5500 5500 -#define bfd_mach_mips5900 5900 -#define bfd_mach_mips6000 6000 -#define bfd_mach_mips7000 7000 -#define bfd_mach_mips8000 8000 -#define bfd_mach_mips9000 9000 -#define bfd_mach_mips10000 10000 -#define bfd_mach_mips12000 12000 -#define bfd_mach_mips14000 14000 -#define bfd_mach_mips16000 16000 -#define bfd_mach_mips16 16 -#define bfd_mach_mips5 5 -#define bfd_mach_mips_loongson_2e 3001 -#define bfd_mach_mips_loongson_2f 3002 -#define bfd_mach_mips_loongson_3a 3003 -#define bfd_mach_mips_sb1 12310201 /* octal 'SB', 01. */ -#define bfd_mach_mips_octeon 6501 -#define bfd_mach_mips_octeonp 6601 -#define bfd_mach_mips_octeon2 6502 -#define bfd_mach_mips_octeon3 6503 -#define bfd_mach_mips_xlr 887682 /* decimal 'XLR'. */ -#define bfd_mach_mips_interaptiv_mr2 736550 /* decimal 'IA2'. */ -#define bfd_mach_mipsisa32 32 -#define bfd_mach_mipsisa32r2 33 -#define bfd_mach_mipsisa32r3 34 -#define bfd_mach_mipsisa32r5 36 -#define bfd_mach_mipsisa32r6 37 -#define bfd_mach_mipsisa64 64 -#define bfd_mach_mipsisa64r2 65 -#define bfd_mach_mipsisa64r3 66 -#define bfd_mach_mipsisa64r5 68 -#define bfd_mach_mipsisa64r6 69 -#define bfd_mach_mips_micromips 96 - bfd_arch_i386, /* Intel 386. */ -#define bfd_mach_i386_intel_syntax (1 << 0) -#define bfd_mach_i386_i8086 (1 << 1) -#define bfd_mach_i386_i386 (1 << 2) -#define bfd_mach_x86_64 (1 << 3) -#define bfd_mach_x64_32 (1 << 4) -#define bfd_mach_i386_i386_intel_syntax (bfd_mach_i386_i386 | bfd_mach_i386_intel_syntax) -#define bfd_mach_x86_64_intel_syntax (bfd_mach_x86_64 | bfd_mach_i386_intel_syntax) -#define bfd_mach_x64_32_intel_syntax (bfd_mach_x64_32 | bfd_mach_i386_intel_syntax) - bfd_arch_l1om, /* Intel L1OM. */ -#define bfd_mach_l1om (1 << 5) -#define bfd_mach_l1om_intel_syntax (bfd_mach_l1om | bfd_mach_i386_intel_syntax) - bfd_arch_k1om, /* Intel K1OM. */ -#define bfd_mach_k1om (1 << 6) -#define bfd_mach_k1om_intel_syntax (bfd_mach_k1om | bfd_mach_i386_intel_syntax) -#define bfd_mach_i386_nacl (1 << 7) -#define bfd_mach_i386_i386_nacl (bfd_mach_i386_i386 | bfd_mach_i386_nacl) -#define bfd_mach_x86_64_nacl (bfd_mach_x86_64 | bfd_mach_i386_nacl) -#define bfd_mach_x64_32_nacl (bfd_mach_x64_32 | bfd_mach_i386_nacl) - bfd_arch_iamcu, /* Intel MCU. */ -#define bfd_mach_iamcu (1 << 8) -#define bfd_mach_i386_iamcu (bfd_mach_i386_i386 | bfd_mach_iamcu) -#define bfd_mach_i386_iamcu_intel_syntax (bfd_mach_i386_iamcu | bfd_mach_i386_intel_syntax) - bfd_arch_we32k, /* AT&T WE32xxx. */ - bfd_arch_tahoe, /* CCI/Harris Tahoe. */ - bfd_arch_i860, /* Intel 860. */ - bfd_arch_i370, /* IBM 360/370 Mainframes. */ - bfd_arch_romp, /* IBM ROMP PC/RT. */ - bfd_arch_convex, /* Convex. */ - bfd_arch_m88k, /* Motorola 88xxx. */ - bfd_arch_m98k, /* Motorola 98xxx. */ - bfd_arch_pyramid, /* Pyramid Technology. */ - bfd_arch_h8300, /* Renesas H8/300 (formerly Hitachi H8/300). */ -#define bfd_mach_h8300 1 -#define bfd_mach_h8300h 2 -#define bfd_mach_h8300s 3 -#define bfd_mach_h8300hn 4 -#define bfd_mach_h8300sn 5 -#define bfd_mach_h8300sx 6 -#define bfd_mach_h8300sxn 7 - bfd_arch_pdp11, /* DEC PDP-11. */ - bfd_arch_plugin, - bfd_arch_powerpc, /* PowerPC. */ -#define bfd_mach_ppc 32 -#define bfd_mach_ppc64 64 -#define bfd_mach_ppc_403 403 -#define bfd_mach_ppc_403gc 4030 -#define bfd_mach_ppc_405 405 -#define bfd_mach_ppc_505 505 -#define bfd_mach_ppc_601 601 -#define bfd_mach_ppc_602 602 -#define bfd_mach_ppc_603 603 -#define bfd_mach_ppc_ec603e 6031 -#define bfd_mach_ppc_604 604 -#define bfd_mach_ppc_620 620 -#define bfd_mach_ppc_630 630 -#define bfd_mach_ppc_750 750 -#define bfd_mach_ppc_860 860 -#define bfd_mach_ppc_a35 35 -#define bfd_mach_ppc_rs64ii 642 -#define bfd_mach_ppc_rs64iii 643 -#define bfd_mach_ppc_7400 7400 -#define bfd_mach_ppc_e500 500 -#define bfd_mach_ppc_e500mc 5001 -#define bfd_mach_ppc_e500mc64 5005 -#define bfd_mach_ppc_e5500 5006 -#define bfd_mach_ppc_e6500 5007 -#define bfd_mach_ppc_titan 83 -#define bfd_mach_ppc_vle 84 - bfd_arch_rs6000, /* IBM RS/6000. */ -#define bfd_mach_rs6k 6000 -#define bfd_mach_rs6k_rs1 6001 -#define bfd_mach_rs6k_rsc 6003 -#define bfd_mach_rs6k_rs2 6002 - bfd_arch_hppa, /* HP PA RISC. */ -#define bfd_mach_hppa10 10 -#define bfd_mach_hppa11 11 -#define bfd_mach_hppa20 20 -#define bfd_mach_hppa20w 25 - bfd_arch_d10v, /* Mitsubishi D10V. */ -#define bfd_mach_d10v 1 -#define bfd_mach_d10v_ts2 2 -#define bfd_mach_d10v_ts3 3 - bfd_arch_d30v, /* Mitsubishi D30V. */ - bfd_arch_dlx, /* DLX. */ - bfd_arch_m68hc11, /* Motorola 68HC11. */ - bfd_arch_m68hc12, /* Motorola 68HC12. */ -#define bfd_mach_m6812_default 0 -#define bfd_mach_m6812 1 -#define bfd_mach_m6812s 2 - bfd_arch_m9s12x, /* Freescale S12X. */ - bfd_arch_m9s12xg, /* Freescale XGATE. */ - bfd_arch_z8k, /* Zilog Z8000. */ -#define bfd_mach_z8001 1 -#define bfd_mach_z8002 2 - bfd_arch_h8500, /* Renesas H8/500 (formerly Hitachi H8/500). */ - bfd_arch_sh, /* Renesas / SuperH SH (formerly Hitachi SH). */ -#define bfd_mach_sh 1 -#define bfd_mach_sh2 0x20 -#define bfd_mach_sh_dsp 0x2d -#define bfd_mach_sh2a 0x2a -#define bfd_mach_sh2a_nofpu 0x2b -#define bfd_mach_sh2a_nofpu_or_sh4_nommu_nofpu 0x2a1 -#define bfd_mach_sh2a_nofpu_or_sh3_nommu 0x2a2 -#define bfd_mach_sh2a_or_sh4 0x2a3 -#define bfd_mach_sh2a_or_sh3e 0x2a4 -#define bfd_mach_sh2e 0x2e -#define bfd_mach_sh3 0x30 -#define bfd_mach_sh3_nommu 0x31 -#define bfd_mach_sh3_dsp 0x3d -#define bfd_mach_sh3e 0x3e -#define bfd_mach_sh4 0x40 -#define bfd_mach_sh4_nofpu 0x41 -#define bfd_mach_sh4_nommu_nofpu 0x42 -#define bfd_mach_sh4a 0x4a -#define bfd_mach_sh4a_nofpu 0x4b -#define bfd_mach_sh4al_dsp 0x4d -#define bfd_mach_sh5 0x50 - bfd_arch_alpha, /* Dec Alpha. */ -#define bfd_mach_alpha_ev4 0x10 -#define bfd_mach_alpha_ev5 0x20 -#define bfd_mach_alpha_ev6 0x30 - bfd_arch_arm, /* Advanced Risc Machines ARM. */ -#define bfd_mach_arm_unknown 0 -#define bfd_mach_arm_2 1 -#define bfd_mach_arm_2a 2 -#define bfd_mach_arm_3 3 -#define bfd_mach_arm_3M 4 -#define bfd_mach_arm_4 5 -#define bfd_mach_arm_4T 6 -#define bfd_mach_arm_5 7 -#define bfd_mach_arm_5T 8 -#define bfd_mach_arm_5TE 9 -#define bfd_mach_arm_XScale 10 -#define bfd_mach_arm_ep9312 11 -#define bfd_mach_arm_iWMMXt 12 -#define bfd_mach_arm_iWMMXt2 13 - bfd_arch_nds32, /* Andes NDS32. */ -#define bfd_mach_n1 1 -#define bfd_mach_n1h 2 -#define bfd_mach_n1h_v2 3 -#define bfd_mach_n1h_v3 4 -#define bfd_mach_n1h_v3m 5 - bfd_arch_ns32k, /* National Semiconductors ns32000. */ - bfd_arch_w65, /* WDC 65816. */ - bfd_arch_tic30, /* Texas Instruments TMS320C30. */ - bfd_arch_tic4x, /* Texas Instruments TMS320C3X/4X. */ -#define bfd_mach_tic3x 30 -#define bfd_mach_tic4x 40 - bfd_arch_tic54x, /* Texas Instruments TMS320C54X. */ - bfd_arch_tic6x, /* Texas Instruments TMS320C6X. */ - bfd_arch_tic80, /* TI TMS320c80 (MVP). */ - bfd_arch_v850, /* NEC V850. */ - bfd_arch_v850_rh850,/* NEC V850 (using RH850 ABI). */ -#define bfd_mach_v850 1 -#define bfd_mach_v850e 'E' -#define bfd_mach_v850e1 '1' -#define bfd_mach_v850e2 0x4532 -#define bfd_mach_v850e2v3 0x45325633 -#define bfd_mach_v850e3v5 0x45335635 /* ('E'|'3'|'V'|'5'). */ - bfd_arch_arc, /* ARC Cores. */ -#define bfd_mach_arc_a4 0 -#define bfd_mach_arc_a5 1 -#define bfd_mach_arc_arc600 2 -#define bfd_mach_arc_arc601 4 -#define bfd_mach_arc_arc700 3 -#define bfd_mach_arc_arcv2 5 - bfd_arch_m32c, /* Renesas M16C/M32C. */ -#define bfd_mach_m16c 0x75 -#define bfd_mach_m32c 0x78 - bfd_arch_m32r, /* Renesas M32R (formerly Mitsubishi M32R/D). */ -#define bfd_mach_m32r 1 /* For backwards compatibility. */ -#define bfd_mach_m32rx 'x' -#define bfd_mach_m32r2 '2' - bfd_arch_mn10200, /* Matsushita MN10200. */ - bfd_arch_mn10300, /* Matsushita MN10300. */ -#define bfd_mach_mn10300 300 -#define bfd_mach_am33 330 -#define bfd_mach_am33_2 332 - bfd_arch_fr30, -#define bfd_mach_fr30 0x46523330 - bfd_arch_frv, -#define bfd_mach_frv 1 -#define bfd_mach_frvsimple 2 -#define bfd_mach_fr300 300 -#define bfd_mach_fr400 400 -#define bfd_mach_fr450 450 -#define bfd_mach_frvtomcat 499 /* fr500 prototype. */ -#define bfd_mach_fr500 500 -#define bfd_mach_fr550 550 - bfd_arch_moxie, /* The moxie processor. */ -#define bfd_mach_moxie 1 - bfd_arch_ft32, /* The ft32 processor. */ -#define bfd_mach_ft32 1 -#define bfd_mach_ft32b 2 - bfd_arch_mcore, - bfd_arch_mep, -#define bfd_mach_mep 1 -#define bfd_mach_mep_h1 0x6831 -#define bfd_mach_mep_c5 0x6335 - bfd_arch_metag, -#define bfd_mach_metag 1 - bfd_arch_ia64, /* HP/Intel ia64. */ -#define bfd_mach_ia64_elf64 64 -#define bfd_mach_ia64_elf32 32 - bfd_arch_ip2k, /* Ubicom IP2K microcontrollers. */ -#define bfd_mach_ip2022 1 -#define bfd_mach_ip2022ext 2 - bfd_arch_iq2000, /* Vitesse IQ2000. */ -#define bfd_mach_iq2000 1 -#define bfd_mach_iq10 2 - bfd_arch_epiphany, /* Adapteva EPIPHANY. */ -#define bfd_mach_epiphany16 1 -#define bfd_mach_epiphany32 2 - bfd_arch_mt, -#define bfd_mach_ms1 1 -#define bfd_mach_mrisc2 2 -#define bfd_mach_ms2 3 - bfd_arch_pj, - bfd_arch_avr, /* Atmel AVR microcontrollers. */ -#define bfd_mach_avr1 1 -#define bfd_mach_avr2 2 -#define bfd_mach_avr25 25 -#define bfd_mach_avr3 3 -#define bfd_mach_avr31 31 -#define bfd_mach_avr35 35 -#define bfd_mach_avr4 4 -#define bfd_mach_avr5 5 -#define bfd_mach_avr51 51 -#define bfd_mach_avr6 6 -#define bfd_mach_avrtiny 100 -#define bfd_mach_avrxmega1 101 -#define bfd_mach_avrxmega2 102 -#define bfd_mach_avrxmega3 103 -#define bfd_mach_avrxmega4 104 -#define bfd_mach_avrxmega5 105 -#define bfd_mach_avrxmega6 106 -#define bfd_mach_avrxmega7 107 - bfd_arch_bfin, /* ADI Blackfin. */ -#define bfd_mach_bfin 1 - bfd_arch_cr16, /* National Semiconductor CompactRISC (ie CR16). */ -#define bfd_mach_cr16 1 - bfd_arch_cr16c, /* National Semiconductor CompactRISC. */ -#define bfd_mach_cr16c 1 - bfd_arch_crx, /* National Semiconductor CRX. */ -#define bfd_mach_crx 1 - bfd_arch_cris, /* Axis CRIS. */ -#define bfd_mach_cris_v0_v10 255 -#define bfd_mach_cris_v32 32 -#define bfd_mach_cris_v10_v32 1032 - bfd_arch_riscv, -#define bfd_mach_riscv32 132 -#define bfd_mach_riscv64 164 - bfd_arch_rl78, -#define bfd_mach_rl78 0x75 - bfd_arch_rx, /* Renesas RX. */ -#define bfd_mach_rx 0x75 - bfd_arch_s390, /* IBM s390. */ -#define bfd_mach_s390_31 31 -#define bfd_mach_s390_64 64 - bfd_arch_score, /* Sunplus score. */ -#define bfd_mach_score3 3 -#define bfd_mach_score7 7 - bfd_arch_mmix, /* Donald Knuth's educational processor. */ - bfd_arch_xstormy16, -#define bfd_mach_xstormy16 1 - bfd_arch_msp430, /* Texas Instruments MSP430 architecture. */ -#define bfd_mach_msp11 11 -#define bfd_mach_msp110 110 -#define bfd_mach_msp12 12 -#define bfd_mach_msp13 13 -#define bfd_mach_msp14 14 -#define bfd_mach_msp15 15 -#define bfd_mach_msp16 16 -#define bfd_mach_msp20 20 -#define bfd_mach_msp21 21 -#define bfd_mach_msp22 22 -#define bfd_mach_msp23 23 -#define bfd_mach_msp24 24 -#define bfd_mach_msp26 26 -#define bfd_mach_msp31 31 -#define bfd_mach_msp32 32 -#define bfd_mach_msp33 33 -#define bfd_mach_msp41 41 -#define bfd_mach_msp42 42 -#define bfd_mach_msp43 43 -#define bfd_mach_msp44 44 -#define bfd_mach_msp430x 45 -#define bfd_mach_msp46 46 -#define bfd_mach_msp47 47 -#define bfd_mach_msp54 54 - bfd_arch_xc16x, /* Infineon's XC16X Series. */ -#define bfd_mach_xc16x 1 -#define bfd_mach_xc16xl 2 -#define bfd_mach_xc16xs 3 - bfd_arch_xgate, /* Freescale XGATE. */ -#define bfd_mach_xgate 1 - bfd_arch_xtensa, /* Tensilica's Xtensa cores. */ -#define bfd_mach_xtensa 1 - bfd_arch_z80, -#define bfd_mach_z80strict 1 /* No undocumented opcodes. */ -#define bfd_mach_z80 3 /* With ixl, ixh, iyl, and iyh. */ -#define bfd_mach_z80full 7 /* All undocumented instructions. */ -#define bfd_mach_r800 11 /* R800: successor with multiplication. */ - bfd_arch_lm32, /* Lattice Mico32. */ -#define bfd_mach_lm32 1 - bfd_arch_microblaze,/* Xilinx MicroBlaze. */ - bfd_arch_tilepro, /* Tilera TILEPro. */ - bfd_arch_tilegx, /* Tilera TILE-Gx. */ -#define bfd_mach_tilepro 1 -#define bfd_mach_tilegx 1 -#define bfd_mach_tilegx32 2 - bfd_arch_aarch64, /* AArch64. */ -#define bfd_mach_aarch64 0 -#define bfd_mach_aarch64_ilp32 32 - bfd_arch_nios2, /* Nios II. */ -#define bfd_mach_nios2 0 -#define bfd_mach_nios2r1 1 -#define bfd_mach_nios2r2 2 - bfd_arch_visium, /* Visium. */ -#define bfd_mach_visium 1 - bfd_arch_wasm32, /* WebAssembly. */ -#define bfd_mach_wasm32 1 - bfd_arch_pru, /* PRU. */ -#define bfd_mach_pru 0 - bfd_arch_last - }; - -typedef struct bfd_arch_info -{ - int bits_per_word; - int bits_per_address; - int bits_per_byte; - enum bfd_architecture arch; - unsigned long mach; - const char *arch_name; - const char *printable_name; - unsigned int section_align_power; - /* TRUE if this is the default machine for the architecture. - The default arch should be the first entry for an arch so that - all the entries for that arch can be accessed via <<next>>. */ - bfd_boolean the_default; - const struct bfd_arch_info * (*compatible) (const struct bfd_arch_info *, - const struct bfd_arch_info *); - - bfd_boolean (*scan) (const struct bfd_arch_info *, const char *); - - /* Allocate via bfd_malloc and return a fill buffer of size COUNT. If - IS_BIGENDIAN is TRUE, the order of bytes is big endian. If CODE is - TRUE, the buffer contains code. */ - void *(*fill) (bfd_size_type count, bfd_boolean is_bigendian, - bfd_boolean code); - - const struct bfd_arch_info *next; -} -bfd_arch_info_type; - -const char *bfd_printable_name (bfd *abfd); - -const bfd_arch_info_type *bfd_scan_arch (const char *string); - -const char **bfd_arch_list (void); - -const bfd_arch_info_type *bfd_arch_get_compatible - (const bfd *abfd, const bfd *bbfd, bfd_boolean accept_unknowns); - -void bfd_set_arch_info (bfd *abfd, const bfd_arch_info_type *arg); - -bfd_boolean bfd_default_set_arch_mach - (bfd *abfd, enum bfd_architecture arch, unsigned long mach); - -enum bfd_architecture bfd_get_arch (bfd *abfd); - -unsigned long bfd_get_mach (bfd *abfd); - -unsigned int bfd_arch_bits_per_byte (bfd *abfd); - -unsigned int bfd_arch_bits_per_address (bfd *abfd); - -const bfd_arch_info_type *bfd_get_arch_info (bfd *abfd); - -const bfd_arch_info_type *bfd_lookup_arch - (enum bfd_architecture arch, unsigned long machine); - -const char *bfd_printable_arch_mach - (enum bfd_architecture arch, unsigned long machine); - -unsigned int bfd_octets_per_byte (bfd *abfd); - -unsigned int bfd_arch_mach_octets_per_byte - (enum bfd_architecture arch, unsigned long machine); - -/* Extracted from reloc.c. */ - -typedef enum bfd_reloc_status -{ - /* No errors detected. Note - the value 2 is used so that it - will not be mistaken for the boolean TRUE or FALSE values. */ - bfd_reloc_ok = 2, - - /* The relocation was performed, but there was an overflow. */ - bfd_reloc_overflow, - - /* The address to relocate was not within the section supplied. */ - bfd_reloc_outofrange, - - /* Used by special functions. */ - bfd_reloc_continue, - - /* Unsupported relocation size requested. */ - bfd_reloc_notsupported, - - /* Unused. */ - bfd_reloc_other, - - /* The symbol to relocate against was undefined. */ - bfd_reloc_undefined, - - /* The relocation was performed, but may not be ok - presently - generated only when linking i960 coff files with i960 b.out - symbols. If this type is returned, the error_message argument - to bfd_perform_relocation will be set. */ - bfd_reloc_dangerous - } - bfd_reloc_status_type; - - -typedef struct reloc_cache_entry -{ - /* A pointer into the canonical table of pointers. */ - struct bfd_symbol **sym_ptr_ptr; - - /* offset in section. */ - bfd_size_type address; - - /* addend for relocation value. */ - bfd_vma addend; - - /* Pointer to how to perform the required relocation. */ - reloc_howto_type *howto; - -} -arelent; - - -enum complain_overflow -{ - /* Do not complain on overflow. */ - complain_overflow_dont, - - /* Complain if the value overflows when considered as a signed - number one bit larger than the field. ie. A bitfield of N bits - is allowed to represent -2**n to 2**n-1. */ - complain_overflow_bitfield, - - /* Complain if the value overflows when considered as a signed - number. */ - complain_overflow_signed, - - /* Complain if the value overflows when considered as an - unsigned number. */ - complain_overflow_unsigned -}; -struct bfd_symbol; /* Forward declaration. */ - -struct reloc_howto_struct -{ - /* The type field has mainly a documentary use - the back end can - do what it wants with it, though normally the back end's - external idea of what a reloc number is stored - in this field. For example, a PC relative word relocation - in a coff environment has the type 023 - because that's - what the outside world calls a R_PCRWORD reloc. */ - unsigned int type; - - /* The value the final relocation is shifted right by. This drops - unwanted data from the relocation. */ - unsigned int rightshift; - - /* The size of the item to be relocated. This is *not* a - power-of-two measure. To get the number of bytes operated - on by a type of relocation, use bfd_get_reloc_size. */ - int size; - - /* The number of bits in the item to be relocated. This is used - when doing overflow checking. */ - unsigned int bitsize; - - /* The relocation is relative to the field being relocated. */ - bfd_boolean pc_relative; - - /* The bit position of the reloc value in the destination. - The relocated value is left shifted by this amount. */ - unsigned int bitpos; - - /* What type of overflow error should be checked for when - relocating. */ - enum complain_overflow complain_on_overflow; - - /* If this field is non null, then the supplied function is - called rather than the normal function. This allows really - strange relocation methods to be accommodated (e.g., i960 callj - instructions). */ - bfd_reloc_status_type (*special_function) - (bfd *, arelent *, struct bfd_symbol *, void *, asection *, - bfd *, char **); - - /* The textual name of the relocation type. */ - char *name; - - /* Some formats record a relocation addend in the section contents - rather than with the relocation. For ELF formats this is the - distinction between USE_REL and USE_RELA (though the code checks - for USE_REL == 1/0). The value of this field is TRUE if the - addend is recorded with the section contents; when performing a - partial link (ld -r) the section contents (the data) will be - modified. The value of this field is FALSE if addends are - recorded with the relocation (in arelent.addend); when performing - a partial link the relocation will be modified. - All relocations for all ELF USE_RELA targets should set this field - to FALSE (values of TRUE should be looked on with suspicion). - However, the converse is not true: not all relocations of all ELF - USE_REL targets set this field to TRUE. Why this is so is peculiar - to each particular target. For relocs that aren't used in partial - links (e.g. GOT stuff) it doesn't matter what this is set to. */ - bfd_boolean partial_inplace; - - /* src_mask selects the part of the instruction (or data) to be used - in the relocation sum. If the target relocations don't have an - addend in the reloc, eg. ELF USE_REL, src_mask will normally equal - dst_mask to extract the addend from the section contents. If - relocations do have an addend in the reloc, eg. ELF USE_RELA, this - field should be zero. Non-zero values for ELF USE_RELA targets are - bogus as in those cases the value in the dst_mask part of the - section contents should be treated as garbage. */ - bfd_vma src_mask; - - /* dst_mask selects which parts of the instruction (or data) are - replaced with a relocated value. */ - bfd_vma dst_mask; - - /* When some formats create PC relative instructions, they leave - the value of the pc of the place being relocated in the offset - slot of the instruction, so that a PC relative relocation can - be made just by adding in an ordinary offset (e.g., sun3 a.out). - Some formats leave the displacement part of an instruction - empty (e.g., m88k bcs); this flag signals the fact. */ - bfd_boolean pcrel_offset; -}; - -#define HOWTO(C, R, S, B, P, BI, O, SF, NAME, INPLACE, MASKSRC, MASKDST, PC) \ - { (unsigned) C, R, S, B, P, BI, O, SF, NAME, INPLACE, MASKSRC, MASKDST, PC } -#define NEWHOWTO(FUNCTION, NAME, SIZE, REL, IN) \ - HOWTO (0, 0, SIZE, 0, REL, 0, complain_overflow_dont, FUNCTION, \ - NAME, FALSE, 0, 0, IN) - -#define EMPTY_HOWTO(C) \ - HOWTO ((C), 0, 0, 0, FALSE, 0, complain_overflow_dont, NULL, \ - NULL, FALSE, 0, 0, FALSE) - -#define HOWTO_PREPARE(relocation, symbol) \ - { \ - if (symbol != NULL) \ - { \ - if (bfd_is_com_section (symbol->section)) \ - { \ - relocation = 0; \ - } \ - else \ - { \ - relocation = symbol->value; \ - } \ - } \ - } - -unsigned int bfd_get_reloc_size (reloc_howto_type *); - -typedef struct relent_chain -{ - arelent relent; - struct relent_chain *next; -} -arelent_chain; - -bfd_reloc_status_type bfd_check_overflow - (enum complain_overflow how, - unsigned int bitsize, - unsigned int rightshift, - unsigned int addrsize, - bfd_vma relocation); - -bfd_boolean bfd_reloc_offset_in_range - (reloc_howto_type *howto, - bfd *abfd, - asection *section, - bfd_size_type offset); - -bfd_reloc_status_type bfd_perform_relocation - (bfd *abfd, - arelent *reloc_entry, - void *data, - asection *input_section, - bfd *output_bfd, - char **error_message); - -bfd_reloc_status_type bfd_install_relocation - (bfd *abfd, - arelent *reloc_entry, - void *data, bfd_vma data_start, - asection *input_section, - char **error_message); - -enum bfd_reloc_code_real { - _dummy_first_bfd_reloc_code_real, - - -/* Basic absolute relocations of N bits. */ - BFD_RELOC_64, - BFD_RELOC_32, - BFD_RELOC_26, - BFD_RELOC_24, - BFD_RELOC_16, - BFD_RELOC_14, - BFD_RELOC_8, - -/* PC-relative relocations. Sometimes these are relative to the address -of the relocation itself; sometimes they are relative to the start of -the section containing the relocation. It depends on the specific target. - -The 24-bit relocation is used in some Intel 960 configurations. */ - BFD_RELOC_64_PCREL, - BFD_RELOC_32_PCREL, - BFD_RELOC_24_PCREL, - BFD_RELOC_16_PCREL, - BFD_RELOC_12_PCREL, - BFD_RELOC_8_PCREL, - -/* Section relative relocations. Some targets need this for DWARF2. */ - BFD_RELOC_32_SECREL, - -/* For ELF. */ - BFD_RELOC_32_GOT_PCREL, - BFD_RELOC_16_GOT_PCREL, - BFD_RELOC_8_GOT_PCREL, - BFD_RELOC_32_GOTOFF, - BFD_RELOC_16_GOTOFF, - BFD_RELOC_LO16_GOTOFF, - BFD_RELOC_HI16_GOTOFF, - BFD_RELOC_HI16_S_GOTOFF, - BFD_RELOC_8_GOTOFF, - BFD_RELOC_64_PLT_PCREL, - BFD_RELOC_32_PLT_PCREL, - BFD_RELOC_24_PLT_PCREL, - BFD_RELOC_16_PLT_PCREL, - BFD_RELOC_8_PLT_PCREL, - BFD_RELOC_64_PLTOFF, - BFD_RELOC_32_PLTOFF, - BFD_RELOC_16_PLTOFF, - BFD_RELOC_LO16_PLTOFF, - BFD_RELOC_HI16_PLTOFF, - BFD_RELOC_HI16_S_PLTOFF, - BFD_RELOC_8_PLTOFF, - -/* Size relocations. */ - BFD_RELOC_SIZE32, - BFD_RELOC_SIZE64, - -/* Relocations used by 68K ELF. */ - BFD_RELOC_68K_GLOB_DAT, - BFD_RELOC_68K_JMP_SLOT, - BFD_RELOC_68K_RELATIVE, - BFD_RELOC_68K_TLS_GD32, - BFD_RELOC_68K_TLS_GD16, - BFD_RELOC_68K_TLS_GD8, - BFD_RELOC_68K_TLS_LDM32, - BFD_RELOC_68K_TLS_LDM16, - BFD_RELOC_68K_TLS_LDM8, - BFD_RELOC_68K_TLS_LDO32, - BFD_RELOC_68K_TLS_LDO16, - BFD_RELOC_68K_TLS_LDO8, - BFD_RELOC_68K_TLS_IE32, - BFD_RELOC_68K_TLS_IE16, - BFD_RELOC_68K_TLS_IE8, - BFD_RELOC_68K_TLS_LE32, - BFD_RELOC_68K_TLS_LE16, - BFD_RELOC_68K_TLS_LE8, - -/* Linkage-table relative. */ - BFD_RELOC_32_BASEREL, - BFD_RELOC_16_BASEREL, - BFD_RELOC_LO16_BASEREL, - BFD_RELOC_HI16_BASEREL, - BFD_RELOC_HI16_S_BASEREL, - BFD_RELOC_8_BASEREL, - BFD_RELOC_RVA, - -/* Absolute 8-bit relocation, but used to form an address like 0xFFnn. */ - BFD_RELOC_8_FFnn, - -/* These PC-relative relocations are stored as word displacements -- -i.e., byte displacements shifted right two bits. The 30-bit word -displacement (<<32_PCREL_S2>> -- 32 bits, shifted 2) is used on the -SPARC. (SPARC tools generally refer to this as <<WDISP30>>.) The -signed 16-bit displacement is used on the MIPS, and the 23-bit -displacement is used on the Alpha. */ - BFD_RELOC_32_PCREL_S2, - BFD_RELOC_16_PCREL_S2, - BFD_RELOC_23_PCREL_S2, - -/* High 22 bits and low 10 bits of 32-bit value, placed into lower bits of -the target word. These are used on the SPARC. */ - BFD_RELOC_HI22, - BFD_RELOC_LO10, - -/* For systems that allocate a Global Pointer register, these are -displacements off that register. These relocation types are -handled specially, because the value the register will have is -decided relatively late. */ - BFD_RELOC_GPREL16, - BFD_RELOC_GPREL32, - -/* Reloc types used for i960/b.out. */ - BFD_RELOC_I960_CALLJ, - -/* SPARC ELF relocations. There is probably some overlap with other -relocation types already defined. */ - BFD_RELOC_NONE, - BFD_RELOC_SPARC_WDISP22, - BFD_RELOC_SPARC22, - BFD_RELOC_SPARC13, - BFD_RELOC_SPARC_GOT10, - BFD_RELOC_SPARC_GOT13, - BFD_RELOC_SPARC_GOT22, - BFD_RELOC_SPARC_PC10, - BFD_RELOC_SPARC_PC22, - BFD_RELOC_SPARC_WPLT30, - BFD_RELOC_SPARC_COPY, - BFD_RELOC_SPARC_GLOB_DAT, - BFD_RELOC_SPARC_JMP_SLOT, - BFD_RELOC_SPARC_RELATIVE, - BFD_RELOC_SPARC_UA16, - BFD_RELOC_SPARC_UA32, - BFD_RELOC_SPARC_UA64, - BFD_RELOC_SPARC_GOTDATA_HIX22, - BFD_RELOC_SPARC_GOTDATA_LOX10, - BFD_RELOC_SPARC_GOTDATA_OP_HIX22, - BFD_RELOC_SPARC_GOTDATA_OP_LOX10, - BFD_RELOC_SPARC_GOTDATA_OP, - BFD_RELOC_SPARC_JMP_IREL, - BFD_RELOC_SPARC_IRELATIVE, - -/* I think these are specific to SPARC a.out (e.g., Sun 4). */ - BFD_RELOC_SPARC_BASE13, - BFD_RELOC_SPARC_BASE22, - -/* SPARC64 relocations */ -#define BFD_RELOC_SPARC_64 BFD_RELOC_64 - BFD_RELOC_SPARC_10, - BFD_RELOC_SPARC_11, - BFD_RELOC_SPARC_OLO10, - BFD_RELOC_SPARC_HH22, - BFD_RELOC_SPARC_HM10, - BFD_RELOC_SPARC_LM22, - BFD_RELOC_SPARC_PC_HH22, - BFD_RELOC_SPARC_PC_HM10, - BFD_RELOC_SPARC_PC_LM22, - BFD_RELOC_SPARC_WDISP16, - BFD_RELOC_SPARC_WDISP19, - BFD_RELOC_SPARC_7, - BFD_RELOC_SPARC_6, - BFD_RELOC_SPARC_5, -#define BFD_RELOC_SPARC_DISP64 BFD_RELOC_64_PCREL - BFD_RELOC_SPARC_PLT32, - BFD_RELOC_SPARC_PLT64, - BFD_RELOC_SPARC_HIX22, - BFD_RELOC_SPARC_LOX10, - BFD_RELOC_SPARC_H44, - BFD_RELOC_SPARC_M44, - BFD_RELOC_SPARC_L44, - BFD_RELOC_SPARC_REGISTER, - BFD_RELOC_SPARC_H34, - BFD_RELOC_SPARC_SIZE32, - BFD_RELOC_SPARC_SIZE64, - BFD_RELOC_SPARC_WDISP10, - -/* SPARC little endian relocation */ - BFD_RELOC_SPARC_REV32, - -/* SPARC TLS relocations */ - BFD_RELOC_SPARC_TLS_GD_HI22, - BFD_RELOC_SPARC_TLS_GD_LO10, - BFD_RELOC_SPARC_TLS_GD_ADD, - BFD_RELOC_SPARC_TLS_GD_CALL, - BFD_RELOC_SPARC_TLS_LDM_HI22, - BFD_RELOC_SPARC_TLS_LDM_LO10, - BFD_RELOC_SPARC_TLS_LDM_ADD, - BFD_RELOC_SPARC_TLS_LDM_CALL, - BFD_RELOC_SPARC_TLS_LDO_HIX22, - BFD_RELOC_SPARC_TLS_LDO_LOX10, - BFD_RELOC_SPARC_TLS_LDO_ADD, - BFD_RELOC_SPARC_TLS_IE_HI22, - BFD_RELOC_SPARC_TLS_IE_LO10, - BFD_RELOC_SPARC_TLS_IE_LD, - BFD_RELOC_SPARC_TLS_IE_LDX, - BFD_RELOC_SPARC_TLS_IE_ADD, - BFD_RELOC_SPARC_TLS_LE_HIX22, - BFD_RELOC_SPARC_TLS_LE_LOX10, - BFD_RELOC_SPARC_TLS_DTPMOD32, - BFD_RELOC_SPARC_TLS_DTPMOD64, - BFD_RELOC_SPARC_TLS_DTPOFF32, - BFD_RELOC_SPARC_TLS_DTPOFF64, - BFD_RELOC_SPARC_TLS_TPOFF32, - BFD_RELOC_SPARC_TLS_TPOFF64, - -/* SPU Relocations. */ - BFD_RELOC_SPU_IMM7, - BFD_RELOC_SPU_IMM8, - BFD_RELOC_SPU_IMM10, - BFD_RELOC_SPU_IMM10W, - BFD_RELOC_SPU_IMM16, - BFD_RELOC_SPU_IMM16W, - BFD_RELOC_SPU_IMM18, - BFD_RELOC_SPU_PCREL9a, - BFD_RELOC_SPU_PCREL9b, - BFD_RELOC_SPU_PCREL16, - BFD_RELOC_SPU_LO16, - BFD_RELOC_SPU_HI16, - BFD_RELOC_SPU_PPU32, - BFD_RELOC_SPU_PPU64, - BFD_RELOC_SPU_ADD_PIC, - -/* Alpha ECOFF and ELF relocations. Some of these treat the symbol or -"addend" in some special way. -For GPDISP_HI16 ("gpdisp") relocations, the symbol is ignored when -writing; when reading, it will be the absolute section symbol. The -addend is the displacement in bytes of the "lda" instruction from -the "ldah" instruction (which is at the address of this reloc). */ - BFD_RELOC_ALPHA_GPDISP_HI16, - -/* For GPDISP_LO16 ("ignore") relocations, the symbol is handled as -with GPDISP_HI16 relocs. The addend is ignored when writing the -relocations out, and is filled in with the file's GP value on -reading, for convenience. */ - BFD_RELOC_ALPHA_GPDISP_LO16, - -/* The ELF GPDISP relocation is exactly the same as the GPDISP_HI16 -relocation except that there is no accompanying GPDISP_LO16 -relocation. */ - BFD_RELOC_ALPHA_GPDISP, - -/* The Alpha LITERAL/LITUSE relocs are produced by a symbol reference; -the assembler turns it into a LDQ instruction to load the address of -the symbol, and then fills in a register in the real instruction. - -The LITERAL reloc, at the LDQ instruction, refers to the .lita -section symbol. The addend is ignored when writing, but is filled -in with the file's GP value on reading, for convenience, as with the -GPDISP_LO16 reloc. - -The ELF_LITERAL reloc is somewhere between 16_GOTOFF and GPDISP_LO16. -It should refer to the symbol to be referenced, as with 16_GOTOFF, -but it generates output not based on the position within the .got -section, but relative to the GP value chosen for the file during the -final link stage. - -The LITUSE reloc, on the instruction using the loaded address, gives -information to the linker that it might be able to use to optimize -away some literal section references. The symbol is ignored (read -as the absolute section symbol), and the "addend" indicates the type -of instruction using the register: -1 - "memory" fmt insn -2 - byte-manipulation (byte offset reg) -3 - jsr (target of branch) */ - BFD_RELOC_ALPHA_LITERAL, - BFD_RELOC_ALPHA_ELF_LITERAL, - BFD_RELOC_ALPHA_LITUSE, - -/* The HINT relocation indicates a value that should be filled into the -"hint" field of a jmp/jsr/ret instruction, for possible branch- -prediction logic which may be provided on some processors. */ - BFD_RELOC_ALPHA_HINT, - -/* The LINKAGE relocation outputs a linkage pair in the object file, -which is filled by the linker. */ - BFD_RELOC_ALPHA_LINKAGE, - -/* The CODEADDR relocation outputs a STO_CA in the object file, -which is filled by the linker. */ - BFD_RELOC_ALPHA_CODEADDR, - -/* The GPREL_HI/LO relocations together form a 32-bit offset from the -GP register. */ - BFD_RELOC_ALPHA_GPREL_HI16, - BFD_RELOC_ALPHA_GPREL_LO16, - -/* Like BFD_RELOC_23_PCREL_S2, except that the source and target must -share a common GP, and the target address is adjusted for -STO_ALPHA_STD_GPLOAD. */ - BFD_RELOC_ALPHA_BRSGP, - -/* The NOP relocation outputs a NOP if the longword displacement -between two procedure entry points is < 2^21. */ - BFD_RELOC_ALPHA_NOP, - -/* The BSR relocation outputs a BSR if the longword displacement -between two procedure entry points is < 2^21. */ - BFD_RELOC_ALPHA_BSR, - -/* The LDA relocation outputs a LDA if the longword displacement -between two procedure entry points is < 2^16. */ - BFD_RELOC_ALPHA_LDA, - -/* The BOH relocation outputs a BSR if the longword displacement -between two procedure entry points is < 2^21, or else a hint. */ - BFD_RELOC_ALPHA_BOH, - -/* Alpha thread-local storage relocations. */ - BFD_RELOC_ALPHA_TLSGD, - BFD_RELOC_ALPHA_TLSLDM, - BFD_RELOC_ALPHA_DTPMOD64, - BFD_RELOC_ALPHA_GOTDTPREL16, - BFD_RELOC_ALPHA_DTPREL64, - BFD_RELOC_ALPHA_DTPREL_HI16, - BFD_RELOC_ALPHA_DTPREL_LO16, - BFD_RELOC_ALPHA_DTPREL16, - BFD_RELOC_ALPHA_GOTTPREL16, - BFD_RELOC_ALPHA_TPREL64, - BFD_RELOC_ALPHA_TPREL_HI16, - BFD_RELOC_ALPHA_TPREL_LO16, - BFD_RELOC_ALPHA_TPREL16, - -/* The MIPS jump instruction. */ - BFD_RELOC_MIPS_JMP, - BFD_RELOC_MICROMIPS_JMP, - -/* The MIPS16 jump instruction. */ - BFD_RELOC_MIPS16_JMP, - -/* MIPS16 GP relative reloc. */ - BFD_RELOC_MIPS16_GPREL, - -/* High 16 bits of 32-bit value; simple reloc. */ - BFD_RELOC_HI16, - -/* High 16 bits of 32-bit value but the low 16 bits will be sign -extended and added to form the final result. If the low 16 -bits form a negative number, we need to add one to the high value -to compensate for the borrow when the low bits are added. */ - BFD_RELOC_HI16_S, - -/* Low 16 bits. */ - BFD_RELOC_LO16, - -/* High 16 bits of 32-bit pc-relative value */ - BFD_RELOC_HI16_PCREL, - -/* High 16 bits of 32-bit pc-relative value, adjusted */ - BFD_RELOC_HI16_S_PCREL, - -/* Low 16 bits of pc-relative value */ - BFD_RELOC_LO16_PCREL, - -/* Equivalent of BFD_RELOC_MIPS_*, but with the MIPS16 layout of -16-bit immediate fields */ - BFD_RELOC_MIPS16_GOT16, - BFD_RELOC_MIPS16_CALL16, - -/* MIPS16 high 16 bits of 32-bit value. */ - BFD_RELOC_MIPS16_HI16, - -/* MIPS16 high 16 bits of 32-bit value but the low 16 bits will be sign -extended and added to form the final result. If the low 16 -bits form a negative number, we need to add one to the high value -to compensate for the borrow when the low bits are added. */ - BFD_RELOC_MIPS16_HI16_S, - -/* MIPS16 low 16 bits. */ - BFD_RELOC_MIPS16_LO16, - -/* MIPS16 TLS relocations */ - BFD_RELOC_MIPS16_TLS_GD, - BFD_RELOC_MIPS16_TLS_LDM, - BFD_RELOC_MIPS16_TLS_DTPREL_HI16, - BFD_RELOC_MIPS16_TLS_DTPREL_LO16, - BFD_RELOC_MIPS16_TLS_GOTTPREL, - BFD_RELOC_MIPS16_TLS_TPREL_HI16, - BFD_RELOC_MIPS16_TLS_TPREL_LO16, - -/* Relocation against a MIPS literal section. */ - BFD_RELOC_MIPS_LITERAL, - BFD_RELOC_MICROMIPS_LITERAL, - -/* microMIPS PC-relative relocations. */ - BFD_RELOC_MICROMIPS_7_PCREL_S1, - BFD_RELOC_MICROMIPS_10_PCREL_S1, - BFD_RELOC_MICROMIPS_16_PCREL_S1, - -/* MIPS16 PC-relative relocation. */ - BFD_RELOC_MIPS16_16_PCREL_S1, - -/* MIPS PC-relative relocations. */ - BFD_RELOC_MIPS_21_PCREL_S2, - BFD_RELOC_MIPS_26_PCREL_S2, - BFD_RELOC_MIPS_18_PCREL_S3, - BFD_RELOC_MIPS_19_PCREL_S2, - -/* microMIPS versions of generic BFD relocs. */ - BFD_RELOC_MICROMIPS_GPREL16, - BFD_RELOC_MICROMIPS_HI16, - BFD_RELOC_MICROMIPS_HI16_S, - BFD_RELOC_MICROMIPS_LO16, - -/* MIPS ELF relocations. */ - BFD_RELOC_MIPS_GOT16, - BFD_RELOC_MICROMIPS_GOT16, - BFD_RELOC_MIPS_CALL16, - BFD_RELOC_MICROMIPS_CALL16, - BFD_RELOC_MIPS_GOT_HI16, - BFD_RELOC_MICROMIPS_GOT_HI16, - BFD_RELOC_MIPS_GOT_LO16, - BFD_RELOC_MICROMIPS_GOT_LO16, - BFD_RELOC_MIPS_CALL_HI16, - BFD_RELOC_MICROMIPS_CALL_HI16, - BFD_RELOC_MIPS_CALL_LO16, - BFD_RELOC_MICROMIPS_CALL_LO16, - BFD_RELOC_MIPS_SUB, - BFD_RELOC_MICROMIPS_SUB, - BFD_RELOC_MIPS_GOT_PAGE, - BFD_RELOC_MICROMIPS_GOT_PAGE, - BFD_RELOC_MIPS_GOT_OFST, - BFD_RELOC_MICROMIPS_GOT_OFST, - BFD_RELOC_MIPS_GOT_DISP, - BFD_RELOC_MICROMIPS_GOT_DISP, - BFD_RELOC_MIPS_SHIFT5, - BFD_RELOC_MIPS_SHIFT6, - BFD_RELOC_MIPS_INSERT_A, - BFD_RELOC_MIPS_INSERT_B, - BFD_RELOC_MIPS_DELETE, - BFD_RELOC_MIPS_HIGHEST, - BFD_RELOC_MICROMIPS_HIGHEST, - BFD_RELOC_MIPS_HIGHER, - BFD_RELOC_MICROMIPS_HIGHER, - BFD_RELOC_MIPS_SCN_DISP, - BFD_RELOC_MICROMIPS_SCN_DISP, - BFD_RELOC_MIPS_REL16, - BFD_RELOC_MIPS_RELGOT, - BFD_RELOC_MIPS_JALR, - BFD_RELOC_MICROMIPS_JALR, - BFD_RELOC_MIPS_TLS_DTPMOD32, - BFD_RELOC_MIPS_TLS_DTPREL32, - BFD_RELOC_MIPS_TLS_DTPMOD64, - BFD_RELOC_MIPS_TLS_DTPREL64, - BFD_RELOC_MIPS_TLS_GD, - BFD_RELOC_MICROMIPS_TLS_GD, - BFD_RELOC_MIPS_TLS_LDM, - BFD_RELOC_MICROMIPS_TLS_LDM, - BFD_RELOC_MIPS_TLS_DTPREL_HI16, - BFD_RELOC_MICROMIPS_TLS_DTPREL_HI16, - BFD_RELOC_MIPS_TLS_DTPREL_LO16, - BFD_RELOC_MICROMIPS_TLS_DTPREL_LO16, - BFD_RELOC_MIPS_TLS_GOTTPREL, - BFD_RELOC_MICROMIPS_TLS_GOTTPREL, - BFD_RELOC_MIPS_TLS_TPREL32, - BFD_RELOC_MIPS_TLS_TPREL64, - BFD_RELOC_MIPS_TLS_TPREL_HI16, - BFD_RELOC_MICROMIPS_TLS_TPREL_HI16, - BFD_RELOC_MIPS_TLS_TPREL_LO16, - BFD_RELOC_MICROMIPS_TLS_TPREL_LO16, - BFD_RELOC_MIPS_EH, - - -/* MIPS ELF relocations (VxWorks and PLT extensions). */ - BFD_RELOC_MIPS_COPY, - BFD_RELOC_MIPS_JUMP_SLOT, - - -/* Moxie ELF relocations. */ - BFD_RELOC_MOXIE_10_PCREL, - - -/* FT32 ELF relocations. */ - BFD_RELOC_FT32_10, - BFD_RELOC_FT32_20, - BFD_RELOC_FT32_17, - BFD_RELOC_FT32_18, - BFD_RELOC_FT32_RELAX, - BFD_RELOC_FT32_SC0, - BFD_RELOC_FT32_SC1, - BFD_RELOC_FT32_15, - BFD_RELOC_FT32_DIFF32, - - -/* Fujitsu Frv Relocations. */ - BFD_RELOC_FRV_LABEL16, - BFD_RELOC_FRV_LABEL24, - BFD_RELOC_FRV_LO16, - BFD_RELOC_FRV_HI16, - BFD_RELOC_FRV_GPREL12, - BFD_RELOC_FRV_GPRELU12, - BFD_RELOC_FRV_GPREL32, - BFD_RELOC_FRV_GPRELHI, - BFD_RELOC_FRV_GPRELLO, - BFD_RELOC_FRV_GOT12, - BFD_RELOC_FRV_GOTHI, - BFD_RELOC_FRV_GOTLO, - BFD_RELOC_FRV_FUNCDESC, - BFD_RELOC_FRV_FUNCDESC_GOT12, - BFD_RELOC_FRV_FUNCDESC_GOTHI, - BFD_RELOC_FRV_FUNCDESC_GOTLO, - BFD_RELOC_FRV_FUNCDESC_VALUE, - BFD_RELOC_FRV_FUNCDESC_GOTOFF12, - BFD_RELOC_FRV_FUNCDESC_GOTOFFHI, - BFD_RELOC_FRV_FUNCDESC_GOTOFFLO, - BFD_RELOC_FRV_GOTOFF12, - BFD_RELOC_FRV_GOTOFFHI, - BFD_RELOC_FRV_GOTOFFLO, - BFD_RELOC_FRV_GETTLSOFF, - BFD_RELOC_FRV_TLSDESC_VALUE, - BFD_RELOC_FRV_GOTTLSDESC12, - BFD_RELOC_FRV_GOTTLSDESCHI, - BFD_RELOC_FRV_GOTTLSDESCLO, - BFD_RELOC_FRV_TLSMOFF12, - BFD_RELOC_FRV_TLSMOFFHI, - BFD_RELOC_FRV_TLSMOFFLO, - BFD_RELOC_FRV_GOTTLSOFF12, - BFD_RELOC_FRV_GOTTLSOFFHI, - BFD_RELOC_FRV_GOTTLSOFFLO, - BFD_RELOC_FRV_TLSOFF, - BFD_RELOC_FRV_TLSDESC_RELAX, - BFD_RELOC_FRV_GETTLSOFF_RELAX, - BFD_RELOC_FRV_TLSOFF_RELAX, - BFD_RELOC_FRV_TLSMOFF, - - -/* This is a 24bit GOT-relative reloc for the mn10300. */ - BFD_RELOC_MN10300_GOTOFF24, - -/* This is a 32bit GOT-relative reloc for the mn10300, offset by two bytes -in the instruction. */ - BFD_RELOC_MN10300_GOT32, - -/* This is a 24bit GOT-relative reloc for the mn10300, offset by two bytes -in the instruction. */ - BFD_RELOC_MN10300_GOT24, - -/* This is a 16bit GOT-relative reloc for the mn10300, offset by two bytes -in the instruction. */ - BFD_RELOC_MN10300_GOT16, - -/* Copy symbol at runtime. */ - BFD_RELOC_MN10300_COPY, - -/* Create GOT entry. */ - BFD_RELOC_MN10300_GLOB_DAT, - -/* Create PLT entry. */ - BFD_RELOC_MN10300_JMP_SLOT, - -/* Adjust by program base. */ - BFD_RELOC_MN10300_RELATIVE, - -/* Together with another reloc targeted at the same location, -allows for a value that is the difference of two symbols -in the same section. */ - BFD_RELOC_MN10300_SYM_DIFF, - -/* The addend of this reloc is an alignment power that must -be honoured at the offset's location, regardless of linker -relaxation. */ - BFD_RELOC_MN10300_ALIGN, - -/* Various TLS-related relocations. */ - BFD_RELOC_MN10300_TLS_GD, - BFD_RELOC_MN10300_TLS_LD, - BFD_RELOC_MN10300_TLS_LDO, - BFD_RELOC_MN10300_TLS_GOTIE, - BFD_RELOC_MN10300_TLS_IE, - BFD_RELOC_MN10300_TLS_LE, - BFD_RELOC_MN10300_TLS_DTPMOD, - BFD_RELOC_MN10300_TLS_DTPOFF, - BFD_RELOC_MN10300_TLS_TPOFF, - -/* This is a 32bit pcrel reloc for the mn10300, offset by two bytes in the -instruction. */ - BFD_RELOC_MN10300_32_PCREL, - -/* This is a 16bit pcrel reloc for the mn10300, offset by two bytes in the -instruction. */ - BFD_RELOC_MN10300_16_PCREL, - - -/* i386/elf relocations */ - BFD_RELOC_386_GOT32, - BFD_RELOC_386_PLT32, - BFD_RELOC_386_COPY, - BFD_RELOC_386_GLOB_DAT, - BFD_RELOC_386_JUMP_SLOT, - BFD_RELOC_386_RELATIVE, - BFD_RELOC_386_GOTOFF, - BFD_RELOC_386_GOTPC, - BFD_RELOC_386_TLS_TPOFF, - BFD_RELOC_386_TLS_IE, - BFD_RELOC_386_TLS_GOTIE, - BFD_RELOC_386_TLS_LE, - BFD_RELOC_386_TLS_GD, - BFD_RELOC_386_TLS_LDM, - BFD_RELOC_386_TLS_LDO_32, - BFD_RELOC_386_TLS_IE_32, - BFD_RELOC_386_TLS_LE_32, - BFD_RELOC_386_TLS_DTPMOD32, - BFD_RELOC_386_TLS_DTPOFF32, - BFD_RELOC_386_TLS_TPOFF32, - BFD_RELOC_386_TLS_GOTDESC, - BFD_RELOC_386_TLS_DESC_CALL, - BFD_RELOC_386_TLS_DESC, - BFD_RELOC_386_IRELATIVE, - BFD_RELOC_386_GOT32X, - -/* x86-64/elf relocations */ - BFD_RELOC_X86_64_GOT32, - BFD_RELOC_X86_64_PLT32, - BFD_RELOC_X86_64_COPY, - BFD_RELOC_X86_64_GLOB_DAT, - BFD_RELOC_X86_64_JUMP_SLOT, - BFD_RELOC_X86_64_RELATIVE, - BFD_RELOC_X86_64_GOTPCREL, - BFD_RELOC_X86_64_32S, - BFD_RELOC_X86_64_DTPMOD64, - BFD_RELOC_X86_64_DTPOFF64, - BFD_RELOC_X86_64_TPOFF64, - BFD_RELOC_X86_64_TLSGD, - BFD_RELOC_X86_64_TLSLD, - BFD_RELOC_X86_64_DTPOFF32, - BFD_RELOC_X86_64_GOTTPOFF, - BFD_RELOC_X86_64_TPOFF32, - BFD_RELOC_X86_64_GOTOFF64, - BFD_RELOC_X86_64_GOTPC32, - BFD_RELOC_X86_64_GOT64, - BFD_RELOC_X86_64_GOTPCREL64, - BFD_RELOC_X86_64_GOTPC64, - BFD_RELOC_X86_64_GOTPLT64, - BFD_RELOC_X86_64_PLTOFF64, - BFD_RELOC_X86_64_GOTPC32_TLSDESC, - BFD_RELOC_X86_64_TLSDESC_CALL, - BFD_RELOC_X86_64_TLSDESC, - BFD_RELOC_X86_64_IRELATIVE, - BFD_RELOC_X86_64_PC32_BND, - BFD_RELOC_X86_64_PLT32_BND, - BFD_RELOC_X86_64_GOTPCRELX, - BFD_RELOC_X86_64_REX_GOTPCRELX, - -/* ns32k relocations */ - BFD_RELOC_NS32K_IMM_8, - BFD_RELOC_NS32K_IMM_16, - BFD_RELOC_NS32K_IMM_32, - BFD_RELOC_NS32K_IMM_8_PCREL, - BFD_RELOC_NS32K_IMM_16_PCREL, - BFD_RELOC_NS32K_IMM_32_PCREL, - BFD_RELOC_NS32K_DISP_8, - BFD_RELOC_NS32K_DISP_16, - BFD_RELOC_NS32K_DISP_32, - BFD_RELOC_NS32K_DISP_8_PCREL, - BFD_RELOC_NS32K_DISP_16_PCREL, - BFD_RELOC_NS32K_DISP_32_PCREL, - -/* PDP11 relocations */ - BFD_RELOC_PDP11_DISP_8_PCREL, - BFD_RELOC_PDP11_DISP_6_PCREL, - -/* Picojava relocs. Not all of these appear in object files. */ - BFD_RELOC_PJ_CODE_HI16, - BFD_RELOC_PJ_CODE_LO16, - BFD_RELOC_PJ_CODE_DIR16, - BFD_RELOC_PJ_CODE_DIR32, - BFD_RELOC_PJ_CODE_REL16, - BFD_RELOC_PJ_CODE_REL32, - -/* Power(rs6000) and PowerPC relocations. */ - BFD_RELOC_PPC_B26, - BFD_RELOC_PPC_BA26, - BFD_RELOC_PPC_TOC16, - BFD_RELOC_PPC_B16, - BFD_RELOC_PPC_B16_BRTAKEN, - BFD_RELOC_PPC_B16_BRNTAKEN, - BFD_RELOC_PPC_BA16, - BFD_RELOC_PPC_BA16_BRTAKEN, - BFD_RELOC_PPC_BA16_BRNTAKEN, - BFD_RELOC_PPC_COPY, - BFD_RELOC_PPC_GLOB_DAT, - BFD_RELOC_PPC_JMP_SLOT, - BFD_RELOC_PPC_RELATIVE, - BFD_RELOC_PPC_LOCAL24PC, - BFD_RELOC_PPC_EMB_NADDR32, - BFD_RELOC_PPC_EMB_NADDR16, - BFD_RELOC_PPC_EMB_NADDR16_LO, - BFD_RELOC_PPC_EMB_NADDR16_HI, - BFD_RELOC_PPC_EMB_NADDR16_HA, - BFD_RELOC_PPC_EMB_SDAI16, - BFD_RELOC_PPC_EMB_SDA2I16, - BFD_RELOC_PPC_EMB_SDA2REL, - BFD_RELOC_PPC_EMB_SDA21, - BFD_RELOC_PPC_EMB_MRKREF, - BFD_RELOC_PPC_EMB_RELSEC16, - BFD_RELOC_PPC_EMB_RELST_LO, - BFD_RELOC_PPC_EMB_RELST_HI, - BFD_RELOC_PPC_EMB_RELST_HA, - BFD_RELOC_PPC_EMB_BIT_FLD, - BFD_RELOC_PPC_EMB_RELSDA, - BFD_RELOC_PPC_VLE_REL8, - BFD_RELOC_PPC_VLE_REL15, - BFD_RELOC_PPC_VLE_REL24, - BFD_RELOC_PPC_VLE_LO16A, - BFD_RELOC_PPC_VLE_LO16D, - BFD_RELOC_PPC_VLE_HI16A, - BFD_RELOC_PPC_VLE_HI16D, - BFD_RELOC_PPC_VLE_HA16A, - BFD_RELOC_PPC_VLE_HA16D, - BFD_RELOC_PPC_VLE_SDA21, - BFD_RELOC_PPC_VLE_SDA21_LO, - BFD_RELOC_PPC_VLE_SDAREL_LO16A, - BFD_RELOC_PPC_VLE_SDAREL_LO16D, - BFD_RELOC_PPC_VLE_SDAREL_HI16A, - BFD_RELOC_PPC_VLE_SDAREL_HI16D, - BFD_RELOC_PPC_VLE_SDAREL_HA16A, - BFD_RELOC_PPC_VLE_SDAREL_HA16D, - BFD_RELOC_PPC_16DX_HA, - BFD_RELOC_PPC_REL16DX_HA, - BFD_RELOC_PPC64_HIGHER, - BFD_RELOC_PPC64_HIGHER_S, - BFD_RELOC_PPC64_HIGHEST, - BFD_RELOC_PPC64_HIGHEST_S, - BFD_RELOC_PPC64_TOC16_LO, - BFD_RELOC_PPC64_TOC16_HI, - BFD_RELOC_PPC64_TOC16_HA, - BFD_RELOC_PPC64_TOC, - BFD_RELOC_PPC64_PLTGOT16, - BFD_RELOC_PPC64_PLTGOT16_LO, - BFD_RELOC_PPC64_PLTGOT16_HI, - BFD_RELOC_PPC64_PLTGOT16_HA, - BFD_RELOC_PPC64_ADDR16_DS, - BFD_RELOC_PPC64_ADDR16_LO_DS, - BFD_RELOC_PPC64_GOT16_DS, - BFD_RELOC_PPC64_GOT16_LO_DS, - BFD_RELOC_PPC64_PLT16_LO_DS, - BFD_RELOC_PPC64_SECTOFF_DS, - BFD_RELOC_PPC64_SECTOFF_LO_DS, - BFD_RELOC_PPC64_TOC16_DS, - BFD_RELOC_PPC64_TOC16_LO_DS, - BFD_RELOC_PPC64_PLTGOT16_DS, - BFD_RELOC_PPC64_PLTGOT16_LO_DS, - BFD_RELOC_PPC64_ADDR16_HIGH, - BFD_RELOC_PPC64_ADDR16_HIGHA, - BFD_RELOC_PPC64_ADDR64_LOCAL, - BFD_RELOC_PPC64_ENTRY, - -/* PowerPC and PowerPC64 thread-local storage relocations. */ - BFD_RELOC_PPC_TLS, - BFD_RELOC_PPC_TLSGD, - BFD_RELOC_PPC_TLSLD, - BFD_RELOC_PPC_DTPMOD, - BFD_RELOC_PPC_TPREL16, - BFD_RELOC_PPC_TPREL16_LO, - BFD_RELOC_PPC_TPREL16_HI, - BFD_RELOC_PPC_TPREL16_HA, - BFD_RELOC_PPC_TPREL, - BFD_RELOC_PPC_DTPREL16, - BFD_RELOC_PPC_DTPREL16_LO, - BFD_RELOC_PPC_DTPREL16_HI, - BFD_RELOC_PPC_DTPREL16_HA, - BFD_RELOC_PPC_DTPREL, - BFD_RELOC_PPC_GOT_TLSGD16, - BFD_RELOC_PPC_GOT_TLSGD16_LO, - BFD_RELOC_PPC_GOT_TLSGD16_HI, - BFD_RELOC_PPC_GOT_TLSGD16_HA, - BFD_RELOC_PPC_GOT_TLSLD16, - BFD_RELOC_PPC_GOT_TLSLD16_LO, - BFD_RELOC_PPC_GOT_TLSLD16_HI, - BFD_RELOC_PPC_GOT_TLSLD16_HA, - BFD_RELOC_PPC_GOT_TPREL16, - BFD_RELOC_PPC_GOT_TPREL16_LO, - BFD_RELOC_PPC_GOT_TPREL16_HI, - BFD_RELOC_PPC_GOT_TPREL16_HA, - BFD_RELOC_PPC_GOT_DTPREL16, - BFD_RELOC_PPC_GOT_DTPREL16_LO, - BFD_RELOC_PPC_GOT_DTPREL16_HI, - BFD_RELOC_PPC_GOT_DTPREL16_HA, - BFD_RELOC_PPC64_TPREL16_DS, - BFD_RELOC_PPC64_TPREL16_LO_DS, - BFD_RELOC_PPC64_TPREL16_HIGHER, - BFD_RELOC_PPC64_TPREL16_HIGHERA, - BFD_RELOC_PPC64_TPREL16_HIGHEST, - BFD_RELOC_PPC64_TPREL16_HIGHESTA, - BFD_RELOC_PPC64_DTPREL16_DS, - BFD_RELOC_PPC64_DTPREL16_LO_DS, - BFD_RELOC_PPC64_DTPREL16_HIGHER, - BFD_RELOC_PPC64_DTPREL16_HIGHERA, - BFD_RELOC_PPC64_DTPREL16_HIGHEST, - BFD_RELOC_PPC64_DTPREL16_HIGHESTA, - BFD_RELOC_PPC64_TPREL16_HIGH, - BFD_RELOC_PPC64_TPREL16_HIGHA, - BFD_RELOC_PPC64_DTPREL16_HIGH, - BFD_RELOC_PPC64_DTPREL16_HIGHA, - -/* IBM 370/390 relocations */ - BFD_RELOC_I370_D12, - -/* The type of reloc used to build a constructor table - at the moment -probably a 32 bit wide absolute relocation, but the target can choose. -It generally does map to one of the other relocation types. */ - BFD_RELOC_CTOR, - -/* ARM 26 bit pc-relative branch. The lowest two bits must be zero and are -not stored in the instruction. */ - BFD_RELOC_ARM_PCREL_BRANCH, - -/* ARM 26 bit pc-relative branch. The lowest bit must be zero and is -not stored in the instruction. The 2nd lowest bit comes from a 1 bit -field in the instruction. */ - BFD_RELOC_ARM_PCREL_BLX, - -/* Thumb 22 bit pc-relative branch. The lowest bit must be zero and is -not stored in the instruction. The 2nd lowest bit comes from a 1 bit -field in the instruction. */ - BFD_RELOC_THUMB_PCREL_BLX, - -/* ARM 26-bit pc-relative branch for an unconditional BL or BLX instruction. */ - BFD_RELOC_ARM_PCREL_CALL, - -/* ARM 26-bit pc-relative branch for B or conditional BL instruction. */ - BFD_RELOC_ARM_PCREL_JUMP, - -/* Thumb 7-, 9-, 12-, 20-, 23-, and 25-bit pc-relative branches. -The lowest bit must be zero and is not stored in the instruction. -Note that the corresponding ELF R_ARM_THM_JUMPnn constant has an -"nn" one smaller in all cases. Note further that BRANCH23 -corresponds to R_ARM_THM_CALL. */ - BFD_RELOC_THUMB_PCREL_BRANCH7, - BFD_RELOC_THUMB_PCREL_BRANCH9, - BFD_RELOC_THUMB_PCREL_BRANCH12, - BFD_RELOC_THUMB_PCREL_BRANCH20, - BFD_RELOC_THUMB_PCREL_BRANCH23, - BFD_RELOC_THUMB_PCREL_BRANCH25, - -/* 12-bit immediate offset, used in ARM-format ldr and str instructions. */ - BFD_RELOC_ARM_OFFSET_IMM, - -/* 5-bit immediate offset, used in Thumb-format ldr and str instructions. */ - BFD_RELOC_ARM_THUMB_OFFSET, - -/* Pc-relative or absolute relocation depending on target. Used for -entries in .init_array sections. */ - BFD_RELOC_ARM_TARGET1, - -/* Read-only segment base relative address. */ - BFD_RELOC_ARM_ROSEGREL32, - -/* Data segment base relative address. */ - BFD_RELOC_ARM_SBREL32, - -/* This reloc is used for references to RTTI data 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, - -/* Low and High halfword relocations for MOVW and MOVT instructions. */ - BFD_RELOC_ARM_MOVW, - BFD_RELOC_ARM_MOVT, - BFD_RELOC_ARM_MOVW_PCREL, - BFD_RELOC_ARM_MOVT_PCREL, - BFD_RELOC_ARM_THUMB_MOVW, - BFD_RELOC_ARM_THUMB_MOVT, - BFD_RELOC_ARM_THUMB_MOVW_PCREL, - BFD_RELOC_ARM_THUMB_MOVT_PCREL, - -/* Relocations for setting up GOTs and PLTs for shared libraries. */ - BFD_RELOC_ARM_JUMP_SLOT, - BFD_RELOC_ARM_GLOB_DAT, - BFD_RELOC_ARM_GOT32, - BFD_RELOC_ARM_PLT32, - BFD_RELOC_ARM_RELATIVE, - BFD_RELOC_ARM_GOTOFF, - BFD_RELOC_ARM_GOTPC, - BFD_RELOC_ARM_GOT_PREL, - -/* ARM thread-local storage relocations. */ - BFD_RELOC_ARM_TLS_GD32, - BFD_RELOC_ARM_TLS_LDO32, - BFD_RELOC_ARM_TLS_LDM32, - BFD_RELOC_ARM_TLS_DTPOFF32, - BFD_RELOC_ARM_TLS_DTPMOD32, - BFD_RELOC_ARM_TLS_TPOFF32, - BFD_RELOC_ARM_TLS_IE32, - BFD_RELOC_ARM_TLS_LE32, - BFD_RELOC_ARM_TLS_GOTDESC, - BFD_RELOC_ARM_TLS_CALL, - BFD_RELOC_ARM_THM_TLS_CALL, - BFD_RELOC_ARM_TLS_DESCSEQ, - BFD_RELOC_ARM_THM_TLS_DESCSEQ, - BFD_RELOC_ARM_TLS_DESC, - -/* ARM group relocations. */ - BFD_RELOC_ARM_ALU_PC_G0_NC, - BFD_RELOC_ARM_ALU_PC_G0, - BFD_RELOC_ARM_ALU_PC_G1_NC, - BFD_RELOC_ARM_ALU_PC_G1, - BFD_RELOC_ARM_ALU_PC_G2, - BFD_RELOC_ARM_LDR_PC_G0, - BFD_RELOC_ARM_LDR_PC_G1, - BFD_RELOC_ARM_LDR_PC_G2, - BFD_RELOC_ARM_LDRS_PC_G0, - BFD_RELOC_ARM_LDRS_PC_G1, - BFD_RELOC_ARM_LDRS_PC_G2, - BFD_RELOC_ARM_LDC_PC_G0, - BFD_RELOC_ARM_LDC_PC_G1, - BFD_RELOC_ARM_LDC_PC_G2, - BFD_RELOC_ARM_ALU_SB_G0_NC, - BFD_RELOC_ARM_ALU_SB_G0, - BFD_RELOC_ARM_ALU_SB_G1_NC, - BFD_RELOC_ARM_ALU_SB_G1, - BFD_RELOC_ARM_ALU_SB_G2, - BFD_RELOC_ARM_LDR_SB_G0, - BFD_RELOC_ARM_LDR_SB_G1, - BFD_RELOC_ARM_LDR_SB_G2, - BFD_RELOC_ARM_LDRS_SB_G0, - BFD_RELOC_ARM_LDRS_SB_G1, - BFD_RELOC_ARM_LDRS_SB_G2, - BFD_RELOC_ARM_LDC_SB_G0, - BFD_RELOC_ARM_LDC_SB_G1, - BFD_RELOC_ARM_LDC_SB_G2, - -/* Annotation of BX instructions. */ - BFD_RELOC_ARM_V4BX, - -/* ARM support for STT_GNU_IFUNC. */ - BFD_RELOC_ARM_IRELATIVE, - -/* Thumb1 relocations to support execute-only code. */ - BFD_RELOC_ARM_THUMB_ALU_ABS_G0_NC, - BFD_RELOC_ARM_THUMB_ALU_ABS_G1_NC, - BFD_RELOC_ARM_THUMB_ALU_ABS_G2_NC, - BFD_RELOC_ARM_THUMB_ALU_ABS_G3_NC, - -/* These relocs are only used within the ARM assembler. They are not -(at present) written to any object files. */ - BFD_RELOC_ARM_IMMEDIATE, - BFD_RELOC_ARM_ADRL_IMMEDIATE, - BFD_RELOC_ARM_T32_IMMEDIATE, - BFD_RELOC_ARM_T32_ADD_IMM, - BFD_RELOC_ARM_T32_IMM12, - BFD_RELOC_ARM_T32_ADD_PC12, - BFD_RELOC_ARM_SHIFT_IMM, - BFD_RELOC_ARM_SMC, - BFD_RELOC_ARM_HVC, - BFD_RELOC_ARM_SWI, - BFD_RELOC_ARM_MULTI, - BFD_RELOC_ARM_CP_OFF_IMM, - BFD_RELOC_ARM_CP_OFF_IMM_S2, - BFD_RELOC_ARM_T32_CP_OFF_IMM, - BFD_RELOC_ARM_T32_CP_OFF_IMM_S2, - BFD_RELOC_ARM_ADR_IMM, - BFD_RELOC_ARM_LDR_IMM, - BFD_RELOC_ARM_LITERAL, - BFD_RELOC_ARM_IN_POOL, - BFD_RELOC_ARM_OFFSET_IMM8, - BFD_RELOC_ARM_T32_OFFSET_U8, - BFD_RELOC_ARM_T32_OFFSET_IMM, - BFD_RELOC_ARM_HWLITERAL, - BFD_RELOC_ARM_THUMB_ADD, - BFD_RELOC_ARM_THUMB_IMM, - BFD_RELOC_ARM_THUMB_SHIFT, - -/* Renesas / SuperH SH relocs. Not all of these appear in object files. */ - BFD_RELOC_SH_PCDISP8BY2, - BFD_RELOC_SH_PCDISP12BY2, - BFD_RELOC_SH_IMM3, - BFD_RELOC_SH_IMM3U, - BFD_RELOC_SH_DISP12, - BFD_RELOC_SH_DISP12BY2, - BFD_RELOC_SH_DISP12BY4, - BFD_RELOC_SH_DISP12BY8, - BFD_RELOC_SH_DISP20, - BFD_RELOC_SH_DISP20BY8, - BFD_RELOC_SH_IMM4, - BFD_RELOC_SH_IMM4BY2, - BFD_RELOC_SH_IMM4BY4, - BFD_RELOC_SH_IMM8, - BFD_RELOC_SH_IMM8BY2, - BFD_RELOC_SH_IMM8BY4, - BFD_RELOC_SH_PCRELIMM8BY2, - BFD_RELOC_SH_PCRELIMM8BY4, - BFD_RELOC_SH_SWITCH16, - BFD_RELOC_SH_SWITCH32, - BFD_RELOC_SH_USES, - BFD_RELOC_SH_COUNT, - BFD_RELOC_SH_ALIGN, - BFD_RELOC_SH_CODE, - BFD_RELOC_SH_DATA, - BFD_RELOC_SH_LABEL, - BFD_RELOC_SH_LOOP_START, - BFD_RELOC_SH_LOOP_END, - BFD_RELOC_SH_COPY, - BFD_RELOC_SH_GLOB_DAT, - BFD_RELOC_SH_JMP_SLOT, - BFD_RELOC_SH_RELATIVE, - BFD_RELOC_SH_GOTPC, - BFD_RELOC_SH_GOT_LOW16, - BFD_RELOC_SH_GOT_MEDLOW16, - BFD_RELOC_SH_GOT_MEDHI16, - BFD_RELOC_SH_GOT_HI16, - BFD_RELOC_SH_GOTPLT_LOW16, - BFD_RELOC_SH_GOTPLT_MEDLOW16, - BFD_RELOC_SH_GOTPLT_MEDHI16, - BFD_RELOC_SH_GOTPLT_HI16, - BFD_RELOC_SH_PLT_LOW16, - BFD_RELOC_SH_PLT_MEDLOW16, - BFD_RELOC_SH_PLT_MEDHI16, - BFD_RELOC_SH_PLT_HI16, - BFD_RELOC_SH_GOTOFF_LOW16, - BFD_RELOC_SH_GOTOFF_MEDLOW16, - BFD_RELOC_SH_GOTOFF_MEDHI16, - BFD_RELOC_SH_GOTOFF_HI16, - BFD_RELOC_SH_GOTPC_LOW16, - BFD_RELOC_SH_GOTPC_MEDLOW16, - BFD_RELOC_SH_GOTPC_MEDHI16, - BFD_RELOC_SH_GOTPC_HI16, - BFD_RELOC_SH_COPY64, - BFD_RELOC_SH_GLOB_DAT64, - BFD_RELOC_SH_JMP_SLOT64, - BFD_RELOC_SH_RELATIVE64, - BFD_RELOC_SH_GOT10BY4, - BFD_RELOC_SH_GOT10BY8, - BFD_RELOC_SH_GOTPLT10BY4, - BFD_RELOC_SH_GOTPLT10BY8, - BFD_RELOC_SH_GOTPLT32, - BFD_RELOC_SH_SHMEDIA_CODE, - BFD_RELOC_SH_IMMU5, - BFD_RELOC_SH_IMMS6, - BFD_RELOC_SH_IMMS6BY32, - BFD_RELOC_SH_IMMU6, - BFD_RELOC_SH_IMMS10, - BFD_RELOC_SH_IMMS10BY2, - BFD_RELOC_SH_IMMS10BY4, - BFD_RELOC_SH_IMMS10BY8, - BFD_RELOC_SH_IMMS16, - BFD_RELOC_SH_IMMU16, - BFD_RELOC_SH_IMM_LOW16, - BFD_RELOC_SH_IMM_LOW16_PCREL, - BFD_RELOC_SH_IMM_MEDLOW16, - BFD_RELOC_SH_IMM_MEDLOW16_PCREL, - BFD_RELOC_SH_IMM_MEDHI16, - BFD_RELOC_SH_IMM_MEDHI16_PCREL, - BFD_RELOC_SH_IMM_HI16, - BFD_RELOC_SH_IMM_HI16_PCREL, - BFD_RELOC_SH_PT_16, - BFD_RELOC_SH_TLS_GD_32, - BFD_RELOC_SH_TLS_LD_32, - BFD_RELOC_SH_TLS_LDO_32, - BFD_RELOC_SH_TLS_IE_32, - BFD_RELOC_SH_TLS_LE_32, - BFD_RELOC_SH_TLS_DTPMOD32, - BFD_RELOC_SH_TLS_DTPOFF32, - BFD_RELOC_SH_TLS_TPOFF32, - BFD_RELOC_SH_GOT20, - BFD_RELOC_SH_GOTOFF20, - BFD_RELOC_SH_GOTFUNCDESC, - BFD_RELOC_SH_GOTFUNCDESC20, - BFD_RELOC_SH_GOTOFFFUNCDESC, - BFD_RELOC_SH_GOTOFFFUNCDESC20, - BFD_RELOC_SH_FUNCDESC, - -/* ARC relocs. */ - BFD_RELOC_ARC_NONE, - BFD_RELOC_ARC_8, - BFD_RELOC_ARC_16, - BFD_RELOC_ARC_24, - BFD_RELOC_ARC_32, - BFD_RELOC_ARC_N8, - BFD_RELOC_ARC_N16, - BFD_RELOC_ARC_N24, - BFD_RELOC_ARC_N32, - BFD_RELOC_ARC_SDA, - BFD_RELOC_ARC_SECTOFF, - BFD_RELOC_ARC_S21H_PCREL, - BFD_RELOC_ARC_S21W_PCREL, - BFD_RELOC_ARC_S25H_PCREL, - BFD_RELOC_ARC_S25W_PCREL, - BFD_RELOC_ARC_SDA32, - BFD_RELOC_ARC_SDA_LDST, - BFD_RELOC_ARC_SDA_LDST1, - BFD_RELOC_ARC_SDA_LDST2, - BFD_RELOC_ARC_SDA16_LD, - BFD_RELOC_ARC_SDA16_LD1, - BFD_RELOC_ARC_SDA16_LD2, - BFD_RELOC_ARC_S13_PCREL, - BFD_RELOC_ARC_W, - BFD_RELOC_ARC_32_ME, - BFD_RELOC_ARC_32_ME_S, - BFD_RELOC_ARC_N32_ME, - BFD_RELOC_ARC_SECTOFF_ME, - BFD_RELOC_ARC_SDA32_ME, - BFD_RELOC_ARC_W_ME, - BFD_RELOC_AC_SECTOFF_U8, - BFD_RELOC_AC_SECTOFF_U8_1, - BFD_RELOC_AC_SECTOFF_U8_2, - BFD_RELOC_AC_SECTOFF_S9, - BFD_RELOC_AC_SECTOFF_S9_1, - BFD_RELOC_AC_SECTOFF_S9_2, - BFD_RELOC_ARC_SECTOFF_ME_1, - BFD_RELOC_ARC_SECTOFF_ME_2, - BFD_RELOC_ARC_SECTOFF_1, - BFD_RELOC_ARC_SECTOFF_2, - BFD_RELOC_ARC_SDA_12, - BFD_RELOC_ARC_SDA16_ST2, - BFD_RELOC_ARC_32_PCREL, - BFD_RELOC_ARC_PC32, - BFD_RELOC_ARC_GOT32, - BFD_RELOC_ARC_GOTPC32, - BFD_RELOC_ARC_PLT32, - BFD_RELOC_ARC_COPY, - BFD_RELOC_ARC_GLOB_DAT, - BFD_RELOC_ARC_JMP_SLOT, - BFD_RELOC_ARC_RELATIVE, - BFD_RELOC_ARC_GOTOFF, - BFD_RELOC_ARC_GOTPC, - BFD_RELOC_ARC_S21W_PCREL_PLT, - BFD_RELOC_ARC_S25H_PCREL_PLT, - BFD_RELOC_ARC_TLS_DTPMOD, - BFD_RELOC_ARC_TLS_TPOFF, - BFD_RELOC_ARC_TLS_GD_GOT, - BFD_RELOC_ARC_TLS_GD_LD, - BFD_RELOC_ARC_TLS_GD_CALL, - BFD_RELOC_ARC_TLS_IE_GOT, - BFD_RELOC_ARC_TLS_DTPOFF, - BFD_RELOC_ARC_TLS_DTPOFF_S9, - BFD_RELOC_ARC_TLS_LE_S9, - BFD_RELOC_ARC_TLS_LE_32, - BFD_RELOC_ARC_S25W_PCREL_PLT, - BFD_RELOC_ARC_S21H_PCREL_PLT, - BFD_RELOC_ARC_NPS_CMEM16, - BFD_RELOC_ARC_JLI_SECTOFF, - -/* ADI Blackfin 16 bit immediate absolute reloc. */ - BFD_RELOC_BFIN_16_IMM, - -/* ADI Blackfin 16 bit immediate absolute reloc higher 16 bits. */ - BFD_RELOC_BFIN_16_HIGH, - -/* ADI Blackfin 'a' part of LSETUP. */ - BFD_RELOC_BFIN_4_PCREL, - -/* ADI Blackfin. */ - BFD_RELOC_BFIN_5_PCREL, - -/* ADI Blackfin 16 bit immediate absolute reloc lower 16 bits. */ - BFD_RELOC_BFIN_16_LOW, - -/* ADI Blackfin. */ - BFD_RELOC_BFIN_10_PCREL, - -/* ADI Blackfin 'b' part of LSETUP. */ - BFD_RELOC_BFIN_11_PCREL, - -/* ADI Blackfin. */ - BFD_RELOC_BFIN_12_PCREL_JUMP, - -/* ADI Blackfin Short jump, pcrel. */ - BFD_RELOC_BFIN_12_PCREL_JUMP_S, - -/* ADI Blackfin Call.x not implemented. */ - BFD_RELOC_BFIN_24_PCREL_CALL_X, - -/* ADI Blackfin Long Jump pcrel. */ - BFD_RELOC_BFIN_24_PCREL_JUMP_L, - -/* ADI Blackfin FD-PIC relocations. */ - BFD_RELOC_BFIN_GOT17M4, - BFD_RELOC_BFIN_GOTHI, - BFD_RELOC_BFIN_GOTLO, - BFD_RELOC_BFIN_FUNCDESC, - BFD_RELOC_BFIN_FUNCDESC_GOT17M4, - BFD_RELOC_BFIN_FUNCDESC_GOTHI, - BFD_RELOC_BFIN_FUNCDESC_GOTLO, - BFD_RELOC_BFIN_FUNCDESC_VALUE, - BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4, - BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI, - BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO, - BFD_RELOC_BFIN_GOTOFF17M4, - BFD_RELOC_BFIN_GOTOFFHI, - BFD_RELOC_BFIN_GOTOFFLO, - -/* ADI Blackfin GOT relocation. */ - BFD_RELOC_BFIN_GOT, - -/* ADI Blackfin PLTPC relocation. */ - BFD_RELOC_BFIN_PLTPC, - -/* ADI Blackfin arithmetic relocation. */ - BFD_ARELOC_BFIN_PUSH, - -/* ADI Blackfin arithmetic relocation. */ - BFD_ARELOC_BFIN_CONST, - -/* ADI Blackfin arithmetic relocation. */ - BFD_ARELOC_BFIN_ADD, - -/* ADI Blackfin arithmetic relocation. */ - BFD_ARELOC_BFIN_SUB, - -/* ADI Blackfin arithmetic relocation. */ - BFD_ARELOC_BFIN_MULT, - -/* ADI Blackfin arithmetic relocation. */ - BFD_ARELOC_BFIN_DIV, - -/* ADI Blackfin arithmetic relocation. */ - BFD_ARELOC_BFIN_MOD, - -/* ADI Blackfin arithmetic relocation. */ - BFD_ARELOC_BFIN_LSHIFT, - -/* ADI Blackfin arithmetic relocation. */ - BFD_ARELOC_BFIN_RSHIFT, - -/* ADI Blackfin arithmetic relocation. */ - BFD_ARELOC_BFIN_AND, - -/* ADI Blackfin arithmetic relocation. */ - BFD_ARELOC_BFIN_OR, - -/* ADI Blackfin arithmetic relocation. */ - BFD_ARELOC_BFIN_XOR, - -/* ADI Blackfin arithmetic relocation. */ - BFD_ARELOC_BFIN_LAND, - -/* ADI Blackfin arithmetic relocation. */ - BFD_ARELOC_BFIN_LOR, - -/* ADI Blackfin arithmetic relocation. */ - BFD_ARELOC_BFIN_LEN, - -/* ADI Blackfin arithmetic relocation. */ - BFD_ARELOC_BFIN_NEG, - -/* ADI Blackfin arithmetic relocation. */ - BFD_ARELOC_BFIN_COMP, - -/* ADI Blackfin arithmetic relocation. */ - BFD_ARELOC_BFIN_PAGE, - -/* ADI Blackfin arithmetic relocation. */ - BFD_ARELOC_BFIN_HWPAGE, - -/* ADI Blackfin arithmetic relocation. */ - BFD_ARELOC_BFIN_ADDR, - -/* Mitsubishi D10V relocs. -This is a 10-bit reloc with the right 2 bits -assumed to be 0. */ - BFD_RELOC_D10V_10_PCREL_R, - -/* Mitsubishi D10V relocs. -This is a 10-bit reloc with the right 2 bits -assumed to be 0. This is the same as the previous reloc -except it is in the left container, i.e., -shifted left 15 bits. */ - BFD_RELOC_D10V_10_PCREL_L, - -/* This is an 18-bit reloc with the right 2 bits -assumed to be 0. */ - BFD_RELOC_D10V_18, - -/* This is an 18-bit reloc with the right 2 bits -assumed to be 0. */ - BFD_RELOC_D10V_18_PCREL, - -/* Mitsubishi D30V relocs. -This is a 6-bit absolute reloc. */ - BFD_RELOC_D30V_6, - -/* This is a 6-bit pc-relative reloc with -the right 3 bits assumed to be 0. */ - BFD_RELOC_D30V_9_PCREL, - -/* This is a 6-bit pc-relative reloc with -the right 3 bits assumed to be 0. Same -as the previous reloc but on the right side -of the container. */ - BFD_RELOC_D30V_9_PCREL_R, - -/* This is a 12-bit absolute reloc with the -right 3 bitsassumed to be 0. */ - BFD_RELOC_D30V_15, - -/* This is a 12-bit pc-relative reloc with -the right 3 bits assumed to be 0. */ - BFD_RELOC_D30V_15_PCREL, - -/* This is a 12-bit pc-relative reloc with -the right 3 bits assumed to be 0. Same -as the previous reloc but on the right side -of the container. */ - BFD_RELOC_D30V_15_PCREL_R, - -/* This is an 18-bit absolute reloc with -the right 3 bits assumed to be 0. */ - BFD_RELOC_D30V_21, - -/* This is an 18-bit pc-relative reloc with -the right 3 bits assumed to be 0. */ - BFD_RELOC_D30V_21_PCREL, - -/* This is an 18-bit pc-relative reloc with -the right 3 bits assumed to be 0. Same -as the previous reloc but on the right side -of the container. */ - BFD_RELOC_D30V_21_PCREL_R, - -/* This is a 32-bit absolute reloc. */ - BFD_RELOC_D30V_32, - -/* This is a 32-bit pc-relative reloc. */ - BFD_RELOC_D30V_32_PCREL, - -/* DLX relocs */ - BFD_RELOC_DLX_HI16_S, - -/* DLX relocs */ - BFD_RELOC_DLX_LO16, - -/* DLX relocs */ - BFD_RELOC_DLX_JMP26, - -/* Renesas M16C/M32C Relocations. */ - BFD_RELOC_M32C_HI8, - BFD_RELOC_M32C_RL_JUMP, - BFD_RELOC_M32C_RL_1ADDR, - BFD_RELOC_M32C_RL_2ADDR, - -/* Renesas M32R (formerly Mitsubishi M32R) relocs. -This is a 24 bit absolute address. */ - BFD_RELOC_M32R_24, - -/* This is a 10-bit pc-relative reloc with the right 2 bits assumed to be 0. */ - BFD_RELOC_M32R_10_PCREL, - -/* This is an 18-bit reloc with the right 2 bits assumed to be 0. */ - BFD_RELOC_M32R_18_PCREL, - -/* This is a 26-bit reloc with the right 2 bits assumed to be 0. */ - BFD_RELOC_M32R_26_PCREL, - -/* This is a 16-bit reloc containing the high 16 bits of an address -used when the lower 16 bits are treated as unsigned. */ - BFD_RELOC_M32R_HI16_ULO, - -/* This is a 16-bit reloc containing the high 16 bits of an address -used when the lower 16 bits are treated as signed. */ - BFD_RELOC_M32R_HI16_SLO, - -/* This is a 16-bit reloc containing the lower 16 bits of an address. */ - BFD_RELOC_M32R_LO16, - -/* This is a 16-bit reloc containing the small data area offset for use in -add3, load, and store instructions. */ - BFD_RELOC_M32R_SDA16, - -/* For PIC. */ - BFD_RELOC_M32R_GOT24, - BFD_RELOC_M32R_26_PLTREL, - BFD_RELOC_M32R_COPY, - BFD_RELOC_M32R_GLOB_DAT, - BFD_RELOC_M32R_JMP_SLOT, - BFD_RELOC_M32R_RELATIVE, - BFD_RELOC_M32R_GOTOFF, - BFD_RELOC_M32R_GOTOFF_HI_ULO, - BFD_RELOC_M32R_GOTOFF_HI_SLO, - BFD_RELOC_M32R_GOTOFF_LO, - BFD_RELOC_M32R_GOTPC24, - BFD_RELOC_M32R_GOT16_HI_ULO, - BFD_RELOC_M32R_GOT16_HI_SLO, - BFD_RELOC_M32R_GOT16_LO, - BFD_RELOC_M32R_GOTPC_HI_ULO, - BFD_RELOC_M32R_GOTPC_HI_SLO, - BFD_RELOC_M32R_GOTPC_LO, - -/* NDS32 relocs. -This is a 20 bit absolute address. */ - BFD_RELOC_NDS32_20, - -/* This is a 9-bit pc-relative reloc with the right 1 bit assumed to be 0. */ - BFD_RELOC_NDS32_9_PCREL, - -/* This is a 9-bit pc-relative reloc with the right 1 bit assumed to be 0. */ - BFD_RELOC_NDS32_WORD_9_PCREL, - -/* This is an 15-bit reloc with the right 1 bit assumed to be 0. */ - BFD_RELOC_NDS32_15_PCREL, - -/* This is an 17-bit reloc with the right 1 bit assumed to be 0. */ - BFD_RELOC_NDS32_17_PCREL, - -/* This is a 25-bit reloc with the right 1 bit assumed to be 0. */ - BFD_RELOC_NDS32_25_PCREL, - -/* This is a 20-bit reloc containing the high 20 bits of an address -used with the lower 12 bits */ - BFD_RELOC_NDS32_HI20, - -/* This is a 12-bit reloc containing the lower 12 bits of an address -then shift right by 3. This is used with ldi,sdi... */ - BFD_RELOC_NDS32_LO12S3, - -/* This is a 12-bit reloc containing the lower 12 bits of an address -then shift left by 2. This is used with lwi,swi... */ - BFD_RELOC_NDS32_LO12S2, - -/* This is a 12-bit reloc containing the lower 12 bits of an address -then shift left by 1. This is used with lhi,shi... */ - BFD_RELOC_NDS32_LO12S1, - -/* This is a 12-bit reloc containing the lower 12 bits of an address -then shift left by 0. This is used with lbisbi... */ - BFD_RELOC_NDS32_LO12S0, - -/* This is a 12-bit reloc containing the lower 12 bits of an address -then shift left by 0. This is only used with branch relaxations */ - BFD_RELOC_NDS32_LO12S0_ORI, - -/* This is a 15-bit reloc containing the small data area 18-bit signed offset -and shift left by 3 for use in ldi, sdi... */ - BFD_RELOC_NDS32_SDA15S3, - -/* This is a 15-bit reloc containing the small data area 17-bit signed offset -and shift left by 2 for use in lwi, swi... */ - BFD_RELOC_NDS32_SDA15S2, - -/* This is a 15-bit reloc containing the small data area 16-bit signed offset -and shift left by 1 for use in lhi, shi... */ - BFD_RELOC_NDS32_SDA15S1, - -/* This is a 15-bit reloc containing the small data area 15-bit signed offset -and shift left by 0 for use in lbi, sbi... */ - BFD_RELOC_NDS32_SDA15S0, - -/* This is a 16-bit reloc containing the small data area 16-bit signed offset -and shift left by 3 */ - BFD_RELOC_NDS32_SDA16S3, - -/* This is a 17-bit reloc containing the small data area 17-bit signed offset -and shift left by 2 for use in lwi.gp, swi.gp... */ - BFD_RELOC_NDS32_SDA17S2, - -/* This is a 18-bit reloc containing the small data area 18-bit signed offset -and shift left by 1 for use in lhi.gp, shi.gp... */ - BFD_RELOC_NDS32_SDA18S1, - -/* This is a 19-bit reloc containing the small data area 19-bit signed offset -and shift left by 0 for use in lbi.gp, sbi.gp... */ - BFD_RELOC_NDS32_SDA19S0, - -/* for PIC */ - BFD_RELOC_NDS32_GOT20, - BFD_RELOC_NDS32_9_PLTREL, - BFD_RELOC_NDS32_25_PLTREL, - BFD_RELOC_NDS32_COPY, - BFD_RELOC_NDS32_GLOB_DAT, - BFD_RELOC_NDS32_JMP_SLOT, - BFD_RELOC_NDS32_RELATIVE, - BFD_RELOC_NDS32_GOTOFF, - BFD_RELOC_NDS32_GOTOFF_HI20, - BFD_RELOC_NDS32_GOTOFF_LO12, - BFD_RELOC_NDS32_GOTPC20, - BFD_RELOC_NDS32_GOT_HI20, - BFD_RELOC_NDS32_GOT_LO12, - BFD_RELOC_NDS32_GOTPC_HI20, - BFD_RELOC_NDS32_GOTPC_LO12, - -/* for relax */ - BFD_RELOC_NDS32_INSN16, - BFD_RELOC_NDS32_LABEL, - BFD_RELOC_NDS32_LONGCALL1, - BFD_RELOC_NDS32_LONGCALL2, - BFD_RELOC_NDS32_LONGCALL3, - BFD_RELOC_NDS32_LONGJUMP1, - BFD_RELOC_NDS32_LONGJUMP2, - BFD_RELOC_NDS32_LONGJUMP3, - BFD_RELOC_NDS32_LOADSTORE, - BFD_RELOC_NDS32_9_FIXED, - BFD_RELOC_NDS32_15_FIXED, - BFD_RELOC_NDS32_17_FIXED, - BFD_RELOC_NDS32_25_FIXED, - BFD_RELOC_NDS32_LONGCALL4, - BFD_RELOC_NDS32_LONGCALL5, - BFD_RELOC_NDS32_LONGCALL6, - BFD_RELOC_NDS32_LONGJUMP4, - BFD_RELOC_NDS32_LONGJUMP5, - BFD_RELOC_NDS32_LONGJUMP6, - BFD_RELOC_NDS32_LONGJUMP7, - -/* for PIC */ - BFD_RELOC_NDS32_PLTREL_HI20, - BFD_RELOC_NDS32_PLTREL_LO12, - BFD_RELOC_NDS32_PLT_GOTREL_HI20, - BFD_RELOC_NDS32_PLT_GOTREL_LO12, - -/* for floating point */ - BFD_RELOC_NDS32_SDA12S2_DP, - BFD_RELOC_NDS32_SDA12S2_SP, - BFD_RELOC_NDS32_LO12S2_DP, - BFD_RELOC_NDS32_LO12S2_SP, - -/* for dwarf2 debug_line. */ - BFD_RELOC_NDS32_DWARF2_OP1, - BFD_RELOC_NDS32_DWARF2_OP2, - BFD_RELOC_NDS32_DWARF2_LEB, - -/* for eliminate 16-bit instructions */ - BFD_RELOC_NDS32_UPDATE_TA, - -/* for PIC object relaxation */ - BFD_RELOC_NDS32_PLT_GOTREL_LO20, - BFD_RELOC_NDS32_PLT_GOTREL_LO15, - BFD_RELOC_NDS32_PLT_GOTREL_LO19, - BFD_RELOC_NDS32_GOT_LO15, - BFD_RELOC_NDS32_GOT_LO19, - BFD_RELOC_NDS32_GOTOFF_LO15, - BFD_RELOC_NDS32_GOTOFF_LO19, - BFD_RELOC_NDS32_GOT15S2, - BFD_RELOC_NDS32_GOT17S2, - -/* NDS32 relocs. -This is a 5 bit absolute address. */ - BFD_RELOC_NDS32_5, - -/* This is a 10-bit unsigned pc-relative reloc with the right 1 bit assumed to be 0. */ - BFD_RELOC_NDS32_10_UPCREL, - -/* If fp were omitted, fp can used as another gp. */ - BFD_RELOC_NDS32_SDA_FP7U2_RELA, - -/* relaxation relative relocation types */ - BFD_RELOC_NDS32_RELAX_ENTRY, - BFD_RELOC_NDS32_GOT_SUFF, - BFD_RELOC_NDS32_GOTOFF_SUFF, - BFD_RELOC_NDS32_PLT_GOT_SUFF, - BFD_RELOC_NDS32_MULCALL_SUFF, - BFD_RELOC_NDS32_PTR, - BFD_RELOC_NDS32_PTR_COUNT, - BFD_RELOC_NDS32_PTR_RESOLVED, - BFD_RELOC_NDS32_PLTBLOCK, - BFD_RELOC_NDS32_RELAX_REGION_BEGIN, - BFD_RELOC_NDS32_RELAX_REGION_END, - BFD_RELOC_NDS32_MINUEND, - BFD_RELOC_NDS32_SUBTRAHEND, - BFD_RELOC_NDS32_DIFF8, - BFD_RELOC_NDS32_DIFF16, - BFD_RELOC_NDS32_DIFF32, - BFD_RELOC_NDS32_DIFF_ULEB128, - BFD_RELOC_NDS32_EMPTY, - -/* This is a 25 bit absolute address. */ - BFD_RELOC_NDS32_25_ABS, - -/* For ex9 and ifc using. */ - BFD_RELOC_NDS32_DATA, - BFD_RELOC_NDS32_TRAN, - BFD_RELOC_NDS32_17IFC_PCREL, - BFD_RELOC_NDS32_10IFCU_PCREL, - -/* For TLS. */ - BFD_RELOC_NDS32_TPOFF, - BFD_RELOC_NDS32_TLS_LE_HI20, - BFD_RELOC_NDS32_TLS_LE_LO12, - BFD_RELOC_NDS32_TLS_LE_ADD, - BFD_RELOC_NDS32_TLS_LE_LS, - BFD_RELOC_NDS32_GOTTPOFF, - BFD_RELOC_NDS32_TLS_IE_HI20, - BFD_RELOC_NDS32_TLS_IE_LO12S2, - BFD_RELOC_NDS32_TLS_TPOFF, - BFD_RELOC_NDS32_TLS_LE_20, - BFD_RELOC_NDS32_TLS_LE_15S0, - BFD_RELOC_NDS32_TLS_LE_15S1, - BFD_RELOC_NDS32_TLS_LE_15S2, - -/* This is a 9-bit reloc */ - BFD_RELOC_V850_9_PCREL, - -/* This is a 22-bit reloc */ - BFD_RELOC_V850_22_PCREL, - -/* This is a 16 bit offset from the short data area pointer. */ - BFD_RELOC_V850_SDA_16_16_OFFSET, - -/* This is a 16 bit offset (of which only 15 bits are used) from the -short data area pointer. */ - BFD_RELOC_V850_SDA_15_16_OFFSET, - -/* This is a 16 bit offset from the zero data area pointer. */ - BFD_RELOC_V850_ZDA_16_16_OFFSET, - -/* This is a 16 bit offset (of which only 15 bits are used) from the -zero data area pointer. */ - BFD_RELOC_V850_ZDA_15_16_OFFSET, - -/* This is an 8 bit offset (of which only 6 bits are used) from the -tiny data area pointer. */ - BFD_RELOC_V850_TDA_6_8_OFFSET, - -/* This is an 8bit offset (of which only 7 bits are used) from the tiny -data area pointer. */ - BFD_RELOC_V850_TDA_7_8_OFFSET, - -/* This is a 7 bit offset from the tiny data area pointer. */ - BFD_RELOC_V850_TDA_7_7_OFFSET, - -/* This is a 16 bit offset from the tiny data area pointer. */ - BFD_RELOC_V850_TDA_16_16_OFFSET, - -/* This is a 5 bit offset (of which only 4 bits are used) from the tiny -data area pointer. */ - BFD_RELOC_V850_TDA_4_5_OFFSET, - -/* This is a 4 bit offset from the tiny data area pointer. */ - BFD_RELOC_V850_TDA_4_4_OFFSET, - -/* This is a 16 bit offset from the short data area pointer, with the -bits placed non-contiguously in the instruction. */ - BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET, - -/* This is a 16 bit offset from the zero data area pointer, with the -bits placed non-contiguously in the instruction. */ - BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET, - -/* This is a 6 bit offset from the call table base pointer. */ - BFD_RELOC_V850_CALLT_6_7_OFFSET, - -/* This is a 16 bit offset from the call table base pointer. */ - BFD_RELOC_V850_CALLT_16_16_OFFSET, - -/* Used for relaxing indirect function calls. */ - BFD_RELOC_V850_LONGCALL, - -/* Used for relaxing indirect jumps. */ - BFD_RELOC_V850_LONGJUMP, - -/* Used to maintain alignment whilst relaxing. */ - BFD_RELOC_V850_ALIGN, - -/* This is a variation of BFD_RELOC_LO16 that can be used in v850e ld.bu -instructions. */ - BFD_RELOC_V850_LO16_SPLIT_OFFSET, - -/* This is a 16-bit reloc. */ - BFD_RELOC_V850_16_PCREL, - -/* This is a 17-bit reloc. */ - BFD_RELOC_V850_17_PCREL, - -/* This is a 23-bit reloc. */ - BFD_RELOC_V850_23, - -/* This is a 32-bit reloc. */ - BFD_RELOC_V850_32_PCREL, - -/* This is a 32-bit reloc. */ - BFD_RELOC_V850_32_ABS, - -/* This is a 16-bit reloc. */ - BFD_RELOC_V850_16_SPLIT_OFFSET, - -/* This is a 16-bit reloc. */ - BFD_RELOC_V850_16_S1, - -/* Low 16 bits. 16 bit shifted by 1. */ - BFD_RELOC_V850_LO16_S1, - -/* This is a 16 bit offset from the call table base pointer. */ - BFD_RELOC_V850_CALLT_15_16_OFFSET, - -/* DSO relocations. */ - BFD_RELOC_V850_32_GOTPCREL, - -/* DSO relocations. */ - BFD_RELOC_V850_16_GOT, - -/* DSO relocations. */ - BFD_RELOC_V850_32_GOT, - -/* DSO relocations. */ - BFD_RELOC_V850_22_PLT_PCREL, - -/* DSO relocations. */ - BFD_RELOC_V850_32_PLT_PCREL, - -/* DSO relocations. */ - BFD_RELOC_V850_COPY, - -/* DSO relocations. */ - BFD_RELOC_V850_GLOB_DAT, - -/* DSO relocations. */ - BFD_RELOC_V850_JMP_SLOT, - -/* DSO relocations. */ - BFD_RELOC_V850_RELATIVE, - -/* DSO relocations. */ - BFD_RELOC_V850_16_GOTOFF, - -/* DSO relocations. */ - BFD_RELOC_V850_32_GOTOFF, - -/* start code. */ - BFD_RELOC_V850_CODE, - -/* start data in text. */ - BFD_RELOC_V850_DATA, - -/* This is a 8bit DP reloc for the tms320c30, where the most -significant 8 bits of a 24 bit word are placed into the least -significant 8 bits of the opcode. */ - BFD_RELOC_TIC30_LDP, - -/* This is a 7bit reloc for the tms320c54x, where the least -significant 7 bits of a 16 bit word are placed into the least -significant 7 bits of the opcode. */ - BFD_RELOC_TIC54X_PARTLS7, - -/* This is a 9bit DP reloc for the tms320c54x, where the most -significant 9 bits of a 16 bit word are placed into the least -significant 9 bits of the opcode. */ - BFD_RELOC_TIC54X_PARTMS9, - -/* This is an extended address 23-bit reloc for the tms320c54x. */ - BFD_RELOC_TIC54X_23, - -/* This is a 16-bit reloc for the tms320c54x, where the least -significant 16 bits of a 23-bit extended address are placed into -the opcode. */ - BFD_RELOC_TIC54X_16_OF_23, - -/* This is a reloc for the tms320c54x, where the most -significant 7 bits of a 23-bit extended address are placed into -the opcode. */ - BFD_RELOC_TIC54X_MS7_OF_23, - -/* TMS320C6000 relocations. */ - BFD_RELOC_C6000_PCR_S21, - BFD_RELOC_C6000_PCR_S12, - BFD_RELOC_C6000_PCR_S10, - BFD_RELOC_C6000_PCR_S7, - BFD_RELOC_C6000_ABS_S16, - BFD_RELOC_C6000_ABS_L16, - BFD_RELOC_C6000_ABS_H16, - BFD_RELOC_C6000_SBR_U15_B, - BFD_RELOC_C6000_SBR_U15_H, - BFD_RELOC_C6000_SBR_U15_W, - BFD_RELOC_C6000_SBR_S16, - BFD_RELOC_C6000_SBR_L16_B, - BFD_RELOC_C6000_SBR_L16_H, - BFD_RELOC_C6000_SBR_L16_W, - BFD_RELOC_C6000_SBR_H16_B, - BFD_RELOC_C6000_SBR_H16_H, - BFD_RELOC_C6000_SBR_H16_W, - BFD_RELOC_C6000_SBR_GOT_U15_W, - BFD_RELOC_C6000_SBR_GOT_L16_W, - BFD_RELOC_C6000_SBR_GOT_H16_W, - BFD_RELOC_C6000_DSBT_INDEX, - BFD_RELOC_C6000_PREL31, - BFD_RELOC_C6000_COPY, - BFD_RELOC_C6000_JUMP_SLOT, - BFD_RELOC_C6000_EHTYPE, - BFD_RELOC_C6000_PCR_H16, - BFD_RELOC_C6000_PCR_L16, - BFD_RELOC_C6000_ALIGN, - BFD_RELOC_C6000_FPHEAD, - BFD_RELOC_C6000_NOCMP, - -/* This is a 48 bit reloc for the FR30 that stores 32 bits. */ - BFD_RELOC_FR30_48, - -/* This is a 32 bit reloc for the FR30 that stores 20 bits split up into -two sections. */ - BFD_RELOC_FR30_20, - -/* This is a 16 bit reloc for the FR30 that stores a 6 bit word offset in -4 bits. */ - BFD_RELOC_FR30_6_IN_4, - -/* This is a 16 bit reloc for the FR30 that stores an 8 bit byte offset -into 8 bits. */ - BFD_RELOC_FR30_8_IN_8, - -/* This is a 16 bit reloc for the FR30 that stores a 9 bit short offset -into 8 bits. */ - BFD_RELOC_FR30_9_IN_8, - -/* This is a 16 bit reloc for the FR30 that stores a 10 bit word offset -into 8 bits. */ - BFD_RELOC_FR30_10_IN_8, - -/* This is a 16 bit reloc for the FR30 that stores a 9 bit pc relative -short offset into 8 bits. */ - BFD_RELOC_FR30_9_PCREL, - -/* This is a 16 bit reloc for the FR30 that stores a 12 bit pc relative -short offset into 11 bits. */ - BFD_RELOC_FR30_12_PCREL, - -/* Motorola Mcore relocations. */ - BFD_RELOC_MCORE_PCREL_IMM8BY4, - BFD_RELOC_MCORE_PCREL_IMM11BY2, - BFD_RELOC_MCORE_PCREL_IMM4BY2, - BFD_RELOC_MCORE_PCREL_32, - BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2, - BFD_RELOC_MCORE_RVA, - -/* Toshiba Media Processor Relocations. */ - BFD_RELOC_MEP_8, - BFD_RELOC_MEP_16, - BFD_RELOC_MEP_32, - BFD_RELOC_MEP_PCREL8A2, - BFD_RELOC_MEP_PCREL12A2, - BFD_RELOC_MEP_PCREL17A2, - BFD_RELOC_MEP_PCREL24A2, - BFD_RELOC_MEP_PCABS24A2, - BFD_RELOC_MEP_LOW16, - BFD_RELOC_MEP_HI16U, - BFD_RELOC_MEP_HI16S, - BFD_RELOC_MEP_GPREL, - BFD_RELOC_MEP_TPREL, - BFD_RELOC_MEP_TPREL7, - BFD_RELOC_MEP_TPREL7A2, - BFD_RELOC_MEP_TPREL7A4, - BFD_RELOC_MEP_UIMM24, - BFD_RELOC_MEP_ADDR24A4, - BFD_RELOC_MEP_GNU_VTINHERIT, - BFD_RELOC_MEP_GNU_VTENTRY, - - -/* Imagination Technologies Meta relocations. */ - BFD_RELOC_METAG_HIADDR16, - BFD_RELOC_METAG_LOADDR16, - BFD_RELOC_METAG_RELBRANCH, - BFD_RELOC_METAG_GETSETOFF, - BFD_RELOC_METAG_HIOG, - BFD_RELOC_METAG_LOOG, - BFD_RELOC_METAG_REL8, - BFD_RELOC_METAG_REL16, - BFD_RELOC_METAG_HI16_GOTOFF, - BFD_RELOC_METAG_LO16_GOTOFF, - BFD_RELOC_METAG_GETSET_GOTOFF, - BFD_RELOC_METAG_GETSET_GOT, - BFD_RELOC_METAG_HI16_GOTPC, - BFD_RELOC_METAG_LO16_GOTPC, - BFD_RELOC_METAG_HI16_PLT, - BFD_RELOC_METAG_LO16_PLT, - BFD_RELOC_METAG_RELBRANCH_PLT, - BFD_RELOC_METAG_GOTOFF, - BFD_RELOC_METAG_PLT, - BFD_RELOC_METAG_COPY, - BFD_RELOC_METAG_JMP_SLOT, - BFD_RELOC_METAG_RELATIVE, - BFD_RELOC_METAG_GLOB_DAT, - BFD_RELOC_METAG_TLS_GD, - BFD_RELOC_METAG_TLS_LDM, - BFD_RELOC_METAG_TLS_LDO_HI16, - BFD_RELOC_METAG_TLS_LDO_LO16, - BFD_RELOC_METAG_TLS_LDO, - BFD_RELOC_METAG_TLS_IE, - BFD_RELOC_METAG_TLS_IENONPIC, - BFD_RELOC_METAG_TLS_IENONPIC_HI16, - BFD_RELOC_METAG_TLS_IENONPIC_LO16, - BFD_RELOC_METAG_TLS_TPOFF, - BFD_RELOC_METAG_TLS_DTPMOD, - BFD_RELOC_METAG_TLS_DTPOFF, - BFD_RELOC_METAG_TLS_LE, - BFD_RELOC_METAG_TLS_LE_HI16, - BFD_RELOC_METAG_TLS_LE_LO16, - -/* These are relocations for the GETA instruction. */ - BFD_RELOC_MMIX_GETA, - BFD_RELOC_MMIX_GETA_1, - BFD_RELOC_MMIX_GETA_2, - BFD_RELOC_MMIX_GETA_3, - -/* These are relocations for a conditional branch instruction. */ - BFD_RELOC_MMIX_CBRANCH, - BFD_RELOC_MMIX_CBRANCH_J, - BFD_RELOC_MMIX_CBRANCH_1, - BFD_RELOC_MMIX_CBRANCH_2, - BFD_RELOC_MMIX_CBRANCH_3, - -/* These are relocations for the PUSHJ instruction. */ - BFD_RELOC_MMIX_PUSHJ, - BFD_RELOC_MMIX_PUSHJ_1, - BFD_RELOC_MMIX_PUSHJ_2, - BFD_RELOC_MMIX_PUSHJ_3, - BFD_RELOC_MMIX_PUSHJ_STUBBABLE, - -/* These are relocations for the JMP instruction. */ - BFD_RELOC_MMIX_JMP, - BFD_RELOC_MMIX_JMP_1, - BFD_RELOC_MMIX_JMP_2, - BFD_RELOC_MMIX_JMP_3, - -/* This is a relocation for a relative address as in a GETA instruction or -a branch. */ - BFD_RELOC_MMIX_ADDR19, - -/* This is a relocation for a relative address as in a JMP instruction. */ - BFD_RELOC_MMIX_ADDR27, - -/* This is a relocation for an instruction field that may be a general -register or a value 0..255. */ - BFD_RELOC_MMIX_REG_OR_BYTE, - -/* This is a relocation for an instruction field that may be a general -register. */ - BFD_RELOC_MMIX_REG, - -/* This is a relocation for two instruction fields holding a register and -an offset, the equivalent of the relocation. */ - BFD_RELOC_MMIX_BASE_PLUS_OFFSET, - -/* This relocation is an assertion that the expression is not allocated as -a global register. It does not modify contents. */ - BFD_RELOC_MMIX_LOCAL, - -/* This is a 16 bit reloc for the AVR that stores 8 bit pc relative -short offset into 7 bits. */ - BFD_RELOC_AVR_7_PCREL, - -/* This is a 16 bit reloc for the AVR that stores 13 bit pc relative -short offset into 12 bits. */ - BFD_RELOC_AVR_13_PCREL, - -/* This is a 16 bit reloc for the AVR that stores 17 bit value (usually -program memory address) into 16 bits. */ - BFD_RELOC_AVR_16_PM, - -/* This is a 16 bit reloc for the AVR that stores 8 bit value (usually -data memory address) into 8 bit immediate value of LDI insn. */ - BFD_RELOC_AVR_LO8_LDI, - -/* This is a 16 bit reloc for the AVR that stores 8 bit value (high 8 bit -of data memory address) into 8 bit immediate value of LDI insn. */ - BFD_RELOC_AVR_HI8_LDI, - -/* This is a 16 bit reloc for the AVR that stores 8 bit value (most high 8 bit -of program memory address) into 8 bit immediate value of LDI insn. */ - BFD_RELOC_AVR_HH8_LDI, - -/* This is a 16 bit reloc for the AVR that stores 8 bit value (most high 8 bit -of 32 bit value) into 8 bit immediate value of LDI insn. */ - BFD_RELOC_AVR_MS8_LDI, - -/* This is a 16 bit reloc for the AVR that stores negated 8 bit value -(usually data memory address) into 8 bit immediate value of SUBI insn. */ - BFD_RELOC_AVR_LO8_LDI_NEG, - -/* This is a 16 bit reloc for the AVR that stores negated 8 bit value -(high 8 bit of data memory address) into 8 bit immediate value of -SUBI insn. */ - BFD_RELOC_AVR_HI8_LDI_NEG, - -/* This is a 16 bit reloc for the AVR that stores negated 8 bit value -(most high 8 bit of program memory address) into 8 bit immediate value -of LDI or SUBI insn. */ - BFD_RELOC_AVR_HH8_LDI_NEG, - -/* This is a 16 bit reloc for the AVR that stores negated 8 bit value (msb -of 32 bit value) into 8 bit immediate value of LDI insn. */ - BFD_RELOC_AVR_MS8_LDI_NEG, - -/* This is a 16 bit reloc for the AVR that stores 8 bit value (usually -command address) into 8 bit immediate value of LDI insn. */ - BFD_RELOC_AVR_LO8_LDI_PM, - -/* This is a 16 bit reloc for the AVR that stores 8 bit value -(command address) into 8 bit immediate value of LDI insn. If the address -is beyond the 128k boundary, the linker inserts a jump stub for this reloc -in the lower 128k. */ - BFD_RELOC_AVR_LO8_LDI_GS, - -/* This is a 16 bit reloc for the AVR that stores 8 bit value (high 8 bit -of command address) into 8 bit immediate value of LDI insn. */ - BFD_RELOC_AVR_HI8_LDI_PM, - -/* This is a 16 bit reloc for the AVR that stores 8 bit value (high 8 bit -of command address) into 8 bit immediate value of LDI insn. If the address -is beyond the 128k boundary, the linker inserts a jump stub for this reloc -below 128k. */ - BFD_RELOC_AVR_HI8_LDI_GS, - -/* This is a 16 bit reloc for the AVR that stores 8 bit value (most high 8 bit -of command address) into 8 bit immediate value of LDI insn. */ - BFD_RELOC_AVR_HH8_LDI_PM, - -/* This is a 16 bit reloc for the AVR that stores negated 8 bit value -(usually command address) into 8 bit immediate value of SUBI insn. */ - BFD_RELOC_AVR_LO8_LDI_PM_NEG, - -/* This is a 16 bit reloc for the AVR that stores negated 8 bit value -(high 8 bit of 16 bit command address) into 8 bit immediate value -of SUBI insn. */ - BFD_RELOC_AVR_HI8_LDI_PM_NEG, - -/* This is a 16 bit reloc for the AVR that stores negated 8 bit value -(high 6 bit of 22 bit command address) into 8 bit immediate -value of SUBI insn. */ - BFD_RELOC_AVR_HH8_LDI_PM_NEG, - -/* This is a 32 bit reloc for the AVR that stores 23 bit value -into 22 bits. */ - BFD_RELOC_AVR_CALL, - -/* This is a 16 bit reloc for the AVR that stores all needed bits -for absolute addressing with ldi with overflow check to linktime */ - BFD_RELOC_AVR_LDI, - -/* This is a 6 bit reloc for the AVR that stores offset for ldd/std -instructions */ - BFD_RELOC_AVR_6, - -/* This is a 6 bit reloc for the AVR that stores offset for adiw/sbiw -instructions */ - BFD_RELOC_AVR_6_ADIW, - -/* This is a 8 bit reloc for the AVR that stores bits 0..7 of a symbol -in .byte lo8(symbol) */ - BFD_RELOC_AVR_8_LO, - -/* This is a 8 bit reloc for the AVR that stores bits 8..15 of a symbol -in .byte hi8(symbol) */ - BFD_RELOC_AVR_8_HI, - -/* This is a 8 bit reloc for the AVR that stores bits 16..23 of a symbol -in .byte hlo8(symbol) */ - BFD_RELOC_AVR_8_HLO, - -/* AVR relocations to mark the difference of two local symbols. -These are only needed to support linker relaxation and can be ignored -when not relaxing. The field is set to the value of the difference -assuming no relaxation. The relocation encodes the position of the -second symbol so the linker can determine whether to adjust the field -value. */ - BFD_RELOC_AVR_DIFF8, - BFD_RELOC_AVR_DIFF16, - BFD_RELOC_AVR_DIFF32, - -/* This is a 7 bit reloc for the AVR that stores SRAM address for 16bit -lds and sts instructions supported only tiny core. */ - BFD_RELOC_AVR_LDS_STS_16, - -/* This is a 6 bit reloc for the AVR that stores an I/O register -number for the IN and OUT instructions */ - BFD_RELOC_AVR_PORT6, - -/* This is a 5 bit reloc for the AVR that stores an I/O register -number for the SBIC, SBIS, SBI and CBI instructions */ - BFD_RELOC_AVR_PORT5, - -/* RISC-V relocations. */ - BFD_RELOC_RISCV_HI20, - BFD_RELOC_RISCV_PCREL_HI20, - BFD_RELOC_RISCV_PCREL_LO12_I, - BFD_RELOC_RISCV_PCREL_LO12_S, - BFD_RELOC_RISCV_LO12_I, - BFD_RELOC_RISCV_LO12_S, - BFD_RELOC_RISCV_GPREL12_I, - BFD_RELOC_RISCV_GPREL12_S, - BFD_RELOC_RISCV_TPREL_HI20, - BFD_RELOC_RISCV_TPREL_LO12_I, - BFD_RELOC_RISCV_TPREL_LO12_S, - BFD_RELOC_RISCV_TPREL_ADD, - BFD_RELOC_RISCV_CALL, - BFD_RELOC_RISCV_CALL_PLT, - BFD_RELOC_RISCV_ADD8, - BFD_RELOC_RISCV_ADD16, - BFD_RELOC_RISCV_ADD32, - BFD_RELOC_RISCV_ADD64, - BFD_RELOC_RISCV_SUB8, - BFD_RELOC_RISCV_SUB16, - BFD_RELOC_RISCV_SUB32, - BFD_RELOC_RISCV_SUB64, - BFD_RELOC_RISCV_GOT_HI20, - BFD_RELOC_RISCV_TLS_GOT_HI20, - BFD_RELOC_RISCV_TLS_GD_HI20, - BFD_RELOC_RISCV_JMP, - BFD_RELOC_RISCV_TLS_DTPMOD32, - BFD_RELOC_RISCV_TLS_DTPREL32, - BFD_RELOC_RISCV_TLS_DTPMOD64, - BFD_RELOC_RISCV_TLS_DTPREL64, - BFD_RELOC_RISCV_TLS_TPREL32, - BFD_RELOC_RISCV_TLS_TPREL64, - BFD_RELOC_RISCV_ALIGN, - BFD_RELOC_RISCV_RVC_BRANCH, - BFD_RELOC_RISCV_RVC_JUMP, - BFD_RELOC_RISCV_RVC_LUI, - BFD_RELOC_RISCV_GPREL_I, - BFD_RELOC_RISCV_GPREL_S, - BFD_RELOC_RISCV_TPREL_I, - BFD_RELOC_RISCV_TPREL_S, - BFD_RELOC_RISCV_RELAX, - BFD_RELOC_RISCV_CFA, - BFD_RELOC_RISCV_SUB6, - BFD_RELOC_RISCV_SET6, - BFD_RELOC_RISCV_SET8, - BFD_RELOC_RISCV_SET16, - BFD_RELOC_RISCV_SET32, - BFD_RELOC_RISCV_32_PCREL, - -/* Renesas RL78 Relocations. */ - BFD_RELOC_RL78_NEG8, - BFD_RELOC_RL78_NEG16, - BFD_RELOC_RL78_NEG24, - BFD_RELOC_RL78_NEG32, - BFD_RELOC_RL78_16_OP, - BFD_RELOC_RL78_24_OP, - BFD_RELOC_RL78_32_OP, - BFD_RELOC_RL78_8U, - BFD_RELOC_RL78_16U, - BFD_RELOC_RL78_24U, - BFD_RELOC_RL78_DIR3U_PCREL, - BFD_RELOC_RL78_DIFF, - BFD_RELOC_RL78_GPRELB, - BFD_RELOC_RL78_GPRELW, - BFD_RELOC_RL78_GPRELL, - BFD_RELOC_RL78_SYM, - BFD_RELOC_RL78_OP_SUBTRACT, - BFD_RELOC_RL78_OP_NEG, - BFD_RELOC_RL78_OP_AND, - BFD_RELOC_RL78_OP_SHRA, - BFD_RELOC_RL78_ABS8, - BFD_RELOC_RL78_ABS16, - BFD_RELOC_RL78_ABS16_REV, - BFD_RELOC_RL78_ABS32, - BFD_RELOC_RL78_ABS32_REV, - BFD_RELOC_RL78_ABS16U, - BFD_RELOC_RL78_ABS16UW, - BFD_RELOC_RL78_ABS16UL, - BFD_RELOC_RL78_RELAX, - BFD_RELOC_RL78_HI16, - BFD_RELOC_RL78_HI8, - BFD_RELOC_RL78_LO16, - BFD_RELOC_RL78_CODE, - BFD_RELOC_RL78_SADDR, - -/* Renesas RX Relocations. */ - BFD_RELOC_RX_NEG8, - BFD_RELOC_RX_NEG16, - BFD_RELOC_RX_NEG24, - BFD_RELOC_RX_NEG32, - BFD_RELOC_RX_16_OP, - BFD_RELOC_RX_24_OP, - BFD_RELOC_RX_32_OP, - BFD_RELOC_RX_8U, - BFD_RELOC_RX_16U, - BFD_RELOC_RX_24U, - BFD_RELOC_RX_DIR3U_PCREL, - BFD_RELOC_RX_DIFF, - BFD_RELOC_RX_GPRELB, - BFD_RELOC_RX_GPRELW, - BFD_RELOC_RX_GPRELL, - BFD_RELOC_RX_SYM, - BFD_RELOC_RX_OP_SUBTRACT, - BFD_RELOC_RX_OP_NEG, - BFD_RELOC_RX_ABS8, - BFD_RELOC_RX_ABS16, - BFD_RELOC_RX_ABS16_REV, - BFD_RELOC_RX_ABS32, - BFD_RELOC_RX_ABS32_REV, - BFD_RELOC_RX_ABS16U, - BFD_RELOC_RX_ABS16UW, - BFD_RELOC_RX_ABS16UL, - BFD_RELOC_RX_RELAX, - -/* Direct 12 bit. */ - BFD_RELOC_390_12, - -/* 12 bit GOT offset. */ - BFD_RELOC_390_GOT12, - -/* 32 bit PC relative PLT address. */ - BFD_RELOC_390_PLT32, - -/* Copy symbol at runtime. */ - BFD_RELOC_390_COPY, - -/* Create GOT entry. */ - BFD_RELOC_390_GLOB_DAT, - -/* Create PLT entry. */ - BFD_RELOC_390_JMP_SLOT, - -/* Adjust by program base. */ - BFD_RELOC_390_RELATIVE, - -/* 32 bit PC relative offset to GOT. */ - BFD_RELOC_390_GOTPC, - -/* 16 bit GOT offset. */ - BFD_RELOC_390_GOT16, - -/* PC relative 12 bit shifted by 1. */ - BFD_RELOC_390_PC12DBL, - -/* 12 bit PC rel. PLT shifted by 1. */ - BFD_RELOC_390_PLT12DBL, - -/* PC relative 16 bit shifted by 1. */ - BFD_RELOC_390_PC16DBL, - -/* 16 bit PC rel. PLT shifted by 1. */ - BFD_RELOC_390_PLT16DBL, - -/* PC relative 24 bit shifted by 1. */ - BFD_RELOC_390_PC24DBL, - -/* 24 bit PC rel. PLT shifted by 1. */ - BFD_RELOC_390_PLT24DBL, - -/* PC relative 32 bit shifted by 1. */ - BFD_RELOC_390_PC32DBL, - -/* 32 bit PC rel. PLT shifted by 1. */ - BFD_RELOC_390_PLT32DBL, - -/* 32 bit PC rel. GOT shifted by 1. */ - BFD_RELOC_390_GOTPCDBL, - -/* 64 bit GOT offset. */ - BFD_RELOC_390_GOT64, - -/* 64 bit PC relative PLT address. */ - BFD_RELOC_390_PLT64, - -/* 32 bit rel. offset to GOT entry. */ - BFD_RELOC_390_GOTENT, - -/* 64 bit offset to GOT. */ - BFD_RELOC_390_GOTOFF64, - -/* 12-bit offset to symbol-entry within GOT, with PLT handling. */ - BFD_RELOC_390_GOTPLT12, - -/* 16-bit offset to symbol-entry within GOT, with PLT handling. */ - BFD_RELOC_390_GOTPLT16, - -/* 32-bit offset to symbol-entry within GOT, with PLT handling. */ - BFD_RELOC_390_GOTPLT32, - -/* 64-bit offset to symbol-entry within GOT, with PLT handling. */ - BFD_RELOC_390_GOTPLT64, - -/* 32-bit rel. offset to symbol-entry within GOT, with PLT handling. */ - BFD_RELOC_390_GOTPLTENT, - -/* 16-bit rel. offset from the GOT to a PLT entry. */ - BFD_RELOC_390_PLTOFF16, - -/* 32-bit rel. offset from the GOT to a PLT entry. */ - BFD_RELOC_390_PLTOFF32, - -/* 64-bit rel. offset from the GOT to a PLT entry. */ - BFD_RELOC_390_PLTOFF64, - -/* s390 tls relocations. */ - BFD_RELOC_390_TLS_LOAD, - BFD_RELOC_390_TLS_GDCALL, - BFD_RELOC_390_TLS_LDCALL, - BFD_RELOC_390_TLS_GD32, - BFD_RELOC_390_TLS_GD64, - BFD_RELOC_390_TLS_GOTIE12, - BFD_RELOC_390_TLS_GOTIE32, - BFD_RELOC_390_TLS_GOTIE64, - BFD_RELOC_390_TLS_LDM32, - BFD_RELOC_390_TLS_LDM64, - BFD_RELOC_390_TLS_IE32, - BFD_RELOC_390_TLS_IE64, - BFD_RELOC_390_TLS_IEENT, - BFD_RELOC_390_TLS_LE32, - BFD_RELOC_390_TLS_LE64, - BFD_RELOC_390_TLS_LDO32, - BFD_RELOC_390_TLS_LDO64, - BFD_RELOC_390_TLS_DTPMOD, - BFD_RELOC_390_TLS_DTPOFF, - BFD_RELOC_390_TLS_TPOFF, - -/* Long displacement extension. */ - BFD_RELOC_390_20, - BFD_RELOC_390_GOT20, - BFD_RELOC_390_GOTPLT20, - BFD_RELOC_390_TLS_GOTIE20, - -/* STT_GNU_IFUNC relocation. */ - BFD_RELOC_390_IRELATIVE, - -/* Score relocations -Low 16 bit for load/store */ - BFD_RELOC_SCORE_GPREL15, - -/* This is a 24-bit reloc with the right 1 bit assumed to be 0 */ - BFD_RELOC_SCORE_DUMMY2, - BFD_RELOC_SCORE_JMP, - -/* This is a 19-bit reloc with the right 1 bit assumed to be 0 */ - BFD_RELOC_SCORE_BRANCH, - -/* This is a 32-bit reloc for 48-bit instructions. */ - BFD_RELOC_SCORE_IMM30, - -/* This is a 32-bit reloc for 48-bit instructions. */ - BFD_RELOC_SCORE_IMM32, - -/* This is a 11-bit reloc with the right 1 bit assumed to be 0 */ - BFD_RELOC_SCORE16_JMP, - -/* This is a 8-bit reloc with the right 1 bit assumed to be 0 */ - BFD_RELOC_SCORE16_BRANCH, - -/* This is a 9-bit reloc with the right 1 bit assumed to be 0 */ - BFD_RELOC_SCORE_BCMP, - -/* Undocumented Score relocs */ - BFD_RELOC_SCORE_GOT15, - BFD_RELOC_SCORE_GOT_LO16, - BFD_RELOC_SCORE_CALL15, - BFD_RELOC_SCORE_DUMMY_HI16, - -/* Scenix IP2K - 9-bit register number / data address */ - BFD_RELOC_IP2K_FR9, - -/* Scenix IP2K - 4-bit register/data bank number */ - BFD_RELOC_IP2K_BANK, - -/* Scenix IP2K - low 13 bits of instruction word address */ - BFD_RELOC_IP2K_ADDR16CJP, - -/* Scenix IP2K - high 3 bits of instruction word address */ - BFD_RELOC_IP2K_PAGE3, - -/* Scenix IP2K - ext/low/high 8 bits of data address */ - BFD_RELOC_IP2K_LO8DATA, - BFD_RELOC_IP2K_HI8DATA, - BFD_RELOC_IP2K_EX8DATA, - -/* Scenix IP2K - low/high 8 bits of instruction word address */ - BFD_RELOC_IP2K_LO8INSN, - BFD_RELOC_IP2K_HI8INSN, - -/* Scenix IP2K - even/odd PC modifier to modify snb pcl.0 */ - BFD_RELOC_IP2K_PC_SKIP, - -/* Scenix IP2K - 16 bit word address in text section. */ - BFD_RELOC_IP2K_TEXT, - -/* Scenix IP2K - 7-bit sp or dp offset */ - BFD_RELOC_IP2K_FR_OFFSET, - -/* Scenix VPE4K coprocessor - data/insn-space addressing */ - BFD_RELOC_VPE4KMATH_DATA, - BFD_RELOC_VPE4KMATH_INSN, - -/* These two relocations are used by the linker to determine which of -the entries in a C++ virtual function table are actually used. When -the --gc-sections option is given, the linker will zero out the entries -that are not used, so that the code for those functions need not be -included in the output. - -VTABLE_INHERIT is a zero-space relocation used to describe to the -linker the inheritance tree of a C++ virtual function table. The -relocation's symbol should be the parent class' vtable, and the -relocation should be located at the child vtable. - -VTABLE_ENTRY is a zero-space relocation that describes the use of a -virtual function table entry. The reloc's symbol should refer to the -table of the class mentioned in the code. Off of that base, an offset -describes the entry that is being used. For Rela hosts, this offset -is stored in the reloc's addend. For Rel hosts, we are forced to put -this offset in the reloc's section offset. */ - BFD_RELOC_VTABLE_INHERIT, - BFD_RELOC_VTABLE_ENTRY, - -/* Intel IA64 Relocations. */ - BFD_RELOC_IA64_IMM14, - BFD_RELOC_IA64_IMM22, - BFD_RELOC_IA64_IMM64, - BFD_RELOC_IA64_DIR32MSB, - BFD_RELOC_IA64_DIR32LSB, - BFD_RELOC_IA64_DIR64MSB, - BFD_RELOC_IA64_DIR64LSB, - BFD_RELOC_IA64_GPREL22, - BFD_RELOC_IA64_GPREL64I, - BFD_RELOC_IA64_GPREL32MSB, - BFD_RELOC_IA64_GPREL32LSB, - BFD_RELOC_IA64_GPREL64MSB, - BFD_RELOC_IA64_GPREL64LSB, - BFD_RELOC_IA64_LTOFF22, - BFD_RELOC_IA64_LTOFF64I, - BFD_RELOC_IA64_PLTOFF22, - BFD_RELOC_IA64_PLTOFF64I, - BFD_RELOC_IA64_PLTOFF64MSB, - BFD_RELOC_IA64_PLTOFF64LSB, - BFD_RELOC_IA64_FPTR64I, - BFD_RELOC_IA64_FPTR32MSB, - BFD_RELOC_IA64_FPTR32LSB, - BFD_RELOC_IA64_FPTR64MSB, - BFD_RELOC_IA64_FPTR64LSB, - BFD_RELOC_IA64_PCREL21B, - BFD_RELOC_IA64_PCREL21BI, - BFD_RELOC_IA64_PCREL21M, - BFD_RELOC_IA64_PCREL21F, - BFD_RELOC_IA64_PCREL22, - BFD_RELOC_IA64_PCREL60B, - BFD_RELOC_IA64_PCREL64I, - BFD_RELOC_IA64_PCREL32MSB, - BFD_RELOC_IA64_PCREL32LSB, - BFD_RELOC_IA64_PCREL64MSB, - BFD_RELOC_IA64_PCREL64LSB, - BFD_RELOC_IA64_LTOFF_FPTR22, - BFD_RELOC_IA64_LTOFF_FPTR64I, - BFD_RELOC_IA64_LTOFF_FPTR32MSB, - BFD_RELOC_IA64_LTOFF_FPTR32LSB, - BFD_RELOC_IA64_LTOFF_FPTR64MSB, - BFD_RELOC_IA64_LTOFF_FPTR64LSB, - BFD_RELOC_IA64_SEGREL32MSB, - BFD_RELOC_IA64_SEGREL32LSB, - BFD_RELOC_IA64_SEGREL64MSB, - BFD_RELOC_IA64_SEGREL64LSB, - BFD_RELOC_IA64_SECREL32MSB, - BFD_RELOC_IA64_SECREL32LSB, - BFD_RELOC_IA64_SECREL64MSB, - BFD_RELOC_IA64_SECREL64LSB, - BFD_RELOC_IA64_REL32MSB, - BFD_RELOC_IA64_REL32LSB, - BFD_RELOC_IA64_REL64MSB, - BFD_RELOC_IA64_REL64LSB, - BFD_RELOC_IA64_LTV32MSB, - BFD_RELOC_IA64_LTV32LSB, - BFD_RELOC_IA64_LTV64MSB, - BFD_RELOC_IA64_LTV64LSB, - BFD_RELOC_IA64_IPLTMSB, - BFD_RELOC_IA64_IPLTLSB, - BFD_RELOC_IA64_COPY, - BFD_RELOC_IA64_LTOFF22X, - BFD_RELOC_IA64_LDXMOV, - BFD_RELOC_IA64_TPREL14, - BFD_RELOC_IA64_TPREL22, - BFD_RELOC_IA64_TPREL64I, - BFD_RELOC_IA64_TPREL64MSB, - BFD_RELOC_IA64_TPREL64LSB, - BFD_RELOC_IA64_LTOFF_TPREL22, - BFD_RELOC_IA64_DTPMOD64MSB, - BFD_RELOC_IA64_DTPMOD64LSB, - BFD_RELOC_IA64_LTOFF_DTPMOD22, - BFD_RELOC_IA64_DTPREL14, - BFD_RELOC_IA64_DTPREL22, - BFD_RELOC_IA64_DTPREL64I, - BFD_RELOC_IA64_DTPREL32MSB, - BFD_RELOC_IA64_DTPREL32LSB, - BFD_RELOC_IA64_DTPREL64MSB, - BFD_RELOC_IA64_DTPREL64LSB, - BFD_RELOC_IA64_LTOFF_DTPREL22, - -/* Motorola 68HC11 reloc. -This is the 8 bit high part of an absolute address. */ - BFD_RELOC_M68HC11_HI8, - -/* Motorola 68HC11 reloc. -This is the 8 bit low part of an absolute address. */ - BFD_RELOC_M68HC11_LO8, - -/* Motorola 68HC11 reloc. -This is the 3 bit of a value. */ - BFD_RELOC_M68HC11_3B, - -/* Motorola 68HC11 reloc. -This reloc marks the beginning of a jump/call instruction. -It is used for linker relaxation to correctly identify beginning -of instruction and change some branches to use PC-relative -addressing mode. */ - BFD_RELOC_M68HC11_RL_JUMP, - -/* Motorola 68HC11 reloc. -This reloc marks a group of several instructions that gcc generates -and for which the linker relaxation pass can modify and/or remove -some of them. */ - BFD_RELOC_M68HC11_RL_GROUP, - -/* Motorola 68HC11 reloc. -This is the 16-bit lower part of an address. It is used for 'call' -instruction to specify the symbol address without any special -transformation (due to memory bank window). */ - BFD_RELOC_M68HC11_LO16, - -/* Motorola 68HC11 reloc. -This is a 8-bit reloc that specifies the page number of an address. -It is used by 'call' instruction to specify the page number of -the symbol. */ - BFD_RELOC_M68HC11_PAGE, - -/* Motorola 68HC11 reloc. -This is a 24-bit reloc that represents the address with a 16-bit -value and a 8-bit page number. The symbol address is transformed -to follow the 16K memory bank of 68HC12 (seen as mapped in the window). */ - BFD_RELOC_M68HC11_24, - -/* Motorola 68HC12 reloc. -This is the 5 bits of a value. */ - BFD_RELOC_M68HC12_5B, - -/* Freescale XGATE reloc. -This reloc marks the beginning of a bra/jal instruction. */ - BFD_RELOC_XGATE_RL_JUMP, - -/* Freescale XGATE reloc. -This reloc marks a group of several instructions that gcc generates -and for which the linker relaxation pass can modify and/or remove -some of them. */ - BFD_RELOC_XGATE_RL_GROUP, - -/* Freescale XGATE reloc. -This is the 16-bit lower part of an address. It is used for the '16-bit' -instructions. */ - BFD_RELOC_XGATE_LO16, - -/* Freescale XGATE reloc. */ - BFD_RELOC_XGATE_GPAGE, - -/* Freescale XGATE reloc. */ - BFD_RELOC_XGATE_24, - -/* Freescale XGATE reloc. -This is a 9-bit pc-relative reloc. */ - BFD_RELOC_XGATE_PCREL_9, - -/* Freescale XGATE reloc. -This is a 10-bit pc-relative reloc. */ - BFD_RELOC_XGATE_PCREL_10, - -/* Freescale XGATE reloc. -This is the 16-bit lower part of an address. It is used for the '16-bit' -instructions. */ - BFD_RELOC_XGATE_IMM8_LO, - -/* Freescale XGATE reloc. -This is the 16-bit higher part of an address. It is used for the '16-bit' -instructions. */ - BFD_RELOC_XGATE_IMM8_HI, - -/* Freescale XGATE reloc. -This is a 3-bit pc-relative reloc. */ - BFD_RELOC_XGATE_IMM3, - -/* Freescale XGATE reloc. -This is a 4-bit pc-relative reloc. */ - BFD_RELOC_XGATE_IMM4, - -/* Freescale XGATE reloc. -This is a 5-bit pc-relative reloc. */ - BFD_RELOC_XGATE_IMM5, - -/* Motorola 68HC12 reloc. -This is the 9 bits of a value. */ - BFD_RELOC_M68HC12_9B, - -/* Motorola 68HC12 reloc. -This is the 16 bits of a value. */ - BFD_RELOC_M68HC12_16B, - -/* Motorola 68HC12/XGATE reloc. -This is a PCREL9 branch. */ - BFD_RELOC_M68HC12_9_PCREL, - -/* Motorola 68HC12/XGATE reloc. -This is a PCREL10 branch. */ - BFD_RELOC_M68HC12_10_PCREL, - -/* Motorola 68HC12/XGATE reloc. -This is the 8 bit low part of an absolute address and immediately precedes -a matching HI8XG part. */ - BFD_RELOC_M68HC12_LO8XG, - -/* Motorola 68HC12/XGATE reloc. -This is the 8 bit high part of an absolute address and immediately follows -a matching LO8XG part. */ - BFD_RELOC_M68HC12_HI8XG, - -/* NS CR16C Relocations. */ - BFD_RELOC_16C_NUM08, - BFD_RELOC_16C_NUM08_C, - BFD_RELOC_16C_NUM16, - BFD_RELOC_16C_NUM16_C, - BFD_RELOC_16C_NUM32, - BFD_RELOC_16C_NUM32_C, - BFD_RELOC_16C_DISP04, - BFD_RELOC_16C_DISP04_C, - BFD_RELOC_16C_DISP08, - BFD_RELOC_16C_DISP08_C, - BFD_RELOC_16C_DISP16, - BFD_RELOC_16C_DISP16_C, - BFD_RELOC_16C_DISP24, - BFD_RELOC_16C_DISP24_C, - BFD_RELOC_16C_DISP24a, - BFD_RELOC_16C_DISP24a_C, - BFD_RELOC_16C_REG04, - BFD_RELOC_16C_REG04_C, - BFD_RELOC_16C_REG04a, - BFD_RELOC_16C_REG04a_C, - BFD_RELOC_16C_REG14, - BFD_RELOC_16C_REG14_C, - BFD_RELOC_16C_REG16, - BFD_RELOC_16C_REG16_C, - BFD_RELOC_16C_REG20, - BFD_RELOC_16C_REG20_C, - BFD_RELOC_16C_ABS20, - BFD_RELOC_16C_ABS20_C, - BFD_RELOC_16C_ABS24, - BFD_RELOC_16C_ABS24_C, - BFD_RELOC_16C_IMM04, - BFD_RELOC_16C_IMM04_C, - BFD_RELOC_16C_IMM16, - BFD_RELOC_16C_IMM16_C, - BFD_RELOC_16C_IMM20, - BFD_RELOC_16C_IMM20_C, - BFD_RELOC_16C_IMM24, - BFD_RELOC_16C_IMM24_C, - BFD_RELOC_16C_IMM32, - BFD_RELOC_16C_IMM32_C, - -/* NS CR16 Relocations. */ - BFD_RELOC_CR16_NUM8, - BFD_RELOC_CR16_NUM16, - BFD_RELOC_CR16_NUM32, - BFD_RELOC_CR16_NUM32a, - BFD_RELOC_CR16_REGREL0, - BFD_RELOC_CR16_REGREL4, - BFD_RELOC_CR16_REGREL4a, - BFD_RELOC_CR16_REGREL14, - BFD_RELOC_CR16_REGREL14a, - BFD_RELOC_CR16_REGREL16, - BFD_RELOC_CR16_REGREL20, - BFD_RELOC_CR16_REGREL20a, - BFD_RELOC_CR16_ABS20, - BFD_RELOC_CR16_ABS24, - BFD_RELOC_CR16_IMM4, - BFD_RELOC_CR16_IMM8, - BFD_RELOC_CR16_IMM16, - BFD_RELOC_CR16_IMM20, - BFD_RELOC_CR16_IMM24, - BFD_RELOC_CR16_IMM32, - BFD_RELOC_CR16_IMM32a, - BFD_RELOC_CR16_DISP4, - BFD_RELOC_CR16_DISP8, - BFD_RELOC_CR16_DISP16, - BFD_RELOC_CR16_DISP20, - BFD_RELOC_CR16_DISP24, - BFD_RELOC_CR16_DISP24a, - BFD_RELOC_CR16_SWITCH8, - BFD_RELOC_CR16_SWITCH16, - BFD_RELOC_CR16_SWITCH32, - BFD_RELOC_CR16_GOT_REGREL20, - BFD_RELOC_CR16_GOTC_REGREL20, - BFD_RELOC_CR16_GLOB_DAT, - -/* NS CRX Relocations. */ - BFD_RELOC_CRX_REL4, - BFD_RELOC_CRX_REL8, - BFD_RELOC_CRX_REL8_CMP, - BFD_RELOC_CRX_REL16, - BFD_RELOC_CRX_REL24, - BFD_RELOC_CRX_REL32, - BFD_RELOC_CRX_REGREL12, - BFD_RELOC_CRX_REGREL22, - BFD_RELOC_CRX_REGREL28, - BFD_RELOC_CRX_REGREL32, - BFD_RELOC_CRX_ABS16, - BFD_RELOC_CRX_ABS32, - BFD_RELOC_CRX_NUM8, - BFD_RELOC_CRX_NUM16, - BFD_RELOC_CRX_NUM32, - BFD_RELOC_CRX_IMM16, - BFD_RELOC_CRX_IMM32, - BFD_RELOC_CRX_SWITCH8, - BFD_RELOC_CRX_SWITCH16, - BFD_RELOC_CRX_SWITCH32, - -/* These relocs are only used within the CRIS assembler. They are not -(at present) written to any object files. */ - BFD_RELOC_CRIS_BDISP8, - BFD_RELOC_CRIS_UNSIGNED_5, - BFD_RELOC_CRIS_SIGNED_6, - BFD_RELOC_CRIS_UNSIGNED_6, - BFD_RELOC_CRIS_SIGNED_8, - BFD_RELOC_CRIS_UNSIGNED_8, - BFD_RELOC_CRIS_SIGNED_16, - BFD_RELOC_CRIS_UNSIGNED_16, - BFD_RELOC_CRIS_LAPCQ_OFFSET, - BFD_RELOC_CRIS_UNSIGNED_4, - -/* Relocs used in ELF shared libraries for CRIS. */ - BFD_RELOC_CRIS_COPY, - BFD_RELOC_CRIS_GLOB_DAT, - BFD_RELOC_CRIS_JUMP_SLOT, - BFD_RELOC_CRIS_RELATIVE, - -/* 32-bit offset to symbol-entry within GOT. */ - BFD_RELOC_CRIS_32_GOT, - -/* 16-bit offset to symbol-entry within GOT. */ - BFD_RELOC_CRIS_16_GOT, - -/* 32-bit offset to symbol-entry within GOT, with PLT handling. */ - BFD_RELOC_CRIS_32_GOTPLT, - -/* 16-bit offset to symbol-entry within GOT, with PLT handling. */ - BFD_RELOC_CRIS_16_GOTPLT, - -/* 32-bit offset to symbol, relative to GOT. */ - BFD_RELOC_CRIS_32_GOTREL, - -/* 32-bit offset to symbol with PLT entry, relative to GOT. */ - BFD_RELOC_CRIS_32_PLT_GOTREL, - -/* 32-bit offset to symbol with PLT entry, relative to this relocation. */ - BFD_RELOC_CRIS_32_PLT_PCREL, - -/* Relocs used in TLS code for CRIS. */ - BFD_RELOC_CRIS_32_GOT_GD, - BFD_RELOC_CRIS_16_GOT_GD, - BFD_RELOC_CRIS_32_GD, - BFD_RELOC_CRIS_DTP, - BFD_RELOC_CRIS_32_DTPREL, - BFD_RELOC_CRIS_16_DTPREL, - BFD_RELOC_CRIS_32_GOT_TPREL, - BFD_RELOC_CRIS_16_GOT_TPREL, - BFD_RELOC_CRIS_32_TPREL, - BFD_RELOC_CRIS_16_TPREL, - BFD_RELOC_CRIS_DTPMOD, - BFD_RELOC_CRIS_32_IE, - -/* Intel i860 Relocations. */ - BFD_RELOC_860_COPY, - BFD_RELOC_860_GLOB_DAT, - BFD_RELOC_860_JUMP_SLOT, - BFD_RELOC_860_RELATIVE, - BFD_RELOC_860_PC26, - BFD_RELOC_860_PLT26, - BFD_RELOC_860_PC16, - BFD_RELOC_860_LOW0, - BFD_RELOC_860_SPLIT0, - BFD_RELOC_860_LOW1, - BFD_RELOC_860_SPLIT1, - BFD_RELOC_860_LOW2, - BFD_RELOC_860_SPLIT2, - BFD_RELOC_860_LOW3, - BFD_RELOC_860_LOGOT0, - BFD_RELOC_860_SPGOT0, - BFD_RELOC_860_LOGOT1, - BFD_RELOC_860_SPGOT1, - BFD_RELOC_860_LOGOTOFF0, - BFD_RELOC_860_SPGOTOFF0, - BFD_RELOC_860_LOGOTOFF1, - BFD_RELOC_860_SPGOTOFF1, - BFD_RELOC_860_LOGOTOFF2, - BFD_RELOC_860_LOGOTOFF3, - BFD_RELOC_860_LOPC, - BFD_RELOC_860_HIGHADJ, - BFD_RELOC_860_HAGOT, - BFD_RELOC_860_HAGOTOFF, - BFD_RELOC_860_HAPC, - BFD_RELOC_860_HIGH, - BFD_RELOC_860_HIGOT, - BFD_RELOC_860_HIGOTOFF, - -/* OpenRISC 1000 Relocations. */ - BFD_RELOC_OR1K_REL_26, - BFD_RELOC_OR1K_GOTPC_HI16, - BFD_RELOC_OR1K_GOTPC_LO16, - BFD_RELOC_OR1K_GOT16, - BFD_RELOC_OR1K_PLT26, - BFD_RELOC_OR1K_GOTOFF_HI16, - BFD_RELOC_OR1K_GOTOFF_LO16, - BFD_RELOC_OR1K_COPY, - BFD_RELOC_OR1K_GLOB_DAT, - BFD_RELOC_OR1K_JMP_SLOT, - BFD_RELOC_OR1K_RELATIVE, - BFD_RELOC_OR1K_TLS_GD_HI16, - BFD_RELOC_OR1K_TLS_GD_LO16, - BFD_RELOC_OR1K_TLS_LDM_HI16, - BFD_RELOC_OR1K_TLS_LDM_LO16, - BFD_RELOC_OR1K_TLS_LDO_HI16, - BFD_RELOC_OR1K_TLS_LDO_LO16, - BFD_RELOC_OR1K_TLS_IE_HI16, - BFD_RELOC_OR1K_TLS_IE_LO16, - BFD_RELOC_OR1K_TLS_LE_HI16, - BFD_RELOC_OR1K_TLS_LE_LO16, - BFD_RELOC_OR1K_TLS_TPOFF, - BFD_RELOC_OR1K_TLS_DTPOFF, - BFD_RELOC_OR1K_TLS_DTPMOD, - -/* H8 elf Relocations. */ - BFD_RELOC_H8_DIR16A8, - BFD_RELOC_H8_DIR16R8, - BFD_RELOC_H8_DIR24A8, - BFD_RELOC_H8_DIR24R8, - BFD_RELOC_H8_DIR32A16, - BFD_RELOC_H8_DISP32A16, - -/* Sony Xstormy16 Relocations. */ - BFD_RELOC_XSTORMY16_REL_12, - BFD_RELOC_XSTORMY16_12, - BFD_RELOC_XSTORMY16_24, - BFD_RELOC_XSTORMY16_FPTR16, - -/* Self-describing complex relocations. */ - BFD_RELOC_RELC, - - -/* Infineon Relocations. */ - BFD_RELOC_XC16X_PAG, - BFD_RELOC_XC16X_POF, - BFD_RELOC_XC16X_SEG, - BFD_RELOC_XC16X_SOF, - -/* Relocations used by VAX ELF. */ - BFD_RELOC_VAX_GLOB_DAT, - BFD_RELOC_VAX_JMP_SLOT, - BFD_RELOC_VAX_RELATIVE, - -/* Morpho MT - 16 bit immediate relocation. */ - BFD_RELOC_MT_PC16, - -/* Morpho MT - Hi 16 bits of an address. */ - BFD_RELOC_MT_HI16, - -/* Morpho MT - Low 16 bits of an address. */ - BFD_RELOC_MT_LO16, - -/* Morpho MT - Used to tell the linker which vtable entries are used. */ - BFD_RELOC_MT_GNU_VTINHERIT, - -/* Morpho MT - Used to tell the linker which vtable entries are used. */ - BFD_RELOC_MT_GNU_VTENTRY, - -/* Morpho MT - 8 bit immediate relocation. */ - BFD_RELOC_MT_PCINSN8, - -/* msp430 specific relocation codes */ - BFD_RELOC_MSP430_10_PCREL, - BFD_RELOC_MSP430_16_PCREL, - BFD_RELOC_MSP430_16, - BFD_RELOC_MSP430_16_PCREL_BYTE, - BFD_RELOC_MSP430_16_BYTE, - BFD_RELOC_MSP430_2X_PCREL, - BFD_RELOC_MSP430_RL_PCREL, - BFD_RELOC_MSP430_ABS8, - BFD_RELOC_MSP430X_PCR20_EXT_SRC, - BFD_RELOC_MSP430X_PCR20_EXT_DST, - BFD_RELOC_MSP430X_PCR20_EXT_ODST, - BFD_RELOC_MSP430X_ABS20_EXT_SRC, - BFD_RELOC_MSP430X_ABS20_EXT_DST, - BFD_RELOC_MSP430X_ABS20_EXT_ODST, - BFD_RELOC_MSP430X_ABS20_ADR_SRC, - BFD_RELOC_MSP430X_ABS20_ADR_DST, - BFD_RELOC_MSP430X_PCR16, - BFD_RELOC_MSP430X_PCR20_CALL, - BFD_RELOC_MSP430X_ABS16, - BFD_RELOC_MSP430_ABS_HI16, - BFD_RELOC_MSP430_PREL31, - BFD_RELOC_MSP430_SYM_DIFF, - -/* Relocations used by the Altera Nios II core. */ - BFD_RELOC_NIOS2_S16, - BFD_RELOC_NIOS2_U16, - BFD_RELOC_NIOS2_CALL26, - BFD_RELOC_NIOS2_IMM5, - BFD_RELOC_NIOS2_CACHE_OPX, - BFD_RELOC_NIOS2_IMM6, - BFD_RELOC_NIOS2_IMM8, - BFD_RELOC_NIOS2_HI16, - BFD_RELOC_NIOS2_LO16, - BFD_RELOC_NIOS2_HIADJ16, - BFD_RELOC_NIOS2_GPREL, - BFD_RELOC_NIOS2_UJMP, - BFD_RELOC_NIOS2_CJMP, - BFD_RELOC_NIOS2_CALLR, - BFD_RELOC_NIOS2_ALIGN, - BFD_RELOC_NIOS2_GOT16, - BFD_RELOC_NIOS2_CALL16, - BFD_RELOC_NIOS2_GOTOFF_LO, - BFD_RELOC_NIOS2_GOTOFF_HA, - BFD_RELOC_NIOS2_PCREL_LO, - BFD_RELOC_NIOS2_PCREL_HA, - BFD_RELOC_NIOS2_TLS_GD16, - BFD_RELOC_NIOS2_TLS_LDM16, - BFD_RELOC_NIOS2_TLS_LDO16, - BFD_RELOC_NIOS2_TLS_IE16, - BFD_RELOC_NIOS2_TLS_LE16, - BFD_RELOC_NIOS2_TLS_DTPMOD, - BFD_RELOC_NIOS2_TLS_DTPREL, - BFD_RELOC_NIOS2_TLS_TPREL, - BFD_RELOC_NIOS2_COPY, - BFD_RELOC_NIOS2_GLOB_DAT, - BFD_RELOC_NIOS2_JUMP_SLOT, - BFD_RELOC_NIOS2_RELATIVE, - BFD_RELOC_NIOS2_GOTOFF, - BFD_RELOC_NIOS2_CALL26_NOAT, - BFD_RELOC_NIOS2_GOT_LO, - BFD_RELOC_NIOS2_GOT_HA, - BFD_RELOC_NIOS2_CALL_LO, - BFD_RELOC_NIOS2_CALL_HA, - BFD_RELOC_NIOS2_R2_S12, - BFD_RELOC_NIOS2_R2_I10_1_PCREL, - BFD_RELOC_NIOS2_R2_T1I7_1_PCREL, - BFD_RELOC_NIOS2_R2_T1I7_2, - BFD_RELOC_NIOS2_R2_T2I4, - BFD_RELOC_NIOS2_R2_T2I4_1, - BFD_RELOC_NIOS2_R2_T2I4_2, - BFD_RELOC_NIOS2_R2_X1I7_2, - BFD_RELOC_NIOS2_R2_X2L5, - BFD_RELOC_NIOS2_R2_F1I5_2, - BFD_RELOC_NIOS2_R2_L5I4X1, - BFD_RELOC_NIOS2_R2_T1X1I6, - BFD_RELOC_NIOS2_R2_T1X1I6_2, - -/* PRU LDI 16-bit unsigned data-memory relocation. */ - BFD_RELOC_PRU_U16, - -/* PRU LDI 16-bit unsigned instruction-memory relocation. */ - BFD_RELOC_PRU_U16_PMEMIMM, - -/* PRU relocation for two consecutive LDI load instructions that load a -32 bit value into a register. If the higher bits are all zero, then -the second instruction may be relaxed. */ - BFD_RELOC_PRU_LDI32, - -/* PRU QBBx 10-bit signed PC-relative relocation. */ - BFD_RELOC_PRU_S10_PCREL, - -/* PRU 8-bit unsigned relocation used for the LOOP instruction. */ - BFD_RELOC_PRU_U8_PCREL, - -/* PRU Program Memory relocations. Used to convert from byte addressing to -32-bit word addressing. */ - BFD_RELOC_PRU_32_PMEM, - BFD_RELOC_PRU_16_PMEM, - -/* PRU relocations to mark the difference of two local symbols. -These are only needed to support linker relaxation and can be ignored -when not relaxing. The field is set to the value of the difference -assuming no relaxation. The relocation encodes the position of the -second symbol so the linker can determine whether to adjust the field -value. The PMEM variants encode the word difference, instead of byte -difference between symbols. */ - BFD_RELOC_PRU_GNU_DIFF8, - BFD_RELOC_PRU_GNU_DIFF16, - BFD_RELOC_PRU_GNU_DIFF32, - BFD_RELOC_PRU_GNU_DIFF16_PMEM, - BFD_RELOC_PRU_GNU_DIFF32_PMEM, - -/* IQ2000 Relocations. */ - BFD_RELOC_IQ2000_OFFSET_16, - BFD_RELOC_IQ2000_OFFSET_21, - BFD_RELOC_IQ2000_UHI16, - -/* Special Xtensa relocation used only by PLT entries in ELF shared -objects to indicate that the runtime linker should set the value -to one of its own internal functions or data structures. */ - BFD_RELOC_XTENSA_RTLD, - -/* Xtensa relocations for ELF shared objects. */ - BFD_RELOC_XTENSA_GLOB_DAT, - BFD_RELOC_XTENSA_JMP_SLOT, - BFD_RELOC_XTENSA_RELATIVE, - -/* Xtensa relocation used in ELF object files for symbols that may require -PLT entries. Otherwise, this is just a generic 32-bit relocation. */ - BFD_RELOC_XTENSA_PLT, - -/* Xtensa relocations to mark the difference of two local symbols. -These are only needed to support linker relaxation and can be ignored -when not relaxing. The field is set to the value of the difference -assuming no relaxation. The relocation encodes the position of the -first symbol so the linker can determine whether to adjust the field -value. */ - BFD_RELOC_XTENSA_DIFF8, - BFD_RELOC_XTENSA_DIFF16, - BFD_RELOC_XTENSA_DIFF32, - -/* Generic Xtensa relocations for instruction operands. Only the slot -number is encoded in the relocation. The relocation applies to the -last PC-relative immediate operand, or if there are no PC-relative -immediates, to the last immediate operand. */ - BFD_RELOC_XTENSA_SLOT0_OP, - BFD_RELOC_XTENSA_SLOT1_OP, - BFD_RELOC_XTENSA_SLOT2_OP, - BFD_RELOC_XTENSA_SLOT3_OP, - BFD_RELOC_XTENSA_SLOT4_OP, - BFD_RELOC_XTENSA_SLOT5_OP, - BFD_RELOC_XTENSA_SLOT6_OP, - BFD_RELOC_XTENSA_SLOT7_OP, - BFD_RELOC_XTENSA_SLOT8_OP, - BFD_RELOC_XTENSA_SLOT9_OP, - BFD_RELOC_XTENSA_SLOT10_OP, - BFD_RELOC_XTENSA_SLOT11_OP, - BFD_RELOC_XTENSA_SLOT12_OP, - BFD_RELOC_XTENSA_SLOT13_OP, - BFD_RELOC_XTENSA_SLOT14_OP, - -/* Alternate Xtensa relocations. Only the slot is encoded in the -relocation. The meaning of these relocations is opcode-specific. */ - BFD_RELOC_XTENSA_SLOT0_ALT, - BFD_RELOC_XTENSA_SLOT1_ALT, - BFD_RELOC_XTENSA_SLOT2_ALT, - BFD_RELOC_XTENSA_SLOT3_ALT, - BFD_RELOC_XTENSA_SLOT4_ALT, - BFD_RELOC_XTENSA_SLOT5_ALT, - BFD_RELOC_XTENSA_SLOT6_ALT, - BFD_RELOC_XTENSA_SLOT7_ALT, - BFD_RELOC_XTENSA_SLOT8_ALT, - BFD_RELOC_XTENSA_SLOT9_ALT, - BFD_RELOC_XTENSA_SLOT10_ALT, - BFD_RELOC_XTENSA_SLOT11_ALT, - BFD_RELOC_XTENSA_SLOT12_ALT, - BFD_RELOC_XTENSA_SLOT13_ALT, - BFD_RELOC_XTENSA_SLOT14_ALT, - -/* Xtensa relocations for backward compatibility. These have all been -replaced by BFD_RELOC_XTENSA_SLOT0_OP. */ - BFD_RELOC_XTENSA_OP0, - BFD_RELOC_XTENSA_OP1, - BFD_RELOC_XTENSA_OP2, - -/* Xtensa relocation to mark that the assembler expanded the -instructions from an original target. The expansion size is -encoded in the reloc size. */ - BFD_RELOC_XTENSA_ASM_EXPAND, - -/* Xtensa relocation to mark that the linker should simplify -assembler-expanded instructions. This is commonly used -internally by the linker after analysis of a -BFD_RELOC_XTENSA_ASM_EXPAND. */ - BFD_RELOC_XTENSA_ASM_SIMPLIFY, - -/* Xtensa TLS relocations. */ - BFD_RELOC_XTENSA_TLSDESC_FN, - BFD_RELOC_XTENSA_TLSDESC_ARG, - BFD_RELOC_XTENSA_TLS_DTPOFF, - BFD_RELOC_XTENSA_TLS_TPOFF, - BFD_RELOC_XTENSA_TLS_FUNC, - BFD_RELOC_XTENSA_TLS_ARG, - BFD_RELOC_XTENSA_TLS_CALL, - -/* 8 bit signed offset in (ix+d) or (iy+d). */ - BFD_RELOC_Z80_DISP8, - -/* DJNZ offset. */ - BFD_RELOC_Z8K_DISP7, - -/* CALR offset. */ - BFD_RELOC_Z8K_CALLR, - -/* 4 bit value. */ - BFD_RELOC_Z8K_IMM4L, - -/* Lattice Mico32 relocations. */ - BFD_RELOC_LM32_CALL, - BFD_RELOC_LM32_BRANCH, - BFD_RELOC_LM32_16_GOT, - BFD_RELOC_LM32_GOTOFF_HI16, - BFD_RELOC_LM32_GOTOFF_LO16, - BFD_RELOC_LM32_COPY, - BFD_RELOC_LM32_GLOB_DAT, - BFD_RELOC_LM32_JMP_SLOT, - BFD_RELOC_LM32_RELATIVE, - -/* Difference between two section addreses. Must be followed by a -BFD_RELOC_MACH_O_PAIR. */ - BFD_RELOC_MACH_O_SECTDIFF, - -/* Like BFD_RELOC_MACH_O_SECTDIFF but with a local symbol. */ - BFD_RELOC_MACH_O_LOCAL_SECTDIFF, - -/* Pair of relocation. Contains the first symbol. */ - BFD_RELOC_MACH_O_PAIR, - -/* Symbol will be substracted. Must be followed by a BFD_RELOC_32. */ - BFD_RELOC_MACH_O_SUBTRACTOR32, - -/* Symbol will be substracted. Must be followed by a BFD_RELOC_64. */ - BFD_RELOC_MACH_O_SUBTRACTOR64, - -/* PCREL relocations. They are marked as branch to create PLT entry if -required. */ - BFD_RELOC_MACH_O_X86_64_BRANCH32, - BFD_RELOC_MACH_O_X86_64_BRANCH8, - -/* Used when referencing a GOT entry. */ - BFD_RELOC_MACH_O_X86_64_GOT, - -/* Used when loading a GOT entry with movq. It is specially marked so that -the linker could optimize the movq to a leaq if possible. */ - BFD_RELOC_MACH_O_X86_64_GOT_LOAD, - -/* Same as BFD_RELOC_32_PCREL but with an implicit -1 addend. */ - BFD_RELOC_MACH_O_X86_64_PCREL32_1, - -/* Same as BFD_RELOC_32_PCREL but with an implicit -2 addend. */ - BFD_RELOC_MACH_O_X86_64_PCREL32_2, - -/* Same as BFD_RELOC_32_PCREL but with an implicit -4 addend. */ - BFD_RELOC_MACH_O_X86_64_PCREL32_4, - -/* Addend for PAGE or PAGEOFF. */ - BFD_RELOC_MACH_O_ARM64_ADDEND, - -/* Relative offset to page of GOT slot. */ - BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGE21, - -/* Relative offset within page of GOT slot. */ - BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGEOFF12, - -/* Address of a GOT entry. */ - BFD_RELOC_MACH_O_ARM64_POINTER_TO_GOT, - -/* This is a 32 bit reloc for the microblaze that stores the -low 16 bits of a value */ - BFD_RELOC_MICROBLAZE_32_LO, - -/* This is a 32 bit pc-relative reloc for the microblaze that -stores the low 16 bits of a value */ - BFD_RELOC_MICROBLAZE_32_LO_PCREL, - -/* This is a 32 bit reloc for the microblaze that stores a -value relative to the read-only small data area anchor */ - BFD_RELOC_MICROBLAZE_32_ROSDA, - -/* This is a 32 bit reloc for the microblaze that stores a -value relative to the read-write small data area anchor */ - BFD_RELOC_MICROBLAZE_32_RWSDA, - -/* This is a 32 bit reloc for the microblaze to handle -expressions of the form "Symbol Op Symbol" */ - BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM, - -/* This is a 64 bit reloc that stores the 32 bit pc relative -value in two words (with an imm instruction). No relocation is -done here - only used for relaxing */ - BFD_RELOC_MICROBLAZE_64_NONE, - -/* This is a 64 bit reloc that stores the 32 bit pc relative -value in two words (with an imm instruction). The relocation is -PC-relative GOT offset */ - BFD_RELOC_MICROBLAZE_64_GOTPC, - -/* This is a 64 bit reloc that stores the 32 bit pc relative -value in two words (with an imm instruction). The relocation is -GOT offset */ - BFD_RELOC_MICROBLAZE_64_GOT, - -/* This is a 64 bit reloc that stores the 32 bit pc relative -value in two words (with an imm instruction). The relocation is -PC-relative offset into PLT */ - BFD_RELOC_MICROBLAZE_64_PLT, - -/* This is a 64 bit reloc that stores the 32 bit GOT relative -value in two words (with an imm instruction). The relocation is -relative offset from _GLOBAL_OFFSET_TABLE_ */ - BFD_RELOC_MICROBLAZE_64_GOTOFF, - -/* This is a 32 bit reloc that stores the 32 bit GOT relative -value in a word. The relocation is relative offset from */ - BFD_RELOC_MICROBLAZE_32_GOTOFF, - -/* This is used to tell the dynamic linker to copy the value out of -the dynamic object into the runtime process image. */ - BFD_RELOC_MICROBLAZE_COPY, - -/* Unused Reloc */ - BFD_RELOC_MICROBLAZE_64_TLS, - -/* This is a 64 bit reloc that stores the 32 bit GOT relative value -of the GOT TLS GD info entry in two words (with an imm instruction). The -relocation is GOT offset. */ - BFD_RELOC_MICROBLAZE_64_TLSGD, - -/* This is a 64 bit reloc that stores the 32 bit GOT relative value -of the GOT TLS LD info entry in two words (with an imm instruction). The -relocation is GOT offset. */ - BFD_RELOC_MICROBLAZE_64_TLSLD, - -/* This is a 32 bit reloc that stores the Module ID to GOT(n). */ - BFD_RELOC_MICROBLAZE_32_TLSDTPMOD, - -/* This is a 32 bit reloc that stores TLS offset to GOT(n+1). */ - BFD_RELOC_MICROBLAZE_32_TLSDTPREL, - -/* This is a 32 bit reloc for storing TLS offset to two words (uses imm -instruction) */ - BFD_RELOC_MICROBLAZE_64_TLSDTPREL, - -/* This is a 64 bit reloc that stores 32-bit thread pointer relative offset -to two words (uses imm instruction). */ - BFD_RELOC_MICROBLAZE_64_TLSGOTTPREL, - -/* This is a 64 bit reloc that stores 32-bit thread pointer relative offset -to two words (uses imm instruction). */ - BFD_RELOC_MICROBLAZE_64_TLSTPREL, - -/* AArch64 pseudo relocation code to mark the start of the AArch64 -relocation enumerators. N.B. the order of the enumerators is -important as several tables in the AArch64 bfd backend are indexed -by these enumerators; make sure they are all synced. */ - BFD_RELOC_AARCH64_RELOC_START, - -/* Deprecated AArch64 null relocation code. */ - BFD_RELOC_AARCH64_NULL, - -/* AArch64 null relocation code. */ - BFD_RELOC_AARCH64_NONE, - -/* Basic absolute relocations of N bits. These are equivalent to -BFD_RELOC_N and they were added to assist the indexing of the howto -table. */ - BFD_RELOC_AARCH64_64, - BFD_RELOC_AARCH64_32, - BFD_RELOC_AARCH64_16, - -/* PC-relative relocations. These are equivalent to BFD_RELOC_N_PCREL -and they were added to assist the indexing of the howto table. */ - BFD_RELOC_AARCH64_64_PCREL, - BFD_RELOC_AARCH64_32_PCREL, - BFD_RELOC_AARCH64_16_PCREL, - -/* AArch64 MOV[NZK] instruction with most significant bits 0 to 15 -of an unsigned address/value. */ - BFD_RELOC_AARCH64_MOVW_G0, - -/* AArch64 MOV[NZK] instruction with less significant bits 0 to 15 of -an address/value. No overflow checking. */ - BFD_RELOC_AARCH64_MOVW_G0_NC, - -/* AArch64 MOV[NZK] instruction with most significant bits 16 to 31 -of an unsigned address/value. */ - BFD_RELOC_AARCH64_MOVW_G1, - -/* AArch64 MOV[NZK] instruction with less significant bits 16 to 31 -of an address/value. No overflow checking. */ - BFD_RELOC_AARCH64_MOVW_G1_NC, - -/* AArch64 MOV[NZK] instruction with most significant bits 32 to 47 -of an unsigned address/value. */ - BFD_RELOC_AARCH64_MOVW_G2, - -/* AArch64 MOV[NZK] instruction with less significant bits 32 to 47 -of an address/value. No overflow checking. */ - BFD_RELOC_AARCH64_MOVW_G2_NC, - -/* AArch64 MOV[NZK] instruction with most signficant bits 48 to 64 -of a signed or unsigned address/value. */ - BFD_RELOC_AARCH64_MOVW_G3, - -/* AArch64 MOV[NZ] instruction with most significant bits 0 to 15 -of a signed value. Changes instruction to MOVZ or MOVN depending on the -value's sign. */ - BFD_RELOC_AARCH64_MOVW_G0_S, - -/* AArch64 MOV[NZ] instruction with most significant bits 16 to 31 -of a signed value. Changes instruction to MOVZ or MOVN depending on the -value's sign. */ - BFD_RELOC_AARCH64_MOVW_G1_S, - -/* AArch64 MOV[NZ] instruction with most significant bits 32 to 47 -of a signed value. Changes instruction to MOVZ or MOVN depending on the -value's sign. */ - BFD_RELOC_AARCH64_MOVW_G2_S, - -/* AArch64 Load Literal instruction, holding a 19 bit pc-relative word -offset. The lowest two bits must be zero and are not stored in the -instruction, giving a 21 bit signed byte offset. */ - BFD_RELOC_AARCH64_LD_LO19_PCREL, - -/* AArch64 ADR instruction, holding a simple 21 bit pc-relative byte offset. */ - BFD_RELOC_AARCH64_ADR_LO21_PCREL, - -/* AArch64 ADRP instruction, with bits 12 to 32 of a pc-relative page -offset, giving a 4KB aligned page base address. */ - BFD_RELOC_AARCH64_ADR_HI21_PCREL, - -/* AArch64 ADRP instruction, with bits 12 to 32 of a pc-relative page -offset, giving a 4KB aligned page base address, but with no overflow -checking. */ - BFD_RELOC_AARCH64_ADR_HI21_NC_PCREL, - -/* AArch64 ADD immediate instruction, holding bits 0 to 11 of the address. -Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL. */ - BFD_RELOC_AARCH64_ADD_LO12, - -/* AArch64 8-bit load/store instruction, holding bits 0 to 11 of the -address. Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL. */ - BFD_RELOC_AARCH64_LDST8_LO12, - -/* AArch64 14 bit pc-relative test bit and branch. -The lowest two bits must be zero and are not stored in the instruction, -giving a 16 bit signed byte offset. */ - BFD_RELOC_AARCH64_TSTBR14, - -/* AArch64 19 bit pc-relative conditional branch and compare & branch. -The lowest two bits must be zero and are not stored in the instruction, -giving a 21 bit signed byte offset. */ - BFD_RELOC_AARCH64_BRANCH19, - -/* AArch64 26 bit pc-relative unconditional branch. -The lowest two bits must be zero and are not stored in the instruction, -giving a 28 bit signed byte offset. */ - BFD_RELOC_AARCH64_JUMP26, - -/* AArch64 26 bit pc-relative unconditional branch and link. -The lowest two bits must be zero and are not stored in the instruction, -giving a 28 bit signed byte offset. */ - BFD_RELOC_AARCH64_CALL26, - -/* AArch64 16-bit load/store instruction, holding bits 0 to 11 of the -address. Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL. */ - BFD_RELOC_AARCH64_LDST16_LO12, - -/* AArch64 32-bit load/store instruction, holding bits 0 to 11 of the -address. Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL. */ - BFD_RELOC_AARCH64_LDST32_LO12, - -/* AArch64 64-bit load/store instruction, holding bits 0 to 11 of the -address. Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL. */ - BFD_RELOC_AARCH64_LDST64_LO12, - -/* AArch64 128-bit load/store instruction, holding bits 0 to 11 of the -address. Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL. */ - BFD_RELOC_AARCH64_LDST128_LO12, - -/* AArch64 Load Literal instruction, holding a 19 bit PC relative word -offset of the global offset table entry for a symbol. The lowest two -bits must be zero and are not stored in the instruction, giving a 21 -bit signed byte offset. This relocation type requires signed overflow -checking. */ - BFD_RELOC_AARCH64_GOT_LD_PREL19, - -/* Get to the page base of the global offset table entry for a symbol as -part of an ADRP instruction using a 21 bit PC relative value.Used in -conjunction with BFD_RELOC_AARCH64_LD64_GOT_LO12_NC. */ - BFD_RELOC_AARCH64_ADR_GOT_PAGE, - -/* Unsigned 12 bit byte offset for 64 bit load/store from the page of -the GOT entry for this symbol. Used in conjunction with -BFD_RELOC_AARCH64_ADR_GOT_PAGE. Valid in LP64 ABI only. */ - BFD_RELOC_AARCH64_LD64_GOT_LO12_NC, - -/* Unsigned 12 bit byte offset for 32 bit load/store from the page of -the GOT entry for this symbol. Used in conjunction with -BFD_RELOC_AARCH64_ADR_GOT_PAGE. Valid in ILP32 ABI only. */ - BFD_RELOC_AARCH64_LD32_GOT_LO12_NC, - -/* Unsigned 16 bit byte offset for 64 bit load/store from the GOT entry -for this symbol. Valid in LP64 ABI only. */ - BFD_RELOC_AARCH64_MOVW_GOTOFF_G0_NC, - -/* Unsigned 16 bit byte higher offset for 64 bit load/store from the GOT entry -for this symbol. Valid in LP64 ABI only. */ - BFD_RELOC_AARCH64_MOVW_GOTOFF_G1, - -/* Unsigned 15 bit byte offset for 64 bit load/store from the page of -the GOT entry for this symbol. Valid in LP64 ABI only. */ - BFD_RELOC_AARCH64_LD64_GOTOFF_LO15, - -/* Scaled 14 bit byte offset to the page base of the global offset table. */ - BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14, - -/* Scaled 15 bit byte offset to the page base of the global offset table. */ - BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15, - -/* Get to the page base of the global offset table entry for a symbols -tls_index structure as part of an adrp instruction using a 21 bit PC -relative value. Used in conjunction with -BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC. */ - BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21, - -/* AArch64 TLS General Dynamic */ - BFD_RELOC_AARCH64_TLSGD_ADR_PREL21, - -/* Unsigned 12 bit byte offset to global offset table entry for a symbols -tls_index structure. Used in conjunction with -BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21. */ - BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC, - -/* AArch64 TLS General Dynamic relocation. */ - BFD_RELOC_AARCH64_TLSGD_MOVW_G0_NC, - -/* AArch64 TLS General Dynamic relocation. */ - BFD_RELOC_AARCH64_TLSGD_MOVW_G1, - -/* AArch64 TLS INITIAL EXEC relocation. */ - BFD_RELOC_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21, - -/* AArch64 TLS INITIAL EXEC relocation. */ - BFD_RELOC_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC, - -/* AArch64 TLS INITIAL EXEC relocation. */ - BFD_RELOC_AARCH64_TLSIE_LD32_GOTTPREL_LO12_NC, - -/* AArch64 TLS INITIAL EXEC relocation. */ - BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19, - -/* AArch64 TLS INITIAL EXEC relocation. */ - BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC, - -/* AArch64 TLS INITIAL EXEC relocation. */ - BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G1, - -/* bit[23:12] of byte offset to module TLS base address. */ - BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_HI12, - -/* Unsigned 12 bit byte offset to module TLS base address. */ - BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12, - -/* No overflow check version of BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12. */ - BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC, - -/* Unsigned 12 bit byte offset to global offset table entry for a symbols -tls_index structure. Used in conjunction with -BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21. */ - BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC, - -/* GOT entry page address for AArch64 TLS Local Dynamic, used with ADRP -instruction. */ - BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21, - -/* GOT entry address for AArch64 TLS Local Dynamic, used with ADR instruction. */ - BFD_RELOC_AARCH64_TLSLD_ADR_PREL21, - -/* bit[11:1] of byte offset to module TLS base address, encoded in ldst -instructions. */ - BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12, - -/* Similar as BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12, but no overflow check. */ - BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC, - -/* bit[11:2] of byte offset to module TLS base address, encoded in ldst -instructions. */ - BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12, - -/* Similar as BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12, but no overflow check. */ - BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC, - -/* bit[11:3] of byte offset to module TLS base address, encoded in ldst -instructions. */ - BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12, - -/* Similar as BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12, but no overflow check. */ - BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC, - -/* bit[11:0] of byte offset to module TLS base address, encoded in ldst -instructions. */ - BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12, - -/* Similar as BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12, but no overflow check. */ - BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC, - -/* bit[15:0] of byte offset to module TLS base address. */ - BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0, - -/* No overflow check version of BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0 */ - BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0_NC, - -/* bit[31:16] of byte offset to module TLS base address. */ - BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1, - -/* No overflow check version of BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1 */ - BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1_NC, - -/* bit[47:32] of byte offset to module TLS base address. */ - BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G2, - -/* AArch64 TLS LOCAL EXEC relocation. */ - BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G2, - -/* AArch64 TLS LOCAL EXEC relocation. */ - BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1, - -/* AArch64 TLS LOCAL EXEC relocation. */ - BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1_NC, - -/* AArch64 TLS LOCAL EXEC relocation. */ - BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0, - -/* AArch64 TLS LOCAL EXEC relocation. */ - BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0_NC, - -/* AArch64 TLS LOCAL EXEC relocation. */ - BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_HI12, - -/* AArch64 TLS LOCAL EXEC relocation. */ - BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12, - -/* AArch64 TLS LOCAL EXEC relocation. */ - BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12_NC, - -/* AArch64 TLS DESC relocation. */ - BFD_RELOC_AARCH64_TLSDESC_LD_PREL19, - -/* AArch64 TLS DESC relocation. */ - BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21, - -/* AArch64 TLS DESC relocation. */ - BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21, - -/* AArch64 TLS DESC relocation. */ - BFD_RELOC_AARCH64_TLSDESC_LD64_LO12, - -/* AArch64 TLS DESC relocation. */ - BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC, - -/* AArch64 TLS DESC relocation. */ - BFD_RELOC_AARCH64_TLSDESC_ADD_LO12, - -/* AArch64 TLS DESC relocation. */ - BFD_RELOC_AARCH64_TLSDESC_OFF_G1, - -/* AArch64 TLS DESC relocation. */ - BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC, - -/* AArch64 TLS DESC relocation. */ - BFD_RELOC_AARCH64_TLSDESC_LDR, - -/* AArch64 TLS DESC relocation. */ - BFD_RELOC_AARCH64_TLSDESC_ADD, - -/* AArch64 TLS DESC relocation. */ - BFD_RELOC_AARCH64_TLSDESC_CALL, - -/* AArch64 TLS relocation. */ - BFD_RELOC_AARCH64_COPY, - -/* AArch64 TLS relocation. */ - BFD_RELOC_AARCH64_GLOB_DAT, - -/* AArch64 TLS relocation. */ - BFD_RELOC_AARCH64_JUMP_SLOT, - -/* AArch64 TLS relocation. */ - BFD_RELOC_AARCH64_RELATIVE, - -/* AArch64 TLS relocation. */ - BFD_RELOC_AARCH64_TLS_DTPMOD, - -/* AArch64 TLS relocation. */ - BFD_RELOC_AARCH64_TLS_DTPREL, - -/* AArch64 TLS relocation. */ - BFD_RELOC_AARCH64_TLS_TPREL, - -/* AArch64 TLS relocation. */ - BFD_RELOC_AARCH64_TLSDESC, - -/* AArch64 support for STT_GNU_IFUNC. */ - BFD_RELOC_AARCH64_IRELATIVE, - -/* AArch64 pseudo relocation code to mark the end of the AArch64 -relocation enumerators that have direct mapping to ELF reloc codes. -There are a few more enumerators after this one; those are mainly -used by the AArch64 assembler for the internal fixup or to select -one of the above enumerators. */ - BFD_RELOC_AARCH64_RELOC_END, - -/* AArch64 pseudo relocation code to be used internally by the AArch64 -assembler and not (currently) written to any object files. */ - BFD_RELOC_AARCH64_GAS_INTERNAL_FIXUP, - -/* AArch64 unspecified load/store instruction, holding bits 0 to 11 of the -address. Used in conjunction with BFD_RELOC_AARCH64_ADR_HI21_PCREL. */ - BFD_RELOC_AARCH64_LDST_LO12, - -/* AArch64 pseudo relocation code for TLS local dynamic mode. It's to be -used internally by the AArch64 assembler and not (currently) written to -any object files. */ - BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12, - -/* Similar as BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12, but no overflow check. */ - BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12_NC, - -/* AArch64 pseudo relocation code to be used internally by the AArch64 -assembler and not (currently) written to any object files. */ - BFD_RELOC_AARCH64_LD_GOT_LO12_NC, - -/* AArch64 pseudo relocation code to be used internally by the AArch64 -assembler and not (currently) written to any object files. */ - BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_LO12_NC, - -/* AArch64 pseudo relocation code to be used internally by the AArch64 -assembler and not (currently) written to any object files. */ - BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC, - -/* Tilera TILEPro Relocations. */ - BFD_RELOC_TILEPRO_COPY, - BFD_RELOC_TILEPRO_GLOB_DAT, - BFD_RELOC_TILEPRO_JMP_SLOT, - BFD_RELOC_TILEPRO_RELATIVE, - BFD_RELOC_TILEPRO_BROFF_X1, - BFD_RELOC_TILEPRO_JOFFLONG_X1, - BFD_RELOC_TILEPRO_JOFFLONG_X1_PLT, - BFD_RELOC_TILEPRO_IMM8_X0, - BFD_RELOC_TILEPRO_IMM8_Y0, - BFD_RELOC_TILEPRO_IMM8_X1, - BFD_RELOC_TILEPRO_IMM8_Y1, - BFD_RELOC_TILEPRO_DEST_IMM8_X1, - BFD_RELOC_TILEPRO_MT_IMM15_X1, - BFD_RELOC_TILEPRO_MF_IMM15_X1, - BFD_RELOC_TILEPRO_IMM16_X0, - BFD_RELOC_TILEPRO_IMM16_X1, - BFD_RELOC_TILEPRO_IMM16_X0_LO, - BFD_RELOC_TILEPRO_IMM16_X1_LO, - BFD_RELOC_TILEPRO_IMM16_X0_HI, - BFD_RELOC_TILEPRO_IMM16_X1_HI, - BFD_RELOC_TILEPRO_IMM16_X0_HA, - BFD_RELOC_TILEPRO_IMM16_X1_HA, - BFD_RELOC_TILEPRO_IMM16_X0_PCREL, - BFD_RELOC_TILEPRO_IMM16_X1_PCREL, - BFD_RELOC_TILEPRO_IMM16_X0_LO_PCREL, - BFD_RELOC_TILEPRO_IMM16_X1_LO_PCREL, - BFD_RELOC_TILEPRO_IMM16_X0_HI_PCREL, - BFD_RELOC_TILEPRO_IMM16_X1_HI_PCREL, - BFD_RELOC_TILEPRO_IMM16_X0_HA_PCREL, - BFD_RELOC_TILEPRO_IMM16_X1_HA_PCREL, - BFD_RELOC_TILEPRO_IMM16_X0_GOT, - BFD_RELOC_TILEPRO_IMM16_X1_GOT, - BFD_RELOC_TILEPRO_IMM16_X0_GOT_LO, - BFD_RELOC_TILEPRO_IMM16_X1_GOT_LO, - BFD_RELOC_TILEPRO_IMM16_X0_GOT_HI, - BFD_RELOC_TILEPRO_IMM16_X1_GOT_HI, - BFD_RELOC_TILEPRO_IMM16_X0_GOT_HA, - BFD_RELOC_TILEPRO_IMM16_X1_GOT_HA, - BFD_RELOC_TILEPRO_MMSTART_X0, - BFD_RELOC_TILEPRO_MMEND_X0, - BFD_RELOC_TILEPRO_MMSTART_X1, - BFD_RELOC_TILEPRO_MMEND_X1, - BFD_RELOC_TILEPRO_SHAMT_X0, - BFD_RELOC_TILEPRO_SHAMT_X1, - BFD_RELOC_TILEPRO_SHAMT_Y0, - BFD_RELOC_TILEPRO_SHAMT_Y1, - BFD_RELOC_TILEPRO_TLS_GD_CALL, - BFD_RELOC_TILEPRO_IMM8_X0_TLS_GD_ADD, - BFD_RELOC_TILEPRO_IMM8_X1_TLS_GD_ADD, - BFD_RELOC_TILEPRO_IMM8_Y0_TLS_GD_ADD, - BFD_RELOC_TILEPRO_IMM8_Y1_TLS_GD_ADD, - BFD_RELOC_TILEPRO_TLS_IE_LOAD, - BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD, - BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD, - BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_LO, - BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_LO, - BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_HI, - BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_HI, - BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_HA, - BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_HA, - BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE, - BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE, - BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_LO, - BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_LO, - BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_HI, - BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_HI, - BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_HA, - BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_HA, - BFD_RELOC_TILEPRO_TLS_DTPMOD32, - BFD_RELOC_TILEPRO_TLS_DTPOFF32, - BFD_RELOC_TILEPRO_TLS_TPOFF32, - BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE, - BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE, - BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_LO, - BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_LO, - BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HI, - BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HI, - BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HA, - BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HA, - -/* Tilera TILE-Gx Relocations. */ - BFD_RELOC_TILEGX_HW0, - BFD_RELOC_TILEGX_HW1, - BFD_RELOC_TILEGX_HW2, - BFD_RELOC_TILEGX_HW3, - BFD_RELOC_TILEGX_HW0_LAST, - BFD_RELOC_TILEGX_HW1_LAST, - BFD_RELOC_TILEGX_HW2_LAST, - BFD_RELOC_TILEGX_COPY, - BFD_RELOC_TILEGX_GLOB_DAT, - BFD_RELOC_TILEGX_JMP_SLOT, - BFD_RELOC_TILEGX_RELATIVE, - BFD_RELOC_TILEGX_BROFF_X1, - BFD_RELOC_TILEGX_JUMPOFF_X1, - BFD_RELOC_TILEGX_JUMPOFF_X1_PLT, - BFD_RELOC_TILEGX_IMM8_X0, - BFD_RELOC_TILEGX_IMM8_Y0, - BFD_RELOC_TILEGX_IMM8_X1, - BFD_RELOC_TILEGX_IMM8_Y1, - BFD_RELOC_TILEGX_DEST_IMM8_X1, - BFD_RELOC_TILEGX_MT_IMM14_X1, - BFD_RELOC_TILEGX_MF_IMM14_X1, - BFD_RELOC_TILEGX_MMSTART_X0, - BFD_RELOC_TILEGX_MMEND_X0, - BFD_RELOC_TILEGX_SHAMT_X0, - BFD_RELOC_TILEGX_SHAMT_X1, - BFD_RELOC_TILEGX_SHAMT_Y0, - BFD_RELOC_TILEGX_SHAMT_Y1, - BFD_RELOC_TILEGX_IMM16_X0_HW0, - BFD_RELOC_TILEGX_IMM16_X1_HW0, - BFD_RELOC_TILEGX_IMM16_X0_HW1, - BFD_RELOC_TILEGX_IMM16_X1_HW1, - BFD_RELOC_TILEGX_IMM16_X0_HW2, - BFD_RELOC_TILEGX_IMM16_X1_HW2, - BFD_RELOC_TILEGX_IMM16_X0_HW3, - BFD_RELOC_TILEGX_IMM16_X1_HW3, - BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST, - BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST, - BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST, - BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST, - BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST, - BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST, - BFD_RELOC_TILEGX_IMM16_X0_HW0_PCREL, - BFD_RELOC_TILEGX_IMM16_X1_HW0_PCREL, - BFD_RELOC_TILEGX_IMM16_X0_HW1_PCREL, - BFD_RELOC_TILEGX_IMM16_X1_HW1_PCREL, - BFD_RELOC_TILEGX_IMM16_X0_HW2_PCREL, - BFD_RELOC_TILEGX_IMM16_X1_HW2_PCREL, - BFD_RELOC_TILEGX_IMM16_X0_HW3_PCREL, - BFD_RELOC_TILEGX_IMM16_X1_HW3_PCREL, - BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_PCREL, - BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_PCREL, - BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_PCREL, - BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_PCREL, - BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_PCREL, - BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_PCREL, - BFD_RELOC_TILEGX_IMM16_X0_HW0_GOT, - BFD_RELOC_TILEGX_IMM16_X1_HW0_GOT, - BFD_RELOC_TILEGX_IMM16_X0_HW0_PLT_PCREL, - BFD_RELOC_TILEGX_IMM16_X1_HW0_PLT_PCREL, - BFD_RELOC_TILEGX_IMM16_X0_HW1_PLT_PCREL, - BFD_RELOC_TILEGX_IMM16_X1_HW1_PLT_PCREL, - BFD_RELOC_TILEGX_IMM16_X0_HW2_PLT_PCREL, - BFD_RELOC_TILEGX_IMM16_X1_HW2_PLT_PCREL, - BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_GOT, - BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_GOT, - BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_GOT, - BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_GOT, - BFD_RELOC_TILEGX_IMM16_X0_HW3_PLT_PCREL, - BFD_RELOC_TILEGX_IMM16_X1_HW3_PLT_PCREL, - BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_GD, - BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_GD, - BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_LE, - BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_LE, - BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_LE, - BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_LE, - BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_LE, - BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_LE, - BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_GD, - BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_GD, - BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_GD, - BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_GD, - BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_IE, - BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_IE, - BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_PLT_PCREL, - BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_PLT_PCREL, - BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_PLT_PCREL, - BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_PLT_PCREL, - BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_PLT_PCREL, - BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL, - BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_IE, - BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_IE, - BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_IE, - BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_IE, - BFD_RELOC_TILEGX_TLS_DTPMOD64, - BFD_RELOC_TILEGX_TLS_DTPOFF64, - BFD_RELOC_TILEGX_TLS_TPOFF64, - BFD_RELOC_TILEGX_TLS_DTPMOD32, - BFD_RELOC_TILEGX_TLS_DTPOFF32, - BFD_RELOC_TILEGX_TLS_TPOFF32, - BFD_RELOC_TILEGX_TLS_GD_CALL, - BFD_RELOC_TILEGX_IMM8_X0_TLS_GD_ADD, - BFD_RELOC_TILEGX_IMM8_X1_TLS_GD_ADD, - BFD_RELOC_TILEGX_IMM8_Y0_TLS_GD_ADD, - BFD_RELOC_TILEGX_IMM8_Y1_TLS_GD_ADD, - BFD_RELOC_TILEGX_TLS_IE_LOAD, - BFD_RELOC_TILEGX_IMM8_X0_TLS_ADD, - BFD_RELOC_TILEGX_IMM8_X1_TLS_ADD, - BFD_RELOC_TILEGX_IMM8_Y0_TLS_ADD, - BFD_RELOC_TILEGX_IMM8_Y1_TLS_ADD, - -/* Adapteva EPIPHANY - 8 bit signed pc-relative displacement */ - BFD_RELOC_EPIPHANY_SIMM8, - -/* Adapteva EPIPHANY - 24 bit signed pc-relative displacement */ - BFD_RELOC_EPIPHANY_SIMM24, - -/* Adapteva EPIPHANY - 16 most-significant bits of absolute address */ - BFD_RELOC_EPIPHANY_HIGH, - -/* Adapteva EPIPHANY - 16 least-significant bits of absolute address */ - BFD_RELOC_EPIPHANY_LOW, - -/* Adapteva EPIPHANY - 11 bit signed number - add/sub immediate */ - BFD_RELOC_EPIPHANY_SIMM11, - -/* Adapteva EPIPHANY - 11 bit sign-magnitude number (ld/st displacement) */ - BFD_RELOC_EPIPHANY_IMM11, - -/* Adapteva EPIPHANY - 8 bit immediate for 16 bit mov instruction. */ - BFD_RELOC_EPIPHANY_IMM8, - -/* Visium Relocations. */ - BFD_RELOC_VISIUM_HI16, - BFD_RELOC_VISIUM_LO16, - BFD_RELOC_VISIUM_IM16, - BFD_RELOC_VISIUM_REL16, - BFD_RELOC_VISIUM_HI16_PCREL, - BFD_RELOC_VISIUM_LO16_PCREL, - BFD_RELOC_VISIUM_IM16_PCREL, - -/* WebAssembly relocations. */ - BFD_RELOC_WASM32_LEB128, - BFD_RELOC_WASM32_LEB128_GOT, - BFD_RELOC_WASM32_LEB128_GOT_CODE, - BFD_RELOC_WASM32_LEB128_PLT, - BFD_RELOC_WASM32_PLT_INDEX, - BFD_RELOC_WASM32_ABS32_CODE, - BFD_RELOC_WASM32_COPY, - BFD_RELOC_WASM32_CODE_POINTER, - BFD_RELOC_WASM32_INDEX, - BFD_RELOC_WASM32_PLT_SIG, - BFD_RELOC_UNUSED }; - -typedef enum bfd_reloc_code_real bfd_reloc_code_real_type; -reloc_howto_type *bfd_reloc_type_lookup - (bfd *abfd, bfd_reloc_code_real_type code); -reloc_howto_type *bfd_reloc_name_lookup - (bfd *abfd, const char *reloc_name); - -const char *bfd_get_reloc_code_name (bfd_reloc_code_real_type code); - -/* Extracted from syms.c. */ - -typedef struct bfd_symbol -{ - /* A pointer to the BFD which owns the symbol. This information - is necessary so that a back end can work out what additional - information (invisible to the application writer) is carried - with the symbol. - - This field is *almost* redundant, since you can use section->owner - instead, except that some symbols point to the global sections - bfd_{abs,com,und}_section. This could be fixed by making - these globals be per-bfd (or per-target-flavor). FIXME. */ - struct bfd *the_bfd; /* Use bfd_asymbol_bfd(sym) to access this field. */ - - /* The text of the symbol. The name is left alone, and not copied; the - application may not alter it. */ - const char *name; - - /* The value of the symbol. This really should be a union of a - numeric value with a pointer, since some flags indicate that - a pointer to another symbol is stored here. */ - symvalue value; - - /* Attributes of a symbol. */ -#define BSF_NO_FLAGS 0 - - /* The symbol has local scope; <<static>> in <<C>>. The value - is the offset into the section of the data. */ -#define BSF_LOCAL (1 << 0) - - /* The symbol has global scope; initialized data in <<C>>. The - value is the offset into the section of the data. */ -#define BSF_GLOBAL (1 << 1) - - /* The symbol has global scope and is exported. The value is - the offset into the section of the data. */ -#define BSF_EXPORT BSF_GLOBAL /* No real difference. */ - - /* A normal C symbol would be one of: - <<BSF_LOCAL>>, <<BSF_UNDEFINED>> or <<BSF_GLOBAL>>. */ - - /* The symbol is a debugging record. The value has an arbitrary - meaning, unless BSF_DEBUGGING_RELOC is also set. */ -#define BSF_DEBUGGING (1 << 2) - - /* The symbol denotes a function entry point. Used in ELF, - perhaps others someday. */ -#define BSF_FUNCTION (1 << 3) - - /* Used by the linker. */ -#define BSF_KEEP (1 << 5) - - /* An ELF common symbol. */ -#define BSF_ELF_COMMON (1 << 6) - - /* A weak global symbol, overridable without warnings by - a regular global symbol of the same name. */ -#define BSF_WEAK (1 << 7) - - /* This symbol was created to point to a section, e.g. ELF's - STT_SECTION symbols. */ -#define BSF_SECTION_SYM (1 << 8) - - /* The symbol used to be a common symbol, but now it is - allocated. */ -#define BSF_OLD_COMMON (1 << 9) - - /* In some files the type of a symbol sometimes alters its - location in an output file - ie in coff a <<ISFCN>> symbol - which is also <<C_EXT>> symbol appears where it was - declared and not at the end of a section. This bit is set - by the target BFD part to convey this information. */ -#define BSF_NOT_AT_END (1 << 10) - - /* Signal that the symbol is the label of constructor section. */ -#define BSF_CONSTRUCTOR (1 << 11) - - /* Signal that the symbol is a warning symbol. The name is a - warning. The name of the next symbol is the one to warn about; - if a reference is made to a symbol with the same name as the next - symbol, a warning is issued by the linker. */ -#define BSF_WARNING (1 << 12) - - /* Signal that the symbol is indirect. This symbol is an indirect - pointer to the symbol with the same name as the next symbol. */ -#define BSF_INDIRECT (1 << 13) - - /* BSF_FILE marks symbols that contain a file name. This is used - for ELF STT_FILE symbols. */ -#define BSF_FILE (1 << 14) - - /* Symbol is from dynamic linking information. */ -#define BSF_DYNAMIC (1 << 15) - - /* The symbol denotes a data object. Used in ELF, and perhaps - others someday. */ -#define BSF_OBJECT (1 << 16) - - /* This symbol is a debugging symbol. The value is the offset - into the section of the data. BSF_DEBUGGING should be set - as well. */ -#define BSF_DEBUGGING_RELOC (1 << 17) - - /* This symbol is thread local. Used in ELF. */ -#define BSF_THREAD_LOCAL (1 << 18) - - /* This symbol represents a complex relocation expression, - with the expression tree serialized in the symbol name. */ -#define BSF_RELC (1 << 19) - - /* This symbol represents a signed complex relocation expression, - with the expression tree serialized in the symbol name. */ -#define BSF_SRELC (1 << 20) - - /* This symbol was created by bfd_get_synthetic_symtab. */ -#define BSF_SYNTHETIC (1 << 21) - - /* This symbol is an indirect code object. Unrelated to BSF_INDIRECT. - The dynamic linker will compute the value of this symbol by - calling the function that it points to. BSF_FUNCTION must - also be also set. */ -#define BSF_GNU_INDIRECT_FUNCTION (1 << 22) - /* This symbol is a globally unique data object. The dynamic linker - will make sure that in the entire process there is just one symbol - with this name and type in use. BSF_OBJECT must also be set. */ -#define BSF_GNU_UNIQUE (1 << 23) - - flagword flags; - - /* A pointer to the section to which this symbol is - relative. This will always be non NULL, there are special - sections for undefined and absolute symbols. */ - struct bfd_section *section; - - /* Back end special data. */ - union - { - void *p; - bfd_vma i; - } - udata; -} -asymbol; - -#define bfd_get_symtab_upper_bound(abfd) \ - BFD_SEND (abfd, _bfd_get_symtab_upper_bound, (abfd)) - -bfd_boolean bfd_is_local_label (bfd *abfd, asymbol *sym); - -bfd_boolean bfd_is_local_label_name (bfd *abfd, const char *name); - -#define bfd_is_local_label_name(abfd, name) \ - BFD_SEND (abfd, _bfd_is_local_label_name, (abfd, name)) - -bfd_boolean bfd_is_target_special_symbol (bfd *abfd, asymbol *sym); - -#define bfd_is_target_special_symbol(abfd, sym) \ - BFD_SEND (abfd, _bfd_is_target_special_symbol, (abfd, sym)) - -#define bfd_canonicalize_symtab(abfd, location) \ - BFD_SEND (abfd, _bfd_canonicalize_symtab, (abfd, location)) - -bfd_boolean bfd_set_symtab - (bfd *abfd, asymbol **location, unsigned int count); - -void bfd_print_symbol_vandf (bfd *abfd, void *file, asymbol *symbol); - -#define bfd_make_empty_symbol(abfd) \ - BFD_SEND (abfd, _bfd_make_empty_symbol, (abfd)) - -asymbol *_bfd_generic_make_empty_symbol (bfd *); - -#define bfd_make_debug_symbol(abfd,ptr,size) \ - BFD_SEND (abfd, _bfd_make_debug_symbol, (abfd, ptr, size)) - -int bfd_decode_symclass (asymbol *symbol); - -bfd_boolean bfd_is_undefined_symclass (int symclass); - -void bfd_symbol_info (asymbol *symbol, symbol_info *ret); - -bfd_boolean bfd_copy_private_symbol_data - (bfd *ibfd, asymbol *isym, bfd *obfd, asymbol *osym); - -#define bfd_copy_private_symbol_data(ibfd, isymbol, obfd, osymbol) \ - BFD_SEND (obfd, _bfd_copy_private_symbol_data, \ - (ibfd, isymbol, obfd, osymbol)) - -/* Extracted from bfd.c. */ - -enum bfd_direction - { - no_direction = 0, - read_direction = 1, - write_direction = 2, - both_direction = 3 - }; - -enum bfd_plugin_format - { - bfd_plugin_unknown = 0, - bfd_plugin_yes = 1, - bfd_plugin_no = 2 - }; - -struct bfd_build_id - { - bfd_size_type size; - bfd_byte data[1]; - }; - -struct bfd -{ - /* The filename the application opened the BFD with. */ - const char *filename; - - /* A pointer to the target jump table. */ - const struct bfd_target *xvec; - - /* The IOSTREAM, and corresponding IO vector that provide access - to the file backing the BFD. */ - void *iostream; - const struct bfd_iovec *iovec; - - /* The caching routines use these to maintain a - least-recently-used list of BFDs. */ - struct bfd *lru_prev, *lru_next; - - /* When a file is closed by the caching routines, BFD retains - state information on the file here... */ - ufile_ptr where; - - /* File modified time, if mtime_set is TRUE. */ - long mtime; - - /* A unique identifier of the BFD */ - unsigned int id; - - /* The format which belongs to the BFD. (object, core, etc.) */ - ENUM_BITFIELD (bfd_format) format : 3; - - /* The direction with which the BFD was opened. */ - ENUM_BITFIELD (bfd_direction) direction : 2; - - /* Format_specific flags. */ - flagword flags : 20; - - /* Values that may appear in the flags field of a BFD. These also - appear in the object_flags field of the bfd_target structure, where - they indicate the set of flags used by that backend (not all flags - are meaningful for all object file formats) (FIXME: at the moment, - the object_flags values have mostly just been copied from backend - to another, and are not necessarily correct). */ - -#define BFD_NO_FLAGS 0x0 - - /* BFD contains relocation entries. */ -#define HAS_RELOC 0x1 - - /* BFD is directly executable. */ -#define EXEC_P 0x2 - - /* BFD has line number information (basically used for F_LNNO in a - COFF header). */ -#define HAS_LINENO 0x4 - - /* BFD has debugging information. */ -#define HAS_DEBUG 0x08 - - /* BFD has symbols. */ -#define HAS_SYMS 0x10 - - /* BFD has local symbols (basically used for F_LSYMS in a COFF - header). */ -#define HAS_LOCALS 0x20 - - /* BFD is a dynamic object. */ -#define DYNAMIC 0x40 - - /* Text section is write protected (if D_PAGED is not set, this is - like an a.out NMAGIC file) (the linker sets this by default, but - clears it for -r or -N). */ -#define WP_TEXT 0x80 - - /* BFD is dynamically paged (this is like an a.out ZMAGIC file) (the - linker sets this by default, but clears it for -r or -n or -N). */ -#define D_PAGED 0x100 - - /* BFD is relaxable (this means that bfd_relax_section may be able to - do something) (sometimes bfd_relax_section can do something even if - this is not set). */ -#define BFD_IS_RELAXABLE 0x200 - - /* This may be set before writing out a BFD to request using a - traditional format. For example, this is used to request that when - writing out an a.out object the symbols not be hashed to eliminate - duplicates. */ -#define BFD_TRADITIONAL_FORMAT 0x400 - - /* This flag indicates that the BFD contents are actually cached - in memory. If this is set, iostream points to a bfd_in_memory - struct. */ -#define BFD_IN_MEMORY 0x800 - - /* This BFD has been created by the linker and doesn't correspond - to any input file. */ -#define BFD_LINKER_CREATED 0x1000 - - /* This may be set before writing out a BFD to request that it - be written using values for UIDs, GIDs, timestamps, etc. that - will be consistent from run to run. */ -#define BFD_DETERMINISTIC_OUTPUT 0x2000 - - /* Compress sections in this BFD. */ -#define BFD_COMPRESS 0x4000 - - /* Decompress sections in this BFD. */ -#define BFD_DECOMPRESS 0x8000 - - /* BFD is a dummy, for plugins. */ -#define BFD_PLUGIN 0x10000 - - /* Compress sections in this BFD with SHF_COMPRESSED from gABI. */ -#define BFD_COMPRESS_GABI 0x20000 - - /* Convert ELF common symbol type to STT_COMMON or STT_OBJECT in this - BFD. */ -#define BFD_CONVERT_ELF_COMMON 0x40000 - - /* Use the ELF STT_COMMON type in this BFD. */ -#define BFD_USE_ELF_STT_COMMON 0x80000 - - /* Flags bits to be saved in bfd_preserve_save. */ -#define BFD_FLAGS_SAVED \ - (BFD_IN_MEMORY | BFD_COMPRESS | BFD_DECOMPRESS | BFD_LINKER_CREATED \ - | BFD_PLUGIN | BFD_COMPRESS_GABI | BFD_CONVERT_ELF_COMMON \ - | BFD_USE_ELF_STT_COMMON) - - /* Flags bits which are for BFD use only. */ -#define BFD_FLAGS_FOR_BFD_USE_MASK \ - (BFD_IN_MEMORY | BFD_COMPRESS | BFD_DECOMPRESS | BFD_LINKER_CREATED \ - | BFD_PLUGIN | BFD_TRADITIONAL_FORMAT | BFD_DETERMINISTIC_OUTPUT \ - | BFD_COMPRESS_GABI | BFD_CONVERT_ELF_COMMON | BFD_USE_ELF_STT_COMMON) - - /* Is the file descriptor being cached? That is, can it be closed as - needed, and re-opened when accessed later? */ - unsigned int cacheable : 1; - - /* Marks whether there was a default target specified when the - BFD was opened. This is used to select which matching algorithm - to use to choose the back end. */ - unsigned int target_defaulted : 1; - - /* ... and here: (``once'' means at least once). */ - unsigned int opened_once : 1; - - /* Set if we have a locally maintained mtime value, rather than - getting it from the file each time. */ - unsigned int mtime_set : 1; - - /* Flag set if symbols from this BFD should not be exported. */ - unsigned int no_export : 1; - - /* Remember when output has begun, to stop strange things - from happening. */ - unsigned int output_has_begun : 1; - - /* Have archive map. */ - unsigned int has_armap : 1; - - /* Set if this is a thin archive. */ - unsigned int is_thin_archive : 1; - - /* Set if only required symbols should be added in the link hash table for - this object. Used by VMS linkers. */ - unsigned int selective_search : 1; - - /* Set if this is the linker output BFD. */ - unsigned int is_linker_output : 1; - - /* Set if this is the linker input BFD. */ - unsigned int is_linker_input : 1; - - /* If this is an input for a compiler plug-in library. */ - ENUM_BITFIELD (bfd_plugin_format) plugin_format : 2; - - /* Set if this is a plugin output file. */ - unsigned int lto_output : 1; - - /* Set to dummy BFD created when claimed by a compiler plug-in - library. */ - bfd *plugin_dummy_bfd; - - /* Currently my_archive is tested before adding origin to - anything. I believe that this can become always an add of - origin, with origin set to 0 for non archive files. */ - ufile_ptr origin; - - /* The origin in the archive of the proxy entry. This will - normally be the same as origin, except for thin archives, - when it will contain the current offset of the proxy in the - thin archive rather than the offset of the bfd in its actual - container. */ - ufile_ptr proxy_origin; - - /* A hash table for section names. */ - struct bfd_hash_table section_htab; - - /* Pointer to linked list of sections. */ - struct bfd_section *sections; - - /* The last section on the section list. */ - struct bfd_section *section_last; - - /* The number of sections. */ - unsigned int section_count; - - /* A field used by _bfd_generic_link_add_archive_symbols. This will - be used only for archive elements. */ - int archive_pass; - - /* Stuff only useful for object files: - The start address. */ - bfd_vma start_address; - - /* Symbol table for output BFD (with symcount entries). - Also used by the linker to cache input BFD symbols. */ - struct bfd_symbol **outsymbols; - - /* Used for input and output. */ - unsigned int symcount; - - /* Used for slurped dynamic symbol tables. */ - unsigned int dynsymcount; - - /* Pointer to structure which contains architecture information. */ - const struct bfd_arch_info *arch_info; - - /* Stuff only useful for archives. */ - void *arelt_data; - struct bfd *my_archive; /* The containing archive BFD. */ - struct bfd *archive_next; /* The next BFD in the archive. */ - struct bfd *archive_head; /* The first BFD in the archive. */ - struct bfd *nested_archives; /* List of nested archive in a flattened - thin archive. */ - - union { - /* For input BFDs, a chain of BFDs involved in a link. */ - struct bfd *next; - /* For output BFD, the linker hash table. */ - struct bfd_link_hash_table *hash; - } link; - - /* Used by the back end to hold private data. */ - union - { - struct aout_data_struct *aout_data; - struct artdata *aout_ar_data; - struct _oasys_data *oasys_obj_data; - struct _oasys_ar_data *oasys_ar_data; - struct coff_tdata *coff_obj_data; - struct pe_tdata *pe_obj_data; - struct xcoff_tdata *xcoff_obj_data; - struct ecoff_tdata *ecoff_obj_data; - struct ieee_data_struct *ieee_data; - struct ieee_ar_data_struct *ieee_ar_data; - struct srec_data_struct *srec_data; - struct verilog_data_struct *verilog_data; - struct ihex_data_struct *ihex_data; - struct tekhex_data_struct *tekhex_data; - struct elf_obj_tdata *elf_obj_data; - struct nlm_obj_tdata *nlm_obj_data; - struct bout_data_struct *bout_data; - struct mmo_data_struct *mmo_data; - struct sun_core_struct *sun_core_data; - struct sco5_core_struct *sco5_core_data; - struct trad_core_struct *trad_core_data; - struct som_data_struct *som_data; - struct hpux_core_struct *hpux_core_data; - struct hppabsd_core_struct *hppabsd_core_data; - struct sgi_core_struct *sgi_core_data; - struct lynx_core_struct *lynx_core_data; - struct osf_core_struct *osf_core_data; - struct cisco_core_struct *cisco_core_data; - struct versados_data_struct *versados_data; - struct netbsd_core_struct *netbsd_core_data; - struct mach_o_data_struct *mach_o_data; - struct mach_o_fat_data_struct *mach_o_fat_data; - struct plugin_data_struct *plugin_data; - struct bfd_pef_data_struct *pef_data; - struct bfd_pef_xlib_data_struct *pef_xlib_data; - struct bfd_sym_data_struct *sym_data; - struct asxxxx_data_struct *asxxxx_data; - void *any; - } - tdata; - - /* Used by the application to hold private data. */ - void *usrdata; - - /* Where all the allocated stuff under this BFD goes. This is a - struct objalloc *, but we use void * to avoid requiring the inclusion - of objalloc.h. */ - void *memory; - - /* For input BFDs, the build ID, if the object has one. */ - const struct bfd_build_id *build_id; -}; - -/* See note beside bfd_set_section_userdata. */ -static inline bfd_boolean -bfd_set_cacheable (bfd * abfd, bfd_boolean val) -{ - abfd->cacheable = val; - return TRUE; -} - - -typedef enum bfd_error -{ - bfd_error_no_error = 0, - bfd_error_system_call, - bfd_error_invalid_target, - bfd_error_wrong_format, - bfd_error_wrong_object_format, - bfd_error_invalid_operation, - bfd_error_no_memory, - bfd_error_no_symbols, - bfd_error_no_armap, - bfd_error_no_more_archived_files, - bfd_error_malformed_archive, - bfd_error_missing_dso, - bfd_error_file_not_recognized, - bfd_error_file_ambiguously_recognized, - bfd_error_no_contents, - bfd_error_nonrepresentable_section, - bfd_error_no_debug_section, - bfd_error_bad_value, - bfd_error_file_truncated, - bfd_error_file_too_big, - bfd_error_on_input, - bfd_error_invalid_error_code -} -bfd_error_type; - -bfd_error_type bfd_get_error (void); - -void bfd_set_error (bfd_error_type error_tag); - -void bfd_set_input_error (bfd *input, bfd_error_type error_tag); - -const char *bfd_errmsg (bfd_error_type error_tag); - -void bfd_perror (const char *message); - - -typedef void (*bfd_error_handler_type) (const char *, va_list); - -bfd_error_handler_type bfd_set_error_handler (bfd_error_handler_type); - -void bfd_set_error_program_name (const char *); - - -typedef void (*bfd_assert_handler_type) (const char *bfd_formatmsg, - const char *bfd_version, - const char *bfd_file, - int bfd_line); - -bfd_assert_handler_type bfd_set_assert_handler (bfd_assert_handler_type); - -long bfd_get_reloc_upper_bound (bfd *abfd, asection *sect); - -long bfd_canonicalize_reloc - (bfd *abfd, asection *sec, arelent **loc, asymbol **syms); - -void bfd_set_reloc - (bfd *abfd, asection *sec, arelent **rel, unsigned int count); - -#define bfd_set_reloc(abfd, asect, location, count) \ - BFD_SEND (abfd, _bfd_set_reloc, (abfd, asect, location, count)) -bfd_boolean bfd_set_file_flags (bfd *abfd, flagword flags); - -int bfd_get_arch_size (bfd *abfd); - -int bfd_get_sign_extend_vma (bfd *abfd); - -bfd_boolean bfd_set_start_address (bfd *abfd, bfd_vma vma); - -unsigned int bfd_get_gp_size (bfd *abfd); - -void bfd_set_gp_size (bfd *abfd, unsigned int i); - -bfd_vma bfd_scan_vma (const char *string, const char **end, int base); - -bfd_boolean bfd_copy_private_header_data (bfd *ibfd, bfd *obfd); - -#define bfd_copy_private_header_data(ibfd, obfd) \ - BFD_SEND (obfd, _bfd_copy_private_header_data, \ - (ibfd, obfd)) -bfd_boolean bfd_copy_private_bfd_data (bfd *ibfd, bfd *obfd); - -#define bfd_copy_private_bfd_data(ibfd, obfd) \ - BFD_SEND (obfd, _bfd_copy_private_bfd_data, \ - (ibfd, obfd)) -bfd_boolean bfd_set_private_flags (bfd *abfd, flagword flags); - -#define bfd_set_private_flags(abfd, flags) \ - BFD_SEND (abfd, _bfd_set_private_flags, (abfd, flags)) -#define bfd_sizeof_headers(abfd, info) \ - BFD_SEND (abfd, _bfd_sizeof_headers, (abfd, info)) - -#define bfd_find_nearest_line(abfd, sec, syms, off, file, func, line) \ - BFD_SEND (abfd, _bfd_find_nearest_line, \ - (abfd, syms, sec, off, file, func, line, NULL)) - -#define bfd_find_nearest_line_discriminator(abfd, sec, syms, off, file, func, \ - line, disc) \ - BFD_SEND (abfd, _bfd_find_nearest_line, \ - (abfd, syms, sec, off, file, func, line, disc)) - -#define bfd_find_line(abfd, syms, sym, file, line) \ - BFD_SEND (abfd, _bfd_find_line, \ - (abfd, syms, sym, file, line)) - -#define bfd_find_inliner_info(abfd, file, func, line) \ - BFD_SEND (abfd, _bfd_find_inliner_info, \ - (abfd, file, func, line)) - -#define bfd_debug_info_start(abfd) \ - BFD_SEND (abfd, _bfd_debug_info_start, (abfd)) - -#define bfd_debug_info_end(abfd) \ - BFD_SEND (abfd, _bfd_debug_info_end, (abfd)) - -#define bfd_debug_info_accumulate(abfd, section) \ - BFD_SEND (abfd, _bfd_debug_info_accumulate, (abfd, section)) - -#define bfd_stat_arch_elt(abfd, stat) \ - BFD_SEND (abfd, _bfd_stat_arch_elt,(abfd, stat)) - -#define bfd_update_armap_timestamp(abfd) \ - BFD_SEND (abfd, _bfd_update_armap_timestamp, (abfd)) - -#define bfd_set_arch_mach(abfd, arch, mach)\ - BFD_SEND ( abfd, _bfd_set_arch_mach, (abfd, arch, mach)) - -#define bfd_relax_section(abfd, section, link_info, again) \ - BFD_SEND (abfd, _bfd_relax_section, (abfd, section, link_info, again)) - -#define bfd_gc_sections(abfd, link_info) \ - BFD_SEND (abfd, _bfd_gc_sections, (abfd, link_info)) - -#define bfd_lookup_section_flags(link_info, flag_info, section) \ - BFD_SEND (abfd, _bfd_lookup_section_flags, (link_info, flag_info, section)) - -#define bfd_merge_sections(abfd, link_info) \ - BFD_SEND (abfd, _bfd_merge_sections, (abfd, link_info)) - -#define bfd_is_group_section(abfd, sec) \ - BFD_SEND (abfd, _bfd_is_group_section, (abfd, sec)) - -#define bfd_discard_group(abfd, sec) \ - BFD_SEND (abfd, _bfd_discard_group, (abfd, sec)) - -#define bfd_link_hash_table_create(abfd) \ - BFD_SEND (abfd, _bfd_link_hash_table_create, (abfd)) - -#define bfd_link_add_symbols(abfd, info) \ - BFD_SEND (abfd, _bfd_link_add_symbols, (abfd, info)) - -#define bfd_link_just_syms(abfd, sec, info) \ - BFD_SEND (abfd, _bfd_link_just_syms, (sec, info)) - -#define bfd_final_link(abfd, info) \ - BFD_SEND (abfd, _bfd_final_link, (abfd, info)) - -#define bfd_free_cached_info(abfd) \ - BFD_SEND (abfd, _bfd_free_cached_info, (abfd)) - -#define bfd_get_dynamic_symtab_upper_bound(abfd) \ - BFD_SEND (abfd, _bfd_get_dynamic_symtab_upper_bound, (abfd)) - -#define bfd_print_private_bfd_data(abfd, file)\ - BFD_SEND (abfd, _bfd_print_private_bfd_data, (abfd, file)) - -#define bfd_canonicalize_dynamic_symtab(abfd, asymbols) \ - BFD_SEND (abfd, _bfd_canonicalize_dynamic_symtab, (abfd, asymbols)) - -#define bfd_get_synthetic_symtab(abfd, count, syms, dyncount, dynsyms, ret) \ - BFD_SEND (abfd, _bfd_get_synthetic_symtab, (abfd, count, syms, \ - dyncount, dynsyms, ret)) - -#define bfd_get_dynamic_reloc_upper_bound(abfd) \ - BFD_SEND (abfd, _bfd_get_dynamic_reloc_upper_bound, (abfd)) - -#define bfd_canonicalize_dynamic_reloc(abfd, arels, asyms) \ - BFD_SEND (abfd, _bfd_canonicalize_dynamic_reloc, (abfd, arels, asyms)) - -extern bfd_byte *bfd_get_relocated_section_contents - (bfd *, struct bfd_link_info *, struct bfd_link_order *, bfd_byte *, - bfd_boolean, asymbol **); - -bfd_boolean bfd_alt_mach_code (bfd *abfd, int alternative); - -bfd_vma bfd_emul_get_maxpagesize (const char *); - -void bfd_emul_set_maxpagesize (const char *, bfd_vma); - -bfd_vma bfd_emul_get_commonpagesize (const char *); - -void bfd_emul_set_commonpagesize (const char *, bfd_vma); - -char *bfd_demangle (bfd *, const char *, int); - -void bfd_update_compression_header - (bfd *abfd, bfd_byte *contents, asection *sec); - -bfd_boolean bfd_check_compression_header - (bfd *abfd, bfd_byte *contents, asection *sec, - bfd_size_type *uncompressed_size); - -int bfd_get_compression_header_size (bfd *abfd, asection *sec); - -bfd_size_type bfd_convert_section_size - (bfd *ibfd, asection *isec, bfd *obfd, bfd_size_type size); - -bfd_boolean bfd_convert_section_contents - (bfd *ibfd, asection *isec, bfd *obfd, - bfd_byte **ptr, bfd_size_type *ptr_size); - -/* Extracted from archive.c. */ -symindex bfd_get_next_mapent - (bfd *abfd, symindex previous, carsym **sym); - -bfd_boolean bfd_set_archive_head (bfd *output, bfd *new_head); - -bfd *bfd_openr_next_archived_file (bfd *archive, bfd *previous); - -/* Extracted from corefile.c. */ -const char *bfd_core_file_failing_command (bfd *abfd); - -int bfd_core_file_failing_signal (bfd *abfd); - -int bfd_core_file_pid (bfd *abfd); - -bfd_boolean core_file_matches_executable_p - (bfd *core_bfd, bfd *exec_bfd); - -bfd_boolean generic_core_file_matches_executable_p - (bfd *core_bfd, bfd *exec_bfd); - -/* Extracted from targets.c. */ -#define BFD_SEND(bfd, message, arglist) \ - ((*((bfd)->xvec->message)) arglist) - -#ifdef DEBUG_BFD_SEND -#undef BFD_SEND -#define BFD_SEND(bfd, message, arglist) \ - (((bfd) && (bfd)->xvec && (bfd)->xvec->message) ? \ - ((*((bfd)->xvec->message)) arglist) : \ - (bfd_assert (__FILE__,__LINE__), NULL)) -#endif -#define BFD_SEND_FMT(bfd, message, arglist) \ - (((bfd)->xvec->message[(int) ((bfd)->format)]) arglist) - -#ifdef DEBUG_BFD_SEND -#undef BFD_SEND_FMT -#define BFD_SEND_FMT(bfd, message, arglist) \ - (((bfd) && (bfd)->xvec && (bfd)->xvec->message) ? \ - (((bfd)->xvec->message[(int) ((bfd)->format)]) arglist) : \ - (bfd_assert (__FILE__,__LINE__), NULL)) -#endif - -enum bfd_flavour -{ - /* N.B. Update bfd_flavour_name if you change this. */ - bfd_target_unknown_flavour, - bfd_target_aout_flavour, - bfd_target_coff_flavour, - bfd_target_ecoff_flavour, - bfd_target_xcoff_flavour, - bfd_target_elf_flavour, - bfd_target_ieee_flavour, - bfd_target_nlm_flavour, - bfd_target_oasys_flavour, - bfd_target_tekhex_flavour, - bfd_target_srec_flavour, - bfd_target_verilog_flavour, - bfd_target_ihex_flavour, - bfd_target_som_flavour, - bfd_target_os9k_flavour, - bfd_target_versados_flavour, - bfd_target_msdos_flavour, - bfd_target_ovax_flavour, - bfd_target_evax_flavour, - bfd_target_mmo_flavour, - bfd_target_mach_o_flavour, - bfd_target_pef_flavour, - bfd_target_pef_xlib_flavour, - bfd_target_sym_flavour, - bfd_target_asxxxx_flavour -}; - -enum bfd_endian { BFD_ENDIAN_BIG, BFD_ENDIAN_LITTLE, BFD_ENDIAN_UNKNOWN }; - -/* Forward declaration. */ -typedef struct bfd_link_info _bfd_link_info; - -/* Forward declaration. */ -typedef struct flag_info flag_info; - -typedef struct bfd_target -{ - /* Identifies the kind of target, e.g., SunOS4, Ultrix, etc. */ - char *name; - - /* The "flavour" of a back end is a general indication about - the contents of a file. */ - enum bfd_flavour flavour; - - /* The order of bytes within the data area of a file. */ - enum bfd_endian byteorder; - - /* The order of bytes within the header parts of a file. */ - enum bfd_endian header_byteorder; - - /* A mask of all the flags which an executable may have set - - from the set <<BFD_NO_FLAGS>>, <<HAS_RELOC>>, ...<<D_PAGED>>. */ - flagword object_flags; - - /* A mask of all the flags which a section may have set - from - the set <<SEC_NO_FLAGS>>, <<SEC_ALLOC>>, ...<<SET_NEVER_LOAD>>. */ - flagword section_flags; - - /* The character normally found at the front of a symbol. - (if any), perhaps `_'. */ - char symbol_leading_char; - - /* The pad character for file names within an archive header. */ - char ar_pad_char; - - /* The maximum number of characters in an archive header. */ - unsigned char ar_max_namelen; - - /* How well this target matches, used to select between various - possible targets when more than one target matches. */ - unsigned char match_priority; - - /* Entries for byte swapping for data. These are different from the - other entry points, since they don't take a BFD as the first argument. - Certain other handlers could do the same. */ - bfd_uint64_t (*bfd_getx64) (const void *); - bfd_int64_t (*bfd_getx_signed_64) (const void *); - void (*bfd_putx64) (bfd_uint64_t, void *); - bfd_vma (*bfd_getx32) (const void *); - bfd_signed_vma (*bfd_getx_signed_32) (const void *); - void (*bfd_putx32) (bfd_vma, void *); - bfd_vma (*bfd_getx16) (const void *); - bfd_signed_vma (*bfd_getx_signed_16) (const void *); - void (*bfd_putx16) (bfd_vma, void *); - - /* Byte swapping for the headers. */ - bfd_uint64_t (*bfd_h_getx64) (const void *); - bfd_int64_t (*bfd_h_getx_signed_64) (const void *); - void (*bfd_h_putx64) (bfd_uint64_t, void *); - bfd_vma (*bfd_h_getx32) (const void *); - bfd_signed_vma (*bfd_h_getx_signed_32) (const void *); - void (*bfd_h_putx32) (bfd_vma, void *); - bfd_vma (*bfd_h_getx16) (const void *); - bfd_signed_vma (*bfd_h_getx_signed_16) (const void *); - void (*bfd_h_putx16) (bfd_vma, void *); - - /* Format dependent routines: these are vectors of entry points - within the target vector structure, one for each format to check. */ - - /* Check the format of a file being read. Return a <<bfd_target *>> or zero. */ - const struct bfd_target * - (*_bfd_check_format[bfd_type_end]) (bfd *); - - /* Set the format of a file being written. */ - bfd_boolean (*_bfd_set_format[bfd_type_end]) (bfd *); - - /* Write cached information into a file being written, at <<bfd_close>>. */ - bfd_boolean (*_bfd_write_contents[bfd_type_end]) (bfd *); - - - /* Generic entry points. */ -#define BFD_JUMP_TABLE_GENERIC(NAME) \ - NAME##_close_and_cleanup, \ - NAME##_bfd_free_cached_info, \ - NAME##_new_section_hook, \ - NAME##_get_section_contents, \ - NAME##_get_section_contents_in_window - - /* Called when the BFD is being closed to do any necessary cleanup. */ - bfd_boolean (*_close_and_cleanup) (bfd *); - /* Ask the BFD to free all cached information. */ - bfd_boolean (*_bfd_free_cached_info) (bfd *); - /* Called when a new section is created. */ - bfd_boolean (*_new_section_hook) (bfd *, sec_ptr); - /* Read the contents of a section. */ - bfd_boolean (*_bfd_get_section_contents) (bfd *, sec_ptr, void *, file_ptr, - bfd_size_type); - bfd_boolean (*_bfd_get_section_contents_in_window) (bfd *, sec_ptr, - bfd_window *, file_ptr, - bfd_size_type); - - /* Entry points to copy private data. */ -#define BFD_JUMP_TABLE_COPY(NAME) \ - NAME##_bfd_copy_private_bfd_data, \ - NAME##_bfd_merge_private_bfd_data, \ - _bfd_generic_init_private_section_data, \ - NAME##_bfd_copy_private_section_data, \ - NAME##_bfd_copy_private_symbol_data, \ - NAME##_bfd_copy_private_header_data, \ - NAME##_bfd_set_private_flags, \ - NAME##_bfd_print_private_bfd_data - - /* Called to copy BFD general private data from one object file - to another. */ - bfd_boolean (*_bfd_copy_private_bfd_data) (bfd *, bfd *); - /* Called to merge BFD general private data from one object file - to a common output file when linking. */ - bfd_boolean (*_bfd_merge_private_bfd_data) (bfd *, struct bfd_link_info *); - /* Called to initialize BFD private section data from one object file - to another. */ -#define bfd_init_private_section_data(ibfd, isec, obfd, osec, link_info) \ - BFD_SEND (obfd, _bfd_init_private_section_data, \ - (ibfd, isec, obfd, osec, link_info)) - bfd_boolean (*_bfd_init_private_section_data) (bfd *, sec_ptr, bfd *, - sec_ptr, - struct bfd_link_info *); - /* Called to copy BFD private section data from one object file - to another. */ - bfd_boolean (*_bfd_copy_private_section_data) (bfd *, sec_ptr, bfd *, - sec_ptr); - /* Called to copy BFD private symbol data from one symbol - to another. */ - bfd_boolean (*_bfd_copy_private_symbol_data) (bfd *, asymbol *, bfd *, - asymbol *); - /* Called to copy BFD private header data from one object file - to another. */ - bfd_boolean (*_bfd_copy_private_header_data) (bfd *, bfd *); - /* Called to set private backend flags. */ - bfd_boolean (*_bfd_set_private_flags) (bfd *, flagword); - - /* Called to print private BFD data. */ - bfd_boolean (*_bfd_print_private_bfd_data) (bfd *, void *); - - /* Core file entry points. */ -#define BFD_JUMP_TABLE_CORE(NAME) \ - NAME##_core_file_failing_command, \ - NAME##_core_file_failing_signal, \ - NAME##_core_file_matches_executable_p, \ - NAME##_core_file_pid - - char * (*_core_file_failing_command) (bfd *); - int (*_core_file_failing_signal) (bfd *); - bfd_boolean (*_core_file_matches_executable_p) (bfd *, bfd *); - int (*_core_file_pid) (bfd *); - - /* Archive entry points. */ -#define BFD_JUMP_TABLE_ARCHIVE(NAME) \ - NAME##_slurp_armap, \ - NAME##_slurp_extended_name_table, \ - NAME##_construct_extended_name_table, \ - NAME##_truncate_arname, \ - NAME##_write_armap, \ - NAME##_read_ar_hdr, \ - NAME##_write_ar_hdr, \ - NAME##_openr_next_archived_file, \ - NAME##_get_elt_at_index, \ - NAME##_generic_stat_arch_elt, \ - NAME##_update_armap_timestamp - - bfd_boolean (*_bfd_slurp_armap) (bfd *); - bfd_boolean (*_bfd_slurp_extended_name_table) (bfd *); - bfd_boolean (*_bfd_construct_extended_name_table) (bfd *, char **, - bfd_size_type *, - const char **); - void (*_bfd_truncate_arname) (bfd *, const char *, char *); - bfd_boolean (*write_armap) (bfd *, unsigned int, struct orl *, - unsigned int, int); - void * (*_bfd_read_ar_hdr_fn) (bfd *); - bfd_boolean (*_bfd_write_ar_hdr_fn) (bfd *, bfd *); - bfd * (*openr_next_archived_file) (bfd *, bfd *); -#define bfd_get_elt_at_index(b,i) \ - BFD_SEND (b, _bfd_get_elt_at_index, (b,i)) - bfd * (*_bfd_get_elt_at_index) (bfd *, symindex); - int (*_bfd_stat_arch_elt) (bfd *, struct stat *); - bfd_boolean (*_bfd_update_armap_timestamp) (bfd *); - - /* Entry points used for symbols. */ -#define BFD_JUMP_TABLE_SYMBOLS(NAME) \ - NAME##_get_symtab_upper_bound, \ - NAME##_canonicalize_symtab, \ - NAME##_make_empty_symbol, \ - NAME##_print_symbol, \ - NAME##_get_symbol_info, \ - NAME##_get_symbol_version_string, \ - NAME##_bfd_is_local_label_name, \ - NAME##_bfd_is_target_special_symbol, \ - NAME##_get_lineno, \ - NAME##_find_nearest_line, \ - NAME##_find_line, \ - NAME##_find_inliner_info, \ - NAME##_bfd_make_debug_symbol, \ - NAME##_read_minisymbols, \ - NAME##_minisymbol_to_symbol - - long (*_bfd_get_symtab_upper_bound) (bfd *); - long (*_bfd_canonicalize_symtab) (bfd *, struct bfd_symbol **); - struct bfd_symbol * - (*_bfd_make_empty_symbol) (bfd *); - void (*_bfd_print_symbol) (bfd *, void *, struct bfd_symbol *, - bfd_print_symbol_type); -#define bfd_print_symbol(b,p,s,e) \ - BFD_SEND (b, _bfd_print_symbol, (b,p,s,e)) - void (*_bfd_get_symbol_info) (bfd *, struct bfd_symbol *, - symbol_info *); -#define bfd_get_symbol_info(b,p,e) \ - BFD_SEND (b, _bfd_get_symbol_info, (b,p,e)) - const char *(*_bfd_get_symbol_version_string) (bfd *, struct bfd_symbol *, - bfd_boolean *); -#define bfd_get_symbol_version_string(b,s,h) \ - BFD_SEND (b, _bfd_get_symbol_version_string, (b,s,h)) - bfd_boolean (*_bfd_is_local_label_name) (bfd *, const char *); - bfd_boolean (*_bfd_is_target_special_symbol) (bfd *, asymbol *); - alent * (*_get_lineno) (bfd *, struct bfd_symbol *); - bfd_boolean (*_bfd_find_nearest_line) (bfd *, struct bfd_symbol **, - struct bfd_section *, bfd_vma, - const char **, const char **, - unsigned int *, unsigned int *); - bfd_boolean (*_bfd_find_line) (bfd *, struct bfd_symbol **, - struct bfd_symbol *, const char **, - unsigned int *); - bfd_boolean (*_bfd_find_inliner_info) - (bfd *, const char **, const char **, unsigned int *); - /* Back-door to allow format-aware applications to create debug symbols - while using BFD for everything else. Currently used by the assembler - when creating COFF files. */ - asymbol * (*_bfd_make_debug_symbol) (bfd *, void *, unsigned long size); -#define bfd_read_minisymbols(b, d, m, s) \ - BFD_SEND (b, _read_minisymbols, (b, d, m, s)) - long (*_read_minisymbols) (bfd *, bfd_boolean, void **, - unsigned int *); -#define bfd_minisymbol_to_symbol(b, d, m, f) \ - BFD_SEND (b, _minisymbol_to_symbol, (b, d, m, f)) - asymbol * (*_minisymbol_to_symbol) (bfd *, bfd_boolean, const void *, - asymbol *); - - /* Routines for relocs. */ -#define BFD_JUMP_TABLE_RELOCS(NAME) \ - NAME##_get_reloc_upper_bound, \ - NAME##_canonicalize_reloc, \ - NAME##_set_reloc, \ - NAME##_bfd_reloc_type_lookup, \ - NAME##_bfd_reloc_name_lookup - - long (*_get_reloc_upper_bound) (bfd *, sec_ptr); - long (*_bfd_canonicalize_reloc) (bfd *, sec_ptr, arelent **, - struct bfd_symbol **); - void (*_bfd_set_reloc) (bfd *, sec_ptr, arelent **, unsigned int); - /* See documentation on reloc types. */ - reloc_howto_type * - (*reloc_type_lookup) (bfd *, bfd_reloc_code_real_type); - reloc_howto_type * - (*reloc_name_lookup) (bfd *, const char *); - - /* Routines used when writing an object file. */ -#define BFD_JUMP_TABLE_WRITE(NAME) \ - NAME##_set_arch_mach, \ - NAME##_set_section_contents - - bfd_boolean (*_bfd_set_arch_mach) (bfd *, enum bfd_architecture, - unsigned long); - bfd_boolean (*_bfd_set_section_contents) (bfd *, sec_ptr, const void *, - file_ptr, bfd_size_type); - - /* Routines used by the linker. */ -#define BFD_JUMP_TABLE_LINK(NAME) \ - NAME##_sizeof_headers, \ - NAME##_bfd_get_relocated_section_contents, \ - NAME##_bfd_relax_section, \ - NAME##_bfd_link_hash_table_create, \ - NAME##_bfd_link_add_symbols, \ - NAME##_bfd_link_just_syms, \ - NAME##_bfd_copy_link_hash_symbol_type, \ - NAME##_bfd_final_link, \ - NAME##_bfd_link_split_section, \ - NAME##_bfd_link_check_relocs, \ - NAME##_bfd_gc_sections, \ - NAME##_bfd_lookup_section_flags, \ - NAME##_bfd_merge_sections, \ - NAME##_bfd_is_group_section, \ - NAME##_bfd_discard_group, \ - NAME##_section_already_linked, \ - NAME##_bfd_define_common_symbol, \ - NAME##_bfd_define_start_stop - - int (*_bfd_sizeof_headers) (bfd *, struct bfd_link_info *); - bfd_byte * (*_bfd_get_relocated_section_contents) (bfd *, - struct bfd_link_info *, - struct bfd_link_order *, - bfd_byte *, bfd_boolean, - struct bfd_symbol **); - - bfd_boolean (*_bfd_relax_section) (bfd *, struct bfd_section *, - struct bfd_link_info *, bfd_boolean *); - - /* Create a hash table for the linker. Different backends store - different information in this table. */ - struct bfd_link_hash_table * - (*_bfd_link_hash_table_create) (bfd *); - - /* Add symbols from this object file into the hash table. */ - bfd_boolean (*_bfd_link_add_symbols) (bfd *, struct bfd_link_info *); - - /* Indicate that we are only retrieving symbol values from this section. */ - void (*_bfd_link_just_syms) (asection *, struct bfd_link_info *); - - /* Copy the symbol type and other attributes for a linker script - assignment of one symbol to another. */ -#define bfd_copy_link_hash_symbol_type(b, t, f) \ - BFD_SEND (b, _bfd_copy_link_hash_symbol_type, (b, t, f)) - void (*_bfd_copy_link_hash_symbol_type) (bfd *, - struct bfd_link_hash_entry *, - struct bfd_link_hash_entry *); - - /* Do a link based on the link_order structures attached to each - section of the BFD. */ - bfd_boolean (*_bfd_final_link) (bfd *, struct bfd_link_info *); - - /* Should this section be split up into smaller pieces during linking. */ - bfd_boolean (*_bfd_link_split_section) (bfd *, struct bfd_section *); - - /* Check the relocations in the bfd for validity. */ - bfd_boolean (* _bfd_link_check_relocs)(bfd *, struct bfd_link_info *); - - /* Remove sections that are not referenced from the output. */ - bfd_boolean (*_bfd_gc_sections) (bfd *, struct bfd_link_info *); - - /* Sets the bitmask of allowed and disallowed section flags. */ - bfd_boolean (*_bfd_lookup_section_flags) (struct bfd_link_info *, - struct flag_info *, asection *); - - /* Attempt to merge SEC_MERGE sections. */ - bfd_boolean (*_bfd_merge_sections) (bfd *, struct bfd_link_info *); - - /* Is this section a member of a group? */ - bfd_boolean (*_bfd_is_group_section) (bfd *, const struct bfd_section *); - - /* Discard members of a group. */ - bfd_boolean (*_bfd_discard_group) (bfd *, struct bfd_section *); - - /* Check if SEC has been already linked during a reloceatable or - final link. */ - bfd_boolean (*_section_already_linked) (bfd *, asection *, - struct bfd_link_info *); - - /* Define a common symbol. */ - bfd_boolean (*_bfd_define_common_symbol) (bfd *, struct bfd_link_info *, - struct bfd_link_hash_entry *); - - /* Define a __start, __stop, .startof. or .sizeof. symbol. */ - struct bfd_link_hash_entry * - (*_bfd_define_start_stop) (struct bfd_link_info *, const char *, - asection *); - - /* Routines to handle dynamic symbols and relocs. */ -#define BFD_JUMP_TABLE_DYNAMIC(NAME) \ - NAME##_get_dynamic_symtab_upper_bound, \ - NAME##_canonicalize_dynamic_symtab, \ - NAME##_get_synthetic_symtab, \ - NAME##_get_dynamic_reloc_upper_bound, \ - NAME##_canonicalize_dynamic_reloc - - /* Get the amount of memory required to hold the dynamic symbols. */ - long (*_bfd_get_dynamic_symtab_upper_bound) (bfd *); - /* Read in the dynamic symbols. */ - long (*_bfd_canonicalize_dynamic_symtab) (bfd *, struct bfd_symbol **); - /* Create synthetized symbols. */ - long (*_bfd_get_synthetic_symtab) (bfd *, long, struct bfd_symbol **, - long, struct bfd_symbol **, - struct bfd_symbol **); - /* Get the amount of memory required to hold the dynamic relocs. */ - long (*_bfd_get_dynamic_reloc_upper_bound) (bfd *); - /* Read in the dynamic relocs. */ - long (*_bfd_canonicalize_dynamic_reloc) (bfd *, arelent **, - struct bfd_symbol **); - - /* Opposite endian version of this target. */ - const struct bfd_target *alternative_target; - - /* Data for use by back-end routines, which isn't - generic enough to belong in this structure. */ - const void *backend_data; - -} bfd_target; - -bfd_boolean bfd_set_default_target (const char *name); - -const bfd_target *bfd_find_target (const char *target_name, bfd *abfd); - -const bfd_target *bfd_get_target_info (const char *target_name, - bfd *abfd, - bfd_boolean *is_bigendian, - int *underscoring, - const char **def_target_arch); -const char ** bfd_target_list (void); - -const bfd_target *bfd_iterate_over_targets - (int (*func) (const bfd_target *, void *), - void *data); - -const char *bfd_flavour_name (enum bfd_flavour flavour); - -/* Extracted from format.c. */ -bfd_boolean bfd_check_format (bfd *abfd, bfd_format format); - -bfd_boolean bfd_check_format_matches - (bfd *abfd, bfd_format format, char ***matching); - -bfd_boolean bfd_set_format (bfd *abfd, bfd_format format); - -const char *bfd_format_string (bfd_format format); - -/* Extracted from linker.c. */ -bfd_boolean bfd_link_split_section (bfd *abfd, asection *sec); - -#define bfd_link_split_section(abfd, sec) \ - BFD_SEND (abfd, _bfd_link_split_section, (abfd, sec)) - -bfd_boolean bfd_section_already_linked (bfd *abfd, - asection *sec, - struct bfd_link_info *info); - -#define bfd_section_already_linked(abfd, sec, info) \ - BFD_SEND (abfd, _section_already_linked, (abfd, sec, info)) - -bfd_boolean bfd_generic_define_common_symbol - (bfd *output_bfd, struct bfd_link_info *info, - struct bfd_link_hash_entry *h); - -#define bfd_define_common_symbol(output_bfd, info, h) \ - BFD_SEND (output_bfd, _bfd_define_common_symbol, (output_bfd, info, h)) - -struct bfd_link_hash_entry *bfd_generic_define_start_stop - (struct bfd_link_info *info, - const char *symbol, asection *sec); - -#define bfd_define_start_stop(output_bfd, info, symbol, sec) \ - BFD_SEND (output_bfd, _bfd_define_start_stop, (info, symbol, sec)) - -struct bfd_elf_version_tree * bfd_find_version_for_sym - (struct bfd_elf_version_tree *verdefs, - const char *sym_name, bfd_boolean *hide); - -bfd_boolean bfd_hide_sym_by_version - (struct bfd_elf_version_tree *verdefs, const char *sym_name); - -bfd_boolean bfd_link_check_relocs - (bfd *abfd, struct bfd_link_info *info); - -bfd_boolean _bfd_generic_link_check_relocs - (bfd *abfd, struct bfd_link_info *info); - -bfd_boolean bfd_merge_private_bfd_data - (bfd *ibfd, struct bfd_link_info *info); - -#define bfd_merge_private_bfd_data(ibfd, info) \ - BFD_SEND ((info)->output_bfd, _bfd_merge_private_bfd_data, \ - (ibfd, info)) -/* Extracted from simple.c. */ -bfd_byte *bfd_simple_get_relocated_section_contents - (bfd *abfd, asection *sec, bfd_byte *outbuf, asymbol **symbol_table); - -/* Extracted from compress.c. */ -bfd_boolean bfd_get_full_section_contents - (bfd *abfd, asection *section, bfd_byte **ptr); - -void bfd_cache_section_contents - (asection *sec, void *contents); - -bfd_boolean bfd_is_section_compressed_with_header - (bfd *abfd, asection *section, - int *compression_header_size_p, - bfd_size_type *uncompressed_size_p); - -bfd_boolean bfd_is_section_compressed - (bfd *abfd, asection *section); - -bfd_boolean bfd_init_section_decompress_status - (bfd *abfd, asection *section); - -bfd_boolean bfd_init_section_compress_status - (bfd *abfd, asection *section); - -bfd_boolean bfd_compress_section - (bfd *abfd, asection *section, bfd_byte *uncompressed_buffer); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/support/sdbinutils/bfd/bfd_stdint.h b/support/sdbinutils/bfd/bfd_stdint.h deleted file mode 100644 index 97cf897..0000000 --- a/support/sdbinutils/bfd/bfd_stdint.h +++ /dev/null @@ -1,47 +0,0 @@ -/* generated for gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0 */ - -#ifndef GCC_GENERATED_STDINT_H -#define GCC_GENERATED_STDINT_H 1 - -#include <sys/types.h> -#include <stdint.h> -/* glibc uses these symbols as guards to prevent redefinitions. */ -#ifdef __int8_t_defined -#define _INT8_T -#define _INT16_T -#define _INT32_T -#endif -#ifdef __uint32_t_defined -#define _UINT32_T -#endif - - -/* Some systems have guard macros to prevent redefinitions, define them. */ -#ifndef _INT8_T -#define _INT8_T -#endif -#ifndef _INT16_T -#define _INT16_T -#endif -#ifndef _INT32_T -#define _INT32_T -#endif -#ifndef _UINT8_T -#define _UINT8_T -#endif -#ifndef _UINT16_T -#define _UINT16_T -#endif -#ifndef _UINT32_T -#define _UINT32_T -#endif - -/* system headers have good uint64_t and int64_t */ -#ifndef _INT64_T -#define _INT64_T -#endif -#ifndef _UINT64_T -#define _UINT64_T -#endif - -#endif /* GCC_GENERATED_STDINT_H */ diff --git a/support/sdbinutils/bfd/bfdver.h b/support/sdbinutils/bfd/bfdver.h deleted file mode 100644 index dbe30ee..0000000 --- a/support/sdbinutils/bfd/bfdver.h +++ /dev/null @@ -1,22 +0,0 @@ -/* The date below is automatically updated every day by a bot. During - development, we include the date in the tools' version strings - (visible in 'ld -v' etc.) because people build binutils from a - variety of sources - git, tarballs, distro sources - and we want - something that can easily identify the source they used when they - report bugs. The bfd version plus date is usually good enough for - that purpose. - - During development, this date ends up in libbfd and libopcodes - sonames because people naturally expect shared libraries with the - same soname to have compatible ABIs. We could bump the bfd version - on every ABI change, but that's just another thing contributors and - maintainers would need to remember. Instead, it's much easier for - all if the soname contains the date. This is not perfect but is - good enough. - - In releases, the date is not included in either version strings or - sonames. */ -#define BFD_VERSION_DATE 20180127 -#define BFD_VERSION 230000000 -#define BFD_VERSION_STRING "(sdbinutils derived from GNU Binutils) " "2.30" -#define REPORT_BUGS_TO "<https://sourceforge.net/p/sdcc/bugs/>" diff --git a/support/sdbinutils/bfd/config.h b/support/sdbinutils/bfd/config.h deleted file mode 100644 index 4a63e14..0000000 --- a/support/sdbinutils/bfd/config.h +++ /dev/null @@ -1,401 +0,0 @@ -/* config.h. Generated from config.in by configure. */ -/* config.in. Generated from configure.ac by autoheader. */ - -/* Check that config.h is #included before system headers - (this works only for glibc, but that should be enough). */ -#if defined(__GLIBC__) && !defined(__FreeBSD_kernel__) && !defined(__CONFIG_H__) -# error config.h must be #included before system headers -#endif -#define __CONFIG_H__ 1 - -/* Name of host specific core header file to include in elf.c. */ -/* #undef CORE_HEADER */ - -/* Define to 1 if translation of program messages to the user's native - language is requested. */ -/* #undef ENABLE_NLS */ - -/* Define to 1 if you have the <alloca.h> header file. */ -#define HAVE_ALLOCA_H 1 - -/* Define to 1 if you have the declaration of `asprintf', and to 0 if you - don't. */ -#define HAVE_DECL_ASPRINTF 1 - -/* Define to 1 if you have the declaration of `basename', and to 0 if you - don't. */ -#define HAVE_DECL_BASENAME 1 - -/* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */ -#define HAVE_DECL_FFS 1 - -/* Define to 1 if you have the declaration of `free', and to 0 if you don't. - */ -#define HAVE_DECL_FREE 1 - -/* Define to 1 if you have the declaration of `fseeko', and to 0 if you don't. - */ -#define HAVE_DECL_FSEEKO 1 - -/* Define to 1 if you have the declaration of `fseeko64', and to 0 if you - don't. */ -#define HAVE_DECL_FSEEKO64 1 - -/* Define to 1 if you have the declaration of `ftello', and to 0 if you don't. - */ -#define HAVE_DECL_FTELLO 1 - -/* Define to 1 if you have the declaration of `ftello64', and to 0 if you - don't. */ -#define HAVE_DECL_FTELLO64 1 - -/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. - */ -#define HAVE_DECL_GETENV 1 - -/* Define to 1 if you have the declaration of `malloc', and to 0 if you don't. - */ -#define HAVE_DECL_MALLOC 1 - -/* Define to 1 if you have the declaration of `realloc', and to 0 if you - don't. */ -#define HAVE_DECL_REALLOC 1 - -/* Define to 1 if you have the declaration of `snprintf', and to 0 if you - don't. */ -#define HAVE_DECL_SNPRINTF 1 - -/* Define to 1 if you have the declaration of `stpcpy', and to 0 if you don't. - */ -#define HAVE_DECL_STPCPY 1 - -/* Define to 1 if you have the declaration of `strnlen', and to 0 if you - don't. */ -#define HAVE_DECL_STRNLEN 1 - -/* Define to 1 if you have the declaration of `strstr', and to 0 if you don't. - */ -#define HAVE_DECL_STRSTR 1 - -/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you - don't. */ -#define HAVE_DECL_VASPRINTF 1 - -/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you - don't. */ -#define HAVE_DECL_VSNPRINTF 1 - -/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'. - */ -#define HAVE_DIRENT_H 1 - -/* Define to 1 if you have the <dlfcn.h> header file. */ -#define HAVE_DLFCN_H 1 - -/* Define to 1 if you have the `fcntl' function. */ -#define HAVE_FCNTL 1 - -/* Define to 1 if you have the <fcntl.h> header file. */ -#define HAVE_FCNTL_H 1 - -/* Define to 1 if you have the `fdopen' function. */ -#define HAVE_FDOPEN 1 - -/* Define to 1 if you have the `fileno' function. */ -#define HAVE_FILENO 1 - -/* Define to 1 if you have the `fopen64' function. */ -#define HAVE_FOPEN64 1 - -/* Define to 1 if you have the `fseeko' function. */ -#define HAVE_FSEEKO 1 - -/* Define to 1 if you have the `fseeko64' function. */ -#define HAVE_FSEEKO64 1 - -/* Define to 1 if you have the `ftello' function. */ -#define HAVE_FTELLO 1 - -/* Define to 1 if you have the `ftello64' function. */ -#define HAVE_FTELLO64 1 - -/* Define to 1 if you have the `getgid' function. */ -#define HAVE_GETGID 1 - -/* Define to 1 if you have the `getpagesize' function. */ -#define HAVE_GETPAGESIZE 1 - -/* Define to 1 if you have the `getrlimit' function. */ -#define HAVE_GETRLIMIT 1 - -/* Define to 1 if you have the `getuid' function. */ -#define HAVE_GETUID 1 - -/* Define to 1 if you have the <inttypes.h> header file. */ -#define HAVE_INTTYPES_H 1 - -/* Define to 1 if the system has the type `long double'. */ -#define HAVE_LONG_DOUBLE 1 - -/* Define to 1 if the system has the type `long long'. */ -#define HAVE_LONG_LONG 1 - -/* Define if <sys/procfs.h> has lwpstatus_t. */ -/* #undef HAVE_LWPSTATUS_T */ - -/* Define if <sys/procfs.h> has lwpstatus_t.pr_context. */ -/* #undef HAVE_LWPSTATUS_T_PR_CONTEXT */ - -/* Define if <sys/procfs.h> has lwpstatus_t.pr_fpreg. */ -/* #undef HAVE_LWPSTATUS_T_PR_FPREG */ - -/* Define if <sys/procfs.h> has lwpstatus_t.pr_reg. */ -/* #undef HAVE_LWPSTATUS_T_PR_REG */ - -/* Define if <sys/procfs.h> has lwpxstatus_t. */ -/* #undef HAVE_LWPXSTATUS_T */ - -/* Define to 1 if you have the `madvise' function. */ -#define HAVE_MADVISE 1 - -/* Define to 1 if you have the <memory.h> header file. */ -#define HAVE_MEMORY_H 1 - -/* Define to 1 if you have a working `mmap' system call. */ -#define HAVE_MMAP 1 - -/* Define to 1 if you have the `mprotect' function. */ -#define HAVE_MPROTECT 1 - -/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */ -/* #undef HAVE_NDIR_H */ - -/* Define if <sys/procfs.h> has prpsinfo32_t. */ -/* #undef HAVE_PRPSINFO32_T */ - -/* Define if <sys/procfs.h> has prpsinfo32_t.pr_pid. */ -/* #undef HAVE_PRPSINFO32_T_PR_PID */ - -/* Define if <sys/procfs.h> has prpsinfo_t. */ -/* #undef HAVE_PRPSINFO_T */ - -/* Define if <sys/procfs.h> has prpsinfo_t.pr_pid. */ -/* #undef HAVE_PRPSINFO_T_PR_PID */ - -/* Define if <sys/procfs.h> has prstatus32_t. */ -/* #undef HAVE_PRSTATUS32_T */ - -/* Define if <sys/procfs.h> has prstatus32_t.pr_who. */ -/* #undef HAVE_PRSTATUS32_T_PR_WHO */ - -/* Define if <sys/procfs.h> has prstatus_t. */ -/* #undef HAVE_PRSTATUS_T */ - -/* Define if <sys/procfs.h> has prstatus_t.pr_who. */ -/* #undef HAVE_PRSTATUS_T_PR_WHO */ - -/* Define if <sys/procfs.h> has psinfo32_t. */ -/* #undef HAVE_PSINFO32_T */ - -/* Define if <sys/procfs.h> has psinfo32_t.pr_pid. */ -/* #undef HAVE_PSINFO32_T_PR_PID */ - -/* Define if <sys/procfs.h> has psinfo_t. */ -/* #undef HAVE_PSINFO_T */ - -/* Define if <sys/procfs.h> has psinfo_t.pr_pid. */ -/* #undef HAVE_PSINFO_T_PR_PID */ - -/* Define if <sys/procfs.h> has pstatus32_t. */ -/* #undef HAVE_PSTATUS32_T */ - -/* Define if <sys/procfs.h> has pstatus_t. */ -/* #undef HAVE_PSTATUS_T */ - -/* Define if <sys/procfs.h> has pxstatus_t. */ -/* #undef HAVE_PXSTATUS_T */ - -/* Define to 1 if you have the `setitimer' function. */ -#define HAVE_SETITIMER 1 - -/* Define to 1 if you have the <stddef.h> header file. */ -#define HAVE_STDDEF_H 1 - -/* Define to 1 if you have the <stdint.h> header file. */ -#define HAVE_STDINT_H 1 - -/* Define to 1 if you have the <stdlib.h> header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the <strings.h> header file. */ -#define HAVE_STRINGS_H 1 - -/* Define to 1 if you have the <string.h> header file. */ -#define HAVE_STRING_H 1 - -/* Define to 1 if you have the `strtoull' function. */ -#define HAVE_STRTOULL 1 - -/* Define if struct core_dumpx has member c_impl */ -/* #undef HAVE_ST_C_IMPL */ - -/* Define to 1 if you have the `sysconf' function. */ -#define HAVE_SYSCONF 1 - -/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'. - */ -/* #undef HAVE_SYS_DIR_H */ - -/* Define to 1 if you have the <sys/file.h> header file. */ -#define HAVE_SYS_FILE_H 1 - -/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'. - */ -/* #undef HAVE_SYS_NDIR_H */ - -/* Define to 1 if you have the <sys/procfs.h> header file. */ -/* #undef HAVE_SYS_PROCFS_H */ - -/* Define to 1 if you have the <sys/resource.h> header file. */ -#define HAVE_SYS_RESOURCE_H 1 - -/* Define to 1 if you have the <sys/stat.h> header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the <sys/time.h> header file. */ -#define HAVE_SYS_TIME_H 1 - -/* Define to 1 if you have the <sys/types.h> header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the <time.h> header file. */ -#define HAVE_TIME_H 1 - -/* Define to 1 if you have the <unistd.h> header file. */ -#define HAVE_UNISTD_H 1 - -/* Define to 1 if you have the <wchar.h> header file. */ -#define HAVE_WCHAR_H 1 - -/* Define to 1 if you have the <wctype.h> header file. */ -#define HAVE_WCTYPE_H 1 - -/* Define if <sys/procfs.h> has win32_pstatus_t. */ -/* #undef HAVE_WIN32_PSTATUS_T */ - -/* Define to 1 if you have the <windows.h> header file. */ -/* #undef HAVE_WINDOWS_H */ - -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ -#define LT_OBJDIR ".libs/" - -/* Name of package */ -#define PACKAGE "bfd" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "bfd" - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "bfd 2.30" - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "bfd" - -/* Define to the home page for this package. */ -#define PACKAGE_URL "" - -/* Define to the version of this package. */ -#define PACKAGE_VERSION "2.30" - -/* The size of `char', as computed by sizeof. */ -/* #undef SIZEOF_CHAR */ - -/* The size of `int', as computed by sizeof. */ -/* #undef SIZEOF_INT */ - -/* The size of `long', as computed by sizeof. */ -#define SIZEOF_LONG 8 - -/* The size of `long long', as computed by sizeof. */ -#define SIZEOF_LONG_LONG 8 - -/* The size of `off_t', as computed by sizeof. */ -#define SIZEOF_OFF_T 8 - -/* The size of `short', as computed by sizeof. */ -/* #undef SIZEOF_SHORT */ - -/* The size of `void *', as computed by sizeof. */ -#define SIZEOF_VOID_P 8 - -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Define if you can safely include both <string.h> and <strings.h>. */ -#define STRING_WITH_STRINGS 1 - -/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ -#define TIME_WITH_SYS_TIME 1 - -/* Name of host specific header file to include in trad-core.c. */ -/* #undef TRAD_HEADER */ - -/* Define if 64-bit archives should always be used. */ -/* #undef USE_64_BIT_ARCHIVE */ - -/* Use b modifier when opening binary files? */ -/* #undef USE_BINARY_FOPEN */ - -/* Define if we should use leading underscore on 64 bit mingw targets */ -/* #undef USE_MINGW64_LEADING_UNDERSCORES */ - -/* Use mmap if it's available? */ -/* #undef USE_MMAP */ - -/* Define if we should default to creating read-only plt entries */ -#define USE_SECUREPLT 1 - -/* Enable extensions on AIX 3, Interix. */ -#ifndef _ALL_SOURCE -# define _ALL_SOURCE 1 -#endif -/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -#endif -/* Enable threading extensions on Solaris. */ -#ifndef _POSIX_PTHREAD_SEMANTICS -# define _POSIX_PTHREAD_SEMANTICS 1 -#endif -/* Enable extensions on HP NonStop. */ -#ifndef _TANDEM_SOURCE -# define _TANDEM_SOURCE 1 -#endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# define __EXTENSIONS__ 1 -#endif - - -/* Version number of package */ -#define VERSION "2.30" - -/* Number of bits in a file offset, on hosts where this is settable. */ -/* #undef _FILE_OFFSET_BITS */ - -/* Define for large files, on AIX-style hosts. */ -/* #undef _LARGE_FILES */ - -/* Define to 1 if on MINIX. */ -/* #undef _MINIX */ - -/* Define to 2 if the system does not provide POSIX.1 features except with - this defined. */ -/* #undef _POSIX_1_SOURCE */ - -/* Define to 1 if you need to in order for `stat' and other things to work. */ -/* #undef _POSIX_SOURCE */ diff --git a/support/sdbinutils/bfd/doc/Makefile b/support/sdbinutils/bfd/doc/Makefile deleted file mode 100644 index bfb352a..0000000 --- a/support/sdbinutils/bfd/doc/Makefile +++ /dev/null @@ -1,1066 +0,0 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. -# doc/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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. - -# 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. - - - -# -# Copyright (C) 2012-2018 Free Software Foundation, Inc. -# -# This file 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 3 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; see the file COPYING3. If not see -# <http://www.gnu.org/licenses/>. -# - -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } -pkgdatadir = $(datadir)/bfd -pkgincludedir = $(includedir)/bfd -pkglibdir = $(libdir)/bfd -pkglibexecdir = $(libexecdir)/bfd -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -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 = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -target_triplet = asxxxx-unknown-unknown - -# Automake 1.9 will only build info files in the objdir if they are -# mentioned in DISTCLEANFILES. It doesn't have to be unconditional, -# though, so we use a bogus condition. -#am__append_1 = bfd.info -subdir = doc -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(bfd_TEXINFOS) -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \ - $(top_srcdir)/../config/depstand.m4 \ - $(top_srcdir)/../config/gettext-sister.m4 \ - $(top_srcdir)/../config/largefile.m4 \ - $(top_srcdir)/../config/lead-dot.m4 \ - $(top_srcdir)/../config/nls.m4 \ - $(top_srcdir)/../config/override.m4 \ - $(top_srcdir)/../config/plugins.m4 \ - $(top_srcdir)/../config/po.m4 \ - $(top_srcdir)/../config/progtest.m4 \ - $(top_srcdir)/../config/stdint.m4 \ - $(top_srcdir)/../config/zlib.m4 $(top_srcdir)/../libtool.m4 \ - $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ - $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ - $(top_srcdir)/bfd.m4 $(top_srcdir)/warning.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/version.m4 \ - $(top_srcdir)/configure.ac -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 = -CONFIG_CLEAN_VPATH_FILES = -depcomp = -am__depfiles_maybe = -SOURCES = -INFO_DEPS = 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 -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -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 = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -ACLOCAL = ${SHELL} /home/xavier/sdcc_gas/support/sdbinutils/missing --run aclocal-1.11 -AMTAR = $${TAR-tar} -AR = ar -AUTOCONF = ${SHELL} /home/xavier/sdcc_gas/support/sdbinutils/missing --run autoconf -AUTOHEADER = ${SHELL} /home/xavier/sdcc_gas/support/sdbinutils/missing --run autoheader -AUTOMAKE = ${SHELL} /home/xavier/sdcc_gas/support/sdbinutils/missing --run automake-1.11 -AWK = gawk -BFD_HOSTPTR_T = unsigned long -BFD_HOST_64BIT_LONG = 1 -BFD_HOST_64BIT_LONG_LONG = 0 -BFD_HOST_64_BIT = long -BFD_HOST_64_BIT_DEFINED = 1 -BFD_HOST_U_64_BIT = unsigned long -CATALOGS = -CATOBJEXT = -CC = gcc -CCDEPMODE = depmode=gcc3 -CC_FOR_BUILD = gcc -CFLAGS = -g -O2 -COREFILE = -COREFLAG = -CPP = gcc -E -CPPFLAGS = -CYGPATH_W = echo -DATADIRNAME = -DEBUGDIR = ${exec_prefix}/lib/debug -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -EXEEXT_FOR_BUILD = $(EXEEXT) -FGREP = /bin/grep -F -GENCAT = -GMSGFMT = /usr/bin/msgfmt -GREP = /bin/grep -HDEFINES = -INCINTL = -INSTALL = /usr/bin/install -c -INSTALL_DATA = /usr/bin/install -c -m 644 -INSTALL_PROGRAM = /usr/bin/install -c -INSTALL_SCRIPT = /usr/bin/install -c -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -INSTOBJEXT = -LD = ld -m elf_x86_64 -LDFLAGS = -static-libstdc++ -static-libgcc -LIBINTL = -LIBINTL_DEP = -LIBM = -lm -LIBOBJS = -LIBS = -ldl -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -MAINT = # -MAKEINFO = makeinfo --split-size=5000000 -MKDIR_P = /bin/mkdir -p -MKINSTALLDIRS = $(top_builddir)/./../mkinstalldirs -MSGFMT = /usr/bin/msgfmt -MSGMERGE = /usr/bin/msgmerge -NM = nm -NMEDIT = -NO_WERROR = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = bfd -PACKAGE_BUGREPORT = -PACKAGE_NAME = bfd -PACKAGE_STRING = bfd 2.30 -PACKAGE_TARNAME = bfd -PACKAGE_URL = -PACKAGE_VERSION = 2.30 -PATH_SEPARATOR = : -PKGVERSION = (sdbinutils derived from GNU Binutils) -POSUB = -RANLIB = ranlib -REPORT_BUGS_TEXI = @uref{https://sourceforge.net/p/sdcc/bugs/} -REPORT_BUGS_TO = <https://sourceforge.net/p/sdcc/bugs/> -SED = /bin/sed -SET_MAKE = -SHARED_LDFLAGS = -SHARED_LIBADD = -SHELL = /bin/bash -STRIP = strip -TDEFINES = -USE_NLS = yes -VERSION = 2.30 -WARN_CFLAGS = -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wstack-usage=262144 -WARN_CFLAGS_FOR_BUILD = -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wstack-usage=262144 -WARN_WRITE_STRINGS = -Wwrite-strings -XGETTEXT = /usr/bin/xgettext -abs_builddir = /home/xavier/sdcc_gas/support/sdbinutils/bfd/doc -abs_srcdir = /home/xavier/sdcc_gas/support/sdbinutils/bfd/doc -abs_top_builddir = /home/xavier/sdcc_gas/support/sdbinutils/bfd -abs_top_srcdir = /home/xavier/sdcc_gas/support/sdbinutils/bfd -ac_ct_CC = -ac_ct_DUMPBIN = -all_backends = $(BFD32_BACKENDS) -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bfd64_libs = -bfd_backends = asxxxx.lo plugin.lo -bfd_default_target_size = 32 -bfd_file_ptr = BFD_HOST_64_BIT -bfd_machines = cpu-z80.lo cpu-plugin.lo -bfd_ufile_ptr = BFD_HOST_U_64_BIT -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = x86_64-pc-linux-gnu -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -havevecs = -DHAVE_asxxxx_vec -DHAVE_plugin_vec -host = x86_64-pc-linux-gnu -host_alias = x86_64-pc-linux-gnu -host_cpu = x86_64 -host_noncanonical = x86_64-pc-linux-gnu -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/xavier/sdcc_gas/support/sdbinutils/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -lt_cv_dlopen_libs = -ldl -mandir = ${datarootdir}/man -mkdir_p = /bin/mkdir -p -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,y,y, -psdir = ${docdir} -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -supports_plugins = 1 -sysconfdir = ${prefix}/etc -target = asxxxx-unknown-unknown -target_alias = x86_64-pc-linux-gnu -target_cpu = x86_64 -target_noncanonical = x86_64-pc-linux-gnu -target_os = linux-gnu -target_vendor = pc -tdefaults = -DDEFAULT_VECTOR=asxxxx_vec -DSELECT_VECS='&asxxxx_vec,&plugin_vec' -DSELECT_ARCHITECTURES='&bfd_z80_arch,&bfd_plugin_arch' -top_build_prefix = ../ -top_builddir = .. -top_srcdir = .. -wordsize = 32 -zlibdir = -zlibinc = -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 \ - bfdver.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 - -TEXIDIR = $(srcdir)/../../texinfo/fsf -info_TEXINFOS = bfd.texinfo -bfd_TEXINFOS = $(DOCFILES) bfdsumm.texi -MKDOC = chew$(EXEEXT_FOR_BUILD) -AM_CPPFLAGS = -I.. -I$(srcdir)/.. -I$(srcdir)/../../include \ - -I$(srcdir)/../../intl -I../../intl - -LIBBFD_H_DEP = \ - $(srcdir)/../libbfd-in.h \ - $(srcdir)/../libbfd.c \ - $(srcdir)/../bfdio.c \ - $(srcdir)/../bfdwin.c \ - $(srcdir)/../cache.c \ - $(srcdir)/../reloc.c \ - $(srcdir)/../archures.c \ - $(srcdir)/../linker.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)/../compress.c \ - $(srcdir)/header.sed \ - $(srcdir)/proto.str \ - $(srcdir)/../version.h \ - $(MKDOC) - -noinst_TEXINFOS = bfdint.texi -MOSTLYCLEANFILES = $(MKDOC) *.o *.stamp -CLEANFILES = *.p *.ip -DISTCLEANFILES = bfd.?? bfd.??? bfd.h libbfd.h libcoff.h texput.log \ - $(am__append_1) -MAINTAINERCLEANFILES = $(DOCFILES) bfd.info -all: all-am - -.SUFFIXES: -.SUFFIXES: .dvi .ps -$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign 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: # $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): # $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -bfd.info: bfd.texinfo $(bfd_TEXINFOS) - restore=: && backupdir="$(am__leading_dot)am$$$$" && \ - rm -rf $$backupdir && mkdir $$backupdir && \ - if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ - 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; \ - else :; fi && \ - if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ - -o $@ `test -f 'bfd.texinfo' || echo '$(srcdir)/'`bfd.texinfo; \ - then \ - rc=0; \ - else \ - rc=$$?; \ - $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \ - fi; \ - rm -rf $$backupdir; exit $$rc - -bfd.dvi: bfd.texinfo $(bfd_TEXINFOS) - TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ - MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ - $(TEXI2DVI) -o $@ `test -f 'bfd.texinfo' || echo '$(srcdir)/'`bfd.texinfo - -bfd.pdf: bfd.texinfo $(bfd_TEXINFOS) - TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ - MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ - $(TEXI2PDF) -o $@ `test -f 'bfd.texinfo' || echo '$(srcdir)/'`bfd.texinfo - -bfd.html: bfd.texinfo $(bfd_TEXINFOS) - rm -rf $(@:.html=.htp) - if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ - -o $(@:.html=.htp) `test -f 'bfd.texinfo' || echo '$(srcdir)/'`bfd.texinfo; \ - 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 -.dvi.ps: - TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ - $(DVIPS) -o $@ $< - -uninstall-dvi-am: - @$(NORMAL_UNINSTALL) - @list='$(DVIS)'; test -n "$(dvidir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \ - rm -f "$(DESTDIR)$(dvidir)/$$f"; \ - done - -uninstall-html-am: - @$(NORMAL_UNINSTALL) - @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \ - rm -rf "$(DESTDIR)$(htmldir)/$$f"; \ - done - -uninstall-info-am: - @$(PRE_UNINSTALL) - @if test -d '$(DESTDIR)$(infodir)' && $(am__can_run_installinfo); then \ - list='$(INFO_DEPS)'; \ - for file in $$list; do \ - relfile=`echo "$$file" | sed 's|^.*/||'`; \ - echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \ - if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \ - then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \ - done; \ - else :; fi - @$(NORMAL_UNINSTALL) - @list='$(INFO_DEPS)'; \ - for file in $$list; do \ - relfile=`echo "$$file" | sed 's|^.*/||'`; \ - relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \ - (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \ - echo " cd '$(DESTDIR)$(infodir)' && 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 - -uninstall-pdf-am: - @$(NORMAL_UNINSTALL) - @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \ - rm -f "$(DESTDIR)$(pdfdir)/$$f"; \ - done - -uninstall-ps-am: - @$(NORMAL_UNINSTALL) - @list='$(PSS)'; test -n "$(psdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \ - rm -f "$(DESTDIR)$(psdir)/$$f"; \ - 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; \ - base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \ - for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \ - if test -f $$file; then \ - relfile=`expr "$$file" : "$$d/\(.*\)"`; \ - test -f "$(distdir)/$$relfile" || \ - cp -p $$file "$(distdir)/$$relfile"; \ - else :; fi; \ - done; \ - done - -mostlyclean-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 - -clean-aminfo: - -test -z "bfd.dvi bfd.pdf bfd.ps bfd.html" \ - || rm -rf bfd.dvi bfd.pdf bfd.ps bfd.html - -maintainer-clean-aminfo: - @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 clean-aminfo -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - -check-am: -check: check-am -all-am: Makefile -installdirs: -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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) -clean: clean-am - -clean-am: clean-aminfo clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: $(DVIS) - -html: html-am - -html-am: $(HTMLS) - -info: info-am - -info-am: $(INFO_DEPS) - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: $(DVIS) - @$(NORMAL_INSTALL) - @list='$(DVIS)'; test -n "$(dvidir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(dvidir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(dvidir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \ - done -install-exec-am: - -install-html: install-html-am - -install-html-am: $(HTMLS) - @$(NORMAL_INSTALL) - @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(htmldir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \ - $(am__strip_dir) \ - d2=$$d$$p; \ - if test -d "$$d2"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \ - $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \ - echo " $(INSTALL_DATA) '$$d2'/* '$(DESTDIR)$(htmldir)/$$f'"; \ - $(INSTALL_DATA) "$$d2"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \ - else \ - list2="$$list2 $$d2"; \ - fi; \ - done; \ - test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \ - done; } -install-info: install-info-am - -install-info-am: $(INFO_DEPS) - @$(NORMAL_INSTALL) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(infodir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(infodir)" || exit 1; \ - fi; \ - 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 \ - echo "$$ifile"; \ - else : ; fi; \ - done; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done - @$(POST_INSTALL) - @if $(am__can_run_installinfo); then \ - list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \ - 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: - -install-pdf: install-pdf-am - -install-pdf-am: $(PDFS) - @$(NORMAL_INSTALL) - @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(pdfdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(pdfdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done -install-ps: install-ps-am - -install-ps-am: $(PSS) - @$(NORMAL_INSTALL) - @list='$(PSS)'; test -n "$(psdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(psdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(psdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done -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 - -pdf-am: $(PDFS) - -ps: ps-am - -ps-am: $(PSS) - -uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \ - uninstall-pdf-am uninstall-ps-am - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-aminfo 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-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - 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-dvi-am uninstall-html-am \ - uninstall-info-am uninstall-pdf-am uninstall-ps-am - - -$(MKDOC): chew.stamp ; @true -chew.stamp: $(srcdir)/chew.c - $(CC_FOR_BUILD) -o chw$$$$$(EXEEXT_FOR_BUILD) $(CFLAGS_FOR_BUILD) \ - $(LDFLAGS_FOR_BUILD) $(H_CFLAGS) $(AM_CPPFLAGS) $(srcdir)/chew.c; \ - $(SHELL) $(srcdir)/../../move-if-change \ - chw$$$$$(EXEEXT_FOR_BUILD) $(MKDOC); \ - touch $@ - -protos: libbfd.h libcoff.h bfd.h - -# We can't replace these rules with an implicit rule, because -# makes without VPATH support couldn't find the .h files in `..'. - -# We do not depend on chew directly so that we can distribute the info -# files, and permit people to rebuild them, without requiring the makeinfo -# program. If somebody tries to rebuild info, but none of the .texi files -# have changed, then nothing will be rebuilt. - -aoutx.texi: aoutx.stamp ; @true -aoutx.stamp: $(srcdir)/../aoutx.h $(srcdir)/doc.str $(MKDOC) - ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../aoutx.h >aoutx.tmp - test -e aoutx.texi || test ! -f $(srcdir)/aoutx.texi || cp -p $(srcdir)/aoutx.texi . - $(SHELL) $(srcdir)/../../move-if-change aoutx.tmp aoutx.texi - touch $@ - -archive.texi: archive.stamp ; @true -archive.stamp: $(srcdir)/../archive.c $(srcdir)/doc.str $(MKDOC) - ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../archive.c >archive.tmp - test -e archive.texi || test ! -f $(srcdir)/archive.texi || cp -p $(srcdir)/archive.texi . - $(SHELL) $(srcdir)/../../move-if-change archive.tmp archive.texi - touch $@ - -archures.texi: archures.stamp ; @true -archures.stamp: $(srcdir)/../archures.c $(srcdir)/doc.str $(MKDOC) - ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../archures.c >archures.tmp - test -e archures.texi || test ! -f $(srcdir)/archures.texi || cp -p $(srcdir)/archures.texi . - $(SHELL) $(srcdir)/../../move-if-change archures.tmp archures.texi - touch $@ - -# We use bfdt.texi, rather than bfd.texi, to avoid conflicting with -# bfd.texinfo on an 8.3 filesystem. -bfdt.texi: bfdt.stamp ; @true -bfdt.stamp: $(srcdir)/../bfd.c $(srcdir)/doc.str $(MKDOC) - ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfd.c >bfd.tmp - test -e bfdt.texi || test ! -f $(srcdir)/bfdt.texi || cp -p $(srcdir)/bfdt.texi . - $(SHELL) $(srcdir)/../../move-if-change bfd.tmp bfdt.texi - touch $@ - -cache.texi: cache.stamp ; @true -cache.stamp: $(srcdir)/../cache.c $(srcdir)/doc.str $(MKDOC) - ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../cache.c >cache.tmp - test -e cache.texi || test ! -f $(srcdir)/cache.texi || cp -p $(srcdir)/cache.texi . - $(SHELL) $(srcdir)/../../move-if-change cache.tmp cache.texi - touch $@ - -coffcode.texi: coffcode.stamp ; @true -coffcode.stamp: $(srcdir)/../coffcode.h $(srcdir)/doc.str $(MKDOC) - ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../coffcode.h >coffcode.tmp - test -e coffcode.texi || test ! -f $(srcdir)/coffcode.texi || cp -p $(srcdir)/coffcode.texi . - $(SHELL) $(srcdir)/../../move-if-change coffcode.tmp coffcode.texi - touch $@ - -core.texi: core.stamp ; @true -core.stamp: $(srcdir)/../corefile.c $(srcdir)/doc.str $(MKDOC) - ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../corefile.c >core.tmp - test -e core.texi || test ! -f $(srcdir)/core.texi || cp -p $(srcdir)/core.texi . - $(SHELL) $(srcdir)/../../move-if-change core.tmp core.texi - touch $@ - -elf.texi: elf.stamp ; @true -elf.stamp: $(srcdir)/../elf.c $(srcdir)/doc.str $(MKDOC) - ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../elf.c >elf.tmp - test -e elf.texi || test ! -f $(srcdir)/elf.texi || cp -p $(srcdir)/elf.texi . - $(SHELL) $(srcdir)/../../move-if-change elf.tmp elf.texi - touch $@ - -elfcode.texi: elfcode.stamp ; @true -elfcode.stamp: $(srcdir)/../elfcode.h $(srcdir)/doc.str $(MKDOC) - ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../elfcode.h >elfcode.tmp - test -e elfcode.texi || test ! -f $(srcdir)/elfcode.texi || cp -p $(srcdir)/elfcode.texi . - $(SHELL) $(srcdir)/../../move-if-change elfcode.tmp elfcode.texi - touch $@ - -mmo.texi: mmo.stamp ; @true -mmo.stamp: $(srcdir)/../mmo.c $(srcdir)/doc.str $(MKDOC) - ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../mmo.c >mmo.tmp - test -e mmo.texi || test ! -f $(srcdir)/mmo.texi || cp -p $(srcdir)/mmo.texi . - $(SHELL) $(srcdir)/../../move-if-change mmo.tmp mmo.texi - touch $@ - -format.texi: format.stamp ; @true -format.stamp: $(srcdir)/../format.c $(srcdir)/doc.str $(MKDOC) - ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../format.c >format.tmp - test -e format.texi || test ! -f $(srcdir)/format.texi || cp -p $(srcdir)/format.texi . - $(SHELL) $(srcdir)/../../move-if-change format.tmp format.texi - touch $@ - -libbfd.texi: libbfd.stamp ; @true -libbfd.stamp: $(srcdir)/../libbfd.c $(srcdir)/doc.str $(MKDOC) - ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../libbfd.c >libbfd.tmp - test -e libbfd.texi || test ! -f $(srcdir)/libbfd.texi || cp -p $(srcdir)/libbfd.texi . - $(SHELL) $(srcdir)/../../move-if-change libbfd.tmp libbfd.texi - touch $@ - -bfdio.texi: bfdio.stamp ; @true -bfdio.stamp: $(srcdir)/../bfdio.c $(srcdir)/doc.str $(MKDOC) - ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfdio.c >bfdio.tmp - test -e bfdio.texi || test ! -f $(srcdir)/bfdio.texi || cp -p $(srcdir)/bfdio.texi . - $(SHELL) $(srcdir)/../../move-if-change bfdio.tmp bfdio.texi - touch $@ - -bfdwin.texi: bfdwin.stamp ; @true -bfdwin.stamp: $(srcdir)/../bfdwin.c $(srcdir)/doc.str $(MKDOC) - ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfdwin.c >bfdwin.tmp - test -e bfdwin.texi || test ! -f $(srcdir)/bfdwin.texi || cp -p $(srcdir)/bfdwin.texi . - $(SHELL) $(srcdir)/../../move-if-change bfdwin.tmp bfdwin.texi - touch $@ - -opncls.texi: opncls.stamp ; @true -opncls.stamp: $(srcdir)/../opncls.c $(srcdir)/doc.str $(MKDOC) - ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../opncls.c >opncls.tmp - test -e opncls.texi || test ! -f $(srcdir)/opncls.texi || cp -p $(srcdir)/opncls.texi . - $(SHELL) $(srcdir)/../../move-if-change opncls.tmp opncls.texi - touch $@ - -reloc.texi: reloc.stamp ; @true -reloc.stamp: $(srcdir)/../reloc.c $(srcdir)/doc.str $(MKDOC) - ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../reloc.c >reloc.tmp - test -e reloc.texi || test ! -f $(srcdir)/reloc.texi || cp -p $(srcdir)/reloc.texi . - $(SHELL) $(srcdir)/../../move-if-change reloc.tmp reloc.texi - touch $@ - -section.texi: section.stamp ; @true -section.stamp: $(srcdir)/../section.c $(srcdir)/doc.str $(MKDOC) - ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../section.c >section.tmp - test -e section.texi || test ! -f $(srcdir)/section.texi || cp -p $(srcdir)/section.texi . - $(SHELL) $(srcdir)/../../move-if-change section.tmp section.texi - touch $@ - -syms.texi: syms.stamp ; @true -syms.stamp: $(srcdir)/../syms.c $(srcdir)/doc.str $(MKDOC) - ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../syms.c >syms.tmp - test -e syms.texi || test ! -f $(srcdir)/syms.texi || cp -p $(srcdir)/syms.texi . - $(SHELL) $(srcdir)/../../move-if-change syms.tmp syms.texi - touch $@ - -targets.texi: targets.stamp ; @true -targets.stamp: $(srcdir)/../targets.c $(srcdir)/doc.str $(MKDOC) - ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../targets.c >targets.tmp - test -e targets.texi || test ! -f $(srcdir)/targets.texi || cp -p $(srcdir)/targets.texi . - $(SHELL) $(srcdir)/../../move-if-change targets.tmp targets.texi - touch $@ - -init.texi: init.stamp ; @true -init.stamp: $(srcdir)/../init.c $(srcdir)/doc.str $(MKDOC) - ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../init.c >init.tmp - test -e init.texi || test ! -f $(srcdir)/init.texi || cp -p $(srcdir)/init.texi . - $(SHELL) $(srcdir)/../../move-if-change init.tmp init.texi - touch $@ - -hash.texi: hash.stamp ; @true -hash.stamp: $(srcdir)/../hash.c $(srcdir)/doc.str $(MKDOC) - ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../hash.c >hash.tmp - test -e hash.texi || test ! -f $(srcdir)/hash.texi || cp -p $(srcdir)/hash.texi . - $(SHELL) $(srcdir)/../../move-if-change hash.tmp hash.texi - touch $@ - -linker.texi: linker.stamp ; @true -linker.stamp: $(srcdir)/../linker.c $(srcdir)/doc.str $(MKDOC) - ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../linker.c >linker.tmp - test -e linker.texi || test ! -f $(srcdir)/linker.texi || cp -p $(srcdir)/linker.texi . - $(SHELL) $(srcdir)/../../move-if-change linker.tmp linker.texi - touch $@ - -libbfd.h: $(LIBBFD_H_DEP) - echo "$(LIBBFD_H_DEP)" | sed -f $(srcdir)/header.sed > $@ - for file in $(LIBBFD_H_DEP); do \ - case $$file in \ - *-in.h) cat $$file >> $@ ;; \ - */header.sed) break ;; \ - *) echo $$file | sed -e 's,.*/,,' -e 's,^,/* Extracted from ,' \ - -e 's,$$,. */,' >> $@ ; \ - ./$(MKDOC) -i -f $(srcdir)/proto.str < $$file >> $@ ;; \ - esac; \ - done - echo "#ifdef __cplusplus" >> $@ - echo "}" >> $@ - echo "#endif" >> $@ - -libcoff.h: $(LIBCOFF_H_DEP) - echo "$(LIBCOFF_H_DEP)" | sed -f $(srcdir)/header.sed > $@ - for file in $(LIBCOFF_H_DEP); do \ - case $$file in \ - *-in.h) cat $$file >> $@ ;; \ - */header.sed) break ;; \ - *) echo $$file | sed -e 's,.*/,,' -e 's,^,/* Extracted from ,' \ - -e 's,$$,. */,' >> $@ ; \ - ./$(MKDOC) -i -f $(srcdir)/proto.str < $$file >> $@ ;; \ - esac; \ - done - echo "#ifdef __cplusplus" >> $@ - echo "}" >> $@ - echo "#endif" >> $@ - -bfd.h: $(BFD_H_DEP) - echo "$(BFD_H_DEP)" | sed -f $(srcdir)/header.sed > $@ - for file in $(BFD_H_DEP); do \ - case $$file in \ - *-in.h) cat $$file >> $@ ;; \ - */header.sed) break ;; \ - *) echo $$file | sed -e 's,.*/,,' -e 's,^,/* Extracted from ,' \ - -e 's,$$,. */,' >> $@ ; \ - ./$(MKDOC) -f $(srcdir)/proto.str < $$file >> $@ ;; \ - esac; \ - done - echo "#ifdef __cplusplus" >> $@ - echo "}" >> $@ - echo "#endif" >> $@ - echo "#endif" >> $@ - -bfdver.texi: $(srcdir)/Makefile.in - @echo "creating $@"; \ - echo "@set VERSION $(VERSION)" > bfdver.texi; \ - if test -n "$(PKGVERSION)"; then \ - echo "@set VERSION_PACKAGE $(PKGVERSION)" >> bfdver.texi; \ - fi; \ - echo "@set UPDATED `date '+%B %Y'`" >> bfdver.texi; \ - if test -n "$(REPORT_BUGS_TEXI)"; then \ - echo "@set BUGURL $(REPORT_BUGS_TEXI)" >> bfdver.texi; \ - fi - -# We want install to imply install-info as per GNU standards, despite the -# cygnus option. -# Do not install info documentation when installing SDCC -# 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/support/sdbinutils/bfd/elf32-target.h b/support/sdbinutils/bfd/elf32-target.h deleted file mode 100644 index 7b4058b..0000000 --- a/support/sdbinutils/bfd/elf32-target.h +++ /dev/null @@ -1,1110 +0,0 @@ -/* Target definitions for 32-bit ELF - Copyright (C) 1993-2018 Free Software Foundation, Inc. - - This file is part of BFD, the Binary File Descriptor library. - - 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 3 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., 51 Franklin Street - Fifth Floor, Boston, - MA 02110-1301, USA. */ - - -/* This structure contains everything that BFD knows about a target. - It includes things like its byte order, name, what routines to call - to do various operations, etc. Every BFD points to a target structure - with its "xvec" member. - - There are two such structures here: one for big-endian machines and - one for little-endian machines. */ - -#ifndef bfd_elf32_close_and_cleanup -#define bfd_elf32_close_and_cleanup _bfd_elf_close_and_cleanup -#endif -#ifndef bfd_elf32_bfd_free_cached_info -#define bfd_elf32_bfd_free_cached_info _bfd_free_cached_info -#endif -#ifndef bfd_elf32_get_section_contents -#define bfd_elf32_get_section_contents _bfd_generic_get_section_contents -#endif - -#define bfd_elf32_canonicalize_dynamic_symtab \ - _bfd_elf_canonicalize_dynamic_symtab -#ifndef bfd_elf32_get_synthetic_symtab -#define bfd_elf32_get_synthetic_symtab \ - _bfd_elf_get_synthetic_symtab -#endif -#ifndef bfd_elf32_canonicalize_reloc -#define bfd_elf32_canonicalize_reloc _bfd_elf_canonicalize_reloc -#endif -#ifndef bfd_elf32_set_reloc -#define bfd_elf32_set_reloc _bfd_generic_set_reloc -#endif -#ifndef bfd_elf32_find_nearest_line -#define bfd_elf32_find_nearest_line _bfd_elf_find_nearest_line -#endif -#ifndef bfd_elf32_find_line -#define bfd_elf32_find_line _bfd_elf_find_line -#endif -#ifndef bfd_elf32_find_inliner_info -#define bfd_elf32_find_inliner_info _bfd_elf_find_inliner_info -#endif -#define bfd_elf32_read_minisymbols _bfd_elf_read_minisymbols -#define bfd_elf32_minisymbol_to_symbol _bfd_elf_minisymbol_to_symbol -#define bfd_elf32_get_dynamic_symtab_upper_bound \ - _bfd_elf_get_dynamic_symtab_upper_bound -#define bfd_elf32_get_lineno _bfd_elf_get_lineno -#ifndef bfd_elf32_get_reloc_upper_bound -#define bfd_elf32_get_reloc_upper_bound _bfd_elf_get_reloc_upper_bound -#endif -#ifndef bfd_elf32_get_symbol_info -#define bfd_elf32_get_symbol_info _bfd_elf_get_symbol_info -#endif -#ifndef bfd_elf32_get_symbol_version_string -#define bfd_elf32_get_symbol_version_string \ - _bfd_elf_get_symbol_version_string -#endif -#define bfd_elf32_canonicalize_symtab _bfd_elf_canonicalize_symtab -#define bfd_elf32_get_symtab_upper_bound _bfd_elf_get_symtab_upper_bound -#define bfd_elf32_make_empty_symbol _bfd_elf_make_empty_symbol -#ifndef bfd_elf32_new_section_hook -#define bfd_elf32_new_section_hook _bfd_elf_new_section_hook -#endif -#define bfd_elf32_set_arch_mach _bfd_elf_set_arch_mach -#ifndef bfd_elf32_set_section_contents -#define bfd_elf32_set_section_contents _bfd_elf_set_section_contents -#endif -#define bfd_elf32_sizeof_headers _bfd_elf_sizeof_headers -#define bfd_elf32_write_object_contents _bfd_elf_write_object_contents -#define bfd_elf32_write_corefile_contents _bfd_elf_write_corefile_contents - -#define bfd_elf32_get_section_contents_in_window \ - _bfd_generic_get_section_contents_in_window - -#ifndef elf_backend_can_refcount -#define elf_backend_can_refcount 0 -#endif -#ifndef elf_backend_want_got_plt -#define elf_backend_want_got_plt 0 -#endif -#ifndef elf_backend_plt_readonly -#define elf_backend_plt_readonly 0 -#endif -#ifndef elf_backend_want_plt_sym -#define elf_backend_want_plt_sym 0 -#endif -#ifndef elf_backend_plt_not_loaded -#define elf_backend_plt_not_loaded 0 -#endif -#ifndef elf_backend_plt_alignment -#define elf_backend_plt_alignment 2 -#endif -#ifndef elf_backend_want_dynbss -#define elf_backend_want_dynbss 1 -#endif -#ifndef elf_backend_want_dynrelro -#define elf_backend_want_dynrelro 0 -#endif -#ifndef elf_backend_want_p_paddr_set_to_zero -#define elf_backend_want_p_paddr_set_to_zero 0 -#endif -#ifndef elf_backend_no_page_alias -#define elf_backend_no_page_alias 0 -#endif -#ifndef elf_backend_default_execstack -#define elf_backend_default_execstack 1 -#endif -#ifndef elf_backend_caches_rawsize -#define elf_backend_caches_rawsize 0 -#endif -#ifndef elf_backend_extern_protected_data -#define elf_backend_extern_protected_data 0 -#endif -#ifndef elf_backend_always_renumber_dynsyms -#define elf_backend_always_renumber_dynsyms FALSE -#endif -#ifndef elf_backend_linux_prpsinfo32_ugid16 -#define elf_backend_linux_prpsinfo32_ugid16 FALSE -#endif -#ifndef elf_backend_linux_prpsinfo64_ugid16 -#define elf_backend_linux_prpsinfo64_ugid16 FALSE -#endif -#ifndef elf_backend_stack_align -#define elf_backend_stack_align 16 -#endif -#ifndef elf_backend_strtab_flags -#define elf_backend_strtab_flags 0 -#endif - -#define bfd_elf32_bfd_debug_info_start bfd_void -#define bfd_elf32_bfd_debug_info_end bfd_void -#define bfd_elf32_bfd_debug_info_accumulate \ - ((void (*) (bfd*, struct bfd_section *)) bfd_void) - -#ifndef bfd_elf32_bfd_get_relocated_section_contents -#define bfd_elf32_bfd_get_relocated_section_contents \ - bfd_generic_get_relocated_section_contents -#endif - -#ifndef bfd_elf32_bfd_relax_section -#define bfd_elf32_bfd_relax_section bfd_generic_relax_section -#endif - -#ifndef elf_backend_can_gc_sections -#define elf_backend_can_gc_sections 0 -#endif -#ifndef elf_backend_can_refcount -#define elf_backend_can_refcount 0 -#endif -#ifndef elf_backend_want_got_sym -#define elf_backend_want_got_sym 1 -#endif -#ifndef elf_backend_gc_keep -#define elf_backend_gc_keep _bfd_elf_gc_keep -#endif -#ifndef elf_backend_gc_mark_dynamic_ref -#define elf_backend_gc_mark_dynamic_ref bfd_elf_gc_mark_dynamic_ref_symbol -#endif -#ifndef elf_backend_gc_mark_hook -#define elf_backend_gc_mark_hook _bfd_elf_gc_mark_hook -#endif -#ifndef elf_backend_gc_mark_extra_sections -#define elf_backend_gc_mark_extra_sections _bfd_elf_gc_mark_extra_sections -#endif -#ifndef bfd_elf32_bfd_gc_sections -#define bfd_elf32_bfd_gc_sections bfd_elf_gc_sections -#endif - -#ifndef bfd_elf32_bfd_merge_sections -#define bfd_elf32_bfd_merge_sections \ - _bfd_elf_merge_sections -#endif - -#ifndef bfd_elf32_bfd_is_group_section -#define bfd_elf32_bfd_is_group_section bfd_elf_is_group_section -#endif - -#ifndef bfd_elf32_bfd_discard_group -#define bfd_elf32_bfd_discard_group bfd_generic_discard_group -#endif - -#ifndef bfd_elf32_section_already_linked -#define bfd_elf32_section_already_linked \ - _bfd_elf_section_already_linked -#endif - -#ifndef bfd_elf32_bfd_define_common_symbol -#define bfd_elf32_bfd_define_common_symbol bfd_generic_define_common_symbol -#endif - -#ifndef bfd_elf32_bfd_lookup_section_flags -#define bfd_elf32_bfd_lookup_section_flags bfd_elf_lookup_section_flags -#endif - -#ifndef bfd_elf32_bfd_make_debug_symbol -#define bfd_elf32_bfd_make_debug_symbol \ - ((asymbol * (*) (bfd *, void *, unsigned long)) bfd_nullvoidptr) -#endif - -#ifndef bfd_elf32_bfd_copy_private_symbol_data -#define bfd_elf32_bfd_copy_private_symbol_data \ - _bfd_elf_copy_private_symbol_data -#endif - -#ifndef bfd_elf32_bfd_copy_private_section_data -#define bfd_elf32_bfd_copy_private_section_data \ - _bfd_elf_copy_private_section_data -#endif -#ifndef bfd_elf32_bfd_copy_private_header_data -#define bfd_elf32_bfd_copy_private_header_data \ - _bfd_elf_copy_private_header_data -#endif -#ifndef bfd_elf32_bfd_copy_private_bfd_data -#define bfd_elf32_bfd_copy_private_bfd_data \ - _bfd_elf_copy_private_bfd_data -#endif -#ifndef bfd_elf32_bfd_print_private_bfd_data -#define bfd_elf32_bfd_print_private_bfd_data \ - _bfd_elf_print_private_bfd_data -#endif -#ifndef bfd_elf32_bfd_merge_private_bfd_data -#define bfd_elf32_bfd_merge_private_bfd_data \ - ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_true) -#endif -#ifndef bfd_elf32_bfd_set_private_flags -#define bfd_elf32_bfd_set_private_flags \ - ((bfd_boolean (*) (bfd *, flagword)) bfd_true) -#endif -#ifndef bfd_elf32_bfd_is_local_label_name -#define bfd_elf32_bfd_is_local_label_name _bfd_elf_is_local_label_name -#endif -#ifndef bfd_elf32_bfd_is_target_special_symbol -#define bfd_elf32_bfd_is_target_special_symbol \ - ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false) -#endif - -#ifndef bfd_elf32_get_dynamic_reloc_upper_bound -#define bfd_elf32_get_dynamic_reloc_upper_bound \ - _bfd_elf_get_dynamic_reloc_upper_bound -#endif -#ifndef bfd_elf32_canonicalize_dynamic_reloc -#define bfd_elf32_canonicalize_dynamic_reloc \ - _bfd_elf_canonicalize_dynamic_reloc -#endif - -#ifdef elf_backend_relocate_section -#ifndef bfd_elf32_bfd_link_hash_table_create -#define bfd_elf32_bfd_link_hash_table_create _bfd_elf_link_hash_table_create -#endif -#ifndef bfd_elf32_bfd_copy_link_hash_symbol_type -#define bfd_elf32_bfd_copy_link_hash_symbol_type \ - _bfd_elf_copy_link_hash_symbol_type -#endif -#ifndef bfd_elf32_bfd_link_add_symbols -#define bfd_elf32_bfd_link_add_symbols bfd_elf_link_add_symbols -#endif -#ifndef bfd_elf32_bfd_define_start_stop -#define bfd_elf32_bfd_define_start_stop bfd_elf_define_start_stop -#endif -#ifndef bfd_elf32_bfd_final_link -#define bfd_elf32_bfd_final_link bfd_elf_final_link -#endif -#else /* ! defined (elf_backend_relocate_section) */ -/* If no backend relocate_section routine, use the generic linker. - Note - this will prevent the port from being able to use some of - the other features of the ELF linker, because the generic hash structure - does not have the fields needed by the ELF linker. In particular it - means that linking directly to S-records will not work. */ -#ifndef bfd_elf32_bfd_link_hash_table_create -#define bfd_elf32_bfd_link_hash_table_create \ - _bfd_generic_link_hash_table_create -#endif -#ifndef bfd_elf32_bfd_copy_link_hash_symbol_type -#define bfd_elf32_bfd_copy_link_hash_symbol_type \ - _bfd_generic_copy_link_hash_symbol_type -#endif -#ifndef bfd_elf32_bfd_link_add_symbols -#define bfd_elf32_bfd_link_add_symbols _bfd_generic_link_add_symbols -#endif -#ifndef bfd_elf32_bfd_define_start_stop -#define bfd_elf32_bfd_define_start_stop bfd_generic_define_start_stop -#endif -#ifndef bfd_elf32_bfd_final_link -#define bfd_elf32_bfd_final_link _bfd_generic_final_link -#endif -#endif /* ! defined (elf_backend_relocate_section) */ - -#ifndef bfd_elf32_bfd_link_just_syms -#define bfd_elf32_bfd_link_just_syms _bfd_elf_link_just_syms -#endif - -#ifndef bfd_elf32_bfd_link_split_section -#define bfd_elf32_bfd_link_split_section _bfd_generic_link_split_section -#endif - -#ifndef bfd_elf32_bfd_link_check_relocs -#define bfd_elf32_bfd_link_check_relocs _bfd_elf_link_check_relocs -#endif - -#ifndef bfd_elf32_archive_p -#define bfd_elf32_archive_p bfd_generic_archive_p -#endif - -#ifndef bfd_elf32_write_archive_contents -#define bfd_elf32_write_archive_contents _bfd_write_archive_contents -#endif - -#ifndef bfd_elf32_mkobject -#define bfd_elf32_mkobject bfd_elf_make_object -#endif - -#ifndef bfd_elf32_mkcorefile -#define bfd_elf32_mkcorefile bfd_elf_mkcorefile -#endif - -#ifndef bfd_elf32_mkarchive -#define bfd_elf32_mkarchive _bfd_generic_mkarchive -#endif - -#ifndef bfd_elf32_print_symbol -#define bfd_elf32_print_symbol bfd_elf_print_symbol -#endif - -#ifndef elf_symbol_leading_char -#define elf_symbol_leading_char 0 -#endif - -#ifndef elf_info_to_howto -#define elf_info_to_howto 0 -#endif - -#ifndef elf_info_to_howto_rel -#define elf_info_to_howto_rel 0 -#endif - -#ifndef elf_backend_arch_data -#define elf_backend_arch_data NULL -#endif - -#ifndef ELF_TARGET_ID -#define ELF_TARGET_ID GENERIC_ELF_DATA -#endif - -#ifndef ELF_OSABI -#define ELF_OSABI ELFOSABI_NONE -#endif - -#ifndef ELF_MAXPAGESIZE -# error ELF_MAXPAGESIZE is not defined -#define ELF_MAXPAGESIZE 1 -#endif - -#ifndef ELF_COMMONPAGESIZE -#define ELF_COMMONPAGESIZE ELF_MAXPAGESIZE -#endif - -#ifndef ELF_MINPAGESIZE -#define ELF_MINPAGESIZE ELF_COMMONPAGESIZE -#endif - -#if ELF_COMMONPAGESIZE > ELF_MAXPAGESIZE -# error ELF_COMMONPAGESIZE > ELF_MAXPAGESIZE -#endif -#if ELF_MINPAGESIZE > ELF_COMMONPAGESIZE -# error ELF_MINPAGESIZE > ELF_COMMONPAGESIZE -#endif - -#ifndef ELF_DYNAMIC_SEC_FLAGS -/* Note that we set the SEC_IN_MEMORY flag for these sections. */ -#define ELF_DYNAMIC_SEC_FLAGS \ - (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS \ - | SEC_IN_MEMORY | SEC_LINKER_CREATED) -#endif - -#ifndef elf_backend_collect -#define elf_backend_collect FALSE -#endif -#ifndef elf_backend_type_change_ok -#define elf_backend_type_change_ok FALSE -#endif - -#ifndef elf_backend_sym_is_global -#define elf_backend_sym_is_global 0 -#endif -#ifndef elf_backend_object_p -#define elf_backend_object_p 0 -#endif -#ifndef elf_backend_symbol_processing -#define elf_backend_symbol_processing 0 -#endif -#ifndef elf_backend_symbol_table_processing -#define elf_backend_symbol_table_processing 0 -#endif -#ifndef elf_backend_get_symbol_type -#define elf_backend_get_symbol_type 0 -#endif -#ifndef elf_backend_archive_symbol_lookup -#define elf_backend_archive_symbol_lookup _bfd_elf_archive_symbol_lookup -#endif -#ifndef elf_backend_name_local_section_symbols -#define elf_backend_name_local_section_symbols 0 -#endif -#ifndef elf_backend_section_processing -#define elf_backend_section_processing 0 -#endif -#ifndef elf_backend_section_from_shdr -#define elf_backend_section_from_shdr _bfd_elf_make_section_from_shdr -#endif -#ifndef elf_backend_section_flags -#define elf_backend_section_flags 0 -#endif -#ifndef elf_backend_get_sec_type_attr -#define elf_backend_get_sec_type_attr _bfd_elf_get_sec_type_attr -#endif -#ifndef elf_backend_section_from_phdr -#define elf_backend_section_from_phdr _bfd_elf_make_section_from_phdr -#endif -#ifndef elf_backend_fake_sections -#define elf_backend_fake_sections 0 -#endif -#ifndef elf_backend_section_from_bfd_section -#define elf_backend_section_from_bfd_section 0 -#endif -#ifndef elf_backend_add_symbol_hook -#define elf_backend_add_symbol_hook 0 -#endif -#ifndef elf_backend_link_output_symbol_hook -#define elf_backend_link_output_symbol_hook 0 -#endif -#ifndef elf_backend_create_dynamic_sections -#define elf_backend_create_dynamic_sections 0 -#endif -#ifndef elf_backend_omit_section_dynsym -#define elf_backend_omit_section_dynsym _bfd_elf_link_omit_section_dynsym -#endif -#ifndef elf_backend_relocs_compatible -#define elf_backend_relocs_compatible _bfd_elf_default_relocs_compatible -#endif -#ifndef elf_backend_check_relocs -#define elf_backend_check_relocs 0 -#endif -#ifndef elf_backend_check_directives -#define elf_backend_check_directives 0 -#endif -#ifndef elf_backend_notice_as_needed -#define elf_backend_notice_as_needed _bfd_elf_notice_as_needed -#endif -#ifndef elf_backend_adjust_dynamic_symbol -#define elf_backend_adjust_dynamic_symbol 0 -#endif -#ifndef elf_backend_always_size_sections -#define elf_backend_always_size_sections 0 -#endif -#ifndef elf_backend_size_dynamic_sections -#define elf_backend_size_dynamic_sections 0 -#endif -#ifndef elf_backend_init_index_section -#define elf_backend_init_index_section \ - ((void (*) (bfd *, struct bfd_link_info *)) bfd_void) -#endif -#ifndef elf_backend_relocate_section -#define elf_backend_relocate_section 0 -#endif -#ifndef elf_backend_finish_dynamic_symbol -#define elf_backend_finish_dynamic_symbol 0 -#endif -#ifndef elf_backend_finish_dynamic_sections -#define elf_backend_finish_dynamic_sections 0 -#endif -#ifndef elf_backend_begin_write_processing -#define elf_backend_begin_write_processing 0 -#endif -#ifndef elf_backend_final_write_processing -#define elf_backend_final_write_processing 0 -#endif -#ifndef elf_backend_additional_program_headers -#define elf_backend_additional_program_headers 0 -#endif -#ifndef elf_backend_modify_segment_map -#define elf_backend_modify_segment_map 0 -#endif -#ifndef elf_backend_modify_program_headers -#define elf_backend_modify_program_headers 0 -#endif -#ifndef elf_backend_allow_non_load_phdr -#define elf_backend_allow_non_load_phdr \ - ((bfd_boolean (*) (bfd *, const Elf_Internal_Phdr *, unsigned)) bfd_false) -#endif -#ifndef elf_backend_ecoff_debug_swap -#define elf_backend_ecoff_debug_swap 0 -#endif -#ifndef elf_backend_bfd_from_remote_memory -#define elf_backend_bfd_from_remote_memory _bfd_elf32_bfd_from_remote_memory -#endif -#ifndef elf_backend_got_header_size -#define elf_backend_got_header_size 0 -#endif -#ifndef elf_backend_got_elt_size -#define elf_backend_got_elt_size _bfd_elf_default_got_elt_size -#endif -#ifndef elf_backend_obj_attrs_vendor -#define elf_backend_obj_attrs_vendor NULL -#endif -#ifndef elf_backend_obj_attrs_section -#define elf_backend_obj_attrs_section NULL -#endif -#ifndef elf_backend_obj_attrs_arg_type -#define elf_backend_obj_attrs_arg_type NULL -#endif -#ifndef elf_backend_obj_attrs_section_type -#define elf_backend_obj_attrs_section_type SHT_GNU_ATTRIBUTES -#endif -#ifndef elf_backend_obj_attrs_order -#define elf_backend_obj_attrs_order NULL -#endif -#ifndef elf_backend_obj_attrs_handle_unknown -#define elf_backend_obj_attrs_handle_unknown NULL -#endif -#ifndef elf_backend_parse_gnu_properties -#define elf_backend_parse_gnu_properties NULL -#endif -#ifndef elf_backend_merge_gnu_properties -#define elf_backend_merge_gnu_properties NULL -#endif -#ifndef elf_backend_setup_gnu_properties -#define elf_backend_setup_gnu_properties _bfd_elf_link_setup_gnu_properties -#endif -#ifndef elf_backend_static_tls_alignment -#define elf_backend_static_tls_alignment 1 -#endif -#ifndef elf_backend_post_process_headers -#define elf_backend_post_process_headers _bfd_elf_post_process_headers -#endif -#ifndef elf_backend_print_symbol_all -#define elf_backend_print_symbol_all NULL -#endif -#ifndef elf_backend_output_arch_local_syms -#define elf_backend_output_arch_local_syms NULL -#endif -#ifndef elf_backend_output_arch_syms -#define elf_backend_output_arch_syms NULL -#endif -#ifndef elf_backend_filter_implib_symbols -#define elf_backend_filter_implib_symbols NULL -#endif -#ifndef elf_backend_copy_indirect_symbol -#define elf_backend_copy_indirect_symbol _bfd_elf_link_hash_copy_indirect -#endif -#ifndef elf_backend_hide_symbol -#define elf_backend_hide_symbol _bfd_elf_link_hash_hide_symbol -#endif -#ifndef elf_backend_fixup_symbol -#define elf_backend_fixup_symbol NULL -#endif -#ifndef elf_backend_merge_symbol_attribute -#define elf_backend_merge_symbol_attribute NULL -#endif -#ifndef elf_backend_get_target_dtag -#define elf_backend_get_target_dtag NULL -#endif -#ifndef elf_backend_ignore_undef_symbol -#define elf_backend_ignore_undef_symbol NULL -#endif -#ifndef elf_backend_emit_relocs -#define elf_backend_emit_relocs _bfd_elf_link_output_relocs -#endif -#ifndef elf_backend_update_relocs -#define elf_backend_update_relocs NULL -#endif -#ifndef elf_backend_count_relocs -#define elf_backend_count_relocs NULL -#endif -#ifndef elf_backend_count_additional_relocs -#define elf_backend_count_additional_relocs NULL -#endif -#ifndef elf_backend_sort_relocs_p -#define elf_backend_sort_relocs_p NULL -#endif -#ifndef elf_backend_grok_prstatus -#define elf_backend_grok_prstatus NULL -#endif -#ifndef elf_backend_grok_psinfo -#define elf_backend_grok_psinfo NULL -#endif -#ifndef elf_backend_grok_freebsd_prstatus -#define elf_backend_grok_freebsd_prstatus NULL -#endif -#ifndef elf_backend_write_core_note -#define elf_backend_write_core_note NULL -#endif -#ifndef elf_backend_lookup_section_flags_hook -#define elf_backend_lookup_section_flags_hook NULL -#endif -#ifndef elf_backend_reloc_type_class -#define elf_backend_reloc_type_class _bfd_elf_reloc_type_class -#endif -#ifndef elf_backend_discard_info -#define elf_backend_discard_info NULL -#endif -#ifndef elf_backend_ignore_discarded_relocs -#define elf_backend_ignore_discarded_relocs NULL -#endif -#ifndef elf_backend_action_discarded -#define elf_backend_action_discarded _bfd_elf_default_action_discarded -#endif -#ifndef elf_backend_eh_frame_address_size -#define elf_backend_eh_frame_address_size _bfd_elf_eh_frame_address_size -#endif -#ifndef elf_backend_can_make_relative_eh_frame -#define elf_backend_can_make_relative_eh_frame _bfd_elf_can_make_relative -#endif -#ifndef elf_backend_can_make_lsda_relative_eh_frame -#define elf_backend_can_make_lsda_relative_eh_frame _bfd_elf_can_make_relative -#endif -#ifndef elf_backend_encode_eh_address -#define elf_backend_encode_eh_address _bfd_elf_encode_eh_address -#endif -#ifndef elf_backend_write_section -#define elf_backend_write_section NULL -#endif -#ifndef elf_backend_mips_irix_compat -#define elf_backend_mips_irix_compat NULL -#endif -#ifndef elf_backend_mips_rtype_to_howto -#define elf_backend_mips_rtype_to_howto NULL -#endif - -/* Previously, backends could only use SHT_REL or SHT_RELA relocation - sections, but not both. They defined USE_REL to indicate SHT_REL - sections, and left it undefined to indicated SHT_RELA sections. - For backwards compatibility, we still support this usage. */ -#ifndef USE_REL -#define USE_REL 0 -#endif - -/* Use these in new code. */ -#ifndef elf_backend_may_use_rel_p -#define elf_backend_may_use_rel_p USE_REL -#endif -#ifndef elf_backend_may_use_rela_p -#define elf_backend_may_use_rela_p !USE_REL -#endif -#ifndef elf_backend_default_use_rela_p -#define elf_backend_default_use_rela_p !USE_REL -#endif -#ifndef elf_backend_rela_plts_and_copies_p -#define elf_backend_rela_plts_and_copies_p elf_backend_default_use_rela_p -#endif - -#ifndef elf_backend_rela_normal -#define elf_backend_rela_normal 0 -#endif - -#ifndef elf_backend_dtrel_excludes_plt -#define elf_backend_dtrel_excludes_plt 0 -#endif - -#ifndef elf_backend_plt_sym_val -#define elf_backend_plt_sym_val NULL -#endif -#ifndef elf_backend_relplt_name -#define elf_backend_relplt_name NULL -#endif - -#ifndef ELF_MACHINE_ALT1 -#define ELF_MACHINE_ALT1 0 -#endif - -#ifndef ELF_MACHINE_ALT2 -#define ELF_MACHINE_ALT2 0 -#endif - -#ifndef elf_backend_size_info -#define elf_backend_size_info _bfd_elf32_size_info -#endif - -#ifndef elf_backend_special_sections -#define elf_backend_special_sections NULL -#endif - -#ifndef elf_backend_sign_extend_vma -#define elf_backend_sign_extend_vma 0 -#endif - -#ifndef elf_backend_link_order_error_handler -#define elf_backend_link_order_error_handler _bfd_error_handler -#endif - -#ifndef elf_backend_common_definition -#define elf_backend_common_definition _bfd_elf_common_definition -#endif - -#ifndef elf_backend_common_section_index -#define elf_backend_common_section_index _bfd_elf_common_section_index -#endif - -#ifndef elf_backend_common_section -#define elf_backend_common_section _bfd_elf_common_section -#endif - -#ifndef elf_backend_merge_symbol -#define elf_backend_merge_symbol NULL -#endif - -#ifndef elf_backend_hash_symbol -#define elf_backend_hash_symbol _bfd_elf_hash_symbol -#endif - -#ifndef elf_backend_is_function_type -#define elf_backend_is_function_type _bfd_elf_is_function_type -#endif - -#ifndef elf_backend_maybe_function_sym -#define elf_backend_maybe_function_sym _bfd_elf_maybe_function_sym -#endif - -#ifndef elf_backend_get_reloc_section -#define elf_backend_get_reloc_section _bfd_elf_plt_get_reloc_section -#endif - -#ifndef elf_backend_copy_special_section_fields -#define elf_backend_copy_special_section_fields NULL -#endif - -#ifndef elf_backend_compact_eh_encoding -#define elf_backend_compact_eh_encoding NULL -#endif - -#ifndef elf_backend_cant_unwind_opcode -#define elf_backend_cant_unwind_opcode 0 -#endif - -#ifndef elf_match_priority -#define elf_match_priority \ - (ELF_ARCH == bfd_arch_unknown ? 2 : ELF_OSABI == ELFOSABI_NONE ? 1 : 0) -#endif - -extern const struct elf_size_info _bfd_elf32_size_info; - -static struct elf_backend_data elf32_bed = -{ - ELF_ARCH, /* arch */ - ELF_TARGET_ID, /* target_id */ - ELF_MACHINE_CODE, /* elf_machine_code */ - ELF_OSABI, /* elf_osabi */ - ELF_MAXPAGESIZE, /* maxpagesize */ - ELF_MINPAGESIZE, /* minpagesize */ - ELF_COMMONPAGESIZE, /* commonpagesize */ - ELF_DYNAMIC_SEC_FLAGS, /* dynamic_sec_flags */ - elf_backend_arch_data, - elf_info_to_howto, - elf_info_to_howto_rel, - elf_backend_sym_is_global, - elf_backend_object_p, - elf_backend_symbol_processing, - elf_backend_symbol_table_processing, - elf_backend_get_symbol_type, - elf_backend_archive_symbol_lookup, - elf_backend_name_local_section_symbols, - elf_backend_section_processing, - elf_backend_section_from_shdr, - elf_backend_section_flags, - elf_backend_get_sec_type_attr, - elf_backend_section_from_phdr, - elf_backend_fake_sections, - elf_backend_section_from_bfd_section, - elf_backend_add_symbol_hook, - elf_backend_link_output_symbol_hook, - elf_backend_create_dynamic_sections, - elf_backend_omit_section_dynsym, - elf_backend_relocs_compatible, - elf_backend_check_relocs, - elf_backend_check_directives, - elf_backend_notice_as_needed, - elf_backend_adjust_dynamic_symbol, - elf_backend_always_size_sections, - elf_backend_size_dynamic_sections, - elf_backend_init_index_section, - elf_backend_relocate_section, - elf_backend_finish_dynamic_symbol, - elf_backend_finish_dynamic_sections, - elf_backend_begin_write_processing, - elf_backend_final_write_processing, - elf_backend_additional_program_headers, - elf_backend_modify_segment_map, - elf_backend_modify_program_headers, - elf_backend_allow_non_load_phdr, - elf_backend_gc_keep, - elf_backend_gc_mark_dynamic_ref, - elf_backend_gc_mark_hook, - elf_backend_gc_mark_extra_sections, - elf_backend_post_process_headers, - elf_backend_print_symbol_all, - elf_backend_output_arch_local_syms, - elf_backend_output_arch_syms, - elf_backend_filter_implib_symbols, - elf_backend_copy_indirect_symbol, - elf_backend_hide_symbol, - elf_backend_fixup_symbol, - elf_backend_merge_symbol_attribute, - elf_backend_get_target_dtag, - elf_backend_ignore_undef_symbol, - elf_backend_emit_relocs, - elf_backend_update_relocs, - elf_backend_count_relocs, - elf_backend_count_additional_relocs, - elf_backend_sort_relocs_p, - elf_backend_grok_prstatus, - elf_backend_grok_psinfo, - elf_backend_grok_freebsd_prstatus, - elf_backend_write_core_note, - elf_backend_lookup_section_flags_hook, - elf_backend_reloc_type_class, - elf_backend_discard_info, - elf_backend_ignore_discarded_relocs, - elf_backend_action_discarded, - elf_backend_eh_frame_address_size, - elf_backend_can_make_relative_eh_frame, - elf_backend_can_make_lsda_relative_eh_frame, - elf_backend_encode_eh_address, - elf_backend_write_section, - elf_backend_mips_irix_compat, - elf_backend_mips_rtype_to_howto, - elf_backend_ecoff_debug_swap, - elf_backend_bfd_from_remote_memory, - elf_backend_plt_sym_val, - elf_backend_common_definition, - elf_backend_common_section_index, - elf_backend_common_section, - elf_backend_merge_symbol, - elf_backend_hash_symbol, - elf_backend_is_function_type, - elf_backend_maybe_function_sym, - elf_backend_get_reloc_section, - elf_backend_copy_special_section_fields, - elf_backend_link_order_error_handler, - elf_backend_relplt_name, - ELF_MACHINE_ALT1, - ELF_MACHINE_ALT2, - &elf_backend_size_info, - elf_backend_special_sections, - elf_backend_got_header_size, - elf_backend_got_elt_size, - elf_backend_obj_attrs_vendor, - elf_backend_obj_attrs_section, - elf_backend_obj_attrs_arg_type, - elf_backend_obj_attrs_section_type, - elf_backend_obj_attrs_order, - elf_backend_obj_attrs_handle_unknown, - elf_backend_parse_gnu_properties, - elf_backend_merge_gnu_properties, - elf_backend_setup_gnu_properties, - elf_backend_compact_eh_encoding, - elf_backend_cant_unwind_opcode, - elf_backend_static_tls_alignment, - elf_backend_stack_align, - elf_backend_strtab_flags, - elf_backend_collect, - elf_backend_type_change_ok, - elf_backend_may_use_rel_p, - elf_backend_may_use_rela_p, - elf_backend_default_use_rela_p, - elf_backend_rela_plts_and_copies_p, - elf_backend_rela_normal, - elf_backend_dtrel_excludes_plt, - elf_backend_sign_extend_vma, - elf_backend_want_got_plt, - elf_backend_plt_readonly, - elf_backend_want_plt_sym, - elf_backend_plt_not_loaded, - elf_backend_plt_alignment, - elf_backend_can_gc_sections, - elf_backend_can_refcount, - elf_backend_want_got_sym, - elf_backend_want_dynbss, - elf_backend_want_dynrelro, - elf_backend_want_p_paddr_set_to_zero, - elf_backend_no_page_alias, - elf_backend_default_execstack, - elf_backend_caches_rawsize, - elf_backend_extern_protected_data, - elf_backend_always_renumber_dynsyms, - elf_backend_linux_prpsinfo32_ugid16, - elf_backend_linux_prpsinfo64_ugid16 -}; - -/* Forward declaration for use when initialising alternative_target field. */ -#ifdef TARGET_LITTLE_SYM -extern const bfd_target TARGET_LITTLE_SYM; -#endif - -#ifdef TARGET_BIG_SYM -const bfd_target TARGET_BIG_SYM = -{ - /* name: identify kind of target */ - TARGET_BIG_NAME, - - /* flavour: general indication about file */ - bfd_target_elf_flavour, - - /* byteorder: data is big endian */ - BFD_ENDIAN_BIG, - - /* header_byteorder: header is also big endian */ - BFD_ENDIAN_BIG, - - /* object_flags: mask of all file flags */ - (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS - | DYNAMIC | WP_TEXT | D_PAGED | BFD_COMPRESS | BFD_DECOMPRESS - | BFD_COMPRESS_GABI | BFD_CONVERT_ELF_COMMON | BFD_USE_ELF_STT_COMMON), - - /* section_flags: mask of all section flags */ - (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY - | SEC_CODE | SEC_DATA | SEC_DEBUGGING | SEC_EXCLUDE | SEC_SORT_ENTRIES - | SEC_SMALL_DATA | SEC_MERGE | SEC_STRINGS | SEC_GROUP), - - /* leading_symbol_char: is the first char of a user symbol - predictable, and if so what is it */ - elf_symbol_leading_char, - - /* ar_pad_char: pad character for filenames within an archive header - FIXME: this really has nothing to do with ELF, this is a characteristic - of the archiver and/or os and should be independently tunable */ - '/', - - /* ar_max_namelen: maximum number of characters in an archive header - FIXME: this really has nothing to do with ELF, this is a characteristic - of the archiver and should be independently tunable. The System V ABI, - Chapter 7 (Formats & Protocols), Archive section sets this as 15. */ - 15, - - elf_match_priority, - - /* Routines to byte-swap various sized integers from the data sections */ - bfd_getb64, bfd_getb_signed_64, bfd_putb64, - bfd_getb32, bfd_getb_signed_32, bfd_putb32, - bfd_getb16, bfd_getb_signed_16, bfd_putb16, - - /* Routines to byte-swap various sized integers from the file headers */ - bfd_getb64, bfd_getb_signed_64, bfd_putb64, - bfd_getb32, bfd_getb_signed_32, bfd_putb32, - bfd_getb16, bfd_getb_signed_16, bfd_putb16, - - /* bfd_check_format: check the format of a file being read */ - { _bfd_dummy_target, /* unknown format */ - bfd_elf32_object_p, /* assembler/linker output (object file) */ - bfd_elf32_archive_p, /* an archive */ - bfd_elf32_core_file_p /* a core file */ - }, - - /* bfd_set_format: set the format of a file being written */ - { bfd_false, - bfd_elf32_mkobject, - bfd_elf32_mkarchive, - bfd_elf32_mkcorefile - }, - - /* bfd_write_contents: write cached information into a file being written */ - { bfd_false, - bfd_elf32_write_object_contents, - bfd_elf32_write_archive_contents, - bfd_elf32_write_corefile_contents, - }, - - BFD_JUMP_TABLE_GENERIC (bfd_elf32), - BFD_JUMP_TABLE_COPY (bfd_elf32), - BFD_JUMP_TABLE_CORE (bfd_elf32), -#ifdef bfd_elf32_archive_functions - BFD_JUMP_TABLE_ARCHIVE (bfd_elf32_archive), -#elif defined USE_64_BIT_ARCHIVE - BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_64_bit), -#else - BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff), -#endif - BFD_JUMP_TABLE_SYMBOLS (bfd_elf32), - BFD_JUMP_TABLE_RELOCS (bfd_elf32), - BFD_JUMP_TABLE_WRITE (bfd_elf32), - BFD_JUMP_TABLE_LINK (bfd_elf32), - BFD_JUMP_TABLE_DYNAMIC (bfd_elf32), - - /* Alternative endian target. */ -#ifdef TARGET_LITTLE_SYM - & TARGET_LITTLE_SYM, -#else - NULL, -#endif - - /* backend_data: */ - &elf32_bed -}; -#endif - -#ifdef TARGET_LITTLE_SYM -const bfd_target TARGET_LITTLE_SYM = -{ - /* name: identify kind of target */ - TARGET_LITTLE_NAME, - - /* flavour: general indication about file */ - bfd_target_elf_flavour, - - /* byteorder: data is little endian */ - BFD_ENDIAN_LITTLE, - - /* header_byteorder: header is also little endian */ - BFD_ENDIAN_LITTLE, - - /* object_flags: mask of all file flags */ - (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS - | DYNAMIC | WP_TEXT | D_PAGED | BFD_COMPRESS | BFD_DECOMPRESS - | BFD_COMPRESS_GABI | BFD_CONVERT_ELF_COMMON | BFD_USE_ELF_STT_COMMON), - - /* section_flags: mask of all section flags */ - (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY - | SEC_CODE | SEC_DATA | SEC_DEBUGGING | SEC_EXCLUDE | SEC_SORT_ENTRIES - | SEC_SMALL_DATA | SEC_MERGE | SEC_STRINGS | SEC_GROUP), - - /* leading_symbol_char: is the first char of a user symbol - predictable, and if so what is it */ - elf_symbol_leading_char, - - /* ar_pad_char: pad character for filenames within an archive header - FIXME: this really has nothing to do with ELF, this is a characteristic - of the archiver and/or os and should be independently tunable */ - '/', - - /* ar_max_namelen: maximum number of characters in an archive header - FIXME: this really has nothing to do with ELF, this is a characteristic - of the archiver and should be independently tunable. The System V ABI, - Chapter 7 (Formats & Protocols), Archive section sets this as 15. */ - 15, - - elf_match_priority, - - /* Routines to byte-swap various sized integers from the data sections */ - bfd_getl64, bfd_getl_signed_64, bfd_putl64, - bfd_getl32, bfd_getl_signed_32, bfd_putl32, - bfd_getl16, bfd_getl_signed_16, bfd_putl16, - - /* Routines to byte-swap various sized integers from the file headers */ - bfd_getl64, bfd_getl_signed_64, bfd_putl64, - bfd_getl32, bfd_getl_signed_32, bfd_putl32, - bfd_getl16, bfd_getl_signed_16, bfd_putl16, - - /* bfd_check_format: check the format of a file being read */ - { _bfd_dummy_target, /* unknown format */ - bfd_elf32_object_p, /* assembler/linker output (object file) */ - bfd_elf32_archive_p, /* an archive */ - bfd_elf32_core_file_p /* a core file */ - }, - - /* bfd_set_format: set the format of a file being written */ - { bfd_false, - bfd_elf32_mkobject, - bfd_elf32_mkarchive, - bfd_elf32_mkcorefile - }, - - /* bfd_write_contents: write cached information into a file being written */ - { bfd_false, - bfd_elf32_write_object_contents, - bfd_elf32_write_archive_contents, - bfd_elf32_write_corefile_contents, - }, - - BFD_JUMP_TABLE_GENERIC (bfd_elf32), - BFD_JUMP_TABLE_COPY (bfd_elf32), - BFD_JUMP_TABLE_CORE (bfd_elf32), -#ifdef bfd_elf32_archive_functions - BFD_JUMP_TABLE_ARCHIVE (bfd_elf32_archive), -#elif defined USE_64_BIT_ARCHIVE - BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_64_bit), -#else - BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff), -#endif - BFD_JUMP_TABLE_SYMBOLS (bfd_elf32), - BFD_JUMP_TABLE_RELOCS (bfd_elf32), - BFD_JUMP_TABLE_WRITE (bfd_elf32), - BFD_JUMP_TABLE_LINK (bfd_elf32), - BFD_JUMP_TABLE_DYNAMIC (bfd_elf32), - - /* Alternative endian target. */ -#ifdef TARGET_BIG_SYM - & TARGET_BIG_SYM, -#else - NULL, -#endif - - /* backend_data: */ - &elf32_bed -}; -#endif diff --git a/support/sdbinutils/bfd/elf64-target.h b/support/sdbinutils/bfd/elf64-target.h deleted file mode 100644 index f4b410e..0000000 --- a/support/sdbinutils/bfd/elf64-target.h +++ /dev/null @@ -1,1110 +0,0 @@ -/* Target definitions for 64-bit ELF - Copyright (C) 1993-2018 Free Software Foundation, Inc. - - This file is part of BFD, the Binary File Descriptor library. - - 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 3 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., 51 Franklin Street - Fifth Floor, Boston, - MA 02110-1301, USA. */ - - -/* This structure contains everything that BFD knows about a target. - It includes things like its byte order, name, what routines to call - to do various operations, etc. Every BFD points to a target structure - with its "xvec" member. - - There are two such structures here: one for big-endian machines and - one for little-endian machines. */ - -#ifndef bfd_elf64_close_and_cleanup -#define bfd_elf64_close_and_cleanup _bfd_elf_close_and_cleanup -#endif -#ifndef bfd_elf64_bfd_free_cached_info -#define bfd_elf64_bfd_free_cached_info _bfd_free_cached_info -#endif -#ifndef bfd_elf64_get_section_contents -#define bfd_elf64_get_section_contents _bfd_generic_get_section_contents -#endif - -#define bfd_elf64_canonicalize_dynamic_symtab \ - _bfd_elf_canonicalize_dynamic_symtab -#ifndef bfd_elf64_get_synthetic_symtab -#define bfd_elf64_get_synthetic_symtab \ - _bfd_elf_get_synthetic_symtab -#endif -#ifndef bfd_elf64_canonicalize_reloc -#define bfd_elf64_canonicalize_reloc _bfd_elf_canonicalize_reloc -#endif -#ifndef bfd_elf64_set_reloc -#define bfd_elf64_set_reloc _bfd_generic_set_reloc -#endif -#ifndef bfd_elf64_find_nearest_line -#define bfd_elf64_find_nearest_line _bfd_elf_find_nearest_line -#endif -#ifndef bfd_elf64_find_line -#define bfd_elf64_find_line _bfd_elf_find_line -#endif -#ifndef bfd_elf64_find_inliner_info -#define bfd_elf64_find_inliner_info _bfd_elf_find_inliner_info -#endif -#define bfd_elf64_read_minisymbols _bfd_elf_read_minisymbols -#define bfd_elf64_minisymbol_to_symbol _bfd_elf_minisymbol_to_symbol -#define bfd_elf64_get_dynamic_symtab_upper_bound \ - _bfd_elf_get_dynamic_symtab_upper_bound -#define bfd_elf64_get_lineno _bfd_elf_get_lineno -#ifndef bfd_elf64_get_reloc_upper_bound -#define bfd_elf64_get_reloc_upper_bound _bfd_elf_get_reloc_upper_bound -#endif -#ifndef bfd_elf64_get_symbol_info -#define bfd_elf64_get_symbol_info _bfd_elf_get_symbol_info -#endif -#ifndef bfd_elf64_get_symbol_version_string -#define bfd_elf64_get_symbol_version_string \ - _bfd_elf_get_symbol_version_string -#endif -#define bfd_elf64_canonicalize_symtab _bfd_elf_canonicalize_symtab -#define bfd_elf64_get_symtab_upper_bound _bfd_elf_get_symtab_upper_bound -#define bfd_elf64_make_empty_symbol _bfd_elf_make_empty_symbol -#ifndef bfd_elf64_new_section_hook -#define bfd_elf64_new_section_hook _bfd_elf_new_section_hook -#endif -#define bfd_elf64_set_arch_mach _bfd_elf_set_arch_mach -#ifndef bfd_elf64_set_section_contents -#define bfd_elf64_set_section_contents _bfd_elf_set_section_contents -#endif -#define bfd_elf64_sizeof_headers _bfd_elf_sizeof_headers -#define bfd_elf64_write_object_contents _bfd_elf_write_object_contents -#define bfd_elf64_write_corefile_contents _bfd_elf_write_corefile_contents - -#define bfd_elf64_get_section_contents_in_window \ - _bfd_generic_get_section_contents_in_window - -#ifndef elf_backend_can_refcount -#define elf_backend_can_refcount 0 -#endif -#ifndef elf_backend_want_got_plt -#define elf_backend_want_got_plt 0 -#endif -#ifndef elf_backend_plt_readonly -#define elf_backend_plt_readonly 0 -#endif -#ifndef elf_backend_want_plt_sym -#define elf_backend_want_plt_sym 0 -#endif -#ifndef elf_backend_plt_not_loaded -#define elf_backend_plt_not_loaded 0 -#endif -#ifndef elf_backend_plt_alignment -#define elf_backend_plt_alignment 2 -#endif -#ifndef elf_backend_want_dynbss -#define elf_backend_want_dynbss 1 -#endif -#ifndef elf_backend_want_dynrelro -#define elf_backend_want_dynrelro 0 -#endif -#ifndef elf_backend_want_p_paddr_set_to_zero -#define elf_backend_want_p_paddr_set_to_zero 0 -#endif -#ifndef elf_backend_no_page_alias -#define elf_backend_no_page_alias 0 -#endif -#ifndef elf_backend_default_execstack -#define elf_backend_default_execstack 1 -#endif -#ifndef elf_backend_caches_rawsize -#define elf_backend_caches_rawsize 0 -#endif -#ifndef elf_backend_extern_protected_data -#define elf_backend_extern_protected_data 0 -#endif -#ifndef elf_backend_always_renumber_dynsyms -#define elf_backend_always_renumber_dynsyms FALSE -#endif -#ifndef elf_backend_linux_prpsinfo32_ugid16 -#define elf_backend_linux_prpsinfo32_ugid16 FALSE -#endif -#ifndef elf_backend_linux_prpsinfo64_ugid16 -#define elf_backend_linux_prpsinfo64_ugid16 FALSE -#endif -#ifndef elf_backend_stack_align -#define elf_backend_stack_align 16 -#endif -#ifndef elf_backend_strtab_flags -#define elf_backend_strtab_flags 0 -#endif - -#define bfd_elf64_bfd_debug_info_start bfd_void -#define bfd_elf64_bfd_debug_info_end bfd_void -#define bfd_elf64_bfd_debug_info_accumulate \ - ((void (*) (bfd*, struct bfd_section *)) bfd_void) - -#ifndef bfd_elf64_bfd_get_relocated_section_contents -#define bfd_elf64_bfd_get_relocated_section_contents \ - bfd_generic_get_relocated_section_contents -#endif - -#ifndef bfd_elf64_bfd_relax_section -#define bfd_elf64_bfd_relax_section bfd_generic_relax_section -#endif - -#ifndef elf_backend_can_gc_sections -#define elf_backend_can_gc_sections 0 -#endif -#ifndef elf_backend_can_refcount -#define elf_backend_can_refcount 0 -#endif -#ifndef elf_backend_want_got_sym -#define elf_backend_want_got_sym 1 -#endif -#ifndef elf_backend_gc_keep -#define elf_backend_gc_keep _bfd_elf_gc_keep -#endif -#ifndef elf_backend_gc_mark_dynamic_ref -#define elf_backend_gc_mark_dynamic_ref bfd_elf_gc_mark_dynamic_ref_symbol -#endif -#ifndef elf_backend_gc_mark_hook -#define elf_backend_gc_mark_hook _bfd_elf_gc_mark_hook -#endif -#ifndef elf_backend_gc_mark_extra_sections -#define elf_backend_gc_mark_extra_sections _bfd_elf_gc_mark_extra_sections -#endif -#ifndef bfd_elf64_bfd_gc_sections -#define bfd_elf64_bfd_gc_sections bfd_elf_gc_sections -#endif - -#ifndef bfd_elf64_bfd_merge_sections -#define bfd_elf64_bfd_merge_sections \ - _bfd_elf_merge_sections -#endif - -#ifndef bfd_elf64_bfd_is_group_section -#define bfd_elf64_bfd_is_group_section bfd_elf_is_group_section -#endif - -#ifndef bfd_elf64_bfd_discard_group -#define bfd_elf64_bfd_discard_group bfd_generic_discard_group -#endif - -#ifndef bfd_elf64_section_already_linked -#define bfd_elf64_section_already_linked \ - _bfd_elf_section_already_linked -#endif - -#ifndef bfd_elf64_bfd_define_common_symbol -#define bfd_elf64_bfd_define_common_symbol bfd_generic_define_common_symbol -#endif - -#ifndef bfd_elf64_bfd_lookup_section_flags -#define bfd_elf64_bfd_lookup_section_flags bfd_elf_lookup_section_flags -#endif - -#ifndef bfd_elf64_bfd_make_debug_symbol -#define bfd_elf64_bfd_make_debug_symbol \ - ((asymbol * (*) (bfd *, void *, unsigned long)) bfd_nullvoidptr) -#endif - -#ifndef bfd_elf64_bfd_copy_private_symbol_data -#define bfd_elf64_bfd_copy_private_symbol_data \ - _bfd_elf_copy_private_symbol_data -#endif - -#ifndef bfd_elf64_bfd_copy_private_section_data -#define bfd_elf64_bfd_copy_private_section_data \ - _bfd_elf_copy_private_section_data -#endif -#ifndef bfd_elf64_bfd_copy_private_header_data -#define bfd_elf64_bfd_copy_private_header_data \ - _bfd_elf_copy_private_header_data -#endif -#ifndef bfd_elf64_bfd_copy_private_bfd_data -#define bfd_elf64_bfd_copy_private_bfd_data \ - _bfd_elf_copy_private_bfd_data -#endif -#ifndef bfd_elf64_bfd_print_private_bfd_data -#define bfd_elf64_bfd_print_private_bfd_data \ - _bfd_elf_print_private_bfd_data -#endif -#ifndef bfd_elf64_bfd_merge_private_bfd_data -#define bfd_elf64_bfd_merge_private_bfd_data \ - ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_true) -#endif -#ifndef bfd_elf64_bfd_set_private_flags -#define bfd_elf64_bfd_set_private_flags \ - ((bfd_boolean (*) (bfd *, flagword)) bfd_true) -#endif -#ifndef bfd_elf64_bfd_is_local_label_name -#define bfd_elf64_bfd_is_local_label_name _bfd_elf_is_local_label_name -#endif -#ifndef bfd_elf64_bfd_is_target_special_symbol -#define bfd_elf64_bfd_is_target_special_symbol \ - ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false) -#endif - -#ifndef bfd_elf64_get_dynamic_reloc_upper_bound -#define bfd_elf64_get_dynamic_reloc_upper_bound \ - _bfd_elf_get_dynamic_reloc_upper_bound -#endif -#ifndef bfd_elf64_canonicalize_dynamic_reloc -#define bfd_elf64_canonicalize_dynamic_reloc \ - _bfd_elf_canonicalize_dynamic_reloc -#endif - -#ifdef elf_backend_relocate_section -#ifndef bfd_elf64_bfd_link_hash_table_create -#define bfd_elf64_bfd_link_hash_table_create _bfd_elf_link_hash_table_create -#endif -#ifndef bfd_elf64_bfd_copy_link_hash_symbol_type -#define bfd_elf64_bfd_copy_link_hash_symbol_type \ - _bfd_elf_copy_link_hash_symbol_type -#endif -#ifndef bfd_elf64_bfd_link_add_symbols -#define bfd_elf64_bfd_link_add_symbols bfd_elf_link_add_symbols -#endif -#ifndef bfd_elf64_bfd_define_start_stop -#define bfd_elf64_bfd_define_start_stop bfd_elf_define_start_stop -#endif -#ifndef bfd_elf64_bfd_final_link -#define bfd_elf64_bfd_final_link bfd_elf_final_link -#endif -#else /* ! defined (elf_backend_relocate_section) */ -/* If no backend relocate_section routine, use the generic linker. - Note - this will prevent the port from being able to use some of - the other features of the ELF linker, because the generic hash structure - does not have the fields needed by the ELF linker. In particular it - means that linking directly to S-records will not work. */ -#ifndef bfd_elf64_bfd_link_hash_table_create -#define bfd_elf64_bfd_link_hash_table_create \ - _bfd_generic_link_hash_table_create -#endif -#ifndef bfd_elf64_bfd_copy_link_hash_symbol_type -#define bfd_elf64_bfd_copy_link_hash_symbol_type \ - _bfd_generic_copy_link_hash_symbol_type -#endif -#ifndef bfd_elf64_bfd_link_add_symbols -#define bfd_elf64_bfd_link_add_symbols _bfd_generic_link_add_symbols -#endif -#ifndef bfd_elf64_bfd_define_start_stop -#define bfd_elf64_bfd_define_start_stop bfd_generic_define_start_stop -#endif -#ifndef bfd_elf64_bfd_final_link -#define bfd_elf64_bfd_final_link _bfd_generic_final_link -#endif -#endif /* ! defined (elf_backend_relocate_section) */ - -#ifndef bfd_elf64_bfd_link_just_syms -#define bfd_elf64_bfd_link_just_syms _bfd_elf_link_just_syms -#endif - -#ifndef bfd_elf64_bfd_link_split_section -#define bfd_elf64_bfd_link_split_section _bfd_generic_link_split_section -#endif - -#ifndef bfd_elf64_bfd_link_check_relocs -#define bfd_elf64_bfd_link_check_relocs _bfd_elf_link_check_relocs -#endif - -#ifndef bfd_elf64_archive_p -#define bfd_elf64_archive_p bfd_generic_archive_p -#endif - -#ifndef bfd_elf64_write_archive_contents -#define bfd_elf64_write_archive_contents _bfd_write_archive_contents -#endif - -#ifndef bfd_elf64_mkobject -#define bfd_elf64_mkobject bfd_elf_make_object -#endif - -#ifndef bfd_elf64_mkcorefile -#define bfd_elf64_mkcorefile bfd_elf_mkcorefile -#endif - -#ifndef bfd_elf64_mkarchive -#define bfd_elf64_mkarchive _bfd_generic_mkarchive -#endif - -#ifndef bfd_elf64_print_symbol -#define bfd_elf64_print_symbol bfd_elf_print_symbol -#endif - -#ifndef elf_symbol_leading_char -#define elf_symbol_leading_char 0 -#endif - -#ifndef elf_info_to_howto -#define elf_info_to_howto 0 -#endif - -#ifndef elf_info_to_howto_rel -#define elf_info_to_howto_rel 0 -#endif - -#ifndef elf_backend_arch_data -#define elf_backend_arch_data NULL -#endif - -#ifndef ELF_TARGET_ID -#define ELF_TARGET_ID GENERIC_ELF_DATA -#endif - -#ifndef ELF_OSABI -#define ELF_OSABI ELFOSABI_NONE -#endif - -#ifndef ELF_MAXPAGESIZE -# error ELF_MAXPAGESIZE is not defined -#define ELF_MAXPAGESIZE 1 -#endif - -#ifndef ELF_COMMONPAGESIZE -#define ELF_COMMONPAGESIZE ELF_MAXPAGESIZE -#endif - -#ifndef ELF_MINPAGESIZE -#define ELF_MINPAGESIZE ELF_COMMONPAGESIZE -#endif - -#if ELF_COMMONPAGESIZE > ELF_MAXPAGESIZE -# error ELF_COMMONPAGESIZE > ELF_MAXPAGESIZE -#endif -#if ELF_MINPAGESIZE > ELF_COMMONPAGESIZE -# error ELF_MINPAGESIZE > ELF_COMMONPAGESIZE -#endif - -#ifndef ELF_DYNAMIC_SEC_FLAGS -/* Note that we set the SEC_IN_MEMORY flag for these sections. */ -#define ELF_DYNAMIC_SEC_FLAGS \ - (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS \ - | SEC_IN_MEMORY | SEC_LINKER_CREATED) -#endif - -#ifndef elf_backend_collect -#define elf_backend_collect FALSE -#endif -#ifndef elf_backend_type_change_ok -#define elf_backend_type_change_ok FALSE -#endif - -#ifndef elf_backend_sym_is_global -#define elf_backend_sym_is_global 0 -#endif -#ifndef elf_backend_object_p -#define elf_backend_object_p 0 -#endif -#ifndef elf_backend_symbol_processing -#define elf_backend_symbol_processing 0 -#endif -#ifndef elf_backend_symbol_table_processing -#define elf_backend_symbol_table_processing 0 -#endif -#ifndef elf_backend_get_symbol_type -#define elf_backend_get_symbol_type 0 -#endif -#ifndef elf_backend_archive_symbol_lookup -#define elf_backend_archive_symbol_lookup _bfd_elf_archive_symbol_lookup -#endif -#ifndef elf_backend_name_local_section_symbols -#define elf_backend_name_local_section_symbols 0 -#endif -#ifndef elf_backend_section_processing -#define elf_backend_section_processing 0 -#endif -#ifndef elf_backend_section_from_shdr -#define elf_backend_section_from_shdr _bfd_elf_make_section_from_shdr -#endif -#ifndef elf_backend_section_flags -#define elf_backend_section_flags 0 -#endif -#ifndef elf_backend_get_sec_type_attr -#define elf_backend_get_sec_type_attr _bfd_elf_get_sec_type_attr -#endif -#ifndef elf_backend_section_from_phdr -#define elf_backend_section_from_phdr _bfd_elf_make_section_from_phdr -#endif -#ifndef elf_backend_fake_sections -#define elf_backend_fake_sections 0 -#endif -#ifndef elf_backend_section_from_bfd_section -#define elf_backend_section_from_bfd_section 0 -#endif -#ifndef elf_backend_add_symbol_hook -#define elf_backend_add_symbol_hook 0 -#endif -#ifndef elf_backend_link_output_symbol_hook -#define elf_backend_link_output_symbol_hook 0 -#endif -#ifndef elf_backend_create_dynamic_sections -#define elf_backend_create_dynamic_sections 0 -#endif -#ifndef elf_backend_omit_section_dynsym -#define elf_backend_omit_section_dynsym _bfd_elf_link_omit_section_dynsym -#endif -#ifndef elf_backend_relocs_compatible -#define elf_backend_relocs_compatible _bfd_elf_default_relocs_compatible -#endif -#ifndef elf_backend_check_relocs -#define elf_backend_check_relocs 0 -#endif -#ifndef elf_backend_check_directives -#define elf_backend_check_directives 0 -#endif -#ifndef elf_backend_notice_as_needed -#define elf_backend_notice_as_needed _bfd_elf_notice_as_needed -#endif -#ifndef elf_backend_adjust_dynamic_symbol -#define elf_backend_adjust_dynamic_symbol 0 -#endif -#ifndef elf_backend_always_size_sections -#define elf_backend_always_size_sections 0 -#endif -#ifndef elf_backend_size_dynamic_sections -#define elf_backend_size_dynamic_sections 0 -#endif -#ifndef elf_backend_init_index_section -#define elf_backend_init_index_section \ - ((void (*) (bfd *, struct bfd_link_info *)) bfd_void) -#endif -#ifndef elf_backend_relocate_section -#define elf_backend_relocate_section 0 -#endif -#ifndef elf_backend_finish_dynamic_symbol -#define elf_backend_finish_dynamic_symbol 0 -#endif -#ifndef elf_backend_finish_dynamic_sections -#define elf_backend_finish_dynamic_sections 0 -#endif -#ifndef elf_backend_begin_write_processing -#define elf_backend_begin_write_processing 0 -#endif -#ifndef elf_backend_final_write_processing -#define elf_backend_final_write_processing 0 -#endif -#ifndef elf_backend_additional_program_headers -#define elf_backend_additional_program_headers 0 -#endif -#ifndef elf_backend_modify_segment_map -#define elf_backend_modify_segment_map 0 -#endif -#ifndef elf_backend_modify_program_headers -#define elf_backend_modify_program_headers 0 -#endif -#ifndef elf_backend_allow_non_load_phdr -#define elf_backend_allow_non_load_phdr \ - ((bfd_boolean (*) (bfd *, const Elf_Internal_Phdr *, unsigned)) bfd_false) -#endif -#ifndef elf_backend_ecoff_debug_swap -#define elf_backend_ecoff_debug_swap 0 -#endif -#ifndef elf_backend_bfd_from_remote_memory -#define elf_backend_bfd_from_remote_memory _bfd_elf64_bfd_from_remote_memory -#endif -#ifndef elf_backend_got_header_size -#define elf_backend_got_header_size 0 -#endif -#ifndef elf_backend_got_elt_size -#define elf_backend_got_elt_size _bfd_elf_default_got_elt_size -#endif -#ifndef elf_backend_obj_attrs_vendor -#define elf_backend_obj_attrs_vendor NULL -#endif -#ifndef elf_backend_obj_attrs_section -#define elf_backend_obj_attrs_section NULL -#endif -#ifndef elf_backend_obj_attrs_arg_type -#define elf_backend_obj_attrs_arg_type NULL -#endif -#ifndef elf_backend_obj_attrs_section_type -#define elf_backend_obj_attrs_section_type SHT_GNU_ATTRIBUTES -#endif -#ifndef elf_backend_obj_attrs_order -#define elf_backend_obj_attrs_order NULL -#endif -#ifndef elf_backend_obj_attrs_handle_unknown -#define elf_backend_obj_attrs_handle_unknown NULL -#endif -#ifndef elf_backend_parse_gnu_properties -#define elf_backend_parse_gnu_properties NULL -#endif -#ifndef elf_backend_merge_gnu_properties -#define elf_backend_merge_gnu_properties NULL -#endif -#ifndef elf_backend_setup_gnu_properties -#define elf_backend_setup_gnu_properties _bfd_elf_link_setup_gnu_properties -#endif -#ifndef elf_backend_static_tls_alignment -#define elf_backend_static_tls_alignment 1 -#endif -#ifndef elf_backend_post_process_headers -#define elf_backend_post_process_headers _bfd_elf_post_process_headers -#endif -#ifndef elf_backend_print_symbol_all -#define elf_backend_print_symbol_all NULL -#endif -#ifndef elf_backend_output_arch_local_syms -#define elf_backend_output_arch_local_syms NULL -#endif -#ifndef elf_backend_output_arch_syms -#define elf_backend_output_arch_syms NULL -#endif -#ifndef elf_backend_filter_implib_symbols -#define elf_backend_filter_implib_symbols NULL -#endif -#ifndef elf_backend_copy_indirect_symbol -#define elf_backend_copy_indirect_symbol _bfd_elf_link_hash_copy_indirect -#endif -#ifndef elf_backend_hide_symbol -#define elf_backend_hide_symbol _bfd_elf_link_hash_hide_symbol -#endif -#ifndef elf_backend_fixup_symbol -#define elf_backend_fixup_symbol NULL -#endif -#ifndef elf_backend_merge_symbol_attribute -#define elf_backend_merge_symbol_attribute NULL -#endif -#ifndef elf_backend_get_target_dtag -#define elf_backend_get_target_dtag NULL -#endif -#ifndef elf_backend_ignore_undef_symbol -#define elf_backend_ignore_undef_symbol NULL -#endif -#ifndef elf_backend_emit_relocs -#define elf_backend_emit_relocs _bfd_elf_link_output_relocs -#endif -#ifndef elf_backend_update_relocs -#define elf_backend_update_relocs NULL -#endif -#ifndef elf_backend_count_relocs -#define elf_backend_count_relocs NULL -#endif -#ifndef elf_backend_count_additional_relocs -#define elf_backend_count_additional_relocs NULL -#endif -#ifndef elf_backend_sort_relocs_p -#define elf_backend_sort_relocs_p NULL -#endif -#ifndef elf_backend_grok_prstatus -#define elf_backend_grok_prstatus NULL -#endif -#ifndef elf_backend_grok_psinfo -#define elf_backend_grok_psinfo NULL -#endif -#ifndef elf_backend_grok_freebsd_prstatus -#define elf_backend_grok_freebsd_prstatus NULL -#endif -#ifndef elf_backend_write_core_note -#define elf_backend_write_core_note NULL -#endif -#ifndef elf_backend_lookup_section_flags_hook -#define elf_backend_lookup_section_flags_hook NULL -#endif -#ifndef elf_backend_reloc_type_class -#define elf_backend_reloc_type_class _bfd_elf_reloc_type_class -#endif -#ifndef elf_backend_discard_info -#define elf_backend_discard_info NULL -#endif -#ifndef elf_backend_ignore_discarded_relocs -#define elf_backend_ignore_discarded_relocs NULL -#endif -#ifndef elf_backend_action_discarded -#define elf_backend_action_discarded _bfd_elf_default_action_discarded -#endif -#ifndef elf_backend_eh_frame_address_size -#define elf_backend_eh_frame_address_size _bfd_elf_eh_frame_address_size -#endif -#ifndef elf_backend_can_make_relative_eh_frame -#define elf_backend_can_make_relative_eh_frame _bfd_elf_can_make_relative -#endif -#ifndef elf_backend_can_make_lsda_relative_eh_frame -#define elf_backend_can_make_lsda_relative_eh_frame _bfd_elf_can_make_relative -#endif -#ifndef elf_backend_encode_eh_address -#define elf_backend_encode_eh_address _bfd_elf_encode_eh_address -#endif -#ifndef elf_backend_write_section -#define elf_backend_write_section NULL -#endif -#ifndef elf_backend_mips_irix_compat -#define elf_backend_mips_irix_compat NULL -#endif -#ifndef elf_backend_mips_rtype_to_howto -#define elf_backend_mips_rtype_to_howto NULL -#endif - -/* Previously, backends could only use SHT_REL or SHT_RELA relocation - sections, but not both. They defined USE_REL to indicate SHT_REL - sections, and left it undefined to indicated SHT_RELA sections. - For backwards compatibility, we still support this usage. */ -#ifndef USE_REL -#define USE_REL 0 -#endif - -/* Use these in new code. */ -#ifndef elf_backend_may_use_rel_p -#define elf_backend_may_use_rel_p USE_REL -#endif -#ifndef elf_backend_may_use_rela_p -#define elf_backend_may_use_rela_p !USE_REL -#endif -#ifndef elf_backend_default_use_rela_p -#define elf_backend_default_use_rela_p !USE_REL -#endif -#ifndef elf_backend_rela_plts_and_copies_p -#define elf_backend_rela_plts_and_copies_p elf_backend_default_use_rela_p -#endif - -#ifndef elf_backend_rela_normal -#define elf_backend_rela_normal 0 -#endif - -#ifndef elf_backend_dtrel_excludes_plt -#define elf_backend_dtrel_excludes_plt 0 -#endif - -#ifndef elf_backend_plt_sym_val -#define elf_backend_plt_sym_val NULL -#endif -#ifndef elf_backend_relplt_name -#define elf_backend_relplt_name NULL -#endif - -#ifndef ELF_MACHINE_ALT1 -#define ELF_MACHINE_ALT1 0 -#endif - -#ifndef ELF_MACHINE_ALT2 -#define ELF_MACHINE_ALT2 0 -#endif - -#ifndef elf_backend_size_info -#define elf_backend_size_info _bfd_elf64_size_info -#endif - -#ifndef elf_backend_special_sections -#define elf_backend_special_sections NULL -#endif - -#ifndef elf_backend_sign_extend_vma -#define elf_backend_sign_extend_vma 0 -#endif - -#ifndef elf_backend_link_order_error_handler -#define elf_backend_link_order_error_handler _bfd_error_handler -#endif - -#ifndef elf_backend_common_definition -#define elf_backend_common_definition _bfd_elf_common_definition -#endif - -#ifndef elf_backend_common_section_index -#define elf_backend_common_section_index _bfd_elf_common_section_index -#endif - -#ifndef elf_backend_common_section -#define elf_backend_common_section _bfd_elf_common_section -#endif - -#ifndef elf_backend_merge_symbol -#define elf_backend_merge_symbol NULL -#endif - -#ifndef elf_backend_hash_symbol -#define elf_backend_hash_symbol _bfd_elf_hash_symbol -#endif - -#ifndef elf_backend_is_function_type -#define elf_backend_is_function_type _bfd_elf_is_function_type -#endif - -#ifndef elf_backend_maybe_function_sym -#define elf_backend_maybe_function_sym _bfd_elf_maybe_function_sym -#endif - -#ifndef elf_backend_get_reloc_section -#define elf_backend_get_reloc_section _bfd_elf_plt_get_reloc_section -#endif - -#ifndef elf_backend_copy_special_section_fields -#define elf_backend_copy_special_section_fields NULL -#endif - -#ifndef elf_backend_compact_eh_encoding -#define elf_backend_compact_eh_encoding NULL -#endif - -#ifndef elf_backend_cant_unwind_opcode -#define elf_backend_cant_unwind_opcode 0 -#endif - -#ifndef elf_match_priority -#define elf_match_priority \ - (ELF_ARCH == bfd_arch_unknown ? 2 : ELF_OSABI == ELFOSABI_NONE ? 1 : 0) -#endif - -extern const struct elf_size_info _bfd_elf64_size_info; - -static struct elf_backend_data elf64_bed = -{ - ELF_ARCH, /* arch */ - ELF_TARGET_ID, /* target_id */ - ELF_MACHINE_CODE, /* elf_machine_code */ - ELF_OSABI, /* elf_osabi */ - ELF_MAXPAGESIZE, /* maxpagesize */ - ELF_MINPAGESIZE, /* minpagesize */ - ELF_COMMONPAGESIZE, /* commonpagesize */ - ELF_DYNAMIC_SEC_FLAGS, /* dynamic_sec_flags */ - elf_backend_arch_data, - elf_info_to_howto, - elf_info_to_howto_rel, - elf_backend_sym_is_global, - elf_backend_object_p, - elf_backend_symbol_processing, - elf_backend_symbol_table_processing, - elf_backend_get_symbol_type, - elf_backend_archive_symbol_lookup, - elf_backend_name_local_section_symbols, - elf_backend_section_processing, - elf_backend_section_from_shdr, - elf_backend_section_flags, - elf_backend_get_sec_type_attr, - elf_backend_section_from_phdr, - elf_backend_fake_sections, - elf_backend_section_from_bfd_section, - elf_backend_add_symbol_hook, - elf_backend_link_output_symbol_hook, - elf_backend_create_dynamic_sections, - elf_backend_omit_section_dynsym, - elf_backend_relocs_compatible, - elf_backend_check_relocs, - elf_backend_check_directives, - elf_backend_notice_as_needed, - elf_backend_adjust_dynamic_symbol, - elf_backend_always_size_sections, - elf_backend_size_dynamic_sections, - elf_backend_init_index_section, - elf_backend_relocate_section, - elf_backend_finish_dynamic_symbol, - elf_backend_finish_dynamic_sections, - elf_backend_begin_write_processing, - elf_backend_final_write_processing, - elf_backend_additional_program_headers, - elf_backend_modify_segment_map, - elf_backend_modify_program_headers, - elf_backend_allow_non_load_phdr, - elf_backend_gc_keep, - elf_backend_gc_mark_dynamic_ref, - elf_backend_gc_mark_hook, - elf_backend_gc_mark_extra_sections, - elf_backend_post_process_headers, - elf_backend_print_symbol_all, - elf_backend_output_arch_local_syms, - elf_backend_output_arch_syms, - elf_backend_filter_implib_symbols, - elf_backend_copy_indirect_symbol, - elf_backend_hide_symbol, - elf_backend_fixup_symbol, - elf_backend_merge_symbol_attribute, - elf_backend_get_target_dtag, - elf_backend_ignore_undef_symbol, - elf_backend_emit_relocs, - elf_backend_update_relocs, - elf_backend_count_relocs, - elf_backend_count_additional_relocs, - elf_backend_sort_relocs_p, - elf_backend_grok_prstatus, - elf_backend_grok_psinfo, - elf_backend_grok_freebsd_prstatus, - elf_backend_write_core_note, - elf_backend_lookup_section_flags_hook, - elf_backend_reloc_type_class, - elf_backend_discard_info, - elf_backend_ignore_discarded_relocs, - elf_backend_action_discarded, - elf_backend_eh_frame_address_size, - elf_backend_can_make_relative_eh_frame, - elf_backend_can_make_lsda_relative_eh_frame, - elf_backend_encode_eh_address, - elf_backend_write_section, - elf_backend_mips_irix_compat, - elf_backend_mips_rtype_to_howto, - elf_backend_ecoff_debug_swap, - elf_backend_bfd_from_remote_memory, - elf_backend_plt_sym_val, - elf_backend_common_definition, - elf_backend_common_section_index, - elf_backend_common_section, - elf_backend_merge_symbol, - elf_backend_hash_symbol, - elf_backend_is_function_type, - elf_backend_maybe_function_sym, - elf_backend_get_reloc_section, - elf_backend_copy_special_section_fields, - elf_backend_link_order_error_handler, - elf_backend_relplt_name, - ELF_MACHINE_ALT1, - ELF_MACHINE_ALT2, - &elf_backend_size_info, - elf_backend_special_sections, - elf_backend_got_header_size, - elf_backend_got_elt_size, - elf_backend_obj_attrs_vendor, - elf_backend_obj_attrs_section, - elf_backend_obj_attrs_arg_type, - elf_backend_obj_attrs_section_type, - elf_backend_obj_attrs_order, - elf_backend_obj_attrs_handle_unknown, - elf_backend_parse_gnu_properties, - elf_backend_merge_gnu_properties, - elf_backend_setup_gnu_properties, - elf_backend_compact_eh_encoding, - elf_backend_cant_unwind_opcode, - elf_backend_static_tls_alignment, - elf_backend_stack_align, - elf_backend_strtab_flags, - elf_backend_collect, - elf_backend_type_change_ok, - elf_backend_may_use_rel_p, - elf_backend_may_use_rela_p, - elf_backend_default_use_rela_p, - elf_backend_rela_plts_and_copies_p, - elf_backend_rela_normal, - elf_backend_dtrel_excludes_plt, - elf_backend_sign_extend_vma, - elf_backend_want_got_plt, - elf_backend_plt_readonly, - elf_backend_want_plt_sym, - elf_backend_plt_not_loaded, - elf_backend_plt_alignment, - elf_backend_can_gc_sections, - elf_backend_can_refcount, - elf_backend_want_got_sym, - elf_backend_want_dynbss, - elf_backend_want_dynrelro, - elf_backend_want_p_paddr_set_to_zero, - elf_backend_no_page_alias, - elf_backend_default_execstack, - elf_backend_caches_rawsize, - elf_backend_extern_protected_data, - elf_backend_always_renumber_dynsyms, - elf_backend_linux_prpsinfo32_ugid16, - elf_backend_linux_prpsinfo64_ugid16 -}; - -/* Forward declaration for use when initialising alternative_target field. */ -#ifdef TARGET_LITTLE_SYM -extern const bfd_target TARGET_LITTLE_SYM; -#endif - -#ifdef TARGET_BIG_SYM -const bfd_target TARGET_BIG_SYM = -{ - /* name: identify kind of target */ - TARGET_BIG_NAME, - - /* flavour: general indication about file */ - bfd_target_elf_flavour, - - /* byteorder: data is big endian */ - BFD_ENDIAN_BIG, - - /* header_byteorder: header is also big endian */ - BFD_ENDIAN_BIG, - - /* object_flags: mask of all file flags */ - (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS - | DYNAMIC | WP_TEXT | D_PAGED | BFD_COMPRESS | BFD_DECOMPRESS - | BFD_COMPRESS_GABI | BFD_CONVERT_ELF_COMMON | BFD_USE_ELF_STT_COMMON), - - /* section_flags: mask of all section flags */ - (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY - | SEC_CODE | SEC_DATA | SEC_DEBUGGING | SEC_EXCLUDE | SEC_SORT_ENTRIES - | SEC_SMALL_DATA | SEC_MERGE | SEC_STRINGS | SEC_GROUP), - - /* leading_symbol_char: is the first char of a user symbol - predictable, and if so what is it */ - elf_symbol_leading_char, - - /* ar_pad_char: pad character for filenames within an archive header - FIXME: this really has nothing to do with ELF, this is a characteristic - of the archiver and/or os and should be independently tunable */ - '/', - - /* ar_max_namelen: maximum number of characters in an archive header - FIXME: this really has nothing to do with ELF, this is a characteristic - of the archiver and should be independently tunable. The System V ABI, - Chapter 7 (Formats & Protocols), Archive section sets this as 15. */ - 15, - - elf_match_priority, - - /* Routines to byte-swap various sized integers from the data sections */ - bfd_getb64, bfd_getb_signed_64, bfd_putb64, - bfd_getb32, bfd_getb_signed_32, bfd_putb32, - bfd_getb16, bfd_getb_signed_16, bfd_putb16, - - /* Routines to byte-swap various sized integers from the file headers */ - bfd_getb64, bfd_getb_signed_64, bfd_putb64, - bfd_getb32, bfd_getb_signed_32, bfd_putb32, - bfd_getb16, bfd_getb_signed_16, bfd_putb16, - - /* bfd_check_format: check the format of a file being read */ - { _bfd_dummy_target, /* unknown format */ - bfd_elf64_object_p, /* assembler/linker output (object file) */ - bfd_elf64_archive_p, /* an archive */ - bfd_elf64_core_file_p /* a core file */ - }, - - /* bfd_set_format: set the format of a file being written */ - { bfd_false, - bfd_elf64_mkobject, - bfd_elf64_mkarchive, - bfd_elf64_mkcorefile - }, - - /* bfd_write_contents: write cached information into a file being written */ - { bfd_false, - bfd_elf64_write_object_contents, - bfd_elf64_write_archive_contents, - bfd_elf64_write_corefile_contents, - }, - - BFD_JUMP_TABLE_GENERIC (bfd_elf64), - BFD_JUMP_TABLE_COPY (bfd_elf64), - BFD_JUMP_TABLE_CORE (bfd_elf64), -#ifdef bfd_elf64_archive_functions - BFD_JUMP_TABLE_ARCHIVE (bfd_elf64_archive), -#elif defined USE_64_BIT_ARCHIVE - BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_64_bit), -#else - BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff), -#endif - BFD_JUMP_TABLE_SYMBOLS (bfd_elf64), - BFD_JUMP_TABLE_RELOCS (bfd_elf64), - BFD_JUMP_TABLE_WRITE (bfd_elf64), - BFD_JUMP_TABLE_LINK (bfd_elf64), - BFD_JUMP_TABLE_DYNAMIC (bfd_elf64), - - /* Alternative endian target. */ -#ifdef TARGET_LITTLE_SYM - & TARGET_LITTLE_SYM, -#else - NULL, -#endif - - /* backend_data: */ - &elf64_bed -}; -#endif - -#ifdef TARGET_LITTLE_SYM -const bfd_target TARGET_LITTLE_SYM = -{ - /* name: identify kind of target */ - TARGET_LITTLE_NAME, - - /* flavour: general indication about file */ - bfd_target_elf_flavour, - - /* byteorder: data is little endian */ - BFD_ENDIAN_LITTLE, - - /* header_byteorder: header is also little endian */ - BFD_ENDIAN_LITTLE, - - /* object_flags: mask of all file flags */ - (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS - | DYNAMIC | WP_TEXT | D_PAGED | BFD_COMPRESS | BFD_DECOMPRESS - | BFD_COMPRESS_GABI | BFD_CONVERT_ELF_COMMON | BFD_USE_ELF_STT_COMMON), - - /* section_flags: mask of all section flags */ - (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY - | SEC_CODE | SEC_DATA | SEC_DEBUGGING | SEC_EXCLUDE | SEC_SORT_ENTRIES - | SEC_SMALL_DATA | SEC_MERGE | SEC_STRINGS | SEC_GROUP), - - /* leading_symbol_char: is the first char of a user symbol - predictable, and if so what is it */ - elf_symbol_leading_char, - - /* ar_pad_char: pad character for filenames within an archive header - FIXME: this really has nothing to do with ELF, this is a characteristic - of the archiver and/or os and should be independently tunable */ - '/', - - /* ar_max_namelen: maximum number of characters in an archive header - FIXME: this really has nothing to do with ELF, this is a characteristic - of the archiver and should be independently tunable. The System V ABI, - Chapter 7 (Formats & Protocols), Archive section sets this as 15. */ - 15, - - elf_match_priority, - - /* Routines to byte-swap various sized integers from the data sections */ - bfd_getl64, bfd_getl_signed_64, bfd_putl64, - bfd_getl32, bfd_getl_signed_32, bfd_putl32, - bfd_getl16, bfd_getl_signed_16, bfd_putl16, - - /* Routines to byte-swap various sized integers from the file headers */ - bfd_getl64, bfd_getl_signed_64, bfd_putl64, - bfd_getl32, bfd_getl_signed_32, bfd_putl32, - bfd_getl16, bfd_getl_signed_16, bfd_putl16, - - /* bfd_check_format: check the format of a file being read */ - { _bfd_dummy_target, /* unknown format */ - bfd_elf64_object_p, /* assembler/linker output (object file) */ - bfd_elf64_archive_p, /* an archive */ - bfd_elf64_core_file_p /* a core file */ - }, - - /* bfd_set_format: set the format of a file being written */ - { bfd_false, - bfd_elf64_mkobject, - bfd_elf64_mkarchive, - bfd_elf64_mkcorefile - }, - - /* bfd_write_contents: write cached information into a file being written */ - { bfd_false, - bfd_elf64_write_object_contents, - bfd_elf64_write_archive_contents, - bfd_elf64_write_corefile_contents, - }, - - BFD_JUMP_TABLE_GENERIC (bfd_elf64), - BFD_JUMP_TABLE_COPY (bfd_elf64), - BFD_JUMP_TABLE_CORE (bfd_elf64), -#ifdef bfd_elf64_archive_functions - BFD_JUMP_TABLE_ARCHIVE (bfd_elf64_archive), -#elif defined USE_64_BIT_ARCHIVE - BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_64_bit), -#else - BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff), -#endif - BFD_JUMP_TABLE_SYMBOLS (bfd_elf64), - BFD_JUMP_TABLE_RELOCS (bfd_elf64), - BFD_JUMP_TABLE_WRITE (bfd_elf64), - BFD_JUMP_TABLE_LINK (bfd_elf64), - BFD_JUMP_TABLE_DYNAMIC (bfd_elf64), - - /* Alternative endian target. */ -#ifdef TARGET_BIG_SYM - & TARGET_BIG_SYM, -#else - NULL, -#endif - - /* backend_data: */ - &elf64_bed -}; -#endif diff --git a/support/sdbinutils/bfd/libtool b/support/sdbinutils/bfd/libtool deleted file mode 100755 index 680aca8..0000000 --- a/support/sdbinutils/bfd/libtool +++ /dev/null @@ -1,9129 +0,0 @@ -#! /bin/bash - -# libtool - Provide generalized library-building support services. -# Generated automatically by config.status (bfd) 2.30 -# Libtool was configured on host xavier-asus: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009 Free Software Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool 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. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - -# The names of the tagged configurations supported by this script. -available_tags="" - -# ### BEGIN LIBTOOL CONFIG - -# Whether or not to build shared libraries. -build_libtool_libs=no - -# Which release of libtool.m4 was used? -macro_version=2.2.7a -macro_revision=1.3134 - -# Whether or not to build static libraries. -build_old_libs=yes - -# What type of objects to build. -pic_mode=default - -# Whether or not to optimize for fast installation. -fast_install=needless - -# Shell to use when invoking shell scripts. -SHELL="/bin/bash" - -# An echo program that protects backslashes. -ECHO="printf %s\\n" - -# The host system. -host_alias=x86_64-pc-linux-gnu -host=x86_64-pc-linux-gnu -host_os=linux-gnu - -# The build system. -build_alias=x86_64-pc-linux-gnu -build=x86_64-pc-linux-gnu -build_os=linux-gnu - -# A sed program that does not truncate output. -SED="/bin/sed" - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="$SED -e 1s/^X//" - -# A grep program that handles long lines. -GREP="/bin/grep" - -# An ERE matcher. -EGREP="/bin/grep -E" - -# A literal string matcher. -FGREP="/bin/grep -F" - -# A BSD- or MS-compatible name lister. -NM="nm" - -# Whether we need soft or hard links. -LN_S="ln -s" - -# What is the maximum length of a command? -max_cmd_len=1572864 - -# Object file suffix (normally "o"). -objext=o - -# Executable file suffix (normally ""). -exeext= - -# whether the shell understands "unset". -lt_unset=unset - -# turn spaces into newlines. -SP2NL="tr \\040 \\012" - -# turn newlines into spaces. -NL2SP="tr \\015\\012 \\040\\040" - -# An object symbol dumper. -OBJDUMP="objdump" - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method="pass_all" - -# Command to use when deplibs_check_method == "file_magic". -file_magic_cmd="\$MAGIC_CMD" - -# The archiver. -AR="ar" -AR_FLAGS="rc" - -# A symbol stripping program. -STRIP="strip" - -# Commands used to install an old-style archive. -RANLIB="ranlib" -old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib" -old_postuninstall_cmds="" - -# Whether to use a lock for old archive extraction. -lock_old_archive_extraction=no - -# A C compiler. -LTCC="gcc" - -# LTCC compiler flags. -LTCFLAGS="-g -O2" - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'" - -# Transform the output of nm in a proper C declaration. -global_symbol_to_cdecl="sed -n -e 's/^T .* \\(.*\\)\$/extern int \\1();/p' -e 's/^[ABCDGIRSTW]* .* \\(.*\\)\$/extern char \\1;/p'" - -# Transform the output of nm in a C name address pair. -global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (void *) 0},/p' -e 's/^[ABCDGIRSTW]* \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (void *) \\&\\2},/p'" - -# Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (void *) 0},/p' -e 's/^[ABCDGIRSTW]* \\([^ ]*\\) \\(lib[^ ]*\\)\$/ {\"\\2\", (void *) \\&\\2},/p' -e 's/^[ABCDGIRSTW]* \\([^ ]*\\) \\([^ ]*\\)\$/ {\"lib\\2\", (void *) \\&\\2},/p'" - -# The name of the directory that contains temporary libtool files. -objdir=.libs - -# Used to examine libraries when file_magic_cmd begins with "file". -MAGIC_CMD=file - -# Must we lock files when doing compilation? -need_locks="no" - -# Tool to manipulate archived DWARF debug symbol files on Mac OS X. -DSYMUTIL="" - -# Tool to change global to local symbols on Mac OS X. -NMEDIT="" - -# Tool to manipulate fat objects and archives on Mac OS X. -LIPO="" - -# ldd/readelf like tool for Mach-O binaries on Mac OS X. -OTOOL="" - -# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. -OTOOL64="" - -# Old archive suffix (normally "a"). -libext=a - -# Shared library suffix (normally ".so"). -shrext_cmds=".so" - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds="" - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at link time. -variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" - -# Do we need the "lib" prefix for modules? -need_lib_prefix=no - -# Do we need a version for libraries? -need_version=no - -# Library versioning type. -version_type=linux - -# Shared library runtime path variable. -runpath_var=LD_RUN_PATH - -# Shared library path variable. -shlibpath_var=LD_LIBRARY_PATH - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=yes - -# Format of library name prefix. -libname_spec="lib\$name" - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME -library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}" - -# The coded name of the library, if different from the real name. -soname_spec="\${libname}\${release}\${shared_ext}\$major" - -# Permission mode override for installation of shared libraries. -install_override_mode="" - -# Command to use after installation of a shared archive. -postinstall_cmds="" - -# Command to use after uninstallation of a shared archive. -postuninstall_cmds="" - -# Commands used to finish a libtool library installation in a directory. -finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" - -# As "finish_cmds", except a single script fragment to be evaled but -# not shown. -finish_eval="" - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=yes - -# Compile-time system search path for libraries. -sys_lib_search_path_spec="/usr/lib/gcc/x86_64-linux-gnu/7 /usr/lib/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib " - -# Run-time system search path for libraries. -sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/lib/x86_64-linux-gnu/libfakeroot /usr/local/lib/i386-linux-gnu /lib/i386-linux-gnu /usr/lib/i386-linux-gnu /usr/local/lib/i686-linux-gnu /lib/i686-linux-gnu /usr/lib/i686-linux-gnu /usr/local/lib /usr/local/lib/x86_64-linux-gnu /lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu /lib32 /usr/lib32 " - -# Whether dlopen is supported. -dlopen_support=yes - -# Whether dlopen of programs is supported. -dlopen_self=yes - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=no - -# Commands to strip libraries. -old_striplib="strip --strip-debug" -striplib="strip --strip-unneeded" - - -# The linker used to build libraries. -LD="ld -m elf_x86_64" - -# How to create reloadable object files. -reload_flag=" -r" -reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" - -# Commands used to build an old-style archive. -old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib" - -# A language specific compiler. -CC="gcc" - -# Is the compiler the GNU compiler? -with_gcc=yes - -# Compiler flag to turn off builtin functions. -no_builtin_flag=" -fno-builtin" - -# How to pass a linker flag through the compiler. -wl="-Wl," - -# Additional compiler flags for building library objects. -pic_flag=" -fPIC -DPIC" - -# Compiler flag to prevent dynamic linking. -link_static_flag="-static" - -# Does compiler simultaneously support -c and -o options? -compiler_c_o="yes" - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=yes - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=no - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec="\${wl}--export-dynamic" - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive" - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object="no" - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds="" - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds="" - -# Commands used to build a shared archive. -archive_cmds="\$CC -shared \$pic_flag \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" -archive_expsym_cmds="echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~ - cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~ - echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~ - \$CC -shared \$pic_flag \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib" - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds="" -module_expsym_cmds="" - -# Whether we are building with GNU ld or not. -with_gnu_ld="yes" - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag="" - -# Flag that enforces no undefined symbols. -no_undefined_flag="" - -# Flag to hardcode $libdir into a binary during linking. -# This must work even if $libdir does not exist -hardcode_libdir_flag_spec="\${wl}-rpath \${wl}\$libdir" - -# If ld is used when linking, flag to hardcode $libdir into a binary -# during linking. This must work even if $libdir does not exist. -hardcode_libdir_flag_spec_ld="" - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator="" - -# Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=no - -# Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting ${shlibpath_var} if the -# library is relocated. -hardcode_direct_absolute=no - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=no - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=unsupported - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=no - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=no - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=unknown - -# Fix the shell variable $srcfile for the compiler. -fix_srcfile_path="" - -# Set to "yes" if exported symbols are required. -always_export_symbols=no - -# The commands to list exported symbols. -export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms="_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*" - -# Symbols that must always be exported. -include_expsyms="" - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds="" - -# Specify filename containing input files. -file_list_spec="" - -# How to hardcode a shared library path into an executable. -hardcode_action=immediate - -# ### END LIBTOOL CONFIG - -# Generated from ltmain.m4sh. - -# libtool (GNU libtool 1.3134 2009-11-29) 2.2.7a -# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool 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. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -# Usage: $progname [OPTION]... [MODE-ARG]... -# -# Provide generalized library-building support services. -# -# --config show all configuration variables -# --debug enable verbose shell tracing -# -n, --dry-run display commands without modifying any files -# --features display basic configuration information and exit -# --mode=MODE use operation mode MODE -# --no-finish let install mode avoid finish commands -# --preserve-dup-deps don't remove duplicate dependency libraries -# --quiet, --silent don't print informational messages -# --no-quiet, --no-silent -# print informational messages (default) -# --tag=TAG use configuration variables from tag TAG -# -v, --verbose print more informational messages than default -# --no-verbose don't print the extra informational messages -# --version print version information -# -h, --help, --help-all print short, long, or detailed help message -# -# MODE must be one of the following: -# -# clean remove files from the build directory -# compile compile a source file into a libtool object -# execute automatically set library path, then run a program -# finish complete the installation of libtool libraries -# install install libraries or executables -# link create a library or an executable -# uninstall remove libraries from an installed directory -# -# MODE-ARGS vary depending on the MODE. When passed as first option, -# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that. -# Try `$progname --help --mode=MODE' for a more detailed description of MODE. -# -# When reporting a bug, please describe a test case to reproduce it and -# include the following information: -# -# host-triplet: $host -# shell: $SHELL -# compiler: $LTCC -# compiler flags: $LTCFLAGS -# linker: $LD (gnu? $with_gnu_ld) -# $progname: (GNU libtool 1.3134 2009-11-29) 2.2.7a -# automake: $automake_version -# autoconf: $autoconf_version -# -# Report bugs to <bug-libtool@gnu.org>. - -PROGRAM=libtool -PACKAGE=libtool -VERSION=2.2.7a -TIMESTAMP=" 1.3134 2009-11-29" -package_revision=1.3134 - -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' -} - -# NLS nuisances: We save the old values to restore during execute mode. -# Only set LANG and LC_ALL to C if already set. -# These must not be set unconditionally because not all systems understand -# e.g. LANG=C (notably SCO). -lt_user_locale= -lt_safe_locale= -for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES -do - eval "if test \"\${$lt_var+set}\" = set; then - save_$lt_var=\$$lt_var - $lt_var=C - export $lt_var - lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" - lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" - fi" -done - -$lt_unset CDPATH - - - - - - - -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath="$0" - - - -: ${CP="cp -f"} -: ${ECHO=$as_echo} -: ${EGREP="/bin/grep -E"} -: ${FGREP="/bin/grep -F"} -: ${GREP="/bin/grep"} -: ${LN_S="ln -s"} -: ${MAKE="make"} -: ${MKDIR="mkdir"} -: ${MV="mv -f"} -: ${RM="rm -f"} -: ${SED="/mount/endor/wildenhu/local-x86_64/bin/sed"} -: ${SHELL="${CONFIG_SHELL-/bin/sh}"} -: ${Xsed="$SED -e 1s/^X//"} - -# Global variables: -EXIT_SUCCESS=0 -EXIT_FAILURE=1 -EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. -EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. - -exit_status=$EXIT_SUCCESS - -# Make sure IFS has a sensible default -lt_nl=' -' -IFS=" $lt_nl" - -dirname="s,/[^/]*$,," -basename="s,^.*/,," - -# func_dirname_and_basename file append nondir_replacement -# perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# Implementation must be kept synchronized with func_dirname -# and func_basename. For efficiency, we do not delegate to -# those functions but instead duplicate the functionality here. -func_dirname_and_basename () -{ - # Extract subdirectory from the argument. - func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi - func_basename_result=`$ECHO "${1}" | $SED -e "$basename"` -} - -# Generated shell functions inserted here. - -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac -} - -# func_basename file -func_basename () -{ - func_basename_result="${1##*/}" -} - -# func_dirname_and_basename file append nondir_replacement -# perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# Implementation must be kept synchronized with func_dirname -# and func_basename. For efficiency, we do not delegate to -# those functions but instead duplicate the functionality here. -func_dirname_and_basename () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac - func_basename_result="${1##*/}" -} - -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -func_stripname () -{ - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary parameter first. - func_stripname_result=${3} - func_stripname_result=${func_stripname_result#"${1}"} - func_stripname_result=${func_stripname_result%"${2}"} -} - -# func_opt_split -func_opt_split () -{ - func_opt_split_opt=${1%%=*} - func_opt_split_arg=${1#*=} -} - -# func_lo2o object -func_lo2o () -{ - case ${1} in - *.lo) func_lo2o_result=${1%.lo}.${objext} ;; - *) func_lo2o_result=${1} ;; - esac -} - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=${1%.*}.lo -} - -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=$(( $* )) -} - -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=${#1} -} - - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "$1+=\$2" -} -# Generated shell functions inserted here. - -# These SED scripts presuppose an absolute path with a trailing slash. -pathcar='s,^/\([^/]*\).*$,\1,' -pathcdr='s,^/[^/]*,,' -removedotparts=':dotsl - s@/\./@/@g - t dotsl - s,/\.$,/,' -collapseslashes='s@/\{1,\}@/@g' -finalslash='s,/*$,/,' - -# func_normal_abspath PATH -# Remove doubled-up and trailing slashes, "." path components, -# and cancel out any ".." path components in PATH after making -# it an absolute path. -# value returned in "$func_normal_abspath_result" -func_normal_abspath () -{ - # Start from root dir and reassemble the path. - func_normal_abspath_result= - func_normal_abspath_tpath=$1 - func_normal_abspath_altnamespace= - case $func_normal_abspath_tpath in - "") - # Empty path, that just means $cwd. - func_stripname '' '/' "`pwd`" - func_normal_abspath_result=$func_stripname_result - return - ;; - # The next three entries are used to spot a run of precisely - # two leading slashes without using negated character classes; - # we take advantage of case's first-match behaviour. - ///*) - # Unusual form of absolute path, do nothing. - ;; - //*) - # Not necessarily an ordinary path; POSIX reserves leading '//' - # and for example Cygwin uses it to access remote file shares - # over CIFS/SMB, so we conserve a leading double slash if found. - func_normal_abspath_altnamespace=/ - ;; - /*) - # Absolute path, do nothing. - ;; - *) - # Relative path, prepend $cwd. - func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath - ;; - esac - # Cancel out all the simple stuff to save iterations. We also want - # the path to end with a slash for ease of parsing, so make sure - # there is one (and only one) here. - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"` - while :; do - # Processed it all yet? - if test "$func_normal_abspath_tpath" = / ; then - # If we ascended to the root using ".." the result may be empty now. - if test -z "$func_normal_abspath_result" ; then - func_normal_abspath_result=/ - fi - break - fi - func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$pathcar"` - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$pathcdr"` - # Figure out what to do with it - case $func_normal_abspath_tcomponent in - "") - # Trailing empty path component, ignore it. - ;; - ..) - # Parent dir; strip last assembled component from result. - func_dirname "$func_normal_abspath_result" - func_normal_abspath_result=$func_dirname_result - ;; - *) - # Actual path component, append it. - func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent - ;; - esac - done - # Restore leading double-slash if one was found on entry. - func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result -} - -# func_relative_path SRCDIR DSTDIR -# generates a relative path from SRCDIR to DSTDIR, with a trailing -# slash if non-empty, suitable for immediately appending a filename -# without needing to append a separator. -# value returned in "$func_relative_path_result" -func_relative_path () -{ - func_relative_path_result= - func_normal_abspath "$1" - func_relative_path_tlibdir=$func_normal_abspath_result - func_normal_abspath "$2" - func_relative_path_tbindir=$func_normal_abspath_result - - # Ascend the tree starting from libdir - while :; do - # check if we have found a prefix of bindir - case $func_relative_path_tbindir in - $func_relative_path_tlibdir) - # found an exact match - func_relative_path_tcancelled= - break - ;; - $func_relative_path_tlibdir*) - # found a matching prefix - func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" - func_relative_path_tcancelled=$func_stripname_result - if test -z "$func_relative_path_result"; then - func_relative_path_result=. - fi - break - ;; - *) - func_dirname $func_relative_path_tlibdir - func_relative_path_tlibdir=${func_dirname_result} - if test "x$func_relative_path_tlibdir" = x ; then - # Have to descend all the way to the root! - func_relative_path_result=../$func_relative_path_result - func_relative_path_tcancelled=$func_relative_path_tbindir - break - fi - func_relative_path_result=../$func_relative_path_result - ;; - esac - done - - # Now calculate path; take care to avoid doubling-up slashes. - func_stripname '' '/' "$func_relative_path_result" - func_relative_path_result=$func_stripname_result - func_stripname '/' '/' "$func_relative_path_tcancelled" - if test "x$func_stripname_result" != x ; then - func_relative_path_result=${func_relative_path_result}/${func_stripname_result} - fi - - # Normalisation. If bindir is libdir, return empty string, - # else relative path ending with a slash; either way, target - # file name can be directly appended. - if test ! -z "$func_relative_path_result"; then - func_stripname './' '' "$func_relative_path_result/" - func_relative_path_result=$func_stripname_result - fi -} - -# The name of this program: -func_dirname_and_basename "$progpath" -progname=$func_basename_result - -# Make sure we have an absolute path for reexecution: -case $progpath in - [\\/]*|[A-Za-z]:\\*) ;; - *[\\/]*) - progdir=$func_dirname_result - progdir=`cd "$progdir" && pwd` - progpath="$progdir/$progname" - ;; - *) - save_IFS="$IFS" - IFS=: - for progdir in $PATH; do - IFS="$save_IFS" - test -x "$progdir/$progname" && break - done - IFS="$save_IFS" - test -n "$progdir" || progdir=`pwd` - progpath="$progdir/$progname" - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed="${SED}"' -e 1s/^X//' -sed_quote_subst='s/\([`"$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Re-`\' parameter expansions in output of double_quote_subst that were -# `\'-ed in input to the same. If an odd number of `\' preceded a '$' -# in input to double_quote_subst, that '$' was protected from expansion. -# Since each input `\' is now two `\'s, look for any number of runs of -# four `\'s followed by two `\'s and then a '$'. `\' that '$'. -bs='\\' -bs2='\\\\' -bs4='\\\\\\\\' -dollar='\$' -sed_double_backslash="\ - s/$bs4/&\\ -/g - s/^$bs2$dollar/$bs&/ - s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g - s/\n//g" - -# Standard options: -opt_dry_run=false -opt_help=false -opt_quiet=false -opt_verbose=false -opt_warning=: - -# func_echo arg... -# Echo program name prefixed message, along with the current mode -# name if it has been set yet. -func_echo () -{ - $ECHO "$progname${mode+: }$mode: $*" -} - -# func_verbose arg... -# Echo program name prefixed message in verbose mode only. -func_verbose () -{ - $opt_verbose && func_echo ${1+"$@"} - - # A bug in bash halts the script if the last line of a function - # fails when set -e is in force, so we need another command to - # work around that: - : -} - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - -# func_error arg... -# Echo program name prefixed message to standard error. -func_error () -{ - $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2 -} - -# func_warning arg... -# Echo program name prefixed warning message to standard error. -func_warning () -{ - $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2 - - # bash bug again: - : -} - -# func_fatal_error arg... -# Echo program name prefixed message to standard error, and exit. -func_fatal_error () -{ - func_error ${1+"$@"} - exit $EXIT_FAILURE -} - -# func_fatal_help arg... -# Echo program name prefixed message to standard error, followed by -# a help hint, and exit. -func_fatal_help () -{ - func_error ${1+"$@"} - func_fatal_error "$help" -} -help="Try \`$progname --help' for more information." ## default - - -# func_grep expression filename -# Check whether EXPRESSION matches any line of FILENAME, without output. -func_grep () -{ - $GREP "$1" "$2" >/dev/null 2>&1 -} - - -# func_mkdir_p directory-path -# Make sure the entire path to DIRECTORY-PATH is available. -func_mkdir_p () -{ - my_directory_path="$1" - my_dir_list= - - if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then - - # Protect directory names starting with `-' - case $my_directory_path in - -*) my_directory_path="./$my_directory_path" ;; - esac - - # While some portion of DIR does not yet exist... - while test ! -d "$my_directory_path"; do - # ...make a list in topmost first order. Use a colon delimited - # list incase some portion of path contains whitespace. - my_dir_list="$my_directory_path:$my_dir_list" - - # If the last portion added has no slash in it, the list is done - case $my_directory_path in */*) ;; *) break ;; esac - - # ...otherwise throw away the child directory and loop - my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"` - done - my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'` - - save_mkdir_p_IFS="$IFS"; IFS=':' - for my_dir in $my_dir_list; do - IFS="$save_mkdir_p_IFS" - # mkdir can fail with a `File exist' error if two processes - # try to create one of the directories concurrently. Don't - # stop in that case! - $MKDIR "$my_dir" 2>/dev/null || : - done - IFS="$save_mkdir_p_IFS" - - # Bail out if we (or some other process) failed to create a directory. - test -d "$my_directory_path" || \ - func_fatal_error "Failed to create \`$1'" - fi -} - - -# func_mktempdir [string] -# Make a temporary directory that won't clash with other running -# libtool processes, and avoids race conditions if possible. If -# given, STRING is the basename for that directory. -func_mktempdir () -{ - my_template="${TMPDIR-/tmp}/${1-$progname}" - - if test "$opt_dry_run" = ":"; then - # Return a directory name, but don't create it in dry-run mode - my_tmpdir="${my_template}-$$" - else - - # If mktemp works, use that first and foremost - my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` - - if test ! -d "$my_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - my_tmpdir="${my_template}-${RANDOM-0}$$" - - save_mktempdir_umask=`umask` - umask 0077 - $MKDIR "$my_tmpdir" - umask $save_mktempdir_umask - fi - - # If we're not in dry-run mode, bomb out on failure - test -d "$my_tmpdir" || \ - func_fatal_error "cannot create temporary directory \`$my_tmpdir'" - fi - - $ECHO "$my_tmpdir" -} - - -# func_quote_for_eval arg -# Aesthetically quote ARG to be evaled later. -# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT -# is double-quoted, suitable for a subsequent eval, whereas -# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters -# which are still active within double quotes backslashified. -func_quote_for_eval () -{ - case $1 in - *[\\\`\"\$]*) - func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;; - *) - func_quote_for_eval_unquoted_result="$1" ;; - esac - - case $func_quote_for_eval_unquoted_result in - # Double-quote args containing shell metacharacters to delay - # word splitting, command substitution and and variable - # expansion for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" - ;; - *) - func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" - esac -} - - -# func_quote_for_expand arg -# Aesthetically quote ARG to be evaled later; same as above, -# but do not quote variable references. -func_quote_for_expand () -{ - case $1 in - *[\\\`\"]*) - my_arg=`$ECHO "$1" | $SED \ - -e "$double_quote_subst" -e "$sed_double_backslash"` ;; - *) - my_arg="$1" ;; - esac - - case $my_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting and command substitution for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - my_arg="\"$my_arg\"" - ;; - esac - - func_quote_for_expand_result="$my_arg" -} - - -# func_show_eval cmd [fail_exp] -# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. -func_show_eval () -{ - my_cmd="$1" - my_fail_exp="${2-:}" - - ${opt_silent-false} || { - func_quote_for_expand "$my_cmd" - eval "func_echo $func_quote_for_expand_result" - } - - if ${opt_dry_run-false}; then :; else - eval "$my_cmd" - my_status=$? - if test "$my_status" -eq 0; then :; else - eval "(exit $my_status); $my_fail_exp" - fi - fi -} - - -# func_show_eval_locale cmd [fail_exp] -# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. Use the saved locale for evaluation. -func_show_eval_locale () -{ - my_cmd="$1" - my_fail_exp="${2-:}" - - ${opt_silent-false} || { - func_quote_for_expand "$my_cmd" - eval "func_echo $func_quote_for_expand_result" - } - - if ${opt_dry_run-false}; then :; else - eval "$lt_user_locale - $my_cmd" - my_status=$? - eval "$lt_safe_locale" - if test "$my_status" -eq 0; then :; else - eval "(exit $my_status); $my_fail_exp" - fi - fi -} - - - - - -# func_version -# Echo version message to standard output and exit. -func_version () -{ - $SED -n '/(C)/!b go - :more - /\./!{ - N - s/\n# // - b more - } - :go - /^# '$PROGRAM' (GNU /,/# warranty; / { - s/^# // - s/^# *$// - s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ - p - }' < "$progpath" - exit $? -} - -# func_usage -# Echo short help message to standard output and exit. -func_usage () -{ - $SED -n '/^# Usage:/,/^# *-h/ { - s/^# // - s/^# *$// - s/\$progname/'$progname'/ - p - }' < "$progpath" - echo - $ECHO "run \`$progname --help | more' for full usage" - exit $? -} - -# func_help [NOEXIT] -# Echo long help message to standard output and exit, -# unless 'noexit' is passed as argument. -func_help () -{ - $SED -n '/^# Usage:/,/# Report bugs to/ { - s/^# // - s/^# *$// - s*\$progname*'$progname'* - s*\$host*'"$host"'* - s*\$SHELL*'"$SHELL"'* - s*\$LTCC*'"$LTCC"'* - s*\$LTCFLAGS*'"$LTCFLAGS"'* - s*\$LD*'"$LD"'* - s/\$with_gnu_ld/'"$with_gnu_ld"'/ - s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/ - s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/ - p - }' < "$progpath" - ret=$? - if test -z "$1"; then - exit $ret - fi -} - -# func_missing_arg argname -# Echo program name prefixed message to standard error and set global -# exit_cmd. -func_missing_arg () -{ - func_error "missing argument for $1" - exit_cmd=exit -} - -exit_cmd=: - - - - - - -magic="%%%MAGIC variable%%%" -magic_exe="%%%MAGIC EXE variable%%%" - -# Global variables. -# $mode is unset -nonopt= -execute_dlfiles= -preserve_args= -lo2o="s/\\.lo\$/.${objext}/" -o2lo="s/\\.${objext}\$/.lo/" -extracted_archives= -extracted_serial=0 - -opt_dry_run=false -opt_finish=: -opt_duplicate_deps=false -opt_silent=false -opt_debug=: - -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= - -# func_fatal_configuration arg... -# Echo program name prefixed message to standard error, followed by -# a configuration failure hint, and exit. -func_fatal_configuration () -{ - func_error ${1+"$@"} - func_error "See the $PACKAGE documentation for more information." - func_fatal_error "Fatal configuration error." -} - - -# func_config -# Display the configuration for all the tags in this script. -func_config () -{ - re_begincf='^# ### BEGIN LIBTOOL' - re_endcf='^# ### END LIBTOOL' - - # Default configuration. - $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" - - # Now print the configurations for the tags. - for tagname in $taglist; do - $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" - done - - exit $? -} - -# func_features -# Display the features supported by this script. -func_features () -{ - echo "host: $host" - if test "$build_libtool_libs" = yes; then - echo "enable shared libraries" - else - echo "disable shared libraries" - fi - if test "$build_old_libs" = yes; then - echo "enable static libraries" - else - echo "disable static libraries" - fi - - exit $? -} - -# func_enable_tag tagname -# Verify that TAGNAME is valid, and either flag an error and exit, or -# enable the TAGNAME tag. We also add TAGNAME to the global $taglist -# variable here. -func_enable_tag () -{ - # Global variable: - tagname="$1" - - re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" - re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" - sed_extractcf="/$re_begincf/,/$re_endcf/p" - - # Validate tagname. - case $tagname in - *[!-_A-Za-z0-9,/]*) - func_fatal_error "invalid tag name: $tagname" - ;; - esac - - # Don't test for the "default" C tag, as we know it's - # there but not specially marked. - case $tagname in - CC) ;; - *) - if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then - taglist="$taglist $tagname" - - # Evaluate the configuration. Be careful to quote the path - # and the sed script, to avoid splitting on whitespace, but - # also don't use non-portable quotes within backquotes within - # quotes we have to do it in 2 steps: - extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` - eval "$extractedcf" - else - func_error "ignoring unknown tag $tagname" - fi - ;; - esac -} - -# Parse options once, thoroughly. This comes as soon as possible in -# the script to make things like `libtool --version' happen quickly. -{ - - # Shorthand for --mode=foo, only valid as the first argument - case $1 in - clean|clea|cle|cl) - shift; set dummy --mode clean ${1+"$@"}; shift - ;; - compile|compil|compi|comp|com|co|c) - shift; set dummy --mode compile ${1+"$@"}; shift - ;; - execute|execut|execu|exec|exe|ex|e) - shift; set dummy --mode execute ${1+"$@"}; shift - ;; - finish|finis|fini|fin|fi|f) - shift; set dummy --mode finish ${1+"$@"}; shift - ;; - install|instal|insta|inst|ins|in|i) - shift; set dummy --mode install ${1+"$@"}; shift - ;; - link|lin|li|l) - shift; set dummy --mode link ${1+"$@"}; shift - ;; - uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) - shift; set dummy --mode uninstall ${1+"$@"}; shift - ;; - esac - - # Parse non-mode specific arguments: - while test "$#" -gt 0; do - opt="$1" - shift - - case $opt in - --config) func_config ;; - - --debug) preserve_args="$preserve_args $opt" - func_echo "enabling shell trace mode" - opt_debug='set -x' - $opt_debug - ;; - - -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break - execute_dlfiles="$execute_dlfiles $1" - shift - ;; - - --dry-run | -n) opt_dry_run=: ;; - --features) func_features ;; - --finish) mode="finish" ;; - --no-finish) opt_finish=false ;; - - --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break - case $1 in - # Valid mode arguments: - clean) ;; - compile) ;; - execute) ;; - finish) ;; - install) ;; - link) ;; - relink) ;; - uninstall) ;; - - # Catch anything else as an error - *) func_error "invalid argument for $opt" - exit_cmd=exit - break - ;; - esac - - mode="$1" - shift - ;; - - --preserve-dup-deps) - opt_duplicate_deps=: ;; - - --quiet|--silent) preserve_args="$preserve_args $opt" - opt_silent=: - opt_verbose=false - ;; - - --no-quiet|--no-silent) - preserve_args="$preserve_args $opt" - opt_silent=false - ;; - - --verbose| -v) preserve_args="$preserve_args $opt" - opt_silent=false - opt_verbose=: - ;; - - --no-verbose) preserve_args="$preserve_args $opt" - opt_verbose=false - ;; - - --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break - preserve_args="$preserve_args $opt $1" - func_enable_tag "$1" # tagname is set here - shift - ;; - - # Separate optargs to long options: - -dlopen=*|--mode=*|--tag=*) - func_opt_split "$opt" - set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"} - shift - ;; - - -\?|-h) func_usage ;; - --help) opt_help=: ;; - --help-all) opt_help=': help-all' ;; - --version) func_version ;; - - -*) func_fatal_help "unrecognized option \`$opt'" ;; - - *) nonopt="$opt" - break - ;; - esac - done - - - case $host in - *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* ) - # don't eliminate duplications in $postdeps and $predeps - opt_duplicate_compiler_generated_deps=: - ;; - *) - opt_duplicate_compiler_generated_deps=$opt_duplicate_deps - ;; - esac - - # Having warned about all mis-specified options, bail out if - # anything was wrong. - $exit_cmd $EXIT_FAILURE -} - -# func_check_version_match -# Ensure that we are using m4 macros, and libtool script from the same -# release of libtool. -func_check_version_match () -{ - if test "$package_revision" != "$macro_revision"; then - if test "$VERSION" != "$macro_version"; then - if test -z "$macro_version"; then - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from an older release. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - fi - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, -$progname: but the definition of this LT_INIT comes from revision $macro_revision. -$progname: You should recreate aclocal.m4 with macros from revision $package_revision -$progname: of $PACKAGE $VERSION and run autoconf again. -_LT_EOF - fi - - exit $EXIT_MISMATCH - fi -} - - -## ----------- ## -## Main. ## -## ----------- ## - -$opt_help || { - # Sanity checks first: - func_check_version_match - - if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then - func_fatal_configuration "not configured to build any kind of library" - fi - - test -z "$mode" && func_fatal_error "error: you must specify a MODE." - - - # Darwin sucks - eval "std_shrext=\"$shrext_cmds\"" - - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$execute_dlfiles" && test "$mode" != execute; then - func_error "unrecognized option \`-dlopen'" - $ECHO "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Change the help message to a mode-specific one. - generic_help="$help" - help="Try \`$progname --help --mode=$mode' for more information." -} - - -# func_lalib_p file -# True iff FILE is a libtool `.la' library or `.lo' object file. -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_lalib_p () -{ - test -f "$1" && - $SED -e 4q "$1" 2>/dev/null \ - | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 -} - -# func_lalib_unsafe_p file -# True iff FILE is a libtool `.la' library or `.lo' object file. -# This function implements the same check as func_lalib_p without -# resorting to external programs. To this end, it redirects stdin and -# closes it afterwards, without saving the original file descriptor. -# As a safety measure, use it only where a negative result would be -# fatal anyway. Works if `file' does not exist. -func_lalib_unsafe_p () -{ - lalib_p=no - if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then - for lalib_p_l in 1 2 3 4 - do - read lalib_p_line - case "$lalib_p_line" in - \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; - esac - done - exec 0<&5 5<&- - fi - test "$lalib_p" = yes -} - -# func_ltwrapper_script_p file -# True iff FILE is a libtool wrapper script -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_script_p () -{ - func_lalib_p "$1" -} - -# func_ltwrapper_executable_p file -# True iff FILE is a libtool wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_executable_p () -{ - func_ltwrapper_exec_suffix= - case $1 in - *.exe) ;; - *) func_ltwrapper_exec_suffix=.exe ;; - esac - $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 -} - -# func_ltwrapper_scriptname file -# Assumes file is an ltwrapper_executable -# uses $file to determine the appropriate filename for a -# temporary ltwrapper_script. -func_ltwrapper_scriptname () -{ - func_ltwrapper_scriptname_result="" - if func_ltwrapper_executable_p "$1"; then - func_dirname_and_basename "$1" "" "." - func_stripname '' '.exe' "$func_basename_result" - func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" - fi -} - -# func_ltwrapper_p file -# True iff FILE is a libtool wrapper script or wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_p () -{ - func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" -} - - -# func_execute_cmds commands fail_cmd -# Execute tilde-delimited COMMANDS. -# If FAIL_CMD is given, eval that upon failure. -# FAIL_CMD may read-access the current command in variable CMD! -func_execute_cmds () -{ - $opt_debug - save_ifs=$IFS; IFS='~' - for cmd in $1; do - IFS=$save_ifs - eval "cmd=\"$cmd\"" - func_show_eval "$cmd" "${2-:}" - done - IFS=$save_ifs -} - - -# func_source file -# Source FILE, adding directory component if necessary. -# Note that it is not necessary on cygwin/mingw to append a dot to -# FILE even if both FILE and FILE.exe exist: automatic-append-.exe -# behavior happens only for exec(3), not for open(2)! Also, sourcing -# `FILE.' does not work on cygwin managed mounts. -func_source () -{ - $opt_debug - case $1 in - */* | *\\*) . "$1" ;; - *) . "./$1" ;; - esac -} - - -# func_infer_tag arg -# Infer tagged configuration to use if any are available and -# if one wasn't chosen via the "--tag" command line option. -# Only attempt this if the compiler in the base compile -# command doesn't match the default compiler. -# arg is usually of the form 'gcc ...' -func_infer_tag () -{ - $opt_debug - if test -n "$available_tags" && test -z "$tagname"; then - CC_quoted= - for arg in $CC; do - func_quote_for_eval "$arg" - CC_quoted="$CC_quoted $func_quote_for_eval_result" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case $@ in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" - CC_quoted= - for arg in $CC; do - # Double-quote args containing other shell metacharacters. - func_quote_for_eval "$arg" - CC_quoted="$CC_quoted $func_quote_for_eval_result" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case "$@ " in - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - func_echo "unable to infer tagged configuration" - func_fatal_error "specify a tag with \`--tag'" -# else -# func_verbose "using $tagname tagged configuration" - fi - ;; - esac - fi -} - - - -# func_write_libtool_object output_name pic_name nonpic_name -# Create a libtool object file (analogous to a ".la" file), -# but don't create it if we're doing a dry run. -func_write_libtool_object () -{ - write_libobj=${1} - if test "$build_libtool_libs" = yes; then - write_lobj=\'${2}\' - else - write_lobj=none - fi - - if test "$build_old_libs" = yes; then - write_oldobj=\'${3}\' - else - write_oldobj=none - fi - - $opt_dry_run || { - cat >${write_libobj}T <<EOF -# $write_libobj - a libtool object file -# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -pic_object=$write_lobj - -# Name of the non-PIC object -non_pic_object=$write_oldobj - -EOF - $MV "${write_libobj}T" "${write_libobj}" - } -} - -# func_mode_compile arg... -func_mode_compile () -{ - $opt_debug - # Get the compilation command and the source file. - base_compile= - srcfile="$nonopt" # always keep a non-empty value in "srcfile" - suppress_opt=yes - suppress_output= - arg_mode=normal - libobj= - later= - pie_flag= - - for arg - do - case $arg_mode in - arg ) - # do not "continue". Instead, add this to base_compile - lastarg="$arg" - arg_mode=normal - ;; - - target ) - libobj="$arg" - arg_mode=normal - continue - ;; - - normal ) - # Accept any command-line options. - case $arg in - -o) - test -n "$libobj" && \ - func_fatal_error "you cannot specify \`-o' more than once" - arg_mode=target - continue - ;; - - -pie | -fpie | -fPIE) - pie_flag="$pie_flag $arg" - continue - ;; - - -shared | -static | -prefer-pic | -prefer-non-pic) - later="$later $arg" - continue - ;; - - -no-suppress) - suppress_opt=no - continue - ;; - - -Xcompiler) - arg_mode=arg # the next one goes into the "base_compile" arg list - continue # The current "srcfile" will either be retained or - ;; # replaced later. I would guess that would be a bug. - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - lastarg= - save_ifs="$IFS"; IFS=',' - for arg in $args; do - IFS="$save_ifs" - func_quote_for_eval "$arg" - lastarg="$lastarg $func_quote_for_eval_result" - done - IFS="$save_ifs" - func_stripname ' ' '' "$lastarg" - lastarg=$func_stripname_result - - # Add the arguments to base_compile. - base_compile="$base_compile $lastarg" - continue - ;; - - *) - # Accept the current argument as the source file. - # The previous "srcfile" becomes the current argument. - # - lastarg="$srcfile" - srcfile="$arg" - ;; - esac # case $arg - ;; - esac # case $arg_mode - - # Aesthetically quote the previous argument. - func_quote_for_eval "$lastarg" - base_compile="$base_compile $func_quote_for_eval_result" - done # for arg - - case $arg_mode in - arg) - func_fatal_error "you must specify an argument for -Xcompile" - ;; - target) - func_fatal_error "you must specify a target with \`-o'" - ;; - *) - # Get the name of the library object. - test -z "$libobj" && { - func_basename "$srcfile" - libobj="$func_basename_result" - } - ;; - esac - - # Recognize several different file suffixes. - # If the user specifies -o file.o, it is replaced with file.lo - case $libobj in - *.[cCFSifmso] | \ - *.ada | *.adb | *.ads | *.asm | \ - *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ - *.[fF][09]? | *.for | *.java | *.obj | *.sx | *.cu | *.cup) - func_xform "$libobj" - libobj=$func_xform_result - ;; - esac - - case $libobj in - *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; - *) - func_fatal_error "cannot determine name of library object from \`$libobj'" - ;; - esac - - func_infer_tag $base_compile - - for arg in $later; do - case $arg in - -shared) - test "$build_libtool_libs" != yes && \ - func_fatal_configuration "can not build a shared library" - build_old_libs=no - continue - ;; - - -static) - build_libtool_libs=no - build_old_libs=yes - continue - ;; - - -prefer-pic) - pic_mode=yes - continue - ;; - - -prefer-non-pic) - pic_mode=no - continue - ;; - esac - done - - func_quote_for_eval "$libobj" - test "X$libobj" != "X$func_quote_for_eval_result" \ - && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ - && func_warning "libobj name \`$libobj' may not contain shell special characters." - func_dirname_and_basename "$obj" "/" "" - objname="$func_basename_result" - xdir="$func_dirname_result" - lobj=${xdir}$objdir/$objname - - test -z "$base_compile" && \ - func_fatal_help "you must specify a compilation command" - - # Delete any leftover library objects. - if test "$build_old_libs" = yes; then - removelist="$obj $lobj $libobj ${libobj}T" - else - removelist="$lobj $libobj ${libobj}T" - fi - - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in - cygwin* | mingw* | pw32* | os2* | cegcc*) - pic_mode=default - ;; - esac - if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi - - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test "$compiler_c_o" = no; then - output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext} - lockfile="$output_obj.lock" - else - output_obj= - need_locks=no - lockfile= - fi - - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test "$need_locks" = yes; then - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - elif test "$need_locks" = warn; then - if test -f "$lockfile"; then - $ECHO "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - removelist="$removelist $output_obj" - $ECHO "$srcfile" > "$lockfile" - fi - - $opt_dry_run || $RM $removelist - removelist="$removelist $lockfile" - trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 - - if test -n "$fix_srcfile_path"; then - eval "srcfile=\"$fix_srcfile_path\"" - fi - func_quote_for_eval "$srcfile" - qsrcfile=$func_quote_for_eval_result - - # Only build a PIC object if we are building libtool libraries. - if test "$build_libtool_libs" = yes; then - # Without this assignment, base_compile gets emptied. - fbsd_hideous_sh_bug=$base_compile - - if test "$pic_mode" != no; then - command="$base_compile $qsrcfile $pic_flag" - else - # Don't build PIC code - command="$base_compile $qsrcfile" - fi - - func_mkdir_p "$xdir$objdir" - - if test -z "$output_obj"; then - # Place PIC objects in $objdir - command="$command -o $lobj" - fi - - func_show_eval_locale "$command" \ - 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' - - if test "$need_locks" = warn && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed, then go on to compile the next one - if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then - func_show_eval '$MV "$output_obj" "$lobj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - - # Allow error messages only from the first compilation. - if test "$suppress_opt" = yes; then - suppress_output=' >/dev/null 2>&1' - fi - fi - - # Only build a position-dependent object if we build old libraries. - if test "$build_old_libs" = yes; then - if test "$pic_mode" != yes; then - # Don't build PIC code - command="$base_compile $qsrcfile$pie_flag" - else - command="$base_compile $qsrcfile $pic_flag" - fi - if test "$compiler_c_o" = yes; then - command="$command -o $obj" - fi - - # Suppress compiler output if we already did a PIC compilation. - command="$command$suppress_output" - func_show_eval_locale "$command" \ - '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' - - if test "$need_locks" = warn && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed - if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then - func_show_eval '$MV "$output_obj" "$obj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - fi - - $opt_dry_run || { - func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" - - # Unlock the critical section if it was locked - if test "$need_locks" != no; then - removelist=$lockfile - $RM "$lockfile" - fi - } - - exit $EXIT_SUCCESS -} - -$opt_help || { - test "$mode" = compile && func_mode_compile ${1+"$@"} -} - -func_mode_help () -{ - # We need to display help for each of the modes. - case $mode in - "") - # Generic help is extracted from the usage comments - # at the start of this file. - func_help - ;; - - clean) - $ECHO \ -"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - -Remove files from the build directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - - compile) - $ECHO \ -"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -no-suppress do not suppress compiler output for multiple passes - -prefer-pic try to building PIC objects only - -prefer-non-pic try to building non-PIC objects only - -shared do not build a \`.o' file suitable for static linking - -static only build a \`.o' file suitable for static linking - -Wc,FLAG pass FLAG directly to the compiler - -COMPILE-COMMAND is a command to be used in creating a \`standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix \`.c' with the -library object suffix, \`.lo'." - ;; - - execute) - $ECHO \ -"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to \`-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - - finish) - $ECHO \ -"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the \`--dry-run' option if you just want to see what would be executed." - ;; - - install) - $ECHO \ -"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the \`install' or \`cp' program. - -The following components of INSTALL-COMMAND are treated specially: - - -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - - link) - $ECHO \ -"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -bindir BINDIR specify path to binaries directory (for systems where - libraries must be found in the PATH setting at runtime) - -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE Use a list of object files found in FILE to specify objects - -precious-files-regex REGEX - don't remove output files matching REGEX - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -shared only do dynamic linking of libtool libraries - -shrext SUFFIX override the standard shared library file extension - -static do not do any dynamic linking of uninstalled libtool libraries - -static-libtool-libs - do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -weak LIBNAME declare that the target provides the LIBNAME interface - -Wc,FLAG - -Xcompiler FLAG pass linker-specific FLAG directly to the compiler - -Wl,FLAG - -Xlinker FLAG pass linker-specific FLAG directly to the linker - -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) - -All other options (arguments beginning with \`-') are ignored. - -Every other argument is treated as a filename. Files ending in \`.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in \`.la', then a libtool library is created, -only library objects (\`.lo' files) may be specified, and \`-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created -using \`ar' and \`ranlib', or on Windows using \`lib'. - -If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file -is created, otherwise an executable program is created." - ;; - - uninstall) - $ECHO \ -"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - - *) - func_fatal_help "invalid operation mode \`$mode'" - ;; - esac - - echo - $ECHO "Try \`$progname --help' for more information about other modes." -} - -# Now that we've collected a possible --mode arg, show help if necessary -if $opt_help; then - if test "$opt_help" = :; then - func_mode_help - else - { - func_help noexit - for mode in compile link execute install finish uninstall clean; do - func_mode_help - done - } | sed -n '1p; 2,$s/^Usage:/ or: /p' - { - func_help noexit - for mode in compile link execute install finish uninstall clean; do - echo - func_mode_help - done - } | - sed '1d - /^When reporting/,/^Report/{ - H - d - } - $x - /information about other modes/d - /more detailed .*MODE/d - s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' - fi - exit $? -fi - - -# func_mode_execute arg... -func_mode_execute () -{ - $opt_debug - # The first argument is the command name. - cmd="$nonopt" - test -z "$cmd" && \ - func_fatal_help "you must specify a COMMAND" - - # Handle -dlopen flags immediately. - for file in $execute_dlfiles; do - test -f "$file" \ - || func_fatal_help "\`$file' is not a file" - - dir= - case $file in - *.la) - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "\`$lib' is not a valid libtool archive" - - # Read the libtool library. - dlname= - library_names= - func_source "$file" - - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && \ - func_warning "\`$file' was not linked with \`-export-dynamic'" - continue - fi - - func_dirname "$file" "" "." - dir="$func_dirname_result" - - if test -f "$dir/$objdir/$dlname"; then - dir="$dir/$objdir" - else - if test ! -f "$dir/$dlname"; then - func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" - fi - fi - ;; - - *.lo) - # Just add the directory containing the .lo file. - func_dirname "$file" "" "." - dir="$func_dirname_result" - ;; - - *) - func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" - continue - ;; - esac - - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir="$absdir" - - # Now add the directory to shlibpath_var. - if eval test -z \"\$$shlibpath_var\"; then - eval $shlibpath_var=\$dir - else - eval $shlibpath_var=\$dir:\$$shlibpath_var - fi - done - - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic="$magic" - - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -* | *.la | *.lo ) ;; - *) - # Do a test to see if this is really a libtool program. - if func_ltwrapper_script_p "$file"; then - func_source "$file" - # Transform arg to wrapped name. - file="$progdir/$program" - elif func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - func_source "$func_ltwrapper_scriptname_result" - # Transform arg to wrapped name. - file="$progdir/$program" - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - func_quote_for_eval "$file" - args="$args $func_quote_for_eval_result" - done - - if test "X$opt_dry_run" = Xfalse; then - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi - - # Restore saved environment variables - for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES - do - eval "if test \"\${save_$lt_var+set}\" = set; then - $lt_var=\$save_$lt_var; export $lt_var - else - $lt_unset $lt_var - fi" - done - - # Now prepare to actually exec the command. - exec_cmd="\$cmd$args" - else - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" - echo "export $shlibpath_var" - fi - $ECHO "$cmd$args" - exit $EXIT_SUCCESS - fi -} - -test "$mode" = execute && func_mode_execute ${1+"$@"} - - -# func_mode_finish arg... -func_mode_finish () -{ - $opt_debug - libdirs="$nonopt" - admincmds= - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for dir - do - libdirs="$libdirs $dir" - done - - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - func_execute_cmds "$finish_cmds" 'admincmds="$admincmds -'"$cmd"'"' - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $opt_dry_run || eval "$cmds" || admincmds="$admincmds - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - $opt_silent && exit $EXIT_SUCCESS - - echo "----------------------------------------------------------------------" - echo "Libraries have been installed in:" - for libdir in $libdirs; do - $ECHO " $libdir" - done - echo - echo "If you ever happen to want to link against installed libraries" - echo "in a given directory, LIBDIR, you must either use libtool, and" - echo "specify the full pathname of the library, or use the \`-LLIBDIR'" - echo "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - echo " - add LIBDIR to the \`$shlibpath_var' environment variable" - echo " during execution" - fi - if test -n "$runpath_var"; then - echo " - add LIBDIR to the \`$runpath_var' environment variable" - echo " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval "flag=\"$hardcode_libdir_flag_spec\"" - - $ECHO " - use the \`$flag' linker flag" - fi - if test -n "$admincmds"; then - $ECHO " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" - fi - echo - - echo "See any operating system documentation about shared libraries for" - case $host in - solaris2.[6789]|solaris2.1[0-9]) - echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" - echo "pages." - ;; - *) - echo "more information, such as the ld(1) and ld.so(8) manual pages." - ;; - esac - echo "----------------------------------------------------------------------" - exit $EXIT_SUCCESS -} - -test "$mode" = finish && func_mode_finish ${1+"$@"} - - -# func_mode_install arg... -func_mode_install () -{ - $opt_debug - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || - # Allow the use of GNU shtool's install command. - case $nonopt in *shtool*) :;; *) false;; esac; then - # Aesthetically quote it. - func_quote_for_eval "$nonopt" - install_prog="$func_quote_for_eval_result " - arg=$1 - shift - else - install_prog= - arg=$nonopt - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - func_quote_for_eval "$arg" - install_prog="$install_prog$func_quote_for_eval_result" - install_shared_prog=$install_prog - case " $install_prog " in - *[\\\ /]cp\ *) install_cp=: ;; - *) install_cp=false ;; - esac - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=no - stripme= - no_mode=: - for arg - do - arg2= - if test -n "$dest"; then - files="$files $dest" - dest=$arg - continue - fi - - case $arg in - -d) isdir=yes ;; - -f) - if $install_cp; then :; else - prev=$arg - fi - ;; - -g | -m | -o) - prev=$arg - ;; - -s) - stripme=" -s" - continue - ;; - -*) - ;; - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - if test "x$prev" = x-m && test -n "$install_override_mode"; then - arg2=$install_override_mode - no_mode=false - fi - prev= - else - dest=$arg - continue - fi - ;; - esac - - # Aesthetically quote the argument. - func_quote_for_eval "$arg" - install_prog="$install_prog $func_quote_for_eval_result" - if test -n "$arg2"; then - func_quote_for_eval "$arg2" - fi - install_shared_prog="$install_shared_prog $func_quote_for_eval_result" - done - - test -z "$install_prog" && \ - func_fatal_help "you must specify an install program" - - test -n "$prev" && \ - func_fatal_help "the \`$prev' option requires an argument" - - if test -n "$install_override_mode" && $no_mode; then - if $install_cp; then :; else - func_quote_for_eval "$install_override_mode" - install_shared_prog="$install_shared_prog -m $func_quote_for_eval_result" - fi - fi - - if test -z "$files"; then - if test -z "$dest"; then - func_fatal_help "no file or destination specified" - else - func_fatal_help "you must specify a destination" - fi - fi - - # Strip any trailing slash from the destination. - func_stripname '' '/' "$dest" - dest=$func_stripname_result - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=yes - if test "$isdir" = yes; then - destdir="$dest" - destname= - else - func_dirname_and_basename "$dest" "" "." - destdir="$func_dirname_result" - destname="$func_basename_result" - - # Not a directory, so check to see that there is only one file specified. - set dummy $files; shift - test "$#" -gt 1 && \ - func_fatal_help "\`$dest' is not a directory" - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - func_fatal_help "\`$destdir' must be an absolute directory name" - ;; - esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do - - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - staticlibs="$staticlibs $file" - ;; - - *.la) - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "\`$file' is not a valid libtool archive" - - library_names= - old_library= - relink_command= - func_source "$file" - - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) current_libdirs="$current_libdirs $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) future_libdirs="$future_libdirs $libdir" ;; - esac - fi - - func_dirname "$file" "/" "" - dir="$func_dirname_result" - dir="$dir$objdir" - - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` - - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that - # are installed to the same prefix. - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. - test "$inst_prefix_dir" = "$destdir" && \ - func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` - else - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` - fi - - func_warning "relinking \`$file'" - func_show_eval "$relink_command" \ - 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' - fi - - # See the names of the shared library. - set dummy $library_names; shift - if test -n "$1"; then - realname="$1" - shift - - srcname="$realname" - test -n "$relink_command" && srcname="$realname"T - - # Install the shared library and build the symlinks. - func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ - 'exit $?' - tstripme="$stripme" - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - case $realname in - *.dll.a) - tstripme="" - ;; - esac - ;; - esac - if test -n "$tstripme" && test -n "$striplib"; then - func_show_eval "$striplib $destdir/$realname" 'exit $?' - fi - - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - # Try `ln -sf' first, because the `ln' binary might depend on - # the symlink we replace! Solaris /bin/ln does not understand -f, - # so we also need to try rm && ln -s. - for linkname - do - test "$linkname" != "$realname" \ - && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" - done - fi - - # Do each command in the postinstall commands. - lib="$destdir/$realname" - func_execute_cmds "$postinstall_cmds" 'exit $?' - fi - - # Install the pseudo-library for information purposes. - func_basename "$file" - name="$func_basename_result" - instname="$dir/$name"i - func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' - - # Maybe install the static library, too. - test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" - ;; - - *.lo) - # Install (i.e. copy) a libtool object. - - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - func_basename "$file" - destfile="$func_basename_result" - destfile="$destdir/$destfile" - fi - - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - func_lo2o "$destfile" - staticdest=$func_lo2o_result - ;; - *.$objext) - staticdest="$destfile" - destfile= - ;; - *) - func_fatal_help "cannot copy a libtool object to \`$destfile'" - ;; - esac - - # Install the libtool object if requested. - test -n "$destfile" && \ - func_show_eval "$install_prog $file $destfile" 'exit $?' - - # Install the old object if enabled. - if test "$build_old_libs" = yes; then - # Deduce the name of the old-style object file. - func_lo2o "$file" - staticobj=$func_lo2o_result - func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' - fi - exit $EXIT_SUCCESS - ;; - - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - func_basename "$file" - destfile="$func_basename_result" - destfile="$destdir/$destfile" - fi - - # If the file is missing, and there is a .exe on the end, strip it - # because it is most likely a libtool script we actually want to - # install - stripped_ext="" - case $file in - *.exe) - if test ! -f "$file"; then - func_stripname '' '.exe' "$file" - file=$func_stripname_result - stripped_ext=".exe" - fi - ;; - esac - - # Do a test to see if this is really a libtool program. - case $host in - *cygwin* | *mingw*) - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - wrapper=$func_ltwrapper_scriptname_result - else - func_stripname '' '.exe' "$file" - wrapper=$func_stripname_result - fi - ;; - *) - wrapper=$file - ;; - esac - if func_ltwrapper_script_p "$wrapper"; then - notinst_deplibs= - relink_command= - - func_source "$wrapper" - - # Check the variables that should have been set. - test -z "$generated_by_libtool_version" && \ - func_fatal_error "invalid libtool wrapper script \`$wrapper'" - - finalize=yes - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - func_source "$lib" - fi - libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test - if test -n "$libdir" && test ! -f "$libfile"; then - func_warning "\`$lib' has not been installed in \`$libdir'" - finalize=no - fi - done - - relink_command= - func_source "$wrapper" - - outputname= - if test "$fast_install" = no && test -n "$relink_command"; then - $opt_dry_run || { - if test "$finalize" = yes; then - tmpdir=`func_mktempdir` - func_basename "$file$stripped_ext" - file="$func_basename_result" - outputname="$tmpdir/$file" - # Replace the output file specification. - relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` - - $opt_silent || { - func_quote_for_expand "$relink_command" - eval "func_echo $func_quote_for_expand_result" - } - if eval "$relink_command"; then : - else - func_error "error: relink \`$file' with the above command before installing it" - $opt_dry_run || ${RM}r "$tmpdir" - continue - fi - file="$outputname" - else - func_warning "cannot relink \`$file'" - fi - } - else - # Install the binary that we compiled earlier. - file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - # remove .exe since cygwin /usr/bin/install will append another - # one anyway - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - func_stripname '' '.exe' "$destfile" - destfile=$func_stripname_result - ;; - esac - ;; - esac - func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' - $opt_dry_run || if test -n "$outputname"; then - ${RM}r "$tmpdir" - fi - ;; - esac - done - - for file in $staticlibs; do - func_basename "$file" - name="$func_basename_result" - - # Set up the ranlib parameters. - oldlib="$destdir/$name" - - func_show_eval "$install_prog \$file \$oldlib" 'exit $?' - - if test -n "$stripme" && test -n "$old_striplib"; then - func_show_eval "$old_striplib $oldlib" 'exit $?' - fi - - # Do each command in the postinstall commands. - func_execute_cmds "$old_postinstall_cmds" 'exit $?' - done - - test -n "$future_libdirs" && \ - func_warning "remember to run \`$progname --finish$future_libdirs'" - - if test -n "$current_libdirs" && $opt_finish; then - # Maybe just do a dry run. - $opt_dry_run && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' - else - exit $EXIT_SUCCESS - fi -} - -test "$mode" = install && func_mode_install ${1+"$@"} - - -# func_generate_dlsyms outputname originator pic_p -# Extract symbols from dlprefiles and create ${outputname}S.o with -# a dlpreopen symbol table. -func_generate_dlsyms () -{ - $opt_debug - my_outputname="$1" - my_originator="$2" - my_pic_p="${3-no}" - my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` - my_dlsyms= - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - my_dlsyms="${my_outputname}S.c" - else - func_error "not configured to extract global symbols from dlpreopened files" - fi - fi - - if test -n "$my_dlsyms"; then - case $my_dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist="$output_objdir/${my_outputname}.nm" - - func_show_eval "$RM $nlist ${nlist}S ${nlist}T" - - # Parse the name list into a source file. - func_verbose "creating $output_objdir/$my_dlsyms" - - $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ -/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ -/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) -#pragma GCC diagnostic ignored \"-Wstrict-prototypes\" -#endif - -/* External symbol declarations for the compiler. */\ -" - - if test "$dlself" = yes; then - func_verbose "generating symbol list for \`$output'" - - $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` - for progfile in $progfiles; do - func_verbose "extracting global C symbols from \`$progfile'" - $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $opt_dry_run || { - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $MV "$nlist"T "$nlist" - } - fi - - if test -n "$export_symbols_regex"; then - $opt_dry_run || { - $EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T - $MV "$nlist"T "$nlist" - } - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols="$output_objdir/$outputname.exp" - $opt_dry_run || { - $RM $export_symbols - ${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' < "$nlist" > "$export_symbols" - case $host in - *cygwin* | *mingw* | *cegcc* ) - echo EXPORTS > "$output_objdir/$outputname.def" - cat "$export_symbols" >> "$output_objdir/$outputname.def" - ;; - esac - } - else - $opt_dry_run || { - ${SED} -e 's/\([].[*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/' < "$export_symbols" > "$output_objdir/$outputname.exp" - $GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T - $MV "$nlist"T "$nlist" - case $host in - *cygwin* | *mingw* | *cegcc* ) - echo EXPORTS > "$output_objdir/$outputname.def" - cat "$nlist" >> "$output_objdir/$outputname.def" - ;; - esac - } - fi - fi - - for dlprefile in $dlprefiles; do - func_verbose "extracting global C symbols from \`$dlprefile'" - func_basename "$dlprefile" - name="$func_basename_result" - $opt_dry_run || { - $ECHO ": $name " >> "$nlist" - eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - done - - $opt_dry_run || { - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $MV "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if $GREP -v "^: " < "$nlist" | - if sort -k 3 </dev/null >/dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then - : - else - $GREP -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' - else - echo '/* NONE */' >> "$output_objdir/$my_dlsyms" - fi - - echo >> "$output_objdir/$my_dlsyms" "\ - -/* The mapping between symbol names and symbols. */ -typedef struct { - const char *name; - void *address; -} lt_dlsymlist; -" - case $host in - *cygwin* | *mingw* | *cegcc* ) - echo >> "$output_objdir/$my_dlsyms" "\ -/* DATA imports from DLLs on WIN32 con't be const, because - runtime relocations are performed -- see ld's documentation - on pseudo-relocs. */" - lt_dlsym_const= ;; - *osf5*) - echo >> "$output_objdir/$my_dlsyms" "\ -/* This system does not cope well with relocations in const data */" - lt_dlsym_const= ;; - *) - lt_dlsym_const=const ;; - esac - - echo >> "$output_objdir/$my_dlsyms" "\ -extern $lt_dlsym_const lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[]; -$lt_dlsym_const lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[] = -{\ - { \"$my_originator\", (void *) 0 }," - - case $need_lib_prefix in - no) - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - *) - eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - esac - echo >> "$output_objdir/$my_dlsyms" "\ - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_${my_prefix}_LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - } # !$opt_dry_run - - pic_flag_for_symtable= - case "$compile_command " in - *" -static "*) ;; - *) - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; - *-*-hpux*) - pic_flag_for_symtable=" $pic_flag" ;; - *) - if test "X$my_pic_p" != Xno; then - pic_flag_for_symtable=" $pic_flag" - fi - ;; - esac - ;; - esac - symtab_cflags= - for arg in $LTCFLAGS; do - case $arg in - -pie | -fpie | -fPIE) ;; - *) symtab_cflags="$symtab_cflags $arg" ;; - esac - done - - # Now compile the dynamic symbol file. - func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' - - # Clean up the generated files. - func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' - - # Transform the symbol file into the correct name. - symfileobj="$output_objdir/${my_outputname}S.$objext" - case $host in - *cygwin* | *mingw* | *cegcc* ) - if test -f "$output_objdir/$my_outputname.def"; then - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - else - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - fi - ;; - *) - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - ;; - esac - ;; - *) - func_fatal_error "unknown suffix for \`$my_dlsyms'" - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` - fi -} - -# func_win32_libid arg -# return the library type of file 'arg' -# -# Need a lot of goo to handle *both* DLLs and import libs -# Has to be a shell function in order to 'eat' the argument -# that is supplied when $file_magic_command is called. -# Despite the name, also deal with 64 bit binaries. -func_win32_libid () -{ - $opt_debug - win32_libid_type="unknown" - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in - *ar\ archive\ import\ library*) # definitely import - win32_libid_type="x86 archive import" - ;; - *ar\ archive*) # could be an import, or static - if $OBJDUMP -f "$1" | $SED -e '10q' 2>/dev/null | - $EGREP 'file format (pe-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then - win32_nmres=`$NM -f posix -A "$1" | - $SED -n -e ' - 1,100{ - / I /{ - s,.*,import, - p - q - } - }'` - case $win32_nmres in - import*) win32_libid_type="x86 archive import";; - *) win32_libid_type="x86 archive static";; - esac - fi - ;; - *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... - case $win32_fileres in - *MS\ Windows\ PE\ Intel*) - win32_libid_type="x86 DLL" - ;; - esac - ;; - esac - $ECHO "$win32_libid_type" -} - - - -# func_extract_an_archive dir oldlib -func_extract_an_archive () -{ - $opt_debug - f_ex_an_ar_dir="$1"; shift - f_ex_an_ar_oldlib="$1" - if test "$lock_old_archive_extraction" = yes; then - lockfile=$f_ex_an_ar_oldlib.lock - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - fi - func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ - 'stat=$?; rm -f "$lockfile"; exit $stat' - if test "$lock_old_archive_extraction" = yes; then - $opt_dry_run || rm -f "$lockfile" - fi - if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then - : - else - func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" - fi -} - - -# func_extract_archives gentop oldlib ... -func_extract_archives () -{ - $opt_debug - my_gentop="$1"; shift - my_oldlibs=${1+"$@"} - my_oldobjs="" - my_xlib="" - my_xabs="" - my_xdir="" - - for my_xlib in $my_oldlibs; do - # Extract the objects. - case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; - *) my_xabs=`pwd`"/$my_xlib" ;; - esac - func_basename "$my_xlib" - my_xlib="$func_basename_result" - my_xlib_u=$my_xlib - while :; do - case " $extracted_archives " in - *" $my_xlib_u "*) - func_arith $extracted_serial + 1 - extracted_serial=$func_arith_result - my_xlib_u=lt$extracted_serial-$my_xlib ;; - *) break ;; - esac - done - extracted_archives="$extracted_archives $my_xlib_u" - my_xdir="$my_gentop/$my_xlib_u" - - func_mkdir_p "$my_xdir" - - case $host in - *-darwin*) - func_verbose "Extracting $my_xabs" - # Do not bother doing anything if just a dry run - $opt_dry_run || { - darwin_orig_dir=`pwd` - cd $my_xdir || exit $? - darwin_archive=$my_xabs - darwin_curdir=`pwd` - darwin_base_archive=`basename "$darwin_archive"` - darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` - if test -n "$darwin_arches"; then - darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` - darwin_arch= - func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches ; do - func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" - $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" - cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" - func_extract_an_archive "`pwd`" "${darwin_base_archive}" - cd "$darwin_curdir" - $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" - done # $darwin_arches - ## Okay now we've a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` - darwin_file= - darwin_files= - for darwin_file in $darwin_filelist; do - darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` - $LIPO -create -output "$darwin_file" $darwin_files - done # $darwin_filelist - $RM -rf unfat-$$ - cd "$darwin_orig_dir" - else - cd $darwin_orig_dir - func_extract_an_archive "$my_xdir" "$my_xabs" - fi # $darwin_arches - } # !$opt_dry_run - ;; - *) - func_extract_an_archive "$my_xdir" "$my_xabs" - ;; - esac - my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` - done - - func_extract_archives_result="$my_oldobjs" -} - - -# func_emit_wrapper [arg=no] -# -# Emit a libtool wrapper script on stdout. -# Don't directly open a file because we may want to -# incorporate the script contents within a cygwin/mingw -# wrapper executable. Must ONLY be called from within -# func_mode_link because it depends on a number of variables -# set therein. -# -# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR -# variable will take. If 'yes', then the emitted script -# will assume that the directory in which it is stored is -# the $objdir directory. This is a cygwin/mingw-specific -# behavior. -func_emit_wrapper () -{ - func_emit_wrapper_arg1=${1-no} - - $ECHO "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='$sed_quote_subst' - -# Be Bourne compatible -if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -relink_command=\"$relink_command\" - -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variables: - generated_by_libtool_version='$macro_version' - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$ECHO are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - file=\"\$0\"" - - qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` - $ECHO "\ - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - ECHO=\"$qECHO\" - fi\ - - # Find the directory that this script lives in. - thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. - - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` - - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi - - file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` - done - - # Usually 'no', except on cygwin/mingw when embedded into - # the cwrapper. - WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 - if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then - # special case for '.' - if test \"\$thisdir\" = \".\"; then - thisdir=\`pwd\` - fi - # remove .libs from thisdir - case \"\$thisdir\" in - *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; - $objdir ) thisdir=. ;; - esac - fi - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test "$fast_install" = yes; then - $ECHO "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then - - file=\"\$\$-\$program\" - - if test ! -d \"\$progdir\"; then - $MKDIR \"\$progdir\" - else - $RM \"\$progdir/\$file\" - fi" - - $ECHO "\ - - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \"\$relink_command\" 2>&1\`; then : - else - $ECHO \"\$relink_command_output\" >&2 - $RM \"\$progdir/\$file\" - exit 1 - fi - fi - - $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $RM \"\$progdir/\$program\"; - $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $RM \"\$progdir/\$file\" - fi" - else - $ECHO "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi - - $ECHO "\ - - if test -f \"\$progdir/\$program\"; then" - - # Export our shlibpath_var if we have one. - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $ECHO "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` - - export $shlibpath_var -" - fi - - # fixup the dll searchpath if we need to. - if test -n "$dllsearchpath"; then - $ECHO "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - $ECHO "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2* | *-cegcc*) - $ECHO "\ - exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} -" - ;; - - *) - $ECHO "\ - exec \"\$progdir/\$program\" \${1+\"\$@\"} -" - ;; - esac - $ECHO "\ - \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 - exit 1 - fi - else - # The program doesn't exist. - \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 - \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 - \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 - exit 1 - fi -fi\ -" -} - - -# func_to_host_path arg -# -# Convert paths to host format when used with build tools. -# Intended for use with "native" mingw (where libtool itself -# is running under the msys shell), or in the following cross- -# build environments: -# $build $host -# mingw (msys) mingw [e.g. native] -# cygwin mingw -# *nix + wine mingw -# where wine is equipped with the `winepath' executable. -# In the native mingw case, the (msys) shell automatically -# converts paths for any non-msys applications it launches, -# but that facility isn't available from inside the cwrapper. -# Similar accommodations are necessary for $host mingw and -# $build cygwin. Calling this function does no harm for other -# $host/$build combinations not listed above. -# -# ARG is the path (on $build) that should be converted to -# the proper representation for $host. The result is stored -# in $func_to_host_path_result. -func_to_host_path () -{ - func_to_host_path_result="$1" - if test -n "$1"; then - case $host in - *mingw* ) - lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' - case $build in - *mingw* ) # actually, msys - # awkward: cmd appends spaces to result - func_to_host_path_result=`( cmd //c echo "$1" ) 2>/dev/null | - $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"` - ;; - *cygwin* ) - func_to_host_path_result=`cygpath -w "$1" | - $SED -e "$lt_sed_naive_backslashify"` - ;; - * ) - # Unfortunately, winepath does not exit with a non-zero - # error code, so we are forced to check the contents of - # stdout. On the other hand, if the command is not - # found, the shell will set an exit code of 127 and print - # *an error message* to stdout. So we must check for both - # error code of zero AND non-empty stdout, which explains - # the odd construction: - func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null` - if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then - func_to_host_path_result=`$ECHO "$func_to_host_path_tmp1" | - $SED -e "$lt_sed_naive_backslashify"` - else - # Allow warning below. - func_to_host_path_result= - fi - ;; - esac - if test -z "$func_to_host_path_result" ; then - func_error "Could not determine host path corresponding to" - func_error " \`$1'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback: - func_to_host_path_result="$1" - fi - ;; - esac - fi -} -# end: func_to_host_path - -# func_to_host_pathlist arg -# -# Convert pathlists to host format when used with build tools. -# See func_to_host_path(), above. This function supports the -# following $build/$host combinations (but does no harm for -# combinations not listed here): -# $build $host -# mingw (msys) mingw [e.g. native] -# cygwin mingw -# *nix + wine mingw -# -# Path separators are also converted from $build format to -# $host format. If ARG begins or ends with a path separator -# character, it is preserved (but converted to $host format) -# on output. -# -# ARG is a pathlist (on $build) that should be converted to -# the proper representation on $host. The result is stored -# in $func_to_host_pathlist_result. -func_to_host_pathlist () -{ - func_to_host_pathlist_result="$1" - if test -n "$1"; then - case $host in - *mingw* ) - lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' - # Remove leading and trailing path separator characters from - # ARG. msys behavior is inconsistent here, cygpath turns them - # into '.;' and ';.', and winepath ignores them completely. - func_stripname : : "$1" - func_to_host_pathlist_tmp1=$func_stripname_result - case $build in - *mingw* ) # Actually, msys. - # Awkward: cmd appends spaces to result. - func_to_host_pathlist_result=` - ( cmd //c echo "$func_to_host_pathlist_tmp1" ) 2>/dev/null | - $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"` - ;; - *cygwin* ) - func_to_host_pathlist_result=`cygpath -w -p "$func_to_host_pathlist_tmp1" | - $SED -e "$lt_sed_naive_backslashify"` - ;; - * ) - # unfortunately, winepath doesn't convert pathlists - func_to_host_pathlist_result="" - func_to_host_pathlist_oldIFS=$IFS - IFS=: - for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do - IFS=$func_to_host_pathlist_oldIFS - if test -n "$func_to_host_pathlist_f" ; then - func_to_host_path "$func_to_host_pathlist_f" - if test -n "$func_to_host_path_result" ; then - if test -z "$func_to_host_pathlist_result" ; then - func_to_host_pathlist_result="$func_to_host_path_result" - else - func_append func_to_host_pathlist_result ";$func_to_host_path_result" - fi - fi - fi - done - IFS=$func_to_host_pathlist_oldIFS - ;; - esac - if test -z "$func_to_host_pathlist_result"; then - func_error "Could not determine the host path(s) corresponding to" - func_error " \`$1'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback. This may break if $1 contains DOS-style drive - # specifications. The fix is not to complicate the expression - # below, but for the user to provide a working wine installation - # with winepath so that path translation in the cross-to-mingw - # case works properly. - lt_replace_pathsep_nix_to_dos="s|:|;|g" - func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\ - $SED -e "$lt_replace_pathsep_nix_to_dos"` - fi - # Now, add the leading and trailing path separators back - case "$1" in - :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result" - ;; - esac - case "$1" in - *: ) func_append func_to_host_pathlist_result ";" - ;; - esac - ;; - esac - fi -} -# end: func_to_host_pathlist - -# func_emit_cwrapperexe_src -# emit the source code for a wrapper executable on stdout -# Must ONLY be called from within func_mode_link because -# it depends on a number of variable set therein. -func_emit_cwrapperexe_src () -{ - cat <<EOF - -/* $cwrappersource - temporary wrapper executable for $objdir/$outputname - Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION - - The $output program cannot be directly executed until all the libtool - libraries that it depends on are installed. - - This wrapper executable should never be moved out of the build directory. - If it is, it will not operate correctly. - - Currently, it simply execs the wrapper *script* "$SHELL $output", - but could eventually absorb all of the scripts functionality and - exec $objdir/$outputname directly. -*/ -EOF - cat <<"EOF" -#ifdef _MSC_VER -# define _CRT_SECURE_NO_DEPRECATE 1 -#endif -#include <stdio.h> -#include <stdlib.h> -#ifdef _MSC_VER -# include <direct.h> -# include <process.h> -# include <io.h> -#else -# include <unistd.h> -# include <stdint.h> -# ifdef __CYGWIN__ -# include <io.h> -# endif -#endif -#include <malloc.h> -#include <stdarg.h> -#include <assert.h> -#include <string.h> -#include <ctype.h> -#include <errno.h> -#include <fcntl.h> -#include <sys/stat.h> - -/* declarations of non-ANSI functions */ -#if defined(__MINGW32__) -# ifdef __STRICT_ANSI__ -int _putenv (const char *); -# endif -#elif defined(__CYGWIN__) -# ifdef __STRICT_ANSI__ -char *realpath (const char *, char *); -int putenv (char *); -int setenv (const char *, const char *, int); -# endif -/* #elif defined (other platforms) ... */ -#endif - -/* portability defines, excluding path handling macros */ -#if defined(_MSC_VER) -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -# define S_IXUSR _S_IEXEC -# ifndef _INTPTR_T_DEFINED -# define _INTPTR_T_DEFINED -# define intptr_t int -# endif -#elif defined(__MINGW32__) -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -#elif defined(__CYGWIN__) -# define HAVE_SETENV -# define FOPEN_WB "wb" -/* #elif defined (other platforms) ... */ -#endif - -#if defined(PATH_MAX) -# define LT_PATHMAX PATH_MAX -#elif defined(MAXPATHLEN) -# define LT_PATHMAX MAXPATHLEN -#else -# define LT_PATHMAX 1024 -#endif - -#ifndef S_IXOTH -# define S_IXOTH 0 -#endif -#ifndef S_IXGRP -# define S_IXGRP 0 -#endif - -/* path handling portability macros */ -#ifndef DIR_SEPARATOR -# define DIR_SEPARATOR '/' -# define PATH_SEPARATOR ':' -#endif - -#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ - defined (__OS2__) -# define HAVE_DOS_BASED_FILE_SYSTEM -# define FOPEN_WB "wb" -# ifndef DIR_SEPARATOR_2 -# define DIR_SEPARATOR_2 '\\' -# endif -# ifndef PATH_SEPARATOR_2 -# define PATH_SEPARATOR_2 ';' -# endif -#endif - -#ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -#else /* DIR_SEPARATOR_2 */ -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -#endif /* DIR_SEPARATOR_2 */ - -#ifndef PATH_SEPARATOR_2 -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) -#else /* PATH_SEPARATOR_2 */ -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) -#endif /* PATH_SEPARATOR_2 */ - -#ifndef FOPEN_WB -# define FOPEN_WB "w" -#endif -#ifndef _O_BINARY -# define _O_BINARY 0 -#endif - -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XFREE(stale) do { \ - if (stale) { free ((void *) stale); stale = 0; } \ -} while (0) - -#undef LTWRAPPER_DEBUGPRINTF -#if defined LT_DEBUGWRAPPER -# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args -static void -ltwrapper_debugprintf (const char *fmt, ...) -{ - va_list args; - va_start (args, fmt); - (void) vfprintf (stderr, fmt, args); - va_end (args); -} -#else -# define LTWRAPPER_DEBUGPRINTF(args) -#endif - -const char *program_name = NULL; - -void *xmalloc (size_t num); -char *xstrdup (const char *string); -const char *base_name (const char *name); -char *find_executable (const char *wrapper); -char *chase_symlinks (const char *pathspec); -int make_executable (const char *path); -int check_executable (const char *path); -char *strendzap (char *str, const char *pat); -void lt_fatal (const char *message, ...); -void lt_setenv (const char *name, const char *value); -char *lt_extend_str (const char *orig_value, const char *add, int to_end); -void lt_update_exe_path (const char *name, const char *value); -void lt_update_lib_path (const char *name, const char *value); -char **prepare_spawn (char **argv); -void lt_dump_script (FILE *f); -EOF - - cat <<EOF -const char * MAGIC_EXE = "$magic_exe"; -const char * LIB_PATH_VARNAME = "$shlibpath_var"; -EOF - - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - func_to_host_pathlist "$temp_rpath" - cat <<EOF -const char * LIB_PATH_VALUE = "$func_to_host_pathlist_result"; -EOF - else - cat <<"EOF" -const char * LIB_PATH_VALUE = ""; -EOF - fi - - if test -n "$dllsearchpath"; then - func_to_host_pathlist "$dllsearchpath:" - cat <<EOF -const char * EXE_PATH_VARNAME = "PATH"; -const char * EXE_PATH_VALUE = "$func_to_host_pathlist_result"; -EOF - else - cat <<"EOF" -const char * EXE_PATH_VARNAME = ""; -const char * EXE_PATH_VALUE = ""; -EOF - fi - - if test "$fast_install" = yes; then - cat <<EOF -const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */ -EOF - else - cat <<EOF -const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */ -EOF - fi - - - cat <<"EOF" - -#define LTWRAPPER_OPTION_PREFIX "--lt-" -#define LTWRAPPER_OPTION_PREFIX_LENGTH 5 - -static const size_t opt_prefix_len = LTWRAPPER_OPTION_PREFIX_LENGTH; -static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX; - -static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script"; - -int -main (int argc, char *argv[]) -{ - char **newargz; - int newargc; - char *tmp_pathspec; - char *actual_cwrapper_path; - char *actual_cwrapper_name; - char *target_name; - char *lt_argv_zero; - intptr_t rval = 127; - - int i; - - program_name = (char *) xstrdup (base_name (argv[0])); - LTWRAPPER_DEBUGPRINTF (("(main) argv[0] : %s\n", argv[0])); - LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name)); - - /* very simple arg parsing; don't want to rely on getopt */ - for (i = 1; i < argc; i++) - { - if (strcmp (argv[i], dumpscript_opt) == 0) - { -EOF - case "$host" in - *mingw* | *cygwin* ) - # make stdout use "unix" line endings - echo " setmode(1,_O_BINARY);" - ;; - esac - - cat <<"EOF" - lt_dump_script (stdout); - return 0; - } - } - - newargz = XMALLOC (char *, argc + 1); - tmp_pathspec = find_executable (argv[0]); - if (tmp_pathspec == NULL) - lt_fatal ("Couldn't find %s", argv[0]); - LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n", - tmp_pathspec)); - - actual_cwrapper_path = chase_symlinks (tmp_pathspec); - LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n", - actual_cwrapper_path)); - XFREE (tmp_pathspec); - - actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path)); - strendzap (actual_cwrapper_path, actual_cwrapper_name); - - /* wrapper name transforms */ - strendzap (actual_cwrapper_name, ".exe"); - tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1); - XFREE (actual_cwrapper_name); - actual_cwrapper_name = tmp_pathspec; - tmp_pathspec = 0; - - /* target_name transforms -- use actual target program name; might have lt- prefix */ - target_name = xstrdup (base_name (TARGET_PROGRAM_NAME)); - strendzap (target_name, ".exe"); - tmp_pathspec = lt_extend_str (target_name, ".exe", 1); - XFREE (target_name); - target_name = tmp_pathspec; - tmp_pathspec = 0; - - LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n", - target_name)); -EOF - - cat <<EOF - newargz[0] = - XMALLOC (char, (strlen (actual_cwrapper_path) + - strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1)); - strcpy (newargz[0], actual_cwrapper_path); - strcat (newargz[0], "$objdir"); - strcat (newargz[0], "/"); -EOF - - cat <<"EOF" - /* stop here, and copy so we don't have to do this twice */ - tmp_pathspec = xstrdup (newargz[0]); - - /* do NOT want the lt- prefix here, so use actual_cwrapper_name */ - strcat (newargz[0], actual_cwrapper_name); - - /* DO want the lt- prefix here if it exists, so use target_name */ - lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1); - XFREE (tmp_pathspec); - tmp_pathspec = NULL; -EOF - - case $host_os in - mingw*) - cat <<"EOF" - { - char* p; - while ((p = strchr (newargz[0], '\\')) != NULL) - { - *p = '/'; - } - while ((p = strchr (lt_argv_zero, '\\')) != NULL) - { - *p = '/'; - } - } -EOF - ;; - esac - - cat <<"EOF" - XFREE (target_name); - XFREE (actual_cwrapper_path); - XFREE (actual_cwrapper_name); - - lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */ - lt_setenv ("DUALCASE", "1"); /* for MSK sh */ - lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE); - lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE); - - newargc=0; - for (i = 1; i < argc; i++) - { - if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0) - { - /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX - namespace, but it is not one of the ones we know about and - have already dealt with, above (inluding dump-script), then - report an error. Otherwise, targets might begin to believe - they are allowed to use options in the LTWRAPPER_OPTION_PREFIX - namespace. The first time any user complains about this, we'll - need to make LTWRAPPER_OPTION_PREFIX a configure-time option - or a configure.ac-settable value. - */ - lt_fatal ("Unrecognized option in %s namespace: '%s'", - ltwrapper_option_prefix, argv[i]); - } - /* otherwise ... */ - newargz[++newargc] = xstrdup (argv[i]); - } - newargz[++newargc] = NULL; - - LTWRAPPER_DEBUGPRINTF (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>"))); - for (i = 0; i < newargc; i++) - { - LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>"))); - } - -EOF - - case $host_os in - mingw*) - cat <<"EOF" - /* execv doesn't actually work on mingw as expected on unix */ - newargz = prepare_spawn (newargz); - rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz); - if (rval == -1) - { - /* failed to start process */ - LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno)); - return 127; - } - return rval; -EOF - ;; - *) - cat <<"EOF" - execv (lt_argv_zero, newargz); - return rval; /* =127, but avoids unused variable warning */ -EOF - ;; - esac - - cat <<"EOF" -} - -void * -xmalloc (size_t num) -{ - void *p = (void *) malloc (num); - if (!p) - lt_fatal ("Memory exhausted"); - - return p; -} - -char * -xstrdup (const char *string) -{ - return string ? strcpy ((char *) xmalloc (strlen (string) + 1), - string) : NULL; -} - -const char * -base_name (const char *name) -{ - const char *base; - -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - /* Skip over the disk name in MSDOS pathnames. */ - if (isalpha ((unsigned char) name[0]) && name[1] == ':') - name += 2; -#endif - - for (base = name; *name; name++) - if (IS_DIR_SEPARATOR (*name)) - base = name + 1; - return base; -} - -int -check_executable (const char *path) -{ - struct stat st; - - LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n", - path ? (*path ? path : "EMPTY!") : "NULL!")); - if ((!path) || (!*path)) - return 0; - - if ((stat (path, &st) >= 0) - && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) - return 1; - else - return 0; -} - -int -make_executable (const char *path) -{ - int rval = 0; - struct stat st; - - LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n", - path ? (*path ? path : "EMPTY!") : "NULL!")); - if ((!path) || (!*path)) - return 0; - - if (stat (path, &st) >= 0) - { - rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); - } - return rval; -} - -/* Searches for the full path of the wrapper. Returns - newly allocated full path name if found, NULL otherwise - Does not chase symlinks, even on platforms that support them. -*/ -char * -find_executable (const char *wrapper) -{ - int has_slash = 0; - const char *p; - const char *p_next; - /* static buffer for getcwd */ - char tmp[LT_PATHMAX + 1]; - int tmp_len; - char *concat_name; - - LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n", - wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!")); - - if ((wrapper == NULL) || (*wrapper == '\0')) - return NULL; - - /* Absolute path? */ -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - else - { -#endif - if (IS_DIR_SEPARATOR (wrapper[0])) - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - } -#endif - - for (p = wrapper; *p; p++) - if (*p == '/') - { - has_slash = 1; - break; - } - if (!has_slash) - { - /* no slashes; search PATH */ - const char *path = getenv ("PATH"); - if (path != NULL) - { - for (p = path; *p; p = p_next) - { - const char *q; - size_t p_len; - for (q = p; *q; q++) - if (IS_PATH_SEPARATOR (*q)) - break; - p_len = q - p; - p_next = (*q == '\0' ? q : q + 1); - if (p_len == 0) - { - /* empty path: current directory */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); - tmp_len = strlen (tmp); - concat_name = - XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - } - else - { - concat_name = - XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, p, p_len); - concat_name[p_len] = '/'; - strcpy (concat_name + p_len + 1, wrapper); - } - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - } - /* not found in PATH; assume curdir */ - } - /* Relative path | not found in path: prepend cwd */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); - tmp_len = strlen (tmp); - concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - return NULL; -} - -char * -chase_symlinks (const char *pathspec) -{ -#ifndef S_ISLNK - return xstrdup (pathspec); -#else - char buf[LT_PATHMAX]; - struct stat s; - char *tmp_pathspec = xstrdup (pathspec); - char *p; - int has_symlinks = 0; - while (strlen (tmp_pathspec) && !has_symlinks) - { - LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n", - tmp_pathspec)); - if (lstat (tmp_pathspec, &s) == 0) - { - if (S_ISLNK (s.st_mode) != 0) - { - has_symlinks = 1; - break; - } - - /* search backwards for last DIR_SEPARATOR */ - p = tmp_pathspec + strlen (tmp_pathspec) - 1; - while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - p--; - if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - { - /* no more DIR_SEPARATORS left */ - break; - } - *p = '\0'; - } - else - { - char *errstr = strerror (errno); - lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr); - } - } - XFREE (tmp_pathspec); - - if (!has_symlinks) - { - return xstrdup (pathspec); - } - - tmp_pathspec = realpath (pathspec, buf); - if (tmp_pathspec == 0) - { - lt_fatal ("Could not follow symlinks for %s", pathspec); - } - return xstrdup (tmp_pathspec); -#endif -} - -char * -strendzap (char *str, const char *pat) -{ - size_t len, patlen; - - assert (str != NULL); - assert (pat != NULL); - - len = strlen (str); - patlen = strlen (pat); - - if (patlen <= len) - { - str += len - patlen; - if (strcmp (str, pat) == 0) - *str = '\0'; - } - return str; -} - -static void -lt_error_core (int exit_status, const char *mode, - const char *message, va_list ap) -{ - fprintf (stderr, "%s: %s: ", program_name, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); - - if (exit_status >= 0) - exit (exit_status); -} - -void -lt_fatal (const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, "FATAL", message, ap); - va_end (ap); -} - -void -lt_setenv (const char *name, const char *value) -{ - LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n", - (name ? name : "<NULL>"), - (value ? value : "<NULL>"))); - { -#ifdef HAVE_SETENV - /* always make a copy, for consistency with !HAVE_SETENV */ - char *str = xstrdup (value); - setenv (name, str, 1); -#else - int len = strlen (name) + 1 + strlen (value) + 1; - char *str = XMALLOC (char, len); - sprintf (str, "%s=%s", name, value); - if (putenv (str) != EXIT_SUCCESS) - { - XFREE (str); - } -#endif - } -} - -char * -lt_extend_str (const char *orig_value, const char *add, int to_end) -{ - char *new_value; - if (orig_value && *orig_value) - { - int orig_value_len = strlen (orig_value); - int add_len = strlen (add); - new_value = XMALLOC (char, add_len + orig_value_len + 1); - if (to_end) - { - strcpy (new_value, orig_value); - strcpy (new_value + orig_value_len, add); - } - else - { - strcpy (new_value, add); - strcpy (new_value + add_len, orig_value); - } - } - else - { - new_value = xstrdup (add); - } - return new_value; -} - -void -lt_update_exe_path (const char *name, const char *value) -{ - LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n", - (name ? name : "<NULL>"), - (value ? value : "<NULL>"))); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - /* some systems can't cope with a ':'-terminated path #' */ - int len = strlen (new_value); - while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1])) - { - new_value[len-1] = '\0'; - } - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -void -lt_update_lib_path (const char *name, const char *value) -{ - LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n", - (name ? name : "<NULL>"), - (value ? value : "<NULL>"))); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -EOF - case $host_os in - mingw*) - cat <<"EOF" - -/* Prepares an argument vector before calling spawn(). - Note that spawn() does not by itself call the command interpreter - (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : - ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - GetVersionEx(&v); - v.dwPlatformId == VER_PLATFORM_WIN32_NT; - }) ? "cmd.exe" : "command.com"). - Instead it simply concatenates the arguments, separated by ' ', and calls - CreateProcess(). We must quote the arguments since Win32 CreateProcess() - interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a - special way: - - Space and tab are interpreted as delimiters. They are not treated as - delimiters if they are surrounded by double quotes: "...". - - Unescaped double quotes are removed from the input. Their only effect is - that within double quotes, space and tab are treated like normal - characters. - - Backslashes not followed by double quotes are not special. - - But 2*n+1 backslashes followed by a double quote become - n backslashes followed by a double quote (n >= 0): - \" -> " - \\\" -> \" - \\\\\" -> \\" - */ -#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -char ** -prepare_spawn (char **argv) -{ - size_t argc; - char **new_argv; - size_t i; - - /* Count number of arguments. */ - for (argc = 0; argv[argc] != NULL; argc++) - ; - - /* Allocate new argument vector. */ - new_argv = XMALLOC (char *, argc + 1); - - /* Put quoted arguments into the new argument vector. */ - for (i = 0; i < argc; i++) - { - const char *string = argv[i]; - - if (string[0] == '\0') - new_argv[i] = xstrdup ("\"\""); - else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) - { - int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); - size_t length; - unsigned int backslashes; - const char *s; - char *quoted_string; - char *p; - - length = 0; - backslashes = 0; - if (quote_around) - length++; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - length += backslashes + 1; - length++; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - length += backslashes + 1; - - quoted_string = XMALLOC (char, length + 1); - - p = quoted_string; - backslashes = 0; - if (quote_around) - *p++ = '"'; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - { - unsigned int j; - for (j = backslashes + 1; j > 0; j--) - *p++ = '\\'; - } - *p++ = c; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - { - unsigned int j; - for (j = backslashes; j > 0; j--) - *p++ = '\\'; - *p++ = '"'; - } - *p = '\0'; - - new_argv[i] = quoted_string; - } - else - new_argv[i] = (char *) string; - } - new_argv[argc] = NULL; - - return new_argv; -} -EOF - ;; - esac - - cat <<"EOF" -void lt_dump_script (FILE* f) -{ -EOF - func_emit_wrapper yes | - $SED -e 's/\([\\"]\)/\\\1/g' \ - -e 's/^/ fputs ("/' -e 's/$/\\n", f);/' - - cat <<"EOF" -} -EOF -} -# end: func_emit_cwrapperexe_src - -# func_win32_import_lib_p ARG -# True if ARG is an import lib, as indicated by $file_magic_cmd -func_win32_import_lib_p () -{ - $opt_debug - case `eval "$file_magic_cmd \"\$1\" 2>/dev/null" | $SED -e 10q` in - *import*) : ;; - *) false ;; - esac -} - -# func_mode_link arg... -func_mode_link () -{ - $opt_debug - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - # It is impossible to link a dll without this setting, and - # we shouldn't force the makefile maintainer to figure out - # which system we are compiling for in order to pass an extra - # flag for every libtool invocation. - # allow_undefined=no - - # FIXME: Unfortunately, there are problems with the above when trying - # to make a dll which has undefined symbols, in which case not - # even a static library is built. For now, we need to specify - # -no-undefined on the libtool link line when we can be certain - # that all symbols are satisfied, otherwise we get a static library. - allow_undefined=yes - ;; - *) - allow_undefined=yes - ;; - esac - libtool_args=$nonopt - base_compile="$nonopt $@" - compile_command=$nonopt - finalize_command=$nonopt - - compile_rpath= - finalize_rpath= - compile_shlibpath= - finalize_shlibpath= - convenience= - old_convenience= - deplibs= - old_deplibs= - compiler_flags= - linker_flags= - dllsearchpath= - lib_search_path=`pwd` - inst_prefix_dir= - new_inherited_linker_flags= - - avoid_version=no - bindir= - dlfiles= - dlprefiles= - dlself=no - export_dynamic=no - export_symbols= - export_symbols_regex= - generated= - libobjs= - ltlibs= - module=no - no_install=no - objs= - non_pic_objects= - precious_files_regex= - prefer_static_libs=no - preload=no - prev= - prevarg= - release= - rpath= - xrpath= - perm_rpath= - temp_rpath= - thread_safe=no - vinfo= - vinfo_number=no - weak_libs= - single_module="${wl}-single_module" - func_infer_tag $base_compile - - # We need to know -static, to get the right output filenames. - for arg - do - case $arg in - -shared) - test "$build_libtool_libs" != yes && \ - func_fatal_configuration "can not build a shared library" - build_old_libs=no - break - ;; - -all-static | -static | -static-libtool-libs) - case $arg in - -all-static) - if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then - func_warning "complete static linking is impossible in this configuration" - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - -static) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=built - ;; - -static-libtool-libs) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - esac - build_libtool_libs=no - build_old_libs=yes - break - ;; - esac - done - - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg="$1" - shift - func_quote_for_eval "$arg" - qarg=$func_quote_for_eval_unquoted_result - func_append libtool_args " $func_quote_for_eval_result" - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - func_append compile_command " @OUTPUT@" - func_append finalize_command " @OUTPUT@" - ;; - esac - - case $prev in - bindir) - bindir="$arg" - prev= - continue - ;; - dlfiles|dlprefiles) - if test "$preload" = no; then - # Add the symbol object into the linking commands. - func_append compile_command " @SYMFILE@" - func_append finalize_command " @SYMFILE@" - preload=yes - fi - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test "$dlself" = no; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test "$prev" = dlprefiles; then - dlself=yes - elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test "$prev" = dlfiles; then - dlfiles="$dlfiles $arg" - else - dlprefiles="$dlprefiles $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols="$arg" - test -f "$arg" \ - || func_fatal_error "symbol file \`$arg' does not exist" - prev= - continue - ;; - expsyms_regex) - export_symbols_regex="$arg" - prev= - continue - ;; - framework) - case $host in - *-*-darwin*) - case "$deplibs " in - *" $qarg.ltframework "*) ;; - *) deplibs="$deplibs $qarg.ltframework" # this is fixed later - ;; - esac - ;; - esac - prev= - continue - ;; - inst_prefix) - inst_prefix_dir="$arg" - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat "$save_arg"` - do -# moreargs="$moreargs $fil" - arg=$fil - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test "$pic_object" = none && - test "$non_pic_object" = none; then - func_fatal_error "cannot find name of object for \`$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "\`$arg' is not a valid libtool object" - fi - fi - done - else - func_fatal_error "link input file \`$arg' does not exist" - fi - arg=$save_arg - prev= - continue - ;; - precious_regex) - precious_files_regex="$arg" - prev= - continue - ;; - release) - release="-$arg" - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - if test "$prev" = rpath; then - case "$rpath " in - *" $arg "*) ;; - *) rpath="$rpath $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) xrpath="$xrpath $arg" ;; - esac - fi - prev= - continue - ;; - shrext) - shrext_cmds="$arg" - prev= - continue - ;; - weak) - weak_libs="$weak_libs $arg" - prev= - continue - ;; - xcclinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xcompiler) - compiler_flags="$compiler_flags $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xlinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $wl$qarg" - prev= - func_append compile_command " $wl$qarg" - func_append finalize_command " $wl$qarg" - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi # test -n "$prev" - - prevarg="$arg" - - case $arg in - -all-static) - if test -n "$link_static_flag"; then - # See comment for -static flag below, for more details. - func_append compile_command " $link_static_flag" - func_append finalize_command " $link_static_flag" - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - func_fatal_error "\`-allow-undefined' must not be used because it is the default" - ;; - - -avoid-version) - avoid_version=yes - continue - ;; - - -bindir) - prev=bindir - continue - ;; - - -dlopen) - prev=dlfiles - continue - ;; - - -dlpreopen) - prev=dlprefiles - continue - ;; - - -export-dynamic) - export_dynamic=yes - continue - ;; - - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - func_fatal_error "more than one -exported-symbols argument is not allowed" - fi - if test "X$arg" = "X-export-symbols"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; - - -framework) - prev=framework - continue - ;; - - -inst-prefix-dir) - prev=inst_prefix - continue - ;; - - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix* | /*-*-irix*) - func_append compile_command " $arg" - func_append finalize_command " $arg" - ;; - esac - continue - ;; - - -L*) - func_stripname '-L' '' "$arg" - dir=$func_stripname_result - if test -z "$dir"; then - if test "$#" -gt 0; then - func_fatal_error "require no space between \`-L' and \`$1'" - else - func_fatal_error "need path for \`-L' option" - fi - fi - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - test -z "$absdir" && \ - func_fatal_error "cannot determine absolute directory name of \`$dir'" - dir="$absdir" - ;; - esac - case "$deplibs " in - *" -L$dir "*) ;; - *) - deplibs="$deplibs -L$dir" - lib_search_path="$lib_search_path $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$dir:"*) ;; - ::) dllsearchpath=$dir;; - *) dllsearchpath="$dllsearchpath:$dir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) dllsearchpath="$dllsearchpath:$testbindir";; - esac - ;; - esac - continue - ;; - - -l*) - if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-os2*) - # These systems don't actually have a C library (as such) - test "X$arg" = "X-lc" && continue - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - test "X$arg" = "X-lc" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - deplibs="$deplibs System.ltframework" - continue - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - test "X$arg" = "X-lc" && continue - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - test "X$arg" = "X-lc" && continue - ;; - *-*-linux*) - test "X$arg" = "X-lc" && continue - ;; - esac - elif test "X$arg" = "X-lc_r"; then - case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - deplibs="$deplibs $arg" - continue - ;; - - -module) - module=yes - continue - ;; - - # Tru64 UNIX uses -model [arg] to determine the layout of C++ - # classes, name mangling, and exception handling. - # Darwin uses the -arch flag to determine output architecture. - -model|-arch|-isysroot) - compiler_flags="$compiler_flags $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - prev=xcompiler - continue - ;; - - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) - compiler_flags="$compiler_flags $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - case "$new_inherited_linker_flags " in - *" $arg "*) ;; - * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;; - esac - continue - ;; - - -multi_module) - single_module="${wl}-multi_module" - continue - ;; - - -no-fast-install) - fast_install=no - continue - ;; - - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) - # The PATH hackery in wrapper scripts is required on Windows - # and Darwin in order for the loader to find any dlls it needs. - func_warning "\`-no-install' is ignored for $host" - func_warning "assuming \`-no-fast-install' instead" - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; - - -no-undefined) - allow_undefined=no - continue - ;; - - -objectlist) - prev=objectlist - continue - ;; - - -o) prev=output ;; - - -precious-files-regex) - prev=precious_regex - continue - ;; - - -release) - prev=release - continue - ;; - - -rpath) - prev=rpath - continue - ;; - - -R) - prev=xrpath - continue - ;; - - -R*) - func_stripname '-R' '' "$arg" - dir=$func_stripname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - continue - ;; - - -shared) - # The effects of -shared are defined in a previous loop. - continue - ;; - - -shrext) - prev=shrext - continue - ;; - - -static | -static-libtool-libs) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; - - -thread-safe) - thread_safe=yes - continue - ;; - - -version-info) - prev=vinfo - continue - ;; - - -version-number) - prev=vinfo - vinfo_number=yes - continue - ;; - - -weak) - prev=weak - continue - ;; - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - func_quote_for_eval "$flag" - arg="$arg $func_quote_for_eval_result" - compiler_flags="$compiler_flags $func_quote_for_eval_result" - done - IFS="$save_ifs" - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Wl,*) - func_stripname '-Wl,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - func_quote_for_eval "$flag" - arg="$arg $wl$func_quote_for_eval_result" - compiler_flags="$compiler_flags $wl$func_quote_for_eval_result" - linker_flags="$linker_flags $func_quote_for_eval_result" - done - IFS="$save_ifs" - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Xlinker) - prev=xlinker - continue - ;; - - -XCClinker) - prev=xcclinker - continue - ;; - - # -msg_* for osf cc - -msg_*) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; - - # -64, -mips[0-9] enable 64-bit mode on the SGI compiler - # -r[0-9][0-9]* specifies the processor on the SGI compiler - # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler - # +DA*, +DD* enable 64-bit mode on the HP compiler - # -q* pass through compiler args for the IBM compiler - # -m*, -t[45]*, -txscale* pass through architecture-specific - # compiler args for GCC - # -F/path gives path to uninstalled frameworks, gcc on darwin - # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC - # @file GCC response files - # -tp=* Portland pgcc target processor selection - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ - -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - func_append compile_command " $arg" - func_append finalize_command " $arg" - compiler_flags="$compiler_flags $arg" - continue - ;; - - # Some other compiler flag. - -* | +*) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; - - *.$objext) - # A standard object. - objs="$objs $arg" - ;; - - *.lo) - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test "$pic_object" = none && - test "$non_pic_object" = none; then - func_fatal_error "cannot find name of object for \`$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "\`$arg' is not a valid libtool object" - fi - fi - ;; - - *.$libext) - # An archive. - deplibs="$deplibs $arg" - old_deplibs="$old_deplibs $arg" - continue - ;; - - *.la) - # A libtool-controlled library. - - if test "$prev" = dlfiles; then - # This library was specified with -dlopen. - dlfiles="$dlfiles $arg" - prev= - elif test "$prev" = dlprefiles; then - # The library was specified with -dlpreopen. - dlprefiles="$dlprefiles $arg" - prev= - else - deplibs="$deplibs $arg" - fi - continue - ;; - - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; - esac # arg - - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - done # argument parsing loop - - test -n "$prev" && \ - func_fatal_help "the \`$prevarg' option requires an argument" - - if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then - eval "arg=\"$export_dynamic_flag_spec\"" - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - - oldlibs= - # calculate the name of the file, without its directory - func_basename "$output" - outputname="$func_basename_result" - libobjs_save="$libobjs" - - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval "sys_lib_search_path=\"$sys_lib_search_path_spec\"" - eval "sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"" - - func_dirname "$output" "/" "" - output_objdir="$func_dirname_result$objdir" - # Create the object directory. - func_mkdir_p "$output_objdir" - - # Determine the type of output - case $output in - "") - func_fatal_help "you must specify an output file" - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac - - specialdeplibs= - - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - if $opt_duplicate_deps ; then - case "$libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - libs="$libs $deplib" - done - - if test "$linkmode" = lib; then - libs="$predeps $libs $compiler_lib_search_path $postdeps" - - # Compute libraries that are listed more than once in $predeps - # $postdeps and mark them as special (i.e., whose duplicates are - # not to be eliminated). - pre_post_deps= - if $opt_duplicate_compiler_generated_deps; then - for pre_post_dep in $predeps $postdeps; do - case "$pre_post_deps " in - *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; - esac - pre_post_deps="$pre_post_deps $pre_post_dep" - done - fi - pre_post_deps= - fi - - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - notinst_path= # paths that contain not-installed libtool libraries - - case $linkmode in - lib) - passes="conv dlpreopen link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" - ;; - esac - done - ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=no - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" - ;; - *) passes="conv" - ;; - esac - - for pass in $passes; do - # The preopen pass in lib mode reverses $deplibs; put it back here - # so that -L comes before libs that need it for instance... - if test "$linkmode,$pass" = "lib,link"; then - ## FIXME: Find the place where the list is rebuilt in the wrong - ## order, and fix it there properly - tmp_deplibs= - for deplib in $deplibs; do - tmp_deplibs="$deplib $tmp_deplibs" - done - deplibs="$tmp_deplibs" - fi - - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan"; then - libs="$deplibs" - deplibs= - fi - if test "$linkmode" = prog; then - case $pass in - dlopen) libs="$dlfiles" ;; - dlpreopen) libs="$dlprefiles" ;; - link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; - esac - fi - if test "$linkmode,$pass" = "lib,dlpreopen"; then - # Collect and forward deplibs of preopened libtool libs - for lib in $dlprefiles; do - # Ignore non-libtool-libs - dependency_libs= - case $lib in - *.la) func_source "$lib" ;; - esac - - # Collect preopened libtool deplibs, except any this library - # has declared as weak libs - for deplib in $dependency_libs; do - func_basename "$deplib" - deplib_base=$func_basename_result - case " $weak_libs " in - *" $deplib_base "*) ;; - *) deplibs="$deplibs $deplib" ;; - esac - done - done - libs="$dlprefiles" - fi - if test "$pass" = dlopen; then - # Collect dlpreopened libraries - save_deplibs="$deplibs" - deplibs= - fi - - for deplib in $libs; do - lib= - found=no - case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - compiler_flags="$compiler_flags $deplib" - if test "$linkmode" = lib ; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; - esac - fi - fi - continue - ;; - -l*) - if test "$linkmode" != lib && test "$linkmode" != prog; then - func_warning "\`-l' is ignored for archives/objects" - continue - fi - func_stripname '-l' '' "$deplib" - name=$func_stripname_result - if test "$linkmode" = lib; then - searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" - else - searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" - fi - for searchdir in $searchdirs; do - for search_ext in .la $std_shrext .so .a; do - # Search the libtool library - lib="$searchdir/lib${name}${search_ext}" - if test -f "$lib"; then - if test "$search_ext" = ".la"; then - found=yes - else - found=no - fi - break 2 - fi - done - done - if test "$found" != yes; then - # deplib doesn't seem to be a libtool library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - else # deplib is a libtool library - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, - # We need to do some special things here, and not later. - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $deplib "*) - if func_lalib_p "$lib"; then - library_names= - old_library= - func_source "$lib" - for l in $old_library $library_names; do - ll="$l" - done - if test "X$ll" = "X$old_library" ; then # only static version available - found=no - func_dirname "$lib" "" "." - ladir="$func_dirname_result" - lib=$ladir/$old_library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - fi - ;; # -l - *.ltframework) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - if test "$linkmode" = lib ; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; - esac - fi - fi - continue - ;; - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test "$pass" = conv && continue - newdependency_libs="$deplib $newdependency_libs" - func_stripname '-L' '' "$deplib" - newlib_search_path="$newlib_search_path $func_stripname_result" - ;; - prog) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - if test "$pass" = scan; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - func_stripname '-L' '' "$deplib" - newlib_search_path="$newlib_search_path $func_stripname_result" - ;; - *) - func_warning "\`-L' is ignored for archives/objects" - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test "$pass" = link; then - func_stripname '-R' '' "$deplib" - dir=$func_stripname_result - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) lib="$deplib" ;; - *.$libext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - # Linking convenience modules into shared libraries is allowed, - # but linking other static libraries is non-portable. - case " $dlpreconveniencelibs " in - *" $deplib "*) ;; - *) - valid_a_lib=no - case $deplibs_check_method in - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=yes - fi - ;; - pass_all) - valid_a_lib=yes - ;; - esac - if test "$valid_a_lib" != yes; then - echo - $ECHO "*** Warning: Trying to link with static lib archive $deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because the file extensions .$libext of this argument makes me believe" - echo "*** that it is just a static archive that I should not use here." - else - echo - $ECHO "*** Warning: Linking the shared library $output against the" - $ECHO "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - fi - ;; - esac - continue - ;; - prog) - if test "$pass" != link; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - elif test "$linkmode" = prog; then - if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - newdlprefiles="$newdlprefiles $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - newdlfiles="$newdlfiles $deplib" - fi - fi - continue - ;; - %DEPLIBS%) - alldeplibs=yes - continue - ;; - esac # case $deplib - - if test "$found" = yes || test -f "$lib"; then : - else - func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" - fi - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$lib" \ - || func_fatal_error "\`$lib' is not a valid libtool archive" - - func_dirname "$lib" "" "." - ladir="$func_dirname_result" - - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - inherited_linker_flags= - # If the library was installed with an old release of libtool, - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no - avoidtemprpath= - - - # Read the .la file - func_source "$lib" - - # Convert "-framework foo" to "foo.ltframework" - if test -n "$inherited_linker_flags"; then - tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` - for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do - case " $new_inherited_linker_flags " in - *" $tmp_inherited_linker_flag "*) ;; - *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";; - esac - done - fi - dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan" || - { test "$linkmode" != prog && test "$linkmode" != lib; }; then - test -n "$dlopen" && dlfiles="$dlfiles $dlopen" - test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" - fi - - if test "$pass" = conv; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - func_fatal_error "cannot find name of link library for \`$lib'" - fi - # It is a libtool convenience library, so add in its objects. - convenience="$convenience $ladir/$objdir/$old_library" - old_convenience="$old_convenience $ladir/$objdir/$old_library" - elif test "$linkmode" != prog && test "$linkmode" != lib; then - func_fatal_error "\`$lib' is not a convenience library" - fi - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if $opt_duplicate_deps ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - continue - fi # $pass = conv - - - # Get the name of the library we link against. - linklib= - for l in $old_library $library_names; do - linklib="$l" - done - if test -z "$linklib"; then - func_fatal_error "cannot find name of link library for \`$lib'" - fi - - # This library was specified with -dlopen. - if test "$pass" = dlopen; then - if test -z "$libdir"; then - func_fatal_error "cannot -dlopen a convenience library: \`$lib'" - fi - if test -z "$dlname" || - test "$dlopen_support" != yes || - test "$build_libtool_libs" = no; then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - dlprefiles="$dlprefiles $lib $dependency_libs" - else - newdlfiles="$newdlfiles $lib" - fi - continue - fi # $pass = dlopen - - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; - *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - func_warning "cannot determine absolute directory name of \`$ladir'" - func_warning "passing it literally to the linker, although it might fail" - abs_ladir="$ladir" - fi - ;; - esac - func_basename "$lib" - laname="$func_basename_result" - - # Find the relevant object directory and library name. - if test "X$installed" = Xyes; then - if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - func_warning "library \`$lib' was moved." - dir="$ladir" - absdir="$abs_ladir" - libdir="$abs_ladir" - else - dir="$libdir" - absdir="$libdir" - fi - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes - else - if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir="$ladir" - absdir="$abs_ladir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - else - dir="$ladir/$objdir" - absdir="$abs_ladir/$objdir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - fi - fi # $installed = yes - func_stripname 'lib' '.la' "$laname" - name=$func_stripname_result - - # This library was specified with -dlpreopen. - if test "$pass" = dlpreopen; then - if test -z "$libdir" && test "$linkmode" = prog; then - func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" - fi - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - newdlprefiles="$newdlprefiles $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - newdlprefiles="$newdlprefiles $dir/$dlname" - else - newdlprefiles="$newdlprefiles $dir/$linklib" - fi - fi # $pass = dlpreopen - - if test -z "$libdir"; then - # Link the convenience library - if test "$linkmode" = lib; then - deplibs="$dir/$old_library $deplibs" - elif test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" # used for prog,scan pass - fi - continue - fi - - - if test "$linkmode" = prog && test "$pass" != link; then - newlib_search_path="$newlib_search_path $ladir" - deplibs="$lib $deplibs" - - linkalldeplibs=no - if test "$link_all_deplibs" != no || test -z "$library_names" || - test "$build_libtool_libs" = no; then - linkalldeplibs=yes - fi - - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - newlib_search_path="$newlib_search_path $func_stripname_result" - ;; - esac - # Need to link against all dependency_libs? - if test "$linkalldeplibs" = yes; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - if $opt_duplicate_deps ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done # for deplib - continue - fi # $linkmode = prog... - - if test "$linkmode,$pass" = "prog,link"; then - if test -n "$library_names" && - { { test "$prefer_static_libs" = no || - test "$prefer_static_libs,$installed" = "built,yes"; } || - test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath:" in - *"$absdir:"*) ;; - *) temp_rpath="$temp_rpath$absdir:" ;; - esac - fi - - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi # $linkmode,$pass = prog,link... - - if test "$alldeplibs" = yes && - { test "$deplibs_check_method" = pass_all || - { test "$build_libtool_libs" = yes && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - fi - - link_static=no # Whether the deplib will be linked statically - use_static_libs=$prefer_static_libs - if test "$use_static_libs" = built && test "$installed" = yes; then - use_static_libs=no - fi - if test -n "$library_names" && - { test "$use_static_libs" = no || test -z "$old_library"; }; then - case $host in - *cygwin* | *mingw* | *cegcc*) - # No point in relinking DLLs because paths are not encoded - notinst_deplibs="$notinst_deplibs $lib" - need_relink=no - ;; - *) - if test "$installed" = no; then - notinst_deplibs="$notinst_deplibs $lib" - need_relink=yes - fi - ;; - esac - # This is a shared library - - # Warn about portability, can't link against -module's on some - # systems (darwin). Don't bleat about dlopened modules though! - dlopenmodule="" - for dlpremoduletest in $dlprefiles; do - if test "X$dlpremoduletest" = "X$lib"; then - dlopenmodule="$dlpremoduletest" - break - fi - done - if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then - echo - if test "$linkmode" = prog; then - $ECHO "*** Warning: Linking the executable $output against the loadable module" - else - $ECHO "*** Warning: Linking the shared library $output against the loadable module" - fi - $ECHO "*** $linklib is not portable!" - fi - if test "$linkmode" = lib && - test "$hardcode_into_libs" = yes; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi - - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - shift - realname="$1" - shift - eval "libname=\"$libname_spec\"" - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname="$dlname" - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin* | mingw* | *cegcc*) - func_arith $current - $age - major=$func_arith_result - versuffix="-$major" - ;; - esac - eval "soname=\"$soname_spec\"" - else - soname="$realname" - fi - - # Make a new name for the extract_expsyms_cmds to use - soroot="$soname" - func_basename "$soroot" - soname="$func_basename_result" - func_stripname 'lib' '.dll' "$soname" - newlib=libimp-$func_stripname_result.a - - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - func_verbose "extracting exported symbol list from \`$soname'" - func_execute_cmds "$extract_expsyms_cmds" 'exit $?' - fi - - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - func_verbose "generating import library for \`$soname'" - func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n "$old_archive_from_expsyms_cmds" - - if test "$linkmode" = prog || test "$mode" != relink; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test "$hardcode_direct" = no; then - add="$dir/$linklib" - case $host in - *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; - *-*-sysv4*uw2*) add_dir="-L$dir" ;; - *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ - *-*-unixware7*) add_dir="-L$dir" ;; - *-*-darwin* ) - # if the lib is a (non-dlopened) module then we can not - # link against it, someone is ignoring the earlier warnings - if /usr/bin/file -L $add 2> /dev/null | - $GREP ": [^:]* bundle" >/dev/null ; then - if test "X$dlopenmodule" != "X$lib"; then - $ECHO "*** Warning: lib $linklib is a module, not a shared library" - if test -z "$old_library" ; then - echo - echo "*** And there doesn't seem to be a static archive available" - echo "*** The link will probably fail, sorry" - else - add="$dir/$old_library" - fi - elif test -n "$old_library"; then - add="$dir/$old_library" - fi - fi - esac - elif test "$hardcode_minus_L" = no; then - case $host in - *-*-sunos*) add_shlibpath="$dir" ;; - esac - add_dir="-L$dir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = no; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - relink) - if test "$hardcode_direct" = yes && - test "$hardcode_direct_absolute" = no; then - add="$dir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$absdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac - - if test "$lib_linked" != yes; then - func_fatal_configuration "unsupported hardcode properties" - fi - - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; - esac - fi - if test "$linkmode" = prog; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test "$hardcode_direct" != yes && - test "$hardcode_minus_L" != yes && - test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - fi - fi - fi - - if test "$linkmode" = prog || test "$mode" = relink; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test "$hardcode_direct" = yes && - test "$hardcode_direct_absolute" = no; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - add="-l$name" - elif test "$hardcode_automatic" = yes; then - if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib" ; then - add="$inst_prefix_dir$libdir/$linklib" - else - add="$libdir/$linklib" - fi - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir="-L$libdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - fi - - if test "$linkmode" = prog; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test "$linkmode" = prog; then - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test "$hardcode_direct" != unsupported; then - test -n "$old_library" && linklib="$old_library" - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" - else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" - fi - elif test "$build_libtool_libs" = yes; then - # Not a shared library - if test "$deplibs_check_method" != pass_all; then - # We're trying link a shared library against a static one - # but the system doesn't support it. - - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - echo - $ECHO "*** Warning: This system can not link to static lib archive $lib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." - if test "$module" = yes; then - echo "*** But as you try to build a module library, libtool will still create " - echo "*** a static module, that should work as long as the dlopening application" - echo "*** is linked with the -dlopen flag to resolve symbols at runtime." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - else - deplibs="$dir/$old_library $deplibs" - link_static=yes - fi - fi # link shared/static library? - - if test "$linkmode" = lib; then - if test -n "$dependency_libs" && - { test "$hardcode_into_libs" != yes || - test "$build_old_libs" = yes || - test "$link_static" = yes; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) func_stripname '-R' '' "$libdir" - temp_xrpath=$func_stripname_result - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) xrpath="$xrpath $temp_xrpath";; - esac;; - *) temp_deplibs="$temp_deplibs $libdir";; - esac - done - dependency_libs="$temp_deplibs" - fi - - newlib_search_path="$newlib_search_path $absdir" - # Link against this library - test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - if $opt_duplicate_deps ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - - if test "$link_all_deplibs" != no; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - path= - case $deplib in - -L*) path="$deplib" ;; - *.la) - func_dirname "$deplib" "" "." - dir="$func_dirname_result" - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - func_warning "cannot determine absolute directory name of \`$dir'" - absdir="$dir" - fi - ;; - esac - if $GREP "^installed=no" $deplib > /dev/null; then - case $host in - *-*-darwin*) - depdepl= - deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names" ; then - for tmp in $deplibrary_names ; do - depdepl=$tmp - done - if test -f "$absdir/$objdir/$depdepl" ; then - depdepl="$absdir/$objdir/$depdepl" - darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - if test -z "$darwin_install_name"; then - darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - fi - compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" - linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}" - path= - fi - fi - ;; - *) - path="-L$absdir/$objdir" - ;; - esac - else - libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - test -z "$libdir" && \ - func_fatal_error "\`$deplib' is not a valid libtool archive" - test "$absdir" != "$libdir" && \ - func_warning "\`$deplib' seems to be moved" - - path="-L$absdir" - fi - ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$path $deplibs" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - if test "$pass" = link; then - if test "$linkmode" = "prog"; then - compile_deplibs="$new_inherited_linker_flags $compile_deplibs" - finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" - else - compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - fi - fi - dependency_libs="$newdependency_libs" - if test "$pass" = dlpreopen; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test "$pass" != dlopen; then - if test "$pass" != conv; then - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) lib_search_path="$lib_search_path $dir" ;; - esac - done - newlib_search_path= - fi - - if test "$linkmode,$pass" != "prog,link"; then - vars="deplibs" - else - vars="compile_deplibs finalize_deplibs" - fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\$$var - new_libs= - for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - done - eval $var=\$tmp_libs - done # for var - fi - # Last step: remove runtime libs from dependency_libs - # (they stay in deplibs) - tmp_libs= - for i in $dependency_libs ; do - case " $predeps $postdeps $compiler_lib_search_path " in - *" $i "*) - i="" - ;; - esac - if test -n "$i" ; then - tmp_libs="$tmp_libs $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test "$linkmode" = prog; then - dlfiles="$newdlfiles" - fi - if test "$linkmode" = prog || test "$linkmode" = lib; then - dlprefiles="$newdlprefiles" - fi - - case $linkmode in - oldlib) - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - func_warning "\`-dlopen' is ignored for archives" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "\`-l' and \`-L' are ignored for archives" ;; - esac - - test -n "$rpath" && \ - func_warning "\`-rpath' is ignored for archives" - - test -n "$xrpath" && \ - func_warning "\`-R' is ignored for archives" - - test -n "$vinfo" && \ - func_warning "\`-version-info/-version-number' is ignored for archives" - - test -n "$release" && \ - func_warning "\`-release' is ignored for archives" - - test -n "$export_symbols$export_symbols_regex" && \ - func_warning "\`-export-symbols' is ignored for archives" - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs="$output" - objs="$objs$old_deplibs" - ;; - - lib) - # Make sure we only generate libraries of the form `libNAME.la'. - case $outputname in - lib*) - func_stripname 'lib' '.la' "$outputname" - name=$func_stripname_result - eval "shared_ext=\"$shrext_cmds\"" - eval "libname=\"$libname_spec\"" - ;; - *) - test "$module" = no && \ - func_fatal_help "libtool library \`$output' must begin with \`lib'" - - if test "$need_lib_prefix" != no; then - # Add the "lib" prefix for modules if required - func_stripname '' '.la' "$outputname" - name=$func_stripname_result - eval "shared_ext=\"$shrext_cmds\"" - eval "libname=\"$libname_spec\"" - else - func_stripname '' '.la' "$outputname" - libname=$func_stripname_result - fi - ;; - esac - - if test -n "$objs"; then - if test "$deplibs_check_method" != pass_all; then - func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" - else - echo - $ECHO "*** Warning: Linking the shared library $output against the non-libtool" - $ECHO "*** objects $objs is not portable!" - libobjs="$libobjs $objs" - fi - fi - - test "$dlself" != no && \ - func_warning "\`-dlopen self' is ignored for libtool libraries" - - set dummy $rpath - shift - test "$#" -gt 1 && \ - func_warning "ignoring multiple \`-rpath's for a libtool library" - - install_libdir="$1" - - oldlibs= - if test -z "$rpath"; then - if test "$build_libtool_libs" = yes; then - # Building a libtool convenience library. - # Some compilers have problems with a `.al' extension so - # convenience libraries should have the same extension an - # archive normally would. - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - - test -n "$vinfo" && \ - func_warning "\`-version-info/-version-number' is ignored for convenience libraries" - - test -n "$release" && \ - func_warning "\`-release' is ignored for convenience libraries" - else - - # Parse the version information argument. - save_ifs="$IFS"; IFS=':' - set dummy $vinfo 0 0 0 - shift - IFS="$save_ifs" - - test -n "$7" && \ - func_fatal_help "too many parameters to \`-version-info'" - - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible - - case $vinfo_number in - yes) - number_major="$1" - number_minor="$2" - number_revision="$3" - # - # There are really only two kinds -- those that - # use the current revision as the major version - # and those that subtract age and use age as - # a minor version. But, then there is irix - # which has an extra 1 added just for fun - # - case $version_type in - darwin|linux|osf|windows|none) - func_arith $number_major + $number_minor - current=$func_arith_result - age="$number_minor" - revision="$number_revision" - ;; - freebsd-aout|freebsd-elf|qnx|sunos) - current="$number_major" - revision="$number_minor" - age="0" - ;; - irix|nonstopux) - func_arith $number_major + $number_minor - current=$func_arith_result - age="$number_minor" - revision="$number_minor" - lt_irix_increment=no - ;; - esac - ;; - no) - current="$1" - revision="$2" - age="$3" - ;; - esac - - # Check that each of the things are valid numbers. - case $current in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "CURRENT \`$current' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - case $revision in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "REVISION \`$revision' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - case $age in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "AGE \`$age' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - if test "$age" -gt "$current"; then - func_error "AGE \`$age' is greater than the current interface number \`$current'" - func_fatal_error "\`$vinfo' is not valid version information" - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; - - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - func_arith $current - $age - major=.$func_arith_result - versuffix="$major.$age.$revision" - # Darwin ld doesn't like 0 for these options... - func_arith $current + 1 - minor_current=$func_arith_result - xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - ;; - - freebsd-aout) - major=".$current" - versuffix=".$current.$revision"; - ;; - - freebsd-elf) - major=".$current" - versuffix=".$current" - ;; - - irix | nonstopux) - if test "X$lt_irix_increment" = "Xno"; then - func_arith $current - $age - else - func_arith $current - $age + 1 - fi - major=$func_arith_result - - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring="$verstring_prefix$major.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test "$loop" -ne 0; do - func_arith $revision - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring="$verstring_prefix$major.$iface:$verstring" - done - - # Before this point, $major must not contain `.'. - major=.$major - versuffix="$major.$revision" - ;; - - linux) - func_arith $current - $age - major=.$func_arith_result - versuffix="$major.$age.$revision" - ;; - - osf) - func_arith $current - $age - major=.$func_arith_result - versuffix=".$current.$age.$revision" - verstring="$current.$age.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$age - while test "$loop" -ne 0; do - func_arith $current - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring="$verstring:${iface}.0" - done - - # Make executables depend on our current version. - verstring="$verstring:${current}.0" - ;; - - qnx) - major=".$current" - versuffix=".$current" - ;; - - sunos) - major=".$current" - versuffix=".$current.$revision" - ;; - - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 filesystems. - func_arith $current - $age - major=$func_arith_result - versuffix="-$major" - ;; - - *) - func_fatal_configuration "unknown library version type \`$version_type'" - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring= - ;; - *) - verstring="0.0" - ;; - esac - if test "$need_version" = no; then - versuffix= - else - versuffix=".0.0" - fi - fi - - # Remove version info from name if versioning should be avoided - if test "$avoid_version" = yes && test "$need_version" = no; then - major= - versuffix= - verstring="" - fi - - # Check to see if the archive will have undefined symbols. - if test "$allow_undefined" = yes; then - if test "$allow_undefined_flag" = unsupported; then - func_warning "undefined symbols not allowed in $host shared libraries" - build_libtool_libs=no - build_old_libs=yes - fi - else - # Don't allow undefined symbols. - allow_undefined_flag="$no_undefined_flag" - fi - - fi - - func_generate_dlsyms "$libname" "$libname" "yes" - libobjs="$libobjs $symfileobj" - test "X$libobjs" = "X " && libobjs= - - if test "$mode" != relink; then - # Remove our outputs, but don't remove object files since they - # may have been created when compiling PIC objects. - removelist= - tempremovelist=`$ECHO "$output_objdir/*"` - for p in $tempremovelist; do - case $p in - *.$objext | *.gcno) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) - if test "X$precious_files_regex" != "X"; then - if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue - fi - fi - removelist="$removelist $p" - ;; - *) ;; - esac - done - test -n "$removelist" && \ - func_show_eval "${RM}r \$removelist" - fi - - # Now set the variables for building old libraries. - if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then - oldlibs="$oldlibs $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP` - fi - - # Eliminate all temporary directories. - #for path in $notinst_path; do - # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` - # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` - # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` - #done - - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - temp_xrpath="$temp_xrpath -R$libdir" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi - - # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles="$dlfiles" - dlfiles= - for lib in $old_dlfiles; do - case " $dlprefiles $dlfiles " in - *" $lib "*) ;; - *) dlfiles="$dlfiles $lib" ;; - esac - done - - # Make sure dlprefiles contains only unique files - old_dlprefiles="$dlprefiles" - dlprefiles= - for lib in $old_dlprefiles; do - case "$dlprefiles " in - *" $lib "*) ;; - *) dlprefiles="$dlprefiles $lib" ;; - esac - done - - if test "$build_libtool_libs" = yes; then - if test -n "$rpath"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - deplibs="$deplibs System.ltframework" - ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - ;; - *) - # Add libc to deplibs on all other systems if necessary. - if test "$build_libtool_need_lc" = "yes"; then - deplibs="$deplibs -lc" - fi - ;; - esac - fi - - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release="" - versuffix="" - major="" - newdeplibs= - droppeddeps=no - case $deplibs_check_method in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behavior. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $opt_dry_run || $RM conftest.c - cat > conftest.c <<EOF - int main() { return 0; } -EOF - $opt_dry_run || $RM conftest - if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then - ldd_output=`ldd conftest` - for i in $deplibs; do - case $i in - -l*) - func_stripname -l '' "$i" - name=$func_stripname_result - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $i "*) - newdeplibs="$newdeplibs $i" - i="" - ;; - esac - fi - if test -n "$i" ; then - eval "libname=\"$libname_spec\"" - eval "deplib_matches=\"$library_names_spec\"" - set dummy $deplib_matches; shift - deplib_match=$1 - if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then - newdeplibs="$newdeplibs $i" - else - droppeddeps=yes - echo - $ECHO "*** Warning: dynamic linker does not accept needed library $i." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which I believe you do not have" - echo "*** because a test_compile did reveal that the linker did not use it for" - echo "*** its dynamic dependency list that programs get resolved with at runtime." - fi - fi - ;; - *) - newdeplibs="$newdeplibs $i" - ;; - esac - done - else - # Error occurred in the first compile. Let's try to salvage - # the situation: Compile a separate program for each library. - for i in $deplibs; do - case $i in - -l*) - func_stripname -l '' "$i" - name=$func_stripname_result - $opt_dry_run || $RM conftest - if $LTCC $LTCFLAGS -o conftest conftest.c $i; then - ldd_output=`ldd conftest` - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $i "*) - newdeplibs="$newdeplibs $i" - i="" - ;; - esac - fi - if test -n "$i" ; then - eval "libname=\"$libname_spec\"" - eval "deplib_matches=\"$library_names_spec\"" - set dummy $deplib_matches; shift - deplib_match=$1 - if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then - newdeplibs="$newdeplibs $i" - else - droppeddeps=yes - echo - $ECHO "*** Warning: dynamic linker does not accept needed library $i." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because a test_compile did reveal that the linker did not use this one" - echo "*** as a dynamic dependency that programs can get resolved with at runtime." - fi - fi - else - droppeddeps=yes - echo - $ECHO "*** Warning! Library $i is needed by this library but I was not able to" - echo "*** make it link in! You will probably need to install it or some" - echo "*** library that it depends on before this library will be fully" - echo "*** functional. Installing it before continuing would be even better." - fi - ;; - *) - newdeplibs="$newdeplibs $i" - ;; - esac - done - fi - ;; - file_magic*) - set dummy $deplibs_check_method; shift - file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - for a_deplib in $deplibs; do - case $a_deplib in - -l*) - func_stripname -l '' "$a_deplib" - name=$func_stripname_result - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $a_deplib "*) - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - ;; - esac - fi - if test -n "$a_deplib" ; then - eval "libname=\"$libname_spec\"" - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null | - $GREP " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib="$potent_lib" - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; - *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";; - esac - done - if eval "$file_magic_cmd \"\$potlib\"" 2>/dev/null | - $SED -e 10q | - $EGREP "$file_magic_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - echo - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $ECHO "*** with $libname but no candidates were found. (...for file magic test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a file magic. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - for a_deplib in $deplibs; do - case $a_deplib in - -l*) - func_stripname -l '' "$a_deplib" - name=$func_stripname_result - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $a_deplib "*) - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - ;; - esac - fi - if test -n "$a_deplib" ; then - eval "libname=\"$libname_spec\"" - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib="$potent_lib" # see symlink-check above in file_magic test - if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ - $EGREP "$match_pattern_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - echo - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a regex pattern. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs="" - tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - for i in $predeps $postdeps ; do - # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"` - done - fi - case $tmp_deplibs in - *[!\ \ ]*) - echo - if test "X$deplibs_check_method" = "Xnone"; then - echo "*** Warning: inter-library dependencies are not supported in this platform." - else - echo "*** Warning: inter-library dependencies are not known to be supported." - fi - echo "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - ;; - esac - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library with the System framework - newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - if test "$droppeddeps" = yes; then - if test "$module" = yes; then - echo - echo "*** Warning: libtool could not satisfy all declared inter-library" - $ECHO "*** dependencies of module $libname. Therefore, libtool will create" - echo "*** a static module, that should work as long as the dlopening" - echo "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - echo "*** The inter-library dependencies that have been dropped here will be" - echo "*** automatically added whenever a program is linked with this library" - echo "*** or is declared to -dlopen it." - - if test "$allow_undefined" = no; then - echo - echo "*** Since this library must not contain undefined symbols," - echo "*** because either the platform does not support them or" - echo "*** it was explicitly requested with -no-undefined," - echo "*** libtool will only create a static version of it." - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - fi - fi - # Done checking deplibs! - deplibs=$newdeplibs - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - case $host in - *-*-darwin*) - newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $deplibs " in - *" -L$path/$objdir "*) - new_libs="$new_libs -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$new_libs $deplib" ;; - esac - ;; - *) new_libs="$new_libs $deplib" ;; - esac - done - deplibs="$new_libs" - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - - # Test again, we may have decided not to build it any more - if test "$build_libtool_libs" = yes; then - if test "$hardcode_into_libs" = yes; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath="$finalize_rpath" - test "$mode" != relink && rpath="$compile_rpath$rpath" - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval "flag=\"$hardcode_libdir_flag_spec\"" - dep_rpath="$dep_rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - if test -n "$hardcode_libdir_flag_spec_ld"; then - eval "dep_rpath=\"$hardcode_libdir_flag_spec_ld\"" - else - eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" - fi - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - eval $runpath_var=\$rpath\$$runpath_var - export $runpath_var - fi - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" - fi - - shlibpath="$finalize_shlibpath" - test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" - if test -n "$shlibpath"; then - eval $shlibpath_var=\$shlibpath\$$shlibpath_var - export $shlibpath_var - fi - - # Get the real and link names of the library. - eval "shared_ext=\"$shrext_cmds\"" - eval "library_names=\"$library_names_spec\"" - set dummy $library_names - shift - realname="$1" - shift - - if test -n "$soname_spec"; then - eval "soname=\"$soname_spec\"" - else - soname="$realname" - fi - if test -z "$dlname"; then - dlname=$soname - fi - - lib="$output_objdir/$realname" - linknames= - for link - do - linknames="$linknames $link" - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` - test "X$libobjs" = "X " && libobjs= - - delfiles= - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" - export_symbols="$output_objdir/$libname.uexp" - delfiles="$delfiles $export_symbols" - fi - - orig_export_symbols= - case $host_os in - cygwin* | mingw* | cegcc*) - if test -n "$export_symbols" && test -z "$export_symbols_regex"; then - # exporting using user supplied symfile - if test "x`$SED 1q $export_symbols`" != xEXPORTS; then - # and it's NOT already a .def file. Must figure out - # which of the given symbols are data symbols and tag - # them as such. So, trigger use of export_symbols_cmds. - # export_symbols gets reassigned inside the "prepare - # the list of exported symbols" if statement, so the - # include_expsyms logic still works. - orig_export_symbols="$export_symbols" - export_symbols= - always_export_symbols=yes - fi - fi - ;; - esac - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then - func_verbose "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $opt_dry_run || $RM $export_symbols - cmds=$export_symbols_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval "cmd=\"$cmd\"" - func_len " $cmd" - len=$func_len_result - if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - func_show_eval "$cmd" 'exit $?' - skipped_export=false - else - # The command line is too long to execute in one step. - func_verbose "using reloadable object file for export list..." - skipped_export=: - # Break out early, otherwise skipped_export may be - # set to false by a later but shorter cmd. - break - fi - done - IFS="$save_ifs" - if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - fi - - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols="$export_symbols" - test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" - $opt_dry_run || $ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols" - fi - - if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - - tmp_deplibs= - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; - *) - tmp_deplibs="$tmp_deplibs $test_deplib" - ;; - esac - done - deplibs="$tmp_deplibs" - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec" && - test "$compiler_needs_object" = yes && - test -z "$libobjs"; then - # extract the archives, so we have objects to list. - # TODO: could optimize this to just extract one archive. - whole_archive_flag_spec= - fi - if test -n "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - eval "libobjs=\"\$libobjs $whole_archive_flag_spec\"" - test "X$libobjs" = "X " && libobjs= - else - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $convenience - libobjs="$libobjs $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - fi - - if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then - eval "flag=\"$thread_safe_flag_spec\"" - linker_flags="$linker_flags $flag" - fi - - # Make a backup of the uninstalled library when relinking - if test "$mode" = relink; then - $opt_dry_run || (cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U) || exit $? - fi - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - eval "test_cmds=\"$module_expsym_cmds\"" - cmds=$module_expsym_cmds - else - eval "test_cmds=\"$module_cmds\"" - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval "test_cmds=\"$archive_expsym_cmds\"" - cmds=$archive_expsym_cmds - else - eval "test_cmds=\"$archive_cmds\"" - cmds=$archive_cmds - fi - fi - - if test "X$skipped_export" != "X:" && - func_len " $test_cmds" && - len=$func_len_result && - test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # The command line is too long to link in one step, link piecewise - # or, if using GNU ld and skipped_export is not :, use a linker - # script. - - # Save the value of $output and $libobjs because we want to - # use them later. If we have whole_archive_flag_spec, we - # want to use save_libobjs as it was before - # whole_archive_flag_spec was expanded, because we can't - # assume the linker understands whole_archive_flag_spec. - # This may have to be revisited, in case too many - # convenience libraries get linked in and end up exceeding - # the spec. - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - fi - save_output=$output - func_basename "$output" - output_la=$func_basename_result - - # Clear the reloadable object creation command queue and - # initialize k to one. - test_cmds= - concat_cmds= - objlist= - last_robj= - k=1 - - if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then - output=${output_objdir}/${output_la}.lnkscript - func_verbose "creating GNU ld script: $output" - echo 'INPUT (' > $output - for obj in $save_libobjs - do - $ECHO "$obj" >> $output - done - echo ')' >> $output - delfiles="$delfiles $output" - elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then - output=${output_objdir}/${output_la}.lnk - func_verbose "creating linker input file list: $output" - : > $output - set x $save_libobjs - shift - firstobj= - if test "$compiler_needs_object" = yes; then - firstobj="$1 " - shift - fi - for obj - do - $ECHO "$obj" >> $output - done - delfiles="$delfiles $output" - output=$firstobj\"$file_list_spec$output\" - else - if test -n "$save_libobjs"; then - func_verbose "creating reloadable object files..." - output=$output_objdir/$output_la-${k}.$objext - eval "test_cmds=\"$reload_cmds\"" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - if test "X$objlist" = X || - test "$len" -lt "$max_cmd_len"; then - func_append objlist " $obj" - else - # The command $test_cmds is almost too long, add a - # command to the queue. - if test "$k" -eq 1 ; then - # The first file doesn't have a previous command to add. - reload_objs=$objlist - eval "concat_cmds=\"$reload_cmds\"" - else - # All subsequent reloadable object files will link in - # the last one created. - reload_objs="$objlist $last_robj" - eval "concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"" - fi - last_robj=$output_objdir/$output_la-${k}.$objext - func_arith $k + 1 - k=$func_arith_result - output=$output_objdir/$output_la-${k}.$objext - objlist=" $obj" - func_len " $last_robj" - func_arith $len0 + $func_len_result - len=$func_arith_result - fi - done - # Handle the remaining objects by creating one last - # reloadable object file. All subsequent reloadable object - # files will link in the last one created. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - reload_objs="$objlist $last_robj" - eval "concat_cmds=\"\${concat_cmds}$reload_cmds\"" - if test -n "$last_robj"; then - eval "concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"" - fi - delfiles="$delfiles $output" - - else - output= - fi - - if ${skipped_export-false}; then - func_verbose "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $opt_dry_run || $RM $export_symbols - libobjs=$output - # Append the command to create the export file. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval "concat_cmds=\"\$concat_cmds$export_symbols_cmds\"" - if test -n "$last_robj"; then - eval "concat_cmds=\"\$concat_cmds~\$RM $last_robj\"" - fi - fi - - test -n "$save_libobjs" && - func_verbose "creating a temporary reloadable object file: $output" - - # Loop through the commands generated above and execute them. - save_ifs="$IFS"; IFS='~' - for cmd in $concat_cmds; do - IFS="$save_ifs" - $opt_silent || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - - if test -n "$export_symbols_regex" && ${skipped_export-false}; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - - if ${skipped_export-false}; then - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols="$export_symbols" - test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" - $opt_dry_run || $ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols" - fi - - if test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - fi - - libobjs=$output - # Restore the value of output. - output=$save_output - - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then - eval "libobjs=\"\$libobjs $whole_archive_flag_spec\"" - test "X$libobjs" = "X " && libobjs= - fi - # Expand the library linking commands again to reset the - # value of $libobjs for piecewise linking. - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - cmds=$module_expsym_cmds - else - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - cmds=$archive_expsym_cmds - else - cmds=$archive_cmds - fi - fi - fi - - if test -n "$delfiles"; then - # Append the command to remove temporary files to $cmds. - eval "cmds=\"\$cmds~\$RM $delfiles\"" - fi - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $dlprefiles - libobjs="$libobjs $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval "cmd=\"$cmd\"" - $opt_silent || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $opt_dry_run || (cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname) || exit $? - - if test -n "$convenience"; then - if test -z "$whole_archive_flag_spec"; then - func_show_eval '${RM}r "$gentop"' - fi - fi - - exit $EXIT_SUCCESS - fi - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' - fi - done - - # If -module or -export-dynamic was specified, set the dlname. - if test "$module" = yes || test "$export_dynamic" = yes; then - # On all known operating systems, these are identical. - dlname="$soname" - fi - fi - ;; - - obj) - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - func_warning "\`-dlopen' is ignored for objects" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "\`-l' and \`-L' are ignored for objects" ;; - esac - - test -n "$rpath" && \ - func_warning "\`-rpath' is ignored for objects" - - test -n "$xrpath" && \ - func_warning "\`-R' is ignored for objects" - - test -n "$vinfo" && \ - func_warning "\`-version-info' is ignored for objects" - - test -n "$release" && \ - func_warning "\`-release' is ignored for objects" - - case $output in - *.lo) - test -n "$objs$old_deplibs" && \ - func_fatal_error "cannot build library object \`$output' from non-libtool objects" - - libobj=$output - func_lo2o "$libobj" - obj=$func_lo2o_result - ;; - *) - libobj= - obj="$output" - ;; - esac - - # Delete the old objects. - $opt_dry_run || $RM $obj $libobj - - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # reload_cmds runs $LD directly, so let us get rid of - # -Wl from whole_archive_flag_spec and hope we can get by with - # turning comma into space.. - wl= - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval "tmp_whole_archive_flags=\"$whole_archive_flag_spec\"" - reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` - else - gentop="$output_objdir/${obj}x" - generated="$generated $gentop" - - func_extract_archives $gentop $convenience - reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi - - # Create the old-style object. - reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test - - output="$obj" - func_execute_cmds "$reload_cmds" 'exit $?' - - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - fi - - if test "$build_libtool_libs" != yes; then - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $opt_dry_run || echo timestamp > $libobj || exit $? - exit $EXIT_SUCCESS - fi - - if test -n "$pic_flag" || test "$pic_mode" != default; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output="$libobj" - func_execute_cmds "$reload_cmds" 'exit $?' - fi - - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - ;; - - prog) - case $host in - *cygwin*) func_stripname '' '.exe' "$output" - output=$func_stripname_result.exe;; - esac - test -n "$vinfo" && \ - func_warning "\`-version-info' is ignored for programs" - - test -n "$release" && \ - func_warning "\`-release' is ignored for programs" - - test "$preload" = yes \ - && test "$dlopen_support" = unknown \ - && test "$dlopen_self" = unknown \ - && test "$dlopen_self_static" = unknown && \ - func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - case $host in - *-*-darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - # But is supposedly fixed on 10.4 or later (yay!). - if test "$tagname" = CXX ; then - case ${MACOSX_DEPLOYMENT_TARGET-10.0} in - 10.[0123]) - compile_command="$compile_command ${wl}-bind_at_load" - finalize_command="$finalize_command ${wl}-bind_at_load" - ;; - esac - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $compile_deplibs " in - *" -L$path/$objdir "*) - new_libs="$new_libs -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $compile_deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$new_libs $deplib" ;; - esac - ;; - *) new_libs="$new_libs $deplib" ;; - esac - done - compile_deplibs="$new_libs" - - - compile_command="$compile_command $compile_deplibs" - finalize_command="$finalize_command $finalize_deplibs" - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - fi - - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval "flag=\"$hardcode_libdir_flag_spec\"" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$libdir:"*) ;; - ::) dllsearchpath=$libdir;; - *) dllsearchpath="$dllsearchpath:$libdir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) dllsearchpath="$dllsearchpath:$testbindir";; - esac - ;; - esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval "rpath=\" $hardcode_libdir_flag_spec\"" - fi - compile_rpath="$rpath" - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval "flag=\"$hardcode_libdir_flag_spec\"" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval "rpath=\" $hardcode_libdir_flag_spec\"" - fi - finalize_rpath="$rpath" - - if test -n "$libobjs" && test "$build_old_libs" = yes; then - # Transform all the library objects into standard objects. - compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - fi - - func_generate_dlsyms "$outputname" "@PROGRAM@" "no" - - # template prelinking step - if test -n "$prelink_cmds"; then - func_execute_cmds "$prelink_cmds" 'exit $?' - fi - - wrappers_required=yes - case $host in - *cegcc* | *mingw32ce*) - # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. - wrappers_required=no - ;; - *cygwin* | *mingw* ) - if test "$build_libtool_libs" != yes; then - wrappers_required=no - fi - ;; - *) - if test "$need_relink" = no || test "$build_libtool_libs" != yes; then - wrappers_required=no - fi - ;; - esac - if test "$wrappers_required" = no; then - # Replace the output file specification. - compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - link_command="$compile_command$compile_rpath" - - # We have no uninstalled library dependencies, so finalize right now. - exit_status=0 - func_show_eval "$link_command" 'exit_status=$?' - - # Delete the generated files. - if test -f "$output_objdir/${outputname}S.${objext}"; then - func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' - fi - - exit $exit_status - fi - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi - - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - rpath="$rpath$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test "$no_install" = yes; then - # We don't need to create a wrapper script. - link_command="$compile_var$compile_command$compile_rpath" - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $opt_dry_run || $RM $output - # Link the executable and exit - func_show_eval "$link_command" 'exit $?' - exit $EXIT_SUCCESS - fi - - if test "$hardcode_action" = relink; then - # Fast installation is not supported - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - - func_warning "this platform does not like uninstalled shared libraries" - func_warning "\`$output' will be relinked during installation" - else - if test "$fast_install" != no; then - link_command="$finalize_var$compile_command$finalize_rpath" - if test "$fast_install" = yes; then - relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` - else - # fast_install is set to needless - relink_command= - fi - else - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - fi - fi - - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Delete the old output files. - $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname - - func_show_eval "$link_command" 'exit $?' - - # Now create the wrapper script. - func_verbose "creating $output" - - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` - fi - - # Only actually do things if not in dry run mode. - $opt_dry_run || { - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) func_stripname '' '.exe' "$output" - output=$func_stripname_result ;; - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in - *cygwin*) - exeext=.exe - func_stripname '' '.exe' "$outputname" - outputname=$func_stripname_result ;; - *) exeext= ;; - esac - case $host in - *cygwin* | *mingw* ) - func_dirname_and_basename "$output" "" "." - output_name=$func_basename_result - output_path=$func_dirname_result - cwrappersource="$output_path/$objdir/lt-$output_name.c" - cwrapper="$output_path/$output_name.exe" - $RM $cwrappersource $cwrapper - trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - - func_emit_cwrapperexe_src > $cwrappersource - - # The wrapper executable is built using the $host compiler, - # because it contains $host paths and files. If cross- - # compiling, it, like the target executable, must be - # executed on the $host or under an emulation environment. - $opt_dry_run || { - $LTCC $LTCFLAGS -o $cwrapper $cwrappersource - $STRIP $cwrapper - } - - # Now, create the wrapper script for func_source use: - func_ltwrapper_scriptname $cwrapper - $RM $func_ltwrapper_scriptname_result - trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 - $opt_dry_run || { - # note: this script will not be executed, so do not chmod. - if test "x$build" = "x$host" ; then - $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result - else - func_emit_wrapper no > $func_ltwrapper_scriptname_result - fi - } - ;; - * ) - $RM $output - trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 - - func_emit_wrapper no > $output - chmod +x $output - ;; - esac - } - exit $EXIT_SUCCESS - ;; - esac - - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do - - if test "$build_libtool_libs" = convenience; then - oldobjs="$libobjs_save $symfileobj" - addlibs="$convenience" - build_libtool_libs=no - else - if test "$build_libtool_libs" = module; then - oldobjs="$libobjs_save" - build_libtool_libs=no - else - oldobjs="$old_deplibs $non_pic_objects" - if test "$preload" = yes && test -f "$symfileobj"; then - oldobjs="$oldobjs $symfileobj" - fi - fi - addlibs="$old_convenience" - fi - - if test -n "$addlibs"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $addlibs - oldobjs="$oldobjs $func_extract_archives_result" - fi - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then - cmds=$old_archive_from_new_cmds - else - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $dlprefiles - oldobjs="$oldobjs $func_extract_archives_result" - fi - - # POSIX demands no paths to be encoded in archives. We have - # to avoid creating archives with duplicate basenames if we - # might have to extract them afterwards, e.g., when creating a - # static archive out of a convenience library, or when linking - # the entirety of a libtool archive into another (currently - # not supported by libtool). - if (for obj in $oldobjs - do - func_basename "$obj" - $ECHO "$func_basename_result" - done | sort | sort -uc >/dev/null 2>&1); then - : - else - echo "copying selected object files to avoid basename conflicts..." - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - func_mkdir_p "$gentop" - save_oldobjs=$oldobjs - oldobjs= - counter=1 - for obj in $save_oldobjs - do - func_basename "$obj" - objbase="$func_basename_result" - case " $oldobjs " in - " ") oldobjs=$obj ;; - *[\ /]"$objbase "*) - while :; do - # Make sure we don't pick an alternate name that also - # overlaps. - newobj=lt$counter-$objbase - func_arith $counter + 1 - counter=$func_arith_result - case " $oldobjs " in - *[\ /]"$newobj "*) ;; - *) if test ! -f "$gentop/$newobj"; then break; fi ;; - esac - done - func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" - oldobjs="$oldobjs $gentop/$newobj" - ;; - *) oldobjs="$oldobjs $obj" ;; - esac - done - fi - eval "cmds=\"$old_archive_cmds\"" - - func_len " $cmds" - len=$func_len_result - if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - cmds=$old_archive_cmds - else - # the command line is too long to link in one step, link in parts - func_verbose "using piecewise archive linking..." - save_RANLIB=$RANLIB - RANLIB=: - objlist= - concat_cmds= - save_oldobjs=$oldobjs - oldobjs= - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj - done - eval "test_cmds=\"$old_archive_cmds\"" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - for obj in $save_oldobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - func_append objlist " $obj" - if test "$len" -lt "$max_cmd_len"; then - : - else - # the above command should be used before it gets too long - oldobjs=$objlist - if test "$obj" = "$last_oldobj" ; then - RANLIB=$save_RANLIB - fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval "concat_cmds=\"\${concat_cmds}$old_archive_cmds\"" - objlist= - len=$len0 - fi - done - RANLIB=$save_RANLIB - oldobjs=$objlist - if test "X$oldobjs" = "X" ; then - eval "cmds=\"\$concat_cmds\"" - else - eval "cmds=\"\$concat_cmds~\$old_archive_cmds\"" - fi - fi - fi - func_execute_cmds "$cmds" 'exit $?' - done - - test -n "$generated" && \ - func_show_eval "${RM}r$generated" - - # Now create the libtool archive. - case $output in - *.la) - old_library= - test "$build_old_libs" = yes && old_library="$libname.$libext" - func_verbose "creating $output" - - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` - if test "$hardcode_automatic" = yes ; then - relink_command= - fi - - # Only create the output if not a dry run. - $opt_dry_run || { - for installed in no yes; do - if test "$installed" = yes; then - if test -z "$install_libdir"; then - break - fi - output="$output_objdir/$outputname"i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - func_basename "$deplib" - name="$func_basename_result" - libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - test -z "$libdir" && \ - func_fatal_error "\`$deplib' is not a valid libtool archive" - newdependency_libs="$newdependency_libs $libdir/$name" - ;; - *) newdependency_libs="$newdependency_libs $deplib" ;; - esac - done - dependency_libs="$newdependency_libs" - newdlfiles= - - for lib in $dlfiles; do - case $lib in - *.la) - func_basename "$lib" - name="$func_basename_result" - libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "\`$lib' is not a valid libtool archive" - newdlfiles="$newdlfiles $libdir/$name" - ;; - *) newdlfiles="$newdlfiles $lib" ;; - esac - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - *.la) - # Only pass preopened files to the pseudo-archive (for - # eventual linking with the app. that links it) if we - # didn't already link the preopened objects directly into - # the library: - func_basename "$lib" - name="$func_basename_result" - libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "\`$lib' is not a valid libtool archive" - newdlprefiles="$newdlprefiles $libdir/$name" - ;; - esac - done - dlprefiles="$newdlprefiles" - else - newdlfiles= - for lib in $dlfiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlfiles="$newdlfiles $abs" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlprefiles="$newdlprefiles $abs" - done - dlprefiles="$newdlprefiles" - fi - $RM $output - # place dlname in correct position for cygwin - # In fact, it would be nice if we could use this code for all target - # systems that can't hard-code library paths into their executables - # and that have no shared library path variable independent of PATH, - # but it turns out we can't easily determine that from inspecting - # libtool variables, so we have to hard-code the OSs to which it - # applies here; at the moment, that means platforms that use the PE - # object format with DLL files. See the long comment at the top of - # tests/bindir.at for full details. - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) - # If a -bindir argument was supplied, place the dll there. - if test "x$bindir" != x ; - then - func_relative_path "$install_libdir" "$bindir" - tdlname=$func_relative_path_result$dlname - else - # Otherwise fall back on heuristic. - tdlname=../bin/$dlname - fi - ;; - esac - $ECHO > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='$tdlname' - -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Linker flags that can not go in dependency_libs. -inherited_linker_flags='$new_inherited_linker_flags' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Names of additional weak libraries provided by this library -weak_library_names='$weak_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision - -# Is this an already installed library? -installed=$installed - -# Should we warn about portability when linking against -modules? -shouldnotlink=$module - -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' - -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test "$installed" = no && test "$need_relink" = yes; then - $ECHO >> $output "\ -relink_command=\"$relink_command\"" - fi - done - } - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' - ;; - esac - exit $EXIT_SUCCESS -} - -{ test "$mode" = link || test "$mode" = relink; } && - func_mode_link ${1+"$@"} - - -# func_mode_uninstall arg... -func_mode_uninstall () -{ - $opt_debug - RM="$nonopt" - files= - rmforce= - exit_status=0 - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - for arg - do - case $arg in - -f) RM="$RM $arg"; rmforce=yes ;; - -*) RM="$RM $arg" ;; - *) files="$files $arg" ;; - esac - done - - test -z "$RM" && \ - func_fatal_help "you must specify an RM program" - - rmdirs= - - origobjdir="$objdir" - for file in $files; do - func_dirname "$file" "" "." - dir="$func_dirname_result" - if test "X$dir" = X.; then - objdir="$origobjdir" - else - objdir="$dir/$origobjdir" - fi - func_basename "$file" - name="$func_basename_result" - test "$mode" = uninstall && objdir="$dir" - - # Remember objdir for removal later, being careful to avoid duplicates - if test "$mode" = clean; then - case " $rmdirs " in - *" $objdir "*) ;; - *) rmdirs="$rmdirs $objdir" ;; - esac - fi - - # Don't error if the file doesn't exist and rm -f was used. - if { test -L "$file"; } >/dev/null 2>&1 || - { test -h "$file"; } >/dev/null 2>&1 || - test -f "$file"; then - : - elif test -d "$file"; then - exit_status=1 - continue - elif test "$rmforce" = yes; then - continue - fi - - rmfiles="$file" - - case $name in - *.la) - # Possibly a libtool archive, so verify it. - if func_lalib_p "$file"; then - func_source $dir/$name - - # Delete the libtool libraries and symlinks. - for n in $library_names; do - rmfiles="$rmfiles $objdir/$n" - done - test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" - - case "$mode" in - clean) - case " $library_names " in - # " " in the beginning catches empty $dlname - *" $dlname "*) ;; - *) rmfiles="$rmfiles $objdir/$dlname" ;; - esac - test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" - ;; - uninstall) - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' - fi - # FIXME: should reinstall the best remaining shared library. - ;; - esac - fi - ;; - - *.lo) - # Possibly a libtool object, so verify it. - if func_lalib_p "$file"; then - - # Read the .lo file - func_source $dir/$name - - # Add PIC object to the list of files to remove. - if test -n "$pic_object" && - test "$pic_object" != none; then - rmfiles="$rmfiles $dir/$pic_object" - fi - - # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" && - test "$non_pic_object" != none; then - rmfiles="$rmfiles $dir/$non_pic_object" - fi - fi - ;; - - *) - if test "$mode" = clean ; then - noexename=$name - case $file in - *.exe) - func_stripname '' '.exe' "$file" - file=$func_stripname_result - func_stripname '' '.exe' "$name" - noexename=$func_stripname_result - # $file with .exe has already been added to rmfiles, - # add $file without .exe - rmfiles="$rmfiles $file" - ;; - esac - # Do a test to see if this is a libtool program. - if func_ltwrapper_p "$file"; then - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - relink_command= - func_source $func_ltwrapper_scriptname_result - rmfiles="$rmfiles $func_ltwrapper_scriptname_result" - else - relink_command= - func_source $dir/$noexename - fi - - # note $name still contains .exe if it was in $file originally - # as does the version of $file that was added into $rmfiles - rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" - if test "$fast_install" = yes && test -n "$relink_command"; then - rmfiles="$rmfiles $objdir/lt-$name" - fi - if test "X$noexename" != "X$name" ; then - rmfiles="$rmfiles $objdir/lt-${noexename}.c" - fi - fi - fi - ;; - esac - func_show_eval "$RM $rmfiles" 'exit_status=1' - done - objdir="$origobjdir" - - # Try to remove the ${objdir}s in the directories where we deleted files - for dir in $rmdirs; do - if test -d "$dir"; then - func_show_eval "rmdir $dir >/dev/null 2>&1" - fi - done - - exit $exit_status -} - -{ test "$mode" = uninstall || test "$mode" = clean; } && - func_mode_uninstall ${1+"$@"} - -test -z "$mode" && { - help="$generic_help" - func_fatal_help "you must specify a MODE" -} - -test -z "$exec_cmd" && \ - func_fatal_help "invalid operation mode \`$mode'" - -if test -n "$exec_cmd"; then - eval exec "$exec_cmd" - exit $EXIT_FAILURE -fi - -exit $exit_status - - -# The TAGs below are defined such that we never get into a situation -# in which we disable both kinds of libraries. Given conflicting -# choices, we go for a static library, that is the most portable, -# since we can't tell whether shared libraries were disabled because -# the user asked for that or because the platform doesn't support -# them. This is particularly important on AIX, because we don't -# support having both static and shared libraries enabled at the same -# time on that platform, so we default to a shared-only configuration. -# If a disable-shared tag is given, we'll fallback to a static-only -# configuration. But we'll never go from static-only to shared-only. - -# ### BEGIN LIBTOOL TAG CONFIG: disable-shared -build_libtool_libs=no -build_old_libs=yes -# ### END LIBTOOL TAG CONFIG: disable-shared - -# ### BEGIN LIBTOOL TAG CONFIG: disable-static -build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` -# ### END LIBTOOL TAG CONFIG: disable-static - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: -# vi:sw=2 - diff --git a/support/sdbinutils/bfd/libtool-soversion b/support/sdbinutils/bfd/libtool-soversion deleted file mode 100644 index 81b133a..0000000 --- a/support/sdbinutils/bfd/libtool-soversion +++ /dev/null @@ -1 +0,0 @@ -2.30 diff --git a/support/sdbinutils/bfd/po/BLD-POTFILES b/support/sdbinutils/bfd/po/BLD-POTFILES deleted file mode 100644 index 1e3966c..0000000 --- a/support/sdbinutils/bfd/po/BLD-POTFILES +++ /dev/null @@ -1,14 +0,0 @@ - ../bfd_stdint.h \ - ../bfdver.h \ - ../elf32-aarch64.c \ - ../elf32-ia64.c \ - ../elf32-riscv.c \ - ../elf32-target.h \ - ../elf64-aarch64.c \ - ../elf64-ia64.c \ - ../elf64-riscv.c \ - ../elf64-target.h \ - ../peigen.c \ - ../pepigen.c \ - ../pex64igen.c \ - ../targmatch.h diff --git a/support/sdbinutils/bfd/po/Makefile b/support/sdbinutils/bfd/po/Makefile deleted file mode 100644 index 6d616c6..0000000 --- a/support/sdbinutils/bfd/po/Makefile +++ /dev/null @@ -1,709 +0,0 @@ -# Makefile for program source directory in GNU NLS utilities package. -# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu> -# Copyright (C) 2001-2018 Free Software Foundation, Inc. -# -# This file may be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU Public License -# but which still want to provide support for the GNU gettext functionality. -# Please note that the actual code is *not* freely available. - -PACKAGE = bfd -VERSION = 2.30 - -SHELL = /bin/sh - - -srcdir = . -top_srcdir = .. - -top_builddir = .. - -prefix = /usr/local -exec_prefix = ${prefix} -datadir = ${datarootdir} -localedir = ${datarootdir}/locale -gnulocaledir = ${prefix}/share/locale -gettextsrcdir = ${prefix}/share/gettext/po -subdir = po - -DESTDIR = - -INSTALL = /usr/bin/install -c -INSTALL_DATA = /usr/bin/install -c -m 644 -MKINSTALLDIRS = $(top_builddir)/./../mkinstalldirs - -CC = gcc -GENCAT = -GMSGFMT = PATH=../src:$$PATH /usr/bin/msgfmt -MSGFMT = /usr/bin/msgfmt -XGETTEXT = PATH=../src:$$PATH /usr/bin/xgettext -MSGMERGE = PATH=../src:$$PATH msgmerge - -DEFS = -DHAVE_CONFIG_H -CFLAGS = -g -O2 -CPPFLAGS = - -INCLUDES = -I.. -I$(top_srcdir)/intl - -COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) - -SOURCES = cat-id-tbl.c -POFILES = da.po es.po fi.po fr.po hr.po id.po ja.po ro.po ru.po rw.po sr.po sv.po tr.po uk.po vi.po zh_CN.po -GMOFILES = da.gmo es.gmo fi.gmo fr.gmo hr.gmo id.gmo ja.gmo ro.gmo ru.gmo rw.gmo sr.gmo sv.gmo tr.gmo uk.gmo vi.gmo zh_CN.gmo -DISTFILES = ChangeLog Makefile.in.in SRC-POTFILES.in BLD-POTFILES.in $(PACKAGE).pot \ -stamp-cat-id $(POFILES) $(GMOFILES) $(SOURCES) - -# Note - the following line gets processed by bfd/configure and amended -# to contain the full list of source dir POTFILES. -SRC-POTFILES = \ - ../aix386-core.c \ - ../aix5ppc-core.c \ - ../aout-adobe.c \ - ../aout-arm.c \ - ../aout-cris.c \ - ../aout-ns32k.c \ - ../aout-sparcle.c \ - ../aout-target.h \ - ../aout-tic30.c \ - ../aout0.c \ - ../aout32.c \ - ../aout64.c \ - ../aoutf1.h \ - ../aoutx.h \ - ../archive.c \ - ../archive64.c \ - ../archures.c \ - ../armnetbsd.c \ - ../bfd.c \ - ../bfdio.c \ - ../bfdwin.c \ - ../binary.c \ - ../bout.c \ - ../cache.c \ - ../cf-i386lynx.c \ - ../cf-sparclynx.c \ - ../cisco-core.c \ - ../coff-alpha.c \ - ../coff-apollo.c \ - ../coff-arm.c \ - ../coff-aux.c \ - ../coff-bfd.c \ - ../coff-go32.c \ - ../coff-h8300.c \ - ../coff-h8500.c \ - ../coff-i386.c \ - ../coff-i860.c \ - ../coff-i960.c \ - ../coff-m68k.c \ - ../coff-m88k.c \ - ../coff-mips.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-w65.c \ - ../coff-we32k.c \ - ../coff-x86_64.c \ - ../coff-z80.c \ - ../coff-z8k.c \ - ../coff64-rs6000.c \ - ../coffcode.h \ - ../coffgen.c \ - ../cofflink.c \ - ../coffswap.h \ - ../compress.c \ - ../corefile.c \ - ../cpu-aarch64.c \ - ../cpu-alpha.c \ - ../cpu-arc.c \ - ../cpu-arm.c \ - ../cpu-avr.c \ - ../cpu-bfin.c \ - ../cpu-cr16.c \ - ../cpu-cr16c.c \ - ../cpu-cris.c \ - ../cpu-crx.c \ - ../cpu-d10v.c \ - ../cpu-d30v.c \ - ../cpu-dlx.c \ - ../cpu-epiphany.c \ - ../cpu-fr30.c \ - ../cpu-frv.c \ - ../cpu-ft32.c \ - ../cpu-h8300.c \ - ../cpu-h8500.c \ - ../cpu-hppa.c \ - ../cpu-i370.c \ - ../cpu-i386.c \ - ../cpu-i860.c \ - ../cpu-i960.c \ - ../cpu-ia64.c \ - ../cpu-iamcu.c \ - ../cpu-ip2k.c \ - ../cpu-iq2000.c \ - ../cpu-k1om.c \ - ../cpu-l1om.c \ - ../cpu-lm32.c \ - ../cpu-m10200.c \ - ../cpu-m10300.c \ - ../cpu-m32c.c \ - ../cpu-m32r.c \ - ../cpu-m68hc11.c \ - ../cpu-m68hc12.c \ - ../cpu-m68k.c \ - ../cpu-m88k.c \ - ../cpu-m9s12x.c \ - ../cpu-m9s12xg.c \ - ../cpu-mcore.c \ - ../cpu-mep.c \ - ../cpu-metag.c \ - ../cpu-microblaze.c \ - ../cpu-mips.c \ - ../cpu-mmix.c \ - ../cpu-moxie.c \ - ../cpu-msp430.c \ - ../cpu-mt.c \ - ../cpu-nds32.c \ - ../cpu-nios2.c \ - ../cpu-ns32k.c \ - ../cpu-or1k.c \ - ../cpu-pdp11.c \ - ../cpu-pj.c \ - ../cpu-plugin.c \ - ../cpu-powerpc.c \ - ../cpu-pru.c \ - ../cpu-riscv.c \ - ../cpu-rl78.c \ - ../cpu-rs6000.c \ - ../cpu-rx.c \ - ../cpu-s390.c \ - ../cpu-score.c \ - ../cpu-sh.c \ - ../cpu-sparc.c \ - ../cpu-spu.c \ - ../cpu-tic30.c \ - ../cpu-tic4x.c \ - ../cpu-tic54x.c \ - ../cpu-tic6x.c \ - ../cpu-tic80.c \ - ../cpu-tilegx.c \ - ../cpu-tilepro.c \ - ../cpu-v850.c \ - ../cpu-v850_rh850.c \ - ../cpu-vax.c \ - ../cpu-visium.c \ - ../cpu-w65.c \ - ../cpu-wasm32.c \ - ../cpu-we32k.c \ - ../cpu-xc16x.c \ - ../cpu-xgate.c \ - ../cpu-xstormy16.c \ - ../cpu-xtensa.c \ - ../cpu-z80.c \ - ../cpu-z8k.c \ - ../demo64.c \ - ../dwarf1.c \ - ../dwarf2.c \ - ../ecoff.c \ - ../ecofflink.c \ - ../ecoffswap.h \ - ../elf-attrs.c \ - ../elf-bfd.h \ - ../elf-eh-frame.c \ - ../elf-hppa.h \ - ../elf-ifunc.c \ - ../elf-linux-core.h \ - ../elf-m10200.c \ - ../elf-m10300.c \ - ../elf-nacl.c \ - ../elf-properties.c \ - ../elf-strtab.c \ - ../elf-vxworks.c \ - ../elf.c \ - ../elf32-am33lin.c \ - ../elf32-arc.c \ - ../elf32-arm.c \ - ../elf32-avr.c \ - ../elf32-bfin.c \ - ../elf32-cr16.c \ - ../elf32-cr16c.c \ - ../elf32-cris.c \ - ../elf32-crx.c \ - ../elf32-d10v.c \ - ../elf32-d30v.c \ - ../elf32-dlx.c \ - ../elf32-epiphany.c \ - ../elf32-fr30.c \ - ../elf32-frv.c \ - ../elf32-ft32.c \ - ../elf32-gen.c \ - ../elf32-h8300.c \ - ../elf32-hppa.c \ - ../elf32-hppa.h \ - ../elf32-i370.c \ - ../elf32-i386.c \ - ../elf32-i860.c \ - ../elf32-i960.c \ - ../elf32-ip2k.c \ - ../elf32-iq2000.c \ - ../elf32-lm32.c \ - ../elf32-m32c.c \ - ../elf32-m32r.c \ - ../elf32-m68hc11.c \ - ../elf32-m68hc12.c \ - ../elf32-m68hc1x.c \ - ../elf32-m68k.c \ - ../elf32-m88k.c \ - ../elf32-mcore.c \ - ../elf32-mep.c \ - ../elf32-metag.c \ - ../elf32-microblaze.c \ - ../elf32-mips.c \ - ../elf32-moxie.c \ - ../elf32-msp430.c \ - ../elf32-mt.c \ - ../elf32-nds32.c \ - ../elf32-nios2.c \ - ../elf32-or1k.c \ - ../elf32-pj.c \ - ../elf32-ppc.c \ - ../elf32-pru.c \ - ../elf32-rl78.c \ - ../elf32-rx.c \ - ../elf32-s390.c \ - ../elf32-score.c \ - ../elf32-score7.c \ - ../elf32-sh-symbian.c \ - ../elf32-sh.c \ - ../elf32-sh64-com.c \ - ../elf32-sh64.c \ - ../elf32-sparc.c \ - ../elf32-spu.c \ - ../elf32-tic6x.c \ - ../elf32-tilegx.c \ - ../elf32-tilepro.c \ - ../elf32-v850.c \ - ../elf32-vax.c \ - ../elf32-visium.c \ - ../elf32-wasm32.c \ - ../elf32-xc16x.c \ - ../elf32-xgate.c \ - ../elf32-xstormy16.c \ - ../elf32-xtensa.c \ - ../elf32.c \ - ../elf64-alpha.c \ - ../elf64-gen.c \ - ../elf64-hppa.c \ - ../elf64-hppa.h \ - ../elf64-ia64-vms.c \ - ../elf64-mips.c \ - ../elf64-mmix.c \ - ../elf64-ppc.c \ - ../elf64-s390.c \ - ../elf64-sh64.c \ - ../elf64-sparc.c \ - ../elf64-tilegx.c \ - ../elf64-x86-64.c \ - ../elf64.c \ - ../elfcode.h \ - ../elfcore.h \ - ../elflink.c \ - ../elfn32-mips.c \ - ../elfxx-aarch64.c \ - ../elfxx-ia64.c \ - ../elfxx-mips.c \ - ../elfxx-riscv.c \ - ../elfxx-sparc.c \ - ../elfxx-tilegx.c \ - ../elfxx-x86.c \ - ../elfxx-x86.c \ - ../epoc-pe-arm.c \ - ../epoc-pei-arm.c \ - ../format.c \ - ../freebsd.h \ - ../genlink.h \ - ../go32stub.h \ - ../hash.c \ - ../hp300bsd.c \ - ../hp300hpux.c \ - ../hpux-core.c \ - ../i386aout.c \ - ../i386bsd.c \ - ../i386dynix.c \ - ../i386freebsd.c \ - ../i386linux.c \ - ../i386lynx.c \ - ../i386mach3.c \ - ../i386msdos.c \ - ../i386netbsd.c \ - ../i386os9k.c \ - ../ieee.c \ - ../ihex.c \ - ../init.c \ - ../irix-core.c \ - ../libaout.h \ - ../libbfd.c \ - ../libbfd.h \ - ../libcoff.h \ - ../libecoff.h \ - ../libhppa.h \ - ../libieee.h \ - ../libnlm.h \ - ../liboasys.h \ - ../libpei.h \ - ../libxcoff.h \ - ../linker.c \ - ../lynx-core.c \ - ../m68k4knetbsd.c \ - ../m68klinux.c \ - ../m68knetbsd.c \ - ../m88kmach3.c \ - ../m88kopenbsd.c \ - ../mach-o-aarch64.c \ - ../mach-o-arm.c \ - ../mach-o-i386.c \ - ../mach-o-x86-64.c \ - ../mach-o.c \ - ../mach-o.h \ - ../merge.c \ - ../mipsbsd.c \ - ../mmo.c \ - ../netbsd-core.c \ - ../netbsd.h \ - ../newsos3.c \ - ../nlm-target.h \ - ../nlm.c \ - ../nlm32-alpha.c \ - ../nlm32-i386.c \ - ../nlm32-ppc.c \ - ../nlm32-sparc.c \ - ../nlm32.c \ - ../nlm64.c \ - ../nlmcode.h \ - ../nlmswap.h \ - ../ns32k.h \ - ../ns32knetbsd.c \ - ../oasys.c \ - ../opncls.c \ - ../osf-core.c \ - ../pc532-mach.c \ - ../pdp11.c \ - ../pe-arm-wince.c \ - ../pe-arm.c \ - ../pe-i386.c \ - ../pe-mcore.c \ - ../pe-mips.c \ - ../pe-ppc.c \ - ../pe-sh.c \ - ../pe-x86_64.c \ - ../pef-traceback.h \ - ../pef.c \ - ../pef.h \ - ../pei-arm-wince.c \ - ../pei-arm.c \ - ../pei-i386.c \ - ../pei-ia64.c \ - ../pei-mcore.c \ - ../pei-mips.c \ - ../pei-ppc.c \ - ../pei-sh.c \ - ../pei-x86_64.c \ - ../peicode.h \ - ../plugin.c \ - ../ppcboot.c \ - ../reloc.c \ - ../reloc16.c \ - ../riscix.c \ - ../rs6000-core.c \ - ../sco5-core.c \ - ../section.c \ - ../simple.c \ - ../som.c \ - ../som.h \ - ../sparclinux.c \ - ../sparclynx.c \ - ../sparcnetbsd.c \ - ../srec.c \ - ../stab-syms.c \ - ../stabs.c \ - ../sunos.c \ - ../syms.c \ - ../targets.c \ - ../tekhex.c \ - ../trad-core.c \ - ../vax1knetbsd.c \ - ../vaxbsd.c \ - ../vaxnetbsd.c \ - ../verilog.c \ - ../versados.c \ - ../version.h \ - ../vms-alpha.c \ - ../vms-lib.c \ - ../vms-misc.c \ - ../vms.h \ - ../wasm-module.c \ - ../xcofflink.c \ - ../xsym.c \ - ../xsym.h \ - ../xtensa-isa.c \ - ../xtensa-modules.c - -# Note - the following line gets processed by bfd/configure and amended -# to contain the full list of build dir POTFILES. -BLD-POTFILES = \ - ../bfd_stdint.h \ - ../bfdver.h \ - ../elf32-aarch64.c \ - ../elf32-ia64.c \ - ../elf32-riscv.c \ - ../elf32-target.h \ - ../elf64-aarch64.c \ - ../elf64-ia64.c \ - ../elf64-riscv.c \ - ../elf64-target.h \ - ../peigen.c \ - ../pepigen.c \ - ../pex64igen.c \ - ../targmatch.h - -CATALOGS = -CATOBJEXT = -INSTOBJEXT = - -.SUFFIXES: -.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat - -.c.o: - $(COMPILE) $< - -.po.pox: - $(MAKE) $(PACKAGE).pot - $(MSGMERGE) $< $(srcdir)/$(PACKAGE).pot -o $*.pox - -.po.mo: - $(MSGFMT) -o $@ $< - -.po.gmo: - file=`echo $* | sed 's,.*/,,'`.gmo \ - && rm -f $$file && $(GMSGFMT) -o $$file $< - -.po.cat: - sed -f ../intl/po2msg.sed < $< > $*.msg \ - && rm -f $@ && $(GENCAT) $@ $*.msg - - -all: all-yes - -all-yes: $(CATALOGS) # $(PACKAGE).pot -all-no: - -$(srcdir)/$(PACKAGE).pot: $(SRC-POTFILES) $(BLD-POTFILES) - $(XGETTEXT) --default-domain=$(PACKAGE) \ - --directory=$(top_srcdir) \ - --add-comments --keyword=_ --keyword=N_ \ - --msgid-bugs-address=bug-binutils@gnu.org \ - --files-from=$(srcdir)/SRC-POTFILES.in - $(XGETTEXT) --default-domain=$(PACKAGE) \ - --directory=.. \ - --directory=. \ - --add-comments --keyword=_ --keyword=N_ \ - --join-existing \ - --msgid-bugs-address=bug-binutils@gnu.org \ - --files-from=$(srcdir)/BLD-POTFILES.in - rm -f $(srcdir)/$(PACKAGE).pot - mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot - -$(srcdir)/cat-id-tbl.c: stamp-cat-id; @: -$(srcdir)/stamp-cat-id: $(PACKAGE).pot - rm -f cat-id-tbl.tmp - sed -f ../intl/po2tbl.sed $(srcdir)/$(PACKAGE).pot \ - | sed -e "s/@PACKAGE NAME@/$(PACKAGE)/" > cat-id-tbl.tmp - if cmp -s cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; then \ - rm cat-id-tbl.tmp; \ - else \ - echo cat-id-tbl.c changed; \ - rm -f $(srcdir)/cat-id-tbl.c; \ - mv cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; \ - fi - cd $(srcdir) && rm -f stamp-cat-id && echo timestamp > stamp-cat-id - - -install: install-exec install-data -install-exec: -install-info: -install-html: -install-pdf: -install-data: install-data-yes -install-data-no: all -install-data-yes: all - if test -r $(MKINSTALLDIRS); then \ - $(MKINSTALLDIRS) $(DESTDIR)$(datadir); \ - else \ - $(top_srcdir)/mkinstalldirs $(DESTDIR)$(datadir); \ - fi - @catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - case "$$cat" in \ - *.gmo) destdir=$(gnulocaledir);; \ - *) destdir=$(localedir);; \ - esac; \ - lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ - dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \ - if test -r $(MKINSTALLDIRS); then \ - $(MKINSTALLDIRS) $$dir; \ - else \ - $(top_srcdir)/mkinstalldirs $$dir; \ - fi; \ - if test -r $$cat; then \ - $(INSTALL_DATA) $$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \ - echo "installing $$cat as $$dir/$(PACKAGE)$(INSTOBJEXT)"; \ - else \ - $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \ - echo "installing $(srcdir)/$$cat as" \ - "$$dir/$(PACKAGE)$(INSTOBJEXT)"; \ - fi; \ - if test -r $$cat.m; then \ - $(INSTALL_DATA) $$cat.m $$dir/$(PACKAGE)$(INSTOBJEXT).m; \ - echo "installing $$cat.m as $$dir/$(PACKAGE)$(INSTOBJEXT).m"; \ - else \ - if test -r $(srcdir)/$$cat.m ; then \ - $(INSTALL_DATA) $(srcdir)/$$cat.m \ - $$dir/$(PACKAGE)$(INSTOBJEXT).m; \ - echo "installing $(srcdir)/$$cat as" \ - "$$dir/$(PACKAGE)$(INSTOBJEXT).m"; \ - else \ - true; \ - fi; \ - fi; \ - done - if test "$(PACKAGE)" = "gettext"; then \ - if test -r $(MKINSTALLDIRS); then \ - $(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \ - else \ - $(top_srcdir)/mkinstalldirs $(DESTDIR)$(gettextsrcdir); \ - fi; \ - $(INSTALL_DATA) $(srcdir)/Makefile.in.in \ - $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ - else \ - : ; \ - fi - -# Define this as empty until I found a useful application. -installcheck: - -uninstall: - catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ - rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \ - rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \ - rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \ - rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \ - done - rm -f $(DESTDIR)$(gettextsrcdir)/po-Makefile.in.in - -check: all - -cat-id-tbl.o: ../intl/libgettext.h - -html dvi pdf ps info tags TAGS ID: - -mostlyclean: - rm -f core core.* *.pox $(PACKAGE).po *.old.po cat-id-tbl.tmp - rm -fr *.o - -clean: mostlyclean - -distclean: clean - rm -f Makefile Makefile.in *.mo *.msg *.cat *.cat.m - rm -f SRC-POTFILES BLD-POTFILES - -maintainer-clean: distclean - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - rm -f $(GMOFILES) SRC-POTFILES.in BLD-POTFILES.in - -distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) -dist distdir: update-po $(DISTFILES) - dists="$(DISTFILES)"; \ - for file in $$dists; do \ - ln $(srcdir)/$$file $(distdir) 2> /dev/null \ - || cp -p $(srcdir)/$$file $(distdir); \ - done - -update-po: Makefile - $(MAKE) $(PACKAGE).pot - PATH=`pwd`/../src:$$PATH; \ - cd $(srcdir); \ - catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ - mv $$lang.po $$lang.old.po; \ - echo "$$lang:"; \ - if $(MSGMERGE) $$lang.old.po $(PACKAGE).pot -o $$lang.po; then \ - rm -f $$lang.old.po; \ - else \ - echo "msgmerge for $$cat failed!"; \ - rm -f $$lang.po; \ - mv $$lang.old.po $$lang.po; \ - fi; \ - done - -SRC-POTFILES: SRC-POTFILES.in - ( if test 'x$(srcdir)' != 'x.'; then \ - posrcprefix='$(top_srcdir)/'; \ - else \ - posrcprefix="../"; \ - fi; \ - rm -f $@-t $@ \ - && (sed -e '/^#/d' \ - -e '/^[ ]*$$/d' \ - -e "s@.*@ $$posrcprefix& \\\\@" < $(srcdir)/$@.in \ - | sed -e '$$s/\\$$//') > $@-t \ - && chmod a-w $@-t \ - && mv $@-t $@ ) - -BLD-POTFILES: BLD-POTFILES.in - ( rm -f $@-t $@ \ - && (sed -e '/^#/d' \ - -e '/^[ ]*$$/d' \ - -e "s@.*@ ../& \\\\@" < $(srcdir)/$@.in \ - | sed -e '$$s/\\$$//') > $@-t \ - && chmod a-w $@-t \ - && mv $@-t $@ ) - -SRC-POTFILES.in: # ../Makefile - cd .. && $(MAKE) po/SRC-POTFILES.in - -BLD-POTFILES.in: # ../Makefile - cd .. && $(MAKE) po/BLD-POTFILES.in - -# Note - The presence of SRC-POTFILES and BLD-POTFILES as dependencies -# here breaks the implementation of the 'distclean' rule for maintainers. -# This is because if 'make distclean' is run in the BFD directory, the -# Makefile there will be deleted before 'distclean' is made here, and so -# the dependency SRC-POTFILES -> SRC-POTFILES.in -> ../Makefile cannot -# be satisfied. -# -# The SRC-POTFILES and BLD-POTFILES dependencies cannot be removed, -# however since it is necessary that these files be built during -# *configure* time, so that configure can insert them into the -# po/Makefile that it is creating, so that the Makefile will have -# the correct dependencies. -Makefile: Make-in ../config.status SRC-POTFILES BLD-POTFILES - cd .. \ - && CONFIG_FILES=$(subdir)/Makefile.in:$(subdir)/Make-in \ - CONFIG_HEADERS= $(SHELL) ./config.status - -# Tell versions [3.59,3.63) of GNU make not to export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/support/sdbinutils/bfd/po/Makefile.in b/support/sdbinutils/bfd/po/Makefile.in deleted file mode 100644 index d547421..0000000 --- a/support/sdbinutils/bfd/po/Makefile.in +++ /dev/null @@ -1,298 +0,0 @@ -# Makefile for program source directory in GNU NLS utilities package. -# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu> -# Copyright (C) 2001-2018 Free Software Foundation, Inc. -# -# This file may be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU Public License -# but which still want to provide support for the GNU gettext functionality. -# Please note that the actual code is *not* freely available. - -PACKAGE = bfd -VERSION = 2.30 - -SHELL = /bin/sh - - -srcdir = . -top_srcdir = .. - -top_builddir = .. - -prefix = /usr/local -exec_prefix = ${prefix} -datadir = ${datarootdir} -localedir = ${datarootdir}/locale -gnulocaledir = ${prefix}/share/locale -gettextsrcdir = ${prefix}/share/gettext/po -subdir = po - -DESTDIR = - -INSTALL = /usr/bin/install -c -INSTALL_DATA = /usr/bin/install -c -m 644 -MKINSTALLDIRS = $(top_builddir)/./../mkinstalldirs - -CC = gcc -GENCAT = -GMSGFMT = PATH=../src:$$PATH /usr/bin/msgfmt -MSGFMT = /usr/bin/msgfmt -XGETTEXT = PATH=../src:$$PATH /usr/bin/xgettext -MSGMERGE = PATH=../src:$$PATH msgmerge - -DEFS = -DHAVE_CONFIG_H -CFLAGS = -g -O2 -CPPFLAGS = - -INCLUDES = -I.. -I$(top_srcdir)/intl - -COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) - -SOURCES = cat-id-tbl.c -POFILES = @POFILES@ -GMOFILES = @GMOFILES@ -DISTFILES = ChangeLog Makefile.in.in SRC-POTFILES.in BLD-POTFILES.in $(PACKAGE).pot \ -stamp-cat-id $(POFILES) $(GMOFILES) $(SOURCES) - -# Note - the following line gets processed by bfd/configure and amended -# to contain the full list of source dir POTFILES. -SRC-POTFILES = \ - -# Note - the following line gets processed by bfd/configure and amended -# to contain the full list of build dir POTFILES. -BLD-POTFILES = \ - -CATALOGS = -CATOBJEXT = -INSTOBJEXT = - -.SUFFIXES: -.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat - -.c.o: - $(COMPILE) $< - -.po.pox: - $(MAKE) $(PACKAGE).pot - $(MSGMERGE) $< $(srcdir)/$(PACKAGE).pot -o $*.pox - -.po.mo: - $(MSGFMT) -o $@ $< - -.po.gmo: - file=`echo $* | sed 's,.*/,,'`.gmo \ - && rm -f $$file && $(GMSGFMT) -o $$file $< - -.po.cat: - sed -f ../intl/po2msg.sed < $< > $*.msg \ - && rm -f $@ && $(GENCAT) $@ $*.msg - - -all: all-yes - -all-yes: $(CATALOGS) # $(PACKAGE).pot -all-no: - -$(srcdir)/$(PACKAGE).pot: $(SRC-POTFILES) $(BLD-POTFILES) - $(XGETTEXT) --default-domain=$(PACKAGE) \ - --directory=$(top_srcdir) \ - --add-comments --keyword=_ --keyword=N_ \ - --msgid-bugs-address=bug-binutils@gnu.org \ - --files-from=$(srcdir)/SRC-POTFILES.in - $(XGETTEXT) --default-domain=$(PACKAGE) \ - --directory=.. \ - --directory=. \ - --add-comments --keyword=_ --keyword=N_ \ - --join-existing \ - --msgid-bugs-address=bug-binutils@gnu.org \ - --files-from=$(srcdir)/BLD-POTFILES.in - rm -f $(srcdir)/$(PACKAGE).pot - mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot - -$(srcdir)/cat-id-tbl.c: stamp-cat-id; @: -$(srcdir)/stamp-cat-id: $(PACKAGE).pot - rm -f cat-id-tbl.tmp - sed -f ../intl/po2tbl.sed $(srcdir)/$(PACKAGE).pot \ - | sed -e "s/@PACKAGE NAME@/$(PACKAGE)/" > cat-id-tbl.tmp - if cmp -s cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; then \ - rm cat-id-tbl.tmp; \ - else \ - echo cat-id-tbl.c changed; \ - rm -f $(srcdir)/cat-id-tbl.c; \ - mv cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; \ - fi - cd $(srcdir) && rm -f stamp-cat-id && echo timestamp > stamp-cat-id - - -install: install-exec install-data -install-exec: -install-info: -install-html: -install-pdf: -install-data: install-data-yes -install-data-no: all -install-data-yes: all - if test -r $(MKINSTALLDIRS); then \ - $(MKINSTALLDIRS) $(DESTDIR)$(datadir); \ - else \ - $(top_srcdir)/mkinstalldirs $(DESTDIR)$(datadir); \ - fi - @catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - case "$$cat" in \ - *.gmo) destdir=$(gnulocaledir);; \ - *) destdir=$(localedir);; \ - esac; \ - lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ - dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \ - if test -r $(MKINSTALLDIRS); then \ - $(MKINSTALLDIRS) $$dir; \ - else \ - $(top_srcdir)/mkinstalldirs $$dir; \ - fi; \ - if test -r $$cat; then \ - $(INSTALL_DATA) $$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \ - echo "installing $$cat as $$dir/$(PACKAGE)$(INSTOBJEXT)"; \ - else \ - $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \ - echo "installing $(srcdir)/$$cat as" \ - "$$dir/$(PACKAGE)$(INSTOBJEXT)"; \ - fi; \ - if test -r $$cat.m; then \ - $(INSTALL_DATA) $$cat.m $$dir/$(PACKAGE)$(INSTOBJEXT).m; \ - echo "installing $$cat.m as $$dir/$(PACKAGE)$(INSTOBJEXT).m"; \ - else \ - if test -r $(srcdir)/$$cat.m ; then \ - $(INSTALL_DATA) $(srcdir)/$$cat.m \ - $$dir/$(PACKAGE)$(INSTOBJEXT).m; \ - echo "installing $(srcdir)/$$cat as" \ - "$$dir/$(PACKAGE)$(INSTOBJEXT).m"; \ - else \ - true; \ - fi; \ - fi; \ - done - if test "$(PACKAGE)" = "gettext"; then \ - if test -r $(MKINSTALLDIRS); then \ - $(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \ - else \ - $(top_srcdir)/mkinstalldirs $(DESTDIR)$(gettextsrcdir); \ - fi; \ - $(INSTALL_DATA) $(srcdir)/Makefile.in.in \ - $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ - else \ - : ; \ - fi - -# Define this as empty until I found a useful application. -installcheck: - -uninstall: - catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ - rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \ - rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \ - rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \ - rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \ - done - rm -f $(DESTDIR)$(gettextsrcdir)/po-Makefile.in.in - -check: all - -cat-id-tbl.o: ../intl/libgettext.h - -html dvi pdf ps info tags TAGS ID: - -mostlyclean: - rm -f core core.* *.pox $(PACKAGE).po *.old.po cat-id-tbl.tmp - rm -fr *.o - -clean: mostlyclean - -distclean: clean - rm -f Makefile Makefile.in *.mo *.msg *.cat *.cat.m - rm -f SRC-POTFILES BLD-POTFILES - -maintainer-clean: distclean - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - rm -f $(GMOFILES) SRC-POTFILES.in BLD-POTFILES.in - -distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) -dist distdir: update-po $(DISTFILES) - dists="$(DISTFILES)"; \ - for file in $$dists; do \ - ln $(srcdir)/$$file $(distdir) 2> /dev/null \ - || cp -p $(srcdir)/$$file $(distdir); \ - done - -update-po: Makefile - $(MAKE) $(PACKAGE).pot - PATH=`pwd`/../src:$$PATH; \ - cd $(srcdir); \ - catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ - mv $$lang.po $$lang.old.po; \ - echo "$$lang:"; \ - if $(MSGMERGE) $$lang.old.po $(PACKAGE).pot -o $$lang.po; then \ - rm -f $$lang.old.po; \ - else \ - echo "msgmerge for $$cat failed!"; \ - rm -f $$lang.po; \ - mv $$lang.old.po $$lang.po; \ - fi; \ - done - -SRC-POTFILES: SRC-POTFILES.in - ( if test 'x$(srcdir)' != 'x.'; then \ - posrcprefix='$(top_srcdir)/'; \ - else \ - posrcprefix="../"; \ - fi; \ - rm -f $@-t $@ \ - && (sed -e '/^#/d' \ - -e '/^[ ]*$$/d' \ - -e "s@.*@ $$posrcprefix& \\\\@" < $(srcdir)/$@.in \ - | sed -e '$$s/\\$$//') > $@-t \ - && chmod a-w $@-t \ - && mv $@-t $@ ) - -BLD-POTFILES: BLD-POTFILES.in - ( rm -f $@-t $@ \ - && (sed -e '/^#/d' \ - -e '/^[ ]*$$/d' \ - -e "s@.*@ ../& \\\\@" < $(srcdir)/$@.in \ - | sed -e '$$s/\\$$//') > $@-t \ - && chmod a-w $@-t \ - && mv $@-t $@ ) - -SRC-POTFILES.in: # ../Makefile - cd .. && $(MAKE) po/SRC-POTFILES.in - -BLD-POTFILES.in: # ../Makefile - cd .. && $(MAKE) po/BLD-POTFILES.in - -# Note - The presence of SRC-POTFILES and BLD-POTFILES as dependencies -# here breaks the implementation of the 'distclean' rule for maintainers. -# This is because if 'make distclean' is run in the BFD directory, the -# Makefile there will be deleted before 'distclean' is made here, and so -# the dependency SRC-POTFILES -> SRC-POTFILES.in -> ../Makefile cannot -# be satisfied. -# -# The SRC-POTFILES and BLD-POTFILES dependencies cannot be removed, -# however since it is necessary that these files be built during -# *configure* time, so that configure can insert them into the -# po/Makefile that it is creating, so that the Makefile will have -# the correct dependencies. -Makefile: Make-in ../config.status SRC-POTFILES BLD-POTFILES - cd .. \ - && CONFIG_FILES=$(subdir)/Makefile.in:$(subdir)/Make-in \ - CONFIG_HEADERS= $(SHELL) ./config.status - -# Tell versions [3.59,3.63) of GNU make not to export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/support/sdbinutils/bfd/po/SRC-POTFILES b/support/sdbinutils/bfd/po/SRC-POTFILES deleted file mode 100644 index 8ddcebd..0000000 --- a/support/sdbinutils/bfd/po/SRC-POTFILES +++ /dev/null @@ -1,397 +0,0 @@ - ../aix386-core.c \ - ../aix5ppc-core.c \ - ../aout-adobe.c \ - ../aout-arm.c \ - ../aout-cris.c \ - ../aout-ns32k.c \ - ../aout-sparcle.c \ - ../aout-target.h \ - ../aout-tic30.c \ - ../aout0.c \ - ../aout32.c \ - ../aout64.c \ - ../aoutf1.h \ - ../aoutx.h \ - ../archive.c \ - ../archive64.c \ - ../archures.c \ - ../armnetbsd.c \ - ../bfd.c \ - ../bfdio.c \ - ../bfdwin.c \ - ../binary.c \ - ../bout.c \ - ../cache.c \ - ../cf-i386lynx.c \ - ../cf-sparclynx.c \ - ../cisco-core.c \ - ../coff-alpha.c \ - ../coff-apollo.c \ - ../coff-arm.c \ - ../coff-aux.c \ - ../coff-bfd.c \ - ../coff-go32.c \ - ../coff-h8300.c \ - ../coff-h8500.c \ - ../coff-i386.c \ - ../coff-i860.c \ - ../coff-i960.c \ - ../coff-m68k.c \ - ../coff-m88k.c \ - ../coff-mips.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-w65.c \ - ../coff-we32k.c \ - ../coff-x86_64.c \ - ../coff-z80.c \ - ../coff-z8k.c \ - ../coff64-rs6000.c \ - ../coffcode.h \ - ../coffgen.c \ - ../cofflink.c \ - ../coffswap.h \ - ../compress.c \ - ../corefile.c \ - ../cpu-aarch64.c \ - ../cpu-alpha.c \ - ../cpu-arc.c \ - ../cpu-arm.c \ - ../cpu-avr.c \ - ../cpu-bfin.c \ - ../cpu-cr16.c \ - ../cpu-cr16c.c \ - ../cpu-cris.c \ - ../cpu-crx.c \ - ../cpu-d10v.c \ - ../cpu-d30v.c \ - ../cpu-dlx.c \ - ../cpu-epiphany.c \ - ../cpu-fr30.c \ - ../cpu-frv.c \ - ../cpu-ft32.c \ - ../cpu-h8300.c \ - ../cpu-h8500.c \ - ../cpu-hppa.c \ - ../cpu-i370.c \ - ../cpu-i386.c \ - ../cpu-i860.c \ - ../cpu-i960.c \ - ../cpu-ia64.c \ - ../cpu-iamcu.c \ - ../cpu-ip2k.c \ - ../cpu-iq2000.c \ - ../cpu-k1om.c \ - ../cpu-l1om.c \ - ../cpu-lm32.c \ - ../cpu-m10200.c \ - ../cpu-m10300.c \ - ../cpu-m32c.c \ - ../cpu-m32r.c \ - ../cpu-m68hc11.c \ - ../cpu-m68hc12.c \ - ../cpu-m68k.c \ - ../cpu-m88k.c \ - ../cpu-m9s12x.c \ - ../cpu-m9s12xg.c \ - ../cpu-mcore.c \ - ../cpu-mep.c \ - ../cpu-metag.c \ - ../cpu-microblaze.c \ - ../cpu-mips.c \ - ../cpu-mmix.c \ - ../cpu-moxie.c \ - ../cpu-msp430.c \ - ../cpu-mt.c \ - ../cpu-nds32.c \ - ../cpu-nios2.c \ - ../cpu-ns32k.c \ - ../cpu-or1k.c \ - ../cpu-pdp11.c \ - ../cpu-pj.c \ - ../cpu-plugin.c \ - ../cpu-powerpc.c \ - ../cpu-pru.c \ - ../cpu-riscv.c \ - ../cpu-rl78.c \ - ../cpu-rs6000.c \ - ../cpu-rx.c \ - ../cpu-s390.c \ - ../cpu-score.c \ - ../cpu-sh.c \ - ../cpu-sparc.c \ - ../cpu-spu.c \ - ../cpu-tic30.c \ - ../cpu-tic4x.c \ - ../cpu-tic54x.c \ - ../cpu-tic6x.c \ - ../cpu-tic80.c \ - ../cpu-tilegx.c \ - ../cpu-tilepro.c \ - ../cpu-v850.c \ - ../cpu-v850_rh850.c \ - ../cpu-vax.c \ - ../cpu-visium.c \ - ../cpu-w65.c \ - ../cpu-wasm32.c \ - ../cpu-we32k.c \ - ../cpu-xc16x.c \ - ../cpu-xgate.c \ - ../cpu-xstormy16.c \ - ../cpu-xtensa.c \ - ../cpu-z80.c \ - ../cpu-z8k.c \ - ../demo64.c \ - ../dwarf1.c \ - ../dwarf2.c \ - ../ecoff.c \ - ../ecofflink.c \ - ../ecoffswap.h \ - ../elf-attrs.c \ - ../elf-bfd.h \ - ../elf-eh-frame.c \ - ../elf-hppa.h \ - ../elf-ifunc.c \ - ../elf-linux-core.h \ - ../elf-m10200.c \ - ../elf-m10300.c \ - ../elf-nacl.c \ - ../elf-properties.c \ - ../elf-strtab.c \ - ../elf-vxworks.c \ - ../elf.c \ - ../elf32-am33lin.c \ - ../elf32-arc.c \ - ../elf32-arm.c \ - ../elf32-avr.c \ - ../elf32-bfin.c \ - ../elf32-cr16.c \ - ../elf32-cr16c.c \ - ../elf32-cris.c \ - ../elf32-crx.c \ - ../elf32-d10v.c \ - ../elf32-d30v.c \ - ../elf32-dlx.c \ - ../elf32-epiphany.c \ - ../elf32-fr30.c \ - ../elf32-frv.c \ - ../elf32-ft32.c \ - ../elf32-gen.c \ - ../elf32-h8300.c \ - ../elf32-hppa.c \ - ../elf32-hppa.h \ - ../elf32-i370.c \ - ../elf32-i386.c \ - ../elf32-i860.c \ - ../elf32-i960.c \ - ../elf32-ip2k.c \ - ../elf32-iq2000.c \ - ../elf32-lm32.c \ - ../elf32-m32c.c \ - ../elf32-m32r.c \ - ../elf32-m68hc11.c \ - ../elf32-m68hc12.c \ - ../elf32-m68hc1x.c \ - ../elf32-m68k.c \ - ../elf32-m88k.c \ - ../elf32-mcore.c \ - ../elf32-mep.c \ - ../elf32-metag.c \ - ../elf32-microblaze.c \ - ../elf32-mips.c \ - ../elf32-moxie.c \ - ../elf32-msp430.c \ - ../elf32-mt.c \ - ../elf32-nds32.c \ - ../elf32-nios2.c \ - ../elf32-or1k.c \ - ../elf32-pj.c \ - ../elf32-ppc.c \ - ../elf32-pru.c \ - ../elf32-rl78.c \ - ../elf32-rx.c \ - ../elf32-s390.c \ - ../elf32-score.c \ - ../elf32-score7.c \ - ../elf32-sh-symbian.c \ - ../elf32-sh.c \ - ../elf32-sh64-com.c \ - ../elf32-sh64.c \ - ../elf32-sparc.c \ - ../elf32-spu.c \ - ../elf32-tic6x.c \ - ../elf32-tilegx.c \ - ../elf32-tilepro.c \ - ../elf32-v850.c \ - ../elf32-vax.c \ - ../elf32-visium.c \ - ../elf32-wasm32.c \ - ../elf32-xc16x.c \ - ../elf32-xgate.c \ - ../elf32-xstormy16.c \ - ../elf32-xtensa.c \ - ../elf32.c \ - ../elf64-alpha.c \ - ../elf64-gen.c \ - ../elf64-hppa.c \ - ../elf64-hppa.h \ - ../elf64-ia64-vms.c \ - ../elf64-mips.c \ - ../elf64-mmix.c \ - ../elf64-ppc.c \ - ../elf64-s390.c \ - ../elf64-sh64.c \ - ../elf64-sparc.c \ - ../elf64-tilegx.c \ - ../elf64-x86-64.c \ - ../elf64.c \ - ../elfcode.h \ - ../elfcore.h \ - ../elflink.c \ - ../elfn32-mips.c \ - ../elfxx-aarch64.c \ - ../elfxx-ia64.c \ - ../elfxx-mips.c \ - ../elfxx-riscv.c \ - ../elfxx-sparc.c \ - ../elfxx-tilegx.c \ - ../elfxx-x86.c \ - ../elfxx-x86.c \ - ../epoc-pe-arm.c \ - ../epoc-pei-arm.c \ - ../format.c \ - ../freebsd.h \ - ../genlink.h \ - ../go32stub.h \ - ../hash.c \ - ../hp300bsd.c \ - ../hp300hpux.c \ - ../hpux-core.c \ - ../i386aout.c \ - ../i386bsd.c \ - ../i386dynix.c \ - ../i386freebsd.c \ - ../i386linux.c \ - ../i386lynx.c \ - ../i386mach3.c \ - ../i386msdos.c \ - ../i386netbsd.c \ - ../i386os9k.c \ - ../ieee.c \ - ../ihex.c \ - ../init.c \ - ../irix-core.c \ - ../libaout.h \ - ../libbfd.c \ - ../libbfd.h \ - ../libcoff.h \ - ../libecoff.h \ - ../libhppa.h \ - ../libieee.h \ - ../libnlm.h \ - ../liboasys.h \ - ../libpei.h \ - ../libxcoff.h \ - ../linker.c \ - ../lynx-core.c \ - ../m68k4knetbsd.c \ - ../m68klinux.c \ - ../m68knetbsd.c \ - ../m88kmach3.c \ - ../m88kopenbsd.c \ - ../mach-o-aarch64.c \ - ../mach-o-arm.c \ - ../mach-o-i386.c \ - ../mach-o-x86-64.c \ - ../mach-o.c \ - ../mach-o.h \ - ../merge.c \ - ../mipsbsd.c \ - ../mmo.c \ - ../netbsd-core.c \ - ../netbsd.h \ - ../newsos3.c \ - ../nlm-target.h \ - ../nlm.c \ - ../nlm32-alpha.c \ - ../nlm32-i386.c \ - ../nlm32-ppc.c \ - ../nlm32-sparc.c \ - ../nlm32.c \ - ../nlm64.c \ - ../nlmcode.h \ - ../nlmswap.h \ - ../ns32k.h \ - ../ns32knetbsd.c \ - ../oasys.c \ - ../opncls.c \ - ../osf-core.c \ - ../pc532-mach.c \ - ../pdp11.c \ - ../pe-arm-wince.c \ - ../pe-arm.c \ - ../pe-i386.c \ - ../pe-mcore.c \ - ../pe-mips.c \ - ../pe-ppc.c \ - ../pe-sh.c \ - ../pe-x86_64.c \ - ../pef-traceback.h \ - ../pef.c \ - ../pef.h \ - ../pei-arm-wince.c \ - ../pei-arm.c \ - ../pei-i386.c \ - ../pei-ia64.c \ - ../pei-mcore.c \ - ../pei-mips.c \ - ../pei-ppc.c \ - ../pei-sh.c \ - ../pei-x86_64.c \ - ../peicode.h \ - ../plugin.c \ - ../ppcboot.c \ - ../reloc.c \ - ../reloc16.c \ - ../riscix.c \ - ../rs6000-core.c \ - ../sco5-core.c \ - ../section.c \ - ../simple.c \ - ../som.c \ - ../som.h \ - ../sparclinux.c \ - ../sparclynx.c \ - ../sparcnetbsd.c \ - ../srec.c \ - ../stab-syms.c \ - ../stabs.c \ - ../sunos.c \ - ../syms.c \ - ../targets.c \ - ../tekhex.c \ - ../trad-core.c \ - ../vax1knetbsd.c \ - ../vaxbsd.c \ - ../vaxnetbsd.c \ - ../verilog.c \ - ../versados.c \ - ../version.h \ - ../vms-alpha.c \ - ../vms-lib.c \ - ../vms-misc.c \ - ../vms.h \ - ../wasm-module.c \ - ../xcofflink.c \ - ../xsym.c \ - ../xsym.h \ - ../xtensa-isa.c \ - ../xtensa-modules.c diff --git a/support/sdbinutils/bfd/stamp-h1 b/support/sdbinutils/bfd/stamp-h1 deleted file mode 100644 index 4547fe1..0000000 --- a/support/sdbinutils/bfd/stamp-h1 +++ /dev/null @@ -1 +0,0 @@ -timestamp for config.h diff --git a/support/sdbinutils/bfd/targmatch.h b/support/sdbinutils/bfd/targmatch.h deleted file mode 100644 index 080cc86..0000000 --- a/support/sdbinutils/bfd/targmatch.h +++ /dev/null @@ -1,2940 +0,0 @@ -#ifdef BFD64 -#if !defined (SELECT_VECS) || defined (HAVE_aarch64_mach_o_vec) - -{ "aarch64-*-darwin*", -&aarch64_mach_o_vec }, -#endif - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_aarch64_elf64_le_vec) - -{ "aarch64-*-elf", NULL },{ "aarch64-*-rtems*", -&aarch64_elf64_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_aarch64_elf64_be_vec) - -{ "aarch64_be-*-elf", -&aarch64_elf64_be_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_aarch64_elf64_le_vec) - -{ "aarch64-*-freebsd*", -&aarch64_elf64_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_aarch64_elf64_le_vec) - -{ "aarch64-*-fuchsia*", -&aarch64_elf64_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_aarch64_elf64_le_cloudabi_vec) - -{ "aarch64-*-cloudabi*", -&aarch64_elf64_le_cloudabi_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_aarch64_elf64_le_vec) - -{ "aarch64-*-linux*", -&aarch64_elf64_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_aarch64_elf64_be_vec) - -{ "aarch64_be-*-linux*", -&aarch64_elf64_be_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_alpha_elf64_fbsd_vec) - -{ "alpha*-*-freebsd*", NULL },{ "alpha*-*-kfreebsd*-gnu", -&alpha_elf64_fbsd_vec }, -#endif - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_alpha_elf64_vec) - -{ "alpha*-*-netbsd*", NULL },{ "alpha*-*-openbsd*", -&alpha_elf64_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_alpha_ecoff_le_vec) - -{ "alpha*-*-netware*", -&alpha_ecoff_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_alpha_ecoff_le_vec) - -{ "alpha*-*-linux*ecoff*", -&alpha_ecoff_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_alpha_elf64_vec) - -{ "alpha*-*-linux-*", NULL },{ "alpha*-*-elf*", -&alpha_elf64_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_alpha_vms_vec) - -{ "alpha*-*-*vms*", -&alpha_vms_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_alpha_ecoff_le_vec) - -{ "alpha*-*-*", -&alpha_ecoff_le_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_ia64_elf64_le_vec) - -{ "ia64*-*-freebsd*", NULL },{ "ia64*-*-netbsd*", NULL },{ "ia64*-*-linux-*", NULL },{ "ia64*-*-elf*", NULL },{ "ia64*-*-kfreebsd*-gnu", -&ia64_elf64_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_ia64_elf32_hpux_be_vec) - -{ "ia64*-*-hpux*", -&ia64_elf32_hpux_be_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_ia64_elf64_vms_vec) - -{ "ia64*-*-*vms*", -&ia64_elf64_vms_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_sparc_elf64_fbsd_vec) - -{ "sparc64-*-freebsd*", NULL },{ "sparc64-*-kfreebsd*-gnu", -&sparc_elf64_fbsd_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_sparc_elf64_vec) - -{ "sparc64-*-netbsd*", NULL },{ "sparc64-*-openbsd*", -&sparc_elf64_vec }, -#endif - - - - -#endif /* BFD64 */ - -#if !defined (SELECT_VECS) || defined (HAVE_am33_elf32_linux_vec) - -{ "am33_2.0-*-linux*", -&am33_elf32_linux_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_arc_elf32_be_vec) - -{ "arc*eb-*-elf*", NULL },{ "arc*eb-*-linux*", -&arc_elf32_be_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_arc_elf32_le_vec) - -{ "arc*-*-elf*", NULL },{ "arc*-*-linux*", -&arc_elf32_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_arm_mach_o_vec) - -{ "arm-*-darwin*", -&arm_mach_o_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_arm_elf32_le_vec) - -{ "arm-*-fuchsia*", -&arm_elf32_le_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_arm_elf32_nacl_le_vec) - -{ "arm-*-nacl*", -&arm_elf32_nacl_le_vec }, -#endif - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_arm_elf32_nacl_be_vec) - -{ "armeb-*-nacl*", -&arm_elf32_nacl_be_vec }, -#endif - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_arm_elf32_be_vec) - -{ "armeb-*-netbsdelf*", -&arm_elf32_be_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_arm_elf32_le_vec) - -{ "arm-*-netbsdelf*", -&arm_elf32_le_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_arm_aout_nbsd_vec) - -{ "arm-*-netbsd*", NULL },{ "arm-*-openbsd*", -&arm_aout_nbsd_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_arm_elf32_le_vec) - -{ "arm-*-nto*", NULL },{ "nto*arm*", -&arm_elf32_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_arm_aout_riscix_vec) - -{ "arm-*-riscix*", -&arm_aout_riscix_vec }, -#endif - - -#if !defined (SELECT_VECS) || defined (HAVE_arm_pe_epoc_le_vec) - -{ "arm-epoc-pe*", -&arm_pe_epoc_le_vec }, -#endif - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_arm_pe_wince_le_vec) - -{ "arm-wince-pe", NULL },{ "arm-*-wince", NULL },{ "arm*-*-mingw32ce*", NULL },{ "arm*-*-cegcc*", -&arm_pe_wince_le_vec }, -#endif - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_arm_pe_le_vec) - -{ "arm-*-pe*", -&arm_pe_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_arm_aout_le_vec) - -{ "arm-*-aout", NULL },{ "armel-*-aout", -&arm_aout_le_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_arm_aout_be_vec) - -{ "armeb-*-aout", -&arm_aout_be_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_arm_coff_le_vec) - -{ "arm-*-coff", -&arm_coff_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_arm_elf32_le_vec) - -{ "arm-*-phoenix*", -&arm_elf32_le_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_arm_elf32_be_vec) - -{ "armeb-*-elf", NULL },{ "arm*b-*-freebsd*", NULL },{ "arm*b-*-linux-*", NULL },{ "armeb-*-eabi*", -&arm_elf32_be_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_arm_elf32_le_vec) - -{ "arm-*-kaos*", -&arm_elf32_le_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_arm_elf32_le_vec) - -{ "arm-*-elf", NULL },{ "arm*-*-freebsd*", NULL },{ "arm*-*-linux-*", NULL },{ "arm*-*-conix*", NULL }, -{ "arm*-*-uclinux*", NULL },{ "arm-*-kfreebsd*-gnu", NULL }, -{ "arm*-*-eabi*", NULL },{ "arm-*-rtems*", -&arm_elf32_le_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_arm_elf32_vxworks_le_vec) - -{ "arm*-*-vxworks", NULL },{ "arm*-*-windiss", -&arm_elf32_vxworks_le_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_arm_elf32_symbian_le_vec) - -{ "arm*-*-symbianelf*", -&arm_elf32_symbian_le_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_arm_elf32_le_vec) - -{ "arm9e-*-elf", -&arm_elf32_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_avr_elf32_vec) - -{ "avr-*-*", -&avr_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_bfin_elf32_vec) - -{ "bfin-*-*", -&bfin_elf32_vec }, -#endif - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_tic30_aout_vec) - -{ "c30-*-*aout*", NULL },{ "tic30-*-*aout*", -&tic30_aout_vec }, -#endif - - -#if !defined (SELECT_VECS) || defined (HAVE_tic30_coff_vec) - -{ "c30-*-*coff*", NULL },{ "tic30-*-*coff*", -&tic30_coff_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_tic4x_coff1_vec) - -{ "c4x-*-*coff*", NULL },{ "tic4x-*-*coff*", -&tic4x_coff1_vec }, -#endif - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_tic54x_coff1_vec) - -{ "c54x*-*-*coff*", NULL },{ "tic54x-*-*coff*", -&tic54x_coff1_vec }, -#endif - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_cr16_elf32_vec) - -{ "cr16-*-elf*", NULL },{ "cr16*-*-uclinux*", -&cr16_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_cr16c_elf32_vec) - -{ "cr16c-*-elf*", -&cr16c_elf32_vec }, -#endif - - - - -#ifdef BFD64 -#if !defined (SELECT_VECS) || defined (HAVE_cris_aout_vec) - -{ "cris-*-*", NULL },{ "crisv32-*-*", -&cris_aout_vec }, -#endif - - - - -#endif - -#if !defined (SELECT_VECS) || defined (HAVE_crx_elf32_vec) - -{ "crx-*-elf*", -&crx_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_d10v_elf32_vec) - -{ "d10v-*-*", -&d10v_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_dlx_elf32_be_vec) - -{ "dlx-*-elf*", -&dlx_elf32_be_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_d30v_elf32_vec) - -{ "d30v-*-*", -&d30v_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_epiphany_elf32_vec) - -{ "epiphany-*-*", -&epiphany_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_m68k_elf32_vec) - -{ "fido-*-elf*", -&m68k_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_fr30_elf32_vec) - -{ "fr30-*-elf", -&fr30_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_frv_elf32_vec) - -{ "frv-*-elf", -&frv_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_frv_elf32_fdpic_vec) - -{ "frv-*-*linux*", -&frv_elf32_fdpic_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_moxie_elf32_be_vec) - -{ "moxie-*-elf", NULL },{ "moxie-*-rtems*", NULL },{ "moxie-*-uclinux", -&moxie_elf32_be_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_moxie_elf32_le_vec) - -{ "moxie-*-moxiebox*", -&moxie_elf32_le_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_h8300_elf32_vec) - -{ "h8300*-*-elf", NULL },{ "h8300*-*-rtems*", -&h8300_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_h8300_elf32_linux_vec) - -{ "h8300*-*-linux*", -&h8300_elf32_linux_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_h8300_coff_vec) - -{ "h8300*-*-*", -&h8300_coff_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_h8500_coff_vec) - -{ "h8500-*-*", -&h8500_coff_vec }, -#endif - - - - -#ifdef BFD64 -#if !defined (SELECT_VECS) || defined (HAVE_hppa_elf64_linux_vec) - -{ "hppa*64*-*-linux-*", -&hppa_elf64_linux_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_hppa_elf64_vec) - -{ "hppa*64*-*-hpux11*", -&hppa_elf64_vec }, -#endif - - - - - -#endif - -#if !defined (SELECT_VECS) || defined (HAVE_hppa_elf32_linux_vec) - -{ "hppa*-*-linux-*", -&hppa_elf32_linux_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_hppa_elf32_nbsd_vec) - -{ "hppa*-*-netbsd*", -&hppa_elf32_nbsd_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_hppa_elf32_vec) - -{ "hppa*-*-*elf*", NULL },{ "hppa*-*-lites*", NULL },{ "hppa*-*-sysv4*", NULL },{ "hppa*-*-openbsd*", -&hppa_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_hppa_som_vec) - -{ "hppa*-*-bsd*", -&hppa_som_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_hppa_som_vec) - -{ "hppa*-*-hpux*", NULL },{ "hppa*-*-hiux*", NULL },{ "hppa*-*-mpeix*", -&hppa_som_vec }, -#endif - - -#if !defined (SELECT_VECS) || defined (HAVE_hppa_som_vec) - -{ "hppa*-*-osf*", -&hppa_som_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_i370_elf32_vec) - -{ "i370-*-*", -&i370_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_coff_vec) - -{ "i[3-7]86-*-sco3.2v5*coff", -&i386_coff_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_elf32_vec) - -{ "i[3-7]86-*-sysv4*", NULL },{ "i[3-7]86-*-unixware*", NULL }, -{ "i[3-7]86-*-elf*", NULL },{ "i[3-7]86-*-sco3.2v5*", NULL }, -{ "i[3-7]86-*-dgux*", NULL },{ "i[3-7]86-*-sysv5*", NULL },{ "i[3-7]86-*-rtems*", -&i386_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_elf32_sol2_vec) - -{ "i[3-7]86-*-solaris2*", -&i386_elf32_sol2_vec }, -#endif - - - - - -#ifdef BFD64 -#if !defined (SELECT_VECS) || defined (HAVE_i386_elf32_sol2_vec) - -{ "x86_64-*-solaris2*", -&i386_elf32_sol2_vec }, -#endif - - - - -#endif -#if !defined (SELECT_VECS) || defined (HAVE_i386_elf32_vec) - -{ "i[3-7]86-*-kaos*", -&i386_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_elf32_vec) - -{ "i[3-7]86-*-nto*", -&i386_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_elf32_vec) - -{ "i[3-7]86-*-aros*", -&i386_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_elf32_vec) - -{ "i[3-7]86-*-chorus*", -&i386_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_elf32_vec) - -{ "i[3-7]86-*-dicos*", -&i386_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_coff_go32_vec) - -{ "*-*-msdosdjgpp*", NULL },{ "*-*-go32*", -&i386_coff_go32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_coff_vec) - -{ "i[3-7]86-*-sysv*", NULL },{ "i[3-7]86-*-isc*", NULL },{ "i[3-7]86-*-sco*", NULL },{ "i[3-7]86-*-coff", NULL }, -{ "i[3-7]86-*-aix*", -&i386_coff_vec }, -#endif - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_mach_o_vec) - -{ "i[3-7]86-*-darwin*", NULL },{ "i[3-7]86-*-macos10*", NULL },{ "i[3-7]86-*-rhapsody*", -&i386_mach_o_vec }, -#endif - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_aout_dynix_vec) - -{ "i[3-7]86-sequent-bsd*", -&i386_aout_dynix_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_aout_bsd_vec) - -{ "i[3-7]86-*-bsd*", -&i386_aout_bsd_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_elf32_vec) - -{ "i[3-7]86-*-dragonfly*", -&i386_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_aout_fbsd_vec) - -{ "i[3-7]86-*-freebsdaout*", NULL },{ "i[3-7]86-*-freebsd[12].*", NULL }, -{ "i[3-7]86-*-freebsd[12]", -&i386_aout_fbsd_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_elf32_fbsd_vec) - -{ "i[3-7]86-*-freebsd*", NULL },{ "i[3-7]86-*-kfreebsd*-gnu", -&i386_elf32_fbsd_vec }, -#endif - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_elf32_vec) - -{ "i[3-7]86-*-netbsdelf*", NULL },{ "i[3-7]86-*-netbsd*-gnu*", NULL },{ "i[3-7]86-*-knetbsd*-gnu", -&i386_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_pe_vec) - -{ "i[3-7]86-*-netbsdpe*", -&i386_pe_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_aout_nbsd_vec) - -{ "i[3-7]86-*-netbsdaout*", NULL },{ "i[3-7]86-*-netbsd*", NULL }, -{ "i[3-7]86-*-openbsd[0-2].*", NULL },{ "i[3-7]86-*-openbsd3.[0-3]", -&i386_aout_nbsd_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_elf32_vec) - -{ "i[3-7]86-*-openbsd*", -&i386_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_elf32_vec) - -{ "i[3-7]86-*-netware*", -&i386_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_aout_linux_vec) - -{ "i[3-7]86-*-linux*aout*", -&i386_aout_linux_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_elf32_vec) - -{ "i[3-7]86-*-linux-*", -&i386_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_elf32_nacl_vec) - -{ "i[3-7]86-*-nacl*", -&i386_elf32_nacl_vec }, -#endif - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_elf32_vec) - -{ "i[3-7]86-*-redox*", -&i386_elf32_vec }, -#endif - - - - -#ifdef BFD64 -#if !defined (SELECT_VECS) || defined (HAVE_x86_64_elf64_cloudabi_vec) - -{ "x86_64-*-cloudabi*", -&x86_64_elf64_cloudabi_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_x86_64_mach_o_vec) - -{ "x86_64-*-darwin*", -&x86_64_mach_o_vec }, -#endif - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_x86_64_elf64_vec) - -{ "x86_64-*-dicos*", -&x86_64_elf64_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_x86_64_elf64_vec) - -{ "x86_64-*-elf*", NULL },{ "x86_64-*-rtems*", NULL },{ "x86_64-*-fuchsia", -&x86_64_elf64_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_x86_64_elf64_vec) - -{ "x86_64-*-dragonfly*", -&x86_64_elf64_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_x86_64_elf64_fbsd_vec) - -{ "x86_64-*-freebsd*", NULL },{ "x86_64-*-kfreebsd*-gnu", -&x86_64_elf64_fbsd_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_x86_64_elf64_vec) - -{ "x86_64-*-netbsd*", NULL },{ "x86_64-*-openbsd*", -&x86_64_elf64_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_x86_64_elf64_vec) - -{ "x86_64-*-linux-*", -&x86_64_elf64_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_x86_64_elf32_nacl_vec) - -{ "x86_64-*-nacl*", -&x86_64_elf32_nacl_vec }, -#endif - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_x86_64_pe_vec) - -{ "x86_64-*-mingw*", NULL },{ "x86_64-*-pe", NULL },{ "x86_64-*-pep", NULL },{ "x86_64-*-cygwin", -&x86_64_pe_vec }, -#endif - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_x86_64_elf64_vec) - -{ "x86_64-*-rdos*", -&x86_64_elf64_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_x86_64_elf64_vec) - -{ "x86_64-*-redox*", -&x86_64_elf64_vec }, -#endif - - - - -#endif -#if !defined (SELECT_VECS) || defined (HAVE_i386_elf32_vec) - -{ "i[3-7]86-*-lynxos*", -&i386_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_elf32_vec) - -{ "i[3-7]86-*-gnu*", -&i386_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_aout_mach3_vec) - -{ "i[3-7]86-*-mach*", NULL },{ "i[3-7]86-*-osf1mk*", -&i386_aout_mach3_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_aout_os9k_vec) - -{ "i[3-7]86-*-os9k", -&i386_aout_os9k_vec }, -#endif - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_aout_vec) - -{ "i[3-7]86-*-msdos*", -&i386_aout_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_elf32_vec) - -{ "i[3-7]86-*-moss*", -&i386_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_pe_vec) - -{ "i[3-7]86-*-beospe*", -&i386_pe_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_elf32_vec) - -{ "i[3-7]86-*-beoself*", NULL },{ "i[3-7]86-*-beos*", -&i386_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_pei_vec) - -{ "i[3-7]86-*-interix*", -&i386_pei_vec }, -#endif - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_elf32_vec) - -{ "i[3-7]86-*-rdos*", -&i386_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_pe_vec) - -{ "i[3-7]86-*-mingw32*", NULL },{ "i[3-7]86-*-cygwin*", NULL },{ "i[3-7]86-*-winnt", NULL },{ "i[3-7]86-*-pe", -&i386_pe_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_coff_vec) - -{ "i[3-7]86-none-*", -&i386_coff_vec }, -#endif - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_aout_vec) - -{ "i[3-7]86-*-aout*", NULL },{ "i[3-7]86*-*-vsta*", -&i386_aout_vec }, -#endif - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_elf32_vxworks_vec) - -{ "i[3-7]86-*-vxworks*", -&i386_elf32_vxworks_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_elf32_vec) - -{ "i[3-7]86-*-chaos", -&i386_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_i860_coff_vec) - -{ "i860-*-mach3*", NULL },{ "i860-*-osf1*", NULL },{ "i860-*-coff*", -&i860_coff_vec }, -#endif - - -#if !defined (SELECT_VECS) || defined (HAVE_i860_elf32_le_vec) - -{ "i860-stardent-sysv4*", NULL },{ "i860-stardent-elf*", -&i860_elf32_le_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_i860_elf32_vec) - -{ "i860-*-sysv4*", NULL },{ "i860-*-elf*", -&i860_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_bout_le_vec) - -{ "i960-*-vxworks4*", NULL },{ "i960-*-vxworks5.0", -&bout_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_icoff_le_vec) - -{ "i960-*-vxworks5.*", NULL },{ "i960-*-coff*", NULL },{ "i960-*-sysv*", -&icoff_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_bout_le_vec) - -{ "i960-*-vxworks*", NULL },{ "i960-*-aout*", NULL },{ "i960-*-bout*", NULL },{ "i960-*-nindy*", -&bout_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_i960_elf32_vec) - -{ "i960-*-elf*", -&i960_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_i386_elf32_vec) - -{ "ia16-*-elf", -&i386_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_ip2k_elf32_vec) - -{ "ip2k-*-elf", -&ip2k_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_iq2000_elf32_vec) - -{ "iq2000-*-elf", -&iq2000_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_lm32_elf32_vec) - -{ "lm32-*-elf", NULL },{ "lm32-*-rtems*", -&lm32_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_lm32_elf32_fdpic_vec) - -{ "lm32-*-*linux*", -&lm32_elf32_fdpic_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_m32c_elf32_vec) - -{ "m32c-*-elf", NULL },{ "m32c-*-rtems*", -&m32c_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_m32r_elf32_linux_le_vec) - -{ "m32r*le-*-linux*", -&m32r_elf32_linux_le_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_m32r_elf32_linux_vec) - -{ "m32r*-*-linux*", -&m32r_elf32_linux_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_m32r_elf32_le_vec) - -{ "m32r*le-*-*", -&m32r_elf32_le_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_m32r_elf32_vec) - -{ "m32r-*-*", -&m32r_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_m68hc11_elf32_vec) - -{ "m68hc11-*-*", NULL },{ "m6811-*-*", -&m68hc11_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_m68hc12_elf32_vec) - -{ "m68hc12-*-*", NULL },{ "m6812-*-*", -&m68hc12_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_m68k_coff_sysv_vec) - -{ "m68*-motorola-sysv*", -&m68k_coff_sysv_vec }, -#endif - - -#if !defined (SELECT_VECS) || defined (HAVE_m68k_aout_hp300bsd_vec) - -{ "m68*-hp-bsd*", -&m68k_aout_hp300bsd_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_aout0_be_vec) - -{ "m68*-*-aout*", -&aout0_be_vec }, -#endif - - - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_m68k_elf32_vec) - -{ "m68*-*-elf*", NULL },{ "m68*-*-sysv4*", NULL },{ "m68*-*-rtems*", NULL },{ "m68*-*-uclinux*", -&m68k_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_m68k_coff_vec) - -{ "m68*-*-coff*", NULL },{ "m68*-*-sysv*", -&m68k_coff_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_m68k_aout_hp300hpux_vec) - -{ "m68*-*-hpux*", -&m68k_aout_hp300hpux_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_m68k_aout_linux_vec) - -{ "m68*-*-linux*aout*", -&m68k_aout_linux_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_m68k_elf32_vec) - -{ "m68*-*-linux-*", -&m68k_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_m68k_elf32_vec) - -{ "m68*-*-gnu*", -&m68k_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_m68k_aout_4knbsd_vec) - -{ "m68*-hp*-netbsd*", -&m68k_aout_4knbsd_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_m68k_elf32_vec) - -{ "m68*-*-netbsdelf*", -&m68k_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_m68k_aout_nbsd_vec) - -{ "m68*-*-netbsdaout*", NULL },{ "m68*-*-netbsd*", -&m68k_aout_nbsd_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_m68k_aout_nbsd_vec) - -{ "m68*-*-openbsd*", -&m68k_aout_nbsd_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_sparc_aout_sunos_be_vec) - -{ "m68*-*-sunos*", NULL },{ "m68*-*-os68k*", NULL },{ "m68*-*-vxworks*", NULL },{ "m68*-netx-*", NULL }, -{ "m68*-*-bsd*", NULL },{ "m68*-*-vsta*", -&sparc_aout_sunos_be_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_sparc_aout_sunos_be_vec) - -{ "m68*-ericsson-*", -&sparc_aout_sunos_be_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_m68k_elf32_vec) - -{ "m68*-cbm-*", -&m68k_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_m68k_elf32_vec) - -{ "m68*-*-psos*", -&m68k_elf32_vec }, -#endif - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_m88k_elf32_vec) - -{ "m88*-harris-cxux*", NULL },{ "m88*-*-dgux*", NULL },{ "m88*-*-sysv4*", -&m88k_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_m88k_aout_mach3_vec) - -{ "m88*-*-mach3*", -&m88k_aout_mach3_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_m88k_aout_obsd_vec) - -{ "m88*-*-openbsd*", -&m88k_aout_obsd_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_m88k_coff_bcs_vec) - -{ "m88*-*-*", -&m88k_coff_bcs_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_mcore_elf32_be_vec) - -{ "mcore-*-elf", -&mcore_elf32_be_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_mcore_pe_be_vec) - -{ "mcore-*-pe", -&mcore_pe_be_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_mep_elf32_vec) - -{ "mep-*-elf", -&mep_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_metag_elf32_vec) - -{ "metag-*-*", -&metag_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_microblaze_elf32_le_vec) - -{ "microblazeel*-*", -µblaze_elf32_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_microblaze_elf32_vec) - -{ "microblaze*-*", -µblaze_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_mips_ecoff_be_vec) - -{ "mips*-big-*", -&mips_ecoff_be_vec }, -#endif - - - -#ifdef BFD64 -#if !defined (SELECT_VECS) || defined (HAVE_mips_elf32_trad_le_vec) - -{ "mips*el-*-netbsd*", -&mips_elf32_trad_le_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_mips_elf32_trad_be_vec) - -{ "mips*-*-netbsd*", -&mips_elf32_trad_be_vec }, -#endif - - - -#endif -#if !defined (SELECT_VECS) || defined (HAVE_mips_ecoff_le_vec) - -{ "mips*-dec-*", NULL },{ "mips*el-*-ecoff*", -&mips_ecoff_le_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_mips_ecoff_be_vec) - -{ "mips*-*-ecoff*", -&mips_ecoff_be_vec }, -#endif - - - -#ifdef BFD64 -#if !defined (SELECT_VECS) || defined (HAVE_mips_elf32_n_be_vec) - -{ "mips*-*-irix6*", -&mips_elf32_n_be_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_mips_elf32_n_le_vec) - -{ "mips64*-ps2-elf*", -&mips_elf32_n_le_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_mips_elf32_le_vec) - -{ "mips*-ps2-elf*", -&mips_elf32_le_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_mips_elf32_be_vec) - -{ "mips*-*-irix5*", -&mips_elf32_be_vec }, -#endif - - - -#endif -#if !defined (SELECT_VECS) || defined (HAVE_mips_ecoff_be_vec) - -{ "mips*-sgi-*", NULL },{ "mips*-*-bsd*", -&mips_ecoff_be_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_mips_ecoff_bele_vec) - -{ "mips*-*-lnews*", -&mips_ecoff_bele_vec }, -#endif - - - -#ifdef BFD64 -#if !defined (SELECT_VECS) || defined (HAVE_mips_elf32_trad_be_vec) - -{ "mips*-*-sysv4*", -&mips_elf32_trad_be_vec }, -#endif - - - -#endif -#if !defined (SELECT_VECS) || defined (HAVE_mips_ecoff_be_vec) - -{ "mips*-*-sysv*", NULL },{ "mips*-*-riscos*", -&mips_ecoff_be_vec }, -#endif - - - -#ifdef BFD64 -#if !defined (SELECT_VECS) || defined (HAVE_mips_elf32_vxworks_le_vec) - -{ "mips*el-*-vxworks*", -&mips_elf32_vxworks_le_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_mips_elf32_vxworks_be_vec) - -{ "mips*-*-vxworks*", -&mips_elf32_vxworks_be_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_mips_elf32_trad_le_vec) - -{ "mips*el-sde-elf*", -&mips_elf32_trad_le_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_mips_elf32_trad_be_vec) - -{ "mips*-sde-elf*", NULL },{ "mips*-mti-elf*", NULL },{ "mips*-img-elf*", -&mips_elf32_trad_be_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_mips_elf32_le_vec) - -{ "mips*el-*-elf*", NULL },{ "mips*-*-chorus*", -&mips_elf32_le_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_mips_elf32_be_vec) - -{ "mips*-*-elf*", NULL },{ "mips*-*-rtems*", NULL },{ "mips*-*-windiss", NULL },{ "mips*-*-none", -&mips_elf32_be_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_mips_elf64_trad_be_vec) - -{ "mips64*-*-openbsd*", -&mips_elf64_trad_be_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_mips_elf32_le_vec) - -{ "mips*el-*-openbsd*", -&mips_elf32_le_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_mips_elf32_be_vec) - -{ "mips*-*-openbsd*", -&mips_elf32_be_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_mips_elf32_ntrad_le_vec) - -{ "mips64*el-*-linux*", -&mips_elf32_ntrad_le_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_mips_elf32_ntrad_be_vec) - -{ "mips64*-*-linux*", -&mips_elf32_ntrad_be_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_mips_elf32_trad_le_vec) - -{ "mips*el-*-linux*", -&mips_elf32_trad_le_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_mips_elf32_trad_be_vec) - -{ "mips*-*-linux*", -&mips_elf32_trad_be_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_mips_elf32_ntradfbsd_le_vec) - -{ "mips64*el-*-freebsd*", NULL },{ "mips64*el-*-kfreebsd*-gnu", -&mips_elf32_ntradfbsd_le_vec }, -#endif - - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_mips_elf32_ntradfbsd_be_vec) - -{ "mips64*-*-freebsd*", NULL },{ "mips64*-*-kfreebsd*-gnu", -&mips_elf32_ntradfbsd_be_vec }, -#endif - - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_mips_elf32_tradfbsd_le_vec) - -{ "mips*el-*-freebsd*", NULL },{ "mips*el-*-kfreebsd*-gnu", -&mips_elf32_tradfbsd_le_vec }, -#endif - - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_mips_elf32_tradfbsd_be_vec) - -{ "mips*-*-freebsd*", NULL },{ "mips*-*-kfreebsd*-gnu", -&mips_elf32_tradfbsd_be_vec }, -#endif - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_mmix_elf64_vec) - -{ "mmix-*-*", -&mmix_elf64_vec }, -#endif - - - - -#endif -#if !defined (SELECT_VECS) || defined (HAVE_mn10200_elf32_vec) - -{ "mn10200-*-*", -&mn10200_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_mn10300_elf32_vec) - -{ "mn10300-*-*", -&mn10300_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_mt_elf32_vec) - -{ "mt-*-elf", -&mt_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_msp430_elf32_vec) - -{ "msp430-*-*", -&msp430_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_nds32_elf32_linux_le_vec) - -{ "nds32*le-*-linux*", -&nds32_elf32_linux_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_nds32_elf32_linux_be_vec) - -{ "nds32*be-*-linux*", -&nds32_elf32_linux_be_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_nds32_elf32_le_vec) - -{ "nds32*le-*-*", -&nds32_elf32_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_nds32_elf32_be_vec) - -{ "nds32*be-*-*", -&nds32_elf32_be_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_ns32k_aout_pc532mach_vec) - -{ "ns32k-pc532-mach*", NULL },{ "ns32k-pc532-ux*", -&ns32k_aout_pc532mach_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_ns32k_aout_pc532nbsd_vec) - -{ "ns32k-*-netbsd*", NULL },{ "ns32k-*-lites*", NULL },{ "ns32k-*-openbsd*", -&ns32k_aout_pc532nbsd_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_nios2_elf32_be_vec) - -{ "nios2eb-*-*", -&nios2_elf32_be_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_nios2_elf32_le_vec) - -{ "nios2el-*-*", -&nios2_elf32_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_nios2_elf32_le_vec) - -{ "nios2-*-*", -&nios2_elf32_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_or1k_elf32_vec) - -{ "or1k-*-elf", NULL },{ "or1k-*-linux*", NULL },{ "or1k-*-rtems*", -&or1k_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_or1k_elf32_vec) - -{ "or1knd-*-elf", NULL },{ "or1knd-*-linux*", NULL },{ "or1knd-*-rtems*", -&or1k_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_pdp11_aout_vec) - -{ "pdp11-*-*", -&pdp11_aout_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_pj_elf32_vec) - -{ "pj-*-*", -&pj_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_pj_elf32_le_vec) - -{ "pjl-*-*", -&pj_elf32_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_rs6000_xcoff_vec) - -{ "powerpc-*-aix5.[01]", NULL },{ "rs6000-*-aix5.[01]", -&rs6000_xcoff_vec }, -#endif - - - - -#ifdef BFD64 -#if !defined (SELECT_VECS) || defined (HAVE_rs6000_xcoff64_aix_vec) - -{ "powerpc64-*-aix5.[01]", NULL },{ "rs6000-*-aix5.[01]", -&rs6000_xcoff64_aix_vec }, -#endif - - - - -#endif - -#if !defined (SELECT_VECS) || defined (HAVE_rs6000_xcoff_vec) - -{ "powerpc-*-aix[5-9]*", NULL },{ "rs6000-*-aix[5-9]*", -&rs6000_xcoff_vec }, -#endif - - - - -#ifdef BFD64 - -#if !defined (SELECT_VECS) || defined (HAVE_rs6000_xcoff64_aix_vec) - -{ "powerpc64-*-aix[5-9]*", NULL },{ "rs6000-*-aix[5-9]*", -&rs6000_xcoff64_aix_vec }, -#endif - - - - -#endif - -#if !defined (SELECT_VECS) || defined (HAVE_rs6000_xcoff_vec) - -{ "powerpc-*-aix*", NULL },{ "powerpc-*-beos*", NULL },{ "rs6000-*-*", -&rs6000_xcoff_vec }, -#endif - - - -#ifdef BFD64 -#if !defined (SELECT_VECS) || defined (HAVE_rs6000_xcoff64_vec) - -{ "powerpc64-*-aix*", -&rs6000_xcoff64_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_powerpc_elf64_fbsd_vec) - -{ "powerpc64-*-freebsd*", -&powerpc_elf64_fbsd_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_powerpc_elf64_vec) - -{ "powerpc64-*-elf*", NULL },{ "powerpc-*-elf64*", NULL },{ "powerpc64-*-linux*", NULL }, -{ "powerpc64-*-*bsd*", -&powerpc_elf64_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_powerpc_elf64_le_vec) - -{ "powerpc64le-*-elf*", NULL },{ "powerpcle-*-elf64*", NULL },{ "powerpc64le-*-linux*", NULL }, -{ "powerpc64le-*-*bsd*", -&powerpc_elf64_le_vec }, -#endif - - - - -#endif -#if !defined (SELECT_VECS) || defined (HAVE_powerpc_elf32_fbsd_vec) - -{ "powerpc-*-*freebsd*", -&powerpc_elf32_fbsd_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_powerpc_elf32_vec) - -{ "powerpc-*-*bsd*", NULL },{ "powerpc-*-elf*", NULL },{ "powerpc-*-sysv4*", NULL },{ "powerpc-*-eabi*", NULL }, -{ "powerpc-*-solaris2*", NULL },{ "powerpc-*-linux-*", NULL },{ "powerpc-*-rtems*", NULL }, -{ "powerpc-*-chorus*", -&powerpc_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_powerpc_elf32_vec) - -{ "powerpc-*-kaos*", -&powerpc_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_mach_o_be_vec) - -{ "powerpc-*-darwin*", NULL },{ "powerpc-*-macos10*", NULL },{ "powerpc-*-rhapsody*", -&mach_o_be_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_powerpc_xcoff_vec) - -{ "powerpc-*-macos*", -&powerpc_xcoff_vec }, -#endif - - -#if !defined (SELECT_VECS) || defined (HAVE_powerpc_elf32_vec) - -{ "powerpc-*-lynxos*", -&powerpc_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_powerpc_elf32_vec) - -{ "powerpc-*-netware*", -&powerpc_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_powerpc_elf32_vec) - -{ "powerpc-*-nto*", -&powerpc_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_powerpc_elf32_vxworks_vec) - -{ "powerpc-*-vxworks*", NULL },{ "powerpc-*-windiss*", -&powerpc_elf32_vxworks_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_powerpc_elf32_le_vec) - -{ "powerpcle-*-nto*", -&powerpc_elf32_le_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_powerpc_elf32_le_vec) - -{ "powerpcle-*-elf*", NULL },{ "powerpcle-*-sysv4*", NULL },{ "powerpcle-*-eabi*", NULL }, -{ "powerpcle-*-solaris2*", NULL },{ "powerpcle-*-linux-*", NULL },{ "powerpcle-*-vxworks*", -&powerpc_elf32_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_powerpc_pe_le_vec) - -{ "powerpcle-*-pe", NULL },{ "powerpcle-*-winnt*", NULL },{ "powerpcle-*-cygwin*", -&powerpc_pe_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_pru_elf32_vec) - -{ "pru-*-*", -&pru_elf32_vec }, -#endif - - - -#ifdef BFD64 -#if !defined (SELECT_VECS) || defined (HAVE_riscv_elf32_vec) - -{ "riscv32-*-*", -&riscv_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_riscv_elf64_vec) - -{ "riscv64-*-*", -&riscv_elf64_vec }, -#endif - - - - -#endif - -#if !defined (SELECT_VECS) || defined (HAVE_rl78_elf32_vec) - -{ "rl78-*-elf", -&rl78_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_rx_elf32_le_vec) - -{ "rx-*-elf", -&rx_elf32_le_vec }, -#endif - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_s390_elf32_vec) - -{ "s390-*-linux*", -&s390_elf32_vec }, -#endif - - - - -#ifdef BFD64 -#if !defined (SELECT_VECS) || defined (HAVE_s390_elf64_vec) - -{ "s390x-*-linux*", -&s390_elf64_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_s390_elf64_vec) - -{ "s390x-*-tpf*", -&s390_elf64_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_score_elf32_be_vec) - -{ "score*-*-elf*", -&score_elf32_be_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_sh64_elf32_le_vec) - -{ "sh64l*-*-elf*", -&sh64_elf32_le_vec }, -#endif - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_sh64_elf32_vec) - -{ "sh64-*-elf*", -&sh64_elf32_vec }, -#endif - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_sh64_elf32_linux_be_vec) - -{ "sh64eb-*-linux*", -&sh64_elf32_linux_be_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_sh64_elf32_linux_vec) - -{ "sh64-*-linux*", -&sh64_elf32_linux_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_sh_elf32_linux_be_vec) - -{ "sh-*-linux*", -&sh_elf32_linux_be_vec }, -#endif - - - - - -#endif /* BFD64 */ - -#if !defined (SELECT_VECS) || defined (HAVE_sh_elf32_linux_be_vec) - -{ "sh*eb-*-linux*", -&sh_elf32_linux_be_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_sh_elf32_linux_vec) - -{ "sh*-*-linux*", -&sh_elf32_linux_vec }, -#endif - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_sh_elf32_vec) - -{ "sh-*-uclinux*", NULL },{ "sh[12]-*-uclinux*", -&sh_elf32_vec }, -#endif - - -#ifdef BFD64 - -#endif - - -#ifdef BFD64 -#if !defined (SELECT_VECS) || defined (HAVE_sh64_elf32_nbsd_le_vec) - -{ "sh5le-*-netbsd*", -&sh64_elf32_nbsd_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_sh64_elf32_nbsd_vec) - -{ "sh5-*-netbsd*", -&sh64_elf32_nbsd_vec }, -#endif - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_sh64_elf64_nbsd_le_vec) - -{ "sh64le-*-netbsd*", -&sh64_elf64_nbsd_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_sh64_elf64_nbsd_vec) - -{ "sh64-*-netbsd*", -&sh64_elf64_nbsd_vec }, -#endif - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_sh_elf32_nbsd_le_vec) - -{ "sh*l*-*-netbsdelf*", -&sh_elf32_nbsd_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_sh_elf32_nbsd_vec) - -{ "sh-*-netbsdelf*", -&sh_elf32_nbsd_vec }, -#endif - - - - -#endif - -#if !defined (SELECT_VECS) || defined (HAVE_sh_elf32_nbsd_vec) - -{ "sh*-*-netbsdelf*", -&sh_elf32_nbsd_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_sh_elf32_symbian_le_vec) - -{ "sh*-*-symbianelf*", -&sh_elf32_symbian_le_vec }, -#endif - - - - - -#ifdef BFD64 -#if !defined (SELECT_VECS) || defined (HAVE_sh_elf32_le_vec) - -{ "shl*-*-elf*", NULL },{ "sh[1234]l*-*-elf*", NULL },{ "sh3el*-*-elf*", NULL },{ "shl*-*-kaos*", -&sh_elf32_le_vec }, -#endif - - - - - -#endif - -#ifdef BFD64 -#if !defined (SELECT_VECS) || defined (HAVE_sh_elf32_vec) - -{ "sh-*-elf*", NULL },{ "sh[1234]*-elf*", NULL },{ "sh-*-rtems*", NULL },{ "sh-*-kaos*", -&sh_elf32_vec }, -#endif - - - - - -#endif - -#if !defined (SELECT_VECS) || defined (HAVE_sh_elf32_vec) - -{ "sh-*-nto*", -&sh_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_sh_elf32_nbsd_le_vec) - -{ "sh*-*-openbsd*", -&sh_elf32_nbsd_le_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_sh_pe_le_vec) - -{ "sh-*-pe", -&sh_pe_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_sh_elf32_vxworks_vec) - -{ "sh-*-vxworks", -&sh_elf32_vxworks_vec }, -#endif - - - - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_sh_coff_vec) - -{ "sh-*-*", -&sh_coff_vec }, -#endif - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_sparc_aout_sunos_be_vec) - -{ "sparclet-*-aout*", -&sparc_aout_sunos_be_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_sparc_aout_sunos_be_vec) - -{ "sparc86x-*-aout*", -&sparc_aout_sunos_be_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_sparc_elf32_vec) - -{ "sparclite-*-elf*", NULL },{ "sparc86x-*-elf*", -&sparc_elf32_vec }, -#endif - - -#if !defined (SELECT_VECS) || defined (HAVE_sparc_elf32_vec) - -{ "sparc*-*-chorus*", -&sparc_elf32_vec }, -#endif - - -#if !defined (SELECT_VECS) || defined (HAVE_sparc_aout_linux_vec) - -{ "sparc-*-linux*aout*", -&sparc_aout_linux_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_sparc_elf32_vec) - -{ "sparc-*-linux-*", NULL },{ "sparcv*-*-linux-*", -&sparc_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_sparc_elf32_vec) - -{ "sparc-*-netbsdelf*", -&sparc_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_sparc_aout_nbsd_vec) - -{ "sparc-*-netbsdaout*", NULL },{ "sparc-*-netbsd*", -&sparc_aout_nbsd_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_sparc_aout_nbsd_vec) - -{ "sparc-*-openbsd[0-2].*", NULL },{ "sparc-*-openbsd3.[0-1]", -&sparc_aout_nbsd_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_sparc_elf32_vec) - -{ "sparc-*-openbsd*", -&sparc_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_sparc_elf32_vec) - -{ "sparc-*-elf*", -&sparc_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_sparc_elf32_sol2_vec) - -{ "sparc-*-solaris2.[0-6]", NULL },{ "sparc-*-solaris2.[0-6].*", -&sparc_elf32_sol2_vec }, -#endif - - - -#ifdef BFD64 -#if !defined (SELECT_VECS) || defined (HAVE_sparc_elf32_sol2_vec) - -{ "sparc-*-solaris2*", NULL },{ "sparcv9-*-solaris2*", NULL },{ "sparc64-*-solaris2*", -&sparc_elf32_sol2_vec }, -#endif - - - - -#endif -#if !defined (SELECT_VECS) || defined (HAVE_sparc_elf32_vec) - -{ "sparc-*-sysv4*", -&sparc_elf32_vec }, -#endif - - -#if !defined (SELECT_VECS) || defined (HAVE_sparc_elf32_vxworks_vec) - -{ "sparc-*-vxworks*", -&sparc_elf32_vxworks_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_sparc_elf32_vec) - -{ "sparc-*-netware*", -&sparc_elf32_vec }, -#endif - - - -#ifdef BFD64 -#if !defined (SELECT_VECS) || defined (HAVE_sparc_aout_sunos_be_vec) - -{ "sparc64-*-aout*", -&sparc_aout_sunos_be_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_sparc_elf64_vec) - -{ "sparc64*-*-linux-*", -&sparc_elf64_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_sparc_elf64_vec) - -{ "sparc64-*-elf*", NULL },{ "sparc64-*-rtems*", -&sparc_elf64_vec }, -#endif - - - - -#endif /* BFD64 */ -#if !defined (SELECT_VECS) || defined (HAVE_sparc_coff_vec) - -{ "sparc*-*-coff*", -&sparc_coff_vec }, -#endif - - -#if !defined (SELECT_VECS) || defined (HAVE_sparc_elf32_vec) - -{ "sparc-*-rtems*", -&sparc_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_sparc_aout_sunos_be_vec) - -{ "sparc*-*-*", -&sparc_aout_sunos_be_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_spu_elf32_vec) - -{ "spu-*-elf", -&spu_elf32_vec }, -#endif - - - - -#if HAVE_aout_vec -#if !defined (SELECT_VECS) || defined (HAVE_aout_vec) - -{ "tahoe-*-*", -&aout_vec }, -#endif - - - -#endif - -#if !defined (SELECT_VECS) || defined (HAVE_tic6x_elf32_c6000_le_vec) - -{ "tic6x-*-elf", -&tic6x_elf32_c6000_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_tic6x_elf32_linux_le_vec) - -{ "tic6x-*-uclinux", -&tic6x_elf32_linux_le_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_tic80_coff_vec) - -{ "tic80*-*-*", -&tic80_coff_vec }, -#endif - - - - -#ifdef BFD64 -#if !defined (SELECT_VECS) || defined (HAVE_tilegx_elf64_le_vec) - -{ "tilegx-*-*", -&tilegx_elf64_le_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_tilegx_elf64_be_vec) - -{ "tilegxbe-*-*", -&tilegx_elf64_be_vec }, -#endif - - - -#endif - -#if !defined (SELECT_VECS) || defined (HAVE_tilepro_elf32_vec) - -{ "tilepro-*-*", -&tilepro_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_ft32_elf32_vec) - -{ "ft32*-*-*", -&ft32_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_v850_elf32_vec) - -{ "v850*-*-*", -&v850_elf32_vec }, -#endif - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_vax_elf32_vec) - -{ "vax-*-netbsdelf*", -&vax_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_vax_aout_nbsd_vec) - -{ "vax-*-netbsdaout*", NULL },{ "vax-*-netbsd*", -&vax_aout_nbsd_vec }, -#endif - - - - - -#if !defined (SELECT_VECS) || defined (HAVE_vax_aout_bsd_vec) - -{ "vax-*-bsd*", NULL },{ "vax-*-ultrix*", -&vax_aout_bsd_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_vax_aout_nbsd_vec) - -{ "vax-*-openbsd*", -&vax_aout_nbsd_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_vax_elf32_vec) - -{ "vax-*-linux-*", -&vax_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_visium_elf32_vec) - -{ "visium-*-elf", -&visium_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_wasm32_elf32_vec) - -{ "wasm32-*-*", -&wasm32_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_we32k_coff_vec) - -{ "we32k-*-*", -&we32k_coff_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_w65_coff_vec) - -{ "w65-*-*", -&w65_coff_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_xgate_elf32_vec) - -{ "xgate-*-*", -&xgate_elf32_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_xstormy16_elf32_vec) - -{ "xstormy16-*-elf", -&xstormy16_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_xtensa_elf32_le_vec) - -{ "xtensa*-*-*", -&xtensa_elf32_le_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_xc16x_elf32_vec) - -{ "xc16x-*-elf", -&xc16x_elf32_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_z80_coff_vec) - -{ "z80-*-*", -&z80_coff_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_z8k_coff_vec) - -{ "z8k*-*-*", -&z8k_coff_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_ieee_vec) - -{ "*-*-ieee*", -&ieee_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_aout_adobe_vec) - -{ "*-adobe-*", -&aout_adobe_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_m68k_aout_newsos3_vec) - -{ "*-sony-*", -&m68k_aout_newsos3_vec }, -#endif - - - - -#if !defined (SELECT_VECS) || defined (HAVE_m68k_coff_vec) - -{ "*-tandem-*", -&m68k_coff_vec }, -#endif - - - -#if !defined (SELECT_VECS) || defined (HAVE_asxxxx_vec) - -{ "asxxxx-*-*", -&asxxxx_vec }, -#endif - - |
