You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							52 lines
						
					
					
						
							1.8 KiB
						
					
					
				
			
		
		
	
	
							52 lines
						
					
					
						
							1.8 KiB
						
					
					
				| # --- SDE-COPYRIGHT-NOTE-BEGIN --- | |
| # This copyright note is auto-generated by ./scripts/Create-CopyPatch. | |
| # | |
| # Filename: package/.../dietlibc/ppc-static-ctor-dtor.patch | |
| # Copyright (C) 2004 - 2006 The T2 SDE Project | |
| # | |
| # More information can be found in the files COPYING and README. | |
| # | |
| # This patch file is dual-licensed. It is available under the license the | |
| # patched project is licensed under, as long as it is an OpenSource license | |
| # as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms | |
| # of the GNU General Public License as published by the Free Software | |
| # Foundation; either version 2 of the License, or (at your option) any later | |
| # version. | |
| # --- SDE-COPYRIGHT-NOTE-END --- | |
|  | |
| We build dietlibc with WANT_DYNAMIC so we get ctor/dtor handling, even | |
| for static programs, as normally needed. | |
|  | |
| The patch zeros register 6 passed for dl_init to _dyn_start since otherwise | |
| we end up in an inf. loop calling the _dyn_start (where r6 points to) again | |
| and again ... This is NOT intended for upstream merge - just a quick hack | |
| to get it working. | |
|  | |
| For ppc64 it is not an inf. loop but segfault on exit due invalid pointed | |
| in the atexit array. | |
|  | |
|   - Rene Rebe <[email protected]> | |
|  | |
| diff -u dietlibc-0.28/ppc/start.S dietlibc-0.28-fixed/ppc/start.S | |
| --- dietlibc-0.28/ppc/start.S	2004-09-11 14:37:57.000000000 +0200 | |
| +++ dietlibc-0.28-fixed/ppc/start.S	2005-05-03 23:47:09.000000000 +0200 | |
| @@ -27,7 +29,7 @@ | |
|  	stw	5,environ@l(14) | |
|   | |
|  #ifdef WANT_DYNAMIC | |
| -	mr	6,7 | |
| +	xor	6,6,6 | |
|  	bl	_dyn_start | |
|  #else | |
|  #ifdef WANT_STACKGAP | |
| --- dietlibc-0.29/ppc64/start.S	2005-05-13 18:39:32.000000000 +0000 | |
| +++ dietlibc-0.29-fixed/ppc64/start.S	2005-12-26 20:40:18.000000000 +0000 | |
| @@ -60,7 +60,7 @@ | |
|   | |
|  #ifdef WANT_DYNAMIC | |
|  /* #warning dynamic */ | |
| -	mr	6,7 | |
| +	xor	6,6,6 | |
|  	bl	._dyn_start | |
|  #else | |
|  /* #warning static */
 | |
| 
 |