This directory contains version 2.2 of my jump-table libraries. This release is based on H.J. Lu's 2.2.2d libraries. The advantage of these libraries over the standard, shared ones is that programs linked with these libraries can be updated by simply installing a new, shared library image (i.e. no relinking is needed). The disadvantage is that there is a very slight, run-time overhead incurred on function calls made from outside the libraries because of the jump-table (calls from within the libraries do not go through the jump-table). To make it easier to maintain compatibility with future releases, I have limited the external symbols visible to applications to the bare minimum. In the process, I may have inadvertantly left some out. Let me know if you get any "undefined symbol" errors. The most notable symbols missing in this release are those from the non-stdio portions of Per Bothner's iostreams package. They will be added in a future release once I am sure that the iostreams interface is stable. In the mean time, if you need to use the full iostreams package from C++, you must use the standard shared or static libraries. Sorry, but there is no install script. In case you didn't receive this package with H.J.'s, here is what you need to do to install and use the jump-table libraries: Copy libc.so.2.x to /lib and create a symlink to it called "libc.so.2". If you have a 387 or 486, copy libhard.so.2.x to /lib and create a symlink to it called "libm.so.2". If you don't have a 387 or 486, copy libsoft.so.2.x to /lib and create a symlink to it called "libm.so.2". Make a subdirectory in your GCC library directory (probably something like /usr/lib/gcc-lib/i386-linux/2.2.2d) called "jump" and copy all the .a files to it. Use the "-jump" switch on your gcc command line to link with the jump-table libraries. IMPORTANT NOTE1: if you are upgrading from versions 2.0 or 2.1 of the jump-table libraries, after changing the symlinks in /lib to point to the new shared images, do NOT delete the old images until you are absolutely sure that no processes are still using them. The best way to make sure of this is to reboot. Even then, it is best to wait a couple of days to make sure there are no unforseen problems with the new images. If you do have problems with the new images, just change the symlink back to the old images. IMPORTANT NOTE2: Even though both the normal and jump-table shared libraries use the same shared image, they are NOT compatible with each other. If you want to link other libraries with the jump-table libraries, make sure you use the static versions. Please let me know about any problems which are specific to these jump-table libraries. You should still report problems concerning the standard shared and static libraries to H.J. at hlu@eecs.wsu.edu. David Engel david@ods.com