Skip to content
  • wolfgang's avatar
    [project @ 2004-10-07 15:54:03 by wolfgang] · b4d045ae
    wolfgang authored
    Position Independent Code and Dynamic Linking Support, Part 1
    
    This commit allows generation of position independent code (PIC) that fully supports dynamic linking on Mac OS X and PowerPC Linux.
    Other platforms are not yet supported, and there is no support for actually linking or using dynamic libraries - so if you use the -fPIC or -dynamic code generation flags, you have to type your (platform-specific) linker command lines yourself.
    
    
    nativeGen/PositionIndependentCode.hs:
    New file. Look here for some more comments on how this works.
    
    cmm/CLabel.hs:
    Add support for DynamicLinkerLabels and PIC base labels - for use inside the NCG.
    needsCDecl: Case alternative labels now need C decls, see the codeGen/CgInfoTbls.hs below for details
    
    cmm/Cmm.hs:
    Add CmmPicBaseReg (used in NCG),
    and CmmLabelDiffOff (used in NCG and for offsets in info tables)
    
    cmm/CmmParse.y:
    support offsets in info tables
    
    cmm/PprC.hs:
    support CmmLabelDiffOff
    Case alternative labels now need C dec...
    b4d045ae