diff mbox series

[kirkstone,v2] rust-llvm: backport a fix for build with gcc-13

Message ID 20230710171504.867425-1-alexander.sverdlin@siemens.com
State New, archived
Headers show
Series [kirkstone,v2] rust-llvm: backport a fix for build with gcc-13 | expand

Commit Message

Sverdlin, Alexander July 10, 2023, 5:15 p.m. UTC
From: Alexander Sverdlin <alexander.sverdlin@siemens.com>

* needed for rust-llvm-native on hosts with gcc-13

Based on commit 3382759cb6c5 ("llvm: backport a fix for build with gcc-13")

Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
---
Changelog:
v2: rebase onto 2022-04.11-kirkstone

 meta/recipes-devtools/rust/rust-llvm.inc      |  4 ++-
 ...-missing-cstdint-header-to-Signals.h.patch | 32 +++++++++++++++++++
 2 files changed, 35 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-devtools/rust/rust-llvm/0003-Support-Add-missing-cstdint-header-to-Signals.h.patch

Comments

Jose Quaresma July 10, 2023, 10:58 p.m. UTC | #1
Hi Alexander,

The uninative release with the gcc 13 was released a few weeks ago,
what is the reason for this issue not being found on the autobuild when
using the uninative?

With the clang toolchain this issue [1] comes right after the uninative
with gcc-13 was released.
[1] https://github.com/kraj/meta-clang/pull/816

Jose

A. Sverdlin via lists.openembedded.org <alexander.sverdlin=
siemens.com@lists.openembedded.org> escreveu no dia segunda, 10/07/2023
à(s) 18:15:

