Patch-ID# 113986-13 Keywords: security direct-binding copy-reloc archive linker schedlock Synopsis: SunOS 5.9_x86: linker Patch Date: Oct/21/2004 Install Requirements: None 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 BugId's fixed with this patch: 4461340 4470917 4504895 4526878 4698800 4707030 4714146 4715815 4716275 4728822 4730110 4730433 4731183 4739660 4743413 4744337 4744411 4745129 4745932 4746231 4753066 4754751 4755674 4764817 4765536 4766815 4770484 4770494 4772927 4774727 4775738 4778247 4778418 4779976 4783869 4787579 4790194 4792461 4793721 4796237 4796286 4798376 4802194 4804328 4806476 4811093 4811951 4811969 4816378 4817314 4824026 4825065 4825151 4825296 4826315 4830584 4830889 4831544 4831650 4834784 4838226 4845764 4845829 4850703 4860508 4865418 4870260 4872634 4878827 4889914 4900320 4900684 4904565 4904573 4906062 4911775 4911796 4911936 4912214 4915901 4918303 4918310 4918938 4930985 4930997 4933300 4936305 4939565 4939626 4939869 4940894 4946992 4948119 4948427 4951840 4955373 4955802 4963676 4964415 4966465 4967869 4968618 4973865 4974828 4975598 4994738 5002160 5006657 5012172 5013759 5021541 5021773 5023493 5029830 5031495 5032364 5034652 5036561 5041446 5042713 5044797 5047082 5047235 5047612 5056867 5058415 5062313 5063580 5064973 5067518 5071614 5076838 5079061 5080344 5085792 5086352 5092414 5094135 5096272 5098205 Changes incorporated in this version: 5013759 5063580 5064973 5076838 5079061 5080344 5085792 5086352 5092414 5094135 5096272 5098205 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/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_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/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: 5092414 Linker patch 109147-29 makes Broadvison 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 stri 5076838 elfdump(1) is built with a CTF section (the wrong one) 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 The fix for 4918303 breaks the build if a new work space is used. 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 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 exception are not catch 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 then 32768 plt's fail for sparc ELF64 4870260 The elfdump command should produce more warning message 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 name. 4906062 Makefiles under usr/src/cmd/sgs needs 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 it's 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: -------------------------------- 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-9 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: ----------------------------- None. README -- Last modified date: Thursday, October 21, 2004