# affects libc6-dev on other archs as well reassign 394385 glibc found 394385 2.3.6.ds1-4 tags 394385 patch thanks
On Fri, Oct 20, 2006 at 04:16:35PM -0600, Troy Heber wrote: > PAGE_SIZE is no longer exposed to user space in <asm/page.h>, see > Bug#393023. However, <sys/user.h> defines NBPG to be PAGE_SIZE which > prevents packages that use it form building gdb (Bug#394381) and crash > (Bug#394267). Attached is a patch which replaces the hard-coded values of PAGE_SIZE with calls to sysconf(_SC_PAGESIZE) in sys/user.h, for all architectures. This is somewhat pre-emptive since PAGE_SIZE is still defined on a number of these archs, but there's no sense in having to fix the same bug again later the next time the kernel changes... Thanks, -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. [EMAIL PROTECTED] http://www.debian.org/
Index: glibc-2.3.6/sysdeps/unix/sysv/linux/alpha/sys/user.h =================================================================== --- glibc-2.3.6.orig/sysdeps/unix/sysv/linux/alpha/sys/user.h 2006-10-20 20:40:59.000000000 -0700 +++ glibc-2.3.6/sysdeps/unix/sysv/linux/alpha/sys/user.h 2006-10-20 20:41:11.000000000 -0700 @@ -41,7 +41,7 @@ char u_comm[32]; /* user command name */ }; -#define NBPG PAGE_SIZE +#define NBPG sysconf(_SC_PAGESIZE) #define UPAGES 1 #define HOST_TEXT_START_ADDR (u.start_code) #define HOST_DATA_START_ADDR (u.start_data) Index: glibc-2.3.6/sysdeps/unix/sysv/linux/i386/sys/user.h =================================================================== --- glibc-2.3.6.orig/sysdeps/unix/sysv/linux/i386/sys/user.h 2006-10-20 20:41:45.000000000 -0700 +++ glibc-2.3.6/sysdeps/unix/sysv/linux/i386/sys/user.h 2006-10-20 20:42:35.000000000 -0700 @@ -92,8 +92,7 @@ int u_debugreg [8]; }; -#define PAGE_SHIFT 12 -#define PAGE_SIZE (1UL << PAGE_SHIFT) +#define PAGE_SIZE sysconf(_SC_PAGESIZE) #define PAGE_MASK (~(PAGE_SIZE-1)) #define NBPG PAGE_SIZE #define UPAGES 1 Index: glibc-2.3.6/sysdeps/unix/sysv/linux/ia64/sys/user.h =================================================================== --- glibc-2.3.6.orig/sysdeps/unix/sysv/linux/ia64/sys/user.h 2006-10-20 20:46:09.000000000 -0700 +++ glibc-2.3.6/sysdeps/unix/sysv/linux/ia64/sys/user.h 2006-10-20 20:46:16.000000000 -0700 @@ -45,7 +45,7 @@ char u_comm[32]; /* User command name. */ }; -#define NBPG PAGE_SIZE +#define NBPG sysconf(_SC_PAGESIZE) #define UPAGES 1 #define HOST_TEXT_START_ADDR (u.start_code) #define HOST_DATA_START_ADDR (u.start_data) Index: glibc-2.3.6/sysdeps/unix/sysv/linux/mips/sys/user.h =================================================================== --- glibc-2.3.6.orig/sysdeps/unix/sysv/linux/mips/sys/user.h 2006-10-20 20:45:07.000000000 -0700 +++ glibc-2.3.6/sysdeps/unix/sysv/linux/mips/sys/user.h 2006-10-20 20:47:24.000000000 -0700 @@ -207,8 +207,7 @@ #endif -#define PAGE_SHIFT 12 -#define PAGE_SIZE (1UL << PAGE_SHIFT) +#define PAGE_SIZE sysconf(_SC_PAGESIZE) #define PAGE_MASK (~(PAGE_SIZE-1)) #define NBPG PAGE_SIZE #define UPAGES 1 Index: glibc-2.3.6/sysdeps/unix/sysv/linux/x86_64/sys/user.h =================================================================== --- glibc-2.3.6.orig/sysdeps/unix/sysv/linux/x86_64/sys/user.h 2006-10-20 20:46:43.000000000 -0700 +++ glibc-2.3.6/sysdeps/unix/sysv/linux/x86_64/sys/user.h 2006-10-20 20:47:15.000000000 -0700 @@ -164,8 +164,7 @@ }; #endif /* __WORDSIZE */ -#define PAGE_SHIFT 12 -#define PAGE_SIZE (1UL << PAGE_SHIFT) +#define PAGE_SIZE sysconf(_SC_PAGESIZE) #define PAGE_MASK (~(PAGE_SIZE-1)) #define NBPG PAGE_SIZE #define UPAGES 1