αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžˆαž»αžαž…αž„αž€αŸ’αžšαž„ LLVM 13.0

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαžšαž™αŸˆαž–αŸαž›αž”αŸ’αžšαžΆαŸ†αž˜αž½αž™αžαŸ‚αž“αŸƒαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‚αž˜αŸ’αžšαŸ„αž„ LLVM 13.0 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰ - αž€αž‰αŸ’αž…αž”αŸ‹αž§αž”αž€αžšαžŽαŸαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž“αžΉαž„ GCC (αž’αŸ’αž“αž€αž…αž„αž€αŸ’αžšαž„ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž– αž“αž·αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž”αž„αŸ’αž€αžΎαžαž€αžΌαžŠ) αžŠαŸ‚αž›αž…αž„αž€αŸ’αžšαž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αŸ…αž‡αžΆαž”αŸŠαžΈαžαž€αžΌαžŠαž€αž˜αŸ’αžšαž·αžαž˜αž’αŸ’αž™αž˜αž“αŸƒαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž“αž·αž˜αŸ’αž˜αž·αžαžŠαžΌαž… RISC (αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αžαž€αž˜αŸ’αžšαž·αžαž‘αžΆαž”αžŠαŸ‚αž›αž˜αžΆαž“ αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž–αž αž»αž€αž˜αŸ’αžšαž·αž) αŸ” αž€αžΌαžŠαž€αŸ’αž›αŸ‚αž„αž€αŸ’αž›αžΆαž™αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ†αž”αŸ’αž›αŸ‚αž„αžŠαŸ„αž™αž”αŸ’αžšαžΎαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž…αž„αž€αŸ’αžšαž„ JIT αž‘αŸ…αž‡αžΆαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžšαž”αžŸαŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž“αŸ…αž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαŸ”

