<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/libc/sys/ppoll.c, branch stable/15</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>libc: stop trying to create __&lt;syscall&gt; symbols</title>
<updated>2025-08-06T11:31:24+00:00</updated>
<author>
<name>Brooks Davis</name>
<email>brooks@FreeBSD.org</email>
</author>
<published>2025-08-06T11:23:49+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=b59aecef032eb8287ccdac003341f397214fc9ee'/>
<id>b59aecef032eb8287ccdac003341f397214fc9ee</id>
<content type='text'>
When we switched to an interposing table (commit 8495e8b1e9e1) for
cancelation points we stopped having concrete implementations of
__&lt;syscall&gt; and instead use __sys_&lt;syscall&gt; and __thr_&lt;syscall&gt;.
These entries of the form:

	__weak_reference(__sys_&lt;syscall&gt;, __&lt;syscall&gt;);

seem to be intended to preserve these symbols, but they have no effect
as __sys_&lt;syscall&gt; isn't defined in the translation units in question.

Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D51668
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When we switched to an interposing table (commit 8495e8b1e9e1) for
cancelation points we stopped having concrete implementations of
__&lt;syscall&gt; and instead use __sys_&lt;syscall&gt; and __thr_&lt;syscall&gt;.
These entries of the form:

	__weak_reference(__sys_&lt;syscall&gt;, __&lt;syscall&gt;);

seem to be intended to preserve these symbols, but they have no effect
as __sys_&lt;syscall&gt; isn't defined in the translation units in question.

Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D51668
</pre>
</div>
</content>
</entry>
<entry>
<title>libc: switch to __weak_symbol for fortified interpose stubs</title>
<updated>2024-07-16T05:12:28+00:00</updated>
<author>
<name>Kyle Evans</name>
<email>kevans@FreeBSD.org</email>
</author>
<published>2024-07-16T05:12:28+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=d5f8270917bfee4242778544b990bb7f82f8a4de'/>
<id>d5f8270917bfee4242778544b990bb7f82f8a4de</id>
<content type='text'>
GCC doesn't like `#pragma weak macro(foo)`, but that's fine; just slap
a __weak_symbol on the definition to more reliably make it weak
anyways.

Reviewed by:	kib (earlier version), markj
Sponsored by:	Klara, Inc.
Sponsored by:	Stormshield
Differential Revision:	https://reviews.freebsd.org/D45976
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
GCC doesn't like `#pragma weak macro(foo)`, but that's fine; just slap
a __weak_symbol on the definition to more reliably make it weak
anyways.

Reviewed by:	kib (earlier version), markj
Sponsored by:	Klara, Inc.
Sponsored by:	Stormshield
Differential Revision:	https://reviews.freebsd.org/D45976
</pre>
</div>
</content>
</entry>
<entry>
<title>include: ssp: fortify poll/ppoll from &lt;poll.h&gt;</title>
<updated>2024-07-13T05:16:24+00:00</updated>
<author>
<name>Kyle Evans</name>
<email>kevans@FreeBSD.org</email>
</author>
<published>2024-07-13T05:16:11+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=88276dfbf19e3c0dbd1abee5c2e18c8a4a8c5559'/>
<id>88276dfbf19e3c0dbd1abee5c2e18c8a4a8c5559</id>
<content type='text'>
For poll/ppoll we just need to bounds-check the poll array that we're
about to write out to.

Reviewed by:	kib, markj (earlier version)
Sponsored by:	Klara, Inc.
Sponsored by:	Stormshield
Differential Revision:	https://reviews.freebsd.org/D45680
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For poll/ppoll we just need to bounds-check the poll array that we're
about to write out to.

Reviewed by:	kib, markj (earlier version)
Sponsored by:	Klara, Inc.
Sponsored by:	Stormshield
Differential Revision:	https://reviews.freebsd.org/D45680
</pre>
</div>
</content>
</entry>
<entry>
<title>libc: INTERPOS_SYS macro for interposed syscalls</title>
<updated>2024-04-16T16:48:08+00:00</updated>
<author>
<name>Brooks Davis</name>
<email>brooks@FreeBSD.org</email>
</author>
<published>2024-04-16T16:48:08+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=7dd9070e4425a1c2e2418694fd632425a283d558'/>
<id>7dd9070e4425a1c2e2418694fd632425a283d558</id>
<content type='text'>
This macro makes uses the __sys_&lt;foo&gt;_t typedefs from libsys.h to
greatly simplify calling functions in the interposing table.

Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D44389
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This macro makes uses the __sys_&lt;foo&gt;_t typedefs from libsys.h to
greatly simplify calling functions in the interposing table.

Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D44389
</pre>
</div>
</content>
</entry>
<entry>
<title>lib{c,sys}: return wrapped syscall APIs to libc</title>
<updated>2024-03-13T18:36:02+00:00</updated>
<author>
<name>Brooks Davis</name>
<email>brooks@FreeBSD.org</email>
</author>
<published>2024-03-13T17:42:01+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=d7847a8d351436a4654bd2c746bc9c04401160ee'/>
<id>d7847a8d351436a4654bd2c746bc9c04401160ee</id>
<content type='text'>
These provide standard APIs, but are implemented using another system
call (e.g., pipe implemented in terms of pipe2) or are interposed by the
threading library to support cancelation.

