From ad64399d156c7b7d0a04a86e4b23d85347e0288d Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Sat, 15 Nov 2008 12:34:28 -0500 Subject: [PATCH] Add support to build profiled binaries in the misc directory Signed-off-by: "Theodore Ts'o" --- MCONFIG.in | 4 +- misc/Makefile.in | 110 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 109 insertions(+), 5 deletions(-) diff --git a/MCONFIG.in b/MCONFIG.in index d72ca81..f67682e 100644 --- a/MCONFIG.in +++ b/MCONFIG.in @@ -86,7 +86,7 @@ STATIC_LIBCOM_ERR = $(LIB)/libcom_err@STATIC_LIB_EXT@ @SEM_INIT_LIB@ STATIC_LIBE2P = $(LIB)/libe2p@STATIC_LIB_EXT@ STATIC_LIBEXT2FS = $(LIB)/libext2fs@STATIC_LIB_EXT@ STATIC_LIBUUID = $(LIB)/libuuid@STATIC_LIB_EXT@ @SOCKET_LIB@ -STATIC_LIBBLKID = $(LIB)/libblkid@STATIC_LIB_EXT@ +STATIC_LIBBLKID = $(LIB)/libblkid@STATIC_LIB_EXT@ $(STATIC_LIBUUID) DEPSTATIC_LIBSS = $(LIB)/libss@STATIC_LIB_EXT@ DEPSTATIC_LIBUUID = $(LIB)/libuuid@STATIC_LIB_EXT@ DEPSTATIC_LIBBLKID = $(LIB)/libblkid@STATIC_LIB_EXT@ @@ -96,7 +96,7 @@ PROFILED_LIBCOM_ERR = $(LIB)/libcom_err@PROFILED_LIB_EXT@ @SEM_INIT_LIB@ PROFILED_LIBE2P = $(LIB)/libe2p@PROFILED_LIB_EXT@ PROFILED_LIBEXT2FS = $(LIB)/libext2fs@PROFILED_LIB_EXT@ PROFILED_LIBUUID = $(LIB)/libuuid@PROFILED_LIB_EXT@ @SOCKET_LIB@ -PROFILED_LIBBLKID = $(LIB)/libblkid@PROFILED_LIB_EXT@ +PROFILED_LIBBLKID = $(LIB)/libblkid@PROFILED_LIB_EXT@ $(PROFILED_LIBUUID) DEPPROFILED_LIBUUID = $(LIB)/libuuid@PROFILED_LIB_EXT@ DEPPROFILED_LIBBLKID = $(LIB)/libblkid@PROFILED_LIB_EXT@ diff --git a/misc/Makefile.in b/misc/Makefile.in index ccbf8a0..e35bb8f 100644 --- a/misc/Makefile.in +++ b/misc/Makefile.in @@ -45,6 +45,24 @@ BLKID_OBJS= blkid.o FILEFRAG_OBJS= filefrag.o E2UNDO_OBJS= e2undo.o +PROFILED_TUNE2FS_OBJS= profiled/tune2fs.o profiled/util.o +PROFILED_MKLPF_OBJS= profiled/mklost+found.o +PROFILED_MKE2FS_OBJS= profiled/mke2fs.o profiled/util.o profiled/profile.o \ + profiled/prof_err.o profiled/default_profile.o +PROFILED_CHATTR_OBJS= profiled/chattr.o +PROFILED_LSATTR_OBJS= profiled/lsattr.o +PROFILED_UUIDGEN_OBJS= profiled/uuidgen.o +PROFILED_UUIDD_OBJS= profiled/uuidd.o +PROFILED_DUMPE2FS_OBJS= profiled/dumpe2fs.o +PROFILED_BADBLOCKS_OBJS= profiled/badblocks.o +PROFILED_E2IMAGE_OBJS= profiled/e2image.o +PROFILED_FSCK_OBJS= profiled/fsck.o profiled/base_device.o \ + profiled/ismounted.o +PROFILED_BLKID_OBJS= profiled/blkid.o +PROFILED_FILEFRAG_OBJS= profiled/filefrag.o +PROFILED_E2UNDO_OBJS= profiled/e2undo.o + + XTRA_CFLAGS= -I$(srcdir)/../e2fsck -I. SRCS= $(srcdir)/tune2fs.c $(srcdir)/mklost+found.c $(srcdir)/mke2fs.c \ @@ -57,6 +75,8 @@ SRCS= $(srcdir)/tune2fs.c $(srcdir)/mklost+found.c $(srcdir)/mke2fs.c \ LIBS= $(LIBEXT2FS) $(LIBCOM_ERR) DEPLIBS= $(LIBEXT2FS) $(LIBCOM_ERR) +PROFILED_LIBS= $(PROFILED_LIBEXT2FS) $(PROFILED_LIBCOM_ERR) +PROFILED_DEPLIBS= $(PROFILED_LIBEXT2FS) $(PROFILED_LIBCOM_ERR) STATIC_LIBS= $(STATIC_LIBEXT2FS) $(STATIC_LIBCOM_ERR) STATIC_DEPLIBS= $(STATIC_LIBEXT2FS) $(STATIC_LIBCOM_ERR) @@ -69,10 +89,20 @@ COMPILE_ET=$(top_builddir)/lib/et/compile_et --build-tree .c.o: @echo " CC $<" @$(CC) -c $(ALL_CFLAGS) $< -o $@ +@PROFILE_CMT@ @$(CC) $(ALL_CFLAGS) -g -pg -o profiled/$*.o -c $< -all:: $(SPROGS) $(UPROGS) $(USPROGS) $(SMANPAGES) $(UMANPAGES) \ +all:: profiled $(SPROGS) $(UPROGS) $(USPROGS) $(SMANPAGES) $(UMANPAGES) \ $(FMANPAGES) $(LPROGS) +@PROFILE_CMT@all:: tune2fs.profiled blkid.profiled e2image.profiled \ + e2undo.profiled mke2fs.profiled dumpe2fs.profiled fsck.profiled \ + logsave.profiled filefrag.profiled uuidgen.profiled uuidd.profiled \ + e2image.profiled + +profiled: +@PROFILE_CMT@ @echo " MKDIR $@" +@PROFILE_CMT@ @mkdir profiled + prof_err.c prof_err.h: $(srcdir)/../e2fsck/prof_err.et @echo " COMPILE_ET prof_err.et" @$(COMPILE_ET) $(srcdir)/../e2fsck/prof_err.et @@ -84,6 +114,8 @@ default_profile.c: $(srcdir)/mke2fs.conf $(srcdir)/profile-to-c.awk profile.o: @echo " CC $<" @$(CC) -c $(ALL_CFLAGS) $(srcdir)/../e2fsck/profile.c -o $@ +@PROFILE_CMT@ @$(CC) $(ALL_CFLAGS) -g -pg -o profiled/profile.o -c \ +@PROFILE_CMT@ $(srcdir)/../e2fsck/profile.c findsuper: findsuper.o @echo " LD $@" @@ -110,19 +142,43 @@ tune2fs.static: $(TUNE2FS_OBJS) $(STATIC_DEPLIBS) $(STATIC_LIBE2P) $(DEPSTATIC_L $(STATIC_LIBS) $(STATIC_LIBBLKID) $(STATIC_LIBUUID) \ $(STATIC_LIBE2P) $(LIBINTL) +tune2fs.profiled: $(PROFILED_TUNE2FS_OBJS) $(PROFILED_DEPLIBS) \ + $(PROFILED_E2P) $(DEPPROFILED_LIBBLKID) $(DEPPROFILED_LIBUUID) + @echo " LD $@" + @$(CC) $(ALL_LDFLAGS) -g -pg -o tune2fs.profiled \ + $(PROFILED_TUNE2FS_OBJS) $(PROFILED_LIBBLKID) \ + $(PROFILED_LIBUUID) $(PROFILED_LIBE2P) $(LIBINTL) \ + $(PROFILED_LIBS) + blkid: $(BLKID_OBJS) $(DEPLIBBLKID) $(LIBEXT2FS) @echo " LD $@" @$(CC) $(ALL_LDFLAGS) -o blkid $(BLKID_OBJS) $(LIBBLKID) $(LIBINTL) \ $(LIBEXT2FS) +blkid.profiled: $(PROFILED_BLKID_OBJS) $(DEPPROFILED_LIBBLKID) \ + $(PROFILED_LIBEXT2FS) + @echo " LD $@" + @$(CC) $(ALL_LDFLAGS) -g -pg -o blkid.profiled $(PROFILED_BLKID_OBJS) \ + $(PROFILED_LIBBLKID) $(LIBINTL) $(PROFILED_LIBEXT2FS) + e2image: $(E2IMAGE_OBJS) $(DEPLIBS) @echo " LD $@" @$(CC) $(ALL_LDFLAGS) -o e2image $(E2IMAGE_OBJS) $(LIBS) $(LIBINTL) +e2image.profiled: $(PROFILED_E2IMAGE_OBJS) $(PROFILED_DEPLIBS) + @echo " LD $@" + @$(CC) $(ALL_LDFLAGS) -g -pg -o e2image.profiled \ + $(PROFILED_E2IMAGE_OBJS) $(PROFILED_LIBS) $(LIBINTL) + e2undo: $(E2UNDO_OBJS) $(DEPLIBS) @echo " LD $@" @$(CC) $(ALL_LDFLAGS) -o e2undo $(E2UNDO_OBJS) $(LIBS) $(LIBINTL) +e2undo.profiled: $(PROFILED_E2UNDO_OBJS) $(PROFILED_DEPLIBS) + @echo " LD $@" + @$(CC) $(ALL_LDFLAGS) -g -pg -o e2undo.profiled \ + $(PROFILED_E2UNDO_OBJS) $(PROFILED_LIBS) $(LIBINTL) + base_device: base_device.c @echo " LD $@" @$(CC) $(ALL_CFLAGS) $(ALL_LDFLAGS) $(srcdir)/base_device.c \ @@ -148,6 +204,14 @@ mke2fs.static: $(MKE2FS_OBJS) $(STATIC_DEPLIBS) $(STATIC_LIBE2P) $(DEPSTATIC_LIB $(STATIC_LIBS) $(STATIC_LIBE2P) $(STATIC_LIBBLKID) \ $(STATIC_LIBUUID) $(LIBINTL) +mke2fs.profiled: $(PROFILED_MKE2FS_OBJS) $(PROFILED_DEPLIBS) \ + $(PROFILED_LIBE2P) $(PROFILED_DEPLIBBLKID) $(PROFILED_DEPLIBUUID) + @echo " LD $@" + @$(CC) $(ALL_LDFLAGS) -g -pg -o mke2fs.profiled \ + $(PROFILED_MKE2FS_OBJS) $(PROFILED_LIBBLKID) \ + $(PROFILED_LIBUUID) $(PROFILED_LIBE2P) $(LIBINTL) \ + $(PROFILED_LIBS) + chattr: $(CHATTR_OBJS) $(DEPLIBS_E2P) @echo " LD $@" @$(CC) $(ALL_LDFLAGS) -o chattr $(CHATTR_OBJS) $(LIBS_E2P) $(LIBINTL) @@ -160,31 +224,67 @@ uuidgen: $(UUIDGEN_OBJS) $(DEPLIBUUID) @echo " LD $@" @$(CC) $(ALL_LDFLAGS) -o uuidgen $(UUIDGEN_OBJS) $(LIBUUID) $(LIBINTL) +uuidgen.profiled: $(PROFILED_UUIDGEN_OBJS) $(PROFILED_DEPLIBUUID) + @echo " LD $@" + @$(CC) $(ALL_LDFLAGS) -g -pg -o uuidgen.profiled \ + $(PROFILED_UUIDGEN_OBJS) $(PROFILED_LIBUUID) $(LIBINTL) + uuidd: $(UUIDD_OBJS) $(DEPLIBUUID) @echo " LD $@" @$(CC) $(ALL_LDFLAGS) -o uuidd $(UUIDD_OBJS) $(LIBUUID) $(LIBINTL) +uuidd.profiled: $(PROFILED_UUIDD_OBJS) $(PROFILED_DEPLIBUUID) + @echo " LD $@" + @$(CC) $(ALL_LDFLAGS) -g -pg -o uuidd.profiled $(PROFILED_UUIDD_OBJS) \ + $(PROFILED_LIBUUID) $(LIBINTL) + dumpe2fs: $(DUMPE2FS_OBJS) $(DEPLIBS) $(DEPLIBS_E2P) $(DEPLIBUUID) @echo " LD $@" @$(CC) $(ALL_LDFLAGS) -o dumpe2fs $(DUMPE2FS_OBJS) $(LIBS) \ $(LIBS_E2P) $(LIBUUID) $(LIBINTL) +dumpe2fs.profiled: $(PROFILED_DUMPE2FS_OBJS) $(PROFILED_DEPLIBS) \ + $(PROFILED_LIBE2P) $(PROFILED_DEPLIBUUID) + @echo " LD $@" + @$(CC) $(ALL_LDFLAGS) -g -pg -o dumpe2fs.profiled \ + $(PROFILED_DUMPE2FS_OBJS) $(PROFILED_LIBS) \ + $(PROFILED_LIBE2P) $(PROFILED_LIBUUID) $(LIBINTL) + fsck: $(FSCK_OBJS) $(DEPLIBBLKID) @echo " LD $@" @$(CC) $(ALL_LDFLAGS) -o fsck $(FSCK_OBJS) $(LIBBLKID) $(LIBINTL) +fsck.profiled: $(PROFILED_FSCK_OBJS) $(PROFILED_DEPLIBBLKID) + @echo " LD $@" + @$(CC) $(ALL_LDFLAGS) -g -pg -o fsck.profiled $(PROFILED_FSCK_OBJS) \ + $(PROFILED_LIBBLKID) $(LIBINTL) + badblocks: $(BADBLOCKS_OBJS) $(DEPLIBS) @echo " LD $@" @$(CC) $(ALL_LDFLAGS) -o badblocks $(BADBLOCKS_OBJS) $(LIBS) $(LIBINTL) +badblocks.profiled: $(PROFILED_BADBLOCKS_OBJS) $(PROFILED_DEPLIBS) + @echo " LD $@" + @$(CC) $(ALL_LDFLAGS) -g -pg -o badblocks.profiled \ + $(PROFILED_BADBLOCKS_OBJS) $(PROFILED_LIBS) $(LIBINTL) + logsave: logsave.o @echo " LD $@" @$(CC) $(ALL_LDFLAGS) -o logsave logsave.o +logsave.profiled: profiled/logsave.o + @echo " LD $@" + @$(CC) $(ALL_LDFLAGS) -g -pg -o logsave.profiled profiled/logsave.o + filefrag: $(FILEFRAG_OBJS) @echo " LD $@" @$(CC) $(ALL_LDFLAGS) -o filefrag $(FILEFRAG_OBJS) +filefrag.profiled: $(PROFILED_FILEFRAG_OBJS) + @echo " LD $@" + @$(CC) $(ALL_LDFLAGS) -g -pg -o filefrag.profiled \ + $(PROFILED_FILEFRAG_OBJS) + tst_ismounted: $(srcdir)/ismounted.c $(STATIC_LIBEXT2FS) @echo " LD $@" $(CC) -o tst_ismounted $(srcdir)/ismounted.c -DDEBUG $(ALL_CFLAGS) $(LIBCOM_ERR) @@ -424,8 +524,12 @@ clean: $(FMANPAGES) \ base_device base_device.out mke2fs.static filefrag \ e2initrd_helper partinfo prof_err.[ch] default_profile.c \ - uuidd e2image tune2fs.static tst_ismounted \ - \#* *.s *.o *.a *~ core + uuidd e2image tune2fs.static tst_ismounted fsck.profiled \ + blkid.profiled tune2fs.profiled e2image.profiled \ + e2undo.profiled mke2fs.profiled dumpe2fs.profiled \ + logsave.profiled filefrag.profiled uuidgen.profiled \ + uuidd.profiled e2image.profiled \ + profiled/*.o \#* *.s *.o *.a *~ core gmon.out mostlyclean: clean distclean: clean -- 1.8.3.1