OBSOLETE Patch-ID# 113986-29


Download this patch from My Oracle Support

Your use of the firmware, software and any other materials contained in this update is subject to My Oracle Support Terms of Use, which may be viewed at My Oracle Support.
For further information on patching best practices and resources, please see the following links:
Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.

Keywords: security direct-binding copy-reloc archive linker schedlock
Synopsis: Obsoleted by: 113986-30 SunOS 5.9_x86: linker Patch
Date: May/28/2010


Install Requirements: Reboot after installing this patch to activate the changes delivered. An alternative may be specified in the Special Install Instructions.
Use Single User Mode (run level S) when installing this patch on an active boot environment. An alternative may be specified in the Special Install Instructions.

Solaris Release: 9_x86

SunOS Release: 5.9_x86

Unbundled Product:

Unbundled Release:

Xref: This patch available for SPARC as patch 112963

Topic: SunOS 5.9_x86: linker Patch

Relevant Architectures: i386

Bugs fixed with this patch:

Sun CR # Bug #
446134015065326
447091715068571
450489515079803
452687815087128
469880015110868
470703015112992
471414615114756
471581515115148
471627515115258
472882215118433
473011015118768
473043315118856
473118315119042
473966015121524
474341315122615
474433715122930
474441115122953
474512915123150
474593215123364
474623115123472
475306615125510
475475115126030
475567415126268
476481715129015
476553615129214
476681515129654
477048415130864
477049415130873
477292715131719
477472715132234
477573815132531
477824715133231
477841815133306
477997615133788
478386915135002
478757915136115
479019415136837
479246115137571
479372115138002
479623715138886
479628615138894
479837615139669
480219415141074
480432815141802
480647615142512
481109315144011
481195115144308
481196915144322
481637815145707
481731415145984
482402615148147
482506515148494
482515115148516
482529615148574
482631515148877
483058415150127
483088915150228
483154415150415
483165015150445
483478415151476
483822615152599
484576415154865
484582915154887
485070315156293
486050815159221
486541815160490
487026015161878
487263415162499
487882715164276
488991415167549
490032015170901
490068415170981
490456515172111
490457315172115
490606215172547
491177515174116
491179615174126
491193615174165
491221415174219
491590115175220
491830315175909
491831015175913
491893815176054
493098515179386
493099715179392
493330015180055
493630515180833
493956515181600
493962615181624
493986915181693
494089415181928
494699215183385
494811915183705
494842715183802
495184015184775
495537315185751
495580215185904
496367615188139
496441515188375
496646515188938
496786915189341
496861815189521
497386515190951
497482815191202
497559815191399
499473815196681
500216015198127
500665715199190
501217215201003
501375915201508
502154115203580
502177315203642
502349315203984
502983015205904
503149515206378
503236415206659
503465215207417
503656115208016
504144615209552
504271315209949
504479715210520
504708215211137
504723515211187
504761215211306
505686715213868
505841515214287
506231315215122
506358015215502
506497315215900
506751815216644
507161415217878
507683815219598
507906115220344
508034415220835
508044315220873
508579215222595
508635215222769
509241415224563
509413515225127
509627215225825
509820515226380
510260115227691
510560115228683
510620615228892
617355915230302
617385215230388
617459915230669
617560915230985
617584315231061
617783815231635
617866715231844
618192815232915
618229315233021
618288415233204
618364515233464
618938415234774
619086315235174
619148815235359
619216415235593
619249015235705
619503015236503
619552115236676
619835815237646
620412315239487
620749515240785
620935015241369
621279715242601
621544415243535
621728515244332
621953815245328
622252515246551
622620615248047
622847215249002
623500015251723
623659415252348
624199515254624
624489715255933
625172215258741
625179815258776
625436415259870
625883415261421
626036115261911
626078015262056
626180315262431
626199015262499
626278915262765
626626115264220
626735215264663
626869315265143
627385515267136
627386415267142
627387515267149
627690515268323
628046715269679
628360115270895
628494115271430
629015715273528
629154715274123
629597115275847
629952515277315
630121815277970
630727415280275
630871015280814
630906115280931
631073615281634
631186515282125
631411515283055
631474315283316
631830615284853
631840115284917
632401915287030
632458915287235
632979615289249
633298315290439
647713215353448
648727315358161
648728415358165
656198715399686
657793215408389
682641015554112
682651315554171
685012415568803


