From 6b45ae6926dfe2a397d8b58bbb55be3ce25257ab Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Wed, 11 Oct 2017 23:34:44 -0700 Subject: [PATCH] Build fixes for gcc 7.2 v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit src/perfctr.c: In function ‘destroy_shared_region’: src/perfctr.c:154:10: error: logical ‘and’ of equal expressions [-Werror=logical-op] if (sem && sem != SEM_FAILED) { ^~ src/perfctr.c: In function ‘update_block_slots’: src/perfctr.c:323:11: error: logical ‘or’ of equal expressions [-Werror=logical-op] if (!sem || sem == SEM_FAILED) ^~ v2: - Initialize and reset sem to SEM_FAILED. Change-Id: Id70361079b715c4946b13e4460e4fd85d9542c46 Signed-off-by: Felix Kuehling [ROCm/ROCR-Runtime commit: 4815d9b8877fbb952a7835c9972dd357e98d590b] --- projects/rocr-runtime/src/perfctr.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/projects/rocr-runtime/src/perfctr.c b/projects/rocr-runtime/src/perfctr.c index cc04469b94..8040d76152 100644 --- a/projects/rocr-runtime/src/perfctr.c +++ b/projects/rocr-runtime/src/perfctr.c @@ -90,7 +90,7 @@ static unsigned int counter_props_count; static const char shmem_name[] = "/hsakmt_shared_mem"; static int shmem_fd; static const char sem_name[] = "hsakmt_semaphore"; -static sem_t *sem; +static sem_t *sem = SEM_FAILED; struct perf_shared_table *shared_table; static ssize_t readn(int fd, void *buf, size_t n) @@ -140,7 +140,7 @@ exit_2: exit_1: sem_close(sem); sem_unlink(sem_name); - sem = NULL; + sem = SEM_FAILED; return HSAKMT_STATUS_ERROR; } @@ -151,9 +151,10 @@ static void destroy_shared_region(void) if (shmem_fd > 0) shm_unlink(shmem_name); - if (sem && sem != SEM_FAILED) { + if (sem != SEM_FAILED) { sem_close(sem); sem_unlink(sem_name); + sem = SEM_FAILED; } } @@ -325,7 +326,7 @@ static HSAKMT_STATUS update_block_slots(enum perf_trace_action action, if (shmem_fd <= 0) return HSAKMT_STATUS_UNAVAILABLE; - if (!sem || sem == SEM_FAILED) + if (sem == SEM_FAILED) return HSAKMT_STATUS_UNAVAILABLE; sem_wait(sem);