2021

2021-01

@laike9m > 没有开源项目

不能是悄悄藏起来了吗?

Copy relocations, canonical PLT entries and protected visibility https://t.co/qCVCVGSaZz some actions should be taken in GCC/binutils/glibc communities

https://t.co/4ft7jtkxv0 Still under construction but I don't know much about glibc https://t.co/9nllDD3jPb so...

@9cXndy Shop at Japanese shops?

https://t.co/VNGvigKtSF Everything I know about GNU toolchain

@songma 以前我设置一个规则“匹配@则放入INBOX”来阻止它塞到junk的行为……后来就不生效了。感觉没有任何办法禁用junk规则。。。

Added my third (non-alias; not a port of an existing GCC option) driver option to Clang (12). In short, people need a way to get rid of workarounds for GNU ld/as😹ewontfix/13 (Incorrect configure checks) may be unhappy, but...

https://t.co/ufZX5JMozK Metadata sections, COMDAT and SHF_LINK_ORDER

@Se9uencer S老师快来写blog啊

@erain 不能说:“叫你们老板来请我”吗?

2021-02

@felixonmars @_keithnull @laike9m 撸一下肥猫

因爲週末給ld.lld加了aarch64_be支援(mips be也順便好了)在一個linux小活動上被表揚了誒

https://t.co/PkrWlGA0Sb All about thread-local storage

昨天的展示 https://t.co/njU0jAz9pB (打工人没有时间单独写幻灯片,就从blog pandoc -t slidy生成了)。这类binary format features的趣味在于要改assembler/binary utilities/LLD(希望binutils采纳新选项)/LLVM IR/Clang/in-tree users(PGO,sancov)。Clang最难,相对而言测试比较乱/代码很多很迷……

上网还是比较晚的😿https://t.co/MGm26NYKKF #測測你的網齡有幾年了

但是这里面的关键词我很多都没玩过诶

@HTwood96 感動(

@ljsabc @iadnab 哇,富婆

最近几天metadata section玩得很开心,(之前assembler/binary utility/linker支持铺垫),设计新linker option。澄清LLVM IR用法,小修整clang codegen,加attribute,修sanitizercoverage/PGO,最后修改llvm.used行为一锤定音。接下来让提升ld.bfd兼容性。之后就可以帮助Linux kernel开发者了😳 https://t.co/nWlTluDveV

https://t.co/RH06PC4aZx

Refactored the article... Now that I've shared it with llvm-dev and Linux kernel folks I have to set up a higher standard... The unfortunate GNU ld rule was added in late 2015 so we should be able to correct it.

Common patterns in ld: a 15+ line complex condition with different lines touched in different decades (...and most conditions are not tested)🤭Anyway, I am glad Alan accepted my -z start-stop-gc option:) https://t.co/gi2fSKt79u

2021-03

@felixonmars clang 12就可以用我实现的-march=x86-64-v[234]了😸

@ant_sz 学习madscientist用pure make。另外还有个小众的tup

llvm-project 2333 commits😳 https://t.co/dRDDJBawM2

https://t.co/B93GJDXQBq Linker garbage collection

@9cXndy 一个clang-built-linux维护者找我推荐搞这方面的人,感觉会以这种形式被Google or the Linux Foundation雇佣 https://t.co/K2q19FbfBl

Ported https://t.co/GzGIZY0QBP to English

又要展示了,打算提取 Linker garbage collection的基础部分,和Metadata sections, COMDAT and SHF_LINK_ORDER的基础到中级部分,混合成Linker garbage collection and metadata sections。不知道明天能不能写完The dark side of RISC-V linker relaxation(还在思考标题)

@delphij 有人让我在一个online meetup上分享点东西……

https://t.co/OHNGARG0WN The dark side of RISC-V linker relaxation

clang++ --target=aarch64-linux-gnu just works. Debian g++-multiarch-incdir.diff一言难尽,Arch Linux MULTILIB_OSDIRNAMES patch也没好到哪里去(需要-B/usr/aarch64-linux-gnu/lib)……用上游,少补丁,不好吗😭 https://t.co/3HYYxv4ZBU

@gnaggnoyil 如果Arch Linux不改 ../lib64 为 ../lib ,可以直接用 clang -target \(triple ,不需要 -B /usr/\)triple/lib 防止选择host的 crt1.o/crti.o/crtn.o。当然gcc预设逻辑也不好就是了,少弄一些-L就少很多麻烦了

@gnaggnoyil 经过更多研究(明白这个../lib64是multi-os),推翻我之前的结论…… ../lib 挺不错的。Debian的问题在于native gcc的libstdc++ include path。Upstream GCC还有multilib/multi-os的问题

https://t.co/iZaaQKgCH4 Compiler driver and cross compilation. multi-os/multilib is broken. Debian native gcc has broken libstdc++ search path. Arch Linux cross gcc needs multiarch.

2021-04

https://t.co/rKnfivCcKb The bottom-up segment tree (no sentinel element, length is not necessarily a power of two) is nice:)

前天还缺不少东西,今天翻新了一下😳

is awesome。感觉什么时候Commutative modifications and query monoid可以优化为Combining monoid sum and lazy tag还不太清楚🤣 https://t.co/1oSnj2ZK2G

@Yangff1 不,合并monoid sum和lazy tag就不能保证顺序了。上层区间对子树的影响是没有办法保证顺序的

有趣的ghc+FreeBSD+ELF问题…很高兴因为All about thread-local storage被人找出来…(除了我并不开发FreeBSD🤣)如果这段恶心的代码真能用就很棒了。回到记忆里上一次写elf.h parser,还是在准备DEFCON 25 CTF的时候(修改时间),实现了got-shuffle。现在要好好hack aarch64了呢 https://t.co/hIyTOyhLCK

Pfizer vaccine打了第一针。稍有疲倦但为了保持两周一篇的进度还是把这篇完成了…… https://t.co/RVUuHBHHK9

Torvalds歧视Fedora clang慢……我把肥猫和Arch Linux拿出来举高高🤡 https://t.co/ddOGXYTQs3

2021-05

@upsuper @cnPhil 最近每日用Rust解一题LeetCode,请群里的老师指教

@xiangzhai 我希望发行版能预设-fno-semantic-interposition,最终能推动GCC预设-fno-semantic-interposition。另外我指出了-Bsymbolic-functions https://t.co/zPDiUT1JZX https://t.co/5VhikEVIGs的clang性能和PIE clang是接近的……现在讨论的人里还没有回复我的……

五年规划:Clang改变预设,迈出重大步伐;软件的-fno-semantic-interposition移植性得到提高,优化深入人心;GCC更加健全,支持架构日益丰富,全局变量效率提高;主流发行版改变GCC预设值,增进民生福祉。.so优化任重道远,推进-Bsymbolic-functions才是百年大计。需要x86配合,民生福祉才能得到保障。 https://t.co/BSao1Jvidi

llvm-project 2500 commits🤦第2500个commit发行版的Clang 13会快很多(定一个小目标,15%)🥳下次有展示机会的话主题就叫The Last Alliance of ELF and Men。动态链接库可以很快,但需要人类的觉醒和帮助🥳

Alan想当Gandalf还是Saruman呢?我猜是Radagast😹 https://t.co/vhYTN37ItW

https://t.co/GzdbDoHLKQ ELF interposition and -Bsymbolic (and an ambitious plan for the ELF world)

@zty0826 引入LAST不如直接用某种二值比较的,,比如partition_point。C++的lower_bound/upper_bound (bisect_left/bisect_right) 就是被不会变通的BinaryPredict弄坏了。

最近修了一个ThinLTO+PGO的comdat问题,转过来再去修Windows的PGO/coverage问题。这个使用场景很棒,ELF/PE/Mach-O/wasm每个都需要大量思考。

有点烦恼的事情Linux kernel社区对于BPF ELF太随意了。没有仔细推敲就合并了?没有精力,但又得担心他们之后影响ld.lld、assembler和binary utilities... https://t.co/Yv50NBNfca

2021-06

加了-fno-semantic-interposition,GCC构建的Clang快了3%;去除了PGO(without value profiling)/coverage里没用的符号,ELF目标文件减小5%, COFF减小10%🥳 https://t.co/LgSVXv6Foz

总算知道为什么这么人误解 -fno-semantic-interposition 和LD_PRELOAD了,https://t.co/6EGclwnSUr 前面几段句句错。后面PLT更是完全曲解了interprocedural optimizations要义…… -fno-semantic-interposition 只省一种PLT:定义的函数只在定义的TU被调用。 ld -Bsymbolic-non-weak-functions才是正道

这段错误的论断影响了至少一个Arch Linux开发者,一个Debian Linux开发者。

isfreenodedeadyet?2009年访问过freenode,2010年常驻。借用过服务器,LUG线下见过道友,得到过道友赠书Practical Common Lisp,用 走江湖深藏身与名,蹭了一件sjtug/member cloak。今天终于也要 /disconnect 了。诶,不对,我忘记怎么让znc退出了…

昨天,我加的OVERWRITE_SECTIONS上线啦 https://t.co/f4l5yYzj7L

2021-07

-Bsymbolic-non-weak-functions特意没立刻submit,拖了两个月找到了Android用户🤡 https://t.co/BFfLV2Ab6P

2021-08

一阵忙碌后ld.lld 13.0.0 link glibc make check只比GNU ld多2个FAIL,并且我确定是又一个glibc+GNU ld设计问题。。 https://t.co/L3SEpRz1gO

对LoongArch充满担忧:请不要污染上游🙀(在这个前提下怎么闹腾都行)。psABI就是抄作业,把x86/aarch64/powerpc/riscv psABI都看一遍,把assemblers(LLVM MC,GNU as)、linkers(lld/ELF,GNU ld)、loaders(musl/FreeBSD rtld-elf/glibc)都看一遍就会了🥳(我应该是这个年代还在干这件蠢事的难得的人了🤣) https://t.co/5aqnq6hg2Z

@xv6ks 嗯😂

第一个FreeBSD commit(美中不足的是committer用了旧式的Submitted by😿)。现在四大loaders(glibc,musl,FreeBSD rtld,Linux kernel module loader)都修过了😼 FreeBSD TLS比musl乱,不过比glibc整洁不少。可惜没有测试😹 https://t.co/kb7ZLIDPs7

(text relocations are awful)搜集证据反驳"By very few linker developers."😹 另一边,没有话语权,辛苦写了三个FreeBSD rtld patches都被人commandeer😿😿😿 https://t.co/mbQrHqgDdJ

我还是得到commits (--author)了。感谢committer :) Commandeer 是Phabricator的一个操作。一个用户可以接管一个Differential (patch),常用于原patch难以继续推进时。

删掉了glibc两大hack: (a) 用了近20年的tls-macros.h (b) 很多arch的_GLOBAL_OFFSET_TABLE_[0] https://t.co/YQciLG9DKM

https://t.co/wJDVtPwlnC FreeBSD src browsing on Linux and my rtld contribution https://t.co/zrrxbchcAN

All about都是写得很认真的。。求斧正🙏 前几天有人发了Debian bug #992796 并来信询问我All about symbol versioning怎么没有提到ABS符号(已经补上了😳) https://t.co/1vB0L20XLK

还有同学在我贴这则广告前就说在阅读了,好感动啊

One giant step for me, but just one small step for glibc... Reviewer resource is never abundant, but a little bit more amicability to a "foreign" toolchain could have made me more pleasant in the year-long process🙈... Anyway, glibc 2.35❤️LLD 13.0.0 https://t.co/psDmpFFlSV

2021-09

https://t.co/d6Uc1i8aU1 Build glibc with LLD 13

grub_commits=2 (之前给Clang加了-falign-loops,-falign-jumps依然未实现)🥳Linux kernel的-Werror事件 (看到了我改进过的Clang -Wframe-larger-than=的diagnostic😹) https://t.co/KCJQplbWsh

5日patch、7日我看到就这么说了(很抱歉,懂ELF TLS的人寥寥,很多人弄我不放心)、怎么LGTM后就急着push了?就说一点,GD/LD不需要save volatile

初始贡献架构不好,只会导致大量follow-up commits,可能要花更多时间修复。这个RISC-V port刚加的时候我也有点担忧。 所以我真的被迫要看一点JITLink了? https://t.co/pw8a38n6Oz

@upsuper exponentiating by squaring一般是n极大且结果取模吧。对于系数k较多的constant-recursive sequence,矩阵乘法(朴素O(k^3))不如求 x^n % p(x) ,其中p(x)为characteristic polynomial。x^n % p(x) 是polynomial multiplication复杂度(朴素O(k^2),可用FFT)乘以O(log(n))

@gnaggnoyil 所以说朴素O(k^2)。通常k很小

@CarlosODonell https://t.co/d75iBcAgq8

(So I pinged my GCC -fpie patch for the 5+th time ;-)

突然兴起想用Nim做LeetCode每日一题😳一番折腾后用生成的C代码提交成功🥳 https://t.co/xMoSuqbjle 感觉用这个欠维护的C Intermediate Language还是麻烦了,之后看看怎么借鉴cvise吧 https://t.co/Gt3PK1xqR2

https://t.co/H0b27ABJHi 从一个线索介绍背后的辛酸: 上周lazyparser慷慨地给我Linux Plumbers Conference帐号。我发现有个glibc BoF session就提出了这个之前据我所知不曾在正式场合询问过的话题:欢迎Clang buildability吗? 此时我距离我发出 https://t.co/KWU9dFLAWd 有八个月

、发出un-nest patch有一个月了。感谢得到了他们正面的回应。 感谢Adrian Ratiu挖掘出了glibc 2.35可以被LLD 13.0.0链接这一里程碑🥳 Patch总数可能不及让Linux kernel可以用LLD链接需要的,但修改--version-script以支持glibc的复杂度大幅度超过之前为Linux kernel贡献的任一patch了😭

2021-10

Clang构建glibc迈了一大步!昨天好多patches😳 虽然稍讨厌(风格、历史包袱)glibc,不知不觉还是攒到21 commits了🤦 https://t.co/imkAnZd0MI

@pythonhunter__ @laixintao @greylihui 39:00 "..翻译书的质量都这么差" 深有感触!我2013年翻译的那本(LYAH)我弄了97千字,翻译稿酬标准60元/千字,不到6000元😭是一段痛苦的经历,用来干别的会更好吧🤔

@nightwishes1984 @laike9m @pythonhunter__ @laixintao @greylihui 是……

https://t.co/QW84wUmBtB When can glibc be built with Clang?

@laike9m The standard loop inversion technique. Ugh? CPython didn't have it before 3.10?😹(Wish Python's market share were taken by statically typed language)

Add #pragma nounroll to a loop and invoke clang -mllvm -print-before=loop-rotate -mllvm -print-after=loop-rotate -O2 -S a.c:)

老去逢秋倍感傷,此生能風幾重陽 (吳芾 《重陽再和乙丑歲韻》)

《新唐書》:“初,道出鐘陵,九月九日都督大宴滕王閣……”(“無路請纓,等終軍之弱冠。”) 余弱冠時未畢業,無成。工作數年,又無名作傳世。

@LightQuantumhah Linux一般8MiB? (ulimit -s; /etc/security/limits.conf)

Do Linux distros care about binary size? Perhaps their petition can push forward glibc/GNU ld RELR support. Sent feature requests for RELR adoption, Gentoo: https://t.co/PdiiT9Z6B7 Arch Linux: https://t.co/FN5icEbF2S Debian https://t.co/JTAQX1LAnY Fedora https://t.co/su2a2iumvf

My fun with FreeBSD rtld-elf: https://t.co/atcwfX6i2g . I sent a musl patch in 2019 but lack of generic-abi maintenance was a problem. (It is so close to be maintained again)

@adhemerval Thanks! I call RELR in a pre-standard state (pending Cary's polish of ELF spec. It'd also be great if H.J is willing to implement the GNU ld support... BTW: FreeBSD rtld has DT_RELR support today (https://t.co/atcwfWOHaI)

Very coarse estimate of compiler complexity/LOC https://t.co/iqRtQVU1L3 Nim is worth learning (after checking its feature list again)...

@jiyinyiyong AST https://t.co/TDnPOGl4B0 . Not to say pattern matching is unimportant, but better syntax/macros/compile-time functions/C interop, and sink/let (https://t.co/khcsz7hbE3) without the burden of borrow checking are more to me. I also appreciate a low-complexity compiler core.

https://t.co/OYxUMd0Rjk 今天LeetCode每日一题(Best Meeting Point, 无法提交)用 J 写纪念Roger Hui🕯️ https://t.co/1MeRsHVJ6U

@heartpunkk Everything needed for LLD is on https://t.co/r1PvQpgI5K (targeting to-be-released 2.35) :) Clang needs more and I estimate that ~30 may be needed https://t.co/9U8nxK7kXD (unfinished; still many unbuildable files)

@cooljeanius @gnutools The BDFL of llvm-project added the option. I try not to name it directly in my correspondence with gcc-patches... https://t.co/B5LGibVLM6 (the issue hasn't been resolved. They aren't too fond of my longlong.h change, so perhaps I need to add the -f option in my glibc branch)

@heartpunkk Thanks for your recognition! Just curious, why does applying klee (or other symbolic execution tools) on CRuby need to deal with glibc source code?

@cooljeanius @gnutools OK, I clarified the section https://t.co/ursx4r1UHr a bit. Chris added the option....

@heartpunkk Does musl work? Among the various libc implementations, I think musl has the best code quality. Also, musl can be built with clang -flto (with a gotcha that -u__dls2 is needed https://t.co/eIGjWm9qVe)

SeaBIOS was the worst upstream I had ever dealt with. It is ok to keep radio silence with my lld/llvm binary utilities patch series after ~9 pings (I did the last few pings just for FreeBSD/OpenBSD) But it is not ok to defame me.

@thautwarm 还是有的,比如 3.4.7. Masking Effects (

努力的时候一天能找到好多东西,即使在lld/ELF这个已经这么成熟的ld里。话说如果开坑用Nim写一个ELF Linker eDitor,会有价值吗? https://t.co/4tWM5LYoaB

Relative relocations and RELR https://t.co/tzvo0UrI9g (subtitle: difficulty in contributing DT_RELR to glibc)

2021-11

Red pill and blue pill,接受red pill。https://t.co/QLItWWucsl不可用了(无法继续使用wechatircd)。下载Windows微信。CurrentVersion修改注册表显示中文。winetricks riched20修复输入框不能显示文字的问题。

消息记录没法记录到本地(wechatircd)是个问题 https://t.co/1P5G0eRt1Z

@scturtle @bulanfake 求简历😳

Removed the last GNU nested function from glibc. "asm label after first use" is the biggest challenge now. https://t.co/3Vx1itllRw

@ant_sz @toukorina 这个没有上下文。一般dynamic loader指rtld/ld.so。如果是ORC JIT,有可能吧。我觉得他们的链接模型对ELF是存在挺大问题的,但我也没精力研究。如果是指一般的可执行文件链接,link editor可以解析absolute relocation referencing undefined weak symbol为0。

下午和晚上浪费了很多时间在 https://t.co/9BkKC0FoFhhttps://t.co/LLL3effUcR 上,为什么愤怒的用户这么难伺候?这个GNU ld 2015-10-22的改动可以排到我最讨厌的commits前三名了

@mieluo 每个人都会觉得自己的使用场景重要。但她会抓住一点,忽略所有回复,不停地抱怨,试图阻塞你的工作。

@mieluo 另外我指出FreeBSD ldc的使用方式非常非常牵强,我勉强能说是属于supported状态。

@rui314 Symbol versioning serves some purposes https://t.co/qqXiWVOwNK but some distros are so fond of 'time travel compatibility' and have caused a huge waste of energy.

@rui314 When I forwarded https://t.co/CJ3CTFFOAH to FreeBSD/NetBSD folks, the responses were basically "they don't care but if that makes Linux (glibc) folks happy... they won't object"

@rui314 I remember someone mentioned that for some benchmarks (say, gaming, memory allocator with a thread-local pool), faster thread-local variables made a difference (say, 5%). Many Mach-O extensions were added for no good reasons as well:) https://t.co/hwaGWYez5l was complaing:)

昨天安装Gentoo(多年后再次安装),构建的kernel (CONFIG_EFI_STUB=y) llvm-objdump -p不认,遂动手添加支持🤭 LeetCode Weekly时隔多月终于又爬到了第一页 https://t.co/OxZikoQ3xo

@deeperple (即使在LeetCode外)感觉北大人用pku前缀后缀的都很多= =

.init, .ctors, and .init_array https://t.co/0eGVti7Ri8 @

.init, .ctors, and .init_array https://t.co/ppRrYb6x5x @

旧世界,新世界? https://t.co/lbUTSErroU

ELF ld status report: 2500 lines of Nim, .o/.so/.a parsing with mostly correct symbol resolution(harder than you think), infra for linker script. This gave me an excuse to take a deep dive into ld.lld code again and make bugfix/simplification (10KiB smaller for Release build)... https://t.co/XlqV4GmTb1

12月3日到10日在纽约,有人约饭吗🙄

2021-12

在Ambassador Theatre (New York City)看了Chicago (musical)。Act 2查了wikipedia终于知道是干什么的了... 没有人约饭吗🤔

The Museum of Modern Art, 11 W 53rd St, New York, NY 10019 https://t.co/cu2D09YpSl

https://t.co/4bBM3BXVIA

猫叫~储蓄罐 南国蜜桔 https://t.co/Hw8lBDmEyh

(终于又出现在第一页;没有放电脑的桌子好讨厌) 据说第四题的Hierholzer's algorithm在LeetCode出现过,还挺应景的:从SJC出发,去了LGA,因为JFK太远了= = https://t.co/z8rOPLLLYo

There is a paper for the Lavoisier portrait: Discovering the evolution of Jacques-Louis David’s portrait of Antoine-Laurent and Marie-Anne Pierrette Paulze Lavoisier; 2: The North Cape by Moonlight; 3: Damascus Room; 4: The Temple of Dendur https://t.co/UkeQKKoDSF

https://t.co/LtqvxK0cTt

@adam8157 几年前的额度捐过FSF。。后来就不想选了。我确实是https://t.co/TPDWSK3mlg几个项目和mailing lists的重度用户/贡献者,但不知道FSF帮了什么。。

The Met Cloisters https://t.co/nE2XXCx90n

@im2gua Nim: nice syntax, macros (better syntax than many languages), compile-time function execution, world-class C/C++ interop, destructors, more ergonomics than Rust style borrow checker

(啊,前几天的Chicaco (musical)忘记拍照了) 高中英语课用的《大学英语精读》里有这篇The Phantom of the Opera🤔 (ffmpeg -loop 1 -i theater.jpg -i audio.mp3 -c:a aac -vcodec libx264弄了一个Twitter接受的mp4...为什么不支持one frame video和H.265? FB接受H.265,但不接受ogg) https://t.co/mg0d6SCC9g

Majestic Theatre, New York, NY 10036 (刚刚突然发现Theater District用的则是美式er拼法。旁边的大佬说re是从法语来的,可能较早的建筑没有改成美式er) https://t.co/2ynu73PHjn

@yyw2000 Wow

The Book of Mormon (musical) (Eugene O'Neill Theatre, 230 W 49th St, New York, NY 10019) https://t.co/mVZtjFrlE1

Planned blog post "Why is ld.lld slow" (why it is difficult to adopt parallel symbol resolution & parallel relocation scanning due to different trade-off and unfortunate things like mips/ppc64/hexagon, sigh). Perhaps count range extension thunk, also the lack of oneTBB.

With landed and pending patches I have made this week, ld.lld --threads={2,4,8} linking tmpfs output seems to be ~11% faster (both clang RelWithDebInfo and a large app with no debug info) compared with 13.0.0 (no diff with previous origin/main). https://t.co/SMYCPXnKzP

@DongJony SHF_MERGE duplicate elimination (.debug_str), symbol table initialization, symbol resolution, scanning relocations, --gc-sections, sorting dynamic relocations are critical in the performance of an ELF linker. My blog post will describe these topics in depth. Stay tuned:)

@DongJony COMDAT and linker scripts make parallel symtab initialization/symbol resolution difficult. mold sacrificed a bit. I think it probably should do parallel initialization but NOT resolution to make .a .so semantics different from the tradition (which don't matter in 99.9% cases)

@DongJony The lack of concurrent hash map in llvm-project is a problem for several ports of LLD. There was a topic in April and we should think about it carefully for performance. That said, this part matters very little if you have lots of debug information, where SHF_MERGE matters more.

Implement an ELF linker https://t.co/rqHr04jJs6 It mentioned mold as well.

@migsaldivar I plan to write a blog post and include more details...

@delphij 先生保重

https://t.co/bytDYxx9nE Is this a good title? I want to express that "For some passes ld.lld can be made faster when llvm-project provides the facility. For some passes, due to different trade-off ld.lld is difficult to keep up with mold, but ld.lld's are not necessarily worse"

@DongJony Glad you like it. I need to extract some explanatory paragraphs from this one into "How to implement an ELF linker" and let "Why isn't ld.lld faster" reference the former.

@weliveindetail mold handles the original example I thought about. I updated https://t.co/3rxCAPBent to include an example related to "https://t.co/aIrdrnusQI undefined + c.a lazy". I need to think about parallel symbol resolution more carefully.

@weliveindetail https://t.co/7usFF3w7w3 This is my feature request in 2020. Looks like -fuse-ld=mold is promising in GCC. I still hope they can take --ld-path, too.

@rui314 It is aligned and protected. The first page is aligned by max-page-size while the last page end is aligned by common-page-size. If the system page size is larger than common-page-size, the last page may not be mprotected. The behavior matches GNU while the layout differs.

(Made ld.lld faster by making passes conditional and slightly improving code) Here is the 13.0.1 vs main branch comparison. There is not much improvement when linking chrome (too many COMDAT discarded sections, unlike many other programs), though.. https://t.co/DCqIu4UxKW

Tested switching symMap to martinus/robin-hood-hashing unordered_flat_map, no significant difference. Tested better SHF_MERGE|SHF_STRINGS split (https://t.co/rG8NClR3op) and switching parallel strategy for writing sections (https://t.co/TbRYzXYjRt), no significant difference.

里面一个人以前在lwn看到,当时觉得令人尊敬的。根据某人的说法"odd that they get a bit aggressive so quickly" (https://t.co/bWBYEmM9ta) (最近因为Why isn't ld.lld faster被动(稍不安)涨粉了🤣反正总会被人看到的) 我是不是也太容易被激恼需要练习平静?

1/2 Fuchsia folks did not show professionalism I would expect. "Our bot is red, our people are on vacation, you must revert." after two weeks is wrong. "This is not NFC, you cannot commit without review" is wrong.

It really should have been "Here is the link to the failure. It's related to Rust (a bug) that your follow-up hasn't completely worked around. Would you consider a temporary revert as we investigate the proper fix?" is what I'd do if I didn't know the .init* thing.

The larger Rust ecosystem issue is its brittle LLVM connection. Many stuff (e.g. TargetLoweringObjectFile) are misused but rolling release people often ask too much: "our use case is important, Please revert to make us happy" (politer than this but this captures the spirit)

MADV_DONTNEED and sharing symbol table tricks will save RSS (~17%) for ThinLTO indexing (thx to aganea for the quick review🥳) Seems non-contentious and I will be off the grid for few hours on Friday, so will push them tomorrow (otherwise I usually wait a bit for Support things). https://t.co/jN3ksstEY9

2021年总结 https://t.co/YFuR7VExzT @

https://t.co/VWMZ1I6aUu

@rui314 @JVApen @llvmorg I wish they properly implement -fuse-ld=word (so that next time a new linker appears, no need for another patch) and consider --ld-path https://t.co/ecsu4MYWVz ...

Note that -fuse-ld=/abs/path or rel/path is discouraged as -fuse-ld=word may possibly be used to guide codegen

@DongJony I am thinking whether reading more about lld-link and ld64.lld will be a good investment.. Perhaps porting some of my recent lld/ELF contribution to lld-link may be a good way to learn more about it, so just created https://t.co/12zC7qy92I while watching some anime XD

1⁄2mv2+1⁄2Jω2=mgh (the same h, larger J => smaller v)😳 https://t.co/VAnDyJXhj5

Rolling Through the Bay, by Scott Weaver https://t.co/ZxAH4m35tL

The gyroscope doesn't rotate with the table. (Conservation of angular momentum)

千磨万击还坚劲,任尔东西南北风。 https://t.co/Fduj5uWiaL