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 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.

>> Thus that PA/Linux and Sparc/Linux are all non-conforming implementations
>> because they require N > 1?
> 
> That's my reading, yes.
> 
>> I agree that POSIX might change their wording to say that SHMLBA
>> is the right value to use, but I bet you'll never get the Austin Group
>> to agree to this kind of change without a lot of work.
>>
>> Thus I'm happy to see some rationale text changes first :-)
> 
> Perhaps the place to start is an interpretation request to clarify whether
> an implementation is allowed to impose a restriction on the bit-pattern of
> the address other than it being aligned to page size.

Good idea.

Cheers,
Carlos.


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