• R/O
  • HTTP
  • SSH

external-musl-libc: List of commits


Rev. Time Author
422c2ce master 2019-11-01 18:28:31 Chih-Wei Huang

Add rules to build musl-libc executables

4f34e38 2019-09-05 17:00:12 Chih-Wei Huang

Android: initial porting

b07d45e 2019-07-17 04:30:39 Rich Felker

release 1.1.23

d6dcd41 2019-07-16 07:28:43 Rich Felker

update year in COPYRIGHT file

7a6c8a0 2019-07-16 07:26:30 Rich Felker

update authors/contributors list

these additions were made by scanning git log since the last major
update in commit 1366b3c5e6d89d5ba90dd41fe5bf0246c5299b84.

as before my aim was adding everyone with either substantial code
contributions or a pattern of ongoing simple patch submission; any
omissions are unintentional.

980f80f 2019-07-16 04:33:12 Rich Felker

fix build failure on arm building C code in thumb1 mode

a fully thumb1 build is not supported because some asm files are
incompatible with thumb1, but apparently it works to compile the C
code as thumb1

commit 06fbefd10046a0fae7e588b7c6d25fb51811b931 caused this regression
but introducing use of the clz instruction, which is not supported in
arm mode prior to v5, and not supported in thumb prior to thumb2
(v6t2). commit 1b9406b03c0a94ebe2076a8fc1746a8c45e78a83 fixed the
issue only for arm mode pre-v5 but left thumb1 broken.

7829f42 2019-07-14 00:22:37 James Y Knight

fix sigaltstack to ignore ss_size with SS_DISABLE, per POSIX

c225e6c 2019-07-11 06:10:59 Samuel Holland

use the correct attributes for ___errno_location

In the public header, __errno_location is declared with the "const"
attribute, conditional on __GNUC__. Ensure that its internal alias has
the same attributes.

Maintainer's note: This change also fixes a regression in quality of
code generation -- multiple references to errno in a single function
started generating multiple calls again -- introduced by commit

05eb8ea 2019-07-11 06:09:49 Samuel Holland

fix conflicting mips and powerpc definitions for TIOCSER_TEMT macro

Commit 3517d74a5e04a377192d1f4882ad6c8dc22ce69a changed the token in
sys/ioctl.h from 0x01 to 1, so bits/termios.h no longer matches. Revert
the bits/termios.h change to keep the headers in sync.

This reverts commit 9eda4dc69c33852c97c6f69176bf45ffc80b522f.

e0eee3c 2019-07-11 06:06:00 Samuel Holland

fix restrict violations in internal use of several functions

The old/new parameters to pthread_sigmask, sigprocmask, and setitimer
are marked restrict, so passing the same address to both is
prohibited. Modify callers of these functions to use a separate object
for each argument.

a730639 2019-07-10 07:40:50 Rich Felker

mention mips64 n32 ABI support in INSTALL doc

0f72228 2019-07-10 07:40:07 Rich Felker

document riscv64 support in INSTALL document

7599004 2019-07-09 12:47:15 Rich Felker

prevent dup2 action for posix_spawn internal pipe fd

as reported by Tavian Barnes, a dup2 file action for the internal pipe
fd used by posix_spawn could cause it to remain open after execve and
allow the child to write an artificial error into it, confusing the
parent. POSIX allows internal use of file descriptors by the
implementation, with undefined behavior for poking at them, so this is
not a conformance problem, but it seems preferable to diagnose and
prevent the error when we can do so easily.

catch attempts to apply a dup2 action to the internal pipe fd and
emulate EBADF for it instead.

9b83182 2019-07-07 06:47:43 Rich Felker

fix inadvertent use of uninitialized variable in dladdr

commit c8b49b2fbc7faa8bf065220f11963d76c8a2eb93 introduced code that
checked bestsym to determine whether a matching symbol was found, but
bestsym is uninitialized if not. instead use best, consistent with use
in the rest of the function.

simplified from bug report and patch by Cheng Liu.

524e76f 2019-07-05 01:28:29 Rich Felker

remove spurious MAP_32BIT definition from riscv64 arch

this was apparently copied from x86_64; it's not part of the kernel
API for riscv64. this change eliminates the need for a
riscv64-specific bits header and lets it use the generic one.

4b5ba07 2019-07-05 01:03:18 Fangrui Song

configure: make AR and RANLIB customizable

94751d8 2019-07-03 06:01:39 Fangrui Song

remove stray .end directives from powerpc[64] asm

maintainer's note: these are not meaningful/correct/needed and the
clang integrated assembler errors out upon seeing them.

f3f96f2 2019-07-02 03:20:58 Szabolcs Nagy

add new syscall numbers from linux v5.1

syscall numbers are now synced up across targets (starting from 403 the
numbers are the same on all targets other than an arch specific offset)

IPC syscalls sem*, shm*, msg* got added where they were missing (except
for semop: only semtimedop got added), the new semctl, shmctl, msgctl
imply IPC_64, see

linux commit 0d6040d4681735dfc47565de288525de405a5c99
arch: add split IPC system calls where needed

new 64bit time_t syscall variants got added on 32bit targets, see

linux commit 48166e6ea47d23984f0b481ca199250e1ce0730a
y2038: add 64-bit time_t syscalls to all 32-bit architectures

new async io syscalls got added, see

linux commit 2b188cc1bb857a9d4701ae59aa7768b5124e262e
Add io_uring IO interface

linux commit edafccee56ff31678a091ddb7219aba9b28bc3cb
io_uring: add support for pre-mapped user IO buffers

