Skip to content
  • wolfgang's avatar
    [project @ 2005-01-23 06:10:15 by wolfgang] · 6f985ae8
    wolfgang authored
    Add support for the dead code stripping feature of recent Apple linkers.
    If your code is compiled using the NCG, you can now specify
    -optl-W,-dead_strip on the GHC command line when linking.
    It will have basically the same effect as using split-objs to build the
    libraries.
    
    Advantages over split-objs:
        * No evil perl script involved
        * Requires no special handling when building libraries
    
    Disadvantages:
        * The current version of Apple's linker is slow when given the
          -dead_strip flag. _REALLY_ slow.
        * Mac OS X only.
    
    This works by making the NCG emit the .subsections_via_symbols directive.
    Additionally, we have to add an extra label at the top of every info table,
    and make sure that the entry code references it (otherwise the info table
    will be considered part of the preceding entry code).
    The mangler just removes the .subsections_via_symbols directive.
    6f985ae8