Package: src:sbcl Followup-For: Bug #939541 Hi!
Attaching an updated patch for Alpha. Will try to send it upstream. Adrian -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer - glaub...@debian.org `. `' Freie Universitaet Berlin - glaub...@physik.fu-berlin.de `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
Index: sbcl-1.5.6/src/runtime/linux-mman.c =================================================================== --- sbcl-1.5.6.orig/src/runtime/linux-mman.c +++ sbcl-1.5.6/src/runtime/linux-mman.c @@ -3,9 +3,27 @@ #include <errno.h> #include "genesis/config.h" +#include "genesis/constants.h" +#include "globals.h" #include "os.h" #include "interr.h" +#ifdef LISP_FEATURE_ALPHA +/* The Alpha is a 64 bit CPU. SBCL is a 32 bit application. Due to all + * the places that assume we can get a pointer into a fixnum with no + * information loss, we have to make sure it allocates all its ram in the + * 0-2Gb region. */ + +static void * under_2gb_free_pointer; +os_set_cheneygc_spaces(uword_t space0_start, uword_t space1_start) +{ + uword_t max; + max = (space1_start > space0_start) ? space1_start : space0_start; + under_2gb_free_pointer = max + dynamic_space_size; +} + +#endif + os_vm_address_t os_validate(int movable, os_vm_address_t addr, os_vm_size_t len) { Index: sbcl-1.5.6/src/runtime/linux-os.c =================================================================== --- sbcl-1.5.6.orig/src/runtime/linux-os.c +++ sbcl-1.5.6/src/runtime/linux-os.c @@ -333,23 +333,6 @@ int os_preinit(char *argv[], char *envp[ return 0; } - -#ifdef LISP_FEATURE_ALPHA -/* The Alpha is a 64 bit CPU. SBCL is a 32 bit application. Due to all - * the places that assume we can get a pointer into a fixnum with no - * information loss, we have to make sure it allocates all its ram in the - * 0-2Gb region. */ - -static void * under_2gb_free_pointer; -os_set_cheneygc_spaces(uword_t space0_start, uword_t space1_start) -{ - uword_t max; - max = (space1_start > space0_start) ? space1_start : space0_start; - under_2gb_free_pointer = max + dynamic_space_size; -} - -#endif - void os_protect(os_vm_address_t address, os_vm_size_t length, os_vm_prot_t prot) {