Please read README file and send meta-oe changes to openembedded-devel ML.

On Fri, Nov 29, 2024 at 11:13 AM deepan.shivap via
lists.openembedded.org <[email protected]>
wrote:
>
> From: "deepan.shivap" <[email protected]>
>
> GCC 14 compiler uses -fvisibility-inlines-hidden by default and
> it creates visibility conflicts.
>
> Add .patch file to resolve build error.
>
> Update SRCREV to latest Upstream.
>
> Signed-off-by: deepan.shivap <[email protected]>
> ---
>  .../0001-fix-build-on-GCC-14-for-yocto.patch  | 292 ++++++++++++++++++
>  .../openthread/ot-br-posix_git.bb             |   8 +-
>  2 files changed, 294 insertions(+), 6 deletions(-)
>  create mode 100644 
> meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-fix-build-on-GCC-14-for-yocto.patch
>
> diff --git 
> a/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-fix-build-on-GCC-14-for-yocto.patch
>  
> b/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-fix-build-on-GCC-14-for-yocto.patch
> new file mode 100644
> index 000000000..53fc0aac7
> --- /dev/null
> +++ 
> b/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-fix-build-on-GCC-14-for-yocto.patch
> @@ -0,0 +1,292 @@
> +From b34d0665b790016165b4a9b565f462712057b2b5 Mon Sep 17 00:00:00 2001
> +From: "deepan.shivap" <[email protected]>
> +Date: Wed, 13 Nov 2024 21:30:38 +0900
> +Subject: [PATCH] fix build on GCC 14 for yocto
> +
> +GCC 14 compiler uses -fvisibility-inlines-hidden by default and
> +it creates visibility conflicts.
> +
> +Compilation error:
> +
> +error: 'ot::BorderRouter::RoutingManager::RxRaTracker' declared with
> +greater visibility than the type of its field 'ot::BorderRouter::
> +RoutingManager::RxRaTracker::mSignalTask' [-Werror=attributes]
> +| 814 | class RxRaTracker : public InstanceLocator
> +| | ^~~~~~~~~~~
> +| compilation terminated due to -Wfatal-errors.
> +| cc1: all warnings being treated as errors
> +
> +In addition, for below error I have added changes refering -
> +https://github.com/openwrt/openwrt/blob/main/package/libs/mbedtls/patches/100-fix-gcc14-build.patch
> +
> +error: array subscript 48 is outside array bounds of 'unsigned char[48]' 
> [-Werror=array-bounds=]
> +| 235 | r[i] = a[i] ^ b[i];
> +| | ~^~~
> +| compilation terminated due to -Wfatal-errors.
> +| cc1: all warnings being treated as errors
> +
> +---
> +Upstream-Status: Denied [Reason -  
> https://github.com/openthread/openthread/pull/10925]
> +
> + src/core/border_router/routing_manager.cpp | 58 ++++++++++++++++++++++
> + src/core/border_router/routing_manager.hpp | 18 +++----
> + src/core/mac/data_poll_sender.cpp          |  5 ++
> + src/core/mac/data_poll_sender.hpp          |  2 +-
> + src/core/net/srp_client.cpp                |  2 +
> + src/core/net/srp_client.hpp                |  2 +-
> + src/core/thread/mle.cpp                    | 10 ++++
> + src/core/thread/mle.hpp                    |  4 +-
> + third_party/mbedtls/repo/library/common.h  |  2 +-
> + 9 files changed, 89 insertions(+), 14 deletions(-)
> +
> +diff --git a/src/core/border_router/routing_manager.cpp 
> b/src/core/border_router/routing_manager.cpp
> +index 5f7916ba4..664963757 100644
> +--- a/src/core/border_router/routing_manager.cpp
> ++++ b/src/core/border_router/routing_manager.cpp
> +@@ -806,6 +806,64 @@ bool RoutingManager::NetworkDataContainsUlaRoute(void) 
> const
> +     return contains;
> + }
> +
> ++void RoutingManager::HandleRxRaTrackerSignalTask(void)
> ++{
> ++    mRxRaTracker.HandleSignalTask();
> ++}
> ++
> ++void RoutingManager::HandleRxRaTrackerExpirationTimer(void)
> ++{
> ++    mRxRaTracker.HandleExpirationTimer();
> ++}
> ++
> ++void RoutingManager::HandleRxRaTrackerStaleTimer(void)
> ++{
> ++    mRxRaTracker.HandleStaleTimer();
> ++}
> ++
> ++void RoutingManager::HandleRxRaTrackerRouterTimer(void)
> ++{
> ++    mRxRaTracker.HandleRouterTimer();
> ++}
> ++
> ++void RoutingManager::HandleOnLinkPrefixManagerTimer(void)
> ++{
> ++    mOnLinkPrefixManager.HandleTimer();
> ++}
> ++
> ++void RoutingManager::HandleRioAdvertiserimer(void)
> ++{
> ++    mRioAdvertiser.HandleTimer();
> ++}
> ++
> ++#if OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE
> ++
> ++void RoutingManager::HandleNat64PrefixManagerTimer(void)
> ++{
> ++    mNat64PrefixManager.HandleTimer();
> ++}
> ++
> ++#endif // OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE
> ++
> ++void RoutingManager::HandleRoutePublisherTimer(void)
> ++{
> ++    mRoutePublisher.HandleTimer();
> ++}
> ++
> ++void RoutingManager::HandleRsSenderTimer(void)
> ++{
> ++    mRsSender.HandleTimer();
> ++}
> ++
> ++#if OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE
> ++
> ++void HandlePdPrefixManagerTimer(void)
> ++{
> ++    mPdPrefixManager.HandleTimer();
> ++}
> ++
> ++#endif // OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE
> ++
> + #if OPENTHREAD_CONFIG_BORDER_ROUTING_REACHABILITY_CHECK_ICMP6_ERROR_ENABLE
> +
> + void RoutingManager::CheckReachabilityToSendIcmpError(const Message 
> &aMessage, const Ip6::Header &aIp6Header)
> +diff --git a/src/core/border_router/routing_manager.hpp 
> b/src/core/border_router/routing_manager.hpp
> +index bfc138957..cc866e308 100644
> +--- a/src/core/border_router/routing_manager.hpp
> ++++ b/src/core/border_router/routing_manager.hpp
> +@@ -804,10 +804,10 @@ private:
> +
> +     //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
> - - - - - - - - - - - - - - - - - - - - - -
> +
> +-    void HandleRxRaTrackerSignalTask(void) { 
> mRxRaTracker.HandleSignalTask(); }
> +-    void HandleRxRaTrackerExpirationTimer(void) { 
> mRxRaTracker.HandleExpirationTimer(); }
> +-    void HandleRxRaTrackerStaleTimer(void) { 
> mRxRaTracker.HandleStaleTimer(); }
> +-    void HandleRxRaTrackerRouterTimer(void) { 
> mRxRaTracker.HandleRouterTimer(); }
> ++    void HandleRxRaTrackerSignalTask(void);
> ++    void HandleRxRaTrackerExpirationTimer(void);
> ++    void HandleRxRaTrackerStaleTimer(void);
> ++    void HandleRxRaTrackerRouterTimer(void);
> +
> +     class RxRaTracker : public InstanceLocator
> +     {
> +@@ -1144,7 +1144,7 @@ private:
> +
> +     //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
> - - - - - - - - - - - - - - - - - - - - - -
> +
> +-    void HandleOnLinkPrefixManagerTimer(void) { 
> mOnLinkPrefixManager.HandleTimer(); }
> ++    void HandleOnLinkPrefixManagerTimer(void);
> +
> +     class OnLinkPrefixManager : public InstanceLocator
> +     {
> +@@ -1215,7 +1215,7 @@ private:
> +
> +     //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
> - - - - - - - - - - - - - - - - - - - - - -
> +
> +-    void HandleRioAdvertiserimer(void) { mRioAdvertiser.HandleTimer(); }
> ++    void HandleRioAdvertiserimer(void);
> +
> +     class RioAdvertiser : public InstanceLocator
> +     {
> +@@ -1278,7 +1278,7 @@ private:
> +
> + #if OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE
> +
> +-    void HandleNat64PrefixManagerTimer(void) { 
> mNat64PrefixManager.HandleTimer(); }
> ++    void HandleNat64PrefixManagerTimer(void);
> +
> +     class Nat64PrefixManager : public InstanceLocator
> +     {
> +@@ -1326,7 +1326,7 @@ private:
> +
> +     //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
> - - - - - - - - - - - - - - - - - - - - - -
> +
> +-    void HandleRoutePublisherTimer(void) { mRoutePublisher.HandleTimer(); }
> ++    void HandleRoutePublisherTimer(void);
> +
> +     class RoutePublisher : public InstanceLocator // Manages the routes 
> that are published in net data
> +     {
> +@@ -1411,7 +1411,7 @@ private:
> +
> +     //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
> - - - - - - - - - - - - - - - - - - - - - -
> +
> +-    void HandleRsSenderTimer(void) { mRsSender.HandleTimer(); }
> ++    void HandleRsSenderTimer(void);
> +
> +     class RsSender : public InstanceLocator
> +     {
> +diff --git a/src/core/mac/data_poll_sender.cpp 
> b/src/core/mac/data_poll_sender.cpp
> +index c21bbacfe..6b974e164 100644
> +--- a/src/core/mac/data_poll_sender.cpp
> ++++ b/src/core/mac/data_poll_sender.cpp
> +@@ -517,6 +517,11 @@ uint32_t DataPollSender::CalculatePollPeriod(void) const
> +     return period;
> + }
> +
> ++void DataPollSender::HandlePollTimer(void)
> ++{
> ++    IgnoreError(SendDataPoll());
> ++}
> ++
> + uint32_t DataPollSender::GetDefaultPollPeriod(void) const
> + {
> +     uint32_t pollAhead = static_cast<uint32_t>(kRetxPollPeriod) * 
> kMaxPollRetxAttempts;
> +diff --git a/src/core/mac/data_poll_sender.hpp 
> b/src/core/mac/data_poll_sender.hpp
> +index 1c532ab51..4db8e5923 100644
> +--- a/src/core/mac/data_poll_sender.hpp
> ++++ b/src/core/mac/data_poll_sender.hpp
> +@@ -257,7 +257,7 @@ private:
> +     void            ScheduleNextPoll(PollPeriodSelector 
> aPollPeriodSelector);
> +     uint32_t        CalculatePollPeriod(void) const;
> +     const Neighbor &GetParent(void) const;
> +-    void            HandlePollTimer(void) { IgnoreError(SendDataPoll()); }
> ++    void            HandlePollTimer(void);
> + #if OPENTHREAD_CONFIG_MULTI_RADIO
> +     Error GetPollDestinationAddress(Mac::Address &aDest, Mac::RadioType 
> &aRadioType) const;
> + #else
> +diff --git a/src/core/net/srp_client.cpp b/src/core/net/srp_client.cpp
> +index b7150ff7f..12b8f0b4f 100644
> +--- a/src/core/net/srp_client.cpp
> ++++ b/src/core/net/srp_client.cpp
> +@@ -2444,6 +2444,8 @@ exit:
> +     return error;
> + }
> +
> ++void Client::HandleGuardTimer(void){}
> ++
> + #if OPENTHREAD_CONFIG_SRP_CLIENT_SWITCH_SERVER_ON_FAILURE
> + void Client::SelectNextServer(bool aDisallowSwitchOnRegisteredHost)
> + {
> +diff --git a/src/core/net/srp_client.hpp b/src/core/net/srp_client.hpp
> +index 8f5891bd0..367b1d280 100644
> +--- a/src/core/net/srp_client.hpp
> ++++ b/src/core/net/srp_client.hpp
> +@@ -1052,7 +1052,7 @@ private:
> +     void  ApplyAutoStartGuardOnAttach(void);
> +     void  ProcessAutoStart(void);
> +     Error SelectUnicastEntry(DnsSrpUnicastType aType, DnsSrpUnicastInfo 
> &aInfo) const;
> +-    void  HandleGuardTimer(void) {}
> ++    void  HandleGuardTimer(void);
> + #if OPENTHREAD_CONFIG_SRP_CLIENT_SWITCH_SERVER_ON_FAILURE
> +     void SelectNextServer(bool aDisallowSwitchOnRegisteredHost);
> + #endif
> +diff --git a/src/core/thread/mle.cpp b/src/core/thread/mle.cpp
> +index 4de4705be..2e07222fc 100644
> +--- a/src/core/thread/mle.cpp
> ++++ b/src/core/thread/mle.cpp
> +@@ -3853,6 +3853,11 @@ exit:
> +
> + #if OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE
> +
> ++void Mle::HandleParentSearchTimer(void)
> ++{
> ++    mParentSearch.HandleTimer();
> ++}
> ++
> + void Mle::ParentSearch::SetEnabled(bool aEnabled)
> + {
> +     VerifyOrExit(mEnabled != aEnabled);
> +@@ -4423,6 +4428,11 @@ void Mle::TlvList::AddElementsFrom(const TlvList 
> &aTlvList)
> + 
> //---------------------------------------------------------------------------------------------------------------------
> + // DelayedSender
> +
> ++void Mle::HandleDelayedSenderTimer(void)
> ++{
> ++    mDelayedSender.HandleTimer();
> ++}
> ++
> + Mle::DelayedSender::DelayedSender(Instance &aInstance)
> +     : InstanceLocator(aInstance)
> +     , mTimer(aInstance)
> +diff --git a/src/core/thread/mle.hpp b/src/core/thread/mle.hpp
> +index 58dcea1e7..613334896 100644
> +--- a/src/core/thread/mle.hpp
> ++++ b/src/core/thread/mle.hpp
> +@@ -1087,7 +1087,7 @@ private:
> +
> +     //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
> - - - - - - - - - - - - - - - - - - - - - -
> +
> +-    void HandleDelayedSenderTimer(void) { mDelayedSender.HandleTimer(); }
> ++    void HandleDelayedSenderTimer(void);
> +
> +     class DelayedSender : public InstanceLocator
> +     {
> +@@ -1210,7 +1210,7 @@ private:
> +     //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
> - - - - - - - - - - - - - - - - - - - - - -
> +
> + #if OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE
> +-    void HandleParentSearchTimer(void) { mParentSearch.HandleTimer(); }
> ++    void HandleParentSearchTimer(void);
> +
> +     class ParentSearch : public InstanceLocator
> +     {
> +diff --git a/third_party/mbedtls/repo/library/common.h 
> b/third_party/mbedtls/repo/library/common.h
> +index 3936ffdfe..ce4dc1130 100644
> +--- a/third_party/mbedtls/repo/library/common.h
> ++++ b/third_party/mbedtls/repo/library/common.h
> +@@ -199,7 +199,7 @@ static inline void mbedtls_xor(unsigned char *r,
> +         uint8x16_t x = veorq_u8(v1, v2);
> +         vst1q_u8(r + i, x);
> +     }
> +-#if defined(__IAR_SYSTEMS_ICC__)
> ++#if defined(__IAR_SYSTEMS_ICC__) || (defined(MBEDTLS_COMPILER_IS_GCC) && 
> MBEDTLS_GCC_VERSION >= 140100)
> +     /* This if statement helps some compilers (e.g., IAR) optimise out the 
> byte-by-byte tail case
> +      * where n is a constant multiple of 16.
> +      * For other compilers (e.g. recent gcc and clang) it makes no 
> difference if n is a compile-time
> diff --git 
> a/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb 
> b/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb
> index ec930de27..8183f5203 100644
> --- a/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb
> +++ b/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb
> @@ -11,14 +11,14 @@ LIC_FILES_CHKSUM = 
> "file://LICENSE;md5=87109e44b2fda96a8991f27684a7349c \
>                      
> file://third_party/openthread/repo/LICENSE;md5=543b6fe90ec5901a683320a36390c65f
>  \
>                      "
>  DEPENDS = "autoconf-archive dbus readline avahi jsoncpp boost 
> libnetfilter-queue protobuf protobuf-native"
> -SRCREV = "a35cc682305bb2201c314472adf06a4960536750"
> +SRCREV = "b041fa52daaa4dfbf6aa4665d8925c1be0350ca5"
>  PV = "0.3.0+git"
>
>  SRC_URI = 
> "gitsm://github.com/openthread/ot-br-posix.git;protocol=https;branch=main \
>             
> file://0001-otbr-agent.service.in-remove-pre-exec-hook-for-mdns-.patch \
>             file://0001-cmake-Disable-nonnull-compare-warning-on-gcc.patch \
>             file://default-cxx-std.patch \
> -           file://musl-fixes.patch \
> +           
> file://0001-fix-build-on-GCC-14-for-yocto.patch;patchdir=third_party/openthread/repo
>  \
>             "
>
>  S = "${WORKDIR}/git"
> @@ -67,7 +67,3 @@ RCONFLICTS:${PN} = "ot-daemon"
>
>  FILES:${PN} += "${systemd_unitdir}/*"
>  FILES:${PN} += "${datadir}/*"
> -
> -# http://errors.yoctoproject.org/Errors/Details/766903/
> -# 
> git/third_party/openthread/repo/src/core/border_router/routing_manager.hpp:615:11:
>  error: 'ot::BorderRouter::RoutingManager::DiscoveredPrefixTable' declared 
> with greater visibility than the type of its field 
> 'ot::BorderRouter::RoutingManager::DiscoveredPrefixTable::mEntryTimer' 
> [-Werror=attributes]
> -CXXFLAGS += "-Wno-error=attributes"
>
> 
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#208010): 
https://lists.openembedded.org/g/openembedded-core/message/208010
Mute This Topic: https://lists.openembedded.org/mt/109832304/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to