diff options
author | Tony Battersby <tonyb@cybernetics.com> | 2021-08-06 17:04:32 -0400 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-08-12 06:26:15 +0100 |
commit | fa91de383e0e42a8905b2b01686c2a643d0a5ad9 (patch) | |
tree | e2f807f5578267d23a213b857c3eee3b209c9a51 /meta | |
parent | 666548c44e273d1d3673830349e0781170719a6c (diff) | |
download | poky-fa91de383e0e42a8905b2b01686c2a643d0a5ad9.tar.gz |
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>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/recipes-devtools/ruby/ruby/0002-template-Makefile.in-filter-out-f-prefix-map.patch | 42 | ||||
-rw-r--r-- | meta/recipes-devtools/ruby/ruby_3.0.2.bb | 1 |
2 files changed, 43 insertions, 0 deletions
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 index 0000000000..9387506c26 --- /dev/null +++ b/meta/recipes-devtools/ruby/ruby/0002-template-Makefile.in-filter-out-f-prefix-map.patch | |||
@@ -0,0 +1,42 @@ | |||
1 | Subject: [PATCH] template/Makefile.in: filter out -f*prefix-map | ||
2 | |||
3 | If we add DEBUG_PREFIX_MAP into LDFLAGS, ruby and ruby-dbg are no longer | ||
4 | reproducible. Fix this. | ||
5 | |||
6 | Upstream-Status: Inapproppriate [oe-core specific] | ||
7 | Signed-off-by: Tony Battersby <tonyb@cybernetics.com> | ||
8 | --- | ||
9 | --- a/tool/mjit_archflag.sh | ||
10 | +++ b/tool/mjit_archflag.sh | ||
11 | @@ -7,6 +7,20 @@ quote() { | ||
12 | echo | ||
13 | } | ||
14 | |||
15 | +quote_filtered() { | ||
16 | + printf "#${indent}define $1" | ||
17 | + while shift && [ "$#" -gt 0 ]; do | ||
18 | + case "$1" in | ||
19 | + -ffile-prefix-map=*|-fdebug-prefix-map=*|-fmacro-prefix-map=*) | ||
20 | + ;; | ||
21 | + *) | ||
22 | + printf ' "%s"'$sep "$1" | ||
23 | + ;; | ||
24 | + esac | ||
25 | + done | ||
26 | + echo | ||
27 | +} | ||
28 | + | ||
29 | archs="" | ||
30 | arch_flag="" | ||
31 | |||
32 | --- a/template/Makefile.in | ||
33 | +++ b/template/Makefile.in | ||
34 | @@ -666,7 +666,7 @@ mjit_config.h: | ||
35 | quote "MJIT_OPTFLAGS " $(MJIT_OPTFLAGS); \ | ||
36 | quote "MJIT_DEBUGFLAGS " $(MJIT_DEBUGFLAGS); \ | ||
37 | quote "MJIT_LDSHARED " ; \ | ||
38 | - quote "MJIT_DLDFLAGS MJIT_ARCHFLAG" $(MJIT_DLDFLAGS); \ | ||
39 | + quote_filtered "MJIT_DLDFLAGS MJIT_ARCHFLAG" $(MJIT_DLDFLAGS); \ | ||
40 | quote "MJIT_LIBS " $(LIBRUBYARG_SHARED); \ | ||
41 | quote 'PRELOADENV "@PRELOADENV@"'; \ | ||
42 | indent=$${archs:+' '}; \ | ||
diff --git a/meta/recipes-devtools/ruby/ruby_3.0.2.bb b/meta/recipes-devtools/ruby/ruby_3.0.2.bb index 0b9c342def..38e594a59e 100644 --- a/meta/recipes-devtools/ruby/ruby_3.0.2.bb +++ b/meta/recipes-devtools/ruby/ruby_3.0.2.bb | |||
@@ -6,6 +6,7 @@ SRC_URI += " \ | |||
6 | file://remove_has_include_macros.patch \ | 6 | file://remove_has_include_macros.patch \ |
7 | file://run-ptest \ | 7 | file://run-ptest \ |
8 | file://0001-template-Makefile.in-do-not-write-host-cross-cc-item.patch \ | 8 | file://0001-template-Makefile.in-do-not-write-host-cross-cc-item.patch \ |
9 | file://0002-template-Makefile.in-filter-out-f-prefix-map.patch \ | ||
9 | " | 10 | " |
10 | 11 | ||
11 | SRC_URI[sha256sum] = "5085dee0ad9f06996a8acec7ebea4a8735e6fac22f22e2d98c3f2bc3bef7e6f1" | 12 | SRC_URI[sha256sum] = "5085dee0ad9f06996a8acec7ebea4a8735e6fac22f22e2d98c3f2bc3bef7e6f1" |