ruby: Fix reproducibility issue with LDFLAGS

If we add DEBUG_PREFIX_MAP into LDFLAGS, ruby and ruby-dbg are no
longer reproducible.  Fix this.

(From OE-Core rev: c34d5e409b291e69d6ff28ee71acba7055ef3f08)

Signed-off-by: Tony Battersby <tonyb@cybernetics.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Tony Battersby
2021-08-06 17:04:32 -04:00
committed by Richard Purdie
parent 666548c44e
commit fa91de383e
2 changed files with 43 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
Subject: [PATCH] template/Makefile.in: filter out -f*prefix-map
If we add DEBUG_PREFIX_MAP into LDFLAGS, ruby and ruby-dbg are no longer
reproducible. Fix this.
Upstream-Status: Inapproppriate [oe-core specific]
Signed-off-by: Tony Battersby <tonyb@cybernetics.com>
---
--- a/tool/mjit_archflag.sh
+++ b/tool/mjit_archflag.sh
@@ -7,6 +7,20 @@ quote() {
echo
}
+quote_filtered() {
+ printf "#${indent}define $1"
+ while shift && [ "$#" -gt 0 ]; do
+ case "$1" in
+ -ffile-prefix-map=*|-fdebug-prefix-map=*|-fmacro-prefix-map=*)
+ ;;
+ *)
+ printf ' "%s"'$sep "$1"
+ ;;
+ esac
+ done
+ echo
+}
+
archs=""
arch_flag=""
--- a/template/Makefile.in
+++ b/template/Makefile.in
@@ -666,7 +666,7 @@ mjit_config.h:
quote "MJIT_OPTFLAGS " $(MJIT_OPTFLAGS); \
quote "MJIT_DEBUGFLAGS " $(MJIT_DEBUGFLAGS); \
quote "MJIT_LDSHARED " ; \
- quote "MJIT_DLDFLAGS MJIT_ARCHFLAG" $(MJIT_DLDFLAGS); \
+ quote_filtered "MJIT_DLDFLAGS MJIT_ARCHFLAG" $(MJIT_DLDFLAGS); \
quote "MJIT_LIBS " $(LIBRUBYARG_SHARED); \
quote 'PRELOADENV "@PRELOADENV@"'; \
indent=$${archs:+' '}; \

View File

@@ -6,6 +6,7 @@ SRC_URI += " \
file://remove_has_include_macros.patch \
file://run-ptest \
file://0001-template-Makefile.in-do-not-write-host-cross-cc-item.patch \
file://0002-template-Makefile.in-filter-out-f-prefix-map.patch \
"
SRC_URI[sha256sum] = "5085dee0ad9f06996a8acec7ebea4a8735e6fac22f22e2d98c3f2bc3bef7e6f1"