* gnu/packages/emulation.scm (desmume): add patches * gnu/packages/patches/desmume-gcc6-fixes.patch: new file * gnu/packages/patches/desmume-gcc7-fixes.patch: new file * gnu/local.mk (dist_patch_DATA): register the above Note: desmume-gcc6-fixes.patch contains some CRLF line endings. Signed-off-by: Jakub Kądziołka <kuba@kadziolka.net>
		
			
				
	
	
		
			59 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From: zeromus
 | |
| Origin: upstream, https://sourceforge.net/p/desmume/code/5514, https://sourceforge.net/p/desmume/code/5517, https://sourceforge.net/p/desmume/code/5430
 | |
| Subject: fix GCC6 issues
 | |
| Bug: https://sourceforge.net/p/desmume/bugs/1570/
 | |
| Bug-Debian: http://bugs.debian.org/811691
 | |
| 
 | |
| Index: desmume/src/MMU_timing.h
 | |
| ===================================================================
 | |
| --- desmume/src/MMU_timing.h	(revision 5513)
 | |
| +++ desmume/src/MMU_timing.h	(revision 5517)
 | |
| @@ -155,8 +155,8 @@
 | |
|  	enum { ASSOCIATIVITY = 1 << ASSOCIATIVESHIFT };
 | |
|  	enum { BLOCKSIZE = 1 << BLOCKSIZESHIFT };
 | |
|  	enum { TAGSHIFT = SIZESHIFT - ASSOCIATIVESHIFT };
 | |
| -	enum { TAGMASK = (u32)(~0 << TAGSHIFT) };
 | |
| -	enum { BLOCKMASK = ((u32)~0 >> (32 - TAGSHIFT)) & (u32)(~0 << BLOCKSIZESHIFT) };
 | |
| +	enum { TAGMASK = (u32)(~0U << TAGSHIFT) };
 | |
| +	enum { BLOCKMASK = ((u32)~0U >> (32 - TAGSHIFT)) & (u32)(~0U << BLOCKSIZESHIFT) };
 | |
|  	enum { WORDSIZE = sizeof(u32) };
 | |
|  	enum { WORDSPERBLOCK = (1 << BLOCKSIZESHIFT) / WORDSIZE };
 | |
|  	enum { DATAPERWORD = WORDSIZE * ASSOCIATIVITY };
 | |
| Index: desmume/src/ctrlssdl.cpp
 | |
| ===================================================================
 | |
| --- desmume/src/ctrlssdl.cpp	(revision 5513)
 | |
| +++ desmume/src/ctrlssdl.cpp	(revision 5517)
 | |
| @@ -200,7 +200,7 @@
 | |
|            break;
 | |
|          case SDL_JOYAXISMOTION:
 | |
|            /* Dead zone of 50% */
 | |
| -          if( (abs(event.jaxis.value) >> 14) != 0 )
 | |
| +          if( ((u32)abs(event.jaxis.value) >> 14) != 0 )
 | |
|              {
 | |
|                key = ((event.jaxis.which & 15) << 12) | JOY_AXIS << 8 | ((event.jaxis.axis & 127) << 1);
 | |
|                if (event.jaxis.value > 0) {
 | |
| @@ -370,7 +370,7 @@
 | |
|           Note: button constants have a 1bit offset. */
 | |
|      case SDL_JOYAXISMOTION:
 | |
|        key_code = ((event->jaxis.which & 15) << 12) | JOY_AXIS << 8 | ((event->jaxis.axis & 127) << 1);
 | |
| -      if( (abs(event->jaxis.value) >> 14) != 0 )
 | |
| +      if( ((u32)abs(event->jaxis.value) >> 14) != 0 )
 | |
|          {
 | |
|            if (event->jaxis.value > 0)
 | |
|              key_code |= 1;
 | |
| Index: desmume/src/wifi.cpp
 | |
| ===================================================================
 | |
| --- desmume/src/wifi.cpp	(revision 5429)
 | |
| +++ desmume/src/wifi.cpp	(revision 5430)
 | |
| @@ -320,9 +320,9 @@
 | |
|  
 | |
|  #if (WIFI_LOGGING_LEVEL >= 1)
 | |
|  	#if WIFI_LOG_USE_LOGC
 | |
| -		#define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: "__VA_ARGS__);
 | |
| +		#define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: " __VA_ARGS__);
 | |
|  	#else
 | |
| -		#define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) printf("WIFI: "__VA_ARGS__);
 | |
| +		#define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) printf("WIFI: " __VA_ARGS__);
 | |
|  	#endif
 | |
|  #else
 | |
|  #define WIFI_LOG(level, ...) {}
 |