LLVM 15.0 рдХрдВрдкрд╛рдпрд▓рд░ рд╕реВрдЯрдЪреЗ рдкреНрд░рдХрд╛рд╢рди

рд╕рд╣рд╛ рдорд╣рд┐рдиреНрдпрд╛рдВрдЪреНрдпрд╛ рд╡рд┐рдХрд╛рд╕рд╛рдирдВрддрд░, LLVM 15.0 рдкреНрд░рдХрд▓реНрдкрд╛рдЪреЗ рдкреНрд░рдХрд╛рд╢рди рд╕рд╛рджрд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ - рдПрдХ GCC-рд╕реБрд╕рдВрдЧрдд рдЯреВрд▓рдХрд┐рдЯ (рдХрдВрдкрд╛рдпрд▓рд░, рдСрдкреНрдЯрд┐рдорд╛рдпрдЭрд░реНрд╕ рдЖрдгрд┐ рдХреЛрдб рдЬрдирд░реЗрдЯрд░) рдЬреЗ RISC-рд╕рд╛рд░рдЦреНрдпрд╛ рдЖрднрд╛рд╕реА рд╕реВрдЪрдирд╛рдВрдЪреНрдпрд╛ рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ рдмрд┐рдЯрдХреЛрдбрдордзреНрдпреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ (рдПрдХ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдЖрднрд╛рд╕реА рдорд╢реАрди рдмрд╣реБ-рд╕реНрддрд░реАрдп рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рд╕рд┐рд╕реНрдЯрдо). рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗрд▓рд╛ рд╕реНрдпреВрдбреЛрдХреЛрдб JIT рдХрдВрдкрд╛рдпрд▓рд░ рд╡рд╛рдкрд░реВрди рдкреНрд░реЛрдЧреНрд░рд╛рдордЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреНрдпрд╛ рд╡реЗрд│реА рдереЗрдЯ рдорд╢реАрди рдирд┐рд░реНрджреЗрд╢рд╛рдВрдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ.

