Subject: Re: CVS commit: src/sys/arch/sh5/sh5
To: Steve Woodford <scw@netbsd.org>
From: Christos Zoulas <christos@zoulas.com>
List: source-changes
Date: 12/01/2003 19:02:18
On Dec 1, 11:05pm, scw@netbsd.org (Steve Woodford) wrote:
-- Subject: Re: CVS commit: src/sys/arch/sh5/sh5

| On Monday 01 December 2003 7:40 pm, Christos Zoulas wrote:
| > In article <20031128081252.E9EBD2DA1D@cvs.netbsd.org>,
| >
| > Steve Woodford <scw@netbsd.org> wrote:
| > > 
| > >While NetBSD/sh5 has never needed a sigcode trampoline, other parts
| > > of the kernel seem to assume 'esigcode - sigcode' is non-zero.
| >
| > Where is that? That should not be the case.
| 
| exec_sigcode_map() in kern_exec.c calculates the sigcode size and passes 
| it, via round_page(), to uvm_map(). The latter has KASSERT(size > 0)...

But... sh5 has siginfo and in kern_exec.c we have:

#if !defined(__HAVE_SIGINFO) || defined(COMPAT_16)
        sigcode,
        esigcode,
        &emul_netbsd_object,
#else
        NULL,
        NULL,
        NULL,
#endif

So, we need the trampoline only if COMPAT_16, and we don't __HAVE_SIGINFO.

christos