subtree updates

meta-arm: 1dff3300fb..0b61cc659a:
  Ross Burton (1):
        meta-arm/selftest: add test that PAC/BTI instructions are used

meta-openembedded: 991e6852a5..5ad7203f68:
  Alexander Kanavin (1):
        fio: revert "fio: upgrade 3.32 -> 2022"

  BELOUARGA Mohamed (1):
        monocypher: add crypto library recipe

  Dylan Turner (1):
        apache2: v2.4.57 to v2.4.58 to fix CVE-2023-43622

  Hongxu Jia (1):
        freeradius: make sub packages to runtime depends on freeradius

  Kai Kang (1):
        libnma: remove conflict xml file

  Khem Raj (12):
        nlohmann-json: Fix SRCREV_FORMAT and do not package git metadata into ptests
        ptest-packagelists-meta-oe.inc: Move poco to slow tests
        sdbus-c++-libsystemd: Upgrade to 254
        sdbus-c++-tools: Upgrade to 1.4.0
        gstd: Fix systemd user unit packaging
        basu: Update to latest master
        sdbus-c++: Install ptests into PTEST_PATH
        liblognorm:Add asprintf to autoconf function check macro
        gnome-console,gnome-terminal: Depend on vte from core layer
        Revert "gnome-terminal: Remove recommendation on vte-prompt"
        vte9: Drop recipe
        basu: Update the SRCREV to get lld fix

  Luca Fancellu (1):
        linuxptp: Update downstream patches

  Markus Volk (9):
        libcacard: fix version string in libcacard.pc
        cups-filters: fix Makefile race condition
        system-config-printer: Add packageconfig for polkit
        pipewire: upgrade 0.3.85 > 1.0.0
        libcacard: set meson version based on PV
        spice: Set meson version based on PV
        spice-gtk: Set meson version based on PV
        libdecor: update 0.2.0 -> 0.2.1
        xdg-desktop-portal-gnome: upgrade 45.0 -> 45.1

  Naveen Saini (2):
        tbb: upgrade 2021.9.0 -> 2021.11.0
        tbb: enable NUMA/Hybrid CPU support

  Patrick Wicki (6):
        squid: update from v5.7 to v6.5
        squid: add nm dispatcher reload hook
        squid: add auth packageconfig
        squid: move configs to sub package
        squid: add url-rewrite-helpers packageconfig
        squid: add systemd service

  Patrick Williams (1):
        glog: Disable 64bit atomics on armv{5,6}

  Peter Kjellerstedt (1):
        redis: Inherit pkgconfig

  Ross Burton (1):
        python3-validators: add new recipe

  Wang Mingyu (26):
        ctags: upgrade 6.0.20231119.0 -> 6.0.20231126.0
        dnfdragora: upgrade 2.1.4 -> 2.1.5
        gensio: upgrade 2.7.7 -> 2.8.0
        frr: upgrade 9.0.1 -> 9.1
        capnproto: upgrade 1.0.1 -> 1.0.1.1
        libbpf: upgrade 1.2.2 -> 1.3.0
        paho-mqtt-cpp: upgrade 1.2.0 -> 1.3.1
        tomoyo-tools: upgrade 2.5.0 -> 2.6.1
        python3-aiohttp: upgrade 3.9.0 -> 3.9.1
        python3-bitstring: upgrade 4.1.2 -> 4.1.3
        python3-dbus-fast: upgrade 2.14.0 -> 2.15.0
        python3-humanize: upgrade 4.8.0 -> 4.9.0
        python3-ipython: upgrade 8.17.2 -> 8.18.0
        python3-mypy: upgrade 1.7.0 -> 1.7.1
        python3-pdm: upgrade 2.10.3 -> 2.10.4
        python3-pexpect: upgrade 4.8.0 -> 4.9.0
        python3-pychromecast: upgrade 13.0.7 -> 13.0.8
        python3-pydantic: upgrade 2.5.1 -> 2.5.2
        python3-pymisp: upgrade 2.4.178 -> 2.4.179
        python3-pytest-xdist: upgrade 3.4.0 -> 3.5.0
        python3-sentry-sdk: upgrade 1.35.0 -> 1.37.1
        python3-types-setuptools: upgrade 68.2.0.1 -> 68.2.0.2
        python3-virtualenv: upgrade 20.24.6 -> 20.24.7
        redis: upgrade 7.2.2 -> 7.2.3
        ser2net: upgrade 4.5.1 -> 4.6.0
        thingsboard-gateway: upgrade 3.4.2 -> 3.4.3.1

  alperak (12):
        squashfs-tools-ng: upgrade 1.1.4 -> 1.2.0
        tmate: Fix finding msgpack 6+
        msgpack-c: upgrade 4.0.0 -> 6.0.0
        msgpack-cpp: upgrade 4.1.1 -> 6.1.0
        brotli: upgrade 1.0.9 -> 1.1.0
        icewm: upgrade 2.9.9 -> 3.4.4
        iotop: upgrade 1.21 -> 1.25
        liblognorm: upgrade 1.0.1 -> 2.0.6
        libmodbus: upgrade 3.1.7 -> 3.1.10
        libpwquality: upgrade 1.4.4 -> 1.4.5
        libspiro: upgrade 20200505 -> 20221101
        gtkwave: upgrade 3.3.111 -> 3.3.117

