git: c328f64d8107 - main - arm64: Fix COMPAT_FREEBSD32.

John Baldwin jhb at FreeBSD.org
Wed Mar 10 19:25:02 UTC 2021


On 3/10/21 10:36 AM, Jessica Clarke wrote:
> On 10 Mar 2021, at 18:07, Olivier Houchard <cognet at FreeBSD.org> wrote:
>>
>> The branch main has been updated by cognet:
>>
>> URL: https://cgit.FreeBSD.org/src/commit/?id=c328f64d81079bad5064c8a387883df50ab5aaed
>>
>> commit c328f64d81079bad5064c8a387883df50ab5aaed
>> Author:     Olivier Houchard <cognet at FreeBSD.org>
>> AuthorDate: 2021-03-10 18:01:41 +0000
>> Commit:     Olivier Houchard <cognet at FreeBSD.org>
>> CommitDate: 2021-03-10 18:06:42 +0000
>>
>>     arm64: Fix COMPAT_FREEBSD32.
>>
>>     The ENTRY() macro was modified by commit
>>     28d945204ea1014d7de6906af8470ed8b3311335 to add an optional NOP instruction
>>     at the beginning of the function. It is of course an arm64 instruction, so
>>     unsuitable for the 32bits sigcode. So just use EENTRY() instead for
>>     aarch32_sigcode. This should fix receiving signals when running 32bits
>>     binaries on FreeBSD/arm64.
> 
> Hmm, that's a good point, does the extra nop for the AArch64 sigcode
> cause issues for gdb detecting it?

I think GDB might be ok because the nop comes first as it looks for the
sequence of instructions after the nop to identify the signal frame (it
doesn't care what instructions come before the sequence).

-- 
John Baldwin


More information about the dev-commits-src-all mailing list