[all-commits] [llvm/llvm-project] 7776fb: [libc][NFC] Adjust use of off_t internally (#68269)

Mikhail R. Gadelha via All-commits all-commits at lists.llvm.org
Mon Jul 8 09:19:28 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7776fba473a216b2d1a765491bdc5db710cdff8f
      https://github.com/llvm/llvm-project/commit/7776fba473a216b2d1a765491bdc5db710cdff8f
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2024-07-08 (Mon, 08 Jul 2024)

  Changed paths:
    M libc/src/__support/File/file.cpp
    M libc/src/__support/File/file.h
    M libc/src/__support/File/linux/file.cpp
    M libc/src/__support/File/linux/file.h
    M libc/src/stdio/fopencookie.cpp
    M libc/src/stdio/generic/ftell.cpp
    M libc/src/sys/mman/linux/mmap.cpp
    M libc/src/unistd/linux/pread.cpp
    M libc/src/unistd/linux/pwrite.cpp
    M libc/test/src/__support/File/file_test.cpp

  Log Message:
  -----------
  [libc][NFC] Adjust use of off_t internally (#68269)

This patch includes changes related to the use of off_t in libc,
targeted at 32-bit systems: in several places, the offset is used either
as a long or an off_t (64-bit signed int), but in 32-bit systems a long
type is only 32 bits long.

Fix a warning in mmap where a long offset is expected, but we were
passing an off_t. A static_cast and a comment were added to explain
that we know we are ignoring the upper 32-bit of the off_t in 32-bit
systems.
The code in pread and pwrite was slightly improved to remove a
#ifdef LIBC_TARGET_ARCH_IS_RISCV32; we are using an if constexpr now.
The Linux file operations were changed to use off_t instead of a long
where applicable. No changes were made to the standard API, e.g.,
ftell returns the offset as an int so we added a static_cast and a
comment explaining that this will cause a loss of integer precision
in 32-bit systems.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list