Article View: comp.soft-sys.andrew
Article #1926Static linking ATK apps
From: Robert Andrew Ryan
Date: Mon, 11 Jan 1993 17:27
Date: Mon, 11 Jan 1993 17:27
48 lines
2690 bytes
2690 bytes
Technical discussion and request for ideas follows, feel free to skip this message... We are currently working on a mechanism whereby a runapp can be automagically linked with a given set of classes statically loaded. (We are also woring on eliminating the assembly language trampoline code in the dynamic loading system, and providing dummy dynamic loading functions for machines without dynamic loading support.) The current scheme modifies the rules for making a .do file to install a list of the object files used, and a list of the libraries used, and a list of the classes references by the object files included in the .do. (Or which would be if a real .do was being generated.) A program has been written which uses this information to construct a list of the object files and libraries needed given a list of classes which are desired... For example supplying the list: eza xws to this program lists all the object files and libraries needed for the most basic runapp, and generates an appropriate statload.c. The difficulty at this point is that the libraries must be re-ordered by hand. (Since depending on what objects are pulled out of library A it might depend on library B, necessitating library B coming after library A on the link line.) Currently I am thinking of solving this by having a master list of libraries (and -L and -l switches) with an associated priority indicating where the argument should fall in the argument list. Any unknown libraries would be placed (in no particular order) before the known libraries. There are a few problems with this approach of course. First, if there are dependencies between user supplied libraries they must be added to the master list. Second, the dependencies between libraries may depend on which .o files get pulled out. The main goal all of this is striving to achieve is eliminating the need to get dynamic loading working for ATK to be useful on a new platform. So ideally the solution to ordering the libraries would be machine/OS independent. If you have any thoughts on the matter we would be happy to hear them. (Probably best just to reply to me, if there is general interest I'll summarize.) Thanks for any ideas, -Rob Ryan Andrew Consortium
Technical Details
Message-ID:
<kfIOrpK00WoiR8fEN=@andrew.cmu.edu>Path:
arc1-ca.pugleaf.net!sparky!uunet!haven.umd.edu!darwin.sura.net!spool.mu.edu!uwm.edu!linac!att!ucbvax!ANDREW.CMU.EDU!rr2b+Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!haven.umd.edu!darwin.sura.net!spool.mu.edu!uwm.edu!linac!att!ucbvax!ANDREW.CMU.EDU!rr2b+ From: rr2b+@ANDREW.CMU.EDU (Robert Andrew Ryan) Newsgroups: comp.soft-sys.andrew Subject: Static linking ATK apps Message-ID: <kfIOrpK00WoiR8fEN=@andrew.cmu.edu> Date: 11 Jan 93 17:27:17 GMT Sender: daemon@ucbvax.BERKELEY.EDU Distribution: world Organization: The Internet Lines: 48