*** empty log message ***
From-SVN: r539
This commit is contained in:
parent
eca3fa3b23
commit
2e494f7040
288
gcc/Makefile.in
288
gcc/Makefile.in
@ -19,9 +19,12 @@
|
|||||||
|
|
||||||
# The targets for external use include:
|
# The targets for external use include:
|
||||||
# all, doc, proto, install, install-cross, install-cross-rest,
|
# all, doc, proto, install, install-cross, install-cross-rest,
|
||||||
# uninstall, TAGS, mostlyclean, clean, cleanconfig, realclean,
|
# uninstall, TAGS, mostlyclean, clean, distclean, realclean,
|
||||||
# stage1, stage2, stage3, stage4.
|
# stage1, stage2, stage3, stage4.
|
||||||
|
|
||||||
|
# Suppress smart makes who think they know how to automake Yacc files
|
||||||
|
.y.c:
|
||||||
|
|
||||||
.NOEXPORT: # This tells GNU Make version 3
|
.NOEXPORT: # This tells GNU Make version 3
|
||||||
# not to put all the variables in the environment.
|
# not to put all the variables in the environment.
|
||||||
|
|
||||||
@ -84,7 +87,7 @@ OLDCC = cc
|
|||||||
# NOTE: -O does not work on some Unix systems!
|
# NOTE: -O does not work on some Unix systems!
|
||||||
CCLIBFLAGS = -O
|
CCLIBFLAGS = -O
|
||||||
|
|
||||||
# Version of ar to use when compiling libgcc1.a.
|
# Version of ar to use when compiling libgcc1.a.
|
||||||
OLDAR = ar
|
OLDAR = ar
|
||||||
|
|
||||||
# The GCC to use for compiling libgcc2.a. Usually the one we just built.
|
# The GCC to use for compiling libgcc2.a. Usually the one we just built.
|
||||||
@ -121,12 +124,14 @@ srcdir = .
|
|||||||
# Common prefix for installation directories.
|
# Common prefix for installation directories.
|
||||||
# NOTE: This directory must exist when you start installation.
|
# NOTE: This directory must exist when you start installation.
|
||||||
prefix = /usr/local
|
prefix = /usr/local
|
||||||
|
# Directory in which to put host dependent programs and libraries
|
||||||
|
exec_prefix = $(prefix)
|
||||||
# Directory in which to put the executable for the command `gcc'
|
# Directory in which to put the executable for the command `gcc'
|
||||||
bindir = $(prefix)/bin
|
bindir = $(exec_prefix)/bin
|
||||||
# Directory in which to put the directories used by the compiler.
|
# Directory in which to put the directories used by the compiler.
|
||||||
libdir = $(prefix)/lib
|
libdir = $(exec_prefix)/lib
|
||||||
# Directory in which the compiler finds executables, libraries, etc.
|
# Directory in which the compiler finds executables, libraries, etc.
|
||||||
libsubdir = $(libdir)/gcc/$(target)/$(version)
|
libsubdir = $(libdir)/gcc-lib/$(target)/$(version)
|
||||||
# Extension (if any) to put in installed man-page filename.
|
# Extension (if any) to put in installed man-page filename.
|
||||||
manext = .1
|
manext = .1
|
||||||
# Directory in which to put man pages.
|
# Directory in which to put man pages.
|
||||||
@ -143,6 +148,8 @@ CLIB=
|
|||||||
OBSTACK=obstack.o
|
OBSTACK=obstack.o
|
||||||
|
|
||||||
# Specify the rule for actually making libgcc1.a.
|
# Specify the rule for actually making libgcc1.a.
|
||||||
|
# The value may be empty; that means to do absolutely nothing
|
||||||
|
# with or for libgcc1.a.
|
||||||
LIBGCC1 = libgcc1.a
|
LIBGCC1 = libgcc1.a
|
||||||
|
|
||||||
# Specify the rule for actually making libgcc2.a.
|
# Specify the rule for actually making libgcc2.a.
|
||||||
@ -159,11 +166,17 @@ LIBGCC2_CFLAGS = -O2 $(GCC_CFLAGS) -g1
|
|||||||
# The rules for compiling them should be in the t-* file for the machine.
|
# The rules for compiling them should be in the t-* file for the machine.
|
||||||
EXTRA_PASSES =
|
EXTRA_PASSES =
|
||||||
|
|
||||||
# List of extra executables that should be compiled for this target machine
|
# Like EXTRA_PASSES, but these are used when linking.
|
||||||
# that are used for linking.
|
EXTRA_PROGRAMS =
|
||||||
|
|
||||||
|
# List of extra object files that should be compiled for this target machine.
|
||||||
# The rules for compiling them should be in the t-* file for the machine.
|
# The rules for compiling them should be in the t-* file for the machine.
|
||||||
EXTRA_PARTS =
|
EXTRA_PARTS =
|
||||||
|
|
||||||
|
# List of extra object files that should be compiled and linked with
|
||||||
|
# compiler proper (cc1, cc1obj, cc1plus).
|
||||||
|
EXTRA_OBJS =
|
||||||
|
|
||||||
# List of extra C and assembler files to add to libgcc1.a.
|
# List of extra C and assembler files to add to libgcc1.a.
|
||||||
# Assembler files should have names ending in `.asm'.
|
# Assembler files should have names ending in `.asm'.
|
||||||
LIB1FUNCS_EXTRA =
|
LIB1FUNCS_EXTRA =
|
||||||
@ -189,12 +202,12 @@ GCC_PASSES=gcc cc1 cpp $(EXTRA_PASSES)
|
|||||||
|
|
||||||
# List of things which should already be built whenever we try to use gcc
|
# List of things which should already be built whenever we try to use gcc
|
||||||
# to link anything.
|
# to link anything.
|
||||||
GCC_PARTS=$(GCC_PASSES) libgcc.a $(EXTRA_PARTS)
|
GCC_PARTS=$(GCC_PASSES) libgcc.a $(EXTRA_PROGRAMS) $(EXTRA_PARTS)
|
||||||
|
|
||||||
# Change this to empty to prevent installing limits.h.
|
# Change this to empty to prevent installing limits.h.
|
||||||
# Actually, this currently has no effect,
|
# Actually, this currently has no effect,
|
||||||
# and if that causes no problems, it can be deleted.
|
# and if that causes no problems, it can be deleted.
|
||||||
# Otherwise, it must be replaced so as to control
|
# Otherwise, it must be replaced so as to control
|
||||||
# the actions of install-limits-h.
|
# the actions of install-limits-h.
|
||||||
LIMITS_H = limits.h
|
LIMITS_H = limits.h
|
||||||
|
|
||||||
@ -212,8 +225,12 @@ HOST_PREFIX=
|
|||||||
HOST_PREFIX_1=loser-
|
HOST_PREFIX_1=loser-
|
||||||
HOST_CC=$(CC)
|
HOST_CC=$(CC)
|
||||||
HOST_CFLAGS=$(ALL_CFLAGS)
|
HOST_CFLAGS=$(ALL_CFLAGS)
|
||||||
|
HOST_CLIB=$(CLIB)
|
||||||
HOST_LDFLAGS=$(LDFLAGS)
|
HOST_LDFLAGS=$(LDFLAGS)
|
||||||
HOST_CPPFLAGS=$(ALL_CPPFLAGS)
|
HOST_CPPFLAGS=$(ALL_CPPFLAGS)
|
||||||
|
HOST_ALLOCA=$(ALLOCA)
|
||||||
|
HOST_MALLOC=$(MALLOC)
|
||||||
|
HOST_OBSTACK=$(OBSTACK)
|
||||||
|
|
||||||
# Choose the real default target.
|
# Choose the real default target.
|
||||||
ALL=all.internal
|
ALL=all.internal
|
||||||
@ -227,13 +244,15 @@ INSTALL_TARGET=install-native
|
|||||||
# do not specify the default target.
|
# do not specify the default target.
|
||||||
# The real definition is under `all.internal' (for native compilers)
|
# The real definition is under `all.internal' (for native compilers)
|
||||||
# or `all.cross' (for cross compilers).
|
# or `all.cross' (for cross compilers).
|
||||||
all: $(ALL)
|
all: all.indirect
|
||||||
|
|
||||||
# sed inserts variable overrides after the following line.
|
# sed inserts variable overrides after the following line.
|
||||||
####
|
####
|
||||||
|
|
||||||
# Now figure out from those variables how to compile and link.
|
# Now figure out from those variables how to compile and link.
|
||||||
|
|
||||||
|
all.indirect: $(ALL)
|
||||||
|
|
||||||
INTERNAL_CFLAGS = $(CROSS)
|
INTERNAL_CFLAGS = $(CROSS)
|
||||||
|
|
||||||
# This is the variable actually used when we compile.
|
# This is the variable actually used when we compile.
|
||||||
@ -243,10 +262,10 @@ ALL_CFLAGS = $(INTERNAL_CFLAGS) $(X_CFLAGS) $(T_CFLAGS) $(CFLAGS) $(XCFLAGS)
|
|||||||
ALL_CPPFLAGS = $(CPPFLAGS) $(X_CPPFLAGS) $(T_CPPFLAGS)
|
ALL_CPPFLAGS = $(CPPFLAGS) $(X_CPPFLAGS) $(T_CPPFLAGS)
|
||||||
|
|
||||||
# Even if ALLOCA is set, don't use it if compiling with GCC.
|
# Even if ALLOCA is set, don't use it if compiling with GCC.
|
||||||
USE_ALLOCA= `if [ x"${CC}" = x"${OLDCC}" ] ; then echo ${ALLOCA}; else true; fi`
|
USE_ALLOCA= ` case "${CC}" in "${OLDCC}") echo ${ALLOCA} ;; esac `
|
||||||
USE_HOST_ALLOCA= `if [ x"${CC}" = x"${OLDCC}" -a x"${ALLOCA}" != x ] ; then echo ${HOST_PREFIX}${ALLOCA}; else true; fi`
|
USE_HOST_ALLOCA= ` case "${HOST_CC}"@"${HOST_ALLOCA}" in "${OLDCC}"@?*) echo ${HOST_PREFIX}${HOST_ALLOCA} ;; esac `
|
||||||
USE_HOST_MALLOC= `if [ x"${MALLOC}" != x ] ; then echo ${HOST_PREFIX}${MALLOC}; else true; fi`
|
USE_HOST_MALLOC= ` case "${HOST_MALLOC}" in ?*) echo ${HOST_PREFIX}${HOST_MALLOC} ;; esac `
|
||||||
USE_HOST_OBSTACK= `if [ x"${OBSTACK}" != x ] ; then echo ${HOST_PREFIX}${OBSTACK}; else true; fi`
|
USE_HOST_OBSTACK= ` case "${HOST_OBSTACK}" in ?*) echo ${HOST_PREFIX}${HOST_OBSTACK} ;; esac `
|
||||||
|
|
||||||
# Dependency on obstack, alloca, malloc or whatever library facilities
|
# Dependency on obstack, alloca, malloc or whatever library facilities
|
||||||
# are not installed in the system libraries.
|
# are not installed in the system libraries.
|
||||||
@ -256,7 +275,7 @@ LIBDEPS= $(OBSTACK) $(ALLOCA) $(MALLOC)
|
|||||||
# Likewise, for use in the tools that must run on this machine
|
# Likewise, for use in the tools that must run on this machine
|
||||||
# even if we are cross-building GCC.
|
# even if we are cross-building GCC.
|
||||||
# We don't use USE_ALLOCA because backquote expansion doesn't work in deps.
|
# We don't use USE_ALLOCA because backquote expansion doesn't work in deps.
|
||||||
HOST_LIBDEPS= $(HOST_PREFIX)$(OBSTACK) $(HOST_PREFIX)$(ALLOCA) $(HOST_PREFIX)$(MALLOC)
|
HOST_LIBDEPS= $(HOST_PREFIX)$(HOST_OBSTACK) $(HOST_PREFIX)$(HOST_ALLOCA) $(HOST_PREFIX)$(HOST_MALLOC)
|
||||||
|
|
||||||
# How to link with both our special library facilities
|
# How to link with both our special library facilities
|
||||||
# and the system's installed libraries.
|
# and the system's installed libraries.
|
||||||
@ -264,7 +283,8 @@ LIBS = $(OBSTACK) $(USE_ALLOCA) $(MALLOC) $(CLIB)
|
|||||||
|
|
||||||
# Likewise, for use in the tools that must run on this machine
|
# Likewise, for use in the tools that must run on this machine
|
||||||
# even if we are cross-building GCC.
|
# even if we are cross-building GCC.
|
||||||
HOST_LIBS = $(USE_HOST_OBSTACK) $(USE_HOST_ALLOCA) $(USE_HOST_MALLOC) $(CLIB)
|
HOST_LIBS = $(USE_HOST_OBSTACK) $(USE_HOST_ALLOCA) $(USE_HOST_MALLOC) \
|
||||||
|
$(HOST_CLIB)
|
||||||
|
|
||||||
HOST_RTL = $(HOST_PREFIX)rtl.o
|
HOST_RTL = $(HOST_PREFIX)rtl.o
|
||||||
HOST_RTLANAL = $(HOST_PREFIX)rtlanal.o
|
HOST_RTLANAL = $(HOST_PREFIX)rtlanal.o
|
||||||
@ -313,7 +333,7 @@ OBJS = toplev.o version.o tree.o print-tree.o stor-layout.o fold-const.o \
|
|||||||
regclass.o local-alloc.o global-alloc.o reload.o reload1.o caller-save.o \
|
regclass.o local-alloc.o global-alloc.o reload.o reload1.o caller-save.o \
|
||||||
insn-peep.o reorg.o sched.o final.o recog.o reg-stack.o \
|
insn-peep.o reorg.o sched.o final.o recog.o reg-stack.o \
|
||||||
insn-recog.o insn-extract.o insn-output.o insn-emit.o \
|
insn-recog.o insn-extract.o insn-output.o insn-emit.o \
|
||||||
insn-attrtab.o aux-output.o
|
insn-attrtab.o aux-output.o xcoffout.o $(EXTRA_OBJS)
|
||||||
|
|
||||||
# GEN files are listed separately, so they can be built before doing parallel
|
# GEN files are listed separately, so they can be built before doing parallel
|
||||||
# makes for cc1 or cc1plus. Otherwise sequent parallel make attempts to load
|
# makes for cc1 or cc1plus. Otherwise sequent parallel make attempts to load
|
||||||
@ -384,10 +404,10 @@ start.encap: native gcc $(LIBGCC1_TARGET)
|
|||||||
# Use this to make a GCC that will be used only to recompile GCC.
|
# Use this to make a GCC that will be used only to recompile GCC.
|
||||||
for-bootstrap: start.encap libgcc.a
|
for-bootstrap: start.encap libgcc.a
|
||||||
# These can't be made, with COFF encapsulation, until after GCC can run.
|
# These can't be made, with COFF encapsulation, until after GCC can run.
|
||||||
rest.encap: libgcc.a float.h
|
rest.encap: libgcc.a float.h $(EXTRA_PARTS)
|
||||||
# This is what is made with the host's compiler
|
# This is what is made with the host's compiler
|
||||||
# whether making a cross compiler or not.
|
# whether making a cross compiler or not.
|
||||||
native: config.status cpp $(LANGUAGES) $(EXTRA_PASSES) $(EXTRA_PARTS)
|
native: config.status cpp $(LANGUAGES) $(EXTRA_PASSES) $(EXTRA_PROGRAMS)
|
||||||
|
|
||||||
# Define the names for selecting languages in LANGUAGES.
|
# Define the names for selecting languages in LANGUAGES.
|
||||||
C c: cc1
|
C c: cc1
|
||||||
@ -396,9 +416,16 @@ OBJC objc: cc1obj
|
|||||||
OBJECTIVE-C objective-c: cc1obj
|
OBJECTIVE-C objective-c: cc1obj
|
||||||
PROTO: proto
|
PROTO: proto
|
||||||
|
|
||||||
|
# Really, really stupid make features, such as SUN's KEEP_STATE, may force
|
||||||
|
# a target to build even if it is up-to-date. So we must verify that
|
||||||
|
# config.status does not exist before failing.
|
||||||
config.status:
|
config.status:
|
||||||
@echo You must configure gcc. Look at the INSTALL file for details.
|
@if [ ! -f config.status ] ; then \
|
||||||
@false
|
echo You must configure gcc. Look at the INSTALL file for details.; \
|
||||||
|
false; \
|
||||||
|
else \
|
||||||
|
true; \
|
||||||
|
fi
|
||||||
|
|
||||||
compilations: ${OBJS}
|
compilations: ${OBJS}
|
||||||
|
|
||||||
@ -434,8 +461,8 @@ enquire: enquire.o $(GCC_PARTS)
|
|||||||
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(ENQUIRE_LDFLAGS) enquire.o -o $@
|
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(ENQUIRE_LDFLAGS) enquire.o -o $@
|
||||||
enquire.o: $(srcdir)/enquire.c $(GCC_PASSES)
|
enquire.o: $(srcdir)/enquire.c $(GCC_PASSES)
|
||||||
-cp $(srcdir)/enquire.c . > /dev/null 2>&1
|
-cp $(srcdir)/enquire.c . > /dev/null 2>&1
|
||||||
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(ALL_CPPFLAGS) $(ENQUIRE_CFLAGS) -I. \
|
# Breaking this line caused a problem with one version of GNU make.
|
||||||
-c enquire.c
|
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(ALL_CPPFLAGS) $(ENQUIRE_CFLAGS) -I. -c enquire.c
|
||||||
|
|
||||||
# Build libgcc.a.
|
# Build libgcc.a.
|
||||||
# This is done in two parts because some functions, in libgcc1.c,
|
# This is done in two parts because some functions, in libgcc1.c,
|
||||||
@ -482,7 +509,7 @@ libgcc1.a: libgcc1.c $(CONFIG_H) $(LIB1FUNCS_EXTRA) config.status
|
|||||||
# We don't use -e here because there are if statements
|
# We don't use -e here because there are if statements
|
||||||
# that should not make the command give up when the if condition is false.
|
# that should not make the command give up when the if condition is false.
|
||||||
# Instead, we test for failure after each command where it matters.
|
# Instead, we test for failure after each command where it matters.
|
||||||
for file in .. $(LIB1FUNCS_EXTRA); \
|
-for file in .. $(LIB1FUNCS_EXTRA); \
|
||||||
do \
|
do \
|
||||||
if [ x$${file} != x.. ]; then \
|
if [ x$${file} != x.. ]; then \
|
||||||
name=`echo $${file} | sed -e 's/[.]c$$//' -e 's/[.]asm$$//'`; \
|
name=`echo $${file} | sed -e 's/[.]c$$//' -e 's/[.]asm$$//'`; \
|
||||||
@ -525,8 +552,7 @@ libgcc2.a: libgcc2.c libgcc2.ready $(CONFIG_H) $(LIB2FUNCS_EXTRA) \
|
|||||||
for name in $(LIB2FUNCS); \
|
for name in $(LIB2FUNCS); \
|
||||||
do \
|
do \
|
||||||
echo $${name}; \
|
echo $${name}; \
|
||||||
$(GCC_FOR_TARGET) -fstrength-reduce -O $(INCLUDES) \
|
$(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(INCLUDES) -c -DL$${name} \
|
||||||
$(LIBGCC2_CFLAGS) -c -DL$${name} \
|
|
||||||
$(srcdir)/libgcc2.c -o $${name}.o; \
|
$(srcdir)/libgcc2.c -o $${name}.o; \
|
||||||
if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
|
if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
|
||||||
$(AR) $(AR_FLAGS) tmplibgcc2.a $${name}.o; \
|
$(AR) $(AR_FLAGS) tmplibgcc2.a $${name}.o; \
|
||||||
@ -538,7 +564,7 @@ libgcc2.a: libgcc2.c libgcc2.ready $(CONFIG_H) $(LIB2FUNCS_EXTRA) \
|
|||||||
# We don't use -e here because there are if statements
|
# We don't use -e here because there are if statements
|
||||||
# that should not make the command give up when the if condition is false.
|
# that should not make the command give up when the if condition is false.
|
||||||
# Instead, we test for failure after each command where it matters.
|
# Instead, we test for failure after each command where it matters.
|
||||||
for file in .. $(LIB2FUNCS_EXTRA); \
|
-for file in .. $(LIB2FUNCS_EXTRA); \
|
||||||
do \
|
do \
|
||||||
if [ x$${file} != x.. ]; then \
|
if [ x$${file} != x.. ]; then \
|
||||||
name=`echo $${file} | sed -e 's/[.]c$$//' -e 's/[.]asm$$//'`; \
|
name=`echo $${file} | sed -e 's/[.]c$$//' -e 's/[.]asm$$//'`; \
|
||||||
@ -547,8 +573,7 @@ libgcc2.a: libgcc2.c libgcc2.ready $(CONFIG_H) $(LIB2FUNCS_EXTRA) \
|
|||||||
cp $${file} $${name}.s; file=$${name}.s; \
|
cp $${file} $${name}.s; file=$${name}.s; \
|
||||||
if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
|
if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
|
||||||
else true; fi; \
|
else true; fi; \
|
||||||
$(GCC_FOR_TARGET) -fstrength-reduce -O $(INCLUDES) \
|
$(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(INCLUDES) -c $${file}; \
|
||||||
$(LIBGCC2_CFLAGS) -c $${file}; \
|
|
||||||
if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
|
if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
|
||||||
$(AR) $(AR_FLAGS) tmplibgcc2.a $${name}.o; \
|
$(AR) $(AR_FLAGS) tmplibgcc2.a $${name}.o; \
|
||||||
rm -f $${name}.[so]; \
|
rm -f $${name}.[so]; \
|
||||||
@ -566,7 +591,10 @@ libgcc2.a: libgcc2.c libgcc2.ready $(CONFIG_H) $(LIB2FUNCS_EXTRA) \
|
|||||||
libgcc.a: $(LIBGCC1) $(LIBGCC2)
|
libgcc.a: $(LIBGCC1) $(LIBGCC2)
|
||||||
-rm -rf tmplibgcc.a libgcc.a tmpcopy
|
-rm -rf tmplibgcc.a libgcc.a tmpcopy
|
||||||
mkdir tmpcopy
|
mkdir tmpcopy
|
||||||
(cd tmpcopy; $(AR) x ../$(LIBGCC1))
|
-if [ x$(LIBGCC1) != x ]; \
|
||||||
|
then (cd tmpcopy; $(AR) x ../$(LIBGCC1)); \
|
||||||
|
else true; \
|
||||||
|
fi
|
||||||
(cd tmpcopy; $(AR) x ../$(LIBGCC2))
|
(cd tmpcopy; $(AR) x ../$(LIBGCC2))
|
||||||
(cd tmpcopy; $(AR) $(AR_FLAGS) ../tmplibgcc.a *.o)
|
(cd tmpcopy; $(AR) $(AR_FLAGS) ../tmplibgcc.a *.o)
|
||||||
rm -rf tmpcopy
|
rm -rf tmpcopy
|
||||||
@ -580,13 +608,11 @@ libgcc.a: $(LIBGCC1) $(LIBGCC2)
|
|||||||
# linked using GCC on system V, for the sake of C++ constructors.
|
# linked using GCC on system V, for the sake of C++ constructors.
|
||||||
crtbegin.o: crtstuff.c $(GCC_PASSES) $(CONFIG_H) gbl-ctors.h
|
crtbegin.o: crtstuff.c $(GCC_PASSES) $(CONFIG_H) gbl-ctors.h
|
||||||
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) -DCRT_BEGIN \
|
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) -DCRT_BEGIN \
|
||||||
-finhibit-size-directive -g0 -c $(srcdir)/crtstuff.c
|
-finhibit-size-directive -g0 -c $(srcdir)/crtstuff.c -o crtbegin.o
|
||||||
mv crtstuff.o crtbegin.o
|
|
||||||
|
|
||||||
crtend.o: crtstuff.c $(GCC_PASSES) $(CONFIG_H) gbl-ctors.h
|
crtend.o: crtstuff.c $(GCC_PASSES) $(CONFIG_H) gbl-ctors.h
|
||||||
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) -DCRT_END \
|
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) -DCRT_END \
|
||||||
-finhibit-size-directive -g0 -c $(srcdir)/crtstuff.c
|
-finhibit-size-directive -g0 -c $(srcdir)/crtstuff.c -o crtend.o
|
||||||
mv crtstuff.o crtend.o
|
|
||||||
|
|
||||||
# Compiling object files from source files.
|
# Compiling object files from source files.
|
||||||
|
|
||||||
@ -618,7 +644,7 @@ cp-parse.o : $(srcdir)/cp-parse.c $(CONFIG_H) $(CPLUS_TREE_H) flags.h
|
|||||||
`echo $(srcdir)/cp-parse.c | sed 's,^\./,,'`
|
`echo $(srcdir)/cp-parse.c | sed 's,^\./,,'`
|
||||||
|
|
||||||
$(srcdir)/cp-parse.c $(srcdir)/cp-parse.h : $(srcdir)/cp-parse.y
|
$(srcdir)/cp-parse.c $(srcdir)/cp-parse.h : $(srcdir)/cp-parse.y
|
||||||
@echo expect 29 shift/reduce conflicts and 14 reduce/reduce conflicts
|
@echo expect 30 shift/reduce conflicts and 14 reduce/reduce conflicts
|
||||||
cd $(srcdir); $(BISON) $(BISONFLAGS) -d -o cp-parse.c cp-parse.y
|
cd $(srcdir); $(BISON) $(BISONFLAGS) -d -o cp-parse.c cp-parse.y
|
||||||
|
|
||||||
cp-spew.o : cp-spew.c $(CONFIG_H) $(CPLUS_TREE_H) \
|
cp-spew.o : cp-spew.c $(CONFIG_H) $(CPLUS_TREE_H) \
|
||||||
@ -674,7 +700,7 @@ c-common.o : c-common.c $(CONFIG_H) $(TREE_H) c-tree.h c-lex.h flags.h
|
|||||||
gcc.o: gcc.c $(CONFIG_H) gvarargs.h obstack.h
|
gcc.o: gcc.c $(CONFIG_H) gvarargs.h obstack.h
|
||||||
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
|
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
|
||||||
-DSTANDARD_STARTFILE_PREFIX=\"$(libdir)/\" \
|
-DSTANDARD_STARTFILE_PREFIX=\"$(libdir)/\" \
|
||||||
-DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc/\" \
|
-DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc-lib/\" \
|
||||||
-DDEFAULT_TARGET_MACHINE=\"$(target)\" \
|
-DDEFAULT_TARGET_MACHINE=\"$(target)\" \
|
||||||
-c `echo $(srcdir)/gcc.c | sed 's,^\./,,'`
|
-c `echo $(srcdir)/gcc.c | sed 's,^\./,,'`
|
||||||
|
|
||||||
@ -687,7 +713,8 @@ tree.o : tree.c $(CONFIG_H) $(TREE_H) gvarargs.h flags.h function.h
|
|||||||
print-tree.o : print-tree.c $(CONFIG_H) $(TREE_H)
|
print-tree.o : print-tree.c $(CONFIG_H) $(TREE_H)
|
||||||
stor-layout.o : stor-layout.c $(CONFIG_H) $(TREE_H) function.h
|
stor-layout.o : stor-layout.c $(CONFIG_H) $(TREE_H) function.h
|
||||||
fold-const.o : fold-const.c $(CONFIG_H) $(TREE_H) flags.h
|
fold-const.o : fold-const.c $(CONFIG_H) $(TREE_H) flags.h
|
||||||
toplev.o : toplev.c $(CONFIG_H) $(TREE_H) $(RTL_H) flags.h input.h insn-attr.h
|
toplev.o : toplev.c $(CONFIG_H) $(TREE_H) $(RTL_H) flags.h input.h \
|
||||||
|
insn-attr.h xcoff.h
|
||||||
|
|
||||||
rtl.o : rtl.c $(CONFIG_H) $(RTL_H)
|
rtl.o : rtl.c $(CONFIG_H) $(RTL_H)
|
||||||
|
|
||||||
@ -695,7 +722,7 @@ print-rtl.o : print-rtl.c $(CONFIG_H) $(RTL_H)
|
|||||||
rtlanal.o : rtlanal.c $(CONFIG_H) $(RTL_H)
|
rtlanal.o : rtlanal.c $(CONFIG_H) $(RTL_H)
|
||||||
|
|
||||||
varasm.o : varasm.c $(CONFIG_H) $(TREE_H) $(RTL_H) flags.h \
|
varasm.o : varasm.c $(CONFIG_H) $(TREE_H) $(RTL_H) flags.h \
|
||||||
insn-codes.h expr.h hard-reg-set.h regs.h
|
insn-codes.h expr.h hard-reg-set.h regs.h xcoff.h
|
||||||
function.o : function.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h function.h \
|
function.o : function.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h function.h \
|
||||||
insn-flags.h insn-codes.h expr.h regs.h hard-reg-set.h insn-config.h \
|
insn-flags.h insn-codes.h expr.h regs.h hard-reg-set.h insn-config.h \
|
||||||
recog.h output.h
|
recog.h output.h
|
||||||
@ -712,13 +739,15 @@ explow.o : explow.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h hard-reg-set.h \
|
|||||||
optabs.o : optabs.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h \
|
optabs.o : optabs.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h \
|
||||||
insn-flags.h insn-config.h insn-codes.h expr.h recog.h
|
insn-flags.h insn-config.h insn-codes.h expr.h recog.h
|
||||||
dbxout.o : dbxout.c $(CONFIG_H) $(TREE_H) $(RTL_H) flags.h regs.h \
|
dbxout.o : dbxout.c $(CONFIG_H) $(TREE_H) $(RTL_H) flags.h regs.h \
|
||||||
insn-config.h reload.h gstab.h
|
insn-config.h reload.h gstab.h xcoff.h
|
||||||
sdbout.o : sdbout.c $(CONFIG_H) $(TREE_H) $(RTL_H) gsyms.h flags.h \
|
sdbout.o : sdbout.c $(CONFIG_H) $(TREE_H) $(RTL_H) gsyms.h flags.h \
|
||||||
insn-config.h reload.h
|
insn-config.h reload.h
|
||||||
dwarfout.o : dwarfout.c $(CONFIG_H) $(TREE_H) $(RTL_H) dwarf.h flags.h \
|
dwarfout.o : dwarfout.c $(CONFIG_H) $(TREE_H) $(RTL_H) dwarf.h flags.h \
|
||||||
insn-config.h reload.h output.h
|
insn-config.h reload.h output.h
|
||||||
|
xcoffout.o : xcoffout.c $(CONFIG_H) $(TREE_H) $(RTL_H) xcoff.h flags.h
|
||||||
emit-rtl.o : emit-rtl.c $(CONFIG_H) $(RTL_H) flags.h gvarargs.h function.h \
|
emit-rtl.o : emit-rtl.c $(CONFIG_H) $(RTL_H) flags.h gvarargs.h function.h \
|
||||||
regs.h insn-config.h insn-codes.h real.h expr.h
|
regs.h insn-config.h insn-codes.h real.h expr.h
|
||||||
|
getpwd.o : getpwd.c $(CONFIG_H)
|
||||||
|
|
||||||
integrate.o : integrate.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h integrate.h \
|
integrate.o : integrate.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h integrate.h \
|
||||||
insn-flags.h insn-config.h insn-codes.h expr.h real.h function.h
|
insn-flags.h insn-config.h insn-codes.h expr.h real.h function.h
|
||||||
@ -759,7 +788,7 @@ sched.o : sched.c $(CONFIG_H) $(RTL_H) basic-block.h regs.h hard-reg-set.h \
|
|||||||
flags.h insn-config.h insn-attr.h
|
flags.h insn-config.h insn-attr.h
|
||||||
final.o : final.c $(CONFIG_H) $(RTL_H) gvarargs.h flags.h regs.h \
|
final.o : final.c $(CONFIG_H) $(RTL_H) gvarargs.h flags.h regs.h \
|
||||||
recog.h conditions.h insn-config.h insn-attr.h real.h output.h \
|
recog.h conditions.h insn-config.h insn-attr.h real.h output.h \
|
||||||
hard-reg-set.h insn-codes.h gstab.h
|
hard-reg-set.h insn-codes.h gstab.h xcoff.h
|
||||||
recog.o : recog.c $(CONFIG_H) $(RTL_H) \
|
recog.o : recog.c $(CONFIG_H) $(RTL_H) \
|
||||||
regs.h recog.h hard-reg-set.h flags.h insn-config.h insn-attr.h \
|
regs.h recog.h hard-reg-set.h flags.h insn-config.h insn-attr.h \
|
||||||
insn-flags.h insn-codes.h real.h
|
insn-flags.h insn-codes.h real.h
|
||||||
@ -1010,34 +1039,34 @@ cccp.o: cccp.c $(CONFIG_H) pcp.h version.c
|
|||||||
# The reason we use $(libdir)/g++-include rather than using libsubdir
|
# The reason we use $(libdir)/g++-include rather than using libsubdir
|
||||||
# is for compatibility with the current version of libg++.
|
# is for compatibility with the current version of libg++.
|
||||||
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
|
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
|
||||||
-DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
|
-DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
|
||||||
-DGPLUSPLUS_INCLUDE_DIR=\"$(libdir)/g++-include\" \
|
-DGPLUSPLUS_INCLUDE_DIR=\"$(libdir)/g++-include\" \
|
||||||
-DLOCAL_INCLUDE_DIR=\"$(prefix)/include\" \
|
-DLOCAL_INCLUDE_DIR=\"$(prefix)/include\" \
|
||||||
-DCROSS_INCLUDE_DIR=\"$(libsubdir)/sys-include\" \
|
-DCROSS_INCLUDE_DIR=\"$(libsubdir)/sys-include\" \
|
||||||
-c `echo $(srcdir)/cccp.c | sed 's,^\./,,'`
|
-c `echo $(srcdir)/cccp.c | sed 's,^\./,,'`
|
||||||
|
|
||||||
proto: config.status protoize unprotoize SYSCALLS.c.X protoize.1 unprotoize.1
|
proto: config.status protoize unprotoize SYSCALLS.c.X protoize.1 unprotoize.1
|
||||||
|
|
||||||
protoize: protoize.o getopt.o getopt1.o version.o $(LIBDEPS)
|
protoize: protoize.o getopt.o getopt1.o getpwd.o version.o $(LIBDEPS)
|
||||||
$(CC) $(ALL_CFLAGS) $(LDFLAGS) \
|
$(CC) $(ALL_CFLAGS) $(LDFLAGS) \
|
||||||
protoize.o getopt.o getopt1.o version.o $(LIBS) -o $@
|
protoize.o getopt.o getopt1.o getpwd.o version.o $(LIBS) -o $@
|
||||||
protoize.o: $(srcdir)/protoize.c getopt.h $(CONFIG_H)
|
protoize.o: $(srcdir)/protoize.c getopt.h $(CONFIG_H)
|
||||||
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
|
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
|
||||||
-DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
|
-DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
|
||||||
-DGPLUSPLUS_INCLUDE_DIR=\"$(libsubdir)/g++-include\" \
|
-DGPLUSPLUS_INCLUDE_DIR=\"$(libdir)/g++-include\" \
|
||||||
-DCROSS_INCLUDE_DIR=\"$(libsubdir)/sys-include\" \
|
-DCROSS_INCLUDE_DIR=\"$(libsubdir)/sys-include\" \
|
||||||
-DLOCAL_INCLUDE_DIR=\"$(prefix)/include\" \
|
-DLOCAL_INCLUDE_DIR=\"$(prefix)/include\" \
|
||||||
-DSTD_PROTO_DIR=\"$(libsubdir)\" \
|
-DSTD_PROTO_DIR=\"$(libsubdir)\" \
|
||||||
$(srcdir)/protoize.c
|
$(srcdir)/protoize.c
|
||||||
|
|
||||||
unprotoize: unprotoize.o getopt.o getopt1.o version.o $(LIBDEPS)
|
unprotoize: unprotoize.o getopt.o getopt1.o getpwd.o version.o $(LIBDEPS)
|
||||||
$(CC) $(ALL_CFLAGS) $(LDFLAGS) \
|
$(CC) $(ALL_CFLAGS) $(LDFLAGS) \
|
||||||
unprotoize.o getopt.o getopt1.o version.o $(LIBS) -o $@
|
unprotoize.o getopt.o getopt1.o getpwd.o version.o $(LIBS) -o $@
|
||||||
unprotoize.o: $(srcdir)/protoize.c getopt.h $(CONFIG_H)
|
unprotoize.o: $(srcdir)/protoize.c getopt.h $(CONFIG_H)
|
||||||
cp $(srcdir)/protoize.c unprotoize.c
|
cp $(srcdir)/protoize.c unprotoize.c
|
||||||
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
|
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
|
||||||
-DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
|
-DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
|
||||||
-DGPLUSPLUS_INCLUDE_DIR=\"$(libsubdir)/g++-include\" \
|
-DGPLUSPLUS_INCLUDE_DIR=\"$(libdir)/g++-include\" \
|
||||||
-DCROSS_INCLUDE_DIR=\"$(libsubdir)/sys-include\" \
|
-DCROSS_INCLUDE_DIR=\"$(libsubdir)/sys-include\" \
|
||||||
-DLOCAL_INCLUDE_DIR=\"$(prefix)/include\" \
|
-DLOCAL_INCLUDE_DIR=\"$(prefix)/include\" \
|
||||||
-DSTD_PROTO_DIR=\"$(libsubdir)\" \
|
-DSTD_PROTO_DIR=\"$(libsubdir)\" \
|
||||||
@ -1052,29 +1081,22 @@ getopt1.o: $(srcdir)/getopt1.c getopt.h
|
|||||||
protoize.1: $(srcdir)/proto-man ./cpp
|
protoize.1: $(srcdir)/proto-man ./cpp
|
||||||
./cpp -traditional $(srcdir)/proto-man \
|
./cpp -traditional $(srcdir)/proto-man \
|
||||||
| grep -v '^#' \
|
| grep -v '^#' \
|
||||||
| awk 'NF > 0 {print}' > tmp-protoize.1
|
| awk 'NF > 0 {print}' > tmp-proto.1
|
||||||
mv tmp-protoize.1 protoize.1
|
mv tmp-proto.1 protoize.1
|
||||||
|
|
||||||
unprotoize.1: $(srcdir)/proto-man ./cpp
|
unprotoize.1: $(srcdir)/proto-man ./cpp
|
||||||
./cpp -traditional -DUNPRO $(srcdir)/proto-man \
|
./cpp -traditional -DUNPRO $(srcdir)/proto-man \
|
||||||
| grep -v '^#' \
|
| grep -v '^#' \
|
||||||
| awk 'NF > 0 {print}' > tmp-unprotoize.1
|
| awk 'NF > 0 {print}' > tmp-unproto.1
|
||||||
mv tmp-unprotoize.1 unprotoize.1
|
mv tmp-unproto.1 unprotoize.1
|
||||||
|
|
||||||
|
SYSCALLS.c : $(srcdir)/sys-types.h $(srcdir)/sys-protos.h
|
||||||
|
cat $(srcdir)/sys-types.h $(srcdir)/sys-protos.h >$@
|
||||||
|
|
||||||
# This info describes the target machine, so compile with GCC just built.
|
# This info describes the target machine, so compile with GCC just built.
|
||||||
SYSCALLS.c.X: SYSCALLS.c $(GCC_PASSES)
|
SYSCALLS.c.X: SYSCALLS.c $(GCC_PASSES)
|
||||||
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
|
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
|
||||||
-fgen-aux-info -S -o /dev/null $(srcdir)/SYSCALLS.c
|
-fgen-aux-info -S -o /dev/null SYSCALLS.c
|
||||||
|
|
||||||
test-protoize:
|
|
||||||
-rm -f tmp-protoize.*
|
|
||||||
cp protoize.c tmp-protoize.c
|
|
||||||
chmod u+w tmp-protoize.c
|
|
||||||
./unprotoize -N -c "-B./ -Wall -Wwrite-strings $(CFLAGS)" tmp-protoize.c
|
|
||||||
./protoize -N -B ./ -c "-B./ -Wall -Wwrite-strings $(CFLAGS)" tmp-protoize.c
|
|
||||||
@echo Expect exactly one one line difference for visit_each_hash_node.
|
|
||||||
-diff protoize.c tmp-protoize.c
|
|
||||||
-rm -f tmp-protoize.*
|
|
||||||
|
|
||||||
# Remake the info files.
|
# Remake the info files.
|
||||||
|
|
||||||
@ -1093,9 +1115,9 @@ $(srcdir)/gcc.info: $(srcdir)/gcc.texi
|
|||||||
# There are four levels of this:
|
# There are four levels of this:
|
||||||
# `mostlyclean', `clean', `cleanconfig' and `realclean'.
|
# `mostlyclean', `clean', `cleanconfig' and `realclean'.
|
||||||
# `mostlyclean' is useful while working on a particular type of machine.
|
# `mostlyclean' is useful while working on a particular type of machine.
|
||||||
|
# It deletes most, but not all, of the files made by compilation.
|
||||||
# It does not delete libgcc.a or its parts, so it won't have to be recompiled.
|
# It does not delete libgcc.a or its parts, so it won't have to be recompiled.
|
||||||
# `clean' deletes what you want to delete ordinarily to save space.
|
# `clean' deletes everything made by running `make all'.
|
||||||
# This is most, but not all, of the files made by compilation.
|
|
||||||
# `cleanconfig' also deletes the files made by config.
|
# `cleanconfig' also deletes the files made by config.
|
||||||
# `realclean' also deletes everything that could be regenerated automatically.
|
# `realclean' also deletes everything that could be regenerated automatically.
|
||||||
|
|
||||||
@ -1106,50 +1128,62 @@ mostlyclean:
|
|||||||
-rm -f $(HOST_PREFIX_1)alloca.c $(HOST_PREFIX_1)malloc.c
|
-rm -f $(HOST_PREFIX_1)alloca.c $(HOST_PREFIX_1)malloc.c
|
||||||
-rm -f $(HOST_PREFIX_1)obstack.c
|
-rm -f $(HOST_PREFIX_1)obstack.c
|
||||||
# Delete the temp files made in the course of building libgcc.a.
|
# Delete the temp files made in the course of building libgcc.a.
|
||||||
-rm -f tmplibgcc.a* tmpcopy
|
-rm -f tmplibgcc* tmpcopy
|
||||||
for name in $(LIB1FUNCS); do rm -f $${name}.c; done
|
for name in $(LIB1FUNCS); do rm -f $${name}.c; done
|
||||||
# Delete other temporary files.
|
# Delete other temporary files.
|
||||||
-rm -f tmp-float.h tmp-*protoize.1 tmp-gcc.xtar.Z tmp-limits.h
|
-rm -f tmp-float.h tmp-*proto.1 tmp-gcc.xtar.Z tmp-limits.h gccnew
|
||||||
# Delete the stamp files.
|
# Delete the stamp files.
|
||||||
-rm -f stamp-* tmp-*
|
-rm -f stamp-* tmp-*
|
||||||
-rm -f *.s *.s[0-9] *.co
|
# Delete debugging dump files.
|
||||||
-rm -f *.greg *.lreg *.combine *.flow *.cse *.jump *.rtl *.tree *.loop
|
-rm -f *.greg *.lreg *.combine *.flow *.cse *.jump *.rtl *.tree *.loop
|
||||||
-rm -f *.dbr *.jump2 *.sched *.cse2 *.cpp *.sched2 *.stack
|
-rm -f *.dbr *.jump2 *.sched *.cse2 *.sched2 *.stack
|
||||||
-rm -f gccnew specs core float.h enquire SYSCALLS.c.X
|
# Delete some files made during installation.
|
||||||
-rm -f collect collect2
|
-rm -f specs float.h enquire SYSCALLS.c SYSCALLS.c.X
|
||||||
|
-rm -f collect collect2 ld mips-tfile mips-tdump
|
||||||
|
# Delete unwanted output files from TeX.
|
||||||
|
-rm -f *.toc *.log *.vr *.fn *.cp *.tp *.ky *.pg
|
||||||
|
# Delete core dumps.
|
||||||
|
-rm -f core
|
||||||
|
|
||||||
# delete all files made by compilation.
|
# delete all files made by compilation.
|
||||||
clean: mostlyclean
|
clean: mostlyclean
|
||||||
-rm -f libgcc.a libgcc1.a libgcc2.a libgcc2.ready
|
-rm -f libgcc.a libgcc1.a libgcc2.a libgcc2.ready
|
||||||
-rm -fr stage1 stage2 stage3 stage4
|
-rm -fr stage1 stage2 stage3 stage4
|
||||||
|
|
||||||
# Like clean but also delete the links and files made to configure gcc.
|
# This is used to get rid of everything found in the source dir
|
||||||
cleanconfig: clean
|
# that shouldn't be in the distribution.
|
||||||
|
distclean: clean
|
||||||
-rm -f tm.h aux-output.c config.h md config.status tconfig.h
|
-rm -f tm.h aux-output.c config.h md config.status tconfig.h
|
||||||
-rm -f Makefile aux-output2.c
|
-rm -f Makefile *.dvi *.oaux
|
||||||
|
|
||||||
|
# Delete anything likely to be found in the source directory
|
||||||
|
# that shouldn't be in the distribution.
|
||||||
|
extraclean: distclean
|
||||||
|
-rm -rf =* #* *~ config/#* config/*~
|
||||||
|
-rm -f *.dvi *.oaux patch*
|
||||||
|
-rm -f *.s *.s[0-9] *.i
|
||||||
|
|
||||||
# Get rid of every file that's generated from some other file.
|
# Get rid of every file that's generated from some other file.
|
||||||
# Most of these files ARE PRESENT in the GCC distribution.
|
# Most of these files ARE PRESENT in the GCC distribution.
|
||||||
realclean: cleanconfig
|
realclean: distclean
|
||||||
-rm -f cpp.aux cpp.cps cpp.fns cpp.info cpp.kys cpp.pgs cpp.tps cpp.vrs
|
|
||||||
-rm -f cp-parse.c cp-parse.h cp-parse.output
|
-rm -f cp-parse.c cp-parse.h cp-parse.output
|
||||||
-rm -f objc-parse.c objc-parse.output
|
-rm -f objc-parse.c objc-parse.output
|
||||||
-rm -f protoize.1 unprotoize.1
|
-rm -f protoize.1 unprotoize.1
|
||||||
-rm -f c-parse.c c-parse.h c-parse.output
|
-rm -f c-parse.c c-parse.h c-parse.output
|
||||||
-rm -f cexp.c cexp.output TAGS
|
-rm -f cexp.c cexp.output TAGS
|
||||||
-rm -f cpp.info* cpp.?? cpp.??s cpp.log cpp.toc cpp.*aux
|
-rm -f cpp.info* cpp.??s cpp.*aux
|
||||||
-rm -f gcc.info* gcc.?? gcc.??s gcc.log gcc.toc gcc.*aux
|
-rm -f gcc.info* gcc.??s gcc.*aux
|
||||||
-rm -f gplus.info* gplus.?? gplus.??s gplus.log gplus.toc gplus.*aux
|
-rm -f gplus.info* gplus.??s gplus.*aux
|
||||||
-rm -f *.dvi
|
|
||||||
|
|
||||||
# Entry points `install' and `uninstall'.
|
# Entry points `install' and `uninstall'.
|
||||||
# Also temporarily `install-fixincludes' could replace `install-headers'.
|
# Also temporarily `install-fixincludes' could replace `install-headers'.
|
||||||
|
# Also use `install-collect2' to install collect2 when the config files don't.
|
||||||
|
|
||||||
install: $(INSTALL_TARGET)
|
install: $(INSTALL_TARGET)
|
||||||
|
|
||||||
# Copy the files of native compiler into directories where they will be run.
|
# Copy the files of native compiler into directories where they will be run.
|
||||||
install-native: install-common install-libgcc $(INSTALL_HEADERS) \
|
install-native: install-common install-libgcc $(INSTALL_HEADERS) \
|
||||||
install-man install-proto
|
install-man
|
||||||
|
|
||||||
# Copy the files of cross compiler into directories where they will be run.
|
# Copy the files of cross compiler into directories where they will be run.
|
||||||
install-cross: install-common install-common-headers \
|
install-cross: install-common install-common-headers \
|
||||||
@ -1215,9 +1249,9 @@ install-float-h-cross:
|
|||||||
# Create the installation directory.
|
# Create the installation directory.
|
||||||
install-dir:
|
install-dir:
|
||||||
if [ -d $(libdir) ] ; then true ; else mkdir $(libdir) ; fi
|
if [ -d $(libdir) ] ; then true ; else mkdir $(libdir) ; fi
|
||||||
if [ -d $(libdir)/gcc ] ; then true ; else mkdir $(libdir)/gcc ; fi
|
if [ -d $(libdir)/gcc-lib ] ; then true ; else mkdir $(libdir)/gcc-lib ; fi
|
||||||
if [ -d $(libdir)/gcc/$(target) ] ; then true ; else mkdir $(libdir)/gcc/$(target) ; fi
|
if [ -d $(libdir)/gcc-lib/$(target) ] ; then true ; else mkdir $(libdir)/gcc-lib/$(target) ; fi
|
||||||
if [ -d $(libdir)/gcc/$(target)/$(version) ] ; then true ; else mkdir $(libdir)/gcc/$(target)/$(version) ; fi
|
if [ -d $(libdir)/gcc-lib/$(target)/$(version) ] ; then true ; else mkdir $(libdir)/gcc-lib/$(target)/$(version) ; fi
|
||||||
if [ -d $(bindir) ] ; then true ; else mkdir $(bindir) ; fi
|
if [ -d $(bindir) ] ; then true ; else mkdir $(bindir) ; fi
|
||||||
# We don't use mkdir -p to create the parents of mandir,
|
# We don't use mkdir -p to create the parents of mandir,
|
||||||
# because some systems don't support it.
|
# because some systems don't support it.
|
||||||
@ -1235,7 +1269,7 @@ install-common: native install-dir
|
|||||||
else true; \
|
else true; \
|
||||||
fi; \
|
fi; \
|
||||||
done
|
done
|
||||||
for file in $(EXTRA_PASSES) $(EXTRA_PARTS) ..; do \
|
for file in $(EXTRA_PASSES) $(EXTRA_PARTS) $(EXTRA_PROGRAMS) ..; do \
|
||||||
if [ x"$$file" != x.. ]; then \
|
if [ x"$$file" != x.. ]; then \
|
||||||
rm -f $(libsubdir)/$$file; \
|
rm -f $(libsubdir)/$$file; \
|
||||||
$(INSTALL_PROGRAM) $$file $(libsubdir)/$$file; \
|
$(INSTALL_PROGRAM) $$file $(libsubdir)/$$file; \
|
||||||
@ -1246,10 +1280,10 @@ install-common: native install-dir
|
|||||||
# Install the driver program as gcc-$(target)
|
# Install the driver program as gcc-$(target)
|
||||||
# and also as either gcc (if native) or $(tooldir)/bin/gcc.
|
# and also as either gcc (if native) or $(tooldir)/bin/gcc.
|
||||||
-if [ -f gcc-cross ] ; then \
|
-if [ -f gcc-cross ] ; then \
|
||||||
|
$(INSTALL_PROGRAM) gcc-cross $(bindir)/gcc-$(target); \
|
||||||
if [ -d $(tooldir)/bin/. ] ; then \
|
if [ -d $(tooldir)/bin/. ] ; then \
|
||||||
rm -f $(tooldir)/bin/gcc; \
|
rm -f $(tooldir)/bin/gcc; \
|
||||||
$(INSTALL_PROGRAM) gcc-cross $(tooldir)/bin/gcc; \
|
$(INSTALL_PROGRAM) gcc-cross $(tooldir)/bin/gcc; \
|
||||||
$(INSTALL_PROGRAM) gcc-cross $(bindir)/gcc-$(target); \
|
|
||||||
else true; fi; \
|
else true; fi; \
|
||||||
else \
|
else \
|
||||||
rm -f $(bindir)/gcc; \
|
rm -f $(bindir)/gcc; \
|
||||||
@ -1274,16 +1308,23 @@ install-proto: proto install-dir
|
|||||||
chmod a-x $(libsubdir)/SYSCALLS.c.X
|
chmod a-x $(libsubdir)/SYSCALLS.c.X
|
||||||
|
|
||||||
# Install the man pages.
|
# Install the man pages.
|
||||||
install-man: install-dir $(srcdir)/gcc.1 protoize.1 unprotoize.1
|
install-man: install-dir $(srcdir)/gcc.1 $(srcdir)/cccp.1 \
|
||||||
|
protoize.1 unprotoize.1 $(srcdir)/g++.1
|
||||||
-rm -f $(mandir)/gcc$(manext)
|
-rm -f $(mandir)/gcc$(manext)
|
||||||
$(INSTALL_DATA) $(srcdir)/gcc.1 $(mandir)/gcc$(manext)
|
$(INSTALL_DATA) $(srcdir)/gcc.1 $(mandir)/gcc$(manext)
|
||||||
chmod a-x $(mandir)/gcc$(manext)
|
chmod a-x $(mandir)/gcc$(manext)
|
||||||
|
-rm -f $(mandir)/cccp$(manext)
|
||||||
|
$(INSTALL_DATA) $(srcdir)/cccp.1 $(mandir)/cccp$(manext)
|
||||||
|
chmod a-x $(mandir)/cccp$(manext)
|
||||||
-rm -f $(mandir)/protoize$(manext)
|
-rm -f $(mandir)/protoize$(manext)
|
||||||
$(INSTALL_DATA) protoize.1 $(mandir)/protoize$(manext)
|
$(INSTALL_DATA) protoize.1 $(mandir)/protoize$(manext)
|
||||||
chmod a-x $(mandir)/protoize$(manext)
|
chmod a-x $(mandir)/protoize$(manext)
|
||||||
-rm -f $(mandir)/unprotoize$(manext)
|
-rm -f $(mandir)/unprotoize$(manext)
|
||||||
$(INSTALL_DATA) unprotoize.1 $(mandir)/unprotoize$(manext)
|
$(INSTALL_DATA) unprotoize.1 $(mandir)/unprotoize$(manext)
|
||||||
chmod a-x $(mandir)/unprotoize$(manext)
|
chmod a-x $(mandir)/unprotoize$(manext)
|
||||||
|
-rm -f $(mandir)/g++$(manext)
|
||||||
|
$(INSTALL_DATA) $(srcdir)/g++.1 $(mandir)/g++$(manext)
|
||||||
|
chmod a-x $(mandir)/g++$(manext)
|
||||||
|
|
||||||
# Install the library.
|
# Install the library.
|
||||||
install-libgcc: libgcc.a
|
install-libgcc: libgcc.a
|
||||||
@ -1337,14 +1378,18 @@ install-common-headers: install-dir $(USER_H) gvarargs.h gstdarg.h gstddef.h
|
|||||||
-rm -f $(libsubdir)/include/stddef.h
|
-rm -f $(libsubdir)/include/stddef.h
|
||||||
$(INSTALL_DATA) $(srcdir)/gstddef.h $(libsubdir)/include/stddef.h
|
$(INSTALL_DATA) $(srcdir)/gstddef.h $(libsubdir)/include/stddef.h
|
||||||
chmod a-x $(libsubdir)/include/stddef.h
|
chmod a-x $(libsubdir)/include/stddef.h
|
||||||
|
# Copy byteorder.h into the object file directory
|
||||||
|
# so that fixinc.svr4 can get at it if necessary.
|
||||||
|
# If the dirs are the same, this won't do anything.
|
||||||
|
-cp $(srcdir)/byteorder.h .
|
||||||
|
|
||||||
# $(libsubdir)/include:
|
# $(libsubdir)/include:
|
||||||
# if [ -d $(libsubdir)/include ] ; then true ; else mkdir $(libsubdir)/include ; fi
|
# if [ -d $(libsubdir)/include ] ; then true ; else mkdir $(libsubdir)/include ; fi
|
||||||
# -chmod ugo+rx $(libsubdir)/include
|
# -chmod ugo+rx $(libsubdir)/include
|
||||||
|
|
||||||
# This appears not to work. It isn't clear how to fix it.
|
# This appears not to work. It isn't clear how to fix it.
|
||||||
# $(libsubdir)/include/README: $(libsubdir)/include $(srcdir)/fixincludes
|
# $(libsubdir)/include/README: $(libsubdir)/include $(srcdir)/$(FIXINCLUDES)
|
||||||
# LIB=$(libsubdir)/include $(srcdir)/fixincludes
|
# LIB=$(libsubdir)/include $(srcdir)/$(FIXINCLUDES)
|
||||||
# $(INSTALL_DATA) $(srcdir)/fixincludes-README $@
|
# $(INSTALL_DATA) $(srcdir)/fixincludes-README $@
|
||||||
# chmod a-x $@
|
# chmod a-x $@
|
||||||
|
|
||||||
@ -1353,7 +1398,15 @@ install-fixincludes: install-headers
|
|||||||
rm -rf $(libsubdir)/tmp
|
rm -rf $(libsubdir)/tmp
|
||||||
mkdir $(libsubdir)/tmp
|
mkdir $(libsubdir)/tmp
|
||||||
# Move aside the headers that come from GCC; delete all else.
|
# Move aside the headers that come from GCC; delete all else.
|
||||||
cd $(libsubdir)/include; mv $(INSTALLED_H) ../tmp; rm -rf *
|
# The sed command gets just the last file name component;
|
||||||
|
# this is necessary because VPATH could add a dirname.
|
||||||
|
# Using basename would be simpler, but some systems don't have it.
|
||||||
|
cd $(libsubdir)/include; \
|
||||||
|
for file in $(INSTALLED_H); do \
|
||||||
|
realfile=`echo $$file | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
|
||||||
|
mv $$realfile ../tmp; \
|
||||||
|
done; \
|
||||||
|
rm -rf *
|
||||||
# Install fixed copies of system files.
|
# Install fixed copies of system files.
|
||||||
$(srcdir)/$(FIXINCLUDES) $(libsubdir)/include
|
$(srcdir)/$(FIXINCLUDES) $(libsubdir)/include
|
||||||
# Bring back gcc's header files.
|
# Bring back gcc's header files.
|
||||||
@ -1362,15 +1415,24 @@ install-fixincludes: install-headers
|
|||||||
$(INSTALL_DATA) $(srcdir)/README-fixinc $(libsubdir)/include/README
|
$(INSTALL_DATA) $(srcdir)/README-fixinc $(libsubdir)/include/README
|
||||||
chmod a-x $(libsubdir)/include/README
|
chmod a-x $(libsubdir)/include/README
|
||||||
|
|
||||||
|
# Use this target to install the program `collect2' under the name `ld'.
|
||||||
|
install-collect2: collect2
|
||||||
|
$(INSTALL_PROGRAM) collect2 $(libsubdir)/ld
|
||||||
|
# Install the driver program as $(libsubdir)/gcc for collect2.
|
||||||
|
-if [ -f gcc-cross ] ; then \
|
||||||
|
$(INSTALL_PROGRAM) gcc-cross $(libsubdir)/gcc; \
|
||||||
|
else \
|
||||||
|
$(INSTALL_PROGRAM) gcc $(libsubdir)/gcc; \
|
||||||
|
fi
|
||||||
|
|
||||||
# Cancel installation by deleting the installed files.
|
# Cancel installation by deleting the installed files.
|
||||||
uninstall:
|
uninstall:
|
||||||
-rm -rf $(libsubdir)
|
-rm -rf $(libsubdir)
|
||||||
-rm -rf $(bindir)/gcc
|
-rm -rf $(bindir)/gcc
|
||||||
-rm -rf $(mandir)/protoize$(manext)
|
|
||||||
-rm -rf $(mandir)/unprotoize$(manext)
|
|
||||||
-rm -rf $(bindir)/protoize
|
-rm -rf $(bindir)/protoize
|
||||||
-rm -rf $(bindir)/unprotoize
|
-rm -rf $(bindir)/unprotoize
|
||||||
-rm -rf $(mandir)/gcc$(manext)
|
-rm -rf $(mandir)/gcc$(manext)
|
||||||
|
-rm -rf $(mandir)/cccp$(manext)
|
||||||
-rm -rf $(mandir)/protoize$(manext)
|
-rm -rf $(mandir)/protoize$(manext)
|
||||||
-rm -rf $(mandir)/unprotoize$(manext)
|
-rm -rf $(mandir)/unprotoize$(manext)
|
||||||
|
|
||||||
@ -1389,7 +1451,7 @@ TAGS: force
|
|||||||
#dist: gcc-$(version).tar.Z
|
#dist: gcc-$(version).tar.Z
|
||||||
dist: gcc.xtar.Z
|
dist: gcc.xtar.Z
|
||||||
|
|
||||||
gcc.xtar.Z:
|
gcc.xtar.Z: gcc.xtar
|
||||||
compress < gcc.xtar > tmp-gcc.xtar.Z
|
compress < gcc.xtar > tmp-gcc.xtar.Z
|
||||||
mv tmp-gcc.xtar.Z gcc.xtar.Z
|
mv tmp-gcc.xtar.Z gcc.xtar.Z
|
||||||
|
|
||||||
@ -1398,15 +1460,22 @@ gcc.xtar.Z:
|
|||||||
|
|
||||||
#gcc-$(version).tar:
|
#gcc-$(version).tar:
|
||||||
gcc.xtar:
|
gcc.xtar:
|
||||||
-rm -rf gcc-$(version)
|
-rm -rf gcc-$(version) tmp
|
||||||
# Put all the files in a temporary subdirectory
|
# Put all the files in a temporary subdirectory
|
||||||
# which has the name that we want to have in the tar file.
|
# which has the name that we want to have in the tar file.
|
||||||
mkdir gcc-$(version)
|
mkdir tmp
|
||||||
for file in *; do \
|
mkdir tmp/config
|
||||||
ln $file gcc-$(version) || cp $file gcc-$(version); \
|
for file in *[0-9a-zA-Z+]; do \
|
||||||
|
ln $$file tmp || cp $$file tmp; \
|
||||||
done
|
done
|
||||||
|
cd config; \
|
||||||
|
for file in *[0-9a-zA-Z+]; do \
|
||||||
|
ln $$file ../tmp/config || cp $$file ../tmp/config; \
|
||||||
|
done
|
||||||
|
ln .gdbinit tmp
|
||||||
|
mv tmp gcc-$(version)
|
||||||
# Get rid of everything we don't want in the distribution.
|
# Get rid of everything we don't want in the distribution.
|
||||||
cd gcc-$(version); make -f Makefile.in distclean
|
cd gcc-$(version); make -f Makefile.in extraclean
|
||||||
# Make the distribution.
|
# Make the distribution.
|
||||||
tar chf gcc.xtar gcc-$(version)
|
tar chf gcc.xtar gcc-$(version)
|
||||||
# Get rid of the temporary directory.
|
# Get rid of the temporary directory.
|
||||||
@ -1433,28 +1502,33 @@ maketest:
|
|||||||
|
|
||||||
bootstrap: all force
|
bootstrap: all force
|
||||||
$(MAKE) stage1
|
$(MAKE) stage1
|
||||||
$(MAKE) CC="stage1/gcc -Bstage1/" CFLAGS="$(BOOT_CFLAGS)" libdir=$(libdir) LANGUAGES="$(LANGUAGES)" ALLOCA=
|
# This used to define ALLOCA as empty, but that would lead to bad results
|
||||||
|
# for a subsequent `make install' since that would not have ALLOCA empty.
|
||||||
|
# To prevent `make install' from compiling alloca.o and then relinking cc1
|
||||||
|
# because alloca.o is newer, we permit these recursive makes to compile
|
||||||
|
# alloca.o. Then cc1 is newer, so it won't have to be relinked.
|
||||||
|
$(MAKE) CC="stage1/gcc -Bstage1/" CFLAGS="$(BOOT_CFLAGS)" libdir=$(libdir) LANGUAGES="$(LANGUAGES)"
|
||||||
$(MAKE) stage2
|
$(MAKE) stage2
|
||||||
$(MAKE) CC="stage2/gcc -Bstage2/" CFLAGS="$(BOOT_CFLAGS)" libdir=$(libdir) LANGUAGES="$(LANGUAGES)" ALLOCA=
|
$(MAKE) CC="stage2/gcc -Bstage2/" CFLAGS="$(BOOT_CFLAGS)" libdir=$(libdir) LANGUAGES="$(LANGUAGES)"
|
||||||
|
|
||||||
bootstrap2: force
|
bootstrap2: force
|
||||||
$(MAKE) CC="stage1/gcc -Bstage1/" CFLAGS="$(BOOT_CFLAGS)" libdir=$(libdir) LANGUAGES="$(LANGUAGES)" ALLOCA=
|
$(MAKE) CC="stage1/gcc -Bstage1/" CFLAGS="$(BOOT_CFLAGS)" libdir=$(libdir) LANGUAGES="$(LANGUAGES)"
|
||||||
$(MAKE) stage2
|
$(MAKE) stage2
|
||||||
$(MAKE) CC="stage2/gcc -Bstage2/" CFLAGS="$(BOOT_CFLAGS)" libdir=$(libdir) LANGUAGES="$(LANGUAGES)" ALLOCA=
|
$(MAKE) CC="stage2/gcc -Bstage2/" CFLAGS="$(BOOT_CFLAGS)" libdir=$(libdir) LANGUAGES="$(LANGUAGES)"
|
||||||
|
|
||||||
bootstrap3: force
|
bootstrap3: force
|
||||||
$(MAKE) CC="stage2/gcc -Bstage2/" CFLAGS="$(BOOT_CFLAGS)" libdir=$(libdir) LANGUAGES="$(LANGUAGES)" ALLOCA=
|
$(MAKE) CC="stage2/gcc -Bstage2/" CFLAGS="$(BOOT_CFLAGS)" libdir=$(libdir) LANGUAGES="$(LANGUAGES)"
|
||||||
|
|
||||||
# Copy the object files from a particular stage into a subdirectory.
|
# Copy the object files from a particular stage into a subdirectory.
|
||||||
stage1: force
|
stage1: force
|
||||||
if [ -d stage1 ] ; then true ; else mkdir stage1 ; fi
|
-if [ -d stage1 ] ; then true ; else mkdir stage1 ; fi
|
||||||
-mv $(STAGESTUFF) stage1
|
-mv $(STAGESTUFF) stage1
|
||||||
-rm -f stage1/libgcc.a
|
-rm -f stage1/libgcc.a
|
||||||
-cp libgcc.a stage1
|
-cp libgcc.a stage1
|
||||||
-if $(RANLIB_TEST) ; then $(RANLIB) stage1/libgcc.a; else true; fi
|
-if $(RANLIB_TEST) ; then $(RANLIB) stage1/libgcc.a; else true; fi
|
||||||
|
|
||||||
stage2: force
|
stage2: force
|
||||||
if [ -d stage2 ] ; then true ; else mkdir stage2 ; fi
|
-if [ -d stage2 ] ; then true ; else mkdir stage2 ; fi
|
||||||
-mv $(STAGESTUFF) stage2
|
-mv $(STAGESTUFF) stage2
|
||||||
-rm -f stage2/libgcc.a
|
-rm -f stage2/libgcc.a
|
||||||
-cp libgcc.a stage2
|
-cp libgcc.a stage2
|
||||||
|
100
gcc/dwarfout.c
100
gcc/dwarfout.c
@ -53,9 +53,11 @@ extern time_t time ();
|
|||||||
#else
|
#else
|
||||||
#include <strings.h>
|
#include <strings.h>
|
||||||
#define strrchr rindex
|
#define strrchr rindex
|
||||||
#define getcwd(s,len) getwd(s)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
char *getpwd ();
|
||||||
|
|
||||||
|
|
||||||
/* IMPORTANT NOTE: Please see the file README.DWARF for important details
|
/* IMPORTANT NOTE: Please see the file README.DWARF for important details
|
||||||
regarding the GNU implementation of Dwarf. */
|
regarding the GNU implementation of Dwarf. */
|
||||||
|
|
||||||
@ -305,22 +307,22 @@ static unsigned lookup_filename ();
|
|||||||
what is expected by "standard" AT&T System V.4 assemblers. */
|
what is expected by "standard" AT&T System V.4 assemblers. */
|
||||||
|
|
||||||
#ifndef FILE_ASM_OP
|
#ifndef FILE_ASM_OP
|
||||||
#define FILE_ASM_OP "\t.file"
|
#define FILE_ASM_OP ".file"
|
||||||
#endif
|
#endif
|
||||||
#ifndef VERSION_ASM_OP
|
#ifndef VERSION_ASM_OP
|
||||||
#define VERSION_ASM_OP "\t.version"
|
#define VERSION_ASM_OP ".version"
|
||||||
#endif
|
#endif
|
||||||
#ifndef SECTION_ASM_OP
|
#ifndef SECTION_ASM_OP
|
||||||
#define SECTION_ASM_OP "\t.section"
|
#define SECTION_ASM_OP ".section"
|
||||||
#endif
|
#endif
|
||||||
#ifndef UNALIGNED_SHORT_ASM_OP
|
#ifndef UNALIGNED_SHORT_ASM_OP
|
||||||
#define UNALIGNED_SHORT_ASM_OP "\t.2byte"
|
#define UNALIGNED_SHORT_ASM_OP ".2byte"
|
||||||
#endif
|
#endif
|
||||||
#ifndef UNALIGNED_INT_ASM_OP
|
#ifndef UNALIGNED_INT_ASM_OP
|
||||||
#define UNALIGNED_INT_ASM_OP "\t.4byte"
|
#define UNALIGNED_INT_ASM_OP ".4byte"
|
||||||
#endif
|
#endif
|
||||||
#ifndef DEF_ASM_OP
|
#ifndef DEF_ASM_OP
|
||||||
#define DEF_ASM_OP "\t.set"
|
#define DEF_ASM_OP ".set"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* This macro is already used elsewhere and has a published default. */
|
/* This macro is already used elsewhere and has a published default. */
|
||||||
@ -484,12 +486,12 @@ static unsigned lookup_filename ();
|
|||||||
|
|
||||||
#ifndef ASM_OUTPUT_SOURCE_FILENAME
|
#ifndef ASM_OUTPUT_SOURCE_FILENAME
|
||||||
#define ASM_OUTPUT_SOURCE_FILENAME(FILE,NAME) \
|
#define ASM_OUTPUT_SOURCE_FILENAME(FILE,NAME) \
|
||||||
fprintf ((FILE), "%s\t\"%s\"\n", FILE_ASM_OP, NAME)
|
fprintf ((FILE), "\t%s\t\"%s\"\n", FILE_ASM_OP, NAME)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef ASM_OUTPUT_DEF
|
#ifndef ASM_OUTPUT_DEF
|
||||||
#define ASM_OUTPUT_DEF(FILE,LABEL1,LABEL2) \
|
#define ASM_OUTPUT_DEF(FILE,LABEL1,LABEL2) \
|
||||||
do { fprintf ((FILE), "%s\t", DEF_ASM_OP); \
|
do { fprintf ((FILE), "\t%s\t", DEF_ASM_OP); \
|
||||||
assemble_name (FILE, LABEL1); \
|
assemble_name (FILE, LABEL1); \
|
||||||
fprintf (FILE, ","); \
|
fprintf (FILE, ","); \
|
||||||
assemble_name (FILE, LABEL2); \
|
assemble_name (FILE, LABEL2); \
|
||||||
@ -569,7 +571,7 @@ static unsigned lookup_filename ();
|
|||||||
|
|
||||||
#ifndef ASM_OUTPUT_DWARF_DELTA2
|
#ifndef ASM_OUTPUT_DWARF_DELTA2
|
||||||
#define ASM_OUTPUT_DWARF_DELTA2(FILE,LABEL1,LABEL2) \
|
#define ASM_OUTPUT_DWARF_DELTA2(FILE,LABEL1,LABEL2) \
|
||||||
do { fprintf ((FILE), "%s\t", UNALIGNED_SHORT_ASM_OP); \
|
do { fprintf ((FILE), "\t%s\t", UNALIGNED_SHORT_ASM_OP); \
|
||||||
assemble_name (FILE, LABEL1); \
|
assemble_name (FILE, LABEL1); \
|
||||||
fprintf (FILE, "-"); \
|
fprintf (FILE, "-"); \
|
||||||
assemble_name (FILE, LABEL2); \
|
assemble_name (FILE, LABEL2); \
|
||||||
@ -579,7 +581,7 @@ static unsigned lookup_filename ();
|
|||||||
|
|
||||||
#ifndef ASM_OUTPUT_DWARF_DELTA4
|
#ifndef ASM_OUTPUT_DWARF_DELTA4
|
||||||
#define ASM_OUTPUT_DWARF_DELTA4(FILE,LABEL1,LABEL2) \
|
#define ASM_OUTPUT_DWARF_DELTA4(FILE,LABEL1,LABEL2) \
|
||||||
do { fprintf ((FILE), "%s\t", UNALIGNED_INT_ASM_OP); \
|
do { fprintf ((FILE), "\t%s\t", UNALIGNED_INT_ASM_OP); \
|
||||||
assemble_name (FILE, LABEL1); \
|
assemble_name (FILE, LABEL1); \
|
||||||
fprintf (FILE, "-"); \
|
fprintf (FILE, "-"); \
|
||||||
assemble_name (FILE, LABEL2); \
|
assemble_name (FILE, LABEL2); \
|
||||||
@ -589,13 +591,13 @@ static unsigned lookup_filename ();
|
|||||||
|
|
||||||
#ifndef ASM_OUTPUT_DWARF_TAG
|
#ifndef ASM_OUTPUT_DWARF_TAG
|
||||||
#define ASM_OUTPUT_DWARF_TAG(FILE,TAG) \
|
#define ASM_OUTPUT_DWARF_TAG(FILE,TAG) \
|
||||||
fprintf ((FILE), "%s\t0x%x\t%s %s\n", UNALIGNED_SHORT_ASM_OP, \
|
fprintf ((FILE), "\t%s\t0x%x\t%s %s\n", UNALIGNED_SHORT_ASM_OP, \
|
||||||
(unsigned) TAG, ASM_COMMENT_START, tag_name (TAG))
|
(unsigned) TAG, ASM_COMMENT_START, tag_name (TAG))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef ASM_OUTPUT_DWARF_ATTRIBUTE
|
#ifndef ASM_OUTPUT_DWARF_ATTRIBUTE
|
||||||
#define ASM_OUTPUT_DWARF_ATTRIBUTE(FILE,ATTRIBUTE) \
|
#define ASM_OUTPUT_DWARF_ATTRIBUTE(FILE,ATTRIBUTE) \
|
||||||
fprintf ((FILE), "%s\t0x%x\t%s %s\n", UNALIGNED_SHORT_ASM_OP, \
|
fprintf ((FILE), "\t%s\t0x%x\t%s %s\n", UNALIGNED_SHORT_ASM_OP, \
|
||||||
(unsigned) ATTRIBUTE, ASM_COMMENT_START, attribute_name (ATTRIBUTE))
|
(unsigned) ATTRIBUTE, ASM_COMMENT_START, attribute_name (ATTRIBUTE))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -607,7 +609,7 @@ static unsigned lookup_filename ();
|
|||||||
|
|
||||||
#ifndef ASM_OUTPUT_DWARF_FUND_TYPE
|
#ifndef ASM_OUTPUT_DWARF_FUND_TYPE
|
||||||
#define ASM_OUTPUT_DWARF_FUND_TYPE(FILE,FT) \
|
#define ASM_OUTPUT_DWARF_FUND_TYPE(FILE,FT) \
|
||||||
fprintf ((FILE), "%s\t0x%x\t%s %s\n", UNALIGNED_SHORT_ASM_OP, \
|
fprintf ((FILE), "\t%s\t0x%x\t%s %s\n", UNALIGNED_SHORT_ASM_OP, \
|
||||||
(unsigned) FT, ASM_COMMENT_START, fundamental_type_name (FT))
|
(unsigned) FT, ASM_COMMENT_START, fundamental_type_name (FT))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -625,7 +627,7 @@ static unsigned lookup_filename ();
|
|||||||
|
|
||||||
#ifndef ASM_OUTPUT_DWARF_ADDR
|
#ifndef ASM_OUTPUT_DWARF_ADDR
|
||||||
#define ASM_OUTPUT_DWARF_ADDR(FILE,LABEL) \
|
#define ASM_OUTPUT_DWARF_ADDR(FILE,LABEL) \
|
||||||
do { fprintf ((FILE), "%s\t", UNALIGNED_INT_ASM_OP); \
|
do { fprintf ((FILE), "\t%s\t", UNALIGNED_INT_ASM_OP); \
|
||||||
assemble_name (FILE, LABEL); \
|
assemble_name (FILE, LABEL); \
|
||||||
fprintf (FILE, "\n"); \
|
fprintf (FILE, "\n"); \
|
||||||
} while (0)
|
} while (0)
|
||||||
@ -633,14 +635,14 @@ static unsigned lookup_filename ();
|
|||||||
|
|
||||||
#ifndef ASM_OUTPUT_DWARF_ADDR_CONST
|
#ifndef ASM_OUTPUT_DWARF_ADDR_CONST
|
||||||
#define ASM_OUTPUT_DWARF_ADDR_CONST(FILE,RTX) \
|
#define ASM_OUTPUT_DWARF_ADDR_CONST(FILE,RTX) \
|
||||||
fprintf ((FILE), "%s\t", UNALIGNED_INT_ASM_OP); \
|
fprintf ((FILE), "\t%s\t", UNALIGNED_INT_ASM_OP); \
|
||||||
output_addr_const ((FILE), (RTX)); \
|
output_addr_const ((FILE), (RTX)); \
|
||||||
fputc ('\n', (FILE))
|
fputc ('\n', (FILE))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef ASM_OUTPUT_DWARF_REF
|
#ifndef ASM_OUTPUT_DWARF_REF
|
||||||
#define ASM_OUTPUT_DWARF_REF(FILE,LABEL) \
|
#define ASM_OUTPUT_DWARF_REF(FILE,LABEL) \
|
||||||
do { fprintf ((FILE), "%s\t", UNALIGNED_INT_ASM_OP); \
|
do { fprintf ((FILE), "\t%s\t", UNALIGNED_INT_ASM_OP); \
|
||||||
assemble_name (FILE, LABEL); \
|
assemble_name (FILE, LABEL); \
|
||||||
fprintf (FILE, "\n"); \
|
fprintf (FILE, "\n"); \
|
||||||
} while (0)
|
} while (0)
|
||||||
@ -653,12 +655,12 @@ static unsigned lookup_filename ();
|
|||||||
|
|
||||||
#ifndef ASM_OUTPUT_DWARF_DATA2
|
#ifndef ASM_OUTPUT_DWARF_DATA2
|
||||||
#define ASM_OUTPUT_DWARF_DATA2(FILE,VALUE) \
|
#define ASM_OUTPUT_DWARF_DATA2(FILE,VALUE) \
|
||||||
fprintf ((FILE), "%s\t0x%x\n", UNALIGNED_SHORT_ASM_OP, (unsigned) VALUE)
|
fprintf ((FILE), "\t%s\t0x%x\n", UNALIGNED_SHORT_ASM_OP, (unsigned) VALUE)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef ASM_OUTPUT_DWARF_DATA4
|
#ifndef ASM_OUTPUT_DWARF_DATA4
|
||||||
#define ASM_OUTPUT_DWARF_DATA4(FILE,VALUE) \
|
#define ASM_OUTPUT_DWARF_DATA4(FILE,VALUE) \
|
||||||
fprintf ((FILE), "%s\t0x%x\n", UNALIGNED_INT_ASM_OP, (unsigned) VALUE)
|
fprintf ((FILE), "\t%s\t0x%x\n", UNALIGNED_INT_ASM_OP, (unsigned) VALUE)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef ASM_OUTPUT_DWARF_DATA8
|
#ifndef ASM_OUTPUT_DWARF_DATA8
|
||||||
@ -666,13 +668,13 @@ static unsigned lookup_filename ();
|
|||||||
do { \
|
do { \
|
||||||
if (WORDS_BIG_ENDIAN) \
|
if (WORDS_BIG_ENDIAN) \
|
||||||
{ \
|
{ \
|
||||||
fprintf ((FILE), "%s\t0x%x\n", UNALIGNED_INT_ASM_OP, HIGH_VALUE); \
|
fprintf ((FILE), "\t%s\t0x%x\n", UNALIGNED_INT_ASM_OP, HIGH_VALUE); \
|
||||||
fprintf ((FILE), "%s\t0x%x\n", UNALIGNED_INT_ASM_OP, LOW_VALUE);\
|
fprintf ((FILE), "\t%s\t0x%x\n", UNALIGNED_INT_ASM_OP, LOW_VALUE);\
|
||||||
} \
|
} \
|
||||||
else \
|
else \
|
||||||
{ \
|
{ \
|
||||||
fprintf ((FILE), "%s\t0x%x\n", UNALIGNED_INT_ASM_OP, LOW_VALUE);\
|
fprintf ((FILE), "\t%s\t0x%x\n", UNALIGNED_INT_ASM_OP, LOW_VALUE);\
|
||||||
fprintf ((FILE), "%s\t0x%x\n", UNALIGNED_INT_ASM_OP, HIGH_VALUE); \
|
fprintf ((FILE), "\t%s\t0x%x\n", UNALIGNED_INT_ASM_OP, HIGH_VALUE); \
|
||||||
} \
|
} \
|
||||||
} while (0)
|
} while (0)
|
||||||
#endif
|
#endif
|
||||||
@ -1388,7 +1390,7 @@ location_attribute (rtl)
|
|||||||
ASM_OUTPUT_LABEL (asm_out_file, begin_label);
|
ASM_OUTPUT_LABEL (asm_out_file, begin_label);
|
||||||
|
|
||||||
/* Handle a special case. If we are about to output a location descriptor
|
/* Handle a special case. If we are about to output a location descriptor
|
||||||
for a variable or parameter which has been optimized out of existance,
|
for a variable or parameter which has been optimized out of existence,
|
||||||
don't do that. Instead we output a zero-length location descriptor
|
don't do that. Instead we output a zero-length location descriptor
|
||||||
value as part of the location attribute. Note that we cannot simply
|
value as part of the location attribute. Note that we cannot simply
|
||||||
suppress the entire location attribute, because the absence of a
|
suppress the entire location attribute, because the absence of a
|
||||||
@ -1555,15 +1557,16 @@ location_or_const_value_attribute (decl)
|
|||||||
with a means to describe that location also, but for now we can only
|
with a means to describe that location also, but for now we can only
|
||||||
describe the "passing" location. */
|
describe the "passing" location. */
|
||||||
|
|
||||||
#if 0 /* This is probably right, but it leads to a lot of trouble.
|
#if 1 /* This is probably right, but it leads to a lot of trouble.
|
||||||
Fixing one problem has been exposing another,
|
Fixing one problem has been exposing another,
|
||||||
all of which seemed to have no ill effects before.
|
all of which seemed to have no ill effects before.
|
||||||
Better to turn this off for now and try fix it later. */
|
Let's try it again for now. */
|
||||||
rtl = (TREE_CODE (decl) == PARM_DECL)
|
rtl = (TREE_CODE (decl) == PARM_DECL)
|
||||||
? DECL_INCOMING_RTL (decl)
|
? DECL_INCOMING_RTL (decl)
|
||||||
: DECL_RTL (decl);
|
: DECL_RTL (decl);
|
||||||
#endif
|
#else
|
||||||
rtl = DECL_RTL (decl);
|
rtl = DECL_RTL (decl);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (rtl == NULL)
|
if (rtl == NULL)
|
||||||
return;
|
return;
|
||||||
@ -2581,22 +2584,9 @@ output_compile_unit_die (arg)
|
|||||||
last_filename = xstrdup (main_input_filename);
|
last_filename = xstrdup (main_input_filename);
|
||||||
|
|
||||||
{
|
{
|
||||||
register unsigned len = 1024;
|
char *wd = getpwd ();
|
||||||
register char *dirname = (char *) xmalloc (len + 1);
|
if (wd)
|
||||||
|
comp_dir_attribute (wd);
|
||||||
/* We don't know how much space the dirname needs,
|
|
||||||
so try bigger and bigger buffers until it fits. */
|
|
||||||
while (1)
|
|
||||||
{
|
|
||||||
getcwd (dirname, len); /* Being conservative here. */
|
|
||||||
if (strlen (dirname) < len - 1) /* Being conservative here. */
|
|
||||||
break;
|
|
||||||
len *= 2;
|
|
||||||
dirname = (char *) xrealloc (dirname, len + 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
comp_dir_attribute (dirname);
|
|
||||||
free (dirname);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (debug_info_level >= DINFO_LEVEL_NORMAL)
|
if (debug_info_level >= DINFO_LEVEL_NORMAL)
|
||||||
@ -3440,7 +3430,7 @@ output_decl (decl, containing_scope)
|
|||||||
register tree parm;
|
register tree parm;
|
||||||
|
|
||||||
/* WARNING! Kludge zone ahead! Here we have a special
|
/* WARNING! Kludge zone ahead! Here we have a special
|
||||||
hack for svr4 SDB compatability. Instead of passing the
|
hack for svr4 SDB compatibility. Instead of passing the
|
||||||
current FUNCTION_DECL node as the second parameter (i.e.
|
current FUNCTION_DECL node as the second parameter (i.e.
|
||||||
the `containing_scope' parameter) to `output_decl' (as
|
the `containing_scope' parameter) to `output_decl' (as
|
||||||
we ought to) we instead pass a pointer to our own private
|
we ought to) we instead pass a pointer to our own private
|
||||||
@ -4062,7 +4052,7 @@ dwarfout_line (filename, line)
|
|||||||
filename = tail;
|
filename = tail;
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf (asm_out_file, "%s\t%u\t%s %s:%u\n",
|
fprintf (asm_out_file, "\t%s\t%u\t%s %s:%u\n",
|
||||||
UNALIGNED_INT_ASM_OP, line, ASM_COMMENT_START,
|
UNALIGNED_INT_ASM_OP, line, ASM_COMMENT_START,
|
||||||
filename, line);
|
filename, line);
|
||||||
ASM_OUTPUT_DWARF_DATA2 (asm_out_file, 0xffff);
|
ASM_OUTPUT_DWARF_DATA2 (asm_out_file, 0xffff);
|
||||||
@ -4084,7 +4074,7 @@ generate_macinfo_entry (type_and_offset, string)
|
|||||||
{
|
{
|
||||||
fputc ('\n', asm_out_file);
|
fputc ('\n', asm_out_file);
|
||||||
ASM_DWARF_MACINFO_SECTION (asm_out_file);
|
ASM_DWARF_MACINFO_SECTION (asm_out_file);
|
||||||
fprintf (asm_out_file, "%s\t%s\n", UNALIGNED_INT_ASM_OP, type_and_offset);
|
fprintf (asm_out_file, "\t%s\t%s\n", UNALIGNED_INT_ASM_OP, type_and_offset);
|
||||||
ASM_OUTPUT_DWARF_STRING (asm_out_file, string);
|
ASM_OUTPUT_DWARF_STRING (asm_out_file, string);
|
||||||
ASM_DWARF_POP_SECTION (asm_out_file);
|
ASM_DWARF_POP_SECTION (asm_out_file);
|
||||||
}
|
}
|
||||||
@ -4245,20 +4235,12 @@ dwarfout_init (asm_out_file, main_input_filename)
|
|||||||
ASM_DWARF_SFNAMES_SECTION (asm_out_file);
|
ASM_DWARF_SFNAMES_SECTION (asm_out_file);
|
||||||
ASM_OUTPUT_LABEL (asm_out_file, SFNAMES_BEGIN_LABEL);
|
ASM_OUTPUT_LABEL (asm_out_file, SFNAMES_BEGIN_LABEL);
|
||||||
{
|
{
|
||||||
register unsigned len = 1024;
|
register char *pwd = getpwd ();
|
||||||
register char *dirname = (char *) xmalloc (len + 1);
|
register unsigned len = strlen (pwd);
|
||||||
|
register char *dirname = (char *) xmalloc (len + 2);
|
||||||
|
|
||||||
/* We don't know how much space the dirname needs,
|
strcpy (dirname, pwd);
|
||||||
so try bigger and bigger buffers until it fits. */
|
strcpy (dirname + len, "/");
|
||||||
for (;;)
|
|
||||||
{
|
|
||||||
getcwd (dirname, len); /* Being conservative here. */
|
|
||||||
if (strlen (dirname) < len - 1) /* Being conservative here. */
|
|
||||||
break;
|
|
||||||
len *= 2;
|
|
||||||
dirname = (char *) xrealloc (dirname, len + 1);
|
|
||||||
}
|
|
||||||
strcat (dirname, "/");
|
|
||||||
ASM_OUTPUT_DWARF_STRING (asm_out_file, dirname);
|
ASM_OUTPUT_DWARF_STRING (asm_out_file, dirname);
|
||||||
free (dirname);
|
free (dirname);
|
||||||
}
|
}
|
||||||
|
@ -68,27 +68,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
|||||||
#include "gvarargs.h"
|
#include "gvarargs.h"
|
||||||
#include "getopt.h"
|
#include "getopt.h"
|
||||||
|
|
||||||
#ifndef PATH_MAX /* <limits.h> defines this on most POSIX systems. */
|
|
||||||
#include <sys/param.h>
|
|
||||||
/* Sometimes <sys/param.h> defines these macros. */
|
|
||||||
#undef CHAR_BIT
|
|
||||||
#undef CHAR_MAX
|
|
||||||
#undef CHAR_MIN
|
|
||||||
#undef CLK_TCK
|
|
||||||
#undef INT_MAX
|
|
||||||
#undef INT_MIN
|
|
||||||
#undef LONG_MAX
|
|
||||||
#undef LONG_MIN
|
|
||||||
#undef SCHAR_MAX
|
|
||||||
#undef SCHAR_MIN
|
|
||||||
#undef SHRT_MAX
|
|
||||||
#undef SHRT_MIN
|
|
||||||
#undef UCHAR_MAX
|
|
||||||
#undef UINT_MAX
|
|
||||||
#undef ULONG_MAX
|
|
||||||
#undef USHRT_MAX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
extern int errno;
|
extern int errno;
|
||||||
extern char *sys_errlist[];
|
extern char *sys_errlist[];
|
||||||
extern char *version_string;
|
extern char *version_string;
|
||||||
@ -108,12 +87,7 @@ extern char *version_string;
|
|||||||
#define my_open(file, mode, flag) open((char *)file, mode, flag)
|
#define my_open(file, mode, flag) open((char *)file, mode, flag)
|
||||||
#define my_chmod(file, mode) chmod((char *)file, mode)
|
#define my_chmod(file, mode) chmod((char *)file, mode)
|
||||||
|
|
||||||
#if !(defined (USG) || defined (VMS) || defined (POSIX))
|
char *getpwd ();
|
||||||
#define GUESSPATHLEN (MAXPATHLEN + 1)
|
|
||||||
#else /* (defined (USG) || defined (VMS) || defined (POSIX)) */
|
|
||||||
/* We actually use this as a starting point, not a limit. */
|
|
||||||
#define GUESSPATHLEN 200
|
|
||||||
#endif /* (defined (USG) || defined (VMS) || defined (POSIX)) */
|
|
||||||
|
|
||||||
/* Aliases for pointers to void.
|
/* Aliases for pointers to void.
|
||||||
These were made to facilitate compilation with other compilers. */
|
These were made to facilitate compilation with other compilers. */
|
||||||
@ -144,17 +118,6 @@ typedef char * const_pointer_type;
|
|||||||
#define O_RDONLY 0
|
#define O_RDONLY 0
|
||||||
#define O_WRONLY 1
|
#define O_WRONLY 1
|
||||||
|
|
||||||
/* Virtually every UN*X system now in common use (except for pre-4.3-tahoe
|
|
||||||
BSD systems) now provides getcwd as called for by POSIX. Allow for
|
|
||||||
the few exceptions to the general rule here. */
|
|
||||||
|
|
||||||
#if !(defined (USG) || defined (VMS))
|
|
||||||
extern char *getwd ();
|
|
||||||
#define getcwd(buf,len) getwd(buf)
|
|
||||||
#else /* (defined (USG) || defined (VMS)) */
|
|
||||||
extern char *getcwd ();
|
|
||||||
#endif /* (defined (USG) || defined (VMS)) */
|
|
||||||
|
|
||||||
/* Declaring stat or __flsbuf with a prototype
|
/* Declaring stat or __flsbuf with a prototype
|
||||||
causes conflicts with system headers on some systems. */
|
causes conflicts with system headers on some systems. */
|
||||||
|
|
||||||
@ -4403,23 +4366,16 @@ main (argc, argv)
|
|||||||
{
|
{
|
||||||
int longind;
|
int longind;
|
||||||
int c;
|
int c;
|
||||||
int size;
|
|
||||||
|
|
||||||
pname = strrchr (argv[0], '/');
|
pname = strrchr (argv[0], '/');
|
||||||
pname = pname ? pname+1 : argv[0];
|
pname = pname ? pname+1 : argv[0];
|
||||||
|
|
||||||
/* Read the working directory, avoiding arbitrary limit. */
|
cwd_buffer = getpwd ();
|
||||||
size = GUESSPATHLEN;
|
if (!cwd_buffer)
|
||||||
while (1)
|
|
||||||
{
|
{
|
||||||
char *value;
|
fprintf (stderr, "%s: cannot get working directory: %s\n",
|
||||||
|
pname, sys_errlist[errno]);
|
||||||
cwd_buffer = (char *) xmalloc (size);
|
exit (1);
|
||||||
value = getcwd (cwd_buffer, size);
|
|
||||||
if (value != 0 || errno != ERANGE)
|
|
||||||
break;
|
|
||||||
free (cwd_buffer);
|
|
||||||
size *= 2;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* By default, convert the files in the current directory. */
|
/* By default, convert the files in the current directory. */
|
||||||
|
Loading…
Reference in New Issue
Block a user