Commit 52c19ef
committed
fix: payload C headers via -idirafter for GCC (include_next reachability)
Ground truth from CI (command now in the error): -isystem'd payload glibc
include was present yet #include_next <stdlib.h> still failed. GCC's
libstdc++ wraps libc headers with #include_next, which only searches
directories AFTER the current header's dir — gcc's built-in dirs are last,
so -isystem (inserted before them) is unreachable. Use -idirafter (appended
to the very end) for GCC payload headers in both the std-module precompile
and per-TU flags; clang keeps -isystem. Verified with a faithful fresh-home
repro (no subos => invalid sysroot): first-run installs glibc default and
builds clean.1 parent 4541b05 commit 52c19ef
2 files changed
Lines changed: 24 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
173 | 173 | | |
174 | 174 | | |
175 | 175 | | |
176 | | - | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
177 | 180 | | |
178 | | - | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
179 | 186 | | |
180 | | - | |
| 187 | + | |
181 | 188 | | |
182 | 189 | | |
183 | 190 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
236 | 236 | | |
237 | 237 | | |
238 | 238 | | |
239 | | - | |
240 | | - | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
241 | 252 | | |
242 | | - | |
| 253 | + | |
243 | 254 | | |
244 | 255 | | |
245 | 256 | | |
| |||
0 commit comments