From: Kito Cheng Date: Tue, 10 Jun 2025 03:17:45 +0000 (+0800) Subject: driver: Try to read spec from gcc_exec_prefix if possible X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=59fbc99f8ee35fc1a7bcae4bed3e7bfaec38b538;p=thirdparty%2Fgcc.git driver: Try to read spec from gcc_exec_prefix if possible GCC will try to read the spec file from the directory where it is installed, but it should try to read from gcc_exec_prefix rather than standard_exec_prefix, because the latter is not the right one if compiler has been relocated into other places other than the path specfied at configuration time. gcc/ChangeLog: * gcc.cc (driver::set_up_specs): Use gcc_exec_prefix to read the spec file rather than standard_exec_prefix. --- diff --git a/gcc/gcc.cc b/gcc/gcc.cc index 4e61de2a47c..235fe801988 100644 --- a/gcc/gcc.cc +++ b/gcc/gcc.cc @@ -8506,11 +8506,13 @@ driver::set_up_specs () const spec_machine_suffix = just_machine_suffix; #endif + const char *exec_prefix + = gcc_exec_prefix ? gcc_exec_prefix : standard_exec_prefix; /* We need to check standard_exec_prefix/spec_machine_suffix/specs for any override of as, ld and libraries. */ - specs_file = (char *) alloca (strlen (standard_exec_prefix) - + strlen (spec_machine_suffix) + sizeof ("specs")); - strcpy (specs_file, standard_exec_prefix); + specs_file = (char *) alloca ( + strlen (exec_prefix) + strlen (spec_machine_suffix) + sizeof ("specs")); + strcpy (specs_file, exec_prefix); strcat (specs_file, spec_machine_suffix); strcat (specs_file, "specs"); if (access (specs_file, R_OK) == 0)