Patch-ID# 109147-07
Keywords: dlsym dlclose RTLD_GLOBAL linker INITFIRST crle rtld
Synopsis: SunOS 5.8: linker patch
Date: 02/Nov/00

Solaris Release: 8

SunOS release: 5.8

Unbundled Product: 

Unbundled Release: 

Topic: SunOS 5.8: linker patch

BugId's fixed with this patch: 4040628 4103449 4187211 4210412 4219652 4235315 4239213 4243097 4248250 4250694 4255943 4287274 4297563 4300018 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 4369068 

Changes incorporated in this version: 4343417 4343801 4346001 4346144 4346615 4349137 4351197 4352233 4352330 4354500 4356879 4357805 4358751 4358862 4366905 4367118 4367405 4369068

Relevant Architectures: sparc

Patches accumulated and obsoleted by this patch:  

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/sparcv9/pvs
/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/include/dlfcn.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/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/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/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/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:

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 infrastucture 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 layed 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 relcoation 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

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

