RFR: 8302460: System C++ Compiler for cross compiling gcc is dangerously wrong

Erik Joelsson erikj at openjdk.org
Tue Feb 14 17:10:41 UTC 2023


On Tue, 14 Feb 2023 14:32:10 GMT, Julian Waters <jwaters at openjdk.org> wrote:

> Full details in linked entry, man did this give me a scare on my local branch
> 
> All C++ compilers for the build operating system are under the name c++ (when selected compiler is gcc), but when searching for BUILD_CXX the compiler given priority is an uppercase CC, and then g++, which is not correct since this simply links to the C compiler instead

I'm not sure I'm understanding the problem here. I think the uppercase `CC` is a remnant of Solaris support. In Solaris Studio, the C++ compiler is uppercase and the C compiler lowercase. What is this resolving to for you? Could it be that on a mac case insensitive file system it resolves to `cc` which in turn resolves to `clang`?  I'm not familiar with `c++` as a launcher, but I see on my local Linux host, this resolves to g++ and on my mac to clang++. The drawback of going with a standard launcher like this is that we have a harder time knowing which toolchain type it is. 

Dropping Solaris support for `CC` should be fine, but if we add `c++` it should probably be after `g++`. In the Solaris case, we wanted to be sure we got Solaris Studio and not GCC, but now I think we prefer the known `g++` over the potentially unknown `c++`.

-------------

PR: https://git.openjdk.org/jdk/pull/12558



More information about the build-dev mailing list