Skip to content
  • Bill Wendling's avatar
    Consider this function: · bf8370ff
    Bill Wendling authored
      void foo() { __builtin_unreachable(); }
    
    It will output the following on Darwin X86:
    
    _func1:
    Leh_func_begin0:
            pushq %rbp
    Ltmp0:
            movq %rsp, %rbp
    Ltmp1:
    Leh_func_end0:
    
    This prolog adds a new Call Frame Information (CFI) row to the FDE with an
    address that is not within the address range of the code it describes -- part is
    equal to the end of the function -- and therefore results in an invalid EH
    frame. If we emit a nop in this situation, then the CFI row is now within the
    address range.
    
    llvm-svn: 108568
    bf8370ff
Loading