Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 12 Mar 2024 17:18:13 +0100
From: Waldemar Brodkorb <wbx@...nadk.org>
To: musl@...ts.openwall.com
Subject: Re: loongarch64 atomics not working?

Hi,
lixing wrote,

> 
> 在 2024/3/12 上午10:06, Hongliang Wang 写道:
> > 
> > 
> > 在 2024/3/12 上午8:51, Rich Felker 写道:
> > > There's been a report of mksh hanging on loongarch64, at least under
> > > qemu, apparently hanging in a_cas_p:
> > > 
> > > (gdb) run
> > > Starting program: /mksh
> > > ^C
> > > Program received signal SIGINT, Interrupt.
> > > a_cas_p (p=0x120054288 <vdso_func>, t=0x12003b970 <cgt_init>,
> > > s=0x7fffffffc34c)
> > >      at ./src/internal/atomic.h:94
> > > warning: 94     ./src/internal/atomic.h: No such file or directory
> > > (gdb) bt
> > > #0  a_cas_p (p=0x120054288 <vdso_func>, t=0x12003b970 <cgt_init>,
> > >      s=0x7fffffffc34c) at ./src/internal/atomic.h:94
> > > #1  cgt_init (clk=0, ts=0x7ffffffefb60) at src/time/clock_gettime.c:51
> > > #2  0x000000012003ba4c in __clock_gettime (clk=clk@...ry=0,
> > >      ts=ts@...ry=0x7ffffffefb60) at src/time/clock_gettime.c:67
> > > #3  0x000000012003830c in gettimeofday (tv=tv@...ry=0x7ffffffefba0,
> > >      tz=tz@...ry=0x0) at src/time/gettimeofday.c:9
> > > #4  0x000000012002f098 in change_winsz () at var.c:1718
> > > #5  0x0000000120000348 in main_init (lp=<synthetic pointer>,
> > >      sp=<synthetic pointer>, argv=0x7ffffffefd18, argc=1) at main.c:369
> > > #6  main (argc=<optimized out>, argv=<optimized out>) at main.c:738
> > > 
> > > This is very basic usage, just the vdso clock_gettime init code trying
> > > to replace a pointer atomically. Is it working on real hardware? I'm
> > > trying to figure out if this is a qemu bug, or if the asm or the asm
> > > argument constraints are wrong in musl's
> > > arch/loongarch64/atomic_arch.h.
> > > 
> > > Rich
> > > 
> > 
> > We will test it on real hardware to confirm if it can work as soon as
> > possible.
> > 
> > Regards,
> > Hongliang Wang
> 
> Hi, Rich
> 
> We've tested static and dynamic build mksh with commit id
> cbb8a0196aab53165a35339fd91ade599d184f both works ok.
> 
> We compiled qemu 8.2.2 with the following configuration:
> 
> ./configure --prefix=/usr --target-list=loongarch64-linux-user
> --disable-werror --static --disable-docs
> 
> then run with qemu-loongarch64 ./mksh without hang.

Can you check with qemu-system-loongarch64? I use gcc 13.2.0,
binutils 2.42 and Linux 6.6.18 with the defconfig provided.
Qemu is also 8.2.2. Can you provide your QEMU_EFI.fd for download?

For me it hangs.

best regards
 Waldemar

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.