[PATCH v2] string: New thread-safe strtok version

Florian Weimer fweimer@redhat.com
Tue May 13 13:29:28 GMT 2025


* Florian Weimer:

> Introduce a new symbol version, so that applications can rely
> on the new behavior.
>
> The compatibility symbol is not thread-safe and switches to the
> BSD-compatible behavior that some historic applications rely on.  See
> the previous discussion on bug 16640.
>
> ---
> v2: First patch submission was from the wrong local commit, sorry.
>
>  NEWS                                               |  5 +-
>  string/Makefile                                    |  4 ++
>  string/Versions                                    |  3 ++
>  string/strtok.c                                    | 21 +++++++-
>  string/tst-strtok-compat.c                         | 63 ++++++++++++++++++++++
>  string/tst-strtok-thread.c                         | 50 +++++++++++++++++
>  sysdeps/generic/tls-internal-struct.h              |  1 +
>  sysdeps/mach/hurd/i386/libc.abilist                |  1 +
>  sysdeps/mach/hurd/x86_64/libc.abilist              |  1 +
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist       |  1 +
>  sysdeps/unix/sysv/linux/alpha/libc.abilist         |  1 +
>  sysdeps/unix/sysv/linux/arc/libc.abilist           |  1 +
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist        |  1 +
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist        |  1 +
>  sysdeps/unix/sysv/linux/csky/libc.abilist          |  1 +
>  sysdeps/unix/sysv/linux/hppa/libc.abilist          |  1 +
>  sysdeps/unix/sysv/linux/i386/libc.abilist          |  1 +
>  .../unix/sysv/linux/loongarch/lp64/libc.abilist    |  1 +
>  sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist |  1 +
>  sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist   |  1 +
>  sysdeps/unix/sysv/linux/microblaze/be/libc.abilist |  1 +
>  sysdeps/unix/sysv/linux/microblaze/le/libc.abilist |  1 +
>  .../unix/sysv/linux/mips/mips32/fpu/libc.abilist   |  1 +
>  .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist |  1 +
>  .../unix/sysv/linux/mips/mips64/n32/libc.abilist   |  1 +
>  .../unix/sysv/linux/mips/mips64/n64/libc.abilist   |  1 +
>  sysdeps/unix/sysv/linux/or1k/libc.abilist          |  1 +
>  .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist  |  1 +
>  .../linux/powerpc/powerpc32/nofpu/libc.abilist     |  1 +
>  .../sysv/linux/powerpc/powerpc64/be/libc.abilist   |  1 +
>  .../sysv/linux/powerpc/powerpc64/le/libc.abilist   |  1 +
>  sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist    |  1 +
>  sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist    |  1 +
>  sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist  |  1 +
>  sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist  |  1 +
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist         |  1 +
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist         |  1 +
>  sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist |  1 +
>  sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist |  1 +
>  sysdeps/unix/sysv/linux/x86_64/64/libc.abilist     |  1 +
>  sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist    |  1 +
>  41 files changed, 178 insertions(+), 3 deletions(-)

Ping?  Could I get a review for this patch?

  <https://inbox.sourceware.org/libc-alpha/87v7rmixkm.fsf@oldenburg.str.redhat.com/>

Thanks,
Florian



More information about the Libc-alpha mailing list