Messages in this thread | | | Date | Fri, 18 May 2007 11:42:31 +0200 | From | Sam Ravnborg <> | Subject | Re: [PATCH 05/14] all-archs: consolidate .data section definition in asm-generic |
| |
On Fri, May 18, 2007 at 12:16:04AM -0700, David Miller wrote: > > Looking at these patches reminds me of a quirk in the generic > RODATA definition: > > > #define RODATA \ > > . = ALIGN(4096); \ > > .rodata : AT(ADDR(.rodata) - LOAD_OFFSET) { \ > > It uses ALIGN(4096) which is likely supposed to be something > like ALIGN(PAGE_SIZE). Perhaps we should handle this by > definiting a LD_PAGE_SIZE at the top of vmlinux.ld.S files > that need a value other than 4096, and define the default of > 4096 in asm-generic/vmlinux.lds.h?
I would much rather use PAGE_SIZE direct since we have access to that symbol. I would require a small modification in most asm-*/page.h files so ld can parse them:
#define PAGE_SIZE (1UL << PAGE_SHIFT) will become #define PAGE_SIZE (_AC(1,UL) << PAGE_SHIFT)
This will allow the arch's to use that symbol in assembler too which is a win.
Then we could do something like:
#define RODATA(alignment) \ ALIGN(alignment) \
And on the call site we will most likely use
RODATA(PAGE_SIZE)
But the architecture can override it. Full flexibility and acceptable documentation.
> > If you could take care of this I'd really appreciate it. Will do. And may expend the effort a bit further when attacking the .lds files.
It will be a week or two before I get at it.
Sam - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |