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