Skip to content

Commit 7b820b2

Browse files
authored
[builtins][AArch64] Clean up the sys/auxv.h header handling (#161751)
glibc 2.17 added AArch64 support and already had getauxval().
1 parent d987465 commit 7b820b2

File tree

4 files changed

+7
-12
lines changed

4 files changed

+7
-12
lines changed

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

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,26 +32,29 @@ typedef struct __ifunc_arg_t {
3232
_Bool __aarch64_have_lse_atomics
3333
__attribute__((visibility("hidden"), nocommon)) = false;
3434

35+
// The formatter wants to re-order these includes, but doing so is incorrect:
36+
// clang-format off
3537
#if defined(__FreeBSD__) || defined(__OpenBSD__)
36-
// clang-format off: should not reorder sys/auxv.h alphabetically
3738
#include <sys/auxv.h>
38-
// clang-format on
3939
#include "aarch64/hwcap.inc"
4040
#include "aarch64/lse_atomics/elf_aux_info.inc"
4141
#elif defined(__Fuchsia__)
4242
#include "aarch64/hwcap.inc"
4343
#include "aarch64/lse_atomics/fuchsia.inc"
4444
#elif defined(__ANDROID__)
45+
#include <sys/auxv.h>
4546
#include "aarch64/hwcap.inc"
4647
#include "aarch64/lse_atomics/android.inc"
47-
#elif defined(__linux__) && __has_include(<sys/auxv.h>)
48+
#elif defined(__linux__)
49+
#include <sys/auxv.h>
4850
#include "aarch64/hwcap.inc"
4951
#include "aarch64/lse_atomics/getauxval.inc"
5052
#elif defined(_WIN32)
5153
#include "aarch64/lse_atomics/windows.inc"
5254
#else
5355
// When unimplemented, we leave __aarch64_have_lse_atomics initialized to false.
5456
#endif
57+
// clang-format on
5558

5659
#if !defined(DISABLE_AARCH64_FMV)
5760

@@ -74,7 +77,7 @@ struct {
7477
#elif defined(__ANDROID__)
7578
#include "aarch64/fmv/hwcap.inc"
7679
#include "aarch64/fmv/android.inc"
77-
#elif defined(__linux__) && __has_include(<sys/auxv.h>)
80+
#elif defined(__linux__)
7881
#include "aarch64/fmv/hwcap.inc"
7982
#include "aarch64/fmv/getauxval.inc"
8083
#elif defined(_WIN32)

compiler-rt/lib/builtins/cpu_model/aarch64/hwcap.inc

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
1-
#if __has_include(<sys/hwcap.h>)
2-
#include <sys/hwcap.h>
3-
#define HAVE_SYS_HWCAP_H
4-
#endif
5-
61
#ifndef _IFUNC_ARG_HWCAP
72
#define _IFUNC_ARG_HWCAP (1ULL << 62)
83
#endif

compiler-rt/lib/builtins/cpu_model/aarch64/lse_atomics/android.inc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
#include <string.h>
2-
#include <sys/auxv.h>
32
#include <sys/system_properties.h>
43

54
static bool __isExynos9810(void) {

compiler-rt/lib/builtins/cpu_model/aarch64/lse_atomics/getauxval.inc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
#include <sys/auxv.h>
2-
31
static void CONSTRUCTOR_ATTRIBUTE init_have_lse_atomics(void) {
42
unsigned long hwcap = getauxval(AT_HWCAP);
53
__aarch64_have_lse_atomics = (hwcap & HWCAP_ATOMICS) != 0;

0 commit comments

Comments
 (0)