Re: [klibc] [ANNOUNCE] klibc 2.0.13
Greg Thelen <[email protected]> Sun, 30 Jul 2023 22:29:20 -0700
| Newsgroups | org.kernel.vger.initramfs |
|---|---|
| Message-ID | <[email protected]> |
Ben Hutchings <[email protected]> wrote: > I have released version 2.0.13. This is available in the git > repository at: > https://git.kernel.org/pub/scm/libs/klibc/klibc.git > and as a tarball at: > https://mirrors.kernel.org/pub/linux/libs/klibc/2.0/ > New features: > - The statx() and clock_{gettime,settime,nanosleep}() system calls are > supported. > - time_t is 64-bit on all architectures. > - The LoongArch64 architecture is supported. > - kinit supports kernel parameter root=PARTLABEL=... > Bug fixes: > - select() with a NULL timeout works correctly when select() is a > wrapper function. > - ipconfig no longer busy-polls in certain conditions. > - It's possible to build for MIPS64 R6 with newer gcc versions. > - The command aliases of gzip and halt are installed as links instead > of copies. > Other changes: > - All architectures use the RT signals API (i386, m68k, and s390(x) > previously did not). > - The address layout for arm and riscv64 has been changed to work > around a QEMU bug. > - ipconfig retries failed sends after 1 second instead of 10 seconds. > A git shortlog of changes since version 2.0.12 follows. > Ben. > Ben Hutchings (20): > [klibc] 2.0.12 released, next version is 2.0.13 > [klibc] m68k,s390,x86: signal: Stop using broken <asm/signal.h> > [klibc] i386,m68k,s390: signal: Switch to RT signal API > [klibc] signal: Make RT signals mandatory > [klibc] resource: Avoid using <linux/resource.h> > [klibc] stat: Make all stat calls wrappers for statx() > [klibc] utimes: Make all utimes calls wrappers for utimensat() > [klibc] select: Remove support for pselect7() syscall > [klibc] select: Fix handling of NULL timeout when wrapping pselect() > [klibc] select: Make all select calls wrappers for pselect6() > [klibc] time: Use clock_* system calls for time-of-day and sleep > [klibc] time: Use 64-bit time types on all architectures > Merge branch 'time64' > [klibc] ipconfig: Do not poll sockets we don't intend to read from > [klibc] ipconfig: Handle error events from poll > [klibc] ipconfig: Retry failed send after 1 second > [klibc] mips64: Compatibility with R6 compact branches > [klibc] arm: Move shared library below executables > [klibc] riscv64: Move shared library below executables > [klibc] Install command links as appropriate > Feiyang Chen (1): > [klibc] Add LoongArch64 port > Rob Vandermeulen (1): > [klibc] kinit: Support specifying root with PARTLABEL Is there a minimum kernel that klibc is expected to build against? I ask because klibc-2.0.13 includes a change that requires kernel 5.11+. Klibc klibc-2.0.13 introduces build errors when built against 5.10 kernel: In file included from usr/klibc/sysv_signal.c:5: usr/klibc/sysv_signal.c: In function ‘sysv_signal’: /usr/local/google/home/gthelen/src/10.twd.2023-07-30/usr/klibc/../include/signal.h:24:23: error: ‘SA_ONESHOT’ undeclared (first use in this function) 24 | # define SA_RESETHAND SA_ONESHOT | ^~~~~~~~~~ usr/klibc/sysv_signal.c:10:42: note: in expansion of macro ‘SA_RESETHAND’ 10 | return __signal(signum, handler, SA_RESETHAND); | ^~~~~~~~~~~~ Bisecting kernel v5.10..v5.11 vs klibc-2.0.13 indicates 5.11 commit 1d82b7898f2a ("arch: move SA_* definitions to generic headers") is required to build klibc-2.0.13. Bisecting klibc-2.0.12..klibc-2.0.13 vs 5.10 indicates klibc-2.0.13 commit ea8e91a7db06 ("[klibc] m68k,s390,x86: signal: Stop using broken <asm/signal.h>") is where 5.11+ is required.