[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

About ARCH=sparc and what to pass to recordmcount.pl



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".

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. I'm not sure there are other reasons to stick to
    ARCH=sparc. Bastian?
    It seems only recordmcount.pl chokes on that because Debian uses
    ARCH=sparc since at least 2.6.32, probably much longer.

 b) pass SRCARCH instead of ARCH to recordmcount.pl and do
    s/sparc64/sparc/ in recordmcount.pl.

 c) do the following in recordmcount.pl:
	if ($arch =~ /sparc(32|64)?/) {
	    if ($bits == 64) {
	        $arch = "sparc64";
	    } else {
	        $arch = "sparc"; # or "sparc32"?
	    }
	}

    Something like that is already done for x86.
 
Personally I prefer b), but I'm not sure I see all the consequences.

What do you think?

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |


Reply to: