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 (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 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