diff --git a/benchmarks/gem_syslatency.c b/benchmarks/gem_syslatency.c index 7671dc4..3ac9544 100644 --- a/benchmarks/gem_syslatency.c +++ b/benchmarks/gem_syslatency.c @@ -44,7 +44,11 @@ #include -#define sigev_notify_thread_id _sigev_un._tid +#ifndef __GLIBC__ +#include "signal_compat.h" +#endif + +#define sigev_notify_thread_id sigev_notify_function static volatile int done; diff --git a/lib/igt_aux.c b/lib/igt_aux.c index 578f857..3e98cf0 100644 --- a/lib/igt_aux.c +++ b/lib/igt_aux.c @@ -31,6 +31,7 @@ #endif #include #include +#include // PATH_MAX #include #include #include @@ -73,6 +74,12 @@ #include /* for dirname() */ #endif +#ifndef __GLIBC__ +#include "signal_compat.h" +#endif + +//#include + /** * SECTION:igt_aux * @short_description: Auxiliary libraries and support functions diff --git a/lib/igt_aux.h b/lib/igt_aux.h index 04d2290..a0ada9e 100644 --- a/lib/igt_aux.h +++ b/lib/igt_aux.h @@ -46,7 +46,7 @@ # define gettid() (pid_t)(syscall(__NR_gettid)) # endif #endif -#define sigev_notify_thread_id _sigev_un._tid +#define sigev_notify_thread_id sigev_notify_function /* auxialiary igt helpers from igt_aux.c */ /* generally useful helpers */ diff --git a/lib/igt_eld.c b/lib/igt_eld.c index 3d7fd4d..d51774b 100644 --- a/lib/igt_eld.c +++ b/lib/igt_eld.c @@ -29,6 +29,7 @@ #include #include #include +#include #include "igt_core.h" #include "igt_eld.h" diff --git a/lib/igt_halffloat.c b/lib/igt_halffloat.c index 08ab05f..7d6a6e6 100644 --- a/lib/igt_halffloat.c +++ b/lib/igt_halffloat.c @@ -162,7 +162,7 @@ static inline float _half_to_float(uint16_t val) return fi.f; } -#if defined(__x86_64__) && !defined(__clang__) +#if defined(__x86_64__) && !defined(__clang__) && defined(__GLIBC__) #pragma GCC push_options #pragma GCC target("f16c") diff --git a/lib/igt_x86.c b/lib/igt_x86.c index 6ac700d..ddf5edd 100644 --- a/lib/igt_x86.c +++ b/lib/igt_x86.c @@ -190,7 +190,7 @@ char *igt_x86_features_to_string(unsigned features, char *line) } #endif -#if defined(__x86_64__) && !defined(__clang__) +#if defined(__x86_64__) && !defined(__clang__) && defined(__GLIBC__) #pragma GCC push_options #pragma GCC target("sse4.1") #pragma GCC diagnostic ignored "-Wpointer-arith" diff --git a/lib/signal_compat.h b/lib/signal_compat.h new file mode 100644 index 0000000..acae648 --- /dev/null +++ b/lib/signal_compat.h @@ -0,0 +1,4 @@ +#define SIGEV_SIGNAL 0 /* notify via signal */ +#define SIGEV_NONE 1 /* other notification: meaningless */ +#define SIGEV_THREAD 2 /* deliver via thread creation */ +#define SIGEV_THREAD_ID 4 /* deliver to thread */ diff --git a/tests/drm_read.c b/tests/drm_read.c index cfb1c04..18be922 100644 --- a/tests/drm_read.c +++ b/tests/drm_read.c @@ -220,7 +220,7 @@ static void test_short_buffer_wakeup(int in, enum pipe pipe) pthread_mutex_unlock(&w.mutex); /* Give each thread a chance to sleep in drm_read() */ - pthread_yield(); + sched_yield(); /* One event should wake all threads as none consume */ generate_event(w.fd, pipe); diff --git a/tests/kms_hdmi_inject.c b/tests/kms_hdmi_inject.c index 8c0d133..f272418 100644 --- a/tests/kms_hdmi_inject.c +++ b/tests/kms_hdmi_inject.c @@ -25,7 +25,7 @@ #include "config.h" #include - +#include #include "igt.h" #include "igt_edid.h" #include "igt_eld.h" diff --git a/tests/kms_sysfs_edid_timing.c b/tests/kms_sysfs_edid_timing.c index 1201388..e75c7e9 100644 --- a/tests/kms_sysfs_edid_timing.c +++ b/tests/kms_sysfs_edid_timing.c @@ -24,6 +24,7 @@ #include #include +#include #include #define THRESHOLD_PER_CONNECTOR 10 diff --git a/tests/i915/gem_close_race.c b/tests/i915/gem_close_race.c index 57e0048..ad5f504 100644 --- a/tests/i915/gem_close_race.c +++ b/tests/i915/gem_close_race.c @@ -51,7 +51,11 @@ static uint32_t devid; static bool has_64bit_relocations; -#define sigev_notify_thread_id _sigev_un._tid +#ifndef __GLIBC__ +#include "signal_compat.h" +#endif + +#define sigev_notify_thread_id sigev_notify_function static void selfcopy(int fd, uint32_t handle, int loops) { diff --git a/tests/i915/i915_pm_rpm.c b/tests/i915/i915_pm_rpm.c index e2c7ba2..08e44b7 100644 --- a/tests/i915/i915_pm_rpm.c +++ b/tests/i915/i915_pm_rpm.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include diff --git a/tests/panfrost_submit.c b/tests/panfrost_submit.c index 13ce85b..ceb2e6d 100644 --- a/tests/panfrost_submit.c +++ b/tests/panfrost_submit.c @@ -68,7 +68,7 @@ static void check_error(int fd, struct panfrost_submit *submit) static void check_fb(int fd, struct panfrost_bo *bo) { int gpu_prod_id = igt_panfrost_get_param(fd, DRM_PANFROST_PARAM_GPU_PROD_ID); - __uint32_t *fbo; + uint32_t *fbo; int i; fbo = bo->map;