Skip to content
Snippets Groups Projects
  • Vlad Tsyrklevich's avatar
    746fd88c
    [CFI] Add CFI-icall pointer type generalization · 746fd88c
    Vlad Tsyrklevich authored
    Summary:
    This change allows generalizing pointers in type signatures used for
    cfi-icall by enabling the -fsanitize-cfi-icall-generalize-pointers flag.
    This works by 1) emitting an additional generalized type signature
    metadata node for functions and 2) llvm.type.test()ing for the
    generalized type for translation units with the flag specified.
    
    This flag is incompatible with -fsanitize-cfi-cross-dso because it would
    require emitting twice as many type hashes which would increase artifact
    size.
    
    Reviewers: pcc, eugenis
    
    Reviewed By: pcc
    
    Subscribers: kcc
    
    Differential Revision: https://reviews.llvm.org/D39358
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@317044 91177308-0d34-0410-b5e6-96231b3b80d8
    746fd88c
    History
    [CFI] Add CFI-icall pointer type generalization
    Vlad Tsyrklevich authored
    Summary:
    This change allows generalizing pointers in type signatures used for
    cfi-icall by enabling the -fsanitize-cfi-icall-generalize-pointers flag.
    This works by 1) emitting an additional generalized type signature
    metadata node for functions and 2) llvm.type.test()ing for the
    generalized type for translation units with the flag specified.
    
    This flag is incompatible with -fsanitize-cfi-cross-dso because it would
    require emitting twice as many type hashes which would increase artifact
    size.
    
    Reviewers: pcc, eugenis
    
    Reviewed By: pcc
    
    Subscribers: kcc
    
    Differential Revision: https://reviews.llvm.org/D39358
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@317044 91177308-0d34-0410-b5e6-96231b3b80d8
Code owners
Assign users and groups as approvers for specific file changes. Learn more.