* version.c (print_version): New function.
* bucomm.h (print_version): Declare. * ar.c (program_version): Don't declare. (do_show_version): Remove. (usage): Add help parameter. Print bug report address. (main): Set is_ranlib at start. Check for --help and --version. Call print_version, not do_show_version. * nlmconv.c (program_version): Don't declare. (main): Call print_version. (show_usage): Print bug report address. * nm.c (program_version, print_version): Don't declare. (usage): Print bug report address. (main): Call print_version. * objcopy.c (program_version): Don't declare. (copy_usage): Print bug report address. (strip_usage): Likewise. (strip_main): Call print_version. (copy_main): Likewise. * objdump.c (program_version): Don't declare. (usage): Print bug report address. (main): Call print_version. * size.c (program_version): Don't declare. (usage): Print bug report address. (main): Call print_version. * strings.c (program_version): Don't declare. (main): Call print_version. (usage): Print bug report address. * Makefile.in: Update dependencies.
This commit is contained in:
parent
0b810a6ee0
commit
7f924d5516
4 changed files with 273 additions and 169 deletions
|
@ -1,3 +1,41 @@
|
|||
Tue Oct 1 15:00:59 1996 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* version.c (print_version): New function.
|
||||
* bucomm.h (print_version): Declare.
|
||||
* ar.c (program_version): Don't declare.
|
||||
(do_show_version): Remove.
|
||||
(usage): Add help parameter. Print bug report address.
|
||||
(main): Set is_ranlib at start. Check for --help and --version.
|
||||
Call print_version, not do_show_version.
|
||||
* nlmconv.c (program_version): Don't declare.
|
||||
(main): Call print_version.
|
||||
(show_usage): Print bug report address.
|
||||
* nm.c (program_version, print_version): Don't declare.
|
||||
(usage): Print bug report address.
|
||||
(main): Call print_version.
|
||||
* objcopy.c (program_version): Don't declare.
|
||||
(copy_usage): Print bug report address.
|
||||
(strip_usage): Likewise.
|
||||
(strip_main): Call print_version.
|
||||
(copy_main): Likewise.
|
||||
* objdump.c (program_version): Don't declare.
|
||||
(usage): Print bug report address.
|
||||
(main): Call print_version.
|
||||
* size.c (program_version): Don't declare.
|
||||
(usage): Print bug report address.
|
||||
(main): Call print_version.
|
||||
* strings.c (program_version): Don't declare.
|
||||
(main): Call print_version.
|
||||
(usage): Print bug report address.
|
||||
* Makefile.in: Update dependencies.
|
||||
|
||||
Thu Sep 19 14:53:15 1996 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* ieee.c: Revert Monday's reflocalp patch, and apply this patch
|
||||
instead:
|
||||
(write_ieee_debugging_info): Write a dummy type at the end of the
|
||||
global type block.
|
||||
|
||||
Mon Sep 16 15:30:54 1996 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* ieee.c (struct ieee_write_type): Add reflocalp field.
|
||||
|
|
|
@ -25,12 +25,12 @@ prefix = @prefix@
|
|||
|
||||
program_transform_name = @program_transform_name@
|
||||
exec_prefix = @exec_prefix@
|
||||
bindir = $(exec_prefix)/bin
|
||||
libdir = $(exec_prefix)/lib
|
||||
bindir = @bindir@
|
||||
libdir = @libdir@
|
||||
tooldir = $(exec_prefix)/$(target_alias)
|
||||
|
||||
datadir = $(prefix)/lib
|
||||
mandir = $(prefix)/man
|
||||
datadir = @datadir@
|
||||
mandir = @mandir@
|
||||
man1dir = $(mandir)/man1
|
||||
man2dir = $(mandir)/man2
|
||||
man3dir = $(mandir)/man3
|
||||
|
@ -40,15 +40,14 @@ man6dir = $(mandir)/man6
|
|||
man7dir = $(mandir)/man7
|
||||
man8dir = $(mandir)/man8
|
||||
man9dir = $(mandir)/man9
|
||||
infodir = $(prefix)/info
|
||||
includedir = $(prefix)/include
|
||||
docdir = $(datadir)/doc
|
||||
infodir = @infodir@
|
||||
includedir = @includedir@
|
||||
|
||||
SHELL = /bin/sh
|
||||
|
||||
INSTALL = `cd $(srcdir)/..;pwd`/install.sh -c
|
||||
INSTALL_PROGRAM = $(INSTALL)
|
||||
INSTALL_DATA = $(INSTALL) -m 644
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_XFORM = $(INSTALL) -t='$(program_transform_name)'
|
||||
INSTALL_XFORM1 = $(INSTALL_XFORM) -b=.1 -m 644
|
||||
|
||||
|
@ -58,6 +57,7 @@ CC = @CC@
|
|||
CFLAGS = @CFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
HLDFLAGS = @HLDFLAGS@
|
||||
HLDENV = @HLDENV@
|
||||
RPATH_ENVVAR = @RPATH_ENVVAR@
|
||||
MAKEINFO = makeinfo
|
||||
TEXI2DVI = texi2dvi
|
||||
|
@ -76,15 +76,13 @@ LEX_OPTIONS = -I -Cem
|
|||
LEX = `if [ -f ../flex/flex ] ; then echo ../flex/flex ; else echo flex ; fi`
|
||||
|
||||
# Distribution version
|
||||
VERSION=cygnus-2.6
|
||||
VERSION=cygnus-2.7.1
|
||||
# Distribution name
|
||||
DIST_NAME=binutils-${VERSION}
|
||||
|
||||
# Where to find texinfo.tex to format docn with TeX
|
||||
TEXIDIR = $(srcdir)/../texinfo
|
||||
|
||||
#CC=gcc -Wall
|
||||
CC=cc
|
||||
# these two are almost the same program
|
||||
AR_PROG=ar
|
||||
RANLIB_PROG=ranlib
|
||||
|
@ -116,7 +114,8 @@ STAGESTUFF = $(PROGS) *.o
|
|||
# Files that can be generated, but should be in the distribution.
|
||||
# Don't build $(DEMANGLER_PROG).1, since its name may vary with the
|
||||
# configuration.
|
||||
DISTSTUFF=arparse.c arparse.h arlex.c nlmheader.c sysinfo.c sysinfo.h syslex.c
|
||||
DISTSTUFF=arparse.c arparse.h arlex.c nlmheader.c sysinfo.c sysinfo.h \
|
||||
syslex.c deflex.c
|
||||
|
||||
# Stuff that goes in tooldir/ if appropriate
|
||||
TOOL_PROGS = nm.new strip.new ar ranlib $(DLLTOOL_PROG)
|
||||
|
@ -247,25 +246,25 @@ info: binutils.info
|
|||
dvi: binutils.dvi
|
||||
|
||||
$(SIZE_PROG): $(ADDL_DEPS) size.o
|
||||
$(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $(SIZE_PROG) size.o $(ADDL_LIBS) $(EXTRALIBS)
|
||||
$(HLDENV) $(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $(SIZE_PROG) size.o $(ADDL_LIBS) $(EXTRALIBS)
|
||||
|
||||
$(OBJCOPY_PROG): $(ADDL_DEPS) objcopy.o not-strip.o $(WRITE_DEBUG_OBJS)
|
||||
$(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $(OBJCOPY_PROG) objcopy.o not-strip.o $(WRITE_DEBUG_OBJS) $(ADDL_LIBS) $(EXTRALIBS)
|
||||
$(HLDENV) $(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $(OBJCOPY_PROG) objcopy.o not-strip.o $(WRITE_DEBUG_OBJS) $(ADDL_LIBS) $(EXTRALIBS)
|
||||
|
||||
$(STRINGS_PROG): $(ADDL_DEPS) strings.o
|
||||
$(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $(STRINGS_PROG) strings.o $(ADDL_LIBS) $(EXTRALIBS)
|
||||
$(HLDENV) $(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $(STRINGS_PROG) strings.o $(ADDL_LIBS) $(EXTRALIBS)
|
||||
|
||||
$(STRIP_PROG): $(ADDL_DEPS) objcopy.o is-strip.o $(WRITE_DEBUG_OBJS)
|
||||
$(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $(STRIP_PROG) objcopy.o is-strip.o $(WRITE_DEBUG_OBJS) $(ADDL_LIBS) $(EXTRALIBS)
|
||||
$(HLDENV) $(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $(STRIP_PROG) objcopy.o is-strip.o $(WRITE_DEBUG_OBJS) $(ADDL_LIBS) $(EXTRALIBS)
|
||||
|
||||
$(NM_PROG): $(ADDL_DEPS) nm.o
|
||||
$(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $(NM_PROG) nm.o $(ADDL_LIBS) $(EXTRALIBS)
|
||||
$(HLDENV) $(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $(NM_PROG) nm.o $(ADDL_LIBS) $(EXTRALIBS)
|
||||
|
||||
#libbfd is searched twice here ($(BFDLIB) and $(ADDL_LIBS)) because when a
|
||||
#shared libbfd is built with --enable-commonbfdlib, all of libopcodes is
|
||||
#available in libbfd.so and we don't want to link anything from libopcodes.a
|
||||
$(OBJDUMP_PROG): $(ADDL_DEPS) objdump.o prdbg.o $(DEBUG_OBJS) $(OPCODES_DEP)
|
||||
$(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $(OBJDUMP_PROG) objdump.o prdbg.o $(DEBUG_OBJS) $(BFDLIB) $(OPCODES) $(ADDL_LIBS) $(EXTRALIBS)
|
||||
$(HLDENV) $(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $(OBJDUMP_PROG) objdump.o prdbg.o $(DEBUG_OBJS) $(BFDLIB) $(OPCODES) $(ADDL_LIBS) $(EXTRALIBS)
|
||||
|
||||
underscore.c: stamp-under ; @true
|
||||
|
||||
|
@ -282,7 +281,7 @@ cplus-dem.o: $(BASEDIR)/libiberty/cplus-dem.c $(INCDIR)/getopt.h
|
|||
$(CC) -c -DMAIN -DVERSION='"$(VERSION)"' $(ALL_CFLAGS) $(BASEDIR)/libiberty/cplus-dem.c
|
||||
|
||||
$(DEMANGLER_PROG): cplus-dem.o $(LIBIBERTY) underscore.o $(DEMANGLER_PROG).1
|
||||
$(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $(DEMANGLER_PROG) cplus-dem.o $(LIBIBERTY) $(EXTRALIBS) underscore.o
|
||||
$(HLDENV) $(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $(DEMANGLER_PROG) cplus-dem.o $(LIBIBERTY) $(EXTRALIBS) underscore.o
|
||||
|
||||
arparse.c: arparse.y
|
||||
$(BISON) $(BISONFLAGS) $(srcdir)/arparse.y
|
||||
|
@ -298,10 +297,10 @@ arlex.c: arlex.l
|
|||
mv lex.yy.c arlex.c
|
||||
|
||||
$(AR_PROG): $(ADDL_DEPS) ar.o arparse.o arlex.o not-ranlib.o arsup.o
|
||||
$(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $(AR_PROG) ar.o arparse.o arlex.o arsup.o not-ranlib.o $(ADDL_LIBS) $(EXTRALIBS)
|
||||
$(HLDENV) $(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $(AR_PROG) ar.o arparse.o arlex.o arsup.o not-ranlib.o $(ADDL_LIBS) $(EXTRALIBS)
|
||||
|
||||
$(RANLIB_PROG): $(ADDL_DEPS) ar.o is-ranlib.o arparse.o arlex.o arsup.o
|
||||
$(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $(RANLIB_PROG) ar.o arparse.o arlex.o arsup.o is-ranlib.o $(ADDL_LIBS) $(EXTRALIBS)
|
||||
$(HLDENV) $(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $(RANLIB_PROG) ar.o arparse.o arlex.o arsup.o is-ranlib.o $(ADDL_LIBS) $(EXTRALIBS)
|
||||
|
||||
# This rule creates a single binary that switches between ar and ranlib
|
||||
# by looking at argv[0]. Use this kludge to save some disk space.
|
||||
|
@ -311,14 +310,14 @@ $(RANLIB_PROG): $(ADDL_DEPS) ar.o is-ranlib.o arparse.o arlex.o arsup.o
|
|||
# Alternatively, you can install ranlib.sh as ranlib.
|
||||
|
||||
ar_with_ranlib: $(ADDL_DEPS) ar.o maybe-ranlib.o
|
||||
$(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $(AR_PROG) ar.o maybe-ranlib.o $(ADDL_LIBS) $(EXTRALIBS)
|
||||
$(HLDENV) $(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $(AR_PROG) ar.o maybe-ranlib.o $(ADDL_LIBS) $(EXTRALIBS)
|
||||
-rm -f $(RANLIB_PROG)
|
||||
-ln $(AR_PROG) $(RANLIB_PROG)
|
||||
|
||||
# objcopy and strip in one binary that uses argv[0] to decide its action.
|
||||
|
||||
objcopy_with_strip: $(ADDL_DEPS) objcopy.o maybe-strip.o
|
||||
$(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $(OBJCOPY_PROG) objcopy.o maybe-strip.o $(ADDL_LIBS) $(EXTRALIBS)
|
||||
$(HLDENV) $(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $(OBJCOPY_PROG) objcopy.o maybe-strip.o $(ADDL_LIBS) $(EXTRALIBS)
|
||||
-rm -f $(STRIP_PROG)
|
||||
-ln $(OBJCOPY_PROG) $(STRIP_PROG)
|
||||
|
||||
|
@ -364,10 +363,10 @@ sysinfo.o: sysinfo.c
|
|||
fi
|
||||
|
||||
srconv: srconv.o coffgrok.o $(ADDL_DEPS)
|
||||
$(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ srconv.o coffgrok.o $(ADDL_LIBS) $(EXTRALIBS)
|
||||
$(HLDENV) $(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ srconv.o coffgrok.o $(ADDL_LIBS) $(EXTRALIBS)
|
||||
|
||||
dlltool: dlltool.o defparse.o deflex.o cplus-dem.o $(ADDL_DEPS)
|
||||
$(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ dlltool.o defparse.o deflex.o $(ADDL_LIBS) $(EXTRALIBS)
|
||||
$(HLDENV) $(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ dlltool.o defparse.o deflex.o $(ADDL_LIBS) $(EXTRALIBS)
|
||||
|
||||
defparse.c:defparse.y
|
||||
$(BISON) $(BISONFLAGS) $(srcdir)/defparse.y
|
||||
|
@ -384,10 +383,10 @@ dlltool.o:dlltool.c
|
|||
$(CC) -c @DLLTOOL_DEFS@ $(ALL_CFLAGS) $(srcdir)/dlltool.c
|
||||
|
||||
coffdump: coffdump.o coffgrok.o $(ADDL_DEPS)
|
||||
$(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ coffdump.o coffgrok.o $(ADDL_LIBS) $(EXTRALIBS)
|
||||
$(HLDENV) $(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ coffdump.o coffgrok.o $(ADDL_LIBS) $(EXTRALIBS)
|
||||
|
||||
sysdump: sysdump.o $(ADDL_DEPS)
|
||||
$(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ sysdump.o $(ADDL_LIBS) $(EXTRALIBS)
|
||||
$(HLDENV) $(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ sysdump.o $(ADDL_LIBS) $(EXTRALIBS)
|
||||
|
||||
# Depend upon sysinfo.c to avoid building both nlmheader.c and sysinfo.c
|
||||
# simultaneously.
|
||||
|
@ -403,7 +402,7 @@ nlmconv.o: nlmconv.c $(INCDIR)/coff/sym.h $(INCDIR)/coff/ecoff.h
|
|||
$(CC) -c -DLD_NAME="\"$${ldname}\"" @NLMCONV_DEFS@ $(ALL_CFLAGS) $(srcdir)/nlmconv.c
|
||||
|
||||
$(NLMCONV_PROG): nlmconv.o nlmheader.o $(ADDL_DEPS)
|
||||
$(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ nlmconv.o nlmheader.o $(ADDL_LIBS) $(EXTRALIBS)
|
||||
$(HLDENV) $(CC) $(HLDFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ nlmconv.o nlmheader.o $(ADDL_LIBS) $(EXTRALIBS)
|
||||
|
||||
# Targets to rebuild dependencies in this Makefile.
|
||||
# Have to get rid of .dep1 here so that "$?" later includes all of $(CFILES).
|
||||
|
@ -422,6 +421,7 @@ $(NLMCONV_PROG): nlmconv.o nlmheader.o $(ADDL_DEPS)
|
|||
dep.sed: dep-in.sed config.status
|
||||
sed <$(srcdir)/dep-in.sed >dep.sed \
|
||||
-e 's!@INCDIR@!$(INCDIR)!' \
|
||||
-e 's!@BFDDIR@!$(BFDDIR)!' \
|
||||
-e 's!@SRCDIR@!$(srcdir)!'
|
||||
|
||||
dep: .dep
|
||||
|
@ -546,18 +546,17 @@ install: all
|
|||
if [ x$(DEMANGLER_PROG) != x ]; then \
|
||||
$(INSTALL_XFORM1) $(DEMANGLER_PROG).1 $(man1dir)/$(DEMANGLER_PROG).1; \
|
||||
fi
|
||||
-if [ -d $(tooldir) ]; then \
|
||||
if [ -d $(tooldir)/bin ]; then true; else mkdir $(tooldir)/bin; fi; \
|
||||
for i in $(TOOL_PROGS) ; do \
|
||||
if [ -f $$i ]; then \
|
||||
j=`echo $$i | sed -e 's/.new//'`; \
|
||||
rm -f $(tooldir)/bin/$$j; \
|
||||
k=`echo $$j | sed '$(program_transform_name)'`; \
|
||||
ln $(bindir)/$$k $(tooldir)/bin/$$j >/dev/null 2>/dev/null \
|
||||
test -d $(tooldir) || mkdir $(tooldir)
|
||||
test -d $(tooldir)/bin || mkdir $(tooldir)/bin
|
||||
for i in $(TOOL_PROGS) ; do \
|
||||
if [ -f $$i ]; then \
|
||||
j=`echo $$i | sed -e 's/.new//'`; \
|
||||
rm -f $(tooldir)/bin/$$j; \
|
||||
k=`echo $$j | sed '$(program_transform_name)'`; \
|
||||
ln $(bindir)/$$k $(tooldir)/bin/$$j >/dev/null 2>/dev/null \
|
||||
|| $(INSTALL_PROGRAM) $$i $(tooldir)/bin/$$j; \
|
||||
fi; \
|
||||
done; \
|
||||
else true; fi
|
||||
fi; \
|
||||
done
|
||||
|
||||
# This little path search is required because in the FSF net releases,
|
||||
# the info files are included in the source tree, and that may not be
|
||||
|
@ -653,7 +652,7 @@ config.status: configure $(srcdir)/../bfd/configure.host $(srcdir)/../bfd/config
|
|||
ar.o: ar.c ../bfd/bfd.h $(INCDIR)/ansidecl.h $(INCDIR)/obstack.h \
|
||||
$(INCDIR)/libiberty.h $(INCDIR)/progress.h bucomm.h \
|
||||
config.h $(INCDIR)/fopen-same.h $(INCDIR)/aout/ar.h \
|
||||
../bfd/libbfd.h arsup.h
|
||||
$(BFDDIR)/libbfd.h arsup.h
|
||||
arsup.o: arsup.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/obstack.h arsup.h $(INCDIR)/libiberty.h bucomm.h \
|
||||
config.h $(INCDIR)/fopen-same.h
|
||||
|
@ -663,7 +662,7 @@ bucomm.o: bucomm.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
|||
coffdump.o: coffdump.c coffgrok.h bucomm.h config.h \
|
||||
$(INCDIR)/fopen-same.h
|
||||
coffgrok.o: coffgrok.c bucomm.h config.h $(INCDIR)/fopen-same.h \
|
||||
$(INCDIR)/coff/internal.h ../bfd/libcoff.h $(INCDIR)/bfdlink.h \
|
||||
$(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h \
|
||||
coffgrok.h
|
||||
debug.o: debug.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/obstack.h bucomm.h config.h $(INCDIR)/fopen-same.h \
|
||||
|
@ -683,8 +682,9 @@ maybe-ranlib.o: maybe-ranlib.c
|
|||
maybe-strip.o: maybe-strip.c
|
||||
nlmconv.o: nlmconv.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/obstack.h $(INCDIR)/libiberty.h bucomm.h \
|
||||
config.h $(INCDIR)/fopen-same.h ../bfd/libnlm.h $(INCDIR)/nlm/common.h \
|
||||
$(INCDIR)/nlm/internal.h $(INCDIR)/nlm/external.h nlmconv.h
|
||||
config.h $(INCDIR)/fopen-same.h $(BFDDIR)/libnlm.h \
|
||||
$(INCDIR)/nlm/common.h $(INCDIR)/nlm/internal.h $(INCDIR)/nlm/external.h \
|
||||
nlmconv.h
|
||||
nm.o: nm.c ../bfd/bfd.h $(INCDIR)/ansidecl.h $(INCDIR)/obstack.h \
|
||||
$(INCDIR)/progress.h bucomm.h config.h $(INCDIR)/fopen-same.h \
|
||||
$(INCDIR)/getopt.h $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def \
|
||||
|
@ -705,7 +705,7 @@ prdbg.o: prdbg.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
|||
rdcoff.o: rdcoff.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/obstack.h $(INCDIR)/coff/internal.h bucomm.h \
|
||||
config.h $(INCDIR)/fopen-same.h $(INCDIR)/libiberty.h \
|
||||
$(INCDIR)/demangle.h debug.h budbg.h ../bfd/libcoff.h \
|
||||
$(INCDIR)/demangle.h debug.h budbg.h $(BFDDIR)/libcoff.h \
|
||||
$(INCDIR)/bfdlink.h
|
||||
rddbg.o: rddbg.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/obstack.h bucomm.h config.h $(INCDIR)/fopen-same.h \
|
||||
|
@ -714,7 +714,7 @@ size.o: size.c ../bfd/bfd.h $(INCDIR)/ansidecl.h $(INCDIR)/obstack.h \
|
|||
$(INCDIR)/getopt.h bucomm.h config.h $(INCDIR)/fopen-same.h \
|
||||
$(INCDIR)/libiberty.h
|
||||
srconv.o: srconv.c bucomm.h config.h $(INCDIR)/fopen-same.h \
|
||||
sysroff.h coffgrok.h $(INCDIR)/coff/internal.h ../bfd/libcoff.h \
|
||||
sysroff.h coffgrok.h $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h \
|
||||
$(INCDIR)/bfdlink.h sysroff.c
|
||||
stabs.o: stabs.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/obstack.h bucomm.h config.h $(INCDIR)/fopen-same.h \
|
||||
|
@ -727,7 +727,8 @@ strings.o: strings.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
|||
sysdump.o: sysdump.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/obstack.h bucomm.h config.h $(INCDIR)/fopen-same.h \
|
||||
sysroff.h sysroff.c
|
||||
version.o: version.c
|
||||
version.o: version.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/obstack.h bucomm.h config.h $(INCDIR)/fopen-same.h
|
||||
wrstabs.o: wrstabs.c ../bfd/bfd.h $(INCDIR)/ansidecl.h \
|
||||
$(INCDIR)/obstack.h bucomm.h config.h $(INCDIR)/fopen-same.h \
|
||||
$(INCDIR)/libiberty.h debug.h budbg.h $(INCDIR)/aout/aout64.h \
|
||||
|
|
285
binutils/ar.c
285
binutils/ar.c
|
@ -1,5 +1,5 @@
|
|||
/* ar.c - Archive modify and extract.
|
||||
Copyright 1991, 92, 93, 94 Free Software Foundation, Inc.
|
||||
Copyright 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Binutils.
|
||||
|
||||
|
@ -15,7 +15,7 @@ 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
/*
|
||||
Bugs: should use getopt the way tar does (complete w/optional -) and
|
||||
|
@ -25,28 +25,21 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
|||
more consistant.
|
||||
*/
|
||||
#include "bfd.h"
|
||||
#include "sysdep.h"
|
||||
#include "libiberty.h"
|
||||
#include "progress.h"
|
||||
#include "bucomm.h"
|
||||
#include "aout/ar.h"
|
||||
#include "libbfd.h"
|
||||
#include "arsup.h"
|
||||
#include <stdio.h>
|
||||
#ifdef POSIX_UTIME
|
||||
#include <sys/stat.h>
|
||||
|
||||
#ifdef HAVE_GOOD_UTIME_H
|
||||
#include <utime.h>
|
||||
#else /* ! POSIX_UTIME */
|
||||
#ifdef USE_UTIME
|
||||
#include <time.h>
|
||||
#else /* ! USE_UTIME */
|
||||
#else /* ! HAVE_GOOD_UTIME_H */
|
||||
#ifdef HAVE_UTIMES
|
||||
#include <sys/time.h>
|
||||
#endif /* ! USE_UTIME */
|
||||
#endif /* ! POSIX_UTIME */
|
||||
#include <errno.h>
|
||||
#ifndef errno
|
||||
extern int errno;
|
||||
#endif
|
||||
#define BUFSIZE 8192
|
||||
#endif /* HAVE_UTIMES */
|
||||
#endif /* ! HAVE_GOOD_UTIME_H */
|
||||
|
||||
#ifdef __GO32___
|
||||
#define EXT_NAME_LEN 3 /* bufflen of addition to name if it's MS-DOS */
|
||||
|
@ -54,6 +47,8 @@ extern int errno;
|
|||
#define EXT_NAME_LEN 6 /* ditto for *NIX */
|
||||
#endif
|
||||
|
||||
#define BUFSIZE 8192
|
||||
|
||||
/* Kludge declaration from BFD! This is ugly! FIXME! XXX */
|
||||
|
||||
struct ar_hdr *
|
||||
|
@ -76,15 +71,17 @@ print_contents PARAMS ((bfd * member));
|
|||
static void
|
||||
delete_members PARAMS ((bfd *, char **files_to_delete));
|
||||
|
||||
#if 0
|
||||
static void
|
||||
do_quick_append PARAMS ((const char *archive_filename,
|
||||
char **files_to_append));
|
||||
#endif
|
||||
|
||||
static void
|
||||
move_members PARAMS ((bfd *, char **files_to_move));
|
||||
|
||||
static void
|
||||
replace_members PARAMS ((bfd *, char **files_to_replace));
|
||||
replace_members PARAMS ((bfd *, char **files_to_replace, boolean quick));
|
||||
|
||||
static void
|
||||
print_descr PARAMS ((bfd * abfd));
|
||||
|
@ -210,28 +207,28 @@ map_over_members (arch, function, files, count)
|
|||
|
||||
boolean operation_alters_arch = false;
|
||||
|
||||
extern char *program_version;
|
||||
|
||||
void
|
||||
do_show_version ()
|
||||
usage (help)
|
||||
int help;
|
||||
{
|
||||
printf ("GNU %s version %s\n", program_name, program_version);
|
||||
xexit (0);
|
||||
}
|
||||
FILE *s;
|
||||
|
||||
void
|
||||
usage ()
|
||||
{
|
||||
if (is_ranlib == 0)
|
||||
fprintf (stderr, "\
|
||||
s = help ? stdout : stderr;
|
||||
if (! is_ranlib)
|
||||
fprintf (s, "\
|
||||
Usage: %s [-]{dmpqrtx}[abcilosuvV] [member-name] archive-file file...\n\
|
||||
%s -M [<mri-script]\n",
|
||||
program_name, program_name);
|
||||
else
|
||||
fprintf (stderr, "\
|
||||
fprintf (s, "\
|
||||
Usage: %s [-vV] archive\n", program_name);
|
||||
|
||||
list_supported_targets (program_name, stderr);
|
||||
xexit (1);
|
||||
|
||||
if (help)
|
||||
fprintf (s, "Report bugs to bug-gnu-utils@prep.ai.mit.edu\n");
|
||||
|
||||
xexit (help ? 0 : 1);
|
||||
}
|
||||
|
||||
/* Normalize a file name specified on the command line into a file
|
||||
|
@ -303,12 +300,40 @@ main (argc, argv)
|
|||
int arg_index;
|
||||
char **files;
|
||||
char *inarch_filename;
|
||||
char *temp;
|
||||
int show_version;
|
||||
|
||||
program_name = argv[0];
|
||||
xmalloc_set_program_name (program_name);
|
||||
|
||||
if (is_ranlib < 0)
|
||||
{
|
||||
char *temp;
|
||||
|
||||
temp = strrchr (program_name, '/');
|
||||
if (temp == NULL)
|
||||
temp = program_name;
|
||||
else
|
||||
++temp;
|
||||
if (strlen (temp) >= 6
|
||||
&& strcmp (temp + strlen (temp) - 6, "ranlib") == 0)
|
||||
is_ranlib = 1;
|
||||
else
|
||||
is_ranlib = 0;
|
||||
}
|
||||
|
||||
if (argc > 1 && argv[1][0] == '-')
|
||||
{
|
||||
if (strcmp (argv[1], "--help") == 0)
|
||||
usage (1);
|
||||
else if (strcmp (argv[1], "--version") == 0)
|
||||
{
|
||||
if (is_ranlib)
|
||||
print_version ("ranlib");
|
||||
else
|
||||
print_version ("ar");
|
||||
}
|
||||
}
|
||||
|
||||
START_PROGRESS (program_name, 0);
|
||||
|
||||
bfd_init ();
|
||||
|
@ -316,22 +341,16 @@ main (argc, argv)
|
|||
|
||||
xatexit (remove_output);
|
||||
|
||||
temp = strrchr (program_name, '/');
|
||||
if (temp == (char *) NULL)
|
||||
temp = program_name; /* shouldn't happen, but... */
|
||||
else
|
||||
++temp;
|
||||
if (is_ranlib > 0 || (is_ranlib < 0 && strcmp (temp, "ranlib") == 0))
|
||||
if (is_ranlib)
|
||||
{
|
||||
boolean touch = false;
|
||||
|
||||
is_ranlib = 1;
|
||||
if (argc < 2)
|
||||
if (argc < 2 || strcmp (argv[1], "--help") == 0)
|
||||
usage ();
|
||||
if (strcmp (argv[1], "-V") == 0
|
||||
|| strcmp (argv[1], "-v") == 0
|
||||
|| strncmp (argv[1], "--v", 3) == 0)
|
||||
do_show_version ();
|
||||
print_version ("ranlib");
|
||||
arg_index = 1;
|
||||
if (strcmp (argv[1], "-t") == 0)
|
||||
{
|
||||
|
@ -348,8 +367,6 @@ main (argc, argv)
|
|||
}
|
||||
xexit (0);
|
||||
}
|
||||
else
|
||||
is_ranlib = 0;
|
||||
|
||||
if (argc == 2 && strcmp (argv[1], "-M") == 0)
|
||||
{
|
||||
|
@ -448,7 +465,7 @@ main (argc, argv)
|
|||
}
|
||||
|
||||
if (show_version)
|
||||
do_show_version ();
|
||||
print_version ("ar");
|
||||
|
||||
if (argc < 3)
|
||||
usage ();
|
||||
|
@ -488,6 +505,11 @@ main (argc, argv)
|
|||
|
||||
files = arg_index < argc ? argv + arg_index : NULL;
|
||||
|
||||
#if 0
|
||||
/* We don't use do_quick_append any more. Too many systems
|
||||
expect ar to always rebuild the symbol table even when q is
|
||||
used. */
|
||||
|
||||
/* We can't do a quick append if we need to construct an
|
||||
extended name table, because do_quick_append won't be able to
|
||||
rebuild the name table. Unfortunately, at this point we
|
||||
|
@ -514,8 +536,10 @@ main (argc, argv)
|
|||
do_quick_append (inarch_filename, files);
|
||||
xexit (0);
|
||||
}
|
||||
#endif
|
||||
|
||||
arch = open_inarch (inarch_filename);
|
||||
arch = open_inarch (inarch_filename,
|
||||
files == NULL ? (char *) NULL : files[0]);
|
||||
|
||||
switch (operation)
|
||||
{
|
||||
|
@ -542,8 +566,9 @@ main (argc, argv)
|
|||
break;
|
||||
|
||||
case replace:
|
||||
case quick_append:
|
||||
if (files != NULL || write_armap > 0)
|
||||
replace_members (arch, files);
|
||||
replace_members (arch, files, operation == quick_append);
|
||||
break;
|
||||
|
||||
/* Shouldn't happen! */
|
||||
|
@ -561,18 +586,24 @@ main (argc, argv)
|
|||
}
|
||||
|
||||
bfd *
|
||||
open_inarch (archive_filename)
|
||||
open_inarch (archive_filename, file)
|
||||
const char *archive_filename;
|
||||
const char *file;
|
||||
{
|
||||
const char *target;
|
||||
bfd **last_one;
|
||||
bfd *next_one;
|
||||
struct stat sbuf;
|
||||
bfd *arch;
|
||||
char **matching;
|
||||
|
||||
bfd_set_error (bfd_error_no_error);
|
||||
|
||||
target = NULL;
|
||||
|
||||
if (stat (archive_filename, &sbuf) != 0)
|
||||
{
|
||||
bfd *obj;
|
||||
|
||||
#ifndef __GO32__
|
||||
|
||||
|
@ -592,20 +623,42 @@ open_inarch (archive_filename)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
/* This routine is one way to forcibly create the archive. */
|
||||
/* Try to figure out the target to use for the archive from the
|
||||
first object on the list. */
|
||||
obj = bfd_openr (file, NULL);
|
||||
if (obj != NULL)
|
||||
{
|
||||
if (bfd_check_format (obj, bfd_object))
|
||||
target = bfd_get_target (obj);
|
||||
(void) bfd_close (obj);
|
||||
}
|
||||
|
||||
do_quick_append (archive_filename, 0);
|
||||
/* Create an empty archive. */
|
||||
arch = bfd_openw (archive_filename, target);
|
||||
if (arch == NULL
|
||||
|| ! bfd_set_format (arch, bfd_archive)
|
||||
|| ! bfd_close (arch))
|
||||
bfd_fatal (archive_filename);
|
||||
}
|
||||
|
||||
arch = bfd_openr (archive_filename, NULL);
|
||||
arch = bfd_openr (archive_filename, target);
|
||||
if (arch == NULL)
|
||||
{
|
||||
bloser:
|
||||
bfd_fatal (archive_filename);
|
||||
}
|
||||
|
||||
if (bfd_check_format (arch, bfd_archive) != true)
|
||||
fatal ("%s is not an archive", archive_filename);
|
||||
if (! bfd_check_format_matches (arch, bfd_archive, &matching))
|
||||
{
|
||||
bfd_nonfatal (archive_filename);
|
||||
if (bfd_get_error () == bfd_error_file_ambiguously_recognized)
|
||||
{
|
||||
list_matching_formats (matching);
|
||||
free (matching);
|
||||
}
|
||||
xexit (1);
|
||||
}
|
||||
|
||||
last_one = &(arch->next);
|
||||
/* Read all the contents right away, regardless. */
|
||||
for (next_one = bfd_openr_next_archived_file (arch, NULL);
|
||||
|
@ -742,30 +795,35 @@ extract_file (abfd)
|
|||
|
||||
if (preserve_dates)
|
||||
{
|
||||
#ifdef POSIX_UTIME
|
||||
#ifdef HAVE_GOOD_UTIME_H
|
||||
struct utimbuf tb;
|
||||
tb.actime = buf.st_mtime;
|
||||
tb.modtime = buf.st_mtime;
|
||||
utime (bfd_get_filename (abfd), &tb); /* FIXME check result */
|
||||
#else /* ! POSIX_UTIME */
|
||||
#ifdef USE_UTIME
|
||||
#else /* ! HAVE_GOOD_UTIME_H */
|
||||
#ifndef HAVE_UTIMES
|
||||
long tb[2];
|
||||
tb[0] = buf.st_mtime;
|
||||
tb[1] = buf.st_mtime;
|
||||
utime (bfd_get_filename (abfd), tb); /* FIXME check result */
|
||||
#else /* ! USE_UTIME */
|
||||
#else /* HAVE_UTIMES */
|
||||
struct timeval tv[2];
|
||||
tv[0].tv_sec = buf.st_mtime;
|
||||
tv[0].tv_usec = 0;
|
||||
tv[1].tv_sec = buf.st_mtime;
|
||||
tv[1].tv_usec = 0;
|
||||
utimes (bfd_get_filename (abfd), tv); /* FIXME check result */
|
||||
#endif /* ! USE_UTIME */
|
||||
#endif /* ! POSIX_UTIME */
|
||||
#endif /* HAVE_UTIMES */
|
||||
#endif /* ! HAVE_GOOD_UTIME_H */
|
||||
}
|
||||
free (cbuf);
|
||||
}
|
||||
|
||||
#if 0
|
||||
|
||||
/* We don't use this anymore. Too many systems expect ar to rebuild
|
||||
the symbol table even when q is used. */
|
||||
|
||||
/* Just do it quickly; don't worry about dups, armap, or anything like that */
|
||||
|
||||
static void
|
||||
|
@ -873,6 +931,7 @@ do_quick_append (archive_filename, files_to_append)
|
|||
free (buf);
|
||||
}
|
||||
|
||||
#endif /* 0 */
|
||||
|
||||
static void
|
||||
write_archive (iarch)
|
||||
|
@ -1063,10 +1122,12 @@ move_members (arch, files_to_move)
|
|||
/* Ought to default to replacing in place, but this is existing practice! */
|
||||
|
||||
static void
|
||||
replace_members (arch, files_to_move)
|
||||
replace_members (arch, files_to_move, quick)
|
||||
bfd *arch;
|
||||
char **files_to_move;
|
||||
boolean quick;
|
||||
{
|
||||
boolean changed = false;
|
||||
bfd **after_bfd; /* New entries go after this one */
|
||||
bfd *current;
|
||||
bfd **current_ptr;
|
||||
|
@ -1074,63 +1135,62 @@ replace_members (arch, files_to_move)
|
|||
|
||||
while (files_to_move && *files_to_move)
|
||||
{
|
||||
current_ptr = &arch->next;
|
||||
while (*current_ptr)
|
||||
if (! quick)
|
||||
{
|
||||
current = *current_ptr;
|
||||
|
||||
if (!strcmp (normalize (*files_to_move, arch),
|
||||
normalize (current->filename, arch)))
|
||||
current_ptr = &arch->next;
|
||||
while (*current_ptr)
|
||||
{
|
||||
if (newer_only)
|
||||
{
|
||||
struct stat fsbuf, asbuf;
|
||||
current = *current_ptr;
|
||||
|
||||
if (current->arelt_data == NULL)
|
||||
/* For compatibility with existing ar programs, we
|
||||
permit the same file to be added multiple times. */
|
||||
if (strcmp (normalize (*files_to_move, arch),
|
||||
normalize (current->filename, arch)) == 0
|
||||
&& current->arelt_data != NULL)
|
||||
{
|
||||
if (newer_only)
|
||||
{
|
||||
/* This can only happen if you specify a file on the
|
||||
command line more than once. */
|
||||
fprintf (stderr,
|
||||
"%s: duplicate file specified: %s -- skipping\n",
|
||||
program_name, *files_to_move);
|
||||
goto next_file;
|
||||
struct stat fsbuf, asbuf;
|
||||
|
||||
if (stat (*files_to_move, &fsbuf) != 0)
|
||||
{
|
||||
if (errno != ENOENT)
|
||||
bfd_fatal (*files_to_move);
|
||||
goto next_file;
|
||||
}
|
||||
if (bfd_stat_arch_elt (current, &asbuf) != 0)
|
||||
fatal ("internal stat error on %s", current->filename);
|
||||
|
||||
if (fsbuf.st_mtime <= asbuf.st_mtime)
|
||||
goto next_file;
|
||||
}
|
||||
|
||||
if (stat (*files_to_move, &fsbuf) != 0)
|
||||
/* snip out this entry from the chain */
|
||||
*current_ptr = current->next;
|
||||
|
||||
after_bfd = get_pos_bfd (&arch->next, pos_end);
|
||||
temp = *after_bfd;
|
||||
*after_bfd = bfd_openr (*files_to_move, NULL);
|
||||
if (*after_bfd == (bfd *) NULL)
|
||||
{
|
||||
if (errno != ENOENT)
|
||||
bfd_fatal (*files_to_move);
|
||||
goto next_file;
|
||||
bfd_fatal (*files_to_move);
|
||||
}
|
||||
if (bfd_stat_arch_elt (current, &asbuf) != 0)
|
||||
fatal ("internal stat error on %s", current->filename);
|
||||
(*after_bfd)->next = temp;
|
||||
|
||||
if (fsbuf.st_mtime <= asbuf.st_mtime)
|
||||
goto next_file;
|
||||
if (verbose)
|
||||
{
|
||||
printf ("r - %s\n", *files_to_move);
|
||||
}
|
||||
|
||||
changed = true;
|
||||
|
||||
goto next_file;
|
||||
}
|
||||
|
||||
/* snip out this entry from the chain */
|
||||
*current_ptr = current->next;
|
||||
|
||||
after_bfd = get_pos_bfd (&arch->next, pos_end);
|
||||
temp = *after_bfd;
|
||||
*after_bfd = bfd_openr (*files_to_move, NULL);
|
||||
if (*after_bfd == (bfd *) NULL)
|
||||
{
|
||||
bfd_fatal (*files_to_move);
|
||||
}
|
||||
(*after_bfd)->next = temp;
|
||||
|
||||
if (verbose)
|
||||
{
|
||||
printf ("r - %s\n", *files_to_move);
|
||||
}
|
||||
goto next_file;
|
||||
current_ptr = &(current->next);
|
||||
}
|
||||
current_ptr = &(current->next);
|
||||
}
|
||||
|
||||
/* It isn't in there, so add to end */
|
||||
/* Add to the end of the archive. */
|
||||
|
||||
after_bfd = get_pos_bfd (&arch->next, pos_end);
|
||||
temp = *after_bfd;
|
||||
|
@ -1146,12 +1206,15 @@ replace_members (arch, files_to_move)
|
|||
|
||||
(*after_bfd)->next = temp;
|
||||
|
||||
changed = true;
|
||||
|
||||
next_file:;
|
||||
|
||||
files_to_move++;
|
||||
}
|
||||
|
||||
write_archive (arch);
|
||||
if (changed)
|
||||
write_archive (arch);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1161,7 +1224,7 @@ ranlib_only (archname)
|
|||
bfd *arch;
|
||||
|
||||
write_armap = 1;
|
||||
arch = open_inarch (archname);
|
||||
arch = open_inarch (archname, (char *) NULL);
|
||||
if (arch == NULL)
|
||||
xexit (1);
|
||||
write_archive (arch);
|
||||
|
@ -1179,6 +1242,7 @@ ranlib_touch (archname)
|
|||
#else
|
||||
int f;
|
||||
bfd *arch;
|
||||
char **matching;
|
||||
|
||||
f = open (archname, O_RDWR, 0);
|
||||
if (f < 0)
|
||||
|
@ -1188,9 +1252,18 @@ ranlib_touch (archname)
|
|||
}
|
||||
|
||||
arch = bfd_fdopenr (archname, (const char *) NULL, f);
|
||||
if (arch == NULL
|
||||
|| ! bfd_check_format (arch, bfd_archive))
|
||||
if (arch == NULL)
|
||||
bfd_fatal (archname);
|
||||
if (! bfd_check_format_matches (arch, bfd_archive, &matching))
|
||||
{
|
||||
bfd_nonfatal (archname);
|
||||
if (bfd_get_error () == bfd_error_file_ambiguously_recognized)
|
||||
{
|
||||
list_matching_formats (matching);
|
||||
free (matching);
|
||||
}
|
||||
xexit (1);
|
||||
}
|
||||
|
||||
if (! bfd_has_map (arch))
|
||||
fatal ("%s: no archive map to update", archname);
|
||||
|
|
|
@ -44,8 +44,6 @@ extern int fprintf PARAMS ((FILE *, const char *, ...));
|
|||
|
||||
static char *default_target = NULL; /* default at runtime */
|
||||
|
||||
extern char *program_version;
|
||||
|
||||
static int show_version = 0; /* show the version number */
|
||||
static int dump_section_contents; /* -s */
|
||||
static int dump_section_headers; /* -h */
|
||||
|
@ -154,6 +152,8 @@ Usage: %s [-ahifdDprRtTxsSlw] [-b bfdname] [-m machine] [-j section-name]\n\
|
|||
[--show-raw-insn] [-EB|-EL] [--endian={big|little}] objfile...\n\
|
||||
at least one option besides -l (--line-numbers) must be given\n");
|
||||
list_supported_targets (program_name, stream);
|
||||
if (status == 0)
|
||||
fprintf (stream, "Report bugs to bug-gnu-utils@prep.ai.mit.edu\n");
|
||||
exit (status);
|
||||
}
|
||||
|
||||
|
@ -974,6 +974,7 @@ disassemble_data (abfd)
|
|||
exit (1);
|
||||
}
|
||||
|
||||
disasm_info.flavour = bfd_get_flavour (abfd);
|
||||
disasm_info.arch = bfd_get_arch (abfd);
|
||||
disasm_info.mach = bfd_get_mach (abfd);
|
||||
if (bfd_big_endian (abfd))
|
||||
|
@ -1879,10 +1880,6 @@ dump_reloc_set (abfd, sec, relpp, relcount)
|
|||
/* The length of the longest architecture name + 1. */
|
||||
#define LONGEST_ARCH sizeof("rs6000:6000")
|
||||
|
||||
#ifndef L_tmpnam
|
||||
#define L_tmpnam 25
|
||||
#endif
|
||||
|
||||
static const char *
|
||||
endian_string (endian)
|
||||
enum bfd_endian endian;
|
||||
|
@ -1901,13 +1898,11 @@ endian_string (endian)
|
|||
static void
|
||||
display_target_list ()
|
||||
{
|
||||
extern char *tmpnam ();
|
||||
extern bfd_target *bfd_target_vector[];
|
||||
char tmparg[L_tmpnam];
|
||||
char *dummy_name;
|
||||
int t;
|
||||
|
||||
dummy_name = tmpnam (tmparg);
|
||||
dummy_name = choose_temp_base ();
|
||||
for (t = 0; bfd_target_vector[t]; t++)
|
||||
{
|
||||
bfd_target *p = bfd_target_vector[t];
|
||||
|
@ -1937,6 +1932,7 @@ display_target_list ()
|
|||
bfd_printable_arch_mach ((enum bfd_architecture) a, 0));
|
||||
}
|
||||
unlink (dummy_name);
|
||||
free (dummy_name);
|
||||
}
|
||||
|
||||
/* Print a table showing which architectures are supported for entries
|
||||
|
@ -1949,8 +1945,6 @@ display_info_table (first, last)
|
|||
int last;
|
||||
{
|
||||
extern bfd_target *bfd_target_vector[];
|
||||
extern char *tmpnam ();
|
||||
char tmparg[L_tmpnam];
|
||||
int t, a;
|
||||
char *dummy_name;
|
||||
|
||||
|
@ -1960,7 +1954,7 @@ display_info_table (first, last)
|
|||
printf ("%s ", bfd_target_vector[t]->name);
|
||||
putchar ('\n');
|
||||
|
||||
dummy_name = tmpnam (tmparg);
|
||||
dummy_name = choose_temp_base ();
|
||||
for (a = (int) bfd_arch_obscure + 1; a < (int) bfd_arch_last; a++)
|
||||
if (strcmp (bfd_printable_arch_mach (a, 0), "UNKNOWN!") != 0)
|
||||
{
|
||||
|
@ -2007,6 +2001,7 @@ display_info_table (first, last)
|
|||
putchar ('\n');
|
||||
}
|
||||
unlink (dummy_name);
|
||||
free (dummy_name);
|
||||
}
|
||||
|
||||
/* Print tables of all the target-architecture combinations that
|
||||
|
@ -2185,10 +2180,7 @@ main (argc, argv)
|
|||
}
|
||||
|
||||
if (show_version)
|
||||
{
|
||||
printf ("GNU %s version %s\n", program_name, program_version);
|
||||
exit (0);
|
||||
}
|
||||
print_version ("objdump");
|
||||
|
||||
if (seenflag == false)
|
||||
usage (stderr, 1);
|
||||
|
|
Loading…
Reference in a new issue