Subject: Re: ld.so musings
To: Alex Hayward <xelah@ferret.lmh.ox.ac.uk>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: port-arm32
Date: 03/19/1998 01:16:37
On Thu, 19 Mar 1998 09:04:28 +0000 (GMT) 
 Alex Hayward <xelah@ferret.lmh.ox.ac.uk> wrote:

 > Oh, yes.... That happened to me. I can't remember how I fixed it now...
 > Its not the compiler. I think it may have been the linker---try relinking
 > libc.so.12.26 from libc_pic.a using the same command line that the
 > Makefile uses but with the --whole-archive --no-whole-archive pair changed
 > to -Bforcearchive. I think that might have been it....

Better yet, the arm32 linker stuff gets committed to the -current source
tree, so this sort of lossage (which was announced with proper advance
warning on current-users) doesn't happen.

 > You should also be aware that if you build a new ld.so it won't work and
 > the the new vfork (the ___vfork14 systerm call) is *badly* broken on arm32
 > systems. This means that anything which uses it (or, say, system()) causes
 > the machine to lock up completely. You can fix that by changing the vfork
 > line in unistd.h (change the rename from ___vfork14 to ___vfork13).

That is a bad way to "fix" the problem!  If it's _really_ broken, you should
comment out the entire __RENAME() thing altogether!

In any case, how is the new vfork(2) "*badly* broken"?  I never received
any bug reports about it on the arm32... I'm skeptical, esp. considering
that the requisite pmap changes were extremely minor, and indeed, the
function necessary (pmap_activate()) already existed, and was in use my
the machine-dependent fork code.

...and the code has been in the tree for some time now... you'd think lots
of folks would have stumbled on it in this amount of time.

 > Maybe I should start send-pr-ing these things...

You should always send-pr bugs.

Jason R. Thorpe                                       thorpej@nas.nasa.gov
NASA Ames Research Center                            Home: +1 408 866 1912
NAS: M/S 258-5                                       Work: +1 650 604 0935
Moffett Field, CA 94035                             Pager: +1 415 428 6939