poky: 2696bf8cf3..028b6f6226:
  Adrian Freihofer (1):
        cmake-qemu.bbclass: support qemu for cmake

  Alassane Yattara (9):
        bitbake: toaster/tests: Update methods wait_until_~ to skip using time.sleep
        bitbake: toaster/tests: Override table edit columns TestCase from image recipe page
        bitbake: toaster/tests: Test software recipe page
        bitbake: toaster/tests: Added Machine page TestCase
        bitbake: toaster/tests: Added Layers page TestCase
        bitbake: toaster/tests: Added distro page TestCase
        bitbake: toaster/tests: Bug-fix on tests/functional/test_project_page
        bitbake: toaster/tests: Test single layer page
        bitbake: toaster/tests: Test single recipe page

  Alex Kiernan (4):
        rust: Delete python2 configparser code path
        rust: Drop TARGET_VENDOR export
        eudev: Upgrade 3.2.12 -> 3.2.14
        rust: Drop targets and hosts override magic

  Alexander Kanavin (15):
        python3-pyproject-hooks: fix upstream version check
        cmake: upgrade 3.27.5 -> 3.27.7
        desktop-file-utils: upgrade 0.26 -> 0.27
        erofs-utils: upgrade 1.6 -> 1.7.1
        webkitgtk: update 2.40.5 -> 2.42.2
        epiphany: upgrade 44.6 -> 45.1
        virglrenderer: upgrade 0.10.4 -> 1.0.0
        libxkbcommon: upgrade 1.5.0 -> 1.6.0
        mpg123: upgrade 1.31.3 -> 1.32.3
        icu: upgrade 73-2 -> 74-1
        p11-kit: upgrade 0.25.0 -> 0.25.2
        glib-2.0: install gio-querymodules into bindir as well as libexecdir for native
        meson: update 1.2.2 -> 1.3.0
        repo: update 2.37 -> 2.39
        rt-tests: update 2.5 -> 2.6

  Bruce Ashfield (1):
        lttng-modules: fix build for v6.7+

  Changhyeok Bae (1):
        iptables: upgrade 1.8.9 -> 1.8.10

  Charlie Johnston (2):
        bitbake.conf: Add gsutil as hosttool for gcp fetcher.
        bitbake: fetch2: Ensure GCP fetcher checks if file exists before download.

  Jan Vermaete (1):
        systemd: fixed typo

  Joao Marcos Costa (1):
        documentation.conf: fix do_menuconfig description

  Joshua Watt (2):
        bitbake: bitbake-hashclient: Add commands to get hashes
        bitbake: hashserv: sqlite: Ensure sync propagates to database connections

  Julien Stephan (6):
        devtool: fix update-recipe dry-run mode
        lib/oe/recipeutils.py: remove trailing white-spaces
        devtool: finish/update-recipe: restrict mode srcrev to recipes fetched from SCM
        devtool: tag all submodules
        devtool: add support for git submodules
        oeqa/selftest/devtool: add test for git submodules

  Justin Bronder (1):
        contributor-guide: add License-Update tag

  Kareem Zarka (2):
        wic: bootimg-efi: Make kernel image installation configurable
        oeqa/selftest/wic: Add tests for kernel image installation

  Khem Raj (8):
        shared-mime-info: Fix build with clang-17+
        libsoup-2.4: Fix build with clang-17 and libxml2-2.12
        busybox: Enable utmp support on musl systems
        virglrenderer: Fix build with clang
        llvm: Upgrade to 17.0.6
        rust-common.bbclass: Define rust arch for x32 platforms
        vte: Upgrade to 0.74.1
        vte: Separate out gtk4 pieces of vte into individual packages

  Lee Chee Yang (3):
        wic: add test for partition hidden attributes
        migration-guides: add release notes for 4.3.1
        openssl: upgrade to 3.2.0

  Malte Schmidt (1):
        wic: rawcopy: add support for zstd decompression

  Marco Felsch (1):
        json-c: fix icecc compilation

  Markus Volk (3):
        bluez5: fix connection for ps5/dualshock controllers
        cups: Add root,sys,wheel to system groups
        vte: upgrade 0.72.2 -> 0.74.0

  Martin Hundeb?ll (1):
        libpam: split /etc/environment into pam-plugin-env package

  Matsunaga-Shinji (1):
        cve-check: Modify judgment processing using "=" in version comparison

  Michael Opdenacker (4):
        systemd-compat-units.bb: fix postinstall script
        dev-manual: layers: update link to YP Compatible form
        contributor-guide: fix command option
        migration-guides: release 3.5 is actually 4.0

  Niko Mauno (1):
        rust-llvm: Allow overriding LLVM target archs

  Patrick Williams (1):
        shared-mime-info-native: handle old GCC for AlmaLinux8

  Peter Marko (2):
        cve-update-nvd2-native: remove unused variable CVE_SOCKET_TIMEOUT
        cve-update-nvd2-native: make number of fetch attemtps configurable

  Richard Haar (1):
        bitbake: bitbake: tests: Fix duplicate test_underscore_override test

  Richard Purdie (2):
        bitbake: ui/ncurses: Add missing function call to avoid traceback
        bitbake: cooker: Avoid eventlog variable listing lockups

  Robert Yang (2):
        gnu-config: Update to latest revision
        gettext: Upgrade 0.22 -> 0.22.3

  Ross Burton (3):
        core-image-minimal-initramfs: don't install a kernel into the initramfs
        autoconf: upgrade to 2.72d
        Revert "cve-check: Modify judgment processing using "=" in version comparison"

  Sundeep KOKKONDA (3):
        rust: Split rustdoc into a separate package
        glibc: stable 2.38 branch updates
        binutils: stable 2.41 branch updates

  Tim Orling (8):
        python3-sphinxcontrib-applehelp: 1.0.4 -> 1.0.7
        python3-sphinxcontrib-devhelp: 1.0.2 -> 1.0.5
        python3-sphinxcontrib-htmlhelp: 2.0.1 -> 2.0.4
        python3-sphinxcontrib-qthelp: 1.0.3 -> 1.0.6
        python3-sphinxcontrib-serializinghtml: 1.1.5 -> 1.1.9
        vim: upgrade 9.0.2068 -> 9.0.2130
        python3-cryptography-vectors: add RECIPE_NO_UPDATE_REASON
        python3-cryptography{-vectors}: 41.0.5 -> 41.0.7

  Trevor Gamblin (2):
        python3-ptest: skip test_storlines
        patchtest: shorten patch signed-off-by test output

  Viswanath Kraleti (1):
        systemd-boot: Fix build issues on armv7a-linux

  Wang Mingyu (27):
        bind: upgrade 9.18.19 -> 9.18.20
        diffoscope: upgrade 251 -> 252
        ell: upgrade 0.59 -> 0.60
        git: upgrade 2.42.1 -> 2.43.0
        gnutls: upgrade 3.8.1 -> 3.8.2
        libdrm: upgrade 2.4.117 -> 2.4.118
        libgcrypt: upgrade 1.10.2 -> 1.10.3
        libksba: upgrade 1.6.4 -> 1.6.5
        libxslt: upgrade 1.1.38 -> 1.1.39
        log4cplus: upgrade 2.1.0 -> 2.1.1
        python3-certifi: upgrade 2023.7.22 -> 2023.11.17
        python3-setuptools: upgrade 68.2.2 -> 69.0.2
        python3-wcwidth: upgrade 0.2.9 -> 0.2.11
        python3-hypothesis: upgrade 6.89.0 -> 6.90.0
        python3-pyasn1: upgrade 0.5.0 -> 0.5.1
        python3-scons: upgrade 4.5.2 -> 4.6.0
        python3-urllib3: upgrade 2.0.7 -> 2.1.0
        ethtool: upgrade 6.5 -> 6.6
        gi-docgen: upgrade 2023.1 -> 2023.3
        init-system-helpers: upgrade 1.65.2 -> 1.66
        libsolv: upgrade 0.7.26 -> 0.7.27
        python3-idna: upgrade 3.4 -> 3.6
        ofono: upgrade 2.1 -> 2.2
        python3-sphinx-rtd-theme: upgrade 1.3.0 -> 2.0.0
        python3-trove-classifiers: upgrade 2023.11.14 -> 2023.11.22
        python3-wheel: upgrade 0.41.3 -> 0.42.0
        resolvconf: upgrade 1.91 -> 1.92

  Xiangyu Chen (2):
        shadow: Fix for CVE-2023-4641
        bash: changes to SIGINT handler while waiting for a child

  Zahir Hussain (1):
        cmake: Unset CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES

meta-raspberrypi: 8231f97534..fde68b24f0:
  Lorenzo Arena (1):
        docs: fix syntax for overriding fs type for initramfs image
Change-Id: Idc6f6b1e913442bae03dfec9f207924c56f31056
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
diff --git a/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus.inc b/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus.inc
deleted file mode 100644
index 0857cc4..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus.inc
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "A Modbus library"
-DESCRIPTION = "libmodbus is a C library designed to provide a fast and robust \
-implementation of the Modbus protocol. It runs on Linux, Mac OS X, FreeBSD, \
-QNX and Windows."
-HOMEPAGE = "http://www.libmodbus.org/"
-SECTION = "libs"
-
-LICENSE = "LGPL-2.1-or-later"
-LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c"
-
-SRC_URI = "http://libmodbus.org/releases/${BP}.tar.gz"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[documentation] = "--with-documentation,--without-documentation,asciidoc-native xmlto-native"
-
-inherit autotools pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/Fix-float-endianness-issue-on-big-endian-arch.patch b/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/Fix-float-endianness-issue-on-big-endian-arch.patch
deleted file mode 100644
index e7fbb03..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/Fix-float-endianness-issue-on-big-endian-arch.patch
+++ /dev/null
@@ -1,316 +0,0 @@
-From: =?utf-8?b?IlNaIExpbiAo5p6X5LiK5pm6KSI=?= <szlin@debian.org>
-Date: Wed, 19 Dec 2018 10:24:47 +0800
-Subject: Fix float endianness issue on big endian arch
-
-It converts float values depending on what order they come in.
-
-This patch was modified from rm5248 [1]
-
-[1] https://github.com/synexxus/libmodbus/commit/a511768e7fe7ec52d7bae1d9ae04e33f87a59627
-
----
-Upstream-Status: Pending
-
- src/modbus-data.c        | 110 ++++++++++++++++++++++++++++++++++++++---------
- tests/unit-test-client.c |  22 ++++++----
- tests/unit-test.h.in     |  41 ++++++++++++++++--
- 3 files changed, 141 insertions(+), 32 deletions(-)
-
-diff --git a/src/modbus-data.c b/src/modbus-data.c
-index 902b8c6..7a744fa 100644
---- a/src/modbus-data.c
-+++ b/src/modbus-data.c
-@@ -119,9 +119,18 @@ float modbus_get_float_abcd(const uint16_t *src)
- {
-     float f;
-     uint32_t i;
-+    uint8_t a, b, c, d;
- 
--    i = ntohl(((uint32_t)src[0] << 16) + src[1]);
--    memcpy(&f, &i, sizeof(float));
-+    a = (src[0] >> 8) & 0xFF;
-+    b = (src[0] >> 0) & 0xFF;
-+    c = (src[1] >> 8) & 0xFF;
-+    d = (src[1] >> 0) & 0xFF;
-+
-+    i = (a << 24) |
-+        (b << 16) |
-+        (c << 8) |
-+        (d << 0);
-+    memcpy(&f, &i, 4);
- 
-     return f;
- }
-@@ -131,9 +140,18 @@ float modbus_get_float_dcba(const uint16_t *src)
- {
-     float f;
-     uint32_t i;
-+    uint8_t a, b, c, d;
- 
--    i = ntohl(bswap_32((((uint32_t)src[0]) << 16) + src[1]));
--    memcpy(&f, &i, sizeof(float));
-+    a = (src[0] >> 8) & 0xFF;
-+    b = (src[0] >> 0) & 0xFF;
-+    c = (src[1] >> 8) & 0xFF;
-+    d = (src[1] >> 0) & 0xFF;
-+
-+    i = (d << 24) |
-+        (c << 16) |
-+        (b << 8) |
-+        (a << 0);
-+    memcpy(&f, &i, 4);
- 
-     return f;
- }
-@@ -143,9 +161,18 @@ float modbus_get_float_badc(const uint16_t *src)
- {
-     float f;
-     uint32_t i;
-+    uint8_t a, b, c, d;
- 
--    i = ntohl((uint32_t)(bswap_16(src[0]) << 16) + bswap_16(src[1]));
--    memcpy(&f, &i, sizeof(float));
-+    a = (src[0] >> 8) & 0xFF;
-+    b = (src[0] >> 0) & 0xFF;
-+    c = (src[1] >> 8) & 0xFF;
-+    d = (src[1] >> 0) & 0xFF;
-+
-+    i = (b << 24) |
-+        (a << 16) |
-+        (d << 8) |
-+        (c << 0);
-+    memcpy(&f, &i, 4);
- 
-     return f;
- }
-@@ -155,9 +182,18 @@ float modbus_get_float_cdab(const uint16_t *src)
- {
-     float f;
-     uint32_t i;
-+    uint8_t a, b, c, d;
- 
--    i = ntohl((((uint32_t)src[1]) << 16) + src[0]);
--    memcpy(&f, &i, sizeof(float));
-+    a = (src[0] >> 8) & 0xFF;
-+    b = (src[0] >> 0) & 0xFF;
-+    c = (src[1] >> 8) & 0xFF;
-+    d = (src[1] >> 0) & 0xFF;
-+
-+    i = (c << 24) |
-+        (d << 16) |
-+        (a << 8) |
-+        (b << 0);
-+    memcpy(&f, &i, 4);
- 
-     return f;
- }
-@@ -172,50 +208,84 @@ float modbus_get_float(const uint16_t *src)
-     memcpy(&f, &i, sizeof(float));
- 
-     return f;
-+
- }
- 
- /* Set a float to 4 bytes for Modbus w/o any conversion (ABCD) */
- void modbus_set_float_abcd(float f, uint16_t *dest)
- {
-     uint32_t i;
-+    uint8_t *out = (uint8_t*) dest;
-+    uint8_t a, b, c, d;
- 
-     memcpy(&i, &f, sizeof(uint32_t));
--    i = htonl(i);
--    dest[0] = (uint16_t)(i >> 16);
--    dest[1] = (uint16_t)i;
-+    a = (i >> 24) & 0xFF;
-+    b = (i >> 16) & 0xFF;
-+    c = (i >> 8) & 0xFF;
-+    d = (i >> 0) & 0xFF;
-+
-+    out[0] = a;
-+    out[1] = b;
-+    out[2] = c;
-+    out[3] = d;
- }
- 
- /* Set a float to 4 bytes for Modbus with byte and word swap conversion (DCBA) */
- void modbus_set_float_dcba(float f, uint16_t *dest)
- {
-     uint32_t i;
-+    uint8_t *out = (uint8_t*) dest;
-+    uint8_t a, b, c, d;
- 
-     memcpy(&i, &f, sizeof(uint32_t));
--    i = bswap_32(htonl(i));
--    dest[0] = (uint16_t)(i >> 16);
--    dest[1] = (uint16_t)i;
-+    a = (i >> 24) & 0xFF;
-+    b = (i >> 16) & 0xFF;
-+    c = (i >> 8) & 0xFF;
-+    d = (i >> 0) & 0xFF;
-+
-+    out[0] = d;
-+    out[1] = c;
-+    out[2] = b;
-+    out[3] = a;
-+
- }
- 
- /* Set a float to 4 bytes for Modbus with byte swap conversion (BADC) */
- void modbus_set_float_badc(float f, uint16_t *dest)
- {
-     uint32_t i;
-+    uint8_t *out = (uint8_t*) dest;
-+    uint8_t a, b, c, d;
- 
-     memcpy(&i, &f, sizeof(uint32_t));
--    i = htonl(i);
--    dest[0] = (uint16_t)bswap_16(i >> 16);
--    dest[1] = (uint16_t)bswap_16(i & 0xFFFF);
-+    a = (i >> 24) & 0xFF;
-+    b = (i >> 16) & 0xFF;
-+    c = (i >> 8) & 0xFF;
-+    d = (i >> 0) & 0xFF;
-+
-+    out[0] = b;
-+    out[1] = a;
-+    out[2] = d;
-+    out[3] = c;
- }
- 
- /* Set a float to 4 bytes for Modbus with word swap conversion (CDAB) */
- void modbus_set_float_cdab(float f, uint16_t *dest)
- {
-     uint32_t i;
-+    uint8_t *out = (uint8_t*) dest;
-+    uint8_t a, b, c, d;
- 
-     memcpy(&i, &f, sizeof(uint32_t));
--    i = htonl(i);
--    dest[0] = (uint16_t)i;
--    dest[1] = (uint16_t)(i >> 16);
-+    a = (i >> 24) & 0xFF;
-+    b = (i >> 16) & 0xFF;
-+    c = (i >> 8) & 0xFF;
-+    d = (i >> 0) & 0xFF;
-+
-+    out[0] = c;
-+    out[1] = d;
-+    out[2] = a;
-+    out[3] = b;
- }
- 
- /* DEPRECATED - Set a float to 4 bytes in a sort of Modbus format! */
-diff --git a/tests/unit-test-client.c b/tests/unit-test-client.c
-index 3e315f4..3fccf3e 100644
---- a/tests/unit-test-client.c
-+++ b/tests/unit-test-client.c
-@@ -27,6 +27,7 @@ int send_crafted_request(modbus_t *ctx, int function,
-                          uint16_t max_value, uint16_t bytes,
-                          int backend_length, int backend_offset);
- int equal_dword(uint16_t *tab_reg, const uint32_t value);
-+int is_memory_equal(const void *s1, const void *s2, size_t size);
- 
- #define BUG_REPORT(_cond, _format, _args ...) \
-     printf("\nLine %d: assertion error for '%s': " _format "\n", __LINE__, # _cond, ## _args)
-@@ -40,6 +41,11 @@ int equal_dword(uint16_t *tab_reg, const uint32_t value);
-     }                                             \
- };
- 
-+int is_memory_equal(const void *s1, const void *s2, size_t size)
-+{
-+    return (memcmp(s1, s2, size) == 0);
-+}
-+
- int equal_dword(uint16_t *tab_reg, const uint32_t value) {
-     return ((tab_reg[0] == (value >> 16)) && (tab_reg[1] == (value & 0xFFFF)));
- }
-@@ -286,26 +292,26 @@ int main(int argc, char *argv[])
-     /** FLOAT **/
-     printf("1/4 Set/get float ABCD: ");
-     modbus_set_float_abcd(UT_REAL, tab_rp_registers);
--    ASSERT_TRUE(equal_dword(tab_rp_registers, UT_IREAL_ABCD), "FAILED Set float ABCD");
--    real = modbus_get_float_abcd(tab_rp_registers);
-+    ASSERT_TRUE(is_memory_equal(tab_rp_registers, UT_IREAL_ABCD_SET, 4), "FAILED Set float ABCD");
-+    real = modbus_get_float_abcd(UT_IREAL_ABCD_GET);
-     ASSERT_TRUE(real == UT_REAL, "FAILED (%f != %f)\n", real, UT_REAL);
- 
-     printf("2/4 Set/get float DCBA: ");
-     modbus_set_float_dcba(UT_REAL, tab_rp_registers);
--    ASSERT_TRUE(equal_dword(tab_rp_registers, UT_IREAL_DCBA), "FAILED Set float DCBA");
--    real = modbus_get_float_dcba(tab_rp_registers);
-+    ASSERT_TRUE(is_memory_equal(tab_rp_registers, UT_IREAL_DCBA_SET, 4), "FAILED Set float DCBA");
-+    real = modbus_get_float_dcba(UT_IREAL_DCBA_GET);
-     ASSERT_TRUE(real == UT_REAL, "FAILED (%f != %f)\n", real, UT_REAL);
- 
-     printf("3/4 Set/get float BADC: ");
-     modbus_set_float_badc(UT_REAL, tab_rp_registers);
--    ASSERT_TRUE(equal_dword(tab_rp_registers, UT_IREAL_BADC), "FAILED Set float BADC");
--    real = modbus_get_float_badc(tab_rp_registers);
-+    ASSERT_TRUE(is_memory_equal(tab_rp_registers, UT_IREAL_BADC_SET, 4), "FAILED Set float BADC");
-+    real = modbus_get_float_badc(UT_IREAL_BADC_GET);
-     ASSERT_TRUE(real == UT_REAL, "FAILED (%f != %f)\n", real, UT_REAL);
- 
-     printf("4/4 Set/get float CDAB: ");
-     modbus_set_float_cdab(UT_REAL, tab_rp_registers);
--    ASSERT_TRUE(equal_dword(tab_rp_registers, UT_IREAL_CDAB), "FAILED Set float CDAB");
--    real = modbus_get_float_cdab(tab_rp_registers);
-+    ASSERT_TRUE(is_memory_equal(tab_rp_registers, UT_IREAL_CDAB_SET, 4), "FAILED Set float CDAB");
-+    real = modbus_get_float_cdab(UT_IREAL_CDAB_GET);
-     ASSERT_TRUE(real == UT_REAL, "FAILED (%f != %f)\n", real, UT_REAL);
- 
-     printf("\nAt this point, error messages doesn't mean the test has failed\n");
-diff --git a/tests/unit-test.h.in b/tests/unit-test.h.in
-index dca826f..4ffa254 100644
---- a/tests/unit-test.h.in
-+++ b/tests/unit-test.h.in
-@@ -56,12 +56,45 @@ const uint16_t UT_INPUT_REGISTERS_ADDRESS = 0x108;
- const uint16_t UT_INPUT_REGISTERS_NB = 0x1;
- const uint16_t UT_INPUT_REGISTERS_TAB[] = { 0x000A };
- 
-+/*
-+ * This float value is 0x47F12000 (in big-endian format).
-+ * In Little-endian(intel) format, it will be stored in memory as follows:
-+ * 0x00 0x20 0xF1 0x47
-+ *
-+ * You can check this with the following code:
-+
-+   float fl = UT_REAL;
-+   uint8_t *inmem = (uint8_t*)&fl;
-+   int x;
-+   for(x = 0; x < 4; x++){
-+       printf("0x%02X ", inmem[ x ]);
-+   }
-+   printf("\n");
-+ */
- const float UT_REAL = 123456.00;
- 
--const uint32_t UT_IREAL_ABCD = 0x0020F147;
--const uint32_t UT_IREAL_DCBA = 0x47F12000;
--const uint32_t UT_IREAL_BADC = 0x200047F1;
--const uint32_t UT_IREAL_CDAB = 0xF1470020;
-+/*
-+ * The following arrays assume that 'A' is the MSB,
-+ * and 'D' is the LSB.
-+ * Thus, the following is the case:
-+ * A = 0x47
-+ * B = 0xF1
-+ * C = 0x20
-+ * D = 0x00
-+ *
-+ * There are two sets of arrays: one to test that the setting is correct,
-+ * the other to test that the getting is correct.
-+ * Note that the 'get' values must be constants in processor-endianness,
-+ * as libmodbus will convert all words to processor-endianness as they come in.
-+ */
-+const uint8_t UT_IREAL_ABCD_SET[] = {0x47, 0xF1, 0x20, 0x00};
-+const uint16_t UT_IREAL_ABCD_GET[] = {0x47F1, 0x2000};
-+const uint8_t UT_IREAL_DCBA_SET[] = {0x00, 0x20, 0xF1, 0x47};
-+const uint16_t UT_IREAL_DCBA_GET[] = {0x0020, 0xF147};
-+const uint8_t UT_IREAL_BADC_SET[] = {0xF1, 0x47, 0x00, 0x20};
-+const uint16_t UT_IREAL_BADC_GET[] = {0xF147, 0x0020};
-+const uint8_t UT_IREAL_CDAB_SET[] = {0x20, 0x00, 0x47, 0xF1};
-+const uint16_t UT_IREAL_CDAB_GET[] = {0x2000, 0x47F1};
- 
- /* const uint32_t UT_IREAL_ABCD = 0x47F12000);
- const uint32_t UT_IREAL_DCBA = 0x0020F147;
diff --git a/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.0.6.bb b/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.0.6.bb
deleted file mode 100644
index b4d32fb..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.0.6.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require libmodbus.inc
-
-SRC_URI[md5sum] = "c80f88b6ca19cabc4ceffc195ca07771"
-SRC_URI[sha256sum] = "046d63f10f755e2160dc56ef681e5f5ad3862a57c1955fd82e0ce036b69471b6"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.10.bb b/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.10.bb
new file mode 100644
index 0000000..9e17f91
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.10.bb
@@ -0,0 +1,17 @@
+SUMMARY = "A Modbus library for Linux, Mac OS, FreeBSD and Windows"
+DESCRIPTION = "libmodbus is a free software library to send/receive data with a device which respects the Modbus protocol. This library can use a serial port or an Ethernet connection."
+HOMEPAGE = "http://www.libmodbus.org/"
+SECTION = "libs"
+
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "git://github.com/stephane/libmodbus;branch=master;protocol=https"
+SRCREV = "2cbafa3113e276c3697d297f68e88d112b53174d"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[test] = "--enable-tests,--disable-tests,,"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.7.bb b/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.7.bb
deleted file mode 100644
index 6c0e315..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.7.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require libmodbus.inc
-
-SRC_URI += "file://Fix-float-endianness-issue-on-big-endian-arch.patch"
-SRC_URI[sha256sum] = "7dfe958431d0570b271e1a5b329b76a658e89c614cf119eb5aadb725c87f8fbd"
-
-# this file has been created one minute after the configure file, so it doesn't get recreated during configure step
-do_configure:prepend() {
-	rm -rf ${S}/tests/unit-test.h
-}