рдХреНрд▓реЕрдВрдЧ 15.0 рдордзреАрд▓ рдкреНрд░рдореБрдЦ рд╕реБрдзрд╛рд░рдгрд╛:

  • x86 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рдгрд╛рд▓реАрдВрд╕рд╛рдареА, тАЬ-fzero-call-used-regsтАЭ рдзреНрд╡рдЬ рдЬреЛрдбрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ, рдЬреЗ рдлрдВрдХреНрд╢рдирдордзреВрди рдирд┐рдпрдВрддреНрд░рдг рдкрд░рдд рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА рдлрдВрдХреНрд╢рдирдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реЗрд▓реЗ рд╕рд░реНрд╡ CPU рд░рдЬрд┐рд╕реНрдЯрд░реНрд╕ рд╢реВрдиреНрдпрд╛рд╡рд░ рд░реАрд╕реЗрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗрдд рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рддреЗ. рд╣рд╛ рдкрд░реНрдпрд╛рдп рддреБрдореНрд╣рд╛рд▓рд╛ рдлрдВрдХреНрд╢рдиреНрд╕рдордзреВрди рдорд╛рд╣рд┐рддреА рдЧрд│рддреАрдкрд╛рд╕реВрди рд╕рдВрд░рдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рд╕ рдЖрдгрд┐ рд╢реЛрд╖рдгрд╛рдВрдордзреНрдпреЗ ROP (рд░рд┐рдЯрд░реНрди-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ) рдЧреЕрдЭреЗрдЯ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдпреЛрдЧреНрдп рдмреНрд▓реЙрдХреНрд╕рдЪреА рд╕рдВрдЦреНрдпрд╛ рд╕реБрдорд╛рд░реЗ 20% рдХрдореА рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЛ.
  • рд╕реА рдХреЛрдбрд╕рд╛рдареА рд╕реНрдЯреНрд░рдХреНрдЪрд░реНрд╕рдЪреНрдпрд╛ рдореЗрдорд░реА рдкреНрд▓реЗрд╕рдореЗрдВрдЯрдЪреЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХреАрдХрд░рдг рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, рдЬреЗ рдЕрд╕реБрд░рдХреНрд╖рд┐рддрддреЗрдЪреЗ рд╢реЛрд╖рдг рдЭрд╛рд▓реНрдпрд╛рд╕ рд╕реНрдЯреНрд░рдХреНрдЪрд░реНрд╕рдордзреВрди рдбреЗрдЯрд╛ рдХрд╛рдврдгреЗ рдЧреБрдВрддрд╛рдЧреБрдВрддреАрдЪреЗ рдХрд░рддреЗ. Randomize_layout рдЖрдгрд┐ no_randomize_layout рд╡рд┐рд╢реЗрд╖рддрд╛ рд╡рд╛рдкрд░реВрди рдпрд╛рджреГрдЪреНрдЫрд┐рдХреАрдХрд░рдг рдЪрд╛рд▓реВ рдЖрдгрд┐ рдмрдВрдж рдХреЗрд▓реЗ рдЬрд╛рддреЗ рдЖрдгрд┐ "-frandomize-layout-seed" рдХрд┐рдВрд╡рд╛ "-frandomize-layout-seed-file" рдзреНрд╡рдЬ рд╡рд╛рдкрд░реВрди рд╕реАрдб рд╕реЗрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
  • рдЬреЛрдбрд▓реЗ "-fstrict-flex-arrays=" рдзреНрд╡рдЬ ", рдЬреНрдпрд╛рджреНрд╡рд╛рд░реЗ рддреБрдореНрд╣реА рд╕реНрдЯреНрд░рдХреНрдЪрд░реНрд╕рдордзреАрд▓ рд▓рд╡рдЪрд┐рдХ рдЕреЕрд░реЗ рдШрдЯрдХрд╛рд╕рд╛рдареА рд╕реАрдорд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░реВ рд╢рдХрддрд╛ (рд▓рд╡рдЪрд┐рдХ рдЕреЕрд░реЗ рд╕рджрд╕реНрдп, рд╕рдВрд░рдЪрдиреЗрдЪреНрдпрд╛ рд╢реЗрд╡рдЯреА рдЕрдирд┐рд╢реНрдЪрд┐рдд рдЖрдХрд╛рд░рд╛рдЪрд╛ рдЕреЕрд░реЗ). 0 (рдбреАрдлреЙрд▓реНрдЯ) рд╡рд░ рд╕реЗрдЯ рдХреЗрд▓реНрдпрд╛рд╡рд░, рдЕреЕрд░реЗрд╕рд╣ рд╕рдВрд░рдЪрдиреЗрдЪрд╛ рд╢реЗрд╡рдЯрдЪрд╛ рдШрдЯрдХ рдиреЗрд╣рдореА рд▓рд╡рдЪрд┐рдХ рдЕреЕрд░реЗ рдореНрд╣рдгреВрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ, 1 - рдлрдХреНрдд рдЖрдХрд╛рд░ [], [0] рдЖрдгрд┐ [1] рдПрдХ рд▓рд╡рдЪрд┐рдХ рдЕреЕрд░реЗ рдореНрд╣рдгреВрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реА рдЬрд╛рддреЗ, 2 - рдлрдХреНрдд рдЖрдХрд╛рд░ рд▓рд╡рдЪрд┐рдХ рдЕреЕрд░реЗрдкреНрд░рдорд╛рдгреЗ [] рдЖрдгрд┐ [0] рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реА рдЬрд╛рддреЗ.
  • рдбрд╛рдпрд░реЗрдХреНрдЯрдПрдХреНрд╕рдордзреНрдпреЗ рд╢реЗрдбрд░реНрд╕ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ HLSL (рд╣рд╛рдп-рд▓реЗрд╡реНрд╣рд▓ рд╢реЗрдбрд░ рд▓рдБрдЧреНрд╡реЗрдЬ) рд╕рд╛рд░рдЦреНрдпрд╛ рднрд╛рд╖реЗрд╕рд╛рдареА рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ.
  • рдирд┐рд╢реНрдЪрд┐рдд- рдЖрдгрд┐ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓-рд▓рд╛рдВрдмреАрдЪреНрдпрд╛ рдЕреЕрд░реЗрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╕рдВрдЧрдд рдпреБрдХреНрддрд┐рд╡рд╛рдж рдШреЛрд╖рдгрд╛рдВрд╕рд╣ рдУрд╡реНрд╣рд░рд░рд╛рдЗрдбрд┐рдВрдЧ рдлрдВрдХреНрд╢рдиреНрд╕рдмрджреНрджрд▓ рдЪреЗрддрд╛рд╡рдгреА рджреЗрдгреНрдпрд╛рд╕рд╛рдареА "-рд╡рд╛рд░реЗ-рдкреЕрд░рд╛рдореАрдЯрд░" рдЬреЛрдбрд▓реЗ.
  • MSVC рд╕рд╣ рд╕реБрдзрд╛рд░рд┐рдд рд╕реБрд╕рдВрдЧрддрддрд╛. MSVC рдордзреНрдпреЗ рдкреНрд░рджрд╛рди рдХреЗрд▓реЗрд▓реНрдпрд╛ "#pragma рдлрдВрдХреНрд╢рди" (рдХрдВрдкрд╛рдЗрд▓рд░рд▓рд╛ рдЗрдирд▓рд╛рдЗрди рд╡рд┐рд╕реНрддрд╛рд░рд╛рдРрд╡рдЬреА рдлрдВрдХреНрд╢рди рдХреЙрд▓ рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рдгреНрдпрд╛рдЪреА рд╕реВрдЪрдирд╛ рджреЗрддреЗ) рдЖрдгрд┐ "#pragma alloc_text" (рдлрдВрдХреНрд╢рди рдХреЛрдбрд╕рд╣ рд╡рд┐рднрд╛рдЧрд╛рдЪреЗ рдирд╛рд╡ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ) рд╕рд╛рдареА рдЬреЛрдбрд▓реЗрд▓реЗ рд╕рдорд░реНрдерди. MSVC-рд╕реБрд╕рдВрдЧрдд /JMC рдЖрдгрд┐ /JMC рдзреНрд╡рдЬрд╛рдВрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ.
  • рднрд╡рд┐рд╖реНрдпрд╛рддреАрд▓ C2X рдЖрдгрд┐ C++ 23 рдорд╛рдирдХрд╛рдВрдирд╛ рд╕рдорд░реНрдерди рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд░реНрдп рд╕реБрд░реВ рдЖрд╣реЗ. C рднрд╛рд╖реЗрд╕рд╛рдареА, рдЦрд╛рд▓реАрд▓ рдЧреЛрд╖реНрдЯреА рд▓рд╛рдЧреВ рдХреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд: noreturn рд╡рд┐рд╢реЗрд╖рддрд╛, рдЦреЛрдЯреЗ рдЖрдгрд┐ рдЦрд░реЗ рдХреАрд╡рд░реНрдб, рджрд┐рд▓реЗрд▓реНрдпрд╛ рдмрд┐рдЯ рдбреЗрдкреНрдердЪреНрдпрд╛ рдкреВрд░реНрдгрд╛рдВрдХрд╛рдВрд╕рд╛рдареА _BitInt(N) рдкреНрд░рдХрд╛рд░, *_WIDTH рдореЕрдХреНрд░реЛ, UTF-8 рдПрдиреНрдХреЛрдб рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡рд░реНрдгрд╛рдВрд╕рд╛рдареА u8 рдЙрдкрд╕рд░реНрдЧ.

    C++ рд╕рд╛рдареА, рдЦрд╛рд▓реАрд▓ рдЧреЛрд╖реНрдЯреА рд▓рд╛рдЧреВ рдХреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд: рдореЙрдбреНрдпреВрд▓ рд╡рд┐рд▓реАрдиреАрдХрд░рдг, рдлрдВрдХреНрд╢рди рд╕рджрд╕реНрдпрд╛рдВрдЪреЗ ABI рдЕрд▓рдЧрд╛рд╡, рдореЙрдбреНрдпреВрд▓реНрд╕рдордзреАрд▓ рдиреЙрди-рд▓реЛрдХрд▓ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдЪреЗ рдСрд░реНрдбрд░ рдХреЗрд▓реЗрд▓реЗ рдбрд╛рдпрдиреЕрдорд┐рдХ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдпрдЭреЗрд╢рди, рдорд▓реНрдЯреАрдбрд╛рдпрдореЗрдВрд╢рдирд▓ рдЗрдВрдбреЗрдХреНрд╕ рдСрдкрд░реЗрдЯрд░, рдСрдЯреЛ(x), рдиреЙрди-рд▓рд┐рдЯрд░рд▓ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕, рдЧреЛрдЯреЛ рдЖрдгрд┐ рдХреЙрдиреНрд╕реНрдЯреЗрдХреНрд╕реНрдкрд░ рдореНрд╣рдгреВрди рдШреЛрд╖рд┐рдд рдлрдВрдХреНрд╢рдиреНрд╕рдордзреАрд▓ рд▓реЗрдмрд▓реНрд╕ , рдбрд┐рд▓рд┐рдорд┐рдЯреЗрдб рдПрд╕реНрдХреЗрдк рд╕реАрдХреНрд╡реЗрдиреНрд╕, рдирд╛рд╡ рджрд┐рд▓реЗрд▓реЗ рдПрд╕реНрдХреЗрдк рдХреЕрд░реЗрдХреНрдЯрд░.

  • OpenCL рдЖрдгрд┐ OpenMP рд╕рдкреЛрд░реНрдЯрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдХреНрд╖рдорддрд╛рдВрдЪрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдгреНрдпрд╛рдд рдЖрд▓рд╛ рдЖрд╣реЗ. OpenCL рд╡рд┐рд╕реНрддрд╛рд░ cl_khr_subgroup_rotate рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ.
  • x86 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд╕рд╛рдареА, рдмрд┐рдирд╢рд░реНрдд рдлреЙрд░рд╡рд░реНрдб рдЬрдВрдк рдСрдкрд░реЗрд╢рдиреНрд╕рдирдВрддрд░ рд╕реВрдЪрдирд╛рдВрдЪреНрдпрд╛ рд╕рдЯреНрдЯрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдореБрд│реЗ рдкреНрд░реЛрд╕реЗрд╕рд░рдордзреАрд▓ рднреЗрджреНрдпрддреЗрдкрд╛рд╕реВрди рд╕рдВрд░рдХреНрд╖рдг рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ. рдореЗрдорд░реАрдордзреАрд▓ рд╢рд╛рдЦрд╛ рд╕реВрдЪрдирд╛ (рдПрд╕рдПрд▓рдПрд╕, рд╕реНрдЯреНрд░реЗрдЯ рд▓рд╛рдЗрди рд╕реНрдкреЗрдХреНрдпреБрд▓реЗрд╢рди) рдирдВрддрд░ рддрд╛рдмрдбрддреЛрдм рд╕реВрдЪрдирд╛рдВрдЪреНрдпрд╛ рдкреНрд░реА-рдПрдореНрдкреНрдЯрд┐рд╡реНрд╣ рдкреНрд░рдХреНрд░рд┐рдпреЗрдореБрд│реЗ рд╕рдорд╕реНрдпрд╛ рдЙрджреНрднрд╡рддреЗ. рд╕рдВрд░рдХреНрд╖рдг рд╕рдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, тАЬ-mharden-sls=[none|all|return|indirect-jmp]тАЭ рд╣рд╛ рдкрд░реНрдпрд╛рдп рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЖрд╣реЗ.
  • SSE2 рд╡рд┐рд╕реНрддрд╛рд░рд╛рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрдгрд╛рд▒реНрдпрд╛ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╕рд╛рдареА, _Float16 рдкреНрд░рдХрд╛рд░ рдЬреЛрдбрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ, рдЬреЛ AVX512-FP16 рд╕реВрдЪрдирд╛рдВрд╕рд╛рдареА рд╕рдорд░реНрдерди рдирд╕рддрд╛рдирд╛ рдлреНрд▓реЛрдЯ рдкреНрд░рдХрд╛рд░ рд╡рд╛рдкрд░реВрди рдЕрдиреБрдХрд░рдг рдХреЗрд▓рд╛ рдЬрд╛рддреЛ.
  • RDPRU рд╕реВрдЪрдирд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА "-m[no-]rdpru" рдзреНрд╡рдЬ рдЬреЛрдбрд▓рд╛, AMD Zen2 рдкреНрд░реЛрд╕реЗрд╕рд░рдкрд╛рд╕реВрди рд╕реБрд░реВ рд╣реЛрдгрд╛рд░рд╛ рд╕рдкреЛрд░реНрдЯ.
  • RETBLEED рдЕрд╕реБрд░рдХреНрд╖рд┐рддрддреЗрдкрд╛рд╕реВрди рд╕рдВрд░рдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА "-mfunction-return=thunk-extern" рдзреНрд╡рдЬ рдЬреЛрдбрд▓рд╛, рдЬреЛ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд╢рд╛рдЦрд╛рдВрд╕рд╛рдареА рд╕рдЯреНрдЯрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдпрдВрддреНрд░рдгреЗрдЪрд╛ рд╕рд╣рднрд╛рдЧ рд╡рдЧрд│реВрди рдирд┐рд░реНрджреЗрд╢рд╛рдВрдЪрд╛ рдХреНрд░рдо рдЬреЛрдбреВрди рдХрд╛рд░реНрдп рдХрд░рддреЛ.

