Page MenuHomeFreeBSD

ino64: Remove 'forward compat' code for this
ClosedPublic

Authored by imp on Oct 27 2023, 4:51 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Sep 24, 8:44 PM
Unknown Object (File)
Tue, Sep 24, 4:26 PM
Unknown Object (File)
Sat, Sep 21, 10:49 PM
Unknown Object (File)
Sat, Sep 21, 2:27 AM
Unknown Object (File)
Wed, Sep 18, 10:20 AM
Unknown Object (File)
Mon, Sep 16, 11:22 PM
Unknown Object (File)
Mon, Sep 16, 10:10 PM
Unknown Object (File)
Wed, Sep 11, 12:27 AM
Subscribers

Details

Summary

Forward compatibility code was added for running newer ino64 binaries on
older kernels as a transition aide. Now that ino64 has been in the tree
6 years, this code is no longer useful and should have been removed long
ago. Remove it now. Should be no user-visible changes at this point as
all the 'upgrade' scenarios it was intended for are long since past.

Sponsored by: Netflix

Diff Detail

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

Event Timeline

imp requested review of this revision.Oct 27 2023, 4:51 PM
imp created this revision.
lib/libc/include/libc_private.h
345 ↗(On Diff #129462)

wrong location?

do we need entries in tools/build/depend-cleanup.sh?

lib/libc/sys/stat.c
27

do we need cdefs here still? (and similar in other files)

lib/libc/include/libc_private.h
397 ↗(On Diff #129462)

I suggest to leave these prototypes. There is no harm keeping them, and they might become useful again.

lib/libc/include/libc_private.h
345 ↗(On Diff #129462)

I'm reverting this whole file, per kib@, and that will be a natural consequence.

397 ↗(On Diff #129462)

Done. I'll leave these in.

lib/libc/sys/stat.c
27

ESCOPE.

But also, see https://reviews.freebsd.org/D42385 for removing them from libc.

This revision is now accepted and ready to land.Oct 27 2023, 10:48 PM
emaste requested changes to this revision.Oct 29 2023, 10:07 PM

needed the following additional change to fix build:

diff --git a/libexec/rtld-elf/rtld-libc/Makefile.inc b/libexec/rtld-elf/rtld-libc/Makefile.inc
index 91eb6f5cabec..c3a74fbecbdc 100644
--- a/libexec/rtld-elf/rtld-libc/Makefile.inc
+++ b/libexec/rtld-elf/rtld-libc/Makefile.inc
@@ -56,8 +56,8 @@ CFLAGS.strtok.c+=-Wno-cast-qual
 _libc_other_objects= sigsetjmp lstat stat fstat fstatat fstatfs syscall \
     cerror geteuid getegid sigfastblock munmap mprotect \
     sysarch __sysctl issetugid __getcwd utrace getpid \
-    thr_self thr_kill pread mmap lseek _exit _fstat _fstatat _fstatfs \
-    getdirentries _getdirentries _close _fcntl _open _openat _read \
+    thr_self thr_kill pread mmap lseek _exit \
+    getdirentries _close _fcntl _open _openat _read \
     _sigprocmask _write readlink __realpathat _setjmp setjmp setjmperr
This revision now requires changes to proceed.Oct 29 2023, 10:07 PM
This revision was not accepted when it landed; it landed in state Needs Revision.Oct 31 2023, 9:27 PM
This revision was automatically updated to reflect the committed changes.

needed the following additional change to fix build:

diff --git a/libexec/rtld-elf/rtld-libc/Makefile.inc b/libexec/rtld-elf/rtld-libc/Makefile.inc
index 91eb6f5cabec..c3a74fbecbdc 100644
--- a/libexec/rtld-elf/rtld-libc/Makefile.inc
+++ b/libexec/rtld-elf/rtld-libc/Makefile.inc
@@ -56,8 +56,8 @@ CFLAGS.strtok.c+=-Wno-cast-qual
 _libc_other_objects= sigsetjmp lstat stat fstat fstatat fstatfs syscall \
     cerror geteuid getegid sigfastblock munmap mprotect \
     sysarch __sysctl issetugid __getcwd utrace getpid \
-    thr_self thr_kill pread mmap lseek _exit _fstat _fstatat _fstatfs \
-    getdirentries _getdirentries _close _fcntl _open _openat _read \
+    thr_self thr_kill pread mmap lseek _exit \
+    getdirentries _close _fcntl _open _openat _read \
     _sigprocmask _write readlink __realpathat _setjmp setjmp setjmperr

Somehow I missed this... but came to the same conclusion independently...