2b618987fe
It was foiled because of dynamic copy relocations that caused compile-time space to be reserved in .bss and at run time a blob of data was copied to that space and everything used the .bss version.. The problem is that the space is reserved at compile time, not runtime... So we *still* could not change the size of FILE. Sigh. :-( Replace it with something that does actually work and really does let us make 'FILE' extendable. It also happens to be the same as Linux does in glibc, but has the slight cost of a pointer. Note that this is the same cost that 'fp = fopen(), fprintf(fp, ...); fclose(fp);' has. Fortunately, actual references to stdin/out/err are not all that common since we have implicit stdin/out/err-using versions of functions (printf() vs. fprintf()). |
||
---|---|---|
.. | ||
arpa | ||
protocols | ||
rpc | ||
rpcsvc | ||
_ctype.h | ||
a.out.h | ||
ar.h | ||
assert.h | ||
bitstring.h | ||
complex.h | ||
ctype.h | ||
db.h | ||
dirent.h | ||
disktab.h | ||
dlfcn.h | ||
elf-hints.h | ||
elf.h | ||
err.h | ||
fnmatch.h | ||
fstab.h | ||
fts.h | ||
glob.h | ||
grp.h | ||
hesiod.h | ||
histedit.h | ||
ieeefp.h | ||
ifaddrs.h | ||
iso646.h | ||
langinfo.h | ||
libgen.h | ||
limits.h | ||
link.h | ||
locale.h | ||
Makefile | ||
malloc.h | ||
math.h | ||
memory.h | ||
mpool.h | ||
ndbm.h | ||
netconfig.h | ||
netdb.h | ||
nl_types.h | ||
nlist.h | ||
nsswitch.h | ||
objformat.h | ||
paths.h | ||
pthread_np.h | ||
pthread.h | ||
pwd.h | ||
ranlib.h | ||
regex.h | ||
regexp.h | ||
resolv.h | ||
rune.h | ||
runetype.h | ||
search.h | ||
setjmp.h | ||
sgtty.h | ||
signal.h | ||
stab.h | ||
stdbool.h | ||
stddef.h | ||
stdio.h | ||
stdlib.h | ||
strhash.h | ||
string.h | ||
stringlist.h | ||
strings.h | ||
sysexits.h | ||
tar.h | ||
time.h | ||
timers.h | ||
ttyent.h | ||
unistd.h | ||
utime.h | ||
utmp.h | ||
vis.h | ||
wchar.h | ||
wctype.h |