libc: update to upstream master.
This commit is contained in:
		
							parent
							
								
									1e76ce25d5
								
							
						
					
					
						commit
						6080bb6ef2
					
				
					 19 changed files with 281 additions and 24 deletions
				
			
		|  | @ -139,7 +139,7 @@ | |||
| 
 | ||||
| /** Set this to 1 on platforms where strnstr is not available */ | ||||
| #ifndef LWIP_HTTPD_STRNSTR_PRIVATE | ||||
| #define LWIP_HTTPD_STRNSTR_PRIVATE          1 | ||||
| #define LWIP_HTTPD_STRNSTR_PRIVATE          0 | ||||
| #endif | ||||
| 
 | ||||
| /** Set this to one to show error pages when parsing a request fails instead
 | ||||
|  |  | |||
|  | @ -102,7 +102,7 @@ void sntp_update_rtc(time_t t, uint32_t us) { | |||
| 	// DEBUG: Compute and print drift
 | ||||
| 	int64_t sntp_current = sntp_base + TIMER_COUNT - tim_ref; | ||||
| 	int64_t sntp_correct = (((uint64_t)us + (uint64_t)t * 1000000U)<<12) / cal; | ||||
| 	printf("\nRTC Adjust: drift = %ld ticks, cal = %d\n", (time_t)(sntp_correct - sntp_current), cal); | ||||
| 	printf("\nRTC Adjust: drift = %lld ticks, cal = %d\n", (time_t)(sntp_correct - sntp_current), (uint32_t)cal); | ||||
| 
 | ||||
| 	tim_ref = TIMER_COUNT; | ||||
| 	cal = sdk_system_rtc_clock_cali_proc(); | ||||
|  |  | |||
|  | @ -1 +1 @@ | |||
| Newlib from git://sourceware.org/git/newlib-cygwin.git with xtensa & locking patches see https://github.com/ourairquality/newlib and built from commit cca8337a4eff8d590c54ce0a9cf335041d949296 | ||||
| Newlib from git://sourceware.org/git/newlib-cygwin.git with xtensa & locking patches see https://github.com/ourairquality/newlib and built from commit 7bcbbff5f7e3600806f352e88ec23ae0300edc29 | ||||
|  |  | |||
|  | @ -16,10 +16,15 @@ | |||
| #include <newlib.h> | ||||
| #include <sys/config.h> | ||||
| #include <sys/_intsup.h> | ||||
| #include "_ansi.h" | ||||
| #include <stdint.h> | ||||
| #define __need_wchar_t | ||||
| #include <stddef.h> | ||||
| 
 | ||||
| #if __BSD_VISIBLE | ||||
| #include <xlocale.h> | ||||
| #endif | ||||
| 
 | ||||
| #define __STRINGIFY(a) #a | ||||
| 
 | ||||
| /* 8-bit types */ | ||||
|  | @ -309,6 +314,8 @@ typedef struct { | |||
|   intmax_t	rem; | ||||
| } imaxdiv_t; | ||||
| 
 | ||||
| struct _reent; | ||||
| 
 | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
