[yocto] binutils 2.29.1 ARM Thumb kernel problem

Andre McCurdy armccurdy at gmail.com
Thu Apr 5 15:11:24 PDT 2018


On Thu, Apr 5, 2018 at 12:17 PM, Khem Raj <raj.khem at gmail.com> wrote:
> On Thu, Apr 5, 2018 at 12:16 PM Khem Raj <raj.khem at gmail.com> wrote:
>> On Thu, Apr 5, 2018 at 11:53 AM Chris Elledge <celledge at digitallumens.com>
>> wrote:
>>>
>>> Unfortunately, removing the "+1" doesn't work. That results in a kernel
>>> which claims to start, but doesn't progress.
>>>
>>> Changing it to an "|1" also doesn't work due to this error:
>>> arch/arm/kernel/entry-common.S:117: Error: invalid operands (.text and
>>> *ABS* sections) for `|'
>>>
>>> Doing this to the badr macro:
>>>  #ifdef CONFIG_THUMB2_KERNEL
>>>   adr\c \rd, \sym
>>>   orr\c \rd, \rd, #1
>
> Sent too soon I mean remove ORR completely

There's a lot more description of the problem here:

  https://patchwork.kernel.org/patch/10072625/

The kernel patch proposed in that thread is basically the same as
adding the extra ORR instruction, but formatted in a slightly
different way. No variant of the patch appears to have been merged
upstream yet.

The binutils 2.29 change in behaviour was the root cause of the issue
that was found and fixed in openssl a few months ago:

  https://github.com/openssl/openssl/pull/4673
  http://git.openembedded.org/openembedded-core/commit/?id=977db3843b629112539d3eb766c845127c0de497



More information about the yocto mailing list