mirror of
				https://github.com/esp8266/Arduino.git
				synced 2025-10-31 15:50:55 +03:00 
			
		
		
		
	* Use newlib libc library This change adds libcmin.a, which is created from newlib libc by selectively removing some of the object files (mostly related to heap management). The list of files is available in tools/sdk/lib/make_libcmin.sh. Files which are not needed are commented out. This change adds support for various functions which were missing, like sscanf, strftime, etc. * Fix some of the time functions * Redirect stdout to serial * Implement __putc_r * Switch to custom newlib build Built from https://github.com/igrr/newlib-xtensa using: ./configure --with-newlib --enable-multilib --disable-newlib-io-c99-formats --enable-newlib-supplied-syscalls --enable-target-optspace --program-transform-name="s&^&xtensa-lx106-elf-&" --disable-option-checking --with-target-subdir=xtensa-lx106-elf --target=xtensa-lx106-elf --enable-newlib-nano-formatted-io --enable-newlib-reent-small --prefix=path-to-arduino-core/tools/sdk/libc CROSS_CFLAGS="-DMALLOC_PROVIDED -DSIGNAL_PROVIDED -DABORT_PROVIDED" make make install * Update tests
		
			
				
	
	
		
			101 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifdef __sysvnecv70_target
 | |
| double EXFUN(fast_sin,(double));
 | |
| double EXFUN(fast_cos,(double));
 | |
| double EXFUN(fast_tan,(double));
 | |
| 
 | |
| double EXFUN(fast_asin,(double));
 | |
| double EXFUN(fast_acos,(double));
 | |
| double EXFUN(fast_atan,(double));
 | |
| 
 | |
| double EXFUN(fast_sinh,(double));
 | |
| double EXFUN(fast_cosh,(double));
 | |
| double EXFUN(fast_tanh,(double));
 | |
| 
 | |
| double EXFUN(fast_asinh,(double));
 | |
| double EXFUN(fast_acosh,(double));
 | |
| double EXFUN(fast_atanh,(double));
 | |
| 
 | |
| double EXFUN(fast_abs,(double));
 | |
| double EXFUN(fast_sqrt,(double));
 | |
| double EXFUN(fast_exp2,(double));
 | |
| double EXFUN(fast_exp10,(double));
 | |
| double EXFUN(fast_expe,(double));
 | |
| double EXFUN(fast_log10,(double));
 | |
| double EXFUN(fast_log2,(double));
 | |
| double EXFUN(fast_loge,(double));
 | |
| 
 | |
| 
 | |
| #define	sin(x)		fast_sin(x)
 | |
| #define	cos(x)		fast_cos(x)
 | |
| #define	tan(x)		fast_tan(x)
 | |
| #define	asin(x)		fast_asin(x)
 | |
| #define	acos(x)		fast_acos(x)
 | |
| #define	atan(x)		fast_atan(x)
 | |
| #define	sinh(x)		fast_sinh(x)
 | |
| #define	cosh(x)		fast_cosh(x)
 | |
| #define	tanh(x)		fast_tanh(x)
 | |
| #define	asinh(x)	fast_asinh(x)
 | |
| #define	acosh(x)	fast_acosh(x)
 | |
| #define	atanh(x)	fast_atanh(x)
 | |
| #define	abs(x)		fast_abs(x)
 | |
| #define	sqrt(x)		fast_sqrt(x)
 | |
| #define	exp2(x)		fast_exp2(x)
 | |
| #define	exp10(x)	fast_exp10(x)
 | |
| #define	expe(x)		fast_expe(x)
 | |
| #define	log10(x)	fast_log10(x)
 | |
| #define	log2(x)		fast_log2(x)
 | |
| #define	loge(x)		fast_loge(x)
 | |
| 
 | |
| #ifdef _HAVE_STDC
 | |
| /* These functions are in assembler, they really do take floats. This
 | |
|    can only be used with a real ANSI compiler */
 | |
| 
 | |
| float EXFUN(fast_sinf,(float));
 | |
| float EXFUN(fast_cosf,(float));
 | |
| float EXFUN(fast_tanf,(float));
 | |
| 
 | |
| float EXFUN(fast_asinf,(float));
 | |
| float EXFUN(fast_acosf,(float));
 | |
| float EXFUN(fast_atanf,(float));
 | |
| 
 | |
| float EXFUN(fast_sinhf,(float));
 | |
| float EXFUN(fast_coshf,(float));
 | |
| float EXFUN(fast_tanhf,(float));
 | |
| 
 | |
| float EXFUN(fast_asinhf,(float));
 | |
| float EXFUN(fast_acoshf,(float));
 | |
| float EXFUN(fast_atanhf,(float));
 | |
| 
 | |
| float EXFUN(fast_absf,(float));
 | |
| float EXFUN(fast_sqrtf,(float));
 | |
| float EXFUN(fast_exp2f,(float));
 | |
| float EXFUN(fast_exp10f,(float));
 | |
| float EXFUN(fast_expef,(float));
 | |
| float EXFUN(fast_log10f,(float));
 | |
| float EXFUN(fast_log2f,(float));
 | |
| float EXFUN(fast_logef,(float));
 | |
| #define	sinf(x)		fast_sinf(x)
 | |
| #define	cosf(x)		fast_cosf(x)
 | |
| #define	tanf(x)		fast_tanf(x)
 | |
| #define	asinf(x)	fast_asinf(x)
 | |
| #define	acosf(x)	fast_acosf(x)
 | |
| #define	atanf(x)	fast_atanf(x)
 | |
| #define	sinhf(x)	fast_sinhf(x)
 | |
| #define	coshf(x)	fast_coshf(x)
 | |
| #define	tanhf(x)	fast_tanhf(x)
 | |
| #define	asinhf(x)	fast_asinhf(x)
 | |
| #define	acoshf(x)	fast_acoshf(x)
 | |
| #define	atanhf(x)	fast_atanhf(x)
 | |
| #define	absf(x)		fast_absf(x)
 | |
| #define	sqrtf(x)	fast_sqrtf(x)
 | |
| #define	exp2f(x)	fast_exp2f(x)
 | |
| #define	exp10f(x)	fast_exp10f(x)
 | |
| #define	expef(x)	fast_expef(x)
 | |
| #define	log10f(x)	fast_log10f(x)
 | |
| #define	log2f(x)	fast_log2f(x)
 | |
| #define	logef(x)	fast_logef(x)
 | |
| #endif
 | |
| /* Override the functions defined in math.h */
 | |
| #endif /* __sysvnecv70_target */
 | |
| 
 |