一如既往,主要在工具链领域耕耘。
I made 700+ commits this year. Many are clean-up commits or fixup forothers' work. I hope that I can do more useful work next year.
--features=layering_check
for Bazel's llvm andclang projectsLLVM_ENABLE_REVERSE_ITERATION
forStringMap
llvm::xxh3_64bits
and adopted it inllvm/clang/lld-###
exit code, auxiliary files, errors forunsupported target-specific options, -fsanitize=kcfi
,and XRay-fsanitize=function
work for C and non-x86architectures%lb
recognization for printf/scanf, checkingthe failure memory order for atomic_compare_exchange
-familybuilt-in functions, -Wc++11-narrowing-const-reference
@plt
symbols for x86.plt.got
, mapping symbol improvements,--disassemble-symbols
changes, etcR_RISCV_SET_ULEB128/R_RISCV_SUB_ULEB128
for.uleb128
directives#line
, and #include
, made llvm-cov gcov workwith a smaller stack size--call-graph-profile-sort=hfsort
defaultReviewed many commits. A lot of people don't add aReviewed By:
tag. Anyway, counting commits with the tag cangive an underestimate. 1
2% git shortlog -sn 2679e8bba3e166e3174971d040b9457ec7b7d768...main --grep 'Reviewed .*MaskRay' | awk '{s+=$1}END{print s}'
395
Many GitHub pull requests are not counted.
I createda read-only archive of the LLVM phabricator instance.
lld/ELF is quite stable. I have made some maintenance changes. Asusual, I wrote the ELF port's release notes for the two releases. See lld 16 ELF changes andlld 17 ELF changes fordetail.
I made someslides on how I improved the performance of lld/ELF.
I have made changes to x86-64, AArch64, and RISC-V psABIdocuments.
Reported many bugs and feature requests:
ld: Should --gc-sections respect RHS of a symbol assignment?
objcopy: add support for changing ELF symbol visibility
rtld: resolve ifunc relocations after JUMP_SLOT/GLOB_DAT/etc
ld riscv: --emit-relocs does not retain the original relocation type
gas aarch64: GOT relocations referencing a local symbol should not be changed to reference STT_SECTION
objcopy --set-section-flags: support toggling a flag
gas x86: reject {call,jmp} [offset func] in Intel syntax
My commits:
PR30592 objcopy: allow --set-section-flags to add or remove SHF_X86_64_LARGE
ld: Allow R_386_GOT32 for call *__tls_get_addr@GOT(%reg)
ld: Allow R_X86_64_GOTPCREL for call *__tls_get_addr@GOTPCREL(%rip)
RISC-V: Add --[no-]relax-gp to ld
I had one patch landed supporting-mlarge-data-threshold=
for x86-64-mcmodel=medium
.
8 commits. Consulted on a number of toolchain questions.
Wrote 29 blog posts (including this one, mainly about toolchains) andrevised many posts initially written between 2020 and 2023.
Trips: Orlando, Philadelphia, Harrisburg, Trenton, Newark, New YorkCity, Alaska, Ontario, Quebec, Nova Scotia, Chicago, Atlanta, Miami,Jamaica, Haiti.
Mastodon: https://hachyderm.io/@meowray