Changes incorporated in this version: 6826513

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
/etc/lib/libdl.so.1
/usr/bin/crle
/usr/bin/ldd
/usr/bin/moe
/usr/bin/pvs
/usr/bin/sotruss
/usr/bin/whocalls
/usr/ccs/bin/dump
/usr/ccs/bin/elfdump
/usr/ccs/bin/lari
/usr/ccs/bin/ld
/usr/ccs/bin/mcs
/usr/ccs/bin/nm
/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/auxv.h
/usr/include/sys/auxv_386.h
/usr/include/sys/auxv_SPARC.h
/usr/include/sys/elf.h
/usr/include/sys/elf_386.h
/usr/include/sys/elf_SPARC.h
/usr/include/sys/elf_amd64.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/libcrle.so.1
/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/libldfeature.a (deleted)
/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/truss.so.1
/usr/lib/link_audit/who.so.1

Problem Description:

6826513 ldd gets confused by a crle(1) LD_PRELOAD setting
 
(from 113986-28)
 
6850124 dlopen reports "No such file or directory" in spite of ENOMEM when mmap fails in anon_map()
 
(from 113986-27)
 
6826410 ld needs to sort sections using 32-bit sort keys
 
(from 113986-26)
 
6308710 remove CDDL from on10-patch gate
6577932 older linkers don't know about brand components
 
(from 113986-25)
 
6561987 data vac_conflict faults on lipthread libthread libs
 
(from 113986-24)
 
6477132 ld.so.1: memory leak when running set*id application
 
(from 113986-23)
 
6307274 crle bug with LD_LIBRARY_PATH
 
(from 113986-22)
 
6487273 ld.so.1 may open arbitrary locale files when relative path is built from locale environment vars
6487284 ld.so.1: buffer overflow in doprf() function
 
(from 113986-21)
 
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
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 Solaris 9 linker patches 112963-24/113986-20 causing cluster machines not to boot
 
(from 113986-20)
 
6314115 checkpoint refuses to start, crashes on start, after application of linker patch 112963-22
 
(from 113986-19)
 
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
6290157 gcc and sgs/librtld_db/rdb_demo don't get along
6301218 Matlab dumps core on startup when running on 112963-22
 
(from 113986-18)
 
6283601 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 113986-17)
 
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
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
 
(from 113986-16)
 
6251722 ld fails silently with exit 1 status when -z ignore passed
 
(from 113986-15)
 
6219538 112963-17: linker patch causes binary to dump core
 
(from 113986-14)
 
5106206 ld.so.1 fail to ruld.so.1 fail to run a Solaris9 program that has libc linked with -z lazyload
5102601 ON should deliver a 64-bit operating system for Opteron systems
6173852 enable link_auditing technology for amd64
6174599 linker does not create .eh_frame_hdr sections for eh_frame sections with SHF_LINK_ORDER
6175609 amd64 run-time linker has a corrupted note section
6175843 amd64 rdb_demo files not installed
6182293 ld.so.1 can repeatedly relocate object .plts (RTLD_NOW)
6183645 ld core dumps when automounter fails
6178667 ldd list unexpected (file not found) in x86 environment
6181928 need new reloc types R_AMD64_GOTOFF64 and R_AMD64_GOTPC32
6182884 AMD64: ld coredumps when building a shared library
6173559 ld command may set incorrect value for sh_addralign under some conditions
5105601 ld.so.1 gets a little too enthusiastic with interposition
6189384 ld.so.1 should accommodate a file's dev/inode change (libc loopback mnt)
6177838 AMD64: linker cannot resolve PLT for 32-bit a.out(s) on amd64-S2 kernel
6190863 sparc disassembly code should be removed from rdb_demo
6191488 unwind eh_frame_hdr needs corrected encoding value
6192490 moe(1) returns /lib/libc.so.1 for optimal expansion of libc HWCAP libraries
6192164 AMD64: introduce dlamd64getunwind interface
6195030 libdl has bad version name
6198358 AMD64: bad eh_frame_hdr data when C and C++ mixed in a.out
6195521 64-bit moe(1) missed the train
6204123 ld.so.1: symbol lookup fails even after lazy loading fallback
6207495 UNIX98/UNIX03 vsx namespace violation DYNL.hdr/misc/dlfcn/T.dlfcn 14 Failed
6209350 do not include signature section from dynamic dependency library into relocatable object
6212797 the binary compiled on SunOS4.x doesn't run on Solaris 8 with Patch 109147-31
6217285 ctfmerge crashed during full onnv build
 
(from 113986-13)
 
5092414 linker patch 109147-29 makes Broadvision One-To-One server v4.1 installation fail
5013759 file should report hardware/software capabilities
5063580 libldstab: file /tmp/posto..: .stab[.index .sbfocus] found with no matching string
5076838 elfdump(1) is built with the wrong CTF section
5080344 hardware capabilities are not enforced for a.out
5079061 RTLD_DEFAULT can be expensive
5064973 allow normal relocs against TLS symbols for some sections
5085792 LD_XXXX_64 should override LD_XXXX
5096272 every executable or library has a .SUNW_dof section
5094135 Bloomberg wants a faster ldd
5086352 libld.so.3 should be built with a .SUNW_ctf ELF section
5098205 elfdump gives wrong section name for the global offset table
 
(from 113986-12)
 
5071614 109147-29 & -30 break the build of on28-patch on Solaris 8 2/04
5029830 crle: provide for optional alternative dependencies
5034652 ld.so.1 should save and print more error messages
5036561 ld.so.1 outputs non-fatal fatal message about auxiliary filter libraries
5042713 4866170 broke ld.so's ::setenv
5047082 ld can core dump on bad gcc objects
5047612 ld.so.1: secure pathname verification is flawed with filter use
5047235 elfdump can core dump printing PT_INTERP section
4798376 nits in demo code
5041446 gelf_update_*() functions inconsistently return NULL or 0
5032364 M_ID_TLSBSS and M_ID_UNKNOWN have the same value
4707030 empty LD_PRELOAD_64 doesn't override LD_PRELOAD
4968618 symbolic linkage causes core dump
5062313 dladdr() can cause deadlock in MT apps
5056867 $ISALIST/$HWCAP expansion should be more flexible
4918303 0@0.so.1 should not use compiler-supplied crt*.o files
5058415 whocalls cannot take more than 10 arguments
5067518 the fix for 4918303 breaks the build if a new work space is used
 
(from 113986-11)
 
5044797 ld.so.1: secure directory testing is being skipped during filtee processing
4963676 remove remaining static libraries
5021541 unnecessary PT_SUNWBSS segment may be created
5031495 elfdump complains about bad symbol entries in core files
5012172 need error when creating shared object with .o compiled -xarch=v9 -xcode=abs44
4994738 rd_plt_resolution() resolves ebx-relative PLT entries incorrectly
5023493 ld -m output with patch 109147-25 missing .o information
 
(from 113986-10)
 
4860508 link-editors should create/promote/verify hardware/software capabilities
5002160 crle: reservation for dumped objects gets confused by mmaped object
4967869 linking stripped library causes segv in linker
5006657 link-editor doesn't always handle nodirect binding syminfo information
4915901 no way to see ELF information
5021773 ld.so.1 has trouble with objects having more than 2 segments
 
(from 113986-09)
 
4940894 ld core dumps using "-xldscope=symbolic" and "-xO2" CC flags
4912214 having multiple of libc.so.1 in a link map causes malloc() to fail
4526878 ld.so.1 should pass MAP_ALIGN flag to give kernel more flexibility
4930997 sgs bld_vernote.ksh script needs to be hardened
4796286 ld.so.1: scenario for trouble?
4930985 clean up cruft under usr/src/cmd/sgs/tools
4933300 remove references to Ultra-1 in librtld_db demo
4936305 string table compression is much too slow
4939626 SUNWonld internal package must be updated
4939565 per-symbol filtering required
4948119 ld(1) -z loadfltr fails with per-symbol filtering
4948427 ld.so.1 gives fatal error when multiple RTLDINFO objects are loaded
4955373 per-symbol filtering refinements
4878827 crle(1M) - display post-UPM search paths and compensate for pre-UPM
4955802 /usr/ccs/bin/ld dumps core in process_reld()
4964415 elfdump issues wrong relocation error message
4966465 LD_NOAUXFLTR fails when object is both a standard and auxiliary filter
4973865 the link-editor does not scale properly when linking objects with lots of syms
4975598 SHT_SUNW_ANNOTATE section relocation not resolved
4974828 nss_files nss_compat r_mt tests randomly segfaulting
 
(from 113986-08)
 
4946992 ld crashes due to huge number of sections (>65,000)
4951840 mcs -c goes into a loop on executable program
4939869 need additional relocation types for abs34 code model
 
(from 113986-07)
 
4911936 exceptions are not caught from shared library with -zignore
4900320 rtld library mapping could be faster
4911775 implement GOTDATA proposal in ld
4904565 functionality to ignore relocations against external symbols
4764817 add section types SHT_DEBUG and SHT_DEBUGSTR
4850703 enable per-symbol direct bindings
4716275 help required in the link analysis of runtime interfaces
4904573 elfdump may hang when processing archive files
4918310 direct binding from an executable can't be interposed on
4918938 ld.so.1 has become SPARC32PLUS - breaks 4.x binary compatibility
4911796 S1S8 C++: ld dump core when compiled and linked with xlinkopt=1
4889914 ld crashes with SEGV using -M mapfile under certain conditions
 
