emit a call _cacheflush() to ensure Icache consistency
after writing trampoline code for lexical closures onto the stack
(i.e., into the Dcache).
GCC 2.x (x <= 7.2.2) emits a call cacehflush(), polluting the user
namespace.
memref_referenced_p(); otherwise there are cases where a later set that changes
the memory location may be moved too early, and thus the new value will be
(incorrectly) used where it should not be.
processing of /etc/ld.so.conf in ld.so itself (rather than in /etc/rc):
- added do_conf function and call to it in main to implement internal
processing of /etc/ld.so.conf
- moved maintenance of dir_list to dodir, with an added argument to
dodir to specify whether dir_list should be updated
- added option '-c' to suppress processing of /etc/ld.so.conf
- added option '-S' to suppress processing of std directories (but not
/etc/ld.so.conf)
- modified option -s to suppress processing of _both_ std directories
and /etc/ld.so.conf (i.e., it is equivalent to -cS)--this was done
so that users and scripts that interpret -s as meaning "process
only directories specified on the command line" would not be
startled
From PR #4031. One change was not committed, since it was unnecessary
(option variables are in the BSS, and do not need to be initialized to
0 explicitly).
Plus one change from me:
- getopt() returns -1 when completed, not EOF.
of the password file entry, not just first password file entry containing
$LOGNAME. (Fixes PR 3298 with a fix similar to that supplied in that PR
by Era Eriksson.)
* Ignore SIGINT and SIGQUIT (signals which are sent to the whole process
group) before editing sessions, and restore handler afterward, so that
SIGINTs and SIGQUITs delivered while editing (e.g. via Control-G in emacs)
don't cause send-pr to abort. (Fixes PRs 2530 and 2658.)
* When aborting because of a signal, if the PR has been modified from the
standard form, don't delete the edited copy (to prevent peoples' work
from being lost accidentally). (Fixes PR 2057.)
had not be implemented. It would cause an "adress space leak" and, if
the same object would opened multiple time, unwanted relocations.
Re: Comment from Chris:
"The a.out ld.so has some problems with dlclose. It doesn't properly
unmap objects which are dlclosed. That's a known problem (though a
serious one for programs which dlopen then dlclose lots of objects,
because it causes address space exhaustion), but it has a
previously-unknown side-effect.
If a single object is dlopened, then dlclosed, then dlopened _again_,
the relocations will be processed again. That causes obvious
problems."