[all-commits] [llvm/llvm-project] 648560: [dfsan] Wrap glibc 2.38 __isoc23_* functions (#79958)

Fangrui Song via All-commits all-commits at lists.llvm.org
Tue Jan 30 13:58:53 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 648560062af8deb4e6478130deb1dd8fa62929a8
      https://github.com/llvm/llvm-project/commit/648560062af8deb4e6478130deb1dd8fa62929a8
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M compiler-rt/lib/dfsan/dfsan_custom.cpp
    M compiler-rt/lib/dfsan/done_abilist.txt
    M compiler-rt/lib/dfsan/libc_ubuntu1404_abilist.txt

  Log Message:
  -----------
  [dfsan] Wrap glibc 2.38 __isoc23_* functions (#79958)

Fix #79283: `test/dfsan/custom.cpp` has undefined symbol linker errors
on glibc 2.38 due to lack of wrappers for `__isoc23_strtol` and
`__isoc23_scanf` family functions.

Implement these wrappers as aliases to existing wrappers, similar to
https://reviews.llvm.org/D158943 for other sanitizers.

`strtol` in a user program, whether or not `_ISOC2X_SOURCE` is defined,
uses the C23 semantics (`strtol("0b1", 0, 0)` => 1), when
`libclang_rt.dfsan.a` is built on glibc 2.38+.




More information about the All-commits mailing list