Re: [klibc] [ANNOUNCE] klibc 2.0.13

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ben Hutchings <ben@xxxxxxxxxxxxxxx> 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.




[Index of Archives]     [Linux Kernel]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux