summary
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
…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_checkfor Bazel's llvm and clang projects - Implemented
LLVM_ENABLE_REVERSE_ITERATIONforStringMap - Added
llvm::xxh3_64bitsand 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=functionwork for C and non-x86 architectures - Fixed several major problems of assembler implementation of RISC-V linker relaxation
- clangSema:
%lbrecognization for printf/scanf, checking the failure memory order foratomic_compare_exchange-family built-in functions,-Wc++11-narrowing-const-reference - llvm-objdump:
@pltsymbols for x86.plt.got, mapping symbol improvements,--disassemble-symbolschanges, etc - Supported
R_RISCV_SET_ULEB128/R_RISCV_SUB_ULEB128for.uleb128directives - 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=hfsortdefault
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…
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
近况
于是一晃到了2016年底,最终还是去了美国工作……感谢scateu以前给我的劝诫。虽然还是很害怕,但是生存能力已经提高了。感叹国内公司工作强度、薪资和美国公司差距还是太大,特别是对于毕业不久的人来说,阿里星听上去好听却有何用,“机会很多”是说给冒险家听的。一位前老板问我为何选择出去,回答的理由一条是背书。他说平台和机会是创造出来的。毕业这一年看了那么多,感慨万千。身边的同学学长朋友也看到了好多想去国外大公司却被跨国工作壁垒拦下来的例子,毕业生的前几年是掉价最快的时候,感叹与国外master PhD差距不知凡几,尽力赶上去吧。好公司也非没有,过了这个村,就没那个店,这一年也曾有良缘经历过两家,但为了对得起拿的一点薄薪却是如履薄冰,别人对你的期望是只涨不跌的,这难以可持续发展。感谢几次DEFCON CTF大家带我玩,趁着游玩的机会终于看清了,如果再像毕业后一年那样混下去,以后职业发展肯定越来越难,道路越来越窄,机会越来越少。不知是否记错,有位最小费用流、线段树学长说人生不是冲刺,细水长流。现在有广阔的平台,有数不清可以学习的东西。干的活不是自己最喜欢的但感觉能发挥出自己足够的价值,努力做上更有趣的活。
…2014年总结——竞赛的一年
经历
二月,在上海和同学参加MCM,一等奖。之后和ppwwyyxx、VuryLeo、fqj1994参加Facebook Singapore Hackathon,安慰奖——T恤。
三月BCTF初赛开发和运维,做Hackathon的感觉,详见BCTF工作组记事。
…算法、FP、前端、安全、系统管理——2013年总结
二月
一日回上海,回来又吃了顿海底捞~
TUNA技术沙龙,精心准备了一天的HTML幻灯片:A Pretty Printer Library in Haskell
幻灯片里的1958、555都有所指涉,1958为诞生年份,555为马路号码。到了Algebraic data type,连同后面的Tagged Union,也都有深意。
…