By Darryl Gove on Oct 16, 2007
By default, the SPARC compiler assumes that SPARCV9 objects are built with -xcode=abs44, which means that 44 bits are used to hold the absolute address of any object. Shared libraries should be built using position independent code, either -xcode=pic13 or -xcode=pic32 (replacing the deprecated -Kpic and -KPIC options.
If one of the object files in a library is built with abs44, then the linker will report the following error:
ld: fatal: relocation error: R_SPARC_H44: file file.o: symbol <unknown>: relocations based on the ABS44 coding model can not be used in building a shared objectFurther details on this can be found in the compiler documentation.