]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - gmon/Makefile
Add a test for profiling static executable
[thirdparty/glibc.git] / gmon / Makefile
index 2cd077decede99c2c511b7d03182113269e6f36f..89ab3fc7dac293f9b00494067c95effde72f8bfa 100644 (file)
@@ -33,6 +33,9 @@ tests-static  += tst-profile-static
 LDFLAGS-tst-profile-static = -profile
 endif
 
+tests += tst-gmon-static
+tests-static += tst-gmon-static
+
 ifeq (yesyes,$(have-fpie)$(build-shared))
 tests += tst-gmon-pie
 tests-pie += tst-gmon-pie
@@ -49,6 +52,14 @@ ifeq ($(run-built-tests),yes)
 tests-special += $(objpfx)tst-gmon-gprof.out
 endif
 
+CFLAGS-tst-gmon-static.c := $(PIE-ccflag) -fno-omit-frame-pointer -pg
+CRT-tst-gmon-static := $(csu-objpfx)gcrt1.o
+DEFAULT-LDFLAGS-tst-gmon-static = $(no-pie-ldflag)
+tst-gmon-static-ENV := GMON_OUT_PREFIX=$(objpfx)tst-gmon-static.data
+ifeq ($(run-built-tests),yes)
+tests-special += $(objpfx)tst-gmon-static-gprof.out
+endif
+
 CFLAGS-tst-gmon-pie.c := $(PIE-ccflag) -fno-omit-frame-pointer -pg
 CRT-tst-gmon-pie := $(csu-objpfx)gcrt1.o
 tst-gmon-pie-ENV := GMON_OUT_PREFIX=$(objpfx)tst-gmon-pie.data
@@ -83,6 +94,16 @@ $(objpfx)tst-gmon-gprof.out: tst-gmon-gprof.sh $(objpfx)tst-gmon.out
        $(SHELL) $< $(GPROF) $(objpfx)tst-gmon $(objpfx)tst-gmon.data.* > $@; \
        $(evaluate-test)
 
+$(objpfx)tst-gmon-static.out: clean-tst-gmon-static-data
+clean-tst-gmon-static-data:
+       rm -f $(objpfx)tst-gmon-static.data.*
+
+$(objpfx)tst-gmon-static-gprof.out: tst-gmon-static-gprof.sh \
+                                   $(objpfx)tst-gmon-static.out
+       $(SHELL) $< $(GPROF) $(objpfx)tst-gmon-static \
+               $(objpfx)tst-gmon-static.data.* > $@; \
+       $(evaluate-test)
+
 $(objpfx)tst-gmon-pie.out: clean-tst-gmon-pie-data
 clean-tst-gmon-pie-data:
        rm -f $(objpfx)tst-gmon-pie.data.*