Skip to content
  • Rui Ueyama's avatar
    Add a fallback mechanism for undefined atom. · e5416ec2
    Rui Ueyama authored
    In COFF, an undefined symbol can have up to one alternative name. If a symbol
    is resolved by its regular name, then it's linked normally. If a symbol is not
    found in any input files, all references to the regular name are resolved using
    the alternative name. If the alternative name is not found, it's a link error.
    This mechanism is called "weak externals".
    
    To support this mechanism, I added a new member function fallback() to undefined
    atom. If an undefined atom has the second name, fallback() returns a new undefined
    atom that should be used instead of the original one to resolve undefines. If it
    does not have the second name, the function returns nullptr.
    
    Differential Revision: http://llvm-reviews.chandlerc.com/D1550
    
    llvm-svn: 190625
    e5416ec2
Loading