LLVM 15.0 рдордзреАрд▓ рдкреНрд░рдореБрдЦ рдирд╡рдХрд▓реНрдкрдирд╛:

  • Cortex-M85 CPU, Armv9-A, Armv9.1-A рдЖрдгрд┐ Armv9.2-A рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░реНрд╕, Armv8.1-M PACBTI-M рд╡рд┐рд╕реНрддрд╛рд░рд╛рдВрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ.
  • DirectX рд╕рд╛рдареА рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдмреЕрдХрдПрдВрдб рдЬреЛрдбрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ рдЬреЛ DirectX рд╢реЗрдбрд░реНрд╕рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ DXIL (рдбрд╛рдпрд░реЗрдХреНрдЯрдПрдХреНрд╕ рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ рд▓рдБрдЧреНрд╡реЗрдЬ) рдлреЙрд░рдореЕрдЯрд▓рд╛ рд╕рдкреЛрд░реНрдЯ рдХрд░рддреЛ. рдЕрд╕реЗрдВрдмрд▓реА рджрд░рдореНрдпрд╛рди тАЬ-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=DirectXтАЭ рдкреЕрд░рд╛рдореАрдЯрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реВрди рдмреЕрдХрдПрдВрдб рд╕рдХреНрд╖рдо рдХреЗрд▓рд╛ рдЬрд╛рддреЛ.
  • Libc++ рдиреЗ C++20 рдЖрдгрд┐ C++2b рдорд╛рдирдХрд╛рдВрдЪреА рдирд╡реАрди рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рд▓рд╛рдЧреВ рдХрд░рдгреЗ рд╕реБрд░реВ рдареЗрд╡рд▓реЗ рдЖрд╣реЗ, рдЬреНрдпрд╛рдд тАЬрд╕реНрд╡рд░реВрдктАЭ рд▓рд╛рдпрдмреНрд░рд░реАрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдкреВрд░реНрдг рдХрд░рдгреЗ рдЖрдгрд┐ тАЬрд╢реНрд░реЗрдгреАтАЭ рд▓рд╛рдпрдмреНрд░рд░реАрдЪреА рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдЖрд╡реГрддреНрддреА рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ.
  • x86, PowerPC рдЖрдгрд┐ RISC-V рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд╕рд╛рдареА рд╕реБрдзрд╛рд░рд┐рдд рдмреЕрдХрдПрдВрдб.
  • LLD рд▓рд┐рдВрдХрд░ рдЖрдгрд┐ LLDB рдбреАрдмрдЧрд░рдЪреНрдпрд╛ рдХреНрд╖рдорддрд╛ рд╡рд╛рдврд╡рд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд.

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