Installation guide
data segments, also causes shared libraries linked outside the 31-bit
address space to be appropriately relocated by the loader.
The default addresses used for the text and data segments are determined
by the options that you specify on the cc command line:
• Specifying the −non_shared or −call_shared option with the −taso
option results in the following defaults:
0x0000 0000 1200 0000 (text segment’s starting address)
0x0000 0000 1400 0000 (data segment’s starting address)
• Specifying the −shared option with the −taso option results in the
following defaults:
0x0000 0000 7000 0000 (text segment’s starting address)
0x0000 0000 8000 0000 (data segment’s ending address)
Using these default values produces sufficient amounts of space for text
and data segments for most applications (see the Assembly Language
Programmer’s Guide for details on the contents of text and data segments).
The default values also allow an application to allocate a large amount of
mmap space.
If you specify the −taso option and also specify text and data segment
address values with −T and −D, the values specified override the −taso
default addresses.
You can use the odump utility to check whether a program was built
successfully within a 31-bit address space. To display the start addresses of
the text, data, and bss segments, enter the following command:
% odump -ov obj_file_x.o
None of the addresses should have any bits set in bits 31 to 63; only bits 0
to 30 should ever be set.
Shared objects built with the −taso option cannot be linked with shared
objects that were not built with the −taso option. If you attempt to link
shared objects that way, the following error message is displayed:
Cannot mix 32 and 64 bit shared objects without the -taso
option.
7.3.1.4 Limits on the Effects of the −taso Option
The −taso option does not prevent a program from mapping addresses
outside the 31-bit limit, and it does not issue warning messages if this is
done. Such addresses could be established using any one of the following
mechanisms:
7–10 Migrating Your ULTRIX Application to a DIGITAL UNIX System