aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog12
-rw-r--r--gcc/Makefile.in33
-rw-r--r--gcc/ada/ChangeLog10
-rw-r--r--gcc/ada/gcc-interface/Make-lang.in17
-rw-r--r--gcc/ada/gcc-interface/Makefile.in2
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/Make-lang.in8
-rw-r--r--gcc/fortran/ChangeLog5
-rw-r--r--gcc/fortran/Make-lang.in7
-rw-r--r--gcc/go/ChangeLog5
-rw-r--r--gcc/go/Make-lang.in6
-rw-r--r--gcc/java/ChangeLog5
-rw-r--r--gcc/java/Make-lang.in4
13 files changed, 84 insertions, 36 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2564a7d..cf44fed 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,15 @@
+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
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index ef5bc6c..2aee948 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -1168,7 +1168,7 @@ CXX_TARGET_OBJS=@cxx_target_objs@
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 \
@@ -1340,9 +1340,7 @@ OBJS = \
omega.o \
omp-low.o \
optabs.o \
- options.o \
options-save.o \
- opts-common.o \
opts-global.o \
opts.o \
params.o \
@@ -1352,7 +1350,6 @@ OBJS = \
postreload-gcse.o \
postreload.o \
predict.o \
- prefix.o \
print-rtl.o \
print-tree.o \
profile.o \
@@ -1494,12 +1491,16 @@ OBJS = \
# 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)
@@ -1507,8 +1508,8 @@ ALL_HOST_BACKEND_OBJS = $(GCC_OBJS) $(OBJS) $(OBJS-libcommon) \
# 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 \
@@ -1520,7 +1521,8 @@ MOSTLYCLEANFILES = insn-flags.h insn-config.h insn-codes.h \
$(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
@@ -1832,6 +1834,11 @@ libbackend.a: $(OBJS)
$(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)
@@ -1840,16 +1847,18 @@ 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)
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index d6e9d9d7..2836e26 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,13 @@
+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
diff --git a/gcc/ada/gcc-interface/Make-lang.in b/gcc/ada/gcc-interface/Make-lang.in
index 66b03f4..dbd1f08 100644
--- a/gcc/ada/gcc-interface/Make-lang.in
+++ b/gcc/ada/gcc-interface/Make-lang.in
@@ -340,7 +340,7 @@ GNAT_ADA_OBJS = \
# 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 \
@@ -464,12 +464,7 @@ GNATBIND_OBJS = \
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
@@ -480,12 +475,12 @@ TARGET_ADA_SRCS =
# 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
diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in
index fbcff81..0b58c18 100644
--- a/gcc/ada/gcc-interface/Makefile.in
+++ b/gcc/ada/gcc-interface/Makefile.in
@@ -180,7 +180,7 @@ LIBINTL_DEP = @LIBINTL_DEP@
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 =
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index ee2c9d9..8c47e0f 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+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.
diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in
index e343c3f..45efd67 100644
--- a/gcc/cp/Make-lang.in
+++ b/gcc/cp/Make-lang.in
@@ -60,10 +60,10 @@ g++spec.o: $(srcdir)/cp/g++spec.c $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H) \
$(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)
@@ -72,7 +72,7 @@ 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++.
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 55994c3..e8a0084 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,8 @@
+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
diff --git a/gcc/fortran/Make-lang.in b/gcc/fortran/Make-lang.in
index 174a144..f20638c 100644
--- a/gcc/fortran/Make-lang.in
+++ b/gcc/fortran/Make-lang.in
@@ -84,10 +84,11 @@ gfortranspec.o: $(srcdir)/fortran/gfortranspec.c $(SYSTEM_H) $(TM_H) $(GCC_H) \
$(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)
diff --git a/gcc/go/ChangeLog b/gcc/go/ChangeLog
index 5a0d30a..1e936a6 100644
--- a/gcc/go/ChangeLog
+++ b/gcc/go/ChangeLog
@@ -1,3 +1,8 @@
+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.
diff --git a/gcc/go/Make-lang.in b/gcc/go/Make-lang.in
index 0342b32..82e219b 100644
--- a/gcc/go/Make-lang.in
+++ b/gcc/go/Make-lang.in
@@ -36,10 +36,10 @@ gospec.o: $(srcdir)/go/gospec.c $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H) \
$(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)
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index e0d97bf..3bf7405 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,8 @@
+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
diff --git a/gcc/java/Make-lang.in b/gcc/java/Make-lang.in
index 21bf93d..bdd8b18 100644
--- a/gcc/java/Make-lang.in
+++ b/gcc/java/Make-lang.in
@@ -64,9 +64,9 @@ jvspec.o: $(srcdir)/java/jvspec.c $(SYSTEM_H) coretypes.h $(TM_H) \
# 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)