Author: kevans Date: Sun Feb 2 19:45:12 2020 New Revision: 357419 URL: https://svnweb.freebsd.org/changeset/base/357419
Log: libc: provide fputc_unlocked Among the same justification as the other stdio _unlocked; in addition to an inline version in <stdio.h>, we must provide a function in libc as well for the functionality. This fixes the lang/gcc* builds, which want to use the symbol from libc. PR: 243810 Reported by: antoine, swills, Michael <michael.adm gmail com> X-MFC-With: r357284 Modified: head/include/stdio.h head/lib/libc/stdio/Symbol.map head/lib/libc/stdio/fputc.c Modified: head/include/stdio.h ============================================================================== --- head/include/stdio.h Sun Feb 2 19:16:52 2020 (r357418) +++ head/include/stdio.h Sun Feb 2 19:45:12 2020 (r357419) @@ -348,6 +348,7 @@ int feof_unlocked(FILE *); int ferror_unlocked(FILE *); int fflush_unlocked(FILE *); int fileno_unlocked(FILE *); +int fputc_unlocked(int, FILE *); int fputs_unlocked(const char * __restrict, FILE * __restrict); size_t fread_unlocked(void * __restrict, size_t, size_t, FILE * __restrict); size_t fwrite_unlocked(const void * __restrict, size_t, size_t, Modified: head/lib/libc/stdio/Symbol.map ============================================================================== --- head/lib/libc/stdio/Symbol.map Sun Feb 2 19:16:52 2020 (r357418) +++ head/lib/libc/stdio/Symbol.map Sun Feb 2 19:45:12 2020 (r357419) @@ -173,6 +173,7 @@ FBSD_1.5 { FBSD_1.6 { fflush_unlocked; + fputc_unlocked; fputs_unlocked; fread_unlocked; fwrite_unlocked; Modified: head/lib/libc/stdio/fputc.c ============================================================================== --- head/lib/libc/stdio/fputc.c Sun Feb 2 19:16:52 2020 (r357418) +++ head/lib/libc/stdio/fputc.c Sun Feb 2 19:45:12 2020 (r357419) @@ -47,13 +47,21 @@ __FBSDID("$FreeBSD$"); #undef fputc_unlocked int +fputc_unlocked(int c, FILE *fp) +{ + + /* Orientation set by __sputc() when buffer is full. */ + /* ORIENT(fp, -1); */ + return (__sputc(c, fp)); +} + +int fputc(int c, FILE *fp) { int retval; + FLOCKFILE_CANCELSAFE(fp); - /* Orientation set by __sputc() when buffer is full. */ - /* ORIENT(fp, -1); */ - retval = __sputc(c, fp); + retval = fputc_unlocked(c, fp); FUNLOCKFILE_CANCELSAFE(); return (retval); } _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"