patches/glibc/ports-2.12.1/200-fadvise64_64.patch
author |
"Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com> |
|
Thu Jul 28 22:09:31 2011 +0200 (2011-07-28) |
changeset 2573 |
424fa2092ace |
permissions |
-rw-r--r-- |
scripts/libc: do not build add-ons by default
Currently, no --enable-add-ons option is passed to libc configure when
"$(do_libc_add_ons_list ,)" is empty, which makes configure automatically search
for present add-ons. In that case, all present add-ons are built, although
no add-on was selected by the user in the config. Moreover, this can make the
configure fail if some non-standard add-ons like eglibc-localedef are present.
This behavior also leads to an inconsistency from a user point of view between
the following cases:
- LIBC_ADDONS_LIST="", LIBC_GLIBC_USE_PORTS=n and THREADS="none" in the config,
which makes "$(do_libc_add_ons_list ,)" return "", so all present add-ons
are built.
- LIBC_ADDONS_LIST="", LIBC_GLIBC_USE_PORTS=n and THREADS!="none" in the
config, which makes "$(do_libc_add_ons_list ,)" return the add-on supporting
the chosen threading implementation, e.g. "nptl", so only this add-on is
built.
This patch disables the building of all add-ons in that case.
It is still possible to build all present add-ons by adding --enable-add-ons to
LIBC_GLIBC_EXTRA_CONFIG_ARRAY.
Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
yann@2437
|
1 |
ripped from Debian
|
yann@2437
|
2 |
|
yann@2437
|
3 |
sysdeps/unix/sysv/linux/posix_fadvise.c | 13 +++++++++++++
|
yann@2437
|
4 |
1 file changed, 13 insertions(+)
|
yann@2437
|
5 |
|
yann@2437
|
6 |
diff -durN glibc-2.12.1.orig/sysdeps/unix/sysv/linux/posix_fadvise.c glibc-2.12.1/sysdeps/unix/sysv/linux/posix_fadvise.c
|
yann@2437
|
7 |
--- glibc-2.12.1.orig/sysdeps/unix/sysv/linux/posix_fadvise.c 2003-08-17 02:36:22.000000000 +0200
|
yann@2437
|
8 |
+++ glibc-2.12.1/sysdeps/unix/sysv/linux/posix_fadvise.c 2009-11-13 00:50:03.000000000 +0100
|
yann@2437
|
9 |
@@ -35,6 +35,19 @@
|
yann@2437
|
10 |
return INTERNAL_SYSCALL_ERRNO (ret, err);
|
yann@2437
|
11 |
return 0;
|
yann@2437
|
12 |
#else
|
yann@2437
|
13 |
+# ifdef __NR_fadvise64_64
|
yann@2437
|
14 |
+ INTERNAL_SYSCALL_DECL (err);
|
yann@2437
|
15 |
+ int ret = INTERNAL_SYSCALL (fadvise64_64, err, 6, fd,
|
yann@2437
|
16 |
+ __LONG_LONG_PAIR ((long) (offset >> 31),
|
yann@2437
|
17 |
+ (long) offset),
|
yann@2437
|
18 |
+ __LONG_LONG_PAIR ((long) (len >> 31),
|
yann@2437
|
19 |
+ (long) len),
|
yann@2437
|
20 |
+ advise);
|
yann@2437
|
21 |
+ if (INTERNAL_SYSCALL_ERROR_P (ret, err))
|
yann@2437
|
22 |
+ return INTERNAL_SYSCALL_ERRNO (ret, err);
|
yann@2437
|
23 |
+ return 0;
|
yann@2437
|
24 |
+# else
|
yann@2437
|
25 |
return ENOSYS;
|
yann@2437
|
26 |
+# endif
|
yann@2437
|
27 |
#endif
|
yann@2437
|
28 |
}
|