Retract the most recent changes to get Linux ELF binaries to work.
These changes do not and cannot work, because signal handlers cannot
be run while the special Scheme segment registers are in use. The
reason is that the signal handlers are registered as 32-bit offsets,
and the associated segment descriptors are not registered with those
offsets; when the signal arrives, the offset is used with whatever
segment descriptor happens to be in the CS register. When the Scheme
segment descriptors are in place, this offset is meaningless and
causes Scheme to die immediately with a SIGSEGV.
One possible workaround for this problem would be to re-register the
signal handlers whenever the segment registers are hacked, but this is
very expensive in time, and the Scheme<->C interface is already too
slow. The only other feasibility is to get the Linux kernel changed
so that signal handlers are invoked in a known segment without regard
to the contents of CS at the time of the signal; but although this is
a sensible idea, it's necessary to convince the kernel developer's of
it's desirability, and meanwhile the existing Linux installations will
not work.