openbsd-ports/textproc/mupdf/patches/patch-source_fitz_load-jpx_c
2022-03-07 21:36:41 +00:00

44 lines
1.0 KiB
Plaintext

If OPJ_STATIC is defined, load-jpx.c linkage with libopenjp2.so is broken
("relocation R_X86_64_PC32 against symbol ... can not be used when making a
shared object")
Index: source/fitz/load-jpx.c
--- source/fitz/load-jpx.c.orig
+++ source/fitz/load-jpx.c
@@ -163,6 +163,9 @@ void opj_free(void *ptr)
static void * opj_aligned_malloc_n(size_t alignment, size_t size)
{
+#ifdef __OpenBSD__
+ return opj_malloc(size);
+#else
uint8_t *ptr;
size_t off;
@@ -176,6 +179,7 @@ static void * opj_aligned_malloc_n(size_t alignment, s
off = alignment-(((int)(intptr_t)ptr) & (alignment - 1));
ptr[off-1] = (uint8_t)off;
return ptr + off;
+#endif
}
void * opj_aligned_malloc(size_t size)
@@ -190,6 +194,9 @@ void * opj_aligned_32_malloc(size_t size)
void opj_aligned_free(void* ptr_)
{
+#ifdef __OpenBSD__
+ opj_free(ptr_);
+#else
uint8_t *ptr = (uint8_t *)ptr_;
uint8_t off;
if (ptr == NULL)
@@ -197,6 +204,7 @@ void opj_aligned_free(void* ptr_)
off = ptr[-1];
opj_free((void *)(((unsigned char *)ptr) - off));
+#endif
}
#if 0