[packages/e-uae] - added linkage patch (-fno-common fixes)

qboosh qboosh at pld-linux.org
Wed Sep 11 21:13:55 CEST 2024


commit 4d44cac547434be15c4c6b73b52d091e52426b92
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Wed Sep 11 21:05:58 2024 +0200

    - added linkage patch (-fno-common fixes)

 e-uae-linkage.patch | 146 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 e-uae.spec          |   2 +
 2 files changed, 148 insertions(+)
---
diff --git a/e-uae.spec b/e-uae.spec
index 020b299..44159ae 100644
--- a/e-uae.spec
+++ b/e-uae.spec
@@ -18,6 +18,7 @@ Source2:	uae.png
 Patch0:		%{name}-format.patch
 Patch1:		%{name}-ucontext.patch
 Patch2:		%{name}-system-libscg.patch
+Patch3:		%{name}-linkage.patch
 URL:		http://www.rcdrummond.net/uae/
 BuildRequires:	OpenGL-GLU-devel
 BuildRequires:	SDL-devel >= 1.2.0
@@ -85,6 +86,7 @@ Ta wersja używa SDL jako wyjścia dźwięk i obrazu.
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
+%patch3 -p1
 
 %build
 %{__aclocal} -I m4
diff --git a/e-uae-linkage.patch b/e-uae-linkage.patch
new file mode 100644
index 0000000..5b69370
--- /dev/null
+++ b/e-uae-linkage.patch
@@ -0,0 +1,146 @@
+--- e-uae-0.8.29-WIP4/src/dms/u_heavy.c.orig	2004-05-19 03:22:13.000000000 +0200
++++ e-uae-0.8.29-WIP4/src/dms/u_heavy.c	2021-01-17 19:49:42.665332044 +0100
+@@ -30,51 +30,8 @@
+ 
+ static USHORT read_tree_c(void);
+ static USHORT read_tree_p(void);
+-INLINE USHORT decode_c(void);
+-INLINE USHORT decode_p(void);
+ 
+-
+-
+-USHORT Unpack_HEAVY(UCHAR *in, UCHAR *out, UCHAR flags, USHORT origsize){
+-	USHORT j, i, c, bitmask;
+-	UCHAR *outend;
+-
+-	/*  Heavy 1 uses a 4Kb dictionary,  Heavy 2 uses 8Kb  */
+-
+-	if (flags & 8) {
+-		np = 15;
+-		bitmask = 0x1fff;
+-	} else {
+-		np = 14;
+-		bitmask = 0x0fff;
+-	}
+-
+-	initbitbuf(in);
+-
+-	if (flags & 2) {
+-		if (read_tree_c()) return 1;
+-		if (read_tree_p()) return 2;
+-	}
+-
+-	outend = out+origsize;
+-
+-	while (out<outend) {
+-		c = decode_c();
+-		if (c < 256) {
+-			*out++ = text[heavy_text_loc++ & bitmask] = (UCHAR)c;
+-		} else {
+-			j = (USHORT) (c - OFFSET);
+-			i = (USHORT) (heavy_text_loc - decode_p() - 1);
+-			while(j--) *out++ = text[heavy_text_loc++ & bitmask] = text[i++ & bitmask];
+-		}
+-	}
+-
+-	return 0;
+-}
+-
+-
+-
+-INLINE USHORT decode_c(void){
++static INLINE USHORT decode_c(void){
+ 	USHORT i, j, m;
+ 
+ 	j = c_table[GETBITS(12)];
+@@ -96,7 +53,7 @@
+ 
+ 
+ 
+-INLINE USHORT decode_p(void){
++static INLINE USHORT decode_p(void){
+ 	USHORT i, j, m;
+ 
+ 	j = pt_table[GETBITS(8)];
+@@ -127,6 +84,48 @@
+ }
+ 
+ 
++
++
++
++
++USHORT Unpack_HEAVY(UCHAR *in, UCHAR *out, UCHAR flags, USHORT origsize){
++	USHORT j, i, c, bitmask;
++	UCHAR *outend;
++
++	/*  Heavy 1 uses a 4Kb dictionary,  Heavy 2 uses 8Kb  */
++
++	if (flags & 8) {
++		np = 15;
++		bitmask = 0x1fff;
++	} else {
++		np = 14;
++		bitmask = 0x0fff;
++	}
++
++	initbitbuf(in);
++
++	if (flags & 2) {
++		if (read_tree_c()) return 1;
++		if (read_tree_p()) return 2;
++	}
++
++	outend = out+origsize;
++
++	while (out<outend) {
++		c = decode_c();
++		if (c < 256) {
++			*out++ = text[heavy_text_loc++ & bitmask] = (UCHAR)c;
++		} else {
++			j = (USHORT) (c - OFFSET);
++			i = (USHORT) (heavy_text_loc - decode_p() - 1);
++			while(j--) *out++ = text[heavy_text_loc++ & bitmask] = text[i++ & bitmask];
++		}
++	}
++
++	return 0;
++}
++
++
+ 
+ static USHORT read_tree_c(void){
+ 	USHORT i,n;
+--- e-uae-0.8.29-WIP4/src/include/bsdsocket.h.orig	2006-04-30 04:06:00.000000000 +0200
++++ e-uae-0.8.29-WIP4/src/include/bsdsocket.h	2021-01-17 19:55:37.727093143 +0100
+@@ -80,7 +80,8 @@
+     uae_u32 timeout;
+     uae_u32 sigmp;
+ #endif
+-} *socketbases;
++};
++extern struct socketbase *socketbases;
+ 
+ 
+ #define LIBRARY_SIZEOF 36
+--- e-uae-0.8.29-WIP4/src/bsdsocket.c.orig	2007-01-27 03:37:12.000000000 +0100
++++ e-uae-0.8.29-WIP4/src/bsdsocket.c	2021-01-17 19:56:44.417220586 +0100
+@@ -29,6 +29,7 @@
+ # include <winsock2.h>
+ #endif
+ 
++struct socketbase *socketbases;
+ static uae_u32 SockLibBase;
+ 
+ #define SOCKPOOLSIZE 128
+--- e-uae-0.8.29-WIP4/src/audio.c.orig	2007-02-16 06:24:29.000000000 +0100
++++ e-uae-0.8.29-WIP4/src/audio.c	2021-01-17 19:58:28.805971004 +0100
+@@ -1193,7 +1193,7 @@
+ #ifdef CPUEMU_6
+ extern uae_u8 cycle_line[];
+ #endif
+-uae_u16	dmacon;
++extern uae_u16	dmacon;
+ 
+ void audio_hsync (int dmaaction)
+ {
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/e-uae.git/commitdiff/4d44cac547434be15c4c6b73b52d091e52426b92



More information about the pld-cvs-commit mailing list