diff mbox series

[meta-oe,v2] protobuf: 4.25.5 -> 4.30.0

Message ID 20250311084128.2366058-1-hongxu.jia@windriver.com
State Under Review
Headers show
Series [meta-oe,v2] protobuf: 4.25.5 -> 4.30.0 | expand

Commit Message

Hongxu Jia March 11, 2025, 8:41 a.m. UTC
Refresh local patches
- 0001-Fix-build-on-mips-clang.patch
- 0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch

Drop the fix for gold linker build

Changelog:
https://github.com/protocolbuffers/protobuf/releases/tag/v30.0

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
 .../0001-Fix-build-on-mips-clang.patch        | 26 ++++++++-----
 ...e-respect-CXX-LDFLAGS-variables-fix-.patch | 37 ++++++-------------
 ...{protobuf_4.25.5.bb => protobuf_4.30.0.bb} |  4 +-
 3 files changed, 31 insertions(+), 36 deletions(-)
 rename meta-oe/recipes-devtools/protobuf/{protobuf_4.25.5.bb => protobuf_4.30.0.bb} (98%)

Comments

Khem Raj March 11, 2025, 11:31 p.m. UTC | #1
This causes protobuf-c to not build see

https://autobuilder.yoctoproject.org/valkyrie/#/builders/81/builds/446/steps/14/logs/stdio

On Tue, Mar 11, 2025 at 1:41 AM hongxu via lists.openembedded.org
<hongxu.jia=eng.windriver.com@lists.openembedded.org> wrote:
>
> Refresh local patches
> - 0001-Fix-build-on-mips-clang.patch
> - 0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch
>
> Drop the fix for gold linker build
>
> Changelog:
> https://github.com/protocolbuffers/protobuf/releases/tag/v30.0
>
> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
> ---
>  .../0001-Fix-build-on-mips-clang.patch        | 26 ++++++++-----
>  ...e-respect-CXX-LDFLAGS-variables-fix-.patch | 37 ++++++-------------
>  ...{protobuf_4.25.5.bb => protobuf_4.30.0.bb} |  4 +-
>  3 files changed, 31 insertions(+), 36 deletions(-)
>  rename meta-oe/recipes-devtools/protobuf/{protobuf_4.25.5.bb => protobuf_4.30.0.bb} (98%)
>
> diff --git a/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-build-on-mips-clang.patch b/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-build-on-mips-clang.patch
> index 9f6116c4c4..6db22c26d3 100644
> --- a/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-build-on-mips-clang.patch
> +++ b/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-build-on-mips-clang.patch
> @@ -1,6 +1,6 @@
> -From 08e46feb6553af670754e65d94c3bb6fcd4e0cf9 Mon Sep 17 00:00:00 2001
> +From fd5a966a6385165506a1b84298465cbb9f44222d Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
> -Date: Sun, 31 Oct 2021 23:39:44 -0700
> +Date: Mon, 10 Mar 2025 19:59:19 -0700
>  Subject: [PATCH] Fix build on mips/clang
>
>  clang13 crashes on mips, until its fixed upstream disable tailcall on
> @@ -10,17 +10,25 @@ https://bugs.llvm.org/show_bug.cgi?id=52367
>
>  Upstream-Status: Inappropriate [Clang workaround]
>  Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +
> +Rebase to v4.30.0
> +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
>  ---
> - src/google/protobuf/port_def.inc | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> + src/google/protobuf/port_def.inc | 1 +
> + 1 file changed, 1 insertion(+)
>
> +diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc
> +index 35f49afb4..e9597af0d 100644
>  --- a/src/google/protobuf/port_def.inc
>  +++ b/src/google/protobuf/port_def.inc
> -@@ -255,6 +255,7 @@
> +@@ -222,6 +222,7 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 3),
>   #error PROTOBUF_TAILCALL was previously defined
>   #endif
> - #if __has_cpp_attribute(clang::musttail) && !defined(__arm__) && \
> + #if ABSL_HAVE_CPP_ATTRIBUTE(clang::musttail) && !defined(__arm__) &&  \
>  +    !defined(__mips__) && \
> -     !defined(_ARCH_PPC) && !defined(__wasm__) &&                 \
> -     !(defined(_MSC_VER) && defined(_M_IX86)) &&                  \
> -     !(defined(__NDK_MAJOR__) && __NDK_MAJOR <= 24)
> +     !defined(_ARCH_PPC) && !defined(__wasm__) &&                      \
> +     !(defined(_MSC_VER) && defined(_M_IX86)) && !defined(__i386__)
> + // Compilation fails on ARM32: b/195943306
> +--
> +2.25.1
> +
> diff --git a/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch b/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch
> index 7c4bf260eb..5457d0d6bc 100644
> --- a/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch
> +++ b/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch
> @@ -1,36 +1,23 @@
> -From e3fa241637ab5a7fa78c0d474802134cff75f91e Mon Sep 17 00:00:00 2001
> +From 88d4e5afb2c3b56933c529216cd8b733e10a5b7b Mon Sep 17 00:00:00 2001
>  From: Martin Jansa <Martin.Jansa@gmail.com>
> -Date: Fri, 28 Jun 2019 13:50:52 +0000
> -Subject: [PATCH] examples/Makefile: respect CXX,LDFLAGS variables, fix build
> - with gold
> +Date: Tue, 11 Mar 2025 16:35:39 +0800
> +Subject: [PATCH] examples/Makefile: respect CXX,LDFLAGS variables
>
>  * move pkg-config call to separate variable, so that the final version
>    of the whole command so it's shown in log.do_compile_ptest_base
> -* add ../src/google/protobuf/.libs/timestamp.pb.o when linking
> -  add_person_cpp otherwise it fails to link with gold:
> -  i686-oe-linux-g++  -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=core2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed add_person.cc addressbook.pb.cc -o add_person_cpp `pkg-config --cflags --libs protobuf`
> -  /tmp/cccjSJQs.o:addressbook.pb.cc:scc_info_Person_addressbook_2eproto: error: undefined reference to 'scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto'
> -  /tmp/cccjSJQs.o:addressbook.pb.cc:descriptor_table_addressbook_2eproto_deps: error: undefined reference to 'descriptor_table_google_2fprotobuf_2ftimestamp_2eproto'
> -  collect2: error: ld returned 1 exit status
> -  Makefile:43: recipe for target 'add_person_cpp' failed
> -
> -* and the same with list_people_cpp this time with pkg-config already through the variable:
> -  i686-oe-linux-g++  -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=core2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -pthread -Icore2-32-oe-linux/protobuf/3.8.0-r0/git/src -Lcore2-32-oe-linux/protobuf/3.8.0-r0/git/src/.libs -Lcore2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot/usr/lib -lprotobuf list_people.cc addressbook.pb.cc -o list_people_cpp
> -  /tmp/ccpaI5Su.o:addressbook.pb.cc:scc_info_Person_addressbook_2eproto: error: undefined reference to 'scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto'
> -  /tmp/ccpaI5Su.o:addressbook.pb.cc:descriptor_table_addressbook_2eproto_deps: error: undefined reference to 'descriptor_table_google_2fprotobuf_2ftimestamp_2eproto'
> -  collect2: error: ld returned 1 exit status
> -  Makefile:49: recipe for target 'list_people_cpp' failed
>
>  Upstream-Status: Pending
>  Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
>  Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
>
> +Rebase to v4.30.0
> +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
>  ---
>   examples/Makefile | 6 ++++--
>   1 file changed, 4 insertions(+), 2 deletions(-)
>
>  diff --git a/examples/Makefile b/examples/Makefile
> -index ef7a4ef58..7206e14e1 100644
> +index 5290fdb03f..b695b03707 100644
>  --- a/examples/Makefile
>  +++ b/examples/Makefile
>  @@ -2,6 +2,8 @@
> @@ -42,20 +29,20 @@ index ef7a4ef58..7206e14e1 100644
>   all: cpp java python
>
>   cpp:    add_person_cpp    list_people_cpp
> -@@ -41,11 +43,11 @@ protoc_middleman_dart: addressbook.proto
> +@@ -46,11 +48,11 @@ protoc_middleman_ruby: addressbook.proto
>
>   add_person_cpp: add_person.cc protoc_middleman
>         pkg-config --cflags protobuf  # fails if protobuf is not installed
> --      c++ -std=c++14 add_person.cc addressbook.pb.cc -o add_person_cpp `pkg-config --cflags --libs protobuf`
> -+      $(CXX) $(CXXFLAGS) $(LDFLAGS) ../src/google/protobuf/.libs/timestamp.pb.o $(PROTOBUF) add_person.cc addressbook.pb.cc -o add_person_cpp #$(CXX) -std=c++17 $(PROTOBUF) add_person.cc addressbook.pb.cc -o add_person_cpp
> +-      c++ add_person.cc addressbook.pb.cc -o add_person_cpp `pkg-config --cflags --libs protobuf`
> ++      $(CXX) $(CXXFLAGS) $(LDFLAGS) $(PROTOBUF) add_person.cc addressbook.pb.cc -o add_person_cpp
>
>   list_people_cpp: list_people.cc protoc_middleman
>         pkg-config --cflags protobuf  # fails if protobuf is not installed
> --      c++ -std=c++14 list_people.cc addressbook.pb.cc -o list_people_cpp `pkg-config --cflags --libs protobuf`
> -+      $(CXX) $(CXXFLAGS) $(LDFLAGS) ../src/google/protobuf/.libs/timestamp.pb.o $(PROTOBUF) list_people.cc addressbook.pb.cc -o list_people_cpp #$(CXX) -std=c++17 $(PROTOBUF) list_people.cc addressbook.pb.cc -o list_people_cpp
> +-      c++ list_people.cc addressbook.pb.cc -o list_people_cpp `pkg-config --cflags --libs protobuf`
> ++      $(CXX) $(CXXFLAGS) $(LDFLAGS) $(PROTOBUF) list_people.cc addressbook.pb.cc -o list_people_cpp
>
>   add_person_dart: add_person.dart protoc_middleman_dart
>
> ---
> +--
>  2.34.1
>
> diff --git a/meta-oe/recipes-devtools/protobuf/protobuf_4.25.5.bb b/meta-oe/recipes-devtools/protobuf/protobuf_4.30.0.bb
> similarity index 98%
> rename from meta-oe/recipes-devtools/protobuf/protobuf_4.25.5.bb
> rename to meta-oe/recipes-devtools/protobuf/protobuf_4.30.0.bb
> index a470a7c643..f899a1dc07 100644
> --- a/meta-oe/recipes-devtools/protobuf/protobuf_4.25.5.bb
> +++ b/meta-oe/recipes-devtools/protobuf/protobuf_4.30.0.bb
> @@ -14,9 +14,9 @@ LIC_FILES_CHKSUM = " \
>  DEPENDS = "zlib abseil-cpp jsoncpp"
>  DEPENDS:append:class-target = " protobuf-native"
>
> -SRCREV = "9d0ec0f92b5b5fdeeda11f9dcecc1872ff378014"
> +SRCREV = "d295af5c3002c08e1bfd9d7f9e175d0a4d015f1e"
>
> -SRC_URI = "git://github.com/protocolbuffers/protobuf.git;branch=25.x;protocol=https \
> +SRC_URI = "git://github.com/protocolbuffers/protobuf.git;branch=30.x;protocol=https \
>             file://run-ptest \
>             file://0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch \
>             "
> --
> 2.34.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#115849): https://lists.openembedded.org/g/openembedded-devel/message/115849
> Mute This Topic: https://lists.openembedded.org/mt/111636359/1997914
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Khem Raj March 12, 2025, 5:14 p.m. UTC | #2
ptest build fails see -
https://autobuilder.yoctoproject.org/valkyrie/#/builders/81/builds/448/steps/14/logs/stdio

