<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/libc/include, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[libc] Add missing dependencies for arpa/inet.h header. (#168951)</title>
<updated>2025-11-20T22:04:05+00:00</updated>
<author>
<name>Alexey Samsonov</name>
<email>vonosmas@gmail.com</email>
</author>
<published>2025-11-20T22:04:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=11362395615a6d728f98440e41bbebb3976d1941'/>
<id>11362395615a6d728f98440e41bbebb3976d1941</id>
<content type='text'>
Add dependency on headers with `in_addr` and `in_addr_t` type
definitions to ensure that these headers will be properly installed by
"install-libc" CMake target.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add dependency on headers with `in_addr` and `in_addr_t` type
definitions to ensure that these headers will be properly installed by
"install-libc" CMake target.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Implement pkey_alloc/free/get/set/mprotect for x86_64 linux (#162362)</title>
<updated>2025-11-18T22:30:15+00:00</updated>
<author>
<name>Jackson Stogel</name>
<email>jtstogel@gmail.com</email>
</author>
<published>2025-11-18T22:30:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=db71cc58ec9471c67c6b80996930a19222dd9f03'/>
<id>db71cc58ec9471c67c6b80996930a19222dd9f03</id>
<content type='text'>
This patch provides definitions for `pkey_*` functions for linux x86_64.

`pkey_alloc`, `pkey_free`, and `pkey_mprotect` are simple syscall
wrappers. `pkey_set` and `pkey_get` modify architecture-specific
registers. The logic for these live in architecture specific
directories:

* `libc/src/sys/mman/linux/x86_64/pkey_common.h` has a real
implementation
* `libc/src/sys/mman/linux/generic/pkey_common.h` contains stubs that
just return `ENOSYS`.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch provides definitions for `pkey_*` functions for linux x86_64.

`pkey_alloc`, `pkey_free`, and `pkey_mprotect` are simple syscall
wrappers. `pkey_set` and `pkey_get` modify architecture-specific
registers. The logic for these live in architecture specific
directories:

* `libc/src/sys/mman/linux/x86_64/pkey_common.h` has a real
implementation
* `libc/src/sys/mman/linux/generic/pkey_common.h` contains stubs that
just return `ENOSYS`.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] implement inet_addr (#167708)</title>
<updated>2025-11-18T02:17:19+00:00</updated>
<author>
<name>Connector Switch</name>
<email>c8ef@outlook.com</email>
</author>
<published>2025-11-18T02:17:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a5590a2aabc29f37f9c3d0ce738553e612e13e5c'/>
<id>a5590a2aabc29f37f9c3d0ce738553e612e13e5c</id>
<content type='text'>
This patch adds the posix function `inet_addr`. Since most of the
parsing logic is delegated to `inet_aton`, I have only included some
basic smoke tests for testing purposes.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds the posix function `inet_addr`. Since most of the
parsing logic is delegated to `inet_aton`, I have only included some
basic smoke tests for testing purposes.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Move mbtowc, mbstowcs and inverse functions to stdlib.h (#168455)</title>
<updated>2025-11-17T23:43:42+00:00</updated>
<author>
<name>Alexey Samsonov</name>
<email>vonosmas@gmail.com</email>
</author>
<published>2025-11-17T23:43:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=da61dd28c6dd77901058580e391cb8c88bb506f2'/>
<id>da61dd28c6dd77901058580e391cb8c88bb506f2</id>
<content type='text'>
These functions should be declared in `stdlib.h`, not `wchar.h`, as
confusing as it is. Move them to the proper header file and matching
directories in src/ and test/ trees.

This was discovered while testing libc++ build against llvm-libc, which
re-declares functions like mbtowc in std-namespace in `&lt;cstdlib&gt;`
header, and then uses those functions in its locale implementation.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These functions should be declared in `stdlib.h`, not `wchar.h`, as
confusing as it is. Move them to the proper header file and matching
directories in src/ and test/ trees.

This was discovered while testing libc++ build against llvm-libc, which
re-declares functions like mbtowc in std-namespace in `&lt;cstdlib&gt;`
header, and then uses those functions in its locale implementation.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Implement wcstod and wcstold. (#168020)</title>
<updated>2025-11-17T21:42:12+00:00</updated>
<author>
<name>Alexey Samsonov</name>
<email>vonosmas@gmail.com</email>
</author>
<published>2025-11-17T21:42:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=92c8c87c49100e3f14e3ec46abf47f27191f8b53'/>
<id>92c8c87c49100e3f14e3ec46abf47f27191f8b53</id>
<content type='text'>
These are simply implemented as specializations of strtofloatingpoint
for double / long double and for wchar_t. The unit tests are copied from
the strtod / strtold ones.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These are simply implemented as specializations of strtofloatingpoint
for double / long double and for wchar_t. The unit tests are copied from
the strtod / strtold ones.</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[libc][test] split exit tests into two separate tests" (#168102)</title>
<updated>2025-11-14T18:36:05+00:00</updated>
<author>
<name>Schrodinger ZHU Yifan</name>
<email>yifanzhu@rochester.edu</email>
</author>
<published>2025-11-14T18:36:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5b798df8c48aab6db287aaf3ae45ff32283c4f9c'/>
<id>5b798df8c48aab6db287aaf3ae45ff32283c4f9c</id>
<content type='text'>
Reverts llvm/llvm-project#166355</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reverts llvm/llvm-project#166355</pre>
</div>
</content>
</entry>
<entry>
<title>[libc][test] split exit tests into two separate tests (#166355)</title>
<updated>2025-11-14T18:27:32+00:00</updated>
<author>
<name>Shreeyash Pandey</name>
<email>shreeyash335@gmail.com</email>
</author>
<published>2025-11-14T18:27:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e7db040b796df5e7bda5226492038a3af34803ef'/>
<id>e7db040b796df5e7bda5226492038a3af34803ef</id>
<content type='text'>
_Exit(3) is a fairly simple syscall wrapper whereas exit(3) calls
atexit-registered functions + whole lot of stuff that require support
for sync primitives.

Splitting the tests allows testing the former easily (especially for new
port projects)

---------

Signed-off-by: Shreeyash Pandey &lt;shreeyash335@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
_Exit(3) is a fairly simple syscall wrapper whereas exit(3) calls
atexit-registered functions + whole lot of stuff that require support
for sync primitives.

Splitting the tests allows testing the former easily (especially for new
port projects)

---------

Signed-off-by: Shreeyash Pandey &lt;shreeyash335@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Templatize strtofloatingpoint and implement wcstof. (#167755)</title>
<updated>2025-11-13T19:38:33+00:00</updated>
<author>
<name>Alexey Samsonov</name>
<email>vonosmas@gmail.com</email>
</author>
<published>2025-11-13T19:38:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e797ec64768d290427e4f2545f1ae42302d7cfaa'/>
<id>e797ec64768d290427e4f2545f1ae42302d7cfaa</id>
<content type='text'>
This change follows the pattern of
315dfe5865962d8a3d60e21d1fffce5214fe54ef by making strtofloat also
accept wchar_t* strings
(in addition to regular char*). It uses overloads from wctype_utils or
specialized functions to ensure comparison with literal characters (or
literal strings) pick char or wchar_t variants based on the argument
type.

The wcstof implementation is added, with unit test cases copied from
strtof test suite.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change follows the pattern of
315dfe5865962d8a3d60e21d1fffce5214fe54ef by making strtofloat also
accept wchar_t* strings
(in addition to regular char*). It uses overloads from wctype_utils or
specialized functions to ensure comparison with literal characters (or
literal strings) pick char or wchar_t variants based on the argument
type.

The wcstof implementation is added, with unit test cases copied from
strtof test suite.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc][POSIX] Add clock_settime() function for Linux (#161729)</title>
<updated>2025-11-11T17:54:34+00:00</updated>
<author>
<name>Anton Shepelev</name>
<email>44649959+amemov@users.noreply.github.com</email>
</author>
<published>2025-11-11T17:54:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=79601cec3366de4b15787d0f4e1c1a6000538180'/>
<id>79601cec3366de4b15787d0f4e1c1a6000538180</id>
<content type='text'>
Closes #161461
- This is my first time contributing to libc's POSIX, so for reference I
used `clock_gettime` implementation for Linux. For convenience, here is
the description of `clock_settime` function
[behavior](https://www.man7.org/linux/man-pages/man3/clock_settime.3.html)</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #161461
- This is my first time contributing to libc's POSIX, so for reference I
used `clock_gettime` implementation for Linux. For convenience, here is
the description of `clock_settime` function
[behavior](https://www.man7.org/linux/man-pages/man3/clock_settime.3.html)</pre>
</div>
</content>
</entry>
<entry>
<title>[libc] Implement fchown (#167286)</title>
<updated>2025-11-11T17:54:21+00:00</updated>
<author>
<name>Anshul Nigham</name>
<email>nigham@google.com</email>
</author>
<published>2025-11-11T17:54:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=497dc100c9c4487141af342aac26da789a23e0a3'/>
<id>497dc100c9c4487141af342aac26da789a23e0a3</id>
<content type='text'>
Implements fchown

fixes: #166856</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implements fchown

fixes: #166856</pre>
</div>
</content>
</entry>
</feed>
