Am 10.01.2014 10:49, schrieb Zhenqiang Chen: > On 10 January 2014 17:23, Matthias Klose <d...@ubuntu.com> wrote: >> Am 10.01.2014 09:23, schrieb Zhenqiang Chen: >>> Hi, >>> >>> MULTIARCH_DIRNAME was removed @r196649 since the dir info had been >>> combined in MULTILIB_OSDIRNAMES. >>> >>> But MULTIARCH_DIRNAME was re-added @r201164. With this change, the >>> final multiarch_dir is combined as >>> "aarch64-linux-gnu:aarch64-linux-gnu", which is incorrect and leads to >>> multiarch build fail if the sysroot is in correct multiarch layout. >>> >>> Any reason to add MULTIARCH_DIRNAME? If it is not necessary, can we >>> remove it as the patch? >> >> see the thread "[patch] set MULTIARCH_DIRNAME for multilib architectures" >> from >> June 2013. I think it is necessary to have the default defined. Yesterday's >> build looks ok for me, looking at default and include paths, so maybe I don't >> yet understand the issue. > > In our build, we configure eglbc with > rtlddir=/lib > libdir=/usr/lib/aarch64-linux-gnu > slibdir=/lib/aarch64-linux-gnu > > And we configure gcc with "--disable-multilib --enable-multiarch", > But when building gcc libraries, configure FAIL since it can not find > the C libraries. And I try > ./xgcc --print-multiarch > the output is "aarch64-linux-gnu:aarch64-linux-gnu" > > Any comments?
> > Thanks! > -Zhenqiang > > > >> I think aarch64 is the only architecture which introduces MULTILIB_* macros >> without actually building any multilib, just to set the default library name >> to >> lib64. So maybe this has some side effects. sorry, I have a local patch applied after the lib64 change, which I forgot to forward. * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if MULTILIB_OSDIRNAMES is not defined. --- a/src/gcc/Makefile.in +++ b/src/gcc/Makefile.in @@ -1837,7 +1837,7 @@ "$(MULTILIB_EXCLUSIONS)" \ "$(MULTILIB_OSDIRNAMES)" \ "$(MULTILIB_REQUIRED)" \ - "$(MULTIARCH_DIRNAME)" \ + "$(if $(MULTILIB_OSDIRNAMES),,$(MULTIARCH_DIRNAME))" \ "$(MULTILIB_REUSE)" \ "@enable_multilib@" \ > tmp-mlib.h; \ applied/tested since July 2013 on the Debian/Ubuntu distro builds. It doesn't affect the non-multiarch case. Ok for the trunk? Matthias