After discussion with kib (see D44111), I've concluded that it is
better to keep most public interfaces in libc with as little
as possible in libsys.

Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D44241
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These provide standard APIs, but are implemented using another system
call (e.g., pipe implemented in terms of pipe2) or are interposed by the
threading library to support cancelation.

After discussion with kib (see D44111), I've concluded that it is
better to keep most public interfaces in libc with as little
as possible in libsys.

Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D44241
</pre>
</div>
</content>
</entry>
<entry>
<title>libsys: relocate implementations and manpages</title>
<updated>2024-02-05T20:34:55+00:00</updated>
<author>
<name>Brooks Davis</name>
<email>brooks@FreeBSD.org</email>
</author>
<published>2023-11-14T17:54:03+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=8269e7673cf033aba67dab8264fe719920c70f87'/>
<id>8269e7673cf033aba67dab8264fe719920c70f87</id>
<content type='text'>
Remove core system call implementations and documentation to lib/libsys
and lib/libsys/&lt;arch&gt; from lib/libc/sys and lib/libc/&lt;arch&gt;/&lt;sys&gt;.
Update paths to allow libc to find them in their new home.

Reviewed by:	kib, emaste, imp
Pull Request:	https://github.com/freebsd/freebsd-src/pull/908
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove core system call implementations and documentation to lib/libsys
and lib/libsys/&lt;arch&gt; from lib/libc/sys and lib/libc/&lt;arch&gt;/&lt;sys&gt;.
Update paths to allow libc to find them in their new home.

Reviewed by:	kib, emaste, imp
Pull Request:	https://github.com/freebsd/freebsd-src/pull/908
</pre>
</div>
</content>
</entry>
<entry>
<title>libc: split libc and syscall interposing (1/2)</title>
<updated>2024-02-05T20:34:55+00:00</updated>
<author>
<name>Brooks Davis</name>
<email>brooks@FreeBSD.org</email>
</author>
<published>2024-01-16T20:16:39+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=9cbd96582c0ac133f911270a47bff189d769ac8d'/>
<id>9cbd96582c0ac133f911270a47bff189d769ac8d</id>
<content type='text'>
System calls or their wrappers are now interposed by
__libsys_interposing with purely libc entries remaining in
__libc_interposing.

Use __libsys_interposing_slot in libthr to update __libsys_interposing,
but also make __libc_interposing_slot fall back to
__libsys_interposing_slot so an out of date libc has a chance of working
during updates.

Reviewed by:	kib, emaste, imp
Pull Request:	https://github.com/freebsd/freebsd-src/pull/908
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
System calls or their wrappers are now interposed by
__libsys_interposing with purely libc entries remaining in
__libc_interposing.

Use __libsys_interposing_slot in libthr to update __libsys_interposing,
but also make __libc_interposing_slot fall back to
__libsys_interposing_slot so an out of date libc has a chance of working
during updates.

Reviewed by:	kib, emaste, imp
Pull Request:	https://github.com/freebsd/freebsd-src/pull/908
</pre>
</div>
</content>
</entry>
<entry>
<title>libc: Purge unneeded cdefs.h</title>
<updated>2023-11-01T22:44:30+00:00</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-11-01T22:43:37+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=559a218c9b257775fb249b67945fe4a05b7a6b9f'/>
<id>559a218c9b257775fb249b67945fe4a05b7a6b9f</id>
<content type='text'>
These sys/cdefs.h are not needed. Purge them. They are mostly left-over
from the $FreeBSD$ removal. A few in libc are still required for macros
that cdefs.h defines. Keep those.

Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D42385
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These sys/cdefs.h are not needed. Purge them. They are mostly left-over
from the $FreeBSD$ removal. A few in libc are still required for macros
that cdefs.h defines. Keep those.

Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D42385
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove $FreeBSD$: one-line .c pattern</title>
<updated>2023-08-16T17:54:42+00:00</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-08-16T17:54:42+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=1d386b48a555f61cb7325543adbbb5c3f3407a66'/>
<id>1d386b48a555f61cb7325543adbbb5c3f3407a66</id>
<content type='text'>
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove "All Rights Reserved" from FreeBSD Foundation libc copyrights</title>
<updated>2022-07-21T13:53:31+00:00</updated>
<author>
<name>Ed Maste</name>
<email>emaste@FreeBSD.org</email>
</author>
<published>2022-07-21T13:51:53+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=560e22c8fe460e00d16e5268fe1fbb316ad81101'/>
<id>560e22c8fe460e00d16e5268fe1fbb316ad81101</id>
<content type='text'>
As per the updated FreeBSD copyright template.  These were unambiguous
cases where the Foundation was the only listed copyright holder.

Sponsored by:	The FreeBSD Foundation
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As per the updated FreeBSD copyright template.  These were unambiguous
cases where the Foundation was the only listed copyright holder.

Sponsored by:	The FreeBSD Foundation
</pre>
</div>
</content>
</entry>
</feed>