On Tue, Mar 11, 2025 at 4:31 PM Khem Raj <raj.khem@gmail.com> wrote:
>
> This causes protobuf-c to not build see
>
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/81/builds/446/steps/14/logs/stdio
>
> On Tue, Mar 11, 2025 at 1:41 AM hongxu via lists.openembedded.org
> <hongxu.jia=eng.windriver.com@lists.openembedded.org> wrote:
> >
> > Refresh local patches
> > - 0001-Fix-build-on-mips-clang.patch
> > - 0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch
> >
> > Drop the fix for gold linker build
> >
> > Changelog:
> > https://github.com/protocolbuffers/protobuf/releases/tag/v30.0
> >
> > Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
> > ---
> >  .../0001-Fix-build-on-mips-clang.patch        | 26 ++++++++-----
> >  ...e-respect-CXX-LDFLAGS-variables-fix-.patch | 37 ++++++-------------
> >  ...{protobuf_4.25.5.bb => protobuf_4.30.0.bb} |  4 +-
> >  3 files changed, 31 insertions(+), 36 deletions(-)
> >  rename meta-oe/recipes-devtools/protobuf/{protobuf_4.25.5.bb => protobuf_4.30.0.bb} (98%)
> >
> > diff --git a/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-build-on-mips-clang.patch b/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-build-on-mips-clang.patch
> > index 9f6116c4c4..6db22c26d3 100644
> > --- a/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-build-on-mips-clang.patch
> > +++ b/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-build-on-mips-clang.patch
> > @@ -1,6 +1,6 @@
> > -From 08e46feb6553af670754e65d94c3bb6fcd4e0cf9 Mon Sep 17 00:00:00 2001
> > +From fd5a966a6385165506a1b84298465cbb9f44222d Mon Sep 17 00:00:00 2001
> >  From: Khem Raj <raj.khem@gmail.com>
> > -Date: Sun, 31 Oct 2021 23:39:44 -0700
> > +Date: Mon, 10 Mar 2025 19:59:19 -0700
> >  Subject: [PATCH] Fix build on mips/clang
> >
> >  clang13 crashes on mips, until its fixed upstream disable tailcall on
> > @@ -10,17 +10,25 @@ https://bugs.llvm.org/show_bug.cgi?id=52367
> >
> >  Upstream-Status: Inappropriate [Clang workaround]
> >  Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > +
> > +Rebase to v4.30.0
> > +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
> >  ---
> > - src/google/protobuf/port_def.inc | 2 +-
> > - 1 file changed, 1 insertion(+), 1 deletion(-)
> > + src/google/protobuf/port_def.inc | 1 +
> > + 1 file changed, 1 insertion(+)
> >
> > +diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc
> > +index 35f49afb4..e9597af0d 100644
> >  --- a/src/google/protobuf/port_def.inc
> >  +++ b/src/google/protobuf/port_def.inc
> > -@@ -255,6 +255,7 @@
> > +@@ -222,6 +222,7 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 3),
> >   #error PROTOBUF_TAILCALL was previously defined
> >   #endif
> > - #if __has_cpp_attribute(clang::musttail) && !defined(__arm__) && \
> > + #if ABSL_HAVE_CPP_ATTRIBUTE(clang::musttail) && !defined(__arm__) &&  \
> >  +    !defined(__mips__) && \
> > -     !defined(_ARCH_PPC) && !defined(__wasm__) &&                 \
> > -     !(defined(_MSC_VER) && defined(_M_IX86)) &&                  \
> > -     !(defined(__NDK_MAJOR__) && __NDK_MAJOR <= 24)
> > +     !defined(_ARCH_PPC) && !defined(__wasm__) &&                      \
> > +     !(defined(_MSC_VER) && defined(_M_IX86)) && !defined(__i386__)
> > + // Compilation fails on ARM32: b/195943306
> > +--
> > +2.25.1
> > +
> > diff --git a/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch b/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch
> > index 7c4bf260eb..5457d0d6bc 100644
> > --- a/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch
> > +++ b/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch
> > @@ -1,36 +1,23 @@
> > -From e3fa241637ab5a7fa78c0d474802134cff75f91e Mon Sep 17 00:00:00 2001
> > +From 88d4e5afb2c3b56933c529216cd8b733e10a5b7b Mon Sep 17 00:00:00 2001
> >  From: Martin Jansa <Martin.Jansa@gmail.com>
> > -Date: Fri, 28 Jun 2019 13:50:52 +0000
> > -Subject: [PATCH] examples/Makefile: respect CXX,LDFLAGS variables, fix build
> > - with gold
> > +Date: Tue, 11 Mar 2025 16:35:39 +0800
> > +Subject: [PATCH] examples/Makefile: respect CXX,LDFLAGS variables
> >
> >  * move pkg-config call to separate variable, so that the final version
> >    of the whole command so it's shown in log.do_compile_ptest_base
> > -* add ../src/google/protobuf/.libs/timestamp.pb.o when linking
> > -  add_person_cpp otherwise it fails to link with gold:
> > -  i686-oe-linux-g++  -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=core2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed add_person.cc addressbook.pb.cc -o add_person_cpp `pkg-config --cflags --libs protobuf`
> > -  /tmp/cccjSJQs.o:addressbook.pb.cc:scc_info_Person_addressbook_2eproto: error: undefined reference to 'scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto'
> > -  /tmp/cccjSJQs.o:addressbook.pb.cc:descriptor_table_addressbook_2eproto_deps: error: undefined reference to 'descriptor_table_google_2fprotobuf_2ftimestamp_2eproto'
> > -  collect2: error: ld returned 1 exit status
> > -  Makefile:43: recipe for target 'add_person_cpp' failed
> > -
> > -* and the same with list_people_cpp this time with pkg-config already through the variable:
> > -  i686-oe-linux-g++  -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=core2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -pthread -Icore2-32-oe-linux/protobuf/3.8.0-r0/git/src -Lcore2-32-oe-linux/protobuf/3.8.0-r0/git/src/.libs -Lcore2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot/usr/lib -lprotobuf list_people.cc addressbook.pb.cc -o list_people_cpp
> > -  /tmp/ccpaI5Su.o:addressbook.pb.cc:scc_info_Person_addressbook_2eproto: error: undefined reference to 'scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto'
> > -  /tmp/ccpaI5Su.o:addressbook.pb.cc:descriptor_table_addressbook_2eproto_deps: error: undefined reference to 'descriptor_table_google_2fprotobuf_2ftimestamp_2eproto'
> > -  collect2: error: ld returned 1 exit status
> > -  Makefile:49: recipe for target 'list_people_cpp' failed
> >
> >  Upstream-Status: Pending
> >  Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> >  Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
> >
> > +Rebase to v4.30.0
> > +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
> >  ---
> >   examples/Makefile | 6 ++++--
> >   1 file changed, 4 insertions(+), 2 deletions(-)
> >
> >  diff --git a/examples/Makefile b/examples/Makefile
> > -index ef7a4ef58..7206e14e1 100644
> > +index 5290fdb03f..b695b03707 100644
> >  --- a/examples/Makefile
> >  +++ b/examples/Makefile
> >  @@ -2,6 +2,8 @@
> > @@ -42,20 +29,20 @@ index ef7a4ef58..7206e14e1 100644
> >   all: cpp java python
> >
> >   cpp:    add_person_cpp    list_people_cpp
> > -@@ -41,11 +43,11 @@ protoc_middleman_dart: addressbook.proto
> > +@@ -46,11 +48,11 @@ protoc_middleman_ruby: addressbook.proto
> >
> >   add_person_cpp: add_person.cc protoc_middleman
> >         pkg-config --cflags protobuf  # fails if protobuf is not installed
> > --      c++ -std=c++14 add_person.cc addressbook.pb.cc -o add_person_cpp `pkg-config --cflags --libs protobuf`
> > -+      $(CXX) $(CXXFLAGS) $(LDFLAGS) ../src/google/protobuf/.libs/timestamp.pb.o $(PROTOBUF) add_person.cc addressbook.pb.cc -o add_person_cpp #$(CXX) -std=c++17 $(PROTOBUF) add_person.cc addressbook.pb.cc -o add_person_cpp
> > +-      c++ add_person.cc addressbook.pb.cc -o add_person_cpp `pkg-config --cflags --libs protobuf`
> > ++      $(CXX) $(CXXFLAGS) $(LDFLAGS) $(PROTOBUF) add_person.cc addressbook.pb.cc -o add_person_cpp
> >
> >   list_people_cpp: list_people.cc protoc_middleman
> >         pkg-config --cflags protobuf  # fails if protobuf is not installed
> > --      c++ -std=c++14 list_people.cc addressbook.pb.cc -o list_people_cpp `pkg-config --cflags --libs protobuf`
> > -+      $(CXX) $(CXXFLAGS) $(LDFLAGS) ../src/google/protobuf/.libs/timestamp.pb.o $(PROTOBUF) list_people.cc addressbook.pb.cc -o list_people_cpp #$(CXX) -std=c++17 $(PROTOBUF) list_people.cc addressbook.pb.cc -o list_people_cpp
> > +-      c++ list_people.cc addressbook.pb.cc -o list_people_cpp `pkg-config --cflags --libs protobuf`
> > ++      $(CXX) $(CXXFLAGS) $(LDFLAGS) $(PROTOBUF) list_people.cc addressbook.pb.cc -o list_people_cpp
> >
> >   add_person_dart: add_person.dart protoc_middleman_dart
> >
> > ---
> > +--
> >  2.34.1
> >
> > diff --git a/meta-oe/recipes-devtools/protobuf/protobuf_4.25.5.bb b/meta-oe/recipes-devtools/protobuf/protobuf_4.30.0.bb
> > similarity index 98%
> > rename from meta-oe/recipes-devtools/protobuf/protobuf_4.25.5.bb
> > rename to meta-oe/recipes-devtools/protobuf/protobuf_4.30.0.bb
> > index a470a7c643..f899a1dc07 100644
> > --- a/meta-oe/recipes-devtools/protobuf/protobuf_4.25.5.bb
> > +++ b/meta-oe/recipes-devtools/protobuf/protobuf_4.30.0.bb
> > @@ -14,9 +14,9 @@ LIC_FILES_CHKSUM = " \
> >  DEPENDS = "zlib abseil-cpp jsoncpp"
> >  DEPENDS:append:class-target = " protobuf-native"
> >
> > -SRCREV = "9d0ec0f92b5b5fdeeda11f9dcecc1872ff378014"
> > +SRCREV = "d295af5c3002c08e1bfd9d7f9e175d0a4d015f1e"
> >
> > -SRC_URI = "git://github.com/protocolbuffers/protobuf.git;branch=25.x;protocol=https \
> > +SRC_URI = "git://github.com/protocolbuffers/protobuf.git;branch=30.x;protocol=https \
> >             file://run-ptest \
> >             file://0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch \
> >             "
> > --
> > 2.34.1
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#115849): https://lists.openembedded.org/g/openembedded-devel/message/115849
> > Mute This Topic: https://lists.openembedded.org/mt/111636359/1997914
> > Group Owner: openembedded-devel+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
diff mbox series

