Subject: New RelCache snapshot available
To: None <tech-userlevel@netbsd.org>
From: Bang Jun-Young <junyoung@netbsd.org>
List: tech-userlevel
Date: 12/11/2002 01:16:41
Hi,

I just uploaded new snapshot releases of ld.elf_so(1) and prebind(1) to
ftp://ftp.netbsd.org/pub/NetBSD/misc/junyoung .

What's new in this snapshot:

- With a couple of fatal bugs fixed, stability has been much more improved.
  Tested with bash, GCC & toolchain, XFree86, mozilla, nedit, ddd, xmms,
  and etc.

- Runtime performance has been improved. Now RelCache eliminates the need
  for lazy binding.

- MD5 checksum has been replaced with 64-bit CRC32+Adler32. (Note: Adler32
  is known to have problem with very small data (how small is 'very small'
  data?), but it's not a problem in this case. Almost all ELF binaries are
  at least 1KB long anyway. I don't think 1KB is very small) 

- Prebinding is now single step. You don't have to run 'LD_PREBIND=1 prog'
  any more; just type 'prebind /foo/prog' (as root).

What's missing in this snapshot:

- RelCache size couldn't be cut down (although it's still possible, you
  can't avoid relocation of some symbols). -> Dropped.

- RelCache still exists as a separate file. Appending it to executable
  wasn't easy work for me. :-( If you can help me with this, please do so.
  I'll provide you with the current patch against the toolchain.

- It was only tested on i386. Anybody willing to port it to other platforms? 

Finally, special thanks to Martin Weber <Ephaeton at gmx.net>, who was
the first and the only one to test the code. In his benchmark, binaries
with RelCache ran 37% faster (i.e. took 27% less time).

Jun-Young

-- 
Bang Jun-Young <junyoung@netbsd.org>