From fdef1f78bb102fc335f5ed2560d251d9ff973478 Mon Sep 17 00:00:00 2001 From: Tamar Christina Date: Tue, 26 Sep 2017 14:47:04 +0100 Subject: [PATCH] Fix multido compilation on ARM The previous multi-build implementation was copying the config.status from the parent multilib directory when building the different semihosting variants. It did so because the configuration doesn't change. However when you use a relative path to configure it turns out that the paths inside the config.status are also relative. To fix this, the srcdir is adjusted from the initial configuration instead of copying it. Tested on aarch64-none-elf and arm-none-eabi. Signed-off-by: Tamar Christina --- libgloss/multi-build.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libgloss/multi-build.in b/libgloss/multi-build.in index 1403eb35e..52aeeec26 100644 --- a/libgloss/multi-build.in +++ b/libgloss/multi-build.in @@ -17,9 +17,9 @@ multi-do: destpre=`echo $${rootpre}/$${dir}`/; export destpre; \ if ! test -d $${destpre} ; then \ mkdir -p $${destpre}; \ - cp config.status $${destpre}; \ cd $${destpre}; \ - $(SHELL) config.status; \ + config_cmd=`../config.status --config | sed -re "s:--srcdir=([^/]):--srcdir=../\1:"`; \ + $(SHELL) -c "$(SHELL) $${srcrootpre}/configure $${config_cmd}";\ sed -e "s:^MULTIDIRS[[:space:]]*+=.*$$:MULTIDIRS = :" \ -e "s:^MULTILIBNAME[[:space:]]*=.*$$:MULTILIBNAME = MULTIDIR_$${dir}_NAME:" \ -e "s:^MULTI_FLAGS_FOR_TARGET[[:space:]]*=.*$$:MULTI_FLAGS_FOR_TARGET = MULTIDIR_$${dir}_FLAGS:" \ -- 2.14.1