[Driver] Linux.cpp: add -internal-isystem lib/../$triple/include
authorFangrui Song <i@maskray.me>
Sun, 21 Mar 2021 07:56:03 +0000 (00:56 -0700)
committerFangrui Song <i@maskray.me>
Sun, 21 Mar 2021 07:56:03 +0000 (00:56 -0700)
commit2288a75d9eceeabdffcd72789d97386ee10962fb
tree739ec0dfa3b737200935c35dcd9bc4659e79c6f9
parentc2f9086b6184a132ec8cac7edeb620813796e1e8
[Driver] Linux.cpp: add -internal-isystem lib/../$triple/include

With this change, for `#include <ar.h>`, `clang --target=aarch64-linux-gnu`
will read `/usr/lib/gcc/aarch64-linux-gnu/10/../../../../aarch64-linux-gnu/include/ar.h`
(on Debian gcc->gcc-cross)
instead of `/usr/include/ar.h`. Some glibc headers (e.g. gnu/stubs.h) are different across architectures.
clang/lib/Driver/ToolChains/Gnu.cpp
clang/lib/Driver/ToolChains/Linux.cpp
clang/test/Driver/linux-header-search.cpp