Skip to content

Commit 953ae94

Browse files
[builtins] Fix CPU feature detection for FreeBSD on AArch64 (#76532)
[builtins] Fix CPU feature detection for FreeBSD on AArch64 This is a follow-up to #75635 which broke the build for FreeBSD on AArch64: ``` compiler-rt/lib/builtins/cpu_model/aarch64/lse_atomics/freebsd.inc:3:16: error: call to undeclared function 'elf_aux_info'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 3 | int result = elf_aux_info(AT_HWCAP, &hwcap, sizeof hwcap); | ^ ``` Using `elf_aux_info()` requires including `<sys/auxv.h>` first. To prevent redeclaration issues with `hwcap.inc` attempting to define `HWCAP_xxx` macros before `<sys/auxv.h>` does so, include `<sys/auxv.h>` before any of the `.inc` files on FreeBSD.
1 parent 450be89 commit 953ae94

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

compiler-rt/lib/builtins/cpu_model/aarch64.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ _Bool __aarch64_have_lse_atomics
3434
__attribute__((visibility("hidden"), nocommon)) = false;
3535

3636
#if defined(__FreeBSD__)
37+
// clang-format off: should not reorder sys/auxv.h alphabetically
38+
#include <sys/auxv.h>
39+
// clang-format on
3740
#include "aarch64/hwcap.inc"
3841
#include "aarch64/lse_atomics/freebsd.inc"
3942
#elif defined(__Fuchsia__)

0 commit comments

Comments
 (0)