<feed xmlns='http://www.w3.org/2005/Atom'>
<title>musl/include, branch v1.2.5</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>switch __STDC_UTF_{16,32}__ macro definitions from #undef to #ifndef</title>
<updated>2024-02-26T19:14:08+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2024-02-26T14:37:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=a7239cbc1bc4144eb34e0b85f71769f0acda58dd'/>
<id>a7239cbc1bc4144eb34e0b85f71769f0acda58dd</id>
<content type='text'>
originally, compilers did not provide these macros and we had to
provide them ourselves. this meant we were redefining them, which was
technically invalid unless the token sequence of the original
definition matched exactly.

the original patch proposed by Jules Maselbas to fix this made the
definitions conditional on them not already being defined; however I
suggested using #undef to avoid any possibly-wrong definitions already
in place and ensure that the definitions are 1. the version adopted as
commit 8b7048680731707d135ea231f81eb3eaf52378ee made this change.

unfortunately, gcc is loud about not liking #undef of any __STDC_*
macro name, and while warnings are suppressed in the system include
path, there is apparently no way to suppress this warning if the
system include dir has also been provided via -I.

while normally we don't go out of our way to satisfy warnings over
style in the public headers, in this case, it seems to be a matter of
disagreement over contract of which part of "the implementation" is
entitled to define or undefine macros belonging to the implementation,
and it's quite reasonable to conclude that the compiler may reject
attempts to undefine them.

this commit reverts to the originally-submitted version of the patch
making the definitions conditional.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
originally, compilers did not provide these macros and we had to
provide them ourselves. this meant we were redefining them, which was
technically invalid unless the token sequence of the original
definition matched exactly.

the original patch proposed by Jules Maselbas to fix this made the
definitions conditional on them not already being defined; however I
suggested using #undef to avoid any possibly-wrong definitions already
in place and ensure that the definitions are 1. the version adopted as
commit 8b7048680731707d135ea231f81eb3eaf52378ee made this change.

unfortunately, gcc is loud about not liking #undef of any __STDC_*
macro name, and while warnings are suppressed in the system include
path, there is apparently no way to suppress this warning if the
system include dir has also been provided via -I.

while normally we don't go out of our way to satisfy warnings over
style in the public headers, in this case, it seems to be a matter of
disagreement over contract of which part of "the implementation" is
entitled to define or undefine macros belonging to the implementation,
and it's quite reasonable to conclude that the compiler may reject
attempts to undefine them.

