This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [GSOC] LTO dump tool project
Hi.
There's working patch that really generates lto-dump binary.
Martin
diff --git a/gcc/lto/Make-lang.in b/gcc/lto/Make-lang.in
index 46950776dd2..502afe94851 100644
--- a/gcc/lto/Make-lang.in
+++ b/gcc/lto/Make-lang.in
@@ -21,10 +21,14 @@
# The name of the LTO compiler.
LTO_EXE = lto1$(exeext)
+LTO_DUMP_EXE = lto-dump$(exeext)
# The LTO-specific object files inclued in $(LTO_EXE).
LTO_OBJS = lto/lto-lang.o lto/lto.o lto/lto-object.o attribs.o lto/lto-partition.o lto/lto-symtab.o
lto_OBJS = $(LTO_OBJS)
+LTO_DUMP_OBJS = lto/lto-lang.o lto/lto-dump.o lto/lto-object.o attribs.o lto/lto-partition.o lto/lto-symtab.o
+lto_dump_OBJS = $(LTO_DUMP_OBJS)
+
# this is only useful in a LTO bootstrap, but this does not work right
# now. Should reenable after this is fixed, but only when LTO bootstrap
# is enabled.
@@ -39,8 +43,8 @@ lto_OBJS = $(LTO_OBJS)
# These hooks are used by the main GCC Makefile. Consult that
# Makefile for documentation.
-lto.all.cross: $(LTO_EXE)
-lto.start.encap: $(LTO_EXE)
+lto.all.cross: $(LTO_EXE) $(LTO_DUMP_EXE)
+lto.start.encap: $(LTO_EXE) $(LTO_DUMP_EXE)
lto.rest.encap:
lto.tags:
lto.install-common:
@@ -60,7 +64,7 @@ lto.srcinfo:
lto.install-plugin:
lto.mostlyclean:
- rm -f $(LTO_OBJS) $(LTO_EXE) lto1.fda
+ rm -f $(LTO_DUMP_OBJS) $(LTO_DUMP_EXE) lto-dump.fda $(LTO_OBJS) $(LTO_EXE) lto1.fda
lto.clean:
lto.distclean:
@@ -81,6 +85,10 @@ $(LTO_EXE): $(LTO_OBJS) $(BACKEND) $(LIBDEPS)
+$(LLINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
$(LTO_OBJS) $(BACKEND) $(BACKENDLIBS) $(LIBS)
+$(LTO_DUMP_EXE): $(LTO_DUMP_OBJS) $(BACKEND) $(LIBDEPS)
+ +$(LLINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
+ $(LTO_DUMP_OBJS) $(BACKEND) $(BACKENDLIBS) $(LIBS)
+
lto1.fda: ../prev-gcc/lto1$(exeext) ../prev-gcc/$(PERF_DATA)
$(CREATE_GCOV) -binary ../prev-gcc/lto1$(exeext) -gcov lto1.fda -profile ../prev-gcc/$(PERF_DATA) -gcov_version 1