* collect2.c (lderrout): New variable.
(collect_exit): Dump ldout to stdout. Dump and unlink lderrout,
if it is set, to stderr.
(handler): Unlink lderrout if it is set.
(dump_file): Add "to" parameter. Change all callers.
(main): Initialize lderrout.
(collect_execute): Add errname parameter. Change all callers.
Rename redir parameter to outname. Never pass
PEX_STDERR_TO_STDOUT to pex_run.
* collect2.h (collect_execute, dump_file): Update declarations.
* tlink.c (tlink_execute): Add errname parameter. Change all
callers.
(do_tlink): Check lderrout as well as ldout.
From-SVN: r97321
PR bootstrap/14316
* collect2.c: Never include <vfork.h>.
(VFORK_STRING, vfork): Don't define.
(pid): Remove global variable.
(handler): Call raise instead of kill (getpid(), ...).
(collect_wait): Add pex parameter. Change all callers. Use
pex_get_status rather than pwait.
(do_wait): Add pex parameter. Change all callers.
(collect_execute): Return struct pex_obj * rather than void. Use
pex routines rather than pexecute.
(fork_execute): Get pex_obj from collect_execute, and pass it to
do_wait.
(scan_prog_file): Use pex routines rather than pipe/vfork/exec.
Only declare quit_handler if SIGQUIT is defined.
(scan_libraries): Likewise.
* collect2.h (collect_execute): Update declaration.
(collect_wait): Update declaration.
* tlink.c (tlink_execute): Get pex_obj from collect_execute, and
pass it to collect_wait.
From-SVN: r97199