Patch-ID# 112963-03
Keywords: ar seg faults linker LA_SYMB_DLSYM RTLD crle libthread
Synopsis: SunOS 5.9: linker patch
Date: 05/Sep/02

Solaris Release: 9

SunOS Release: 5.9

Unbundled Product:

Unbundled Release:

Topic: SunOS 5.9: linker patch

BugId's fixed with this patch: 4526752 4529912 4533195 4546416 4616944 4621479 4622472 4624658 4630224 4633860 4638070 4642829 4651493 4651709 4654406 4655066 4662575 4664855 4668517 4669582 4671493 4696204 4701749 4706503 4707808 4710814 4716929

Changes incorporated in this version: 4696204 4706503 4710814 4716929

Relevant Architectures: sparc

Patches accumulated and obsoleted by this patch: 112833-01

Patches which conflict with this patch:

Patches required with this patch:

Obsoleted by:

Files included with this patch:

/etc/lib/ld.so.1
/etc/lib/libdl.so.1
/usr/bin/crle
/usr/bin/ldd
/usr/bin/pvs
/usr/bin/sotruss
/usr/bin/sparcv9/pvs
/usr/bin/whocalls
/usr/ccs/bin/ar
/usr/ccs/bin/dump
/usr/ccs/bin/elfdump
/usr/ccs/bin/ld
/usr/ccs/bin/mcs
/usr/ccs/bin/nm
/usr/ccs/bin/sparcv9/elfdump
/usr/ccs/bin/sparcv9/ld
/usr/ccs/bin/sparcv9/mcs
/usr/ccs/bin/sparcv9/strip
/usr/ccs/bin/strip
/usr/demo/ELF/Makefile
/usr/demo/ELF/README
/usr/demo/ELF/acom.c
/usr/demo/ELF/dcom.c
/usr/demo/ELF/dispsyms.c
/usr/demo/ELF/pcom.c
/usr/include/dlfcn.h
/usr/include/gelf.h
/usr/include/libelf.h
/usr/include/link.h
/usr/include/rtld_db.h
/usr/include/sys/elf.h
/usr/include/sys/elf_386.h
/usr/include/sys/elf_M32.h
/usr/include/sys/elf_SPARC.h
/usr/include/sys/elf_notes.h
/usr/include/sys/elftypes.h
/usr/include/sys/link.h
/usr/include/sys/machelf.h
/usr/include/sys/note.h
/usr/lib/0@0.so.1
/usr/lib/ld.so
/usr/lib/ld.so.1
/usr/lib/ld/map.bssalign
/usr/lib/ld/map.default
/usr/lib/ld/map.noexstk
/usr/lib/lddstub
/usr/lib/libcrle.so.1
/usr/lib/libdl.so
/usr/lib/libdl.so.1
/usr/lib/libelf.a
/usr/lib/libelf.so
/usr/lib/libelf.so.1
/usr/lib/libld.so.2
/usr/lib/libld.so.3
/usr/lib/liblddbg.so.4
/usr/lib/libldfeature.a
/usr/lib/libldstab.so.1
/usr/lib/librtld.so.1
/usr/lib/librtld_db.so
/usr/lib/librtld_db.so.1
/usr/lib/link_audit/ldprof.so.1
/usr/lib/link_audit/sparcv9/ldprof.so.1
/usr/lib/link_audit/sparcv9/truss.so.1
/usr/lib/link_audit/sparcv9/who.so.1
/usr/lib/link_audit/truss.so.1
/usr/lib/link_audit/who.so.1
/usr/lib/sparcv9/ld.so.1
/usr/lib/sparcv9/lddstub
/usr/lib/sparcv9/libcrle.so.1
/usr/lib/sparcv9/libdl.so.1
/usr/lib/sparcv9/libelf.so.1
/usr/lib/sparcv9/libld.so.2
/usr/lib/sparcv9/libld.so.3
/usr/lib/sparcv9/liblddbg.so.4
/usr/lib/sparcv9/libldstab.so.1
/usr/lib/sparcv9/librtld.so.1
/usr/lib/sparcv9/librtld_db.so.1

Problem Description:

4710814 add "official" support for the "symbolic" keyword in linker map-file
4716929 updating of local register symbols in dynamic symtab busted...
4706503 linkers need to cope with EF_SPARCV9_PSO/EF_SPARCV9_RMO
4696204 enable extended section indexes in relocatable objects

(from 112963-02)

4701749 On Solaris 8 + 109147-16 ld crashes when building a dynamic library.
4707808 The ldd command is broken in the latest 2.8 linker patch.

(from 112963-01)

4662575 linker displacement relocation checking introduces significant linker overhead
linker displacement relocation checking introduces significant linker overhead
4546416 add help messages to ld.so mdbmodule
4526752 we should build and ship ld.so's mdb module
4624658 update 386 TLS relocation values
4622472 LA_SYMB_DLSYM not set for la_symbind() invocations
4638070 ldd/ld.so.1 could aid in detecting unreferenced dependencies
4633860 Optimization for unused static global variables
4642829 ld.so.1 mprotect()'s text segment for weak relocations (it shouldn't)
4621479 'make' in $SRC/cmd/sgs/tools tries to install things in the proto area
4529912 purge ia64 source from sgs
4651709 dlopen(RTLD_NOLOAD) can disable lazy loading
4655066 crle: -u with nonexistent config file doesn't work
4654406 string tables created by the link-editor could be smaller...
4651493 RTLD_NOW can result in binding to an object prior to its init being run.
4662575 linker displacement relocation checking introduces significant linker overhead
linker displacement relocation checking introduces significant linker overhead
4533195 ld interposes on malloc()/free() preventing support library from freeing memory
4630224 crle get's confused about memory layout of objects...
4664855 crle on application failed with ld.so.1 encountering mmap() returning ENOMEM err
4669582 latest dynamic linker causes libthread _init to get skipped
4671493 ld.so.1 inconsistently assigns PATHNAME() on primary objects
4668517 compile with map.bssalign doesn't copy _iob to bss

(from 112833-01)

4616944 ar seg faults when order of object files is reversed

Patch Installation Instructions:
--------------------------------

For Solaris 2.0-2.6 releases, refer to the Install.info file and/or
the README within the patch for instructions on using the generic
'installpatch' and 'backoutpatch' scripts provided with each patch.

For Solaris 7-9 releases, refer to the man pages for instructions
on using 'patchadd' and 'patchrm' scripts provided with Solaris.
Any other special or non-generic installation instructions should be
described below as special instructions.  The following example
installs a patch to a standalone machine:

       example# patchadd /var/spool/patch/104945-02

The following example removes a patch from a standalone system:

       example# patchrm 104945-02

For additional examples please see the appropriate man pages.

Special Install Instructions:
----------------------------

None.