<feed xmlns='http://www.w3.org/2005/Atom'>
<title>musl/include, branch master</title>
<subtitle>musl - an implementation of the standard library for Linux-based systems</subtitle>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/'/>
<entry>
<title>sys/mman.h: add MADV_COLLAPSE from linux v6.1</title>
<updated>2026-03-19T13:57:30+00:00</updated>
<author>
<name>Michal Biesek</name>
<email>michalbiesek@gmail.com</email>
</author>
<published>2023-08-08T19:41:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=19f9aeaaba1bde5b541b7758cbf661ba29fb9cea'/>
<id>19f9aeaaba1bde5b541b7758cbf661ba29fb9cea</id>
<content type='text'>
Add madvise flag which performs a best-effort synchronous
collapse of the native pages mapped by the memory range
into Transparent Huge Pages (THPs)
see
  linux commit 7d8faaf155454f8798ec56404faca29a82689c77
  mm/madvise: introduce MADV_COLLAPSE sync hugepage collapse
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add madvise flag which performs a best-effort synchronous
collapse of the native pages mapped by the memory range
into Transparent Huge Pages (THPs)
see
  linux commit 7d8faaf155454f8798ec56404faca29a82689c77
  mm/madvise: introduce MADV_COLLAPSE sync hugepage collapse
</pre>
</div>
</content>
</entry>
<entry>
<title>sys/mman.h: add MADV_DONTNEED_LOCKED from linux v6.0</title>
<updated>2026-03-19T13:56:42+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2026-03-15T20:24:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=56df2e1fc1528ece18001ed430d714356ea10340'/>
<id>56df2e1fc1528ece18001ed430d714356ea10340</id>
<content type='text'>
this flag works like MADV_DONTNEED but also applies to locked memory
ranges.

see
  linux commit 9457056ac426e5ed0671356509c8dcce69f8dee0
  mm: madvise: MADV_DONTNEED_LOCKED
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
this flag works like MADV_DONTNEED but also applies to locked memory
ranges.

see
  linux commit 9457056ac426e5ed0671356509c8dcce69f8dee0
  mm: madvise: MADV_DONTNEED_LOCKED
</pre>
</div>
</content>
</entry>
<entry>
<title>sys/mman.h: add MADV_POPULATE_(READ|WRITE) from linux v5.14</title>
<updated>2026-03-15T20:23:20+00:00</updated>
<author>
<name>Michal Biesek</name>
<email>michalbiesek@gmail.com</email>
</author>
<published>2023-08-08T09:46:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=bb5693fa5e93a2cadcb82e238632714b7c71c5b6'/>
<id>bb5693fa5e93a2cadcb82e238632714b7c71c5b6</id>
<content type='text'>
Add madvise flags to populate(prefault) page tables
see
  linux commit 4ca9b3859dac14bbef0c27d00667bb5b10917adb
  mm/madvise: introduce MADV_POPULATE_(READ|WRITE) to prefault page tables
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add madvise flags to populate(prefault) page tables
see
  linux commit 4ca9b3859dac14bbef0c27d00667bb5b10917adb
  mm/madvise: introduce MADV_POPULATE_(READ|WRITE) to prefault page tables
</pre>
</div>
</content>
</entry>
<entry>
<title>loongarch64: add new reloc types and NT_LOONGARCH_HW_* into elf.h</title>
<updated>2026-03-11T03:37:14+00:00</updated>
<author>
<name>Jingyun Hua</name>
<email>huajingyun@loongson.cn</email>
</author>
<published>2025-01-04T08:41:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=38b00812ef2ebc944063d70bf63a09a9ebb98dbf'/>
<id>38b00812ef2ebc944063d70bf63a09a9ebb98dbf</id>
<content type='text'>
These new LoongArch reloc types(101 to 126) have been added in
LoongArch psABI v2.30 and NT_LOONGARCH_HW_BREAK/NT_LOONGARCH_HW_WATCH
sync with Linux 6.12 elf.h.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These new LoongArch reloc types(101 to 126) have been added in
LoongArch psABI v2.30 and NT_LOONGARCH_HW_BREAK/NT_LOONGARCH_HW_WATCH
sync with Linux 6.12 elf.h.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix erroneous definition of IN6_IS_ADDR_V4COMPAT</title>
<updated>2025-07-30T13:32:02+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2025-07-30T13:32:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=a6244de1c94588cd8cc965c15619d2649418f7a3'/>
<id>a6244de1c94588cd8cc965c15619d2649418f7a3</id>
<content type='text'>
v4-compatible addresses in ipv6 are a deprecated feature where the
high 96 bits are all zero and an ipv4 address is stored in the low
32 bits. however, since :: and ::1 are the unspecified and loopback
addresses, these two particular values are excluded from the
definition of the v4-compat class.

our version of the macro incorrectly assessed this condition by
checking only the high 96 and low 8 bits. this incorrectly excluded
the v4compat version of any ipv4 address ending in .1, not just ::1.

