arm64: Fix COMPAT_FREEBSD32.

The ENTRY() macro was modified by commit
28d945204e 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.

MFC After: 1 week
This commit is contained in:
Olivier Houchard 2021-03-10 19:01:41 +01:00
parent 409388cfac
commit c328f64d81

View File

@ -805,7 +805,7 @@ esigcode:
szsigcode:
.quad esigcode - sigcode
ENTRY(aarch32_sigcode)
EENTRY(aarch32_sigcode)
.word 0xe1a0000d // mov r0, sp
.word 0xe2800040 // add r0, r0, #SIGF_UC
.word 0xe59f700c // ldr r7, [pc, #12]
@ -813,7 +813,7 @@ ENTRY(aarch32_sigcode)
.word 0xe59f7008 // ldr r7, [pc, #8]
.word 0xef000000 // swi #0
.word 0xeafffffa // b . - 16
END(aarch32_sigcode)
EEND(aarch32_sigcode)
.word SYS_sigreturn
.word SYS_exit
.align 3