newlib: don't define non-thread-safe versions of getc, putc
getc, getchar, putc, putchar were defined both as functions and as
macros. The macro versions are not thread safe, and should not be used
in multithreaded applications.
Upstream fix: b0f271d1db
This commit is contained in:
parent
51adc08070
commit
63a544dd3c
1 changed files with 4 additions and 0 deletions
|
@ -696,8 +696,10 @@ _ELIDABLE_INLINE int __sputc_r(struct _reent *_ptr, int _c, FILE *_p) {
|
||||||
|
|
||||||
#ifndef __CYGWIN__
|
#ifndef __CYGWIN__
|
||||||
#ifndef lint
|
#ifndef lint
|
||||||
|
#ifdef __SINGLE_THREAD__
|
||||||
#define getc(fp) __sgetc_r(_REENT, fp)
|
#define getc(fp) __sgetc_r(_REENT, fp)
|
||||||
#define putc(x, fp) __sputc_r(_REENT, x, fp)
|
#define putc(x, fp) __sputc_r(_REENT, x, fp)
|
||||||
|
#endif /* __SINGLE_THREAD__ */
|
||||||
#endif /* lint */
|
#endif /* lint */
|
||||||
#endif /* __CYGWIN__ */
|
#endif /* __CYGWIN__ */
|
||||||
|
|
||||||
|
@ -714,8 +716,10 @@ _ELIDABLE_INLINE int __sputc_r(struct _reent *_ptr, int _c, FILE *_p) {
|
||||||
|
|
||||||
#endif /* !__CUSTOM_FILE_IO__ */
|
#endif /* !__CUSTOM_FILE_IO__ */
|
||||||
|
|
||||||
|
#ifdef __SINGLE_THREAD__
|
||||||
#define getchar() getc(stdin)
|
#define getchar() getc(stdin)
|
||||||
#define putchar(x) putc(x, stdout)
|
#define putchar(x) putc(x, stdout)
|
||||||
|
#endif /* __SINGLE_THREAD__ */
|
||||||
|
|
||||||
#ifndef __STRICT_ANSI__
|
#ifndef __STRICT_ANSI__
|
||||||
#define getchar_unlocked() getc_unlocked(stdin)
|
#define getchar_unlocked() getc_unlocked(stdin)
|
||||||
|
|
Loading…
Reference in a new issue