From: huawei.libin@huawei.com (libin)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] recordmcount: arm64: replace the ignored mcount call into nop
Date: Fri, 30 Oct 2015 14:00:28 +0800 [thread overview]
Message-ID: <5633077C.3050000@huawei.com> (raw)
In-Reply-To: <20151029150922.GE3440@arm.com>
? 2015/10/29 23:09, Will Deacon ??:
> On Thu, Oct 29, 2015 at 09:35:42PM +0800, kbuild test robot wrote:
>> [auto build test ERROR on arm64/for-next/core -- if it's inappropriate base, please suggest rules for selecting the more suitable base]
>>
>> url: https://github.com/0day-ci/linux/commits/Li-Bin/recordmcount-arm64-replace-the-ignored-mcount-call-into-nop/20151028-160846
>> config: arm64-allmodconfig (attached as .config)
>> reproduce:
>> wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
>> chmod +x ~/bin/make.cross
>> # save the attached .config to linux build tree
>> make.cross ARCH=arm64
>>
>> All errors (new ones prefixed by >>):
>>
>>>> /bin/bash: line 1: 117734 Segmentation fault ./scripts/recordmcount "arch/arm64/kernel/traps.o"
>> --
>>>> /bin/bash: line 1: 113824 Segmentation fault ./scripts/recordmcount "arch/arm64/mm/fault.o"
>
> I can reproduce this locally with an allmodconfig build. The offset
> parameter to make_nop_arm64 is nuts:
>
> Program received signal SIGSEGV, Segmentation fault.
> make_nop_arm64 (map=0x7ffff7fef000, offset=2600547309829750784) at scripts/recordmcount.c:170
> 170 if (*ptr != 0x94000000)
>
> Both shdr->sh_offset (0x17000000000000) and relp->r_offset (0x2400000000000000)
> look dodgy in the caller.
>
The allmodconfig configs the CONFIG_CPU_BIG_ENDIAN, and the test system is little eddian, so
it triggers the error.
It is a bug in nop_mcount:
...
if (mcountsym == Elf_r_sym(relp) && !is_fake_mcount(relp)) {
if (make_nop) {
ret = make_nop((void *)ehdr, shdr->sh_offset + relp->r_offset);
}
...
shdr->sh_offset and welp->r_offset should handle endianness properly as _w(shdr->sh_offset)/
_w(relp->r_offset). I will post a patchset including this patch soon.
Thanks,
Li Bin
> Li, can you take a look please?
>
> Will
>
> .
>
WARNING: multiple messages have this Message-ID (diff)
From: libin <huawei.libin@huawei.com>
To: Will Deacon <will.deacon@arm.com>, kbuild test robot <lkp@intel.com>
Cc: <kbuild-all@01.org>, <catalin.marinas@arm.com>,
<rostedt@goodmis.org>, <takahiro.akashi@linaro.org>,
<linux-kernel@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>, <guohanjun@huawei.com>,
<dingtianhong@huawei.com>, <zhouchengming1@huawei.com>
Subject: Re: [PATCH] recordmcount: arm64: replace the ignored mcount call into nop
Date: Fri, 30 Oct 2015 14:00:28 +0800 [thread overview]
Message-ID: <5633077C.3050000@huawei.com> (raw)
In-Reply-To: <20151029150922.GE3440@arm.com>
在 2015/10/29 23:09, Will Deacon 写道:
> On Thu, Oct 29, 2015 at 09:35:42PM +0800, kbuild test robot wrote:
>> [auto build test ERROR on arm64/for-next/core -- if it's inappropriate base, please suggest rules for selecting the more suitable base]
>>
>> url: https://github.com/0day-ci/linux/commits/Li-Bin/recordmcount-arm64-replace-the-ignored-mcount-call-into-nop/20151028-160846
>> config: arm64-allmodconfig (attached as .config)
>> reproduce:
>> wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
>> chmod +x ~/bin/make.cross
>> # save the attached .config to linux build tree
>> make.cross ARCH=arm64
>>
>> All errors (new ones prefixed by >>):
>>
>>>> /bin/bash: line 1: 117734 Segmentation fault ./scripts/recordmcount "arch/arm64/kernel/traps.o"
>> --
>>>> /bin/bash: line 1: 113824 Segmentation fault ./scripts/recordmcount "arch/arm64/mm/fault.o"
>
> I can reproduce this locally with an allmodconfig build. The offset
> parameter to make_nop_arm64 is nuts:
>
> Program received signal SIGSEGV, Segmentation fault.
> make_nop_arm64 (map=0x7ffff7fef000, offset=2600547309829750784) at scripts/recordmcount.c:170
> 170 if (*ptr != 0x94000000)
>
> Both shdr->sh_offset (0x17000000000000) and relp->r_offset (0x2400000000000000)
> look dodgy in the caller.
>
The allmodconfig configs the CONFIG_CPU_BIG_ENDIAN, and the test system is little eddian, so
it triggers the error.
It is a bug in nop_mcount:
...
if (mcountsym == Elf_r_sym(relp) && !is_fake_mcount(relp)) {
if (make_nop) {
ret = make_nop((void *)ehdr, shdr->sh_offset + relp->r_offset);
}
...
shdr->sh_offset and welp->r_offset should handle endianness properly as _w(shdr->sh_offset)/
_w(relp->r_offset). I will post a patchset including this patch soon.
Thanks,
Li Bin
> Li, can you take a look please?
>
> Will
>
> .
>
next prev parent reply other threads:[~2015-10-30 6:00 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-28 8:04 [PATCH] recordmcount: arm64: replace the ignored mcount call into nop Li Bin
2015-10-28 8:04 ` Li Bin
2015-10-28 8:16 ` Steven Rostedt
2015-10-28 8:16 ` Steven Rostedt
2015-10-28 11:58 ` Will Deacon
2015-10-28 11:58 ` Will Deacon
2015-10-29 5:43 ` AKASHI Takahiro
2015-10-29 5:43 ` AKASHI Takahiro
2015-10-29 13:35 ` kbuild test robot
2015-10-29 13:35 ` kbuild test robot
2015-10-29 15:09 ` Will Deacon
2015-10-29 15:09 ` Will Deacon
2015-10-30 6:00 ` libin [this message]
2015-10-30 6:00 ` libin
2015-11-02 18:26 ` Steven Rostedt
2015-11-02 18:26 ` Steven Rostedt
2015-11-02 18:28 ` Will Deacon
2015-11-02 18:28 ` Will Deacon
2015-11-02 19:34 ` Steven Rostedt
2015-11-02 19:34 ` Steven Rostedt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5633077C.3050000@huawei.com \
--to=huawei.libin@huawei.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.