60 lines
2.8 KiB
Plaintext
Executable File
60 lines
2.8 KiB
Plaintext
Executable File
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
|