Patch-ID# 103628-05 Keywords: security dlsym symbol ld.so.1 ld libld.so.2 SHF_EXCLUDE ar archive ufs Synopsis: SunOS 5.5.1_x86: linker patch Date: Sep/16/98 Solaris Release: 2.5.1_x86 SunOS Release: 5.5.1_x86 Unbundled Product: Unbundled Release: Xref: This patch available for SPARC as patch 103627 Topic: SunOS 5.5.1_x86: linker patch NOTE: Refer to Special Install Instructions section for IMPORTANT specific information on this patch. BugId's fixed with this patch: 1056449 1182346 1244333 1247793 4008477 4044285 4050759 4052067 4058928 4062757 4064724 4066815 4067926 4068108 4074398 4075643 4079003 4079633 4081897 4084466 4085036 4085734 4088306 4092335 4092511 4093064 4095586 4096079 4096995 4097806 4099127 4099713 4100002 4102130 4102797 4104963 4107525 4108699 4108808 4112585 4149227 4150646 Changes incorporated in this version: 4149227 4150646 Relevant Architectures: i386 Patches accumulated and obsoleted by this patch: 103607-02 105070-01 Patches which conflict with this patch: iss_x86-01 (or newer) Patches required with this patch: Obsoleted by: Files included with this patch: /etc/lib/ld.so.1 /etc/lib/libdl.so.1 /usr/bin/ldd /usr/bin/pvs /usr/bin/sotruss /usr/bin/whocalls /usr/ccs/bin/ar /usr/ccs/bin/dump /usr/ccs/bin/gprof /usr/ccs/bin/ld /usr/ccs/bin/mcs /usr/ccs/bin/nm /usr/ccs/bin/strip /usr/ccs/lib/libld.so.2 /usr/ccs/lib/liblddbg.so.4 /usr/ccs/lib/link_audit/truss.so.1 /usr/ccs/lib/link_audit/who.so.1 /usr/ccs/lib/link_audit/ldprof.so.1 /usr/include/dlfcn.h /usr/include/libelf.h /usr/include/link.h /usr/include/proc_service.h /usr/include/rtld_db.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/elf_ppc.h /usr/include/sys/link.h /usr/include/sys/machelf.h /usr/lib/0@0.so.1 /usr/lib/ld.so.1 /usr/lib/libdl.so.1 /usr/lib/libelf.a /usr/lib/libelf.so.1 /usr/lib/libldstab.so.1 /usr/lib/librtld.so.1 /usr/lib/librtld_db.so /usr/lib/librtld_db.so.1 /usr/lib/llib-lelf.ln /usr/xpg4/bin/ar /usr/xpg4/bin/nm /usr/ccs/lib/liblddbg.so.3 (deleted file) /usr/lib/liblddbg.so.3 (deleted file) /usr/lib/libld.so.2 (deleted file) /usr/ccs/lib/ldprof.so.1 (deleted file) Problem Description: 4149227 103612-41 causes ldd to throw out unresolved references in libdl.so.1 4150646 Security bug 1241843 resurfaces in 2.7 + 2.6 and 5.5.1 + patch (from 103628-04) 4112585 mcs -p fails on read-only binaries (from 103628-03) 4008477 Change where executable finds its libraries without re-linking 4050759 /usr/ccs/bin/dump -sv or -r hit SIGBUS on -dn stripped binaries 4044285 Combining relocation sections yields performance gain 4058928 segment reservations made too soon 4066815 GOT table on x86 has empty fields 4068108 dlerror() messages printed to stderr durring link-auditing 4064724 linking against a EM_SPARC32PLUS dynamic library results in a EM_SPARC32PLUS obj 1182346 utilities need to use cplus_demangle from latest version of libC.so 4074398 2.4 app takes up 8X more space under 2.5.1 4079633 typo in new "gelf.h" wyoming header file 4085734 ld: V9 default load address is different to V8 4079003 Multiplication fails intermittently with libthread linked against program 4081897 Stripping shared object makes an illegal binary that crashes ld 4084466 elf32_newehdr() hangs in programs linked with libthread. 4075643 -zallextract can corrupt relocation section placement 4085036 Need lazy loading with Solaris 4092335 chkmesg not able to find xlate.c durring build of libelf 4093064 elfdump coredumps inside of syminfo processing 4096079 ABI requires HIX22 and LOX10 reloc types (Hal additions) 4096995 gelf needs to be made MT-safe 4067926 strip breaks hard links 4097806 runtime linker references a unmapped address causing libthread panic 4099713 stripping and scoping create invalid init/fini dynamic tags. 4088306 introduce new section SHT_COMDAT 4102797 elftypes.h uses new 2.7 inttypes data structures 4095586 need LD_PROFILE for 64-bit libraries 4100002 /usr/ccs/bin/dump gives different results on 2.7 compared with 2.6 4099127 dlopen failure in link auditing context can be hazardous to your health 4104963 Either EM_NUM or EM_SPARCV9 needs to change 4102130 linker need dependency search continuation 4092511 object size silently truncated to 32 bits 4107525 Locking in eprint() is incorrect; causes hangs on MT applications on 2.6 4108699 lazy loading can cause .init sections to fire off to soon. 4108808 text segment re-mapped read-write when not required (from 103628-02) 4068108 dlerror() messages printed to stderr durring link-auditing 4062757 link auditing breaks apps using libdl (from 103628-01) 1247793 dlsym() can't find symbol (from 103607-02) 1244333 The SHF_EXCLUDE flag defined in ppc ABI should be implemented and for all ISA's (from 103607-01) 1056449 ld should handle an empty archive without aborting with an error (from 105070-01) 4052067 ar can't have identical archive and file names Patch Installation Instructions: -------------------------------- Refer to the Install.info file within the patch for instructions on using the generic 'installpatch' and 'backoutpatch' scripts provided with each patch. Any other special or non-generic installation instructions should be described below. Special Install Instructions: ----------------------------- NOTE 1: TO GET THE COMPLETE FIX FOR BUGID FOR 4149227 (Synopsis: 103612-41 causes ldd to throw out unresolved references in libdl.so.1), ONE ALSO NEEDS TO INSTALL THE FOLLOWING PATCHES: 103664-14 (or newer) libresolv patch 103641-23 (or newer) libthread/KU patch 105733-02 (or newer) libxfn patch 103613-44 (or newer) libc/libnsl patch