Re: [PATCH] checkstack: use $UTS_MACHINE as target architecture

From: Konstantin Khlebnikov
Date: Tue Jul 08 2014 - 06:31:43 EST


On Tue, Jul 8, 2014 at 9:48 AM, Konstantin Khlebnikov <koct9i@xxxxxxxxx> wrote:
> On Tue, Jul 8, 2014 at 2:05 AM, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
>> On Sat, 05 Jul 2014 15:22:38 +0400 Konstantin Khlebnikov <koct9i@xxxxxxxxx> wrote:
>>
>>> This fixes command # make checkstack for i386/x86_64.
>>> Looks like $UTS_MACHINE is exactly what scripts/checkstack.pl needs.
>>>
>>> By default $UTS_MACHINE is equal to $ARCH, but some arch/${ARCH}/Makefile
>>> overrides it. This patch updates it also in arch/x86/Makefile.um
>>>
>>> broken in ffee0de ("x86: Default to ARCH=x86 to avoid overriding CONFIG_64BIT")
>>
>> The changelog doesn't describe the bug which is being fixed. It should
>> do so please. If there are any compiler/make error messages then those
>> should be included.
>>
>
> Oh, ok. checkstalk.pl needs either i386 or x86_64, x86 isn't enough.
>
> $ make checkstack
> objdump -d vmlinux $(find . -name '*.ko') | \
> perl /home/blind/src/linux-stable/scripts/checkstack.pl x86
> wrong or unknown architecture "x86"

I guess it still not descriptive enough.

checkstack.pl searches patterns of machine instructions which are
usually used for allocating stack frames. commit ffee0de
("x86: Default to ARCH=x86 to avoid overriding CONFIG_64BIT")
had merged ARCH=i386 and ARCH=x86_64 into one ARCH=x86.
checkstalk.pl needs either i386 or x86_64, x86 isn't enough.

$ make checkstack
objdump -d vmlinux $(find . -name '*.ko') | \
perl linux/scripts/checkstack.pl x86
wrong or unknown architecture "x86"



This also might be fixed in checkstack.pl: i386 and x86_64 differs only
in name of sp register: %esp/%rsp.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/