Stdio(3) change: FILE is now opaque
gslin
created: July 20, 2025, 6:18 p.m. | updated: July 21, 2025, 3:10 p.m.
In -current , the struct underlying stdio(3) 's FILE type has been made opaque, with library versions bumps across the board:CVSROOT: /cvs Module name: src Changes by: [email protected] 2025/07/16 09:33:05 Modified files: lib/libc : Symbols.list shlib_version lib/libc/hidden: stdio.h wchar.h lib/libc/stdio : Makefile.inc fclose.3 fclose.c findfp.c lib/libcrypto : shlib_version lib/libcurses : shlib_version lib/libedit : shlib_version lib/libexpat : shlib_version lib/libfido2 : shlib_version lib/libfuse : shlib_versionlib/libkvm : shlib_version lib/libpcap : shlib_version lib/librthread : shlib_version lib/libskey : shlib_version lib/libsndio : shlib_version lib/libutil : shlib_version include : stdio.h wchar.h gnu/lib/libcxx : shlib_version gnu/lib/libcxxabi: shlib_version gnu/lib/libexecinfo: shlib_version gnu/lib/libiberty: shlib_version gnu/lib/libreadline: shlib_version gnu/lib/libstdc++: shlib_version gnu/lib/libstdc++-v3: shlib_version gnu/usr.bin/perl: shlib_version Added files: lib/libc/hidden: _stdio.h lib/libc/stdio : fdclose.c Log message: Make the FILE object opaque.
All programs that refer to the internal structure of the FILE object can't be compiled from now on.
std{in,out,err} doesn't refer __sF[] now, but the hidden __sF along with __srget and __swbuf symbols are kept temporarily to make our transition easier.
The shared library versions are bumped for libc and all the other libraries that refer to std{in,out,err}.
Those who normally build from source are strongly encouraged to use a snapshot upgrade to cross the bumps.
2 weeks, 1 day ago: Hacker News: Front Page