# 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
We used to use .cfi_adjust_cfa_offset around %esp manipulation
asm instructions to fix unwinding, but when building glibc with
-fno-omit-frame-pointer this is bogus since in that case %ebp is the CFA and
does not move.
Instead, let's force -fno-omit-frame-pointer when building intr-msg.c so
that %ebp can always be used and no .cfi_adjust_cfa_offset is needed.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-intr-msg-cfa.diff
htl: Fix sem_wait race between read and gsync_wait
If the value changes between sem_wait's read and the gsync_wait call,
the kernel will return KERN_INVALID_ARGUMENT, which we have to interpret
as the value having already changed.
This fixes applications (e.g. libgo) seeing sem_wait erroneously return
KERN_INVALID_ARGUMENT.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-sem_wait_race.diff
Force use of -ffreestanding when checking for gnumach headers
Without this ./configure assumes that we are in a fully hosted
environment, which might not be the case. After this patch, we can rely on
the freestanding header files provided by GCC such as stdint.h.
Message-Id: <Y5+0V9osFc/zXMq0@mars>
mach: Fix passing -ffreestanding when checking for gnumach headers
8b8c768e3c70 ("Force use of -ffreestanding when checking for gnumach
headers") was passing -ffreestanding to CFLAGS only, but headers checks are
performed with the preprocessor, so we rather need to pass it to CPPFLAGS.
Previously, getrandom would, each time it's called, traverse the file
system to find /dev/urandom, fetch some random data from it, then throw
away that port. This is quite slow, while calls to getrandom are
genrally expected to be fast.
Additionally, this means that getrandom can not work when /dev/urandom
is unavailable, such as inside a chroot that lacks one. User programs
expect calls to getrandom to work inside a chroot if they first call
getrandom outside of the chroot.
In particular, this is known to break the OpenSSH server, and in that
case the issue is exacerbated by the API of arc4random, which prevents
it from properly reporting errors, forcing glibc to abort on failure.
This causes sshd to just die once it tries to generate a random number.
Caching the random server port, in a manner similar to how socket
server ports are cached, both improves the performance and works around
the chroot issue.
Tested on i686-gnu with the following program:
pthread_barrier_t barrier;
void *worker(void*) {
pthread_barrier_wait(&barrier);
uint32_t sum = 0;
for (int i = 0; i < 10000; i++) {
sum += arc4random();
}
return (void *)(uintptr_t) sum;
}
for (int i = 0; i < THREAD_COUNT; i++) {
pthread_create(&threads[i], NULL, worker, NULL);
}
for (int i = 0; i < THREAD_COUNT; i++) {
void *retval;
pthread_join(threads[i], &retval);
printf("Thread %i: %lu\n", i, (unsigned long)(uintptr_t) retval);
}
In my totally unscientific benchmark, with this patch, this completes
in about 7 seconds, whereas previously it took about 50 seconds. This
program was also used to test that getrandom () doesn't explode if the
random server dies, but instead reopens the /dev/urandom anew. I have
also verified that with this patch, OpenSSH can once again accept
connections properly.
readlink() opens the target with O_READ to be able to read the symlink
content. When the target is actually a fifo, that would hang waiting for a
writer (caught in the coreutils testsuite). We thus have to first lookup the
target without O_READ to perform io_stat and lookout for fifos, and only
after checking the symlink type, we can re-lookup with O_READ.
hurd: Make readlink* just reopen the file used for stat
9e5c991106cb ("hurd: Fix readlink() hanging on fifo") separated opening
the file for the stat call from opening the file for the read call. That
however opened a small window for the file to change. Better make this
atomic by reopening the file with O_READ.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-readlink-fifo.diff
08d2024b4167 ("string: Simplify strerror_r") inadvertently made
__strerror_r print unknown error system in decimal while the original
code was printing it in hexadecimal. perror was kept printing in
hexadecimal in 725eeb4af14c ("string: Use tls-internal on strerror_l"),
let us keep both coherent.
This also fixes a duplicate ':'
Spotted by the libunistring testsuite test-perror2
03ad444e8e08 ("mach: Fix incoherency between perror and strerror")
fixesd the output of error messages, but tst-sprintf-errno.c was still
checking the old (erroneous) format. This updates the expected output
according to the 03ad444e8e08 fix.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-strerror_X.diff
hurd: Fix starting static binaries with stack protection enabled
gcc introduces gs:0x14 accesses in most functions, so we need some tcbhead
to be ready very early during initialization. This configures a static area
which can be referenced by various protected functions, until proper TLS is
set up.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-static-pie.diff
htl: Let pthread_self and cancellability called early
When applications redirect some functions they might get called before
libpthread is fully initialized. They may still expected pthread_self
and cancellable functions to work, so cope with such calls in that
situation.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-htl-pthread-self-early.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.
Gbp-Pq: Topic arm
Gbp-Pq: Name local-arm-futex.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
# 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
# All lines beginning with `# DP:' are a description of the patch.
# DP: Description: 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)
# DP: Dpatch 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: 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)
# DP: Dpatch author: Denis Barbier
# DP: Upstream status: not submitted
# DP: Date: 2006-01-10
Gbp-Pq: Topic localedata
Gbp-Pq: Name supported.diff
* debian/patches/any/local-CVE-2023-6246.patch: Fix a heap buffer overflow
in __vsyslog_internal (CVE-2023-6246).
* debian/patches/any/local-CVE-2023-6779.patch: Fix an off-by-one heap
buffer overflow in __vsyslog_internal (CVE-2023-6779).
* debian/patches/any/local-CVE-2023-6780.patch: Fix an integer overflow in
__vsyslog_internal (CVE-2023-6780).
* debian/patches/any/local-qsort-memory-corruption.patch: Fix a memory
corruption in qsort() when using nontransitive comparison functions.