glibc:azanella/alloca-removal

Last commit made on 2023-09-06
Get this branch:
git clone -b azanella/alloca-removal https://git.launchpad.net/glibc

Branch merges

Branch information

Name:
azanella/alloca-removal
Repository:
lp:glibc

Recent commits

5830319... by Adhemerval Zanella

stdio: Remove __printf_fp_buffer_2 alloca usage

And replace with a scratch_buffer.

3c0bc3e... by Adhemerval Zanella

stdio: Remove __printf_fp_buffer_1 alloca usage

The function is refactored so double and long double / Float128 have
different stack allocations. For double, allocating the maximum
required size for all possible inputs requires about ~480 bytes,
so the memory is allocated on the stack. The long double / _Float128
requires about 6240 bytes, so a stratch_buffer is used instead.

742b352... by Joe Simmons-Talbott <email address hidden>

stdio: Remove __libc_message alloca usage

Use a fixed size array instead. The maximum number of arguments
is set by macro tricks.

d3c34a2... by Joseph Myers <email address hidden>

Use GMP 6.3.0, MPFR 4.2.1 in build-many-glibcs.py

This patch makes build-many-glibcs.py use the new GMP 6.3.0 and MPFR
4.2.1 releases.

Tested with build-many-glibcs.py (host-libraries, compilers and glibcs
builds).

dfe8c44... by Colin Leroy-Mira

localedata: Translit common emojis to smileys [BZ #30649]

Add common emojis to the translit-able characters (mostly
faces and hearts), and translit them to old-fashioned
smileys.

Signed-off-by: Colin Leroy-Mira <email address hidden>
Reviewed-by: Florian Weimer <email address hidden>

c00b984... by Florian Weimer

nscd: Skip unusable entries in first pass in prune_cache (bug 30800)

Previously, if an entry was marked unusable for any reason, but had
not timed out yet, the assert would trigger.

One way to get into such state is if a data change is detected during
re-validation of an entry. This causes the entry to be marked as not
usable. If exits nscd soon after that, then the clock jumps
backwards, and nscd restarted, the cache re-validation run after
startup triggers the removed assert.

The change is more complicated than just the removal of the assert
because entries marked as not usable should be garbage-collected in
the second pass. To make this happen, it is necessary to update some
book-keeping data.

Reviewed-by: DJ Delorie <email address hidden>

693918b... by dengjianbo <email address hidden>

LoongArch: Change loongarch to LoongArch in comments

ea7698a... by dengjianbo <email address hidden>

LoongArch: Add ifunc support for memcmp{aligned, lsx, lasx}

According to glibc memcmp microbenchmark test results(Add generic
memcmp), this implementation have performance improvement
except the length is less than 3, details as below:

Name Percent of time reduced
memcmp-lasx 16%-74%
memcmp-lsx 20%-50%
memcmp-aligned 5%-20%

1b1e9b7... by dengjianbo <email address hidden>

LoongArch: Add ifunc support for memset{aligned, unaligned, lsx, lasx}

According to glibc memset microbenchmark test results, for LSX and LASX
versions, A few cases with length less than 8 experience performace
degradation, overall, the LASX version could reduce the runtime about
15% - 75%, LSX version could reduce the runtime about 15%-50%.

The unaligned version uses unaligned memmory access to set data which
length is less than 64 and make address aligned with 8. For this part,
the performace is better than aligned version. Comparing with the generic
version, the performance is close when the length is larger than 128. When
the length is 8-128, the unaligned version could reduce the runtime about
30%-70%, the aligned version could reduce the runtime about 20%-50%.

55e84dc... by dengjianbo <email address hidden>

LoongArch: Add ifunc support for memrchr{lsx, lasx}

According to glibc memrchr microbenchmark, this implementation could reduce
the runtime as following:

Name Percent of rutime reduced
memrchr-lasx 20%-83%
memrchr-lsx 20%-64%