NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/58225 - netbsd9/amd64 requires COMPAT_16 for 32bit support (fwd)
The following reply was made to PR kern/58225; it has been noted by GNATS.
From: Jason Thorpe <thorpej%me.com@localhost>
To: Martin Husemann <martin%duskware.de@localhost>
Cc: Paul Goyette <paul%whooppee.com@localhost>,
Jason Thorpe <thorpej%netbsd.org@localhost>,
mlelstv%netbsd.org@localhost,
Martin Husemann <martin%NetBSD.org@localhost>,
gnats-bugs%netbsd.org@localhost
Subject: Re: kern/58225 - netbsd9/amd64 requires COMPAT_16 for 32bit support
(fwd)
Date: Sat, 24 Aug 2024 10:32:49 -0700
> On Aug 24, 2024, at 9:05=E2=80=AFAM, Martin Husemann =
<martin%duskware.de@localhost> wrote:
>=20
> (gdb) run
> Starting program: /tmp/tcsh=20
>=20
> Breakpoint 1.1, 0xfaa6c9e0 in __sigaction_sigtramp ()
> from /usr/lib/i386/libc.so.12
> (gdb) bt
> #0 0xfaa6c9e0 in __sigaction_sigtramp () from =
/usr/lib/i386/libc.so.12
> #1 0xfa94a9f2 in __libc_sigaction14 (sig=3D14, act=3D0xfffef2c8, =
oact=3D0x0)
> at /usr/src/lib/libc/compat/sys/compat___sigaction14_sigtramp.c:68
>=20
>=20
> #if defined(__HAVE_STRUCT_SIGCONTEXT) && defined(__LIBC12_SOURCE__)
> /*
> * We select the non-SA_SIGINFO trampoline if SA_SIGINFO is not =
=20
> * set in the sigaction.
> */
Ah, right, this is just a straight-up binary compatibility issue for =
platforms that historically supported sigcontext. This is probably =
going to same some doing to tidy up properly.
> if ((act->sa_flags & SA_SIGINFO) =3D=3D 0) {
> int sav =3D errno;
> int rv =3D __sigaction_sigtramp(sig, act, oact,
> __SIGTRAMP_SIGCONTEXT, =
__SIGTRAMP_SIGCONTEXT_VERSION);
> if (rv >=3D 0 || errno !=3D EINVAL)
> return rv;
> errno =3D sav;
> }
> #endif
>=20
> Martin
-- thorpej
Home |
Main Index |
Thread Index |
Old Index