On 7/26/21 3:45 AM, Tobias Burnus wrote:
[snip] I did say that it mostly works because of: $ find x86_64-pc-linux-gnu/ -name ISO_Fortran_binding.h x86_64-pc-linux-gnu/libgfortran/ISO_Fortran_binding.h x86_64-pc-linux-gnu/32/libgfortran/ISO_Fortran_binding.h And when looking at the -B lines, I see for the '' alias '-m64' run: -B.../build/gcc/testsuite/gfortran/../../ -B.../build/x86_64-pc-linux-gnu/./libgfortran/ -B.../build/x86_64-pc-linux-gnu/./libgfortran/.libs -B.../build/x86_64-pc-linux-gnu/./libquadmath/.libs which is fine (second line ensures the ISO*.h file is found.) But for -m32, I see: -B.../build/gcc/testsuite/gfortran/../../ -B.../build/x86_64-pc-linux-gnu/./libgfortran/ -B.../build/x86_64-pc-linux-gnu/32/libgfortran/.libs -B.../build/x86_64-pc-linux-gnu/32/libquadmath/.libs That also works, but it uses again the same directory for ISO*.h, such that the -m64 header file is used instead of the -m32 one.
I did some more experiments and I see that too. :-S It's finding a .h file, but not the right one. :-(
PS: Still, it would be nice if the proper multi-lib ISO*.h could be found; while it usually does not matter, it could do so in some cases.
I think I ought to fix this now instead of just sweeping it under the rug. The suggestion you made previously to add
# Flags for finding libgfortran ISO*.h files. if [info exists TOOL_OPTIONS] { set specpath [get_multilibs ${TOOL_OPTIONS}] } else { set specpath [get_multilibs] } set options "-I $specpath/libgfortran/"
to the .exp files looks consistent with what I see elsewhere for adding things to the include path, so I will give it a try and see how it works.
-Sandra