Package: glibc / 2.31-4

Metadata

Package Version Patches format
glibc 2.31-4 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
git updates.diff | (download)

NEWS | 47 47 + 0 - 0 !
configure | 2 1 + 1 - 0 !
configure.ac | 2 1 + 1 - 0 !
debug/backtrace.c | 5 5 + 0 - 0 !
iconv/Makefile | 17 15 + 2 - 0 !
iconv/Versions | 3 3 + 0 - 0 !
iconv/gconv_charset.c | 228 228 + 0 - 0 !
iconv/gconv_charset.h | 34 33 + 1 - 0 !
iconv/gconv_int.h | 40 36 + 4 - 0 !
iconv/gconv_open.c | 64 13 + 51 - 0 !
iconv/iconv_open.c | 46 6 + 40 - 0 !
iconv/iconv_prog.c | 63 23 + 40 - 0 !
iconv/tst-iconv-opt.c | 347 347 + 0 - 0 !
iconv/tst-iconv_prog.sh | 280 280 + 0 - 0 !
include/sys/prctl.h | 1 1 + 0 - 0 !
intl/dcigettext.c | 16 12 + 4 - 0 !
intl/tst-codeset.c | 34 14 + 20 - 0 !
localedata/locales/oc_FR | 6 3 + 3 - 0 !
malloc/tst-mallocfork2.c | 39 28 + 11 - 0 !
math/Makefile | 122 122 + 0 - 0 !
misc/Makefile | 2 1 + 1 - 0 !
misc/tst-syscalls.c | 167 167 + 0 - 0 !
nptl/Makefile | 2 1 + 1 - 0 !
nptl/descr.h | 8 7 + 1 - 0 !
nptl/tst-setgroups.c | 79 79 + 0 - 0 !
nscd/selinux.c | 15 15 + 0 - 0 !
nss/makedb.c | 9 9 + 0 - 0 !
nss/nss_compat/compat-grp.c | 15 12 + 3 - 0 !
nss/nss_compat/compat-initgroups.c | 13 11 + 2 - 0 !
nss/nss_compat/compat-pwd.c | 15 12 + 3 - 0 !
nss/nss_compat/compat-spwd.c | 14 11 + 3 - 0 !
posix/glob.c | 25 13 + 12 - 0 !
stdlib/Makefile | 3 2 + 1 - 0 !
stdlib/tst-system.c | 124 120 + 4 - 0 !
support/shell-container.c | 40 39 + 1 - 0 !
sysdeps/aarch64/strcpy.S | 5 5 + 0 - 0 !
sysdeps/aarch64/strnlen.S | 5 5 + 0 - 0 !
sysdeps/arm/armv7/multiarch/memcpy_impl.S | 22 11 + 11 - 0 !
sysdeps/arm/be/nofpu/Implies | 1 1 + 0 - 0 !
sysdeps/arm/le/nofpu/Implies | 1 1 + 0 - 0 !
sysdeps/arm/memcpy.S | 24 10 + 14 - 0 !
sysdeps/arm/memmove.S | 24 10 + 14 - 0 !
sysdeps/generic/unwind-arch.h | 30 30 + 0 - 0 !
sysdeps/hppa/dl-fptr.c | 26 20 + 6 - 0 !
sysdeps/hppa/dl-machine.h | 36 31 + 5 - 0 !
sysdeps/hppa/dl-runtime.c | 58 58 + 0 - 0 !
sysdeps/hppa/dl-trampoline.S | 74 63 + 11 - 0 !
sysdeps/i386/sysdep.h | 5 3 + 2 - 0 !
sysdeps/ieee754/ldbl-96/Makefile | 5 4 + 1 - 0 !
sysdeps/ieee754/ldbl-96/e_rem_pio2l.c | 12 12 + 0 - 0 !
sysdeps/ieee754/ldbl-96/test-sinl-pseudo.c | 41 41 + 0 - 0 !
sysdeps/posix/system.c | 18 11 + 7 - 0 !
sysdeps/powerpc/powerpc32/sysdep.h | 4 2 + 2 - 0 !
sysdeps/unix/make-syscalls.sh | 24 24 + 0 - 0 !
sysdeps/unix/syscall-template.S | 49 46 + 3 - 0 !
sysdeps/unix/syscalls.list | 22 11 + 11 - 0 !
sysdeps/unix/sysv/linux/Makefile | 4 3 + 1 - 0 !
sysdeps/unix/sysv/linux/aarch64/arch-syscall.h | 1 1 + 0 - 0 !
sysdeps/unix/sysv/linux/aarch64/localplt.data | 3 3 + 0 - 0 !
sysdeps/unix/sysv/linux/hppa/atomic-machine.h | 28 28 + 0 - 0 !
sysdeps/unix/sysv/linux/microblaze/sysdep.h | 91 56 + 35 - 0 !
sysdeps/unix/sysv/linux/mips/mips32/mips-syscall5.S | 6 3 + 3 - 0 !
sysdeps/unix/sysv/linux/mips/mips32/mips-syscall6.S | 6 3 + 3 - 0 !
sysdeps/unix/sysv/linux/mips/mips32/mips-syscall7.S | 7 4 + 3 - 0 !
sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall.h | 64 35 + 29 - 0 !
sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall0.c | 4 2 + 2 - 0 !
sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall1.c | 6 3 + 3 - 0 !
sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall2.c | 6 3 + 3 - 0 !
sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall3.c | 6 3 + 3 - 0 !
sysdeps/unix/sysv/linux/mips/mips32/mips16/mips16-syscall4.c | 6 3 + 3 - 0 !
sysdeps/unix/sysv/linux/mips/mips32/sysdep.h | 145 79 + 66 - 0 !
sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h | 121 71 + 50 - 0 !
sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h | 119 70 + 49 - 0 !
sysdeps/unix/sysv/linux/mips/mips64/syscall.S | 2 1 + 1 - 0 !
sysdeps/unix/sysv/linux/mips/sysdep.h | 4 2 + 2 - 0 !
sysdeps/unix/sysv/linux/mips/unwind-arch.h | 67 67 + 0 - 0 !
sysdeps/unix/sysv/linux/msgctl.c | 10 8 + 2 - 0 !
sysdeps/unix/sysv/linux/nios2/kernel-features.h | 22 0 + 22 - 0 !
sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h | 24 12 + 12 - 0 !
sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h | 24 12 + 12 - 0 !
sysdeps/unix/sysv/linux/prctl.c | 42 42 + 0 - 0 !
sysdeps/unix/sysv/linux/process_vm_readv.c | 32 32 + 0 - 0 !
sysdeps/unix/sysv/linux/process_vm_writev.c | 32 32 + 0 - 0 !
sysdeps/unix/sysv/linux/riscv/sysdep.h | 84 56 + 28 - 0 !
sysdeps/unix/sysv/linux/semctl.c | 10 8 + 2 - 0 !
sysdeps/unix/sysv/linux/shmctl.c | 10 8 + 2 - 0 !
sysdeps/unix/sysv/linux/sparc/Makefile | 8 6 + 2 - 0 !
sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c | 26 2 + 24 - 0 !
sysdeps/unix/sysv/linux/sparc/sparc32/sigreturn_stub.S | 34 34 + 0 - 0 !
sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c | 14 2 + 12 - 0 !
sysdeps/unix/sysv/linux/sparc/sparc64/sigreturn_stub.S | 29 29 + 0 - 0 !
sysdeps/unix/sysv/linux/syscall-names.list | 4 2 + 2 - 0 !
sysdeps/unix/sysv/linux/syscalls.list | 41 19 + 22 - 0 !
sysdeps/unix/sysv/linux/x86_64/sysdep.h | 86 66 + 20 - 0 !
sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h | 35 35 + 0 - 0 !
sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S | 6 3 + 3 - 0 !
sysdeps/x86_64/multiarch/strcmp-avx2.S | 15 15 + 0 - 0 !
97 files changed, 2979 insertions(+), 718 deletions(-)

