Patch-ID# 106951-06
Keywords: ld.so setuid libld.so.2 dlclose memory register linker CPU99
Synopsis: SunOS 5.7_x86: linker patch
Date: 12/May/99

Solaris Release: 7_x86

SunOS release: 5.7_x86

Unbundled Product: 

Unbundled Release: 

Topic: SunOS 5.7_x86: linker patch

BugId's fixed with this patch: 4159122 4165487 4173576 4174468 4176579 4176796 4179880 4188527 4188843 4194264 4205087 4214649 4215164 4215587 4225937 4234657 4235241 

Changes incorporated in this version: 4215164 4215587 4225937 4234657 4235241

Relevant Architectures: i386

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:

/usr/bin/ldd
/usr/bin/pvs
/usr/ccs/bin/dump
/usr/ccs/bin/elfdump
/usr/ccs/bin/gprof
/usr/ccs/bin/ld
/usr/ccs/bin/lorder
/usr/ccs/bin/mcs
/usr/ccs/bin/nm
/usr/ccs/bin/size
/usr/ccs/bin/strip
/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/lib/0@0.so.1
/usr/lib/ld.so.1
/usr/lib/lddstub
/usr/lib/libdl.so.1
/usr/lib/libelf.a
/usr/lib/libelf.so.1
/usr/lib/libld.so.2
/usr/lib/liblddbg.so.4
/usr/lib/librtld.so.1
/usr/lib/librtld_db.so.1
/usr/lib/link_audit/ldprof.so.1

Problem Description:

4215587 using ld and the -r option on solaris 7 with compiler option -xarch=v9 causes link errors
4234657 103627-08 breaks purify 4.2 (plt padding should not be enabled for 32-bit)
4235241 dbx no longer gets dlclose notification.
4215164 shf_order flag handling is broken
4225937 i386 linker emits sparc specific warning messages

(from 106951-05)

4194264 Gprof segmentation fault with CPU99 code

(from 106951-04)

4214649 cyclic dependencies within tsorted inits can fail with lazy loading
4165487 lazy loading updates required

(from 106951-03)

4173576 Segmentation Fault on register-symbol declaration building a.out
4174468 scratch register symbol has multiple entries in .dynamic for same register
4179880 DT_RELASZ in .dynamic incorrectly calculated when .rela for reg-sym present
4188527 lorder output incorrect for v9 objects with global register ELF records
4188843 nm -p produces key letter of 13 for global register records
4205087 linker patch 103627-08 breaks viewpathing

(from 106951-02)

4159122 UNIX98:  dlclose() to invalid handle may dump core

(from 106951-01)

4176579 problem loading dynamically linked libraries with setuid root
4176796 The Intel version of visu crashes before main

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 release, 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.

