summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--groups/211.native_packages_cmdline.group6
-rw-r--r--patches/mpg123-1.25.10.local.patch79
-rw-r--r--patches/mpg123-1.29.3.local.patch98
-rw-r--r--patches/mpg123/asm.patch240
4 files changed, 341 insertions, 82 deletions
diff --git a/groups/211.native_packages_cmdline.group b/groups/211.native_packages_cmdline.group
index 61b7371b..a68a5272 100644
--- a/groups/211.native_packages_cmdline.group
+++ b/groups/211.native_packages_cmdline.group
@@ -138,11 +138,11 @@ the_silver_searcher toilet tree terminally_tetris ubase which zsh")";
: ${PKG_MOON_BUGGY_IN_TREE:=1};
: ${PKG_MOON_BUGGY_MAKEFLAGS_BUILD:="LIBS=-Wl,-lncurses,-ltinfo"};
: ${PKG_MPG123_DEPENDS:="w32api w32lib"};
-: ${PKG_MPG123_SHA256SUM:=6c1337aee2e4bf993299851c70b7db11faec785303cfca3a5c3eb5f329ba7023};
-: ${PKG_MPG123_VERSION:=1.25.10};
+: ${PKG_MPG123_SHA256SUM:=963885d8cc77262f28b77187c7d189e32195e64244de2530b798ddf32183e847};
+: ${PKG_MPG123_VERSION:=1.29.3};
: ${PKG_MPG123_URL:=https://mpg123.de/download/mpg123-${PKG_MPG123_VERSION}.tar.bz2};
: ${PKG_MPG123_CFLAGS_CONFIGURE_EXTRA:="-I${PREFIX_NATIVE}/include/w32api.ports -DWINAPI_UTF16_DEFAULT"};
-: ${PKG_MPG123_CONFIGURE_ARGS_EXTRA:="--enable-modules --with-cpu=generic_dither --with-audio=win32"};
+: ${PKG_MPG123_CONFIGURE_ARGS_EXTRA:="--enable-modules --with-cpu=x86-64 --with-audio=win32"};
: ${PKG_MPG123_LDFLAGS_BUILD_EXTRA:="-L${PREFIX_NATIVE}/lib/w32lib -lkernel32"};
: ${PKG_MP3SPLT_DEPENDS:="libmp3splt"};
: ${PKG_MP3SPLT_SHA256SUM:=3ec32b10ddd8bb11af987b8cd1c76382c48d265d0ffda53041d9aceb1f103baa};
diff --git a/patches/mpg123-1.25.10.local.patch b/patches/mpg123-1.25.10.local.patch
deleted file mode 100644
index 6525ec62..00000000
--- a/patches/mpg123-1.25.10.local.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-diff -ru mpg123-1.25.10.orig/configure mpg123-1.25.10/configure
---- mpg123-1.25.10.orig/configure 2018-02-27 11:34:50.000000000 +0100
-+++ mpg123-1.25.10/configure 2018-11-04 00:56:56.667103853 +0100
-@@ -6497,6 +6497,10 @@
- #error Cygwin should use dlopen
- #endif
-
-+#ifdef __midipix__
-+#error midipix has dlopen(3)
-+#endif
-+
- #include <windows.h>
-
- int main() {
-@@ -6595,7 +6599,7 @@
-
- fi
- if test x"$modules" = xenabled -a x"$have_dl" = xno; then
-- as_fn_error $? "Modules enabled but no runtime loader found! This will not work..." "$LINENO" 5
-+ echo "Buggy modules detection... this should be properly fixed, someday..."
- fi
- if test x"$modules" = xauto; then
- if test x"$have_dl" = xyes; then
-@@ -19133,7 +19137,7 @@
-
-
- # Check if we want Unicode for Win32. Cygwin does not need _wopen
--if test x$ac_cv_header_windows_h = xyes && test "x$host_os" != "xcygwin"; then
-+if test x$ac_cv_header_windows_h = xyes && test "x$host_os" != "xcygwin" && test "x$host_os" != "xmidipix"; then
- win32_specific_codes=enabled
- else
- win32_specific_codes=disabled
-diff -ru mpg123-1.25.10.orig/src/intsym.h mpg123-1.25.10/src/intsym.h
---- mpg123-1.25.10.orig/src/intsym.h 2018-02-27 11:26:38.000000000 +0100
-+++ mpg123-1.25.10/src/intsym.h 2018-11-04 01:04:36.017552210 +0100
-@@ -3,6 +3,7 @@
- /* Mapping of internal mpg123 symbols to something that is less likely to
- conflict in case of static linking. */
- #include "config.h"
-+#ifndef __midipix__
- #define COS9 INT123_COS9
- #define tfcos36 INT123_tfcos36
- #define pnts INT123_pnts
-@@ -358,3 +359,4 @@
- #define strerror INT123_strerror
- #endif
- #endif
-+#endif
-diff -ru mpg123-1.25.10.orig/src/libout123/modules/win32.c mpg123-1.25.10/src/libout123/modules/win32.c
---- mpg123-1.25.10.orig/src/libout123/modules/win32.c 2018-02-27 11:26:38.000000000 +0100
-+++ mpg123-1.25.10/src/libout123/modules/win32.c 2018-11-04 12:29:01.346944126 +0100
-@@ -11,8 +11,27 @@
-
- #include "out123_int.h"
- #include <windows.h>
-+#include <mmsystem.h>
- #include "debug.h"
-
-+/* temporary stuffs :D */
-+#define WAVE_MAPPER ((UINT)-1)
-+
-+#define WAVE_FORMAT_PCM 1
-+
-+#define INFINITE 0xffffffff
-+
-+#define WAVERR_BASE 32
-+#define WAVERR_BADFORMAT (WAVERR_BASE + 0)
-+
-+#define MMSYSERR_BASE 0
-+#define MMSYSERR_NOERROR 0
-+#define MMSYSERR_ALLOCATED (MMSYSERR_BASE + 4)
-+#define MMSYSERR_NODRIVER (MMSYSERR_BASE + 6)
-+#define MMSYSERR_NOMEM (MMSYSERR_BASE + 7)
-+/* hello there! */
-+
-+
- /*
- Buffer size and number of buffers in the playback ring
- NOTE: This particular num/size combination performs best under heavy
diff --git a/patches/mpg123-1.29.3.local.patch b/patches/mpg123-1.29.3.local.patch
new file mode 100644
index 00000000..4f9d6eaa
--- /dev/null
+++ b/patches/mpg123-1.29.3.local.patch
@@ -0,0 +1,98 @@
+diff -ru mpg123-1.29.3.orig/src/libmpg123/getcpuflags_x86_64.S mpg123-1.29.3/src/libmpg123/getcpuflags_x86_64.S
+--- mpg123-1.29.3.orig/src/libmpg123/getcpuflags_x86_64.S 2021-12-10 08:00:58.000000000 +0100
++++ mpg123-1.29.3/src/libmpg123/getcpuflags_x86_64.S 2022-02-06 11:23:51.183460189 +0100
+@@ -55,3 +55,11 @@
+ ret
+
+ NONEXEC_STACK
++
++#ifdef __midipix__
++ .section .got$getcpuflags,"r"
++ .global __imp_getcpuflags
++__imp_getcpuflags:
++ .quad getcpuflags
++ .linkonce discard
++#endif
+diff -ru mpg123-1.29.3.orig/src/libmpg123/mangle.h mpg123-1.29.3/src/libmpg123/mangle.h
+--- mpg123-1.29.3.orig/src/libmpg123/mangle.h 2021-12-10 08:00:58.000000000 +0100
++++ mpg123-1.29.3/src/libmpg123/mangle.h 2022-02-06 11:22:16.299458283 +0100
+@@ -172,7 +172,7 @@
+ #define NONEXEC_STACK
+ #endif
+
+-#if (defined(__x86_64__) || defined(_M_X64)) && (defined(_WIN64) || defined (__CYGWIN__))
++#if (defined(__x86_64__) || defined(_M_X64)) && (defined(_WIN64) || defined (__CYGWIN__) || defined(__midipix__))
+ #define IS_MSABI 1 /* Not using SYSV */
+ #endif
+
+diff -ru mpg123-1.25.10.orig/src/intsym.h mpg123-1.25.10/src/intsym.h
+--- mpg123-1.25.10.orig/src/intsym.h 2018-02-27 11:26:38.000000000 +0100
++++ mpg123-1.25.10/src/intsym.h 2018-11-04 01:04:36.017552210 +0100
+@@ -3,6 +3,7 @@
+ /* Mapping of internal mpg123 symbols to something that is less likely to
+ conflict in case of static linking. */
+ #include "config.h"
++#ifndef __midipix__
+ #define COS9 INT123_COS9
+ #define tfcos36 INT123_tfcos36
+ #define pnts INT123_pnts
+@@ -358,3 +359,4 @@
+ #define strerror INT123_strerror
+ #endif
+ #endif
++#endif
+diff -ru mpg123-1.25.10.orig/src/libout123/modules/win32.c mpg123-1.25.10/src/libout123/modules/win32.c
+--- mpg123-1.25.10.orig/src/libout123/modules/win32.c 2018-02-27 11:26:38.000000000 +0100
++++ mpg123-1.25.10/src/libout123/modules/win32.c 2018-11-04 12:29:01.346944126 +0100
+@@ -11,8 +11,51 @@
+
+ #include "out123_int.h"
+ #include <windows.h>
++#include <mmsystem.h>
+ #include "debug.h"
+
++/* temporary stuffs :D */
++
++ typedef struct tagWAVEOUTCAPSA {
++ WORD wMid;
++ WORD wPid;
++ UINT vDriverVersion;
++ CHAR szPname[32];
++ DWORD dwFormats;
++ WORD wChannels;
++ WORD wReserved1;
++ DWORD dwSupport;
++ } WAVEOUTCAPSA,*PWAVEOUTCAPSA,*NPWAVEOUTCAPSA,*LPWAVEOUTCAPSA;
++
++#define waveOutGetDevCaps waveOutGetDevCapsW
++
++#define WAVE_MAPPER ((UINT)-1)
++
++#define WAVE_FORMAT_PCM 1
++#define WAVE_FORMAT_1M08 0x00000001
++#define WAVE_FORMAT_1M16 0x00000004
++#define WAVE_FORMAT_2M08 0x00000010
++#define WAVE_FORMAT_2S08 0x00000020
++#define WAVE_FORMAT_2M16 0x00000040
++#define WAVE_FORMAT_2S16 0x00000080
++#define WAVE_FORMAT_4M08 0x00000100
++#define WAVE_FORMAT_4S08 0x00000200
++#define WAVE_FORMAT_4M16 0x00000400
++#define WAVE_FORMAT_4S16 0x00000800
++
++#define INFINITE 0xffffffff
++
++#define WAVERR_BASE 32
++#define WAVERR_BADFORMAT (WAVERR_BASE + 0)
++
++#define MMSYSERR_BASE 0
++#define MMSYSERR_NOERROR 0
++#define MMSYSERR_ALLOCATED (MMSYSERR_BASE + 4)
++#define MMSYSERR_NODRIVER (MMSYSERR_BASE + 6)
++#define MMSYSERR_NOMEM (MMSYSERR_BASE + 7)
++/* hello there! */
++
++
+ /*
+ Buffer size and number of buffers in the playback ring
+ NOTE: This particular num/size combination performs best under heavy
diff --git a/patches/mpg123/asm.patch b/patches/mpg123/asm.patch
new file mode 100644
index 00000000..0ee3ed73
--- /dev/null
+++ b/patches/mpg123/asm.patch
@@ -0,0 +1,240 @@
+diff -ru mpg123-1.29.3.orig/src/libmpg123/synth_stereo_avx_accurate.S mpg123-1.29.3/src/libmpg123/synth_stereo_avx_accurate.S
+--- mpg123-1.29.3.orig/src/libmpg123/synth_stereo_avx_accurate.S 2021-12-10 08:00:58.000000000 +0100
++++ mpg123-1.29.3/src/libmpg123/synth_stereo_avx_accurate.S 2022-02-06 12:06:07.611318610 +0100
+@@ -284,3 +284,11 @@
+ ret
+
+ NONEXEC_STACK
++
++#ifdef __midipix__
++ .section .got$synth_1to1_s_avx_accurate_asm,"r"
++ .global __imp_synth_1to1_s_avx_accurate_asm
++__imp_synth_1to1_s_avx_accurate_asm:
++ .quad synth_1to1_s_avx_accurate_asm
++ .linkonce discard
++#endif
+diff -ru mpg123-1.29.3.orig/src/libmpg123/synth_stereo_avx.S mpg123-1.29.3/src/libmpg123/synth_stereo_avx.S
+--- mpg123-1.29.3.orig/src/libmpg123/synth_stereo_avx.S 2021-12-10 08:00:58.000000000 +0100
++++ mpg123-1.29.3/src/libmpg123/synth_stereo_avx.S 2022-02-06 12:07:07.334358395 +0100
+@@ -254,3 +254,11 @@
+ ret
+
+ NONEXEC_STACK
++
++#ifdef __midipix__
++ .section .got$synth_1to1_s_avx_asm,"r"
++ .global __imp_synth_1to1_s_avx_asm
++__imp_synth_1to1_s_avx_asm:
++ .quad synth_1to1_s_avx_asm
++ .linkonce discard
++#endif
+diff -ru mpg123-1.29.3.orig/src/libmpg123/synth_stereo_avx_s32.S mpg123-1.29.3/src/libmpg123/synth_stereo_avx_s32.S
+--- mpg123-1.29.3.orig/src/libmpg123/synth_stereo_avx_s32.S 2021-12-10 08:00:58.000000000 +0100
++++ mpg123-1.29.3/src/libmpg123/synth_stereo_avx_s32.S 2022-02-06 12:02:45.963314559 +0100
+@@ -290,3 +290,11 @@
+ ret
+
+ NONEXEC_STACK
++
++#ifdef __midipix__
++ .section .got$synth_1to1_s32_s_avx_asm,"r"
++ .global __imp_synth_1to1_s32_s_avx_asm
++__imp_synth_1to1_s32_s_avx_asm:
++ .quad synth_1to1_s32_s_avx_asm
++ .linkonce discard
++#endif
+diff -ru mpg123-1.29.3.orig/src/libmpg123/synth_stereo_x86_64_accurate.S mpg123-1.29.3/src/libmpg123/synth_stereo_x86_64_accurate.S
+--- mpg123-1.29.3.orig/src/libmpg123/synth_stereo_x86_64_accurate.S 2021-12-10 08:00:58.000000000 +0100
++++ mpg123-1.29.3/src/libmpg123/synth_stereo_x86_64_accurate.S 2022-02-06 11:59:29.707170585 +0100
+@@ -452,3 +452,11 @@
+ ret
+
+ NONEXEC_STACK
++
++#ifdef __midipix__
++ .section .got$synth_1to1_s_x86_64_accurate_asm,"r"
++ .global __imp_synth_1to1_s_x86_64_accurate_asm
++__imp_synth_1to1_s_x86_64_accurate_asm:
++ .quad synth_1to1_s_x86_64_accurate_asm
++ .linkonce discard
++#endif
+diff -ru mpg123-1.29.3.orig/src/libmpg123/synth_stereo_x86_64_s32.S mpg123-1.29.3/src/libmpg123/synth_stereo_x86_64_s32.S
+--- mpg123-1.29.3.orig/src/libmpg123/synth_stereo_x86_64_s32.S 2021-12-10 08:00:58.000000000 +0100
++++ mpg123-1.29.3/src/libmpg123/synth_stereo_x86_64_s32.S 2022-02-06 12:01:09.539312622 +0100
+@@ -471,3 +471,11 @@
+ ret
+
+ NONEXEC_STACK
++
++#ifdef __midipix__
++ .section .got$synth_1to1_s32_s_x86_64_asm,"r"
++ .global __imp_synth_1to1_s32_s_x86_64_asm
++__imp_synth_1to1_s32_s_x86_64_asm:
++ .quad synth_1to1_s32_s_x86_64_asm
++ .linkonce discard
++#endif
+diff -ru mpg123-1.29.3.orig/src/libmpg123/synth_x86_64.S mpg123-1.29.3/src/libmpg123/synth_x86_64.S
+--- mpg123-1.29.3.orig/src/libmpg123/synth_x86_64.S 2021-12-10 08:00:58.000000000 +0100
++++ mpg123-1.29.3/src/libmpg123/synth_x86_64.S 2022-02-06 11:58:07.943168942 +0100
+@@ -242,3 +242,11 @@
+ ret
+
+ NONEXEC_STACK
++
++#ifdef __midipix__
++ .section .got$synth_1to1_x86_64_asm,"r"
++ .global __imp_synth_1to1_x86_64_asm
++__imp_synth_1to1_x86_64_asm:
++ .quad synth_1to1_x86_64_asm
++ .linkonce discard
++#endif
+diff -ru mpg123-1.29.3.orig/src/libmpg123/dct64_avx_float.S mpg123-1.29.3/src/libmpg123/dct64_avx_float.S
+--- mpg123-1.29.3.orig/src/libmpg123/dct64_avx_float.S 2021-12-10 08:00:58.000000000 +0100
++++ mpg123-1.29.3/src/libmpg123/dct64_avx_float.S 2022-02-06 11:52:06.176565095 +0100
+@@ -292,3 +292,11 @@
+ ret
+
+ NONEXEC_STACK
++
++#ifdef __midipix__
++ .section .got$dct64_real_avx,"r"
++ .global __imp_dct64_real_avx
++__imp_dct64_real_avx:
++ .quad dct64_real_avx
++ .linkonce discard
++#endif
+diff -ru mpg123-1.29.3.orig/src/libmpg123/synth_stereo_x86_64_float.S mpg123-1.29.3/src/libmpg123/synth_stereo_x86_64_float.S
+--- mpg123-1.29.3.orig/src/libmpg123/synth_stereo_x86_64_float.S 2021-12-10 08:00:58.000000000 +0100
++++ mpg123-1.29.3/src/libmpg123/synth_stereo_x86_64_float.S 2022-02-06 11:50:36.312563290 +0100
+@@ -394,3 +394,11 @@
+ ret
+
+ NONEXEC_STACK
++
++#ifdef __midipix__
++ .section .got$synth_1to1_real_s_x86_64_asm,"r"
++ .global __imp_synth_1to1_real_s_x86_64_asm
++__imp_synth_1to1_real_s_x86_64_asm:
++ .quad synth_1to1_real_s_x86_64_asm
++ .linkonce discard
++#endif
+diff -ru mpg123-1.29.3.orig/src/libmpg123/synth_x86_64_float.S mpg123-1.29.3/src/libmpg123/synth_x86_64_float.S
+--- mpg123-1.29.3.orig/src/libmpg123/synth_x86_64_float.S 2021-12-10 08:00:58.000000000 +0100
++++ mpg123-1.29.3/src/libmpg123/synth_x86_64_float.S 2022-02-06 11:54:06.276567508 +0100
+@@ -257,3 +257,11 @@
+ ret
+
+ NONEXEC_STACK
++
++#ifdef __midipix__
++ .section .got$synth_1to1_real_x86_64_asm,"r"
++ .global __imp_synth_1to1_real_x86_64_asm
++__imp_synth_1to1_real_x86_64_asm:
++ .quad synth_1to1_real_x86_64_asm
++ .linkonce discard
++#endif
+diff -ru mpg123-1.29.3.orig/src/libmpg123/dct36_avx.S mpg123-1.29.3/src/libmpg123/dct36_avx.S
+--- mpg123-1.29.3.orig/src/libmpg123/dct36_avx.S 2021-12-10 08:00:58.000000000 +0100
++++ mpg123-1.29.3/src/libmpg123/dct36_avx.S 2022-02-06 11:38:40.677575897 +0100
+@@ -356,3 +356,11 @@
+ ret
+
+ NONEXEC_STACK
++
++#ifdef __midipix__
++ .section .got$dct36_avx,"r"
++ .global __imp_dct36_avx
++__imp_dct36_avx:
++ .quad dct36_avx
++ .linkonce discard
++#endif
+diff -ru mpg123-1.29.3.orig/src/libmpg123/dct36_x86_64.S mpg123-1.29.3/src/libmpg123/dct36_x86_64.S
+--- mpg123-1.29.3.orig/src/libmpg123/dct36_x86_64.S 2021-12-10 08:00:58.000000000 +0100
++++ mpg123-1.29.3/src/libmpg123/dct36_x86_64.S 2022-02-06 11:39:47.129577232 +0100
+@@ -392,3 +392,11 @@
+ ret
+
+ NONEXEC_STACK
++
++#ifdef __midipix__
++ .section .got$dct36_x86_64,"r"
++ .global __imp_dct36_x86_64
++__imp_dct36_x86_64:
++ .quad dct36_x86_64
++ .linkonce discard
++#endif
+diff -ru mpg123-1.29.3.orig/src/libmpg123/dct64_x86_64_float.S mpg123-1.29.3/src/libmpg123/dct64_x86_64_float.S
+--- mpg123-1.29.3.orig/src/libmpg123/dct64_x86_64_float.S 2021-12-10 08:00:58.000000000 +0100
++++ mpg123-1.29.3/src/libmpg123/dct64_x86_64_float.S 2022-02-06 11:41:43.217579564 +0100
+@@ -424,3 +424,11 @@
+ ret
+
+ NONEXEC_STACK
++
++#ifdef __midipix__
++ .section .got$dct64_real_x86_64,"r"
++ .global __imp_dct64_real_x86_64
++__imp_dct64_real_x86_64:
++ .quad dct64_real_x86_64
++ .linkonce discard
++#endif
+diff -ru mpg123-1.29.3.orig/src/libmpg123/dct64_x86_64.S mpg123-1.29.3/src/libmpg123/dct64_x86_64.S
+--- mpg123-1.29.3.orig/src/libmpg123/dct64_x86_64.S 2021-12-10 08:00:58.000000000 +0100
++++ mpg123-1.29.3/src/libmpg123/dct64_x86_64.S 2022-02-06 11:40:50.589578507 +0100
+@@ -462,3 +462,11 @@
+ ret
+
+ NONEXEC_STACK
++
++#ifdef __midipix__
++ .section .got$dct64_x86_64,"r"
++ .global __imp_dct64_x86_64
++__imp_dct64_x86_64:
++ .quad dct64_x86_64
++ .linkonce discard
++#endif
+diff -ru mpg123-1.29.3.orig/src/libmpg123/synth_stereo_avx_float.S mpg123-1.29.3/src/libmpg123/synth_stereo_avx_float.S
+--- mpg123-1.29.3.orig/src/libmpg123/synth_stereo_avx_float.S 2021-12-10 08:00:58.000000000 +0100
++++ mpg123-1.29.3/src/libmpg123/synth_stereo_avx_float.S 2022-02-06 11:47:18.576954543 +0100
+@@ -241,3 +241,11 @@
+ ret
+
+ NONEXEC_STACK
++
++#ifdef __midipix__
++ .section .got$synth_1to1_real_s_avx_asm,"r"
++ .global __imp_synth_1to1_real_s_avx_asm
++__imp_synth_1to1_real_s_avx_asm:
++ .quad synth_1to1_real_s_avx_asm
++ .linkonce discard
++#endif
+diff -ru mpg123-1.29.3.orig/src/libmpg123/synth_x86_64_accurate.S mpg123-1.29.3/src/libmpg123/synth_x86_64_accurate.S
+--- mpg123-1.29.3.orig/src/libmpg123/synth_x86_64_accurate.S 2021-12-10 08:00:58.000000000 +0100
++++ mpg123-1.29.3/src/libmpg123/synth_x86_64_accurate.S 2022-02-06 11:42:58.005581067 +0100
+@@ -299,3 +299,11 @@
+ ret
+
+ NONEXEC_STACK
++
++#ifdef __midipix__
++ .section .got$synth_1to1_x86_64_accurate_asm,"r"
++ .global __imp_synth_1to1_x86_64_accurate_asm
++__imp_synth_1to1_x86_64_accurate_asm:
++ .quad synth_1to1_x86_64_accurate_asm
++ .linkonce discard
++#endif
+diff -ru mpg123-1.29.3.orig/src/libmpg123/synth_x86_64_s32.S mpg123-1.29.3/src/libmpg123/synth_x86_64_s32.S
+--- mpg123-1.29.3.orig/src/libmpg123/synth_x86_64_s32.S 2021-12-10 08:00:58.000000000 +0100
++++ mpg123-1.29.3/src/libmpg123/synth_x86_64_s32.S 2022-02-06 11:45:17.044952102 +0100
+@@ -310,3 +310,11 @@
+ ret
+
+ NONEXEC_STACK
++
++#ifdef __midipix__
++ .section .got$synth_1to1_s32_x86_64_asm,"r"
++ .global __imp_synth_1to1_s32_x86_64_asm
++__imp_synth_1to1_s32_x86_64_asm:
++ .quad synth_1to1_s32_x86_64_asm
++ .linkonce discard
++#endif