 |
» |
|
|
 |
 |  |  |  |  | WARNING! It is not recommended to build internationalized
applications using an archive libc.
But if you must, there are build changes for all
archive programs that use NLS. |  |  |  |  |
For any application that calls setlocale(3C)
or iconv(3C)
and is compiled, the archive will not be a complete archive and
will now contain position-independent code and data, which are loaded
at runtime. Two calls in libdld.sl
are used to load the position-independent code and data must be
loaded as shared. However, the rest of the libraries can be archived
in the executable. The compile and load options for applications built with -Wl,-a,archive
are as follows. Be aware that the -Wl,-a,archive link
option is a positionally-dependent option and should be at the beginning
of the cc line
to compile the program. Example of sh
using CCOPTS and LDOPTS |  |
9.x compile: export CCOPTS="${CCOPTS:-} your_options" export LDOPTS="${LDOPTS:-} your_options" cc -Wl,-a,archive -o executable source_file |
10.x compile: export CCOPTS="${CCOPTS:-} | your_options -Wl,-E -l:libdld.sl" export LDOPTS="${LDOPTS:-} your_options -E -l:libdld.sl" cc -Wl,-a,archive -o executable source_file |
Example Using cc
Line Only |  |
9.x compile: cc -Wl,-a,archive -o executable source_file |
10.x compile: cc -Wl,-a,archive -Wl,-E -l:libdld.sl -o executable source_file |
|