Patch-ID# 117461-04
Keywords: security ld libld race condition large pages
Synopsis: SunOS 5.10: ld Patch
Date: Jul/15/2005


Install Requirements: NA                      
                      
Solaris Release: 10

SunOS Release: 5.10

Unbundled Product: 

Unbundled Release: 

Xref: This patch available for x86 as patch 117462

Topic: SunOS 5.10: ld Patch

Relevant Architectures: sparc

BugId's fixed with this patch: 4638717 5080443 6208532 6209350 6212797 6215444 6219132 6219317 6219538 6219651 6222525 6226206 6226484 6228472 6228709 6233624 6234710 6235000 6236942 6237078 6237197 6241995 6244897 6246138 6251722 6251798 6254364 6257177 6258834 6260361 6260780 6261803 6261990 6262789 6266261 6267352 6268693 6276905 6280467 6283601 6284941 6291547

Changes incorporated in this version: 5080443 6215444 6219317 6219651 6222525 6226206 6228472 6235000 6241995 6244897 6251722 6251798 6254364 6257177 6258834 6260361 6260780 6261803 6261990 6262789 6266261 6267352 6268693 6276905 6280467 6283601 6284941 6291547

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: 

/lib/ld.so.1
/lib/libdl.so.1
/lib/libelf.so.1
/lib/libld.so.2
/lib/libld.so.3
/lib/liblddbg.so.4
/lib/librtld.so.1
/lib/librtld_db.so.1
/lib/sparcv9/ld.so.1
/lib/sparcv9/libdl.so.1
/lib/sparcv9/libelf.so.1
/lib/sparcv9/libld.so.2
/lib/sparcv9/libld.so.3
/lib/sparcv9/liblddbg.so.4
/lib/sparcv9/librtld.so.1
/lib/sparcv9/librtld_db.so.1
/usr/bin/crle
/usr/bin/ldd
/usr/ccs/bin/ld
/usr/ccs/bin/sparcv9/ld
/usr/include/dlfcn.h
/usr/include/link.h
/usr/include/sys/link.h
/usr/lib/ld.so
/usr/lib/lddstub
/usr/lib/libcrle.so.1
/usr/lib/libldstab.so.1
/usr/lib/sparcv9/lddstub
/usr/lib/sparcv9/libcrle.so.1
/usr/lib/sparcv9/libldstab.so.1

Problem Description:

This patch revision delivers completely the fixes intended for
        revision -03.

(from 117461-03)

5080443 lazy loading failure doesn't clean up after itself
6226206 ld.so.1 failure when processing single segment hwcap filtee
6228472 ld.so.1: link-map control list stacking can lose objects
6235000 random packages not getting installed in snv_09 and snv_10 - 
        rtld/common/malloc.c Assertion
6219317 Large page support is needed for mapping executables, libraries and files
6244897 ld.so.1 can't run apps from commandline
6251798 moe(1) returns an internal assertion failure message in some circumstances
6251722 ld fails silently with exit 1 status when -z ignore passed
6254364 ld won't build libgenunix.so with absolute relocations
6215444 ld.so.1 caches "not there" lazy libraries, foils svc.startd(1M)'s logic
6222525 dlsym(3C) trusts caller(), which may return wrong results with tail 
        call optimization
6241995 warnings in sgs should be fixed
6258834 direct binding availability should be verified at runtime
6260361 lari shouldn't count a.out non-zero undefined entries as interesting
6260780 ldd doesn't recognize LD_NOAUXFLTR
6266261 Add ld(1) -Bnodirect support
6261990 invalid e_flags error could be a little more friendly
6261803 lari(1) should find more events uninteresting
6267352 libld_malloc provides inadequate alignment
6268693 SHN_SUNW_IGNORE symbols should be allowed to be multiply defined
6262789 Infosys wants a faster linker
6257177 incremental builds of usr/src/cmd/sgs can fail...
6219651 AMD64: Linker does not issue error for out of range R_AMD64_PC32
6283601 The usr/src/cmd/sgs/packages/common/copyright contains old information 
        legally problematic
6276905 dlopen/LinkMap gives inconsistent results (relative vs absolute linkname)
6284941 excessive link times with many groups/sections
6280467 dlclose() unmaps shared library before library's _fini() has finished
6291547 ld.so mishandles LD_AUDIT causing security problems.

(from 117461-02)

4638717 panic: assertion failed: eaddr < lpgeaddr, common/vm/seg_vn.c, line: 3798
6208532 Giant Pages support required for [D]ISM on Panther
6219132 support for Cherrystone changing the Panther default [D]ISM pagesize is lacking
6219317 Large page support is needed for mapping executables, libraries and files
6226484 hat_setpagesize removal clobbered bugfix for 5093352
6228709 page_migrate() always fails for large pages
6233624 page_do_relocate() doesn't wake up a thread waiting on old page in page_lock_es()
6234710 page_relocate_cage doesn't do pcf accounting before allocating a new page
6236942 anon_map_privatepages() may misaccount availrmem
6237078 pmap <pid> generates COW faults in the pid's address space
6237197 pvn_write_done() seems to loop during Stress test and drives system to hung state
6246138 race condition between hat_pagesync() and hment_prepare()

(from 117461-01)

6209350 Do not include signature section from dynamic dependency library into 
        relocatable object
6212797 The binary compiled on SunOS 4.x doesn't run on Solaris8 with Patch 109147-31
6219538 112963-17: linker patch causes binary to dump core

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-10 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:
--------------------------

NOTE 1:  If you're planning to set up Zones on this system, please
         make sure to install the following patch which fixes bugid
         6216195 (zone installation confused by UPDATE=yes in
         pkginfo(4) file.)

         119015-01 (or greater)  packaging commands patch

NOTE 2: To get the complete fix for RFE 6219317 and bugids 4638717,
        6208532, 6219132, 6219317, 6226484, 6228709, 6233624,
        6234710, 6236942, 6237078, 6237197 and 6246138, please 
        also install the following patches:

        118846-01 (or greater)  truss patch
        118835-01 (or greater)  ku patch
        118848-01 (or greater)  ld patch

README -- Last modified date:  Friday, July 15, 2005

