On Wednesday 20 November 2013 17:07:42 Helge Deller wrote: > locale-gen from glibc showed a strange problem on parisc: pedantic: locale-gen is from distros while glibc itself provides localedef. > mmap2(NULL, 536870912, PROT_NONE, MAP_SHARED, 3, 0) = 0x42a54000 > mmap2(0x42a54000, 103860, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_FIXED, 3, 0) > = -1 EINVAL (Invalid argument) > > Basically it was just trying to re-mmap() a file at the same address > which it was given by a previous mmap() call. But this remapping failed > with EINVAL. > > The problem is, that when MAP_FIXED and MAP_SHARED flags were used, we > didn't included the mapping-based offset when we verified the alignment of > the given fixed address against the offset which we calculated it in the > previous call. hmm, which version of glibc were you trying ? we landed this change recently: https://sourceware.org/git/?p=glibc.git;a=commitdiff_plain;h=17db6e8d6b12f55e312fcab46faf5d332c806fb6 it's part of glibc-2.18. we know earlier versions of localedef failed on systems like parisc, although it seemed to really only creep up on 64bit kernels reliably. based on your description, it sounds like independent bugs, but it also seems a little coincidental ... -mike
Attachment:
signature.asc
Description: This is a digitally signed message part.