|  | @ -316,9 +323,20 @@ extern "C" { | |||
| extern intmax_t  imaxabs(intmax_t j); | ||||
| extern imaxdiv_t imaxdiv(intmax_t numer, intmax_t denomer); | ||||
| extern intmax_t  strtoimax(const char *__restrict, char **__restrict, int); | ||||
| extern intmax_t  _strtoimax_r(struct _reent *, const char *__restrict, char **__restrict, int); | ||||
| extern uintmax_t strtoumax(const char *__restrict, char **__restrict, int); | ||||
| extern uintmax_t _strtoumax_r(struct _reent *, const char *__restrict, char **__restrict, int); | ||||
| extern intmax_t  wcstoimax(const wchar_t *__restrict, wchar_t **__restrict, int); | ||||
| extern intmax_t  _wcstoimax_r(struct _reent *, const wchar_t *__restrict, wchar_t **__restrict, int); | ||||
| extern uintmax_t wcstoumax(const wchar_t *__restrict, wchar_t **__restrict, int); | ||||
| extern uintmax_t _wcstoumax_r(struct _reent *, const wchar_t *__restrict, wchar_t **__restrict, int); | ||||
| 
 | ||||
| #if __BSD_VISIBLE | ||||
| extern intmax_t  strtoimax_l(const char *__restrict, char **_restrict, int, locale_t); | ||||
| extern uintmax_t strtoumax_l(const char *__restrict, char **_restrict, int, locale_t); | ||||
| extern intmax_t  wcstoimax_l(const wchar_t *__restrict, wchar_t **_restrict, int, locale_t); | ||||
| extern uintmax_t wcstoumax_l(const wchar_t *__restrict, wchar_t **_restrict, int, locale_t); | ||||
| #endif | ||||
| 
 | ||||
| #ifdef __cplusplus | ||||
| } | ||||
|  |  | |||
|  | @ -170,6 +170,10 @@ | |||
| #define __IEEE_LITTLE_ENDIAN | ||||
| #endif | ||||
| 
 | ||||
| #ifdef __riscv | ||||
| #define __IEEE_LITTLE_ENDIAN | ||||
| #endif | ||||
| 
 | ||||
| #ifdef __i960__ | ||||
| #define __IEEE_LITTLE_ENDIAN | ||||
| #endif | ||||
|  |  | |||
|  | @ -385,6 +385,15 @@ _BEGIN_STD_C | |||
| #define _JBLEN 12 | ||||
| #endif | ||||
| 
 | ||||
| #ifdef __riscv | ||||
| #define _JBTYPE long | ||||
| #ifdef __riscv_32e | ||||
| #define _JBLEN ((4*sizeof(long))/sizeof(long)) | ||||
| #else | ||||
| #define _JBLEN ((14*sizeof(long) + 12*sizeof(double))/sizeof(long)) | ||||
| #endif | ||||
| #endif | ||||
| 
 | ||||
| #ifdef _JBLEN | ||||
| #ifdef _JBTYPE | ||||
| typedef	_JBTYPE jmp_buf[_JBLEN]; | ||||
|  | @ -395,7 +404,7 @@ typedef	int jmp_buf[_JBLEN]; | |||
| 
 | ||||
| _END_STD_C | ||||
| 
 | ||||
| #if defined(__CYGWIN__) || defined(__rtems__) | ||||
| #if (defined(__CYGWIN__) || defined(__rtems__)) && __POSIX_VISIBLE | ||||
| #include <signal.h> | ||||
| 
 | ||||
| #ifdef __cplusplus | ||||
|  | @ -477,4 +486,4 @@ extern int _setjmp (jmp_buf); | |||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
| #endif /* __CYGWIN__ or __rtems__ */ | ||||
| #endif /* (__CYGWIN__ or __rtems__) and __POSIX_VISIBLE */ | ||||
|  |  | |||
|  | @ -1,7 +1,7 @@ | |||
| #ifndef	_MACHTIME_H_ | ||||
| #define	_MACHTIME_H_ | ||||
| 
 | ||||
| #if defined(__rtems__) || defined(__VISIUM__) | ||||
| #if defined(__rtems__) || defined(__VISIUM__) || defined(__riscv) | ||||
| #define _CLOCKS_PER_SEC_ 1000000 | ||||
| #elif defined(__aarch64__) || defined(__arm__) || defined(__thumb__) | ||||
| #define _CLOCKS_PER_SEC_ 100 | ||||
|  |  | |||
|  | @ -91,6 +91,9 @@ | |||
| /* Define if using retargetable functions for default lock routines.  */ | ||||
| /* #undef _RETARGETABLE_LOCKING */ | ||||
| 
 | ||||
| /* Define to use type long for time_t.  */ | ||||
| /* #undef _WANT_USE_LONG_TIME_T */ | ||||
| 
 | ||||
