Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions compiler-rt/lib/builtins/cpu_model/aarch64.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,26 +32,29 @@ typedef struct __ifunc_arg_t {
_Bool __aarch64_have_lse_atomics
__attribute__((visibility("hidden"), nocommon)) = false;

// The formatter wants to re-order these includes, but doing so is incorrect:
// clang-format off
#if defined(__FreeBSD__) || defined(__OpenBSD__)
// clang-format off: should not reorder sys/auxv.h alphabetically
#include <sys/auxv.h>
// clang-format on
#include "aarch64/hwcap.inc"
#include "aarch64/lse_atomics/elf_aux_info.inc"
#elif defined(__Fuchsia__)
#include "aarch64/hwcap.inc"
#include "aarch64/lse_atomics/fuchsia.inc"
#elif defined(__ANDROID__)
#include <sys/auxv.h>
#include "aarch64/hwcap.inc"
#include "aarch64/lse_atomics/android.inc"
#elif defined(__linux__) && __has_include(<sys/auxv.h>)
#elif defined(__linux__)
#include <sys/auxv.h>
#include "aarch64/hwcap.inc"
#include "aarch64/lse_atomics/getauxval.inc"
#elif defined(_WIN32)
#include "aarch64/lse_atomics/windows.inc"
#else
// When unimplemented, we leave __aarch64_have_lse_atomics initialized to false.
#endif
// clang-format on

#if !defined(DISABLE_AARCH64_FMV)

Expand All @@ -74,7 +77,7 @@ struct {
#elif defined(__ANDROID__)
#include "aarch64/fmv/hwcap.inc"
#include "aarch64/fmv/android.inc"
#elif defined(__linux__) && __has_include(<sys/auxv.h>)
#elif defined(__linux__)
#include "aarch64/fmv/hwcap.inc"
#include "aarch64/fmv/getauxval.inc"
#elif defined(_WIN32)
Expand Down
5 changes: 0 additions & 5 deletions compiler-rt/lib/builtins/cpu_model/aarch64/hwcap.inc
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
#if __has_include(<sys/hwcap.h>)
#include <sys/hwcap.h>
#define HAVE_SYS_HWCAP_H
#endif

#ifndef _IFUNC_ARG_HWCAP
#define _IFUNC_ARG_HWCAP (1ULL << 62)
#endif
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#include <string.h>
#include <sys/auxv.h>
#include <sys/system_properties.h>

static bool __isExynos9810(void) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
#include <sys/auxv.h>

static void CONSTRUCTOR_ATTRIBUTE init_have_lse_atomics(void) {
unsigned long hwcap = getauxval(AT_HWCAP);
__aarch64_have_lse_atomics = (hwcap & HWCAP_ATOMICS) != 0;
Expand Down