a new syscall got added that uses the fd of /proc/<pid> as a stable
handle for processes: allows sending signals without pid reuse issues,
intended to eventually replace rt_sigqueueinfo, kill, tgkill and
rt_tgsigqueueinfo, see

linux commit 3eb39f47934f9d5a3027fe00d906a45fe3a15fad
signal: add pidfd_send_signal() syscall

on some targets (arm, m68k, s390x, sh) some previously missing syscall
numbers got added as well.

4acfc28 2019-07-02 03:17:59 Szabolcs Nagy

ipc: prefer SYS_ipc when it is defined

Linux v5.1 introduced ipc syscalls on targets where previously only
SYS_ipc was available, change the logic such that the ipc code keeps
using SYS_ipc which works backward compatibly on older kernels.

This changes behaviour on microblaze which had both mechanisms, now
SYS_ipc will be used instead of separate syscalls.

b574de5 2019-07-02 03:17:02 Szabolcs Nagy

mips64: fix syscall numbers of io_pgetevents and rseq

the numbers added in

commit d149e69c02eb558114f20ea718810e95538a3b2f
add io_pgetevents and rseq syscall numbers from linux v4.18

were incorrect.

47bc7f0 2019-07-02 03:16:49 Szabolcs Nagy

elf.h: add NT_ARM_PAC{A,G}_KEYS from linux v5.1

to request or change pointer auth keys for criu via ptrace, new in

linux commit d0a060be573bfbf8753a15dca35497db5e968bb0
arm64: add ptrace regsets for ptrauth key management

eea841e 2019-07-02 03:16:41 Szabolcs Nagy

netinet/in.h: add INADDR_ALLSNOOPERS_GROUP from linux v5.1

RFC 4286: "The IPv4 multicast address for All-Snoopers is"

linux commit 4effd28c1245303dce7fd290c501ac2c11052114
bridge: join all-snoopers multicast address

5b2b682 2019-07-02 03:12:36 Szabolcs Nagy

sys/socket.h: add SO_BINDTOIFINDEX from linux v5.1

SO_BINDTOIFINDEX behaves similar to SO_BINDTODEVICE, but takes a
network interface index as argument, rather than the network
interface name. see

linux commit f5dd3d0c9638a9d9a02b5964c4ad636f06cf7e2c
net: introduce SO_BINDTOIFINDEX sockopt

4523505 2019-07-02 03:12:25 Szabolcs Nagy

s390x: drop SO_ definitions from bits/socket.h

the s390x definitions matched the generic ones in sys/socket.h.

93b5f6c 2019-07-02 03:12:14 Szabolcs Nagy

netinet/in.h: add IPV6_ROUTER_ALERT_ISOLATE from linux v5.1

restricts router alert packets received by the socket to the
socket's namespace only. see

linux commit 9036b2fe092a107856edd1a3bad48b83f2b45000
net: ipv6: add socket option IPV6_ROUTER_ALERT_ISOLATE

c7081ed 2019-07-02 03:12:06 Szabolcs Nagy

sys/prctl.h: add PR_SPEC_DISABLE_NOEXEC from linux v5.1

allows specifying that the speculative store bypass disable bit should
be cleared on exec. see

linux commit 71368af9027f18fe5d1c6f372cfdff7e4bde8b48
x86/speculation: Add PR_SPEC_DISABLE_NOEXEC

9e8dd1c 2019-07-02 03:11:56 Szabolcs Nagy

fcntl.h: add F_SEAL_FUTURE_WRITE from linux v5.1

needed for android so it can migrate from its ashmem to memfd.
allows making the memfd readonly for future users while keeping
a writable mmap of it. see

linux commit ab3948f58ff841e51feb845720624665ef5b7ef3
mm/memfd: add an F_SEAL_FUTURE_WRITE seal to memfd

f67b3c1 2019-07-02 03:11:42 Szabolcs Nagy

sys/fanotify.h: update for linux v5.1

includes changes from linux v5.1

linux commit 235328d1fa4251c6dcb32351219bb553a58838d2
fanotify: add support for create/attrib/move/delete events

linux commit 5e469c830fdb5a1ebaa69b375b87f583326fd296
fanotify: copy event fid info to user

linux commit e9e0c8903009477b630e37a8b6364b26a00720da
fanotify: encode file identifier for FAN_REPORT_FID

as well as earlier changes that were missed.

sys/statfs.h is included for fsid_t.

84ebec6 2019-07-01 23:10:52 Samuel Holland

fix deadlock in synccall after threaded fork

synccall may be called by AS-safe functions such as setuid/setgid after
fork. although fork() resets libc.threads_minus_one, causing synccall to
take the single-threaded path, synccall still takes the thread list
lock. This lock may be held by another thread if for example fork()
races with pthread_create(). After fork(), the value of the lock is
meaningless, so clear it.

maintainer's note: commit 8f11e6127fe93093f81a52b15bb1537edc3fc8af and
e4235d70672d9751d7718ddc2b52d0b426430768 introduced this regression.
the state protected by this lock is the linked list, which is entirely
replaced in the child path of fork (next=prev=self), so resetting it
is semantically sound.

3d178a7 2019-06-29 06:58:03 Rich Felker

cap getdents length argument to INT_MAX

the linux syscall treats this argument as having type int, so passing
extremely long buffer sizes would be misinterpreted by the kernel.
since "short reads" are always acceptable, just cap it down.

patch based on report and suggested change by Florian Weimer.

Show on old repository browser