git: bb0f1da1920c - main - x11/babl: fix build on armv7
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 30 Jun 2022 21:45:36 UTC
The branch main has been updated by fluffy: URL: https://cgit.FreeBSD.org/ports/commit/?id=bb0f1da1920c245641a1f8a03dc17051631e66f0 commit bb0f1da1920c245641a1f8a03dc17051631e66f0 Author: Dima Panov <fluffy@FreeBSD.org> AuthorDate: 2022-06-30 21:44:03 +0000 Commit: Dima Panov <fluffy@FreeBSD.org> CommitDate: 2022-06-30 21:45:19 +0000 x11/babl: fix build on armv7 PR: 264942 Submitted by: Robert Clausecker --- x11/babl/files/patch-babl_babl-cpuaccel.c | 43 +++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/x11/babl/files/patch-babl_babl-cpuaccel.c b/x11/babl/files/patch-babl_babl-cpuaccel.c new file mode 100644 index 000000000000..65adc87df47c --- /dev/null +++ b/x11/babl/files/patch-babl_babl-cpuaccel.c @@ -0,0 +1,43 @@ +--- babl/babl-cpuaccel.c.orig 2022-06-28 12:20:06 UTC ++++ babl/babl-cpuaccel.c +@@ -556,33 +556,19 @@ arch_accel (void) + #include <fcntl.h> + #include <string.h> + #include <elf.h> ++#include <sys/auxv.h> + + #define HAVE_ACCEL 1 + + static guint32 + arch_accel (void) + { +- /* TODO : add or hardcode the other ways it can be on arm, where +- * this info comes from the system and not from running cpu +- * instructions +- */ +- int has_neon = 0; +- int fd = open ("/proc/self/auxv", O_RDONLY); +- Elf32_auxv_t auxv; +- if (fd >= 0) +- { +- while (read (fd, &auxv, sizeof (Elf32_auxv_t)) == sizeof (Elf32_auxv_t)) +- { +- if (auxv.a_type == AT_HWCAP) +- { +- if (auxv.a_un.a_val & 4096) +- has_neon = 1; +- } +- } +- close (fd); +- } +- return has_neon?BABL_CPU_ACCEL_ARM_NEON:0; +-} ++ unsigned long hwcap = 0; ++ ++ elf_aux_info(AT_HWCAP, &hwcap, sizeof hwcap); ++ ++ return hwcap & HWCAP_NEON ? BABL_CPU_ACCEL_ARM_NEON : 0; ++} + + #endif /* ARCH_ARM */ +