Re: __atomic_test_and_set() and mips o32 - help wanted

Valery Ushakov <[email protected]> Thu, 20 Nov 2025 12:24:13 +0300
Newsgroups gmane.os.netbsd.ports.mips.devel,gmane.os.netbsd.devel.toolchain
Message-ID <[email protected]>
On Thu, Nov 20, 2025 at 07:19:10 +0100, Jason Thorpe wrote:

> > On Nov 19, 2025, at 11:45 PM, Maciej W. Rozycki <[email protected]> wrote:
> > 
> > There's no quotation of the link failure message referring the missing 
> > symbol, but I'm fairly sure the symbol is a libcall for an unimplemented 
> > feature of libgcc, a part of the compiler, so hacking the compiler is what 
> > indeed is needed (IOW the missing part needs to be added to libgcc if you 
> > do want to avoid emitting LL/SC from the compiler).
> 
> NetBSD could certainly provide that in its own C run-time.

The devil is in the details.  gcc "millicode" often has custom ABI
that is not suitable to be called across DSO boundary b/c of
simplified/optimized calling conventions.  sh3 and hppa use millicode
like that.

-uwe