Daniel Jacobowitz <dan@debian.org> writes: > On Sat, Dec 08, 2001 at 04:18:53PM +0100, Andreas Jaeger wrote: >> > " bltzal $0, here\n" >> > " nop\n" >> > "here: subu %0, $31, %0\n" >> >> Subtract shared address of "here" from address of "here" at build time >> - and you know at which address byte 0 of the shared library is >> loaded. > > Wait a second. Does bltzal fill in $31 even on a not-taken branch? > Because bltzal $0 should never be taken. My handy MIPS reference and > SPIM seem to agree that it won't fill in $31. That's what I've asked myself also when fixing the dynamic linker. But Ralf convinced me that $31 will get filled in (and I verified that it did) - otherwise the dynamic linker would not work on any system at all. But it might be worth checking if Guido notices a problem. Btw. could anybody send me a patch documenting this instruction so that next time everybody knows directly what's going on? Thanks, Andreas -- Andreas Jaeger SuSE Labs aj@suse.de private aj@arthur.inka.de http://www.suse.de/~aj