| /*
 | ||||
|  * Iconv encodings enabled ("to" direction) | ||||
|  */ | ||||
|  |  | |||
|  | @ -384,6 +384,9 @@ int	_EXFUN(vdprintf, (int, const char *__restrict, __VALIST) | |||
| #endif | ||||
| #if __ATFILE_VISIBLE | ||||
| int	_EXFUN(renameat, (int, const char *, int, const char *)); | ||||
| # ifdef __CYGWIN__ | ||||
| int	_EXFUN(renameat2, (int, const char *, int, const char *, unsigned int)); | ||||
| # endif | ||||
| #endif | ||||
| 
 | ||||
| /*
 | ||||
|  | @ -735,12 +738,35 @@ _ELIDABLE_INLINE int __sputc_r(struct _reent *_ptr, int _c, FILE *_p) { | |||
| #define	fileno(p)	__sfileno(p) | ||||
| #endif | ||||
| 
 | ||||
| #ifndef __CYGWIN__ | ||||
| #ifndef lint | ||||
| #define	getc(fp)	__sgetc_r(_REENT, fp) | ||||
| #define putc(x, fp)	__sputc_r(_REENT, x, fp) | ||||
| #endif /* lint */ | ||||
| #endif /* __CYGWIN__ */ | ||||
| static __inline int | ||||
| _getchar_unlocked(void) | ||||
| { | ||||
| 	struct _reent *_ptr; | ||||
| 
 | ||||
| 	_ptr = _REENT; | ||||
| 	return (__sgetc_r(_ptr, _stdin_r(_ptr))); | ||||
| } | ||||
| 
 | ||||
| static __inline int | ||||
| _putchar_unlocked(int _c) | ||||
| { | ||||
| 	struct _reent *_ptr; | ||||
| 
 | ||||
| 	_ptr = _REENT; | ||||
| 	return (__sputc_r(_ptr, _c, _stdout_r(_ptr))); | ||||
| } | ||||
| 
 | ||||
| #ifdef __SINGLE_THREAD__ | ||||
| #define	getc(_p)	__sgetc_r(_REENT, _p) | ||||
| #define	putc(_c, _p)	__sputc_r(_REENT, _c, _p) | ||||
| #define	getchar()	_getchar_unlocked() | ||||
| #define	putchar(_c)	_putchar_unlocked(_c) | ||||
| #endif /* __SINGLE_THREAD__ */ | ||||
| 
 | ||||
| #if __MISC_VISIBLE || __POSIX_VISIBLE | ||||
| #define	getchar_unlocked()	_getchar_unlocked() | ||||
| #define	putchar_unlocked(_c)	_putchar_unlocked(_c) | ||||
| #endif | ||||
| #endif /* __cplusplus */ | ||||
| 
 | ||||
| #if __MISC_VISIBLE | ||||
|  | @ -756,7 +782,7 @@ _ELIDABLE_INLINE int __sputc_r(struct _reent *_ptr, int _c, FILE *_p) { | |||
| #define L_ctermid       16 | ||||
| #endif | ||||
| 
 | ||||
| #endif /* !__CUSTOM_FILE_IO__ */ | ||||
| #else /* __CUSTOM_FILE_IO__ */ | ||||
| 
 | ||||
| #define	getchar()	getc(stdin) | ||||
| #define	putchar(x)	putc(x, stdout) | ||||
|  | @ -766,6 +792,8 @@ _ELIDABLE_INLINE int __sputc_r(struct _reent *_ptr, int _c, FILE *_p) { | |||
| #define	putchar_unlocked(x)	putc_unlocked(x, stdout) | ||||
| #endif | ||||
| 
 | ||||
| #endif /* !__CUSTOM_FILE_IO__ */ | ||||
| 
 | ||||
| _END_STD_C | ||||
| 
 | ||||
| #endif /* _STDIO_H_ */ | ||||
|  |  | |||
|  | @ -121,6 +121,9 @@ size_t	 _EXFUN(strnlen,(const char *, size_t)); | |||
| #if __BSD_VISIBLE | ||||
| char 	*_EXFUN(strsep,(char **, const char *)); | ||||
| #endif | ||||
| #if __BSD_VISIBLE | ||||
| char    *strnstr(const char *, const char *, size_t) __pure; | ||||
| #endif | ||||
| 
 | ||||
| #if __MISC_VISIBLE | ||||
| char	*_EXFUN(strlwr,(char *)); | ||||
|  |  | |||
|  | @ -50,12 +50,14 @@ void	 bzero(void *, size_t);					/* LEGACY */ | |||
| #if __BSD_VISIBLE | ||||
| void	 explicit_bzero(void *, size_t); | ||||
| #endif | ||||
| #if __XSI_VISIBLE | ||||
| #if __MISC_VISIBLE || __POSIX_VISIBLE < 200809 || __XSI_VISIBLE >= 700 | ||||
| int	 ffs(int) __pure2; | ||||
| #endif | ||||
| #if __BSD_VISIBLE | ||||
| #if __GNU_VISIBLE | ||||
| int	 ffsl(long) __pure2; | ||||
| int	 ffsll(long long) __pure2; | ||||
| #endif | ||||
| #if __BSD_VISIBLE | ||||
| int	 fls(int) __pure2; | ||||
| int	 flsl(long) __pure2; | ||||
| int	 flsll(long long) __pure2; | ||||
|  |  | |||
|  | @ -4,8 +4,6 @@ | |||
|  * | ||||
|  * Permission to use, copy, modify, and distribute this software | ||||
|  * is freely granted, provided that this notice is preserved. | ||||
|  * | ||||
|  * Modified for xtensa arch & non-long int32_t, removes automatic setting of __have_long32. | ||||
|  */ | ||||
| 
 | ||||
| #ifndef _SYS__INTSUP_H | ||||
|  | @ -13,8 +11,185 @@ | |||
| 
 | ||||
| #include <sys/features.h> | ||||
| 
 | ||||
| #if __GNUC_PREREQ (3, 2) | ||||
| /* gcc > 3.2 implicitly defines the values we are interested */ | ||||
| #define __STDINT_EXP(x) __##x##__ | ||||
| #else | ||||
| #define __STDINT_EXP(x) x | ||||
| #include <limits.h> | ||||
| #endif | ||||
| 
 | ||||
| #define __have_longlong64 1 | ||||
| /* Determine how intptr_t and intN_t fastN_t and leastN_t are defined by gcc
 | ||||
|    for this target.  This is used to determine the correct printf() constant in | ||||
|    inttypes.h and other  constants in stdint.h. | ||||
|    So we end up with | ||||
|    ?(signed|unsigned) char == 0 | ||||
|    ?(signed|unsigned) short == 1 | ||||
|    ?(signed|unsigned) int == 2 | ||||
|    ?(signed|unsigned) short int == 3 | ||||
|    ?(signed|unsigned) long == 4 | ||||
|    ?(signed|unsigned) long int == 6 | ||||
|    ?(signed|unsigned) long long == 8 | ||||
|    ?(signed|unsigned) long long int == 10 | ||||
|  */ | ||||
| #pragma push_macro("signed") | ||||
| #pragma push_macro("unsigned") | ||||
| #pragma push_macro("char") | ||||
| #pragma push_macro("short") | ||||
| #pragma push_macro("__int20") | ||||
| #pragma push_macro("int") | ||||
| #pragma push_macro("long") | ||||
| #undef signed | ||||
| #undef unsigned | ||||
| #undef char | ||||
| #undef short | ||||
| #undef int | ||||
| #undef __int20 | ||||
| #undef long | ||||
| #define signed +0 | ||||
| #define unsigned +0 | ||||
| #define char +0 | ||||
| #define short +1 | ||||
| #define __int20 +2 | ||||
| #define int +2 | ||||
| #define long +4 | ||||
| #if (__INTPTR_TYPE__ == 8 || __INTPTR_TYPE__ == 10) | ||||
| #define _INTPTR_EQ_LONGLONG | ||||
| #elif (__INTPTR_TYPE__ == 4 || __INTPTR_TYPE__ == 6) | ||||
| #define _INTPTR_EQ_LONG | ||||
| /* Note - the tests for _INTPTR_EQ_INT and _INTPTR_EQ_SHORT are currently
 | ||||
|    redundant as the values are not used.  But one day they may be needed | ||||
|    and so the tests remain.  */ | ||||
| #elif __INTPTR_TYPE__ == 2 | ||||
| #define _INTPTR_EQ_INT | ||||
| #elif (__INTPTR_TYPE__ == 1 || __INTPTR_TYPE__ == 3) | ||||
| #define _INTPTR_EQ_SHORT | ||||
| #else | ||||
| #error "Unable to determine type definition of intptr_t" | ||||
| #endif | ||||
| #if (__INT32_TYPE__ == 4 || __INT32_TYPE__ == 6) | ||||
| #define _INT32_EQ_LONG | ||||
| #elif __INT32_TYPE__ == 2 | ||||
| /* Nothing to define because int32_t is safe to print as an int. */ | ||||
| #else | ||||
| #error "Unable to determine type definition of int32_t" | ||||
| #endif | ||||
| 
 | ||||
| #if (__INT8_TYPE__ == 0) | ||||
| #define __INT8 "hh" | ||||
| #elif (__INT8_TYPE__ == 1 || __INT8_TYPE__ == 3) | ||||
| #define __INT8 "h" | ||||
| #elif (__INT8_TYPE__ == 2) | ||||
| #define __INT8 | ||||
| #elif (__INT8_TYPE__ == 4 || __INT8_TYPE__ == 6) | ||||
| #define __INT8 "l" | ||||
| #elif (__INT8_TYPE__ == 8 || __INT8_TYPE__ == 10) | ||||
| #define __INT8 "ll" | ||||
| #endif | ||||
| #if (__INT16_TYPE__ == 1 || __INT16_TYPE__ == 3) | ||||
| #define __INT16 "h" | ||||
| #elif (__INT16_TYPE__ == 2) | ||||
| #define __INT16 | ||||
| #elif (__INT16_TYPE__ == 4 || __INT16_TYPE__ == 6) | ||||
| #define __INT16 "l" | ||||
| #elif (__INT16_TYPE__ == 8 || __INT16_TYPE__ == 10) | ||||
| #define __INT16 "ll" | ||||
| #endif | ||||
| #if (__INT32_TYPE__ == 2) | ||||
| #define __INT32 | ||||
| #elif (__INT32_TYPE__ == 4 || __INT32_TYPE__ == 6) | ||||
| #define __INT32 "l" | ||||
| #elif (__INT32_TYPE__ == 8 || __INT32_TYPE__ == 10) | ||||
| #define __INT32 "ll" | ||||
| #endif | ||||
| #if (__INT64_TYPE__ == 2) | ||||
| #define __INT64 | ||||
| #elif (__INT64_TYPE__ == 4 || __INT64_TYPE__ == 6) | ||||
| #define __INT64 "l" | ||||
| #elif (__INT64_TYPE__ == 8 || __INT64_TYPE__ == 10) | ||||
| #define __INT64 "ll" | ||||
| #endif | ||||
| #if (__INT_FAST8_TYPE__ == 0) | ||||
| #define __FAST8 "hh" | ||||
| #elif (__INT_FAST8_TYPE__ == 1 || __INT_FAST8_TYPE__ == 3) | ||||
| #define __FAST8 "h" | ||||
| #elif (__INT_FAST8_TYPE__ == 2) | ||||
| #define __FAST8 | ||||
| #elif (__INT_FAST8_TYPE__ == 4 || __INT_FAST8_TYPE__ == 6) | ||||
| #define __FAST8 "l" | ||||
| #elif (__INT_FAST8_TYPE__ == 8 || __INT_FAST8_TYPE__ == 10) | ||||
| #define __FAST8 "ll" | ||||
| #endif | ||||
| #if (__INT_FAST16_TYPE__ == 1 || __INT_FAST16_TYPE__ == 3) | ||||
| #define __FAST16 "h" | ||||
| #elif (__INT_FAST16_TYPE__ == 2) | ||||
| #define __FAST16 | ||||
| #elif (__INT_FAST16_TYPE__ == 4 || __INT_FAST16_TYPE__ == 6) | ||||
| #define __FAST16 "l" | ||||
| #elif (__INT_FAST16_TYPE__ == 8 || __INT_FAST16_TYPE__ == 10) | ||||
| #define __FAST16 "ll" | ||||
| #endif | ||||
| #if (__INT_FAST32_TYPE__ == 2) | ||||
| #define __FAST32 | ||||
| #elif (__INT_FAST32_TYPE__ == 4 || __INT_FAST32_TYPE__ == 6) | ||||
| #define __FAST32 "l" | ||||
| #elif (__INT_FAST32_TYPE__ == 8 || __INT_FAST32_TYPE__ == 10) | ||||
| #define __FAST32 "ll" | ||||
| #endif | ||||
| #if (__INT_FAST64_TYPE__ == 2) | ||||
| #define __FAST64 | ||||
| #elif (__INT_FAST64_TYPE__ == 4 || __INT_FAST64_TYPE__ == 6) | ||||
| #define __FAST64 "l" | ||||
| #elif (__INT_FAST64_TYPE__ == 8 || __INT_FAST64_TYPE__ == 10) | ||||
| #define __FAST64 "ll" | ||||
| #endif | ||||
| 
 | ||||
| #if (__INT_LEAST8_TYPE__ == 0) | ||||
| #define __LEAST8 "hh" | ||||
| #elif (__INT_LEAST8_TYPE__ == 1 || __INT_LEAST8_TYPE__ == 3) | ||||
| #define __LEAST8 "h" | ||||
| #elif (__INT_LEAST8_TYPE__ == 2) | ||||
| #define __LEAST8 | ||||
| #elif (__INT_LEAST8_TYPE__ == 4 || __INT_LEAST8_TYPE__ == 6) | ||||
| #define __LEAST8 "l" | ||||
| #elif (__INT_LEAST8_TYPE__ == 8 || __INT_LEAST8_TYPE__ == 10) | ||||
| #define __LEAST8 "ll" | ||||
| #endif | ||||
| #if (__INT_LEAST16_TYPE__ == 1 || __INT_LEAST16_TYPE__ == 3) | ||||
| #define __LEAST16 "h" | ||||
| #elif (__INT_LEAST16_TYPE__ == 2) | ||||
| #define __LEAST16 | ||||
| #elif (__INT_LEAST16_TYPE__ == 4 || __INT_LEAST16_TYPE__ == 6) | ||||
| #define __LEAST16 "l" | ||||
| #elif (__INT_LEAST16_TYPE__ == 8 || __INT_LEAST16_TYPE__ == 10) | ||||
| #define __LEAST16 "ll" | ||||
| #endif | ||||
| #if (__INT_LEAST32_TYPE__ == 2) | ||||
| #define __LEAST32 | ||||
| #elif (__INT_LEAST32_TYPE__ == 4 || __INT_LEAST32_TYPE__ == 6) | ||||
| #define __LEAST32 "l" | ||||
| #elif (__INT_LEAST32_TYPE__ == 8 || __INT_LEAST32_TYPE__ == 10) | ||||
| #define __LEAST32 "ll" | ||||
| #endif | ||||
| #if (__INT_LEAST64_TYPE__ == 2) | ||||
| #define __LEAST64 | ||||
| #elif (__INT_LEAST64_TYPE__ == 4 || __INT_LEAST64_TYPE__ == 6) | ||||
| #define __LEAST64 "l" | ||||
| #elif (__INT_LEAST64_TYPE__ == 8 || __INT_LEAST64_TYPE__ == 10) | ||||
| #define __LEAST64 "ll" | ||||
| #endif | ||||
| #undef signed | ||||
| #undef unsigned | ||||
| #undef char | ||||
| #undef short | ||||
| #undef int | ||||
| #undef long | ||||
| #pragma pop_macro("signed") | ||||
| #pragma pop_macro("unsigned") | ||||
| #pragma pop_macro("char") | ||||
| #pragma pop_macro("short") | ||||
| #pragma pop_macro("__int20") | ||||
| #pragma pop_macro("int") | ||||
| #pragma pop_macro("long") | ||||
| 
 | ||||
| #endif /* _SYS__INTSUP_H */ | ||||
|  |  | |||
|  | @ -180,10 +180,17 @@ typedef _LOCK_RECURSIVE_T _flock_t; | |||
| typedef void *_iconv_t; | ||||
| #endif | ||||
| 
 | ||||
| #ifndef __machine_clock_t_defined | ||||
| #define	_CLOCK_T_	unsigned long	/* clock() */ | ||||
| #endif | ||||
| 
 | ||||
| typedef	_CLOCK_T_	__clock_t; | ||||
| 
 | ||||
| #define	_TIME_T_	long		/* time() */ | ||||
| #if defined(_USE_LONG_TIME_T) || __LONG_MAX__ > 0x7fffffffL | ||||
| #define	_TIME_T_ long | ||||
| #else | ||||
| #define	_TIME_T_ __int_least64_t | ||||
| #endif | ||||
| typedef	_TIME_T_	__time_t; | ||||
| 
 | ||||
| #define	_CLOCKID_T_ 	unsigned long | ||||
|  |  | |||
|  | @ -681,6 +681,8 @@ | |||
| #endif | ||||
| 
 | ||||
| /* Structure implements a lock. */ | ||||
| /* FIXME: Use __lockable__, etc. to avoid colliding with user namespace macros,
 | ||||
|  * once clang is fixed: https://bugs.llvm.org/show_bug.cgi?id=34319 */
 | ||||
| #define	__lockable		__lock_annotate(lockable) | ||||
| 
 | ||||
| /* Function acquires an exclusive or shared lock. */ | ||||
|  |  | |||
|  | @ -75,7 +75,7 @@ | |||
| #define _POINTER_INT short | ||||
| #endif | ||||
| 
 | ||||
| #if defined(__m68k__) || defined(__mc68000__) | ||||
| #if defined(__m68k__) || defined(__mc68000__) || defined(__riscv) | ||||
| #define _READ_WRITE_RETURN_TYPE _ssize_t | ||||
| #endif | ||||
| 
 | ||||
|  | @ -154,6 +154,7 @@ | |||
| #define _REENT_SMALL | ||||
| #endif | ||||
| 
 | ||||
| #define __BUFSIZ__ 256 | ||||
| #define __SMALL_BITFIELDS | ||||
| 
 | ||||
| #ifdef __MSP430X_LARGE__ | ||||
|  | @ -289,6 +290,12 @@ | |||
| #endif | ||||
| #endif | ||||
| 
 | ||||
| #ifdef _WANT_USE_LONG_TIME_T | ||||
| #ifndef _USE_LONG_TIME_T | ||||
| #define _USE_LONG_TIME_T | ||||
| #endif | ||||
| #endif | ||||
| 
 | ||||
| /* If _MB_EXTENDED_CHARSETS_ALL is set, we want all of the extended
 | ||||
|    charsets.  The extended charsets add a few functions and a couple | ||||
|    of tables of a few K each. */ | ||||
|  |  | |||
|  | @ -505,10 +505,9 @@ extern "C" { | |||
| /* #define _XOPEN_UNIX				    -1 */ | ||||
| #endif /* __XSI_VISIBLE */ | ||||
| 
 | ||||
| /* The value corresponds to UNICODE version 4.0, which is the version
 | ||||
|    supported by XP.  Newlib supports 5.2 (2011) but so far Cygwin needs | ||||
|    the MS conversions for double-byte charsets. */ | ||||
| #define __STDC_ISO_10646__ 200305L | ||||
| /* The value corresponds to UNICODE version 5.2, which is the current
 | ||||
|    state of newlib's wide char conversion functions. */ | ||||
| #define __STDC_ISO_10646__ 200910L | ||||
| 
 | ||||
| #endif /* __CYGWIN__ */ | ||||
| 
 | ||||
|  |  | |||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue