Patch-ID# 109147-14
Keywords: dlsym dlclose linker INITFIRST crle rtld symlinks secure link_audit
Synopsis: SunOS 5.8: Linker patch
Date: Jan/18/2002

Solaris Release: 8

SunOS Release: 5.8

Unbundled Product: 

Unbundled Release: 

Xref: This patch available for x86 as patch 109148

Topic: SunOS 5.8: Linker patch

Relevant Architectures: sparc

BugId's fixed with this patch: 4040628 4077245 4103449 4187211 4204447 4210412 4213100 4219652 4235315 4239213 4243097 4248250 4250694 4255943 4270931 4287274 4289232 4291384 4297563 4300018 4300120 4303609 4306415 4309212 4310324 4310901 4311226 4312449 4313765 4316531 4318162 4321634 4322528 4322581 4324134 4324324 4324775 4327653 4329785 4334617 4335801 4336102 4336980 4338812 4340878 4341496 4343417 4343801 4344528 4346001 4346144 4346615 4349137 4349563 4351197 4351715 4352233 4352330 4354500 4355795 4356879 4357805 4358751 4358862 4366905 4367118 4367405 4368846 4369068 4371114 4372554 4377735 4377941 4381116 4381783 4385402 4390308 4391527 4393044 4394212 4394698 4401232 4401815 4402861 4404547 4413168 4413322 4418274 4421842 4429371 4432224 4433643 4446115 4446564 4447560 4448531 4450225 4450433 4452202 4452220 4453241 4453398 4455802 4460230 4461760 4461890 4462245 4462748 4463473 4465871 4467068 4468779 4469031 4469400 4469566 4469684 4470493 4475174 4475514 4481851 4482035 4485320 4488954 4491434 4492883 4496718 4496963 4497270 4499413 4503457 4503625 4503731 4503748 4503768 4505289 4506164 4510264 4513842 4515913 4516434 4518079 4519569 4521931 4524512 4524735 4524767

Changes incorporated in this version: 4213100 4270931 4289232 4291384 4300120 4377735 4404547 4413322 4418274 4429371 4432224 4433643 4446115 4446564 4448531 4450225 4453241 4453398 4455802 4460230 4461760 4461890 4462245 4462748 4465871 4467068 4468779 4469031 4469400 4469566 4469684 4470493 4475174 4475514 4481851 4482035 4485320 4491434 4492883 4496718 4496963 4497270 4499413 4503457 4503625 4503731 4503748 4503768 4510264 4515913 4516434 4518079 4519569 4521931 4524512 4524735 4524767

Patches accumulated and obsoleted by this patch: 110791-01

Patches which conflict with this patch: 

Patches required with this patch: 

Obsoleted by: 

Files included with this patch: 

/etc/lib/ld.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/size
/usr/ccs/bin/sparcv9/dump
/usr/ccs/bin/sparcv9/elfdump
/usr/ccs/bin/sparcv9/ld
/usr/ccs/bin/sparcv9/mcs
/usr/ccs/bin/sparcv9/nm
/usr/ccs/bin/sparcv9/size
/usr/ccs/bin/sparcv9/strip
/usr/ccs/bin/strip
/usr/demo/librtld_db/common/rdb.h
/usr/demo/librtld_db/sparc/rdb_mach.h
/usr/demo/librtld_db/sparcv9/rdb_mach.h
/usr/demo/link_audit/man/sotruss.man 		(deleted)
/usr/demo/link_audit/man/whocalls.man 		(deleted)
/usr/include/dlfcn.h
/usr/include/gelf.h
/usr/include/libelf.h
/usr/include/link.h
/usr/include/rtld_db.h
/usr/include/sys/auxv.h
/usr/include/sys/elf.h
/usr/include/sys/elf_386.h
/usr/include/sys/elf_SPARC.h
/usr/include/sys/elf_ia64.h
/usr/include/sys/elftypes.h
/usr/include/sys/link.h
/usr/include/sys/machelf.h
/usr/lib/0@0.so.1
/usr/lib/ld.so
/usr/lib/ld.so.1
/usr/lib/lddstub
/usr/lib/libcrle.so.1
/usr/lib/libdl.so.1
/usr/lib/libelf.a
/usr/lib/libelf.so.1
/usr/lib/libld.so.2
/usr/lib/libld.so.3
/usr/lib/liblddbg.so.4
/usr/lib/libldstab.so.1
/usr/lib/librtld.so.1
/usr/lib/librtld_db.so.1
/usr/lib/link_audit/32
/usr/lib/link_audit/64
/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/secure/32
/usr/lib/secure/64
/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:

4485320 ld needs to support more the 32768 PLTs
4291384 ld -M with a map file does not properly align Fortran REAL*8 data
4413322 librtld_db doesn't show dlopened ".o" files anymore?
4429371 librtld_db busted on ia32 with SC6.x compilers...
4418274 elfdump dumps core on invalid input
4432224 libelf xlate routines are out of date
4433643 Memory leak using dlopen()/dlclose() in Solaris 8
4446564 ldd/lddstub - core dump conditions
4446115 translating SUNW_move sections is broken
4450225 The rdb command can fall into an infinite loop
4448531 Linker Causes Segmentation Fault
4453241 Regression in 4291384 can result in empty symbol table.
4453398 invalid runpath token can cause ld to spin.
4460230 ld loses error message
4462245 ld.so.1 core dumps when executed directly...
4455802 need more flexibility in establishing a support library for ld
4467068 dyn_plt_entsize not properly initialized in ld.so.1
4468779 elf_plt_trace_write() broken on i386 (link-auditing)
4465871 -zld32 and -zld64 does not work the way it should
4461890 bad shared object created with -zredlocsym
4469400 ld.so.1: is_so_loaded isn't as efficient as we thought...
4469566 lazy loading fallback can reference un-relocated objects
4470493 libelf incorrectly translates NOTE sections across architectures...
4469684 rtld leaks dl_handles and permits on dlopen/dlclose
4475174 ld.so.1 prematurely reports the failure to load an object...
4475514 ld.so.1 can core dump in memory allocation fails (no swap)
4481851 Setting ld.so.1 environment variables globally would be useful
4482035 setting LD_PROFILE & LD_AUDIT causes ping command to issue warnings on Solaris 8
4377735 segment reservations cause sbrk() to fail
4491434 ld.so.1 can leak file-descriptors when loading same named objects
4289232 some of warning/error/debugging messages from libld.so can be revised
4462748 Linker Portion of TLS Support
4496718 run-time linkers mutex_locks not working with ld_libc interface
4497270 The -zredlocsym option should not eliminate partially initialized local symbols.
4496963 dumping an object with crle(1) that uses $ORIGIN can lose its dependencies
4499413 Sun linker orders of magnitude slower than gnu linker
4461760 lazy loading libXm and libXt can fail.
4469031 The partial initialized (local) symbols for intel platform is not working.
4492883 Add link-editor option to multi-pass archives to resolve unsatisfied symbols
4503731 linker-related commands misspell "argument"
4503768 whocalls(1) should output messages to stderr, not stdout
4503748 whocalls(1) usage message and manpage could be improved
4503625 nm should be taught about TLS symbols
4300120 segment address validation is too simplistic to handle segment reservations
4404547 krtld/reloc.h could have better error message, has typos
4270931 R_SPARC_HIX22 relocation is not handled properly
4516434 sotruss can not watch libc_psr.so.1
4213100 sotruss could use more flexible pattern matching
4503457 ld seg fault with comdat
4510264 sections with SHF_TLS can come in different orders...
4518079 link-editor support library unable to modify section header flags
4515913 ld.so.1 can incorrectly decrement external reference counts on dlclose()
4519569 ld -V does not return an interesting value...
4524512 ld.so.1 should allow alternate termination signals
4524767 elfdump dies on bogus sh_name fields...
4524735 ld getopt processing of '-' changed
4521931 subroutine in a shared object as LOCL instead of GLOB
 
(from 109147-13)
 
4505289 incorrect handling of _START_ and _END_
4506164 mcs does not recognize #linkbefore or #linkafter qualifiers
4447560 strip is creating unexecutable files...
4513842 library names not in ld.so string pool cause corefile bugs
 
(from 109147-12)
 
4488954 ld.so.1 reuses same buffer to send ummapping range to _preexec_exit_handlers()
 
(from 109147-11)
 
4463473 pldd showing wrong output
 
(from 109147-10)
 
4421842 fixups in SHT_GROUP processing required...
4450433 problem with liblddbg output on -Dsection,detail when processing SHF_LINK_ORDER
 
(from 109147-09)
 
4452220 dump doesn't support RUNPATH
4452202 Typos in <sys/link.h>
 
(from 109147-08)
 
4368846 ld(1) fails to version some interfaces given in a mapfile
4077245 dump core dump on null pointer.
4372554 elfdump should demangle symbols (like nm, dump)
4371114 dlclose may unmap a promiscuous object while it's still in use.
4204447 elfdump should understand SHN_AFTER/SHN_BEFORE macro
4377941 initialization of interposers may not occur
4381116 ldd/ld.so.1 could aid in detecting unused dependencies
4381783 dlopen/dlclose of a libCrun+libthread can dump core
4385402 linker & run-time linker must support gABI ELF updates
4394698 ld.so.1 does not process DF_SYMBOLIC - not gABI conforming
4394212 the link editor quietly ignores missing support libraries
4390308 ld.so.1 should provide more flexibility LD_PRELOAD'ing 32-bit/64-bit objects
4401232 crle(1) could provide better flexibility for alternatives
4401815 fix misc nits in debugging output...
4402861 cleanup /usr/demo/link_audit & /usr/tmp/librtld_db demo source code...
4393044 elfdump should allow raw dumping of sections
4413168 SHF_ORDERED bit causes linkerto generate a separate section
 