(from 113986-06)
 
4900684 shared libraries with more than 32768 plt's fail for sparc ELF64
4870260 the elfdump command should produce more warning messages on invalid move entries
4865418 empty PT_TLS program headers cause problems in TLS enabled applications
4825151 compiler core dumped with a -mt -xF=%all test
4845829 the runtime linker fails to dlopen() long path names
4906062 Makefiles under usr/src/cmd/sgs need to be updated
 
(from 113986-05)
 
4744411 Bloomberg wants a faster linker
4470917 Solaris Process Model Unification
4811969 64-bit links can be much slower than 32-bit
4825065 ld(1) should ignore consecutive empty sections
4838226 unrelocated shared objects may be erroneously collected for init firing
4830889 TLS: testcase coredumps with -xarch=v9 and -g
4845764 filter removal can leave dangling filtee pointer
4811093 apptrace -F libc date core dumps
4826315 link editors need to be pre- and post- Unified Process Model aware
4872634 large LD_PRELOAD values can cause SEGV of process
 
(from 113986-04)
 
4830584 mmap for the padding region doesn't get freed after dlclose
4831650 ld.so.1 can walk off the end of its call_init() array
4831544 ldd using .so modules compiled with FD7 compiler caused a core dump
4834784 accessing members in a TLS structure causes a core dump in Oracle
4824026 segv when -z combreloc is used with -xlinkopt
4825296 typo in elfdump
 
(from 113986-03)
 
4731183 compiler creates .tlsbss section instead of .tbss as documented
4816378 TLS: a tls test case dumps core with C and C++ compilers
4817314 TLS_GD relocations against local symbols do not reference symbol
4811951 non-default symbol visibility overridden by definition in shared object
4802194 relocation error of mozilla built by K2 compiler
4715815 ld should allow linking with no output file (or /dev/null)
4793721 need a way to null all code in ISV objects enabling ld performance tuning
4796237 RFE: link-editor became extremely slow with patch 109147-20 and static libraries
 
(from 113986-02)
 
4792461 Thread-Local Storage - x86 instruction sequence updates
4730110 ld.so.1 list implementation could scale better
4728822 restrict the objects dlsym() searches
4714146 crle: 64-bit secure pathname is incorrect
4504895 dlclose() does not remove all objects
4698800 wrong comments in /usr/lib/ld/sparcv9/map.*
4745129 dldump is inconsistent with .dynamic processing errors
4753066 LD_SIGNAL isn't very useful in a threaded environment
4765536 crle: symbolic links can confuse alternative object configuration info
4766815 ld -r of object the TLS data fails
4770484 elfdump can not handle stripped archive file
4770494 the ld command gives improper error message handling broken archive file
4775738 overwriting output relocation table when 'ld -zignore' is used
4778247 elfdump -e of core files fails
4779976 elfdump dies on bad relocation entries
4787579 invalid SHT_GROUP entries can cause linker to seg fault
4783869 dlclose: filter closure exhibits hang/failure - introduced with 4504895
4778418 ld.so.1: there be nits out there
4461340 sgs: ugly build output while suppressing ia64 (64-bit) build on Intel
4790194 dlopen(..., RTLD_GROUP) has an odd interaction with interposition
4804328 auditing of threaded applications results in deadlock
4806476 building relocatable objects with SHF_EXCLUDE loses relocation information
 
(from 113986-01)
 
4755674 patch 109147-18 results in coredump
4739660 threads deadlock in schedlock and dynamic linker lock
4743413 ld.so.1 doesn't terminate argv with NULL pointer when invoked directly
4746231 linker core-dumps when SECTION relocations are made against discarded sections
4730433 ld.so.1 wastes time repeatedly opening dependencies
4744337 missing RD_CONSISTENT event with dlmopen(LD_ID_NEWLM, ...)
4745932 strip utility doesn't strip out Dwarf2 debug sections
4754751 "strip" command doesn't remove comdat stabs sections
4772927 strip core dumps on an archive library
4774727 direct-binding can fail against copy-reloc symbols


Patch Installation Instructions:
--------------------------------
 
Please refer to the man pages for instructions on using 'patchadd'
and 'patchrm' commands provided with Solaris.
 
The following example installs a patch to a standalone machine:
 
       example# patchadd /var/spool/patch/123456-07
 
The following example removes a patch from a standalone system:
 
       example# patchrm 123456-07
 
For additional examples please see the appropriate man pages. Any
other special or non-generic installation instructions should be
described below as special instructions.


Special Install Instructions:
-----------------------------
 
None.


README -- Last modified date: Friday, November 9, 2012