64K PAGE_SIZE and arch/powerpc/kernel/vdso.c
Michael Neuling
mikey at neuling.org
Mon Oct 18 10:44:12 EST 2010
> Greetings Linux-ppc64 folks,
>
> While trying to compile v2.6.36-rc8 with PAGE_SIZE=65536 I run into the
> following compile failure w/ strict checking on a RHEL5.4 / gcc (GCC)
> 4.1.2 20080704 (Red Hat 4.1.2-46) system:
>
> cc1: warnings being treated as errors
> arch/powerpc/kernel/vdso.c:81: warning: alignment of ‘vdso_data_store’
> is greater than maximum object file alignment. Using 32768
> CC arch/powerpc/sysdev/msi_bitmap.o
> make[1]: *** [arch/powerpc/kernel/vdso.o] Error 1
> make[1]: *** Waiting for unfinished jobs....
>
> Any ideas folks..?
It seems this broke it:
commit abe1ee3a221d53778c3e58747bbec6e518e5471b
Author: Tim Abbott <tabbott at ksplice.com>
Date: Sun Sep 20 18:14:15 2009 -0400
Use macros for .data.page_aligned section.
This patch changes the remaining direct references to
.data.page_aligned in C and assembly code to use the macros in
include/linux/linkage.h.
Backing out just that part of the change (see below) fixes it.
FYI the error only occurs on gcc 4.1 and 4.2. 4.3 and greater is fine.
Mikey
diff --git a/arch/powerpc/kernel/vdso.c b/arch/powerpc/kernel/vdso.c
index 13002fe..c140fce 100644
--- a/arch/powerpc/kernel/vdso.c
+++ b/arch/powerpc/kernel/vdso.c
@@ -78,7 +78,7 @@ static int vdso_ready;
static union {
struct vdso_data data;
u8 page[PAGE_SIZE];
-} vdso_data_store __page_aligned_data;
+} vdso_data_store __attribute__((__section__(".data.page_aligned")));
struct vdso_data *vdso_data = &vdso_data_store.data;
/* Format of the patch table */
More information about the Linuxppc-dev
mailing list