Commit 7a7de41
committed
tc-build: Introduce '--multicall'
LLVM introduced a multicall binary feature (similar to busybox) where
all tools are linked into a single binary then symlinks to individual
tools switch the behavior of the binary:
$ ls -l clang llvm ld.lld
lrwxrwxrwx - nathan 4 Feb 16:03 clang -> llvm
lrwxrwxrwx - nathan 4 Feb 16:03 ld.lld -> llvm
.rwxr-xr-x 288M nathan 4 Feb 16:03 llvm
$ ./clang --version | head -1
ClangBuiltLinux clang version 23.0.0git (https://github.com/llvm/llvm-project.git dcf853df8fda885cafbc02f916ef01684b7d1104)
$ ./llvm clang --version | head -1
ClangBuiltLinux clang version 23.0.0git (https://github.com/llvm/llvm-project.git dcf853df8fda885cafbc02f916ef01684b7d1104)
$ ./ld.lld --version | head -1
ClangBuiltLinux LLD 23.0.0 (https://github.com/llvm/llvm-project.git dcf853df8fda885cafbc02f916ef01684b7d1104) (compatible with GNU linkers)
$ ./llvm ld.lld --version | head -1
ClangBuiltLinux LLD 23.0.0 (https://github.com/llvm/llvm-project.git dcf853df8fda885cafbc02f916ef01684b7d1104) (compatible with GNU linkers)
This combines the speed benefits of static linking with the space
savings of dynamic linking.
$ diskus pgo-bolt
632.09 MB (632,090,624 bytes)
$ diskus multicall-pgo-bolt
321.14 MB (321,138,688 bytes)
As this changes the layout of the installation, this may result in
functional differences depending on software assumptions, so require the
user to opt into this with a '--multicall' option. Adjust the BOLT
process to use the correct binary.
Signed-off-by: Nathan Chancellor <nathan@kernel.org>1 parent aaec068 commit 7a7de41
2 files changed
+50
-16
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
236 | 236 | | |
237 | 237 | | |
238 | 238 | | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
239 | 247 | | |
240 | 248 | | |
241 | 249 | | |
| |||
536 | 544 | | |
537 | 545 | | |
538 | 546 | | |
| 547 | + | |
| 548 | + | |
539 | 549 | | |
540 | 550 | | |
541 | 551 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
74 | 74 | | |
75 | 75 | | |
76 | 76 | | |
77 | | - | |
78 | | - | |
| 77 | + | |
| 78 | + | |
79 | 79 | | |
80 | | - | |
81 | | - | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
82 | 83 | | |
83 | | - | |
| 84 | + | |
84 | 85 | | |
85 | 86 | | |
86 | | - | |
87 | | - | |
| 87 | + | |
| 88 | + | |
88 | 89 | | |
89 | 90 | | |
90 | 91 | | |
91 | 92 | | |
92 | 93 | | |
93 | 94 | | |
94 | 95 | | |
95 | | - | |
96 | | - | |
| 96 | + | |
| 97 | + | |
97 | 98 | | |
98 | 99 | | |
99 | 100 | | |
| |||
104 | 105 | | |
105 | 106 | | |
106 | 107 | | |
107 | | - | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
108 | 118 | | |
109 | 119 | | |
110 | 120 | | |
| |||
115 | 125 | | |
116 | 126 | | |
117 | 127 | | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
118 | 133 | | |
119 | 134 | | |
120 | 135 | | |
| |||
139 | 154 | | |
140 | 155 | | |
141 | 156 | | |
142 | | - | |
| 157 | + | |
143 | 158 | | |
144 | 159 | | |
145 | 160 | | |
| |||
166 | 181 | | |
167 | 182 | | |
168 | 183 | | |
169 | | - | |
| 184 | + | |
170 | 185 | | |
171 | 186 | | |
172 | 187 | | |
173 | 188 | | |
174 | 189 | | |
175 | | - | |
| 190 | + | |
176 | 191 | | |
177 | 192 | | |
178 | | - | |
| 193 | + | |
179 | 194 | | |
180 | | - | |
| 195 | + | |
181 | 196 | | |
182 | 197 | | |
183 | 198 | | |
| |||
388 | 403 | | |
389 | 404 | | |
390 | 405 | | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
391 | 409 | | |
392 | 410 | | |
393 | 411 | | |
| |||
573 | 591 | | |
574 | 592 | | |
575 | 593 | | |
576 | | - | |
577 | 594 | | |
578 | 595 | | |
579 | 596 | | |
| |||
605 | 622 | | |
606 | 623 | | |
607 | 624 | | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
608 | 632 | | |
609 | 633 | | |
610 | 634 | | |
| |||
0 commit comments