From: Matt Turner <[email protected]>

libunwind's unw_is_signal_frame() reads the trampoline as 32-bit words,
but __kernel_sigreturn is only 2-byte aligned. Align both trampolines
to 4 bytes, as the kernel's vsyscall-sigreturn.S does (with .balign 32).

Signed-off-by: Matt Turner <[email protected]>
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Helge Deller <[email protected]>
Signed-off-by: Helge Deller <[email protected]>
---
 linux-user/sh4/vdso-be.so | Bin 2720 -> 2724 bytes
 linux-user/sh4/vdso-le.so | Bin 2720 -> 2724 bytes
 linux-user/sh4/vdso.S     |   2 ++
 3 files changed, 2 insertions(+)

diff --git a/linux-user/sh4/vdso-be.so b/linux-user/sh4/vdso-be.so
index 
df9fa22efab46bffbb9957af078199639998ea43..d74a2d78e869d7bc6c531c36d82d6c2b1315287b
 100755
GIT binary patch
delta 192
zcmZ1=x<qt>GNZ~w6=&8z3=AxPCgxO#9C@_r)US}NFAa~om)?|aoD?HG|JB4F*9C7d
zFfa%RF);8jFfe2=FtEJY{D5&c6SD?`*W`ID79tFslUWZ7C~(6dLpcNI<Yz2D!TLY|
zq)!=S$>a~L`HXKSC$QNIA<RrpPBe)yOw8N7ku8mxF=Da=monp@$u?Z-jB6&RaH)&V
PWnf@v0h<E>j35dCBc3ya

delta 172
zcmZ1?x<GV-GNZyo6=&8T3=AwkCgxO#M6Q#1zh>Q;(|ew7YO+;`jbwinsW|b+b-`;4
z3=9H73=BLB3=A0z3@k4;KVaO=#H_;LIe8w7g}`Li!vYH2Fvw6o`4!7gupSTq=}`t*
zF!>8>KI4nYDQxya2=kJY{d_D<{hT*%WlLjb44Ev$rOfzavICbo<BG`{T<VN7Cr{uK
F0RTQaF{c0k

diff --git a/linux-user/sh4/vdso-le.so b/linux-user/sh4/vdso-le.so
index 
decd674202260f045b646b318ebb0b6daf416651..a59c9e5244dbebd709f187028831f0a51a8b0706
 100755
GIT binary patch
delta 200
zcmZ1=x<qt>0;9@AMQ7GOEDQ{PCT3QPWaXVH&gBv-40~8xYBG;6g<=1u`xAd$5xl{|
zz#zcDz#zoH!;rzi!0=}CUB=x^Y#Iy<3=CeA=doA_b26|_7C6kU0E6WWoRgojd<W}<
z03HTq1_p*dli#xDGrpM|%VsZ%Y$`)?a%6;mVNk~Ajcm!xj1iMXxs)0IOt$1wXIwKm
TkxN}-E;|E53)CnOV1%*(2DmUT

delta 193
zcmZ1?x<GV-0;9r2MQ7F@EDQ`kCT3QP{0T|D+C1g@<*pwKXS>-y?_bLI+hO95D}vWp
z7#IW?7#M^Yco;Gm7#Ln`zRS3qiA{xpfq}tu@;nv`e%8qXhq)DCuzd1MmhWI)5WvHr
z%)r3#WAaDVe8v}(6WQ!VkxgVsPA-e^_Xzgiyp=7PnK5K?B8Tu~9WDXJACqml)LB=s
YF))0b9LOm=xrR%CbtXFlLkoxp030MX^8f$<

diff --git a/linux-user/sh4/vdso.S b/linux-user/sh4/vdso.S
index 290eb498ae..a66cac7439 100644
--- a/linux-user/sh4/vdso.S
+++ b/linux-user/sh4/vdso.S
@@ -135,6 +135,7 @@ vdso_syscall __vdso_gettimeofday, __NR_gettimeofday
        .cfi_offset             24, SC_FPSCR
 
        nop
+       .balign 4
 
 sigreturn_region_start:
 __kernel_sigreturn:
@@ -144,6 +145,7 @@ endf __kernel_sigreturn
        /* rt_sigreturn frame layout; nop for the same reason as above. */
        .cfi_def_cfa_offset     RT_SIGFRAME_SC_OFFSET
        nop
+       .balign 4
 
 __kernel_rt_sigreturn:
        sigreturn_tramp __NR_rt_sigreturn
-- 
2.54.0


Reply via email to