tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

compat32 status



https://man.netbsd.org/compat_netbsd32.8 seems to hint that /emul is a
thing of the past, but doesn't elaborate.  The guide doesn't seem to
cover this topic either.  Do we have this documented somewhere besides
RTFS?

We now build compat32 libs for the base system as part of the build.
Are those librararies intended to be used for 1) code compiled with
-m32 on the 64-bit system, 2) binaries brought over from the 32-bit
system to be run as-is on the 64-bit system, 3) both of the above?
Case in point: port-sparc/58975.

Support for -m32 on 64-bit is nice (I'm using amd64 and sparc64 to
play with some older software that is 32-bit only, e.g. self (the
language) and inferno-os), but it's not as seamless when librararies
besides the base are involved.  When x11 libs are involved you cannot
just add -m32, you need to also change/add -L/-R options, or you need
to create one large pile of libraries in /usr/lib/$arch32.  Phone says
that -m32 does special magic for /usr/lib/$arch32.  Would it make
sense to apply that magic to all -L paths (and ld.so runpath), so that
-L/usr/X11R7/lib in a makefile would JFW when you change cc to cc -m32
and copy over 32-bit X11 libs to /usr/X11R7/lib/$arch32?  Did someone
investigate our options here or prior art in multiarch debian and
whatever else supports this?

TIA.

-uwe


Home | Main Index | Thread Index | Old Index