On 2001-10-03T10:37:24+1000, Manuel M. T. Chakravarty wrote:
> "Simon Marlow" <[EMAIL PROTECTED]> wrote,
> > > | Surely the executable itself is only linked with the 
> > > | functions that are actually used by the program?  
> > > AFAIUI the GNU linker is not clever enough to remove junk
> > > on a per-function basis, only on a per-object basis.  This is
> > > why we do object-splitting -- by breaking libraries up into 
> > > thousands of .o files before rolling them into a .a, the
> > > effectiveness of what GNU ld can do is enhanced.
> > > Perhaps more recent GNU ld's do better on some platforms?
> > > I have a vague recollection of some -gc-sections flag.
> > Yup, but it needs compiler support.  The idea is to get the compiler to
> > put each function in its own section, then the linker removes unused
> > sections from the linked image.
> Sounds much better than the mess that -split-objs produces
> on the harddisk.

I don't think the native ld on alpha-dec-osf3 supports such a feature,
so we would (I assume) have to leave -split-objs in ghc even if we do
implement -ffunction-sections/-fdata-sections.  (Would it just be a
matter of enabling it when invoking gcc?  Would I be able to try it on
my i386-linux box with -optc-ffunction-sections?  Or I suppose the
mangler would need to be educated...)

-- 
Edit this signature at http://www.digitas.harvard.edu/cgi-bin/ken/sig
Edit this signature at http://www.digitas.harvard.edu/cgi-bin/ken/sig

PGP signature

Reply via email to