Subject: Re: workaround for FreeBSD binary that hardcodes a device major (was: Re: CVS commit: src/sys/conf)
To: matthew green <mrg@eterna.com.au>
From: Bill Studenmund <wrstuden@netbsd.org>
List: tech-kern
Date: 09/23/2006 23:33:24
--wac7ysb48OaltWcw
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sun, Sep 24, 2006 at 03:13:31PM +1000, matthew green wrote:
>   =20
>    [About http://mail-index.NetBSD.org/source-changes/2006/09/23/0110.htm=
l]
>    > This would seem to break all kernel configs that don't have a twa
>    > device.  At least for evbppc/WALNUT I get:
>    >=20
>    >       #      link  WALNUT/netbsd
>    >        [ ... ]
>    >       devsw.o:(.data+0x590): undefined reference to `twa_cdevsw'
>   =20
>    I backed the change out to restore the build, but I wonder how this
>    should be fixed.
>   =20
>    3ware's tw_cli is only available as a FreeBSD or Linux binary. The
>    FreeBSD version hardcodes the twa major at 187. There is the same
>    problem for twe at major 146. I see 3 options
>   =20
>    1) Tag the major 187 as reserved in the MI range and only define it on
>    i386
>    2) Use a MD major for twa, and patch freebsd_sys_mknod() so that 187
>    gets translated into the right major
>    3) Use a MD major for twa, and patch the tw_cli binary so that the rig=
ht
>    major gets used.=20
>   =20
>    What's the best way?
>=20
>=20
> since the hardcoded value is for freebsd, #2 seems the right place.

I agree. It's a FreeBSD-specific issue, it needs a FreeBSD-specific fix.

Take care,

Bill

--wac7ysb48OaltWcw
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (NetBSD)

iD8DBQFFFia0Wz+3JHUci9cRAlCtAJwN4YQ+borwNs4L1fL1VNj1qEeEkgCgic6M
/2IAb7iLhkrhA4No7aXK4tY=
=o4WH
-----END PGP SIGNATURE-----

--wac7ysb48OaltWcw--