mirror of
				https://github.com/coop-deluxe/sm64coopdx.git
				synced 2025-10-30 08:01:01 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			83 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef _PREVENT_BSS_REORDERING_H
 | 
						|
#define _PREVENT_BSS_REORDERING_H
 | 
						|
 | 
						|
/**
 | 
						|
 * To determine variable order for .bss, the compiler sorts variables by their
 | 
						|
 * "name index" mod 256, where name index is something that, with -g, gets
 | 
						|
 * incremented by struct and variable declarations, typedefs, and file markers,
 | 
						|
 * among else. (Without -g, only variable declarations affects the index.)
 | 
						|
 * This file contains enough dummy declarations to bump the index by 128.
 | 
						|
 * Including it, or removing the include, should fix bss reordering problems
 | 
						|
 * for a file, assuming the name index distance between its first and last bss
 | 
						|
 * variable is at most 128.
 | 
						|
 * Note that if a variable is declared "extern" within a header file, the name
 | 
						|
 * index is taken at that point of the extern declaration. Thus, this include
 | 
						|
 * must come before any such header.
 | 
						|
 */
 | 
						|
 | 
						|
struct Dummy0 { int x; };
 | 
						|
struct Dummy1 { int x; };
 | 
						|
struct Dummy2 { int x; };
 | 
						|
struct Dummy3 { int x; };
 | 
						|
struct Dummy4 { int x; };
 | 
						|
struct Dummy5 { int x; };
 | 
						|
struct Dummy6 { int x; };
 | 
						|
struct Dummy7 { int x; };
 | 
						|
struct Dummy8 { int x; };
 | 
						|
struct Dummy9 { int x; };
 | 
						|
struct Dummy10 { int x; };
 | 
						|
struct Dummy11 { int x; };
 | 
						|
struct Dummy12 { int x; };
 | 
						|
struct Dummy13 { int x; };
 | 
						|
struct Dummy14 { int x; };
 | 
						|
struct Dummy15 { int x; };
 | 
						|
struct Dummy16 { int x; };
 | 
						|
struct Dummy17 { int x; };
 | 
						|
struct Dummy18 { int x; };
 | 
						|
struct Dummy19 { int x; };
 | 
						|
struct Dummy20 { int x; };
 | 
						|
struct Dummy21 { int x; };
 | 
						|
struct Dummy22 { int x; };
 | 
						|
struct Dummy23 { int x; };
 | 
						|
struct Dummy24 { int x; };
 | 
						|
struct Dummy25 { int x; };
 | 
						|
struct Dummy26 { int x; };
 | 
						|
struct Dummy27 { int x; };
 | 
						|
struct Dummy28 { int x; };
 | 
						|
struct Dummy29 { int x; };
 | 
						|
struct Dummy30 { int x; };
 | 
						|
struct Dummy31 { int x; };
 | 
						|
struct Dummy32 { int x; };
 | 
						|
struct Dummy33 { int x; };
 | 
						|
struct Dummy34 { int x; };
 | 
						|
struct Dummy35 { int x; };
 | 
						|
struct Dummy36 { int x; };
 | 
						|
struct Dummy37 { int x; };
 | 
						|
struct Dummy38 { int x; };
 | 
						|
struct Dummy39 { int x; };
 | 
						|
struct Dummy40 { int x; };
 | 
						|
struct Dummy41 { int x; };
 | 
						|
struct Dummy42 { int x; };
 | 
						|
struct Dummy43 { int x; };
 | 
						|
struct Dummy44 { int x; };
 | 
						|
struct Dummy45 { int x; };
 | 
						|
struct Dummy46 { int x; };
 | 
						|
struct Dummy47 { int x; };
 | 
						|
struct Dummy48 { int x; };
 | 
						|
struct Dummy49 { int x; };
 | 
						|
struct Dummy50 { int x; };
 | 
						|
struct Dummy51 { int x; };
 | 
						|
struct Dummy52 { int x; };
 | 
						|
struct Dummy53 { int x; };
 | 
						|
struct Dummy54 { int x; };
 | 
						|
struct Dummy55 { int x; };
 | 
						|
struct Dummy56 { int x; };
 | 
						|
struct Dummy57 { int x; };
 | 
						|
struct Dummy58 { int x; };
 | 
						|
struct Dummy59 { int x; };
 | 
						|
struct Dummy60 { int x; };
 | 
						|
struct Dummy61 { int x; };
 | 
						|
struct Dummy62 { int x; };
 | 
						|
typedef int Dummy63;
 | 
						|
 | 
						|
#endif
 |