Re: no-omit-frame-pointer for sched.c in 2.4-i386

Russell King (rmk@arm.linux.org.uk)
Tue, 3 Jun 2003 22:21:52 +0100


On Tue, Jun 03, 2003 at 11:06:17PM +0200, J.A. Magallon wrote:
> Hi all...
>
> Any body knows if this still applies:
>
> kernel/Makefile
>
> ifneq ($(CONFIG_IA64),y)
> # According to Alan Modra <alan@linuxcare.com.au>, the -fno-omit-frame-pointer is
> # needed for x86 only. Why this used to be enabled for all architectures is beyond
> # me. I suspect most platforms don't need this, but until we know that for sure
> # I turn this off for IA-64 only. Andreas Schwab says it's also needed on m68k
> # to get a correct value for the wait-channel (WCHAN in ps). --davidm
> CFLAGS_sched.o := $(PROFILING) -fno-omit-frame-pointer
> endif

This comment is not accurate. It's also needed for ARM so that it can
use the framepointer to walk up the frame pointer list to discovered where
we called schedule from (excluding such stuff as the semaphore
implementation.)

Actually, come to think of it, I suspect its buggy today anyway; GCC 3
has some interesting "features" in that -fno-omit-frame-pointer does
not mean it will not omit it. Certainly on ARM, we need extra options
to ensure that GCC outputs the frame in a parseable manner.

So yes, something _like_ this is needed. Maybe the right solution would
be to do something like:

CFLAGS_sched.o := $(EXTRA_CALLTRACE_FLAGS)

and architectures can define EXTRA_CALLTRACE_FLAGS appropriately.

-- 
Russell King (rmk@arm.linux.org.uk)                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/