---
locale/check unknown symbols.diff | (download)

locale/programs/ld-collate.c | 12 12 + 0 - 0 !
1 file changed, 12 insertions(+)

---
locale/locale print LANGUAGE.diff | (download)

locale/programs/locale.c | 4 4 + 0 - 0 !
locale/tst-locale-locpath.sh | 1 1 + 0 - 0 !
2 files changed, 5 insertions(+)

---
locale/LC_IDENTIFICATION optional fields.diff | (download)

locale/programs/ld-identification.c | 9 6 + 3 - 0 !
1 file changed, 6 insertions(+), 3 deletions(-)

---
localedata/sort UTF8 first.diff | (download)

localedata/SUPPORTED | 14 7 + 7 - 0 !
1 file changed, 7 insertions(+), 7 deletions(-)

---
localedata/supported.diff | (download)

localedata/SUPPORTED | 5 5 + 0 - 0 !
1 file changed, 5 insertions(+)

 add several locales to localedata.supported
# DP: - ru_RU.CP1251 was requested in #225516
# DP: - uz_UZ.UTF-8 was clearly missing, uz_UZ had no UTF-8 variant
# DP: - da_DK.ISO-8859-15, en_GB.ISO-8859-15, en_US.ISO-8859-15, no_NO.UTF-8,
# DP:   no_NO and sv_SE.ISO-8859-15 are found in fedora-branch CVS branch.
# DP: Related bugs: #225516 (ru_RU.CP1251)
localedata/locale eu_FR.diff | (download)