Patch

diff --git a/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-build-on-mips-clang.patch b/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-build-on-mips-clang.patch
index 9f6116c4c4..6db22c26d3 100644
--- a/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-build-on-mips-clang.patch
+++ b/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-build-on-mips-clang.patch
@@ -1,6 +1,6 @@ 
-From 08e46feb6553af670754e65d94c3bb6fcd4e0cf9 Mon Sep 17 00:00:00 2001
+From fd5a966a6385165506a1b84298465cbb9f44222d Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 31 Oct 2021 23:39:44 -0700
+Date: Mon, 10 Mar 2025 19:59:19 -0700
 Subject: [PATCH] Fix build on mips/clang
 
 clang13 crashes on mips, until its fixed upstream disable tailcall on
@@ -10,17 +10,25 @@  https://bugs.llvm.org/show_bug.cgi?id=52367
 
 Upstream-Status: Inappropriate [Clang workaround]
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Rebase to v4.30.0
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
 ---
- src/google/protobuf/port_def.inc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ src/google/protobuf/port_def.inc | 1 +
+ 1 file changed, 1 insertion(+)
 
+diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc
+index 35f49afb4..e9597af0d 100644
 --- a/src/google/protobuf/port_def.inc
 +++ b/src/google/protobuf/port_def.inc
