58 lines
1.9 KiB
Plaintext
58 lines
1.9 KiB
Plaintext
|
|
This is a procedure you can use to substitute or add
|
|
a module in your shared libc library.
|
|
|
|
Note! if you are interested system 5 libc, please substitute
|
|
libc_pic.a to libcs5_pic.a in step 3,
|
|
libc.so.x.y.z to libcs5.so.x.y.z in step 8.
|
|
|
|
-------------------------------------------------------------------------
|
|
|
|
1. Become super user
|
|
% su
|
|
|
|
2. Make a temporary directory
|
|
% mkdir tmp
|
|
|
|
3. Change to the "tmp" directory just made, extract the pic .o from
|
|
libc_pic.a and rm the file __.SYMDEF. The reason you need to do
|
|
the 2 "mv" commands is because "ar" truncated filenames over
|
|
16 characters.
|
|
% cd tmp
|
|
% ar x ../libc_pic.a
|
|
% rm __.SYMDEF
|
|
% mv rpc_dtablesize. rpc_dtablesize.o
|
|
% mv rpc_commondata. rpc_commondata.o
|
|
|
|
4. Replace or add the .o that you wanted by doing a copy. Please
|
|
note here that you are advised to create your object with
|
|
the following compiler option, i.e "cc -c -pic yourprogram.c" to make
|
|
it shareable.
|
|
% cp your.o .
|
|
|
|
5. If you add a new module then you need to do this step.
|
|
You need to edit the file "lorder-sparc" and add the name of the file
|
|
you have copied from step 4 at the end of this file.
|
|
% vi ../lorder-sparc
|
|
|
|
6. % cd ..
|
|
|
|
7. % make libc.so
|
|
|
|
8. Now you should have some libc.so.x.y.z built in the current directory.
|
|
It is recommended that you tested out this library at this point
|
|
before installing it. You can do so by setting the environment
|
|
LD_LIBRARY_PATH to the current directory for example:
|
|
% setenv LD_LIBRARY_PATH `pwd`
|
|
% your_favorite_test_cmd
|
|
Once you are satisfied that the new library worked, you can proceed
|
|
to install it with the following commands:
|
|
% cp libc.so.x.y.z /usr/lib
|
|
% ldconfig
|
|
% unsetenv LD_LIBRARY_PATH
|
|
|
|
9. You are now running with the new library. You can verify this by
|
|
doing a trace command of let's say "date".
|
|
% trace date
|
|
The output should informed you that the new library is being used.
|