(from 109147-07)
 
4352330 LD_PRELOAD cannot use absolute path for privileged program
4346144 link-auditing: plt_tracing fails if LA_SYMB_NOPLTENTER given after being bound
4346001 The ld should support mapfile syntax to generate PT_SUNWSTACK segment
4349137 rtld_db: A third fallback method for locating the linkmap
4343417 dladdr interface information inadequate
4343801 RFE: crle(1): provide option for updating configuration files
4346615 ld.so.1 attempting to open a directory gives: No such device
4352233 crle should not honor umask
4357805 RFE: man page for ld(1) does not document all -z or -B options in Solaris 8 9/00
4358751 ld.so.1: LD_XXX environ variables and LD_FLAGS should be synchronized.
4358862 link-editors should reference "64" symlinks instead of sparcv9 (ia64).
4356879 PLTs could use faster code sequences in some cases
4367118 new fast baplt's fail when traversed twice in threaded application
4366905 Need a way to determine path to a shared library
4351197 nfs performance problem by 103627-13
4367405 LD_LIBRARY_PATH_64 not being used
4354500 SHF_ORDERED ordered sections does not properly sort sections
4369068 ld(1)'s weak symbol processing is inefficient (slow and doesn't scale).
 
(from 109147-06)
 
4349563 auxiliary filter error handling regression introduced in earlier patch
4355795 ldd -r now gives "displacement relocated" warnings
 
(from 109147-05)
 
4210412 versioning a static executable causes ld to core dump
4219652 Linker gives misleading error about not finding
4103449 ld command needs a command line flag to force 64-bits
4187211 problem with RDISP32 linking in copy-relocated objects
4287274 dladdr, dlinfo do not provide the full path name of a
4297563 dlclose still does not remove all objects
4250694 rtld_db needs a new auxvec entry
4235315 new features for rtld_db (DT_CHECKSUM, dynamic
4303609 64bit libelf.so.1 does not properly implement
4310901 su.static fails when OSNet build with lazy-loading
4310324 lf_errno() causes Bus Error(coredump) in 64-bit
4306415 ld core dump
4316531 BCP: possible failure with
4313765 LD_BREADTH should be shot
4318162 crle uses automatic strings in putenv.
4255943 Description of -t option incomplete.
4322528 sgs message test infrastructure needs improvement
4239213 Want an API to obtain linker's search path
4324134 use of extern mapfile directives can contribute unused
4322581 ELF data structures could be laid out more
4040628 Unnecessary section header symbols should be removed
4300018 rtld: bindlock should be freed before calling
4336102 dlclose with non-deletable objects can mishandle
4329785 mixing of SHT_SUNW_COMDAT & SHF_ORDERED causes ld to
4334617 COPY relocations should be produces for references to
4248250 relocation of local ABS symbols incorrect
4335801 For complimentary alignments eliminate ld: warning:
4336980 ld.so.1 relative path processing revisited
4243097 dlerror(3DL) is not affected by setlocale(3C).
4344528 dump should remove -D and -l usage message
4351715 Solaris 8 update 2 Build 06 has mismatched ld.so.1 and librtld_db.so.1
 
(from 109147-04)
 
4338812 crle(1) omits entries in the directory cache
4340878 rtld should treat $ORIGIN like LD_LIBRARY_PATH in security issues
4341496 provide a static version of /usr/bin/crle
 
(from 109147-03)
 
	This patch revision was generated to include missing deliverables.
 
4324775 non-PIC code & -zcombreloc don't mix very well...
4327653 run-time linker should preload tables it will process (madvise)
4324324 shared object code can be referenced before .init has fired
4321634 .init firing of multiple INITFIRST objects can fail
 
(from 109147-02)
 
4324775 non-PIC code & -zcombreloc don't mix very well...
4327653 run-time linker should preload tables it will process (madvise)
4324324 shared object code can be referenced before .init has fired
4321634 .init firing of multiple INITFIRST objects can fail
 
(from 109147-01)
 
4309212 dlsym can't find symbol
4311226 rejection of preloading in secure apps is inconsistent
4312449 dlclose: invalid deletion of dependency can occur using RTLD_GLOBAL
 
(from 110791-01)
 
4391527 Missing link /usr/lib/secure/64 -> /usr/lib/secure/sparcv9 in s8u3_07 SUNWcsxu

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-8 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:  Friday, January 18, 2002