-@@ -255,6 +255,7 @@
+@@ -222,6 +222,7 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 3),
  #error PROTOBUF_TAILCALL was previously defined
  #endif
- #if __has_cpp_attribute(clang::musttail) && !defined(__arm__) && \
+ #if ABSL_HAVE_CPP_ATTRIBUTE(clang::musttail) && !defined(__arm__) &&  \
 +    !defined(__mips__) && \
-     !defined(_ARCH_PPC) && !defined(__wasm__) &&                 \
-     !(defined(_MSC_VER) && defined(_M_IX86)) &&                  \
-     !(defined(__NDK_MAJOR__) && __NDK_MAJOR <= 24)
+     !defined(_ARCH_PPC) && !defined(__wasm__) &&                      \
+     !(defined(_MSC_VER) && defined(_M_IX86)) && !defined(__i386__)
+ // Compilation fails on ARM32: b/195943306
+-- 
+2.25.1
+
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch b/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch
index 7c4bf260eb..5457d0d6bc 100644
--- a/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch
+++ b/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch
@@ -1,36 +1,23 @@ 
-From e3fa241637ab5a7fa78c0d474802134cff75f91e Mon Sep 17 00:00:00 2001
+From 88d4e5afb2c3b56933c529216cd8b733e10a5b7b Mon Sep 17 00:00:00 2001
 From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Fri, 28 Jun 2019 13:50:52 +0000
-Subject: [PATCH] examples/Makefile: respect CXX,LDFLAGS variables, fix build
- with gold
+Date: Tue, 11 Mar 2025 16:35:39 +0800
+Subject: [PATCH] examples/Makefile: respect CXX,LDFLAGS variables
 
 * move pkg-config call to separate variable, so that the final version
   of the whole command so it's shown in log.do_compile_ptest_base
-* add ../src/google/protobuf/.libs/timestamp.pb.o when linking
-  add_person_cpp otherwise it fails to link with gold:
-  i686-oe-linux-g++  -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=core2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed add_person.cc addressbook.pb.cc -o add_person_cpp `pkg-config --cflags --libs protobuf`
-  /tmp/cccjSJQs.o:addressbook.pb.cc:scc_info_Person_addressbook_2eproto: error: undefined reference to 'scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto'
-  /tmp/cccjSJQs.o:addressbook.pb.cc:descriptor_table_addressbook_2eproto_deps: error: undefined reference to 'descriptor_table_google_2fprotobuf_2ftimestamp_2eproto'
-  collect2: error: ld returned 1 exit status
-  Makefile:43: recipe for target 'add_person_cpp' failed
-
-* and the same with list_people_cpp this time with pkg-config already through the variable:
-  i686-oe-linux-g++  -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=core2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -pthread -Icore2-32-oe-linux/protobuf/3.8.0-r0/git/src -Lcore2-32-oe-linux/protobuf/3.8.0-r0/git/src/.libs -Lcore2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot/usr/lib -lprotobuf list_people.cc addressbook.pb.cc -o list_people_cpp
-  /tmp/ccpaI5Su.o:addressbook.pb.cc:scc_info_Person_addressbook_2eproto: error: undefined reference to 'scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto'
-  /tmp/ccpaI5Su.o:addressbook.pb.cc:descriptor_table_addressbook_2eproto_deps: error: undefined reference to 'descriptor_table_google_2fprotobuf_2ftimestamp_2eproto'
-  collect2: error: ld returned 1 exit status
-  Makefile:49: recipe for target 'list_people_cpp' failed
 
 Upstream-Status: Pending
 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
 Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
 
+Rebase to v4.30.0
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
 ---
  examples/Makefile | 6 ++++--
  1 file changed, 4 insertions(+), 2 deletions(-)
 
 diff --git a/examples/Makefile b/examples/Makefile
-index ef7a4ef58..7206e14e1 100644
+index 5290fdb03f..b695b03707 100644
 --- a/examples/Makefile
 +++ b/examples/Makefile
 @@ -2,6 +2,8 @@
@@ -42,20 +29,20 @@  index ef7a4ef58..7206e14e1 100644
  all: cpp java python
  
  cpp:    add_person_cpp    list_people_cpp
-@@ -41,11 +43,11 @@ protoc_middleman_dart: addressbook.proto
+@@ -46,11 +48,11 @@ protoc_middleman_ruby: addressbook.proto
  
  add_person_cpp: add_person.cc protoc_middleman
  	pkg-config --cflags protobuf  # fails if protobuf is not installed
--	c++ -std=c++14 add_person.cc addressbook.pb.cc -o add_person_cpp `pkg-config --cflags --libs protobuf`
-+	$(CXX) $(CXXFLAGS) $(LDFLAGS) ../src/google/protobuf/.libs/timestamp.pb.o $(PROTOBUF) add_person.cc addressbook.pb.cc -o add_person_cpp #$(CXX) -std=c++17 $(PROTOBUF) add_person.cc addressbook.pb.cc -o add_person_cpp
+-	c++ add_person.cc addressbook.pb.cc -o add_person_cpp `pkg-config --cflags --libs protobuf`
++	$(CXX) $(CXXFLAGS) $(LDFLAGS) $(PROTOBUF) add_person.cc addressbook.pb.cc -o add_person_cpp
  
  list_people_cpp: list_people.cc protoc_middleman
  	pkg-config --cflags protobuf  # fails if protobuf is not installed
