commit 900778283ac3cfbd274abc55840b5cdae9b7745f
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Sun Feb 9 16:54:58 2020 +0000
htl: make pthread_spin_lock really spin
__spin_lock would actually use gsync_wait to block, which is not what
pthread_spin_lock is about.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-spin_lock.diff
commit 19a64d9f6eda12cd4b802aac470c645d208a1216
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Sun Feb 9 17:01:06 2020 +0100
htl: Fix calling pthread_exit in the child of a fork
We need to reset the threads counter, otherwise pthread_exit() would not
call exit(0).
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-fork-pthread_exit.diff
These ioctls are not actually supported (and will probably not be in the
close future), and are not available on Linux either, so don't expose
them to application at the risk of them complaining that they don't work
(e.g. xterm using TIOCLSET).
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name local-no_unsupported_ioctls.diff
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>
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-libc_rwlock_recursive.diff
commit 230b85f414291ac955827aba15cfbd103ab6ebdd
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Thu Jun 9 01:15:10 2016 +0200
Fix pipe() call returning EINTR sometimes
because it uses a critical section
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-eintr.diff
2014-08-27 Samuel Thibault <samuel.thibault@ens-lyon.org>
Fix bind when umask is e.g. 0777.
* sysdeps/mach/hurd/bind.c (__bind): Pass mode 0666 to __dir_mkfile
instead of final mode, so that call __ifsock_getsockaddr can always
succeed, before calling __file_chmod to fix the mode according to umask,
before calling __dir_link to show the file.
Part of the original fix was committed, the other hasn't been yet, see Roland's
"Harumph" reply to
https://sourceware.org/ml/libc-alpha/2014-08/msg00408.html
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name submitted-bind_umask2.diff
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.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-sigstate_thread_reference.diff
To: libc-alpha@sourceware.org
Subject: [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".
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name submitted-path_mounted.diff
Some applications assume centisecond precision, or at most millisecond precision
(e.g. guile). This is a work-around for them.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name unsubmitted-clock_t_centiseconds.diff
Fix grammar in french translation for EGREGIOUS
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-EGREGIOUS-fr.diff
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>
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-ifaddrs_v6.diff
In PIE mode, the program gets loaded at very low address, and thus _end is very
low, just before libraries, and thus initializing the brk to it does not make
sense, since there is no room left there. Hardcode the brk to 0x8000000 for now
as a workaround.
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-pie-sbrk.diff
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>
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-hooks.diff
Do not warn about madvise not being implemented. It does not have any real
semantic anyway, and that brings some -Werror FTBFS.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name local-madvise_warn.diff
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.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-mach-hurd-link.diff
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.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-sendmsg-SCM_CREDS.diff
struct ortentry and struct ifalias req are actually not defined
struct arpreq is defined, but can not be passed to an ioctl on the Hurd.
so let's make packages not believe these are available.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name local-disable-ioctls.diff
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.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-bigmem.diff
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.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-thread-cancel.diff
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.
”
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-sysvshm.diff
# DP: Description: Enable ldconfig and such on hurd-i386
# DP: Author: Jeff Bailey <jbailey@nisa.net>
# DP: Related Bugs: #309489
# DP: Upstream status: Not submitted
# DP: Status Details: Upstream disagrees with this patch, but I'm
# DP: putting it in so that we have expected Debian behaviour on the
# DP: Hurd. We should review this when the ELF standard supports runpath.
# DP: Date: 08 Apr 2003
# DP: Description: Enable ldconfig and such on hurd-i386
# DP: Author: Jeff Bailey <jbailey@nisa.net>
# DP: Related Bugs: #309489
# DP: Upstream status: Not submitted
# DP: Status Details: Upstream disagrees with this patch, but I'm
# DP: putting it in so that we have expected Debian behaviour on the
# DP: Hurd. We should review this when the ELF standard supports runpath.
# DP: Date: 08 Apr 2003
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name local-enable-ldconfig.diff
Increase the maximal overall growth of the compilation unit caused
by inlining for dl-reloc.c on hppa. This remove some warnings and
strangely it reduces the size of the final binary.
Gbp-Pq: Topic hppa
Gbp-Pq: Name local-inlining.diff
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.
Bug-Ubuntu: https://launchpad.net/bugs/1436162
Bug-Debian: https://bugs.debian.org/788799
Last-Update: 2015-03-25
Gbp-Pq: Topic arm
Gbp-Pq: Name local-arm-futex.diff
patches/arm/local-vfp-sysdeps.diff: Force the Tag_ABI_HardFP_use
and Tag_ABI_VFP_args EABI tags when building for armhf, so compilers
only linking crti.o will generate what appear to be armhf binaries.
Forwarded: no
Gbp-Pq: Topic arm
Gbp-Pq: Name local-vfp-sysdeps.diff
For backward compatibility with armhf binaries built with the
old linker SONAME, we need to fake out the linker to believe
the new is the old, until such a point as everything is rebuilt
Gbp-Pq: Topic arm
Gbp-Pq: Name local-soname-hack.diff
2018-03-01 Aurelien Jarno <aurelien@aurel32.net>
[BZ #22910]
* sysdeps/unix/sysv/linux/alpha/setcontext.S (__startcontext): Set
up CFI directive to forbid further backtracing.
Gbp-Pq: Topic alpha
Gbp-Pq: Name submitted-makecontext.diff
The alpha assembly version of various string functions do not work
correctly on some corner cases, and thus doesn't pass the testsuite.
This patch removes them.
Gbp-Pq: Topic alpha
Gbp-Pq: Name local-string-functions.diff
older versions of glibc would build dl-sysdep as shared-only and dl-support as
static-only. alpha hooks in a cache variable via dl-auxv.h. newer versions of
glibc build dl-sysdep as both shared and static which means we now have symbol
duplication for static builds with dl-sysdep and dl-support. since dl-sysdep
is both shared/static, there is no point in hooking dl-support anymore, so we
can punt it.
Gbp-Pq: Topic alpha
Gbp-Pq: Name submitted-dl-support.diff
2006-05-30 Falk Hueffner <falk@debian.org>
* sysdeps/unix/sysv/linux/alpha/ioperm.c: force the architecture
to ev6 in assembly code.
{standard input}: Assembler messages:
{standard input}:341: Error: macro requires $at register while noat in effect
{standard input}:374: Error: macro requires $at register while noat in effect
{standard input}:438: Error: macro requires $at register while noat in effect
{standard input}:471: Error: macro requires $at register while noat in effect
make[3]: *** [/tmp/buildd/glibc-2.3.6/build-tree/alpha-libc/misc/ioperm.o] Error 1
Hrm. gcc puts .arch ev4 into the .s, and this overrides -mev6 for as.
I cannot really think of anything better than
Gbp-Pq: Topic alpha
Gbp-Pq: Name local-gcc4.1.diff
2012-06-06 Aurelien Jarno <aurelien@aurel32.net>
* locales/es_MX (LC_MONETARY): Set mon_thousands_sep to space
( ).
Gbp-Pq: Topic localedata
Gbp-Pq: Name submitted-es_MX-decimal_point.diff
# All lines beginning with `# DP:' are a description of the patch.
# DP: Description: 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
# DP: Dpatch author: Denis Barbier
# DP: Patch author: Denis Barbier, Pablo Saratxaga
# DP: Upstream status: BZ664 BZ672
# DP: Date: 2006-01-18
# All lines beginning with `# DP:' are a description of the patch.
# DP: Description: 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
# DP: Dpatch author: Denis Barbier
# DP: Patch author: Denis Barbier, Pablo Saratxaga
# DP: Upstream status: BZ664 BZ672
# DP: Date: 2006-01-18
2008-08-08 Aurelien Jarno <aurel32@debian.org>
Loosy update for glibc 2.8.
2007-05-25 Pierre Habouzit <madcoder@debian.org>
Loosy update for glibc 2.6.
2005-01-16 Denis Barbier <barbier@linuxfr.org>
[BZ #672]
Replace current collation rules by including iso14651_t1 and adding
extra rules if needed. There should be no noticeable changes in
sorted text. only ligatures and ignoreable characters have modified
weights.
* locales/da_DK: Likewise.
Gbp-Pq: Topic localedata
Gbp-Pq: Name tailor-iso14651_t1.diff
# All lines beginning with `# DP:' are a description of the patch.
# DP: Description: 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
# DP: Dpatch author: Denis Barbier
# DP: Patch author: Jakob Bohm <jbj@image.dk>
# DP: Upstream status: not submitted
# DP: Date: 2006-01-16
# All lines beginning with `# DP:' are a description of the patch.
# DP: Description: 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
# DP: Dpatch author: Denis Barbier
# DP: Patch author: Jakob Bohm <jbj@image.dk>
# DP: Upstream status: not submitted
# DP: Date: 2006-01-16
Gbp-Pq: Topic localedata
Gbp-Pq: Name locale-en_DK.diff
# All lines beginning with `# DP:' are a description of the patch.
# DP: Description: Various fixes for all French locales
# DP: Related bugs: #248377#351786#345481
# DP: Dpatch author: Denis Barbier <barbier@debian.org>
# DP: Patch author: Denis Barbier
# DP: Upstream status: not submitted
# DP: Date: 2006-01-10
# All lines beginning with `# DP:' are a description of the patch.
# DP: Description: Various fixes for all French locales
# DP: Related bugs: #248377#351786#345481
# DP: Dpatch author: Denis Barbier <barbier@debian.org>
# DP: Patch author: Denis Barbier
# DP: Upstream status: not submitted
# DP: Date: 2006-01-10
Gbp-Pq: Topic localedata
Gbp-Pq: Name locales-fr.diff
# All lines beginning with `# DP:' are a description of the patch.
# DP: Description: Fix d_t_fmt and date_fmt in fo_FO
# DP: Related bugs: #307194
# DP: Dpatch author: Denis Barbier
# DP: Patch author: Jacob Sparre Andersen <sparre@nbi.dk>
# DP: Upstream status: not submitted
# DP: Date: 2006-01-10
# All lines beginning with `# DP:' are a description of the patch.
# DP: Description: Fix d_t_fmt and date_fmt in fo_FO
# DP: Related bugs: #307194
# DP: Dpatch author: Denis Barbier
# DP: Patch author: Jacob Sparre Andersen <sparre@nbi.dk>
# DP: Upstream status: not submitted
# DP: Date: 2006-01-10
Gbp-Pq: Topic localedata
Gbp-Pq: Name fo_FO-date_fmt.diff
# DP: Description: Please add Kurdish locale
# DP: Related bugs: BZ870
# DP: Dpatch author: Denis Barbier <barbier@debian.org>
# DP: Patch author: Kader DILSIZ, Pablo Saratxaga
# DP: Upstream status: Version 0.1 submitted in the original bugreport
# DP: has been committed, this new version has been sent just after.
# DP: Date: 2006-01-06
# DP: Description: Please add Kurdish locale
# DP: Related bugs: BZ870
# DP: Dpatch author: Denis Barbier <barbier@debian.org>
# DP: Patch author: Kader DILSIZ, Pablo Saratxaga
# DP: Upstream status: Version 0.1 submitted in the original bugreport
# DP: has been committed, this new version has been sent just after.
# DP: Date: 2006-01-06
Gbp-Pq: Topic localedata
Gbp-Pq: Name locale-ku_TR.diff