localedata/SUPPORTED | 3 3 + 0 - 0 !
localedata/locales/eu_FR | 83 83 + 0 - 0 !
localedata/locales/eu_FR@euro | 83 83 + 0 - 0 !
3 files changed, 169 insertions(+)

 #257840: locales: please add the eu_fr locale
# DP: Related bugs: #257840
localedata/locale ku_TR.diff | (download)

localedata/locales/ku_TR | 67 35 + 32 - 0 !
1 file changed, 35 insertions(+), 32 deletions(-)

 please add kurdish locale
# DP: Related bugs: BZ870
localedata/fo_FO date_fmt.diff | (download)

localedata/locales/fo_FO | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 fix d_t_fmt and date_fmt in fo_fo
# DP: Related bugs: #307194
localedata/locales fr.diff | (download)

localedata/locales/fr_BE | 4 3 + 1 - 0 !
localedata/locales/fr_CH | 4 3 + 1 - 0 !
localedata/locales/fr_FR | 6 6 + 0 - 0 !
localedata/locales/fr_LU | 4 3 + 1 - 0 !
4 files changed, 15 insertions(+), 3 deletions(-)

 various fixes for all french locales
# DP: Related bugs: #248377  #351786 #345481
localedata/locale en_DK.diff | (download)

localedata/SUPPORTED | 1 1 + 0 - 0 !
localedata/locales/en_DK | 22 3 + 19 - 0 !
2 files changed, 4 insertions(+), 19 deletions(-)

 improve en_dk and add en_dk.iso-8859-15 to supported
# DP:   This locale is only useful to provide ISO8601 date formats.
# DP: Related bugs: #323159
localedata/locale zh_TW.diff | (download)

localedata/locales/zh_TW | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

---
localedata/tailor iso14651_t1.diff | (download)

localedata/locales/ar_SA | 219 2 + 217 - 0 !
localedata/locales/sl_SI | 2070 17 + 2053 - 0 !
2 files changed, 19 insertions(+), 2270 deletions(-)

 rewrite collation rules to include iso14651_t1
# DP:  ar_SA cs_CZ et_EE hr_HR lt_LT pl_PL sl_SI tr_TR: not
# DP:    submitted yet.
# DP: Related bugs: BZ664 BZ672
localedata/locale C.diff | (download)

localedata/locales/C | 3232 3232 + 0 - 0 !
1 file changed, 3232 insertions(+)

---
localedata/submitted es_MX decimal_point.diff | (download)

localedata/locales/es_MX | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

---
alpha/local gcc4.1.diff | (download)

sysdeps/unix/sysv/linux/alpha/ioperm.c | 8 4 + 4 - 0 !
1 file changed, 4 insertions(+), 4 deletions(-)

