Patch-ID# 112963-09
Keywords: security ar faults linker la_symb_dlsym rtld crle libthread dlmopen
Synopsis: SunOS 5.9: linker patch
Date: Jul/28/2003


Install Requirements: Install in Single User Mode                      
                      Reboot after installation                      
                      
Solaris Release: 9

SunOS Release: 5.9

Unbundled Product: 

Unbundled Release: 

Xref: This patch available for x86 as patch 113986

Topic: SunOS 5.9: linker patch

Relevant Architectures: sparc

BugId's fixed with this patch: 4461340 4470917 4504895 4526752 4529912 4533195 4546416 4616944 4621479 4622472 4624658 4630224 4633860 4638070 4642829 4651493 4651709 4654406 4655066 4662575 4664855 4668517 4669582 4671493 4696204 4698800 4701749 4706503 4707808 4710814 4714146 4715815 4716929 4728822 4730110 4730433 4731183 4739660 4743413 4744337 4744411 4745129 4745932 4746231 4753066 4754751 4755674 4765536 4766815 4770484 4770494 4772927 4774727 4775738 4778247 4778418 4779976 4783869 4787579 4790194 4792461 4793721 4796237 4802194 4804328 4806476 4811093 4811951 4811969 4816378 4817314 4824026 4825065 4825296 4826315 4830584 4830889 4831544 4831650 4834784 4838226 4845764 4872634

Changes incorporated in this version: 4470917 4744411 4811093 4811969 4825065 4826315 4830889 4838226 4845764 4872634

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:

4744411 Bloomberg wants a faster linker
4470917 Solaris Process Model Unification
4811969 64-bit links can be much slower than 32-bit
4825065 ld(1) should ignore consecutive empty sections.
4838226 unrelocated shared objects may be erroneously collected for init firing
4830889 TLS: testcase coredumps with -xarch=v9 and -g
4845764 filter removal can leave dangling filtee pointer
4811093 apptrace -F libc date core dumps
4826315 Link editors need to be pre- and post- Unified Process Model aware
4872634 Large LD_PRELOAD values can cause SEGV of process
 
(from 112963-08)
 
4830584 mmap for the padding region doesn't get freed after dlclose
4831650 ld.so.1 can walk off the end of it's call_init() array...
4831544 ldd using .so modules compiled with FD7 compiler caused a core dump
4834784 Accessing members in a TLS structure causes a core dump in Oracle
4824026 segv when -z combreloc is used with -xlinkopt
4825296 typo in elfdump
 
(from 112963-07)
 
4731183 compiler creates .tlsbss section instead of .tbss as documented
4816378 TLS: a tls test case dumps core with C and C++ compilers
4817314 TLS_GD relocations against local symbols do not reference symbol...
4811951 non-default symbol visibility overridden by definition in shared object
4802194 relocation error of mozilla built by K2 compiler
4715815 ld should allow linking with no output file (or /dev/null)
4793721 Need a way to null all code in ISV objects enabling ld performance tuning
4796237 RFE: link-editor became extremely slow with patch 109147-20 and static libraries
 
(from 112963-06)
 
4792461 Thread-Local Storage - x86 instruction sequence updates
4730110 ld.so.1 list implementation could scale better
4728822 restrict the objects dlsym() searches.
4714146 crle: 64-bit secure pathname is incorrect.
4504895 dlclose() does not remove all objects
4698800 Wrong comments in /usr/lib/ld/sparcv9/map.*
4745129 dldump is inconsistent with .dynamic processing errors.
4753066 LD_SIGNAL isn't very useful in a threaded environment
4765536 crle: symbolic links can confuse alternative object configuration info
4766815 ld -r of object the TLS data fails
4770484 elfdump can not handle stripped archive file
4770494 The ld command gives improper error message handling broken archive file
4775738 overwriting output relocation table when 'ld -zignore' is used
4778247 elfdump -e of core files fails
4779976 elfdump dies on bad relocation entries
4787579 invalid SHT_GROUP entries can cause linker to seg fault
4783869 dlclose: filter closure exhibits hang/failure - introduced with 4504895
4778418 ld.so.1: there be nits out there
4461340 sgs: ugly build output while suppressing ia64 (64-bit) build on Intel
4790194 dlopen(..., RTLD_GROUP) has an odd interaction with interposition
4804328 auditing of threaded applications results in deadlock
4806476 building relocatable objects with SHF_EXCLUDE loses relocation information
 
(from 112963-05)
 
4772927 strip core dumps on an archive library
4774727 direct-binding can fail against copy-reloc symbols
 
(from 112963-04)
 
4755674 Patch 109147-18 results in coredump.
4739660 Threads deadlock in schedlock and dynamic linker lock.
4743413 ld.so.1 doesn't terminate argv with NULL pointer when invoked directly
4746231 linker core-dumps when SECTION relocations are made against discarded sections
4730433 ld.so.1 wastes time repeatedly opening dependencies
4744337 missing RD_CONSISTENT event with dlmopen(LD_ID_NEWLM, ...)
4745932 strip utility doesn't strip out Dwarf2 debug sections
4754751 "strip" command doesn't remove comdat stabs sections.
 
(from 112963-03)
 
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 Solaris 8 linker patch.
 
(from 112963-01)
 
4526752 we should build and ship ld.so's mdb module
4529912 purge ia64 source from sgs
4533195 ld interposes on malloc()/free() preventing support library from freeing memory
4546416 add help messages to ld.so mdbmodule
4621479 'make' in $SRC/cmd/sgs/tools tries to install things in the proto area
4622472 LA_SYMB_DLSYM not set for la_symbind() invocations
4624658 update 386 TLS relocation values
4630224 crle get's confused about memory layout of objects...
4633860 Optimization for unused static global variables
4638070 ldd/ld.so.1 could aid in detecting unreferenced dependencies
4642829 ld.so.1 mprotect()'s text segment for weak relocations (it shouldn't)
4651493 RTLD_NOW can result in binding to an object prior to its init being run
4651709 dlopen(RTLD_NOLOAD) can disable lazy loading
4654406 string tables created by the link-editor could be smaller...
4655066 crle: -u with nonexistent config file doesn't work
4662575 linker displacement relocation checking introduces significant linker overhead
4664855 crle on application failed with ld.so.1 encountering mmap() returning ENOMEM err
4668517 compile with map.bssalign doesn't copy _iob to bss
4669582 latest dynamic linker causes libthread _init to get skipped
4671493 ld.so.1 inconsistently assigns PATHNAME() on primary objects
 
(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.

README -- Last modified date:  Tuesday, October 14, 2003

