Patch-ID# 121208-03

NOTE:
***********************************************************************
READ THE TERMS OF THE AGREEMENT ("AGREEMENT") IN THE LEGAL_LICENSE.TXT
FILE CAREFULLY BEFORE USING THIS SOFTWARE. BY USING THE SOFTWARE, YOU
AGREE TO THE TERMS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE
TERMS, PROMPTLY DESTROY THE UNUSED SOFTWARE.
***********************************************************************

Keywords: security libc ld libc ld libc newboot pmap thread stacks
Synopsis: SunOS 5.10_x86: ld & libc.so.1 Patch
Date: Feb/21/2006


Install Requirements: Reboot immediately after patch is installed                      
                      Install in Single User Mode                      
                      
Solaris Release: 10_x86

SunOS Release: 5.10_x86

Unbundled Product: 

Unbundled Release: 

Xref: This patch available for SPARC as patch 119689

Topic: SunOS 5.10_x86: ld & libc.so.1 Patch

Relevant Architectures: i386

BugId's fixed with this patch: 4638717 4932869 4954703 4957830 5042855 5080443 6198351 6208532 6209350 6210936 6212406 6212797 6213868 6214604 6214687 6214698 6214721 6214834 6215000 6215218 6215444 6216134 6219132 6219142 6219317 6219538 6219651 6221845 6222525 6225908 6226206 6226484 6228472 6228709 6231288 6233624 6234594 6234710 6235000 6236594 6236942 6237078 6237196 6237197 6237355 6237357 6238277 6239984 6240160 6241995 6243444 6244897 6245233 6245953 6246138 6251722 6251754 6251798 6254364 6257150 6257177 6258834 6260361 6260780 6261803 6261990 6262789 6263065 6263070 6266261 6267352 6268693 6269525 6270398 6272563 6273855 6273864 6273875 6276905 6280467 6283601 6284941 6290157 6291547 6295971 6299525 6301218 6309061 6310736 6311865 6314115 6314627 6314743 6318306 6318401 6321607 6324019 6324589 6329796 6332983 6336945 6348147 6356925

Changes incorporated in this version: 6348147 6356925

Patches accumulated and obsoleted by this patch: 118345-13 118565-03 118849-01 120018-02

Patches which conflict with this patch: 

Patches required with this patch: 118844-14 118844-22 (or greater)

Obsoleted by: 

Files included with this patch: 

/etc/lib/ld.so.1
/etc/lib/libdl.so.1
/lib/amd64/ld.so.1
/lib/amd64/libc.so.1
/lib/amd64/libdl.so.1
/lib/amd64/libelf.so.1
/lib/amd64/libld.so.2
/lib/amd64/libld.so.3
/lib/amd64/liblddbg.so.4
/lib/amd64/libproc.so.1
/lib/amd64/librtld.so.1
/lib/amd64/librtld_db.so.1
/lib/ld.so.1
/lib/libc.so.1
/lib/libdl.so.1
/lib/libelf.so.1
/lib/libld.so.2
/lib/libld.so.3
/lib/liblddbg.so.4
/lib/libproc.so.1
/lib/librtld.so.1
/lib/librtld_db.so.1
/usr/bin/crle
/usr/bin/ldd
/usr/ccs/bin/amd64/ld
/usr/ccs/bin/elfdump
/usr/ccs/bin/ld
/usr/include/dlfcn.h
/usr/include/link.h
/usr/include/sys/link.h
/usr/lib/amd64/ld.so.1
/usr/lib/amd64/lddstub
/usr/lib/amd64/libcrle.so.1
/usr/lib/amd64/libld.so.2
/usr/lib/amd64/libld.so.3
/usr/lib/amd64/liblddbg.so.4
/usr/lib/amd64/libldstab.so.1
/usr/lib/amd64/libproc.so.1
/usr/lib/amd64/libproject.so.1
/usr/lib/amd64/librtld.so.1
/usr/lib/amd64/librtld_db.so.1
/usr/lib/ld.so.1
/usr/lib/lddstub
/usr/lib/libc/libc_hwcap1.so.1
/usr/lib/libc/libc_hwcap2.so.1
/usr/lib/libcrle.so.1
/usr/lib/libld.so.2
/usr/lib/libld.so.3
/usr/lib/liblddbg.so.4
/usr/lib/libldstab.so.1
/usr/lib/libproc.so.1
/usr/lib/libproject.so.1
/usr/lib/librtld.so.1
/usr/lib/librtld_db.so.1
/usr/lib/link_audit/amd64/who.so.1
/usr/lib/link_audit/who.so.1

Problem Description:

6348147 POSIX timezones 2007 transition dates - U.S. Energy Policy Act of 2005
6356925 problems with patch 118565-03 -> system hang -> reboot required
 
(from 121208-02)
 
6309061 link_audit should use __asm__ with gcc
6310736 gcc and sgs/libld don't get along on SPARC
6329796 Memory leak with iconv_open/iconv_close with patch 109147-33
6332983 s9 linker patches 112963-24/113986-20 causing cluster machines not to boot
 
(from 121208-01)
 
6336945 libc patch cannot be applied to Solaris 10 HW1
 
(from 118345-13)
 
This revision accumulates S10U1 feature point patch 120018-02.
 
(from 118345-12)
 
6321607 patch 118345-09 fails to install on alternate root systems with differing KU revisions on partitions
 
(from 118345-11)
 
6314115 Checkpoint refuses to start, crashes on start, after application of linker patch 112963-22
6318306 a dlsym() from a filter should be redirected to an associated filtee
6318401 misaligned TLS variable
6324019 ld.so.1: malloc alignment is insufficient for new compilers
6324589 psh coredumps on x86 machines on snv_23
6236594 AMD64: Linker needs to handle the new .lbss section
6314743 Linker: incorrect resolution for R_AMD64_GOTPC32
6311865 Linker: x86 medium model; invalid ELF program header
 
(from 118345-10)
 
6234594 blocking SIGCANCEL prevents pthread_cancel from working
 
(from 118345-09)
 
6270398 _nss_XbyY_fgets() does not set errno correctly when the group entry has >= 2047 characters
6314627 patch 118345 with revs higher that rev 04 (rev 05 to rev 08 inclusive) render the system unusable
 
(from 118345-08)
 
6295971 UNIX98/UNIX03 *vsx* DYNL.hdr/misc/dlfcn/T.dlfcn 14 fails, auxv.h syntax error
6299525 .init order failure when processing cycles
6273855 gcc and sgs/crle don't get along
6273864 gcc and sgs/libld don't get along
6273875 gcc and sgs/rtld don't get along
6272563 gcc and amd64/krtld/doreloc.c don't get along
6290157 gcc and sgs/librtld_db/rdb_demo don't get along
6301218 Matlab dumps core on startup when running on 112963-22
 
(from 118345-07)
 
6214687 posix_spawn_file_actions_{addopen,addclose,adddup2} need EBADF returns
6214698 clock_nanosleep() should return the error value rather than -1
6215000 declare availability (or not) of SUSv3 ADVANCED REALTIME features
6239984 system(3C) can be made safe to use by multiple threads concurrently
6245233 UNIX03: *vsth* CLOCK_THREAD_CPUTIME_ID is not defined in <time.h>
 
(from 118345-06)
 
6231288 libc initialization needs to cooperate better with dtrace
6269525 pthread_cancel() in an atfork handler causes hang when linked with libnsl
 
(from 118345-05)
 
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 command line
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.
6210936 segmentation support is broken on x86
6212406 fallback syscall path should use software interrupt
6214604 Fix for 6210868 breaks mplayer/totem on amd64
6216134 Need to abstract lwp lrusage updates into functions
6219142 device contexts should have exit operation
6237355 dtrace traps must be excluded from apic_allocate_vector()
6237357 lddstub should be added to the list of check_rtime exceptions
6240160 bfu must run all dependent scripts in its protected environment
6243444 pxfs ufs functions should use lwp_stat_update
6245953 amd64 kernel can use sysret - don't blame hardware
6251754 kcpc_counts_include_idle broken on amd64
6257150 rugpull_present_ds_round.c panics amd64 kernel
 
(from 118345-04)
 
4954703 userland atomic.h port should include cas primitives
5042855 threads racing in _thrp_exit may result in uncalled atexit handlers
6214721 malloc(3c) and free(3c) can be made a little faster
6214834 rand(3c) / rand_r(3c) can be made substantially faster
6221845 SMT_PAUSE() instructions are missing from two libc spin loops
6225908 single threaded standard I/O performance can be improved
 
