glibc:fw/localedef-utf8

Last commit made on 2022-05-17
Get this branch:
git clone -b fw/localedef-utf8 https://git.launchpad.net/glibc

Branch merges

Branch information

Name:
fw/localedef-utf8
Repository:
lp:glibc

Recent commits

0c34593... by Florian Weimer

locale: localdef input files are now encoded in UTF-8

de0b9d6... by Florian Weimer

locale: Introduce get_string_U_char into linereader.c

This will permit reusing the Unicode character processing for different
character encodings, not just the current <U...> encoding.

7c0759f... by Florian Weimer

locale: Turn ADDC and ADDS into functions in linereader.c

And introduce struct lr_buffer. The functions addc and adds can
be called from functions, enabling subsequent refactoring.

d055481... by Florian Weimer

scripts/glibcelf.py: Add *T_RISCV_* constants

SHT_RISCV_ATTRIBUTES, PT_RISCV_ATTRIBUTES, DT_RISCV_VARIANT_CC were
added in commit 0b6c6750732483b4d59c2fcb45484079cd84157d
("Update RISC-V specific ELF definitions"). This caused the
elf/tst-glibcelf consistency check to fail.

Reviewed-by: Adhemerval Zanella <email address hidden>

d2db60d... by Adhemerval Zanella

Remove dl-librecon.h header.

The Linux version used by i686 and m68k provide three overrrides for
generic code:

  1. DISTINGUISH_LIB_VERSIONS to print additional information when
     libc5 is used by a dependency.

  2. EXTRA_LD_ENVVARS to that enabled LD_LIBRARY_VERSION environment
     variable.

  3. EXTRA_UNSECURE_ENVVARS to add two environment variables related
     to aout support.

None are really requires, it has some decades since libc5 or aout
suppported was removed and Linux even remove support for aout files.
The LD_LIBRARY_VERSION is also dead code, dl_correct_cache_id is not
used anywhere.

Checked on x86_64-linux-gnu and i686-linux-gnu.

Reviewed-by: Florian Weimer <email address hidden>

c628c22... by Adhemerval Zanella

elf: Remove ldconfig kernel version check

Now that it was removed on libc.so.

b46d250... by Adhemerval Zanella

Remove kernel version check

The kernel version check is used to avoid glibc to run on older
kernels where some syscall are not available and fallback code are
not enabled to handle graciously fail. However, it does not prevent
if the kernel does not correctly advertise its version through
vDSO note, uname or procfs.

Also kernel version checks are sometime not desirable by users,
where they want to deploy on different system with different kernel
version knowing the minimum set of syscall is always presented on
such systems.

The kernel version check has been removed along with the
LD_ASSUME_KERNEL environment variable. The minimum kernel used to
built glibc is still provided through NT_GNU_ABI_TAG ELF note and
also printed when libc.so is issued.

Checked on x86_64-linux-gnu.

97a912f... by Adhemerval Zanella

linux: Use /sys/devices/system/cpu on __get_nprocs_conf (BZ#28991)

Currently on Linux __get_nprocs_conf first tries to enumerate the
cpus present in the system by iterating on /sys/devices/system/cpuX
directories. This only enumerates the CPUs that are present in
system (but possibly offline), not taking in account possible CPU
that might added in the system through hotplugging.

Linux provides the maximum number of configured cpus on the
/sys/devices/system/cpu file. Although it might present a larger
value of possible active CPUs on some system (where kernel either
get the information from firmaware or is configured at boot time),
the information is what kernel presents to userland.

This also change the returned value of _SC_NPROCESSORS_CONF, which
aligns as the maximum configure cpu in the system.

Checked on x86_64-linux-gnu.

Reviewed-by: Florian Weimer <email address hidden>

f787e13... by Florian Weimer

csu: Implement and use _dl_early_allocate during static startup

This implements mmap fallback for a brk failure during TLS
allocation.

scripts/tls-elf-edit.py is updated to support the new patching method.
The script no longer requires that in the input object is of ET_DYN
type.

Reviewed-by: Adhemerval Zanella <email address hidden>

b57ab25... by Florian Weimer

Linux: Introduce __brk_call for invoking the brk system call

Alpha and sparc can now use the generic implementation.

Reviewed-by: Adhemerval Zanella <email address hidden>