---
alpha/submitted dl support.diff | (download)

sysdeps/unix/sysv/linux/alpha/dl-support.c | 2 0 + 2 - 0 !
1 file changed, 2 deletions(-)

---
alpha/local string functions.diff | (download)

sysdeps/alpha/alphaev67/stpncpy.S | 115 0 + 115 - 0 !
sysdeps/alpha/alphaev67/strncat.S | 87 0 + 87 - 0 !
sysdeps/alpha/stpncpy.S | 106 0 + 106 - 0 !
sysdeps/alpha/strcmp.S | 194 0 + 194 - 0 !
sysdeps/alpha/strncat.S | 94 0 + 94 - 0 !
sysdeps/alpha/strncmp.S | 277 0 + 277 - 0 !
sysdeps/alpha/strncpy.S | 87 0 + 87 - 0 !
7 files changed, 960 deletions(-)

---
alpha/submitted fts64.diff | (download)

sysdeps/unix/sysv/linux/alpha/fts.c | 1 1 + 0 - 0 !
sysdeps/unix/sysv/linux/alpha/fts64.c | 1 1 + 0 - 0 !
2 files changed, 2 insertions(+)

---
alpha/submitted makecontext.diff | (download)

sysdeps/unix/sysv/linux/alpha/makecontext.S | 5 5 + 0 - 0 !
1 file changed, 5 insertions(+)

---
arm/local sigaction.diff | (download)

sysdeps/unix/sysv/linux/arm/sigaction.c | 13 4 + 9 - 0 !
1 file changed, 4 insertions(+), 9 deletions(-)

---
arm/unsubmitted ldconfig cache abi.diff | (download)

sysdeps/unix/sysv/linux/arm/readelflib.c | 127 127 + 0 - 0 !
1 file changed, 127 insertions(+)

---
arm/local soname hack.diff | (download)

elf/dl-load.c | 5 4 + 1 - 0 !
1 file changed, 4 insertions(+), 1 deletion(-)

---
arm/local vfp sysdeps.diff | (download)

sysdeps/arm/sysdep.h | 7 7 + 0 - 0 !
1 file changed, 7 insertions(+)

 work around broken compilers (like fpc) on armhf
arm/unsubmitted ldso multilib.diff | (download)

elf/dl-load.c | 9 9 + 0 - 0 !
1 file changed, 9 insertions(+)

---
arm/local arm futex.diff | (download)

sysdeps/unix/sysv/linux/arm/kernel-features.h | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 lie about futex_atomic_cmpxchg_inatomic kernel support.
 In past versions of glibc, we incorrectly assumed all ARM kernels
 in all configurations supported futex_atomic_cmpxchg_inatomic. This
 was clearly a lie, however it was a lie that we relied on, because
 the fallback implementation appears to not play nicely with certain
 applications like pulseaudio.  Restore the lie for kernels > 2.6.32
 and plug our ears and scream "LA LA LA" about how wrong this is.
hppa/local inlining.diff | (download)

sysdeps/hppa/Makefile | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

---
hurd i386/posix_openpt.diff | (download)

sysdeps/unix/bsd/getpt.c | 18 10 + 8 - 0 !
sysdeps/unix/sysv/linux/getpt.c | 7 4 + 3 - 0 !
2 files changed, 14 insertions(+), 11 deletions(-)

---
hurd i386/local enable ldconfig.diff | (download)

elf/ldconfig.c | 4 4 + 0 - 0 !
sysdeps/mach/hurd/configure | 2 2 + 0 - 0 !
sysdeps/mach/hurd/configure.ac | 2 2 + 0 - 0 !
3 files changed, 8 insertions(+)

 enable ldconfig and such on hurd-i386
hurd i386/tg sysvshm.diff | (download)