rather than writing out non-obvious or error-prone conditions on the
individual address bytes, just express the "not :: or ::1" condition
naturally using the existing IN6_IS_ADDR_UNSPECIFIED and
IN6_IS_ADDR_LOOPBACK macros, after checking that the high 96 bits are
all zero. any vaguely reasonable compiler will collapse out the
redundant tests of the upper bits as part of CSE.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
v4-compatible addresses in ipv6 are a deprecated feature where the
high 96 bits are all zero and an ipv4 address is stored in the low
32 bits. however, since :: and ::1 are the unspecified and loopback
addresses, these two particular values are excluded from the
definition of the v4-compat class.

our version of the macro incorrectly assessed this condition by
checking only the high 96 and low 8 bits. this incorrectly excluded
the v4compat version of any ipv4 address ending in .1, not just ::1.

rather than writing out non-obvious or error-prone conditions on the
individual address bytes, just express the "not :: or ::1" condition
naturally using the existing IN6_IS_ADDR_UNSPECIFIED and
IN6_IS_ADDR_LOOPBACK macros, after checking that the high 96 bits are
all zero. any vaguely reasonable compiler will collapse out the
redundant tests of the upper bits as part of CSE.
</pre>
</div>
</content>
</entry>
<entry>
<title>elf.h: add AT_HWCAP3 and AT_HWCAP4</title>
<updated>2025-07-13T01:48:59+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2025-07-13T01:48:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=bd981f3342b92f5b6a71b22ae7520a59ed4dc236'/>
<id>bd981f3342b92f5b6a71b22ae7520a59ed4dc236</id>
<content type='text'>
there are probably more new auxv keys that should be added, but these
are added now specifically because we may need to mask them.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
there are probably more new auxv keys that should be added, but these
are added now specifically because we may need to mask them.
</pre>
</div>
</content>
</entry>
<entry>
<title>statx: add Linux 6.11 fields/constants</title>
<updated>2025-06-13T18:30:42+00:00</updated>
<author>
<name>J. Neuschäfer</name>
<email>j.neuschaefer@gmx.net</email>
</author>
<published>2024-10-23T23:19:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=fcdff46a3203400e08a2264c34b3c7fb62bf6969'/>
<id>fcdff46a3203400e08a2264c34b3c7fb62bf6969</id>
<content type='text'>
As of Linux 6.11, these fields and mask macros have been added to
include/uapi/linux/stat.h.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As of Linux 6.11, these fields and mask macros have been added to
include/uapi/linux/stat.h.
</pre>
</div>
</content>
</entry>
<entry>
<title>shadow.h: remove declaration of function not implemented</title>
<updated>2025-02-22T00:32:27+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2025-02-22T00:32:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=00fb7107cafc9cd7316f85ae2d8b61e478caaa7f'/>
<id>00fb7107cafc9cd7316f85ae2d8b61e478caaa7f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>sched.h: reduce namespace conflicts in _GNU_SOURCE profile</title>
<updated>2025-01-13T13:31:02+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2025-01-13T13:31:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=1a98576401ff604ff06a030a3644e2780b2a837d'/>
<id>1a98576401ff604ff06a030a3644e2780b2a837d</id>
<content type='text'>
we have the cpuset macros call calloc/free/memset/memcmp directly so
that they don't depend on any further ABI surface. this is not
namespace-clean, but only affects the _GNU_SOURCE feature profile,
which is not intended to be namespace-clean. nonetheless, reports come
up now and then of things which are gratuitously broken, usually when
an application has wrapped malloc with macros.

this patch parenthesizes the function names so that function-like
macros will not be expanded, and removes the unused declaration of
memcpy. this is not a complete solution, but it should improve things
for affected applications, particularly ones which are not even trying
to use the cpuset interfaces which got them just because g++ always
defines _GNU_SOURCE.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
we have the cpuset macros call calloc/free/memset/memcmp directly so
that they don't depend on any further ABI surface. this is not
namespace-clean, but only affects the _GNU_SOURCE feature profile,
which is not intended to be namespace-clean. nonetheless, reports come
up now and then of things which are gratuitously broken, usually when
an application has wrapped malloc with macros.

this patch parenthesizes the function names so that function-like
macros will not be expanded, and removes the unused declaration of
memcpy. this is not a complete solution, but it should improve things
for affected applications, particularly ones which are not even trying
to use the cpuset interfaces which got them just because g++ always
defines _GNU_SOURCE.
</pre>
</div>
</content>
</entry>
<entry>
<title>loongarch64: add TLSDESC support</title>
<updated>2024-10-23T00:36:09+00:00</updated>
<author>
<name>Xing Li</name>
<email>lixing@loongson.cn</email>
</author>
<published>2024-09-10T01:15:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=61399d4bd02ae1ec03068445aa7ffe9174466bfd'/>
<id>61399d4bd02ae1ec03068445aa7ffe9174466bfd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
