2024年总结
一如既往,主要在工具链领域耕耘。BlogWrote 3 2024-12-31 03:43:27 Author: maskray.me(查看原文) 阅读量:24 收藏

一如既往,主要在工具链领域耕耘。

Blog

Wrote 31 blog posts (including this one, mainly about toolchains) and revised many posts initially written between 2020 and 2024.

6 posts managed to get more than 50 points on Hacker News. (https://news.ycombinator.com/from?site=maskray.me).

GCC

Made 5 commits to GCC and earned committer access. Added the inline asm constraint "Ws" to the x86 port for raw symbol names.

llvm-project

  • Reviewed many many patches
  • Official maintainer status on the MC layer and binary utilities
  • Added a script update_test_body.py to generate elaborated IR and assembly tests (#89026)
  • MC
  • Improved raw symbol name support in inline assembly
  • AArch64 mapping symbol size optimization
  • Enabled StackSafetyAnalysis for AddressSanitizer to remove instrumentations on stack-allocated variables that are guaranteed to be safe from memory access bugs
    • Bail out if MemIntrinsic length is -1
    • Bail out when calling ifunc
  • Added the Clang cc1 option --output-asm-variant= and cleaned up internlas of the x86-asm-syntax cl::opt option.
  • llvm-objcopy
    • Added --compress-sections as a generalized --compress-debug-sections
    • Maintenance
  • llvm-objdump
    • Fixed spurious warning: failed to compute relocation: R_RISCV_SUB_ULEB128, Invalid data was encountered while parsing the file
    • Print ... even if a mapping symbol is active
    • Handle -M for --macho. Used by objdump on macOS
  • Made easy optimizations to DenseMap and SmallPtrSet

llvm/ADT/Hashing.h stability

To facilitate improvements, llvm/ADT/Hashing.h promised to be non-deteriministic so that users could not depend on exact hash values. However, the values were actually deterministic unless set_fixed_execution_hash_seed was called. A lot of internal code incorrectly relied on the stability of hash_value/hash_combine/hash_combine_range. I have fixed them and landed https://github.com/llvm/llvm-project/pull/96282 to make the hash value non-deteriministic in LLVM_ENABLE_ABI_BREAKING_CHECKS builds.

lld/ELF

lld/ELF is quite stable. I have made some maintenance changes. As usual, I wrote the ELF port's release notes for the two releases. See lld 18 ELF changes and lld 19 ELF changes for detail.


文章来源: https://maskray.me/blog/2024-12-31-summary
如有侵权请联系:admin#unsafe.sh