[libc-commits] [libc] [libc] Define (stub) dl_iterate_phdr (PR #131436)

LLVM Continuous Integration via libc-commits libc-commits at lists.llvm.org
Tue Mar 18 12:09:20 PDT 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `libc-riscv64-debian-fullbuild-dbg` running on `libc-riscv64-debian` while building `libc` at step 4 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/183/builds/11167

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 4 (annotate) failure: 'python ../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py ...' (failure)
...
[46/74] Generating header sys/utsname.h from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/runtimes/../libc/include/sys/utsname.yaml
[47/73] Generating header sys/wait.h from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/runtimes/../libc/include/sys/wait.yaml
[48/70] Generating header sys/time.h from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/runtimes/../libc/include/sys/time.yaml
[49/70] Generating header sys/types.h from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/runtimes/../libc/include/sys/types.yaml
[50/68] Generating header termios.h from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/runtimes/../libc/include/termios.yaml
[51/57] Generating __dl_iterate_phdr_callback_t.h
[52/57] Generating struct_dl_phdr_info.h
[53/57] Generating header uchar.h from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/runtimes/../libc/include/uchar.yaml
[54/57] Generating header wchar.h from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/runtimes/../libc/include/wchar.yaml
[55/57] Building CXX object libc/src/link/CMakeFiles/libc.src.link.dl_iterate_phdr.dir/dl_iterate_phdr.cpp.o
FAILED: libc/src/link/CMakeFiles/libc.src.link.dl_iterate_phdr.dir/dl_iterate_phdr.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc -isystem /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/build/libc/include -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -fdiagnostics-color -g -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_ADD_NULL_CHECKS -fpie -ffreestanding -DLIBC_FULL_BUILD -nostdlibinc -idirafter/usr/include -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -DLIBC_COPT_PUBLIC_PACKAGING -std=gnu++17 -MD -MT libc/src/link/CMakeFiles/libc.src.link.dl_iterate_phdr.dir/dl_iterate_phdr.cpp.o -MF libc/src/link/CMakeFiles/libc.src.link.dl_iterate_phdr.dir/dl_iterate_phdr.cpp.o.d -o libc/src/link/CMakeFiles/libc.src.link.dl_iterate_phdr.dir/dl_iterate_phdr.cpp.o -c /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/link/dl_iterate_phdr.cpp
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/link/dl_iterate_phdr.cpp:9:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/link/dl_iterate_phdr.h:12:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/hdr/types/struct_dl_phdr_info.h:13:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/include/llvm-libc-types/struct_dl_phdr_info.h:14:
/usr/include/elf.h:39:18: error: typedef redefinition with different types ('uint64_t' (aka 'unsigned long') vs '__u64' (aka 'unsigned long long'))
typedef uint64_t Elf64_Xword;
                 ^
/usr/include/linux/elf.h:22:15: note: previous definition is here
typedef __u64   Elf64_Xword;
                ^
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/link/dl_iterate_phdr.cpp:9:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/link/dl_iterate_phdr.h:12:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/hdr/types/struct_dl_phdr_info.h:13:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/include/llvm-libc-types/struct_dl_phdr_info.h:14:
/usr/include/elf.h:40:18: error: typedef redefinition with different types ('int64_t' (aka 'long') vs '__s64' (aka 'long long'))
typedef int64_t  Elf64_Sxword;
                 ^
/usr/include/linux/elf.h:23:15: note: previous definition is here
typedef __s64   Elf64_Sxword;
                ^
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/link/dl_iterate_phdr.cpp:9:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/link/dl_iterate_phdr.h:12:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/hdr/types/struct_dl_phdr_info.h:13:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/include/llvm-libc-types/struct_dl_phdr_info.h:14:
/usr/include/elf.h:44:18: error: typedef redefinition with different types ('uint64_t' (aka 'unsigned long') vs '__u64' (aka 'unsigned long long'))
typedef uint64_t Elf64_Addr;
                 ^
/usr/include/linux/elf.h:16:15: note: previous definition is here
typedef __u64   Elf64_Addr;
                ^
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/link/dl_iterate_phdr.cpp:9:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/link/dl_iterate_phdr.h:12:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/hdr/types/struct_dl_phdr_info.h:13:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/include/llvm-libc-types/struct_dl_phdr_info.h:14:
/usr/include/elf.h:48:18: error: typedef redefinition with different types ('uint64_t' (aka 'unsigned long') vs '__u64' (aka 'unsigned long long'))
typedef uint64_t Elf64_Off;
                 ^
Step 6 (build libc) failure: build libc (failure)
...
[46/74] Generating header sys/utsname.h from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/runtimes/../libc/include/sys/utsname.yaml
[47/73] Generating header sys/wait.h from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/runtimes/../libc/include/sys/wait.yaml
[48/70] Generating header sys/time.h from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/runtimes/../libc/include/sys/time.yaml
[49/70] Generating header sys/types.h from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/runtimes/../libc/include/sys/types.yaml
[50/68] Generating header termios.h from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/runtimes/../libc/include/termios.yaml
[51/57] Generating __dl_iterate_phdr_callback_t.h
[52/57] Generating struct_dl_phdr_info.h
[53/57] Generating header uchar.h from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/runtimes/../libc/include/uchar.yaml
[54/57] Generating header wchar.h from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/runtimes/../libc/include/wchar.yaml
[55/57] Building CXX object libc/src/link/CMakeFiles/libc.src.link.dl_iterate_phdr.dir/dl_iterate_phdr.cpp.o
FAILED: libc/src/link/CMakeFiles/libc.src.link.dl_iterate_phdr.dir/dl_iterate_phdr.cpp.o 
/usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -D_DEBUG -I/home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc -isystem /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/build/libc/include -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -fdiagnostics-color -g -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_ADD_NULL_CHECKS -fpie -ffreestanding -DLIBC_FULL_BUILD -nostdlibinc -idirafter/usr/include -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -DLIBC_COPT_PUBLIC_PACKAGING -std=gnu++17 -MD -MT libc/src/link/CMakeFiles/libc.src.link.dl_iterate_phdr.dir/dl_iterate_phdr.cpp.o -MF libc/src/link/CMakeFiles/libc.src.link.dl_iterate_phdr.dir/dl_iterate_phdr.cpp.o.d -o libc/src/link/CMakeFiles/libc.src.link.dl_iterate_phdr.dir/dl_iterate_phdr.cpp.o -c /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/link/dl_iterate_phdr.cpp
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/link/dl_iterate_phdr.cpp:9:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/link/dl_iterate_phdr.h:12:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/hdr/types/struct_dl_phdr_info.h:13:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/include/llvm-libc-types/struct_dl_phdr_info.h:14:
/usr/include/elf.h:39:18: error: typedef redefinition with different types ('uint64_t' (aka 'unsigned long') vs '__u64' (aka 'unsigned long long'))
typedef uint64_t Elf64_Xword;
                 ^
/usr/include/linux/elf.h:22:15: note: previous definition is here
typedef __u64   Elf64_Xword;
                ^
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/link/dl_iterate_phdr.cpp:9:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/link/dl_iterate_phdr.h:12:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/hdr/types/struct_dl_phdr_info.h:13:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/include/llvm-libc-types/struct_dl_phdr_info.h:14:
/usr/include/elf.h:40:18: error: typedef redefinition with different types ('int64_t' (aka 'long') vs '__s64' (aka 'long long'))
typedef int64_t  Elf64_Sxword;
                 ^
/usr/include/linux/elf.h:23:15: note: previous definition is here
typedef __s64   Elf64_Sxword;
                ^
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/link/dl_iterate_phdr.cpp:9:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/link/dl_iterate_phdr.h:12:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/hdr/types/struct_dl_phdr_info.h:13:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/include/llvm-libc-types/struct_dl_phdr_info.h:14:
/usr/include/elf.h:44:18: error: typedef redefinition with different types ('uint64_t' (aka 'unsigned long') vs '__u64' (aka 'unsigned long long'))
typedef uint64_t Elf64_Addr;
                 ^
/usr/include/linux/elf.h:16:15: note: previous definition is here
typedef __u64   Elf64_Addr;
                ^
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/link/dl_iterate_phdr.cpp:9:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/src/link/dl_iterate_phdr.h:12:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/hdr/types/struct_dl_phdr_info.h:13:
In file included from /home/libc_worker/libc-riscv64-debian/libc-riscv64-debian-fullbuild-dbg/llvm-project/libc/include/llvm-libc-types/struct_dl_phdr_info.h:14:
/usr/include/elf.h:48:18: error: typedef redefinition with different types ('uint64_t' (aka 'unsigned long') vs '__u64' (aka 'unsigned long long'))
typedef uint64_t Elf64_Off;
                 ^

```

</details>

https://github.com/llvm/llvm-project/pull/131436


More information about the libc-commits mailing list