[gnu.gcc] GCC & PIC ?

arnold@mathcs.emory.edu (Arnold D. Robbins {EUCC}) (07/11/89)

Has anyone given any thought to what would be involved in making GCC
(and GAS?) produce position-independant code?  That would be real useful
for producing Sun shared libraries with GCC, and also necessary if the
GNU kernel will support shared libraries.

Thanks,
-- 
Arnold Robbins -- Emory University Computing Center | Unix is a Registered
DOMAIN: arnold@unix.cc.emory.edu		    | Bell of AT&T Trademark
UUCP: gatech!emoryu1!arnold  PHONE: +1 404 727-7636 | Laboratories.
BITNET: arnold@emoryu1	     FAX:   +1 404 727-2599 |         -- Donn Seeley

donn@wasatch.utah.edu (Donn Seeley) (07/12/89)

Arnold Robbins (arnold@unix.cc.emory.edu) writes:

	Has anyone given any thought to what would be involved in
	making GCC (and GAS?) produce position-independant code?  That
	would be real useful for producing Sun shared libraries with
	GCC, and also necessary if the GNU kernel will support shared
	libraries.

As our local Kool Unix Dude, Mike Hibler, has pointed out, you need
look no further than your own .signature :-):

	| Unix is a Registered
	| Bell of AT&T Trademark
	| Laboratories.
	|         -- Donn Seeley

For several months a project has been in the works here at Utah to
produce an implementation of shared libraries for Berkeley Unix and
(potentially) Mach.  We're aiming at having something useful in time
for 4.4 BSD, although whether the implementation will be included in
4.4 is up to Berkeley CSRG, of course.  Our objective is to steal as
many ideas as possible from existing shared library implementations
while avoiding well-known lossages.  The basis for the implementation
will be position-independent code produced by a modified GCC.  We've
already done some successful prototyping with PC-relative code on the
68020, and we expect to test some other strategies as well before we
settle on one or more specific techniques.  The implementation will be
'free' under the usual GNU and Berkeley licenses.  Note that we are not
specifically striving to duplicate Sun shared libraries, although we
aren't afraid to use published information about their implementation
when it seems profitable to do so, and it probably wouldn't be
difficult to retarget our GCC changes toward the Sun environment.

Currently the project is in low gear because we haven't gotten around
to applying for funding; I hope this will be remedied soon :-).

If you have useful suggestions about shared libraries, position-
independent code, object formats, address space configuration or other
topics, let me know...

Donn Seeley    University of Utah CS Dept    donn@cs.utah.edu
40 46' 6"N 111 50' 34"W    (801) 581-5668    utah-cs!donn