hurd/Makefile | 1 1 + 0 - 0 !
hurd/sysvshm.c | 97 97 + 0 - 0 !
hurd/sysvshm.h | 47 47 + 0 - 0 !
sysdeps/mach/hurd/bits/posix_opt.h | 4 2 + 2 - 0 !
sysdeps/mach/hurd/ftok.c | 41 41 + 0 - 0 !
sysdeps/mach/hurd/shmat.c | 82 82 + 0 - 0 !
sysdeps/mach/hurd/shmctl.c | 132 132 + 0 - 0 !
sysdeps/mach/hurd/shmdt.c | 51 51 + 0 - 0 !
sysdeps/mach/hurd/shmget.c | 242 242 + 0 - 0 !
9 files changed, 695 insertions(+), 2 deletions(-)

 [patch] implement sysv shared memory for gnu/hurd.

2005-07-11  Marcus Brinkmann  <marcus@gnu.org>

        * hurd/Makefile (routines): Add sysvshm.
        (distribute): Add sysvshm.h.
        * hurd/sysvshm.h: New file.
        * hurd/sysvshm.c: New file.
        * sysdeps/mach/hurd/bits/stat.h (S_IMMAP0): New macro.
        (S_ISPARE): Unset the S_IMMAP0 flag.
        * sysdeps/mach/hurd/ftok.c: New file.
        * sysdeps/mach/hurd/shmat.c: New file.
        * sysdeps/mach/hurd/shmctl.c: New file.
        * sysdeps/mach/hurd/shmdt.c: New file.
        * sysdeps/mach/hurd/bits/posix_opt.h: Define _XOPEN_SHM to 1.

TODO:
“
> +  char filename[sizeof (SHM_DIR) - 1 + SHM_NAMEMAX];
> +  struct stat statbuf;
> +
> +  sprintf (filename, SHM_DIR SHM_NAMEPRI, id);
> +  /* SysV requires read access for IPC_STAT.  */
> +  fd = __open (filename, O_NORW);
> +  if (fd < 0)
> +    {
> +      if (errno == ENOENT)
> +     errno = EINVAL;
> +      return -1;
> +    }

Since this is repeated in more than one function, put it into an
internal subroutine.  Then we have only one place doing the
name-generation logic.
”

“
> +    case IPC_RMID:
> +      res = __unlink (filename);
> +      /* FIXME: Check error (mapping ENOENT to EINVAL).  */

Fix it.
”


hurd i386/tg thread cancel.diff | (download)

hurd/hurdexec.c | 1 0 + 1 - 0 !
hurd/thread-cancel.c | 2 0 + 2 - 0 !
sysdeps/mach/hurd/jmp-unwind.c | 3 1 + 2 - 0 !
sysdeps/mach/hurd/spawni.c | 1 0 + 1 - 0 !
4 files changed, 1 insertion(+), 6 deletions(-)

 [patch] the critical section lock _can_ be held in these place.

At least since hurd_thread_cancel can be called by another thread and lock our
critical lock.

http://bugs.debian.org/46859

“
Thomas suggested that there is no need to take the critical section
lock.  I believe that taking the critical section lock is necessary to
prevent the target thread from entering a signal handler.  Roland will
look into the problem.
”

Taking the critical section lock makes these assertions bogus.

It happens that hurd_thread_cancel is only called from libports and inside
/hurd/term so this is rare in practice.

A reproducer can be found here:

http://lists.gnu.org/archive/html/bug-hurd/2014-05/msg00025.html

