Patch-ID# 100170-10
Keywords: jumbo-patch ld-1.145 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: Mar/19/93
 
Solaris release: 1.0 1.0.1 1.1 1.1C

SunOS release: 4.1 4.1.1 4.1.2 4.1.3 4.1.3C
 
Topic: jumbo ld patch with 4.1.3 compatibility
 
BugId's fixed with this patch: 1104694 1019004 1032739 1034788 1034833 1037879 1041946 1042261 1044524 1045272 1046462 1050594 1064820 1065275 1019004 1083430 1080802 1038809 1088382

Changes incorporated in this version: 1104694

Relevant Architecture: sparc
    NOTE: sun4(all) sun3(all)

Patches which may conflict with this patch:

Obsoleted by: 
	NOTE:4.1.3_U1

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.

1.145 includes fixes for:

	1104694: ld fails to pick up symbols from archive libraries when ld -r is used.

*** This ld patch is 1.145 ***

    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

