Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:

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.
This commit is contained in:
Joel Sherrill
1998-10-14 19:42:45 +00:00
parent cb160321fe
commit 946b3cb0cf
3 changed files with 67 additions and 48 deletions

View File

@@ -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 %)