1 From 6687fc9276fa52defaf8592f2001c19b826aec93 Mon Sep 17 00:00:00 2001
2 From: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
3 Date: Thu, 4 Jun 2020 10:21:43 +0200
4 Subject: buildsys: shorten abi dep-file names
6 certain crypto-layers encode required information in the
7 filename hence crippling NAME_MAX from 255 down to about 143
10 Since the dependency files of libgcc_eh and libsupc encode the full
11 path to the corresponding libraries, the names of the dep files can
12 get quite large. Shorten them by some (arbitrary, short) hash.
14 Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
17 src/abi/libgcc_eh/Makefile.in | 4 ++--
18 src/abi/libsupc/Makefile.in | 4 ++--
19 3 files changed, 6 insertions(+), 4 deletions(-)
21 diff --git a/Rules.mak b/Rules.mak
22 index 1b5ed30..9162c64 100644
25 @@ -50,6 +50,7 @@ RM = rm -f
33 @@ -249,6 +250,7 @@ endif
35 list-archive-members = $(if $(1),$(shell $(AR) t $(1)))
36 variablify = $(strip $(subst /,_,$(subst :,_,$(subst ;,_,$(subst |,_,$(subst >,_,$(subst <,_,$(1))))))))
37 +print-hash = $(strip $(if $(1),$(shell printf "%s" "$(1)" | $(MD5SUM) | $(SED) 's/[^0-9a-zA-Z]//g')))
40 ifneq ($(LIBGCC_DIR),$(UCLIBCXX_RUNTIME_LIBDIR))
41 diff --git a/src/abi/libgcc_eh/Makefile.in b/src/abi/libgcc_eh/Makefile.in
42 index 46b0017..1553b34 100644
43 --- a/src/abi/libgcc_eh/Makefile.in
44 +++ b/src/abi/libgcc_eh/Makefile.in
45 @@ -4,7 +4,7 @@ OBJS = $(call list-archive-members,$(LIBGCC_EH))
46 libgcc_eh-$(IMPORT_LIBGCC_EH) := $(OBJS)
48 LIBGCC_EH_VAR := $(call variablify,$(LIBGCC_EH))
49 -LIBGCC_EH_DEP := $(LIBGCC_EH_OUT).$(LIBGCC_EH_VAR).dep
50 +LIBGCC_EH_DEP := $(LIBGCC_EH_OUT).$(call print-hash,$(LIBGCC_EH_VAR)).dep
52 ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
53 -include $(LIBGCC_EH_DEP)
54 @@ -17,7 +17,7 @@ endif
55 $(LIBGCC_EH_DEP): $(LIBGCC_EH)
56 $(Q)$(RM) $(LIBGCC_EH_OUT).*dep $(LIBGCC_EH_OUT)*.o
57 $(Q)$(if $(LIBGCC_EH),(cd $(LIBGCC_EH_OUT) && $(AR) x $(LIBGCC_EH)))
58 - $(Q)echo "libgcc_eh-y := \$$(addprefix \$$(LIBGCC_EH_OUT),$(libgcc_eh-y))" > $@
59 + $(Q)printf "# %s\n\n%s\n" "$(LIBGCC_EH)" "libgcc_eh-y := \$$(addprefix \$$(LIBGCC_EH_OUT),$(libgcc_eh-y))" > $@
61 CLEAN_src/abi/libgcc_eh: ;
62 DISTCLEAN_src/abi/libgcc_eh:
63 diff --git a/src/abi/libsupc/Makefile.in b/src/abi/libsupc/Makefile.in
64 index 89e0e8a..9c00df0 100644
65 --- a/src/abi/libsupc/Makefile.in
66 +++ b/src/abi/libsupc/Makefile.in
67 @@ -5,7 +5,7 @@ OBJS-OMIT = $(filter new_op%.o del_op%.o pure.o new_handler.o eh_alloc.o eh_glob
68 libsupc-$(IMPORT_LIBSUP) := $(filter-out $(OBJS-OMIT),$(OBJS))
70 LIBSUP_VAR := $(call variablify,$(LIBSUP))
71 -LIBSUP_DEP :=$(LIBSUPC_OUT).$(LIBSUP_VAR).dep
72 +LIBSUP_DEP := $(LIBSUPC_OUT).$(call print-hash,$(LIBSUP_VAR)).dep
74 ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
75 -include $(LIBSUP_DEP)
76 @@ -17,7 +17,7 @@ endif
77 $(LIBSUP_DEP): $(LIBSUP) $(LIBSUPC_OUT)Makefile.in
78 $(Q)$(RM) $(LIBSUPC_OUT).*dep $(LIBSUPC_OUT)*.o
79 $(Q)$(if $(LIBSUP),(cd $(LIBSUPC_OUT) && $(AR) x $(LIBSUP) && $(RM) $(OBJS-OMIT)))
80 - $(Q)echo "libsupc-y := \$$(addprefix \$$(LIBSUPC_OUT),$(libsupc-y))" > $@
81 + $(Q)printf "# %s\n\n%s\n" "$(LIBSUP)" "libsupc-y := \$$(addprefix \$$(LIBSUPC_OUT),$(libsupc-y))" > $@
83 CLEAN_src/abi/libsupc: ;
84 DISTCLEAN_src/abi/libsupc: