From 005055325176500f03fbd64f122bc4de64719c46 Mon Sep 17 00:00:00 2001 From: Palmer Dabbelt Date: Tue, 26 Dec 2017 20:55:34 -0800 Subject: [PATCH] Allow make-link-multidir to make subdirectories The RISC-V Linux ABI doesn't define any libraries that go directly in lib, instead they go into lib32/ilp32 or lib64/lp64. This casuse make-link-multidir to fail when attempting to make library directories when building a static libc on multilib RISC-V systems. This patch uses scripts/mkinstalldirs to make the base directory of the target symlink of make-link-multidir. 2018-01-06 Palmer Dabbelt * Makerules (make-link-multidir): Make directories before linking into them. --- ChangeLog | 2 ++ Makerules | 1 + 2 files changed, 3 insertions(+) diff --git a/ChangeLog b/ChangeLog index 0e2c7420e0..6dc8a41fd6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -12,6 +12,8 @@ (R_RISCV_TLS_DTPREL64): Likewise. (R_RISCV_TLS_TPREL32): Likewise. (R_RISCV_TLS_TPREL64): Likewise. + * Makerules (make-link-multidir): Make directories before linking into + them. 2018-01-06 Samuel Thibault diff --git a/Makerules b/Makerules index d94e4ca0c1..ef6abeac6d 100644 --- a/Makerules +++ b/Makerules @@ -1081,6 +1081,7 @@ mv -f $@.new $@ endef define make-link-multidir $(patsubst %/,cd %,$(objpfx)); \ + $(addprefix $(abspath $(..)scripts/mkinstalldirs) ,$(dir $(multidir))); \ $(LN_S) . $(multidir) 2> /dev/null; \ test -L $(multidir) endef