this commit reverts to the originally-submitted version of the patch
making the definitions conditional.
</pre>
</div>
</content>
</entry>
<entry>
<title>add statx interface using syscall, fallback to fstatat</title>
<updated>2024-02-24T17:27:09+00:00</updated>
<author>
<name>Duncan Bellamy</name>
<email>dunk@denkimushi.com</email>
</author>
<published>2022-08-31T19:07:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=b817541f1cfd38e4b81257b3215e276ea9d0fc61'/>
<id>b817541f1cfd38e4b81257b3215e276ea9d0fc61</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>add loongarch64 port</title>
<updated>2024-02-16T14:33:10+00:00</updated>
<author>
<name>Hongliang Wang</name>
<email>wanghongliang@loongson.cn</email>
</author>
<published>2023-09-26T01:12:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=522bd54edaa2fa404fd428f8ad0bcb0f0bec5639'/>
<id>522bd54edaa2fa404fd428f8ad0bcb0f0bec5639</id>
<content type='text'>
Author: Xiaojuan Zhai &lt;zhaixiaojuan@loongson.cn&gt;
Author: Meidan Li &lt;limeidan@loongson.cn&gt;
Author: Guoqi Chen &lt;chenguoqi@loongson.cn&gt;
Author: Xiaolin Zhao &lt;zhaoxiaolin@loongson.cn&gt;
Author: Fan peng &lt;fanpeng@loongson.cn&gt;
Author: Jiantao Shan &lt;shanjiantao@loongson.cn&gt;
Author: Xuhui Qiang &lt;qiangxuhui@loongson.cn&gt;
Author: Jingyun Hua &lt;huajingyun@loongson.cn&gt;
Author: Liu xue &lt;liuxue@loongson.cn&gt;
Author: Hongliang Wang &lt;wanghongliang@loongson.cn&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Author: Xiaojuan Zhai &lt;zhaixiaojuan@loongson.cn&gt;
Author: Meidan Li &lt;limeidan@loongson.cn&gt;
Author: Guoqi Chen &lt;chenguoqi@loongson.cn&gt;
Author: Xiaolin Zhao &lt;zhaoxiaolin@loongson.cn&gt;
Author: Fan peng &lt;fanpeng@loongson.cn&gt;
Author: Jiantao Shan &lt;shanjiantao@loongson.cn&gt;
Author: Xuhui Qiang &lt;qiangxuhui@loongson.cn&gt;
Author: Jingyun Hua &lt;huajingyun@loongson.cn&gt;
Author: Liu xue &lt;liuxue@loongson.cn&gt;
Author: Hongliang Wang &lt;wanghongliang@loongson.cn&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fix erroneous feature test macro check for ppoll</title>
<updated>2024-02-09T02:57:38+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2024-02-08T19:44:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=cf91e9b3937dc354b702c8ac1b6135bd818154ba'/>
<id>cf91e9b3937dc354b702c8ac1b6135bd818154ba</id>
<content type='text'>
commit f247462b0831cbf163e976ee9a909748c674b88b incorrectly hid ppoll
in the presence of _GNU_SOURCE due to an oversight that defining
_BSD_SOURCE does not implicitly define _GNU_SOURCE. at present,
headers still have to explicitly check for each feature profile level;
this may be changed at some point in the future via features.h, but
has not been changed yet.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit f247462b0831cbf163e976ee9a909748c674b88b incorrectly hid ppoll
in the presence of _GNU_SOURCE due to an oversight that defining
_BSD_SOURCE does not implicitly define _GNU_SOURCE. at present,
headers still have to explicitly check for each feature profile level;
this may be changed at some point in the future via features.h, but
has not been changed yet.
</pre>
</div>
</content>
</entry>
<entry>
<title>stdc-predef.h: prevent redefining __STDC_UTF_{16,32}__ macros</title>
<updated>2024-02-04T01:04:42+00:00</updated>
<author>
<name>Jules Maselbas</name>
<email>jmaselbas@zdiv.net</email>
</author>
<published>2024-01-25T14:14:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=8b7048680731707d135ea231f81eb3eaf52378ee'/>
<id>8b7048680731707d135ea231f81eb3eaf52378ee</id>
<content type='text'>
Undefine any previous __STDC_UTF_{16,32}__ macros before defining
them to prenvent any warnings of redefining macros.

This happens as a result of some compiler versions defining the macros
themselves.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Undefine any previous __STDC_UTF_{16,32}__ macros before defining
them to prenvent any warnings of redefining macros.

