Linux headers stopped providing PAGE_SIZE at some point, over a year ago, and <asm/page.h>, at least for the Alpha, is now solely for the kernel use only, wrapped by an #ifdef __KERNEL__ protection, so there is no point in including it at all. Here is a patch that provides the necessary definition in a way similar to what the i386 port does. Without this change programs that make use of NBPG do not build for the Alpha, e.g. (taken from a build of BFD): alpha-linux-gcc -DHAVE_CONFIG_H -I. -DTRAD_CORE -I. -I. -I./../include -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Werror -mcpu=ev4 -pipe -O2 -fomit-fram e-pointer -c trad-core.c -fPIC -DPIC -o .libs/trad-core.o trad-core.c: In function 'trad_unix_core_file_p': trad-core.c:122: error: 'PAGE_SIZE' undeclared (first use in this function) trad-core.c:122: error: (Each undeclared identifier is reported only once trad-core.c:122: error: for each function it appears in.)
Created attachment 2036 [details] The fix for the problem 2007-10-01 Maciej W. Rozycki <macro@linux-mips.org> * sysdeps/unix/sysv/linux/alpha/sys/user.h: Do not include <asm/page.h>. (PAGE_SHIFT, PAGE_SIZE, PAGE_MASK): Define. Taken against 2.4, but applies to HEAD. Please apply.
Alpha is not in the main tree anymore since we have no maintainer. Somebody has to step up and volunteer to be the maintainer of the alpha ports tree or nothing will happen.
Richard Henderson fixed this in commit 6546e0c4997c8 to glibc-ports.git. Marking as fixed.