Re: [PATCH 05/14] all-archs: consolidate .data section definition in asm-generic

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux