]> code.ossystems Code Review - openembedded-core.git/commitdiff
ruby: Fix reproducibility issue with LDFLAGS
authorTony Battersby <tonyb@cybernetics.com>
Fri, 6 Aug 2021 21:04:32 +0000 (17:04 -0400)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 12 Aug 2021 05:21:55 +0000 (06:21 +0100)
If we add DEBUG_PREFIX_MAP into LDFLAGS, ruby and ruby-dbg are no
longer reproducible.  Fix this.

Signed-off-by: Tony Battersby <tonyb@cybernetics.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/ruby/ruby/0002-template-Makefile.in-filter-out-f-prefix-map.patch [new file with mode: 0644]
meta/recipes-devtools/ruby/ruby_3.0.2.bb

diff --git a/meta/recipes-devtools/ruby/ruby/0002-template-Makefile.in-filter-out-f-prefix-map.patch b/meta/recipes-devtools/ruby/ruby/0002-template-Makefile.in-filter-out-f-prefix-map.patch
new file mode 100644 (file)
index 0000000..9387506
--- /dev/null
@@ -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:+'  '}; \
index 0b9c342def6bdffbbf6c76c0c68e9c24a650f5d6..38e594a59ef3680819f96a1badd0007303e23e32 100644 (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"