glibc:dj/malloc

Last commit made on 2016-11-10
Get this branch:
git clone -b dj/malloc https://git.launchpad.net/glibc

Branch merges

Branch information

Name:
dj/malloc
Repository:
lp:glibc

Recent commits

02f4ecb... by DJ Delorie

Updates to trace2wl

* command line option -p to show progress
* command line option -f to use file-based buffers
* reduced memory footprint
* more 32/64-bit fixes

8926b32... by DJ Delorie

More merge-related tweaks

* add --enable-experimental-malloc/--disable-experimental-malloc
  (default: enabled)

* syntax errors related to new lock macros

* add some missing #if USE_TCACHE pairs

* Undo test tweak to environment variable scanner

4f460c8... by DJ Delorie

Merge branch 'master' into dj/malloc

3c7f1f5... by Adhemerval Zanella

Consolidate lseek/lseek64/llseek implementations

This patch consolidates all Linux lseek/lseek64/llseek implementation
in on on sysdeps/unix/sysv/linux/lseek{64}.c. It also removes the llseek
file and instead consolidate the LFS lseek implementation on lseek64.c
as for other LFS symbols implementations.

The general idea is:

  - lseek: ABIs that not define __OFF_T_MATCHES_OFF64_T will preferable
  use __NR__llseek if kernel supports it, otherwise they will use __NR_lseek.
  ABIs that defines __OFF_T_MATCHES_OFF64_T won't produce any symbol.

  - lseek64: ABIs with __OFF_T_MATCHES_OFF64_T will preferable use __NR_lseek
  (since it will use 64-bit arguments without low/high splitting) and
  __NR__llseek if __NR_lseek is not defined (for some ILP32 ports).

  - llseek: files will be removed and symbols will be aliased ot lseek64.

ABI without __OFF_T_MATCHES_OFF64_T and without __NR_llseek (basically MIPS64n32
so far) are covered by building lseek with off_t as expected and lseek64
using __NR_lseek (as expected for off64_t being passed using 64-bit registers).

For this consolidation I mantained the x32 assembly specific implementation
because to correctly fix this it would required both the x32 fix for
{INLINE,INTERNAL}_SYSCALL [1] and a wrapper to correctly subscribe it to
return 64 bits instead of default 32 bits (as for times). It could a future
cleanup.

It is based on my previous {INTERNAL,INLINE}_SYSCALL_CALL macro [2],
although it is mainly for simplification.

Tested on x86_64, i686, aarch64, armhf, and powerpc64le.

 * nptl/Makefile (libpthread-routines): Remove ptw-llseek and add
 ptw-lseek64.
 * sysdeps/unix/sysv/linux/Makefile (sysdeps_routines): Remove llseek.
 * sysdeps/unix/sysv/linux/alpha/Makefile (sysdeps_routines):
 Likewise.
 * sysdeps/unix/sysv/linux/generic/wordsize-32/llseek.c: Remove file.
 * sysdeps/unix/sysv/linux/generic/wordsize-32/lseek.c: Remove file.
 * sysdeps/unix/sysv/linux/mips/mips64/llseek.c: Likewise.
 * sysdeps/unix/sysv/linux/llseek.c: Remove file.
 * sysdeps/unix/sysv/linux/lseek.c: New file.
 * sysdeps/unix/sysv/linux/lseek64.c: Add default Linux implementation.
 * sysdeps/unix/sysv/linux/mips/mips64/syscalls.list: Remove lseek and
 __libc_lseek64 from auto-generation.
 * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Likewise.
 * sysdeps/unix/sysv/linux/x86_64/x32/lseek64.S: New file.

[1] https://sourceware.org/ml/libc-alpha/2016-08/msg00443.html
[2] https://sourceware.org/ml/libc-alpha/2016-08/msg00646.html

e0c6851... by Gabriel F. T. Gomes

Write messages to stdout and use write_message instead of write

Replaces calls to write on file descriptor 2 with calls to write_message,
which writes to STDOUT_FILENO (1) and properly deals with the return of
write.

d5b3879... by Gabriel F. T. Gomes

Use write_message instead of write

In the test cases, there are writes to stdout which do not check the result
value. This patch replaces such occurrences with calls to write_message,
which properly deals with the unused result.

Tested for powerpc64le.

06b9e94... by Joseph Myers <email address hidden>

Make check-installed-headers.sh ignore sys/sysctl.h for x32.

check-installed-headers tests were failing for x32 because of the x86
bits/sysctl.h containing a #error for x32. This patch makes the tests
ignore sys/sysctl.h for x32, similar to the other special-casing of
particular headers.

Tested for x86_64 (full testing for -m64, compile-only for x32).

 * scripts/check-installed-headers.sh: Ignore sys/sysctl.h for x32.

327792c... by Steve Ellcey

Define __ASSUME_ST_INO_64_BIT on all platforms.

 * sysdeps/unix/sysv/linux/alpha/kernel-features.h: #define
   __ASSUME_ST_INO_64_BIT as 0
 * sysdeps/unix/sysv/linux/sh/kernel-features.h: Likewise.
 * sysdeps/unix/sysv/linux/fxstat64.c: Replace #ifdef with #if
   over the code where __ASSUME_ST_INO_64_BIT is used.
 * sysdeps/unix/sysv/linux/lxstat64.c: Likewise.
 * sysdeps/unix/sysv/linux/xstat64.c: Likewise.
 * sysdeps/unix/sysv/linux/xstatconv.c: Likewise.

c74940f... by Florian Weimer

nptl: Document the reason why __kind in pthread_mutex_t is part of the ABI

5ffc980... by Steve Ellcey

Document do_test in test-skeleton.c

 * test-skeleton.c: Document do_test usage.