summary

  • 31st December 2025

2025年总结

Read more →
  • 31st December 2024

2024年总结

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

Blogging

I have been busy creating posts, authoring a total of 31 blog posts (including this one). 7 posts resonated on Hacker News, garnering over 50 points. (https://news.ycombinator.com/from?site=maskray.me).

I have also revised many posts initially written between 2020 and 2024.

Mastodon: https://hachyderm.io/@meowray

…

Read more →
  • 31st December 2023

2023年总结

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

llvm-project

I made 700+ commits this year. Many are clean-up commits or fixup for others' work. I hope that I can do more useful work next year.

  • Enabled --features=layering_check for Bazel's llvm and clang projects
  • Implemented LLVM_ENABLE_REVERSE_ITERATION for StringMap
  • Added llvm::xxh3_64bits and adopted it in llvm/clang/lld
  • Made AArch64 changes to msan and dfsan
  • Made various improvements to the clang driver, including -### exit code, auxiliary files, errors for unsupported target-specific options, -fsanitize=kcfi, and XRay
  • Made various sanitizer changes
  • Made -fsanitize=function work for C and non-x86 architectures
  • Fixed several major problems of assembler implementation of RISC-V linker relaxation
  • clangSema: %lb recognization for printf/scanf, checking the failure memory order for atomic_compare_exchange-family built-in functions, -Wc++11-narrowing-const-reference
  • llvm-objdump: @plt symbols for x86 .plt.got, mapping symbol improvements, --disassemble-symbols changes, etc
  • Supported R_RISCV_SET_ULEB128/R_RISCV_SUB_ULEB128 for .uleb128 directives
  • gcov: fix instrumentation crashes when using inline variables, #line, and #include, made llvm-cov gcov work with a smaller stack size
  • LTO: fixed local ifunc for ThinLTO, reported errors when parsing module-level inline assembly
  • CodeLayout: fixed a correctness bug and improved performance to be suitable for lld/ELF --call-graph-profile-sort=hfsort default

Reviewed many commits. A lot of people don't add a Reviewed By: tag. Anyway, counting commits with the tag can give an underestimate.

% git shortlog -sn 2679e8bba3e166e3174971d040b9457ec7b7d768...main --grep 'Reviewed .*MaskRay' | awk '{s+=$1}END{print s}'
395
…

Read more →
  • 31st December 2022

2022年总结

一如既往,主要在工具链领域耕耘。给这些high-profile OSS贡献的时候,希望透过这个微小的角度改变世界。

Highlights

  • RELR relative relocation format (glibc, musl, DynamoRIO)
  • zstd compressed debug sections (binutils, gdb, clang, lld/ELF, lldb)
  • lld/ELF (huge performance improvement, RISC-V linker relaxation, SHT_RISCV_ATTRIBUTES)
  • Clang built glibc (get the ball rolling)
  • Make protected symbols work in binutils/glibc
  • Involved in sanitizers, ThinLTO, AArch64/x86 hardening features, AArch64 Memtag ABI, RISC-V psABI, etc
…

Read more →
  • 31st December 2021

2021年总结

llvm-project

今年800+ commits,灌水很多,挑出一些值得一提的。

…

Read more →
  • 31st December 2020

2020年总结

2017年10月第一次给LLVM提交patch,到2020年底已经贡献三年多了。今年~1000 commits,灌水很多,挑出一些值得一提的。

…

Read more →
  • 31st December 2019

2019年总结——工具链的一年

2017年10月第一次给LLVM提交patch,到2019年底已经贡献两年多了。今年800 commits,灌水很多,挑出一些值得一提的。

…

Read more →
  • 10th December 2016

近况

于是一晃到了2016年底,最终还是去了美国工作……感谢scateu以前给我的劝诫。虽然还是很害怕,但是生存能力已经提高了。感叹国内公司工作强度、薪资和美国公司差距还是太大,特别是对于毕业不久的人来说,阿里星听上去好听却有何用,“机会很多”是说给冒险家听的。一位前老板问我为何选择出去,回答的理由一条是背书。他说平台和机会是创造出来的。毕业这一年看了那么多,感慨万千。身边的同学学长朋友也看到了好多想去国外大公司却被跨国工作壁垒拦下来的例子,毕业生的前几年是掉价最快的时候,感叹与国外master PhD差距不知凡几,尽力赶上去吧。好公司也非没有,过了这个村,就没那个店,这一年也曾有良缘经历过两家,但为了对得起拿的一点薄薪却是如履薄冰,别人对你的期望是只涨不跌的,这难以可持续发展。感谢几次DEFCON CTF大家带我玩,趁着游玩的机会终于看清了,如果再像毕业后一年那样混下去,以后职业发展肯定越来越难,道路越来越窄,机会越来越少。不知是否记错,有位最小费用流、线段树学长说人生不是冲刺,细水长流。现在有广阔的平台,有数不清可以学习的东西。干的活不是自己最喜欢的但感觉能发挥出自己足够的价值,努力做上更有趣的活。

…

Read more →
  • 31st December 2014

2014年总结——竞赛的一年

经历

二月,在上海和同学参加MCM,一等奖。之后和ppwwyyxx、VuryLeo、fqj1994参加Facebook Singapore Hackathon,安慰奖——T恤。

三月BCTF初赛开发和运维,做Hackathon的感觉,详见BCTF工作组记事。

…

Read more →
  • 31st December 2013

算法、FP、前端、安全、系统管理——2013年总结

二月

一日回上海,回来又吃了顿海底捞~

TUNA技术沙龙,精心准备了一天的HTML幻灯片:A Pretty Printer Library in Haskell

幻灯片里的1958、555都有所指涉,1958为诞生年份,555为马路号码。到了Algebraic data type,连同后面的Tagged Union,也都有深意。

…

Read more →