mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-01-06 02:17:34 -08:00
dev-libs/rocr-runtime: drop unused patches
Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com> Part-of: https://github.com/gentoo/gentoo/pull/44218 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
This commit is contained in:
parent
849b880114
commit
ead3f88c00
@ -1,117 +0,0 @@
|
||||
Fix compilation with musl.
|
||||
|
||||
Bug: https://github.com/ROCm/ROCR-Runtime/issues/181
|
||||
--- a/core/inc/checked.h
|
||||
+++ b/core/inc/checked.h
|
||||
@@ -58,7 +58,7 @@ template <uint64_t code, bool multiProcess = false> class Check final {
|
||||
Check(const Check&) { object_ = uintptr_t(this) ^ uintptr_t(code); }
|
||||
Check(Check&&) { object_ = uintptr_t(this) ^ uintptr_t(code); }
|
||||
|
||||
- ~Check() { object_ = NULL; }
|
||||
+ ~Check() { object_ = uintptr_t(NULL); }
|
||||
|
||||
const Check& operator=(Check&& rhs) { return *this; }
|
||||
const Check& operator=(const Check& rhs) { return *this; }
|
||||
--- a/core/runtime/default_signal.cpp
|
||||
+++ b/core/runtime/default_signal.cpp
|
||||
@@ -57,7 +57,7 @@ int BusyWaitSignal::rtti_id_ = 0;
|
||||
BusyWaitSignal::BusyWaitSignal(SharedSignal* abi_block, bool enableIPC)
|
||||
: Signal(abi_block, enableIPC) {
|
||||
signal_.kind = AMD_SIGNAL_KIND_USER;
|
||||
- signal_.event_mailbox_ptr = NULL;
|
||||
+ signal_.event_mailbox_ptr = uint64_t(NULL);
|
||||
}
|
||||
|
||||
hsa_signal_value_t BusyWaitSignal::LoadRelaxed() {
|
||||
--- a/core/runtime/hsa.cpp
|
||||
+++ b/core/runtime/hsa.cpp
|
||||
@@ -155,7 +155,7 @@ template <class T> struct ValidityError<const T*> {
|
||||
|
||||
template <class T>
|
||||
static __forceinline bool IsValid(T* ptr) {
|
||||
- return (ptr == NULL) ? NULL : ptr->IsValid();
|
||||
+ return (ptr == NULL) ? false : ptr->IsValid();
|
||||
}
|
||||
|
||||
namespace AMD {
|
||||
--- a/core/util/lnx/os_linux.cpp
|
||||
+++ b/core/util/lnx/os_linux.cpp
|
||||
@@ -111,9 +111,12 @@ class os_thread {
|
||||
}
|
||||
}
|
||||
|
||||
+ int cores = 0;
|
||||
+ cpu_set_t* cpuset = nullptr;
|
||||
+
|
||||
if (core::Runtime::runtime_singleton_->flag().override_cpu_affinity()) {
|
||||
- int cores = get_nprocs_conf();
|
||||
- cpu_set_t* cpuset = CPU_ALLOC(cores);
|
||||
+ cores = get_nprocs_conf();
|
||||
+ cpuset = CPU_ALLOC(cores);
|
||||
if (cpuset == nullptr) {
|
||||
fprintf(stderr, "CPU_ALLOC failed: %s\n", strerror(errno));
|
||||
return;
|
||||
@@ -122,12 +125,6 @@ class os_thread {
|
||||
for (int i = 0; i < cores; i++) {
|
||||
CPU_SET(i, cpuset);
|
||||
}
|
||||
- err = pthread_attr_setaffinity_np(&attrib, CPU_ALLOC_SIZE(cores), cpuset);
|
||||
- CPU_FREE(cpuset);
|
||||
- if (err != 0) {
|
||||
- fprintf(stderr, "pthread_attr_setaffinity_np failed: %s\n", strerror(err));
|
||||
- return;
|
||||
- }
|
||||
}
|
||||
|
||||
err = pthread_create(&thread, &attrib, ThreadTrampoline, args.get());
|
||||
@@ -157,6 +154,14 @@ class os_thread {
|
||||
if (err != 0) {
|
||||
fprintf(stderr, "pthread_attr_destroy failed: %s\n", strerror(err));
|
||||
}
|
||||
+
|
||||
+ if (thread && cores && cpuset) {
|
||||
+ err = pthread_setaffinity_np(thread, CPU_ALLOC_SIZE(cores), cpuset);
|
||||
+ CPU_FREE(cpuset);
|
||||
+ if (err != 0) {
|
||||
+ fprintf(stderr, "pthread_setaffinity_np failed: %s\n", strerror(err));
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
|
||||
os_thread(os_thread&& rhs) {
|
||||
@@ -617,11 +622,13 @@ SharedMutex CreateSharedMutex() {
|
||||
fprintf(stderr, "rw lock attribute init failed: %s\n", strerror(err));
|
||||
return nullptr;
|
||||
}
|
||||
+#if defined(__GLIBC__)
|
||||
err = pthread_rwlockattr_setkind_np(&attrib, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
|
||||
if (err != 0) {
|
||||
fprintf(stderr, "Set rw lock attribute failure: %s\n", strerror(err));
|
||||
return nullptr;
|
||||
}
|
||||
+#endif
|
||||
|
||||
pthread_rwlock_t* lock = new pthread_rwlock_t;
|
||||
err = pthread_rwlock_init(lock, &attrib);
|
||||
--- a/core/util/utils.h
|
||||
+++ b/core/util/utils.h
|
||||
@@ -74,7 +74,7 @@ static __forceinline void* _aligned_malloc(size_t size, size_t alignment) {
|
||||
return aligned_alloc(alignment, size);
|
||||
#else
|
||||
void *mem = NULL;
|
||||
- if (NULL != posix_memalign(&mem, alignment, size))
|
||||
+ if (0 != posix_memalign(&mem, alignment, size))
|
||||
return NULL;
|
||||
return mem;
|
||||
#endif
|
||||
--- a/image/util.h
|
||||
+++ b/image/util.h
|
||||
@@ -95,7 +95,7 @@ static __forceinline void* _aligned_malloc(size_t size, size_t alignment) {
|
||||
return aligned_alloc(alignment, size);
|
||||
#else
|
||||
void* mem = NULL;
|
||||
- if (NULL != posix_memalign(&mem, alignment, size)) return NULL;
|
||||
+ if (0 != posix_memalign(&mem, alignment, size)) return NULL;
|
||||
return mem;
|
||||
#endif
|
||||
}
|
||||
@ -1,17 +0,0 @@
|
||||
Fix "symbol not defined" when linking with ld.lld >= 17
|
||||
https://github.com/ROCm/ROCR-Runtime/issues/204
|
||||
--- a/hsacore.so.def
|
||||
+++ b/hsacore.so.def
|
||||
@@ -246,12 +246,6 @@ global:
|
||||
hsa_amd_vmem_retain_alloc_handle;
|
||||
hsa_amd_vmem_get_alloc_properties_from_handle;
|
||||
hsa_amd_agent_set_async_scratch_limit;
|
||||
- hsa_tools_scratch_event_alloc_start;
|
||||
- hsa_tools_scratch_event_alloc_end;
|
||||
- hsa_tools_scratch_event_free_start;
|
||||
- hsa_tools_scratch_event_free_end;
|
||||
- hsa_tools_scratch_event_async_reclaim_start;
|
||||
- hsa_tools_scratch_event_async_reclaim_end;
|
||||
|
||||
local:
|
||||
*;
|
||||
@ -1,106 +0,0 @@
|
||||
Fix compilation and symbol search with musl.
|
||||
|
||||
Bug: https://github.com/ROCm/ROCR-Runtime/issues/181
|
||||
--- src.orig/core/inc/checked.h
|
||||
+++ src/core/inc/checked.h
|
||||
@@ -58,7 +58,7 @@ template <uint64_t code, bool multiProce
|
||||
Check(const Check&) { object_ = uintptr_t(this) ^ uintptr_t(code); }
|
||||
Check(Check&&) { object_ = uintptr_t(this) ^ uintptr_t(code); }
|
||||
|
||||
- ~Check() { object_ = NULL; }
|
||||
+ ~Check() { object_ = uintptr_t(NULL); }
|
||||
|
||||
const Check& operator=(Check&& rhs) { return *this; }
|
||||
const Check& operator=(const Check& rhs) { return *this; }
|
||||
--- src.orig/core/runtime/default_signal.cpp
|
||||
+++ src/core/runtime/default_signal.cpp
|
||||
@@ -57,7 +57,7 @@ int BusyWaitSignal::rtti_id_ = 0;
|
||||
BusyWaitSignal::BusyWaitSignal(SharedSignal* abi_block, bool enableIPC)
|
||||
: Signal(abi_block, enableIPC) {
|
||||
signal_.kind = AMD_SIGNAL_KIND_USER;
|
||||
- signal_.event_mailbox_ptr = NULL;
|
||||
+ signal_.event_mailbox_ptr = uint64_t(NULL);
|
||||
}
|
||||
|
||||
hsa_signal_value_t BusyWaitSignal::LoadRelaxed() {
|
||||
--- src.orig/core/util/lnx/os_linux.cpp
|
||||
+++ src/core/util/lnx/os_linux.cpp
|
||||
@@ -130,9 +130,12 @@ class os_thread {
|
||||
}
|
||||
}
|
||||
|
||||
+ int cores = 0;
|
||||
+ cpu_set_t* cpuset = nullptr;
|
||||
+
|
||||
if (core::Runtime::runtime_singleton_->flag().override_cpu_affinity()) {
|
||||
- int cores = get_nprocs_conf();
|
||||
- cpu_set_t* cpuset = CPU_ALLOC(cores);
|
||||
+ cores = get_nprocs_conf();
|
||||
+ cpuset = CPU_ALLOC(cores);
|
||||
if (cpuset == nullptr) {
|
||||
fprintf(stderr, "CPU_ALLOC failed: %s\n", strerror(errno));
|
||||
return;
|
||||
@@ -642,11 +645,13 @@ SharedMutex CreateSharedMutex() {
|
||||
fprintf(stderr, "rw lock attribute init failed: %s\n", strerror(err));
|
||||
return nullptr;
|
||||
}
|
||||
+#if defined(__GLIBC__)
|
||||
err = pthread_rwlockattr_setkind_np(&attrib, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
|
||||
if (err != 0) {
|
||||
fprintf(stderr, "Set rw lock attribute failure: %s\n", strerror(err));
|
||||
return nullptr;
|
||||
}
|
||||
+#endif
|
||||
|
||||
pthread_rwlock_t* lock = new pthread_rwlock_t;
|
||||
err = pthread_rwlock_init(lock, &attrib);
|
||||
--- src.orig/core/util/utils.h
|
||||
+++ src/core/util/utils.h
|
||||
@@ -74,7 +74,7 @@ static __forceinline void* _aligned_mall
|
||||
return aligned_alloc(alignment, size);
|
||||
#else
|
||||
void *mem = NULL;
|
||||
- if (NULL != posix_memalign(&mem, alignment, size))
|
||||
+ if (0 != posix_memalign(&mem, alignment, size))
|
||||
return NULL;
|
||||
return mem;
|
||||
#endif
|
||||
--- src.orig/image/util.h
|
||||
+++ src/image/util.h
|
||||
@@ -99,7 +99,7 @@ static __forceinline void* _aligned_mall
|
||||
return aligned_alloc(alignment, size);
|
||||
#else
|
||||
void* mem = NULL;
|
||||
- if (NULL != posix_memalign(&mem, alignment, size)) return NULL;
|
||||
+ if (0 != posix_memalign(&mem, alignment, size)) return NULL;
|
||||
return mem;
|
||||
#endif
|
||||
}
|
||||
--- src.orig/core/util/lnx/os_linux.cpp
|
||||
+++ src/core/util/lnx/os_linux.cpp
|
||||
@@ -65,6 +65,16 @@
|
||||
#include <cpuid.h>
|
||||
#endif
|
||||
|
||||
+/*
|
||||
+ * d_un.d_ptr is relative on non glibc systems
|
||||
+ * elf(5) documents it this way, glibc diverts from this documentation
|
||||
+ */
|
||||
+#ifdef __GLIBC__
|
||||
+#define ABS_ADDR(base, ptr) (ptr)
|
||||
+#else
|
||||
+#define ABS_ADDR(base, ptr) ((base) + (ptr))
|
||||
+#endif
|
||||
+
|
||||
namespace rocr {
|
||||
namespace os {
|
||||
|
||||
@@ -299,7 +309,7 @@ static int callback(struct dl_phdr_info* info, size_t size, void* data) {
|
||||
for (int j = 0;; j++) {
|
||||
if (dyn_section[j].d_tag == DT_NULL) break;
|
||||
|
||||
- if (dyn_section[j].d_tag == DT_STRTAB) strings = (char*)(dyn_section[j].d_un.d_ptr);
|
||||
+ if (dyn_section[j].d_tag == DT_STRTAB) strings = (char*)ABS_ADDR(info->dlpi_addr, dyn_section[j].d_un.d_ptr);
|
||||
|
||||
if (dyn_section[j].d_tag == DT_STRSZ) limit = dyn_section[j].d_un.d_val;
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user