|Smart linking under UNIX email@example.com (1991-08-19)|
|Re: Smart linking under UNIX firstname.lastname@example.org (Marc Mengel) (1991-08-19)|
|Re: Smart linking under UNIX email@example.com (1991-08-19)|
|Re: Smart linking under UNIX sef@kithrup.COM (1991-08-20)|
|Re: Smart linking under UNIX firstname.lastname@example.org (1991-08-21)|
|Re: Smart linking under UNIX email@example.com (1991-08-22)|
|Re: Smart linking under UNIX firstname.lastname@example.org (1991-08-22)|
|[10 later articles]|
|Organization:||CIT, Cornell University|
|Date:||19 Aug 91 01:10:27 EDT|
In article <GLEW.91Aug16145002@pdx007.intel.com>,
email@example.com (Andy Glew) writes:
> In the C environment, with parameter pointers all over the place, this
> would require interprocedural analysis. Of course, most people don't
> even do "global" analysis within a procedure to handle this sort of thing.
> Separate compilation means that you have to worry about worst case
> aliasing. One thing that I would like to see more of is compilation of
> two (or more) versions of a procedure - one assuming maximum aliasing,
> one assuming minimum aliasing. Which to use could be determined
> statically: the compiler, when it generates a call, would say whether
> the call had potentially aliased parameters or not, and the linker
> would choose the appropriate version of the procedure. This
> information could be propagated down the call tree. Or the information
> could be used dynamically (for really big procedures).
This brings up something I've wondered about. Why do "Standard Unix" linkers
only include entire object files- ie every function inside the object file-
rather than the "smart linking" which is standard on Macs and PCs where only
the actual functions you use in a prticular object file are used? It was my
understanding that Next use a linker which does this smart linking, but that
AIX, SunOS and most other vendors do not.
Return to the
Search the comp.compilers archives again.