αž€αžΆαžšαž€αŸ‚αž›αž˜αŸ’αž’αž“αŸ…αž€αŸ’αž“αž»αž„ Clang 13.0αŸ–

  • αž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž αŸ…αž€αž“αŸ’αž‘αž»αž™αžŠαŸ‚αž›αž˜αžΆαž“αž€αžΆαžšαž’αžΆαž“αžΆ (αž αŸ…αž‘αž˜αŸ’αžšαž„αŸ‹αž€αžΆαžšαžšαž„αž“αŸ…αž…αž»αž„αž”αž‰αŸ’αž…αž”αŸ‹αž“αŸƒαž˜αž»αžαž„αžΆαžš αž”αž„αŸ’αž€αžΎαžαž€αžΆαžšαž αŸ…αž‘αžΎαž„αžœαž·αž‰αž€αž“αŸ’αž‘αž»αž™ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž‘αž˜αŸ’αžšαž„αŸ‹αž€αžΆαžšαžšαž„αž αŸ…αžαŸ’αž›αž½αž“αž―αž„)αŸ” αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž αŸ…αž€αž“αŸ’αž‘αž»αž™αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αžΆαž“αžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αžŠαŸ„αž™αž‚αž»αžŽαž›αž€αŸ’αžαžŽαŸˆ "[[clang::musttail]]" αž“αŸ…αž€αŸ’αž“αž»αž„ C ++ αž“αž·αž„ "__attribute__((musttail))" αž“αŸ…αž€αŸ’αž“αž»αž„ C αžŠαŸ‚αž›αž”αŸ’αžšαžΎαž€αŸ’αž“αž»αž„αžŸαŸαž…αž€αŸ’αžαžΈαžαŸ’αž›αŸ‚αž„αž€αžΆαžšαžŽαŸ "αžαŸ’αžšαž‘αž”αŸ‹" αŸ” αž˜αž»αžαž„αžΆαžšαž“αŸαŸ‡αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αžŠαŸ„αž™αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž€αžΌαžŠαž‘αŸ…αž€αŸ’αž“αž»αž„αžšαž”αŸ€αž”αžŠαžŠαŸ‚αž›αŸ— αžŠαžΎαž˜αŸ’αž”αžΈαžŸαž“αŸ’αžŸαŸ†αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‡αž„αŸ‹αŸ”
  • "αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹" αžŸαŸαž…αž€αŸ’αžαžΈαž”αŸ’αžšαž€αžΆαžŸ αž“αž·αž„αž•αŸ’αž“αŸ‚αž€αž”αž“αŸ’αžαŸ‚αž˜ clang αž•αŸ’αžαž›αŸ‹αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‚αž»αžŽαž›αž€αŸ’αžαžŽαŸˆαžšαž…αž“αžΆαž”αŸαž‘αŸ’αž˜ C++ 11 αžŠαŸ„αž™αž”αŸ’αžšαžΎαž‘αž˜αŸ’αžšαž„αŸ‹ "[[]]" αŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αž„αŸ‹ "-Wreserved-identifier" αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž αžΆαž‰αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αž“αŸ…αž–αŸαž›αž’αŸ’αž“αž€αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽαžŠαŸ‚αž›αž”αžΆαž“αž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αž“αŸ…αž€αŸ’αž“αž»αž„αž›αŸαžαž€αžΌαžŠαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αž„αŸ‹ "-Wunused-but-set-parameter" αž“αž·αž„ "-Wunused-but-set-variable" αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž αžΆαž‰αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš αž¬αž’αžαŸαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αž„αŸ‹ "-Wnull-pointer-subtraction" αžŠαžΎαž˜αŸ’αž”αžΈαž…αŸαž‰αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž€αžΌαžŠαž’αžΆαž…αžŽαŸ‚αž“αžΆαŸ†αž₯αžšαž·αž™αžΆαž”αž‘αžŠαŸ‚αž›αž˜αž·αž“αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‘αŸ’αžšαž“αž·αž…αž‘αž‘αŸαž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαž€αŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αž„αŸ‹ "-fstack-usage" αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž―αž€αžŸαžΆαžšαž€αžΌαžŠαž“αžΈαž˜αž½αž™αŸ— αž―αž€αžŸαžΆαžš ".su" αž”αž“αŸ’αžαŸ‚αž˜αžŠαŸ‚αž›αž˜αžΆαž“αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαž‘αŸ†αž αŸ†αž“αŸƒαžŸαŸŠαž»αž˜αž‡αž„αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αž»αžαž„αžΆαžšαž“αžΈαž˜αž½αž™αŸ—αžŠαŸ‚αž›αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ”
  • αž”αŸ’αžšαž—αŸαž‘αž›αž‘αŸ’αž’αž•αž›αžαŸ’αž˜αžΈαž˜αž½αž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ…αž§αž”αž€αžšαžŽαŸαžœαž·αž—αžΆαž‚αž‹αž·αžαž·αžœαž“αŸ’αž - "sarif-html" αžŠαŸ‚αž›αž“αžΆαŸ†αž‘αŸ…αžŠαž›αŸ‹αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαž€αŸ’αž“αž»αž„αž–αŸαž›αžŠαŸ†αžŽαžΆαž›αž‚αŸ’αž“αžΆαž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹ HTML αž“αž·αž„ Sarif αŸ” αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™ allocClassWithName αžαŸ’αž˜αžΈαŸ” αž“αŸ…αž–αŸαž›αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž‡αž˜αŸ’αžšαžΎαžŸ "-analyzer-display-progress" αž–αŸαž›αžœαŸαž›αžΆαžœαž·αž—αžΆαž‚αž“αŸƒαž˜αž»αžαž„αžΆαžšαž“αžΈαž˜αž½αž™αŸ—αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αŸ” αž§αž”αž€αžšαžŽαŸαžœαž·αž—αžΆαž‚αž‘αŸ’αžšαž“αž·αž…αž†αŸ’αž›αžΆαžαžœαŸƒ (alpha.cplusplus.SmartPtr) αž‡αž·αžαžšαž½αž…αžšαžΆαž›αŸ‹αž αžΎαž™αŸ”
  • αžŸαž˜αžαŸ’αžαž—αžΆαž–αžŠαŸ‚αž›αž—αŸ’αž‡αžΆαž”αŸ‹αž‡αžΆαž˜αž½αž™αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžš OpenCL αžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž„αŸ’αžšαžΈαž€αŸ” αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αŸ’αž“αŸ‚αž€αž”αž“αŸ’αžαŸ‚αž˜αžαŸ’αž˜αžΈ cl_khr_integer_dot_product, cl_khr_extended_bit_ops, __cl_clang_bitfields αž“αž·αž„ __cl_clang_non_portable_kernel_param_types αŸ” αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžšαž”αžŸαŸ‹ OpenCL 3.0 αž”αžΆαž“αž”αž“αŸ’αžαŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ C αž€αžΆαžšαž”αž‰αŸ’αž‡αžΆαž€αŸ‹ OpenCL 1.2 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ αž›αž»αŸ‡αžαŸ’αžšαžΆαžαŸ‚αž€αŸ†αžŽαŸ‚αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž™αŸ‰αžΆαž„αž…αŸ’αž”αžΆαžŸαŸ‹αž›αžΆαžŸαŸ‹αŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ C++ αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αž˜αžΆαž“αž•αŸ’αž“αŸ‚αž€αž”αž“αŸ’αžαŸ‚αž˜ β€œ.clcpp” αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αŸ”
  • αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž’αŸ†αž–αžΈαž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αžšαž„αŸ’αžœαž·αž›αž‡αž»αŸ† (β€œ#pragma omp unrol” αž“αž·αž„ β€œ#pragma omp tile”) αžŠαŸ‚αž›αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžšαž”αžŸαŸ‹ OpenMP 5.1 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‡αž˜αŸ’αžšαžΎαžŸαž‘αŸ…αž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‘αž˜αŸ’αžšαž„αŸ‹ clangαŸ– SpacesInLineCommentPrefix αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αžŽαžαŸ‹αž…αŸ†αž“αž½αž“αžŠαž€αžƒαŸ’αž›αžΆαž˜αž»αž“αž˜αžαž·αž™αŸ„αž”αž›αŸ‹ IndentAccessModifiers LambdaBodyIndentation αž“αž·αž„ PPIndentWidth αžŠαžΎαž˜αŸ’αž”αžΈαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αžΆαžšαžαž˜αŸ’αžšαžΉαž˜αž’αžΆαžαž» αž€αž“αŸ’αžŸαŸ„αž˜ lambda αž“αž·αž„αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž˜αž»αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ” αž›αž‘αŸ’αž’αž—αžΆαž–β€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž€αžΆαžšβ€‹αžαž˜αŸ’αžšαŸ€αž”β€‹αž€αžΆαžšβ€‹αžšαžΆαž”αŸ‹β€‹αž›αŸαžβ€‹αž“αŸƒβ€‹αž―αž€αžŸαžΆαžšβ€‹αž”αž‹αž˜αž€αžαžΆ (SortIncludes) αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž–αž„αŸ’αžšαžΈαž€αŸ” αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αŸ’αžœαžΎαž‘αŸ’αžšαž„αŸ‹αž‘αŸ’αžšαžΆαž™αž―αž€αžŸαžΆαžš JSON αŸ”
  • αž•αŸ’αž“αŸ‚αž€αž’αŸ†αž“αŸƒαž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αžαŸ’αž˜αžΈαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ… linter clang-tidy αŸ”

αž€αžΆαžšαž…αŸ’αž“αŸƒαž”αŸ’αžšαžŒαž·αžαžŸαŸ†αžαžΆαž“αŸ‹αŸ—αž“αŸ…αž€αŸ’αž“αž»αž„ LLVM 13.0αŸ–

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция Β«-ehcontguardΒ» для использования Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ CET (Windows Control-flow Enforcement Technology) для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π½Π° этапС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΎΡ‚ выполнСния эксплоитов, построСнных с использованиСм ΠΏΡ€ΠΈΡ‘ΠΌΠΎΠ² Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования (ROP, Return-Oriented Programming).
  • αž‚αž˜αŸ’αžšαŸ„αž„αžαŸαžŸαŸ’αžαž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžαžΌαžšαžˆαŸ’αž˜αŸ„αŸ‡αž‡αžΆαž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž†αŸ’αž›αž„αž‚αž˜αŸ’αžšαŸ„αž„ αž αžΎαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž…αž“αžΆαž‘αžΎαž„αžŠαžΎαž˜αŸ’αž”αžΈαžŸαžΆαž€αž›αŸ’αž”αž„αžŸαž˜αžΆαžŸαž’αžΆαžαž»αž–αžΈαž‚αž˜αŸ’αžšαŸ„αž„αž•αŸ’αžŸαŸαž„αŸ— αž˜αž·αž“αž€αŸ†αžŽαžαŸ‹αž…αŸ†αž–αŸ„αŸ‡αž–αŸαžαŸŒαž˜αžΆαž“αž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸαž“αŸ„αŸ‡αž‘αŸαŸ”
  • αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‡αž½αž”αž”αŸ’αžšαž‡αž»αŸ†αž‚αŸ’αž“αžΆαž•αŸ’αžαž›αŸ‹αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž€αžŸαžΆαž„αž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™αž‡αžΆαž…αŸ’αžšαžΎαž“ αž§αž‘αžΆαž αžšαžŽαŸ αž˜αž½αž™αž‡αžΆαž˜αž½αž™αž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αž“αž·αž„αž˜αž½αž™αž‘αŸ€αžαž‡αžΆαž˜αž½αž™αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαŸ”
  • αž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ„αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜ AArch64 αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αŸ’αž“αŸ‚αž€αž”αž“αŸ’αžαŸ‚αž˜ Armv9-A RME (Realm Management Extension) αž“αž·αž„ SME (Scalable Matrix Extension) αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž“αŸ…αž€αŸ’αž“αž»αž„αž§αž”αž€αžšαžŽαŸαžŠαŸ†αž‘αžΎαž„αŸ”
  • αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ ISA V68/HVX αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ…αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ„αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜ Hexagon αŸ”
  • αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ„αž™ x86 αž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αž“αžΌαžœαž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš AMD Zen 3 αŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ GFX1013 RDNA2 APU αž‘αŸ…αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ„αž™ AMDGPU αŸ”
  • Π’ Libc++ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° рСализация Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй стандартов C++20 ΠΈ C++2b, Π² Ρ‚ΠΎΠΌ числС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π° рСализация Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Β«conceptsΒ». Для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Windows Π½Π° Π±Π°Π·Π΅ MinGW Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° std::filesystem. Π Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ <algorithm>, <iterator> ΠΈ <utility>. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° сборочная опция LIBCXX_ENABLE_INCOMPLETE_FEATURES для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² с Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ.
  • αžŸαž˜αžαŸ’αžαž—αžΆαž–αžšαž”αžŸαŸ‹ LLD linker αžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž„αŸ’αžšαžΈαž€ αžŠαŸ‚αž›αž€αŸ’αž“αž»αž„αž“αŸ„αŸ‡αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Big-endian Aarch64 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αž αž αžΎαž™αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ„αž™ Mach-O αžαŸ’αžšαžΌαžœαž”αžΆαž“αž“αžΆαŸ†αž™αž€αž‘αŸ…αžšαžŠαŸ’αž‹αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž—αŸ’αž‡αžΆαž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž’αž˜αŸ’αž˜αžαžΆαŸ” αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž€αžΆαžšαž€αŸ‚αž›αž˜αŸ’αž’αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžšαžŠαžΎαž˜αŸ’αž”αžΈαž—αŸ’αž‡αžΆαž”αŸ‹ Glibc αžŠαŸ„αž™αž”αŸ’αžšαžΎ LLD αŸ”
  • αž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ llvm-mca (Machine Code Analyzer) αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ processors αžŠαŸ‚αž›αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αžŸαŸαž…αž€αŸ’αžαžΈαžŽαŸ‚αž“αžΆαŸ†αžαžΆαž˜αž›αŸ†αžŠαžΆαž”αŸ‹αž›αŸ†αžŠαŸ„αž™ (in-order superscalar pipeline) αžŠαžΌαž…αž‡αžΆ ARM Cortex-A55 αž‡αžΆαžŠαžΎαž˜αŸ”
  • αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸ LLDB αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαŸαž‘αž·αž€αžΆ AArch64 αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž–αŸαž‰αž›αŸαž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž—αžΆαž–αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαžšαž”αžŸαŸ‹αž‘αŸ’αžšαž“αž·αž…, MTE (MemTag, Memory Tagging Extension) αž“αž·αž„αž€αžΆαžšαž…αž»αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡ SVE αŸ” αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž…αž„αžŸαŸ’αž›αžΆαž€αž‘αŸ…αž“αžΉαž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž”αŸ‚αž„αž…αŸ‚αž€αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αž“αžΈαž˜αž½αž™αŸ— αž“αž·αž„αžšαŸ€αž”αž…αŸ†αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž‘αŸ’αžšαž“αž·αž…αž“αŸ…αž–αŸαž›αž…αžΌαž›αž”αŸ’αžšαžΎαž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ† αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαžαŸ‚αž—αŸ’αž‡αžΆαž”αŸ‹αž‡αžΆαž˜αž½αž™αžŸαŸ’αž›αžΆαž€αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαŸ”
  • αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸ LLDB αž“αž·αž„αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž˜αž»αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αžΆαžŸαžΆ Fortran - Flang αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ…αžŸαž—αžΆαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‚αŸ„αž›αž–αžΈαžšαžŠαŸ‚αž›αž”αž„αŸ’αž€αžΎαžαžŠαŸ„αž™αž‚αž˜αŸ’αžšαŸ„αž„αŸ”

αž”αŸ’αžšαž—αž–: opennet.ru

αž‘αž·αž‰αž€αžΆαžšαž”αž„αŸ’αž αŸ„αŸ‡αžŠαŸ‚αž›αž’αžΆαž…αž‘αž»αž€αž…αž·αžαŸ’αžαž”αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αŸαž αž‘αŸ†αž–αŸαžšαžŠαŸ‚αž›αž˜αžΆαž“αž€αžΆαžšαž€αžΆαžšαž–αžΆαžš DDoS, αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ VPS VDS πŸ”₯ αž‘αž·αž‰αžŸαŸαžœαžΆαž”αž„αŸ’αž αŸ„αŸ‡αž‚αŸαž αž‘αŸ†αž–αŸαžšαžŠαŸ‚αž›αž’αžΆαž…αž‘αž»αž€αž…αž·αžαŸ’αžαž”αžΆαž“αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž€αžΆαžšαž–αžΆαžš DDoS αž“αž·αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ VPS VDS | ProHoster