Page MenuHomeFreeBSD

libsys: Use PICO_CFLAGS to disable syscall stubs
AbandonedPublic

Authored by brooks on May 22 2025, 3:02 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Jul 3, 9:12 AM
Unknown Object (File)
Sun, Jun 28, 1:15 PM
Unknown Object (File)
Mon, Jun 22, 11:29 AM
Unknown Object (File)
May 30 2026, 4:47 AM
Unknown Object (File)
May 21 2026, 6:23 AM
Unknown Object (File)
May 14 2026, 11:19 PM
Unknown Object (File)
May 14 2026, 11:18 PM
Unknown Object (File)
May 6 2026, 8:46 PM
Subscribers

Details

Summary

SHARED_CFLAGS doesn't do anything for .S files and if it did, the
result would be a broken RTLD. Switch to PICO_CFLAGS to only disable
stubs in regular shared libraries.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 64354
Build 61238: arc lint + arc unit

Event Timeline

Hm, is this because of rtld using the nossppico files from libc? I see two problems:

  1. The nossppico files really shouldn't have the syscall bodies either
  2. On CheriBSD we don't have nossppico for CHERI, since we don't have/need SSP, so rtld pulls from the regular pico files

Would this not be solved by having rtld-elf pull the syscall bits from libsys.a instead? Presumably an oversight that it wasn't changed, masked by this bug.

Hmm, indeed. Extracting from libsys_pic.a seems like the right answer. That then raises the question of the value of PICO_CFLAGS and the like some I might drop that entirely and just add SHARED_CFLAGS.