This is an automated email from the git hooks/post-receive script. aurel32 pushed a commit to branch sid in repository glibc.
commit 3ddb7a5a52feb31abe98ecd101fcbb12b4b3cc04 Author: Aurelien Jarno <aurel...@aurel32.net> Date: Tue Oct 25 18:09:14 2016 +0200 debian/patches/git-updates.diff: update from upstream stable branch: * debian/patches/git-updates.diff: update from upstream stable branch: - Fix pread/pwrite syscalls on SH4. --- debian/changelog | 4 + debian/patches/git-updates.diff | 226 +++++++++++++++++++++++++++++++++++++++- 2 files changed, 228 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index ab5fc46..46c0901 100644 --- a/debian/changelog +++ b/debian/changelog @@ -9,6 +9,10 @@ glibc (2.24-6) UNRELEASED; urgency=medium * hurd-i386/tg-libpthread-gsync-spin.diff: New patch to make spinlocks use gsync too. + [ Aurelien Jarno ] + * debian/patches/git-updates.diff: update from upstream stable branch: + - Fix pread/pwrite syscalls on SH4. + -- Aurelien Jarno <aure...@debian.org> Tue, 18 Oct 2016 23:17:42 +0200 glibc (2.24-5) unstable; urgency=medium diff --git a/debian/patches/git-updates.diff b/debian/patches/git-updates.diff index ecb7d41..b8f5f85 100644 --- a/debian/patches/git-updates.diff +++ b/debian/patches/git-updates.diff @@ -1,10 +1,26 @@ GIT update of git://sourceware.org/git/glibc.git/release/2.24/master from glibc-2.24 diff --git a/ChangeLog b/ChangeLog -index c44c926..3cad282 100644 +index c44c926..b2f6372 100644 --- a/ChangeLog +++ b/ChangeLog -@@ -1,3 +1,152 @@ +@@ -1,3 +1,168 @@ ++2016-10-24 Adhemerval Zanella <adhemerval.zane...@linaro.org> ++ ++ * sysdeps/unix/sysv/linux/pread.c (__libc_pread): Use SYSCALL_LL_PRW. ++ * sysdeps/unix/sysv/linux/pwrite.c (__libc_pwrite): Likewise. ++ * sysdeps/unix/sysv/linux/pread64.c (__libc_pread64): Use ++ SYSCALL_LL64_PRW. ++ * sysdeps/unix/sysv/linux/pwrite64.c (__libc_pwrite64): Likewise. ++ * sysdeps/unix/sysv/linux/sh/kernel-features.h: Define ++ __ASSUME_PRW_DUMMY_ARG. ++ * sysdeps/unix/sysv/linux/sh/pread.c: Remove file. ++ * sysdeps/unix/sysv/linux/sh/pread64.c: Likewise. ++ * sysdeps/unix/sysv/linux/sh/pwrite.c: Likewise. ++ * sysdeps/unix/sysv/linux/sh/pwrite64.c: Likewise. ++ * sysdeps/unix/sysv/linux/sysdep.h: Define SYSCALL_LL_PRW and ++ SYSCALL_LL_PRW64 based on __ASSUME_PRW_DUMMY_ARG. ++ +2016-10-05 Tulio Magno Quites Machado Filho <tul...@linux.vnet.ibm.com> + + * sysdeps/powerpc/fpu/libm-test-ulps: Regenerated. @@ -2382,6 +2398,62 @@ index c89ed9e..2cfb46e 100644 elision-trylock +libpthread-shared-only-routines += sysdep endif +diff --git a/sysdeps/unix/sysv/linux/pread.c b/sysdeps/unix/sysv/linux/pread.c +index 1bcff64..46d974d 100644 +--- a/sysdeps/unix/sysv/linux/pread.c ++++ b/sysdeps/unix/sysv/linux/pread.c +@@ -28,8 +28,7 @@ + ssize_t + __libc_pread (int fd, void *buf, size_t count, off_t offset) + { +- return SYSCALL_CANCEL (pread, fd, buf, count, +- __ALIGNMENT_ARG SYSCALL_LL (offset)); ++ return SYSCALL_CANCEL (pread, fd, buf, count, SYSCALL_LL_PRW (offset)); + } + + strong_alias (__libc_pread, __pread) +diff --git a/sysdeps/unix/sysv/linux/pread64.c b/sysdeps/unix/sysv/linux/pread64.c +index 58c6aeb..f51beae 100644 +--- a/sysdeps/unix/sysv/linux/pread64.c ++++ b/sysdeps/unix/sysv/linux/pread64.c +@@ -26,8 +26,7 @@ + ssize_t + __libc_pread64 (int fd, void *buf, size_t count, off64_t offset) + { +- return SYSCALL_CANCEL (pread64, fd, buf, count, +- __ALIGNMENT_ARG SYSCALL_LL64 (offset)); ++ return SYSCALL_CANCEL (pread64, fd, buf, count, SYSCALL_LL64_PRW (offset)); + } + + weak_alias (__libc_pread64, __pread64) +diff --git a/sysdeps/unix/sysv/linux/pwrite.c b/sysdeps/unix/sysv/linux/pwrite.c +index 9c502be..1371df8 100644 +--- a/sysdeps/unix/sysv/linux/pwrite.c ++++ b/sysdeps/unix/sysv/linux/pwrite.c +@@ -28,8 +28,7 @@ + ssize_t + __libc_pwrite (int fd, const void *buf, size_t count, off_t offset) + { +- return SYSCALL_CANCEL (pwrite, fd, buf, count, +- __ALIGNMENT_ARG SYSCALL_LL (offset)); ++ return SYSCALL_CANCEL (pwrite, fd, buf, count, SYSCALL_LL_PRW (offset)); + } + + strong_alias (__libc_pwrite, __pwrite) +diff --git a/sysdeps/unix/sysv/linux/pwrite64.c b/sysdeps/unix/sysv/linux/pwrite64.c +index b49e6bc..22f1f05 100644 +--- a/sysdeps/unix/sysv/linux/pwrite64.c ++++ b/sysdeps/unix/sysv/linux/pwrite64.c +@@ -26,8 +26,7 @@ + ssize_t + __libc_pwrite64 (int fd, const void *buf, size_t count, off64_t offset) + { +- return SYSCALL_CANCEL (pwrite64, fd, buf, count, +- __ALIGNMENT_ARG SYSCALL_LL64 (offset)); ++ return SYSCALL_CANCEL (pwrite64, fd, buf, count, SYSCALL_LL64_PRW (offset)); + } + weak_alias (__libc_pwrite64, __pwrite64) + libc_hidden_weak (__pwrite64) diff --git a/sysdeps/unix/sysv/linux/s390/Makefile b/sysdeps/unix/sysv/linux/s390/Makefile index 497ffd5..f8ed013 100644 --- a/sysdeps/unix/sysv/linux/s390/Makefile @@ -2394,6 +2466,135 @@ index 497ffd5..f8ed013 100644 endif ifeq ($(subdir),stdlib) +diff --git a/sysdeps/unix/sysv/linux/sh/kernel-features.h b/sysdeps/unix/sysv/linux/sh/kernel-features.h +index ad05fc3..c5240fa 100644 +--- a/sysdeps/unix/sysv/linux/sh/kernel-features.h ++++ b/sysdeps/unix/sysv/linux/sh/kernel-features.h +@@ -44,3 +44,8 @@ + + /* SH does not have a 64-bit inode field. */ + #undef __ASSUME_ST_INO_64_BIT ++ ++/* SH4 ABI does not really require argument alignment for 64-bits, but ++ the kernel interface for p{read,write}64 adds a dummy long argument ++ before the offset. */ ++#define __ASSUME_PRW_DUMMY_ARG 1 +diff --git a/sysdeps/unix/sysv/linux/sh/pread.c b/sysdeps/unix/sysv/linux/sh/pread.c +deleted file mode 100644 +index d3f99f3..0000000 +--- a/sysdeps/unix/sysv/linux/sh/pread.c ++++ /dev/null +@@ -1,23 +0,0 @@ +-/* Copyright (C) 1997-2016 Free Software Foundation, Inc. +- This file is part of the GNU C Library. +- Contributed by Ulrich Drepper <drep...@cygnus.com>, 1997. +- +- 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/>. */ +- +-/* SH4 ABI does not really require argument alignment for 64-bits, but +- the kernel interface for pread adds a dummy long argument before the +- offset. */ +-#define __ALIGNMENT_ARG +-#include <sysdeps/unix/sysv/linux/pread.c> +diff --git a/sysdeps/unix/sysv/linux/sh/pread64.c b/sysdeps/unix/sysv/linux/sh/pread64.c +deleted file mode 100644 +index b2e8a25..0000000 +--- a/sysdeps/unix/sysv/linux/sh/pread64.c ++++ /dev/null +@@ -1,23 +0,0 @@ +-/* Copyright (C) 1997-2016 Free Software Foundation, Inc. +- This file is part of the GNU C Library. +- Contributed by Ulrich Drepper <drep...@cygnus.com>, 1997. +- +- 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/>. */ +- +-/* SH4 ABI does not really require argument alignment for 64-bits, but +- the kernel interface for pread adds a dummy long argument before the +- offset. */ +-#define __ALIGNMENT_ARG +-#include <sysdeps/unix/sysv/linux/pread64.c> +diff --git a/sysdeps/unix/sysv/linux/sh/pwrite.c b/sysdeps/unix/sysv/linux/sh/pwrite.c +deleted file mode 100644 +index 391ed5e..0000000 +--- a/sysdeps/unix/sysv/linux/sh/pwrite.c ++++ /dev/null +@@ -1,23 +0,0 @@ +-/* Copyright (C) 1997-2016 Free Software Foundation, Inc. +- This file is part of the GNU C Library. +- Contributed by Ulrich Drepper <drep...@cygnus.com>, 1997. +- +- 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/>. */ +- +-/* SH4 ABI does not really require argument alignment for 64-bits, but +- the kernel interface for pwrite adds a dummy long argument before the +- offset. */ +-#define __ALIGNMENT_ARG +-#include <sysdeps/unix/sysv/linux/pwrite.c> +diff --git a/sysdeps/unix/sysv/linux/sh/pwrite64.c b/sysdeps/unix/sysv/linux/sh/pwrite64.c +deleted file mode 100644 +index 683a5d9..0000000 +--- a/sysdeps/unix/sysv/linux/sh/pwrite64.c ++++ /dev/null +@@ -1,23 +0,0 @@ +-/* Copyright (C) 1997-2016 Free Software Foundation, Inc. +- This file is part of the GNU C Library. +- Contributed by Ralf Baechle <r...@gnu.org>, 1998. +- +- 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/>. */ +- +-/* SH4 ABI does not really require argument alignment for 64-bits, but +- the kernel interface for pread adds a dummy long argument before the +- offset. */ +-#define __ALIGNMENT_ARG +-#include <sysdeps/unix/sysv/linux/pwrite64.c> diff --git a/sysdeps/unix/sysv/linux/sparc/Makefile b/sysdeps/unix/sysv/linux/sparc/Makefile index e67aecf..a67d199 100644 --- a/sysdeps/unix/sysv/linux/sparc/Makefile @@ -2459,6 +2660,27 @@ index bb3eecf..67e1c42 100644 return ec; } +diff --git a/sysdeps/unix/sysv/linux/sysdep.h b/sysdeps/unix/sysv/linux/sysdep.h +index a469f57..e3ecd56 100644 +--- a/sysdeps/unix/sysv/linux/sysdep.h ++++ b/sysdeps/unix/sysv/linux/sysdep.h +@@ -48,6 +48,16 @@ + __LONG_LONG_PAIR ((long) ((val) >> 32), (long) ((val) & 0xffffffff)) + #endif + ++/* Provide a common macro to pass 64-bit value on pread and pwrite ++ syscalls. */ ++#ifdef __ASSUME_PRW_DUMMY_ARG ++# define SYSCALL_LL_PRW(val) 0, SYSCALL_LL (val) ++# define SYSCALL_LL64_PRW(val) 0, SYSCALL_LL64 (val) ++#else ++# define SYSCALL_LL_PRW(val) __ALIGNMENT_ARG SYSCALL_LL (val) ++# define SYSCALL_LL64_PRW(val) __ALIGNMENT_ARG SYSCALL_LL64 (val) ++#endif ++ + /* Provide a macro to pass the off{64}_t argument on p{readv,writev}{64}. */ + #define LO_HI_LONG(val) \ + (long) (val), \ diff --git a/sysdeps/unix/sysv/linux/tile/Makefile b/sysdeps/unix/sysv/linux/tile/Makefile index 1c1cfff..43acea3 100644 --- a/sysdeps/unix/sysv/linux/tile/Makefile -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-glibc/glibc.git