Import binutils 2.10.1.
This commit is contained in:
parent
f62a886eb7
commit
8a46e5b0f4
235
gnu/dist/toolchain/Makefile.in
vendored
235
gnu/dist/toolchain/Makefile.in
vendored
@ -37,9 +37,7 @@ infodir=${prefix}/info
|
||||
mandir=${prefix}/man
|
||||
gxx_include_dir=${includedir}/g++
|
||||
|
||||
tooldir = $(exec_prefix)/$(target_alias)
|
||||
build_tooldir = $(exec_prefix)/$(target_alias)
|
||||
|
||||
tooldir = $(exec_prefix)/$(target)
|
||||
|
||||
program_transform_name =
|
||||
|
||||
@ -61,7 +59,7 @@ GDB_NLM_DEPS =
|
||||
SHELL = /bin/sh
|
||||
|
||||
# INSTALL_PROGRAM_ARGS is changed by configure.in to use -x for a
|
||||
# cygwin32 host.
|
||||
# cygwin host.
|
||||
INSTALL_PROGRAM_ARGS =
|
||||
|
||||
INSTALL = $(SHELL) $$s/install-sh -c
|
||||
@ -86,6 +84,7 @@ HOST_PREFIX_1 = loser-
|
||||
CFLAGS = -g
|
||||
CXXFLAGS = -g -O2
|
||||
|
||||
LDFLAGS =
|
||||
LIBCFLAGS = $(CFLAGS)
|
||||
CFLAGS_FOR_TARGET = $(CFLAGS)
|
||||
LDFLAGS_FOR_TARGET =
|
||||
@ -98,9 +97,9 @@ CHILL_LIB = -lchill
|
||||
CXX = c++
|
||||
|
||||
# Use -O2 to stress test the compiler.
|
||||
LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
|
||||
LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates -fexceptions
|
||||
CXXFLAGS_FOR_TARGET = $(CXXFLAGS)
|
||||
LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
|
||||
LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates -fexceptions
|
||||
|
||||
RANLIB = ranlib
|
||||
|
||||
@ -111,8 +110,7 @@ NM = nm
|
||||
|
||||
LD = ld
|
||||
|
||||
# Not plain GZIP, since gzip looks there for extra command-line options.
|
||||
GZIPPROG = gzip
|
||||
BZIPPROG = bzip2
|
||||
|
||||
# These values are substituted by configure.
|
||||
DEFAULT_YACC = yacc
|
||||
@ -169,7 +167,9 @@ OTHERS =
|
||||
|
||||
# This is set by the configure script to the list of directories which
|
||||
# should be built using the target tools.
|
||||
TARGET_CONFIGDIRS = libiberty libgloss newlib libio librx libstdc++ libg++ winsup opcodes libstub cygmon libf2c libchill libobjc
|
||||
|
||||
|
||||
TARGET_CONFIGDIRS = libiberty libgloss $(SPECIAL_LIBS) newlib libio librx libstdc++ libg++ winsup opcodes bsp libstub cygmon
|
||||
|
||||
# Target libraries are put under this directory:
|
||||
# Changed by configure to $(target_alias) if cross.
|
||||
@ -213,13 +213,16 @@ INSTALL_TARGET_CROSS = installdirs \
|
||||
CC_FOR_TARGET = ` \
|
||||
if [ -f $$r/gcc/xgcc ] ; then \
|
||||
if [ -f $$r/$(TARGET_SUBDIR)/newlib/Makefile ] ; then \
|
||||
if [ -f $$r/$(TARGET_SUBDIR)/winsup/Makefile ] ; then \
|
||||
echo $$r/gcc/xgcc -B$$r/gcc/ -B$$r/$(TARGET_SUBDIR)/newlib/ -B$(build_tooldir)/bin/ -L$$r/$(TARGET_SUBDIR)/winsup -idirafter $$r/$(TARGET_SUBDIR)/newlib/targ-include -idirafter $$s/newlib/libc/include -nostdinc; \
|
||||
else \
|
||||
echo $$r/gcc/xgcc -B$$r/gcc/ -B$(build_tooldir)/bin/ -idirafter $$r/$(TARGET_SUBDIR)/newlib/targ-include -idirafter $$s/newlib/libc/include -nostdinc; \
|
||||
fi; \
|
||||
case "$(target_canonical)" in \
|
||||
i[3456]86-*-cygwin*) \
|
||||
echo $$r/gcc/xgcc -B$$r/gcc/ -B$$r/$(TARGET_SUBDIR)/newlib/ -L$$r/$(TARGET_SUBDIR)/winsup -idirafter $$r/$(TARGET_SUBDIR)/newlib/targ-include -idirafter $$s/winsup/include -idirafter $$s/newlib/libc/include -idirafter $$s/newlib/libc/sys/cygwin -idirafter $$s/newlib/libc/sys/cygwin32 -nostdinc; \
|
||||
;; \
|
||||
*) \
|
||||
echo $$r/gcc/xgcc -B$$r/gcc/ -idirafter $$r/$(TARGET_SUBDIR)/newlib/targ-include -idirafter $$s/newlib/libc/include -nostdinc; \
|
||||
;; \
|
||||
esac \
|
||||
else \
|
||||
echo $$r/gcc/xgcc -B$$r/gcc/ -B$(build_tooldir)/bin/; \
|
||||
echo $$r/gcc/xgcc -B$$r/gcc/; \
|
||||
fi; \
|
||||
else \
|
||||
if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
|
||||
@ -233,11 +236,11 @@ CC_FOR_TARGET = ` \
|
||||
# variable is passed down to the gcc Makefile, where it is used to
|
||||
# build libgcc2.a. We define it here so that it can itself be
|
||||
# overridden on the command line.
|
||||
GCC_FOR_TARGET = $$r/gcc/xgcc -B$$r/gcc/ -B$(build_tooldir)/bin/ -I$(build_tooldir)/include
|
||||
GCC_FOR_TARGET = $$r/gcc/xgcc -B$$r/gcc/
|
||||
|
||||
CHILL_FOR_TARGET = ` \
|
||||
if [ -f $$r/gcc/xgcc ] ; then \
|
||||
echo $$r/gcc/xgcc -B$$r/gcc/ -B$(build_tooldir)/bin/ -L$$r/gcc/ch/runtime/; \
|
||||
echo $$r/gcc/xgcc -B$$r/gcc/ -L$$r/gcc/ch/runtime/; \
|
||||
else \
|
||||
if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
|
||||
echo $(CC); \
|
||||
@ -249,13 +252,16 @@ CHILL_FOR_TARGET = ` \
|
||||
CXX_FOR_TARGET = ` \
|
||||
if [ -f $$r/gcc/xgcc ] ; then \
|
||||
if [ -f $$r/$(TARGET_SUBDIR)/newlib/Makefile ] ; then \
|
||||
if [ -f $$r/$(TARGET_SUBDIR)/winsup/Makefile ] ; then \
|
||||
echo $$r/gcc/xgcc -B$$r/gcc/ -B$$r/$(TARGET_SUBDIR)/newlib/ -B$(build_tooldir)/bin/ -L$$r/winsup -idirafter $$r/$(TARGET_SUBDIR)/newlib/targ-include -idirafter $$s/newlib/libc/include -nostdinc; \
|
||||
else \
|
||||
echo $$r/gcc/xgcc -B$$r/gcc/ -B$(build_tooldir)/bin/ -idirafter $$r/$(TARGET_SUBDIR)/newlib/targ-include -idirafter $$s/newlib/libc/include -nostdinc; \
|
||||
fi; \
|
||||
case "$(target_canonical)" in \
|
||||
i[3456]86-*-cygwin*) \
|
||||
echo $$r/gcc/xgcc -B$$r/gcc/ -B$$r/$(TARGET_SUBDIR)/newlib/ -L$$r/$(TARGET_SUBDIR)/winsup -idirafter $$r/$(TARGET_SUBDIR)/newlib/targ-include -idirafter $$s/winsup/include -idirafter $$s/newlib/libc/include -idirafter $$s/newlib/libc/sys/cygwin -idirafter $$s/newlib/libc/sys/cygwin32 -nostdinc; \
|
||||
;; \
|
||||
*) \
|
||||
echo $$r/gcc/xgcc -B$$r/gcc/ -idirafter $$r/$(TARGET_SUBDIR)/newlib/targ-include -idirafter $$s/newlib/libc/include -nostdinc; \
|
||||
;; \
|
||||
esac \
|
||||
else \
|
||||
echo $$r/gcc/xgcc -B$$r/gcc/ -B$(build_tooldir)/bin/; \
|
||||
echo $$r/gcc/xgcc -B$$r/gcc/; \
|
||||
fi; \
|
||||
else \
|
||||
if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
|
||||
@ -416,7 +422,6 @@ BASE_FLAGS_TO_PASS = \
|
||||
"sharedstatedir=$(sharedstatedir)" \
|
||||
"sysconfdir=$(sysconfdir)" \
|
||||
"tooldir=$(tooldir)" \
|
||||
"build_tooldir=$(build_tooldir)" \
|
||||
"gxx_include_dir=$(gxx_include_dir)" \
|
||||
"gcc_version=$(gcc_version)" \
|
||||
"gcc_version_trigger=$(gcc_version_trigger)" \
|
||||
@ -543,6 +548,7 @@ ALL_MODULES = \
|
||||
all-ld \
|
||||
all-libgui \
|
||||
all-libiberty \
|
||||
all-libtool \
|
||||
all-m4 \
|
||||
all-make \
|
||||
all-mmalloc \
|
||||
@ -558,9 +564,9 @@ ALL_MODULES = \
|
||||
all-send-pr \
|
||||
all-shellutils \
|
||||
all-sim \
|
||||
all-snavigator \
|
||||
all-tar \
|
||||
all-tcl \
|
||||
all-tcl8.1 \
|
||||
all-texinfo \
|
||||
all-textutils \
|
||||
all-tgas \
|
||||
@ -629,7 +635,6 @@ CROSS_CHECK_MODULES = \
|
||||
check-sed \
|
||||
check-send-pr \
|
||||
check-shellutils \
|
||||
check-snaviagor \
|
||||
check-sim \
|
||||
check-tar \
|
||||
check-tcl \
|
||||
@ -686,6 +691,7 @@ INSTALL_MODULES = \
|
||||
install-intl \
|
||||
install-ispell \
|
||||
install-tcl \
|
||||
install-tcl8.1 \
|
||||
install-itcl \
|
||||
install-ld \
|
||||
install-libgui \
|
||||
@ -704,9 +710,7 @@ INSTALL_MODULES = \
|
||||
install-send-pr \
|
||||
install-shellutils \
|
||||
install-sim \
|
||||
install-snavigator \
|
||||
install-tar \
|
||||
install-texinfo \
|
||||
install-textutils \
|
||||
install-tgas \
|
||||
install-time \
|
||||
@ -726,6 +730,7 @@ ALL_X11_MODULES = \
|
||||
all-guile \
|
||||
all-tclX \
|
||||
all-tk \
|
||||
all-tk8.1 \
|
||||
all-tix
|
||||
|
||||
# This is a list of the check targets for all of the modules which are
|
||||
@ -751,6 +756,7 @@ INSTALL_X11_MODULES = \
|
||||
install-gash \
|
||||
install-tclX \
|
||||
install-tk \
|
||||
install-tk8.1 \
|
||||
install-tix
|
||||
|
||||
# This is a list of the targets for all of the modules which are compiled
|
||||
@ -761,19 +767,14 @@ ALL_TARGET_MODULES = \
|
||||
all-target-librx \
|
||||
all-target-libg++ \
|
||||
all-target-newlib \
|
||||
all-target-libf2c \
|
||||
all-target-libchill \
|
||||
all-target-libobjc \
|
||||
all-target-libtermcap \
|
||||
all-target-winsup \
|
||||
all-target-libgloss \
|
||||
all-target-libiberty \
|
||||
all-target-gperf \
|
||||
all-target-examples \
|
||||
all-target-libstub \
|
||||
all-target-libjava \
|
||||
all-target-zlib \
|
||||
all-target-boehm-gc \
|
||||
all-target-qthreads \
|
||||
all-target-bsp \
|
||||
all-target-cygmon
|
||||
|
||||
# This is a list of the configure targets for all of the modules which
|
||||
@ -784,19 +785,14 @@ CONFIGURE_TARGET_MODULES = \
|
||||
configure-target-librx \
|
||||
configure-target-libg++ \
|
||||
configure-target-newlib \
|
||||
configure-target-libf2c \
|
||||
configure-target-libchill \
|
||||
configure-target-libobjc \
|
||||
configure-target-libtermcap \
|
||||
configure-target-winsup \
|
||||
configure-target-libgloss \
|
||||
configure-target-libiberty \
|
||||
configure-target-gperf \
|
||||
configure-target-examples \
|
||||
configure-target-libstub \
|
||||
configure-target-libjava \
|
||||
configure-target-zlib \
|
||||
configure-target-boehm-gc \
|
||||
configure-target-qthreads \
|
||||
configure-target-bsp \
|
||||
configure-target-cygmon
|
||||
|
||||
# This is a list of the check targets for all of the modules which are
|
||||
@ -806,15 +802,8 @@ CHECK_TARGET_MODULES = \
|
||||
check-target-libstdc++ \
|
||||
check-target-libg++ \
|
||||
check-target-newlib \
|
||||
check-target-libf2c \
|
||||
check-target-libchill \
|
||||
check-target-libobjc \
|
||||
check-target-winsup \
|
||||
check-target-libiberty \
|
||||
check-target-libjava \
|
||||
check-target-zlib \
|
||||
check-target-boehm-gc \
|
||||
check-target-qthreads \
|
||||
check-target-gperf
|
||||
|
||||
# This is a list of the install targets for all of the modules which are
|
||||
@ -824,17 +813,11 @@ INSTALL_TARGET_MODULES = \
|
||||
install-target-libstdc++ \
|
||||
install-target-libg++ \
|
||||
install-target-newlib \
|
||||
install-target-libf2c \
|
||||
install-target-libchill \
|
||||
install-target-libobjc \
|
||||
install-target-libtermcap \
|
||||
install-target-winsup \
|
||||
install-target-libgloss \
|
||||
install-target-libiberty \
|
||||
install-target-bsp \
|
||||
install-target-libjava \
|
||||
install-target-zlib \
|
||||
install-target-boehm-gc \
|
||||
install-target-qthreads \
|
||||
install-target-gperf
|
||||
|
||||
# This is a list of the targets for which we can do a clean-{target}.
|
||||
@ -892,7 +875,6 @@ CLEAN_MODULES = \
|
||||
clean-send-pr \
|
||||
clean-shellutils \
|
||||
clean-sim \
|
||||
clean-snavigator \
|
||||
clean-tar \
|
||||
clean-tcl \
|
||||
clean-texinfo \
|
||||
@ -903,7 +885,6 @@ CLEAN_MODULES = \
|
||||
clean-wdiff \
|
||||
clean-zip
|
||||
|
||||
|
||||
# All of the target modules that can be cleaned
|
||||
CLEAN_TARGET_MODULES = \
|
||||
clean-target-libio \
|
||||
@ -911,19 +892,13 @@ CLEAN_TARGET_MODULES = \
|
||||
clean-target-librx \
|
||||
clean-target-libg++ \
|
||||
clean-target-newlib \
|
||||
clean-target-libf2c \
|
||||
clean-target-libchill \
|
||||
clean-target-libobjc \
|
||||
clean-target-winsup \
|
||||
clean-target-libgloss \
|
||||
clean-target-libiberty \
|
||||
clean-target-gperf \
|
||||
clean-target-examples \
|
||||
clean-target-libstub \
|
||||
clean-target-libjava \
|
||||
clean-target-zlib \
|
||||
clean-target-boehm-gc \
|
||||
clean-target-qthreads \
|
||||
clean-target-bsp \
|
||||
clean-target-cygmon
|
||||
|
||||
# All of the x11 modules that can be cleaned
|
||||
@ -938,10 +913,6 @@ CLEAN_X11_MODULES = \
|
||||
clean-tk \
|
||||
clean-tix
|
||||
|
||||
# The first rule in the file had better be this one. Don't put any above it.
|
||||
all: all.normal
|
||||
.PHONY: all
|
||||
|
||||
# The target built for a native build.
|
||||
.PHONY: all.normal
|
||||
all.normal: \
|
||||
@ -1183,6 +1154,7 @@ gcc-no-fixedincludes:
|
||||
mv gcc/tmp-include gcc/include 2>/dev/null; \
|
||||
else true; fi
|
||||
|
||||
|
||||
# This rule is used to build the modules which use FLAGS_TO_PASS. To
|
||||
# build a target all-X means to cd to X and make all.
|
||||
#
|
||||
@ -1561,13 +1533,13 @@ all-bash:
|
||||
all-bfd: all-libiberty all-intl
|
||||
all-binutils: all-libiberty all-opcodes all-bfd all-flex all-bison all-byacc all-intl
|
||||
all-bison: all-texinfo
|
||||
configure-target-boehm-gc: configure-target-newlib configure-target-qthreads
|
||||
all-target-boehm-gc: configure-target-boehm-gc
|
||||
configure-target-bsp: $(ALL_GCC)
|
||||
all-target-bsp: configure-target-bsp all-gcc all-binutils all-target-newlib
|
||||
all-byacc:
|
||||
all-bzip2:
|
||||
all-cvssrc:
|
||||
configure-target-cygmon: $(ALL_GCC)
|
||||
all-target-cygmon: configure-target-cygmon all-gas all-ld all-gcc all-target-libiberty all-target-newlib all-target-libio all-target-libstub
|
||||
all-target-cygmon: configure-target-cygmon all-gas all-ld all-gcc all-target-libiberty all-target-newlib all-target-libio all-target-libstub all-target-bsp
|
||||
all-db:
|
||||
all-dejagnu: all-tcl all-expect all-tk
|
||||
all-diff: all-libiberty
|
||||
@ -1594,7 +1566,6 @@ all-gnuserv:
|
||||
configure-target-gperf: $(ALL_GCC)
|
||||
all-target-gperf: configure-target-gperf all-target-libiberty all-target-libstdc++
|
||||
all-gprof: all-libiberty all-bfd all-opcodes all-intl
|
||||
all-grep: all-libiberty
|
||||
all-grez: all-libiberty all-bfd all-opcodes
|
||||
all-gui: all-gdb all-libproc all-target-librx
|
||||
all-guile:
|
||||
@ -1604,7 +1575,7 @@ all-indent:
|
||||
all-inet: all-tcl all-send-pr all-perl
|
||||
all-intl:
|
||||
all-ispell: all-emacs19
|
||||
all-itcl: all-tcl all-tk
|
||||
all-itcl: all-tcl all-tk all-tcl8.1 all-tk8.1
|
||||
all-ld: all-libiberty all-bfd all-opcodes all-bison all-byacc all-flex all-intl
|
||||
configure-target-libg++: $(ALL_GCC) configure-target-librx
|
||||
all-target-libg++: configure-target-libg++ all-gas all-ld all-gcc all-target-libiberty all-target-newlib all-target-libio all-target-librx all-target-libstdc++
|
||||
@ -1612,11 +1583,9 @@ configure-target-libgloss: $(ALL_GCC)
|
||||
all-target-libgloss: configure-target-libgloss configure-target-newlib
|
||||
configure-target-libio: $(ALL_GCC)
|
||||
all-target-libio: configure-target-libio all-gas all-ld all-gcc all-target-libiberty all-target-newlib
|
||||
check-target-libio: all-target-libstdc++
|
||||
all-libgui: all-tcl all-tk all-itcl
|
||||
check-target-libio:
|
||||
all-libgui: all-tcl all-tk all-tcl8.1 all-tk8.1 all-itcl
|
||||
all-libiberty:
|
||||
configure-target-libjava: $(ALL_GCC) configure-target-zlib configure-target-boehm-gc configure-target-qthreads configure-target-newlib
|
||||
all-target-libjava: configure-target-libjava all-gcc all-zip all-target-newlib all-target-zlib all-target-boehm-gc all-target-qthreads
|
||||
configure-target-librx: $(ALL_GCC) configure-target-newlib
|
||||
all-target-librx: configure-target-librx
|
||||
configure-target-libstdc++: $(ALL_GCC)
|
||||
@ -1624,20 +1593,17 @@ all-target-libstdc++: configure-target-libstdc++ all-gas all-ld all-gcc all-targ
|
||||
configure-target-libstub: $(ALL_GCC)
|
||||
all-target-libstub: configure-target-libstub
|
||||
all-libtool:
|
||||
all-target-libf2c: configure-target-libf2c all-gas all-ld all-gcc all-target-libiberty all-target-newlib
|
||||
all-target-libchill: configure-target-libchill all-gas all-ld all-gcc all-target-libiberty all-target-newlib
|
||||
all-target-libobjc: configure-target-libobjc all-gas all-ld all-gcc all-target-libiberty all-target-newlib
|
||||
all-m4: all-libiberty
|
||||
all-make: all-libiberty
|
||||
all-mmalloc:
|
||||
configure-target-newlib: $(ALL_GCC)
|
||||
configure-target-libtermcap: $(ALL_GCC)
|
||||
all-target-newlib: configure-target-newlib all-binutils all-gas all-gcc
|
||||
all-target-libtermcap: configure-target-libtermcap all-binutils all-gas all-gcc
|
||||
all-opcodes: all-bfd all-libiberty
|
||||
all-patch: all-libiberty
|
||||
all-perl:
|
||||
all-prms: all-libiberty
|
||||
configure-target-qthreads: configure-target-newlib
|
||||
all-target-qthreads: configure-target-qthreads
|
||||
all-rcs:
|
||||
all-readline:
|
||||
all-recode: all-libiberty
|
||||
@ -1645,28 +1611,27 @@ all-sed: all-libiberty
|
||||
all-send-pr: all-prms
|
||||
all-shellutils:
|
||||
all-sim: all-libiberty all-bfd all-opcodes all-readline
|
||||
all-snavigator: all-tcl all-tk all-itcl all-db all-grep all-libgui
|
||||
all-tar: all-libiberty
|
||||
all-tcl:
|
||||
all-tcl8.1:
|
||||
all-tclX: all-tcl all-tk
|
||||
all-tk: all-tcl
|
||||
all-tk8.1: all-tcl8.1
|
||||
all-texinfo: all-libiberty
|
||||
all-textutils:
|
||||
all-tgas: all-libiberty all-bfd all-opcodes
|
||||
all-time:
|
||||
all-tix: all-tcl all-tk
|
||||
all-tix: all-tcl all-tk all-tcl8.1 all-tk8.1
|
||||
all-wdiff:
|
||||
all-target-winsup: all-target-newlib all-target-libiberty all-target-libio configure-target-winsup
|
||||
all-target-winsup: all-target-newlib all-target-libiberty all-target-libtermcap configure-target-winsup
|
||||
configure-target-winsup: configure-target-newlib
|
||||
all-uudecode: all-libiberty
|
||||
all-zip:
|
||||
configure-target-zlib: $(ALL_GCC)
|
||||
all-target-zlib: configure-target-zlib
|
||||
configure-target-libiberty: $(ALL_GCC)
|
||||
all-target-libiberty: configure-target-libiberty all-gcc all-ld all-target-newlib
|
||||
all-target: $(ALL_TARGET_MODULES)
|
||||
install-target: $(INSTALL_TARGET_MODULES)
|
||||
|
||||
install-gdb: install-tcl install-tk install-itcl install-tix install-libgui
|
||||
### other supporting targets
|
||||
|
||||
MAKEDIRS= \
|
||||
@ -1718,7 +1683,8 @@ DEVO_SUPPORT= README Makefile.in configure configure.in \
|
||||
# ChangeLog omitted because it may refer to files which are not in this
|
||||
# distribution (perhaps it would be better to include it anyway).
|
||||
ETC_SUPPORT= Makefile.in configure configure.in standards.texi \
|
||||
make-stds.texi standards.info*
|
||||
make-stds.texi standards.info* configure.texi configure.info* \
|
||||
configbuild.* configdev.*
|
||||
|
||||
# When you use `make setup-dirs' or `make taz' you should always redefine
|
||||
# this macro.
|
||||
@ -1726,9 +1692,8 @@ SUPPORT_FILES = list-of-support-files-for-tool-in-question
|
||||
|
||||
.PHONY: taz
|
||||
|
||||
taz: $(DEVO_SUPPORT) $(SUPPORT_FILES) \
|
||||
texinfo/texinfo.tex texinfo/gpl.texinfo texinfo/lgpl.texinfo
|
||||
# Take out texinfo from a few places
|
||||
taz: $(DEVO_SUPPORT) $(SUPPORT_FILES) texinfo/texinfo.tex
|
||||
# Take out texinfo from a few places.
|
||||
sed -e '/^all\.normal: /s/\all-texinfo //' \
|
||||
-e '/^ install-texinfo /d' \
|
||||
<Makefile.in >tmp
|
||||
@ -1772,8 +1737,6 @@ taz: $(DEVO_SUPPORT) $(SUPPORT_FILES) \
|
||||
#
|
||||
mkdir proto-toplev/texinfo
|
||||
ln -s ../../texinfo/texinfo.tex proto-toplev/texinfo/
|
||||
ln -s ../../texinfo/gpl.texinfo proto-toplev/texinfo/
|
||||
ln -s ../../texinfo/lgpl.texinfo proto-toplev/texinfo/
|
||||
if test -r texinfo/util/tex3patch ; then \
|
||||
mkdir proto-toplev/texinfo/util && \
|
||||
ln -s ../../../texinfo/util/tex3patch proto-toplev/texinfo/util ; \
|
||||
@ -1784,56 +1747,84 @@ taz: $(DEVO_SUPPORT) $(SUPPORT_FILES) \
|
||||
else \
|
||||
ver=`sed <$(TOOL)/Makefile.in -n 's/^VERSION *= *//p'`; \
|
||||
fi; \
|
||||
$(MAKE) -f Makefile.in do-tar-gz TOOL=$(TOOL) VER=$$ver
|
||||
if test x"$(PACKAGE)" = x; then \
|
||||
package="$(TOOL)"; \
|
||||
else \
|
||||
package="$(PACKAGE)"; \
|
||||
fi; \
|
||||
$(MAKE) -f Makefile.in do-tar-bz2 TOOL=$(TOOL) VER=$$ver PACKAGE=$$package
|
||||
|
||||
do-tar-gz:
|
||||
echo "==> Making $(TOOL)-$(VER).tar.gz"
|
||||
-rm -f $(TOOL)-$(VER)
|
||||
ln -s proto-toplev $(TOOL)-$(VER)
|
||||
tar cfh $(TOOL)-$(VER).tar $(TOOL)-$(VER)
|
||||
$(GZIPPROG) -v -9 $(TOOL)-$(VER).tar
|
||||
do-tar-bz2:
|
||||
echo "==> Making $(PACKAGE)-$(VER).tar.bz2"
|
||||
-rm -f $(PACKAGE)-$(VER)
|
||||
ln -s proto-toplev $(PACKAGE)-$(VER)
|
||||
tar cfh $(PACKAGE)-$(VER).tar $(PACKAGE)-$(VER)
|
||||
$(BZIPPROG) -v -9 $(PACKAGE)-$(VER).tar
|
||||
|
||||
TEXINFO_SUPPORT= texinfo/texinfo.tex texinfo/gpl.texinfo texinfo/lgpl.texinfo
|
||||
TEXINFO_SUPPORT= texinfo/texinfo.tex
|
||||
DIST_SUPPORT= $(DEVO_SUPPORT) $(TEXINFO_SUPPORT)
|
||||
|
||||
.PHONY: gas.tar.gz
|
||||
GAS_SUPPORT_DIRS= bfd include libiberty opcodes intl setup.com makefile.vms
|
||||
gas.tar.gz: $(DIST_SUPPORT) $(GAS_SUPPORT_DIRS) gas
|
||||
.PHONY: gas.tar.bz2
|
||||
GAS_SUPPORT_DIRS= bfd include libiberty opcodes intl setup.com makefile.vms mkdep
|
||||
gas.tar.bz2: $(DIST_SUPPORT) $(GAS_SUPPORT_DIRS) gas
|
||||
$(MAKE) -f Makefile.in taz TOOL=gas \
|
||||
SUPPORT_FILES="$(GAS_SUPPORT_DIRS)"
|
||||
|
||||
# The FSF "binutils" release includes gprof and ld.
|
||||
.PHONY: binutils.tar.gz
|
||||
BINUTILS_SUPPORT_DIRS= bfd gas include libiberty opcodes ld gprof intl setup.com makefile.vms
|
||||
binutils.tar.gz: $(DIST_SUPPORT) $(BINUTILS_SUPPORT_DIRS) binutils
|
||||
.PHONY: binutils.tar.bz2
|
||||
BINUTILS_SUPPORT_DIRS= bfd gas include libiberty opcodes ld gprof intl setup.com makefile.vms mkdep
|
||||
binutils.tar.bz2: $(DIST_SUPPORT) $(BINUTILS_SUPPORT_DIRS) binutils
|
||||
$(MAKE) -f Makefile.in taz TOOL=binutils \
|
||||
SUPPORT_FILES="$(BINUTILS_SUPPORT_DIRS) makeall.bat configure.bat"
|
||||
SUPPORT_FILES="$(BINUTILS_SUPPORT_DIRS)"
|
||||
|
||||
.PHONY: gas+binutils.tar.gz
|
||||
.PHONY: gas+binutils.tar.bz2
|
||||
GASB_SUPPORT_DIRS= $(GAS_SUPPORT_DIRS) binutils ld gprof
|
||||
gas+binutils.tar.gz: $(DIST_SUPPORT) $(GASB_SUPPORT_DIRS) gas
|
||||
gas+binutils.tar.bz2: $(DIST_SUPPORT) $(GASB_SUPPORT_DIRS) gas
|
||||
$(MAKE) -f Makefile.in taz TOOL=gas \
|
||||
SUPPORT_FILES="$(GASB_SUPPORT_DIRS) makeall.bat configure.bat"
|
||||
SUPPORT_FILES="$(GASB_SUPPORT_DIRS)"
|
||||
|
||||
.PHONY: libg++.tar.gz
|
||||
.PHONY: libg++.tar.bz2
|
||||
LIBGXX_SUPPORT_DIRS=include libstdc++ libio librx libiberty
|
||||
libg++.tar.gz: $(DIST_SUPPORT) libg++
|
||||
libg++.tar.bz2: $(DIST_SUPPORT) libg++
|
||||
$(MAKE) -f Makefile.in taz TOOL=libg++ \
|
||||
SUPPORT_FILES="$(LIBGXX_SUPPORT_DIRS)"
|
||||
|
||||
GNATS_SUPPORT_DIRS=include libiberty send-pr
|
||||
gnats.tar.gz: $(DIST_SUPPORT) $(GNATS_SUPPORT_DIRS) gnats
|
||||
gnats.tar.bz2: $(DIST_SUPPORT) $(GNATS_SUPPORT_DIRS) gnats
|
||||
$(MAKE) -f Makefile.in taz TOOL=gnats \
|
||||
SUPPORT_FILES="$(GNATS_SUPPORT_DIRS)"
|
||||
|
||||
.PHONY: gdb.tar.gz
|
||||
.PHONY: gdb.tar.bz2
|
||||
GDB_SUPPORT_DIRS= bfd include libiberty mmalloc opcodes readline sim utils intl
|
||||
GDBTK_SUPPORT_DIRS= `if [ -d tcl -a -d tk ] ; then echo tcl tk ; fi`
|
||||
gdb.tar.gz: $(DIST_SUPPORT) $(GDB_SUPPORT_DIRS) gdb
|
||||
gdb.tar.bz2: $(DIST_SUPPORT) $(GDB_SUPPORT_DIRS) gdb
|
||||
$(MAKE) -f Makefile.in taz TOOL=gdb \
|
||||
SUPPORT_FILES="$(GDB_SUPPORT_DIRS) $(GDBTK_SUPPORT_DIRS)"
|
||||
SUPPORT_FILES="$(GDB_SUPPORT_DIRS)"
|
||||
|
||||
.PHONY: newlib.tar.gz
|
||||
.PHONY: dejagnu.tar.bz2
|
||||
DEJAGNU_SUPPORT_DIRS= tcl expect libiberty
|
||||
dejagnu.tar.bz2: $(DIST_SUPPORT) $(DEJAGNU_SUPPORT_DIRS) dejagnu
|
||||
$(MAKE) -f Makefile.in taz TOOL=dejagnu \
|
||||
SUPPORT_FILES="$(DEJAGNU_SUPPORT_DIRS)"
|
||||
|
||||
.PHONY: gdb+dejagnu.tar.bz2
|
||||
GDBD_SUPPORT_DIRS= $(GDB_SUPPORT_DIRS) tcl expect dejagnu
|
||||
gdb+dejagnu.tar.bz2: $(DIST_SUPPORT) $(GDBD_SUPPORT_DIRS) gdb
|
||||
$(MAKE) -f Makefile.in taz TOOL=gdb PACKAGE=gdb+dejagnu \
|
||||
SUPPORT_FILES="$(GDBD_SUPPORT_DIRS)"
|
||||
|
||||
.PHONY: insight.tar.bz2
|
||||
INSIGHT_SUPPORT_DIRS= $(GDB_SUPPORT_DIRS) tcl tk itcl tix libgui
|
||||
insight.tar.bz2: $(DIST_SUPPORT) $(GDB_SUPPORT_DIRS) gdb
|
||||
$(MAKE) -f Makefile.in taz TOOL=gdb PACKAGE=insight \
|
||||
SUPPORT_FILES="$(INSIGHT_SUPPORT_DIRS)"
|
||||
|
||||
.PHONY: insight+dejagnu.tar.bz2
|
||||
INSIGHTD_SUPPORT_DIRS= $(INSIGHT_SUPPORT_DIRS) expect dejagnu
|
||||
insight+dejagnu.tar.bz2: $(DIST_SUPPORT) $(INSIGHTD_SUPPORT_DIRS) gdb
|
||||
$(MAKE) -f Makefile.in taz TOOL=gdb PACKAGE="insight+dejagnu" \
|
||||
SUPPORT_FILES="$(INSIGHTD_SUPPORT_DIRS)"
|
||||
|
||||
.PHONY: newlib.tar.bz2
|
||||
NEWLIB_SUPPORT_DIRS=libgloss
|
||||
# taz configures for the sun4 target which won't configure newlib.
|
||||
# We need newlib configured so that the .info files are made.
|
||||
@ -1846,7 +1837,7 @@ NEWLIB_SUPPORT_DIRS=libgloss
|
||||
# the make distclean. For now punt on the issue of shipping newlib info files
|
||||
# with newlib net releases and wait for a day when some native target (sun4?)
|
||||
# supports newlib (if only minimally).
|
||||
newlib.tar.gz: $(DIST_SUPPORT) $(NEWLIB_SUPPORT_DIRS) newlib
|
||||
newlib.tar.bz2: $(DIST_SUPPORT) $(NEWLIB_SUPPORT_DIRS) newlib
|
||||
$(MAKE) -f Makefile.in taz TOOL=newlib \
|
||||
SUPPORT_FILES="$(NEWLIB_SUPPORT_DIRS)" \
|
||||
DEVO_SUPPORT="$(DEVO_SUPPORT) COPYING.NEWLIB" newlib
|
||||
|
34
gnu/dist/toolchain/README
vendored
34
gnu/dist/toolchain/README
vendored
@ -3,10 +3,40 @@
|
||||
This directory contains various GNU compilers, assemblers, linkers,
|
||||
debuggers, etc., plus their support routines, definitions, and documentation.
|
||||
|
||||
If you are receiving this as part of a GDB release, see the file gdb/README.
|
||||
If with a binutils release, see binutils/README; if with a libg++ release,
|
||||
see libg++/README, etc. That'll give you info about this
|
||||
package -- supported targets, how to use it, how to report bugs, etc.
|
||||
|
||||
Check the INSTALL directory for detailed configuration and installation
|
||||
instructions.
|
||||
It is now possible to automatically configure and build a variety of
|
||||
tools with one command. To build all of the tools contained herein,
|
||||
run the ``configure'' script here, e.g.:
|
||||
|
||||
./configure
|
||||
make
|
||||
|
||||
To install them (by default in /usr/local/bin, /usr/local/lib, etc),
|
||||
then do:
|
||||
make install
|
||||
|
||||
(If the configure script can't determine your type of computer, give it
|
||||
the name as an argument, for instance ``./configure sun4''. You can
|
||||
use the script ``config.sub'' to test whether a name is recognized; if
|
||||
it is, config.sub translates it to a triplet specifying CPU, vendor,
|
||||
and OS.)
|
||||
|
||||
If you have more than one compiler on your system, it is often best to
|
||||
explicitly set CC in the environment before running configure, and to
|
||||
also set CC when running make. For example (assuming sh/bash/ksh):
|
||||
|
||||
CC=gcc ./configure
|
||||
make
|
||||
|
||||
A similar example using csh:
|
||||
|
||||
setenv CC gcc
|
||||
./configure
|
||||
make
|
||||
|
||||
Much of the code and documentation enclosed is copyright by
|
||||
the Free Software Foundation, Inc. See the file COPYING or
|
||||
|
144
gnu/dist/toolchain/bfd/ChangeLog
vendored
144
gnu/dist/toolchain/bfd/ChangeLog
vendored
@ -1,3 +1,147 @@
|
||||
2000-11-07 Alan Modra <alan@linuxcare.com.au>
|
||||
|
||||
* coff-h8300.c (special): Adjust reloc address.
|
||||
|
||||
From mainline 2000-04-03 Kazu Hirata <kazu@hxi.com>
|
||||
* coff-h8300.c (h8300_reloc16_extra_cases): Add bsr:16 -> bsr:8 to
|
||||
the R_PCRWORD_B case.
|
||||
|
||||
2000-11-05 Philip Blundell <philb@gnu.org>
|
||||
|
||||
* elf32-arm.h (elf32_arm_merge_private_bfd_data): Always permit
|
||||
BFDs containing no sections to be merged, regardless of their flags.
|
||||
|
||||
2000-11-04 Philip Blundell <philb@gnu.org>
|
||||
|
||||
* elf32-arm.h (elf32_arm_relocate_section): Suppress error message
|
||||
if a relocation for an undefined symbol also results in an
|
||||
overflow.
|
||||
|
||||
2000-10-31 Philip Blundell <philb@gnu.org>
|
||||
|
||||
* elf32-arm.h (elf32_arm_merge_private_bfd_data): Only handle
|
||||
EF_SOFT_FLOAT if it is defined.
|
||||
|
||||
From 2000-05-23 H.J. Lu <hjl@gnu.org>
|
||||
* elf32-ppc.c (ppc_elf_relocate_section): Fix a typo.
|
||||
|
||||
2000-10-27 Philip Blundell <philb@gnu.org>
|
||||
|
||||
* elf32-arm.h (elf32_arm_copy_private_bfd_data): Don't refuse
|
||||
attempts to mix PIC code with non-PIC, just mark the output as
|
||||
being position dependent.
|
||||
(elf32_arm_merge_private_bfd_data): Likewise. Print an error
|
||||
message for EF_SOFT_FLOAT mismatches. Display diagnostics for
|
||||
all mismatches, not just the first one.
|
||||
|
||||
2000-10-23 Philip Blundell <pb@futuretv.com>
|
||||
|
||||
From 2000-05-23 H.J. Lu <hjl@gnu.org>
|
||||
* elf64-alpha.c (elf64_alpha_relocate_section): Check
|
||||
h->root.other not h->other.
|
||||
* elf32-mips.c (mips_elf_calculate_relocation): Likewise.
|
||||
|
||||
2000-10-23 Philip Blundell <pb@futuretv.com>
|
||||
|
||||
* elf32-arm.h (elf32_arm_finish_dynamic_symbol): Undo previous
|
||||
accidental checkin.
|
||||
|
||||
2000-10-22 Philip Blundell <philb@gnu.org>
|
||||
|
||||
* elf32-arm.h (elf32_arm_finish_dynamic_symbol): Don't make
|
||||
PLT entries that could serve as a definition for a weak symbol.
|
||||
|
||||
From 2000-06-05 H.J. Lu <hjl@gnu.org>
|
||||
* elflink.c (_bfd_elf_link_record_dynamic_symbol): Don't flag
|
||||
an error when seeing an undefined symbol with hidden/internal
|
||||
attribute. It is handled in *_relocate_section ().
|
||||
|
||||
From 2000-05-23 H.J. Lu <hjl@gnu.org>
|
||||
* elf32-i386.c (elf_i386_relocate_section): Don't allow the
|
||||
undefined symbol with the non-default visibility attributes.
|
||||
* elf-hppa.h (elf_hppa_relocate_section): Likewise.
|
||||
* elf32-arm.h (elf32_arm_relocate_section): Likewise.
|
||||
* elf32-i370.c (i370_elf_relocate_section): Likewise.
|
||||
* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
|
||||
* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
|
||||
* elf32-mips.c (mips_elf_calculate_relocation): Likewise.
|
||||
* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
|
||||
* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
|
||||
* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
|
||||
* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
|
||||
|
||||
2000-10-16 Geoffrey Keating <geoffk@cygnus.com>
|
||||
|
||||
From 2000-10-14 Geoffrey Keating <geoffk@cygnus.com>
|
||||
* elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Don't make PLT
|
||||
entries that could serve as a definition for a weak symbol.
|
||||
|
||||
2000-10-15 Philip Blundell <philb@gnu.org>
|
||||
|
||||
From 2000-09-08 Nick Clifton <nickc@redhat.com>
|
||||
* elf32-arm.h (elf32_arm_merge_private_bfd_data): Do not
|
||||
initialise flags in output bfd if the input bfd is the default
|
||||
architecture with the default flags.
|
||||
|
||||
From 2000-09-03 Philip Blundell <philb@gnu.org>
|
||||
* elf32-arm.h (elf32_arm_relocate_section): Don't try to relocate
|
||||
references to undefined symbols in debugging sections.
|
||||
|
||||
From 2000-05-30 H.J. Lu <hjl@gnu.org>
|
||||
* elflink.c (_bfd_elf_link_record_dynamic_symbol): Clear the
|
||||
visibility bits if the symbol is undefined. Correctly handle
|
||||
weak undefined symbols with hidden and internal attributes.
|
||||
* elflink.h (elf_link_add_object_symbols): Always turn the
|
||||
symbol into local if it has the hidden or internal attribute.
|
||||
|
||||
From 2000-05-22 H.J. Lu <hjl@gnu.org>
|
||||
* elflink.h (elf_link_output_extsym): Clear the visibility
|
||||
field for symbols not defined locally.
|
||||
|
||||
From 2000-05-03 Martin v. Löwis <loewis@informatik.hu-berlin.de>
|
||||
* elflink.h (elf_link_add_object_symbols): Reset dynindx for
|
||||
hidden and internal symbols.
|
||||
(elf_fix_symbol_flags): Clear NEEDS_PLT for symbols with
|
||||
visibility.
|
||||
* elflink.c (_bfd_elf_link_record_dynamic_symbol): Do not
|
||||
assign a PLT or GOT entry to symbols with hidden and
|
||||
internal visibility.
|
||||
|
||||
2000-10-16 Philip Blundell <pb@futuretv.com>
|
||||
|
||||
* configure.in: Set version to 2.10.1.
|
||||
* configure: Regenerate.
|
||||
|
||||
2000-09-24 H.J. Lu <hjl@gnu.org>
|
||||
|
||||
From 2000-04-20 H.J. Lu <hjl@gnu.org>
|
||||
* elf32-i386.c (elf_i386_relocate_section): Restrict 1998-12-10
|
||||
patch to symbols defined by a shared object.
|
||||
|
||||
2000-09-06 Philip Blundell <philb@gnu.org>
|
||||
|
||||
Merge from mainline:
|
||||
|
||||
2000-05-31 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* elf.c (_bfd_elf_slurp_version_tables): Correct reading of version
|
||||
definitions. We must not assume they are sorted in the file
|
||||
according to their index numbers.
|
||||
|
||||
2000-09-06 Philip Blundell <philb@gnu.org>
|
||||
|
||||
* config.bfd (arm*-*-uclinux*): New target.
|
||||
(armeb-*-elf, arm*b-*-linux-gnu*): Likewise.
|
||||
|
||||
2000-08-22 Doug Kwan <dkwan@transmeta.com>
|
||||
|
||||
* coff-w65.c (CREATE_LITTLE_COFF_TARGET): Fix typo.
|
||||
* coffcode.h (coff_set_flags): Add detection of w65 architecture.
|
||||
|
||||
2000-04-14 Matthew Green <mrg@cygnus.com>
|
||||
|
||||
* config.bfd: Add NetBSD/sparc64 support.
|
||||
|
||||
2000-05-31 Mark Kettenis <kettenis@gnu.org>
|
||||
|
||||
Add support for FreeBSD/Alpha.
|
||||
|
15
gnu/dist/toolchain/bfd/coff-h8300.c
vendored
15
gnu/dist/toolchain/bfd/coff-h8300.c
vendored
@ -192,18 +192,18 @@ h8300_coff_link_hash_table_create (abfd)
|
||||
return &ret->root.root;
|
||||
}
|
||||
|
||||
/* special handling for H8/300 relocs.
|
||||
/* Special handling for H8/300 relocs.
|
||||
We only come here for pcrel stuff and return normally if not an -r link.
|
||||
When doing -r, we can't do any arithmetic for the pcrel stuff, because
|
||||
the code in reloc.c assumes that we can manipulate the targets of
|
||||
the pcrel branches. This isn't so, since the H8/300 can do relaxing,
|
||||
which means that the gap after the instruction may not be enough to
|
||||
contain the offset required for the branch, so we have to use the only
|
||||
the addend until the final link */
|
||||
contain the offset required for the branch, so we have to use only
|
||||
the addend until the final link. */
|
||||
|
||||
static bfd_reloc_status_type
|
||||
special (abfd, reloc_entry, symbol, data, input_section, output_bfd,
|
||||
error_message)
|
||||
error_message)
|
||||
bfd *abfd ATTRIBUTE_UNUSED;
|
||||
arelent *reloc_entry ATTRIBUTE_UNUSED;
|
||||
asymbol *symbol ATTRIBUTE_UNUSED;
|
||||
@ -215,6 +215,8 @@ special (abfd, reloc_entry, symbol, data, input_section, output_bfd,
|
||||
if (output_bfd == (bfd *) NULL)
|
||||
return bfd_reloc_continue;
|
||||
|
||||
/* Adjust the reloc address to that in the output section. */
|
||||
reloc_entry->address += input_section->output_offset;
|
||||
return bfd_reloc_ok;
|
||||
}
|
||||
|
||||
@ -902,6 +904,11 @@ h8300_reloc16_extra_cases (abfd, link_info, link_order, reloc, data, src_ptr,
|
||||
bfd_put_8 (abfd, tmp, data + dst_address - 2);
|
||||
break;
|
||||
|
||||
case 0x5c:
|
||||
/* bsr:16 -> bsr:8 */
|
||||
bfd_put_8 (abfd, 0x55, data + dst_address - 2);
|
||||
break;
|
||||
|
||||
default:
|
||||
abort ();
|
||||
}
|
||||
|
2
gnu/dist/toolchain/bfd/coff-w65.c
vendored
2
gnu/dist/toolchain/bfd/coff-w65.c
vendored
@ -401,4 +401,4 @@ h8300_reloc16_extra_cases (abfd, link_info, link_order, reloc, data, src_ptr,
|
||||
bfd_coff_reloc16_get_relocated_section_contents
|
||||
#define coff_bfd_relax_section bfd_coff_reloc16_relax_section
|
||||
|
||||
CREATE_LITTLE_COFF_TARGET_VEC (w65_vec, "coff-w95", BFD_IS_RELAXABLE, 0, '_', NULL)
|
||||
CREATE_LITTLE_COFF_TARGET_VEC (w65_vec, "coff-w65", BFD_IS_RELAXABLE, 0, '_', NULL)
|
||||
|
3
gnu/dist/toolchain/bfd/elf-hppa.h
vendored
3
gnu/dist/toolchain/bfd/elf-hppa.h
vendored
@ -1079,7 +1079,8 @@ elf_hppa_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||
relocation = 0;
|
||||
}
|
||||
/* Allow undefined symbols in shared libraries. */
|
||||
else if (info->shared && !info->no_undefined)
|
||||
else if (info->shared && !info->no_undefined
|
||||
&& ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
|
||||
{
|
||||
if (info->symbolic)
|
||||
(*info->callbacks->undefined_symbol)
|
||||
|
114
gnu/dist/toolchain/bfd/elf32-arm.h
vendored
114
gnu/dist/toolchain/bfd/elf32-arm.h
vendored
@ -1756,7 +1756,14 @@ elf32_arm_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||
(!info->symbolic && h->dynindx != -1)
|
||||
|| (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0
|
||||
)
|
||||
&& ((input_section->flags & SEC_ALLOC) != 0)
|
||||
&& ((input_section->flags & SEC_ALLOC) != 0
|
||||
/* DWARF will emit R_ARM_ABS32 relocations in its
|
||||
sections against symbols defined externally
|
||||
in shared libraries. We can't do anything
|
||||
with them here. */
|
||||
|| ((input_section->flags & SEC_DEBUGGING) != 0
|
||||
&& (h->elf_link_hash_flags
|
||||
& ELF_LINK_HASH_DEF_DYNAMIC) != 0))
|
||||
)
|
||||
relocation_needed = 0;
|
||||
break;
|
||||
@ -1800,14 +1807,17 @@ elf32_arm_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||
}
|
||||
else if (h->root.type == bfd_link_hash_undefweak)
|
||||
relocation = 0;
|
||||
else if (info->shared && !info->symbolic && !info->no_undefined)
|
||||
else if (info->shared && !info->symbolic
|
||||
&& !info->no_undefined
|
||||
&& ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
|
||||
relocation = 0;
|
||||
else
|
||||
{
|
||||
if (!((*info->callbacks->undefined_symbol)
|
||||
(info, h->root.root.string, input_bfd,
|
||||
input_section, rel->r_offset,
|
||||
(!info->shared || info->no_undefined))))
|
||||
(!info->shared || info->no_undefined
|
||||
|| ELF_ST_VISIBILITY (h->other)))))
|
||||
return false;
|
||||
relocation = 0;
|
||||
}
|
||||
@ -1836,10 +1846,15 @@ elf32_arm_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||
switch (r)
|
||||
{
|
||||
case bfd_reloc_overflow:
|
||||
if (!((*info->callbacks->reloc_overflow)
|
||||
(info, name, howto->name, (bfd_vma) 0,
|
||||
input_bfd, input_section, rel->r_offset)))
|
||||
return false;
|
||||
/* If the overflowing reloc was to an undefined symbol,
|
||||
we have already printed one error message and there
|
||||
is no point complaining again. */
|
||||
if ((! h ||
|
||||
h->root.type != bfd_link_hash_undefined)
|
||||
&& (!((*info->callbacks->reloc_overflow)
|
||||
(info, name, howto->name, (bfd_vma) 0,
|
||||
input_bfd, input_section, rel->r_offset))))
|
||||
return false;
|
||||
break;
|
||||
|
||||
case bfd_reloc_undefined:
|
||||
@ -1923,10 +1938,6 @@ elf32_arm_copy_private_bfd_data (ibfd, obfd)
|
||||
|
||||
if (elf_flags_init (obfd) && in_flags != out_flags)
|
||||
{
|
||||
/* Cannot mix PIC and non-PIC code. */
|
||||
if ((in_flags & EF_PIC) != (out_flags & EF_PIC))
|
||||
return false;
|
||||
|
||||
/* Cannot mix APCS26 and APCS32 code. */
|
||||
if ((in_flags & EF_APCS_26) != (out_flags & EF_APCS_26))
|
||||
return false;
|
||||
@ -1946,6 +1957,10 @@ Warning: Clearing the interwork flag in %s because non-interworking code in %s h
|
||||
|
||||
in_flags &= ~EF_INTERWORK;
|
||||
}
|
||||
|
||||
/* Likewise for PIC, though don't warn for this case. */
|
||||
if ((in_flags & EF_PIC) != (out_flags & EF_PIC))
|
||||
in_flags &= ~EF_PIC;
|
||||
}
|
||||
|
||||
elf_elfheader (obfd)->e_flags = in_flags;
|
||||
@ -1963,6 +1978,9 @@ elf32_arm_merge_private_bfd_data (ibfd, obfd)
|
||||
{
|
||||
flagword out_flags;
|
||||
flagword in_flags;
|
||||
boolean flags_compatible = true;
|
||||
boolean null_input_bfd = true;
|
||||
asection *sec;
|
||||
|
||||
if ( bfd_get_flavour (ibfd) != bfd_target_elf_flavour
|
||||
|| bfd_get_flavour (obfd) != bfd_target_elf_flavour)
|
||||
@ -1994,13 +2012,14 @@ elf32_arm_merge_private_bfd_data (ibfd, obfd)
|
||||
|
||||
if (!elf_flags_init (obfd))
|
||||
{
|
||||
/* If the input is the default architecture then do not
|
||||
bother setting the flags for the output architecture,
|
||||
instead allow future merges to do this. If no future
|
||||
merges ever set these flags then they will retain their
|
||||
unitialised values, which surprise surprise, correspond
|
||||
/* If the input is the default architecture and had the default
|
||||
flags then do not bother setting the flags for the output
|
||||
architecture, instead allow future merges to do this. If no
|
||||
future merges ever set these flags then they will retain their
|
||||
uninitialised values, which surprise surprise, correspond
|
||||
to the default values. */
|
||||
if (bfd_get_arch_info (ibfd)->the_default)
|
||||
if (bfd_get_arch_info (ibfd)->the_default
|
||||
&& elf_elfheader (ibfd)->e_flags == 0)
|
||||
return true;
|
||||
|
||||
elf_flags_init (obfd) = true;
|
||||
@ -2013,48 +2032,77 @@ elf32_arm_merge_private_bfd_data (ibfd, obfd)
|
||||
return true;
|
||||
}
|
||||
|
||||
/* Check flag compatibility. */
|
||||
/* Identical flags must be compatible. */
|
||||
if (in_flags == out_flags)
|
||||
return true;
|
||||
|
||||
/* Complain about various flag mismatches. */
|
||||
/* Check to see if the input BFD actually contains any sections.
|
||||
If not, its flags may not have been initialised either, but it cannot
|
||||
actually cause any incompatibility. */
|
||||
for (sec = ibfd->sections; sec != NULL; sec = sec->next)
|
||||
{
|
||||
/* Ignore synthetic glue sections. */
|
||||
if (strcmp (sec->name, ".glue_7")
|
||||
&& strcmp (sec->name, ".glue_7t"))
|
||||
{
|
||||
null_input_bfd = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (null_input_bfd)
|
||||
return true;
|
||||
|
||||
/* If any of the input BFDs is non-PIC, the output is also position
|
||||
dependent. */
|
||||
if (!(in_flags & EF_PIC))
|
||||
elf_elfheader (obfd)->e_flags &= ~EF_PIC;
|
||||
|
||||
/* Complain about various flag mismatches. */
|
||||
if ((in_flags & EF_APCS_26) != (out_flags & EF_APCS_26))
|
||||
_bfd_error_handler (_ ("\
|
||||
{
|
||||
_bfd_error_handler (_ ("\
|
||||
Error: %s compiled for APCS-%d, whereas %s is compiled for APCS-%d"),
|
||||
bfd_get_filename (ibfd),
|
||||
in_flags & EF_APCS_26 ? 26 : 32,
|
||||
bfd_get_filename (obfd),
|
||||
out_flags & EF_APCS_26 ? 26 : 32);
|
||||
flags_compatible = false;
|
||||
}
|
||||
|
||||
if ((in_flags & EF_APCS_FLOAT) != (out_flags & EF_APCS_FLOAT))
|
||||
_bfd_error_handler (_ ("\
|
||||
{
|
||||
_bfd_error_handler (_ ("\
|
||||
Error: %s passes floats in %s registers, whereas %s passes them in %s registers"),
|
||||
bfd_get_filename (ibfd),
|
||||
in_flags & EF_APCS_FLOAT ? _ ("float") : _ ("integer"),
|
||||
bfd_get_filename (obfd),
|
||||
out_flags & EF_APCS_26 ? _ ("float") : _ ("integer"));
|
||||
flags_compatible = false;
|
||||
}
|
||||
|
||||
if ((in_flags & EF_PIC) != (out_flags & EF_PIC))
|
||||
_bfd_error_handler (_ ("\
|
||||
Error: %s is compiled as position %s code, whereas %s is not"),
|
||||
bfd_get_filename (ibfd),
|
||||
in_flags & EF_PIC ? _ ("independent") : _ ("dependent"),
|
||||
bfd_get_filename (obfd));
|
||||
|
||||
/* Interworking mismatch is only a warning. */
|
||||
if ((in_flags & EF_INTERWORK) != (out_flags & EF_INTERWORK))
|
||||
#ifdef EF_SOFT_FLOAT
|
||||
if ((in_flags & EF_SOFT_FLOAT) != (out_flags & EF_SOFT_FLOAT))
|
||||
{
|
||||
_bfd_error_handler (_ ("\
|
||||
Error: %s uses %s floating point, whereas %s uses %s floating point"),
|
||||
bfd_get_filename (ibfd),
|
||||
in_flags & EF_SOFT_FLOAT ? _("soft") : _("hard"),
|
||||
bfd_get_filename (obfd),
|
||||
out_flags & EF_SOFT_FLOAT ? _("soft") : _("hard"));
|
||||
flags_compatible = false;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Interworking mismatch is only a warning. */
|
||||
if ((in_flags & EF_INTERWORK) != (out_flags & EF_INTERWORK))
|
||||
_bfd_error_handler (_ ("\
|
||||
Warning: %s %s interworking, whereas %s %s"),
|
||||
bfd_get_filename (ibfd),
|
||||
in_flags & EF_INTERWORK ? _ ("supports") : _ ("does not support"),
|
||||
bfd_get_filename (obfd),
|
||||
out_flags & EF_INTERWORK ? _ ("does not") : _ ("does"));
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
return flags_compatible;
|
||||
}
|
||||
|
||||
/* Display the flags field */
|
||||
|
11
gnu/dist/toolchain/bfd/elf32-i386.c
vendored
11
gnu/dist/toolchain/bfd/elf32-i386.c
vendored
@ -1291,7 +1291,9 @@ elf_i386_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||
sections against symbols defined externally
|
||||
in shared libraries. We can't do anything
|
||||
with them here. */
|
||||
|| (input_section->flags & SEC_DEBUGGING) != 0)))
|
||||
|| ((input_section->flags & SEC_DEBUGGING) != 0
|
||||
&& (h->elf_link_hash_flags
|
||||
& ELF_LINK_HASH_DEF_DYNAMIC) != 0))))
|
||||
{
|
||||
/* In these cases, we don't need the relocation
|
||||
value. We check specially because in some
|
||||
@ -1313,14 +1315,17 @@ elf_i386_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||
}
|
||||
else if (h->root.type == bfd_link_hash_undefweak)
|
||||
relocation = 0;
|
||||
else if (info->shared && !info->symbolic && !info->no_undefined)
|
||||
else if (info->shared && !info->symbolic
|
||||
&& !info->no_undefined
|
||||
&& ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
|
||||
relocation = 0;
|
||||
else
|
||||
{
|
||||
if (! ((*info->callbacks->undefined_symbol)
|
||||
(info, h->root.root.string, input_bfd,
|
||||
input_section, rel->r_offset,
|
||||
(!info->shared || info->no_undefined))))
|
||||
(!info->shared || info->no_undefined
|
||||
|| ELF_ST_VISIBILITY (h->other)))))
|
||||
return false;
|
||||
relocation = 0;
|
||||
}
|
||||
|
7
gnu/dist/toolchain/bfd/elf32-m68k.c
vendored
7
gnu/dist/toolchain/bfd/elf32-m68k.c
vendored
@ -1479,14 +1479,17 @@ elf_m68k_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||
}
|
||||
else if (h->root.type == bfd_link_hash_undefweak)
|
||||
relocation = 0;
|
||||
else if (info->shared && !info->symbolic && !info->no_undefined)
|
||||
else if (info->shared && !info->symbolic
|
||||
&& !info->no_undefined
|
||||
&& ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
|
||||
relocation = 0;
|
||||
else
|
||||
{
|
||||
if (!(info->callbacks->undefined_symbol
|
||||
(info, h->root.root.string, input_bfd,
|
||||
input_section, rel->r_offset,
|
||||
(!info->shared || info->no_undefined))))
|
||||
(!info->shared || info->no_undefined
|
||||
|| ELF_ST_VISIBILITY (h->other)))))
|
||||
return false;
|
||||
relocation = 0;
|
||||
}
|
||||
|
3
gnu/dist/toolchain/bfd/elf32-mcore.c
vendored
3
gnu/dist/toolchain/bfd/elf32-mcore.c
vendored
@ -532,7 +532,8 @@ mcore_elf_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||
}
|
||||
else if (h->root.type == bfd_link_hash_undefweak)
|
||||
relocation = 0;
|
||||
else if (info->shared)
|
||||
else if (info->shared
|
||||
&& ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
|
||||
relocation = 0;
|
||||
else
|
||||
{
|
||||
|
6
gnu/dist/toolchain/bfd/elf32-mips.c
vendored
6
gnu/dist/toolchain/bfd/elf32-mips.c
vendored
@ -5930,7 +5930,8 @@ mips_elf_calculate_relocation (abfd,
|
||||
and check to see if they exist by looking at their
|
||||
addresses. */
|
||||
symbol = 0;
|
||||
else if (info->shared && !info->symbolic && !info->no_undefined)
|
||||
else if (info->shared && !info->symbolic && !info->no_undefined
|
||||
&& ELF_ST_VISIBILITY (h->root.other) == STV_DEFAULT)
|
||||
symbol = 0;
|
||||
else if (strcmp (h->root.root.root.string, "_DYNAMIC_LINK") == 0)
|
||||
{
|
||||
@ -5948,7 +5949,8 @@ mips_elf_calculate_relocation (abfd,
|
||||
if (! ((*info->callbacks->undefined_symbol)
|
||||
(info, h->root.root.root.string, input_bfd,
|
||||
input_section, relocation->r_offset,
|
||||
(!info->shared || info->no_undefined))))
|
||||
(!info->shared || info->no_undefined
|
||||
|| ELF_ST_VISIBILITY (h->root.other)))))
|
||||
return bfd_reloc_undefined;
|
||||
symbol = 0;
|
||||
}
|
||||
|
14
gnu/dist/toolchain/bfd/elf32-ppc.c
vendored
14
gnu/dist/toolchain/bfd/elf32-ppc.c
vendored
@ -2687,6 +2687,13 @@ ppc_elf_finish_dynamic_symbol (output_bfd, info, h, sym)
|
||||
/* Mark the symbol as undefined, rather than as defined in
|
||||
the .plt section. Leave the value alone. */
|
||||
sym->st_shndx = SHN_UNDEF;
|
||||
/* If the symbol is weak, we do need to clear the value.
|
||||
Otherwise, the PLT entry would provide a definition for
|
||||
the symbol even if the symbol wasn't defined anywhere,
|
||||
and so the symbol would never be NULL. */
|
||||
if ((h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR_NONWEAK)
|
||||
== 0)
|
||||
sym->st_value = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@ -3101,7 +3108,9 @@ ppc_elf_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||
}
|
||||
else if (h->root.type == bfd_link_hash_undefweak)
|
||||
relocation = 0;
|
||||
else if (info->shared && !info->symbolic && !info->no_undefined)
|
||||
else if (info->shared && !info->symbolic
|
||||
&& !info->no_undefined
|
||||
&& ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
|
||||
relocation = 0;
|
||||
else
|
||||
{
|
||||
@ -3111,7 +3120,8 @@ ppc_elf_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||
input_section,
|
||||
rel->r_offset,
|
||||
(!info->shared
|
||||
|| info->no_undefined)))
|
||||
|| info->no_undefined
|
||||
|| ELF_ST_VISIBILITY (h->other))))
|
||||
return false;
|
||||
relocation = 0;
|
||||
}
|
||||
|
7
gnu/dist/toolchain/bfd/elf32-sparc.c
vendored
7
gnu/dist/toolchain/bfd/elf32-sparc.c
vendored
@ -1213,14 +1213,17 @@ elf32_sparc_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||
}
|
||||
else if (h->root.type == bfd_link_hash_undefweak)
|
||||
relocation = 0;
|
||||
else if (info->shared && !info->symbolic && !info->no_undefined)
|
||||
else if (info->shared && !info->symbolic
|
||||
&& !info->no_undefined
|
||||
&& ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
|
||||
relocation = 0;
|
||||
else
|
||||
{
|
||||
if (! ((*info->callbacks->undefined_symbol)
|
||||
(info, h->root.root.string, input_bfd,
|
||||
input_section, rel->r_offset,
|
||||
(!info->shared || info->no_undefined))))
|
||||
(!info->shared || info->no_undefined
|
||||
|| ELF_ST_VISIBILITY (h->other)))))
|
||||
return false;
|
||||
relocation = 0;
|
||||
}
|
||||
|
7
gnu/dist/toolchain/bfd/elf64-sparc.c
vendored
7
gnu/dist/toolchain/bfd/elf64-sparc.c
vendored
@ -2049,14 +2049,17 @@ sparc64_elf_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||
}
|
||||
else if (h->root.type == bfd_link_hash_undefweak)
|
||||
relocation = 0;
|
||||
else if (info->shared && !info->symbolic && !info->no_undefined)
|
||||
else if (info->shared && !info->symbolic
|
||||
&& !info->no_undefined
|
||||
&& ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
|
||||
relocation = 0;
|
||||
else
|
||||
{
|
||||
if (! ((*info->callbacks->undefined_symbol)
|
||||
(info, h->root.root.string, input_bfd,
|
||||
input_section, rel->r_offset,
|
||||
(!info->shared || info->no_undefined))))
|
||||
(!info->shared || info->no_undefined
|
||||
|| ELF_ST_VISIBILITY (h->other)))))
|
||||
return false;
|
||||
relocation = 0;
|
||||
}
|
||||
|
17
gnu/dist/toolchain/bfd/elflink.c
vendored
17
gnu/dist/toolchain/bfd/elflink.c
vendored
@ -226,20 +226,13 @@ _bfd_elf_link_record_dynamic_symbol (info, h)
|
||||
{
|
||||
case STV_INTERNAL:
|
||||
case STV_HIDDEN:
|
||||
/* This symbol must be defined in the shared object or
|
||||
executable. */
|
||||
if (h->root.type == bfd_link_hash_undefined)
|
||||
if (h->root.type != bfd_link_hash_undefined
|
||||
&& h->root.type != bfd_link_hash_undefweak)
|
||||
{
|
||||
bfd * abfd = h->root.u.undef.abfd;
|
||||
const char * name = h->root.root.string;
|
||||
|
||||
(*info->callbacks->undefined_symbol)
|
||||
(info, name, abfd, bfd_und_section_ptr, 0, true);
|
||||
h->elf_link_hash_flags |= ELF_LINK_FORCED_LOCAL;
|
||||
return true;
|
||||
}
|
||||
|
||||
h->elf_link_hash_flags |= ELF_LINK_FORCED_LOCAL;
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
96
gnu/dist/toolchain/binutils/ChangeLog
vendored
96
gnu/dist/toolchain/binutils/ChangeLog
vendored
@ -1,3 +1,99 @@
|
||||
2000-11-01 Philip Blundell <philb@gnu.org>
|
||||
|
||||
From 2000-06-15 H.J. Lu <hjl@gnu.org>
|
||||
* dyn-string.c: Removed. Not needed with dyn-string.c in
|
||||
libiberty.
|
||||
* dyn-string.h: Likewise.
|
||||
* Makefile.am: Remove references to dyn-string.c and
|
||||
dyn-string.h. Rebuild dependency.
|
||||
* Makefile.in: Rebuild.
|
||||
|
||||
2000-10-16 Philip Blundell <pb@futuretv.com>
|
||||
|
||||
* configure.in: Set version number to 2.10.1.
|
||||
* configure: Regenerate.
|
||||
|
||||
2000-10-14 Philip Blundell <philb@gnu.org>
|
||||
|
||||
* config.sub, config.guess: Update from mainline sources.
|
||||
|
||||
From 2000-09-07 H.J. Lu <hjl@gnu.org>
|
||||
|
||||
* configure.in (AC_ISC_POSIX): Put after AC_CANONICAL_SYSTEM.
|
||||
* configure: Rebuild.
|
||||
|
||||
From 2000-08-17 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* readelf.c (display_debug_pubnames): Only issue warning
|
||||
message once. Terminate message with a new line.
|
||||
(display_debug_aranges): Only display version 2 debug info.
|
||||
|
||||
From 2000-07-19 H.J. Lu <hjl@gnu.org>
|
||||
|
||||
* readelf.c (get_dynamic_type): Change "AUXILARY" to
|
||||
"AUXILIARY".
|
||||
(process_dynamic_segment): Print out strings for DT_CONFIG,
|
||||
DT_DEPAUDIT, DT_AUDIT and DT_RUNPATH.
|
||||
|
||||
From 2000-07-19 H.J. Lu <hjl@gnu.org>
|
||||
|
||||
* readelf.c (process_dynamic_segment): Change DF_1_NODEPLIB
|
||||
to DF_1_NODEFLIB.
|
||||
|
||||
From 2000-07-19 H.J. Lu <hjl@gnu.org>
|
||||
|
||||
* readelf.c (get_dynamic_type): Fix DT_CHECKSUM.
|
||||
|
||||
From 2000-07-19 H.J. Lu <hjl@gnu.org>
|
||||
|
||||
* readelf.c (get_dynamic_type): Change DT_FEATURE_1 to
|
||||
DT_FEATURE.
|
||||
(process_dynamic_segment): Likewise.
|
||||
|
||||
* readelf.c (get_dynamic_type): Handle DT_CONFIG, DT_DEPAUDIT,
|
||||
DT_AUDIT, DT_PLTPAD, DT_MOVETAB and DT_CHECKSUM.
|
||||
(process_dynamic_segment): Handle DTF_1_CONFEXP, DF_1_NODEPLIB,
|
||||
DF_1_NODUMP and DF_1_CONLFAT.
|
||||
|
||||
From 2000-07-01 Alexander Aganichev <AAganichev@hypercom.com>
|
||||
|
||||
* stabs.c (parse_stab_type): Divide size in bits by 8 as binutils
|
||||
struct debug_type stores size in bytes.
|
||||
|
||||
From 2000-08-17 Christopher C. Chimelis <chris@debian.org>
|
||||
|
||||
* objdump.c (LONGEST_ARCH): Set to sizeof("powerpc:common").
|
||||
|
||||
From 2000-07-11 Mark Kettenis <kettenis@gnu.org>
|
||||
|
||||
* objdump.c (usage): Make output of `objdump --help' more
|
||||
consistent with the rest of the GNU world. Add a line describing
|
||||
the purpose of the program.
|
||||
|
||||
From 2000-06-24 Nick Clifton <nickc@cygnus.com>
|
||||
|
||||
* objdump.c (usage): Fix description of --stabs switch.
|
||||
|
||||
From 2000-07-18 Nick Clifton <nickc@cygnus.com>
|
||||
|
||||
* binutils.texi (readelf): Fix spelling typo.
|
||||
|
||||
From 2000-07-19 Mark Kettenis <kettenis@gnu.org>
|
||||
|
||||
* nm.c (usage): Change output of `nm --help' to include a
|
||||
description of the purpose of the program and a detailed
|
||||
description of the accepted options.
|
||||
|
||||
2000-09-05 Todd Vierling <tv@wasabisystems.com>
|
||||
|
||||
From 2000-08-14 Todd Vierling <tv@wasabisystems.com>
|
||||
* objcopy.c (strip_main): Silently accept -d as an alias for -g
|
||||
for compatability with old BSD systems.
|
||||
|
||||
2000-09-04 Todd Vierling <tv@wasabisystems.com>
|
||||
|
||||
* strip.1: Fix stray '\' in -o formatting.
|
||||
|
||||
2000-05-30 Alan Modra <alan@linuxcare.com.au>
|
||||
|
||||
* objdump.c (display_target_list): Use bfd_close_all_done, not
|
||||
|
14
gnu/dist/toolchain/binutils/Makefile.am
vendored
14
gnu/dist/toolchain/binutils/Makefile.am
vendored
@ -74,7 +74,7 @@ MKDEP = gcc -MM
|
||||
INCLUDES = -D_GNU_SOURCE -I. -I$(srcdir) -I../bfd -I$(BFDDIR) -I$(INCDIR) @HDEFINES@ -I$(srcdir)/../intl -I../intl -DLOCALEDIR="\"$(prefix)/share/locale\""
|
||||
|
||||
HFILES = arsup.h bucomm.h budbg.h coffgrok.h debug.h nlmconv.h dlltool.h \
|
||||
windres.h winduni.h dyn-string.h
|
||||
windres.h winduni.h
|
||||
|
||||
GENERATED_HFILES = arparse.h sysroff.h sysinfo.h defparse.h rcparse.h
|
||||
|
||||
@ -84,7 +84,7 @@ CFILES = addr2line.c ar.c arsup.c bucomm.c coffdump.c coffgrok.c debug.c \
|
||||
objcopy.c objdump.c prdbg.c rdcoff.c rddbg.c size.c srconv.c \
|
||||
stabs.c strings.c sysdump.c version.c wrstabs.c \
|
||||
windres.c resrc.c rescoff.c resbin.c winduni.c readelf.c \
|
||||
resres.c dyn-string.c dllwrap.c rename.c
|
||||
resres.c dllwrap.c rename.c
|
||||
|
||||
GENERATED_CFILES = \
|
||||
underscore.c arparse.c arlex.c sysroff.c sysinfo.c syslex.c \
|
||||
@ -242,7 +242,7 @@ sysinfo.h: sysinfo.c
|
||||
|
||||
srconv_SOURCES = srconv.c coffgrok.c $(BULIBS)
|
||||
|
||||
dlltool_SOURCES = dlltool.c defparse.y deflex.l dyn-string.c $(BULIBS)
|
||||
dlltool_SOURCES = dlltool.c defparse.y deflex.l $(BULIBS)
|
||||
dlltool_LDADD = $(BFDLIB) $(LIBIBERTY) @LEXLIB@ $(INTLLIBS)
|
||||
|
||||
dlltool.o:dlltool.c
|
||||
@ -267,7 +267,7 @@ windres_SOURCES = windres.c resrc.c rescoff.c resbin.c rcparse.y rclex.l \
|
||||
winduni.c resres.c $(BULIBS)
|
||||
windres_LDADD = $(BFDLIB) $(LIBIBERTY) @LEXLIB@ $(INTLLIBS)
|
||||
|
||||
dllwrap_SOURCES = dllwrap.c dyn-string.c version.c
|
||||
dllwrap_SOURCES = dllwrap.c version.c
|
||||
dllwrap_LDADD = $(LIBIBERTY) $(INTLLIBS)
|
||||
|
||||
|
||||
@ -391,7 +391,7 @@ debug.o: debug.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/libiberty.h debug.h
|
||||
dlltool.o: dlltool.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/libiberty.h bucomm.h config.h $(INCDIR)/bin-bugs.h \
|
||||
$(INCDIR)/fopen-same.h $(INCDIR)/demangle.h dyn-string.h \
|
||||
$(INCDIR)/fopen-same.h $(INCDIR)/demangle.h $(INCDIR)/dyn-string.h \
|
||||
dlltool.h
|
||||
filemode.o: filemode.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
bucomm.h config.h $(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h
|
||||
@ -484,11 +484,9 @@ readelf.o: readelf.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
resres.o: resres.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
bucomm.h config.h $(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h \
|
||||
$(INCDIR)/libiberty.h windres.h winduni.h
|
||||
dyn-string.o: dyn-string.c config.h $(INCDIR)/ansidecl.h \
|
||||
dyn-string.h
|
||||
dllwrap.o: dllwrap.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/libiberty.h bucomm.h config.h $(INCDIR)/bin-bugs.h \
|
||||
$(INCDIR)/fopen-same.h dyn-string.h
|
||||
$(INCDIR)/fopen-same.h $(INCDIR)/dyn-string.h
|
||||
rename.o: rename.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
bucomm.h config.h $(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h
|
||||
underscore.o: underscore.c
|
||||
|
69
gnu/dist/toolchain/binutils/Makefile.in
vendored
69
gnu/dist/toolchain/binutils/Makefile.in
vendored
@ -151,8 +151,7 @@ DLLWRAP_PROG = dllwrap
|
||||
|
||||
SRCONV_PROG = srconv$(EXEEXT) sysdump$(EXEEXT) coffdump$(EXEEXT)
|
||||
|
||||
man_MANS = ar.1 nm.1 objdump.1 ranlib.1 size.1 strings.1 strip.1 objcopy.1 \
|
||||
addr2line.1 nlmconv.1 $(DEMANGLER_NAME).1
|
||||
man_MANS = ar.1 nm.1 objdump.1 ranlib.1 size.1 strings.1 strip.1 objcopy.1 addr2line.1 nlmconv.1 $(DEMANGLER_NAME).1
|
||||
|
||||
|
||||
PROGS = $(SIZE_PROG) $(OBJDUMP_PROG) $(NM_PROG) $(AR_PROG) $(STRINGS_PROG) $(STRIP_PROG) $(RANLIB_PROG) $(DEMANGLER_PROG) $(OBJCOPY_PROG) @BUILD_NLMCONV@ @BUILD_SRCONV@ @BUILD_DLLTOOL@ @BUILD_WINDRES@ $(ADDR2LINE_PROG) $(READELF_PROG) @BUILD_DLLWRAP@ @BUILD_MISC@
|
||||
@ -174,24 +173,15 @@ MKDEP = gcc -MM
|
||||
|
||||
INCLUDES = -D_GNU_SOURCE -I. -I$(srcdir) -I../bfd -I$(BFDDIR) -I$(INCDIR) @HDEFINES@ -I$(srcdir)/../intl -I../intl -DLOCALEDIR="\"$(prefix)/share/locale\""
|
||||
|
||||
HFILES = arsup.h bucomm.h budbg.h coffgrok.h debug.h nlmconv.h dlltool.h \
|
||||
windres.h winduni.h dyn-string.h
|
||||
HFILES = arsup.h bucomm.h budbg.h coffgrok.h debug.h nlmconv.h dlltool.h windres.h winduni.h
|
||||
|
||||
|
||||
GENERATED_HFILES = arparse.h sysroff.h sysinfo.h defparse.h rcparse.h
|
||||
|
||||
CFILES = addr2line.c ar.c arsup.c bucomm.c coffdump.c coffgrok.c debug.c \
|
||||
dlltool.c filemode.c ieee.c is-ranlib.c is-strip.c maybe-ranlib.c \
|
||||
maybe-strip.c nlmconv.c nm.c not-ranlib.c not-strip.c \
|
||||
objcopy.c objdump.c prdbg.c rdcoff.c rddbg.c size.c srconv.c \
|
||||
stabs.c strings.c sysdump.c version.c wrstabs.c \
|
||||
windres.c resrc.c rescoff.c resbin.c winduni.c readelf.c \
|
||||
resres.c dyn-string.c dllwrap.c rename.c
|
||||
CFILES = addr2line.c ar.c arsup.c bucomm.c coffdump.c coffgrok.c debug.c dlltool.c filemode.c ieee.c is-ranlib.c is-strip.c maybe-ranlib.c maybe-strip.c nlmconv.c nm.c not-ranlib.c not-strip.c objcopy.c objdump.c prdbg.c rdcoff.c rddbg.c size.c srconv.c stabs.c strings.c sysdump.c version.c wrstabs.c windres.c resrc.c rescoff.c resbin.c winduni.c readelf.c resres.c dllwrap.c rename.c
|
||||
|
||||
|
||||
GENERATED_CFILES = \
|
||||
underscore.c arparse.c arlex.c sysroff.c sysinfo.c syslex.c \
|
||||
defparse.c deflex.c nlmheader.c rcparse.c rclex.c
|
||||
GENERATED_CFILES = underscore.c arparse.c arlex.c sysroff.c sysinfo.c syslex.c defparse.c deflex.c nlmheader.c rcparse.c rclex.c
|
||||
|
||||
|
||||
DEBUG_SRCS = rddbg.c debug.c stabs.c ieee.c rdcoff.c
|
||||
@ -208,29 +198,12 @@ LIBIBERTY = ../libiberty/libiberty.a
|
||||
|
||||
POTFILES = $(CFILES) $(DEBUG_SRCS) $(HFILES)
|
||||
|
||||
EXPECT = `if [ -f $$r/../expect/expect ] ; then \
|
||||
echo $$r/../expect/expect ; \
|
||||
else echo expect ; fi`
|
||||
EXPECT = `if [ -f $$r/../expect/expect ] ; then echo $$r/../expect/expect ; else echo expect ; fi`
|
||||
|
||||
RUNTEST = `if [ -f ${srcdir}/../dejagnu/runtest ] ; then \
|
||||
echo ${srcdir}/../dejagnu/runtest ; \
|
||||
else echo runtest ; fi`
|
||||
RUNTEST = `if [ -f ${srcdir}/../dejagnu/runtest ] ; then echo ${srcdir}/../dejagnu/runtest ; else echo runtest ; fi`
|
||||
|
||||
|
||||
CC_FOR_TARGET = ` \
|
||||
if [ -f $$r/../gcc/xgcc ] ; then \
|
||||
if [ -f $$r/../newlib/Makefile ] ; then \
|
||||
echo $$r/../gcc/xgcc -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; \
|
||||
else \
|
||||
echo $$r/../gcc/xgcc -B$$r/../gcc/; \
|
||||
fi; \
|
||||
else \
|
||||
if [ "@host@" = "@target@" ] ; then \
|
||||
echo $(CC); \
|
||||
else \
|
||||
echo gcc | sed '$(transform)'; \
|
||||
fi; \
|
||||
fi`
|
||||
CC_FOR_TARGET = ` if [ -f $$r/../gcc/xgcc ] ; then if [ -f $$r/../newlib/Makefile ] ; then echo $$r/../gcc/xgcc -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; else echo $$r/../gcc/xgcc -B$$r/../gcc/; fi; else if [ "@host@" = "@target@" ] ; then echo $(CC); else echo gcc | sed '$(transform)'; fi; fi`
|
||||
|
||||
|
||||
info_TEXINFOS = binutils.texi
|
||||
@ -266,7 +239,7 @@ addr2line_SOURCES = addr2line.c $(BULIBS)
|
||||
|
||||
srconv_SOURCES = srconv.c coffgrok.c $(BULIBS)
|
||||
|
||||
dlltool_SOURCES = dlltool.c defparse.y deflex.l dyn-string.c $(BULIBS)
|
||||
dlltool_SOURCES = dlltool.c defparse.y deflex.l $(BULIBS)
|
||||
dlltool_LDADD = $(BFDLIB) $(LIBIBERTY) @LEXLIB@ $(INTLLIBS)
|
||||
|
||||
coffdump_SOURCES = coffdump.c coffgrok.c $(BULIBS)
|
||||
@ -275,26 +248,22 @@ sysdump_SOURCES = sysdump.c $(BULIBS)
|
||||
|
||||
nlmconv_SOURCES = nlmconv.c nlmheader.y $(BULIBS)
|
||||
|
||||
windres_SOURCES = windres.c resrc.c rescoff.c resbin.c rcparse.y rclex.l \
|
||||
winduni.c resres.c $(BULIBS)
|
||||
windres_SOURCES = windres.c resrc.c rescoff.c resbin.c rcparse.y rclex.l winduni.c resres.c $(BULIBS)
|
||||
|
||||
windres_LDADD = $(BFDLIB) $(LIBIBERTY) @LEXLIB@ $(INTLLIBS)
|
||||
|
||||
dllwrap_SOURCES = dllwrap.c dyn-string.c version.c
|
||||
dllwrap_SOURCES = dllwrap.c version.c
|
||||
dllwrap_LDADD = $(LIBIBERTY) $(INTLLIBS)
|
||||
|
||||
DISTSTUFF = arparse.c arparse.h arlex.c nlmheader.c sysinfo.c sysinfo.h \
|
||||
syslex.c deflex.c defparse.h defparse.c rclex.c rcparse.h rcparse.c
|
||||
DISTSTUFF = arparse.c arparse.h arlex.c nlmheader.c sysinfo.c sysinfo.h syslex.c deflex.c defparse.h defparse.c rclex.c rcparse.h rcparse.c
|
||||
|
||||
|
||||
DISTCLEANFILES = stamp-under sysinfo underscore.c sysroff.c sysroff.h \
|
||||
site.exp site.bak
|
||||
DISTCLEANFILES = stamp-under sysinfo underscore.c sysroff.c sysroff.h site.exp site.bak
|
||||
|
||||
|
||||
MAINTAINERCLEANFILES = config.texi
|
||||
|
||||
MOSTLYCLEANFILES = sysinfo $(DEMANGLER_NAME).1 binutils.log binutils.sum \
|
||||
abcdefgh*
|
||||
MOSTLYCLEANFILES = sysinfo $(DEMANGLER_NAME).1 binutils.log binutils.sum abcdefgh*
|
||||
|
||||
|
||||
CLEANFILES = dep.sed DEP DEP1 DEP2
|
||||
@ -330,15 +299,15 @@ coffdump_OBJECTS = coffdump.o coffgrok.o bucomm.o version.o filemode.o
|
||||
coffdump_LDADD = $(LDADD)
|
||||
coffdump_DEPENDENCIES = ../bfd/libbfd.la ../libiberty/libiberty.a
|
||||
coffdump_LDFLAGS =
|
||||
dlltool_OBJECTS = dlltool.o defparse.o deflex.o dyn-string.o bucomm.o \
|
||||
version.o filemode.o
|
||||
dlltool_OBJECTS = dlltool.o defparse.o deflex.o bucomm.o version.o \
|
||||
filemode.o
|
||||
dlltool_DEPENDENCIES = ../bfd/libbfd.la ../libiberty/libiberty.a
|
||||
dlltool_LDFLAGS =
|
||||
windres_OBJECTS = windres.o resrc.o rescoff.o resbin.o rcparse.o \
|
||||
rclex.o winduni.o resres.o bucomm.o version.o filemode.o
|
||||
windres_DEPENDENCIES = ../bfd/libbfd.la ../libiberty/libiberty.a
|
||||
windres_LDFLAGS =
|
||||
dllwrap_OBJECTS = dllwrap.o dyn-string.o version.o
|
||||
dllwrap_OBJECTS = dllwrap.o version.o
|
||||
dllwrap_DEPENDENCIES = ../libiberty/libiberty.a
|
||||
dllwrap_LDFLAGS =
|
||||
size_OBJECTS = size.o bucomm.o version.o filemode.o
|
||||
@ -1247,7 +1216,7 @@ debug.o: debug.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/libiberty.h debug.h
|
||||
dlltool.o: dlltool.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/libiberty.h bucomm.h config.h $(INCDIR)/bin-bugs.h \
|
||||
$(INCDIR)/fopen-same.h $(INCDIR)/demangle.h dyn-string.h \
|
||||
$(INCDIR)/fopen-same.h $(INCDIR)/demangle.h $(INCDIR)/dyn-string.h \
|
||||
dlltool.h
|
||||
filemode.o: filemode.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
bucomm.h config.h $(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h
|
||||
@ -1340,11 +1309,9 @@ readelf.o: readelf.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
resres.o: resres.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
bucomm.h config.h $(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h \
|
||||
$(INCDIR)/libiberty.h windres.h winduni.h
|
||||
dyn-string.o: dyn-string.c config.h $(INCDIR)/ansidecl.h \
|
||||
dyn-string.h
|
||||
dllwrap.o: dllwrap.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/libiberty.h bucomm.h config.h $(INCDIR)/bin-bugs.h \
|
||||
$(INCDIR)/fopen-same.h dyn-string.h
|
||||
$(INCDIR)/fopen-same.h $(INCDIR)/dyn-string.h
|
||||
rename.o: rename.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
bucomm.h config.h $(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h
|
||||
underscore.o: underscore.c
|
||||
|
54
gnu/dist/toolchain/binutils/binutils.info
vendored
54
gnu/dist/toolchain/binutils/binutils.info
vendored
@ -39,36 +39,36 @@ versions.
|
||||
|
||||
Indirect:
|
||||
binutils.info-1: 1845
|
||||
binutils.info-2: 49760
|
||||
binutils.info-3: 96951
|
||||
binutils.info-2: 49762
|
||||
binutils.info-3: 96952
|
||||
|
||||
Tag Table:
|
||||
(Indirect)
|
||||
Node: Top1845
|
||||
Node: ar3094
|
||||
Node: ar cmdline5268
|
||||
Node: ar scripts13107
|
||||
Node: nm18786
|
||||
Node: objcopy25756
|
||||
Node: objdump38583
|
||||
Node: ranlib49011
|
||||
Node: size49760
|
||||
Node: strings52491
|
||||
Node: strip54316
|
||||
Node: c++filt57281
|
||||
Ref: c++filt-Footnote-160138
|
||||
Node: addr2line60244
|
||||
Node: nlmconv62650
|
||||
Node: windres65254
|
||||
Node: dlltool70306
|
||||
Node: readelf79647
|
||||
Node: Selecting The Target System82798
|
||||
Node: Target Selection83815
|
||||
Node: Architecture Selection86516
|
||||
Node: Linker Emulation Selection87747
|
||||
Node: Reporting Bugs88625
|
||||
Node: Bug Criteria89376
|
||||
Node: Bug Reporting89922
|
||||
Node: Index96951
|
||||
Node: ar3096
|
||||
Node: ar cmdline5270
|
||||
Node: ar scripts13109
|
||||
Node: nm18788
|
||||
Node: objcopy25758
|
||||
Node: objdump38585
|
||||
Node: ranlib49013
|
||||
Node: size49762
|
||||
Node: strings52493
|
||||
Node: strip54318
|
||||
Node: c++filt57283
|
||||
Ref: c++filt-Footnote-160140
|
||||
Node: addr2line60246
|
||||
Node: nlmconv62652
|
||||
Node: windres65256
|
||||
Node: dlltool70308
|
||||
Node: readelf79649
|
||||
Node: Selecting The Target System82799
|
||||
Node: Target Selection83816
|
||||
Node: Architecture Selection86517
|
||||
Node: Linker Emulation Selection87748
|
||||
Node: Reporting Bugs88626
|
||||
Node: Bug Criteria89377
|
||||
Node: Bug Reporting89923
|
||||
Node: Index96952
|
||||
|
||||
End Tag Table
|
||||
|
2
gnu/dist/toolchain/binutils/binutils.info-1
vendored
2
gnu/dist/toolchain/binutils/binutils.info-1
vendored
@ -43,7 +43,7 @@ Introduction
|
||||
************
|
||||
|
||||
This brief manual contains preliminary documentation for the GNU
|
||||
binary utilities (collectively version 2.10):
|
||||
binary utilities (collectively version 2.10.1):
|
||||
|
||||
* Menu:
|
||||
|
||||
|
4
gnu/dist/toolchain/binutils/binutils.info-2
vendored
4
gnu/dist/toolchain/binutils/binutils.info-2
vendored
@ -968,8 +968,8 @@ equivalent. At least one option besides `-v' or `-H' must be given.
|
||||
`-D'
|
||||
`--use-dynamic'
|
||||
When displaying symbols, this option makes `readelf' use the
|
||||
symblol table in the file's dynamic section, rather than the one
|
||||
in the symbols section.
|
||||
symbol table in the file's dynamic section, rather than the one in
|
||||
the symbols section.
|
||||
|
||||
`-x <number>'
|
||||
`--hex-dump=<number>'
|
||||
|
2
gnu/dist/toolchain/binutils/binutils.texi
vendored
2
gnu/dist/toolchain/binutils/binutils.texi
vendored
@ -2530,7 +2530,7 @@ exist.
|
||||
@item -D
|
||||
@itemx --use-dynamic
|
||||
When displaying symbols, this option makes @code{readelf} use the
|
||||
symblol table in the file's dynamic section, rather than the one in the
|
||||
symbol table in the file's dynamic section, rather than the one in the
|
||||
symbols section.
|
||||
|
||||
@item -x <number>
|
||||
|
2
gnu/dist/toolchain/binutils/config.texi
vendored
2
gnu/dist/toolchain/binutils/config.texi
vendored
@ -1 +1 @@
|
||||
@set VERSION 2.10
|
||||
@set VERSION 2.10.1
|
||||
|
926
gnu/dist/toolchain/binutils/configure
vendored
926
gnu/dist/toolchain/binutils/configure
vendored
File diff suppressed because it is too large
Load Diff
3
gnu/dist/toolchain/binutils/configure.in
vendored
3
gnu/dist/toolchain/binutils/configure.in
vendored
@ -4,8 +4,9 @@ AC_PREREQ(2.13)
|
||||
AC_INIT(ar.c)
|
||||
|
||||
AC_CANONICAL_SYSTEM
|
||||
AC_ISC_POSIX
|
||||
|
||||
AM_INIT_AUTOMAKE(binutils, 2.10)
|
||||
AM_INIT_AUTOMAKE(binutils, 2.10.1)
|
||||
|
||||
AM_PROG_LIBTOOL
|
||||
|
||||
|
41
gnu/dist/toolchain/binutils/nm.c
vendored
41
gnu/dist/toolchain/binutils/nm.c
vendored
@ -291,19 +291,38 @@ usage (stream, status)
|
||||
FILE *stream;
|
||||
int status;
|
||||
{
|
||||
fprintf (stream, _("\
|
||||
Usage: %s [-aABCDglnopPrsuvV] [-t radix] [--radix=radix] [--target=bfdname]\n\
|
||||
[--debug-syms] [--extern-only] [--print-armap] [--print-file-name]\n\
|
||||
[--numeric-sort] [--no-sort] [--reverse-sort] [--size-sort]\n\
|
||||
[--undefined-only] [--portability] [-f {bsd,sysv,posix}]\n\
|
||||
[--format={bsd,sysv,posix}] [--demangle] [--no-demangle] [--dynamic]\n\
|
||||
[--defined-only] [--line-numbers]\n\
|
||||
[--version] [--help]\n\
|
||||
[file...]\n"),
|
||||
program_name);
|
||||
fprintf (stream, _("Usage: %s [OPTION]... [FILE]...\n"), program_name);
|
||||
fprintf (stream, _("List symbols from FILEs (a.out by default).\n"));
|
||||
fprintf (stream, _("\n\
|
||||
-a, --debug-syms Display debugger-only symbols\n\
|
||||
-A, --print-file-name Print name of the input file before every symbol\n\
|
||||
-B Same as --format=bsd\n\
|
||||
-C, --demangle Decode low-level symbol names into user-level names\n\
|
||||
--no-demangle Do not demangle low-level symbol names\n\
|
||||
-D, --dynamic Display dynamic symbols instead of normal symbols\n\
|
||||
--defined-only Display only defined symbols\n\
|
||||
-e (ignored)\n\
|
||||
-f, --format=FORMAT Use the output format FORMAT. FORMAT can be `bsd',\n\
|
||||
`sysv' or `posix'. The default is `bsd'\n\
|
||||
-g, --extern-only Display only external symbols\n\
|
||||
-h, --help Display this information\n\
|
||||
-l, --line-numbers Use debugging information to find a filename and\n\
|
||||
line number for each symbol\n\
|
||||
-n, --numeric-sort Sort symbols numerically by address\n\
|
||||
-o Same as -A\n\
|
||||
-p, --no-sort Do not sort the symbols\n\
|
||||
-P, --portability Same as --format=posix\n\
|
||||
-r, --reverse-sort Reverse the sense of the sort\n\
|
||||
-s, --print-armap Include index for symbols from archive members\n\
|
||||
--size-sort Sort symbols by size\n\
|
||||
-t, --radix=RADIX Use RADIX for printing symbol values\n\
|
||||
--target=BFDNAME Specify the target object format as BFDNAME\n\
|
||||
-u, --undefined-only Display only undefined symbols\n\
|
||||
-V, --version Display this program's version number\n\
|
||||
\n"));
|
||||
list_supported_targets (program_name, stream);
|
||||
if (status == 0)
|
||||
fprintf (stream, _("Report bugs to %s\n"), REPORT_BUGS_TO);
|
||||
fprintf (stream, _("Report bugs to %s.\n"), REPORT_BUGS_TO);
|
||||
exit (status);
|
||||
}
|
||||
|
||||
|
81
gnu/dist/toolchain/binutils/readelf.c
vendored
81
gnu/dist/toolchain/binutils/readelf.c
vendored
@ -1063,15 +1063,21 @@ get_dynamic_type (type)
|
||||
case DT_PREINIT_ARRAY: return "PREINIT_ARRAY";
|
||||
case DT_PREINIT_ARRAYSZ: return "PREINIT_ARRAYSZ";
|
||||
|
||||
case DT_CHECKSUM: return "CHECKSUM";
|
||||
case DT_PLTPADSZ: return "PLTPADSZ";
|
||||
case DT_MOVEENT: return "MOVEENT";
|
||||
case DT_MOVESZ: return "MOVESZ";
|
||||
case DT_FEATURE_1: return "FEATURE_1";
|
||||
case DT_FEATURE: return "FEATURE";
|
||||
case DT_POSFLAG_1: return "POSFLAG_1";
|
||||
case DT_SYMINSZ: return "SYMINSZ";
|
||||
case DT_SYMINENT: return "SYMINENT"; /* aka VALRNGHI */
|
||||
|
||||
case DT_ADDRRNGLO: return "ADDRRNGLO";
|
||||
case DT_CONFIG: return "CONFIG";
|
||||
case DT_DEPAUDIT: return "DEPAUDIT";
|
||||
case DT_AUDIT: return "AUDIT";
|
||||
case DT_PLTPAD: return "PLTPAD";
|
||||
case DT_MOVETAB: return "MOVETAB";
|
||||
case DT_SYMINFO: return "SYMINFO"; /* aka ADDRRNGHI */
|
||||
|
||||
case DT_VERSYM: return "VERSYM";
|
||||
@ -1084,7 +1090,7 @@ get_dynamic_type (type)
|
||||
case DT_VERNEED: return "VERNEED";
|
||||
case DT_VERNEEDNUM: return "VERNEEDNUM";
|
||||
|
||||
case DT_AUXILIARY: return "AUXILARY";
|
||||
case DT_AUXILIARY: return "AUXILIARY";
|
||||
case DT_USED: return "USED";
|
||||
case DT_FILTER: return "FILTER";
|
||||
|
||||
@ -3202,12 +3208,33 @@ process_dynamic_segment (file)
|
||||
|
||||
case DT_AUXILIARY:
|
||||
case DT_FILTER:
|
||||
case DT_CONFIG:
|
||||
case DT_DEPAUDIT:
|
||||
case DT_AUDIT:
|
||||
if (do_dynamic)
|
||||
{
|
||||
if (entry->d_tag == DT_AUXILIARY)
|
||||
printf (_("Auxiliary library"));
|
||||
else
|
||||
printf (_("Filter library"));
|
||||
switch (entry->d_tag)
|
||||
{
|
||||
case DT_AUXILIARY:
|
||||
printf (_("Auxiliary library"));
|
||||
break;
|
||||
|
||||
case DT_FILTER:
|
||||
printf (_("Filter library"));
|
||||
break;
|
||||
|
||||
case DT_CONFIG:
|
||||
printf (_("Configuration file"));
|
||||
break;
|
||||
|
||||
case DT_DEPAUDIT:
|
||||
printf (_("Dependency audit library"));
|
||||
break;
|
||||
|
||||
case DT_AUDIT:
|
||||
printf (_("Audit library"));
|
||||
break;
|
||||
}
|
||||
|
||||
if (dynamic_strings)
|
||||
printf (": [%s]\n", dynamic_strings + entry->d_un.d_val);
|
||||
@ -3220,7 +3247,7 @@ process_dynamic_segment (file)
|
||||
}
|
||||
break;
|
||||
|
||||
case DT_FEATURE_1:
|
||||
case DT_FEATURE:
|
||||
if (do_dynamic)
|
||||
{
|
||||
printf (_("Flags:"));
|
||||
@ -3234,6 +3261,11 @@ process_dynamic_segment (file)
|
||||
printf (" PARINIT");
|
||||
val ^= DTF_1_PARINIT;
|
||||
}
|
||||
if (val & DTF_1_CONFEXP)
|
||||
{
|
||||
printf (" CONFEXP");
|
||||
val ^= DTF_1_CONFEXP;
|
||||
}
|
||||
if (val != 0)
|
||||
printf (" %lx", val);
|
||||
puts ("");
|
||||
@ -3331,6 +3363,21 @@ process_dynamic_segment (file)
|
||||
printf (" INTERPOSE");
|
||||
val ^= DF_1_INTERPOSE;
|
||||
}
|
||||
if (val & DF_1_NODEFLIB)
|
||||
{
|
||||
printf (" NODEFLIB");
|
||||
val ^= DF_1_NODEFLIB;
|
||||
}
|
||||
if (val & DF_1_NODUMP)
|
||||
{
|
||||
printf (" NODUMP");
|
||||
val ^= DF_1_NODUMP;
|
||||
}
|
||||
if (val & DF_1_CONLFAT)
|
||||
{
|
||||
printf (" CONLFAT");
|
||||
val ^= DF_1_CONLFAT;
|
||||
}
|
||||
if (val != 0)
|
||||
printf (" %lx", val);
|
||||
puts ("");
|
||||
@ -3359,6 +3406,7 @@ process_dynamic_segment (file)
|
||||
case DT_DEBUG :
|
||||
case DT_TEXTREL :
|
||||
case DT_JMPREL :
|
||||
case DT_RUNPATH :
|
||||
dynamic_info[entry->d_tag] = entry->d_un.d_val;
|
||||
|
||||
if (do_dynamic)
|
||||
@ -3389,6 +3437,10 @@ process_dynamic_segment (file)
|
||||
printf (_("Library rpath: [%s]"), name);
|
||||
break;
|
||||
|
||||
case DT_RUNPATH:
|
||||
printf (_("Library runpath: [%s]"), name);
|
||||
break;
|
||||
|
||||
default:
|
||||
print_vma (entry->d_un.d_val, PREFIX_HEX);
|
||||
break;
|
||||
@ -5039,7 +5091,14 @@ display_debug_pubnames (section, start, file)
|
||||
|
||||
if (pubnames.pn_version != 2)
|
||||
{
|
||||
warn (_("Only DWARF 2 pubnames are currently supported"));
|
||||
static int warned = 0;
|
||||
|
||||
if (! warned)
|
||||
{
|
||||
warn (_("Only DWARF 2 pubnames are currently supported\n"));
|
||||
warned = 1;
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -6357,6 +6416,12 @@ display_debug_aranges (section, start, file)
|
||||
arange.ar_pointer_size = BYTE_GET (external->ar_pointer_size);
|
||||
arange.ar_segment_size = BYTE_GET (external->ar_segment_size);
|
||||
|
||||
if (arange.ar_version != 2)
|
||||
{
|
||||
warn (_("Only DWARF 2 aranges are currently supported.\n"));
|
||||
break;
|
||||
}
|
||||
|
||||
printf (_(" Length: %ld\n"), arange.ar_length);
|
||||
printf (_(" Version: %d\n"), arange.ar_version);
|
||||
printf (_(" Offset into .debug_info: %lx\n"), arange.ar_info_offset);
|
||||
|
1
gnu/dist/toolchain/binutils/stabs.c
vendored
1
gnu/dist/toolchain/binutils/stabs.c
vendored
@ -1261,6 +1261,7 @@ parse_stab_type (dhandle, info, typename, pp, slotp)
|
||||
{
|
||||
case 's':
|
||||
size = atoi (attr + 1);
|
||||
size /= 8; /* Size is in bits. We store it in bytes. */
|
||||
if (size <= 0)
|
||||
size = -1;
|
||||
break;
|
||||
|
93
gnu/dist/toolchain/config-ml.in
vendored
93
gnu/dist/toolchain/config-ml.in
vendored
@ -72,14 +72,16 @@
|
||||
# We have to handle being invoked by both Cygnus configure and Autoconf.
|
||||
#
|
||||
# Cygnus configure incoming variables:
|
||||
# srcdir, subdir, target, arguments
|
||||
# srcdir, subdir, host, arguments
|
||||
#
|
||||
# Autoconf incoming variables:
|
||||
# srcdir, target, ac_configure_args
|
||||
# srcdir, host, ac_configure_args
|
||||
#
|
||||
# We *could* figure srcdir and target out, but we'd have to do work that
|
||||
# We *could* figure srcdir and host out, but we'd have to do work that
|
||||
# our caller has already done to figure them out and requiring these two
|
||||
# seems reasonable.
|
||||
# Note that `host' in this case is GCC's `target'. Target libraries are
|
||||
# configured for a particular host.
|
||||
|
||||
if [ -n "${ac_configure_args}" ]; then
|
||||
Makefile=${ac_file-Makefile}
|
||||
@ -204,7 +206,10 @@ for i in `${CC-gcc} --print-multi-lib 2>/dev/null`; do
|
||||
fi
|
||||
done
|
||||
|
||||
case "${target}" in
|
||||
# Target libraries are configured for the host they run on, so we check
|
||||
# $host here, not $target.
|
||||
|
||||
case "${host}" in
|
||||
arc-*-elf*)
|
||||
if [ x$enable_biendian != xyes ]
|
||||
then
|
||||
@ -218,6 +223,64 @@ arc-*-elf*)
|
||||
done
|
||||
fi
|
||||
;;
|
||||
arm-*-*)
|
||||
if [ x"$enable_fpu" = xno ]
|
||||
then
|
||||
old_multidirs=${multidirs}
|
||||
multidirs=""
|
||||
for x in ${old_multidirs}; do
|
||||
case "${x}" in
|
||||
*fpu*) : ;;
|
||||
*) multidirs="${multidirs} ${x}" ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
if [ x"$enable_26bit" = xno ]
|
||||
then
|
||||
old_multidirs=${multidirs}
|
||||
multidirs=""
|
||||
for x in ${old_multidirs}; do
|
||||
case "${x}" in
|
||||
*26bit*) : ;;
|
||||
*) multidirs="${multidirs} ${x}" ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
if [ x"$enable_underscore" = xno ]
|
||||
then
|
||||
old_multidirs=${multidirs}
|
||||
multidirs=""
|
||||
for x in ${old_multidirs}; do
|
||||
case "${x}" in
|
||||
*under*) : ;;
|
||||
*) multidirs="${multidirs} ${x}" ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
if [ x"$enable_interwork" = xno ]
|
||||
then
|
||||
old_multidirs=${multidirs}
|
||||
multidirs=""
|
||||
for x in ${old_multidirs}; do
|
||||
case "${x}" in
|
||||
*interwork*) : ;;
|
||||
*) multidirs="${multidirs} ${x}" ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
if [ x$enable_biendian = xno ]
|
||||
then
|
||||
old_multidirs="${multidirs}"
|
||||
multidirs=""
|
||||
for x in ${old_multidirs}; do
|
||||
case "$x" in
|
||||
*le* ) : ;;
|
||||
*be* ) : ;;
|
||||
*) multidirs="${multidirs} ${x}" ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
;;
|
||||
m68*-*-*)
|
||||
if [ x$enable_softfloat = xno ]
|
||||
then
|
||||
@ -299,28 +362,6 @@ mips*-*-*)
|
||||
esac
|
||||
done
|
||||
fi
|
||||
case " $multidirs " in
|
||||
*" mabi=64 "*)
|
||||
# We will not be able to create libraries with -mabi=64 if
|
||||
# we cannot even link a trivial program. It usually
|
||||
# indicates the 64bit libraries are missing.
|
||||
if echo 'main() {}' > conftest.c &&
|
||||
${CC-gcc} -mabi=64 conftest.c -o conftest; then
|
||||
:
|
||||
else
|
||||
echo Could not link program with -mabi=64, disabling it.
|
||||
old_multidirs="${multidirs}"
|
||||
multidirs=""
|
||||
for x in ${old_multidirs}; do
|
||||
case "$x" in
|
||||
*mabi=64* ) : ;;
|
||||
*) multidirs="${multidirs} ${x}" ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
rm -f conftest.c conftest
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
powerpc*-*-* | rs6000*-*-*)
|
||||
if [ x$enable_softfloat = xno ]
|
||||
|
40
gnu/dist/toolchain/config/ChangeLog
vendored
40
gnu/dist/toolchain/config/ChangeLog
vendored
@ -1,18 +1,28 @@
|
||||
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
|
||||
2000-02-23 Linas Vepstas <linas@linas.org>
|
||||
|
||||
* gcc-2.95.2 Released.
|
||||
* mh-i370pic: New file.
|
||||
* mt-i370pic: New file.
|
||||
|
||||
Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
|
||||
2000-02-22 Nick Clifton <nickc@cygnus.com>
|
||||
|
||||
* gcc-2.95.1 Released.
|
||||
* config/mt-wince: new file: Makefile fragment for WinCE targets.
|
||||
|
||||
Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
|
||||
2000-01-06 Geoff Keating <geoffk@cygnus.com>
|
||||
|
||||
* gcc-2.95 Released.
|
||||
* mh-aix43: Delete, move to mt-aix43.
|
||||
* mt-aix43: New file.
|
||||
|
||||
Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
|
||||
1999-04-07 Michael Meissner <meissner@cygnus.com>
|
||||
|
||||
* gcc-2.95 Released.
|
||||
* mt-d30v: New file, pass -g -Os -Wa,-C as default options.
|
||||
|
||||
1999-02-08 Syd Polk <spolk@cygnus.com>
|
||||
|
||||
* acinclude.m4: Added macros to find itcl files.
|
||||
Export TCL_CFLAGS from tclConfig.sh.
|
||||
Export TCL_LIB_FULL_PATH, TK_LIB_FULL_PATH, ITCL_LIB_FULL_PATH,
|
||||
ITK_LIB_FULL_PATH, and TIX_LIB_FULL_PATH
|
||||
Replace TIX macros with better ones from snavigator.
|
||||
|
||||
Tue Feb 2 22:51:21 1999 Philip Blundell <philb@gnu.org>
|
||||
|
||||
@ -35,6 +45,16 @@ Mon Nov 2 15:15:33 1998 Geoffrey Noer <noer@cygnus.com>
|
||||
* mh-cygwin32: delete
|
||||
* mh-cygwin: was mh-cygwin32
|
||||
|
||||
1998-10-26 Syd Polk <spolk@cygnus.com>
|
||||
|
||||
* acinclude.m4: TCLHDIR and TKHDIR need to be run through
|
||||
cygpath for Microsoft builds.
|
||||
|
||||
1998-10-20 Syd Polk <spolk@cygnus.com>
|
||||
|
||||
* acinclude.m4: Re-exported TCL_LIBS and TCL_LD_SEARCH_FLAGS
|
||||
because itcl needs them.
|
||||
|
||||
Mon Aug 31 17:50:53 1998 David Edelsohn <edelsohn@mhpcc.edu>
|
||||
|
||||
* mh-aix43 (NM_FOR_TARGET): Add -X32_64 as well.
|
||||
@ -47,6 +67,10 @@ Mon Aug 10 00:15:47 1998 HJ Lu (hjl@gnu.org)
|
||||
|
||||
* mt-linux (CXXFLAGS_FOR_TARGET): Add -D_GNU_SOURCE.
|
||||
|
||||
1998-05-29 Rob Savoye <rob@chinadoll.cygnus.com>
|
||||
|
||||
* acinclude.m4: New collection of generic autoconf macros.
|
||||
|
||||
Wed Apr 22 12:24:28 1998 Michael Meissner <meissner@cygnus.com>
|
||||
|
||||
* mt-ospace: New file, support using -Os instead of -O2 to compile
|
||||
|
1994
gnu/dist/toolchain/config/acinclude.m4
vendored
Executable file
1994
gnu/dist/toolchain/config/acinclude.m4
vendored
Executable file
File diff suppressed because it is too large
Load Diff
1
gnu/dist/toolchain/config/mh-i370pic
vendored
Normal file
1
gnu/dist/toolchain/config/mh-i370pic
vendored
Normal file
@ -0,0 +1 @@
|
||||
PICFLAG=-fPIC
|
16
gnu/dist/toolchain/config/mpw/ChangeLog
vendored
16
gnu/dist/toolchain/config/mpw/ChangeLog
vendored
@ -1,19 +1,3 @@
|
||||
Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com)
|
||||
|
||||
* gcc-2.95.2 Released.
|
||||
|
||||
Mon Aug 16 01:29:24 PDT 1999 Jeff Law (law@cygnus.com)
|
||||
|
||||
* gcc-2.95.1 Released.
|
||||
|
||||
Wed Jul 28 21:39:31 PDT 1999 Jeff Law (law@cygnus.com)
|
||||
|
||||
* gcc-2.95 Released.
|
||||
|
||||
Sun Jul 25 23:40:51 PDT 1999 Jeff Law (law@cygnus.com)
|
||||
|
||||
* gcc-2.95 Released.
|
||||
|
||||
Tue Nov 26 12:34:12 1996 Stan Shebs <shebs@andros.cygnus.com>
|
||||
|
||||
* g-mpw-make.sed: Fix some comments.
|
||||
|
4
gnu/dist/toolchain/config/mt-aix43
vendored
Normal file
4
gnu/dist/toolchain/config/mt-aix43
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
# AIX 4.3 and above requires -X32_64 flag to all ar and nm commands
|
||||
# to handle both 32-bit and 64-bit objects.
|
||||
AR_FOR_TARGET=ar -X32_64
|
||||
NM_FOR_TARGET=nm -X32_64
|
4
gnu/dist/toolchain/config/mt-d30v
vendored
Normal file
4
gnu/dist/toolchain/config/mt-d30v
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
# Build libraries optimizing for space, not speed.
|
||||
# Turn off warnings about symbols named the same as registers
|
||||
CFLAGS_FOR_TARGET = -g -Os -Wa,-C
|
||||
CXXFLAGS_FOR_TARGET = -g -Os -Wa,-C
|
1
gnu/dist/toolchain/config/mt-i370pic
vendored
Normal file
1
gnu/dist/toolchain/config/mt-i370pic
vendored
Normal file
@ -0,0 +1 @@
|
||||
PICFLAG_FOR_TARGET=-fPIC
|
10
gnu/dist/toolchain/config/mt-wince
vendored
Normal file
10
gnu/dist/toolchain/config/mt-wince
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
# For Windows CE, we need to build the program that converts, copies,
|
||||
# and renames the platform SDK files into gcc directories.
|
||||
|
||||
EXTRA_TARGET_HOST_ALL_MODULES:=$(EXTRA_TARGET_HOST_ALL_MODULES) all-utils
|
||||
EXTRA_TARGET_HOST_INSTALL_MODULES:=$(EXTRA_TARGET_HOST_INSTALL_MODULES) install-utils
|
||||
|
||||
all-utils : all-libiberty
|
||||
|
||||
install-utils : all-libiberty
|
||||
|
35
gnu/dist/toolchain/configure
vendored
35
gnu/dist/toolchain/configure
vendored
@ -3,7 +3,7 @@
|
||||
### WARNING: this file contains embedded tabs. Do not run untabify on this file.
|
||||
|
||||
# Configuration script
|
||||
# Copyright (C) 1988, 90, 91, 92, 93, 94, 95, 96, 1997
|
||||
# Copyright (C) 1988, 90, 91, 92, 93, 94, 95, 96, 97, 98, 1999
|
||||
# Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
@ -86,7 +86,7 @@ subdirs=
|
||||
target_alias=NOTARGET
|
||||
target_makefile_frag=
|
||||
undefs=NOUNDEFS
|
||||
version="$Revision: 1.22 $"
|
||||
version="$Revision: 1.5 $"
|
||||
x11=default
|
||||
bindir='${exec_prefix}/bin'
|
||||
sbindir='${exec_prefix}/sbin'
|
||||
@ -576,6 +576,7 @@ case "${srcdir}" in
|
||||
fi
|
||||
esac
|
||||
|
||||
|
||||
# default exec_prefix
|
||||
case "${exec_prefixoption}" in
|
||||
"") exec_prefix="\$(prefix)" ;;
|
||||
@ -586,12 +587,12 @@ esac
|
||||
# the gcc version number changes.
|
||||
if [ "${with_gcc_version_trigger+set}" = set ]; then
|
||||
gcc_version_trigger="$with_gcc_version_trigger"
|
||||
gcc_version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < ${with_gcc_version_trigger}`
|
||||
gcc_version=`grep version_string ${with_gcc_version_trigger} | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'`
|
||||
else
|
||||
# If gcc's sources are available, define the trigger file.
|
||||
if [ -f ${topsrcdir}/gcc/version.c ] ; then
|
||||
gcc_version_trigger=${topsrcdir}/gcc/version.c
|
||||
gcc_version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < ${gcc_version_trigger}`
|
||||
gcc_version=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'`
|
||||
case "$arguments" in
|
||||
*--with-gcc-version-trigger=$gcc_version_trigger* )
|
||||
;;
|
||||
@ -654,8 +655,8 @@ case "${TMPDIR}" in
|
||||
*) ;;
|
||||
esac
|
||||
|
||||
# keep this filename short for &%*%$*# 14 char file names
|
||||
tmpfile=${TMPDIR}/cONf$$
|
||||
# keep this filename short for &%*%$*# 14 char file names and 8+3 file names
|
||||
tmpfile=${TMPDIR}/cNf$$
|
||||
# Note that under many versions of sh a trap handler for 0 will *override* any
|
||||
# exit status you explicitly specify! At this point, the only non-error exit
|
||||
# is at the end of the script; these actions are duplicated there, minus
|
||||
@ -901,6 +902,9 @@ do
|
||||
test -n "$DEFAULT_LEX" && break
|
||||
done
|
||||
|
||||
# BINUTILS LOCAL: This is included in the default CFLAGS when using gcc.
|
||||
warn_cflags="-W -Wall"
|
||||
|
||||
if [ "${build}" != "${host}" ]; then
|
||||
# If we are doing a Canadian Cross, in which the host and build systems
|
||||
# are not the same, we set reasonable default values for the tools.
|
||||
@ -934,7 +938,7 @@ t loop
|
||||
AS_FOR_TARGET=${AS_FOR_TARGET-${target_alias}-as}
|
||||
BISON=${BISON-bison}
|
||||
CC=${CC-${host_alias}-gcc}
|
||||
CFLAGS=${CFLAGS-"-g -O2"}
|
||||
CFLAGS=${CFLAGS-"-g -O2 ${warn_cflags}"}
|
||||
CXX=${CXX-${host_alias}-c++}
|
||||
CXXFLAGS=${CXXFLAGS-"-g -O2"}
|
||||
CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
|
||||
@ -1014,10 +1018,10 @@ else
|
||||
CC="gcc"
|
||||
echo 'void f(){}' > conftest.c
|
||||
if test -z "`${CC} -g -c conftest.c 2>&1`"; then
|
||||
CFLAGS=${CFLAGS-"-g -O2"}
|
||||
CFLAGS=${CFLAGS-"-g -O2 ${warn_cflags}"}
|
||||
CXXFLAGS=${CXXFLAGS-"-g -O2"}
|
||||
else
|
||||
CFLAGS=${CFLAGS-"-O2"}
|
||||
CFLAGS=${CFLAGS-"-O2 ${warn_cflags}"}
|
||||
CXXFLAGS=${CXXFLAGS-"-O2"}
|
||||
fi
|
||||
rm -f conftest*
|
||||
@ -1034,10 +1038,10 @@ else
|
||||
*gcc)
|
||||
echo 'void f(){}' > conftest.c
|
||||
if test -z "`${CC} -g -c conftest.c 2>&1`"; then
|
||||
CFLAGS=${CFLAGS-"-g -O2"}
|
||||
CFLAGS=${CFLAGS-"-g -O2 ${warn_cflags}"}
|
||||
CXXFLAGS=${CXXFLAGS-"-g -O2"}
|
||||
else
|
||||
CFLAGS=${CFLAGS-"-O2"}
|
||||
CFLAGS=${CFLAGS-"-O2 ${warn_cflags}"}
|
||||
CXXFLAGS=${CXXFLAGS-"-O2"}
|
||||
fi
|
||||
rm -f conftest*
|
||||
@ -1062,14 +1066,12 @@ case "$host" in
|
||||
enable_gdbtk=no ;;
|
||||
*msdosdjgpp*)
|
||||
enable_gdbtk=no ;;
|
||||
*cygwin32*)
|
||||
enable_gdbtk=no ;;
|
||||
esac
|
||||
|
||||
# FIXME: This should be in configure.in, not configure
|
||||
# Determine whether gdb needs tk/tcl or not.
|
||||
if [ "$enable_gdbtk" != "no" ]; then
|
||||
GDB_TK="all-tcl all-tk all-itcl all-tix"
|
||||
GDB_TK="all-tcl all-tk all-itcl all-tix all-libgui"
|
||||
else
|
||||
GDB_TK=""
|
||||
fi
|
||||
@ -1403,18 +1405,19 @@ EOF
|
||||
s%^CXXFLAGS[ ]*=.*$%CXXFLAGS = ${CXXFLAGS}%
|
||||
}" \
|
||||
-e "s|^SHELL[ ]*=.*$|SHELL = ${config_shell}|" \
|
||||
-e "s:^GDB_TK[ ]*=.*$:GDB_TK = ${GDB_TK}:" \
|
||||
-e "s|^srcdir[ ]*=.*$|srcdir = ${makesrcdir}|" \
|
||||
-e "s///" \
|
||||
-e "s:^program_prefix[ ]*=.*$:program_prefix = ${program_prefix}:" \
|
||||
-e "s:^program_suffix[ ]*=.*$:program_suffix = ${program_suffix}:" \
|
||||
-e "s:^program_transform_name[ ]*=.*$:program_transform_name = ${program_transform_name}:" \
|
||||
-e "s|^tooldir[ ]*=.*$|tooldir = ${tooldir}|" \
|
||||
-e "s|^build_tooldir[ ]*=.*$|build_tooldir = ${tooldir}|" \
|
||||
-e "s:^DEFAULT_YACC[ ]*=.*$:DEFAULT_YACC = ${DEFAULT_YACC}:" \
|
||||
-e "s:^DEFAULT_LEX[ ]*=.*$:DEFAULT_LEX = ${DEFAULT_LEX}:" \
|
||||
-e "s:^DEFAULT_M4[ ]*=.*$:DEFAULT_M4 = ${DEFAULT_M4}:" \
|
||||
${subdir}/Makefile.tem >> ${Makefile}
|
||||
|
||||
sed -e "s:^GDB_TK[ ]*=.*$:GDB_TK = ${GDB_TK}:" ${Makefile} >${Makefile}.tem
|
||||
mv -f ${Makefile}.tem ${Makefile}
|
||||
|
||||
# If this is a Canadian Cross, preset the values of many more
|
||||
# tools.
|
||||
|
199
gnu/dist/toolchain/configure.in
vendored
199
gnu/dist/toolchain/configure.in
vendored
@ -14,7 +14,7 @@
|
||||
## For more information on these two systems, check out the documentation
|
||||
## for 'Autoconf' (autoconf.texi) and 'Configure' (configure.texi).
|
||||
|
||||
# Copyright (C) 1992, 93, 94, 95, 96, 97, 1998, 1999 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1992-99, 2000 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
|
||||
@ -41,7 +41,7 @@
|
||||
|
||||
# these libraries are used by various programs built for the host environment
|
||||
#
|
||||
host_libs="intl mmalloc libiberty opcodes bfd readline gash db tcl tk tclX itcl tix libgui"
|
||||
host_libs="intl mmalloc libiberty opcodes bfd readline gash db tcl tk tcl8.1 tk8.1 tclX itcl tix libgui"
|
||||
|
||||
if [ "${enable_gdbgui}" = "yes" ] ; then
|
||||
host_libs="${host_libs} libgui"
|
||||
@ -50,8 +50,7 @@ fi
|
||||
# these tools are built for the host environment
|
||||
# Note, the powerpc-eabi build depends on sim occurring before gdb in order to
|
||||
# know that we are building the simulator.
|
||||
host_tools="texinfo byacc flex bison binutils ld gas gcc sim gdb make patch prms send-pr gprof gdbtest tgas etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool ispell grep diff rcs cvssrc fileutils shellutils time textutils wdiff find emacs emacs19 uudecode hello tar gzip indent recode release sed utils guile perl apache inet gawk findutils snavigator libtool gettext zip"
|
||||
|
||||
host_tools="byacc flex bison binutils ld gas gcc sim gdb make patch prms send-pr gprof gdbtest tgas etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool ispell grep diff rcs cvssrc fileutils shellutils time textutils wdiff find emacs emacs19 uudecode hello tar gzip indent recode release sed utils guile perl apache inet gawk findutils snavigator libtool gettext zip"
|
||||
|
||||
# these libraries are built for the target environment, and are built after
|
||||
# the host libraries and the host tools (which may be a cross compiler)
|
||||
@ -62,14 +61,7 @@ target_libs="target-libiberty \
|
||||
target-libio \
|
||||
target-librx \
|
||||
target-libstdc++ \
|
||||
target-libg++ \
|
||||
target-libf2c \
|
||||
target-libchill \
|
||||
target-libjava \
|
||||
target-zlib \
|
||||
target-boehm-gc \
|
||||
target-qthreads \
|
||||
target-libobjc"
|
||||
target-libg++"
|
||||
|
||||
# these tools are built using the target libs, and are intended to run only
|
||||
# in the target environment
|
||||
@ -195,7 +187,7 @@ case "${host}" in
|
||||
i[3456]86-*-msdosdjgpp*)
|
||||
host_makefile_frag="${host_makefile_frag} config/mh-djgpp"
|
||||
;;
|
||||
*-cygwin32*)
|
||||
*-cygwin*)
|
||||
host_makefile_frag="${host_makefile_frag} config/mh-cygwin"
|
||||
;;
|
||||
*-mingw32*)
|
||||
@ -231,9 +223,6 @@ case "${host}" in
|
||||
*-*-lynxos*)
|
||||
host_makefile_frag="${host_makefile_frag} config/mh-lynxos"
|
||||
;;
|
||||
*-*-aix4.[3456789]* | *-*-aix[56789].*)
|
||||
host_makefile_frag="${host_makefile_frag} config/mh-aix43"
|
||||
;;
|
||||
*-*-sysv4*)
|
||||
host_makefile_frag="${host_makefile_frag} config/mh-sysv4"
|
||||
;;
|
||||
@ -293,12 +282,15 @@ if [ x${shared} = xyes ]; then
|
||||
hppa*-*-*)
|
||||
host_makefile_frag="${host_makefile_frag} config/mh-papic"
|
||||
;;
|
||||
i[3456]86-*-cygwin32*)
|
||||
# We don't want -fPIC on cygwin32.
|
||||
i[3456]86-*-cygwin*)
|
||||
# We don't want -fPIC on Cygwin.
|
||||
;;
|
||||
i[3456]86-*-*)
|
||||
host_makefile_frag="${host_makefile_frag} config/mh-x86pic"
|
||||
;;
|
||||
i370-*-*)
|
||||
host_makefile_frag="${host_makefile_frag} config/mh-i370pic"
|
||||
;;
|
||||
sparc64-*-*)
|
||||
host_makefile_frag="${host_makefile_frag} config/mh-sparcpic"
|
||||
;;
|
||||
@ -337,9 +329,15 @@ case "${target}" in
|
||||
powerpc-*-netware*)
|
||||
target_makefile_frag="${target_makefile_frag} config/mt-netware"
|
||||
;;
|
||||
*-*-linux-gnu)
|
||||
*-*-linux-gnu*)
|
||||
target_makefile_frag="${target_makefile_frag} config/mt-linux"
|
||||
;;
|
||||
*-*-aix4.[3456789]* | *-*-aix[56789].*)
|
||||
target_makefile_frag="${target_makefile_frag} config/mt-aix43"
|
||||
;;
|
||||
mips*-*-pe | sh*-*-pe | *arm-wince-pe)
|
||||
target_makefile_frag="${target_makefile_frag} config/mt-wince"
|
||||
;;
|
||||
esac
|
||||
|
||||
# If --enable-target-optspace always use -Os instead of -O2 to build
|
||||
@ -349,7 +347,10 @@ case "${enable_target_optspace}:${target}" in
|
||||
yes:*)
|
||||
target_makefile_frag="${target_makefile_frag} config/mt-ospace"
|
||||
;;
|
||||
:m32r-*)
|
||||
:d30v-*)
|
||||
target_makefile_frag="${target_makefile_frag} config/mt-d30v"
|
||||
;;
|
||||
:m32r-* | :d10v-* | :fr30-*)
|
||||
target_makefile_frag="${target_makefile_frag} config/mt-ospace"
|
||||
;;
|
||||
no:* | :*)
|
||||
@ -508,8 +509,8 @@ case "${host}" in
|
||||
configdirs="$configdirs dosrel" ;;
|
||||
i[3456]86-*-mingw32*)
|
||||
configdirs="$configdirs dosrel" ;;
|
||||
*-cygwin32*)
|
||||
configdirs="$configdirs dosrel" ;;
|
||||
*-cygwin*)
|
||||
configdirs="$configdirs libtermcap dosrel" ;;
|
||||
esac
|
||||
|
||||
# Remove more programs from consideration, based on the host or
|
||||
@ -527,16 +528,13 @@ case "${host}" in
|
||||
;;
|
||||
i[3456]86-*-mingw32*)
|
||||
# noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl apache inet itcl tix db snavigator gnuserv"
|
||||
noconfigdirs="expect dejagnu cvs autoconf automake send-pr gprof rcs guile perl texinfo apache inet libtool"
|
||||
noconfigdirs="expect dejagnu cvs autoconf automake send-pr rcs guile perl texinfo apache inet libtool"
|
||||
;;
|
||||
*-*-cygwin32)
|
||||
noconfigdirs="autoconf automake send-pr gprof rcs guile perl apache inet"
|
||||
;;
|
||||
*-*-windows*)
|
||||
# This is only used to build WinGDB...
|
||||
# note that powerpc-eabi depends on sim configured before gdb.
|
||||
configdirs="bfd libiberty opcodes readline sim gdb"
|
||||
target_configdirs=
|
||||
i[3456]86-*-beos*)
|
||||
noconfigdirs="$noconfigdirs tk itcl tix libgui gdb"
|
||||
;;
|
||||
*-*-cygwin*)
|
||||
noconfigdirs="autoconf automake send-pr rcs guile perl texinfo apache inet"
|
||||
;;
|
||||
*-*-netbsd*)
|
||||
noconfigdirs="rcs"
|
||||
@ -576,6 +574,21 @@ case "${target}" in
|
||||
# newlib is not 64 bit ready
|
||||
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
|
||||
;;
|
||||
sh*-*-pe|mips*-*-pe|*arm-wince-pe)
|
||||
noconfigdirs="$noconfigdirs target-libjava target-libffi target-zlib"
|
||||
noconfigdirs="$noconfigdirs target-boehm-gc target-qthreads target-examples"
|
||||
noconfigdirs="$noconfigdirs target-librx target-libiberty texinfo send-pr"
|
||||
noconfigdirs="$noconfigdirs tcl tix tk itcl libgui sim"
|
||||
noconfigdirs="$noconfigdirs expect dejagnu"
|
||||
# the C++ libraries don't build on top of CE's C libraries
|
||||
noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio"
|
||||
skipdirs="$skipdirs target-newlib"
|
||||
case "${host}" in
|
||||
*-*-cygwin*) ;; # keep gdb and readline
|
||||
*) noconfigdirs="$noconfigdirs gdb readline target-libio target-libstdc++ target-libg++"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
arc-*-*)
|
||||
noconfigdirs="$noconfigdirs target-libgloss"
|
||||
;;
|
||||
@ -584,18 +597,18 @@ case "${target}" in
|
||||
;;
|
||||
arm-*-coff*)
|
||||
noconfigdirs="$noconfigdirs target-libgloss"
|
||||
if [ x${is_cross_compiler} != xno ] ; then
|
||||
target_configdirs="${target_configdirs} target-bsp target-cygmon"
|
||||
fi
|
||||
;;
|
||||
arm-*-elf*)
|
||||
noconfigdirs="$noconfigdirs target-libgloss"
|
||||
if [ x${is_cross_compiler} != xno ] ; then
|
||||
target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
|
||||
target_configdirs="${target_configdirs} target-bsp target-cygmon"
|
||||
fi
|
||||
;;
|
||||
arm-*-oabi*)
|
||||
noconfigdirs="$noconfigdirs target-libgloss"
|
||||
if [ x${is_cross_compiler} != xno ] ; then
|
||||
target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
|
||||
fi
|
||||
;;
|
||||
c4x-*-*)
|
||||
noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx target-libgloss"
|
||||
@ -603,19 +616,48 @@ case "${target}" in
|
||||
thumb-*-coff)
|
||||
noconfigdirs="$noconfigdirs target-libgloss"
|
||||
;;
|
||||
thumb-*-elf)
|
||||
noconfigdirs="$noconfigdirs target-libgloss"
|
||||
;;
|
||||
thumb-*-oabi)
|
||||
noconfigdirs="$noconfigdirs target-libgloss"
|
||||
;;
|
||||
strongarm-*-elf)
|
||||
noconfigdirs="$noconfigdirs target-libgloss"
|
||||
if [ x${is_cross_compiler} != xno ] ; then
|
||||
target_configdirs="${target_configdirs} target-bsp target-cygmon"
|
||||
fi
|
||||
;;
|
||||
strongarm-*-coff)
|
||||
noconfigdirs="$noconfigdirs target-libgloss"
|
||||
if [ x${is_cross_compiler} != xno ] ; then
|
||||
target_configdirs="${target_configdirs} target-bsp target-cygmon"
|
||||
fi
|
||||
;;
|
||||
thumb-*-pe)
|
||||
noconfigdirs="$noconfigdirs target-libgloss"
|
||||
;;
|
||||
arm-*-riscix*)
|
||||
noconfigdirs="$noconfigdirs ld target-libgloss"
|
||||
;;
|
||||
d10v-*-*)
|
||||
noconfigdirs="$noconfigdirs target-librx target-libg++ target-libstdc++ target-libio target-libgloss"
|
||||
noconfigdirs="$noconfigdirs target-librx target-libg++ target-libstdc++ target-libio"
|
||||
;;
|
||||
d30v-*-*)
|
||||
;;
|
||||
fr30-*-elf*)
|
||||
if [ x${is_cross_compiler} != xno ] ; then
|
||||
target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
|
||||
fi
|
||||
;;
|
||||
h8300*-*-* | \
|
||||
h8500-*-*)
|
||||
noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx target-libgloss"
|
||||
;;
|
||||
hppa*-*-*elf* | \
|
||||
hppa*-*-linux-gnu* | \
|
||||
hppa*-*-lites*)
|
||||
# Do configure ld/binutils/gas for this case.
|
||||
# Do configure ld/binutils/gas for the above cases.
|
||||
;;
|
||||
hppa*-*-*)
|
||||
# HP's C compiler doesn't handle Emacs correctly (but on BSD and Mach
|
||||
@ -627,14 +669,15 @@ case "${target}" in
|
||||
esac
|
||||
noconfigdirs="$noconfigdirs ld shellutils"
|
||||
;;
|
||||
i[3456]86-*-coff | i[3456]86-*-elf)
|
||||
if [ x${is_cross_compiler} != xno ] ; then
|
||||
target_configdirs="${target_configdirs} target-libstub target-cygmon"
|
||||
fi
|
||||
;;
|
||||
i[3456]86-*-go32* | i[3456]-*-msdosdjgpp*)
|
||||
# but don't build gdb
|
||||
noconfigdirs="$noconfigdirs gdb target-libg++ target-libstdc++ target-libio target-librx"
|
||||
;;
|
||||
*-*-linux*)
|
||||
# linux has rx in libc
|
||||
skipdirs="$skipdirs target-librx"
|
||||
;;
|
||||
i[3456]86-*-mingw32*)
|
||||
target_configdirs="$target_configdirs target-mingw"
|
||||
noconfigdirs="$noconfigdirs expect target-libgloss"
|
||||
@ -646,15 +689,15 @@ case "${target}" in
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*-*-cygwin32*)
|
||||
target_configdirs="$target_configdirs target-winsup"
|
||||
noconfigdirs="$noconfigdirs target-gperf target-libgloss"
|
||||
*-*-cygwin*)
|
||||
target_configdirs="$target_configdirs target-libtermcap target-winsup"
|
||||
noconfigdirs="$noconfigdirs target-libgloss"
|
||||
# always build newlib.
|
||||
skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
|
||||
|
||||
# Can't build gdb for cygwin32 if not native.
|
||||
# Can't build gdb for Cygwin if not native.
|
||||
case "${host}" in
|
||||
*-*-cygwin32*) ;; # keep gdb tcl tk expect etc.
|
||||
*-*-cygwin*) ;; # keep gdb tcl tk expect etc.
|
||||
*) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix libgui db snavigator gnuserv"
|
||||
;;
|
||||
esac
|
||||
@ -671,10 +714,7 @@ case "${target}" in
|
||||
noconfigdirs="$noconfigdirs gprof target-libgloss"
|
||||
;;
|
||||
i[3456]86-*-solaris2*)
|
||||
# The linker does static linking correctly, but the Solaris C library
|
||||
# has bugs such that some important functions won't work when statically
|
||||
# linked. (See man pages for getpwuid, for example.)
|
||||
noconfigdirs="$noconfigdirs ld target-libgloss"
|
||||
noconfigdirs="$noconfigdirs target-libgloss"
|
||||
;;
|
||||
i[3456]86-*-sysv4*)
|
||||
# The SYSV4 C compiler doesn't handle Emacs correctly
|
||||
@ -685,6 +725,19 @@ case "${target}" in
|
||||
# but that's okay since emacs doesn't work anyway
|
||||
noconfigdirs="$noconfigdirs emacs emacs19 target-libgloss"
|
||||
;;
|
||||
i[3456]86-*-beos*)
|
||||
noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
|
||||
;;
|
||||
m68k-*-elf*)
|
||||
if [ x${is_cross_compiler} != xno ] ; then
|
||||
target_configdirs="${target_configdirs} target-bsp target-cygmon"
|
||||
fi
|
||||
;;
|
||||
m68k-*-coff*)
|
||||
if [ x${is_cross_compiler} != xno ] ; then
|
||||
target_configdirs="${target_configdirs} target-bsp target-cygmon"
|
||||
fi
|
||||
;;
|
||||
mn10200-*-*)
|
||||
noconfigdirs="$noconfigdirs"
|
||||
if [ x${is_cross_compiler} != xno ] ; then
|
||||
@ -694,13 +747,16 @@ case "${target}" in
|
||||
mn10300-*-*)
|
||||
noconfigdirs="$noconfigdirs"
|
||||
if [ x${is_cross_compiler} != xno ] ; then
|
||||
target_configdirs="${target_configdirs} target-libstub target-cygmon"
|
||||
target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
|
||||
fi
|
||||
;;
|
||||
powerpc-*-aix*)
|
||||
# copied from rs6000-*-* entry
|
||||
noconfigdirs="$noconfigdirs gprof cvssrc target-libgloss"
|
||||
# This is needed until gcc and ld are fixed to work together.
|
||||
# The configure and build of ld are currently disabled because
|
||||
# GNU ld is known to be broken for AIX 4.2 and 4.3 (at least)
|
||||
# The symptom is that GDBtk 4.18 fails at startup with a segfault
|
||||
# if linked by GNU ld, but not if linked by the native ld.
|
||||
noconfigdirs="$noconfigdirs gprof cvssrc target-libgloss ld"
|
||||
use_gnu_ld=no
|
||||
;;
|
||||
powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe)
|
||||
@ -713,14 +769,22 @@ case "${target}" in
|
||||
powerpcle-*-solaris*)
|
||||
noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl tix db snavigator gnuserv"
|
||||
;;
|
||||
powerpc-*-eabi)
|
||||
if [ x${is_cross_compiler} != xno ] ; then
|
||||
target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
|
||||
fi
|
||||
;;
|
||||
rs6000-*-lynxos*)
|
||||
# The CVS server code doesn't work on the RS/6000
|
||||
# Newlib makes problems for libg++ in crosses.
|
||||
noconfigdirs="$noconfigdirs target-newlib gprof cvssrc"
|
||||
;;
|
||||
rs6000-*-aix*)
|
||||
noconfigdirs="$noconfigdirs gprof"
|
||||
# This is needed until gcc and ld are fixed to work together.
|
||||
# The configure and build of ld are currently disabled because
|
||||
# GNU ld is known to be broken for AIX 4.2 and 4.3 (at least)
|
||||
# The symptom is that GDBtk 4.18 fails at startup with a segfault
|
||||
# if linked by GNU ld, but not if linked by the native ld.
|
||||
noconfigdirs="$noconfigdirs gprof ld"
|
||||
use_gnu_ld=no
|
||||
;;
|
||||
rs6000-*-*)
|
||||
@ -735,9 +799,14 @@ case "${target}" in
|
||||
noconfigdirs="$noconfigdirs ld gprof emacs target-libgloss"
|
||||
;;
|
||||
mips*-*-irix6*)
|
||||
# The GNU assembler and linker do not support IRIX 6.
|
||||
# The GNU assembler does not support IRIX 6.
|
||||
# emacs is emacs 18, which does not work on Irix 5 (emacs19 does work)
|
||||
noconfigdirs="$noconfigdirs ld gas gprof emacs target-libgloss"
|
||||
noconfigdirs="$noconfigdirs gas gprof emacs target-libgloss"
|
||||
;;
|
||||
mips*-*-linux*)
|
||||
noconfigdirs="$noconfigdirs gprof"
|
||||
# linux has rx in libc
|
||||
skipdirs="$skipdirs target-librx"
|
||||
;;
|
||||
mips*-dec-bsd*)
|
||||
noconfigdirs="$noconfigdirs gprof target-libgloss"
|
||||
@ -747,7 +816,7 @@ case "${target}" in
|
||||
;;
|
||||
mipstx39-*-*)
|
||||
noconfigdirs="$noconfigdirs gprof" # same as generic mips
|
||||
target_configdirs="${target_configdirs} target-libstub target-cygmon"
|
||||
target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
|
||||
;;
|
||||
mips*-*-*)
|
||||
noconfigdirs="$noconfigdirs gprof"
|
||||
@ -774,9 +843,9 @@ case "${target}" in
|
||||
target_configdirs="${target_configdirs} target-libstub target-cygmon"
|
||||
fi
|
||||
;;
|
||||
sparclite-*-aout*)
|
||||
sparclite-*-*)
|
||||
if [ x${is_cross_compiler} != xno ] ; then
|
||||
target_configdirs="${target_configdirs} target-libstub target-cygmon"
|
||||
target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
|
||||
fi
|
||||
;;
|
||||
sparc-*-sunos4*)
|
||||
@ -792,12 +861,22 @@ case "${target}" in
|
||||
v850-*-*)
|
||||
noconfigdirs="$noconfigdirs target-libgloss"
|
||||
;;
|
||||
v850e-*-*)
|
||||
noconfigdirs="$noconfigdirs target-libgloss"
|
||||
;;
|
||||
v850ea-*-*)
|
||||
noconfigdirs="$noconfigdirs target-libgloss"
|
||||
;;
|
||||
vax-*-vms)
|
||||
noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss"
|
||||
;;
|
||||
vax-*-*)
|
||||
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
|
||||
;;
|
||||
*-*-linux*)
|
||||
# linux has rx in libc
|
||||
skipdirs="$skipdirs target-librx"
|
||||
;;
|
||||
*-*-lynxos*)
|
||||
# Newlib makes problems for libg++ in crosses.
|
||||
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
|
||||
|
90
gnu/dist/toolchain/etc/Makefile.in
vendored
90
gnu/dist/toolchain/etc/Makefile.in
vendored
@ -31,8 +31,14 @@ INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
|
||||
MAKEINFO = makeinfo
|
||||
TEXI2DVI = texi2dvi
|
||||
MAKEINFO = `if [ -f ../texinfo/makeinfo/makeinfo ]; \
|
||||
then echo ../texinfo/makeinfo/makeinfo; \
|
||||
else echo makeinfo; fi`
|
||||
TEXI2DVI = `if [ -f ../texinfo/util/texi2dvi ]; \
|
||||
then echo ../texinfo/util/texi2dvi; \
|
||||
else echo texi2dvi; fi`
|
||||
TEXI2HTML = texi2html
|
||||
DVIPS = dvips
|
||||
|
||||
# Where to find texinfo.tex to format documentation with TeX.
|
||||
TEXIDIR = $(srcdir)/../texinfo
|
||||
@ -40,8 +46,8 @@ TEXIDIR = $(srcdir)/../texinfo
|
||||
#### Host, target, and site specific Makefile fragments come in here.
|
||||
###
|
||||
|
||||
INFOFILES = standards.info
|
||||
DVIFILES = standards.dvi
|
||||
INFOFILES = standards.info configure.info
|
||||
DVIFILES = standards.dvi configure.dvi
|
||||
|
||||
all:
|
||||
|
||||
@ -49,15 +55,42 @@ install:
|
||||
|
||||
uninstall:
|
||||
|
||||
info: $(INFOFILES)
|
||||
|
||||
install-info: info
|
||||
if test ! -f standards.info ; then cd $(srcdir); fi; \
|
||||
for i in standards.info*; do \
|
||||
$(INSTALL_DATA) $$i $(infodir)/$$i; \
|
||||
info:
|
||||
for f in $(INFOFILES); do \
|
||||
if test -f $(srcdir)/`echo $$f | sed -e 's/.info$$/.texi/'`; then \
|
||||
if $(MAKE) "MAKEINFO=$(MAKEINFO)" $$f; then \
|
||||
true; \
|
||||
else \
|
||||
exit 1; \
|
||||
fi; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
dvi: $(DVIFILES)
|
||||
install-info: info
|
||||
$(SHELL) $(srcdir)/../mkinstalldirs $(infodir)
|
||||
if test ! -f standards.info; then cd $(srcdir); fi; \
|
||||
if test -f standards.info; then \
|
||||
for i in standards.info*; do \
|
||||
$(INSTALL_DATA) $$i $(infodir)/$$i; \
|
||||
done; \
|
||||
fi
|
||||
if test ! -f configure.info; then cd $(srcdir); fi; \
|
||||
if test -f configure.info; then \
|
||||
for i in configure.info*; do \
|
||||
$(INSTALL_DATA) $$i $(infodir)/$$i; \
|
||||
done; \
|
||||
fi
|
||||
|
||||
dvi:
|
||||
for f in $(DVIFILES); do \
|
||||
if test -f $(srcdir)/`echo $$f | sed -e 's/.dvi$$/.texi/'`; then \
|
||||
if $(MAKE) "TEXI2DVI=$(TEXI2DVI)" $$f; then \
|
||||
true; \
|
||||
else \
|
||||
exit 1; \
|
||||
fi; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
standards.info: $(srcdir)/standards.texi $(srcdir)/make-stds.texi
|
||||
$(MAKEINFO) --no-split -I$(srcdir) -o standards.info $(srcdir)/standards.texi
|
||||
@ -65,10 +98,45 @@ standards.info: $(srcdir)/standards.texi $(srcdir)/make-stds.texi
|
||||
standards.dvi: $(srcdir)/standards.texi
|
||||
TEXINPUTS=$(TEXIDIR):$$TEXINPUTS $(TEXI2DVI) $(srcdir)/standards.texi
|
||||
|
||||
standards.ps: standards.dvi
|
||||
$(DVIPS) standards.dvi -o standards.ps
|
||||
|
||||
# makeinfo requires images to be in the current directory.
|
||||
configure.info: $(srcdir)/configure.texi $(srcdir)/configdev.tin $(srcdir)/configbuild.tin
|
||||
rm -f configdev.txt configbuild.txt
|
||||
cp $(srcdir)/configdev.tin configdev.txt
|
||||
cp $(srcdir)/configbuild.tin configbuild.txt
|
||||
$(MAKEINFO) -I$(srcdir) -o configure.info $(srcdir)/configure.texi
|
||||
rm -f configdev.txt configbuild.txt
|
||||
|
||||
# texi2dvi wants both the .txt and the .eps files.
|
||||
configure.dvi: $(srcdir)/configure.texi $(srcdir)/configdev.tin $(srcdir)/configbuild.tin $(srcdir)/configdev.ein $(srcdir)/configbuild.ein
|
||||
rm -f configdev.txt configbuild.txt
|
||||
cp $(srcdir)/configdev.tin configdev.txt
|
||||
cp $(srcdir)/configbuild.tin configbuild.txt
|
||||
rm -f configdev.eps configbuild.eps
|
||||
cp $(srcdir)/configdev.ein configdev.eps
|
||||
cp $(srcdir)/configbuild.ein configbuild.eps
|
||||
TEXINPUTS=$(TEXIDIR):$$TEXINPUTS $(TEXI2DVI) $(srcdir)/configure.texi
|
||||
rm -f configdev.txt configbuild.txt
|
||||
rm -f configdev.eps configbuild.eps
|
||||
|
||||
# dvips requires images to be in the current directory
|
||||
configure.ps: configure.dvi $(srcdir)/configdev.ein $(srcdir)/configbuild.ein
|
||||
rm -f configdev.eps configbuild.eps
|
||||
cp $(srcdir)/configdev.ein configdev.eps
|
||||
cp $(srcdir)/configbuild.ein configbuild.eps
|
||||
$(DVIPS) configure.dvi -o configure.ps
|
||||
rm -f configdev.eps configbuild.eps
|
||||
|
||||
configure.html: $(srcdir)/configure.texi
|
||||
$(TEXI2HTML) -split_chapter $(srcdir)/configure.texi
|
||||
|
||||
clean:
|
||||
rm -f *.aux *.cp *.cps *.dvi *.fn *.fns *.ky *.kys *.log
|
||||
rm -f *.pg *.pgs *.toc *.tp *.tps *.vr *.vrs
|
||||
rm -f configdev.txt configbuild.txt configdev.eps configbuild.eps
|
||||
rm -f configdev.jpg configbuild.jpg
|
||||
|
||||
mostlyclean: clean
|
||||
|
||||
|
149
gnu/dist/toolchain/etc/configbuild.ein
vendored
Normal file
149
gnu/dist/toolchain/etc/configbuild.ein
vendored
Normal file
@ -0,0 +1,149 @@
|
||||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: configbuild.fig
|
||||
%%Creator: fig2dev Version 3.1 Patchlevel 1
|
||||
%%CreationDate: Fri Jun 12 20:13:16 1998
|
||||
%%For: ian@tito.cygnus.com (Ian Lance Taylor)
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 322 173
|
||||
%%Pages: 0
|
||||
%%BeginSetup
|
||||
%%IncludeFeature: *PageSize Letter
|
||||
%%EndSetup
|
||||
%%EndComments
|
||||
/$F2psDict 200 dict def
|
||||
$F2psDict begin
|
||||
$F2psDict /mtrx matrix put
|
||||
/col-1 {} def
|
||||
/col0 {0.000 0.000 0.000 srgb} bind def
|
||||
/col1 {0.000 0.000 1.000 srgb} bind def
|
||||
/col2 {0.000 1.000 0.000 srgb} bind def
|
||||
/col3 {0.000 1.000 1.000 srgb} bind def
|
||||
/col4 {1.000 0.000 0.000 srgb} bind def
|
||||
/col5 {1.000 0.000 1.000 srgb} bind def
|
||||
/col6 {1.000 1.000 0.000 srgb} bind def
|
||||
/col7 {1.000 1.000 1.000 srgb} bind def
|
||||
/col8 {0.000 0.000 0.560 srgb} bind def
|
||||
/col9 {0.000 0.000 0.690 srgb} bind def
|
||||
/col10 {0.000 0.000 0.820 srgb} bind def
|
||||
/col11 {0.530 0.810 1.000 srgb} bind def
|
||||
/col12 {0.000 0.560 0.000 srgb} bind def
|
||||
/col13 {0.000 0.690 0.000 srgb} bind def
|
||||
/col14 {0.000 0.820 0.000 srgb} bind def
|
||||
/col15 {0.000 0.560 0.560 srgb} bind def
|
||||
/col16 {0.000 0.690 0.690 srgb} bind def
|
||||
/col17 {0.000 0.820 0.820 srgb} bind def
|
||||
/col18 {0.560 0.000 0.000 srgb} bind def
|
||||
/col19 {0.690 0.000 0.000 srgb} bind def
|
||||
/col20 {0.820 0.000 0.000 srgb} bind def
|
||||
/col21 {0.560 0.000 0.560 srgb} bind def
|
||||
/col22 {0.690 0.000 0.690 srgb} bind def
|
||||
/col23 {0.820 0.000 0.820 srgb} bind def
|
||||
/col24 {0.500 0.190 0.000 srgb} bind def
|
||||
/col25 {0.630 0.250 0.000 srgb} bind def
|
||||
/col26 {0.750 0.380 0.000 srgb} bind def
|
||||
/col27 {1.000 0.500 0.500 srgb} bind def
|
||||
/col28 {1.000 0.630 0.630 srgb} bind def
|
||||
/col29 {1.000 0.750 0.750 srgb} bind def
|
||||
/col30 {1.000 0.880 0.880 srgb} bind def
|
||||
/col31 {1.000 0.840 0.000 srgb} bind def
|
||||
|
||||
end
|
||||
save
|
||||
-62.0 226.0 translate
|
||||
1 -1 scale
|
||||
|
||||
/clp {closepath} bind def
|
||||
/ef {eofill} bind def
|
||||
/gr {grestore} bind def
|
||||
/gs {gsave} bind def
|
||||
/l {lineto} bind def
|
||||
/m {moveto} bind def
|
||||
/n {newpath} bind def
|
||||
/s {stroke} bind def
|
||||
/slc {setlinecap} bind def
|
||||
/slj {setlinejoin} bind def
|
||||
/slw {setlinewidth} bind def
|
||||
/srgb {setrgbcolor} bind def
|
||||
/rot {rotate} bind def
|
||||
/sc {scale} bind def
|
||||
/tr {translate} bind def
|
||||
/tnt {dup dup currentrgbcolor
|
||||
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
|
||||
bind def
|
||||
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
|
||||
4 -2 roll mul srgb} bind def
|
||||
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
|
||||
/$F2psEnd {$F2psEnteredState restore end} def
|
||||
%%EndProlog
|
||||
|
||||
$F2psBegin
|
||||
10 setmiterlimit
|
||||
0.06000 0.06000 sc
|
||||
7.500 slw
|
||||
% Polyline
|
||||
n 1050 900 m 2100 900 l 2100 1425 l 1050 1425 l clp gs col-1 s gr
|
||||
% Polyline
|
||||
n 1500 1425 m 1500 2100 l gs col-1 s gr
|
||||
n 1530.00 1980.00 m 1500.00 2100.00 l 1470.00 1980.00 l 1500.50 1980.50 l 1530.00 1980.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
|
||||
% Polyline
|
||||
n 1500 2625 m 1500 3300 l gs col-1 s gr
|
||||
n 1530.00 3180.00 m 1500.00 3300.00 l 1470.00 3180.00 l 1500.50 3180.50 l 1530.00 3180.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
|
||||
% Polyline
|
||||
n 2925 900 m 3825 900 l 3825 1425 l 2925 1425 l clp gs col-1 s gr
|
||||
% Polyline
|
||||
n 1155 2100 m 1050 2100 1050 2520 105 arcto 4 {pop} repeat 1050 2625 2220 2625 105 arcto 4 {pop} repeat 2325 2625 2325 2205 105 arcto 4 {pop} repeat 2325 2100 1155 2100 105 arcto 4 {pop} repeat clp gs col-1 s gr
|
||||
% Polyline
|
||||
n 2850 2100 m 4125 2100 l 4125 2625 l 2850 2625 l clp gs col-1 s gr
|
||||
% Polyline
|
||||
n 3375 1425 m 3375 2100 l gs col-1 s gr
|
||||
n 3405.00 1980.00 m 3375.00 2100.00 l 3345.00 1980.00 l 3375.50 1980.50 l 3405.00 1980.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
|
||||
% Polyline
|
||||
n 5100 900 m 6300 900 l 6300 1350 l 5100 1350 l clp gs col-1 s gr
|
||||
% Polyline
|
||||
n 5625 1350 m 5625 2100 l gs col-1 s gr
|
||||
n 5655.00 1980.00 m 5625.00 2100.00 l 5595.00 1980.00 l 5625.50 1980.50 l 5655.00 1980.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
|
||||
% Polyline
|
||||
n 5205 2100 m 5100 2100 5100 2520 105 arcto 4 {pop} repeat 5100 2625 6270 2625 105 arcto 4 {pop} repeat 6375 2625 6375 2205 105 arcto 4 {pop} repeat 6375 2100 5205 2100 105 arcto 4 {pop} repeat clp gs col-1 s gr
|
||||
% Polyline
|
||||
n 5625 2625 m 5625 3300 l gs col-1 s gr
|
||||
n 5655.00 3180.00 m 5625.00 3300.00 l 5595.00 3180.00 l 5625.50 3180.50 l 5655.00 3180.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
|
||||
% Polyline
|
||||
n 5100 3300 m 6225 3300 l 6225 3750 l 5100 3750 l clp gs col-1 s gr
|
||||
% Polyline
|
||||
[1 50.0] 50.000000 setdash
|
||||
n 2850 2400 m 2325 2400 l gs col-1 s gr [] 0 setdash
|
||||
n 2445.00 2430.00 m 2325.00 2400.00 l 2445.00 2370.00 l 2445.50 2400.50 l 2445.00 2430.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
|
||||
% Polyline
|
||||
[1 50.0] 50.000000 setdash
|
||||
n 4125 2400 m 5100 2400 l gs col-1 s gr [] 0 setdash
|
||||
n 4980.00 2370.00 m 5100.00 2400.00 l 4980.00 2430.00 l 4980.50 2400.50 l 4980.00 2370.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
|
||||
% Polyline
|
||||
n 1050 3300 m 1950 3300 l 1950 3750 l 1050 3750 l clp gs col-1 s gr
|
||||
/Times-Roman findfont 180.00 scalefont setfont
|
||||
1200 1200 m
|
||||
gs 1 -1 sc (config.in) col-1 show gr
|
||||
/Times-Roman findfont 180.00 scalefont setfont
|
||||
3000 1200 m
|
||||
gs 1 -1 sc (configure) col-1 show gr
|
||||
/Times-Roman findfont 180.00 scalefont setfont
|
||||
3000 2400 m
|
||||
gs 1 -1 sc (config.status) col-1 show gr
|
||||
/Times-Roman findfont 180.00 scalefont setfont
|
||||
1200 2400 m
|
||||
gs 1 -1 sc (config.status) col-1 show gr
|
||||
/Times-Roman findfont 180.00 scalefont setfont
|
||||
1200 3600 m
|
||||
gs 1 -1 sc (config.h) col-1 show gr
|
||||
/Times-Roman findfont 180.00 scalefont setfont
|
||||
5250 1200 m
|
||||
gs 1 -1 sc (Makefile.in) col-1 show gr
|
||||
/Times-Roman findfont 180.00 scalefont setfont
|
||||
5250 2400 m
|
||||
gs 1 -1 sc (config.status) col-1 show gr
|
||||
/Times-Roman findfont 180.00 scalefont setfont
|
||||
5250 3600 m
|
||||
gs 1 -1 sc (Makefile) col-1 show gr
|
||||
$F2psEnd
|
||||
restore
|
50
gnu/dist/toolchain/etc/configbuild.fig
vendored
Normal file
50
gnu/dist/toolchain/etc/configbuild.fig
vendored
Normal file
@ -0,0 +1,50 @@
|
||||
#FIG 3.1
|
||||
Portrait
|
||||
Center
|
||||
Inches
|
||||
1200 2
|
||||
2 2 0 1 -1 7 0 0 -1 0.000 0 0 0 0 0 5
|
||||
1050 900 2100 900 2100 1425 1050 1425 1050 900
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 1.00 60.00 120.00
|
||||
1500 1425 1500 2100
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 1.00 60.00 120.00
|
||||
1500 2625 1500 3300
|
||||
2 2 0 1 -1 7 0 0 -1 0.000 0 0 0 0 0 5
|
||||
2925 900 3825 900 3825 1425 2925 1425 2925 900
|
||||
2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
|
||||
2325 2625 2325 2100 1050 2100 1050 2625 2325 2625
|
||||
2 2 0 1 -1 7 0 0 -1 0.000 0 0 0 0 0 5
|
||||
2850 2100 4125 2100 4125 2625 2850 2625 2850 2100
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 1.00 60.00 120.00
|
||||
3375 1425 3375 2100
|
||||
2 2 0 1 -1 7 0 0 -1 0.000 0 0 0 0 0 5
|
||||
5100 900 6300 900 6300 1350 5100 1350 5100 900
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 1.00 60.00 120.00
|
||||
5625 1350 5625 2100
|
||||
2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
|
||||
6375 2625 6375 2100 5100 2100 5100 2625 6375 2625
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 1.00 60.00 120.00
|
||||
5625 2625 5625 3300
|
||||
2 2 0 1 -1 7 0 0 -1 0.000 0 0 0 0 0 5
|
||||
5100 3300 6225 3300 6225 3750 5100 3750 5100 3300
|
||||
2 1 2 1 -1 7 0 0 -1 3.000 0 0 -1 1 0 2
|
||||
1 1 1.00 60.00 120.00
|
||||
2850 2400 2325 2400
|
||||
2 1 2 1 -1 7 0 0 -1 3.000 0 0 -1 1 0 2
|
||||
1 1 1.00 60.00 120.00
|
||||
4125 2400 5100 2400
|
||||
2 2 0 1 -1 7 0 0 -1 0.000 0 0 0 0 0 5
|
||||
1050 3300 1950 3300 1950 3750 1050 3750 1050 3300
|
||||
4 0 -1 0 0 0 12 0.0000000 4 180 645 1200 1200 config.in\001
|
||||
4 0 -1 0 0 0 12 0.0000000 4 180 705 3000 1200 configure\001
|
||||
4 0 -1 0 0 0 12 0.0000000 4 180 990 3000 2400 config.status\001
|
||||
4 0 -1 0 0 0 12 0.0000000 4 180 990 1200 2400 config.status\001
|
||||
4 0 -1 0 0 0 12 0.0000000 4 180 600 1200 3600 config.h\001
|
||||
4 0 -1 0 0 0 12 0.0000000 4 135 855 5250 1200 Makefile.in\001
|
||||
4 0 -1 0 0 0 12 0.0000000 4 180 990 5250 2400 config.status\001
|
||||
4 0 -1 0 0 0 12 0.0000000 4 135 675 5250 3600 Makefile\001
|
BIN
gnu/dist/toolchain/etc/configbuild.jin
vendored
Normal file
BIN
gnu/dist/toolchain/etc/configbuild.jin
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
9
gnu/dist/toolchain/etc/configbuild.tin
vendored
Normal file
9
gnu/dist/toolchain/etc/configbuild.tin
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
config.in *configure* Makefile.in
|
||||
| | |
|
||||
| v |
|
||||
| config.status |
|
||||
| | |
|
||||
*config.status*<======+==========>*config.status*
|
||||
| |
|
||||
v v
|
||||
config.h Makefile
|
185
gnu/dist/toolchain/etc/configdev.ein
vendored
Normal file
185
gnu/dist/toolchain/etc/configdev.ein
vendored
Normal file
@ -0,0 +1,185 @@
|
||||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: configdev.fig
|
||||
%%Creator: fig2dev Version 3.1 Patchlevel 1
|
||||
%%CreationDate: Mon Jun 15 17:35:19 1998
|
||||
%%For: ian@tito.cygnus.com (Ian Lance Taylor)
|
||||
%%Orientation: Portrait
|
||||
%%BoundingBox: 0 0 344 317
|
||||
%%Pages: 0
|
||||
%%BeginSetup
|
||||
%%IncludeFeature: *PageSize Letter
|
||||
%%EndSetup
|
||||
%%EndComments
|
||||
/$F2psDict 200 dict def
|
||||
$F2psDict begin
|
||||
$F2psDict /mtrx matrix put
|
||||
/col-1 {} def
|
||||
/col0 {0.000 0.000 0.000 srgb} bind def
|
||||
/col1 {0.000 0.000 1.000 srgb} bind def
|
||||
/col2 {0.000 1.000 0.000 srgb} bind def
|
||||
/col3 {0.000 1.000 1.000 srgb} bind def
|
||||
/col4 {1.000 0.000 0.000 srgb} bind def
|
||||
/col5 {1.000 0.000 1.000 srgb} bind def
|
||||
/col6 {1.000 1.000 0.000 srgb} bind def
|
||||
/col7 {1.000 1.000 1.000 srgb} bind def
|
||||
/col8 {0.000 0.000 0.560 srgb} bind def
|
||||
/col9 {0.000 0.000 0.690 srgb} bind def
|
||||
/col10 {0.000 0.000 0.820 srgb} bind def
|
||||
/col11 {0.530 0.810 1.000 srgb} bind def
|
||||
/col12 {0.000 0.560 0.000 srgb} bind def
|
||||
/col13 {0.000 0.690 0.000 srgb} bind def
|
||||
/col14 {0.000 0.820 0.000 srgb} bind def
|
||||
/col15 {0.000 0.560 0.560 srgb} bind def
|
||||
/col16 {0.000 0.690 0.690 srgb} bind def
|
||||
/col17 {0.000 0.820 0.820 srgb} bind def
|
||||
/col18 {0.560 0.000 0.000 srgb} bind def
|
||||
/col19 {0.690 0.000 0.000 srgb} bind def
|
||||
/col20 {0.820 0.000 0.000 srgb} bind def
|
||||
/col21 {0.560 0.000 0.560 srgb} bind def
|
||||
/col22 {0.690 0.000 0.690 srgb} bind def
|
||||
/col23 {0.820 0.000 0.820 srgb} bind def
|
||||
/col24 {0.500 0.190 0.000 srgb} bind def
|
||||
/col25 {0.630 0.250 0.000 srgb} bind def
|
||||
/col26 {0.750 0.380 0.000 srgb} bind def
|
||||
/col27 {1.000 0.500 0.500 srgb} bind def
|
||||
/col28 {1.000 0.630 0.630 srgb} bind def
|
||||
/col29 {1.000 0.750 0.750 srgb} bind def
|
||||
/col30 {1.000 0.880 0.880 srgb} bind def
|
||||
/col31 {1.000 0.840 0.000 srgb} bind def
|
||||
|
||||
end
|
||||
save
|
||||
-62.0 370.0 translate
|
||||
1 -1 scale
|
||||
|
||||
/clp {closepath} bind def
|
||||
/ef {eofill} bind def
|
||||
/gr {grestore} bind def
|
||||
/gs {gsave} bind def
|
||||
/l {lineto} bind def
|
||||
/m {moveto} bind def
|
||||
/n {newpath} bind def
|
||||
/s {stroke} bind def
|
||||
/slc {setlinecap} bind def
|
||||
/slj {setlinejoin} bind def
|
||||
/slw {setlinewidth} bind def
|
||||
/srgb {setrgbcolor} bind def
|
||||
/rot {rotate} bind def
|
||||
/sc {scale} bind def
|
||||
/tr {translate} bind def
|
||||
/tnt {dup dup currentrgbcolor
|
||||
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
|
||||
bind def
|
||||
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
|
||||
4 -2 roll mul srgb} bind def
|
||||
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
|
||||
/$F2psEnd {$F2psEnteredState restore end} def
|
||||
%%EndProlog
|
||||
|
||||
$F2psBegin
|
||||
10 setmiterlimit
|
||||
0.06000 0.06000 sc
|
||||
7.500 slw
|
||||
% Polyline
|
||||
n 1050 900 m 2100 900 l 2100 1425 l 1050 1425 l clp gs col-1 s gr
|
||||
% Polyline
|
||||
n 2925 900 m 3975 900 l 3975 1425 l 2925 1425 l clp gs col-1 s gr
|
||||
% Polyline
|
||||
n 5550 900 m 6750 900 l 6750 1350 l 5550 1350 l clp gs col-1 s gr
|
||||
% Polyline
|
||||
n 3750 1800 m 5025 1800 l 5025 2250 l 3750 2250 l clp gs col-1 s gr
|
||||
% Polyline
|
||||
n 1155 2100 m 1050 2100 1050 2520 105 arcto 4 {pop} repeat 1050 2625 2070 2625 105 arcto 4 {pop} repeat 2175 2625 2175 2205 105 arcto 4 {pop} repeat 2175 2100 1155 2100 105 arcto 4 {pop} repeat clp gs col-1 s gr
|
||||
% Polyline
|
||||
n 5550 3300 m 6675 3300 l 6675 3750 l 5550 3750 l clp gs col-1 s gr
|
||||
% Polyline
|
||||
n 5655 2100 m 5550 2100 5550 2520 105 arcto 4 {pop} repeat 5550 2625 6495 2625 105 arcto 4 {pop} repeat 6600 2625 6600 2205 105 arcto 4 {pop} repeat 6600 2100 5655 2100 105 arcto 4 {pop} repeat clp gs col-1 s gr
|
||||
% Polyline
|
||||
n 3750 3600 m 4875 3600 l 4875 4050 l 3750 4050 l clp gs col-1 s gr
|
||||
% Polyline
|
||||
n 3855 2700 m 3750 2700 3750 3045 105 arcto 4 {pop} repeat 3750 3150 4545 3150 105 arcto 4 {pop} repeat 4650 3150 4650 2805 105 arcto 4 {pop} repeat 4650 2700 3855 2700 105 arcto 4 {pop} repeat clp gs col-1 s gr
|
||||
% Polyline
|
||||
n 2850 5700 m 3750 5700 l 3750 6150 l 2850 6150 l clp gs col-1 s gr
|
||||
% Polyline
|
||||
n 3030 4800 m 2925 4800 2925 5145 105 arcto 4 {pop} repeat 2925 5250 3645 5250 105 arcto 4 {pop} repeat 3750 5250 3750 4905 105 arcto 4 {pop} repeat 3750 4800 3030 4800 105 arcto 4 {pop} repeat clp gs col-1 s gr
|
||||
% Polyline
|
||||
n 1500 1425 m 1500 2100 l gs col-1 s gr
|
||||
n 1530.00 1980.00 m 1500.00 2100.00 l 1470.00 1980.00 l 1500.50 1980.50 l 1530.00 1980.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
|
||||
% Polyline
|
||||
n 3300 1425 m 3300 4800 l gs col-1 s gr
|
||||
n 3330.00 4680.00 m 3300.00 4800.00 l 3270.00 4680.00 l 3300.50 4680.50 l 3330.00 4680.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
|
||||
% Polyline
|
||||
n 3300 1575 m 1875 1575 l 1875 2100 l gs col-1 s gr
|
||||
n 1905.00 1980.00 m 1875.00 2100.00 l 1845.00 1980.00 l 1875.50 1980.50 l 1905.00 1980.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
|
||||
% Polyline
|
||||
n 3300 1575 m 5700 1575 l 5700 2100 l gs col-1 s gr
|
||||
n 5730.00 1980.00 m 5700.00 2100.00 l 5670.00 1980.00 l 5700.50 1980.50 l 5730.00 1980.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
|
||||
% Polyline
|
||||
n 6225 1350 m 6225 2100 l gs col-1 s gr
|
||||
n 6255.00 1980.00 m 6225.00 2100.00 l 6195.00 1980.00 l 6225.50 1980.50 l 6255.00 1980.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
|
||||
% Polyline
|
||||
n 6075 2625 m 6075 3300 l gs col-1 s gr
|
||||
n 6105.00 3180.00 m 6075.00 3300.00 l 6045.00 3180.00 l 6075.50 3180.50 l 6105.00 3180.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
|
||||
% Polyline
|
||||
n 4200 2250 m 4200 2700 l gs col-1 s gr
|
||||
n 4230.00 2580.00 m 4200.00 2700.00 l 4170.00 2580.00 l 4200.50 2580.50 l 4230.00 2580.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
|
||||
% Polyline
|
||||
n 4200 3150 m 4200 3600 l gs col-1 s gr
|
||||
n 4230.00 3480.00 m 4200.00 3600.00 l 4170.00 3480.00 l 4200.50 3480.50 l 4230.00 3480.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
|
||||
% Polyline
|
||||
n 4200 4050 m 4200 4500 l 3675 4500 l 3675 4800 l gs col-1 s gr
|
||||
n 3705.00 4680.00 m 3675.00 4800.00 l 3645.00 4680.00 l 3675.50 4680.50 l 3705.00 4680.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
|
||||
% Polyline
|
||||
n 3375 5250 m 3375 5700 l gs col-1 s gr
|
||||
n 3405.00 5580.00 m 3375.00 5700.00 l 3345.00 5580.00 l 3375.50 5580.50 l 3405.00 5580.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
|
||||
% Polyline
|
||||
n 3300 2925 m 3750 2925 l gs col-1 s gr
|
||||
n 3630.00 2895.00 m 3750.00 2925.00 l 3630.00 2955.00 l 3630.50 2925.50 l 3630.00 2895.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
|
||||
% Polyline
|
||||
n 1500 2625 m 1500 3300 l gs col-1 s gr
|
||||
n 1530.00 3180.00 m 1500.00 3300.00 l 1470.00 3180.00 l 1500.50 3180.50 l 1530.00 3180.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
|
||||
% Polyline
|
||||
n 1050 3300 m 2100 3300 l 2100 3750 l 1050 3750 l clp gs col-1 s gr
|
||||
% Polyline
|
||||
n 4875 3825 m 5250 3825 l 5250 2400 l 5550 2400 l gs col-1 s gr
|
||||
n 5430.00 2370.00 m 5550.00 2400.00 l 5430.00 2430.00 l 5430.50 2400.50 l 5430.00 2370.00 l clp gs 0.00 setgray ef gr gs col-1 s gr
|
||||
/Times-Roman findfont 180.00 scalefont setfont
|
||||
1200 1200 m
|
||||
gs 1 -1 sc (acconfig.h) col-1 show gr
|
||||
/Times-Roman findfont 180.00 scalefont setfont
|
||||
3000 1200 m
|
||||
gs 1 -1 sc (configure.in) col-1 show gr
|
||||
/Times-Roman findfont 180.00 scalefont setfont
|
||||
5700 1200 m
|
||||
gs 1 -1 sc (Makefile.am) col-1 show gr
|
||||
/Times-Roman findfont 180.00 scalefont setfont
|
||||
3900 2100 m
|
||||
gs 1 -1 sc (acinclude.m4) col-1 show gr
|
||||
/Times-Roman findfont 180.00 scalefont setfont
|
||||
1200 2400 m
|
||||
gs 1 -1 sc (autoheader) col-1 show gr
|
||||
/Times-Roman findfont 180.00 scalefont setfont
|
||||
1200 3600 m
|
||||
gs 1 -1 sc (config.in) col-1 show gr
|
||||
/Times-Roman findfont 180.00 scalefont setfont
|
||||
5700 3600 m
|
||||
gs 1 -1 sc (Makefile.in) col-1 show gr
|
||||
/Times-Roman findfont 180.00 scalefont setfont
|
||||
5700 2400 m
|
||||
gs 1 -1 sc (automake) col-1 show gr
|
||||
/Times-Roman findfont 180.00 scalefont setfont
|
||||
3900 3900 m
|
||||
gs 1 -1 sc (aclocal.m4) col-1 show gr
|
||||
/Times-Roman findfont 180.00 scalefont setfont
|
||||
3900 3000 m
|
||||
gs 1 -1 sc (aclocal) col-1 show gr
|
||||
/Times-Roman findfont 180.00 scalefont setfont
|
||||
3000 6000 m
|
||||
gs 1 -1 sc (configure) col-1 show gr
|
||||
/Times-Roman findfont 180.00 scalefont setfont
|
||||
3000 5100 m
|
||||
gs 1 -1 sc (autoconf) col-1 show gr
|
||||
$F2psEnd
|
||||
restore
|
80
gnu/dist/toolchain/etc/configdev.fig
vendored
Normal file
80
gnu/dist/toolchain/etc/configdev.fig
vendored
Normal file
@ -0,0 +1,80 @@
|
||||
#FIG 3.1
|
||||
Portrait
|
||||
Center
|
||||
Inches
|
||||
1200 2
|
||||
2 2 0 1 -1 7 0 0 -1 0.000 0 0 0 0 0 5
|
||||
1050 900 2100 900 2100 1425 1050 1425 1050 900
|
||||
2 2 0 1 -1 7 0 0 -1 0.000 0 0 0 0 0 5
|
||||
2925 900 3975 900 3975 1425 2925 1425 2925 900
|
||||
2 2 0 1 -1 7 0 0 -1 0.000 0 0 0 0 0 5
|
||||
5550 900 6750 900 6750 1350 5550 1350 5550 900
|
||||
2 2 0 1 -1 7 0 0 -1 0.000 0 0 0 0 0 5
|
||||
3750 1800 5025 1800 5025 2250 3750 2250 3750 1800
|
||||
2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
|
||||
2175 2625 2175 2100 1050 2100 1050 2625 2175 2625
|
||||
2 2 0 1 -1 7 0 0 -1 0.000 0 0 0 0 0 5
|
||||
5550 3300 6675 3300 6675 3750 5550 3750 5550 3300
|
||||
2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
|
||||
6600 2625 6600 2100 5550 2100 5550 2625 6600 2625
|
||||
2 2 0 1 -1 7 0 0 -1 0.000 0 0 0 0 0 5
|
||||
3750 3600 4875 3600 4875 4050 3750 4050 3750 3600
|
||||
2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
|
||||
4650 3150 4650 2700 3750 2700 3750 3150 4650 3150
|
||||
2 2 0 1 -1 7 0 0 -1 0.000 0 0 0 0 0 5
|
||||
2850 5700 3750 5700 3750 6150 2850 6150 2850 5700
|
||||
2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
|
||||
3750 5250 3750 4800 2925 4800 2925 5250 3750 5250
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 1.00 60.00 120.00
|
||||
1500 1425 1500 2100
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 1.00 60.00 120.00
|
||||
3300 1425 3300 4800
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 3
|
||||
1 1 1.00 60.00 120.00
|
||||
3300 1575 1875 1575 1875 2100
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 3
|
||||
1 1 1.00 60.00 120.00
|
||||
3300 1575 5700 1575 5700 2100
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 1.00 60.00 120.00
|
||||
6225 1350 6225 2100
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 1.00 60.00 120.00
|
||||
6075 2625 6075 3300
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 1.00 60.00 120.00
|
||||
4200 2250 4200 2700
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 1.00 60.00 120.00
|
||||
4200 3150 4200 3600
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 4
|
||||
1 1 1.00 60.00 120.00
|
||||
4200 4050 4200 4500 3675 4500 3675 4800
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 1.00 60.00 120.00
|
||||
3375 5250 3375 5700
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 1.00 60.00 120.00
|
||||
3300 2925 3750 2925
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 1.00 60.00 120.00
|
||||
1500 2625 1500 3300
|
||||
2 2 0 1 -1 7 0 0 -1 0.000 0 0 0 0 0 5
|
||||
1050 3300 2100 3300 2100 3750 1050 3750 1050 3300
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 4
|
||||
1 1 1.00 60.00 120.00
|
||||
4875 3825 5250 3825 5250 2400 5550 2400
|
||||
4 0 -1 0 0 0 12 0.0000000 4 180 780 1200 1200 acconfig.h\001
|
||||
4 0 -1 0 0 0 12 0.0000000 4 180 885 3000 1200 configure.in\001
|
||||
4 0 -1 0 0 0 12 0.0000000 4 135 945 5700 1200 Makefile.am\001
|
||||
4 0 -1 0 0 0 12 0.0000000 4 135 990 3900 2100 acinclude.m4\001
|
||||
4 0 -1 0 0 0 12 0.0000000 4 135 840 1200 2400 autoheader\001
|
||||
4 0 -1 0 0 0 12 0.0000000 4 180 645 1200 3600 config.in\001
|
||||
4 0 -1 0 0 0 12 0.0000000 4 135 855 5700 3600 Makefile.in\001
|
||||
4 0 -1 0 0 0 12 0.0000000 4 135 735 5700 2400 automake\001
|
||||
4 0 -1 0 0 0 12 0.0000000 4 135 810 3900 3900 aclocal.m4\001
|
||||
4 0 -1 0 0 0 12 0.0000000 4 135 540 3900 3000 aclocal\001
|
||||
4 0 -1 0 0 0 12 0.0000000 4 180 705 3000 6000 configure\001
|
||||
4 0 -1 0 0 0 12 0.0000000 4 135 660 3000 5100 autoconf\001
|
BIN
gnu/dist/toolchain/etc/configdev.jin
vendored
Normal file
BIN
gnu/dist/toolchain/etc/configdev.jin
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 18 KiB |
17
gnu/dist/toolchain/etc/configdev.tin
vendored
Normal file
17
gnu/dist/toolchain/etc/configdev.tin
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
acconfig.h configure.in Makefile.am
|
||||
| | |
|
||||
| --------------+---------------------- |
|
||||
| | | | |
|
||||
v v | acinclude.m4 | |
|
||||
*autoheader* | | v v
|
||||
| | v --->*automake*
|
||||
v |--->*aclocal* | |
|
||||
config.in | | | v
|
||||
| v | Makefile.in
|
||||
| aclocal.m4---
|
||||
| |
|
||||
v v
|
||||
*autoconf*
|
||||
|
|
||||
v
|
||||
configure
|
13
gnu/dist/toolchain/etc/configure
vendored
13
gnu/dist/toolchain/etc/configure
vendored
@ -546,11 +546,12 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
|
||||
# SunOS /usr/etc/install
|
||||
# IRIX /sbin/install
|
||||
# AIX /bin/install
|
||||
# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
|
||||
# AFS /usr/afsws/bin/install, which mishandles nonexistent args
|
||||
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
|
||||
# ./install, which can be erroneously created by make from ./install.sh.
|
||||
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
|
||||
echo "configure:554: checking for a BSD compatible install" >&5
|
||||
echo "configure:555: checking for a BSD compatible install" >&5
|
||||
if test -z "$INSTALL"; then
|
||||
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
@ -562,12 +563,13 @@ else
|
||||
/|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
|
||||
*)
|
||||
# OSF1 and SCO ODT 3.0 have their own names for install.
|
||||
# Don't use installbsd from OSF since it installs stuff as root
|
||||
# by default.
|
||||
for ac_prog in ginstall scoinst install; do
|
||||
if test -f $ac_dir/$ac_prog; then
|
||||
if test $ac_prog = install &&
|
||||
grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
|
||||
# AIX install. It has an incompatible calling convention.
|
||||
# OSF/1 installbsd also uses dspmsg, but is usable.
|
||||
:
|
||||
else
|
||||
ac_cv_path_install="$ac_dir/$ac_prog -c"
|
||||
@ -711,6 +713,7 @@ do
|
||||
done
|
||||
|
||||
ac_given_srcdir=$srcdir
|
||||
ac_given_INSTALL="$INSTALL"
|
||||
|
||||
trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
|
||||
EOF
|
||||
@ -743,7 +746,6 @@ s%@includedir@%$includedir%g
|
||||
s%@oldincludedir@%$oldincludedir%g
|
||||
s%@infodir@%$infodir%g
|
||||
s%@mandir@%$mandir%g
|
||||
s%@INSTALL@%$INSTALL%g
|
||||
s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
|
||||
s%@INSTALL_DATA@%$INSTALL_DATA%g
|
||||
|
||||
@ -822,6 +824,10 @@ for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
|
||||
top_srcdir="$ac_dots$ac_given_srcdir" ;;
|
||||
esac
|
||||
|
||||
case "$ac_given_INSTALL" in
|
||||
[/$]*) INSTALL="$ac_given_INSTALL" ;;
|
||||
*) INSTALL="$ac_dots$ac_given_INSTALL" ;;
|
||||
esac
|
||||
|
||||
echo creating "$ac_file"
|
||||
rm -f "$ac_file"
|
||||
@ -837,6 +843,7 @@ for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
|
||||
s%@configure_input@%$configure_input%g
|
||||
s%@srcdir@%$srcdir%g
|
||||
s%@top_srcdir@%$top_srcdir%g
|
||||
s%@INSTALL@%$INSTALL%g
|
||||
" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
|
||||
fi; done
|
||||
rm -f conftest.s*
|
||||
|
4
gnu/dist/toolchain/etc/configure.in
vendored
4
gnu/dist/toolchain/etc/configure.in
vendored
@ -1,7 +1,7 @@
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
AC_PREREQ(2.12.1)
|
||||
AC_PREREQ(2.5)
|
||||
AC_INIT(Makefile.in)
|
||||
|
||||
EGCS_PROG_INSTALL
|
||||
AC_PROG_INSTALL
|
||||
|
||||
AC_OUTPUT(Makefile)
|
||||
|
95
gnu/dist/toolchain/etc/configure.info
vendored
Normal file
95
gnu/dist/toolchain/etc/configure.info
vendored
Normal file
@ -0,0 +1,95 @@
|
||||
This is configure.info, produced by makeinfo version 4.0 from
|
||||
./configure.texi.
|
||||
|
||||
INFO-DIR-SECTION GNU admin
|
||||
START-INFO-DIR-ENTRY
|
||||
* configure: (configure). The GNU configure and build system
|
||||
END-INFO-DIR-ENTRY
|
||||
|
||||
This file documents the GNU configure and build system.
|
||||
|
||||
Copyright (C) 1998 Cygnus Solutions.
|
||||
|
||||
Permission is granted to make and distribute verbatim copies of this
|
||||
manual provided the copyright notice and this permission notice are
|
||||
preserved on all copies.
|
||||
|
||||
Permission is granted to copy and distribute modified versions of
|
||||
this manual under the conditions for verbatim copying, provided that
|
||||
the entire resulting derived work is distributed under the terms of a
|
||||
permission notice identical to this one.
|
||||
|
||||
Permission is granted to copy and distribute translations of this
|
||||
manual into another language, under the above conditions for modified
|
||||
versions, except that this permission notice may be stated in a
|
||||
translation approved by the Foundation.
|
||||
|
||||
|
||||
Indirect:
|
||||
configure.info-1: 971
|
||||
configure.info-2: 48782
|
||||
configure.info-3: 98073
|
||||
|
||||
Tag Table:
|
||||
(Indirect)
|
||||
Node: Top971
|
||||
Node: Introduction1502
|
||||
Node: Goals2583
|
||||
Node: Tools3302
|
||||
Node: History4291
|
||||
Node: Building7284
|
||||
Node: Getting Started10374
|
||||
Node: Write configure.in10886
|
||||
Node: Write Makefile.am18132
|
||||
Node: Write acconfig.h21290
|
||||
Node: Generate files22827
|
||||
Node: Getting Started Example24788
|
||||
Node: Getting Started Example 125538
|
||||
Node: Getting Started Example 227475
|
||||
Node: Getting Started Example 330591
|
||||
Node: Generate Files in Example32961
|
||||
Node: Files34042
|
||||
Node: Developer Files34653
|
||||
Node: Developer Files Picture35028
|
||||
Node: Written Developer Files36320
|
||||
Node: Generated Developer Files38863
|
||||
Node: Build Files41998
|
||||
Node: Build Files Picture42654
|
||||
Node: Build Files Description43409
|
||||
Node: Support Files45406
|
||||
Node: Configuration Names48283
|
||||
Node: Configuration Name Definition48782
|
||||
Node: Using Configuration Names51100
|
||||
Node: Cross Compilation Tools53067
|
||||
Node: Cross Compilation Concepts53757
|
||||
Node: Host and Target54719
|
||||
Node: Using the Host Type56215
|
||||
Node: Specifying the Target57559
|
||||
Node: Using the Target Type58343
|
||||
Node: Cross Tools in the Cygnus Tree61769
|
||||
Node: Host and Target Libraries62821
|
||||
Node: Target Library Configure Scripts66561
|
||||
Node: Make Targets in Cygnus Tree69644
|
||||
Node: Target libiberty70983
|
||||
Node: Canadian Cross72361
|
||||
Node: Canadian Cross Example73201
|
||||
Node: Canadian Cross Concepts74315
|
||||
Node: Build Cross Host Tools75822
|
||||
Node: Build and Host Options76769
|
||||
Node: CCross not in Cygnus Tree78550
|
||||
Node: CCross in Cygnus Tree79523
|
||||
Node: Standard Cygnus CCross79939
|
||||
Node: Cross Cygnus CCross81294
|
||||
Node: Supporting Canadian Cross84085
|
||||
Node: CCross in Configure84695
|
||||
Node: CCross in Make87852
|
||||
Node: Cygnus Configure89446
|
||||
Node: Cygnus Configure Basics90280
|
||||
Node: Cygnus Configure in C++ Libraries94954
|
||||
Node: Multilibs95956
|
||||
Node: Multilibs in gcc97000
|
||||
Node: Multilibs in Target Libraries98073
|
||||
Node: FAQ102257
|
||||
Node: Index106353
|
||||
|
||||
End Tag Table
|
1313
gnu/dist/toolchain/etc/configure.info-1
vendored
Normal file
1313
gnu/dist/toolchain/etc/configure.info-1
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1137
gnu/dist/toolchain/etc/configure.info-2
vendored
Normal file
1137
gnu/dist/toolchain/etc/configure.info-2
vendored
Normal file
File diff suppressed because it is too large
Load Diff
285
gnu/dist/toolchain/etc/configure.info-3
vendored
Normal file
285
gnu/dist/toolchain/etc/configure.info-3
vendored
Normal file
@ -0,0 +1,285 @@
|
||||
This is configure.info, produced by makeinfo version 4.0 from
|
||||
./configure.texi.
|
||||
|
||||
INFO-DIR-SECTION GNU admin
|
||||
START-INFO-DIR-ENTRY
|
||||
* configure: (configure). The GNU configure and build system
|
||||
END-INFO-DIR-ENTRY
|
||||
|
||||
This file documents the GNU configure and build system.
|
||||
|
||||
Copyright (C) 1998 Cygnus Solutions.
|
||||
|
||||
Permission is granted to make and distribute verbatim copies of this
|
||||
manual provided the copyright notice and this permission notice are
|
||||
preserved on all copies.
|
||||
|
||||
Permission is granted to copy and distribute modified versions of
|
||||
this manual under the conditions for verbatim copying, provided that
|
||||
the entire resulting derived work is distributed under the terms of a
|
||||
permission notice identical to this one.
|
||||
|
||||
Permission is granted to copy and distribute translations of this
|
||||
manual into another language, under the above conditions for modified
|
||||
versions, except that this permission notice may be stated in a
|
||||
translation approved by the Foundation.
|
||||
|
||||
|
||||
File: configure.info, Node: Multilibs in Target Libraries, Prev: Multilibs in gcc, Up: Multilibs
|
||||
|
||||
Multilibs in Target Libraries
|
||||
=============================
|
||||
|
||||
The target libraries in the Cygnus tree are automatically built with
|
||||
multilibs. That means that each library is built multiple times.
|
||||
|
||||
This default is set in the top level `configure.in' file, by adding
|
||||
`--enable-multilib' to the list of arguments passed to configure when
|
||||
it is run for the target libraries (*note Host and Target Libraries::).
|
||||
|
||||
Each target library uses the shell script `config-ml.in', written by
|
||||
Doug Evans, to prepare to build target libraries. This shell script is
|
||||
invoked after the `Makefile' has been created by the `configure'
|
||||
script. If multilibs are not enabled, it does nothing, otherwise it
|
||||
modifies the `Makefile' to support multilibs.
|
||||
|
||||
The `config-ml.in' script makes one copy of the `Makefile' for each
|
||||
multilib in the appropriate subdirectory. When configuring in the
|
||||
source directory (which is not recommended), it will build a symlink
|
||||
tree of the sources in each subdirectory.
|
||||
|
||||
The `config-ml.in' script sets several variables in the various
|
||||
`Makefile's. The `Makefile.in' must have definitions for these
|
||||
variables already; `config-ml.in' simply changes the existing values.
|
||||
The `Makefile' should use default values for these variables which will
|
||||
do the right thing in the subdirectories.
|
||||
|
||||
`MULTISRCTOP'
|
||||
`config-ml.in' will set this to a sequence of `../' strings, where
|
||||
the number of strings is the number of multilib levels in the
|
||||
source tree. The default value should be the empty string.
|
||||
|
||||
`MULTIBUILDTOP'
|
||||
`config-ml.in' will set this to a sequence of `../' strings, where
|
||||
the number of strings is number of multilib levels in the object
|
||||
directory. The default value should be the empty string. This
|
||||
will differ from `MULTISRCTOP' when configuring in the source tree
|
||||
(which is not recommended).
|
||||
|
||||
`MULTIDIRS'
|
||||
In the top level `Makefile' only, `config-ml.in' will set this to
|
||||
the list of multilib subdirectories. The default value should be
|
||||
the empty string.
|
||||
|
||||
`MULTISUBDIR'
|
||||
`config-ml.in' will set this to the installed subdirectory name to
|
||||
use for this subdirectory, with a leading `/'. The default value
|
||||
shold be the empty string.
|
||||
|
||||
`MULTIDO'
|
||||
`MULTICLEAN'
|
||||
In the top level `Makefile' only, `config-ml.in' will set these
|
||||
variables to commands to use when doing a recursive make. These
|
||||
variables should both default to the string `true', so that by
|
||||
default nothing happens.
|
||||
|
||||
All references to the parent of the source directory should use the
|
||||
variable `MULTISRCTOP'. Instead of writing `$(srcdir)/..', you must
|
||||
write `$(srcdir)/$(MULTISRCTOP)..'.
|
||||
|
||||
Similarly, references to the parent of the object directory should
|
||||
use the variable `MULTIBUILDTOP'.
|
||||
|
||||
In the installation target, the libraries should be installed in the
|
||||
subdirectory `MULTISUBDIR'. Instead of installing
|
||||
`$(libdir)/libfoo.a', install `$(libdir)$(MULTISUBDIR)/libfoo.a'.
|
||||
|
||||
The `config-ml.in' script also modifies the top level `Makefile' to
|
||||
add `multi-do' and `multi-clean' targets which are used when building
|
||||
multilibs.
|
||||
|
||||
The default target of the `Makefile' should include the following
|
||||
command:
|
||||
@$(MULTIDO) $(FLAGS_TO_PASS) DO=all multi-do
|
||||
|
||||
This assumes that `$(FLAGS_TO_PASS)' is defined as a set of variables
|
||||
to pass to a recursive invocation of `make'. This will build all the
|
||||
multilibs. Note that the default value of `MULTIDO' is `true', so by
|
||||
default this command will do nothing. It will only do something in the
|
||||
top level `Makefile' if multilibs were enabled.
|
||||
|
||||
The `install' target of the `Makefile' should include the following
|
||||
command:
|
||||
@$(MULTIDO) $(FLAGS_TO_PASS) DO=install multi-do
|
||||
|
||||
In general, any operation, other than clean, which should be
|
||||
performed on all the multilibs should use a `$(MULTIDO)' line, setting
|
||||
the variable `DO' to the target of each recursive call to `make'.
|
||||
|
||||
The `clean' targets (`clean', `mostlyclean', etc.) should use
|
||||
`$(MULTICLEAN)'. For example, the `clean' target should do this:
|
||||
@$(MULTICLEAN) DO=clean multi-clean
|
||||
|
||||
|
||||
File: configure.info, Node: FAQ, Next: Index, Prev: Multilibs, Up: Top
|
||||
|
||||
Frequently Asked Questions
|
||||
**************************
|
||||
|
||||
Which do I run first, `autoconf' or `automake'?
|
||||
Except when you first add autoconf or automake support to a
|
||||
package, you shouldn't run either by hand. Instead, configure
|
||||
with the `--enable-maintainer-mode' option, and let `make' take
|
||||
care of it.
|
||||
|
||||
`autoconf' says something about undefined macros.
|
||||
This means that you have macros in your `configure.in' which are
|
||||
not defined by `autoconf'. You may be using an old version of
|
||||
`autoconf'; try building and installing a newer one. Make sure the
|
||||
newly installled `autoconf' is first on your `PATH'. Also, see
|
||||
the next question.
|
||||
|
||||
My `configure' script has stuff like `CY_GNU_GETTEXT' in it.
|
||||
This means that you have macros in your `configure.in' which should
|
||||
be defined in your `aclocal.m4' file, but aren't. This usually
|
||||
means that `aclocal' was not able to appropriate definitions of the
|
||||
macros. Make sure that you have installed all the packages you
|
||||
need. In particular, make sure that you have installed libtool
|
||||
(this is where `AM_PROG_LIBTOOL' is defined) and gettext (this is
|
||||
where `CY_GNU_GETTEXT' is defined, at least in the Cygnus version
|
||||
of gettext).
|
||||
|
||||
My `Makefile' has `@' characters in it.
|
||||
This may mean that you tried to use an autoconf substitution in
|
||||
your `Makefile.in' without adding the appropriate `AC_SUBST' call
|
||||
to your `configure' script. Or it may just mean that you need to
|
||||
rebuild `Makefile' in your build directory. To rebuild `Makefile'
|
||||
from `Makefile.in', run the shell script `config.status' with no
|
||||
arguments. If you need to force `configure' to run again, first
|
||||
run `config.status --recheck'. These runs are normally done
|
||||
automatically by `Makefile' targets, but if your `Makefile' has
|
||||
gotten messed up you'll need to help them along.
|
||||
|
||||
Why do I have to run both `config.status --recheck' and `config.status'?
|
||||
Normally, you don't; they will be run automatically by `Makefile'
|
||||
targets. If you do need to run them, use `config.status --recheck'
|
||||
to run the `configure' script again with the same arguments as the
|
||||
first time you ran it. Use `config.status' (with no arguments) to
|
||||
regenerate all files (`Makefile', `config.h', etc.) based on the
|
||||
results of the configure script. The two cases are separate
|
||||
because it isn't always necessary to regenerate all the files
|
||||
after running `config.status --recheck'. The `Makefile' targets
|
||||
generated by automake will use the environment variables
|
||||
`CONFIG_FILES' and `CONFIG_HEADERS' to only regenerate files as
|
||||
they are needed.
|
||||
|
||||
What is the Cygnus tree?
|
||||
The Cygnus tree is used for various packages including gdb, the GNU
|
||||
binutils, and egcs. It is also, of course, used for Cygnus
|
||||
releases. It is the build system which was developed at Cygnus,
|
||||
using the Cygnus configure script. It permits building many
|
||||
different packages with a single configure and make. The
|
||||
configure scripts in the tree are being converted to autoconf, but
|
||||
the general build structure remains intact.
|
||||
|
||||
Why do I have to keep rebuilding and reinstalling the tools?
|
||||
I know, it's a pain. Unfortunately, there are bugs in the tools
|
||||
themselves which need to be fixed, and each time that happens
|
||||
everybody who uses the tools need to reinstall new versions of
|
||||
them. I don't know if there is going to be a clever fix until the
|
||||
tools stabilize.
|
||||
|
||||
Why not just have a Cygnus tree `make' target to update the tools?
|
||||
The tools unfortunately need to be installed before they can be
|
||||
used. That means that they must be built using an appropriate
|
||||
prefix, and it seems unwise to assume that every configuration
|
||||
uses an appropriate prefix. It might be possible to make them
|
||||
work in place, or it might be possible to install them in some
|
||||
subdirectory; so far these approaches have not been implemented.
|
||||
|
||||
|
||||
File: configure.info, Node: Index, Prev: FAQ, Up: Top
|
||||
|
||||
Index
|
||||
*****
|
||||
|
||||
* Menu:
|
||||
|
||||
* --build option: Build and Host Options.
|
||||
* --host option: Build and Host Options.
|
||||
* --target option: Specifying the Target.
|
||||
* _GNU_SOURCE: Write configure.in.
|
||||
* AC_CANONICAL_HOST: Using the Host Type.
|
||||
* AC_CANONICAL_SYSTEM: Using the Target Type.
|
||||
* AC_CONFIG_HEADER: Write configure.in.
|
||||
* AC_EXEEXT: Write configure.in.
|
||||
* AC_INIT: Write configure.in.
|
||||
* AC_OUTPUT: Write configure.in.
|
||||
* AC_PREREQ: Write configure.in.
|
||||
* AC_PROG_CC: Write configure.in.
|
||||
* AC_PROG_CXX: Write configure.in.
|
||||
* acconfig.h: Written Developer Files.
|
||||
* acconfig.h, writing: Write acconfig.h.
|
||||
* acinclude.m4: Written Developer Files.
|
||||
* aclocal.m4: Generated Developer Files.
|
||||
* AM_CONFIG_HEADER: Write configure.in.
|
||||
* AM_DISABLE_SHARED: Write configure.in.
|
||||
* AM_EXEEXT: Write configure.in.
|
||||
* AM_INIT_AUTOMAKE: Write configure.in.
|
||||
* AM_MAINTAINER_MODE: Write configure.in.
|
||||
* AM_PROG_LIBTOOL: Write configure.in.
|
||||
* AM_PROG_LIBTOOL in configure: FAQ.
|
||||
* build option: Build and Host Options.
|
||||
* building with a cross compiler: Canadian Cross.
|
||||
* canadian cross: Canadian Cross.
|
||||
* canadian cross in configure: CCross in Configure.
|
||||
* canadian cross in cygnus tree: CCross in Cygnus Tree.
|
||||
* canadian cross in makefile: CCross in Make.
|
||||
* canadian cross, configuring: Build and Host Options.
|
||||
* canonical system names: Configuration Names.
|
||||
* config.cache: Build Files Description.
|
||||
* config.h: Build Files Description.
|
||||
* config.h.in: Generated Developer Files.
|
||||
* config.in: Generated Developer Files.
|
||||
* config.status: Build Files Description.
|
||||
* config.status --recheck: FAQ.
|
||||
* configuration names: Configuration Names.
|
||||
* configuration triplets: Configuration Names.
|
||||
* configure: Generated Developer Files.
|
||||
* configure build system: Build and Host Options.
|
||||
* configure host: Build and Host Options.
|
||||
* configure target: Specifying the Target.
|
||||
* configure.in: Written Developer Files.
|
||||
* configure.in, writing: Write configure.in.
|
||||
* configuring a canadian cross: Build and Host Options.
|
||||
* cross compiler: Cross Compilation Concepts.
|
||||
* cross compiler, building with: Canadian Cross.
|
||||
* cross tools: Cross Compilation Tools.
|
||||
* CY_GNU_GETTEXT in configure: FAQ.
|
||||
* cygnus configure: Cygnus Configure.
|
||||
* goals: Goals.
|
||||
* history: History.
|
||||
* host names: Configuration Names.
|
||||
* host option: Build and Host Options.
|
||||
* host system: Host and Target.
|
||||
* host triplets: Configuration Names.
|
||||
* HOST_CC: CCross in Make.
|
||||
* libg++ configure: Cygnus Configure in C++ Libraries.
|
||||
* libio configure: Cygnus Configure in C++ Libraries.
|
||||
* libstdc++ configure: Cygnus Configure in C++ Libraries.
|
||||
* Makefile: Build Files Description.
|
||||
* Makefile, garbage characters: FAQ.
|
||||
* Makefile.am: Written Developer Files.
|
||||
* Makefile.am, writing: Write Makefile.am.
|
||||
* Makefile.in: Generated Developer Files.
|
||||
* multilibs: Multilibs.
|
||||
* stamp-h: Build Files Description.
|
||||
* stamp-h.in: Generated Developer Files.
|
||||
* system names: Configuration Names.
|
||||
* system types: Configuration Names.
|
||||
* target option: Specifying the Target.
|
||||
* target system: Host and Target.
|
||||
* triplets: Configuration Names.
|
||||
* undefined macros: FAQ.
|
||||
|
||||
|
2644
gnu/dist/toolchain/etc/configure.texi
vendored
Normal file
2644
gnu/dist/toolchain/etc/configure.texi
vendored
Normal file
File diff suppressed because it is too large
Load Diff
4
gnu/dist/toolchain/etc/make-stds.texi
vendored
4
gnu/dist/toolchain/etc/make-stds.texi
vendored
@ -79,7 +79,7 @@ foo.1 : foo.man sedscript
|
||||
|
||||
@noindent
|
||||
will fail when the build directory is not the source directory, because
|
||||
@file{foo.man} and @file{sedscript} are in the source directory.
|
||||
@file{foo.man} and @file{sedscript} are in the the source directory.
|
||||
|
||||
When using GNU @code{make}, relying on @samp{VPATH} to find the source
|
||||
file will work in the case where there is a single dependency file,
|
||||
@ -745,7 +745,7 @@ The easiest way to do this is to create a subdirectory appropriately
|
||||
named, use @code{ln} or @code{cp} to install the proper files in it, and
|
||||
then @code{tar} that subdirectory.
|
||||
|
||||
Compress the tar file with @code{gzip}. For example, the actual
|
||||
Compress the tar file file with @code{gzip}. For example, the actual
|
||||
distribution file for GCC version 1.40 is called @file{gcc-1.40.tar.gz}.
|
||||
|
||||
The @code{dist} target should explicitly depend on all non-source files
|
||||
|
3833
gnu/dist/toolchain/etc/standards.info
vendored
Normal file
3833
gnu/dist/toolchain/etc/standards.info
vendored
Normal file
File diff suppressed because it is too large
Load Diff
2
gnu/dist/toolchain/etc/standards.texi
vendored
2
gnu/dist/toolchain/etc/standards.texi
vendored
@ -2593,7 +2593,7 @@ also contain this information. If the manual is changing more
|
||||
frequently than or independent of the program, also state a version
|
||||
number for the manual in both of these places.
|
||||
|
||||
Each program documented in the manual should have a node named
|
||||
Each program documented in the manual should should have a node named
|
||||
@samp{@var{program} Invocation} or @samp{Invoking @var{program}}. This
|
||||
node (together with its subnodes, if any) should describe the program's
|
||||
command line arguments and how to run it (the sort of information people
|
||||
|
37
gnu/dist/toolchain/gas/ChangeLog
vendored
37
gnu/dist/toolchain/gas/ChangeLog
vendored
@ -1,3 +1,40 @@
|
||||
2000-11-02 Theo Honohan <th@futuretv.com>
|
||||
|
||||
* config/tc-arm.c (do_msr): Improve error message.
|
||||
|
||||
2000-11-01 Philip Blundell <philb@gnu.org>
|
||||
|
||||
From 2000-08-01 Nick Clifton <nickc@cygnus.com>
|
||||
* config/tc-arm.c (do_mrs): Fix skip of 'cpsr_all' flag.
|
||||
|
||||
2000-10-16 Philip Blundell <pb@futuretv.com>
|
||||
|
||||
* configure.in: Set version number to 2.10.1.
|
||||
* configure: Regenerate.
|
||||
|
||||
2000-10-14 Philip Blundell <philb@gnu.org>
|
||||
|
||||
From 2000-06-17 Mark Elbrecht <snowball3@bigfoot.com>
|
||||
|
||||
* config/obj-coff.c (obj_coff_weak): Typo fix: Change BFD_ASSEMLER
|
||||
to BFD_ASSEMBLER.
|
||||
|
||||
2000-09-08 Philip Blundell <philb@gnu.org>
|
||||
|
||||
* config/tc-arm.c (md_apply_fix3): Correct handling of ADRL when
|
||||
offset is negative.
|
||||
|
||||
2000-08-30 Matthew Jacob <mjacob@feral.com>
|
||||
|
||||
* config/tc-alpha.c (md_undefined_symbol): Properly understand that
|
||||
$at is the integer register $r28, vs. both $r28 and the floating
|
||||
point register $f28.
|
||||
|
||||
2000-04-14 Matthew Green <mrg@cygnus.com>
|
||||
|
||||
* configure.in: Add NetBSD/sparc ELF and NetBSD/sparc64 support.
|
||||
* configure: Regenerate.
|
||||
|
||||
2000-06-09 Nick Clifton <nickc@cygnus.com>
|
||||
|
||||
* config/tc-arm.c (cons_fix_new_arm): Assign correct reloc value
|
||||
|
2
gnu/dist/toolchain/gas/config/obj-coff.c
vendored
2
gnu/dist/toolchain/gas/config/obj-coff.c
vendored
@ -213,7 +213,7 @@ obj_coff_weak (ignore)
|
||||
*input_line_pointer = c;
|
||||
SKIP_WHITESPACE ();
|
||||
|
||||
#ifdef BFD_ASSEMLER
|
||||
#ifdef BFD_ASSEMBLER
|
||||
S_SET_WEAK (symbolP);
|
||||
#endif
|
||||
|
||||
|
620
gnu/dist/toolchain/gas/doc/as.info
vendored
620
gnu/dist/toolchain/gas/doc/as.info
vendored
@ -25,319 +25,319 @@ versions.
|
||||
|
||||
Indirect:
|
||||
as.info-1: 866
|
||||
as.info-2: 50538
|
||||
as.info-3: 100405
|
||||
as.info-4: 149817
|
||||
as.info-5: 198317
|
||||
as.info-6: 244878
|
||||
as.info-7: 294771
|
||||
as.info-8: 315443
|
||||
as.info-2: 50540
|
||||
as.info-3: 100407
|
||||
as.info-4: 149819
|
||||
as.info-5: 198319
|
||||
as.info-6: 244880
|
||||
as.info-7: 294773
|
||||
as.info-8: 315445
|
||||
|
||||
Tag Table:
|
||||
(Indirect)
|
||||
Node: Top866
|
||||
Node: Overview1538
|
||||
Node: Manual13605
|
||||
Node: GNU Assembler14544
|
||||
Node: Object Formats15710
|
||||
Node: Command Line16157
|
||||
Node: Input Files17239
|
||||
Node: Object19218
|
||||
Node: Errors20165
|
||||
Node: Invoking21355
|
||||
Node: a23201
|
||||
Node: D24535
|
||||
Node: f24755
|
||||
Node: I25258
|
||||
Node: K25797
|
||||
Node: L26096
|
||||
Node: M26922
|
||||
Node: MD31312
|
||||
Node: o31731
|
||||
Node: R32179
|
||||
Node: statistics33195
|
||||
Node: traditional-format33595
|
||||
Node: v34061
|
||||
Node: W34329
|
||||
Node: Z35229
|
||||
Node: Syntax35744
|
||||
Node: Preprocessing36334
|
||||
Node: Whitespace37894
|
||||
Node: Comments38284
|
||||
Node: Symbol Intro40304
|
||||
Node: Statements40987
|
||||
Node: Constants42901
|
||||
Node: Characters43527
|
||||
Node: Strings44020
|
||||
Node: Chars46173
|
||||
Node: Numbers46914
|
||||
Node: Integers47445
|
||||
Node: Bignums48088
|
||||
Node: Flonums48431
|
||||
Node: Sections50164
|
||||
Node: Secs Background50538
|
||||
Node: Ld Sections55564
|
||||
Node: As Sections57958
|
||||
Node: Sub-Sections58863
|
||||
Node: bss61862
|
||||
Node: Symbols62807
|
||||
Node: Labels63454
|
||||
Node: Setting Symbols64180
|
||||
Node: Symbol Names64545
|
||||
Node: Dot67507
|
||||
Node: Symbol Attributes67949
|
||||
Node: Symbol Value68681
|
||||
Node: Symbol Type69717
|
||||
Node: a.out Symbols70096
|
||||
Node: Symbol Desc70346
|
||||
Node: Symbol Other70628
|
||||
Node: COFF Symbols70784
|
||||
Node: SOM Symbols71413
|
||||
Node: Expressions71846
|
||||
Node: Empty Exprs72594
|
||||
Node: Integer Exprs72936
|
||||
Node: Arguments73326
|
||||
Node: Operators74423
|
||||
Node: Prefix Ops74749
|
||||
Node: Infix Ops75068
|
||||
Node: Pseudo Ops76560
|
||||
Node: Abort80777
|
||||
Node: ABORT81178
|
||||
Node: Align81440
|
||||
Node: Ascii83629
|
||||
Node: Asciz83930
|
||||
Node: Balign84170
|
||||
Node: Byte86028
|
||||
Node: Comm86261
|
||||
Node: Data87620
|
||||
Node: Def87930
|
||||
Node: Desc88298
|
||||
Node: Dim88791
|
||||
Node: Double89182
|
||||
Node: Eject89513
|
||||
Node: Else89681
|
||||
Node: Elseif89971
|
||||
Node: End90255
|
||||
Node: Endef90463
|
||||
Node: Endfunc90786
|
||||
Node: Endif90954
|
||||
Node: Equ91207
|
||||
Node: Equiv91510
|
||||
Node: Err91906
|
||||
Node: Exitm92209
|
||||
Node: Extern92369
|
||||
Node: Fail92623
|
||||
Node: File93061
|
||||
Node: Fill93670
|
||||
Node: Float94627
|
||||
Node: Func94961
|
||||
Node: Global95541
|
||||
Node: hword96283
|
||||
Node: Ident96604
|
||||
Node: If96904
|
||||
Node: Include99496
|
||||
Node: Int100036
|
||||
Node: Irp100405
|
||||
Node: Irpc101199
|
||||
Node: Lcomm102018
|
||||
Node: Lflags102759
|
||||
Node: Line102946
|
||||
Node: Linkonce103969
|
||||
Node: Ln105189
|
||||
Node: MRI105337
|
||||
Node: List105664
|
||||
Node: Long106267
|
||||
Node: Macro106437
|
||||
Node: Nolist108821
|
||||
Node: Octa109237
|
||||
Node: Org109563
|
||||
Node: P2align110838
|
||||
Node: Print112754
|
||||
Node: Psize112971
|
||||
Node: Purgem113644
|
||||
Node: Quad113851
|
||||
Node: Rept114292
|
||||
Node: Sbttl114698
|
||||
Node: Scl115056
|
||||
Node: Section115552
|
||||
Node: Set117953
|
||||
Node: Short118505
|
||||
Node: Single118818
|
||||
Node: Size119155
|
||||
Node: Sleb128119550
|
||||
Node: Skip119865
|
||||
Node: Space120180
|
||||
Node: Stab121065
|
||||
Node: String123060
|
||||
Node: Struct123479
|
||||
Node: Symver124191
|
||||
Node: Tag125776
|
||||
Node: Text126284
|
||||
Node: Title126596
|
||||
Node: Type126968
|
||||
Node: Val127344
|
||||
Node: Uleb128127705
|
||||
Node: Visibility128027
|
||||
Node: Word129070
|
||||
Node: Deprecated130906
|
||||
Node: Machine Dependencies131131
|
||||
Node: ARC-Dependent133009
|
||||
Node: ARC-Opts133323
|
||||
Node: ARC-Float134057
|
||||
Node: ARC-Directives134355
|
||||
Node: AMD29K-Dependent134748
|
||||
Node: AMD29K Options135129
|
||||
Node: AMD29K Syntax135303
|
||||
Node: AMD29K-Macros135567
|
||||
Node: AMD29K-Chars135818
|
||||
Node: AMD29K-Regs136081
|
||||
Node: AMD29K Floating Point137345
|
||||
Node: AMD29K Directives137551
|
||||
Node: AMD29K Opcodes138959
|
||||
Node: ARM-Dependent139295
|
||||
Node: ARM Options139669
|
||||
Node: ARM Syntax142169
|
||||
Node: ARM-Chars142389
|
||||
Node: ARM-Regs142941
|
||||
Node: ARM Floating Point143113
|
||||
Node: ARM Directives143303
|
||||
Node: ARM Opcodes145309
|
||||
Node: D10V-Dependent147362
|
||||
Node: D10V-Opts147704
|
||||
Node: D10V-Syntax148337
|
||||
Node: D10V-Size148857
|
||||
Node: D10V-Subs149817
|
||||
Node: D10V-Chars150839
|
||||
Node: D10V-Regs152425
|
||||
Node: D10V-Addressing153456
|
||||
Node: D10V-Word154129
|
||||
Node: D10V-Float154630
|
||||
Node: D10V-Opcodes154932
|
||||
Node: D30V-Dependent155316
|
||||
Node: D30V-Opts155661
|
||||
Node: D30V-Syntax156327
|
||||
Node: D30V-Size156850
|
||||
Node: D30V-Subs157808
|
||||
Node: D30V-Chars158830
|
||||
Node: D30V-Guarded161115
|
||||
Node: D30V-Regs161783
|
||||
Node: D30V-Addressing162909
|
||||
Node: D30V-Float163564
|
||||
Node: D30V-Opcodes163866
|
||||
Node: H8/300-Dependent164250
|
||||
Node: H8/300 Options164654
|
||||
Node: H8/300 Syntax164835
|
||||
Node: H8/300-Chars165122
|
||||
Node: H8/300-Regs165406
|
||||
Node: H8/300-Addressing166310
|
||||
Node: H8/300 Floating Point167336
|
||||
Node: H8/300 Directives167652
|
||||
Node: H8/300 Opcodes168172
|
||||
Node: H8/500-Dependent176525
|
||||
Node: H8/500 Options176929
|
||||
Node: H8/500 Syntax177110
|
||||
Node: H8/500-Chars177397
|
||||
Node: H8/500-Regs177688
|
||||
Node: H8/500-Addressing178444
|
||||
Node: H8/500 Floating Point179061
|
||||
Node: H8/500 Directives179377
|
||||
Node: H8/500 Opcodes179696
|
||||
Node: HPPA-Dependent184809
|
||||
Node: HPPA Notes185234
|
||||
Node: HPPA Options185981
|
||||
Node: HPPA Syntax186165
|
||||
Node: HPPA Floating Point187424
|
||||
Node: HPPA Directives187619
|
||||
Node: HPPA Opcodes194210
|
||||
Node: ESA/390-Dependent194458
|
||||
Node: ESA/390 Notes194908
|
||||
Node: ESA/390 Options195688
|
||||
Node: ESA/390 Syntax195887
|
||||
Node: ESA/390 Floating Point198048
|
||||
Node: ESA/390 Directives198317
|
||||
Node: ESA/390 Opcodes201594
|
||||
Node: i386-Dependent201845
|
||||
Node: i386-Options202653
|
||||
Node: i386-Syntax202797
|
||||
Node: i386-Mnemonics204910
|
||||
Node: i386-Regs207052
|
||||
Node: i386-Prefixes208195
|
||||
Node: i386-Memory210283
|
||||
Node: i386-jumps212592
|
||||
Node: i386-Float213682
|
||||
Node: i386-SIMD215500
|
||||
Node: i386-16bit216598
|
||||
Node: i386-Bugs218561
|
||||
Node: i386-Notes219301
|
||||
Node: i960-Dependent220141
|
||||
Node: Options-i960220533
|
||||
Node: Floating Point-i960224414
|
||||
Node: Directives-i960224671
|
||||
Node: Opcodes for i960226691
|
||||
Node: callj-i960227297
|
||||
Node: Compare-and-branch-i960227772
|
||||
Node: M68K-Dependent229661
|
||||
Node: M68K-Opts230115
|
||||
Node: M68K-Syntax235063
|
||||
Node: M68K-Moto-Syntax236891
|
||||
Node: M68K-Float239469
|
||||
Node: M68K-Directives239978
|
||||
Node: M68K-opcodes240573
|
||||
Node: M68K-Branch240785
|
||||
Node: M68K-Chars243600
|
||||
Node: MIPS-Dependent243998
|
||||
Node: MIPS Opts244878
|
||||
Node: MIPS Object248908
|
||||
Node: MIPS Stabs250463
|
||||
Node: MIPS ISA251174
|
||||
Node: MIPS autoextend252282
|
||||
Node: MIPS insn252993
|
||||
Node: MIPS option stack253479
|
||||
Node: PJ-Dependent254192
|
||||
Node: PJ Options254405
|
||||
Node: SH-Dependent254672
|
||||
Node: SH Options255052
|
||||
Node: SH Syntax255217
|
||||
Node: SH-Chars255476
|
||||
Node: SH-Regs255755
|
||||
Node: SH-Addressing256354
|
||||
Node: SH Floating Point257248
|
||||
Node: SH Directives257544
|
||||
Node: SH Opcodes257900
|
||||
Node: Sparc-Dependent262147
|
||||
Node: Sparc-Opts262519
|
||||
Node: Sparc-Aligned-Data264765
|
||||
Node: Sparc-Float265609
|
||||
Node: Sparc-Directives265799
|
||||
Node: Z8000-Dependent267748
|
||||
Node: Z8000 Options268707
|
||||
Node: Z8000 Syntax268882
|
||||
Node: Z8000-Chars269158
|
||||
Node: Z8000-Regs269376
|
||||
Node: Z8000-Addressing270166
|
||||
Node: Z8000 Directives271109
|
||||
Node: Z8000 Opcodes272707
|
||||
Node: Vax-Dependent282643
|
||||
Node: VAX-Opts283150
|
||||
Node: VAX-float286874
|
||||
Node: VAX-directives287495
|
||||
Node: VAX-opcodes288344
|
||||
Node: VAX-branch288722
|
||||
Node: VAX-operands291218
|
||||
Node: VAX-no291970
|
||||
Node: V850-Dependent292196
|
||||
Node: V850 Options292582
|
||||
Node: V850 Syntax294395
|
||||
Node: V850-Chars294621
|
||||
Node: V850-Regs294771
|
||||
Node: V850 Floating Point296308
|
||||
Node: V850 Directives296503
|
||||
Node: V850 Opcodes297403
|
||||
Node: Reporting Bugs302688
|
||||
Node: Bug Criteria303411
|
||||
Node: Bug Reporting304171
|
||||
Node: Acknowledgements310740
|
||||
Ref: Acknowledgements-Footnote-1315417
|
||||
Node: Index315443
|
||||
Node: Overview1540
|
||||
Node: Manual13607
|
||||
Node: GNU Assembler14546
|
||||
Node: Object Formats15712
|
||||
Node: Command Line16159
|
||||
Node: Input Files17241
|
||||
Node: Object19220
|
||||
Node: Errors20167
|
||||
Node: Invoking21357
|
||||
Node: a23203
|
||||
Node: D24537
|
||||
Node: f24757
|
||||
Node: I25260
|
||||
Node: K25799
|
||||
Node: L26098
|
||||
Node: M26924
|
||||
Node: MD31314
|
||||
Node: o31733
|
||||
Node: R32181
|
||||
Node: statistics33197
|
||||
Node: traditional-format33597
|
||||
Node: v34063
|
||||
Node: W34331
|
||||
Node: Z35231
|
||||
Node: Syntax35746
|
||||
Node: Preprocessing36336
|
||||
Node: Whitespace37896
|
||||
Node: Comments38286
|
||||
Node: Symbol Intro40306
|
||||
Node: Statements40989
|
||||
Node: Constants42903
|
||||
Node: Characters43529
|
||||
Node: Strings44022
|
||||
Node: Chars46175
|
||||
Node: Numbers46916
|
||||
Node: Integers47447
|
||||
Node: Bignums48090
|
||||
Node: Flonums48433
|
||||
Node: Sections50166
|
||||
Node: Secs Background50540
|
||||
Node: Ld Sections55566
|
||||
Node: As Sections57960
|
||||
Node: Sub-Sections58865
|
||||
Node: bss61864
|
||||
Node: Symbols62809
|
||||
Node: Labels63456
|
||||
Node: Setting Symbols64182
|
||||
Node: Symbol Names64547
|
||||
Node: Dot67509
|
||||
Node: Symbol Attributes67951
|
||||
Node: Symbol Value68683
|
||||
Node: Symbol Type69719
|
||||
Node: a.out Symbols70098
|
||||
Node: Symbol Desc70348
|
||||
Node: Symbol Other70630
|
||||
Node: COFF Symbols70786
|
||||
Node: SOM Symbols71415
|
||||
Node: Expressions71848
|
||||
Node: Empty Exprs72596
|
||||
Node: Integer Exprs72938
|
||||
Node: Arguments73328
|
||||
Node: Operators74425
|
||||
Node: Prefix Ops74751
|
||||
Node: Infix Ops75070
|
||||
Node: Pseudo Ops76562
|
||||
Node: Abort80779
|
||||
Node: ABORT81180
|
||||
Node: Align81442
|
||||
Node: Ascii83631
|
||||
Node: Asciz83932
|
||||
Node: Balign84172
|
||||
Node: Byte86030
|
||||
Node: Comm86263
|
||||
Node: Data87622
|
||||
Node: Def87932
|
||||
Node: Desc88300
|
||||
Node: Dim88793
|
||||
Node: Double89184
|
||||
Node: Eject89515
|
||||
Node: Else89683
|
||||
Node: Elseif89973
|
||||
Node: End90257
|
||||
Node: Endef90465
|
||||
Node: Endfunc90788
|
||||
Node: Endif90956
|
||||
Node: Equ91209
|
||||
Node: Equiv91512
|
||||
Node: Err91908
|
||||
Node: Exitm92211
|
||||
Node: Extern92371
|
||||
Node: Fail92625
|
||||
Node: File93063
|
||||
Node: Fill93672
|
||||
Node: Float94629
|
||||
Node: Func94963
|
||||
Node: Global95543
|
||||
Node: hword96285
|
||||
Node: Ident96606
|
||||
Node: If96906
|
||||
Node: Include99498
|
||||
Node: Int100038
|
||||
Node: Irp100407
|
||||
Node: Irpc101201
|
||||
Node: Lcomm102020
|
||||
Node: Lflags102761
|
||||
Node: Line102948
|
||||
Node: Linkonce103971
|
||||
Node: Ln105191
|
||||
Node: MRI105339
|
||||
Node: List105666
|
||||
Node: Long106269
|
||||
Node: Macro106439
|
||||
Node: Nolist108823
|
||||
Node: Octa109239
|
||||
Node: Org109565
|
||||
Node: P2align110840
|
||||
Node: Print112756
|
||||
Node: Psize112973
|
||||
Node: Purgem113646
|
||||
Node: Quad113853
|
||||
Node: Rept114294
|
||||
Node: Sbttl114700
|
||||
Node: Scl115058
|
||||
Node: Section115554
|
||||
Node: Set117955
|
||||
Node: Short118507
|
||||
Node: Single118820
|
||||
Node: Size119157
|
||||
Node: Sleb128119552
|
||||
Node: Skip119867
|
||||
Node: Space120182
|
||||
Node: Stab121067
|
||||
Node: String123062
|
||||
Node: Struct123481
|
||||
Node: Symver124193
|
||||
Node: Tag125778
|
||||
Node: Text126286
|
||||
Node: Title126598
|
||||
Node: Type126970
|
||||
Node: Val127346
|
||||
Node: Uleb128127707
|
||||
Node: Visibility128029
|
||||
Node: Word129072
|
||||
Node: Deprecated130908
|
||||
Node: Machine Dependencies131133
|
||||
Node: ARC-Dependent133011
|
||||
Node: ARC-Opts133325
|
||||
Node: ARC-Float134059
|
||||
Node: ARC-Directives134357
|
||||
Node: AMD29K-Dependent134750
|
||||
Node: AMD29K Options135131
|
||||
Node: AMD29K Syntax135305
|
||||
Node: AMD29K-Macros135569
|
||||
Node: AMD29K-Chars135820
|
||||
Node: AMD29K-Regs136083
|
||||
Node: AMD29K Floating Point137347
|
||||
Node: AMD29K Directives137553
|
||||
Node: AMD29K Opcodes138961
|
||||
Node: ARM-Dependent139297
|
||||
Node: ARM Options139671
|
||||
Node: ARM Syntax142171
|
||||
Node: ARM-Chars142391
|
||||
Node: ARM-Regs142943
|
||||
Node: ARM Floating Point143115
|
||||
Node: ARM Directives143305
|
||||
Node: ARM Opcodes145311
|
||||
Node: D10V-Dependent147364
|
||||
Node: D10V-Opts147706
|
||||
Node: D10V-Syntax148339
|
||||
Node: D10V-Size148859
|
||||
Node: D10V-Subs149819
|
||||
Node: D10V-Chars150841
|
||||
Node: D10V-Regs152427
|
||||
Node: D10V-Addressing153458
|
||||
Node: D10V-Word154131
|
||||
Node: D10V-Float154632
|
||||
Node: D10V-Opcodes154934
|
||||
Node: D30V-Dependent155318
|
||||
Node: D30V-Opts155663
|
||||
Node: D30V-Syntax156329
|
||||
Node: D30V-Size156852
|
||||
Node: D30V-Subs157810
|
||||
Node: D30V-Chars158832
|
||||
Node: D30V-Guarded161117
|
||||
Node: D30V-Regs161785
|
||||
Node: D30V-Addressing162911
|
||||
Node: D30V-Float163566
|
||||
Node: D30V-Opcodes163868
|
||||
Node: H8/300-Dependent164252
|
||||
Node: H8/300 Options164656
|
||||
Node: H8/300 Syntax164837
|
||||
Node: H8/300-Chars165124
|
||||
Node: H8/300-Regs165408
|
||||
Node: H8/300-Addressing166312
|
||||
Node: H8/300 Floating Point167338
|
||||
Node: H8/300 Directives167654
|
||||
Node: H8/300 Opcodes168174
|
||||
Node: H8/500-Dependent176527
|
||||
Node: H8/500 Options176931
|
||||
Node: H8/500 Syntax177112
|
||||
Node: H8/500-Chars177399
|
||||
Node: H8/500-Regs177690
|
||||
Node: H8/500-Addressing178446
|
||||
Node: H8/500 Floating Point179063
|
||||
Node: H8/500 Directives179379
|
||||
Node: H8/500 Opcodes179698
|
||||
Node: HPPA-Dependent184811
|
||||
Node: HPPA Notes185236
|
||||
Node: HPPA Options185983
|
||||
Node: HPPA Syntax186167
|
||||
Node: HPPA Floating Point187426
|
||||
Node: HPPA Directives187621
|
||||
Node: HPPA Opcodes194212
|
||||
Node: ESA/390-Dependent194460
|
||||
Node: ESA/390 Notes194910
|
||||
Node: ESA/390 Options195690
|
||||
Node: ESA/390 Syntax195889
|
||||
Node: ESA/390 Floating Point198050
|
||||
Node: ESA/390 Directives198319
|
||||
Node: ESA/390 Opcodes201596
|
||||
Node: i386-Dependent201847
|
||||
Node: i386-Options202655
|
||||
Node: i386-Syntax202799
|
||||
Node: i386-Mnemonics204912
|
||||
Node: i386-Regs207054
|
||||
Node: i386-Prefixes208197
|
||||
Node: i386-Memory210285
|
||||
Node: i386-jumps212594
|
||||
Node: i386-Float213684
|
||||
Node: i386-SIMD215502
|
||||
Node: i386-16bit216600
|
||||
Node: i386-Bugs218563
|
||||
Node: i386-Notes219303
|
||||
Node: i960-Dependent220143
|
||||
Node: Options-i960220535
|
||||
Node: Floating Point-i960224416
|
||||
Node: Directives-i960224673
|
||||
Node: Opcodes for i960226693
|
||||
Node: callj-i960227299
|
||||
Node: Compare-and-branch-i960227774
|
||||
Node: M68K-Dependent229663
|
||||
Node: M68K-Opts230117
|
||||
Node: M68K-Syntax235065
|
||||
Node: M68K-Moto-Syntax236893
|
||||
Node: M68K-Float239471
|
||||
Node: M68K-Directives239980
|
||||
Node: M68K-opcodes240575
|
||||
Node: M68K-Branch240787
|
||||
Node: M68K-Chars243602
|
||||
Node: MIPS-Dependent244000
|
||||
Node: MIPS Opts244880
|
||||
Node: MIPS Object248910
|
||||
Node: MIPS Stabs250465
|
||||
Node: MIPS ISA251176
|
||||
Node: MIPS autoextend252284
|
||||
Node: MIPS insn252995
|
||||
Node: MIPS option stack253481
|
||||
Node: PJ-Dependent254194
|
||||
Node: PJ Options254407
|
||||
Node: SH-Dependent254674
|
||||
Node: SH Options255054
|
||||
Node: SH Syntax255219
|
||||
Node: SH-Chars255478
|
||||
Node: SH-Regs255757
|
||||
Node: SH-Addressing256356
|
||||
Node: SH Floating Point257250
|
||||
Node: SH Directives257546
|
||||
Node: SH Opcodes257902
|
||||
Node: Sparc-Dependent262149
|
||||
Node: Sparc-Opts262521
|
||||
Node: Sparc-Aligned-Data264767
|
||||
Node: Sparc-Float265611
|
||||
Node: Sparc-Directives265801
|
||||
Node: Z8000-Dependent267750
|
||||
Node: Z8000 Options268709
|
||||
Node: Z8000 Syntax268884
|
||||
Node: Z8000-Chars269160
|
||||
Node: Z8000-Regs269378
|
||||
Node: Z8000-Addressing270168
|
||||
Node: Z8000 Directives271111
|
||||
Node: Z8000 Opcodes272709
|
||||
Node: Vax-Dependent282645
|
||||
Node: VAX-Opts283152
|
||||
Node: VAX-float286876
|
||||
Node: VAX-directives287497
|
||||
Node: VAX-opcodes288346
|
||||
Node: VAX-branch288724
|
||||
Node: VAX-operands291220
|
||||
Node: VAX-no291972
|
||||
Node: V850-Dependent292198
|
||||
Node: V850 Options292584
|
||||
Node: V850 Syntax294397
|
||||
Node: V850-Chars294623
|
||||
Node: V850-Regs294773
|
||||
Node: V850 Floating Point296310
|
||||
Node: V850 Directives296505
|
||||
Node: V850 Opcodes297405
|
||||
Node: Reporting Bugs302690
|
||||
Node: Bug Criteria303413
|
||||
Node: Bug Reporting304173
|
||||
Node: Acknowledgements310742
|
||||
Ref: Acknowledgements-Footnote-1315419
|
||||
Node: Index315445
|
||||
|
||||
End Tag Table
|
||||
|
2
gnu/dist/toolchain/gas/doc/as.info-1
vendored
2
gnu/dist/toolchain/gas/doc/as.info-1
vendored
@ -28,7 +28,7 @@ File: as.info, Node: Top, Next: Overview, Up: (dir)
|
||||
Using as
|
||||
********
|
||||
|
||||
This file is a user guide to the GNU assembler `as' version 2.10.
|
||||
This file is a user guide to the GNU assembler `as' version 2.10.1.
|
||||
|
||||
* Menu:
|
||||
|
||||
|
2
gnu/dist/toolchain/gas/doc/gasver.texi
vendored
2
gnu/dist/toolchain/gas/doc/gasver.texi
vendored
@ -1 +1 @@
|
||||
@set VERSION 2.10
|
||||
@set VERSION 2.10.1
|
||||
|
5
gnu/dist/toolchain/gprof/ChangeLog
vendored
5
gnu/dist/toolchain/gprof/ChangeLog
vendored
@ -1,3 +1,8 @@
|
||||
2000-10-16 Philip Blundell <pb@futuretv.com>
|
||||
|
||||
* configure.in: Set version number to 2.10.1.
|
||||
* configure: Regenerate.
|
||||
|
||||
2000-06-07 Philippe De Muyter <phdm@macqel.be>
|
||||
|
||||
* source.c: Remove direct inclusion of sys/stat.h.
|
||||
|
336
gnu/dist/toolchain/gprof/configure
vendored
336
gnu/dist/toolchain/gprof/configure
vendored
File diff suppressed because it is too large
Load Diff
2
gnu/dist/toolchain/gprof/configure.in
vendored
2
gnu/dist/toolchain/gprof/configure.in
vendored
@ -4,7 +4,7 @@ AC_INIT(gprof.c)
|
||||
|
||||
AC_CANONICAL_SYSTEM
|
||||
|
||||
AM_INIT_AUTOMAKE(gprof, 2.10)
|
||||
AM_INIT_AUTOMAKE(gprof, 2.10.1)
|
||||
|
||||
AM_PROG_LIBTOOL
|
||||
|
||||
|
4
gnu/dist/toolchain/include/ChangeLog
vendored
4
gnu/dist/toolchain/include/ChangeLog
vendored
@ -1,3 +1,7 @@
|
||||
2000-10-23 Philip Blundell <pb@futuretv.com>
|
||||
|
||||
* demangle.h, dyn-string.h: Update from trunk version.
|
||||
|
||||
2000-05-26 Eli Zaretskii <eliz@is.elta.co.il>
|
||||
|
||||
* filenames.h: New file.
|
||||
|
63
gnu/dist/toolchain/include/demangle.h
vendored
63
gnu/dist/toolchain/include/demangle.h
vendored
@ -24,21 +24,23 @@
|
||||
|
||||
/* Options passed to cplus_demangle (in 2nd parameter). */
|
||||
|
||||
#define DMGL_NO_OPTS 0 /* For readability... */
|
||||
#define DMGL_PARAMS (1 << 0) /* Include function args */
|
||||
#define DMGL_ANSI (1 << 1) /* Include const, volatile, etc */
|
||||
#define DMGL_JAVA (1 << 2) /* Demangle as Java rather than C++. */
|
||||
#define DMGL_NO_OPTS 0 /* For readability... */
|
||||
#define DMGL_PARAMS (1 << 0) /* Include function args */
|
||||
#define DMGL_ANSI (1 << 1) /* Include const, volatile, etc */
|
||||
#define DMGL_JAVA (1 << 2) /* Demangle as Java rather than C++. */
|
||||
|
||||
#define DMGL_AUTO (1 << 8)
|
||||
#define DMGL_GNU (1 << 9)
|
||||
#define DMGL_LUCID (1 << 10)
|
||||
#define DMGL_ARM (1 << 11)
|
||||
#define DMGL_HP (1 << 12) /* For the HP aCC compiler; same as ARM
|
||||
except for template arguments, etc. */
|
||||
#define DMGL_EDG (1 << 13)
|
||||
#define DMGL_AUTO (1 << 8)
|
||||
#define DMGL_GNU (1 << 9)
|
||||
#define DMGL_LUCID (1 << 10)
|
||||
#define DMGL_ARM (1 << 11)
|
||||
#define DMGL_HP (1 << 12) /* For the HP aCC compiler;
|
||||
same as ARM except for
|
||||
template arguments, etc. */
|
||||
#define DMGL_EDG (1 << 13)
|
||||
#define DMGL_GNU_NEW_ABI (1 << 14)
|
||||
|
||||
/* If none of these are set, use 'current_demangling_style' as the default. */
|
||||
#define DMGL_STYLE_MASK (DMGL_AUTO|DMGL_GNU|DMGL_LUCID|DMGL_ARM|DMGL_HP|DMGL_EDG)
|
||||
#define DMGL_STYLE_MASK (DMGL_AUTO|DMGL_GNU|DMGL_LUCID|DMGL_ARM|DMGL_HP|DMGL_EDG|DMGL_GNU_NEW_ABI)
|
||||
|
||||
/* Enumeration of possible demangling styles.
|
||||
|
||||
@ -56,17 +58,19 @@ extern enum demangling_styles
|
||||
lucid_demangling = DMGL_LUCID,
|
||||
arm_demangling = DMGL_ARM,
|
||||
hp_demangling = DMGL_HP,
|
||||
edg_demangling = DMGL_EDG
|
||||
edg_demangling = DMGL_EDG,
|
||||
gnu_new_abi_demangling = DMGL_GNU_NEW_ABI
|
||||
} current_demangling_style;
|
||||
|
||||
/* Define string names for the various demangling styles. */
|
||||
|
||||
#define AUTO_DEMANGLING_STYLE_STRING "auto"
|
||||
#define GNU_DEMANGLING_STYLE_STRING "gnu"
|
||||
#define LUCID_DEMANGLING_STYLE_STRING "lucid"
|
||||
#define ARM_DEMANGLING_STYLE_STRING "arm"
|
||||
#define HP_DEMANGLING_STYLE_STRING "hp"
|
||||
#define EDG_DEMANGLING_STYLE_STRING "edg"
|
||||
#define AUTO_DEMANGLING_STYLE_STRING "auto"
|
||||
#define GNU_DEMANGLING_STYLE_STRING "gnu"
|
||||
#define LUCID_DEMANGLING_STYLE_STRING "lucid"
|
||||
#define ARM_DEMANGLING_STYLE_STRING "arm"
|
||||
#define HP_DEMANGLING_STYLE_STRING "hp"
|
||||
#define EDG_DEMANGLING_STYLE_STRING "edg"
|
||||
#define GNU_NEW_ABI_DEMANGLING_STYLE_STRING "gnu-new-abi"
|
||||
|
||||
/* Some macros to test what demangling style is active. */
|
||||
|
||||
@ -77,6 +81,17 @@ extern enum demangling_styles
|
||||
#define ARM_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_ARM)
|
||||
#define HP_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_HP)
|
||||
#define EDG_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_EDG)
|
||||
#define GNU_NEW_ABI_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_GNU_NEW_ABI)
|
||||
|
||||
/* Provide information about the available demangle styles. This code is
|
||||
pulled from gdb into libiberty because it is useful to binutils also. */
|
||||
|
||||
extern struct demangler_engine
|
||||
{
|
||||
const char *demangling_style_name;
|
||||
enum demangling_styles demangling_style;
|
||||
const char *demangling_style_doc;
|
||||
} libiberty_demanglers[];
|
||||
|
||||
extern char *
|
||||
cplus_demangle PARAMS ((const char *mangled, int options));
|
||||
@ -92,4 +107,14 @@ cplus_mangle_opname PARAMS ((const char *opname, int options));
|
||||
extern void
|
||||
set_cplus_marker_for_demangling PARAMS ((int ch));
|
||||
|
||||
extern enum demangling_styles
|
||||
cplus_demangle_set_style PARAMS ((enum demangling_styles style));
|
||||
|
||||
extern enum demangling_styles
|
||||
cplus_demangle_name_to_style PARAMS ((const char *name));
|
||||
|
||||
/* New-ABI demangling entry point, defined in cp-demangle.c. */
|
||||
extern char*
|
||||
cplus_demangle_new_abi PARAMS ((const char* mangled));
|
||||
|
||||
#endif /* DEMANGLE_H */
|
||||
|
92
gnu/dist/toolchain/include/dyn-string.h
vendored
Normal file
92
gnu/dist/toolchain/include/dyn-string.h
vendored
Normal file
@ -0,0 +1,92 @@
|
||||
/* An abstract string datatype.
|
||||
Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
Contributed by Mark Mitchell (mark@markmitchell.com).
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
GNU CC is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU CC 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 CC; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
|
||||
typedef struct dyn_string
|
||||
{
|
||||
int allocated; /* The amount of space allocated for the string. */
|
||||
int length; /* The actual length of the string. */
|
||||
char *s; /* The string itself, NUL-terminated. */
|
||||
}* dyn_string_t;
|
||||
|
||||
/* The length STR, in bytes, not including the terminating NUL. */
|
||||
#define dyn_string_length(STR) \
|
||||
((STR)->length)
|
||||
|
||||
/* The NTBS in which the contents of STR are stored. */
|
||||
#define dyn_string_buf(STR) \
|
||||
((STR)->s)
|
||||
|
||||
/* Compare DS1 to DS2 with strcmp. */
|
||||
#define dyn_string_compare(DS1, DS2) \
|
||||
(strcmp ((DS1)->s, (DS2)->s))
|
||||
|
||||
|
||||
/* dyn_string functions are used in the demangling implementation
|
||||
included in the G++ runtime library. To prevent collisions with
|
||||
names in user programs, the functions that are used in the
|
||||
demangler are given implementation-reserved names. */
|
||||
|
||||
#ifdef IN_LIBGCC2
|
||||
|
||||
#define dyn_string_init __cxa_dyn_string_init
|
||||
#define dyn_string_new __cxa_dyn_string_new
|
||||
#define dyn_string_delete __cxa_dyn_string_delete
|
||||
#define dyn_string_release __cxa_dyn_string_release
|
||||
#define dyn_string_resize __cxa_dyn_string_resize
|
||||
#define dyn_string_clear __cxa_dyn_string_clear
|
||||
#define dyn_string_copy __cxa_dyn_string_copy
|
||||
#define dyn_string_copy_cstr __cxa_dyn_string_copy_cstr
|
||||
#define dyn_string_prepend __cxa_dyn_string_prepend
|
||||
#define dyn_string_prepend_cstr __cxa_dyn_string_prepend_cstr
|
||||
#define dyn_string_insert __cxa_dyn_string_insert
|
||||
#define dyn_string_insert_cstr __cxa_dyn_string_insert_cstr
|
||||
#define dyn_string_insert_char __cxa_dyn_string_insert_char
|
||||
#define dyn_string_append __cxa_dyn_string_append
|
||||
#define dyn_string_append_cstr __cxa_dyn_string_append_cstr
|
||||
#define dyn_string_append_char __cxa_dyn_string_append_char
|
||||
#define dyn_string_substring __cxa_dyn_string_substring
|
||||
#define dyn_string_eq __cxa_dyn_string_eq
|
||||
|
||||
#endif /* IN_LIBGCC2 */
|
||||
|
||||
|
||||
extern int dyn_string_init PARAMS ((struct dyn_string *, int));
|
||||
extern dyn_string_t dyn_string_new PARAMS ((int));
|
||||
extern void dyn_string_delete PARAMS ((dyn_string_t));
|
||||
extern char *dyn_string_release PARAMS ((dyn_string_t));
|
||||
extern dyn_string_t dyn_string_resize PARAMS ((dyn_string_t, int));
|
||||
extern void dyn_string_clear PARAMS ((dyn_string_t));
|
||||
extern int dyn_string_copy PARAMS ((dyn_string_t, dyn_string_t));
|
||||
extern int dyn_string_copy_cstr PARAMS ((dyn_string_t, const char *));
|
||||
extern int dyn_string_prepend PARAMS ((dyn_string_t, dyn_string_t));
|
||||
extern int dyn_string_prepend_cstr PARAMS ((dyn_string_t, const char *));
|
||||
extern int dyn_string_insert PARAMS ((dyn_string_t, int,
|
||||
dyn_string_t));
|
||||
extern int dyn_string_insert_cstr PARAMS ((dyn_string_t, int,
|
||||
const char *));
|
||||
extern int dyn_string_insert_char PARAMS ((dyn_string_t, int, int));
|
||||
extern int dyn_string_append PARAMS ((dyn_string_t, dyn_string_t));
|
||||
extern int dyn_string_append_cstr PARAMS ((dyn_string_t, const char *));
|
||||
extern int dyn_string_append_char PARAMS ((dyn_string_t, int));
|
||||
extern int dyn_string_substring PARAMS ((dyn_string_t,
|
||||
dyn_string_t, int, int));
|
||||
extern int dyn_string_eq PARAMS ((dyn_string_t, dyn_string_t));
|
29
gnu/dist/toolchain/include/elf/ChangeLog
vendored
29
gnu/dist/toolchain/include/elf/ChangeLog
vendored
@ -1,3 +1,32 @@
|
||||
2000-10-14 Philip Blundell <philb@gnu.org>
|
||||
|
||||
From 2000-07-19 H.J. Lu <hjl@gnu.org>
|
||||
|
||||
* common.h (DF_1_NODEFLIB): Renamed from DF_1_NODEPLIB.
|
||||
|
||||
From 2000-07-19 H.J. Lu <hjl@gnu.org>
|
||||
|
||||
* common.h (DT_CHECKSUM): Set to 0x6ffffdf8.
|
||||
(DTF_1_CONFEXP): It is 0x00000002 as suspected.
|
||||
|
||||
From 2000-07-19 H.J. Lu <hjl@gnu.org>
|
||||
|
||||
* common.h (DT_FEATURE): Renamed from DT_FEATURE_1.
|
||||
(DT_CONFIG): New. From Solaris 8.
|
||||
(DT_DEPAUDIT): Likewise.
|
||||
(DT_AUDIT): Likewise.
|
||||
(DT_PLTPAD): Likewise.
|
||||
(DT_MOVETAB): Likewise.
|
||||
(DF_1_NODEPLIB): Likewise.
|
||||
(DF_1_NODUMP): Likewise.
|
||||
(DF_1_CONLFAT): Likewise.
|
||||
(DT_CHECKSUM): Likewise. FIXME. Check the value on Solaris 8.
|
||||
(DTF_1_CONFEXP): Likewise.
|
||||
|
||||
From 2000-07-18 H.J. Lu <hjl@gnu.org>
|
||||
|
||||
* common.h (DT_FLAGS_1): Renamed from DT_1_FLAGS.
|
||||
|
||||
2000-05-02 H.J. Lu <hjl@gnu.org>
|
||||
|
||||
* common.h (ELFOSABI_NONE): Renamed from ELFOSABI_SYSV.
|
||||
|
23
gnu/dist/toolchain/include/elf/common.h
vendored
23
gnu/dist/toolchain/include/elf/common.h
vendored
@ -444,16 +444,22 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
OS specific values. This is a deliberate special case and we
|
||||
maintain it for backwards compatability. */
|
||||
#define DT_VALRNGLO 0x6ffffd00
|
||||
#define DT_CHECKSUM 0x6ffffdf8
|
||||
#define DT_PLTPADSZ 0x6ffffdf9
|
||||
#define DT_MOVEENT 0x6ffffdfa
|
||||
#define DT_MOVESZ 0x6ffffdfb
|
||||
#define DT_FEATURE_1 0x6ffffdfc
|
||||
#define DT_FEATURE 0x6ffffdfc
|
||||
#define DT_POSFLAG_1 0x6ffffdfd
|
||||
#define DT_SYMINSZ 0x6ffffdfe
|
||||
#define DT_SYMINENT 0x6ffffdff
|
||||
#define DT_VALRNGHI 0x6ffffdff
|
||||
|
||||
#define DT_ADDRRNGLO 0x6ffffe00
|
||||
#define DT_CONFIG 0x6ffffefa
|
||||
#define DT_DEPAUDIT 0x6ffffefb
|
||||
#define DT_AUDIT 0x6ffffefc
|
||||
#define DT_PLTPAD 0x6ffffefd
|
||||
#define DT_MOVETAB 0x6ffffefe
|
||||
#define DT_SYMINFO 0x6ffffeff
|
||||
#define DT_ADDRRNGHI 0x6ffffeff
|
||||
|
||||
@ -478,14 +484,22 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
#define DT_USED 0x7ffffffe
|
||||
#define DT_FILTER 0x7fffffff
|
||||
|
||||
/* Values used in DT_FEATURE_1 .dynamic entry. */
|
||||
|
||||
/* Values used in DT_FEATURE .dynamic entry. */
|
||||
#define DTF_1_PARINIT 0x00000001
|
||||
/* From
|
||||
|
||||
http://docs.sun.com:80/ab2/coll.45.13/LLM/@Ab2PageView/21165?Ab2Lang=C&Ab2Enc=iso-8859-1
|
||||
|
||||
DTF_1_CONFEXP is the same as DTF_1_PARINIT. It is a typo. The value
|
||||
defined here is the same as the one in <sys/link.h> on Solaris 8. */
|
||||
#define DTF_1_CONFEXP 0x00000002
|
||||
|
||||
/* Flag values used in the DT_POSFLAG_1 .dynamic entry. */
|
||||
#define DF_P1_LAZYLOAD 0x00000001
|
||||
#define DF_P1_GROUPPERM 0x00000002
|
||||
|
||||
/* Flag value in in the DT_1_FLAGS .dynamic entry. */
|
||||
/* Flag value in in the DT_FLAGS_1 .dynamic entry. */
|
||||
#define DF_1_NOW 0x00000001
|
||||
#define DF_1_GLOBAL 0x00000002
|
||||
#define DF_1_GROUP 0x00000004
|
||||
@ -497,6 +511,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
#define DF_1_DIRECT 0x00000100
|
||||
#define DF_1_TRANS 0x00000200
|
||||
#define DF_1_INTERPOSE 0x00000400
|
||||
#define DF_1_NODEFLIB 0x00000800
|
||||
#define DF_1_NODUMP 0x00001000
|
||||
#define DF_1_CONLFAT 0x00002000
|
||||
|
||||
/* Flag values for the DT_FLAGS entry. */
|
||||
#define DF_ORIGIN (1 << 0)
|
||||
|
106
gnu/dist/toolchain/ld/ChangeLog
vendored
106
gnu/dist/toolchain/ld/ChangeLog
vendored
@ -1,3 +1,105 @@
|
||||
2000-11-06 Alan Modra <alan@linuxcare.com.au>
|
||||
|
||||
Merge most place_orphan changes from mainline.
|
||||
2000-09-07 Alan Modra <alan@linuxcare.com.au>
|
||||
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Fix
|
||||
broken list handling. Create __start_SECNAME and __stop_SECNAME
|
||||
when no place-holder. Add some comments. Test both SEC_CODE and
|
||||
SEC_READONLY for hold_text to prevent .rodata orphan poisoning.
|
||||
Handle case where no output section statement created.
|
||||
|
||||
2000-09-06 Alan Modra <alan@linuxcare.com.au>
|
||||
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
|
||||
try shuffling sections when the orphan happens to be the place
|
||||
holder. Keep count of unique section names generated so we speed
|
||||
the search for a new name.
|
||||
|
||||
2000-04-25 Alan Modra <alan@linuxcare.com.au>
|
||||
* emultempl/elf32.em (gld${EMULATION_NAME}_place_section): Delete.
|
||||
(output_rel_find): New function.
|
||||
(hold_section, hold_use): Delete.
|
||||
(hold_text, hold_rodata, hold_data, hold_bss, hold_rel,
|
||||
hold_interp): Make local to place_orphan.
|
||||
(gld${EMULATION_NAME}_place_orphan): Use lang_output_section_find
|
||||
rather than place_section to find possible previous use of orphan.
|
||||
Similarly find the place-holder output sections. Use returned
|
||||
value from lang_enter_output_section_statement rather than calling
|
||||
lang_output_section_statement_lookup.
|
||||
* ldlang.c (lang_enter_output_section_statement): Return output
|
||||
section statement.
|
||||
* ldlang.h (lang_enter_output_section_statement): Change
|
||||
declaration too.
|
||||
* ldlang.h (lang_output_section_statement): Export it.
|
||||
* ldlang.c (lang_output_section_statement): Ditto.
|
||||
|
||||
2000-04-18 H.J. Lu <hjl@gnu.org>
|
||||
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Call
|
||||
lang_leave_output_section_statement () after calling
|
||||
lang_enter_output_section_statement ().
|
||||
|
||||
2000-04-18 Alan Modra <alan@linuxcare.com.au>
|
||||
* emultempl/elf32.em (struct orphan_save): Add section field.
|
||||
(gld${EMULATION_NAME}_place_orphan): Use above to keep sections in
|
||||
better order, and place first orphan section as we did before the
|
||||
2000-04-12 patch. Ignore ~SEC_ALLOC sections when choosing place.
|
||||
Don't call make_bfd_section here, let wild_doit do the job for us.
|
||||
Don't build a statement list when we'll only throw it away.
|
||||
|
||||
2000-04-14 Alan Modra <alan@linuxcare.com.au>
|
||||
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Process
|
||||
~SEC_ALLOC sections too. Init start address of debug sections.
|
||||
|
||||
2000-04-12 Alan Modra <alan@linuxcare.com.au>
|
||||
* emultempl/elf32.em (struct orphan_save): New.
|
||||
(hold_text, hold_rodata, hold_data, hold_bss, hold_rel,
|
||||
hold_interp): Make them struct orphan_save.
|
||||
(gld${EMULATION_NAME}_place_section): Modify for new hold_*.
|
||||
(gld${EMULATION_NAME}_place_orphan): Add new orphan sections to
|
||||
the end of the relevant section list. Also add associated section
|
||||
statements to the end of any previous orphan statements.
|
||||
|
||||
2000-11-05 Alan Modra <alan@linuxcare.com.au>
|
||||
|
||||
* ldlex.l (yy_create_string_buffer): Init yy_is_our_buffer,
|
||||
yy_is_interactive, yy_at_bol, and yy_fill_buffer.
|
||||
* ldlex.c: Regenerate.
|
||||
|
||||
* Makefile.am (DISTCLEANFILES): Add stringify.sed.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2000-10-16 Philip Blundell <pb@futuretv.com>
|
||||
|
||||
* configure.in: Set version number to 2.10.1.
|
||||
* configure: Regenerate.
|
||||
|
||||
2000-10-12 Peter Jeremy <peter.jeremy@alcatel.com.au>
|
||||
|
||||
From 2000-08-08 Peter Jeremy <peter.jeremy@alcatel.com.au>
|
||||
* emultempl/elf32.em (_after_close): Refer to -rpath not --rpath
|
||||
in error message.
|
||||
|
||||
2000-04-14 Matthew Green <mrg@cygnus.com>
|
||||
|
||||
* configure.tgt: Add NetBSD/sparc ELF, and NetBSD/sparc64 support.
|
||||
|
||||
2000-06-07 Michael Sokolov <msokolov@ivan.Harhan.ORG>
|
||||
|
||||
* emultempl/mipsecoff.em (gld{EMULATION_NAME}_after_open): Require all
|
||||
input objects to be ECOFF.
|
||||
(check_sections): einfo takes %B, not %P, to print a BFD name.
|
||||
|
||||
2000-07-31 Rodney Brown <RodneyBrown@pmsc.com>
|
||||
|
||||
* configure.tgt: Select targ_emul=elf_i386 for Unixware 7
|
||||
(i586-sco-sysv5uw7.1.0).
|
||||
|
||||
2000-06-18 Alan Modra <alan@linuxcare.com.au>
|
||||
|
||||
* NEWS: Update list of targets supporting --gc-sections.
|
||||
|
||||
* scripttempl/elf.sc: KEEP .eh_frame contents.
|
||||
* scripttempl/elfd30v.sc: Same here.
|
||||
|
||||
2000-05-22 David O'Brien <obrien@FreeBSD.org>
|
||||
|
||||
* configure.tgt: Recognize alpha-*-freebsd*.
|
||||
@ -38,6 +140,10 @@
|
||||
|
||||
* ld.h: Correctly check GCC version.
|
||||
|
||||
2000-04-21 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* scripttempl/elfd30v.sc: Place .gcc_except_table.
|
||||
|
||||
2000-04-19 Alan Modra <alan@linuxcare.com.au>
|
||||
|
||||
* ld.texinfo (Simple Example): Remove extraneous paragraph.
|
||||
|
7
gnu/dist/toolchain/ld/NEWS
vendored
7
gnu/dist/toolchain/ld/NEWS
vendored
@ -2,9 +2,14 @@
|
||||
|
||||
Changes in version 2.10:
|
||||
|
||||
* Added AT> to the linker script language to allow load-time allocation of
|
||||
sections into regions.
|
||||
|
||||
* Added garbage collection of unused sections, enabled by --gc-sections.
|
||||
It does require a bit of backend support; currently implemented are
|
||||
ppc-elf, mips-elf, and mn10300-elf. Others will ignore the option.
|
||||
avr-elf, d10v-elf, fr30-elf, i386-elf, m32r-elf, m68k-elf, mcore-elf,
|
||||
mips-elf, mn10300-elf, ppc-elf, sh-elf, sparc-elf, and v850-elf.
|
||||
Others will ignore the option.
|
||||
|
||||
* Added SORT to the linker script language to permit sorting sections by file
|
||||
name or section name.
|
||||
|
209
gnu/dist/toolchain/ld/configure
vendored
209
gnu/dist/toolchain/ld/configure
vendored
@ -803,7 +803,7 @@ fi
|
||||
|
||||
PACKAGE=ld
|
||||
|
||||
VERSION=2.10
|
||||
VERSION=2.10.1
|
||||
|
||||
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
|
||||
{ echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
|
||||
@ -2133,7 +2133,7 @@ for ac_kw in inline __inline__ __inline; do
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
} $ac_kw foo() {
|
||||
} int $ac_kw foo() {
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:2140: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
@ -2239,7 +2239,7 @@ else
|
||||
#include "confdefs.h"
|
||||
#include <alloca.h>
|
||||
int main() {
|
||||
char *p = alloca(2 * sizeof(int));
|
||||
void *p = alloca(2 * sizeof(int));
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:2246: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
@ -2592,12 +2592,15 @@ else
|
||||
#include <sys/types.h>
|
||||
#include <fcntl.h>
|
||||
#include <sys/mman.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
#ifdef HAVE_UNISTD_H
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
/* This mess was copied from the GNU getpagesize.h. */
|
||||
#ifndef HAVE_GETPAGESIZE
|
||||
# ifdef HAVE_UNISTD_H
|
||||
# include <unistd.h>
|
||||
# endif
|
||||
|
||||
/* Assume that all systems that can run configure have sys/param.h. */
|
||||
# ifndef HAVE_SYS_PARAM_H
|
||||
@ -2652,7 +2655,7 @@ main()
|
||||
/*
|
||||
* First, make a file with some known garbage in it.
|
||||
*/
|
||||
data = malloc(pagesize);
|
||||
data = (char*)malloc(pagesize);
|
||||
if (!data)
|
||||
exit(1);
|
||||
for (i = 0; i < pagesize; ++i)
|
||||
@ -2673,7 +2676,7 @@ main()
|
||||
fd = open("conftestmmap", O_RDWR);
|
||||
if (fd < 0)
|
||||
exit(1);
|
||||
data2 = malloc(2 * pagesize);
|
||||
data2 = (char*)malloc(2 * pagesize);
|
||||
if (!data2)
|
||||
exit(1);
|
||||
data2 += (pagesize - ((int) data2 & (pagesize - 1))) & (pagesize - 1);
|
||||
@ -2691,7 +2694,7 @@ main()
|
||||
*/
|
||||
for (i = 0; i < pagesize; ++i)
|
||||
*(data2 + i) = *(data2 + i) + 1;
|
||||
data3 = malloc(pagesize);
|
||||
data3 = (char*)malloc(pagesize);
|
||||
if (!data3)
|
||||
exit(1);
|
||||
if (read(fd, data3, pagesize) != pagesize)
|
||||
@ -2705,7 +2708,7 @@ main()
|
||||
}
|
||||
|
||||
EOF
|
||||
if { (eval echo configure:2709: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
if { (eval echo configure:2712: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
then
|
||||
ac_cv_func_mmap_fixed_mapped=yes
|
||||
else
|
||||
@ -2733,17 +2736,17 @@ unistd.h values.h sys/param.h
|
||||
do
|
||||
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
|
||||
echo "configure:2737: checking for $ac_hdr" >&5
|
||||
echo "configure:2740: checking for $ac_hdr" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 2742 "configure"
|
||||
#line 2745 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <$ac_hdr>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:2747: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:2750: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
@ -2773,12 +2776,12 @@ done
|
||||
__argz_count __argz_stringify __argz_next
|
||||
do
|
||||
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
|
||||
echo "configure:2777: checking for $ac_func" >&5
|
||||
echo "configure:2780: checking for $ac_func" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 2782 "configure"
|
||||
#line 2785 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char $ac_func(); below. */
|
||||
@ -2801,7 +2804,7 @@ $ac_func();
|
||||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:2805: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:2808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_$ac_func=yes"
|
||||
else
|
||||
@ -2830,12 +2833,12 @@ done
|
||||
for ac_func in stpcpy
|
||||
do
|
||||
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
|
||||
echo "configure:2834: checking for $ac_func" >&5
|
||||
echo "configure:2837: checking for $ac_func" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 2839 "configure"
|
||||
#line 2842 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char $ac_func(); below. */
|
||||
@ -2858,7 +2861,7 @@ $ac_func();
|
||||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:2862: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:2865: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_$ac_func=yes"
|
||||
else
|
||||
@ -2892,19 +2895,19 @@ EOF
|
||||
|
||||
if test $ac_cv_header_locale_h = yes; then
|
||||
echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
|
||||
echo "configure:2896: checking for LC_MESSAGES" >&5
|
||||
echo "configure:2899: checking for LC_MESSAGES" >&5
|
||||
if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 2901 "configure"
|
||||
#line 2904 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <locale.h>
|
||||
int main() {
|
||||
return LC_MESSAGES
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:2908: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:2911: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
am_cv_val_LC_MESSAGES=yes
|
||||
else
|
||||
@ -2925,7 +2928,7 @@ EOF
|
||||
fi
|
||||
fi
|
||||
echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
|
||||
echo "configure:2929: checking whether NLS is requested" >&5
|
||||
echo "configure:2932: checking whether NLS is requested" >&5
|
||||
# Check whether --enable-nls or --disable-nls was given.
|
||||
if test "${enable_nls+set}" = set; then
|
||||
enableval="$enable_nls"
|
||||
@ -2945,7 +2948,7 @@ fi
|
||||
EOF
|
||||
|
||||
echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
|
||||
echo "configure:2949: checking whether included gettext is requested" >&5
|
||||
echo "configure:2952: checking whether included gettext is requested" >&5
|
||||
# Check whether --with-included-gettext or --without-included-gettext was given.
|
||||
if test "${with_included_gettext+set}" = set; then
|
||||
withval="$with_included_gettext"
|
||||
@ -2964,17 +2967,17 @@ fi
|
||||
|
||||
ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
|
||||
echo "configure:2968: checking for libintl.h" >&5
|
||||
echo "configure:2971: checking for libintl.h" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 2973 "configure"
|
||||
#line 2976 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <libintl.h>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:2978: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:2981: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
@ -2991,19 +2994,19 @@ fi
|
||||
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
|
||||
echo "$ac_t""yes" 1>&6
|
||||
echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6
|
||||
echo "configure:2995: checking for gettext in libc" >&5
|
||||
echo "configure:2998: checking for gettext in libc" >&5
|
||||
if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3000 "configure"
|
||||
#line 3003 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <libintl.h>
|
||||
int main() {
|
||||
return (int) gettext ("")
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:3007: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:3010: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
gt_cv_func_gettext_libc=yes
|
||||
else
|
||||
@ -3019,7 +3022,7 @@ echo "$ac_t""$gt_cv_func_gettext_libc" 1>&6
|
||||
|
||||
if test "$gt_cv_func_gettext_libc" != "yes"; then
|
||||
echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6
|
||||
echo "configure:3023: checking for bindtextdomain in -lintl" >&5
|
||||
echo "configure:3026: checking for bindtextdomain in -lintl" >&5
|
||||
ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
@ -3027,7 +3030,7 @@ else
|
||||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-lintl $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3031 "configure"
|
||||
#line 3034 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
@ -3038,7 +3041,7 @@ int main() {
|
||||
bindtextdomain()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:3042: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:3045: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
@ -3054,19 +3057,19 @@ fi
|
||||
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
|
||||
echo "$ac_t""yes" 1>&6
|
||||
echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6
|
||||
echo "configure:3058: checking for gettext in libintl" >&5
|
||||
echo "configure:3061: checking for gettext in libintl" >&5
|
||||
if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3063 "configure"
|
||||
#line 3066 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
return (int) gettext ("")
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:3070: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:3073: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
gt_cv_func_gettext_libintl=yes
|
||||
else
|
||||
@ -3094,7 +3097,7 @@ EOF
|
||||
# Extract the first word of "msgfmt", so it can be a program name with args.
|
||||
set dummy msgfmt; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:3098: checking for $ac_word" >&5
|
||||
echo "configure:3101: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3128,12 +3131,12 @@ fi
|
||||
for ac_func in dcgettext
|
||||
do
|
||||
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
|
||||
echo "configure:3132: checking for $ac_func" >&5
|
||||
echo "configure:3135: checking for $ac_func" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3137 "configure"
|
||||
#line 3140 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char $ac_func(); below. */
|
||||
@ -3156,7 +3159,7 @@ $ac_func();
|
||||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:3160: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:3163: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_$ac_func=yes"
|
||||
else
|
||||
@ -3183,7 +3186,7 @@ done
|
||||
# Extract the first word of "gmsgfmt", so it can be a program name with args.
|
||||
set dummy gmsgfmt; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:3187: checking for $ac_word" >&5
|
||||
echo "configure:3190: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3219,7 +3222,7 @@ fi
|
||||
# Extract the first word of "xgettext", so it can be a program name with args.
|
||||
set dummy xgettext; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:3223: checking for $ac_word" >&5
|
||||
echo "configure:3226: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3251,7 +3254,7 @@ else
|
||||
fi
|
||||
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3255 "configure"
|
||||
#line 3258 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
@ -3259,7 +3262,7 @@ extern int _nl_msg_cat_cntr;
|
||||
return _nl_msg_cat_cntr
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:3263: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:3266: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
CATOBJEXT=.gmo
|
||||
DATADIRNAME=share
|
||||
@ -3291,7 +3294,7 @@ fi
|
||||
# Extract the first word of "msgfmt", so it can be a program name with args.
|
||||
set dummy msgfmt; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:3295: checking for $ac_word" >&5
|
||||
echo "configure:3298: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3325,7 +3328,7 @@ fi
|
||||
# Extract the first word of "gmsgfmt", so it can be a program name with args.
|
||||
set dummy gmsgfmt; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:3329: checking for $ac_word" >&5
|
||||
echo "configure:3332: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3361,7 +3364,7 @@ fi
|
||||
# Extract the first word of "xgettext", so it can be a program name with args.
|
||||
set dummy xgettext; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:3365: checking for $ac_word" >&5
|
||||
echo "configure:3368: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3451,7 +3454,7 @@ fi
|
||||
LINGUAS=
|
||||
else
|
||||
echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6
|
||||
echo "configure:3455: checking for catalogs to be installed" >&5
|
||||
echo "configure:3458: checking for catalogs to be installed" >&5
|
||||
NEW_LINGUAS=
|
||||
for lang in ${LINGUAS=$ALL_LINGUAS}; do
|
||||
case "$ALL_LINGUAS" in
|
||||
@ -3479,17 +3482,17 @@ echo "configure:3455: checking for catalogs to be installed" >&5
|
||||
if test "$CATOBJEXT" = ".cat"; then
|
||||
ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6
|
||||
echo "configure:3483: checking for linux/version.h" >&5
|
||||
echo "configure:3486: checking for linux/version.h" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3488 "configure"
|
||||
#line 3491 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <linux/version.h>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:3493: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:3496: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
@ -3552,12 +3555,12 @@ fi
|
||||
|
||||
|
||||
echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
|
||||
echo "configure:3556: checking for Cygwin environment" >&5
|
||||
echo "configure:3559: checking for Cygwin environment" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3561 "configure"
|
||||
#line 3564 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
@ -3568,7 +3571,7 @@ int main() {
|
||||
return __CYGWIN__;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:3572: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:3575: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ac_cv_cygwin=yes
|
||||
else
|
||||
@ -3585,19 +3588,19 @@ echo "$ac_t""$ac_cv_cygwin" 1>&6
|
||||
CYGWIN=
|
||||
test "$ac_cv_cygwin" = yes && CYGWIN=yes
|
||||
echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
|
||||
echo "configure:3589: checking for mingw32 environment" >&5
|
||||
echo "configure:3592: checking for mingw32 environment" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3594 "configure"
|
||||
#line 3597 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
return __MINGW32__;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:3601: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:3604: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ac_cv_mingw32=yes
|
||||
else
|
||||
@ -3616,7 +3619,7 @@ test "$ac_cv_mingw32" = yes && MINGW32=yes
|
||||
|
||||
|
||||
echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
|
||||
echo "configure:3620: checking for executable suffix" >&5
|
||||
echo "configure:3623: checking for executable suffix" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3626,7 +3629,7 @@ else
|
||||
rm -f conftest*
|
||||
echo 'int main () { return 0; }' > conftest.$ac_ext
|
||||
ac_cv_exeext=
|
||||
if { (eval echo configure:3630: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
|
||||
if { (eval echo configure:3633: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
|
||||
for file in conftest.*; do
|
||||
case $file in
|
||||
*.c | *.o | *.obj) ;;
|
||||
@ -3652,7 +3655,7 @@ do
|
||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_prog; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:3656: checking for $ac_word" >&5
|
||||
echo "configure:3659: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3688,7 +3691,7 @@ do
|
||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_prog; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:3692: checking for $ac_word" >&5
|
||||
echo "configure:3695: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3721,7 +3724,7 @@ test -n "$LEX" || LEX=""$missing_dir/missing flex""
|
||||
# Extract the first word of "flex", so it can be a program name with args.
|
||||
set dummy flex; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:3725: checking for $ac_word" >&5
|
||||
echo "configure:3728: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3755,7 +3758,7 @@ then
|
||||
*) ac_lib=l ;;
|
||||
esac
|
||||
echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6
|
||||
echo "configure:3759: checking for yywrap in -l$ac_lib" >&5
|
||||
echo "configure:3762: checking for yywrap in -l$ac_lib" >&5
|
||||
ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
@ -3763,7 +3766,7 @@ else
|
||||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-l$ac_lib $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3767 "configure"
|
||||
#line 3770 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
@ -3774,7 +3777,7 @@ int main() {
|
||||
yywrap()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:3778: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:3781: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
@ -3797,7 +3800,7 @@ fi
|
||||
fi
|
||||
|
||||
echo $ac_n "checking lex output file root""... $ac_c" 1>&6
|
||||
echo "configure:3801: checking lex output file root" >&5
|
||||
echo "configure:3804: checking lex output file root" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_lex_root'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3818,7 +3821,7 @@ echo "$ac_t""$ac_cv_prog_lex_root" 1>&6
|
||||
LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root
|
||||
|
||||
echo $ac_n "checking whether yytext is a pointer""... $ac_c" 1>&6
|
||||
echo "configure:3822: checking whether yytext is a pointer" >&5
|
||||
echo "configure:3825: checking whether yytext is a pointer" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_lex_yytext_pointer'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
@ -3830,14 +3833,14 @@ echo 'extern char *yytext;' >>$LEX_OUTPUT_ROOT.c
|
||||
ac_save_LIBS="$LIBS"
|
||||
LIBS="$LIBS $LEXLIB"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3834 "configure"
|
||||
#line 3837 "configure"
|
||||
#include "confdefs.h"
|
||||
`cat $LEX_OUTPUT_ROOT.c`
|
||||
int main() {
|
||||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:3841: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:3844: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
ac_cv_prog_lex_yytext_pointer=yes
|
||||
else
|
||||
@ -3860,7 +3863,7 @@ fi
|
||||
|
||||
|
||||
echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
|
||||
echo "configure:3864: checking whether to enable maintainer-specific portions of Makefiles" >&5
|
||||
echo "configure:3867: checking whether to enable maintainer-specific portions of Makefiles" >&5
|
||||
# Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
|
||||
if test "${enable_maintainer_mode+set}" = set; then
|
||||
enableval="$enable_maintainer_mode"
|
||||
@ -3894,17 +3897,17 @@ for ac_hdr in string.h strings.h stdlib.h unistd.h
|
||||
do
|
||||
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
|
||||
echo "configure:3898: checking for $ac_hdr" >&5
|
||||
echo "configure:3901: checking for $ac_hdr" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3903 "configure"
|
||||
#line 3906 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <$ac_hdr>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:3908: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:3911: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
@ -3933,12 +3936,12 @@ done
|
||||
for ac_func in sbrk
|
||||
do
|
||||
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
|
||||
echo "configure:3937: checking for $ac_func" >&5
|
||||
echo "configure:3940: checking for $ac_func" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3942 "configure"
|
||||
#line 3945 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char $ac_func(); below. */
|
||||
@ -3961,7 +3964,7 @@ $ac_func();
|
||||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:3965: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:3968: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_$ac_func=yes"
|
||||
else
|
||||
@ -3990,12 +3993,12 @@ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h
|
||||
do
|
||||
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
|
||||
echo "configure:3994: checking for $ac_hdr that defines DIR" >&5
|
||||
echo "configure:3997: checking for $ac_hdr that defines DIR" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3999 "configure"
|
||||
#line 4002 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
#include <$ac_hdr>
|
||||
@ -4003,7 +4006,7 @@ int main() {
|
||||
DIR *dirp = 0;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4007: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:4010: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_header_dirent_$ac_safe=yes"
|
||||
else
|
||||
@ -4028,7 +4031,7 @@ done
|
||||
# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
|
||||
if test $ac_header_dirent = dirent.h; then
|
||||
echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
|
||||
echo "configure:4032: checking for opendir in -ldir" >&5
|
||||
echo "configure:4035: checking for opendir in -ldir" >&5
|
||||
ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
@ -4036,7 +4039,7 @@ else
|
||||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-ldir $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4040 "configure"
|
||||
#line 4043 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
@ -4047,7 +4050,7 @@ int main() {
|
||||
opendir()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4051: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:4054: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
@ -4069,7 +4072,7 @@ fi
|
||||
|
||||
else
|
||||
echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
|
||||
echo "configure:4073: checking for opendir in -lx" >&5
|
||||
echo "configure:4076: checking for opendir in -lx" >&5
|
||||
ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
@ -4077,7 +4080,7 @@ else
|
||||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-lx $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4081 "configure"
|
||||
#line 4084 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
@ -4088,7 +4091,7 @@ int main() {
|
||||
opendir()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4092: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:4095: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
@ -4121,12 +4124,12 @@ EOF
|
||||
esac
|
||||
|
||||
echo $ac_n "checking whether strstr must be declared""... $ac_c" 1>&6
|
||||
echo "configure:4125: checking whether strstr must be declared" >&5
|
||||
echo "configure:4128: checking whether strstr must be declared" >&5
|
||||
if eval "test \"`echo '$''{'bfd_cv_decl_needed_strstr'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4130 "configure"
|
||||
#line 4133 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#include <stdio.h>
|
||||
@ -4147,7 +4150,7 @@ int main() {
|
||||
char *(*pfn) = (char *(*)) strstr
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4151: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:4154: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
bfd_cv_decl_needed_strstr=no
|
||||
else
|
||||
@ -4168,12 +4171,12 @@ EOF
|
||||
fi
|
||||
|
||||
echo $ac_n "checking whether free must be declared""... $ac_c" 1>&6
|
||||
echo "configure:4172: checking whether free must be declared" >&5
|
||||
echo "configure:4175: checking whether free must be declared" >&5
|
||||
if eval "test \"`echo '$''{'bfd_cv_decl_needed_free'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4177 "configure"
|
||||
#line 4180 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#include <stdio.h>
|
||||
@ -4194,7 +4197,7 @@ int main() {
|
||||
char *(*pfn) = (char *(*)) free
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4198: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:4201: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
bfd_cv_decl_needed_free=no
|
||||
else
|
||||
@ -4215,12 +4218,12 @@ EOF
|
||||
fi
|
||||
|
||||
echo $ac_n "checking whether sbrk must be declared""... $ac_c" 1>&6
|
||||
echo "configure:4219: checking whether sbrk must be declared" >&5
|
||||
echo "configure:4222: checking whether sbrk must be declared" >&5
|
||||
if eval "test \"`echo '$''{'bfd_cv_decl_needed_sbrk'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4224 "configure"
|
||||
#line 4227 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#include <stdio.h>
|
||||
@ -4241,7 +4244,7 @@ int main() {
|
||||
char *(*pfn) = (char *(*)) sbrk
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4245: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:4248: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
bfd_cv_decl_needed_sbrk=no
|
||||
else
|
||||
@ -4262,12 +4265,12 @@ EOF
|
||||
fi
|
||||
|
||||
echo $ac_n "checking whether getenv must be declared""... $ac_c" 1>&6
|
||||
echo "configure:4266: checking whether getenv must be declared" >&5
|
||||
echo "configure:4269: checking whether getenv must be declared" >&5
|
||||
if eval "test \"`echo '$''{'bfd_cv_decl_needed_getenv'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4271 "configure"
|
||||
#line 4274 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#include <stdio.h>
|
||||
@ -4288,7 +4291,7 @@ int main() {
|
||||
char *(*pfn) = (char *(*)) getenv
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4292: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:4295: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
bfd_cv_decl_needed_getenv=no
|
||||
else
|
||||
@ -4309,12 +4312,12 @@ EOF
|
||||
fi
|
||||
|
||||
echo $ac_n "checking whether environ must be declared""... $ac_c" 1>&6
|
||||
echo "configure:4313: checking whether environ must be declared" >&5
|
||||
echo "configure:4316: checking whether environ must be declared" >&5
|
||||
if eval "test \"`echo '$''{'bfd_cv_decl_needed_environ'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4318 "configure"
|
||||
#line 4321 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#include <stdio.h>
|
||||
@ -4335,7 +4338,7 @@ int main() {
|
||||
char *(*pfn) = (char *(*)) environ
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4339: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:4342: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
bfd_cv_decl_needed_environ=no
|
||||
else
|
||||
@ -4363,19 +4366,19 @@ fi
|
||||
# constants, while still supporting pre-ANSI compilers which do not
|
||||
# support string concatenation.
|
||||
echo $ac_n "checking whether ANSI C string concatenation works""... $ac_c" 1>&6
|
||||
echo "configure:4367: checking whether ANSI C string concatenation works" >&5
|
||||
echo "configure:4370: checking whether ANSI C string concatenation works" >&5
|
||||
if eval "test \"`echo '$''{'ld_cv_string_concatenation'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4372 "configure"
|
||||
#line 4375 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
char *a = "a" "a";
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4379: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:4382: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ld_cv_string_concatenation=yes
|
||||
else
|
||||
|
2
gnu/dist/toolchain/ld/configure.in
vendored
2
gnu/dist/toolchain/ld/configure.in
vendored
@ -5,7 +5,7 @@ AC_INIT(ldmain.c)
|
||||
|
||||
AC_CANONICAL_SYSTEM
|
||||
|
||||
AM_INIT_AUTOMAKE(ld, 2.10)
|
||||
AM_INIT_AUTOMAKE(ld, 2.10.1)
|
||||
|
||||
AM_PROG_LIBTOOL
|
||||
|
||||
|
317
gnu/dist/toolchain/ld/emultempl/elf32.em
vendored
317
gnu/dist/toolchain/ld/emultempl/elf32.em
vendored
@ -7,7 +7,7 @@ cat >e${EMULATION_NAME}.c <<EOF
|
||||
/* This file is is generated by a shell script. DO NOT EDIT! */
|
||||
|
||||
/* ${ELFSIZE} bit ELF emulation code for ${EMULATION_NAME}
|
||||
Copyright (C) 1991, 93, 94, 95, 96, 97, 98, 1999
|
||||
Copyright (C) 1991, 93, 94, 95, 96, 97, 98, 99, 2000
|
||||
Free Software Foundation, Inc.
|
||||
Written by Steve Chamberlain <sac@cygnus.com>
|
||||
ELF support by Ian Lance Taylor <ian@cygnus.com>
|
||||
@ -63,10 +63,9 @@ static void gld${EMULATION_NAME}_before_allocation PARAMS ((void));
|
||||
static void gld${EMULATION_NAME}_find_statement_assignment
|
||||
PARAMS ((lang_statement_union_type *));
|
||||
static void gld${EMULATION_NAME}_find_exp_assignment PARAMS ((etree_type *));
|
||||
static lang_output_section_statement_type *output_rel_find PARAMS ((void));
|
||||
static boolean gld${EMULATION_NAME}_place_orphan
|
||||
PARAMS ((lang_input_statement_type *, asection *));
|
||||
static void gld${EMULATION_NAME}_place_section
|
||||
PARAMS ((lang_statement_union_type *));
|
||||
static char *gld${EMULATION_NAME}_get_script PARAMS ((int *isfile));
|
||||
|
||||
static void
|
||||
@ -376,7 +375,7 @@ cat >>e${EMULATION_NAME}.c <<EOF
|
||||
if (force < 2)
|
||||
continue;
|
||||
|
||||
einfo ("%P: warning: %s, needed by %B, not found (try using --rpath)\n",
|
||||
einfo ("%P: warning: %s, needed by %B, not found (try using -rpath or -rpath-link)\n",
|
||||
l->name, l->by);
|
||||
}
|
||||
}
|
||||
@ -862,58 +861,83 @@ gld${EMULATION_NAME}_find_exp_assignment (exp)
|
||||
}
|
||||
}
|
||||
|
||||
/* A variant of lang_output_section_find. Used by place_orphan. */
|
||||
|
||||
static lang_output_section_statement_type *
|
||||
output_rel_find ()
|
||||
{
|
||||
lang_statement_union_type *u;
|
||||
lang_output_section_statement_type *lookup;
|
||||
|
||||
for (u = lang_output_section_statement.head;
|
||||
u != (lang_statement_union_type *) NULL;
|
||||
u = lookup->next)
|
||||
{
|
||||
lookup = &u->output_section_statement;
|
||||
if (strncmp (".rel", lookup->name, 4) == 0
|
||||
&& lookup->bfd_section != NULL
|
||||
&& (lookup->bfd_section->flags & SEC_ALLOC) != 0)
|
||||
{
|
||||
return lookup;
|
||||
}
|
||||
}
|
||||
return (lang_output_section_statement_type *) NULL;
|
||||
}
|
||||
|
||||
/* Place an orphan section. We use this to put random SHF_ALLOC
|
||||
sections in the right segment. */
|
||||
|
||||
static asection *hold_section;
|
||||
static lang_output_section_statement_type *hold_use;
|
||||
static lang_output_section_statement_type *hold_text;
|
||||
static lang_output_section_statement_type *hold_rodata;
|
||||
static lang_output_section_statement_type *hold_data;
|
||||
static lang_output_section_statement_type *hold_bss;
|
||||
static lang_output_section_statement_type *hold_rel;
|
||||
static lang_output_section_statement_type *hold_interp;
|
||||
struct orphan_save {
|
||||
lang_output_section_statement_type *os;
|
||||
asection **section;
|
||||
lang_statement_union_type **stmt;
|
||||
};
|
||||
|
||||
/*ARGSUSED*/
|
||||
static boolean
|
||||
gld${EMULATION_NAME}_place_orphan (file, s)
|
||||
lang_input_statement_type *file;
|
||||
asection *s;
|
||||
{
|
||||
lang_output_section_statement_type *place;
|
||||
asection *snew, **pps;
|
||||
static struct orphan_save hold_text;
|
||||
static struct orphan_save hold_rodata;
|
||||
static struct orphan_save hold_data;
|
||||
static struct orphan_save hold_bss;
|
||||
static struct orphan_save hold_rel;
|
||||
static struct orphan_save hold_interp;
|
||||
struct orphan_save *place;
|
||||
lang_statement_list_type *old;
|
||||
lang_statement_list_type add;
|
||||
etree_type *address;
|
||||
const char *secname, *ps;
|
||||
const char *secname;
|
||||
const char *outsecname;
|
||||
const char *ps = NULL;
|
||||
lang_output_section_statement_type *os;
|
||||
|
||||
if ((s->flags & SEC_ALLOC) == 0)
|
||||
return false;
|
||||
secname = bfd_get_section_name (s->owner, s);
|
||||
|
||||
/* Look through the script to see where to place this section. */
|
||||
hold_section = s;
|
||||
hold_use = NULL;
|
||||
lang_for_each_statement (gld${EMULATION_NAME}_place_section);
|
||||
/* Look through the script to see where to place this section. */
|
||||
os = lang_output_section_find (secname);
|
||||
|
||||
if (hold_use != NULL)
|
||||
if (os != NULL
|
||||
&& os->bfd_section != NULL
|
||||
&& ((s->flags ^ os->bfd_section->flags) & (SEC_LOAD | SEC_ALLOC)) == 0)
|
||||
{
|
||||
/* We have already placed a section with this name. */
|
||||
wild_doit (&hold_use->children, s, hold_use, file);
|
||||
wild_doit (&os->children, s, os, file);
|
||||
return true;
|
||||
}
|
||||
|
||||
secname = bfd_get_section_name (s->owner, s);
|
||||
if (hold_text.os == NULL)
|
||||
hold_text.os = lang_output_section_find (".text");
|
||||
|
||||
/* If this is a final link, then always put .gnu.warning.SYMBOL
|
||||
sections into the .text section to get them out of the way. */
|
||||
if (! link_info.shared
|
||||
&& ! link_info.relocateable
|
||||
&& strncmp (secname, ".gnu.warning.", sizeof ".gnu.warning." - 1) == 0
|
||||
&& hold_text != NULL)
|
||||
&& hold_text.os != NULL)
|
||||
{
|
||||
wild_doit (&hold_text->children, s, hold_text, file);
|
||||
wild_doit (&hold_text.os->children, s, hold_text.os, file);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -922,31 +946,37 @@ gld${EMULATION_NAME}_place_orphan (file, s)
|
||||
right after the .interp section, so that the PT_NOTE segment is
|
||||
stored right after the program headers where the OS can read it
|
||||
in the first page. */
|
||||
place = NULL;
|
||||
#define HAVE_SECTION(hold, name) \
|
||||
(hold.os != NULL || (hold.os = lang_output_section_find (name)) != NULL)
|
||||
|
||||
if (s->flags & SEC_EXCLUDE)
|
||||
return false;
|
||||
|
||||
place = NULL;
|
||||
if ((s->flags & SEC_ALLOC) == 0)
|
||||
;
|
||||
else if ((s->flags & SEC_LOAD) != 0
|
||||
&& strncmp (secname, ".note", 4) == 0
|
||||
&& hold_interp != NULL)
|
||||
place = hold_interp;
|
||||
&& strncmp (secname, ".note", 4) == 0
|
||||
&& HAVE_SECTION (hold_interp, ".interp"))
|
||||
place = &hold_interp;
|
||||
else if ((s->flags & SEC_HAS_CONTENTS) == 0
|
||||
&& hold_bss != NULL)
|
||||
place = hold_bss;
|
||||
&& HAVE_SECTION (hold_bss, ".bss"))
|
||||
place = &hold_bss;
|
||||
else if ((s->flags & SEC_READONLY) == 0
|
||||
&& hold_data != NULL)
|
||||
place = hold_data;
|
||||
&& HAVE_SECTION (hold_data, ".data"))
|
||||
place = &hold_data;
|
||||
else if (strncmp (secname, ".rel", 4) == 0
|
||||
&& hold_rel != NULL)
|
||||
place = hold_rel;
|
||||
else if ((s->flags & SEC_CODE) == 0
|
||||
&& (s->flags & SEC_READONLY) != 0
|
||||
&& hold_rodata != NULL)
|
||||
place = hold_rodata;
|
||||
else if ((s->flags & SEC_READONLY) != 0
|
||||
&& hold_text != NULL)
|
||||
place = hold_text;
|
||||
if (place == NULL)
|
||||
return false;
|
||||
&& (hold_rel.os != NULL
|
||||
|| (hold_rel.os = output_rel_find ()) != NULL))
|
||||
place = &hold_rel;
|
||||
else if ((s->flags & (SEC_CODE | SEC_READONLY)) == SEC_READONLY
|
||||
&& HAVE_SECTION (hold_rodata, ".rodata"))
|
||||
place = &hold_rodata;
|
||||
else if ((s->flags & (SEC_CODE | SEC_READONLY)) == (SEC_CODE | SEC_READONLY)
|
||||
&& hold_text.os != NULL)
|
||||
place = &hold_text;
|
||||
|
||||
#undef HAVE_SECTION
|
||||
|
||||
/* Choose a unique name for the section. This will be needed if the
|
||||
same section name appears in the input file with different
|
||||
@ -972,115 +1002,144 @@ gld${EMULATION_NAME}_place_orphan (file, s)
|
||||
outsecname = newname;
|
||||
}
|
||||
|
||||
/* Create the section in the output file, and put it in the right
|
||||
place. This shuffling is to make the output file look neater. */
|
||||
snew = bfd_make_section (output_bfd, outsecname);
|
||||
if (snew == NULL)
|
||||
einfo ("%P%F: output format %s cannot represent section called %s\n",
|
||||
output_bfd->xvec->name, outsecname);
|
||||
if (place->bfd_section != NULL)
|
||||
{
|
||||
for (pps = &output_bfd->sections; *pps != snew; pps = &(*pps)->next)
|
||||
;
|
||||
*pps = snew->next;
|
||||
snew->next = place->bfd_section->next;
|
||||
place->bfd_section->next = snew;
|
||||
}
|
||||
|
||||
/* Start building a list of statements for this section. */
|
||||
/* Start building a list of statements for this section.
|
||||
First save the current statement pointer. */
|
||||
old = stat_ptr;
|
||||
stat_ptr = &add;
|
||||
lang_list_init (stat_ptr);
|
||||
|
||||
/* If the name of the section is representable in C, then create
|
||||
symbols to mark the start and the end of the section. */
|
||||
for (ps = outsecname; *ps != '\0'; ps++)
|
||||
if (! isalnum ((unsigned char) *ps) && *ps != '_')
|
||||
break;
|
||||
if (*ps == '\0' && config.build_constructors)
|
||||
/* If we have found an appropriate place for the output section
|
||||
statements for this orphan, add them to our own private list,
|
||||
inserting them later into the global statement list. */
|
||||
if (place != NULL)
|
||||
{
|
||||
char *symname;
|
||||
|
||||
symname = (char *) xmalloc (ps - outsecname + sizeof "__start_");
|
||||
sprintf (symname, "__start_%s", outsecname);
|
||||
lang_add_assignment (exp_assop ('=', symname,
|
||||
exp_unop (ALIGN_K,
|
||||
exp_intop ((bfd_vma) 1
|
||||
<< s->alignment_power))));
|
||||
stat_ptr = &add;
|
||||
lang_list_init (stat_ptr);
|
||||
}
|
||||
|
||||
if (! link_info.relocateable)
|
||||
address = NULL;
|
||||
else
|
||||
if (config.build_constructors)
|
||||
{
|
||||
/* If the name of the section is representable in C, then create
|
||||
symbols to mark the start and the end of the section. */
|
||||
for (ps = outsecname; *ps != '\0'; ps++)
|
||||
if (! isalnum ((unsigned char) *ps) && *ps != '_')
|
||||
break;
|
||||
if (*ps == '\0')
|
||||
{
|
||||
char *symname;
|
||||
etree_type *e_align;
|
||||
|
||||
symname = (char *) xmalloc (ps - outsecname + sizeof "__start_");
|
||||
sprintf (symname, "__start_%s", outsecname);
|
||||
e_align = exp_unop (ALIGN_K,
|
||||
exp_intop ((bfd_vma) 1 << s->alignment_power));
|
||||
lang_add_assignment (exp_assop ('=', symname, e_align));
|
||||
}
|
||||
}
|
||||
|
||||
if (link_info.relocateable || (s->flags & (SEC_LOAD | SEC_ALLOC)) == 0)
|
||||
address = exp_intop ((bfd_vma) 0);
|
||||
else
|
||||
address = NULL;
|
||||
|
||||
lang_enter_output_section_statement (outsecname, address, 0,
|
||||
(bfd_vma) 0,
|
||||
(etree_type *) NULL,
|
||||
(etree_type *) NULL,
|
||||
(etree_type *) NULL);
|
||||
os = lang_enter_output_section_statement (outsecname, address, 0,
|
||||
(bfd_vma) 0,
|
||||
(etree_type *) NULL,
|
||||
(etree_type *) NULL,
|
||||
(etree_type *) NULL);
|
||||
|
||||
os = lang_output_section_statement_lookup (outsecname);
|
||||
wild_doit (&os->children, s, os, file);
|
||||
|
||||
lang_leave_output_section_statement
|
||||
((bfd_vma) 0, "*default*", (struct lang_output_section_phdr_list *) NULL,
|
||||
"*default*");
|
||||
stat_ptr = &add;
|
||||
((bfd_vma) 0, "*default*",
|
||||
(struct lang_output_section_phdr_list *) NULL, "*default*");
|
||||
|
||||
if (*ps == '\0' && config.build_constructors)
|
||||
if (config.build_constructors && *ps == '\0')
|
||||
{
|
||||
char *symname;
|
||||
|
||||
/* lang_leave_ouput_section_statement resets stat_ptr. Put
|
||||
stat_ptr back where we want it. */
|
||||
if (place != NULL)
|
||||
stat_ptr = &add;
|
||||
|
||||
symname = (char *) xmalloc (ps - outsecname + sizeof "__stop_");
|
||||
sprintf (symname, "__stop_%s", outsecname);
|
||||
lang_add_assignment (exp_assop ('=', symname,
|
||||
exp_nameop (NAME, ".")));
|
||||
}
|
||||
|
||||
/* Now stick the new statement list right after PLACE. */
|
||||
*add.tail = place->header.next;
|
||||
place->header.next = add.head;
|
||||
|
||||
/* Restore the global list pointer. */
|
||||
stat_ptr = old;
|
||||
|
||||
if (place != NULL)
|
||||
{
|
||||
asection *snew, **pps;
|
||||
|
||||
snew = os->bfd_section;
|
||||
if (place->section != NULL
|
||||
|| (place->os->bfd_section != NULL
|
||||
&& place->os->bfd_section != snew))
|
||||
{
|
||||
/* Shuffle the section to make the output file look neater.
|
||||
This is really only cosmetic. */
|
||||
if (place->section == NULL)
|
||||
{
|
||||
#if 0
|
||||
/* Finding the end of the list is a little tricky. We
|
||||
make a wild stab at it by comparing section flags. */
|
||||
flagword first_flags = place->os->bfd_section->flags;
|
||||
for (pps = &place->os->bfd_section->next;
|
||||
*pps != NULL && (*pps)->flags == first_flags;
|
||||
pps = &(*pps)->next)
|
||||
;
|
||||
place->section = pps;
|
||||
#else
|
||||
/* Put orphans after the first section on the list. */
|
||||
place->section = &place->os->bfd_section->next;
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Unlink the section. */
|
||||
for (pps = &output_bfd->sections; *pps != snew; pps = &(*pps)->next)
|
||||
;
|
||||
*pps = snew->next;
|
||||
|
||||
/* Now tack it on to the "place->os" section list. */
|
||||
snew->next = *place->section;
|
||||
*place->section = snew;
|
||||
}
|
||||
place->section = &snew->next; /* Save the end of this list. */
|
||||
|
||||
if (add.head != NULL)
|
||||
{
|
||||
/* We try to put the output statements in some sort of
|
||||
reasonable order here, because they determine the final
|
||||
load addresses of the orphan sections. */
|
||||
if (place->stmt == NULL)
|
||||
{
|
||||
/* Put the new statement list right at the head. */
|
||||
*add.tail = place->os->header.next;
|
||||
place->os->header.next = add.head;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Put it after the last orphan statement we added. */
|
||||
*add.tail = *place->stmt;
|
||||
*place->stmt = add.head;
|
||||
}
|
||||
|
||||
/* Fix the global list pointer if we happened to tack our
|
||||
new list at the tail. */
|
||||
if (*old->tail == add.head)
|
||||
old->tail = add.tail;
|
||||
|
||||
/* Save the end of this list. */
|
||||
place->stmt = add.tail;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static void
|
||||
gld${EMULATION_NAME}_place_section (s)
|
||||
lang_statement_union_type *s;
|
||||
{
|
||||
lang_output_section_statement_type *os;
|
||||
|
||||
if (s->header.type != lang_output_section_statement_enum)
|
||||
return;
|
||||
|
||||
os = &s->output_section_statement;
|
||||
|
||||
if (strcmp (os->name, hold_section->name) == 0
|
||||
&& os->bfd_section != NULL
|
||||
&& ((hold_section->flags & (SEC_LOAD | SEC_ALLOC))
|
||||
== (os->bfd_section->flags & (SEC_LOAD | SEC_ALLOC))))
|
||||
hold_use = os;
|
||||
|
||||
if (strcmp (os->name, ".text") == 0)
|
||||
hold_text = os;
|
||||
else if (strcmp (os->name, ".rodata") == 0)
|
||||
hold_rodata = os;
|
||||
else if (strcmp (os->name, ".data") == 0)
|
||||
hold_data = os;
|
||||
else if (strcmp (os->name, ".bss") == 0)
|
||||
hold_bss = os;
|
||||
else if (hold_rel == NULL
|
||||
&& os->bfd_section != NULL
|
||||
&& (os->bfd_section->flags & SEC_ALLOC) != 0
|
||||
&& strncmp (os->name, ".rel", 4) == 0)
|
||||
hold_rel = os;
|
||||
else if (strcmp (os->name, ".interp") == 0)
|
||||
hold_interp = os;
|
||||
}
|
||||
|
||||
static char *
|
||||
gld${EMULATION_NAME}_get_script(isfile)
|
||||
int *isfile;
|
||||
|
7
gnu/dist/toolchain/ld/emultempl/mipsecoff.em
vendored
7
gnu/dist/toolchain/ld/emultempl/mipsecoff.em
vendored
@ -69,6 +69,11 @@ gld${EMULATION_NAME}_after_open ()
|
||||
{
|
||||
asection *datasec;
|
||||
|
||||
/* As first-order business, make sure that each input BFD is ECOFF. It
|
||||
better be, as we are directly calling an ECOFF backend function. */
|
||||
if (bfd_get_flavour (abfd) != bfd_target_ecoff_flavour)
|
||||
einfo ("%F%B: all input objects must be ECOFF for --embedded-relocs\n");
|
||||
|
||||
datasec = bfd_get_section_by_name (abfd, ".sdata");
|
||||
|
||||
/* Note that we assume that the reloc_count field has already
|
||||
@ -113,7 +118,7 @@ check_sections (abfd, sec, sdatasec)
|
||||
if ((bfd_get_section_flags (abfd, sec) & SEC_CODE) == 0
|
||||
&& sec != (asection *) sdatasec
|
||||
&& sec->reloc_count != 0)
|
||||
einfo ("%P%X: section %s has relocs; can not use --embedded-relocs\n",
|
||||
einfo ("%B%X: section %s has relocs; can not use --embedded-relocs\n",
|
||||
abfd, bfd_get_section_name (abfd, sec));
|
||||
}
|
||||
|
||||
|
134
gnu/dist/toolchain/ld/ld.info
vendored
134
gnu/dist/toolchain/ld/ld.info
vendored
@ -4,7 +4,7 @@ START-INFO-DIR-ENTRY
|
||||
* Ld: (ld). The GNU linker.
|
||||
END-INFO-DIR-ENTRY
|
||||
|
||||
This file documents the GNU linker LD version 2.10.
|
||||
This file documents the GNU linker LD version 2.10.1.
|
||||
|
||||
Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free
|
||||
Software Foundation, Inc.
|
||||
@ -24,74 +24,74 @@ versions.
|
||||
|
||||
|
||||
Indirect:
|
||||
ld.info-1: 880
|
||||
ld.info-2: 50060
|
||||
ld.info-3: 98401
|
||||
ld.info-4: 146817
|
||||
ld.info-1: 882
|
||||
ld.info-2: 50064
|
||||
ld.info-3: 98405
|
||||
ld.info-4: 146821
|
||||
|
||||
Tag Table:
|
||||
(Indirect)
|
||||
Node: Top880
|
||||
Node: Overview1397
|
||||
Node: Invocation2510
|
||||
Node: Options2917
|
||||
Node: Environment50060
|
||||
Node: Scripts51815
|
||||
Node: Basic Script Concepts53548
|
||||
Node: Script Format56250
|
||||
Node: Simple Example57108
|
||||
Node: Simple Commands60198
|
||||
Node: Entry Point60644
|
||||
Node: File Commands61394
|
||||
Node: Format Commands64447
|
||||
Node: Miscellaneous Commands66403
|
||||
Node: Assignments68394
|
||||
Node: Simple Assignments68726
|
||||
Node: PROVIDE70422
|
||||
Node: SECTIONS71595
|
||||
Node: Output Section Description73481
|
||||
Node: Output Section Name74466
|
||||
Node: Output Section Address75333
|
||||
Node: Input Section76967
|
||||
Node: Input Section Basics77759
|
||||
Node: Input Section Wildcards80027
|
||||
Node: Input Section Common82834
|
||||
Node: Input Section Keep84303
|
||||
Node: Input Section Example84772
|
||||
Node: Output Section Data85729
|
||||
Node: Output Section Keywords88174
|
||||
Node: Output Section Discarding91606
|
||||
Node: Output Section Attributes92551
|
||||
Node: Output Section Type93385
|
||||
Node: Output Section LMA94526
|
||||
Node: Output Section Region96630
|
||||
Node: Output Section Phdr97043
|
||||
Node: Output Section Fill97694
|
||||
Node: Overlay Description98401
|
||||
Node: MEMORY102640
|
||||
Node: PHDRS106717
|
||||
Node: VERSION111756
|
||||
Node: Expressions117834
|
||||
Node: Constants118668
|
||||
Node: Symbols119224
|
||||
Node: Location Counter119956
|
||||
Node: Operators122261
|
||||
Node: Evaluation123172
|
||||
Node: Expression Section124526
|
||||
Node: Builtin Functions126002
|
||||
Node: Implicit Linker Scripts131004
|
||||
Node: Machine Dependent131772
|
||||
Node: H8/300132226
|
||||
Node: i960133022
|
||||
Node: ARM134702
|
||||
Node: BFD135837
|
||||
Node: BFD outline137291
|
||||
Node: BFD information loss138576
|
||||
Node: Canonical format141084
|
||||
Node: Reporting Bugs145430
|
||||
Node: Bug Criteria146123
|
||||
Node: Bug Reporting146817
|
||||
Node: MRI153578
|
||||
Node: Index158177
|
||||
Node: Top882
|
||||
Node: Overview1401
|
||||
Node: Invocation2514
|
||||
Node: Options2921
|
||||
Node: Environment50064
|
||||
Node: Scripts51819
|
||||
Node: Basic Script Concepts53552
|
||||
Node: Script Format56254
|
||||
Node: Simple Example57112
|
||||
Node: Simple Commands60202
|
||||
Node: Entry Point60648
|
||||
Node: File Commands61398
|
||||
Node: Format Commands64451
|
||||
Node: Miscellaneous Commands66407
|
||||
Node: Assignments68398
|
||||
Node: Simple Assignments68730
|
||||
Node: PROVIDE70426
|
||||
Node: SECTIONS71599
|
||||
Node: Output Section Description73485
|
||||
Node: Output Section Name74470
|
||||
Node: Output Section Address75337
|
||||
Node: Input Section76971
|
||||
Node: Input Section Basics77763
|
||||
Node: Input Section Wildcards80031
|
||||
Node: Input Section Common82838
|
||||
Node: Input Section Keep84307
|
||||
Node: Input Section Example84776
|
||||
Node: Output Section Data85733
|
||||
Node: Output Section Keywords88178
|
||||
Node: Output Section Discarding91610
|
||||
Node: Output Section Attributes92555
|
||||
Node: Output Section Type93389
|
||||
Node: Output Section LMA94530
|
||||
Node: Output Section Region96634
|
||||
Node: Output Section Phdr97047
|
||||
Node: Output Section Fill97698
|
||||
Node: Overlay Description98405
|
||||
Node: MEMORY102644
|
||||
Node: PHDRS106721
|
||||
Node: VERSION111760
|
||||
Node: Expressions117838
|
||||
Node: Constants118672
|
||||
Node: Symbols119228
|
||||
Node: Location Counter119960
|
||||
Node: Operators122265
|
||||
Node: Evaluation123176
|
||||
Node: Expression Section124530
|
||||
Node: Builtin Functions126006
|
||||
Node: Implicit Linker Scripts131008
|
||||
Node: Machine Dependent131776
|
||||
Node: H8/300132230
|
||||
Node: i960133026
|
||||
Node: ARM134706
|
||||
Node: BFD135841
|
||||
Node: BFD outline137295
|
||||
Node: BFD information loss138580
|
||||
Node: Canonical format141088
|
||||
Node: Reporting Bugs145434
|
||||
Node: Bug Criteria146127
|
||||
Node: Bug Reporting146821
|
||||
Node: MRI153582
|
||||
Node: Index158181
|
||||
|
||||
End Tag Table
|
||||
|
4
gnu/dist/toolchain/ld/ld.info-1
vendored
4
gnu/dist/toolchain/ld/ld.info-1
vendored
@ -4,7 +4,7 @@ START-INFO-DIR-ENTRY
|
||||
* Ld: (ld). The GNU linker.
|
||||
END-INFO-DIR-ENTRY
|
||||
|
||||
This file documents the GNU linker LD version 2.10.
|
||||
This file documents the GNU linker LD version 2.10.1.
|
||||
|
||||
Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free
|
||||
Software Foundation, Inc.
|
||||
@ -28,7 +28,7 @@ File: ld.info, Node: Top, Next: Overview, Up: (dir)
|
||||
Using ld
|
||||
********
|
||||
|
||||
This file documents the GNU linker ld version 2.10.
|
||||
This file documents the GNU linker ld version 2.10.1.
|
||||
|
||||
* Menu:
|
||||
|
||||
|
2
gnu/dist/toolchain/ld/ld.info-2
vendored
2
gnu/dist/toolchain/ld/ld.info-2
vendored
@ -4,7 +4,7 @@ START-INFO-DIR-ENTRY
|
||||
* Ld: (ld). The GNU linker.
|
||||
END-INFO-DIR-ENTRY
|
||||
|
||||
This file documents the GNU linker LD version 2.10.
|
||||
This file documents the GNU linker LD version 2.10.1.
|
||||
|
||||
Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free
|
||||
Software Foundation, Inc.
|
||||
|
2
gnu/dist/toolchain/ld/ld.info-3
vendored
2
gnu/dist/toolchain/ld/ld.info-3
vendored
@ -4,7 +4,7 @@ START-INFO-DIR-ENTRY
|
||||
* Ld: (ld). The GNU linker.
|
||||
END-INFO-DIR-ENTRY
|
||||
|
||||
This file documents the GNU linker LD version 2.10.
|
||||
This file documents the GNU linker LD version 2.10.1.
|
||||
|
||||
Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free
|
||||
Software Foundation, Inc.
|
||||
|
2
gnu/dist/toolchain/ld/ld.info-4
vendored
2
gnu/dist/toolchain/ld/ld.info-4
vendored
@ -4,7 +4,7 @@ START-INFO-DIR-ENTRY
|
||||
* Ld: (ld). The GNU linker.
|
||||
END-INFO-DIR-ENTRY
|
||||
|
||||
This file documents the GNU linker LD version 2.10.
|
||||
This file documents the GNU linker LD version 2.10.1.
|
||||
|
||||
Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free
|
||||
Software Foundation, Inc.
|
||||
|
5
gnu/dist/toolchain/ld/ldlang.c
vendored
5
gnu/dist/toolchain/ld/ldlang.c
vendored
@ -58,7 +58,6 @@ static lang_output_section_statement_type *default_common_section;
|
||||
static boolean map_option_f;
|
||||
static bfd_vma print_dot;
|
||||
static lang_input_statement_type *first_file;
|
||||
static lang_statement_list_type lang_output_section_statement;
|
||||
static CONST char *current_target;
|
||||
static CONST char *output_target;
|
||||
static lang_statement_list_type statement_list;
|
||||
@ -166,6 +165,7 @@ static char * get_first_input_target PARAMS ((void));
|
||||
|
||||
/* EXPORTS */
|
||||
lang_output_section_statement_type *abs_output_section;
|
||||
lang_statement_list_type lang_output_section_statement;
|
||||
lang_statement_list_type *stat_ptr = &statement_list;
|
||||
lang_statement_list_type file_chain = { NULL, NULL };
|
||||
const char *entry_symbol = NULL;
|
||||
@ -3813,7 +3813,7 @@ topower (x)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
lang_output_section_statement_type *
|
||||
lang_enter_output_section_statement (output_section_statement_name,
|
||||
address_exp, sectype, block_value,
|
||||
align, subalign, ebase)
|
||||
@ -3861,6 +3861,7 @@ lang_enter_output_section_statement (output_section_statement_name,
|
||||
"section alignment", 0));
|
||||
|
||||
os->load_base = ebase;
|
||||
return os;
|
||||
}
|
||||
|
||||
|
||||
|
3
gnu/dist/toolchain/ld/ldlang.h
vendored
3
gnu/dist/toolchain/ld/ldlang.h
vendored
@ -371,6 +371,7 @@ struct lang_nocrossrefs
|
||||
extern struct lang_nocrossrefs *nocrossref_list;
|
||||
|
||||
extern lang_output_section_statement_type *abs_output_section;
|
||||
extern lang_statement_list_type lang_output_section_statement;
|
||||
extern boolean lang_has_input_file;
|
||||
extern etree_type *base;
|
||||
extern lang_statement_list_type *stat_ptr;
|
||||
@ -388,7 +389,7 @@ extern void lang_map PARAMS ((void));
|
||||
extern void lang_set_flags PARAMS ((lang_memory_region_type *, const char *,
|
||||
int));
|
||||
extern void lang_add_output PARAMS ((const char *, int from_script));
|
||||
extern void lang_enter_output_section_statement
|
||||
extern lang_output_section_statement_type *lang_enter_output_section_statement
|
||||
PARAMS ((const char *output_section_statement_name,
|
||||
etree_type * address_exp,
|
||||
enum section_type sectype,
|
||||
|
5
gnu/dist/toolchain/ld/ldlex.l
vendored
5
gnu/dist/toolchain/ld/ldlex.l
vendored
@ -479,6 +479,11 @@ yy_create_string_buffer (string, size)
|
||||
b->yy_n_chars = size+1;
|
||||
b->yy_buf_pos = &b->yy_ch_buf[1];
|
||||
|
||||
b->yy_is_our_buffer = 1;
|
||||
b->yy_is_interactive = 0;
|
||||
b->yy_at_bol = 1;
|
||||
b->yy_fill_buffer = 0;
|
||||
|
||||
/* flex 2.4.7 changed the interface. FIXME: We should not be using
|
||||
a flex internal interface in the first place! */
|
||||
#ifdef YY_BUFFER_NEW
|
||||
|
2
gnu/dist/toolchain/ld/ldver.texi
vendored
2
gnu/dist/toolchain/ld/ldver.texi
vendored
@ -1 +1 @@
|
||||
@set VERSION 2.10
|
||||
@set VERSION 2.10.1
|
||||
|
4
gnu/dist/toolchain/ld/scripttempl/elf.sc
vendored
4
gnu/dist/toolchain/ld/scripttempl/elf.sc
vendored
@ -234,7 +234,7 @@ SECTIONS
|
||||
${CONSTRUCTING+SORT(CONSTRUCTORS)}
|
||||
}
|
||||
.data1 ${RELOCATING-0} : { *(.data1) }
|
||||
.eh_frame : { *(.eh_frame) }
|
||||
.eh_frame : { KEEP (*(.eh_frame)) }
|
||||
.gcc_except_table : { *(.gcc_except_table) }
|
||||
${WRITABLE_RODATA+${RODATA}}
|
||||
${RELOCATING+${OTHER_READWRITE_SECTIONS}}
|
||||
@ -242,7 +242,7 @@ SECTIONS
|
||||
${RELOCATING+${DTOR}}
|
||||
${DATA_PLT+${PLT}}
|
||||
${RELOCATING+${OTHER_GOT_SYMBOLS}}
|
||||
.got ${RELOCATING-0} : { *(.got.plt) *(.got) }
|
||||
.got ${RELOCATING-0} : { *(.got.plt) *(.got) }
|
||||
${TEXT_DYNAMIC-${DYNAMIC}}
|
||||
/* We want the small data sections together, so single-instruction offsets
|
||||
can access them all, and initialized data all before uninitialized, so
|
||||
|
7
gnu/dist/toolchain/ld/scripttempl/elfd30v.sc
vendored
7
gnu/dist/toolchain/ld/scripttempl/elfd30v.sc
vendored
@ -121,7 +121,8 @@ SECTIONS
|
||||
.rodata ${RELOCATING-0} : { *(.rodata) } ${RELOCATING+ > ${DATA_MEMORY}}
|
||||
|
||||
/* C++ exception support. */
|
||||
.eh_frame ${RELOCATING-0} : { *(.eh_frame) } ${RELOCATING+ > ${DATA_MEMORY}}
|
||||
.eh_frame ${RELOCATING-0} : { KEEP (*(.eh_frame)) } ${RELOCATING+ > ${DATA_MEMORY}}
|
||||
.gcc_except_table ${RELOCATING-0} : { *(.gcc_except_table) } ${RELOCATING+ > ${DATA_MEMORY}}
|
||||
|
||||
${RELOCATING+${CTOR}}
|
||||
${RELOCATING+${DTOR}}
|
||||
@ -213,7 +214,3 @@ SECTIONS
|
||||
PROVIDE (__stack = ${STACK_START_ADDR});
|
||||
}
|
||||
EOF
|
||||
|
||||
|
||||
|
||||
|
||||
|
9
gnu/dist/toolchain/ld/testsuite/ChangeLog
vendored
9
gnu/dist/toolchain/ld/testsuite/ChangeLog
vendored
@ -1,3 +1,12 @@
|
||||
2000-11-06 Alan Modra <alan@linuxcare.com.au>
|
||||
|
||||
* ld-elfvsb/main.c (PROTECTED_CHECK): Include stdio.h.
|
||||
(main): Prune unused args.
|
||||
|
||||
2000-10-17 Philip Blundell <pb@futuretv.com>
|
||||
|
||||
* lib/ld-lib.exp, ld-elfvsb: Update from trunk version.
|
||||
|
||||
2000-04-12 Alan Modra <alan@linuxcare.com.au>
|
||||
|
||||
* ld-selective/selective.exp (test4): Delete incorrect foo__1B test.
|
||||
|
168
gnu/dist/toolchain/ld/testsuite/ld-elfvsb/elf-offset.ld
vendored
Normal file
168
gnu/dist/toolchain/ld/testsuite/ld-elfvsb/elf-offset.ld
vendored
Normal file
@ -0,0 +1,168 @@
|
||||
SECTIONS
|
||||
{
|
||||
/* Read-only sections, merged into text segment: */
|
||||
. = 0x100000;
|
||||
.hash : { *(.hash) }
|
||||
.dynsym : { *(.dynsym) }
|
||||
.dynstr : { *(.dynstr) }
|
||||
.gnu.version : { *(.gnu.version) }
|
||||
.gnu.version_d : { *(.gnu.version_d) }
|
||||
.gnu.version_r : { *(.gnu.version_r) }
|
||||
.rel.text :
|
||||
{
|
||||
*(.rel.text)
|
||||
*(.rel.text.*)
|
||||
*(.rel.gnu.linkonce.t*)
|
||||
}
|
||||
.rela.text :
|
||||
{
|
||||
*(.rela.text)
|
||||
*(.rela.text.*)
|
||||
*(.rela.gnu.linkonce.t*)
|
||||
}
|
||||
.rel.data :
|
||||
{
|
||||
*(.rel.data)
|
||||
*(.rel.data.*)
|
||||
*(.rel.gnu.linkonce.d*)
|
||||
}
|
||||
.rela.data :
|
||||
{
|
||||
*(.rela.data)
|
||||
*(.rela.data.*)
|
||||
*(.rela.gnu.linkonce.d*)
|
||||
}
|
||||
.rel.rodata :
|
||||
{
|
||||
*(.rel.rodata)
|
||||
*(.rel.rodata.*)
|
||||
*(.rel.gnu.linkonce.r*)
|
||||
}
|
||||
.rela.rodata :
|
||||
{
|
||||
*(.rela.rodata)
|
||||
*(.rela.rodata.*)
|
||||
*(.rela.gnu.linkonce.r*)
|
||||
}
|
||||
.rel.got : { *(.rel.got) }
|
||||
.rela.got : { *(.rela.got) }
|
||||
.rel.ctors : { *(.rel.ctors) }
|
||||
.rela.ctors : { *(.rela.ctors) }
|
||||
.rel.dtors : { *(.rel.dtors) }
|
||||
.rela.dtors : { *(.rela.dtors) }
|
||||
.rel.init : { *(.rel.init) }
|
||||
.rela.init : { *(.rela.init) }
|
||||
.rel.fini : { *(.rel.fini) }
|
||||
.rela.fini : { *(.rela.fini) }
|
||||
.rel.bss : { *(.rel.bss) }
|
||||
.rela.bss : { *(.rela.bss) }
|
||||
.rel.plt : { *(.rel.plt) }
|
||||
.rela.plt : { *(.rela.plt) }
|
||||
.init : { KEEP (*(.init)) }
|
||||
.plt : { *(.plt) }
|
||||
.text :
|
||||
{
|
||||
*(.text)
|
||||
*(.text.*)
|
||||
*(.stub)
|
||||
/* .gnu.warning sections are handled specially by elf32.em. */
|
||||
*(.gnu.warning)
|
||||
*(.gnu.linkonce.t*)
|
||||
}
|
||||
_etext = .;
|
||||
PROVIDE (etext = .);
|
||||
.fini : { KEEP (*(.fini)) } =0x9090
|
||||
.rodata :
|
||||
{
|
||||
*(.rodata)
|
||||
*(.rodata.*)
|
||||
*(.gnu.linkonce.r*)
|
||||
}
|
||||
.rodata1 : { *(.rodata1) }
|
||||
/* Adjust the address for the data segment. We want to adjust up to
|
||||
the same address within the page on the next page up. */
|
||||
. = ALIGN(0x1000) + (. & (0x1000 - 1));
|
||||
.data :
|
||||
{
|
||||
*(.data)
|
||||
*(.data.*)
|
||||
*(.gnu.linkonce.d*)
|
||||
SORT(CONSTRUCTORS)
|
||||
}
|
||||
.data1 : { *(.data1) }
|
||||
.ctors :
|
||||
{
|
||||
/* gcc uses crtbegin.o to find the start of the constructors, so
|
||||
we make sure it is first. Because this is a wildcard, it
|
||||
doesn't matter if the user does not actually link against
|
||||
crtbegin.o; the linker won't look for a file to match a
|
||||
wildcard. The wildcard also means that it doesn't matter which
|
||||
directory crtbegin.o is in. */
|
||||
KEEP (*crtbegin.o(.ctors))
|
||||
KEEP (*(SORT(.ctors.*)))
|
||||
KEEP (*(.ctors))
|
||||
}
|
||||
.dtors :
|
||||
{
|
||||
KEEP (*crtbegin.o(.dtors))
|
||||
KEEP (*(SORT(.dtors.*)))
|
||||
KEEP (*(.dtors))
|
||||
}
|
||||
.got : { *(.got.plt) *(.got) }
|
||||
.dynamic : { *(.dynamic) }
|
||||
/* We want the small data sections together, so single-instruction offsets
|
||||
can access them all, and initialized data all before uninitialized, so
|
||||
we can shorten the on-disk segment size. */
|
||||
.sdata : { *(.sdata) *(.sdata.*) }
|
||||
_edata = .;
|
||||
PROVIDE (edata = .);
|
||||
__bss_start = .;
|
||||
.sbss : { *(.sbss) *(.scommon) }
|
||||
.bss :
|
||||
{
|
||||
*(.dynbss)
|
||||
*(.bss)
|
||||
*(COMMON)
|
||||
/* Align here to ensure that the .bss section occupies space up to
|
||||
_end. Align after .bss to ensure correct alignment even if the
|
||||
.bss section disappears because there are no input sections. */
|
||||
. = ALIGN(32 / 8);
|
||||
}
|
||||
. = ALIGN(32 / 8);
|
||||
_end = . ;
|
||||
PROVIDE (end = .);
|
||||
/* Stabs debugging sections. */
|
||||
.stab 0 : { *(.stab) }
|
||||
.stabstr 0 : { *(.stabstr) }
|
||||
.stab.excl 0 : { *(.stab.excl) }
|
||||
.stab.exclstr 0 : { *(.stab.exclstr) }
|
||||
.stab.index 0 : { *(.stab.index) }
|
||||
.stab.indexstr 0 : { *(.stab.indexstr) }
|
||||
.comment 0 : { *(.comment) }
|
||||
/* DWARF debug sections.
|
||||
Symbols in the DWARF debugging sections are relative to the beginning
|
||||
of the section so we begin them at 0. */
|
||||
/* DWARF 1 */
|
||||
.debug 0 : { *(.debug) }
|
||||
.line 0 : { *(.line) }
|
||||
/* GNU DWARF 1 extensions */
|
||||
.debug_srcinfo 0 : { *(.debug_srcinfo) }
|
||||
.debug_sfnames 0 : { *(.debug_sfnames) }
|
||||
/* DWARF 1.1 and DWARF 2 */
|
||||
.debug_aranges 0 : { *(.debug_aranges) }
|
||||
.debug_pubnames 0 : { *(.debug_pubnames) }
|
||||
/* DWARF 2 */
|
||||
.debug_info 0 : { *(.debug_info) }
|
||||
.debug_abbrev 0 : { *(.debug_abbrev) }
|
||||
.debug_line 0 : { *(.debug_line) }
|
||||
.debug_frame 0 : { *(.debug_frame) }
|
||||
.debug_str 0 : { *(.debug_str) }
|
||||
.debug_loc 0 : { *(.debug_loc) }
|
||||
.debug_macinfo 0 : { *(.debug_macinfo) }
|
||||
/* SGI/MIPS DWARF 2 extensions */
|
||||
.debug_weaknames 0 : { *(.debug_weaknames) }
|
||||
.debug_funcnames 0 : { *(.debug_funcnames) }
|
||||
.debug_typenames 0 : { *(.debug_typenames) }
|
||||
.debug_varnames 0 : { *(.debug_varnames) }
|
||||
/* These must appear regardless of . */
|
||||
}
|
22
gnu/dist/toolchain/ld/testsuite/ld-elfvsb/elfvsb.dat
vendored
Normal file
22
gnu/dist/toolchain/ld/testsuite/ld-elfvsb/elfvsb.dat
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
mainvar == 1
|
||||
overriddenvar == 2
|
||||
shlibvar1 == 3
|
||||
shlib_mainvar () == 1
|
||||
shlib_overriddenvar () == 2
|
||||
shlib_shlibvar1 () == 3
|
||||
shlib_shlibvar2 () == 4
|
||||
shlib_shlibcall () == 5
|
||||
shlib_shlibcall2 () == 8
|
||||
shlib_maincall () == 6
|
||||
main_called () == 6
|
||||
shlib_checkfunptr1 (shlib_shlibvar1) == 1
|
||||
shlib_checkfunptr2 (main_called) == 1
|
||||
shlib_getfunptr1 () == shlib_shlibvar1
|
||||
shlib_getfunptr2 () == main_called
|
||||
shlib_check () == 1
|
||||
visibility_check () == 1
|
||||
visibility_checkfunptr () == 1
|
||||
main_visibility_check () == 1
|
||||
visibility_checkvar () == 1
|
||||
visibility_checkvarptr () == 1
|
||||
main_visibility_checkvar () == 1
|
359
gnu/dist/toolchain/ld/testsuite/ld-elfvsb/elfvsb.exp
vendored
Normal file
359
gnu/dist/toolchain/ld/testsuite/ld-elfvsb/elfvsb.exp
vendored
Normal file
@ -0,0 +1,359 @@
|
||||
# Expect script for ld-visibility tests
|
||||
# Copyright (C) 2000 Free Software Foundation
|
||||
#
|
||||
# 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 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# Written by Ian Lance Taylor (ian@cygnus.com)
|
||||
# and H.J. Lu (hjl@gnu.org)
|
||||
#
|
||||
|
||||
# Make sure that ld can generate ELF shared libraries with visibility.
|
||||
|
||||
# This test can only be run if ld generates native executables.
|
||||
if ![isnative] then {return}
|
||||
|
||||
# This test can only be run on a couple of ELF platforms.
|
||||
# Square bracket expressions seem to confuse istarget.
|
||||
if { ![istarget i386-*-linux*] \
|
||||
&& ![istarget i486-*-linux*] \
|
||||
&& ![istarget i586-*-linux*] \
|
||||
&& ![istarget i686-*-linux*] \
|
||||
&& ![istarget m68k-*-linux*] \
|
||||
&& ![istarget powerpc-*-linux*] \
|
||||
&& ![istarget sparc*-*-linux*] } {
|
||||
return
|
||||
}
|
||||
|
||||
if { [istarget *-*-linux*aout*] \
|
||||
|| [istarget *-*-linux*oldld*] } {
|
||||
return
|
||||
}
|
||||
|
||||
set tmpdir tmpdir
|
||||
set SHCFLAG ""
|
||||
|
||||
if { [istarget rs6000*-*-aix*] || [istarget powerpc*-*-aix*] } {
|
||||
|
||||
# AIX shared libraries do not seem to support useful features,
|
||||
# like overriding the shared library function or letting the
|
||||
# shared library refer to objects defined in the main program. We
|
||||
# avoid testing those features.
|
||||
set SHCFLAG "-DXCOFF_TEST"
|
||||
|
||||
# The AIX 3.2.5 loader appears to randomly fail when loading
|
||||
# shared libraries from NSF mounted partitions, so we avoid any
|
||||
# potential problems by using a local directory.
|
||||
catch {exec /bin/sh -c "echo $$"} pid
|
||||
set tmpdir /usr/tmp/ld.$pid
|
||||
catch "exec mkdir $tmpdir" exec_status
|
||||
|
||||
# On AIX, we need to explicitly export the symbols the shared
|
||||
# library is going to provide, and need.
|
||||
set file [open $tmpdir/xcoff.exp w]
|
||||
puts $file shlibvar1
|
||||
puts $file shlibvar2
|
||||
puts $file shlib_shlibvar1
|
||||
puts $file shlib_shlibvar2
|
||||
puts $file shlib_shlibcall
|
||||
puts $file shlib_shlibcalled
|
||||
puts $file shlib_checkfunptr1
|
||||
puts $file shlib_getfunptr1
|
||||
puts $file shlib_check
|
||||
close $file
|
||||
}
|
||||
|
||||
set support_protected "no"
|
||||
|
||||
if [istarget *-*-linux*] {
|
||||
if [ld_compile "$CC -g $CFLAGS -DPROTECTED_CHECK" $srcdir/$subdir/main.c $tmpdir/main.o] {
|
||||
if [ld_link $ld $tmpdir/main "$tmpdir/main.o"] {
|
||||
catch "exec $tmpdir/main" support_protected
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# The test procedure.
|
||||
proc visibility_test { visibility progname testname main sh1 sh2 dat args } {
|
||||
global ld
|
||||
global srcdir
|
||||
global subdir
|
||||
global exec_output
|
||||
global link_output
|
||||
global host_triplet
|
||||
global tmpdir
|
||||
|
||||
if [llength $args] { set shldflags [lindex $args 0] } else { set shldflags "" }
|
||||
|
||||
# Build the shared library.
|
||||
# On AIX, we need to use an export file.
|
||||
set shared -shared
|
||||
if { [istarget rs6000*-*-aix*] || [istarget powerpc*-*-aix*] } {
|
||||
set shared "-bM:SRE -bE:$tmpdir/xcoff.exp"
|
||||
}
|
||||
if {![ld_simple_link $ld $tmpdir/$progname.so "$shared $shldflags $tmpdir/$sh1 $tmpdir/$sh2"]} {
|
||||
if { [ string match $visibility "hidden_undef" ]
|
||||
&& [regexp ".*/sh1.c.*: undefined reference to \`visibility\'" $link_output]
|
||||
&& [regexp ".*/sh1.c.*: undefined reference to \`visibility_var\'" $link_output] } {
|
||||
pass "$testname"
|
||||
} else { if { [ string match $visibility "protected_undef" ]
|
||||
&& [regexp ".*/sh1.c.*: undefined reference to \`visibility\'" $link_output]
|
||||
&& [regexp ".*/sh1.c.*: undefined reference to \`visibility_var\'" $link_output] } {
|
||||
pass "$testname"
|
||||
} else {
|
||||
fail "$testname"
|
||||
}}
|
||||
return
|
||||
}
|
||||
|
||||
# Link against the shared library. Use -rpath so that the
|
||||
# dynamic linker can locate the shared library at runtime.
|
||||
# On AIX, we must include /lib in -rpath, as otherwise the loader
|
||||
# can not find -lc.
|
||||
set rpath $tmpdir
|
||||
if { [istarget rs6000*-*-aix*] || [istarget powerpc*-*-aix*] } {
|
||||
set rpath /lib:$tmpdir
|
||||
}
|
||||
if ![ld_link $ld $tmpdir/$progname "-rpath $rpath $tmpdir/$main $tmpdir/$progname.so"] {
|
||||
if { [ string match $visibility "hidden" ]
|
||||
&& [regexp ".*/main.c.*: undefined reference to \`visibility\'" $link_output]
|
||||
&& [regexp ".*/main.c.*: undefined reference to \`visibility_var\'" $link_output] } {
|
||||
pass "$testname"
|
||||
} else { if { [ string match $visibility "hidden_undef_def" ]
|
||||
&& [regexp ".*/main.c.*: undefined reference to \`visibility\'" $link_output]
|
||||
&& [regexp ".*/main.c.*: undefined reference to \`visibility_var\'" $link_output] } {
|
||||
pass "$testname"
|
||||
} else {
|
||||
fail "$testname"
|
||||
}}
|
||||
return
|
||||
}
|
||||
|
||||
if { [ string match $visibility "hidden" ]
|
||||
|| [ string match $visibility "hidden_undef" ]
|
||||
|| [ string match $visibility "protected_undef" ] } {
|
||||
fail "$testname"
|
||||
}
|
||||
|
||||
# Run the resulting program
|
||||
send_log "$tmpdir/$progname >$tmpdir/$progname.out\n"
|
||||
verbose "$tmpdir/$progname >$tmpdir/$progname.out"
|
||||
catch "exec $tmpdir/$progname >$tmpdir/$progname.out" exec_output
|
||||
if ![string match "" $exec_output] then {
|
||||
send_log "$exec_output\n"
|
||||
verbose "$exec_output"
|
||||
fail "$testname"
|
||||
return
|
||||
}
|
||||
|
||||
send_log "diff $tmpdir/$progname.out $srcdir/$subdir/$dat.dat\n"
|
||||
verbose "diff $tmpdir/$progname.out $srcdir/$subdir/$dat.dat"
|
||||
catch "exec diff $tmpdir/$progname.out $srcdir/$subdir/$dat.dat" exec_output
|
||||
set exec_output [prune_warnings $exec_output]
|
||||
|
||||
if {![string match "" $exec_output]} then {
|
||||
send_log "$exec_output\n"
|
||||
verbose "$exec_output"
|
||||
fail "$testname"
|
||||
return
|
||||
}
|
||||
|
||||
pass "$testname"
|
||||
}
|
||||
|
||||
proc visibility_run {visibility} {
|
||||
global CC
|
||||
global CFLAGS
|
||||
global SHCFLAG
|
||||
global srcdir
|
||||
global subdir
|
||||
global tmpdir
|
||||
global picflag
|
||||
global target_triplet
|
||||
global support_protected
|
||||
|
||||
if [ string match $visibility "hidden" ] {
|
||||
set VSBCFLAG "-DHIDDEN_TEST"
|
||||
} else { if [ string match $visibility "hidden_normal" ] {
|
||||
set VSBCFLAG "-DHIDDEN_NORMAL_TEST"
|
||||
} else { if [ string match $visibility "hidden_undef" ] {
|
||||
set VSBCFLAG "-DHIDDEN_UNDEF_TEST"
|
||||
} else { if [ string match $visibility "hidden_undef_def" ] {
|
||||
set VSBCFLAG "-DHIDDEN_UNDEF_TEST -DDSO_DEFINE_TEST"
|
||||
} else { if [ string match $visibility "hidden_weak" ] {
|
||||
set VSBCFLAG "-DHIDDEN_WEAK_TEST"
|
||||
} else { if [ string match $visibility "protected" ] {
|
||||
set VSBCFLAG "-DPROTECTED_TEST"
|
||||
} else { if [ string match $visibility "protected_undef" ] {
|
||||
set VSBCFLAG "-DPROTECTED_UNDEF_TEST"
|
||||
} else { if [ string match $visibility "protected_undef_def" ] {
|
||||
set VSBCFLAG "-DPROTECTED_UNDEF_TEST -DDSO_DEFINE_TEST"
|
||||
} else { if [ string match $visibility "protected_weak" ] {
|
||||
set VSBCFLAG "-DPROTECTED_WEAK_TEST"
|
||||
} else {
|
||||
set VSBCFLAG ""
|
||||
}}}}}}}}}
|
||||
|
||||
# Compile the main program.
|
||||
if ![ld_compile "$CC -g $CFLAGS $SHCFLAG $VSBCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o] {
|
||||
unresolved "visibility ($visibility) (non PIC)"
|
||||
unresolved "visibility ($visibility)"
|
||||
} else {
|
||||
# The shared library is composed of two files. First compile them
|
||||
# without using -fpic. That should work on an ELF system,
|
||||
# although it will be less efficient because the dynamic linker
|
||||
# will need to do more relocation work. However, note that not
|
||||
# using -fpic will cause some of the tests to return different
|
||||
# results.
|
||||
if { ![ld_compile "$CC -g $CFLAGS $SHCFLAG $VSBCFLAG" $srcdir/$subdir/sh1.c $tmpdir/sh1np.o]
|
||||
|| ![ld_compile "$CC -g $CFLAGS $SHCFLAG $VSBCFLAG" $srcdir/$subdir/sh2.c $tmpdir/sh2np.o] } {
|
||||
unresolved "visibility ($visibility) (non PIC)"
|
||||
} else { if { [istarget rs6000*-*-aix*] || [istarget powerpc*-*-aix*] } {
|
||||
visibility_test $visibility vnp "visibility ($visibility) (nonPIC)" mainnp.o sh1np.o sh2np.o xcoff
|
||||
} else {
|
||||
# SunOS non PIC shared libraries don't permit some cases of
|
||||
# overriding.
|
||||
if { [ string match $visibility "protected" ]
|
||||
|| [ string match $visibility "protected_undef_def" ] } {
|
||||
if [ string match $support_protected "no" ] {
|
||||
setup_xfail $target_triplet
|
||||
}
|
||||
} else {
|
||||
setup_xfail "*-*-sunos4*"
|
||||
}
|
||||
visibility_test $visibility vnp "visibility ($visibility) (non PIC)" mainnp.o sh1np.o sh2np.o elfvsb
|
||||
|
||||
# Test ELF shared library relocations with a non-zero load
|
||||
# address for the library. Near as I can tell, the R_*_RELATIVE
|
||||
# relocations for various targets are broken in the case where
|
||||
# the load address is not zero (which is the default).
|
||||
if { [ string match $visibility "protected" ]
|
||||
|| [ string match $visibility "protected_undef_def" ] } {
|
||||
if [ string match $support_protected "no" ] {
|
||||
setup_xfail $target_triplet
|
||||
}
|
||||
} else {
|
||||
setup_xfail "*-*-sunos4*"
|
||||
setup_xfail "*-*-linux*libc1"
|
||||
}
|
||||
visibility_test $visibility vnp "visibility ($visibility) (non PIC, load offset)" \
|
||||
mainnp.o sh1np.o sh2np.o elfvsb \
|
||||
"-T $srcdir/$subdir/elf-offset.ld"
|
||||
} }
|
||||
|
||||
# Now compile the code using -fpic.
|
||||
|
||||
if { ![ld_compile "$CC -g $CFLAGS $SHCFLAG $VSBCFLAG $picflag" $srcdir/$subdir/sh1.c $tmpdir/sh1p.o]
|
||||
|| ![ld_compile "$CC -g $CFLAGS $SHCFLAG $VSBCFLAG $picflag" $srcdir/$subdir/sh2.c $tmpdir/sh2p.o] } {
|
||||
unresolved "visibility ($visibility)"
|
||||
} else {
|
||||
if { [ string match $visibility "protected" ]
|
||||
|| [ string match $visibility "protected_undef_def" ] } {
|
||||
if [ string match $support_protected "no" ] {
|
||||
setup_xfail $target_triplet
|
||||
}
|
||||
}
|
||||
# SunOS can not compare function pointers correctly
|
||||
if [istarget "*-*-sunos4*"] {
|
||||
visibility_test $visibility vp "visibility ($visibility)" mainnp.o sh1p.o sh2p.o sun4
|
||||
} else { if { [istarget rs6000*-*-aix*] || [istarget powerpc*-*-aix*] } {
|
||||
visibility_test $visibility vp "visibility ($visibility)" mainnp.o sh1p.o sh2p.o xcoff
|
||||
} else {
|
||||
visibility_test $visibility vp "visibility ($visibility)" mainnp.o sh1p.o sh2p.o elfvsb
|
||||
} }
|
||||
}
|
||||
}
|
||||
|
||||
# Now do the same tests again, but this time compile main.c PIC.
|
||||
if ![ld_compile "$CC -g $CFLAGS $SHCFLAG $VSBCFLAG $picflag" $srcdir/$subdir/main.c $tmpdir/mainp.o] {
|
||||
unresolved "visibility ($visibility) (PIC main, non PIC so)"
|
||||
unresolved "visibility ($visibility) (PIC main)"
|
||||
} else {
|
||||
if { [file exists $tmpdir/sh1np.o ] && [ file exists $tmpdir/sh2np.o ] } {
|
||||
if { [istarget rs6000*-*-aix*] || [istarget powerpc*-*-aix*] } {
|
||||
visibility_test $visibility vmpnp "visibility ($visibility) (PIC main, non PIC so)" mainp.o sh1np.o sh2np.o xcoff
|
||||
} else {
|
||||
# SunOS non PIC shared libraries don't permit some cases of
|
||||
# overriding.
|
||||
if { [ string match $visibility "protected" ]
|
||||
|| [ string match $visibility "protected_undef_def" ] } {
|
||||
if [ string match $support_protected "no" ] {
|
||||
setup_xfail $target_triplet
|
||||
}
|
||||
} else {
|
||||
setup_xfail "*-*-sunos4*"
|
||||
}
|
||||
visibility_test $visibility vmpnp "visibility ($visibility) (PIC main, non PIC so)" mainp.o sh1np.o sh2np.o elfvsb
|
||||
}
|
||||
} else {
|
||||
unresolved "visibility (PIC main, non PIC so)"
|
||||
}
|
||||
|
||||
if { [file exists $tmpdir/sh1p.o ] && [ file exists $tmpdir/sh2p.o ] } {
|
||||
if { [ string match $visibility "protected" ]
|
||||
|| [ string match $visibility "protected_undef_def" ] } {
|
||||
if [ string match $support_protected "no" ] {
|
||||
setup_xfail $target_triplet
|
||||
}
|
||||
}
|
||||
if { [istarget rs6000*-*-aix*] || [istarget powerpc*-*-aix*] } {
|
||||
visibility_test $visibility vmpp "visibility ($visibility) (PIC main)" mainp.o sh1p.o sh2p.o xcoff
|
||||
} else {
|
||||
visibility_test $visibility vmpp "visibility ($visibility) (PIC main)" mainp.o sh1p.o sh2p.o elfvsb
|
||||
}
|
||||
} else {
|
||||
unresolved "visibility ($visibility) (PIC main)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if [istarget mips*-*-*] {
|
||||
set picflag ""
|
||||
} else {
|
||||
# Unfortunately, the gcc argument is -fpic and the cc argument is
|
||||
# -KPIC. We have to try both.
|
||||
set picflag "-fpic"
|
||||
send_log "$CC $picflag\n"
|
||||
verbose "$CC $picflag"
|
||||
catch "exec $CC $picflag" exec_output
|
||||
send_log "$exec_output\n"
|
||||
verbose "--" "$exec_output"
|
||||
if { [string match "*illegal option*" $exec_output] \
|
||||
|| [string match "*option ignored*" $exec_output] \
|
||||
|| [string match "*unrecognized option*" $exec_output] \
|
||||
|| [string match "*passed to ld*" $exec_output] } {
|
||||
if [istarget *-*-sunos4*] {
|
||||
set picflag "-pic"
|
||||
} else {
|
||||
set picflag "-KPIC"
|
||||
}
|
||||
}
|
||||
}
|
||||
verbose "Using $picflag to compile PIC code"
|
||||
|
||||
visibility_run hidden
|
||||
visibility_run hidden_normal
|
||||
visibility_run hidden_undef
|
||||
visibility_run hidden_undef_def
|
||||
visibility_run hidden_weak
|
||||
visibility_run protected
|
||||
visibility_run protected_undef
|
||||
visibility_run protected_undef_def
|
||||
visibility_run protected_weak
|
||||
visibility_run normal
|
||||
|
||||
if { [istarget rs6000*-*-aix*] || [istarget powerpc*-*-aix*] } {
|
||||
# Remove the temporary directory.
|
||||
catch "exec rm -rf $tmpdir" exec_status
|
||||
}
|
178
gnu/dist/toolchain/ld/testsuite/ld-elfvsb/main.c
vendored
Normal file
178
gnu/dist/toolchain/ld/testsuite/ld-elfvsb/main.c
vendored
Normal file
@ -0,0 +1,178 @@
|
||||
#ifdef PROTECTED_CHECK
|
||||
#include <features.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
#if defined (__GLIBC__) && (__GLIBC__ > 2 \
|
||||
|| (__GLIBC__ == 2 \
|
||||
&& __GLIBC_MINOR__ >= 2))
|
||||
puts ("yes");
|
||||
#else
|
||||
puts ("no");
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
/* This is the main program for the shared library test. */
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
int mainvar = 1;
|
||||
int overriddenvar = 2;
|
||||
extern int shlibvar1;
|
||||
|
||||
extern int shlib_mainvar ();
|
||||
extern int shlib_overriddenvar ();
|
||||
extern int shlib_shlibvar1 ();
|
||||
extern int shlib_shlibvar2 ();
|
||||
extern int shlib_shlibcall ();
|
||||
extern int shlib_maincall ();
|
||||
extern int shlib_checkfunptr1 ();
|
||||
extern int shlib_checkfunptr2 ();
|
||||
extern int (*shlib_getfunptr1 ()) ();
|
||||
extern int (*shlib_getfunptr2 ()) ();
|
||||
extern int shlib_check ();
|
||||
extern int shlib_shlibcall2 ();
|
||||
extern int visibility_check ();
|
||||
extern int visibility_checkfunptr ();
|
||||
extern void *visibility_funptr ();
|
||||
extern int visibility_checkvar ();
|
||||
extern int visibility_checkvarptr ();
|
||||
extern int visibility_varval ();
|
||||
extern void *visibility_varptr ();
|
||||
|
||||
#ifdef HIDDEN_WEAK_TEST
|
||||
#define WEAK_TEST
|
||||
#endif
|
||||
|
||||
#ifdef PROTECTED_WEAK_TEST
|
||||
#define WEAK_TEST
|
||||
#endif
|
||||
|
||||
#ifdef PROTECTED_UNDEF_TEST
|
||||
#define PROTECTED_TEST
|
||||
#endif
|
||||
|
||||
#ifndef WEAK_TEST
|
||||
extern int visibility ();
|
||||
extern int visibility_var;
|
||||
#endif
|
||||
|
||||
#if !defined (HIDDEN_TEST) && defined (PROTECTED_TEST)
|
||||
int
|
||||
visibility ()
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int
|
||||
main_visibility_check ()
|
||||
{
|
||||
return visibility_funptr () != visibility;
|
||||
}
|
||||
|
||||
int visibility_var = 1;
|
||||
|
||||
static int
|
||||
main_visibility_checkvar ()
|
||||
{
|
||||
return visibility_varval () != visibility_var
|
||||
&& visibility_varptr () != &visibility_var;
|
||||
}
|
||||
#else
|
||||
static int
|
||||
main_visibility_check ()
|
||||
{
|
||||
#ifdef WEAK_TEST
|
||||
return visibility_funptr () == NULL;
|
||||
#else
|
||||
return visibility_funptr () == visibility;
|
||||
#endif
|
||||
}
|
||||
|
||||
static int
|
||||
main_visibility_checkvar ()
|
||||
{
|
||||
#ifdef WEAK_TEST
|
||||
return visibility_varval () == 0
|
||||
&& visibility_varptr () == NULL;
|
||||
#else
|
||||
return visibility_varval () == visibility_var
|
||||
&& visibility_varptr () == &visibility_var;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
/* This function is called by the shared library. */
|
||||
|
||||
int
|
||||
main_called ()
|
||||
{
|
||||
return 6;
|
||||
}
|
||||
|
||||
/* This function overrides a function in the shared library. */
|
||||
|
||||
int
|
||||
shlib_overriddencall2 ()
|
||||
{
|
||||
return 8;
|
||||
}
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
int (*p) ();
|
||||
|
||||
printf ("mainvar == %d\n", mainvar);
|
||||
printf ("overriddenvar == %d\n", overriddenvar);
|
||||
printf ("shlibvar1 == %d\n", shlibvar1);
|
||||
#ifndef XCOFF_TEST
|
||||
printf ("shlib_mainvar () == %d\n", shlib_mainvar ());
|
||||
printf ("shlib_overriddenvar () == %d\n", shlib_overriddenvar ());
|
||||
#endif
|
||||
printf ("shlib_shlibvar1 () == %d\n", shlib_shlibvar1 ());
|
||||
printf ("shlib_shlibvar2 () == %d\n", shlib_shlibvar2 ());
|
||||
printf ("shlib_shlibcall () == %d\n", shlib_shlibcall ());
|
||||
#ifndef XCOFF_TEST
|
||||
printf ("shlib_shlibcall2 () == %d\n", shlib_shlibcall2 ());
|
||||
printf ("shlib_maincall () == %d\n", shlib_maincall ());
|
||||
#endif
|
||||
printf ("main_called () == %d\n", main_called ());
|
||||
printf ("shlib_checkfunptr1 (shlib_shlibvar1) == %d\n",
|
||||
shlib_checkfunptr1 (shlib_shlibvar1));
|
||||
#ifndef XCOFF_TEST
|
||||
printf ("shlib_checkfunptr2 (main_called) == %d\n",
|
||||
shlib_checkfunptr2 (main_called));
|
||||
#endif
|
||||
p = shlib_getfunptr1 ();
|
||||
printf ("shlib_getfunptr1 () ");
|
||||
if (p == shlib_shlibvar1)
|
||||
printf ("==");
|
||||
else
|
||||
printf ("!=");
|
||||
printf (" shlib_shlibvar1\n");
|
||||
#ifndef XCOFF_TEST
|
||||
p = shlib_getfunptr2 ();
|
||||
printf ("shlib_getfunptr2 () ");
|
||||
if (p == main_called)
|
||||
printf ("==");
|
||||
else
|
||||
printf ("!=");
|
||||
printf (" main_called\n");
|
||||
#endif
|
||||
printf ("shlib_check () == %d\n", shlib_check ());
|
||||
printf ("visibility_check () == %d\n", visibility_check ());
|
||||
printf ("visibility_checkfunptr () == %d\n",
|
||||
visibility_checkfunptr ());
|
||||
printf ("main_visibility_check () == %d\n", main_visibility_check ());
|
||||
printf ("visibility_checkvar () == %d\n", visibility_checkvar ());
|
||||
printf ("visibility_checkvarptr () == %d\n",
|
||||
visibility_checkvarptr ());
|
||||
printf ("main_visibility_checkvar () == %d\n",
|
||||
main_visibility_checkvar ());
|
||||
return 0;
|
||||
}
|
||||
#endif
|
324
gnu/dist/toolchain/ld/testsuite/ld-elfvsb/sh1.c
vendored
Normal file
324
gnu/dist/toolchain/ld/testsuite/ld-elfvsb/sh1.c
vendored
Normal file
@ -0,0 +1,324 @@
|
||||
#ifndef NULL
|
||||
#define NULL ((void *) 0)
|
||||
#endif
|
||||
|
||||
/* This is part of the shared library ld test. This file becomes part
|
||||
of a shared library. */
|
||||
|
||||
/* This variable is supplied by the main program. */
|
||||
#ifndef XCOFF_TEST
|
||||
extern int mainvar;
|
||||
#endif
|
||||
|
||||
/* This variable is defined in the shared library, and overridden by
|
||||
the main program. */
|
||||
#ifndef XCOFF_TEST
|
||||
int overriddenvar = -1;
|
||||
#endif
|
||||
|
||||
/* This variable is defined in the shared library. */
|
||||
int shlibvar1 = 3;
|
||||
|
||||
/* This variable is defined by another object in the shared library. */
|
||||
extern int shlibvar2;
|
||||
|
||||
/* These functions return the values of the above variables as seen in
|
||||
the shared library. */
|
||||
|
||||
#ifndef XCOFF_TEST
|
||||
int
|
||||
shlib_mainvar ()
|
||||
{
|
||||
return mainvar;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef XCOFF_TEST
|
||||
int
|
||||
shlib_overriddenvar ()
|
||||
{
|
||||
return overriddenvar;
|
||||
}
|
||||
#endif
|
||||
|
||||
int
|
||||
shlib_shlibvar1 ()
|
||||
{
|
||||
return shlibvar1;
|
||||
}
|
||||
|
||||
int
|
||||
shlib_shlibvar2 ()
|
||||
{
|
||||
return shlibvar2;
|
||||
}
|
||||
|
||||
/* This function calls a function defined by another object in the
|
||||
shared library. */
|
||||
|
||||
extern int shlib_shlibcalled ();
|
||||
|
||||
int
|
||||
shlib_shlibcall ()
|
||||
{
|
||||
return shlib_shlibcalled ();
|
||||
}
|
||||
|
||||
#ifndef XCOFF_TEST
|
||||
/* This function calls a function defined in this object in the shared
|
||||
library. The main program will override the called function. */
|
||||
|
||||
extern int shlib_overriddencall2 ();
|
||||
|
||||
int
|
||||
shlib_shlibcall2 ()
|
||||
{
|
||||
return shlib_overriddencall2 ();
|
||||
}
|
||||
|
||||
int
|
||||
shlib_overriddencall2 ()
|
||||
{
|
||||
return 7;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* This function calls a function defined by the main program. */
|
||||
|
||||
#ifndef XCOFF_TEST
|
||||
extern int main_called ();
|
||||
|
||||
int
|
||||
shlib_maincall ()
|
||||
{
|
||||
return main_called ();
|
||||
}
|
||||
#endif
|
||||
|
||||
/* This function is passed a function pointer to shlib_mainvar. It
|
||||
confirms that the pointer compares equally. */
|
||||
|
||||
int
|
||||
shlib_checkfunptr1 (p)
|
||||
int (*p) ();
|
||||
{
|
||||
return p == shlib_shlibvar1;
|
||||
}
|
||||
|
||||
/* This function is passed a function pointer to main_called. It
|
||||
confirms that the pointer compares equally. */
|
||||
|
||||
#ifndef XCOFF_TEST
|
||||
int
|
||||
shlib_checkfunptr2 (p)
|
||||
int (*p) ();
|
||||
{
|
||||
return p == main_called;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* This function returns a pointer to shlib_mainvar. */
|
||||
|
||||
int
|
||||
(*shlib_getfunptr1 ()) ()
|
||||
{
|
||||
return shlib_shlibvar1;
|
||||
}
|
||||
|
||||
/* This function returns a pointer to main_called. */
|
||||
|
||||
#ifndef XCOFF_TEST
|
||||
int
|
||||
(*shlib_getfunptr2 ()) ()
|
||||
{
|
||||
return main_called;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* This function makes sure that constant data and local functions
|
||||
work. */
|
||||
|
||||
#ifndef __STDC__
|
||||
#define const
|
||||
#endif
|
||||
|
||||
static int i = 6;
|
||||
static const char *str = "Hello, world\n";
|
||||
|
||||
int
|
||||
shlib_check ()
|
||||
{
|
||||
const char *s1, *s2;
|
||||
|
||||
if (i != 6)
|
||||
return 0;
|
||||
|
||||
/* To isolate the test, don't rely on any external functions, such
|
||||
as strcmp. */
|
||||
s1 = "Hello, world\n";
|
||||
s2 = str;
|
||||
while (*s1 != '\0')
|
||||
if (*s1++ != *s2++)
|
||||
return 0;
|
||||
if (*s2 != '\0')
|
||||
return 0;
|
||||
|
||||
if (shlib_shlibvar1 () != 3)
|
||||
return 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
#ifdef HIDDEN_WEAK_TEST
|
||||
#define HIDDEN_UNDEF_TEST
|
||||
#define WEAK_TEST
|
||||
#endif
|
||||
|
||||
#ifdef PROTECTED_WEAK_TEST
|
||||
#define PROTECTED_UNDEF_TEST
|
||||
#define WEAK_TEST
|
||||
#endif
|
||||
|
||||
#if defined (HIDDEN_UNDEF_TEST) || defined (PROTECTED_UNDEF_TEST)
|
||||
extern int visibility ();
|
||||
#else
|
||||
int
|
||||
visibility ()
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef HIDDEN_NORMAL_TEST
|
||||
asm (".hidden visibility_normal");
|
||||
|
||||
int
|
||||
visibility_normal ()
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
#endif
|
||||
|
||||
int
|
||||
visibility_checkfunptr ()
|
||||
{
|
||||
#ifdef WEAK_TEST
|
||||
return 1;
|
||||
#else
|
||||
#ifdef HIDDEN_NORMAL_TEST
|
||||
int (*v) () = visibility_normal;
|
||||
#else
|
||||
int (*v) () = visibility;
|
||||
#endif
|
||||
return (*v) () == 2;
|
||||
#endif
|
||||
}
|
||||
|
||||
int
|
||||
visibility_check ()
|
||||
{
|
||||
#ifdef WEAK_TEST
|
||||
if (&visibility)
|
||||
return visibility () == 1;
|
||||
else
|
||||
return 1;
|
||||
#else
|
||||
#ifdef HIDDEN_NORMAL_TEST
|
||||
return visibility_normal () == 2;
|
||||
#else
|
||||
return visibility () == 2;
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
void *
|
||||
visibility_funptr ()
|
||||
{
|
||||
#ifdef WEAK_TEST
|
||||
if (&visibility == NULL)
|
||||
return NULL;
|
||||
else
|
||||
#endif
|
||||
return visibility;
|
||||
}
|
||||
|
||||
#if defined (HIDDEN_UNDEF_TEST) || defined (PROTECTED_UNDEF_TEST)
|
||||
extern int visibility_var;
|
||||
#else
|
||||
int visibility_var = 2;
|
||||
#endif
|
||||
|
||||
#ifdef HIDDEN_NORMAL_TEST
|
||||
asm (".hidden visibility_var_normal");
|
||||
|
||||
int visibility_var_normal = 2;
|
||||
#endif
|
||||
|
||||
int
|
||||
visibility_checkvarptr ()
|
||||
{
|
||||
#ifdef WEAK_TEST
|
||||
if (&visibility_var)
|
||||
return visibility_var == 1;
|
||||
else
|
||||
return 1;
|
||||
#else
|
||||
#ifdef HIDDEN_NORMAL_TEST
|
||||
int *v = &visibility_var_normal;
|
||||
#else
|
||||
int *v = &visibility_var;
|
||||
#endif
|
||||
return *v == 2;
|
||||
#endif
|
||||
}
|
||||
|
||||
int
|
||||
visibility_checkvar ()
|
||||
{
|
||||
#ifdef WEAK_TEST
|
||||
return 1;
|
||||
#else
|
||||
#ifdef HIDDEN_NORMAL_TEST
|
||||
return visibility_var_normal == 2;
|
||||
#else
|
||||
return visibility_var == 2;
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
void *
|
||||
visibility_varptr ()
|
||||
{
|
||||
#ifdef WEAK_TEST
|
||||
if (&visibility_var == NULL)
|
||||
return NULL;
|
||||
else
|
||||
#endif
|
||||
return &visibility_var;
|
||||
}
|
||||
|
||||
int
|
||||
visibility_varval ()
|
||||
{
|
||||
#ifdef WEAK_TEST
|
||||
if (&visibility_var == NULL)
|
||||
return 0;
|
||||
else
|
||||
#endif
|
||||
return visibility_var;
|
||||
}
|
||||
|
||||
#if defined (HIDDEN_TEST) || defined (HIDDEN_UNDEF_TEST)
|
||||
asm (".hidden visibility");
|
||||
asm (".hidden visibility_var");
|
||||
#else
|
||||
#if defined (PROTECTED_TEST) || defined (PROTECTED_UNDEF_TEST) || defined (PROTECTED_WEAK_TEST)
|
||||
asm (".protected visibility");
|
||||
asm (".protected visibility_var");
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef WEAK_TEST
|
||||
asm (".weak visibility");
|
||||
asm (".weak visibility_var");
|
||||
#endif
|
24
gnu/dist/toolchain/ld/testsuite/ld-elfvsb/sh2.c
vendored
Normal file
24
gnu/dist/toolchain/ld/testsuite/ld-elfvsb/sh2.c
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
/* This is part of the shared library ld test. This file becomes part
|
||||
of a shared library. */
|
||||
|
||||
/* This variable is defined here, and referenced by another file in
|
||||
the shared library. */
|
||||
int shlibvar2 = 4;
|
||||
|
||||
/* This function is called by another file in the shared library. */
|
||||
|
||||
int
|
||||
shlib_shlibcalled ()
|
||||
{
|
||||
return 5;
|
||||
}
|
||||
|
||||
#ifdef DSO_DEFINE_TEST
|
||||
int
|
||||
visibility ()
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
|
||||
int visibility_var = 2;
|
||||
#endif
|
16
gnu/dist/toolchain/ld/testsuite/lib/ld-lib.exp
vendored
16
gnu/dist/toolchain/ld/testsuite/lib/ld-lib.exp
vendored
@ -85,6 +85,7 @@ proc default_ld_link { ld target objects } {
|
||||
global HOSTING_LIBS
|
||||
global LIBS
|
||||
global host_triplet
|
||||
global link_output
|
||||
|
||||
set objs "$HOSTING_CRT0 $objects"
|
||||
set libs "$LIBS $HOSTING_LIBS"
|
||||
@ -98,12 +99,12 @@ proc default_ld_link { ld target objects } {
|
||||
|
||||
verbose -log "$ld $HOSTING_EMU $flags -o $target $objs $libs"
|
||||
|
||||
catch "exec $ld $HOSTING_EMU $flags -o $target $objs $libs" exec_output
|
||||
set exec_output [prune_warnings $exec_output]
|
||||
if [string match "" $exec_output] then {
|
||||
catch "exec $ld $HOSTING_EMU $flags -o $target $objs $libs" link_output
|
||||
set exec_output [prune_warnings $link_output]
|
||||
if [string match "" $link_output] then {
|
||||
return 1
|
||||
} else {
|
||||
verbose -log "$exec_output"
|
||||
verbose -log "$link_output"
|
||||
return 0
|
||||
}
|
||||
}
|
||||
@ -114,7 +115,8 @@ proc default_ld_link { ld target objects } {
|
||||
#
|
||||
proc default_ld_simple_link { ld target objects } {
|
||||
global host_triplet
|
||||
|
||||
global link_output
|
||||
|
||||
if { [which $ld] == 0 } then {
|
||||
perror "$ld does not exist"
|
||||
return 0
|
||||
@ -124,8 +126,8 @@ proc default_ld_simple_link { ld target objects } {
|
||||
|
||||
verbose -log "$ld $flags -o $target $objects"
|
||||
|
||||
catch "exec $ld $flags -o $target $objects" exec_output
|
||||
set exec_output [prune_warnings $exec_output]
|
||||
catch "exec $ld $flags -o $target $objects" link_output
|
||||
set exec_output [prune_warnings $link_output]
|
||||
|
||||
# We don't care if we get a warning about a non-existent start
|
||||
# symbol, since the default linker script might use ENTRY.
|
||||
|
13
gnu/dist/toolchain/libiberty/ChangeLog
vendored
13
gnu/dist/toolchain/libiberty/ChangeLog
vendored
@ -1,3 +1,16 @@
|
||||
2000-10-17 Philip Blundell <pb@futuretv.com>
|
||||
|
||||
* cp-demangle.c, dyn-string.c, cplus-dem.c: Update from trunk
|
||||
version.
|
||||
* testsuite/demangle-expected, testsuite/regress-demangle:
|
||||
Likewise.
|
||||
|
||||
From 2000-06-04 Alex Samuel <samuel@codesourcery.com>
|
||||
* Makefile.in (CFILES): Add cp-demangle.c and dyn-string.c.
|
||||
(REQUIRED_OFILES): Add cp-demangle.o and dyn-string.o.
|
||||
(cp-demangle.o): New dependency.
|
||||
(dyn-string.o): Likewise.
|
||||
|
||||
Thu Mar 16 01:33:58 2000 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* Makefile.in (partition.o): Depend on config.h
|
||||
|
15
gnu/dist/toolchain/libiberty/Makefile.in
vendored
15
gnu/dist/toolchain/libiberty/Makefile.in
vendored
@ -1,6 +1,6 @@
|
||||
#
|
||||
# Makefile
|
||||
# Copyright (C) 1990, 91 - 99, 2000
|
||||
# Copyright (C) 1990, 91, 00 - 99, 2000
|
||||
# Free Software Foundation
|
||||
#
|
||||
# This file is part of the libiberty library.
|
||||
@ -124,7 +124,8 @@ HFILES = alloca-conf.h
|
||||
# (alphabetical), and add them to REQUIRED_OFILES or funcs in
|
||||
# configure.in.
|
||||
CFILES = asprintf.c alloca.c argv.c atexit.c basename.c bcmp.c bcopy.c \
|
||||
bzero.c calloc.c choose-temp.c clock.c concat.c cplus-dem.c fdmatch.c \
|
||||
bzero.c calloc.c choose-temp.c clock.c concat.c cplus-dem.c \
|
||||
cp-demangle.c dyn-string.c fdmatch.c \
|
||||
fnmatch.c getcwd.c getpwd.c getopt.c getopt1.c getpagesize.c \
|
||||
getruntime.c floatformat.c hashtab.c hex.c index.c insque.c memchr.c \
|
||||
memcmp.c memcpy.c memmove.c memset.c mkstemps.c objalloc.c obstack.c \
|
||||
@ -136,10 +137,10 @@ CFILES = asprintf.c alloca.c argv.c atexit.c basename.c bcmp.c bcopy.c \
|
||||
xatexit.c xexit.c xmalloc.c xmemdup.c xstrdup.c xstrerror.c
|
||||
|
||||
# These are always included in the library.
|
||||
REQUIRED_OFILES = argv.o choose-temp.o concat.o cplus-dem.o \
|
||||
fdmatch.o fnmatch.o getopt.o getopt1.o getpwd.o getruntime.o hashtab.o \
|
||||
hex.o floatformat.o objalloc.o obstack.o partition.o pexecute.o spaces.o \
|
||||
splay-tree.o strerror.o strsignal.o xatexit.o xexit.o xmalloc.o \
|
||||
REQUIRED_OFILES = argv.o choose-temp.o concat.o cplus-dem.o cp-demangle.o \
|
||||
dyn-string.o fdmatch.o fnmatch.o getopt.o getopt1.o getpwd.o getruntime.o \
|
||||
hashtab.o hex.o floatformat.o objalloc.o obstack.o partition.o pexecute.o \
|
||||
spaces.o splay-tree.o strerror.o strsignal.o xatexit.o xexit.o xmalloc.o \
|
||||
xmemdup.o xstrdup.o xstrerror.o
|
||||
|
||||
$(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS) $(ALLOCA)
|
||||
@ -259,6 +260,8 @@ choose-temp.o: config.h
|
||||
clock.o: config.h
|
||||
concat.o: $(INCDIR)/libiberty.h
|
||||
cplus-dem.o: config.h $(INCDIR)/demangle.h
|
||||
cp-demangle.o: config.h $(INCDIR)/dyn-string.h $(INCDIR)/demangle.h
|
||||
dyn-string.o: config.h $(INCDIR)/dyn-string.h
|
||||
fdmatch.o: $(INCDIR)/libiberty.h
|
||||
fnmatch.o: config.h $(INCDIR)/fnmatch.h
|
||||
getcwd.o: config.h
|
||||
|
3409
gnu/dist/toolchain/libiberty/cp-demangle.c
vendored
Normal file
3409
gnu/dist/toolchain/libiberty/cp-demangle.c
vendored
Normal file
File diff suppressed because it is too large
Load Diff
486
gnu/dist/toolchain/libiberty/cplus-dem.c
vendored
486
gnu/dist/toolchain/libiberty/cplus-dem.c
vendored
@ -252,6 +252,55 @@ typedef enum type_kind_t
|
||||
tk_real
|
||||
} type_kind_t;
|
||||
|
||||
struct demangler_engine libiberty_demanglers[] =
|
||||
{
|
||||
{
|
||||
AUTO_DEMANGLING_STYLE_STRING,
|
||||
auto_demangling,
|
||||
"Automatic selection based on executable"
|
||||
}
|
||||
,
|
||||
{
|
||||
GNU_DEMANGLING_STYLE_STRING,
|
||||
gnu_demangling,
|
||||
"GNU (g++) style demangling"
|
||||
}
|
||||
,
|
||||
{
|
||||
LUCID_DEMANGLING_STYLE_STRING,
|
||||
lucid_demangling,
|
||||
"Lucid (lcc) style demangling"
|
||||
}
|
||||
,
|
||||
{
|
||||
ARM_DEMANGLING_STYLE_STRING,
|
||||
arm_demangling,
|
||||
"ARM style demangling"
|
||||
}
|
||||
,
|
||||
{
|
||||
HP_DEMANGLING_STYLE_STRING,
|
||||
hp_demangling,
|
||||
"HP (aCC) style demangling"
|
||||
}
|
||||
,
|
||||
{
|
||||
EDG_DEMANGLING_STYLE_STRING,
|
||||
edg_demangling,
|
||||
"EDG style demangling"
|
||||
}
|
||||
,
|
||||
{
|
||||
GNU_NEW_ABI_DEMANGLING_STYLE_STRING,
|
||||
gnu_new_abi_demangling,
|
||||
"GNU (g++) new-ABI-style demangling"
|
||||
}
|
||||
,
|
||||
{
|
||||
NULL, unknown_demangling, NULL
|
||||
}
|
||||
};
|
||||
|
||||
#define STRING_EMPTY(str) ((str) -> b == (str) -> p)
|
||||
#define PREPEND_BLANK(str) {if (!STRING_EMPTY(str)) \
|
||||
string_prepend(str, " ");}
|
||||
@ -268,12 +317,21 @@ typedef enum type_kind_t
|
||||
|
||||
/* Prototypes for local functions */
|
||||
|
||||
static void
|
||||
delete_work_stuff PARAMS ((struct work_stuff *));
|
||||
|
||||
static void
|
||||
delete_non_B_K_work_stuff PARAMS ((struct work_stuff *));
|
||||
|
||||
static char *
|
||||
mop_up PARAMS ((struct work_stuff *, string *, int));
|
||||
|
||||
static void
|
||||
squangle_mop_up PARAMS ((struct work_stuff *));
|
||||
|
||||
static void
|
||||
work_stuff_copy_to_from PARAMS ((struct work_stuff *, struct work_stuff *));
|
||||
|
||||
#if 0
|
||||
static int
|
||||
demangle_method_args PARAMS ((struct work_stuff *, const char **, string *));
|
||||
@ -379,6 +437,10 @@ static void
|
||||
demangle_function_name PARAMS ((struct work_stuff *, const char **, string *,
|
||||
const char *));
|
||||
|
||||
static int
|
||||
iterate_demangle_function PARAMS ((struct work_stuff *,
|
||||
const char **, string *, const char *));
|
||||
|
||||
static void
|
||||
remember_type PARAMS ((struct work_stuff *, const char *, int));
|
||||
|
||||
@ -636,8 +698,8 @@ cplus_demangle_opname (opname, result, options)
|
||||
}
|
||||
}
|
||||
else if (opname[0] == '_' && opname[1] == '_'
|
||||
&& opname[2] >= 'a' && opname[2] <= 'z'
|
||||
&& opname[3] >= 'a' && opname[3] <= 'z')
|
||||
&& islower((unsigned char)opname[2])
|
||||
&& islower((unsigned char)opname[3]))
|
||||
{
|
||||
if (opname[4] == '\0')
|
||||
{
|
||||
@ -733,6 +795,7 @@ cplus_demangle_opname (opname, result, options)
|
||||
return ret;
|
||||
|
||||
}
|
||||
|
||||
/* Takes operator name as e.g. "++" and returns mangled
|
||||
operator name (e.g. "postincrement_expr"), or NULL if not found.
|
||||
|
||||
@ -758,6 +821,40 @@ cplus_mangle_opname (opname, options)
|
||||
return (0);
|
||||
}
|
||||
|
||||
/* Add a routine to set the demangling style to be sure it is valid and
|
||||
allow for any demangler initialization that maybe necessary. */
|
||||
|
||||
enum demangling_styles
|
||||
cplus_demangle_set_style (style)
|
||||
enum demangling_styles style;
|
||||
{
|
||||
struct demangler_engine *demangler = libiberty_demanglers;
|
||||
|
||||
for (; demangler->demangling_style != unknown_demangling; ++demangler)
|
||||
if (style == demangler->demangling_style)
|
||||
{
|
||||
current_demangling_style = style;
|
||||
return current_demangling_style;
|
||||
}
|
||||
|
||||
return unknown_demangling;
|
||||
}
|
||||
|
||||
/* Do string name to style translation */
|
||||
|
||||
enum demangling_styles
|
||||
cplus_demangle_name_to_style (name)
|
||||
const char *name;
|
||||
{
|
||||
struct demangler_engine *demangler = libiberty_demanglers;
|
||||
|
||||
for (; demangler->demangling_style != unknown_demangling; ++demangler)
|
||||
if (strcmp (name, demangler->demangling_style_name) == 0)
|
||||
return demangler->demangling_style;
|
||||
|
||||
return unknown_demangling;
|
||||
}
|
||||
|
||||
/* char *cplus_demangle (const char *mangled, int options)
|
||||
|
||||
If MANGLED is a mangled function name produced by GNU C++, then
|
||||
@ -798,6 +895,10 @@ cplus_demangle (mangled, options)
|
||||
if ((work -> options & DMGL_STYLE_MASK) == 0)
|
||||
work -> options |= (int) current_demangling_style & DMGL_STYLE_MASK;
|
||||
|
||||
/* The new-ABI demangling is implemented elsewhere. */
|
||||
if (GNU_NEW_ABI_DEMANGLING)
|
||||
return cplus_demangle_new_abi (mangled);
|
||||
|
||||
ret = internal_cplus_demangle (work, mangled);
|
||||
squangle_mop_up (work);
|
||||
return (ret);
|
||||
@ -893,16 +994,85 @@ squangle_mop_up (work)
|
||||
}
|
||||
}
|
||||
|
||||
/* Clear out any mangled storage */
|
||||
|
||||
static char *
|
||||
mop_up (work, declp, success)
|
||||
struct work_stuff *work;
|
||||
string *declp;
|
||||
int success;
|
||||
/* Copy the work state and storage. */
|
||||
|
||||
static void
|
||||
work_stuff_copy_to_from (to, from)
|
||||
struct work_stuff *to;
|
||||
struct work_stuff *from;
|
||||
{
|
||||
char *demangled = NULL;
|
||||
int i;
|
||||
|
||||
delete_work_stuff (to);
|
||||
|
||||
/* Shallow-copy scalars. */
|
||||
memcpy (to, from, sizeof (*to));
|
||||
|
||||
/* Deep-copy dynamic storage. */
|
||||
if (from->typevec_size)
|
||||
to->typevec
|
||||
= (char **) xmalloc (from->typevec_size * sizeof (to->typevec[0]));
|
||||
|
||||
for (i = 0; i < from->ntypes; i++)
|
||||
{
|
||||
int len = strlen (from->typevec[i]) + 1;
|
||||
|
||||
to->typevec[i] = xmalloc (len);
|
||||
memcpy (to->typevec[i], from->typevec[i], len);
|
||||
}
|
||||
|
||||
if (from->ksize)
|
||||
to->ktypevec
|
||||
= (char **) xmalloc (from->ksize * sizeof (to->ktypevec[0]));
|
||||
|
||||
for (i = 0; i < from->numk; i++)
|
||||
{
|
||||
int len = strlen (from->ktypevec[i]) + 1;
|
||||
|
||||
to->ktypevec[i] = xmalloc (len);
|
||||
memcpy (to->ktypevec[i], from->ktypevec[i], len);
|
||||
}
|
||||
|
||||
if (from->bsize)
|
||||
to->btypevec
|
||||
= (char **) xmalloc (from->bsize * sizeof (to->btypevec[0]));
|
||||
|
||||
for (i = 0; i < from->numb; i++)
|
||||
{
|
||||
int len = strlen (from->btypevec[i]) + 1;
|
||||
|
||||
to->btypevec[i] = xmalloc (len);
|
||||
memcpy (to->btypevec[i], from->btypevec[i], len);
|
||||
}
|
||||
|
||||
if (from->ntmpl_args)
|
||||
to->tmpl_argvec
|
||||
= xmalloc (from->ntmpl_args * sizeof (to->tmpl_argvec[0]));
|
||||
|
||||
for (i = 0; i < from->ntmpl_args; i++)
|
||||
{
|
||||
int len = strlen (from->tmpl_argvec[i]) + 1;
|
||||
|
||||
to->tmpl_argvec[i] = xmalloc (len);
|
||||
memcpy (to->tmpl_argvec[i], from->tmpl_argvec[i], len);
|
||||
}
|
||||
|
||||
if (from->previous_argument)
|
||||
{
|
||||
to->previous_argument = (string*) xmalloc (sizeof (string));
|
||||
string_init (to->previous_argument);
|
||||
string_appends (to->previous_argument, from->previous_argument);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Delete dynamic stuff in work_stuff that is not to be re-used. */
|
||||
|
||||
static void
|
||||
delete_non_B_K_work_stuff (work)
|
||||
struct work_stuff *work;
|
||||
{
|
||||
/* Discard the remembered types, if any. */
|
||||
|
||||
forget_types (work);
|
||||
@ -929,6 +1099,30 @@ mop_up (work, declp, success)
|
||||
free ((char*) work->previous_argument);
|
||||
work->previous_argument = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Delete all dynamic storage in work_stuff. */
|
||||
static void
|
||||
delete_work_stuff (work)
|
||||
struct work_stuff *work;
|
||||
{
|
||||
delete_non_B_K_work_stuff (work);
|
||||
squangle_mop_up (work);
|
||||
}
|
||||
|
||||
|
||||
/* Clear out any mangled storage */
|
||||
|
||||
static char *
|
||||
mop_up (work, declp, success)
|
||||
struct work_stuff *work;
|
||||
string *declp;
|
||||
int success;
|
||||
{
|
||||
char *demangled = NULL;
|
||||
|
||||
delete_non_B_K_work_stuff (work);
|
||||
|
||||
/* If demangling was successful, ensure that the demangled string is null
|
||||
terminated and return it. Otherwise, free the demangling decl. */
|
||||
@ -1154,7 +1348,7 @@ demangle_signature (work, mangled, declp)
|
||||
break;
|
||||
|
||||
case '_':
|
||||
if (GNU_DEMANGLING && expect_return_type)
|
||||
if ((AUTO_DEMANGLING || GNU_DEMANGLING) && expect_return_type)
|
||||
{
|
||||
/* Read the return type. */
|
||||
string return_type;
|
||||
@ -1188,7 +1382,7 @@ demangle_signature (work, mangled, declp)
|
||||
break;
|
||||
|
||||
case 'H':
|
||||
if (GNU_DEMANGLING)
|
||||
if (AUTO_DEMANGLING || GNU_DEMANGLING)
|
||||
{
|
||||
/* A G++ template function. Read the template arguments. */
|
||||
success = demangle_template (work, mangled, declp, 0, 0,
|
||||
@ -1433,6 +1627,11 @@ demangle_integral_value (work, mangled, s)
|
||||
{
|
||||
int value;
|
||||
|
||||
/* By default, we let the number decide whether we shall consume an
|
||||
underscore. */
|
||||
int consume_following_underscore = 0;
|
||||
int leave_following_underscore = 0;
|
||||
|
||||
success = 0;
|
||||
|
||||
/* Negative numbers are indicated with a leading `m'. */
|
||||
@ -1441,17 +1640,49 @@ demangle_integral_value (work, mangled, s)
|
||||
string_appendn (s, "-", 1);
|
||||
(*mangled)++;
|
||||
}
|
||||
else if (mangled[0][0] == '_' && mangled[0][1] == 'm')
|
||||
{
|
||||
/* Since consume_count_with_underscores does not handle the
|
||||
`m'-prefix we must do it here, using consume_count and
|
||||
adjusting underscores: we have to consume the underscore
|
||||
matching the prepended one. */
|
||||
consume_following_underscore = 1;
|
||||
string_appendn (s, "-", 1);
|
||||
(*mangled) += 2;
|
||||
}
|
||||
else if (**mangled == '_')
|
||||
{
|
||||
/* Do not consume a following underscore;
|
||||
consume_following_underscore will consume what should be
|
||||
consumed. */
|
||||
leave_following_underscore = 1;
|
||||
}
|
||||
|
||||
/* We must call consume_count if we expect to remove a trailing
|
||||
underscore, since consume_count_with_underscores expects
|
||||
the leading underscore (that we consumed) if it is to handle
|
||||
multi-digit numbers. */
|
||||
if (consume_following_underscore)
|
||||
value = consume_count (mangled);
|
||||
else
|
||||
value = consume_count_with_underscores (mangled);
|
||||
|
||||
/* Read the rest of the number. */
|
||||
value = consume_count_with_underscores (mangled);
|
||||
if (value != -1)
|
||||
{
|
||||
char buf[INTBUF_SIZE];
|
||||
sprintf (buf, "%d", value);
|
||||
string_append (s, buf);
|
||||
|
||||
/* If the next character is an underscore, skip it. */
|
||||
if (**mangled == '_')
|
||||
/* Numbers not otherwise delimited, might have an underscore
|
||||
appended as a delimeter, which we should skip.
|
||||
|
||||
??? This used to always remove a following underscore, which
|
||||
is wrong. If other (arbitrary) cases are followed by an
|
||||
underscore, we need to do something more radical. */
|
||||
|
||||
if ((value > 9 || consume_following_underscore)
|
||||
&& ! leave_following_underscore
|
||||
&& **mangled == '_')
|
||||
(*mangled)++;
|
||||
|
||||
/* All is well. */
|
||||
@ -1616,7 +1847,7 @@ demangle_template_value_parm (work, mangled, s, tk)
|
||||
template parameters (e.g. S) is placed in TRAWNAME if TRAWNAME is
|
||||
non-NULL. If IS_TYPE is nonzero, this template is a type template,
|
||||
not a function template. If both IS_TYPE and REMEMBER are nonzero,
|
||||
the tmeplate is remembered in the list of back-referenceable
|
||||
the template is remembered in the list of back-referenceable
|
||||
types. */
|
||||
|
||||
static int
|
||||
@ -2148,6 +2379,86 @@ demangle_class (work, mangled, declp)
|
||||
return (success);
|
||||
}
|
||||
|
||||
|
||||
/* Called when there's a "__" in the mangled name, with `scan' pointing to
|
||||
the rightmost guess.
|
||||
|
||||
Find the correct "__"-sequence where the function name ends and the
|
||||
signature starts, which is ambiguous with GNU mangling.
|
||||
Call demangle_signature here, so we can make sure we found the right
|
||||
one; *mangled will be consumed so caller will not make further calls to
|
||||
demangle_signature. */
|
||||
|
||||
static int
|
||||
iterate_demangle_function (work, mangled, declp, scan)
|
||||
struct work_stuff *work;
|
||||
const char **mangled;
|
||||
string *declp;
|
||||
const char *scan;
|
||||
{
|
||||
const char *mangle_init = *mangled;
|
||||
int success = 0;
|
||||
string decl_init;
|
||||
struct work_stuff work_init;
|
||||
|
||||
if (*(scan + 2) == '\0')
|
||||
return 0;
|
||||
|
||||
/* Do not iterate for some demangling modes, or if there's only one
|
||||
"__"-sequence. This is the normal case. */
|
||||
if (ARM_DEMANGLING || LUCID_DEMANGLING || HP_DEMANGLING || EDG_DEMANGLING
|
||||
|| mystrstr (scan + 2, "__") == NULL)
|
||||
{
|
||||
demangle_function_name (work, mangled, declp, scan);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* Save state so we can restart if the guess at the correct "__" was
|
||||
wrong. */
|
||||
string_init (&decl_init);
|
||||
string_appends (&decl_init, declp);
|
||||
memset (&work_init, 0, sizeof work_init);
|
||||
work_stuff_copy_to_from (&work_init, work);
|
||||
|
||||
/* Iterate over occurrences of __, allowing names and types to have a
|
||||
"__" sequence in them. We must start with the first (not the last)
|
||||
occurrence, since "__" most often occur between independent mangled
|
||||
parts, hence starting at the last occurence inside a signature
|
||||
might get us a "successful" demangling of the signature. */
|
||||
|
||||
while (scan[2])
|
||||
{
|
||||
demangle_function_name (work, mangled, declp, scan);
|
||||
success = demangle_signature (work, mangled, declp);
|
||||
if (success)
|
||||
break;
|
||||
|
||||
/* Reset demangle state for the next round. */
|
||||
*mangled = mangle_init;
|
||||
string_clear (declp);
|
||||
string_appends (declp, &decl_init);
|
||||
work_stuff_copy_to_from (work, &work_init);
|
||||
|
||||
/* Leave this underscore-sequence. */
|
||||
scan += 2;
|
||||
|
||||
/* Scan for the next "__" sequence. */
|
||||
while (*scan && (scan[0] != '_' || scan[1] != '_'))
|
||||
scan++;
|
||||
|
||||
/* Move to last "__" in this sequence. */
|
||||
while (*scan && *scan == '_')
|
||||
scan++;
|
||||
scan -= 2;
|
||||
}
|
||||
|
||||
/* Delete saved state. */
|
||||
delete_work_stuff (&work_init);
|
||||
string_delete (&decl_init);
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
LOCAL FUNCTION
|
||||
@ -2163,6 +2474,8 @@ SYNOPSIS
|
||||
DESCRIPTION
|
||||
|
||||
Consume and demangle the prefix of the mangled name.
|
||||
While processing the function name root, arrange to call
|
||||
demangle_signature if the root is ambiguous.
|
||||
|
||||
DECLP points to the string buffer into which demangled output is
|
||||
placed. On entry, the buffer is empty. On exit it contains
|
||||
@ -2336,29 +2649,16 @@ demangle_prefix (work, mangled, declp)
|
||||
success = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
const char *tmp;
|
||||
|
||||
/* Look for the LAST occurrence of __, allowing names to
|
||||
have the '__' sequence embedded in them. */
|
||||
if (!(ARM_DEMANGLING || HP_DEMANGLING))
|
||||
{
|
||||
while ((tmp = mystrstr (scan + 2, "__")) != NULL)
|
||||
scan = tmp;
|
||||
}
|
||||
if (*(scan + 2) == '\0')
|
||||
success = 0;
|
||||
else
|
||||
demangle_function_name (work, mangled, declp, scan);
|
||||
}
|
||||
return iterate_demangle_function (work, mangled, declp, scan);
|
||||
}
|
||||
}
|
||||
else if (*(scan + 2) != '\0')
|
||||
{
|
||||
/* Mangled name does not start with "__" but does have one somewhere
|
||||
in there with non empty stuff after it. Looks like a global
|
||||
function name. */
|
||||
demangle_function_name (work, mangled, declp, scan);
|
||||
function name. Iterate over all "__":s until the right
|
||||
one is found. */
|
||||
return iterate_demangle_function (work, mangled, declp, scan);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2512,6 +2812,25 @@ gnu_special (work, mangled, declp)
|
||||
success = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if (n > 10 && strncmp (*mangled, "_GLOBAL_", 8) == 0
|
||||
&& (*mangled)[9] == 'N'
|
||||
&& (*mangled)[8] == (*mangled)[10]
|
||||
&& strchr (cplus_markers, (*mangled)[8]))
|
||||
{
|
||||
/* A member of the anonymous namespace. There's information
|
||||
about what identifier or filename it was keyed to, but
|
||||
it's just there to make the mangled name unique; we just
|
||||
step over it. */
|
||||
string_append (declp, "{anonymous}");
|
||||
(*mangled) += n;
|
||||
|
||||
/* Now p points to the marker before the N, so we need to
|
||||
update it to the first marker after what we consumed. */
|
||||
p = strpbrk (*mangled, cplus_markers);
|
||||
break;
|
||||
}
|
||||
|
||||
string_appendn (declp, *mangled, n);
|
||||
(*mangled) += n;
|
||||
}
|
||||
@ -2573,7 +2892,7 @@ gnu_special (work, mangled, declp)
|
||||
success = demangle_template (work, mangled, declp, 0, 1, 1);
|
||||
break;
|
||||
default:
|
||||
success = demangle_fund_type (work, mangled, declp);
|
||||
success = do_type (work, mangled, declp);
|
||||
break;
|
||||
}
|
||||
if (success && **mangled != '\0')
|
||||
@ -3311,7 +3630,7 @@ demangle_fund_type (work, mangled, result)
|
||||
int done = 0;
|
||||
int success = 1;
|
||||
char buf[10];
|
||||
int dec = 0;
|
||||
unsigned int dec = 0;
|
||||
string btype;
|
||||
type_kind_t tk = tk_integral;
|
||||
|
||||
@ -3455,7 +3774,7 @@ demangle_fund_type (work, mangled, result)
|
||||
*mangled += min (strlen (*mangled), 2);
|
||||
}
|
||||
sscanf (buf, "%x", &dec);
|
||||
sprintf (buf, "int%i_t", dec);
|
||||
sprintf (buf, "int%u_t", dec);
|
||||
APPEND_BLANK (result);
|
||||
string_append (result, buf);
|
||||
break;
|
||||
@ -4188,8 +4507,8 @@ demangle_function_name (work, mangled, declp, scan)
|
||||
}
|
||||
}
|
||||
else if (declp->b[0] == '_' && declp->b[1] == '_'
|
||||
&& declp->b[2] >= 'a' && declp->b[2] <= 'z'
|
||||
&& declp->b[3] >= 'a' && declp->b[3] <= 'z')
|
||||
&& islower((unsigned char)declp->b[2])
|
||||
&& islower((unsigned char)declp->b[3]))
|
||||
{
|
||||
if (declp->b[4] == '\0')
|
||||
{
|
||||
@ -4402,6 +4721,7 @@ static int flags = DMGL_PARAMS | DMGL_ANSI;
|
||||
static void demangle_it PARAMS ((char *));
|
||||
static void usage PARAMS ((FILE *, int)) ATTRIBUTE_NORETURN;
|
||||
static void fatal PARAMS ((const char *)) ATTRIBUTE_NORETURN;
|
||||
static void print_demangler_list PARAMS ((FILE *));
|
||||
|
||||
static void
|
||||
demangle_it (mangled_name)
|
||||
@ -4421,16 +4741,43 @@ demangle_it (mangled_name)
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
print_demangler_list (stream)
|
||||
FILE *stream;
|
||||
{
|
||||
struct demangler_engine *demangler;
|
||||
|
||||
fprintf (stream, "{%s", libiberty_demanglers->demangling_style_name);
|
||||
|
||||
for (demangler = libiberty_demanglers + 1;
|
||||
demangler->demangling_style != unknown_demangling;
|
||||
++demangler)
|
||||
fprintf (stream, ",%s", demangler->demangling_style_name);
|
||||
|
||||
fprintf (stream, "}");
|
||||
}
|
||||
|
||||
static void
|
||||
usage (stream, status)
|
||||
FILE *stream;
|
||||
int status;
|
||||
{
|
||||
fprintf (stream, "\
|
||||
Usage: %s [-_] [-n] [-s {gnu,lucid,arm,hp,edg}] [--strip-underscores]\n\
|
||||
[--no-strip-underscores] [--format={gnu,lucid,arm,hp,edg}]\n\
|
||||
[--help] [--version] [arg...]\n",
|
||||
Usage: %s [-_] [-n] [--strip-underscores] [--no-strip-underscores] \n",
|
||||
program_name);
|
||||
|
||||
fprintf (stream, "\
|
||||
[-s ");
|
||||
print_demangler_list (stream);
|
||||
fprintf (stream, "]\n");
|
||||
|
||||
fprintf (stream, "\
|
||||
[--format ");
|
||||
print_demangler_list (stream);
|
||||
fprintf (stream, "]\n");
|
||||
|
||||
fprintf (stream, "\
|
||||
[--help] [--version] [arg...]\n");
|
||||
exit (status);
|
||||
}
|
||||
|
||||
@ -4468,6 +4815,9 @@ standard_symbol_characters PARAMS ((void));
|
||||
static const char *
|
||||
hp_symbol_characters PARAMS ((void));
|
||||
|
||||
static const char *
|
||||
gnu_new_abi_symbol_characters PARAMS ((void));
|
||||
|
||||
/* Return the string of non-alnum characters that may occur
|
||||
as a valid symbol component, in the standard assembler symbol
|
||||
syntax. */
|
||||
@ -4516,6 +4866,17 @@ hp_symbol_characters ()
|
||||
}
|
||||
|
||||
|
||||
/* Return the string of non-alnum characters that may occur
|
||||
as a valid symbol component in the GNU standard C++ ABI mangling
|
||||
scheme. */
|
||||
|
||||
static const char *
|
||||
gnu_new_abi_symbol_characters ()
|
||||
{
|
||||
return "_";
|
||||
}
|
||||
|
||||
|
||||
extern int main PARAMS ((int, char **));
|
||||
|
||||
int
|
||||
@ -4553,32 +4914,19 @@ main (argc, argv)
|
||||
flags |= DMGL_JAVA;
|
||||
break;
|
||||
case 's':
|
||||
if (strcmp (optarg, "gnu") == 0)
|
||||
{
|
||||
current_demangling_style = gnu_demangling;
|
||||
}
|
||||
else if (strcmp (optarg, "lucid") == 0)
|
||||
{
|
||||
current_demangling_style = lucid_demangling;
|
||||
}
|
||||
else if (strcmp (optarg, "arm") == 0)
|
||||
{
|
||||
current_demangling_style = arm_demangling;
|
||||
}
|
||||
else if (strcmp (optarg, "hp") == 0)
|
||||
{
|
||||
current_demangling_style = hp_demangling;
|
||||
}
|
||||
else if (strcmp (optarg, "edg") == 0)
|
||||
{
|
||||
current_demangling_style = edg_demangling;
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf (stderr, "%s: unknown demangling style `%s'\n",
|
||||
program_name, optarg);
|
||||
return (1);
|
||||
}
|
||||
{
|
||||
enum demangling_styles style;
|
||||
|
||||
style = cplus_demangle_name_to_style (optarg);
|
||||
if (style == unknown_demangling)
|
||||
{
|
||||
fprintf (stderr, "%s: unknown demangling style `%s'\n",
|
||||
program_name, optarg);
|
||||
return (1);
|
||||
}
|
||||
else
|
||||
cplus_demangle_set_style (style);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -4603,6 +4951,9 @@ main (argc, argv)
|
||||
case hp_demangling:
|
||||
valid_symbols = hp_symbol_characters ();
|
||||
break;
|
||||
case gnu_new_abi_demangling:
|
||||
valid_symbols = gnu_new_abi_symbol_characters ();
|
||||
break;
|
||||
default:
|
||||
/* Folks should explicitly indicate the appropriate alphabet for
|
||||
each demangling. Providing a default would allow the
|
||||
@ -4652,6 +5003,7 @@ main (argc, argv)
|
||||
if (c == EOF)
|
||||
break;
|
||||
putchar (c);
|
||||
fflush (stdout);
|
||||
}
|
||||
}
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user