bug#40737: Segfault in arm gcc7, thumb2 builroot, with arm patch

Ludovic Courtès <[email protected]>
Newsgroups gmane.lisp.guile.bugs
Message-ID <[email protected]>
Hi,

Ludovic Courtès <[email protected]> skribis:

> Andrew Gierth <[email protected]> skribis:
>
>> diff --git a/libguile/lightening/lightening/arm-cpu.c b/libguile/lightening/lightening/arm-cpu.c
>> index 4445266af..2b4eecc29 100644
>> --- a/libguile/lightening/lightening/arm-cpu.c
>> +++ b/libguile/lightening/lightening/arm-cpu.c
>> @@ -230,7 +230,7 @@ encode_thumb_immediate(unsigned int v)
>>      return ((v & 0xff) | (1 << 12));
>>    /* abcdefgh 00000000 abcdefgh 00000000 */
>>    if (((v & 0xffff0000) >> 16) == (v & 0xffff) && (v & 0xff) == 0)
>> -    return ((v & 0x000000ff) | (2 << 12));
>> +    return (((v & 0x0000ff00) >> 8) | (2 << 12));
>>    /* abcdefgh abcdefgh abcdefgh abcdefgh */
>>    if ( (v &    0xff)        == ((v &     0xff00) >>  8) &&
>>         ((v &   0xff00) >> 8) == ((v &   0xff0000) >> 16) &&
>
> I pushed this fix to the lightening repo on your behalf:
>
>   https://gitlab.com/wingo/lightening/-/commit/1bb909a44d2303f88bb05125fc6742e97f80cd1d
>
> The CI jobs pass:
>
>   https://gitlab.com/wingo/lightening/-/pipelines/158337465
>
> I’ll try merging it into Guile, but do you have a test that reproduces
> the original bug, either at the Guile level or in C using the lightening
> API?  Perhaps the test that Dale posted yesterday at
> <https://paste.debian.net/1152897/>?

Replying to myself after our discussion on IRC: I’ve merged the test you
provided, Dale (with the addition of enter/leave_jit_abi), and pushed.

  https://gitlab.com/wingo/lightening/-/commit/24ef197b1269f8371b1f4a412caa6d2b99d66839

I’ll look into merging into Guile later today, and then I guess we can
close this bug.

Thank you!

Ludo’.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.