(from 118345-03)
 
6263065 libproject incorrectly uses __init_suid_priv
6263070 __init_suid_priv() should fail safe
 
(from 118345-02)
 
4932869 _nsw_getoneconfig[_v1]() need to check each return from strdup() isn't NULL
6198351 automounting causes EAGAIN for nftw(), hence find(1) can fail
6213868 AMD64: Unwind processing does not restore the correct value for %r12
6215218 AMD64: unwind does not always recognize base of stack for OMP threads
 
(from 118345-01)
 
4957830 Solaris x86 memmove can be optimized further
6209350 Do not include signature section from dynamic dependency library into relocatable object
6212797 The binary compiled on SunOS4.x doesn't run on Solaris8 with Patch 109147-31
6219538 112963-17: linker patch causes binary to dump core
 
(from 118849-01)
 
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 the system to hung state
6246138 race condition between hat_pagesync() and hment_prepare()
 
(from 120018-02)
 
Uprev due to gates intersection.
 
(from 120018-01)
 
6238277 Solaris needs a new boot architecture
 
(from 118565-03)
 
6210936 segmentation support is broken on x86
6212406 fallback syscall path should use software interrupt
6214604 Fix for 6210868 breaks mplayer/totem on amd64
6216134 Need to abstract lwp lrusage updates into functions
6219142 device contexts should have exit operation
6237355 dtrace traps must be excluded from apic_allocate_vector()
6237357 lddstub should be added to the list of check_rtime exceptions
6240160 bfu must run all dependent scripts in its protected environment
6243444 pxfs ufs functions should use lwp_stat_update
6245953 amd64 kernel can use sysret - don't blame hardware
6251754 kcpc_counts_include_idle broken on amd64
6257150 rugpull_present_ds_round.c panics amd64 kernel
 
(from 118565-02)
 
Uprev due to the missing deliverable binaries.
 
(from 118565-01)
 
6237196 pmap does not label thread stacks as documented

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:  Reboot system after patch installation is complete.
 
NOTE 2:  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.)
 
         119016-01 (or greater)  Packaging Commands Patch
 
NOTE 3:  To get the complete fix for RFE 6219317, bugids 4638717, 6208532,
         6219132, 6219317, 6226484, 6228709, 6233624, 6234710, 6236942,
         6237078, 6237197 and 6246138 please also install the following
         patch:
 
         118847-01 (or greater)  truss patch
 
NOTE 4:  To get the complete fix for 6210936 6212406 6214604 6216134 6219142
         6237355 6237357 6240160 6243444 6245953 6247143 6251754 6257150
         please also install the following patches:
 
         118376-03 (or greater)  nfs patch
         118565-03 (or greater)  libproc patch
         118813-01 (or greater)  hsfs patch
         118881-01 (or greater)  pcfs patch
         118886-01 (or greater)  specfs patch
         119076-07 (or greater)  ip patch
 
NOTE 5:  To get the complete fix for bugids 6214687 6214698 6215000 6239984
         6245233 please also install the following patch:
 
         118926-01 (or greater)  unistd header file patch
 
NOTE 6:  To get the complete fix for bugid 6211845 (increase the buffer
         for group entries in useradd/usermod), please also install the
         following patch:
 
         120051-01 (or greater)  usermod patch
 
NOTE 7:  To get the complete fix for "U.S. Energy Policy Act of 2005" which
         will change daylight saving time transition dates of United States
         timezones, beginning in 2007, please also install the following patch:
 
         122033-01 (or greater)  Update timezones patch
 
         Solaris supports two types of timezones:  POSIX timezones and zoneinfo
         timezones.  This patch incorporates the fix for "U.S. Energy Policy
         Act of 2005" for POSIX timezones, whereas Patch 122033-01 incorporates
         the fix for "U.S. Energy Policy Act of 2005" for zoneinfo timezones.
         In Solaris, the default transition dates for POSIX timezones (when
         the transition date is not specified) use U.S. rules.
 
         Note this patch does not include the fix for DST changes in 2006 for
         Australia.  Those fixes are in aforementioned Patch 122033-01, where
         the zoneinfo timezones for Australia are fixed.

README -- Last modified date:  Tuesday, February 21, 2006