2006-08-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>

       * hurd/thread-cancel.c (hurd_thread_cancel): Do not assert that
       `&ss->critical_section_lock' is unlocked.
       * sysdeps/mach/hurd/jmp-unwind.c (_longjmp_unwind): Likewise, and take
       critical section lock before taking the sigstate lock.
       * sysdeps/mach/hurd/spawni.c (__spawni): Likewise.


hurd i386/tg bigmem.diff | (download)

sysdeps/mach/hurd/dl-sysdep.c | 28 22 + 6 - 0 !
1 file changed, 22 insertions(+), 6 deletions(-)

 [patch] allow the kernel to start earlier than vm_max_address

VM_MAX_ADDRESS shouldn't be hardcoded in libc, the kernel should be able to
decide about it dynamically. This fixes glibc into supporting that. It's however
a bit hackish.


hurd i386/local disable ioctls.diff | (download)

sysdeps/mach/hurd/bits/ioctls.h | 6 6 + 0 - 0 !
1 file changed, 6 insertions(+)

---
hurd i386/tg sendmsg SCM_CREDS.diff | (download)

hurd/Makefile | 2 1 + 1 - 0 !
sysdeps/mach/hurd/recvmsg.c | 137 137 + 0 - 0 !
sysdeps/mach/hurd/sendmsg.c | 36 36 + 0 - 0 !
3 files changed, 174 insertions(+), 1 deletion(-)

 [patch] hurd: scm_creds support

Svante Signell  <svante.signell@gmail.com>
Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* sysdeps/mach/hurd/sendmsg.c (__libc_sendmsg): On SCM_CREDS
	control messages, record uids, pass a rendez-vous port in the
	control message, and call __auth_user_authenticate_request to
	make auth send credentials on that port.  Do not wait for a
	reply.
	* sysdeps/mach/hurd/recvmsg.c (contains_uid, contains_gid,
	check_auth): New functions.
	(__libc_recvmsg): On SCM_CREDS control messages, call check_auth
	to check the passed credentials thanks to the answer from the
	auth server.
	* hurd/Makefile (user-interfaces): Add auth_request and
	auth_reply.


hurd i386/tg mach hurd link.diff | (download)

Makerules | 3 3 + 0 - 0 !
1 file changed, 3 insertions(+)

 [patch] add -lmachuser -lhurduser to libc.so on gnu/hurd.

http://lists.gnu.org/archive/html/bug-hurd/2011-03/msg00112.html

2011-03-29  Samuel Thibault  <samuel.thibault@ens-lyon.org>

        * Makerules ($(inst_libdir)/libc.so): Add -lmachuser -lhurduser to
        libc.so on GNU/Hurd.

It's still unclear what we want to aim for.


hurd i386/local ED.diff | (download)

sysdeps/mach/hurd/bits/errno.h | 4 4 + 0 - 0 !
1 file changed, 4 insertions(+)

---
hurd i386/local madvise_warn.diff | (download)

misc/madvise.c | 2 1 + 1 - 0 !
posix/posix_madvise.c | 2 1 + 1 - 0 !
2 files changed, 2 insertions(+), 2 deletions(-)

---
hurd i386/tg hurdsig SA_SIGINFO.diff | (download)

hurd/hurd/signal.h | 5 5 + 0 - 0 !
hurd/hurdfault.c | 2 1 + 1 - 0 !
hurd/hurdinit.c | 2 1 + 1 - 0 !
hurd/hurdsig.c | 6 3 + 3 - 0 !
sysdeps/mach/hurd/bits/sigaction.h | 86 86 + 0 - 0 !
sysdeps/mach/hurd/i386/bits/sigcontext.h | 4 4 + 0 - 0 !
sysdeps/mach/hurd/i386/exc2signal.c | 123 77 + 46 - 0 !
sysdeps/mach/hurd/i386/sigcontextinfo.h | 5 2 + 3 - 0 !
sysdeps/mach/hurd/i386/trampoline.c | 125 114 + 11 - 0 !
sysdeps/mach/hurd/kill.c | 2 1 + 1 - 0 !
sysdeps/mach/hurd/setitimer.c | 2 1 + 1 - 0 !
11 files changed, 295 insertions(+), 67 deletions(-)

 [patch] implement sa_siginfo signal handlers.

    52baaca Hurd signals: Copy bits/sigaction.h
    4232c66 Hurd signals: SA_SIGINFO support
    1831cfe Hurd signals: Use POSIX sigcodes


hurd i386/tg hooks.diff | (download)

Makerules | 39 39 + 0 - 0 !
1 file changed, 39 insertions(+)

 [patch] t/hooks

Add link rules to sort hooks, otherwise they are not properly recorded

2012-04-21  Samuel Thibault  <samuel.thibault@ens-lyon.org>

        * Makerules (shlib.lds): Add hurd hooks sorting rules.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>


hurd i386/local usr.diff | (download)

sysdeps/mach/hurd/i386/libc.abilist | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

---
hurd i386/git sbrk end.diff | (download)

hurd/Versions | 3 0 + 3 - 0 !
misc/Makefile | 4 4 + 0 - 0 !
misc/tst-sbrk-pie.c | 3 3 + 0 - 0 !
misc/tst-sbrk-static.c | 3 3 + 0 - 0 !
misc/tst-sbrk.c | 49 49 + 0 - 0 !
sysdeps/mach/hurd/brk.c | 16 8 + 8 - 0 !
sysdeps/mach/hurd/i386/libc.abilist | 1 0 + 1 - 0 !
sysdeps/mach/hurd/i386/vm_param.h | 24 24 + 0 - 0 !
8 files changed, 91 insertions(+), 12 deletions(-)

---
hurd i386/tg ifaddrs_v6.diff | (download)

sysdeps/mach/hurd/ifaddrs.c | 310 310 + 0 - 0 !
1 file changed, 310 insertions(+)

 [patch] workaround to add ipv6 support to getifaddrs

ifreq only contains sockaddr structures, which are not big enough for
IPv6 addresses. This takes another, ugly, approach, by parsing fsysopts
/servers/socket/2 options...

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>


hurd i386/tg EIEIO fr.diff | (download)

po/fr.po | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch] correction traduction « computer bought the farm »

* po/fr.po: Fix EIEIO french translation.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>


hurd i386/tg EGREGIOUS fr.diff | (download)

po/fr.po | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch] t/egregious-fr

Fix grammar in french translation for EGREGIOUS

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>


hurd i386/unsubmitted clock_t_centiseconds.diff | (download)

sysdeps/mach/hurd/getclktck.c | 5 2 + 3 - 0 !
sysdeps/mach/hurd/setitimer.c | 2 1 + 1 - 0 !
sysdeps/mach/hurd/times.c | 2 1 + 1 - 0 !
3 files changed, 4 insertions(+), 5 deletions(-)

---
hurd i386/submitted path_mounted.diff | (download)

sysdeps/generic/paths.h | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch 2/2] define _path_mounted as "/etc/mtab"
Date: Thu, 15 Aug 2013 10:43:35 +0200

Change the definition of _PATH_MOUNTED to "/etc/mtab". This is the
value used on Linux.

The change is motivated by the fact that on Debian /etc/mtab is a
symbolic link to /proc/mounts. This patch adjusts the macro for
non-linux systems such as Hurd. Changing this using
sysdeps/mach/hurd/paths.h causes build problems because
/usr/include/hurd/paths.h is shadowed by this file. This change is
proposed in the hope that aligning the non-linux targets with the
glibc for Linux is perceived as a good thing while fixing this problem
on Debian/Hurd along the way.

* sysdeps/generic/paths.h (_PATH_MOUNTED): Change value to "/etc/mtab".

hurd i386/tg sigstate_thread_reference.diff | (download)

hurd/hurd/signal.h | 17 14 + 3 - 0 !
hurd/hurdsig.c | 17 14 + 3 - 0 !
2 files changed, 28 insertions(+), 6 deletions(-)

 [patch] hurd: make sigstates hold a reference on thread ports

This change is required in order to correctly release per-thread
resources. Directly reusing the threading library reference isn't
possible since the sigstate is also used early in the main thread,
before threading is initialized.

* hurd/hurd/signal.h (_hurd_self_sigstate): Drop thread reference after
calling _hurd_thread_sigstate.
(_hurd_critical_section_lock): Likewise.
* hurd/hurdsig.c (_hurd_thread_sigstate): Add a reference on the thread.
(_hurd_sigstate_delete): Drop thread reference.


hurd i386/submitted bind_umask2.diff | (download)

sysdeps/mach/hurd/bind.c | 17 11 + 6 - 0 !
1 file changed, 11 insertions(+), 6 deletions(-)

---
hurd i386/tg bootstrap.diff | (download)

sysdeps/mach/Makefile | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

---
hurd i386/local mach_print.diff | (download)

mach/Versions | 1 1 + 0 - 0 !
sysdeps/mach/hurd/i386/libc.abilist | 1 1 + 0 - 0 !
2 files changed, 2 insertions(+)

---
hurd i386/tg eintr.diff | (download)

hurd/hurdsock.c | 5 5 + 0 - 0 !
1 file changed, 5 insertions(+)

---
hurd i386/tg libc_rwlock_recursive.diff | (download)

sysdeps/mach/libc-lock.h | 18 9 + 9 - 0 !
1 file changed, 9 insertions(+), 9 deletions(-)

 [patch] xxx: make libc_rwlock recursive

Without making the rwlocks recursive, running fakeroot-tcp gets this:

#0  0x0106e91c in mach_msg_trap () at /usr/src/glibc-2.24/build-tree/hurd-i386-libc/mach/mach_msg_trap.S:2
#1  0x0106f090 in __mach_msg (msg=0x20034a0, option=3, send_size=64, rcv_size=32, rcv_name=421, timeout=0, notify=0) at msg.c:110
#2  0x0125a241 in __gsync_wait (task=1, addr=19101080, val1=2, val2=0, msec=0, flags=0)
    at /usr/src/glibc-2.24/build-tree/hurd-i386-libc/mach/RPC_gsync_wait.c:175
#3  0x010b0743 in __dcigettext (domainname=0x8050740 <_libc_intl_domainname@@GLIBC_2.2.6> "libc", 
    msgid1=0x8051d88 "undefined symbol: acl_get_fd", msgid2=0x0, plural=0, n=0, category=5) at dcigettext.c:527
#4  0x010af776 in __dcgettext (domainname=0x8050740 <_libc_intl_domainname@@GLIBC_2.2.6> "libc", 
    msgid=0x8051d88 "undefined symbol: acl_get_fd", category=5) at dcgettext.c:47
#5  0x0124e427 in __dlerror () at dlerror.c:94
#6  0x01035ae3 in load_library_symbols () from /usr/lib/i386-gnu/libfakeroot/libfakeroot-tcp.so
#7  0x01035cc3 in tmp___fxstat64 () from /usr/lib/i386-gnu/libfakeroot/libfakeroot-tcp.so
#8  0x01036cd6 in __fxstat64 () from /usr/lib/i386-gnu/libfakeroot/libfakeroot-tcp.so
#9  0x010ad831 in _nl_load_locale_from_archive (category=category@entry=0, namep=namep@entry=0x200399c) at loadarchive.c:211
#10 0x010ac45b in _nl_find_locale (locale_path=0x0, locale_path_len=0, category=category@entry=0, name=0x200399c) at findlocale.c:154
#11 0x010abde7 in setlocale (category=0, locale=0x804c2e4 "") at setlocale.c:417
#12 0x0804947f in main (argc=2, argv=0x2003ad4) at programs/locale.c:191

That's very unfortunate: libfakeroot gets initialized from a section
where __libc_setlocale_lock is already locked, and thus the dlerror()
call hangs inside __dcigettext. It happens that Linux doesn't have
the problem probably because pthread_rwlock_wrlock returns a EDEADLK
error instead of hanging, and then the first unlock unlocks, and the
second unlock probably returns an EINVAL. This is all very unsafe, but
that's fakeroot-tcp's matter (see http://bugs.debian.org/845930 for the
follow-up)...

We only use it when constructing the debian installer for -s -r options
anyway.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>


hurd i386/local no_unsupported_ioctls.diff | (download)

sysdeps/mach/hurd/bits/ioctls.h | 6 6 + 0 - 0 !
1 file changed, 6 insertions(+)

---
hurd i386/local exec_filename.diff | (download)

hurd/Makefile | 4 2 + 2 - 0 !
hurd/Versions | 4 4 + 0 - 0 !
hurd/hurdexec.c | 29 29 + 0 - 0 !
sysdeps/mach/hurd/i386/libc.abilist | 1 1 + 0 - 0 !
sysdeps/mach/hurd/spawni.c | 13 13 + 0 - 0 !
5 files changed, 49 insertions(+), 2 deletions(-)

---
hurd i386/git fork pthread_exit.diff | (download)

sysdeps/mach/hurd/htl/pt-sysdep.c | 9 9 + 0 - 0 !
1 file changed, 9 insertions(+)

---