Message ID | 20240128175035.812352-7-mjt@tls.msk.ru |
---|---|
State | New |
Headers | show |
Series | None | expand |
On Jan 28 2024, Michael Tokarev wrote: > From: Richard Henderson <richard.henderson@linaro.org> > > A typo in sizeof_reg put the registers at the wrong offset. > > Simplify the expressions to use positive addresses from the > start of uc_mcontext instead of negative addresses from the > end of uc_mcontext. This breaks the testsuite of libunwind. The test Gtest-resume-sig and all dependent tests hang. Reverting this commit fixes them.
$ qemu-riscv64 -strace -E LD_LIBRARY_PATH=../src/.libs .libs/Gtest-resume-sig 30962 brk(NULL) = 0x000055555555a000 30962 faccessat(AT_FDCWD,"/etc/ld.so.preload",R_OK,AT_SYMLINK_NOFOLLOW|0x55558c98) = -1 errno=2 (No such file or directory) 30962 openat(AT_FDCWD,"../src/.libs/libunwind-riscv.so.8",O_RDONLY|O_CLOEXEC) = 3 30962 read(3,0xab2aa3b0,832) = 832 30962 fstat(3,0x00002aaaab2aa230) = 0 30962 mmap(NULL,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x00002aaaab2d1000 30962 getcwd(0x2aaaab2d14c0,128) = 50 30962 mmap(NULL,156800,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x00002aaaab2d3000 30962 mmap(0x00002aaaab2e0000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0xd000) = 0x00002aaaab2e0000 30962 mmap(0x00002aaaab2e2000,95360,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0) = 0x00002aaaab2e2000 30962 close(3) = 0 30962 openat(AT_FDCWD,"../src/.libs/libunwind.so.8",O_RDONLY|O_CLOEXEC) = 3 30962 read(3,0xab2aa390,832) = 832 30962 fstat(3,0x00002aaaab2aa210) = 0 30962 getcwd(0x2aaaab2d1a40,128) = 50 30962 mmap(NULL,156848,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x00002aaaab2fa000 30962 mmap(0x00002aaaab307000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0xd000) = 0x00002aaaab307000 30962 mmap(0x00002aaaab309000,95408,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0) = 0x00002aaaab309000 30962 close(3) = 0 30962 openat(AT_FDCWD,"../src/.libs/libc.so.6",O_RDONLY|O_CLOEXEC) = -1 errno=2 (No such file or directory) 30962 openat(AT_FDCWD,"/etc/ld.so.cache",O_RDONLY|O_CLOEXEC) = 3 30962 fstat(3,0x00002aaaab2aa200) = 0 30962 mmap(NULL,11027,PROT_READ,MAP_PRIVATE,3,0) = 0x00002aaaab321000 30962 close(3) = 0 30962 openat(AT_FDCWD,"/lib64/lp64d/libc.so.6",O_RDONLY|O_CLOEXEC) = 3 30962 read(3,0xab2aa370,832) = 832 30962 fstat(3,0x00002aaaab2aa1f0) = 0 30962 mmap(NULL,1473984,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x00002aaaab324000 30962 mmap(0x00002aaaab47b000,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x157000) = 0x00002aaaab47b000 30962 mmap(0x00002aaaab480000,48576,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0) = 0x00002aaaab480000 30962 close(3) = 0 30962 openat(AT_FDCWD,"../src/.libs/liblzma.so.5",O_RDONLY|O_CLOEXEC) = -1 errno=2 (No such file or directory) 30962 openat(AT_FDCWD,"/home/abuild/rpmbuild/BUILD/libunwind-1.8.1/src/.libs/liblzma.so.5",O_RDONLY|O_CLOEXEC) = -1 errno=2 (No such file or directory) 30962 newfstatat(AT_FDCWD,"/home/abuild/rpmbuild/BUILD/libunwind-1.8.1/src/.libs/",0x00002aaaab2aa1b0,0) = 0 30962 openat(AT_FDCWD,"/lib64/lp64d/liblzma.so.5",O_RDONLY|O_CLOEXEC) = 3 30962 read(3,0xab2aa330,832) = 832 30962 fstat(3,0x00002aaaab2aa1b0) = 0 30962 mmap(NULL,200720,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x00002aaaab48c000 30962 mmap(0x00002aaaab4bc000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x30000) = 0x00002aaaab4bc000 30962 close(3) = 0 30962 mmap(NULL,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x00002aaaab4be000 30962 set_tid_address(0x2aaaab4be4f0) = 30962 30962 set_robust_list(0x2aaaab4be500,24) = -1 errno=38 (Function not implemented) 30962 mprotect(0x00002aaaab47b000,12288,PROT_READ) = 0 30962 mprotect(0x00002aaaab4bc000,4096,PROT_READ) = 0 30962 mprotect(0x00002aaaab307000,4096,PROT_READ) = 0 30962 mprotect(0x00002aaaab2e0000,4096,PROT_READ) = 0 30962 mprotect(0x0000555555558000,4096,PROT_READ) = 0 30962 mprotect(0x00002aaaab2cc000,8192,PROT_READ) = 0 30962 prlimit64(0,RLIMIT_STACK,NULL,0x00002aaaab2aae38) = 0 ({rlim_cur=8388608,rlim_max=-1}) 30962 munmap(0x00002aaaab321000,11027) = 0 30962 rt_sigaction(SIGUSR1,0x00002aaaab2aaed8,NULL) = 0 30962 rt_sigaction(SIGUSR2,0x00002aaaab2aaed8,NULL) = 0 30962 getpid() = 30962 30962 kill(30962,SIGUSR1) = 0 --- SIGUSR1 {si_signo=SIGUSR1, si_code=SI_USER, si_pid=30962, si_uid=399} --- 30962 rt_sigprocmask(SIG_BLOCK,0x00002aaaab2a2870,NULL,8) = 0 30962 getpid() = 30962 30962 kill(30962,SIGUSR2) = 0 30962 rt_sigaction(SIGUSR1,0x00002aaaab2a25b8,0x00002aaaab2a2648) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2e1050,0x00002aaaab2a2788,8) = 0 30962 mmap(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x00002aaaab4c0000 30962 mmap(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x00002aaaab4c1000 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2a2788,NULL,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2e1050,0x00002aaaab2a2268,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2e1050,0x00002aaaab2a2168,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2a2168,NULL,8) = 0 30962 pipe2(0x2aaaab2e1000,526336) = 0 30962 read(3,0xab2a1d87,1) = -1 errno=11 (Resource temporarily unavailable) 30962 write(4,0x55557000,1) = 1 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2e1050,0x00002aaaab2a1dc8,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2a1dc8,NULL,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2e1050,0x00002aaaab2a2068,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2a2068,NULL,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2e1050,0x00002aaaab2a2068,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2a2068,NULL,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2e1050,0x00002aaaab2a21a8,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2a21a8,NULL,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2a2268,NULL,8) = 0 30962 read(3,0xab2a1cc7,1) = 1 30962 write(4,0xab2aa000,1) = 1 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2e1050,0x00002aaaab2a2268,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2e1050,0x00002aaaab2a2168,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2a2168,NULL,8) = 0 30962 read(3,0xab2a1d87,1) = 1 30962 write(4,0xab2d0000,1) = 1 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2e1050,0x00002aaaab2a1dc8,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2a1dc8,NULL,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2e1050,0x00002aaaab2a21a8,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2a21a8,NULL,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2a2268,NULL,8) = 0 30962 read(3,0xab2a2747,1) = 1 30962 write(4,0xab2ab000,1) = 1
03.03.2024 13:33, Andreas Schwab : > On Jan 28 2024, Michael Tokarev wrote: > >> From: Richard Henderson <richard.henderson@linaro.org> >> >> A typo in sizeof_reg put the registers at the wrong offset. >> >> Simplify the expressions to use positive addresses from the >> start of uc_mcontext instead of negative addresses from the >> end of uc_mcontext. > > This breaks the testsuite of libunwind. The test Gtest-resume-sig and > all dependent tests hang. Reverting this commit fixes them. Thank you for the report Andreas. Since this change is already in 8.2.1 which has been released more than a month ago, and 8.2.2 is frozen already (for the release tomorrow), I think it should not be reverted today. It's a bit difficult one. What do you guys think about 8.2.2 and a revert? Thanks, /mjt
Also tested with master, same result.
On Sun, Mar 3, 2024 at 8:34 PM Andreas Schwab <schwab@linux-m68k.org> wrote: > > On Jan 28 2024, Michael Tokarev wrote: > > > From: Richard Henderson <richard.henderson@linaro.org> > > > > A typo in sizeof_reg put the registers at the wrong offset. > > > > Simplify the expressions to use positive addresses from the > > start of uc_mcontext instead of negative addresses from the > > end of uc_mcontext. > > This breaks the testsuite of libunwind. The test Gtest-resume-sig and > all dependent tests hang. Reverting this commit fixes them. Do you have any more details? It seems strange that this commit is breaking something as it looks to be correct Alistair > > -- > Andreas Schwab, schwab@linux-m68k.org > GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 > "And now for something completely different." >
$ qemu-riscv64 -strace -E LD_LIBRARY_PATH=../src/.libs .libs/Gtest-resume-sig 30962 brk(NULL) = 0x000055555555a000 30962 faccessat(AT_FDCWD,"/etc/ld.so.preload",R_OK,AT_SYMLINK_NOFOLLOW|0x55558c98) = -1 errno=2 (No such file or directory) 30962 openat(AT_FDCWD,"../src/.libs/libunwind-riscv.so.8",O_RDONLY|O_CLOEXEC) = 3 30962 read(3,0xab2aa3b0,832) = 832 30962 fstat(3,0x00002aaaab2aa230) = 0 30962 mmap(NULL,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x00002aaaab2d1000 30962 getcwd(0x2aaaab2d14c0,128) = 50 30962 mmap(NULL,156800,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x00002aaaab2d3000 30962 mmap(0x00002aaaab2e0000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0xd000) = 0x00002aaaab2e0000 30962 mmap(0x00002aaaab2e2000,95360,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0) = 0x00002aaaab2e2000 30962 close(3) = 0 30962 openat(AT_FDCWD,"../src/.libs/libunwind.so.8",O_RDONLY|O_CLOEXEC) = 3 30962 read(3,0xab2aa390,832) = 832 30962 fstat(3,0x00002aaaab2aa210) = 0 30962 getcwd(0x2aaaab2d1a40,128) = 50 30962 mmap(NULL,156848,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x00002aaaab2fa000 30962 mmap(0x00002aaaab307000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0xd000) = 0x00002aaaab307000 30962 mmap(0x00002aaaab309000,95408,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0) = 0x00002aaaab309000 30962 close(3) = 0 30962 openat(AT_FDCWD,"../src/.libs/libc.so.6",O_RDONLY|O_CLOEXEC) = -1 errno=2 (No such file or directory) 30962 openat(AT_FDCWD,"/etc/ld.so.cache",O_RDONLY|O_CLOEXEC) = 3 30962 fstat(3,0x00002aaaab2aa200) = 0 30962 mmap(NULL,11027,PROT_READ,MAP_PRIVATE,3,0) = 0x00002aaaab321000 30962 close(3) = 0 30962 openat(AT_FDCWD,"/lib64/lp64d/libc.so.6",O_RDONLY|O_CLOEXEC) = 3 30962 read(3,0xab2aa370,832) = 832 30962 fstat(3,0x00002aaaab2aa1f0) = 0 30962 mmap(NULL,1473984,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x00002aaaab324000 30962 mmap(0x00002aaaab47b000,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x157000) = 0x00002aaaab47b000 30962 mmap(0x00002aaaab480000,48576,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0) = 0x00002aaaab480000 30962 close(3) = 0 30962 openat(AT_FDCWD,"../src/.libs/liblzma.so.5",O_RDONLY|O_CLOEXEC) = -1 errno=2 (No such file or directory) 30962 openat(AT_FDCWD,"/home/abuild/rpmbuild/BUILD/libunwind-1.8.1/src/.libs/liblzma.so.5",O_RDONLY|O_CLOEXEC) = -1 errno=2 (No such file or directory) 30962 newfstatat(AT_FDCWD,"/home/abuild/rpmbuild/BUILD/libunwind-1.8.1/src/.libs/",0x00002aaaab2aa1b0,0) = 0 30962 openat(AT_FDCWD,"/lib64/lp64d/liblzma.so.5",O_RDONLY|O_CLOEXEC) = 3 30962 read(3,0xab2aa330,832) = 832 30962 fstat(3,0x00002aaaab2aa1b0) = 0 30962 mmap(NULL,200720,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x00002aaaab48c000 30962 mmap(0x00002aaaab4bc000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x30000) = 0x00002aaaab4bc000 30962 close(3) = 0 30962 mmap(NULL,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x00002aaaab4be000 30962 set_tid_address(0x2aaaab4be4f0) = 30962 30962 set_robust_list(0x2aaaab4be500,24) = -1 errno=38 (Function not implemented) 30962 mprotect(0x00002aaaab47b000,12288,PROT_READ) = 0 30962 mprotect(0x00002aaaab4bc000,4096,PROT_READ) = 0 30962 mprotect(0x00002aaaab307000,4096,PROT_READ) = 0 30962 mprotect(0x00002aaaab2e0000,4096,PROT_READ) = 0 30962 mprotect(0x0000555555558000,4096,PROT_READ) = 0 30962 mprotect(0x00002aaaab2cc000,8192,PROT_READ) = 0 30962 prlimit64(0,RLIMIT_STACK,NULL,0x00002aaaab2aae38) = 0 ({rlim_cur=8388608,rlim_max=-1}) 30962 munmap(0x00002aaaab321000,11027) = 0 30962 rt_sigaction(SIGUSR1,0x00002aaaab2aaed8,NULL) = 0 30962 rt_sigaction(SIGUSR2,0x00002aaaab2aaed8,NULL) = 0 30962 getpid() = 30962 30962 kill(30962,SIGUSR1) = 0 --- SIGUSR1 {si_signo=SIGUSR1, si_code=SI_USER, si_pid=30962, si_uid=399} --- 30962 rt_sigprocmask(SIG_BLOCK,0x00002aaaab2a2870,NULL,8) = 0 30962 getpid() = 30962 30962 kill(30962,SIGUSR2) = 0 30962 rt_sigaction(SIGUSR1,0x00002aaaab2a25b8,0x00002aaaab2a2648) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2e1050,0x00002aaaab2a2788,8) = 0 30962 mmap(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x00002aaaab4c0000 30962 mmap(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x00002aaaab4c1000 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2a2788,NULL,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2e1050,0x00002aaaab2a2268,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2e1050,0x00002aaaab2a2168,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2a2168,NULL,8) = 0 30962 pipe2(0x2aaaab2e1000,526336) = 0 30962 read(3,0xab2a1d87,1) = -1 errno=11 (Resource temporarily unavailable) 30962 write(4,0x55557000,1) = 1 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2e1050,0x00002aaaab2a1dc8,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2a1dc8,NULL,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2e1050,0x00002aaaab2a2068,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2a2068,NULL,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2e1050,0x00002aaaab2a2068,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2a2068,NULL,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2e1050,0x00002aaaab2a21a8,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2a21a8,NULL,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2a2268,NULL,8) = 0 30962 read(3,0xab2a1cc7,1) = 1 30962 write(4,0xab2aa000,1) = 1 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2e1050,0x00002aaaab2a2268,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2e1050,0x00002aaaab2a2168,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2a2168,NULL,8) = 0 30962 read(3,0xab2a1d87,1) = 1 30962 write(4,0xab2d0000,1) = 1 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2e1050,0x00002aaaab2a1dc8,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2a1dc8,NULL,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2e1050,0x00002aaaab2a21a8,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2a21a8,NULL,8) = 0 30962 rt_sigprocmask(SIG_SETMASK,0x00002aaaab2a2268,NULL,8) = 0 30962 read(3,0xab2a2747,1) = 1 30962 write(4,0xab2ab000,1) = 1
On Mär 06 2024, Alistair Francis wrote: > On Sun, Mar 3, 2024 at 8:34 PM Andreas Schwab <schwab@linux-m68k.org> wrote: >> >> On Jan 28 2024, Michael Tokarev wrote: >> >> > From: Richard Henderson <richard.henderson@linaro.org> >> > >> > A typo in sizeof_reg put the registers at the wrong offset. >> > >> > Simplify the expressions to use positive addresses from the >> > start of uc_mcontext instead of negative addresses from the >> > end of uc_mcontext. >> >> This breaks the testsuite of libunwind. The test Gtest-resume-sig and >> all dependent tests hang. Reverting this commit fixes them. > > Do you have any more details? It seems strange that this commit is > breaking something as it looks to be correct It also breaks the Ltest-init-local-signal test, and it is still broken in 9.0.0-rc1, and reverting this commit still fixes it. $ LD_LIBRARY_PATH=../src/.libs /tmp/qemu-riscv64.bad -strace .libs/Ltest-init-local-signal 24864 brk(NULL) = 0x0000555555559000 24864 faccessat(AT_FDCWD,"/etc/ld.so.preload",R_OK,AT_EACCESS|0x55557c08) = -1 errno=2 (No such file or directory) 24864 openat(AT_FDCWD,"../src/.libs/libunwind-riscv.so.8",O_RDONLY|O_CLOEXEC) = 3 24864 read(3,0x601ff3e0,832) = 832 24864 fstat(3,0x00007fab601ff260) = 0 24864 mmap(NULL,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x00007fab68c0a000 24864 getcwd(0x7fab68c0a4c0,128) = 50 24864 mmap(NULL,156800,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x00007fab603d9000 24864 mmap(0x00007fab603e6000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0xd000) = 0x00007fab603e6000 24864 mmap(0x00007fab603e8000,95360,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0) = 0x00007fab603e8000 24864 close(3) = 0 24864 openat(AT_FDCWD,"../src/.libs/libunwind.so.8",O_RDONLY|O_CLOEXEC) = 3 24864 read(3,0x601ff3c0,832) = 832 24864 fstat(3,0x00007fab601ff240) = 0 24864 getcwd(0x7fab68c0aa40,128) = 50 24864 mmap(NULL,156848,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x00007fab603b2000 24864 mmap(0x00007fab603bf000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0xd000) = 0x00007fab603bf000 24864 mmap(0x00007fab603c1000,95408,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0) = 0x00007fab603c1000 24864 close(3) = 0 24864 openat(AT_FDCWD,"../src/.libs/libc.so.6",O_RDONLY|O_CLOEXEC) = -1 errno=2 (No such file or directory) 24864 openat(AT_FDCWD,"/etc/ld.so.cache",O_RDONLY|O_CLOEXEC) = 3 24864 fstat(3,0x00007fab601ff230) = 0 24864 mmap(NULL,7935,PROT_READ,MAP_PRIVATE,3,0) = 0x00007fab68c08000 24864 close(3) = 0 24864 openat(AT_FDCWD,"/lib64/lp64d/libc.so.6",O_RDONLY|O_CLOEXEC) = 3 24864 read(3,0x601ff3a0,832) = 832 24864 fstat(3,0x00007fab601ff220) = 0 24864 mmap(NULL,1473984,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x00007fab6024a000 24864 mmap(0x00007fab603a1000,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x157000) = 0x00007fab603a1000 24864 mmap(0x00007fab603a6000,48576,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0) = 0x00007fab603a6000 24864 close(3) = 0 24864 openat(AT_FDCWD,"../src/.libs/liblzma.so.5",O_RDONLY|O_CLOEXEC) = -1 errno=2 (No such file or directory) 24864 openat(AT_FDCWD,"/home/abuild/rpmbuild/BUILD/libunwind-1.8.1/src/.libs/liblzma.so.5",O_RDONLY|O_CLOEXEC) = -1 errno=2 (No such file or directory) 24864 newfstatat(AT_FDCWD,"/home/abuild/rpmbuild/BUILD/libunwind-1.8.1/src/.libs/",0x00007fab601ff1e0,0) = 0 24864 openat(AT_FDCWD,"/lib64/lp64d/liblzma.so.5",O_RDONLY|O_CLOEXEC) = 3 24864 read(3,0x601ff360,832) = 832 24864 fstat(3,0x00007fab601ff1e0) = 0 24864 mmap(NULL,200720,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x00007fab60218000 24864 mmap(0x00007fab60248000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x30000) = 0x00007fab60248000 24864 close(3) = 0 24864 mmap(NULL,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x00007fab68c06000 24864 set_tid_address(0x7fab68c064f0) = 24864 24864 set_robust_list(0x7fab68c06500,24) = -1 errno=38 (Function not implemented) 24864 mprotect(0x00007fab603a1000,12288,PROT_READ) = 0 24864 mprotect(0x00007fab60248000,4096,PROT_READ) = 0 24864 mprotect(0x00007fab603bf000,4096,PROT_READ) = 0 24864 mprotect(0x00007fab603e6000,4096,PROT_READ) = 0 24864 mprotect(0x0000555555557000,4096,PROT_READ) = 0 24864 mprotect(0x00007fab68c2d000,8192,PROT_READ) = 0 24864 prlimit64(0,RLIMIT_STACK,NULL,0x00007fab601ffe68) = 0 ({rlim_cur=8388608,rlim_max=-1}) 24864 munmap(0x00007fab68c08000,7935) = 0 24864 rt_sigaction(SIGSEGV,0x00007fab601fff18,NULL) = 0 --- SIGSEGV {si_signo=SIGSEGV, si_code=1, si_pid=0, si_uid=0} --- 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f7858,8) = 0 24864 mmap(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x00007fab68c09000 24864 mmap(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x00007fab68c08000 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f7858,NULL,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f7338,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f7238,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f7238,NULL,8) = 0 24864 pipe2(0x7fab603e7000,526336) = 0 24864 read(3,0x601f6e57,1) = -1 errno=11 (Resource temporarily unavailable) 24864 write(4,0x55556000,1) = 1 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f6e98,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f6e98,NULL,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f7278,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f7278,NULL,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f7338,NULL,8) = 0 24864 read(3,0x601f6d97,1) = 1 24864 write(4,0x60200000,1) = 1 24864 read(3,0x601f7827,1) = 1 24864 write(4,0x60275000,1) = 1 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f7338,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f7238,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f7238,NULL,8) = 0 24864 read(3,0x601f6e57,1) = 1 24864 write(4,0x60372000,1) = 1 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f6e98,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f6e98,NULL,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f7278,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f7278,NULL,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f7338,NULL,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f7338,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f7238,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f7238,NULL,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f6e98,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f6e98,NULL,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f7278,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f7278,NULL,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f7338,NULL,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f7338,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f7238,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f7238,NULL,8) = 0 24864 read(3,0x601f6e57,1) = 1 24864 write(4,0x55556000,1) = 1 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f6e98,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f6e98,NULL,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f7278,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f7278,NULL,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f7338,NULL,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f7338,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f7238,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f7238,NULL,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f6e98,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f6e98,NULL,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f7278,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f7278,NULL,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f7338,NULL,8) = 0 24864 read(3,0x601f6d97,1) = 1 24864 write(4,0x601ff000,1) = 1 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f7338,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f7238,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f7238,NULL,8) = 0 24864 read(3,0x601f6e57,1) = 1 24864 write(4,0x68c0c000,1) = 1 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f6e98,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f6e98,NULL,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f7278,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f7278,NULL,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f7338,NULL,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f7338,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f7338,NULL,8) = 0 24864 read(3,0x601f7827,1) = 1 24864 write(4,0x60200000,1) = 1 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f7338,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f7238,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f7238,NULL,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f7338,NULL,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f7338,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab603e7050,0x00007fab601f7238,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f7238,NULL,8) = 0 24864 rt_sigprocmask(SIG_SETMASK,0x00007fab601f7338,NULL,8) = 0 24864 fstat(1,0x00007fab601f7658) = 0 24864 getrandom(0x7fab603aa5c8,8,1) = 8 24864 brk(NULL) = 0x0000555555559000 24864 brk(0x000055555557a000) = 0x000055555557a000 24864 write(1,0x555592a0,62)unw_getcontext steps was 4, ucontext steps was 3, should be 2 = 62 24864 exit_group(-1) $ LD_LIBRARY_PATH=../src/.libs /tmp/qemu-riscv64.good -strace .libs/Ltest-init-local-signal 24875 brk(NULL) = 0x0000555555559000 24875 faccessat(AT_FDCWD,"/etc/ld.so.preload",R_OK,AT_EACCESS|0x55557c08) = -1 errno=2 (No such file or directory) 24875 openat(AT_FDCWD,"../src/.libs/libunwind-riscv.so.8",O_RDONLY|O_CLOEXEC) = 3 24875 read(3,0x3cfff3d0,832) = 832 24875 fstat(3,0x00007f213cfff250) = 0 24875 mmap(NULL,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x00007f2145a81000 24875 getcwd(0x7f2145a814c0,128) = 50 24875 mmap(NULL,156800,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x00007f2145a5a000 24875 mmap(0x00007f2145a67000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0xd000) = 0x00007f2145a67000 24875 mmap(0x00007f2145a69000,95360,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0) = 0x00007f2145a69000 24875 close(3) = 0 24875 openat(AT_FDCWD,"../src/.libs/libunwind.so.8",O_RDONLY|O_CLOEXEC) = 3 24875 read(3,0x3cfff3b0,832) = 832 24875 fstat(3,0x00007f213cfff230) = 0 24875 getcwd(0x7f2145a81a40,128) = 50 24875 mmap(NULL,156848,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x00007f2145a33000 24875 mmap(0x00007f2145a40000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0xd000) = 0x00007f2145a40000 24875 mmap(0x00007f2145a42000,95408,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0) = 0x00007f2145a42000 24875 close(3) = 0 24875 openat(AT_FDCWD,"../src/.libs/libc.so.6",O_RDONLY|O_CLOEXEC) = -1 errno=2 (No such file or directory) 24875 openat(AT_FDCWD,"/etc/ld.so.cache",O_RDONLY|O_CLOEXEC) = 3 24875 fstat(3,0x00007f213cfff220) = 0 24875 mmap(NULL,7935,PROT_READ,MAP_PRIVATE,3,0) = 0x00007f2145a31000 24875 close(3) = 0 24875 openat(AT_FDCWD,"/lib64/lp64d/libc.so.6",O_RDONLY|O_CLOEXEC) = 3 24875 read(3,0x3cfff390,832) = 832 24875 fstat(3,0x00007f213cfff210) = 0 24875 mmap(NULL,1473984,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x00007f213d098000 24875 mmap(0x00007f213d1ef000,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x157000) = 0x00007f213d1ef000 24875 mmap(0x00007f213d1f4000,48576,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0) = 0x00007f213d1f4000 24875 close(3) = 0 24875 openat(AT_FDCWD,"../src/.libs/liblzma.so.5",O_RDONLY|O_CLOEXEC) = -1 errno=2 (No such file or directory) 24875 openat(AT_FDCWD,"/home/abuild/rpmbuild/BUILD/libunwind-1.8.1/src/.libs/liblzma.so.5",O_RDONLY|O_CLOEXEC) = -1 errno=2 (No such file or directory) 24875 newfstatat(AT_FDCWD,"/home/abuild/rpmbuild/BUILD/libunwind-1.8.1/src/.libs/",0x00007f213cfff1d0,0) = 0 24875 openat(AT_FDCWD,"/lib64/lp64d/liblzma.so.5",O_RDONLY|O_CLOEXEC) = 3 24875 read(3,0x3cfff350,832) = 832 24875 fstat(3,0x00007f213cfff1d0) = 0 24875 mmap(NULL,200720,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x00007f213d066000 24875 mmap(0x00007f213d096000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x30000) = 0x00007f213d096000 24875 close(3) = 0 24875 mmap(NULL,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x00007f2145a2f000 24875 set_tid_address(0x7f2145a2f4f0) = 24875 24875 set_robust_list(0x7f2145a2f500,24) = -1 errno=38 (Function not implemented) 24875 mprotect(0x00007f213d1ef000,12288,PROT_READ) = 0 24875 mprotect(0x00007f213d096000,4096,PROT_READ) = 0 24875 mprotect(0x00007f2145a40000,4096,PROT_READ) = 0 24875 mprotect(0x00007f2145a67000,4096,PROT_READ) = 0 24875 mprotect(0x0000555555557000,4096,PROT_READ) = 0 24875 mprotect(0x00007f2145aa4000,8192,PROT_READ) = 0 24875 prlimit64(0,RLIMIT_STACK,NULL,0x00007f213cfffe58) = 0 ({rlim_cur=8388608,rlim_max=-1}) 24875 munmap(0x00007f2145a31000,7935) = 0 24875 rt_sigaction(SIGSEGV,0x00007f213cffff08,NULL) = 0 --- SIGSEGV {si_signo=SIGSEGV, si_code=1, si_pid=0, si_uid=0} --- 24875 rt_sigprocmask(SIG_SETMASK,0x00007f2145a68050,0x00007f213cff7848,8) = 0 24875 mmap(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x00007f2145a32000 24875 mmap(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x00007f2145a31000 24875 rt_sigprocmask(SIG_SETMASK,0x00007f213cff7848,NULL,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f2145a68050,0x00007f213cff7328,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f2145a68050,0x00007f213cff7228,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f213cff7228,NULL,8) = 0 24875 pipe2(0x7f2145a68000,526336) = 0 24875 read(3,0x3cff6e47,1) = -1 errno=11 (Resource temporarily unavailable) 24875 write(4,0x55556000,1) = 1 24875 rt_sigprocmask(SIG_SETMASK,0x00007f2145a68050,0x00007f213cff6e88,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f213cff6e88,NULL,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f2145a68050,0x00007f213cff7268,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f213cff7268,NULL,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f213cff7328,NULL,8) = 0 24875 read(3,0x3cff6d87,1) = 1 24875 write(4,0x3d000000,1) = 1 24875 read(3,0x3cff7817,1) = 1 24875 write(4,0x3d0c3000,1) = 1 24875 rt_sigprocmask(SIG_SETMASK,0x00007f2145a68050,0x00007f213cff7328,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f2145a68050,0x00007f213cff7228,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f213cff7228,NULL,8) = 0 24875 read(3,0x3cff6e47,1) = 1 24875 write(4,0x3d1c0000,1) = 1 24875 rt_sigprocmask(SIG_SETMASK,0x00007f2145a68050,0x00007f213cff6e88,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f213cff6e88,NULL,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f2145a68050,0x00007f213cff7268,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f213cff7268,NULL,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f213cff7328,NULL,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f2145a68050,0x00007f213cff7328,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f2145a68050,0x00007f213cff7228,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f213cff7228,NULL,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f2145a68050,0x00007f213cff6e88,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f213cff6e88,NULL,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f2145a68050,0x00007f213cff7268,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f213cff7268,NULL,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f213cff7328,NULL,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f2145a68050,0x00007f213cff7328,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f2145a68050,0x00007f213cff7228,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f213cff7228,NULL,8) = 0 24875 read(3,0x3cff6e47,1) = 1 24875 write(4,0x55556000,1) = 1 24875 rt_sigprocmask(SIG_SETMASK,0x00007f2145a68050,0x00007f213cff6e88,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f213cff6e88,NULL,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f2145a68050,0x00007f213cff7268,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f213cff7268,NULL,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f213cff7328,NULL,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f2145a68050,0x00007f213cff7328,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f2145a68050,0x00007f213cff7228,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f213cff7228,NULL,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f2145a68050,0x00007f213cff6e88,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f213cff6e88,NULL,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f2145a68050,0x00007f213cff7268,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f213cff7268,NULL,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f213cff7328,NULL,8) = 0 24875 read(3,0x3cff6d87,1) = 1 24875 write(4,0x3cfff000,1) = 1 24875 read(3,0x3cff7817,1) = 1 24875 write(4,0x45a83000,1) = 1 24875 rt_sigprocmask(SIG_SETMASK,0x00007f2145a68050,0x00007f213cff7328,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f213cff7328,NULL,8) = 0 24875 read(3,0x3cff6d87,1) = 1 24875 write(4,0x3d000000,1) = 1 24875 rt_sigprocmask(SIG_SETMASK,0x00007f2145a68050,0x00007f213cff7328,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f213cff7328,NULL,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f2145a68050,0x00007f213cff7328,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f213cff7328,NULL,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f2145a68050,0x00007f213cff7328,8) = 0 24875 rt_sigprocmask(SIG_SETMASK,0x00007f213cff7328,NULL,8) = 0 24875 exit_group(0)
diff --git a/linux-user/riscv/vdso-32.so b/linux-user/riscv/vdso-32.so index 1ad1e5cbbb..c2ce2a4757 100755 Binary files a/linux-user/riscv/vdso-32.so and b/linux-user/riscv/vdso-32.so differ diff --git a/linux-user/riscv/vdso-64.so b/linux-user/riscv/vdso-64.so index 83992bebe6..ae49f5b043 100755 Binary files a/linux-user/riscv/vdso-64.so and b/linux-user/riscv/vdso-64.so differ diff --git a/linux-user/riscv/vdso.S b/linux-user/riscv/vdso.S index a86d8fc488..c37275233a 100644 --- a/linux-user/riscv/vdso.S +++ b/linux-user/riscv/vdso.S @@ -101,12 +101,12 @@ endf __vdso_flush_icache .cfi_startproc simple .cfi_signal_frame -#define sizeof_reg (__riscv_xlen / 4) +#define sizeof_reg (__riscv_xlen / 8) #define sizeof_freg 8 -#define B_GR (offsetof_uc_mcontext - sizeof_rt_sigframe) -#define B_FR (offsetof_uc_mcontext - sizeof_rt_sigframe + offsetof_freg0) +#define B_GR 0 +#define B_FR offsetof_freg0 - .cfi_def_cfa 2, sizeof_rt_sigframe + .cfi_def_cfa 2, offsetof_uc_mcontext /* Return address */ .cfi_return_column 64