Date: Tue, 16 Aug 2011 05:03:50 GMT From: Dylan <djimeha@yahoo.ca> To: freebsd-gnats-submit@FreeBSD.org Subject: amd64/159809: RELENG_8_1 /UPDATING wrong re: COMPAT_IA32 alias for COMPAT_FREEBSD32 Message-ID: <201108160503.p7G53oKl084741@red.freebsd.org> Resent-Message-ID: <201108160510.p7G5A81N018679@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 159809 >Category: amd64 >Synopsis: RELENG_8_1 /UPDATING wrong re: COMPAT_IA32 alias for COMPAT_FREEBSD32 >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-amd64 >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Aug 16 05:10:08 UTC 2011 >Closed-Date: >Last-Modified: >Originator: Dylan >Release: RELENG_8_1 >Organization: >Environment: Was RELENG_8_0 upgraded to RELENG_8_1 after working around this issue: FreeBSD <hostname FQDN removed> 8.1-RELEASE-p4 FreeBSD 8.1-RELEASE-p4 #2: Tue Jul 12 13:05:05 EDT 2011 root@<hostname FQDN removed>:/usr/obj/usr/src/sys/LABGW64bit amd64 >Description: I reproduced this on a few systems that were running an older build of RELENG_8_0 while attempting to update to the latest cvsup of RELENG_8_1 sources. Basically, the necessary 32bit support for some of my Tcl infrastructure seem to be missing when only using the COMPAT_IA32 kernel option (as stated in the RELENG_8_1 'UPDATING' file, this is now an alias for COMPAT_FREEBSD32). After doing another kernel build with the COMPAT_FREEBSD32 option also included, the necessary 32bit compat stuff was added after the build/install kernel. >How-To-Repeat: I don't know if this is reproducible in later versions or just RELENG_8_1, but here are steps to get started. On an amd64 system: 1. Install RELENG_8_0 or probably even 8.0-RELEASE 64bit with the COMPAT_IA32 kernel option included (default 'GENERIC' should be fine) 2. All of the usual 32bit lib's should be included 3. Sync RELENG_8_1 sources 4. Make sure the kernel config only contains COMPAT_IA32 and not COMPAT_FREEBSD32 5. Build world, kernel, installworld, kernel, etc 6. Some/all (?) 32bit support is missing... I didn't hunt down exact 32bit lib's or code having issues, but the difference between this result and the next step's result is that more/all (?) support seems to be added 7. Add the COMPAT_FREEBSD32 kernel option before or after the COMPAT_IA32 option 8. Re-build/install kernel, reboot 9. Check 32bit support, which should now be fully available I can't publicly share the 32bit dependent Tcl code that was having issues when using only COMPAT_IA32, but I imagine just about any '32bit-only' program would fail as a result of this. Sorry I can't be more specific. >Fix: Possible fixes include (from my understanding): 1. (simple) Remove the inaccurate comment about COMPAT_IA32 being an alias for COMPAT_FREEBSD32 and leave the comment further down in UPDATING that says COMPAT_IA32 has been replaced with COMPAT_FREEBSD32 2. (difficult??) Add any required fixes to make sure COMPAT_IA32 is actually an alias for (i.e. does the same thing as) COMPAT_FREEBSD32. >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201108160503.p7G53oKl084741>