1.0.1.28: Fix SBCL on PPC with 65k pages.
authorJuho Snellman <jsnell@iki.fi>
Mon, 15 Jan 2007 22:15:48 +0000 (22:15 +0000)
committerJuho Snellman <jsnell@iki.fi>
Mon, 15 Jan 2007 22:15:48 +0000 (22:15 +0000)
commit4e5668af19abcf84587bf3f7a1c4294cd92c94a7
treeaf229b7d8fe1c9de71b37bd8f121d67b91c27f45
parent6c849ec3769e576fdc8b15caeb7c1fda6d7a651b
1.0.1.28: Fix SBCL on PPC with 65k pages.

        It turns out that getpagesize() can return different values on
        different Linux kernel versions, for example on PPC where the
        ABI specifies the page size as 4k-65k. If getpagesize() and
        SB!C:*BACKEND-PAGE-SIZE* disagree, the result will be a segfault
        at startup. Fix this. (Thanks to David Woodhouse).

        * SB!SYS:GET-PAGE-SIZE and os_vm_page_size use the hardcoded
          SB!C:*BACKEND-PAGE-SIZE* on Linux, since getpagesize() is unreliable.
        * Remove the obsolete LISPOBJ() kludge in genesis for forcing values to
          unsigned.
        * Fix buffer overflow in coreparse for sufficiently small page tables.
        * Allow using 65k or gencgc pages (with a slightly less efficient
          page table structure layout).
14 files changed:
NEWS
src/code/linux-os.lisp
src/code/room.lisp
src/compiler/generic/genesis.lisp
src/compiler/ppc/backend-parms.lisp
src/compiler/ppc/parms.lisp
src/compiler/x86-64/backend-parms.lisp
src/compiler/x86-64/parms.lisp
src/compiler/x86/backend-parms.lisp
src/compiler/x86/parms.lisp
src/runtime/coreparse.c
src/runtime/gencgc-internal.h
src/runtime/linux-os.c
version.lisp-expr