Hi, On 20 February 2017 at 18:53, Bruce Korb wrote: > On 02/18/17 01:01, Bernd Edlinger wrote: >> On 02/18/17 00:37, Bruce Korb wrote: >>> On 02/06/17 10:44, Bernd Edlinger wrote: >>>> I tested this change with different arm-linux-gnueabihf cross >>>> compilers, and verified that mkheaders still works on the host system. >>>> >>>> Bootstrapped and reg-tested on x86_64-pc-linux-gnu. >>>> Is it OK for trunk? >>> >>> As long as you certify that this is correct for all systems we care about: >>> >>> +BUILD_SYSTEM_HEADER_DIR = ` >>> + echo $(CROSS_SYSTEM_HEADER_DIR) | \ >>> + sed -e :a -e 's,[^/]*/\.\.\/,,' -e ta` >>> >>> that is pretty obtuse sed-speak to me. I suggest a comment >>> explaining what sed is supposed to be doing. What should >>> "$(CROSS_SYSTEM_HEADER_DIR)" look like? >>> >> >> I took it just from a few lines above, so I thought that comment would >> sufficiently explain the syntax: > > I confess, I didn't pull a new copy of gcc, sorry. > So it looks good to me. We just noticed that this patch brakes canadian cross builds when configured with --with-build-sysroot, since headers are searched into the target sysroot instead of the one specified for builds. Maybe there's a cleaner way to fix this and avoid the duplication but I didn't find another to test if --with-build-sysroot is used. The attached patch fixes the issue. Tested with a Full canadian cross build for i686-w64-mingw32 host and arm-linux-gnueabihf. Thanks Yvan 2017-04-12 Yvan Roux * Makefile.in (BUILD_SYSTEM_HEADER_DIR): Set to SYSTEM_HEADER_DIR when configured with --with-build-sysroot.