diff options
author | Mike Frysinger <vapier@gentoo.org> | 2013-05-23 12:42:28 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2013-06-24 20:26:58 -0400 |
commit | 17db6e8d6b12f55e312fcab46faf5d332c806fb6 (patch) | |
tree | ab95a1c4fdeda9d12e21260604045fd4518afb5a /sysdeps | |
parent | d605071ebf1fbbba5998a349540d4ad4e667f65e (diff) | |
download | glibc-17db6e8d6b12f55e312fcab46faf5d332c806fb6.tar.gz glibc-17db6e8d6b12f55e312fcab46faf5d332c806fb6.tar.xz glibc-17db6e8d6b12f55e312fcab46faf5d332c806fb6.zip |
[BZ #10283] localedef: align fixed maps to SHMLBA
Many Linux arches require fixed mmaps to be aligned higher than pagesize, so use the SHMLBA define as it represents this quantity exactly. This fixes spurious errors seen on those arches like: cannot map archive header: Invalid argument URL: http://sourceware.org/bugzilla/show_bug.cgi?id=10283 Reported-by: CHIKAMA Masaki <masaki.chikama@gmail.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/generic/libc-mmap.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/sysdeps/generic/libc-mmap.h b/sysdeps/generic/libc-mmap.h new file mode 100644 index 0000000000..0ddd20d42a --- /dev/null +++ b/sysdeps/generic/libc-mmap.h @@ -0,0 +1,26 @@ +/* Internal logic for dealing with mmap quirks. + Copyright (C) 2013 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#ifndef _LIBC_MMAP_H +#define _LIBC_MMAP_H 1 + +/* Using MAP_FIXED with mmap sometimes requires larger alignment. */ +#include <sys/shm.h> +#define MAP_FIXED_ALIGNMENT SHMLBA + +#endif |