29 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
#include <reent.h>
 | 
						|
 | 
						|
/* Note that there is a copy of this in sys/reent.h.  */
 | 
						|
#ifndef __ATTRIBUTE_IMPURE_PTR__
 | 
						|
#define __ATTRIBUTE_IMPURE_PTR__
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef __ATTRIBUTE_IMPURE_DATA__
 | 
						|
#define __ATTRIBUTE_IMPURE_DATA__
 | 
						|
#endif
 | 
						|
 | 
						|
/* Redeclare these symbols locally as weak so that the file containing
 | 
						|
   their definitions (along with a lot of other stuff) isn't sucked in
 | 
						|
   unless they are actually used by other compilation units.  This is
 | 
						|
   important to reduce image size for targets with very small amounts
 | 
						|
   of memory.  */
 | 
						|
#ifdef _REENT_SMALL
 | 
						|
extern const struct __sFILE_fake __sf_fake_stdin _ATTRIBUTE ((weak));
 | 
						|
extern const struct __sFILE_fake __sf_fake_stdout _ATTRIBUTE ((weak));
 | 
						|
extern const struct __sFILE_fake __sf_fake_stderr _ATTRIBUTE ((weak));
 | 
						|
#endif
 | 
						|
 | 
						|
static struct _reent __ATTRIBUTE_IMPURE_DATA__ impure_data = _REENT_INIT (impure_data);
 | 
						|
#ifdef __CYGWIN__
 | 
						|
extern struct _reent reent_data __attribute__ ((alias("impure_data")));
 | 
						|
#endif
 | 
						|
struct _reent *__ATTRIBUTE_IMPURE_PTR__ _impure_ptr = &impure_data;
 | 
						|
struct _reent *const __ATTRIBUTE_IMPURE_PTR__ _global_impure_ptr = &impure_data;
 |