|
|
Message-ID: <20240312005150.GB4163@brightrain.aerifal.cx>
Date: Mon, 11 Mar 2024 20:51:50 -0400
From: Rich Felker <dalias@...c.org>
To: musl@...ts.openwall.com
Cc: Hongliang Wang <wanghongliang@...ngson.cn>
Subject: loongarch64 atomics not working?
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
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.