Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!bloom-beacon!gatech!mcnc!rti!xyzzy!meissner From: meissner@xyzzy.UUCP (Michael Meissner) Newsgroups: comp.arch Subject: Re: Big Programs Hurt Performance Message-ID: <275@xyzzy.UUCP> Date: Mon, 28-Sep-87 09:47:04 EDT Article-I.D.: xyzzy.275 Posted: Mon Sep 28 09:47:04 1987 Date-Received: Tue, 29-Sep-87 05:35:53 EDT References: <417@devvax.JPL.NASA.GOV> <12780006@acf4.UUCP> <2614@aw.sei.cmu.edu> Reply-To: meissner@nightmare.UUCP (Michael Meissner) Organization: Data General (Languages @ Research Triangle Park, NC.) Lines: 19 In article <2614@aw.sei.cmu.edu> firth@bd.sei.cmu.edu.UUCP (PUT YOUR NAME HERE) writes: | In article <12780006@acf4.UUCP> tihor@acf4.UUCP (Stephen Tihor) writes: | >N excelemnt summary on shared libraries but I would not agree that Position | >Independant Code is difficult to produce. 95+% of the code I produce is PIC | >and with a more clever linker (as one would expect in that enviornment) it | >could get higher. Only systems whose instruction set was not designed with PIC | >as a goal make it hard. | | I'd agree with this. PIC is either easy or impossible, but rarely hard. | For instance, if your machine has only conditional branches with absolute | addresses as the operand, then it's impossible. One of the things that is hard about position independent code is dealing with the initialization of pointers to static/extern data items, which is typically done at link time. You have to have some way of getting the right value into the pointer before it is used. In this respect, System V shared libraries are easier because they are not position independent. -- Michael Meissner, Data General. Uucp: ...!mcnc!rti!xyzzy!meissner Arpa/Csnet: meissner@dg-rtp.DG.COM