Page MenuHomeFreeBSD

libsys: reduce makefile decleration duplication
ClosedPublic

Authored by brooks on Feb 27 2024, 6:06 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Nov 7, 11:42 PM
Unknown Object (File)
Thu, Nov 7, 10:38 PM
Unknown Object (File)
Thu, Nov 7, 8:48 PM
Unknown Object (File)
Tue, Nov 5, 1:05 PM
Unknown Object (File)
Tue, Oct 29, 10:47 AM
Unknown Object (File)
Tue, Oct 22, 8:36 AM
Unknown Object (File)
Tue, Oct 22, 8:36 AM
Unknown Object (File)
Tue, Oct 22, 8:36 AM
Subscribers

Details

Summary

Every PSEUDO entry (_foo.o) has a corresponding NOASM entry (foo.o) to
suppress its addition to ASM. Check PSEUDO instead when adding entries
to ASM. No functional change.

These is no longer any valid usecase for system calls with no stub so
remove NOASM entierly.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

As I understand, this change is the reason to remove yield(2)? Might be, just start exposing yield(2) instead of removing it?

This revision is now accepted and ready to land.Feb 27 2024, 11:15 PM
In D44106#1006709, @kib wrote:

As I understand, this change is the reason to remove yield(2)? Might be, just start exposing yield(2) instead of removing it?

I could also just keep NOASM around.

Not sure why we'd expose a symbol with no evidence it has ever been used.

In D44106#1006709, @kib wrote:

As I understand, this change is the reason to remove yield(2)? Might be, just start exposing yield(2) instead of removing it?

I could also just keep NOASM around.

Not sure why we'd expose a symbol with no evidence it has ever been used.

Runtimes like go do not link to libc, and do not use our syscalls lists. I am not sure how to check them all and what else besides go there are.

In D44106#1006721, @kib wrote:
In D44106#1006709, @kib wrote:

As I understand, this change is the reason to remove yield(2)? Might be, just start exposing yield(2) instead of removing it?

I could also just keep NOASM around.

Not sure why we'd expose a symbol with no evidence it has ever been used.

Runtimes like go do not link to libc, and do not use our syscalls lists. I am not sure how to check them all and what else besides go there are.

One other option would be to put it under COMPAT14. That (in the current world order) would produce no symbols in libc/sys and keep it around for now.

I've done searches for SYS_yield, sys_yield, and yield 321 on Debian code search and didn't spot any real users. It looks like valgrind might need some minor patching, but that would be the case with COMPAT14 too. It is of course possible that something is using 321 directly or via a differently name local name.

  • Update to retain NOASM support
This revision now requires review to proceed.Feb 28 2024, 8:48 PM

declEration in title

This revision is now accepted and ready to land.Feb 29 2024, 12:07 AM