Rebuild most of the .so's on Debian 10
Also fix up libbizhash so it builds on clang Slight fixes to sameboy and msxhawk makefiles Fix rcheevo submodule commit (no actual changes, just make it point to a commit upstream actually has) SDL2 .so not yet rebuilt, need to consider how to do that citra seems to need at least Debian 11 to build libe_sqlite3.so seemed to have already been built with Debian 10 so not bothering touching that libwaterboxhost.so is Rust / targets glibc 2.28 anyways, nothing needs to be done there
This commit is contained in:
parent
ef90a3d63d
commit
1909950742
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -32,7 +32,7 @@ extern uint64_t fold_16_vpclmulqdq(__m128i *xmm_crc0, __m128i *xmm_crc1,
|
|||
extern uint64_t fold_16_vpclmulqdq_copy(__m128i *xmm_crc0, __m128i *xmm_crc1,
|
||||
__m128i *xmm_crc2, __m128i *xmm_crc3, uint8_t *dst, const uint8_t *src, uint64_t len);
|
||||
|
||||
__attribute__((target("sse4.1", "pclmul")))
|
||||
__attribute__((target("sse4.1,pclmul")))
|
||||
static void fold_1(__m128i *xmm_crc0, __m128i *xmm_crc1, __m128i *xmm_crc2, __m128i *xmm_crc3) {
|
||||
const __m128i xmm_fold4 = _mm_set_epi32(0x00000001, 0x54442bd4, 0x00000001, 0xc6e41596);
|
||||
__m128i x_tmp3;
|
||||
|
@ -53,7 +53,7 @@ static void fold_1(__m128i *xmm_crc0, __m128i *xmm_crc1, __m128i *xmm_crc2, __m1
|
|||
*xmm_crc3 = _mm_castps_si128(ps_res);
|
||||
}
|
||||
|
||||
__attribute__((target("sse4.1", "pclmul")))
|
||||
__attribute__((target("sse4.1,pclmul")))
|
||||
static void fold_2(__m128i *xmm_crc0, __m128i *xmm_crc1, __m128i *xmm_crc2, __m128i *xmm_crc3) {
|
||||
const __m128i xmm_fold4 = _mm_set_epi32(0x00000001, 0x54442bd4, 0x00000001, 0xc6e41596);
|
||||
__m128i x_tmp3, x_tmp2;
|
||||
|
@ -82,7 +82,7 @@ static void fold_2(__m128i *xmm_crc0, __m128i *xmm_crc1, __m128i *xmm_crc2, __m1
|
|||
*xmm_crc3 = _mm_castps_si128(ps_res31);
|
||||
}
|
||||
|
||||
__attribute__((target("sse4.1", "pclmul")))
|
||||
__attribute__((target("sse4.1,pclmul")))
|
||||
static void fold_3(__m128i *xmm_crc0, __m128i *xmm_crc1, __m128i *xmm_crc2, __m128i *xmm_crc3) {
|
||||
const __m128i xmm_fold4 = _mm_set_epi32(0x00000001, 0x54442bd4, 0x00000001, 0xc6e41596);
|
||||
__m128i x_tmp3;
|
||||
|
@ -117,7 +117,7 @@ static void fold_3(__m128i *xmm_crc0, __m128i *xmm_crc1, __m128i *xmm_crc2, __m1
|
|||
*xmm_crc3 = _mm_castps_si128(ps_res32);
|
||||
}
|
||||
|
||||
__attribute__((target("sse4.1", "pclmul")))
|
||||
__attribute__((target("sse4.1,pclmul")))
|
||||
static void fold_4(__m128i *xmm_crc0, __m128i *xmm_crc1, __m128i *xmm_crc2, __m128i *xmm_crc3) {
|
||||
const __m128i xmm_fold4 = _mm_set_epi32(0x00000001, 0x54442bd4, 0x00000001, 0xc6e41596);
|
||||
__m128i x_tmp0, x_tmp1, x_tmp2, x_tmp3;
|
||||
|
@ -178,7 +178,7 @@ static const unsigned _Alignas(32) pshufb_shf_table[60] = {
|
|||
0x0201008f, 0x06050403, 0x0a090807, 0x0e0d0c0b /* shl 1 (16 -15)/shr15*/
|
||||
};
|
||||
|
||||
__attribute__((target("sse4.1", "pclmul")))
|
||||
__attribute__((target("sse4.1,pclmul")))
|
||||
static void partial_fold(const size_t len, __m128i *xmm_crc0, __m128i *xmm_crc1, __m128i *xmm_crc2,
|
||||
__m128i *xmm_crc3, __m128i *xmm_crc_part) {
|
||||
|
||||
|
@ -224,7 +224,7 @@ static void partial_fold(const size_t len, __m128i *xmm_crc0, __m128i *xmm_crc1,
|
|||
*xmm_crc3 = _mm_castps_si128(ps_res);
|
||||
}
|
||||
|
||||
__attribute__((target("sse4.1", "pclmul")))
|
||||
__attribute__((target("sse4.1,pclmul")))
|
||||
static inline void crc32_fold_load(__m128i *fold, __m128i *fold0, __m128i *fold1, __m128i *fold2, __m128i *fold3) {
|
||||
*fold0 = _mm_load_si128(fold + 0);
|
||||
*fold1 = _mm_load_si128(fold + 1);
|
||||
|
@ -232,7 +232,7 @@ static inline void crc32_fold_load(__m128i *fold, __m128i *fold0, __m128i *fold1
|
|||
*fold3 = _mm_load_si128(fold + 3);
|
||||
}
|
||||
|
||||
__attribute__((target("sse4.1", "pclmul")))
|
||||
__attribute__((target("sse4.1,pclmul")))
|
||||
static inline void crc32_fold_save(__m128i *fold, __m128i fold0, __m128i fold1, __m128i fold2, __m128i fold3) {
|
||||
_mm_storeu_si128(fold + 0, fold0);
|
||||
_mm_storeu_si128(fold + 1, fold1);
|
||||
|
@ -240,7 +240,7 @@ static inline void crc32_fold_save(__m128i *fold, __m128i fold0, __m128i fold1,
|
|||
_mm_storeu_si128(fold + 3, fold3);
|
||||
}
|
||||
|
||||
__attribute__((target("sse4.1", "pclmul")))
|
||||
__attribute__((target("sse4.1,pclmul")))
|
||||
static uint32_t crc32_fold_pclmulqdq_reset(crc32_fold *crc) {
|
||||
__m128i xmm_crc0 = _mm_cvtsi32_si128(0x9db42487);
|
||||
__m128i xmm_zero = _mm_setzero_si128();
|
||||
|
@ -251,7 +251,7 @@ static uint32_t crc32_fold_pclmulqdq_reset(crc32_fold *crc) {
|
|||
#define ONCE(op) if (first) { first = 0; op; }
|
||||
#define XOR_INITIAL(where) ONCE(where = _mm_xor_si128(where, xmm_initial))
|
||||
|
||||
__attribute__((target("sse4.1", "pclmul")))
|
||||
__attribute__((target("sse4.1,pclmul")))
|
||||
void crc32_fold_pclmulqdq(crc32_fold *crc, const uint8_t *src, uint64_t len, uint32_t init_crc) {
|
||||
size_t algn_diff;
|
||||
__m128i xmm_t0, xmm_t1, xmm_t2, xmm_t3;
|
||||
|
@ -376,7 +376,7 @@ static const unsigned _Alignas(16) crc_mask2[4] = {
|
|||
0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
|
||||
};
|
||||
|
||||
__attribute__((target("sse4.1", "pclmul")))
|
||||
__attribute__((target("sse4.1,pclmul")))
|
||||
static uint32_t crc32_fold_pclmulqdq_final(crc32_fold *crc) {
|
||||
const __m128i xmm_mask = _mm_load_si128((__m128i *)crc_mask);
|
||||
const __m128i xmm_mask2 = _mm_load_si128((__m128i *)crc_mask2);
|
||||
|
@ -436,7 +436,8 @@ static uint32_t crc32_fold_pclmulqdq_final(crc32_fold *crc) {
|
|||
return crc->value;
|
||||
}
|
||||
|
||||
__attribute__((target("sse4.1", "pclmul"))) __attribute__((visibility("hidden")))
|
||||
__attribute__((target("sse4.1,pclmul")))
|
||||
__attribute__((visibility("hidden")))
|
||||
uint32_t crc32_pclmulqdq(uint32_t crc32, const uint8_t *buf, uint32_t len) {
|
||||
// For lens < 64, crc32_braid method is faster.
|
||||
if (len < 64)
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
#define ONCE(op) if (first) { first = 0; op; }
|
||||
#define XOR_INITIAL(where) ONCE(where = _mm512_xor_si512(where, zmm_initial))
|
||||
|
||||
__attribute__((target("sse4.1", "pclmul", "avx512f", "vpclmulqdq")))
|
||||
__attribute__((target("sse4.1,pclmul,avx512f,vpclmulqdq")))
|
||||
uint64_t fold_16_vpclmulqdq(__m128i *xmm_crc0, __m128i *xmm_crc1,
|
||||
__m128i *xmm_crc2, __m128i *xmm_crc3, const uint8_t *src, uint64_t len,
|
||||
__m128i init_crc, int32_t first) {
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#include <immintrin.h>
|
||||
#include "common.h"
|
||||
|
||||
__attribute__((target("sha", "sse4.1")))
|
||||
__attribute__((target("sha,sse4.1")))
|
||||
void sha1_sha(uint32_t state[5], const uint8_t data[], uint32_t length) {
|
||||
__m128i ABCD, ABCD_SAVE, E0, E0_SAVE, E1;
|
||||
__m128i MSG0, MSG1, MSG2, MSG3;
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit b91d539638f08c7810094e9ed8aafffd72a7af26
|
||||
Subproject commit 46e1feaafb2e777ced9fbef14a22d54fd0191287
|
|
@ -1,7 +1,7 @@
|
|||
CXX = g++
|
||||
|
||||
CFLAGS = -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -Wno-unused-value -Wno-type-limits -O3 -flto -fvisibility=internal
|
||||
LFLAGS = -shared
|
||||
LFLAGS = -shared -s
|
||||
|
||||
SRCS = $(wildcard MSXHawk/*.cpp)
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ OBJ_DIR := $(OUT_DIR)/release
|
|||
DOBJ_DIR := $(OUT_DIR)/debug
|
||||
|
||||
CC := gcc
|
||||
CCFLAGS := -I$(CORE_DIR) -Wall -Wextra -std=gnu11 -fomit-frame-pointer -Wno-strict-aliasing \
|
||||
CCFLAGS := -I$(CORE_DIR) -Wall -Wextra -std=gnu11 -Wno-strict-aliasing \
|
||||
-Wno-multichar -Wno-implicit-fallthrough -Wno-sign-compare -Wno-unused-parameter \
|
||||
-Wno-int-in-bool-context -Wno-missing-field-initializers -Wno-overflow -Wno-unused-result \
|
||||
-D_GNU_SOURCE -D_USE_MATH_DEFINES -DNDEBUG -DGB_INTERNAL -DGB_DISABLE_DEBUGGER \
|
||||
|
@ -18,6 +18,7 @@ ifeq ($(OS),Windows_NT)
|
|||
TARGET := libsameboy.dll
|
||||
else
|
||||
TARGET := libsameboy.so
|
||||
CCFLAGS := $(CCFLAGS) -fPIC
|
||||
endif
|
||||
|
||||
SRCS := \
|
||||
|
@ -42,7 +43,7 @@ LDFLAGS := -shared -Wno-attributes
|
|||
CCFLAGS_DEBUG := -O0 -g
|
||||
CCFLAGS_RELEASE := -O3 -flto
|
||||
LDFLAGS_DEBUG :=
|
||||
LDFLAGS_RELEASE := -s
|
||||
LDFLAGS_RELEASE := -s -Wno-lto-type-mismatch
|
||||
|
||||
_OBJS := $(addsuffix .o,$(realpath $(SRCS)))
|
||||
OBJS := $(patsubst $(ROOT_DIR)%,$(OBJ_DIR)%,$(_OBJS))
|
||||
|
|
Loading…
Reference in New Issue