--	c++ -std=c++14 list_people.cc addressbook.pb.cc -o list_people_cpp `pkg-config --cflags --libs protobuf`
-+	$(CXX) $(CXXFLAGS) $(LDFLAGS) ../src/google/protobuf/.libs/timestamp.pb.o $(PROTOBUF) list_people.cc addressbook.pb.cc -o list_people_cpp #$(CXX) -std=c++17 $(PROTOBUF) list_people.cc addressbook.pb.cc -o list_people_cpp
+-	c++ list_people.cc addressbook.pb.cc -o list_people_cpp `pkg-config --cflags --libs protobuf`
++	$(CXX) $(CXXFLAGS) $(LDFLAGS) $(PROTOBUF) list_people.cc addressbook.pb.cc -o list_people_cpp
  
  add_person_dart: add_person.dart protoc_middleman_dart
  
---
+-- 
 2.34.1
 
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf_4.25.5.bb b/meta-oe/recipes-devtools/protobuf/protobuf_4.30.0.bb
similarity index 98%
rename from meta-oe/recipes-devtools/protobuf/protobuf_4.25.5.bb
rename to meta-oe/recipes-devtools/protobuf/protobuf_4.30.0.bb
index a470a7c643..f899a1dc07 100644
--- a/meta-oe/recipes-devtools/protobuf/protobuf_4.25.5.bb
+++ b/meta-oe/recipes-devtools/protobuf/protobuf_4.30.0.bb
@@ -14,9 +14,9 @@  LIC_FILES_CHKSUM = " \
 DEPENDS = "zlib abseil-cpp jsoncpp"
 DEPENDS:append:class-target = " protobuf-native"
 
-SRCREV = "9d0ec0f92b5b5fdeeda11f9dcecc1872ff378014"
+SRCREV = "d295af5c3002c08e1bfd9d7f9e175d0a4d015f1e"
 
-SRC_URI = "git://github.com/protocolbuffers/protobuf.git;branch=25.x;protocol=https \
+SRC_URI = "git://github.com/protocolbuffers/protobuf.git;branch=30.x;protocol=https \
            file://run-ptest \
            file://0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch \
            "