Patch-ID# 100170-09 Keywords: jumbo-patch ld-1.144 shared LD_LIBRARY_PATH -Bstatic SPARCworks Synopsis: SunOS 4.1;4.1.1;4.1.2;4.1.3: jumbo patch to fix various ld problems Date: 23-Sep-92 SunOS release: 4.1 4.1.1 4.1.2 4.1.3 Topic: jumbo ld patch with 4.1.3 compatibility BugId's fixed with this patch: 1019004 1032739 1034788 1034833 1037879 1041946 1042261 1044524 1045272 1046462 1050594 1064820 1065275 1019004 1083430 1080802 1038809 1088382 Architectures for which this patch is available: sun4(all) sun3(all) Patches which may conflict with this patch: Obsoleted by: Problem Description: Jumbo patch for all known ld bug fixes. The same patch can be used for 4.1, 4.1.1., 4.1.2, and 4.1.3. All SPARC machines should use the sun4 version; all Sun3 machines should use the sun3 version. Note that installing this patch under 4.1.1 also requires the installation of the 4.1.1 libc jumbo patch, 100266 or 100267. 1.132 includes fixes for these bugs: 1032739: ld core dumps with many libs in multiple directories 1034788: -r and -pic do not mix bad secondary magic number on... (also includes 1034844 as a side effect.) ** NOTE: the above were previously supplied as the XEROX patch. 1034833: ld: can't mixed -r with -Bstatic or -A flag in 4.1prefcs... 1037879: Cannot create executable with shared object which points... (This includes the "fix to the fix" for the new problem that Brown U. reported.) 1042261: ld only recognized first directory in LD_LIBRARY_PATH 1044524: multiply defined symbols and seg. fault caused by 4.1's ld 1045272: ld -u & -r do not seem to work properly 1.135 includes all of the above and in addition includes: 1019004: -assert definitions can fail to report undefined symbols, as well as all follow-on problems relating to previous alleged fixes for this bug. 1.136 includes all of the above and in addition includes: 1046462: ld fails with segmentation fault when processing nested #include files 1.136 got updated to include fixes for: 1019004: (do not account for slots created by "definition checking.") 1050594: fix uninitialized structure entries. 1.137 includes a fix for: 1064820: ld can produce bogus diagnostics when processing cascaded .so dependencies 1.138 includes fixes for: 1065275: program dumps core with shared objects having only statics. 1041946: same problem. 1.141 includes fixes for: 1019004: leave output file executable when complaining about undefines. 1083430: fix to 1019004 that eliminates a side effect that confused the loader about the number of allocated vs. number of used output relocations. 1080802: fix -r and -PIC combination 1.142 includes fixes for: 1083430: update to fix potential null pointer dereference xxxxxxx: performance improvement for programs with very large numbers of symbols. 1.143 includes fixes for: 1088382: SPARCworks 2.0 unusable. 1.144 includes fixes for: 1080802: update for -r and -PIC processing, be sure STABs symbol entries are correctly counted when producing symbol table indices for relocation records. xxxxxxx: implement table expansion for larger "ld" capacity. *** This ld patch is 1.144 *** NOTE: As of 9/19/91 patchid 100266 (domestic) or 100267 (international) is the new libc needed to repair bug 1045471. for 4.1.1. Bug 1045471 is a libc bug revealed when applying this ld patch. Many applications may be linked without necessarily being affected by bug 1045471. INSTALL: As root: mv /bin/ld to something else (e.g. /bin/ld.FCS) cp `arch`/ld /bin/ld chmod 755 /bin/ld