I've committed a series of changes to the tree that are aimed at fixing a few quirks left over from gcc-2.0 compatability in our syscall layer. Specifically, key syscalls like mmap() had an extra argument, "int pad". The hacks to work around it were a problem for a number of things, and caused some sub-optimal circumstances for the amd64 platform. I've committed some temporary workarounds to try and make sure that we don't loose the ability to boot kernel.old's, and to make sure that people who aren't paying attention don't get too badly hosed. To that end, the old syscalls are compiled in (temporarily) regardless of whether you use the appropriate COMPAT_ kernel option. (GENERIC has them all!). libc will detect an old kernel and use the old syscalls if needed. Once 7-stable begins, I'm intending to remove the forced anti-foot-shooting and turn off the glue in libc that enables post-7.0 worlds to work on pre-7.0 kernels. To that end. Please make sure you have COMPAT_FREEBSD6 in your kernel configs! It isn't important yet, but will be in a few months. As a side note, amd64 machines need COMPAT_FREEBSD6 *now* if they want to run old 32 bit binaries. If they crash with 'Illegal syscall', then that is what you've forgotten. I'm fairly sure I have not broken anything, with the following caveats: * I have not compile nor run tested ia64, powerpc or arm at all. * I have compiled sparc64 and tested the libc changes on an old kernel. I wasn't able to boot a new kernel to test the 'new kernel' support. I expect it will work, if only -current would boot on sun4v. * I have compile and run tested amd64 and i386 fairly extensively. * I have made some tweaks to the commit in preparing it for commit, so it is possible that I have broken something at the last second. If so, I apologize in advance. * There will be more work on this over the coming months. Stay tuned. -Peter -- Peter Wemm - peter_at_wemm.org; peter_at_FreeBSD.org; peter_at_yahoo-inc.com "All of this is for nothing if we don't go to the stars" - JMS/B5Received on Wed Jul 04 2007 - 22:31:44 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:13 UTC