diff options
| author | Lexi Winter <ivy@FreeBSD.org> | 2025-10-05 09:19:31 +0100 |
|---|---|---|
| committer | Lexi Winter <ivy@FreeBSD.org> | 2025-10-05 09:19:31 +0100 |
| commit | f85f2b2d6e5b7ed869376eb4b180c3a74a5c5da9 (patch) | |
| tree | ad799ccacfb459b809b02b9c115ed4befb93b4c1 /devel/cpu_features/files/patch-src_hwcaps.c | |
| parent | 0b1510fe1f98f82da6f3481cb6c58957022d9211 (diff) | |
| parent | b057c68280a2f2a7b3d1fbac36f7b034e1fdf593 (diff) | |
Merge remote-tracking branch 'freebsd/main' into lf/main
Diffstat (limited to 'devel/cpu_features/files/patch-src_hwcaps.c')
| -rw-r--r-- | devel/cpu_features/files/patch-src_hwcaps.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/devel/cpu_features/files/patch-src_hwcaps.c b/devel/cpu_features/files/patch-src_hwcaps.c new file mode 100644 index 000000000000..4213c3b732de --- /dev/null +++ b/devel/cpu_features/files/patch-src_hwcaps.c @@ -0,0 +1,44 @@ +--- src/hwcaps.c.orig 2023-09-14 12:15:33 UTC ++++ src/hwcaps.c +@@ -55,12 +55,16 @@ const char* CpuFeatures_GetBasePlatformPointer(void); + // Implementation of GetElfHwcapFromGetauxval + //////////////////////////////////////////////////////////////////////////////// + +-#define AT_HWCAP 16 +-#define AT_HWCAP2 26 +-#define AT_PLATFORM 15 +-#define AT_BASE_PLATFORM 24 ++#if defined(CPU_FEATURES_OS_FREEBSD) ++#include <sys/auxv.h> ++static unsigned long GetElfHwcapFromGetauxval(uint32_t hwcap_type) { ++ unsigned long val = 0; + +-#if defined(HAVE_STRONG_GETAUXVAL) ++ elf_aux_info(hwcap_type, &val, sizeof val); ++ ++ return val; ++} ++#elif defined(HAVE_STRONG_GETAUXVAL) + #include <sys/auxv.h> + static unsigned long GetElfHwcapFromGetauxval(uint32_t hwcap_type) { + return getauxval(hwcap_type); +@@ -159,11 +163,19 @@ const char *CpuFeatures_GetPlatformPointer(void) { + } + + const char *CpuFeatures_GetPlatformPointer(void) { ++#ifdef AT_PLATFORM + return (const char *)GetHardwareCapabilitiesFor(AT_PLATFORM); ++#else ++ return NULL; ++#endif + } + + const char *CpuFeatures_GetBasePlatformPointer(void) { ++#ifdef AT_BASE_PLATFORM + return (const char *)GetHardwareCapabilitiesFor(AT_BASE_PLATFORM); ++#else ++ return NULL; ++#endif + } + + #endif // CPU_FEATURES_TEST |
