Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!rutgers!husc6!hao!oddjob!gargoyle!ihnp4!homxb!mtuxo!mtune!codas!ge-dab!ge-rtp!edison!toylnd!dca From: dca@toylnd.UUCP Newsgroups: comp.sys.att,comp.unix.wizards,comp.unix.questions Subject: Re: Problems with ld Message-ID: <173@toylnd.UUCP> Date: Mon, 14-Sep-87 01:33:27 EDT Article-I.D.: toylnd.173 Posted: Mon Sep 14 01:33:27 1987 Date-Received: Sat, 19-Sep-87 08:36:01 EDT References: <1@vanvleck.MATH.WISC.EDU> Organization: Dave & Anne in Charlottesville, VA Lines: 29 Keywords: ld loader linker Xref: utgpu comp.sys.att:1081 comp.unix.wizards:3985 comp.unix.questions:3701 Summary: Why not prelink? > We (the programmers for the University of Wisconsin/Madison Math department) are > trying to bring up Cayley on our AT&T 3B15. Cayley is a program that helps > solve problems in group theory; it consists of about 2000 object files, > all but a few in FORTRAN 77, the rest in C. We can compile each of the pieces > but haven't been able to get ld to link them. > > ld can't handle an argument list that contains 2000 file names, so we've > collected the object files into 16 or 17 libraries. Unfortunately, ld tells > us that it can't read the .data section of one of our libraries, despite the > fact that, as far as we can tell, it's OK. > I'm a little confused why you took this approach to a solution. If the loader you have supports pre-linking it is usually vastly preferable to using libraries to link together large subsystems. In libraries, you still have to do all the work as if you were relinking the entire module even when you change a single bit of code. If you use prelinks you only have to re-link the required pre-link and then relink the prelinks together which is usually less time consuming. Mind you I don't have a 3b15 (I have a 3b1) and I haven't tried prelinks using 'ld' but from my manual that if you just divide your object modules (hopefully in some semi-logical fashion) and link them into a prelink by using the -r option you should then be able to link the prelinks together to make a complete system. It's possible linking the resulting prelinks could also be less stressful on 'ld' in terms of memory since it is not having to worry about references internal to the prelinks, only externals. Just a thought. David Albrecht