* Makefile.in (GCC_OBJS): Remove opts-common.o and options.o.
(OBJS): Remove options.o, opts-common.o and prefix.o.
(OBJS-libcommon-target): New.
(ALL_HOST_BACKEND_OBJS): Include $(OBJS-libcommon-target).
(BACKEND): Include libcommon-target.a.
(MOSTLYCLEANFILES): Include libcommon-target.a.
(libcommon-target.a): New.
(xgcc$(exeext), cpp$(exeext)): Use libcommon-target.a instead of
prefix.o.
ada:
* gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
$(EXTRA_GNAT1_OBJS).
(GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
(EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
(gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
* gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
libcommon-target.a instead of prefix.o.
cp:
* Make-lang.in (GXX_OBJS): Remove prefix.o.
(g++$(exeext)): Use libcommon-target.a.
(CXX_C_OBJS): Remove prefix.o.
fortran:
* Make-lang.in (GFORTRAN_D_OBJS): Remove prefix.o.
(gfortran$(exeext)): Use libcommon-target.a.
go:
* Make-lang.in (GCCGO_OBJS): Remove prefix.o.
(gccgo$(exeext)): Use libcommon-target.a.
java:
* Make-lang.in ($(XGCJ)$(exeext)): Use libcommon-target.a instead
of prefix.o.
From-SVN: r174109
+2011-05-24 Joseph Myers <joseph@codesourcery.com>
+
+ * Makefile.in (GCC_OBJS): Remove opts-common.o and options.o.
+ (OBJS): Remove options.o, opts-common.o and prefix.o.
+ (OBJS-libcommon-target): New.
+ (ALL_HOST_BACKEND_OBJS): Include $(OBJS-libcommon-target).
+ (BACKEND): Include libcommon-target.a.
+ (MOSTLYCLEANFILES): Include libcommon-target.a.
+ (libcommon-target.a): New.
+ (xgcc$(exeext), cpp$(exeext)): Use libcommon-target.a instead of
+ prefix.o.
+
2011-05-23 Joseph Myers <joseph@codesourcery.com>
* optc-save-gen.awk: New. Based on optc-gen.awk. Don't generate
FORTRAN_TARGET_OBJS=@fortran_target_objs@
# Object files for gcc driver.
-GCC_OBJS = gcc.o opts-common.o options.o vec.o ggc-none.o
+GCC_OBJS = gcc.o vec.o ggc-none.o
# Language-specific object files shared by all C-family front ends.
C_COMMON_OBJS = c-family/c-common.o c-family/c-cppbuiltin.o c-family/c-dump.o \
omega.o \
omp-low.o \
optabs.o \
- options.o \
options-save.o \
- opts-common.o \
opts-global.o \
opts.o \
params.o \
postreload-gcse.o \
postreload.o \
predict.o \
- prefix.o \
print-rtl.o \
print-tree.o \
profile.o \
# no target dependencies.
OBJS-libcommon = diagnostic.o pretty-print.o intl.o input.o version.o
+# Objects in libcommon-target.a, used by drivers and by the core
+# compiler and containing target-dependent code.
+OBJS-libcommon-target = prefix.o opts-common.o options.o
+
# This lists all host objects for the front ends.
ALL_HOST_FRONTEND_OBJS = $(C_OBJS) \
$(foreach v,$(CONFIG_LANGUAGES),$($(v)_OBJS))
ALL_HOST_BACKEND_OBJS = $(GCC_OBJS) $(OBJS) $(OBJS-libcommon) \
- @TREEBROWSER@ main.o gccspec.o prefix.o cppspec.o \
+ $(OBJS-libcommon-target) @TREEBROWSER@ main.o gccspec.o cppspec.o \
$(COLLECT2_OBJS) $(EXTRA_GCC_OBJS) mips-tfile.o mips-tdump.o \
$(GCOV_OBJS) $(GCOV_DUMP_OBJS)
# compilation or not.
ALL_HOST_OBJS = $(ALL_HOST_FRONTEND_OBJS) $(ALL_HOST_BACKEND_OBJS)
-BACKEND = main.o @TREEBROWSER@ libbackend.a libcommon.a $(CPPLIB) \
- $(LIBDECNUMBER)
+BACKEND = main.o @TREEBROWSER@ libbackend.a libcommon-target.a libcommon.a \
+ $(CPPLIB) $(LIBDECNUMBER)
MOSTLYCLEANFILES = insn-flags.h insn-config.h insn-codes.h \
insn-output.c insn-recog.c insn-emit.c insn-extract.c insn-peep.c \
$(EXTRA_PARTS) $(EXTRA_PROGRAMS) gcc-cross$(exeext) \
$(SPECS) collect2$(exeext) lto-wrapper$(exeext) \
gcov-iov$(build_exeext) gcov$(exeext) gcov-dump$(exeext) \
- *.[0-9][0-9].* *.[si] *-checksum.c libbackend.a libcommon.a libgcc.mk
+ *.[0-9][0-9].* *.[si] *-checksum.c libbackend.a libcommon-target.a \
+ libcommon.a libgcc.mk
# Defined in libgcc2.c, included only in the static library.
LIB2FUNCS_ST = _eprintf __gcc_bcmp
$(AR) $(AR_FLAGS) libbackend.a $(OBJS)
-$(RANLIB) $(RANLIB_FLAGS) libbackend.a
+libcommon-target.a: $(OBJS-libcommon-target)
+ -rm -rf libcommon-target.a
+ $(AR) $(AR_FLAGS) libcommon-target.a $(OBJS-libcommon-target)
+ -$(RANLIB) $(RANLIB_FLAGS) libcommon-target.a
+
libcommon.a: $(OBJS-libcommon)
-rm -rf libcommon.a
$(AR) $(AR_FLAGS) libcommon.a $(OBJS-libcommon)
# We call this executable `xgcc' rather than `gcc'
# to avoid confusion if the current directory is in the path
# and CC is `gcc'. It is renamed to `gcc' when it is installed.
-xgcc$(exeext): $(GCC_OBJS) gccspec.o prefix.o $(LIBDEPS) $(EXTRA_GCC_OBJS)
+xgcc$(exeext): $(GCC_OBJS) gccspec.o libcommon-target.a $(LIBDEPS) \
+ $(EXTRA_GCC_OBJS)
+$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(GCC_OBJS) \
- gccspec.o prefix.o $(EXTRA_GCC_OBJS) $(LIBS)
+ gccspec.o $(EXTRA_GCC_OBJS) libcommon-target.a $(LIBS)
# cpp is to cpp0 as gcc is to cc1.
# The only difference from xgcc is that it's linked with cppspec.o
# instead of gccspec.o.
-cpp$(exeext): $(GCC_OBJS) cppspec.o prefix.o $(LIBDEPS) $(EXTRA_GCC_OBJS)
+cpp$(exeext): $(GCC_OBJS) cppspec.o libcommon-target.a $(LIBDEPS) \
+ $(EXTRA_GCC_OBJS)
+$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(GCC_OBJS) \
- cppspec.o prefix.o $(EXTRA_GCC_OBJS) $(LIBS)
+ cppspec.o $(EXTRA_GCC_OBJS) libcommon-target.a $(LIBS)
# Dump a specs file to make -B./ read these specs over installed ones.
$(SPECS): xgcc$(exeext)
+2011-05-24 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
+ $(EXTRA_GNAT1_OBJS).
+ (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
+ (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
+ (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
+ * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
+ libcommon-target.a instead of prefix.o.
+
2011-05-21 Joseph Myers <joseph@codesourcery.com>
PR ada/49097
# Object files for gnat executables
GNAT1_ADA_OBJS = $(GNAT_ADA_OBJS) ada/back_end.o ada/gnat1drv.o
-GNAT1_OBJS = $(GNAT1_C_OBJS) $(GNAT1_ADA_OBJS) $(EXTRA_GNAT1_OBJS)
+GNAT1_OBJS = $(GNAT1_C_OBJS) $(GNAT1_ADA_OBJS)
GNATBIND_OBJS = \
ada/adaint.o \
ada/uintp.o \
ada/uname.o \
ada/urealp.o \
- ada/widechar.o \
- $(EXTRA_GNATBIND_OBJS)
-
-# List of extra object files linked in with various programs.
-EXTRA_GNAT1_OBJS = prefix.o
-EXTRA_GNATBIND_OBJS = prefix.o
+ ada/widechar.o
# Language-independent object files.
ADA_BACKEND = $(BACKEND) attribs.o
# Needs to be built with CC=gcc
# Since the RTL should be built with the latest compiler, remove the
# stamp target in the parent directory whenever gnat1 is rebuilt
-gnat1$(exeext): $(TARGET_ADA_SRCS) $(GNAT1_OBJS) $(ADA_BACKEND) $(LIBDEPS)
- $(GCC_LINK) -o $@ $(GNAT1_OBJS) $(ADA_BACKEND) $(LIBS) $(SYSLIBS) $(BACKENDLIBS) $(CFLAGS)
+gnat1$(exeext): $(TARGET_ADA_SRCS) $(GNAT1_OBJS) $(ADA_BACKEND) libcommon-target.a $(LIBDEPS)
+ $(GCC_LINK) -o $@ $(GNAT1_OBJS) $(ADA_BACKEND) libcommon-target.a $(LIBS) $(SYSLIBS) $(BACKENDLIBS) $(CFLAGS)
$(RM) stamp-gnatlib2-rts stamp-tools
-gnatbind$(exeext): ada/b_gnatb.o $(CONFIG_H) $(GNATBIND_OBJS) $(LIBDEPS)
- $(GCC_LINK) -o $@ ada/b_gnatb.o $(GNATBIND_OBJS) $(LIBS) $(SYSLIBS) $(CFLAGS)
+gnatbind$(exeext): ada/b_gnatb.o $(CONFIG_H) $(GNATBIND_OBJS) libcommon-target.a $(LIBDEPS)
+ $(GCC_LINK) -o $@ ada/b_gnatb.o $(GNATBIND_OBJS) libcommon-target.a $(LIBS) $(SYSLIBS) $(CFLAGS)
# use cross-gcc
gnat-cross: force
SYSLIBS = @GNAT_LIBEXC@
# List of extra object files linked in with various programs.
-EXTRA_GNATTOOLS_OBJS = ../../prefix.o ../../libcommon.a
+EXTRA_GNATTOOLS_OBJS = ../../libcommon-target.a ../../libcommon.a
# List extra gnattools
EXTRA_GNATTOOLS =
+2011-05-24 Joseph Myers <joseph@codesourcery.com>
+
+ * Make-lang.in (GXX_OBJS): Remove prefix.o.
+ (g++$(exeext)): Use libcommon-target.a.
+ (CXX_C_OBJS): Remove prefix.o.
+
2011-05-23 Jason Merrill <jason@redhat.com>
* pt.c (tsubst_copy_and_build): Use current_class_name.
$(INCLUDES) $(srcdir)/cp/g++spec.c)
# Create the compiler driver for g++.
-GXX_OBJS = $(GCC_OBJS) g++spec.o prefix.o
-g++$(exeext): $(GXX_OBJS) $(EXTRA_GCC_OBJS) $(LIBDEPS)
+GXX_OBJS = $(GCC_OBJS) g++spec.o
+g++$(exeext): $(GXX_OBJS) $(EXTRA_GCC_OBJS) libcommon-target.a $(LIBDEPS)
+$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
- $(GXX_OBJS) $(EXTRA_GCC_OBJS) $(LIBS)
+ $(GXX_OBJS) $(EXTRA_GCC_OBJS) libcommon-target.a $(LIBS)
# Create a version of the g++ driver which calls the cross-compiler.
g++-cross$(exeext): g++$(exeext)
# The compiler itself.
# Shared with C front end:
-CXX_C_OBJS = attribs.o incpath.o prefix.o \
+CXX_C_OBJS = attribs.o incpath.o \
$(C_COMMON_OBJS) $(CXX_TARGET_OBJS)
# Language-specific object files for C++ and Objective C++.
+2011-05-24 Joseph Myers <joseph@codesourcery.com>
+
+ * Make-lang.in (GFORTRAN_D_OBJS): Remove prefix.o.
+ (gfortran$(exeext)): Use libcommon-target.a.
+
2011-05-22 Thomas Koenig <tkoenig@gcc.gnu.org>
* frontend-passes.c (cfe_register_funcs): Also register
$(INCLUDES) $(srcdir)/fortran/gfortranspec.c)
# Create the compiler driver gfortran.
-GFORTRAN_D_OBJS = $(GCC_OBJS) gfortranspec.o prefix.o
-gfortran$(exeext): $(GFORTRAN_D_OBJS) $(EXTRA_GCC_OBJS) $(LIBDEPS)
+GFORTRAN_D_OBJS = $(GCC_OBJS) gfortranspec.o
+gfortran$(exeext): $(GFORTRAN_D_OBJS) $(EXTRA_GCC_OBJS) libcommon-target.a \
+ $(LIBDEPS)
+$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
- $(GFORTRAN_D_OBJS) $(EXTRA_GCC_OBJS) $(LIBS)
+ $(GFORTRAN_D_OBJS) $(EXTRA_GCC_OBJS) libcommon-target.a $(LIBS)
# Create a version of the gfortran driver which calls the cross-compiler.
gfortran-cross$(exeext): gfortran$(exeext)
+2011-05-24 Joseph Myers <joseph@codesourcery.com>
+
+ * Make-lang.in (GCCGO_OBJS): Remove prefix.o.
+ (gccgo$(exeext)): Use libcommon-target.a.
+
2011-05-20 Joseph Myers <joseph@codesourcery.com>
* Make-lang.in (GCCGO_OBJS): Remove intl.o and version.o.
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(DRIVER_DEFINES) \
$(INCLUDES) $(srcdir)/go/gospec.c)
-GCCGO_OBJS = $(GCC_OBJS) gospec.o prefix.o
-gccgo$(exeext): $(GCCGO_OBJS) $(EXTRA_GCC_OBJS) $(LIBDEPS)
+GCCGO_OBJS = $(GCC_OBJS) gospec.o
+gccgo$(exeext): $(GCCGO_OBJS) $(EXTRA_GCC_OBJS) libcommon-target.a $(LIBDEPS)
$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
- $(GCCGO_OBJS) $(EXTRA_GCC_OBJS) $(LIBS)
+ $(GCCGO_OBJS) $(EXTRA_GCC_OBJS) libcommon-target.a $(LIBS)
# Use strict warnings.
go-warn = $(STRICT_WARN)
+2011-05-24 Joseph Myers <joseph@codesourcery.com>
+
+ * Make-lang.in ($(XGCJ)$(exeext)): Use libcommon-target.a instead
+ of prefix.o.
+
2011-05-20 Joseph Myers <joseph@codesourcery.com>
* Make-lang.in ($(XGCJ)$(exeext)): Don't explicitly use intl.o and
# Create the compiler driver for $(XGCJ).
$(XGCJ)$(exeext): $(GCC_OBJS) jvspec.o java/jcf-path.o \
- prefix.o $(LIBDEPS) $(EXTRA_GCC_OBJS)
+ libcommon-target.a $(LIBDEPS) $(EXTRA_GCC_OBJS)
+$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $(GCC_OBJS) \
- jvspec.o java/jcf-path.o prefix.o $(EXTRA_GCC_OBJS) $(LIBS)
+ jvspec.o java/jcf-path.o $(EXTRA_GCC_OBJS) libcommon-target.a $(LIBS)
# Create a version of the $(XGCJ) driver which calls the cross-compiler.
$(XGCJ)-cross$(exeext): $(XGCJ)$(exeext)