Re: About ARCH=sparc and what to pass to recordmcount.pl
On Mon, Aug 15, 2011 at 05:21:02PM +0200, Uwe Kleine-König wrote:
> Hello,
>
> when I enable CONFIG_FUNCTION_TRACER and CONFIG_DYNAMIC_FTRACE for the
> Debian kernel the build fails with:
>
> CC init/do_mounts_initrd.o
> Arch sparc is not supported with CONFIG_FTRACE_MCOUNT_RECORD at .../scripts/recordmcount.pl line 368.
>
> This happens because the kernel package build scripts call
>
> make ARCH=sparc
>
> $(ARCH) is passed to scripts/recordmcount.pl and the latter only knows
> about "sparc64".
We are currently overriding ARCH and we set it to be the source
architecture name, so that $(ARCH) is always the same as $(SRCARCH).
> There are several options to fix that:
>
> a) let the package pass ARCH=sparc64 instead of ARCH=sparc
> Then sparc would be the only architecture that doesn't pass the
> (Debian) arch here.
This is not the case. For example. ARCH=arm and ARCH=x86 do not match
the Debian architecture names.
[...]
> b) pass SRCARCH instead of ARCH to recordmcount.pl and do
> s/sparc64/sparc/ in recordmcount.pl.
[...]
This is probably the right thing to do. As I understand it,
architecture variants (32- vs 64-bit, big-endian vs litle-endian)
should be distinguished by CONFIG variables now, not by $(ARCH).
However, the names of those CONFIG variables vary between source
architectures, so how do we decide what to pass to recordmcount.pl?
$(ARCH) is useful in that it provides all that information in a single
word.
Ben.
--
Ben Hutchings
We get into the habit of living before acquiring the habit of thinking.
- Albert Camus
Reply to: