Adding to LDFLAGS works with LLD linker but not with BFD ld since it
gets added before the abseil-cpp libraries on linker cmdline which does
not link it and still finds the atomic function like `__atomic_store_8'
as missing
Use mipsarcho32 for override which covers both mips and mipsel
Thanks for suggestions - RAED [1]
[1] https://github.com/openembedded/meta-openembedded/pull/952
Signed-off-by: Khem Raj <raj.khem@gmail.com>
rv32 does not have compiler builtins for 64bit atomics
Fixes
| riscv32-yoe-linux-ld.lld: error: undefined reference: __atomic_load_8
| >>> referenced by /mnt/b/yoe/master/build/tmp/work/riscv32-yoe-linux/protobuf/5.29.4/recipe-sysroot/usr/lib/libabsl_cordz_info.so.2501.0.0 (disallowed by --no-allow-shlib-undefined)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Add all relevant products from following query.
Also remove generic "protobuf" to avoid matching golang:protobuf.
.../downloads/CVE_CHECK2$ sqlite3 nvdcve_2-2.db
sqlite> select vendor, product, count(*) from products where product like '%protobuf%' group by vendor, product;
golang|protobuf|1
google|google-protobuf|5
google|protobuf|2
google|protobuf-cpp|4
google|protobuf-java|15
google|protobuf-javalite|12
google|protobuf-kotlin|6
google|protobuf-kotlin-lite|4
google|protobuf-python|4
protobuf|protobuf|1
protobuf-c_project|protobuf-c|2
protobufjs_project|protobufjs|3
rust-protobuf_project|rust-protobuf|2
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
We should not use additional vendored jsoncpp unless required due to
compatibility issues.
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit reverts
https://git.openembedded.org/meta-openembedded/commit/?id=5af1cd3ada4cc86864810a12c82771ba1afdce64
That commit prefers sdk development instead of release images.
The additional libraries are not needed for protobuf at runtime.
Also any component depending on protobuf will have whole abseil-cpp in
sysroots so linking all the libraries is possible and any additional
ones will be installed.
What may not work is if protobuf is installed in sdk image and
application using it wants to use an additional abseil-cpp library.
However that is easily fixable by adding also abseil-cpp to sdk.
Removing hard-dependency in release images is much harder.
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
If ${PN}-compiler is not build due to PACKAGECONFIG, we shouldn't depend
on it. Otherwise installation on -dev package fails during
populate_sdk.
Signed-off-by: Christian Eggers <ceggers@arri.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Since commit[1], the libraries of abseil-cpp have been splitted into
separate packages. When protobuf is installed into the image, only 48
abseil libraries are installed as runtime dependencies. But the output
of 'pkg-config --libs protobuf' lists 66 abseil-cpp libraries are
required. Add abseil-cpp to RDEPENDS to ensure that all required
abseil-cpp libraries are installed.
[1] https://git.openembedded.org/meta-openembedded/commit/?id=dd6421e65eb75c35a904f4b487ba022075035ecc
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+ adding UPSTREAM_CHECK_GITTAGREGEX because `devtool latest-version` was
going to the 28 release (what still in rc)
Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Link with libatomic since rv32 does not have 64bit atomics
Fixes
| riscv32-yoe-linux-musl-ld.lld: error: undefined reference: __atomic_load_8
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Changelog:
===========
Remove use of mach_absolute_time
[ObjC] Use a local to avoid warnings in 32bit builds.
Bump python version to 3.9 for gcloud 460.0.0
Update Ruby GHA to test against Ruby 3.3.
Pin bundler version to 2.4.22 for Ruby 2.7 support.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Current hash pointed to version with code already indentical
to v1.5.0, it was just missing three formal release commits:
a15d80a Bump copyright years to 2023
6600fd5 Bump version to 1.5.0
8c201f6 CHANGELOG.md: 1.5.0
License-Update: copyright years refreshed
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
If protoc is enabled for the build, recipes using protobuf will
fail when protoc is not available in the recipe sysroot:
| The imported target "protobuf::protoc" references the file
|
| ".../recipe-sysroot/usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/bin/protoc-3.21.5.0"
|
| but this file does not exist. Possible reasons include:
|
| * The file was deleted, renamed, or moved to another location.
|
| * An install or uninstall procedure did not complete successfully.
|
| * The installation package was faulty and contained
|
| ".../recipe-sysroot/usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/lib/cmake/protobuf/protobuf-targets.cmake"
|
| but not all the files it references.
Use SYSROOT_DIRS to stage the binary to sysroot so it's always
available for other recipes.
Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
If protoc is enabled for the build, recipes using protobuf will
fail when protoc is not available in the recipe sysroot:
| The imported target "protobuf::protoc" references the file
|
| ".../recipe-sysroot/usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/bin/protoc-3.21.5.0"
|
| but this file does not exist. Possible reasons include:
|
| * The file was deleted, renamed, or moved to another location.
|
| * An install or uninstall procedure did not complete successfully.
|
| * The installation package was faulty and contained
|
| ".../recipe-sysroot/usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/lib/cmake/protobuf/protobuf-targets.cmake"
|
| but not all the files it references.
Use SYSROOT_DIRS to stage the binary to sysroot so it's always
available for other recipes.
Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Putting the _target_ protoc into the sysroot for executation at _build_
time isn't useful because even if it has the right architecture, the
tune might be incompatible. Recipes which want protoc should just depend
on protobuf-native.
This reverts commit d7f46fa816.
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
There is new patch-status QA check in oe-core:
https://git.openembedded.org/openembedded-core/commit/?id=76a685bfcf927593eac67157762a53259089ea8a
This is temporary work around just to hide _many_ warnings from
optional patch-status (if you add it to WARN_QA).
This just added
Upstream-Status: Pending
everywhere without actually investigating what's the proper status.
This is just to hide current QA warnings and to catch new .patch files being
added without Upstream-Status, but the number of Pending patches is now terrible:
5 (26%) meta-xfce
6 (50%) meta-perl
15 (42%) meta-webserver
21 (36%) meta-gnome
25 (57%) meta-filesystems
26 (43%) meta-initramfs
45 (45%) meta-python
47 (55%) meta-multimedia
312 (63%) meta-networking
756 (61%) meta-oe
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Changelog:
==========
Fix broken enum ranges (#11171)
Stop requiring extension fields to have a sythetic oneof (#11091)
Python runtime 4.21.10 not works generated code can not load valid proto.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
If protoc is enabled for the build, recipes using protobuf will
fail when protoc is not available in the recipe sysroot:
| The imported target "protobuf::protoc" references the file
|
| ".../recipe-sysroot/usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/bin/protoc-3.21.5.0"
|
| but this file does not exist. Possible reasons include:
|
| * The file was deleted, renamed, or moved to another location.
|
| * An install or uninstall procedure did not complete successfully.
|
| * The installation package was faulty and contained
|
| ".../recipe-sysroot/usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/lib/cmake/protobuf/protobuf-targets.cmake"
|
| but not all the files it references.
Use SYSROOT_DIRS to stage the binary to sysroot so it's always
available for other recipes.
Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
When it was disabled for target, it was enabled for native but not for
nativesdk explicitly, lets do it here.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
When applications want to use protoc during the build, the target binary
has to be disabled in order to avoid following error:
| The imported target "protobuf::protoc" references the file
|
| "<application build dir>/recipe-sysroot/usr/bin/protoc-<protobuf version>"
|
| but this file does not exist. Possible reasons include:
|
| * The file was deleted, renamed, or moved to another location.
|
| * An install or uninstall procedure did not complete successfully.
|
| * The installation package was faulty and contained
|
| "<application build dir>/recipe-sysroot/usr/lib/cmake/protobuf/protobuf-targets.cmake"
|
| but not all the files it references.
Signed-off-by: Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Changelog:
=========
Python
* Make libprotobuf symbols local on OSX to fix issue #9395 (#9435)
Ruby
* Fixed a data loss bug that could occur when the number of 'optional'
fields in a message is an exact multiple of 32. (#9440).
PHP
* Fixed a data loss bug that could occur when the number of 'optional'
fields in a message is an exact multiple of 32. (#9440).
Signed-off-by: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The protobuf suffers from the C++ "Static Initialization Fiasco"
issue. This patches makes the extension attributes have a higher
priority than the attributes, so there's no possibility of random
initialization orders.
Signed-off-by: Jani Nurminen <jani.nurminen@windriver.com>
Upstream-Status: Pending
Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
configure detects protoc based on some pkgconfig logic which confuses
cross compilation and ends up choosing /usr/bin/protoc causing build
failures when host system has version mismatched protoc installed, it
works ok as long as compatible protoc is installed
Fixes
./protobuf-c/protobuf-c.pb.h:17:2: error: This file was generated by an older version of protoc which is
^
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This patch updates SRC_URIs using git to include branch=master if no branch is set
and also to use protocol=https for github urls as generated by the conversion script
in OE-Core.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
C++
Fix warnings raised by clang 11 (#8664)
Make StringPiece constructible from std::string_view (#8707)
Add missing capability attributes for LLVM 12 (#8714)
Stop using std::iterator (deprecated in C++17). (#8741)
Move field_access_listener from libprotobuf-lite to libprotobuf (#8775)
Fix#7047 Safely handle setlocale (#8735)
Remove deprecated version of SetTotalBytesLimit() (#8794)
Support arena allocation of google::protobuf::AnyMetadata (#8758)
Fix undefined symbol error around SharedCtor() (#8827)
Fix default value of enum(int) in json_util with proto2 (#8835)
Better Smaller ByteSizeLong
Introduce event filters for inject_field_listener_events
Reduce memory usage of DescriptorPool
For lazy fields copy serialized form when allowed.
Re-introduce the InlinedStringField class
v2 access listener
Reduce padding in the proto's ExtensionRegistry map.
GetExtension performance optimizations
Make tracker a static variable rather than call static functions
Support extensions in field access listener
Annotate MergeFrom for field access listener
Fix incomplete types for field access listener
Add map_entry/new_map_entry to SpecificField in MessageDifferencer. They
record the map items which are different in MessageDifferencer's reporter.
Reduce binary size due to fieldless proto messages
TextFormat: ParseInfoTree supports getting field end location in addition to
start.
Fix repeated enum extension size in field listener
Enable Any Text Expansion for Descriptors::DebugString()
Switch from int{8,16,32,64} to int{8,16,32,64}_t
Java
Fix errorprone conflict (#8723)
Removing deprecated TimeUtil class. (#8749)
Optimized FieldDescriptor.valueOf() to avoid array copying.
Removing deprecated TimeUtil class.
Add Durations.parseUnchecked(String) and Timestamps.parseUnchecked(String)
FieldMaskUtil: Add convenience method to mask the fields out of a given proto.
JavaScript
Optimize binary parsing of repeated float64
Fix for optimization when reading doubles from binary wire format
Replace toArray implementation with toJSON.
PHP
Migrate PHP & Ruby to ABSL wyhash (#8854)
Added support for PHP 8.1 (currently in RC1) to the C extension (#8964)
Fixed PHP SEGV when constructing messages from a destructor. (#8969)
Ruby
Move DSL implementation from C to pure Ruby (#8850)
Fixed a memory bug with RepeatedField#+. (#8970)
Python
Drops support for 2.7 and 3.5.
Other
[csharp] ByteString.CreateCodedInput should use ArraySegment offset and count (#8740)
[ObjC] Add support for using the proto package to prefix symbols. (#8760)
field_presence.md: fix Go example (#8788)
Signed-off-by: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This is the result of automated script (0.9.1) conversion:
oe-core/scripts/contrib/convert-overrides.py .
converting the metadata to use ":" as the override character instead of "_".
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>