[RFC] Proposed changes related to the 32 bit API

Ivan Sichmann Freitas ivansichfreitas at gmail.com
Fri Jun 1 23:33:53 PDT 2012


--yVhtmJPUSI46BTXb
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

I'm sending this RFC to see if I'm not missing any important detail.
Most proposed changes here follow an approach similar to FreeBSD.

Changes:

 - create a compat/ directory to hold 32 bit specific implementations
   (syscall's signatures, 32 bit sysent vector, a specific
   syscalls.master).
 - enable loading of both types of binaries (32 and 64 bit). In FreeBSD
   there is a kern/imgact_elf.c which is included in kern/imgact_elf32.c
   and kern/imgact_elf64.c after a #define specifying the desired elf
   word size.
 - detect when loading a 32 bit binary (using a flag local to each
   process) and set the sysent vector accordingly, then execute the
   binary.

Testing will be done by using a sysent vector with callback that will
only trap the call to a syscall, to see if the detection and calling are
done correctly. Then I'll start translating each syscall and testing
them with syscall-specific tests and real programs.

I will start coding with that, so please point any mistake or suggest any
improvement.

--=20
Ivan Sichmann Freitas
GNU/Linux user #509059

--yVhtmJPUSI46BTXb
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)

iQIcBAEBAgAGBQJPybPRAAoJEFM7yh3+vhFA3JsP/AngQvVEUGZz1zTjwXU9eMU4
JWdUUjksRGCSwEvGCg+8mckem+9KIgtB0M6rCU8CUaNu2gfTvoFheP+Bm17gisjH
3Z58CcX44M5cqsC+N+qfSRX3YM8HyH40KY/zKeK5+3GgVrAq+4kLP8aNEtRnH9Um
r/XiH+9xueMlOBXgPAi+Zgrd1yF4E2Y1clrGGDlLfEbgpeJvA2Vh0I7fHHZhrejc
cmt0wBbH3U4dWHngmyKogH6nAPaxxprCCTi8E7mdoj7gnZmagg18KKILrP9/e0dY
GwlX/JpuGL0ak19z9Q7wZ6jsg88hntXKNcrlpX4fCtpHYvhR0oNDK5tzDKXRsp1c
mScIERQeMHiyR93pfi7sZ37fimaK9BkxyyjiS3xkC9cFlmTkb2PnkPNBZXgzjsPZ
Uz39LopaYDuTnYTeQYwSXBnLJPYASMAY19pLGOpccpKN0Ub0+mRpw7C2EZTvpGig
7oX+rY4edAkhpTsUCBpFJJrmGlLq0yQUMRnq01DjPwc5GpXwqcVbZ0O2q34z8tx2
m6jlyag8tPGpdmS7m3Nc8pHRV6uGqhZWGu6cMY7OOH0yQF98Ju8gjJkV1is/Kh7F
rVOp5PG1MSq5Get2ySI8JKSuvS/ZCFRc4JMYRAbz1UxDsyAlGOryHqTh3PagMO01
oo9boa2PcZiaKFZBhcxO
=C6GU
-----END PGP SIGNATURE-----

--yVhtmJPUSI46BTXb--





More information about the Kernel mailing list