From 946b3cb0cf91da6753b6a6e0f60b91d84fcdf097 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 14 Oct 1998 19:42:45 +0000 Subject: Patch from Ralf Corsepius : 2. "make profile" doesn't work. It aborts when building host-tools for embedded targets. I didn't yet have enough time to fix this problem. AFAIS this problem is related to handling of LDFLAGS_PROFILE[|_V] in gcc.cfg.in. For host applications, we use gcc for linking host applications, too. With profiling enabled CFLAGS_PROFILE_V contains -pg and is used to compile, but LDFLAGS_PROFILE_V is empty, hence -pg will not be passed to the linker causing gcc to fail to link, because it can't resolve some symbols introduced by compiling with -pg. I am not sure if I can provide a patch for this - Ether it is trivial to fix or requires basic work on host configuration ;- Fixing this one was trivial - But hard to trace. LDFLAGS_PROFILE_V needs to contain the same flags as CFLAGS_PROFILE_V, if gcc is used for linking (What else should have been expected ?, :-). The same problem was present for *_DEBUG_V, but apparently wasn't noticed by anybody, because things didn't break, but were silently ignored. I fixed these problems by setting these flags in configure.in whenever gcc is reported to be the host-compiler. For non-gcc host compilers "make debug" and "make profile" now becomes the same as an ordinary "make". This is a hack and addressing this problen could be more sophisticated, but I don't think it gives much sense to support compile variants for any host program (Who will ever try to profile/debug host tools?). Therefore I don't think it's useful to invest more effort into this problem. --- make/compilers/gcc.cfg.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'make/compilers') diff --git a/make/compilers/gcc.cfg.in b/make/compilers/gcc.cfg.in index df4c11cb8c..590bacc213 100644 --- a/make/compilers/gcc.cfg.in +++ b/make/compilers/gcc.cfg.in @@ -54,7 +54,7 @@ CFLAGS_DEBUG_V=@CC_CFLAGS_DEBUG_V@ CFLAGS_DEBUG_OPTIMIZE_V= # profile flag; use gprof(1) -CFLAGS_PROFILE_V=-pg +CFLAGS_PROFILE_V=@CC_CFLAGS_PROFILE_V@ # default is to optimize CFLAGS_OPTIMIZE=$(CFLAGS_OPTIMIZE_V) @@ -91,7 +91,7 @@ LDFLAGS_DYNAMIC_V = ?? LDFLAGS_DYNAMIC_LIBNAME_V = -h $(DYNAMIC_VERSION_LIBNAME) # ld flags for profiling, debugging -LDFLAGS_PROFILE_V = +LDFLAGS_PROFILE_V = @CC_LDFLAGS_PROFILE_V@ LDFLAGS_DEBUG_V = LDFLAGS=$(LDFLAGS_PROFILE) $(LDFLAGS_DEBUG) $(LD_PATHS:%=-L %) -- cgit v1.2.3