This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH v2] [BZ #10283] localedef: align fixed maps to SHMLBA


On Tuesday 28 May 2013 20:21:15 Carlos O'Donell wrote:
> On 05/28/2013 08:03 PM, Roland McGrath wrote:
> >> http://pubs.opengroup.org/onlinepubs/9699919799/functions/mmap.html
> >> ~~~
> >> If MAP_FIXED is specified, the implementation may
> >> require that addr is a multiple of the page size.
> >> ~~~
> >> Thus addr must be aligned to N*<page size>, where N is implementation
> >> specific.
> > 
> > I think you misread that.  "addr is a multiple of the page size" means
> > the same as "addr is aligned to page size".  The standard says that the
> > implementation may require that the address be aligned to page size (as
> > returned by sysconf).  It does not say that the implementation may
> > impose further restrictions on the address.
> 
> Your interpretation is more strict than mine.
> 
> I do not interpret it that strictly and I think language in
> other parts of the standard backs up that interpretation.
> 
> The text in other parts of the standard uses the same language
> of "multiple of" to indicate you get an alignment of "something"
> or better.
> 
> e.g. From post_memalign:
> ~~~
> Upon successful completion, the value pointed to by memptr
> shall be a multiple of alignment.
> ~~~
> 
> Thus my reading of the above is that it says "the implementation may
> require that addr be aligned to page size or better."
> 
> Which allows any implementation to be correct with N > 1.

yeah, this is how i read that section as well.  the implementation may require 
the address be aligned more than PAGE_SIZE, but if so, it must be a multiple 
of PAGE_SIZE.  i.e. if PAGE_SIZE is 4096, you can't require it be aligned to 
something like 4097, it has to be PAGE_SIZE * N where N may be any value.

otherwise, talking about a "multiple of the page size" is entirely pointless 
when all it means is "the page size".
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]