This happens as a result of some compiler versions defining the macros
themselves.
</pre>
</div>
</content>
</entry>
<entry>
<title>elf.h: add NT_RISCV_CSR and NT_RISCV_VECTOR constants</title>
<updated>2024-02-04T00:48:25+00:00</updated>
<author>
<name>Elliott Hughes</name>
<email>enh@google.com</email>
</author>
<published>2024-02-02T23:25:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=15aa7abd344745675f2df3eb5ea09fa36cfecfa4'/>
<id>15aa7abd344745675f2df3eb5ea09fa36cfecfa4</id>
<content type='text'>
See Linux commit 9300f00439743c4a34d735e1a27118eb68a1504e ("RISC-V: Add
ptrace support for vectors").
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
See Linux commit 9300f00439743c4a34d735e1a27118eb68a1504e ("RISC-V: Add
ptrace support for vectors").
</pre>
</div>
</content>
</entry>
<entry>
<title>elf.h: update RISC-V relocation types</title>
<updated>2024-02-04T00:45:53+00:00</updated>
<author>
<name>Fangrui Song</name>
<email>i@maskray.me</email>
</author>
<published>2024-01-26T23:55:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=25c4123629aabbadba6c4190b4f1b5e213ab9e5b'/>
<id>25c4123629aabbadba6c4190b4f1b5e213ab9e5b</id>
<content type='text'>
Note: Some relocation types were only used by binutils and
accidentally exposed to previous versions of psABI. One of the values
has been reused by GOT32_PCREL.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Note: Some relocation types were only used by binutils and
accidentally exposed to previous versions of psABI. One of the values
has been reused by GOT32_PCREL.
</pre>
</div>
</content>
</entry>
<entry>
<title>add preadv2 and pwritev2 syscall wrappers, flag value macros</title>
<updated>2024-01-25T17:02:34+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2024-01-25T17:02:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=81cced6ebeb4419a78a8892ec7d7e28f5582d24a'/>
<id>81cced6ebeb4419a78a8892ec7d7e28f5582d24a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>expose ppoll in default feature profile</title>
<updated>2024-01-21T22:22:50+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2024-01-21T22:22:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=f247462b0831cbf163e976ee9a909748c674b88b'/>
<id>f247462b0831cbf163e976ee9a909748c674b88b</id>
<content type='text'>
the ppoll function has been accepted as a future part of the standard
as the outcome of Austin Group tracker issue 1263. at some point it
should be exposed unconditionally, but for now, expose it in the
default feature profile.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
the ppoll function has been accepted as a future part of the standard
as the outcome of Austin Group tracker issue 1263. at some point it
should be exposed unconditionally, but for now, expose it in the
default feature profile.
</pre>
</div>
</content>
</entry>
<entry>
<title>remove non-prototype declaration of basename from string.h</title>
<updated>2023-11-06T13:26:19+00:00</updated>
<author>
<name>Rich Felker</name>
<email>dalias@aerifal.cx</email>
</author>
<published>2023-11-06T13:26:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7'/>
<id>725e17ed6dff4d0cd22487bb64470881e86a92e7</id>
<content type='text'>
commit 37bb3cce4598c19288628e675eaf1cda6e96958f suppressed the
declaration for C++, where it is wrongly interpreted as declaring the
function as taking no arguments. with C23 removing non-prototype
declarations, that problem is now also relevant to C.

the non-prototype declaration for basename originates with commit
06aec8d7152dfb8360cb7ed9b3d7215ca0b0b500, where it was designed to
avoid conflicts with programs which declare basename with the GNU
signature taking const char *. that change was probably misguided, as
it represents not only misaligned expectations with the caller, but
also undefined behavior (calling a function that's been declared with
the wrong type).

we could opt to fix the declaration, but since glibc, with the
gratuitously incompatible GNU-basename function, seems to be the only
implementation that declares it in string.h, it seems better to just
remove the declaration. this provides some warning if applications are
being built expecting the GNU behavior but not getting it. if we
declared it here, it would only produce a warning if the caller also
declares it themselves (rare) or if the caller attempts to pass a
const-qualified pointer.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 37bb3cce4598c19288628e675eaf1cda6e96958f suppressed the
declaration for C++, where it is wrongly interpreted as declaring the
function as taking no arguments. with C23 removing non-prototype
declarations, that problem is now also relevant to C.

the non-prototype declaration for basename originates with commit
06aec8d7152dfb8360cb7ed9b3d7215ca0b0b500, where it was designed to
avoid conflicts with programs which declare basename with the GNU
signature taking const char *. that change was probably misguided, as
it represents not only misaligned expectations with the caller, but
also undefined behavior (calling a function that's been declared with
the wrong type).

we could opt to fix the declaration, but since glibc, with the
gratuitously incompatible GNU-basename function, seems to be the only
implementation that declares it in string.h, it seems better to just
remove the declaration. this provides some warning if applications are
being built expecting the GNU behavior but not getting it. if we
declared it here, it would only produce a warning if the caller also
declares it themselves (rare) or if the caller attempts to pass a
const-qualified pointer.
</pre>
</div>
</content>
</entry>
</feed>