> From: Alexander Sverdlin <alexander.sverdlin@siemens.com>
>
> * needed for rust-llvm-native on hosts with gcc-13
>
> Based on commit 3382759cb6c5 ("llvm: backport a fix for build with gcc-13")
>
> Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
> ---
> Changelog:
> v2: rebase onto 2022-04.11-kirkstone
>
>  meta/recipes-devtools/rust/rust-llvm.inc      |  4 ++-
>  ...-missing-cstdint-header-to-Signals.h.patch | 32 +++++++++++++++++++
>  2 files changed, 35 insertions(+), 1 deletion(-)
>  create mode 100644
> meta/recipes-devtools/rust/rust-llvm/0003-Support-Add-missing-cstdint-header-to-Signals.h.patch
>
> diff --git a/meta/recipes-devtools/rust/rust-llvm.inc
> b/meta/recipes-devtools/rust/rust-llvm.inc
> index 5c2ccdac9a..e645e7a7ac 100644
> --- a/meta/recipes-devtools/rust/rust-llvm.inc
> +++ b/meta/recipes-devtools/rust/rust-llvm.inc
> @@ -3,7 +3,9 @@ LICENSE ?= "Apache-2.0-with-LLVM-exception"
>  HOMEPAGE = "http://www.rust-lang.org"
>
>  SRC_URI +=
> "file://0002-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \
> -
> file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch;striplevel=2"
> +
> file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch;striplevel=2
> \
> +
> file://0003-Support-Add-missing-cstdint-header-to-Signals.h.patch;striplevel=2
> \
> +"
>
>  S = "${RUSTSRC}/src/llvm-project/llvm"
>
> diff --git
> a/meta/recipes-devtools/rust/rust-llvm/0003-Support-Add-missing-cstdint-header-to-Signals.h.patch
> b/meta/recipes-devtools/rust/rust-llvm/0003-Support-Add-missing-cstdint-header-to-Signals.h.patch
> new file mode 100644
> index 0000000000..6ed23aa9c5
> --- /dev/null
> +++
> b/meta/recipes-devtools/rust/rust-llvm/0003-Support-Add-missing-cstdint-header-to-Signals.h.patch
> @@ -0,0 +1,32 @@
> +From a94bf34221fc4519bd8ec72560c2d363ffe2de4c Mon Sep 17 00:00:00 2001
> +From: Sergei Trofimovich <slyich@gmail.com>
> +Date: Mon, 23 May 2022 08:03:23 +0100
> +Subject: [PATCH] [Support] Add missing <cstdint> header to Signals.h
> +
> +Without the change llvm build fails on this week's gcc-13 snapshot as:
> +
> +    [  0%] Building CXX object
> lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o
> +    In file included from llvm/lib/Support/Signals.cpp:14:
> +    llvm/include/llvm/Support/Signals.h:119:8: error: variable or field
> 'CleanupOnSignal' declared void
> +      119 |   void CleanupOnSignal(uintptr_t Context);
> +          |        ^~~~~~~~~~~~~~~
> +
> +Upstream-Status: Backport [llvmorg-15.0.0
> ff1681ddb303223973653f7f5f3f3435b48a1983]
> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> +Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
> +---
> + llvm/include/llvm/Support/Signals.h | 1 +
> + 1 file changed, 1 insertion(+)
> +
> +diff --git a/llvm/include/llvm/Support/Signals.h
> b/llvm/include/llvm/Support/Signals.h
> +index 44f5a750ff5c..937e0572d4a7 100644
> +--- a/llvm/include/llvm/Support/Signals.h
> ++++ b/llvm/include/llvm/Support/Signals.h
> +@@ -14,6 +14,7 @@
> + #ifndef LLVM_SUPPORT_SIGNALS_H
> + #define LLVM_SUPPORT_SIGNALS_H
> +
> ++#include <cstdint>
> + #include <string>
> +
> + namespace llvm {
> --
> 2.41.0
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#184090):
> https://lists.openembedded.org/g/openembedded-core/message/184090
> Mute This Topic: https://lists.openembedded.org/mt/100062248/5052612
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> quaresma.jose@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
Sverdlin, Alexander July 11, 2023, 7:05 a.m. UTC | #2
Hello Jose,

On Mon, 2023-07-10 at 23:58 +0100, Jose Quaresma wrote:
> Hi Alexander,
> 
> The uninative release with the gcc 13 was released a few weeks ago,
> what is the reason for this issue not being found on the autobuild when using the uninative?

I'm not sure why it wasn't found by (and what actually is being meant as) autobuild, but the issue is real:

DEBUG: Executing shell function do_compile
NOTE: VERBOSE=1 cmake --build .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/build --target all --
[1/2283] .../tmp/hosttools/g++ -DGTEST_HAS_RTTI=0 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-
r0/build/utils/TableGen -I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/utils/TableGen -I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-
r0/build/include -I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/include -isystem.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/recipe-sysroot-
native/usr/include -O2 -pipe -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-
initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -
Wsuggest-override -Wno-comment -Wmisleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -DNDEBUG  -fno-exceptions -fno-rtti -std=c++14 -MD -MT utils/TableGen/CMakeFiles/llvm-
tblgen.dir/Attributes.cpp.o -MF utils/TableGen/CMakeFiles/llvm-tblgen.dir/Attributes.cpp.o.d -o utils/TableGen/CMakeFiles/llvm-tblgen.dir/Attributes.cpp.o -c .../tmp/work/x86_64-linux/rust-llvm-
native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/utils/TableGen/Attributes.cpp
[2/2283] .../tmp/hosttools/g++ -DGTEST_HAS_RTTI=0 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-
r0/build/lib/Support -I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/lib/Support -I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/build/include -
I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/include -isystem.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/recipe-sysroot-native/usr/include -O2
-pipe -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-
long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -
Wmisleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -DNDEBUG -std=c++14  -fno-exceptions -fno-rtti -MD -MT lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o -MF
lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o.d -o lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o -c .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-
project/llvm/lib/Support/Signals.cpp
FAILED: lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o 
.../tmp/hosttools/g++ -DGTEST_HAS_RTTI=0 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/build/lib/Support -
I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/lib/Support -I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/build/include -I.../tmp/work/x86_64-
linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/include -isystem.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/recipe-sysroot-native/usr/include -O2 -pipe -fPIC -fno-
semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -
Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wmisleading-
indentation -fdiagnostics-color -ffunction-sections -fdata-sections -DNDEBUG -std=c++14  -fno-exceptions -fno-rtti -MD -MT lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o -MF
lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o.d -o lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o -c .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-
project/llvm/lib/Support/Signals.cpp
In file included from .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/lib/Support/Signals.cpp:14:
.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/include/llvm/Support/Signals.h:119:8: error: variable or field ‘CleanupOnSignal’ declared void
  119 |   void CleanupOnSignal(uintptr_t Context);
      |        ^~~~~~~~~~~~~~~
.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/include/llvm/Support/Signals.h:119:24: error: ‘uintptr_t’ was not declared in this scope
  119 |   void CleanupOnSignal(uintptr_t Context);
      |                        ^~~~~~~~~
.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/include/llvm/Support/Signals.h:18:1: note: ‘uintptr_t’ is defined in header ‘<cstdint>’; did you forget to
‘#include <cstdint>’?
   17 | #include <string>
  +++ |+#include <cstdint>
   18 | 
In file included from .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/lib/Support/Signals.cpp:251:
.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/lib/Support/Unix/Signals.inc:348:44: error: ‘void llvm::sys::CleanupOnSignal(uintptr_t)’ should have been
declared inside ‘llvm::sys’
  348 | void sys::CleanupOnSignal(uintptr_t Context) {
      |                                            ^

...

ninja: build stopped: subcommand failed.
WARNING: .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/temp/run.do_compile.556945:162 exit 1 from 'eval ${DESTDIR:+DESTDIR=${DESTDIR} }VERBOSE=1 cmake --build '.../tmp/work/x86_64-linux/rust-
llvm-native/1.59.0-r0/build' "$@" -- ${EXTRA_OECMAKE_BUILD}'
WARNING: Backtrace (BB generated script): 
	#1: cmake_runcmake_build, .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/temp/run.do_compile.556945, line 162
	#2: cmake_do_compile, .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/temp/run.do_compile.556945, line 156
	#3: do_compile, .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/temp/run.do_compile.556945, line 151
	#4: main, .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/temp/run.do_compile.556945, line 175


> With the clang toolchain this issue [1] comes right after the uninative with gcc-13 was released.
> [1] https://github.com/kraj/meta-clang/pull/816
> 
> Jose
> 
> A. Sverdlin via lists.openembedded.org <alexander.sverdlin=siemens.com@lists.openembedded.org> escreveu no dia segunda, 10/07/2023 à(s) 18:15:
> > From: Alexander Sverdlin <alexander.sverdlin@siemens.com>
> > 
> > * needed for rust-llvm-native on hosts with gcc-13
> > 
> > Based on commit 3382759cb6c5 ("llvm: backport a fix for build with gcc-13")
> > 
> > Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
> > ---
> > Changelog:
> > v2: rebase onto 2022-04.11-kirkstone
> > 
> >  meta/recipes-devtools/rust/rust-llvm.inc      |  4 ++-
> >  ...-missing-cstdint-header-to-Signals.h.patch | 32 +++++++++++++++++++
> >  2 files changed, 35 insertions(+), 1 deletion(-)
> >  create mode 100644 meta/recipes-devtools/rust/rust-llvm/0003-Support-Add-missing-cstdint-header-to-Signals.h.patch
> > 
> > diff --git a/meta/recipes-devtools/rust/rust-llvm.inc b/meta/recipes-devtools/rust/rust-llvm.inc
> > index 5c2ccdac9a..e645e7a7ac 100644
> > --- a/meta/recipes-devtools/rust/rust-llvm.inc
> > +++ b/meta/recipes-devtools/rust/rust-llvm.inc
> > @@ -3,7 +3,9 @@ LICENSE ?= "Apache-2.0-with-LLVM-exception"
> >  HOMEPAGE = "http://www.rust-lang.org"
> > 
> >  SRC_URI += "file://0002-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \
> > -            file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch;striplevel=2"
> > +            file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch;striplevel=2  \
> > +            file://0003-Support-Add-missing-cstdint-header-to-Signals.h.patch;striplevel=2  \
> > +"
> > 
> >  S = "${RUSTSRC}/src/llvm-project/llvm"
> > 
> > diff --git a/meta/recipes-devtools/rust/rust-llvm/0003-Support-Add-missing-cstdint-header-to-Signals.h.patch b/meta/recipes-devtools/rust/rust-llvm/0003-Support-Add-missing-cstdint-header-to-
> > Signals.h.patch
> > new file mode 100644
> > index 0000000000..6ed23aa9c5
> > --- /dev/null
> > +++ b/meta/recipes-devtools/rust/rust-llvm/0003-Support-Add-missing-cstdint-header-to-Signals.h.patch
> > @@ -0,0 +1,32 @@
> > +From a94bf34221fc4519bd8ec72560c2d363ffe2de4c Mon Sep 17 00:00:00 2001
> > +From: Sergei Trofimovich <slyich@gmail.com>
> > +Date: Mon, 23 May 2022 08:03:23 +0100
> > +Subject: [PATCH] [Support] Add missing <cstdint> header to Signals.h
> > +
> > +Without the change llvm build fails on this week's gcc-13 snapshot as:
> > +
> > +    [  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o
> > +    In file included from llvm/lib/Support/Signals.cpp:14:
> > +    llvm/include/llvm/Support/Signals.h:119:8: error: variable or field 'CleanupOnSignal' declared void
> > +      119 |   void CleanupOnSignal(uintptr_t Context);
> > +          |        ^~~~~~~~~~~~~~~
> > +
> > +Upstream-Status: Backport [llvmorg-15.0.0 ff1681ddb303223973653f7f5f3f3435b48a1983]
> > +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> > +Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
> > +---
> > + llvm/include/llvm/Support/Signals.h | 1 +
> > + 1 file changed, 1 insertion(+)
> > +
> > +diff --git a/llvm/include/llvm/Support/Signals.h b/llvm/include/llvm/Support/Signals.h
> > +index 44f5a750ff5c..937e0572d4a7 100644
> > +--- a/llvm/include/llvm/Support/Signals.h
> > ++++ b/llvm/include/llvm/Support/Signals.h
> > +@@ -14,6 +14,7 @@
> > + #ifndef LLVM_SUPPORT_SIGNALS_H
> > + #define LLVM_SUPPORT_SIGNALS_H
> > + 
> > ++#include <cstdint>
> > + #include <string>
> > + 
> > + namespace llvm {

-- 
Alexander Sverdlin
Siemens AG
www.siemens.com
Martin Jansa July 11, 2023, 7:29 a.m. UTC | #3
FWIW: the uninative with gcc-13 means only that it is compatible with
gcc-13 on host, it doesn't include gcc-native (which doesn't exist).

I'm using already newer rust with kirkstone, so I cannot confirm this issue
with gcc-13 on host, but I'm not so surprised if it wasn't caught on AB yet.

Regards,

On Tue, Jul 11, 2023 at 9:05 AM A. Sverdlin via lists.openembedded.org
<alexander.sverdlin=siemens.com@lists.openembedded.org> wrote:

> Hello Jose,
>
> On Mon, 2023-07-10 at 23:58 +0100, Jose Quaresma wrote:
> > Hi Alexander,
> >
> > The uninative release with the gcc 13 was released a few weeks ago,
> > what is the reason for this issue not being found on the autobuild when
> using the uninative?
>
> I'm not sure why it wasn't found by (and what actually is being meant as)
> autobuild, but the issue is real:
>
> DEBUG: Executing shell function do_compile
> NOTE: VERBOSE=1 cmake --build
> .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/build --target all --
> [1/2283] .../tmp/hosttools/g++ -DGTEST_HAS_RTTI=0 -D_GNU_SOURCE
> -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
> -I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-
> r0/build/utils/TableGen
> -I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/utils/TableGen
> -I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-
> r0/build/include
> -I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/include
> -isystem.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/recipe-sysroot-
> native/usr/include -O2 -pipe -fPIC -fno-semantic-interposition
> -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra
> -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-
> initializers -pedantic -Wno-long-long -Wimplicit-fallthrough
> -Wno-maybe-uninitialized -Wno-class-memaccess -Wno-redundant-move
> -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -
> Wsuggest-override -Wno-comment -Wmisleading-indentation
> -fdiagnostics-color -ffunction-sections -fdata-sections -DNDEBUG
> -fno-exceptions -fno-rtti -std=c++14 -MD -MT utils/TableGen/CMakeFiles/llvm-
> tblgen.dir/Attributes.cpp.o -MF
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/Attributes.cpp.o.d -o
> utils/TableGen/CMakeFiles/llvm-tblgen.dir/Attributes.cpp.o -c
> .../tmp/work/x86_64-linux/rust-llvm-
>
> native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/utils/TableGen/Attributes.cpp
> [2/2283] .../tmp/hosttools/g++ -DGTEST_HAS_RTTI=0 -D_GNU_SOURCE
> -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
> -I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-
> r0/build/lib/Support
> -I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/lib/Support
> -I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/build/include -
> I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/include
> -isystem.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/recipe-sysroot-native/usr/include
> -O2
> -pipe -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden
> -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings
> -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-
> long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized
> -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move
> -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override
> -Wno-comment -
> Wmisleading-indentation -fdiagnostics-color -ffunction-sections
> -fdata-sections -DNDEBUG -std=c++14  -fno-exceptions -fno-rtti -MD -MT
> lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o -MF
> lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o.d -o
> lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o -c
> .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-
> project/llvm/lib/Support/Signals.cpp
> FAILED: lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o
> .../tmp/hosttools/g++ -DGTEST_HAS_RTTI=0 -D_GNU_SOURCE
> -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
> -I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/build/lib/Support -
> I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/lib/Support
> -I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/build/include
> -I.../tmp/work/x86_64-
> linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/include
> -isystem.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/recipe-sysroot-native/usr/include
> -O2 -pipe -fPIC -fno-
> semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall
> -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual
> -Wno-missing-field-initializers -pedantic -Wno-long-long -
> Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-class-memaccess
> -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type
> -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wmisleading-
> indentation -fdiagnostics-color -ffunction-sections -fdata-sections
> -DNDEBUG -std=c++14  -fno-exceptions -fno-rtti -MD -MT
> lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o -MF
> lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o.d -o
> lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o -c
> .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-
> project/llvm/lib/Support/Signals.cpp
> In file included from
> .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/lib/Support/Signals.cpp:14:
> .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/include/llvm/Support/Signals.h:119:8:
> error: variable or field ‘CleanupOnSignal’ declared void
>   119 |   void CleanupOnSignal(uintptr_t Context);
>       |        ^~~~~~~~~~~~~~~
> .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/include/llvm/Support/Signals.h:119:24:
> error: ‘uintptr_t’ was not declared in this scope
>   119 |   void CleanupOnSignal(uintptr_t Context);
>       |                        ^~~~~~~~~
> .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/include/llvm/Support/Signals.h:18:1:
> note: ‘uintptr_t’ is defined in header ‘<cstdint>’; did you forget to
> ‘#include <cstdint>’?
>    17 | #include <string>
>   +++ |+#include <cstdint>
>    18 |
> In file included from
> .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/lib/Support/Signals.cpp:251:
> .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/lib/Support/Unix/Signals.inc:348:44:
> error: ‘void llvm::sys::CleanupOnSignal(uintptr_t)’ should have been
> declared inside ‘llvm::sys’
>   348 | void sys::CleanupOnSignal(uintptr_t Context) {
>       |                                            ^
>
> ...
>
> ninja: build stopped: subcommand failed.
> WARNING:
> .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/temp/run.do_compile.556945:162
> exit 1 from 'eval ${DESTDIR:+DESTDIR=${DESTDIR} }VERBOSE=1 cmake --build
> '.../tmp/work/x86_64-linux/rust-
> llvm-native/1.59.0-r0/build' "$@" -- ${EXTRA_OECMAKE_BUILD}'
> WARNING: Backtrace (BB generated script):
>         #1: cmake_runcmake_build,
> .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/temp/run.do_compile.556945,
> line 162
>         #2: cmake_do_compile,
> .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/temp/run.do_compile.556945,
> line 156
>         #3: do_compile,
> .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/temp/run.do_compile.556945,
> line 151
>         #4: main,
> .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/temp/run.do_compile.556945,
> line 175
>
>
> > With the clang toolchain this issue [1] comes right after the uninative
> with gcc-13 was released.
> > [1] https://github.com/kraj/meta-clang/pull/816
> >
> > Jose
> >
> > A. Sverdlin via lists.openembedded.org <alexander.sverdlin=
> siemens.com@lists.openembedded.org> escreveu no dia segunda, 10/07/2023
> à(s) 18:15:
> > > From: Alexander Sverdlin <alexander.sverdlin@siemens.com>
> > >
> > > * needed for rust-llvm-native on hosts with gcc-13
> > >
> > > Based on commit 3382759cb6c5 ("llvm: backport a fix for build with
> gcc-13")
> > >
> > > Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
> > > ---
> > > Changelog:
> > > v2: rebase onto 2022-04.11-kirkstone
> > >
> > >  meta/recipes-devtools/rust/rust-llvm.inc      |  4 ++-
> > >  ...-missing-cstdint-header-to-Signals.h.patch | 32 +++++++++++++++++++
> > >  2 files changed, 35 insertions(+), 1 deletion(-)
> > >  create mode 100644
> meta/recipes-devtools/rust/rust-llvm/0003-Support-Add-missing-cstdint-header-to-Signals.h.patch
> > >
> > > diff --git a/meta/recipes-devtools/rust/rust-llvm.inc
> b/meta/recipes-devtools/rust/rust-llvm.inc
> > > index 5c2ccdac9a..e645e7a7ac 100644
> > > --- a/meta/recipes-devtools/rust/rust-llvm.inc
> > > +++ b/meta/recipes-devtools/rust/rust-llvm.inc
> > > @@ -3,7 +3,9 @@ LICENSE ?= "Apache-2.0-with-LLVM-exception"
> > >  HOMEPAGE = "http://www.rust-lang.org"
> > >
> > >  SRC_URI +=
> "file://0002-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \
> > > -
> file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch;striplevel=2"
> > > +
> file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch;striplevel=2
> \
> > > +
> file://0003-Support-Add-missing-cstdint-header-to-Signals.h.patch;striplevel=2
> \
> > > +"
> > >
> > >  S = "${RUSTSRC}/src/llvm-project/llvm"
> > >
> > > diff --git
> a/meta/recipes-devtools/rust/rust-llvm/0003-Support-Add-missing-cstdint-header-to-Signals.h.patch
> b/meta/recipes-devtools/rust/rust-llvm/0003-Support-Add-missing-cstdint-header-to-
> > > Signals.h.patch
> > > new file mode 100644
> > > index 0000000000..6ed23aa9c5
> > > --- /dev/null
> > > +++
> b/meta/recipes-devtools/rust/rust-llvm/0003-Support-Add-missing-cstdint-header-to-Signals.h.patch
> > > @@ -0,0 +1,32 @@
> > > +From a94bf34221fc4519bd8ec72560c2d363ffe2de4c Mon Sep 17 00:00:00 2001
> > > +From: Sergei Trofimovich <slyich@gmail.com>
> > > +Date: Mon, 23 May 2022 08:03:23 +0100
> > > +Subject: [PATCH] [Support] Add missing <cstdint> header to Signals.h
> > > +
> > > +Without the change llvm build fails on this week's gcc-13 snapshot as:
> > > +
> > > +    [  0%] Building CXX object
> lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o
> > > +    In file included from llvm/lib/Support/Signals.cpp:14:
> > > +    llvm/include/llvm/Support/Signals.h:119:8: error: variable or
> field 'CleanupOnSignal' declared void
> > > +      119 |   void CleanupOnSignal(uintptr_t Context);
> > > +          |        ^~~~~~~~~~~~~~~
> > > +
> > > +Upstream-Status: Backport [llvmorg-15.0.0
> ff1681ddb303223973653f7f5f3f3435b48a1983]
> > > +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> > > +Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
> > > +---
> > > + llvm/include/llvm/Support/Signals.h | 1 +
> > > + 1 file changed, 1 insertion(+)
> > > +
> > > +diff --git a/llvm/include/llvm/Support/Signals.h
> b/llvm/include/llvm/Support/Signals.h
> > > +index 44f5a750ff5c..937e0572d4a7 100644
> > > +--- a/llvm/include/llvm/Support/Signals.h
> > > ++++ b/llvm/include/llvm/Support/Signals.h
> > > +@@ -14,6 +14,7 @@
> > > + #ifndef LLVM_SUPPORT_SIGNALS_H
> > > + #define LLVM_SUPPORT_SIGNALS_H
> > > +
> > > ++#include <cstdint>
> > > + #include <string>
> > > +
> > > + namespace llvm {
>
> --
> Alexander Sverdlin
> Siemens AG
> www.siemens.com
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#184117):
> https://lists.openembedded.org/g/openembedded-core/message/184117
> Mute This Topic: https://lists.openembedded.org/mt/100062248/3617156
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> Martin.Jansa@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
Jose Quaresma July 11, 2023, 8:27 a.m. UTC | #4
Martin Jansa <martin.jansa@gmail.com> escreveu no dia terça, 11/07/2023
à(s) 08:29:

> FWIW: the uninative with gcc-13 means only that it is compatible with
> gcc-13 on host, it doesn't include gcc-native (which doesn't exist).
>

Thanks for the clarification.
My question is because I started seeing this issue after uninative with
gcc-13 was released but with the clang toolchain,
this way seems to have been a coincidence.


>
> I'm using already newer rust with kirkstone, so I cannot confirm this
> issue with gcc-13 on host, but I'm not so surprised if it wasn't caught on
> AB yet.
>

In this way the host needs to have gcc-13 so which is more likely not to
have happened yet in no rolling releases.


> Regards,
>
> On Tue, Jul 11, 2023 at 9:05 AM A. Sverdlin via lists.openembedded.org
> <alexander.sverdlin=siemens.com@lists.openembedded.org> wrote:
>
>> Hello Jose,
>>
>> On Mon, 2023-07-10 at 23:58 +0100, Jose Quaresma wrote:
>> > Hi Alexander,
>> >
>> > The uninative release with the gcc 13 was released a few weeks ago,
>> > what is the reason for this issue not being found on the autobuild when
>> using the uninative?
>>
>> I'm not sure why it wasn't found by (and what actually is being meant as)
>> autobuild, but the issue is real:
>>
>
What i was trying to say was the yocto autobuilder, I know the problem is
real but my question was more to know the reason for not being detected.
But becomes clearer after the Martin explanation.

Jose


>
>> DEBUG: Executing shell function do_compile
>> NOTE: VERBOSE=1 cmake --build
>> .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/build --target all --
>> [1/2283] .../tmp/hosttools/g++ -DGTEST_HAS_RTTI=0 -D_GNU_SOURCE
>> -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
>> -I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-
>> r0/build/utils/TableGen
>> -I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/utils/TableGen
>> -I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-
>> r0/build/include
>> -I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/include
>> -isystem.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/recipe-sysroot-
>> native/usr/include -O2 -pipe -fPIC -fno-semantic-interposition
>> -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra
>> -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-
>> initializers -pedantic -Wno-long-long -Wimplicit-fallthrough
>> -Wno-maybe-uninitialized -Wno-class-memaccess -Wno-redundant-move
>> -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -
>> Wsuggest-override -Wno-comment -Wmisleading-indentation
>> -fdiagnostics-color -ffunction-sections -fdata-sections -DNDEBUG
>> -fno-exceptions -fno-rtti -std=c++14 -MD -MT utils/TableGen/CMakeFiles/llvm-
>> tblgen.dir/Attributes.cpp.o -MF
>> utils/TableGen/CMakeFiles/llvm-tblgen.dir/Attributes.cpp.o.d -o
>> utils/TableGen/CMakeFiles/llvm-tblgen.dir/Attributes.cpp.o -c
>> .../tmp/work/x86_64-linux/rust-llvm-
>>
>> native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/utils/TableGen/Attributes.cpp
>> [2/2283] .../tmp/hosttools/g++ -DGTEST_HAS_RTTI=0 -D_GNU_SOURCE
>> -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
>> -I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-
>> r0/build/lib/Support
>> -I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/lib/Support
>> -I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/build/include -
>> I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/include
>> -isystem.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/recipe-sysroot-native/usr/include
>> -O2
>> -pipe -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden
>> -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings
>> -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-
>> long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized
>> -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move
>> -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override
>> -Wno-comment -
>> Wmisleading-indentation -fdiagnostics-color -ffunction-sections
>> -fdata-sections -DNDEBUG -std=c++14  -fno-exceptions -fno-rtti -MD -MT
>> lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o -MF
>> lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o.d -o
>> lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o -c
>> .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-
>> project/llvm/lib/Support/Signals.cpp
>> FAILED: lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o
>> .../tmp/hosttools/g++ -DGTEST_HAS_RTTI=0 -D_GNU_SOURCE
>> -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
>> -I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/build/lib/Support -
>> I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/lib/Support
>> -I.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/build/include
>> -I.../tmp/work/x86_64-
>> linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/include
>> -isystem.../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/recipe-sysroot-native/usr/include
>> -O2 -pipe -fPIC -fno-
>> semantic-interposition -fvisibility-inlines-hidden -Werror=date-time
>> -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual
>> -Wno-missing-field-initializers -pedantic -Wno-long-long -
>> Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-class-memaccess
>> -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type
>> -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wmisleading-
>> indentation -fdiagnostics-color -ffunction-sections -fdata-sections
>> -DNDEBUG -std=c++14  -fno-exceptions -fno-rtti -MD -MT
>> lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o -MF
>> lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o.d -o
>> lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o -c
>> .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-
>> project/llvm/lib/Support/Signals.cpp
>> In file included from
>> .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/lib/Support/Signals.cpp:14:
>> .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/include/llvm/Support/Signals.h:119:8:
>> error: variable or field ‘CleanupOnSignal’ declared void
>>   119 |   void CleanupOnSignal(uintptr_t Context);
>>       |        ^~~~~~~~~~~~~~~
>> .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/include/llvm/Support/Signals.h:119:24:
>> error: ‘uintptr_t’ was not declared in this scope
>>   119 |   void CleanupOnSignal(uintptr_t Context);
>>       |                        ^~~~~~~~~
>> .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/include/llvm/Support/Signals.h:18:1:
>> note: ‘uintptr_t’ is defined in header ‘<cstdint>’; did you forget to
>> ‘#include <cstdint>’?
>>    17 | #include <string>
>>   +++ |+#include <cstdint>
>>    18 |
>> In file included from
>> .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/lib/Support/Signals.cpp:251:
>> .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/rustc-1.59.0-src/src/llvm-project/llvm/lib/Support/Unix/Signals.inc:348:44:
>> error: ‘void llvm::sys::CleanupOnSignal(uintptr_t)’ should have been
>> declared inside ‘llvm::sys’
>>   348 | void sys::CleanupOnSignal(uintptr_t Context) {
>>       |                                            ^
>>
>> ...
>>
>> ninja: build stopped: subcommand failed.
>> WARNING:
>> .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/temp/run.do_compile.556945:162
>> exit 1 from 'eval ${DESTDIR:+DESTDIR=${DESTDIR} }VERBOSE=1 cmake --build
>> '.../tmp/work/x86_64-linux/rust-
>> llvm-native/1.59.0-r0/build' "$@" -- ${EXTRA_OECMAKE_BUILD}'
>> WARNING: Backtrace (BB generated script):
>>         #1: cmake_runcmake_build,
>> .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/temp/run.do_compile.556945,
>> line 162
>>         #2: cmake_do_compile,
>> .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/temp/run.do_compile.556945,
>> line 156
>>         #3: do_compile,
>> .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/temp/run.do_compile.556945,
>> line 151
>>         #4: main,
>> .../tmp/work/x86_64-linux/rust-llvm-native/1.59.0-r0/temp/run.do_compile.556945,
>> line 175
>>
>>
>> > With the clang toolchain this issue [1] comes right after the uninative
>> with gcc-13 was released.
>> > [1] https://github.com/kraj/meta-clang/pull/816
>> >
>> > Jose
>> >
>> > A. Sverdlin via lists.openembedded.org <alexander.sverdlin=
>> siemens.com@lists.openembedded.org> escreveu no dia segunda, 10/07/2023
>> à(s) 18:15:
>> > > From: Alexander Sverdlin <alexander.sverdlin@siemens.com>
>> > >
>> > > * needed for rust-llvm-native on hosts with gcc-13
>> > >
>> > > Based on commit 3382759cb6c5 ("llvm: backport a fix for build with
>> gcc-13")
>> > >
>> > > Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
>> > > ---
>> > > Changelog:
>> > > v2: rebase onto 2022-04.11-kirkstone
>> > >
>> > >  meta/recipes-devtools/rust/rust-llvm.inc      |  4 ++-
>> > >  ...-missing-cstdint-header-to-Signals.h.patch | 32
>> +++++++++++++++++++
>> > >  2 files changed, 35 insertions(+), 1 deletion(-)
>> > >  create mode 100644
>> meta/recipes-devtools/rust/rust-llvm/0003-Support-Add-missing-cstdint-header-to-Signals.h.patch
>> > >
>> > > diff --git a/meta/recipes-devtools/rust/rust-llvm.inc
>> b/meta/recipes-devtools/rust/rust-llvm.inc
>> > > index 5c2ccdac9a..e645e7a7ac 100644
>> > > --- a/meta/recipes-devtools/rust/rust-llvm.inc
>> > > +++ b/meta/recipes-devtools/rust/rust-llvm.inc
>> > > @@ -3,7 +3,9 @@ LICENSE ?= "Apache-2.0-with-LLVM-exception"
>> > >  HOMEPAGE = "http://www.rust-lang.org"
>> > >
>> > >  SRC_URI +=
>> "file://0002-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \
>> > > -
>> file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch;striplevel=2"
>> > > +
>> file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch;striplevel=2
>> \
>> > > +
>> file://0003-Support-Add-missing-cstdint-header-to-Signals.h.patch;striplevel=2
>> \
>> > > +"
>> > >
>> > >  S = "${RUSTSRC}/src/llvm-project/llvm"
>> > >
>> > > diff --git
>> a/meta/recipes-devtools/rust/rust-llvm/0003-Support-Add-missing-cstdint-header-to-Signals.h.patch
>> b/meta/recipes-devtools/rust/rust-llvm/0003-Support-Add-missing-cstdint-header-to-
>> > > Signals.h.patch
>> > > new file mode 100644
>> > > index 0000000000..6ed23aa9c5
>> > > --- /dev/null
>> > > +++
>> b/meta/recipes-devtools/rust/rust-llvm/0003-Support-Add-missing-cstdint-header-to-Signals.h.patch
>> > > @@ -0,0 +1,32 @@
>> > > +From a94bf34221fc4519bd8ec72560c2d363ffe2de4c Mon Sep 17 00:00:00
>> 2001
>> > > +From: Sergei Trofimovich <slyich@gmail.com>
>> > > +Date: Mon, 23 May 2022 08:03:23 +0100
>> > > +Subject: [PATCH] [Support] Add missing <cstdint> header to Signals.h
>> > > +
>> > > +Without the change llvm build fails on this week's gcc-13 snapshot
>> as:
>> > > +
>> > > +    [  0%] Building CXX object
>> lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o
>> > > +    In file included from llvm/lib/Support/Signals.cpp:14:
>> > > +    llvm/include/llvm/Support/Signals.h:119:8: error: variable or
>> field 'CleanupOnSignal' declared void
>> > > +      119 |   void CleanupOnSignal(uintptr_t Context);
>> > > +          |        ^~~~~~~~~~~~~~~
>> > > +
>> > > +Upstream-Status: Backport [llvmorg-15.0.0
>> ff1681ddb303223973653f7f5f3f3435b48a1983]
>> > > +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
>> > > +Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
>> > > +---
>> > > + llvm/include/llvm/Support/Signals.h | 1 +
>> > > + 1 file changed, 1 insertion(+)
>> > > +
>> > > +diff --git a/llvm/include/llvm/Support/Signals.h
>> b/llvm/include/llvm/Support/Signals.h
>> > > +index 44f5a750ff5c..937e0572d4a7 100644
>> > > +--- a/llvm/include/llvm/Support/Signals.h
>> > > ++++ b/llvm/include/llvm/Support/Signals.h
>> > > +@@ -14,6 +14,7 @@
>> > > + #ifndef LLVM_SUPPORT_SIGNALS_H
>> > > + #define LLVM_SUPPORT_SIGNALS_H
>> > > +
>> > > ++#include <cstdint>
>> > > + #include <string>
>> > > +
>> > > + namespace llvm {
>>
>> --
>> Alexander Sverdlin
>> Siemens AG
>> www.siemens.com
>>
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Links: You receive all messages sent to this group.
>> View/Reply Online (#184117):
>> https://lists.openembedded.org/g/openembedded-core/message/184117
>> Mute This Topic: https://lists.openembedded.org/mt/100062248/3617156
>> Group Owner: openembedded-core+owner@lists.openembedded.org
>> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
>> Martin.Jansa@gmail.com]
>> -=-=-=-=-=-=-=-=-=-=-=-
>>
>>
diff mbox series

Patch

diff --git a/meta/recipes-devtools/rust/rust-llvm.inc b/meta/recipes-devtools/rust/rust-llvm.inc
index 5c2ccdac9a..e645e7a7ac 100644
--- a/meta/recipes-devtools/rust/rust-llvm.inc
+++ b/meta/recipes-devtools/rust/rust-llvm.inc
@@ -3,7 +3,9 @@  LICENSE ?= "Apache-2.0-with-LLVM-exception"
 HOMEPAGE = "http://www.rust-lang.org"
 
 SRC_URI += "file://0002-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \
-            file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch;striplevel=2"
+            file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch;striplevel=2 \
+            file://0003-Support-Add-missing-cstdint-header-to-Signals.h.patch;striplevel=2 \
+"
 
 S = "${RUSTSRC}/src/llvm-project/llvm"
 
diff --git a/meta/recipes-devtools/rust/rust-llvm/0003-Support-Add-missing-cstdint-header-to-Signals.h.patch b/meta/recipes-devtools/rust/rust-llvm/0003-Support-Add-missing-cstdint-header-to-Signals.h.patch
new file mode 100644
index 0000000000..6ed23aa9c5
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-llvm/0003-Support-Add-missing-cstdint-header-to-Signals.h.patch
@@ -0,0 +1,32 @@ 
+From a94bf34221fc4519bd8ec72560c2d363ffe2de4c Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich@gmail.com>
+Date: Mon, 23 May 2022 08:03:23 +0100
+Subject: [PATCH] [Support] Add missing <cstdint> header to Signals.h
+
+Without the change llvm build fails on this week's gcc-13 snapshot as:
+
+    [  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o
+    In file included from llvm/lib/Support/Signals.cpp:14:
+    llvm/include/llvm/Support/Signals.h:119:8: error: variable or field 'CleanupOnSignal' declared void
+      119 |   void CleanupOnSignal(uintptr_t Context);
+          |        ^~~~~~~~~~~~~~~
+
+Upstream-Status: Backport [llvmorg-15.0.0 ff1681ddb303223973653f7f5f3f3435b48a1983]
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
+---
+ llvm/include/llvm/Support/Signals.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/llvm/include/llvm/Support/Signals.h b/llvm/include/llvm/Support/Signals.h
+index 44f5a750ff5c..937e0572d4a7 100644
+--- a/llvm/include/llvm/Support/Signals.h
++++ b/llvm/include/llvm/Support/Signals.h
+@@ -14,6 +14,7 @@
+ #ifndef LLVM_SUPPORT_SIGNALS_H
+ #define LLVM_SUPPORT_SIGNALS_H
+ 
++#include <cstdint>
+ #include <string>
+ 
+ namespace llvm {