Hi Ruoyao, I'm trying to build a cross gcc on X86_64, with target armhf. The cross gcc will have /usr/include/arm-linux-gnueabihf, which is already populated, as its header search directory if the gcc is configured with: --enable-multiarch --with-arch=armv7-a --with-fpu=neon-vfpv4 --with-float=hard But to build a gcc with target aarch64, only --with-arch=armv8-a is used in the configuration and /usr/include/aarch64-linux-gnueabi will be among the header search directories of the resulting gcc. I'll do this build again to confirm it. Thank you very much. Dashi Cao ________________________________________ From: Xi Ruoyao <xry111@xxxxxxxxxxxxxxxx> Sent: Sunday, March 27, 2022 5:37 PM To: Da Shi Cao; gcc-help@xxxxxxxxxxx Subject: Re: architecture dependent directory of C header On Sat, 2022-03-26 at 23:53 +0000, Da Shi Cao wrote: > Hi Ruoyao, > Thanks a lot. I’ll have a try of it. > But this arch dependent including directory is in the default search > path of the compiler if aarch64 cross gcc is built on x86_64 without > the option “--enable-multiarch”. Do you mean "$PREFIX/aarch64-linux-gnu/include" or "$PREFIX/include/aarch64-linux-gnu"? The previous one is a standard location for a cross compiler. The latter is not enabled without --enable-multiarch, at least for the upstream GCC code. Note that if you get a GCC source tarball elsewhere, it's unlikely you may get an answer here because we have no way to know how the source code is modified. -- Xi Ruoyao <xry111@xxxxxxxxxxxxxxxx> School of Aerospace Science and Technology, Xidian University