IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    My involvement with LLVM 18

    MaskRay发表于 2024-02-25 22:10:29
    love 0

    LLVM 18 will soon be relased. This post provides a summary of mycontributions in this release cycle to record my learning progress.

    • LLVM binary utility maintenance, e.g.
      • adopted llvm-readobjstyle ObjectFile specific dumpers
      • [llvm-objdump][X86] Add @plt symbols for .plt.got
      • [llvm-readobj] Print <null> for relocation target with an empty name
    • compiler-rt maintenance, e.g.
      • changed lsan to work with high-entropy ASLR for x86-64 Linux
      • removed crypt and crypt_rinterceptors to work with glibc
      • implementedinterceptors for glibc 2.38 __isoc23_strtol and__isoc23_scanf family functions
      • tsan: Respect !nosanitize metadata and remove gcov special case
    • -fsanitize=alignment: check memcpy/memmove arguments (#67766)
    • LTO maintenance
      • Improve diagnostics handling when parsing module-level inlineassembly (#75726)
    • MC maintenance
      • [MC,AArch64] Suppresslocal symbol to STT_SECTION conversion for GOT relocations
      • MC Make .pseudo_probe createdsections deterministic after D91878
      • Change .reloc to register used symbols
      • Change SHF_LINK_ORDER and section group parsing orderto match GNU assembler
    • AArch64
      • Suppress local symbol toSTT_SECTION conversion for GOT relocations
      • Restrict MOVZ/MOVK to non-PIC large code model (#70178)
      • clang: Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 forAArch64 (#74954)
    • RISC-V
      • Clean up code after improved assembler support for linkerrelaxation
      • SupportR_RISCV_SET_ULEB128/R_RISCV_SUB_ULEB128 for .uleb128 directives
      • Parse SHF_LINK_ORDER argument before section group name(#77407)
    • x86
      • Support inline assembly constraint "Ws"
      • Change displacement overflow when parsing assembly code(#75747)
      • Fix MSVC-style inline assembly call fptr andjmp fptr (#73207)
      • In 32-bit mode, fix FastISel -fno-pic for intrinsics(#51078)
      • clang: Support arch=x86-64{,-v2,-v3,-v4} fortarget_clones attribute
      • clang: __builtin_cpu_supports: supportx86-64{,-v2,-v3,-v4}
    • libunwind
      • Bump to CXX_STANDARD 17 (#75986)

    lld

    See lld 18 ELFchanges

    MC

    • Removed many obsoleted workarounds from the integratedassembler
    • Fixed placement of function entry comments
    • Re-architectured a substantial part of the integrated assembler thatis used by RISC-V linker relaxation, fixing some longstanding bugs. SeeThedark side of RISC-V linker relaxation for detail.

    Clang

    Driver maintenance

    • [Driver] -###: exit withcode 1 if hasErrorOccurred
    • Report errors fortarget-specific options on unsupported targets
    • Remove RequiresPIE and msan's NeedPIE setting (#77689)
    • Add -fandroid-pad-segment/-fno-android-pad-segment (#77244)
    • Support -mtls-dialect=desc

    Others:

    • Function multi-versioning: don't set comdat for internal linkageresolvers
    • -fsanitize=alignment: check memcpy/memmove arguments(#67766)


沪ICP备19023445号-2号
友情链接