On Thu, Dec 3, 2020 at 5:37 AM Alexander Kanavin <[email protected]> wrote:
>
> Signed-off-by: Alexander Kanavin <[email protected]>
> ---
>  ...r-sort-ClassInfo-lists-by-name-as-we.patch | 31 +++++++++++++++++++
>  meta/recipes-devtools/llvm/llvm_git.bb        |  3 +-
>  2 files changed, 33 insertions(+), 1 deletion(-)
>  create mode 100644 
> meta/recipes-devtools/llvm/llvm/0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch
>
> diff --git 
> a/meta/recipes-devtools/llvm/llvm/0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch
>  
> b/meta/recipes-devtools/llvm/llvm/0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch
> new file mode 100644
> index 0000000000..20eea060b1
> --- /dev/null
> +++ 
> b/meta/recipes-devtools/llvm/llvm/0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch
> @@ -0,0 +1,31 @@
> +From 86940d87026432683fb6741cd8a34d3b9b18e40d Mon Sep 17 00:00:00 2001
> +From: Alexander Kanavin <[email protected]>
> +Date: Fri, 27 Nov 2020 10:11:08 +0000
> +Subject: [PATCH] AsmMatcherEmitter: sort ClassInfo lists by name as well
> +
> +Otherwise, there are instances which are identical in
> +every other field and therefore sort non-reproducibly
> +(which breaks binary and source reproducibiliy).
> +
> +Upstream-Status: Pending
> +Signed-off-by: Alexander Kanavin <[email protected]>
> +---
> + llvm/utils/TableGen/AsmMatcherEmitter.cpp | 5 ++++-
> + 1 file changed, 4 insertions(+), 1 deletion(-)
> +
> +diff --git a/llvm/utils/TableGen/AsmMatcherEmitter.cpp 
> b/llvm/utils/TableGen/AsmMatcherEmitter.cpp
> +index ccf0959389b..1f801e83b7d 100644
> +--- a/llvm/utils/TableGen/AsmMatcherEmitter.cpp
> ++++ b/llvm/utils/TableGen/AsmMatcherEmitter.cpp
> +@@ -359,7 +359,10 @@ public:
> +     // name of a class shouldn't be significant. However, some of the 
> backends
> +     // accidentally rely on this behaviour, so it will have to stay like 
> this
> +     // until they are fixed.
> +-    return ValueName < RHS.ValueName;
> ++    if (ValueName != RHS.ValueName)
> ++        return ValueName < RHS.ValueName;
> ++    // All else being equal, we should sort by name, for source and binary 
> reproducibility
> ++    return Name < RHS.Name;

this change looks good to me. it would be good to post it upstream as
well via phabricator to get additional reviews from LLVM community as
well.

> +   }
> + };
> +
> diff --git a/meta/recipes-devtools/llvm/llvm_git.bb 
> b/meta/recipes-devtools/llvm/llvm_git.bb
> index b146d0e6e3..43395f8cfc 100644
> --- a/meta/recipes-devtools/llvm/llvm_git.bb
> +++ b/meta/recipes-devtools/llvm/llvm_git.bb
> @@ -33,7 +33,8 @@ SRCREV = "ef32c611aa214dea855364efd7ba451ec5ec3f74"
>  SRC_URI = "git://github.com/llvm/llvm-project.git;branch=${BRANCH} \
>             
> file://0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch;striplevel=2
>  \
>             
> file://0007-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \
> -          "
> +           
> file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch;striplevel=2
>  \
> +           "
>
>  UPSTREAM_CHECK_GITTAGREGEX = "llvmorg-(?P<pver>\d+(\.\d+)+)"
>
> --
> 2.29.2
>
>
> 
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#145259): 
https://lists.openembedded.org/g/openembedded-core/message/145259
Mute This Topic: https://lists.openembedded.org/mt/78684159/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to