meta-openembedded: subtree update:2449e5f07a..8fbcfb9f02

Adrian Zaharia (1):
      ntp: fix ntpdate to wait for subprocesses

Akifumi Chikazawa (1):
      openvpn: add CVE-2020-7224 and CVE-2020-27569 to allowlist

Andrea Adami (3):
      initramfs-kexecboot-image: support cases where machines override IMAGE_FSTYPES
      initramfs-debug-image: support cases where machines override IMAGE_FSTYPES
      rapidjson: remove stale LIB_INSTALL_DIR

Andreas Müller (50):
      poppler: upgrade 21.05.0 -> 21.06.0
      dbus-broker: upgrade 28 -> 29
      libmbim: upgrade 1.24.6 -> 1.24.8
      icewm: upgrade 2.3.3 -> 2.3.4
      poppler: upgrade 21.06.0 -> 21.06.1
      gnome-disk-utility: upgrade 3.36.3 -> 40.1
      gnome-font-viewer: upgrade 3.34.0 -> 40.0
      pipewire: upgrade 0.3.24 -> 0.3.29
      libqmi: upgrade 1.28.4 -> 1.28.6
      ttf-noto-emoji: upgrade 20190815 -> 20200916
      remmina: upgrade 1.4.17 -> 1.4.18
      metacity: upgrade 3.36.1 -> 3.40.0
      gnome-flashback: upgrade 3.36.3 -> 3.40.0
      gthumb: initial add 3.10.3
      atkmm: upgrade 2.28.0 -> 2.28.2
      atkmm: build with meson
      dconf: upgrade 0.38.0 -> 0.40.0
      evolution-data-server: upgrade 3.40.1 -> 3.40.2
      file-roller: upgrade 3.38.1 -> 3.40.0
      glibmm: upgrade 2.62.0 -> 2.66.1 / build with meson / cleanup recipe
      gmime: upgrade 3.2.6 -> 3.2.7
      gnome-autoar; upgrade 0.3.2 -> 0.3.3
      gnome-keyring: upgrade 3.36.0 -> 40.0
      gnome-online-accounts: upgrade 3.36.0 -> 3.40.0
      gnome-terminal: upgrade 3.36.2 -> 3.40.2
      gspell: upgrade 1.8.4 -> 1.9.1
      gtkmm3: upgrade 3.24.3 -> 3.24.5
      gtksourceview4: upgrade 4.6.1 -> 4.8.1
      gupnp: upgrade 1.2.6 -> 1.2.7
      gvfs: upgrade 1.44.1 -> 1.48.1
      libgdata: upgrade 0.17.13 -> 0.18.1
      libmediaart 0.7.0: remove
      libmediaart-2.0: upgrade 1.9.4 -> 1.9.5 / merge inc file / build with meson
      libsigc++-2.0: upgrade 2.10.6 -> 2.10.7
      nautilus: upgrade 40.1 -> 40.2
      pangomm: upgrade 2.42.1 -> 2.46.1 / build with meson
      yelp-xsl: upgrade 3.36.0 -> 4.02
      yelp-tools: upgrade 3.32.2 -> 40.0
      yelp: upgrade 3.36.0 -> 40.2
      modemmanager: upgrade 1.16.4 -> 1.16.6
      xfce4-settings: 4.16.1 upgrade 4.16.2
      blueman: upgrade 2.1.4 -> 2.2.1
      pipewire: upgrade 0.3.30 -> 0-3-31
      cmark: upgrade 0.29.0 -> 0.30.0
      networkmanager: upgrade 1.30.4 -> 1.32.2
      ristretto: upgrade 0.10.0 -> 0.11.0
      libgusb: upgrade 0.3.6 -> 0.3.7
      poppler: upgrade 21.06.1 -> 21.07.0
      gegl: Disable pango on native build to fix gimp build segfaults
      gimp: remove --disable-vector-icons

Bartosz Golaszewski (13):
      libgpiod: coding style fixes
      libgpiod: list all packages in a single assignment
      libgpiod: fix RRECOMMENDS for python bindings
      libgpiod: correctly split output files into packages
      libgpiod: add RDEPENDS for tests
      libgpiod: redirect stdout from the ptest executable to a file
      libgpiod: ptest: run all test-suites if possible
      libgpiod: ptest: warn if the gpio-mockup kernel module is not selected
      libgpiod: ptest: add kernel-modules to RRECOMMENDS
      libgpiod: ptest: only rrecommend a single module that we need
      libgpiod: add the python test-suite to the ptest package
      libgpiod: update my email address
      python3-joblib: new package

Ben Horgan (1):
      cpputest: Add initial recipe. Version 4.0.

Carlos Rafael Giani (2):
      pipewire: Add filter-chain files to modules-filter-chain package
      pipewire: Upgrade to 0.3.30

Changqing Li (1):
      mousepad: fix warning during postinst

Chen Qi (1):
      minifi-cpp: set CLEANBROKEN to 1

Daiane Angolini (1):
      wireguard-module: Stop overriding modules_install in the recipe

Daniel Klauer (1):
      spidev-test: Update common-licenses reference

David Sterling (1):
      can-isotp: Upgrade to latest on master

Ed Tanous (1):
      Use the built-in options for removing pack tools

Geoff Parker (1):
      cifs-utils: set ROOTSBINDIR to /usr/sbin if DISTRO_FEATURES has usrmerge

Gianfranco (2):
      vboxguestdrivers: add a fix for build failure with kernel 5.13
      dlt-daemon: update from 2.18.6 to 2.18.7

Hongxu Jia (1):
      debootstrap: fix runtime failure on nativesdk

Joshua Watt (1):
      gnome: gnome-shell: Move gsettings to their own package

Kai Kang (4):
      python3-m2crypto: fix word size for qemuppc64 little endian
      python3-m2crypto: avoid host contamination for swig
      bats: fix qa issue when multilib eanbled
      mariadb: fix failures to start install_db.service

Khem Raj (57):
      glog: Upgrade to 0.5.0
      mbedtls: Upgrade to 2.26.0
      mbedtls: Add packageconfig for warning-as-errors
      memcached: upgrade to 1.6.9
      indent: Remove dead code using count_parens function
      glm: Fix additional clang warnings
      tbb: Fix warnings with clang
      libwebsockets: Update to latest on v4.2-stable
      packagegroup-meta-oe: Add libparse-yapp-perl
      netplan: Fix a warning with clang
      python3-yappi: Fix patching errors
      packagegroup-meta-oe: Add zsync-curl
      klibc: Add clang's -rtlib to known options
      libpfm4: Upgrade to 4.11.0
      ltrace: Remove unused static function
      flashrom: Fix build with clang
      mongodb: Enable wiredtiger only on aarch64/x86_64 hosts
      mariadb: Fix build with clang/musl
      c-ares: Upgrade to 1.17.1 release
      nodejs: Update to 14.17.1
      rocksdb: Upgrade to 6.20.3
      rocksdb: Implement toku_time_now function for rv32/rv64
      rocksdb: Fix build with ppc64/musl
      rocksdb: Implement timer for mips
      rocksdb: Implement timer for armv6+
      rocksdb: Fix build with gcc on rv32 and mips
      libzip: Upgrade to 1.8.0
      czmq: Inherit pkgconfig
      czmq: Add libmicrohttpd feature via packageconfig
      czmq: Use Cmake knobs to enable/disable designed packageconfigs
      czmq: Add nss packageconfig
      meta-python: Add python3-fastjsonschema and its dependencies
      packagegroup-meta-python: Add newly added recipes
      python3-process-tests: Add recipe
      python3-aspectlib: Add ptests
      python3-execnet: Add ptests
      python3-py-cpuinfo: Add ptests
      libc-bench: Do not override ldflags in makefile
      mpich: Add libgcc to ldflags on x86/glibc
      mpd: Update to 0.22.9
      imlib2: Use propert git SHA in SRCREV
      suitesparse: Update to 5.10.1
      packagegroup-meta-oe: Add libyang
      sysdig: Disable JIT on ppc64
      portaudio-v19: Use GNUInstallDirs to make it portable
      keepalived: Upgrade to 2.2.2
      suitesparse: Fix LIC_FILES_CHKSUM
      xscreensaver: Update to 6.01
      ltrace: Fix mips build with kernels 5.13+
      python3-pyusb: Add missing runtime dependency on libusb1
      can-isotp: Ignore in world builds
      postfix: Upgrade to 3.6.1
      packagegroup-meta-oe: Add new package cpputest
      apitrace: Update to latest trunk
      fatresize: Disable building documentation files
      layers: Fix git send-email instructions in README
      autofs: Upgrade to 5.1.7

Leon Anavi (61):
      python3-oauthlib: Upgrade 3.1.0 -> 3.1.1
      python3-django: Upgrade 3.2.3 -> 3.2.4
      python3-sqlalchemy: Upgrade 1.4.15 -> 1.4.17
      python3-aiohue: Upgrade 2.5.0 -> 2.5.1
      python3-typeguard: Upgrade 2.12.0 -> 2.12.1
      python3-cbor2: Upgrade 5.3.0 -> 5.4.0
      python3-ipython: Upgrade 7.24.0 -> 7.24.1
      python3-pkgconfig: Upgrade 1.5.2 -> 1.5.4
      python3-humanize: Upgrade 3.6.0 -> 3.7.1
      python3-fasteners: Upgrade 0.16 -> 0.16.1
      python3-pythonping: Upgrade 1.0.16 -> 1.1.0
      python3-bitarray: Upgrade 2.1.0 -> 2.1.2
      python3-coloredlogs: Upgrade 15.0 -> 15.0.1
      python3-pysonos: Upgrade 0.0.50 -> 0.0.51
      python3-dill: Upgrade 0.3.3 -> 0.3.4
      python3-humanfriendly: Upgrade 9.1 -> 9.2
      python3-zeroconf: Add recipe
      python3-pychromecast: Upgrade 9.1.2 -> 9.2.0
      python3-ifaddr: Fix RDEPENDS
      python3-bitarray: Upgrade 2.1.2 -> 2.1.3
      python3-astroid: Upgrade 2.5.7 -> 2.5.8
      python3-license-expression: Upgrade 1.2 -> 21.6.14
      python3-humanize: Upgrade 3.7.1 -> 3.9.0
      python3-ruamel-yaml: Upgrade 0.17.7 -> 0.17.9
      python3-cmd2: Upgrade 1.5.0 -> 2.1.1
      python3-fasteners: Upgrade 0.16.1 -> 0.16.3
      python3-elementpath: Upgrade 2.2.2 -> 2.2.3
      python3-prompt-toolkit: Upgrade 3.0.18 -> 3.0.19
      python3-mypy: Upgrade 0.812 -> 0.902
      python3-send2trash: Upgrade 1.5.0 -> 1.7.1
      python3-pandas: Upgrade 1.2.4 -> 1.2.5
      python3-mypy: Upgrade 0.902 -> 0.910
      python3-astroid: Upgrade 2.5.8 -> 2.6.0
      python3-tqdm: Upgrade 4.61.0 -> 4.61.1
      python3-ruamel-yaml: Upgrade 0.17.9 -> 0.17.10
      python3-httplib2: Fix runtime dependencies
      python3-google-api-core: Add recipe
      python3-google-auth: Add recipe
      python3-googleapis-common-protos: Add recipe
      python3-google-api-python-client: Upgrade 2.6.0 -> 2.10.0
      python3-ipython: Upgrade 7.24.1 -> 7.25.0
      python3-croniter: Upgrade 1.0.13 -> 1.0.15
      python3-priority: Upgrade 1.3.0 -> 2.0.0
      python3-astroid: Upgrade 2.6.0 -> 2.6.2
      python3-watchdog: Upgrade 2.1.2 -> 2.1.3
      python3-humanize: Upgrade 3.9.0 -> 3.10.0
      python3-pillow: Upgrade 8.2.0 -> 8.3.1
      python3-bitarray: Upgrade 2.1.3 -> 2.2.1
      python3-cmd2: Upgrade 2.1.1 -> 2.1.2
      python3-pandas: Upgrade 1.2.5 -> 1.3.0
      python3-texttable: Upgrade 1.6.3 -> 1.6.4
      python3-dateutil: Upgrade 2.8.1 -> 2.8.2
      python3-requests: Upgrade 2.25.1 -> 2.26.0
      python3-websocket-client: Upgrade 1.0.1 -> 1.1.0
      python3-pysonos: Upgrade 0.0.51 -> 0.0.53
      python3-bitarray: Upgrade 2.2.1 -> 2.2.2
      python3-pyusb: Upgrade 1.2.0 -> 1.2.1
      python3-zeroconf: Upgrade 0.31.0 -> 0.33.1
      python3-yamlloader: Upgrade 1.0.0 -> 1.1.0
      python3-astroid: Upgrade 2.6.2 -> 2.6.5
      python3-pkgconfig: Upgrade 1.5.4 -> 1.5.5

Luan Rafael Carneiro (1):
      libwebsockets: Update 4.2.0 -> 4.2.1

Luca Boccassi (2):
      dbus-broker: remove deprecated linux-4-17 option
      dbus-broker: enforce required versions of libselinux and libaudit

Marek Vasut (1):
      nss: Fix build on Centos 7

Martin Jansa (1):
      rygel: require gobject-introspection-data in DISTRO_FEATURES

Masaki Ambai (1):
      nss: add CVE-2006-5201 to allowlist

Oleksandr Kravchuk (1):
      iwd: update to 1.15

Olivier Georget (1):
      libpfm4 4.10.1 : enable arm64 host platform

Ovidiu Panait (1):
      libeigen: update LICENSE information

Pascal Bach (1):
      python3-thrift: support native recipe

Persian Prince (1):
      samba: Don't guess dirs for perllocal.pod removing

Peter Bergin (4):
      linuxptp: use install from makefile and install more apps
      linuxptp: add homepage
      linuxptp: ship example configurations in separate package
      hiredis: add cmake config file for pkgconfig

Peter Kjellerstedt (3):
      net-snmp: A little clean up
      net-snmp: Support building for native
      cryptsetup: Only recommend kernel modules when building for target

Philip Balister (1):
      fftw: Update recipe to 3.3.9.

Pierre-Jean Texier (5):
      libtinyxml2: upgrade 8.1.0 -> 9.0.0
      sshfs-fuse: upgrade 3.7.1 -> 3.7.2
      monit: upgrade 5.27.2 -> 5.28.0
      spitools: upgrade 0.8.7 -> 1.0.0
      linuxptp: fix upstream version check

Ross Burton (1):
      zsync-curl: add recipe

Sam Van Den Berge (1):
      libiio: fix installing libiio when python3 bindings are enabled

Sekine Shigeki (2):
      add CVE-2011-2411 to allowlist
      ntp: add CVE-2016-9312 to allowlist

Signed-off-by: Bartosz Golaszewski (1):
      Revert "libgpiod: ptest: warn if the gpio-mockup kernel module is not selected"

Tim Orling (8):
      libcgi-perl: upgrade 4.51 -> 4.53
      libcrypt-openssl-guess-perl: upgrade 0.12 -> 0.13
      libextutils-cppguess-perl: upgrade 0.21 -> 0.23
      libio-socket-ssl-perl: upgrade 2.068 -> 2.071
      libmoo-perl: upgrade 2.004000 -> 2.005004
      libnet-dns-perl: upgrade 1.26 -> 1.31
      libtest-warnings-perl: upgrade 0.028 -> 0.030
      logcheck: upgrade 1.3.20 -> 1.3.23

Tony Tascioglu (2):
      libyang: create recipe for libyang
      redis: upgrade to 6.2.4

Trevor Gamblin (9):
      libnftnl: upgrade 1.1.9 -> 1.2.0
      nftables: upgrade 0.9.8 -> 0.9.9
      python3-yarl: backport fix for test_url_query test
      python3-yappi: fix ptests
      python3-django: upgrade 2.2.23 -> 2.2.24
      python3-django: upgrade 3.2.4 -> 3.2.5
      python3-geomet: add recipe
      python3-cassandra-driver: add geomet to RDEPENDS, remove DISTUTILS options
      python3-geomet: Add missing RDEPENDS; add to packagegroup-meta-python

Yi Zhao (14):
      libldb: upgrade 1.5.8 -> 2.3.0
      samba: upgrade 4.10.18 -> 4.14.4
      samba: update smb.conf
      libparse-yapp-perl: add recipe
      dhcp-relay: update bundled bind to 9.11.32
      dhcp-relay: disable backtrace in bundled bind
      dhcp-relay: update 4.4.2 -> 4.4.2-P1
      packagegroup-meta-networking: add dhcp-relay
      samba: disable check fcntl RW_HINTS when configure
      samba: upgrade 4.14.4 -> 4.14.5
      minifi-cpp: set correct python processor directory in configure file
      samba: fix shebang for pidl
      samba: add missing runtime dependency for pidl
      audit: upgrade 3.0.1 -> 3.0.2

Zoltán Böszörményi (2):
      mariadb: Use qemu to run cross-compiled binaries
      mariadb: Upgrade to 10.5.11

hayashi.satoshi@fujitsu.com (1):
      dracut: add CVE-2010-4176 to allowlist

ito-yuichi@fujitsu.com (2):
      cyrus-sasl: add CVE-2020-8032 to allowlist
      dovecot: add CVE-2016-4983 to allowlist

massimo toscanelli (1):
      sysbench: fix memory test

wangmy (8):
      samba: Solve the dependency problem when installing Samba
      fatresize: upgrade 1.0.2 -> 1.1.0
      xfsprogs: upgrade 5.10.0 -> 5.12.0
      ctags: upgrade 5.9.20210627.0 -> 5.9.20210711.0
      icewm: upgrade 2.3.4 -> 2.6.0
      yelp: upgrade 40.2 -> 40.3
      live555: upgrade 20210406 -> 20210710
      modemmanager: upgrade 1.16.6 -> 1.16.8

zangrc (49):
      python3-idna: upgrade 3.1 -> 3.2
      netplan: upgrade 0.101 -> 0.102
      wireshark: upgrade 3.4.5 -> 3.4.6
      tracker: upgrade 3.0.4 -> 3.1.1
      tracker-miners: upgrade 3.0.5 -> 3.1.1
      rasdaemon: upgrade 0.6.6 -> 0.6.7
      speedtest-cli: upgrade 2.1.2 -> 2.1.3
      abseil-cpp: upgrade 20210324 -> 20210324.2
      cryptsetup: upgrade 2.3.5 -> 2.3.6
      ctags: upgrade 5.9.20210502.0 -> 5.9.20210606.0
      opencl-clhpp: upgrade 2.0.13 -> 2.0.14
      protobuf: upgrade 3.17.0 -> 3.17.3
      toybox: upgrade 0.8.4 -> 0.8.5
      fuse3: upgrade 3.10.3 -> 3.10.4
      evince: upgrade 40.1 -> 40.2
      mosquitto: upgrade 2.0.10 -> 2.0.11
      ctags: upgrade 5.9.20210606.0 -> 20210613.0
      fsverity-utils: upgrade 1.3 -> 1.4
      googletest: upgrade 1.10.0 -> 1.11.0
      mg: upgrade 20210314 -> 20210609
      nano: upgrade 5.7 -> 5.8
      openvpn: upgrade 2.5.2 -> 2.5.3
      snort: upgrade 2.9.17.1 -> 2.9.18
      function2: upgrade 4.1.0 -> 4.2.0
      python3-configargparse: upgrade 1.4.1 -> 1.5
      python3-grpcio-tools: upgrade 1.37.0 -> 1.38.1
      python3-h5py: upgrade 3.2.1 -> 3.3.0
      python3-isort: upgrade 5.8.0 -> 5.9.1
      can-utils: upgrade 2020.12.0 -> 2021.06.0
      ctags: upgrade 5.9.20210620.0 -> 5.9.20210627.0
      python3-gast: upgrade 0.4.0 -> 0.5.0
      python3-grpcio: upgrade 1.38.0 -> 1.38.1
      python3-haversine: upgrade 2.3.0 -> 2.3.1
      python3-m2crypto: upgrade 0.37.1 -> 0.38.0
      python3-pyrsistent: upgrade 0.17.3 -> 0.18.0
      babl: upgrade 0.1.86 -> 0.1.88
      python3-pyusb: upgrade 1.1.1 -> 1.2.0
      python3-google-api-python-client: upgrade 2.10.0 -> 2.12.0
      firewalld: upgrade 0.9.3 -> 0.9.4
      strongswan: upgrade 5.9.2 -> 5.9.3
      opencl-clhpp: upgrade 2.0.14 -> 2.0.15
      python3-cffi: upgrade 1.14.5 -> 1.14.6
      python3-configargparse: upgrade 1.5 -> 1.5.1
      python3-cryptography-vectors: upgrade 3.4.6 -> 3.4.7
      python3-flask-migrate: upgrade 3.0.0 -> 3.0.1
      python3-flask-socketio: upgrade 5.0.3 -> 5.1.0
      python3-isort: upgrade 5.9.1 -> 5.9.2
      python3-networkx: upgrade 2.5.1 -> 2.6.1
      python3-gnupg: upgrade 0.4.6 -> 0.4.7

zhengruoqin (30):
      opensaf: upgrade 5.21.03 -> 5.21.06
      fio: upgrade 3.26 -> 3.27
      gensio: upgrade 2.2.5 -> 2.2.7
      memtester: upgrade 4.5.0 -> 4.5.1
      graphene: upgrade 1.10.2 -> 1.10.6
      iozone3: upgrade 490 -> 492
      net-snmp: upgrade 5.9 -> 5.9.1
      rsnapshot: upgrade 1.4.3 -> 1.4.4
      rsyslog: upgrade 8.2104.0 -> 8.2106.0
      python3-absl: upgrade 0.12.0 -> 0.13.0
      ctags: upgrade 5.9.20210613.0 -> 5.9.20210620.0
      fwts: upgrade 21.03.00 -> 21.06.00
      grpc: upgrade 1.38.0 -> 1.38.1
      libconfig: upgrade 1.7.2 -> 1.7.3
      satyr: upgrade 0.37 -> 0.38
      libnet-telnet-perl: upgrade 3.04 -> 3.05
      python3-scrypt: upgrade 0.8.17 -> 0.8.18
      python3-urllib3: upgrade 1.26.5 -> 1.26.6
      python3-sqlalchemy: upgrade 1.4.17 -> 1.4.20
      python3-qrcode: upgrade 6.1 -> 7.1
      python3-regex: upgrade 2021.4.4 -> 2021.7.6
      python3-sentry-sdk: upgrade 1.1.0 -> 1.2.0
      python3-tqdm: upgrade 4.61.1 -> 4.61.2
      python3-xlsxwriter: upgrade 1.4.3 -> 1.4.4
      ostree: upgrade 2021.2 -> 2021.3
      span-lite: upgrade 0.9.2 -> 0.10.0
      python3-pymisp: upgrade 2.4.143 -> 2.4.144
      python3-protobuf: upgrade 3.17.0 -> 3.17.3
      python3-pulsectl: upgrade 21.5.17 -> 21.5.18
      python3-pytun: upgrade 2.3.0 -> 2.4.1

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: Ie45184e6f308aa2fc98ee6edf4a3ca1c4afbb5b4
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.10.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.11.bb
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.10.bb
rename to meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.11.bb
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
index 25e630a..5787ae4 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
@@ -12,7 +12,6 @@
            file://mysql-systemd-start \
            file://configure.cmake-fix-valgrind.patch \
            file://support-files-CMakeLists.txt-fix-do_populate_sysroot.patch \
-           file://sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch \
            file://0001-disable-ucontext-on-musl.patch \
            file://c11_atomics.patch \
            file://clang_version_header_conflict.patch \
@@ -21,12 +20,12 @@
            file://0001-innobase-Define-__NR_futex-if-it-does-not-exist.patch \
            file://0001-aio_linux-Check-if-syscall-exists-before-using-it.patch \
            file://sys_futex.patch \
-           file://cross-compiling.patch \
            file://ssize_t.patch \
+           file://mm_malloc.patch \
           "
 SRC_URI_append_libc-musl = " file://ppc-remove-glibc-dep.patch"
 
-SRC_URI[sha256sum] = "a5ff32f9fcaaf26bf5cba94accc7b246d2d5eb75710d027e40122df6bac0babb"
+SRC_URI[sha256sum] = "761053605fe30ce393f324852117990350840a93b3e6305ef4d2f8c8305cc47a"
 
 UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases"
 
@@ -37,15 +36,15 @@
 inherit cmake gettext binconfig update-rc.d useradd systemd multilib_script
 
 MULTILIB_SCRIPTS = "${PN}-server:${bindir}/mariadbd-safe \
-                    ${PN}-server:${bindir}/mariadb-install-db"
+                    ${PN}-setupdb:${bindir}/mariadb-install-db"
 
 INITSCRIPT_PACKAGES = "${PN}-server ${PN}-setupdb"
 INITSCRIPT_NAME_${PN}-server = "mysqld"
 INITSCRIPT_PARAMS_${PN}-server ?= "start 45 5 . stop 45 0 6 1 ."
 
-USERADD_PACKAGES = "${PN}-server"
-USERADD_PARAM_${PN}-server = "--system --home-dir /var/mysql -g mysql --shell /bin/false mysql"
-GROUPADD_PARAM_${PN}-server = "--system mysql"
+USERADD_PACKAGES = "${PN}-setupdb"
+USERADD_PARAM_${PN}-setupdb = "--system --home-dir /var/mysql -g mysql --shell /bin/false mysql"
+GROUPADD_PARAM_${PN}-setupdb = "--system mysql"
 
 INITSCRIPT_NAME_${PN}-setupdb = "install_db"
 INITSCRIPT_PARAMS_${PN}-setupdb ?= "defaults 44 44"
@@ -57,16 +56,18 @@
 SYSTEMD_SERVICE_${PN}-setupdb = "install_db.service"
 SYSTEMD_AUTO_ENABLE_${PN}-setupdb ?= "enable"
 ALLOW_EMPTY_${PN}-setupdb ?= "1"
-FILES_${PN}-setupdb = "${sysconfdir}/init.d/install_db"
+FILES_${PN}-setupdb = "${sysconfdir}/init.d/install_db \
+                       ${bindir}/mariadb-install-db \
+                       ${bindir}/my_print_defaults \
+                       ${bindir}/mysql_install_db \
+                       ${bindir}/mysql-systemd-start \
+                       "
 
-EXTRA_OEMAKE = "'GEN_LEX_HASH=${STAGING_BINDIR_NATIVE}/gen_lex_hash'"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} setupdb"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
 PACKAGECONFIG_class-native = ""
 PACKAGECONFIG[pam] = ",-DWITHOUT_AUTH_PAM=TRUE,libpam"
 PACKAGECONFIG[valgrind] = "-DWITH_VALGRIND=TRUE,-DWITH_VALGRIND=FALSE,valgrind"
 PACKAGECONFIG[krb5] = ", ,krb5"
-PACKAGECONFIG[setupdb] = ", ,,${PN}-setupdb"
 PACKAGECONFIG[zstd] = "-DWITH_ROCKSDB_ZSTD=ON,-DWITH_ROCKSDB_ZSTD=OFF,zstd"
 
 # MariaDB doesn't link properly with gold
@@ -94,6 +95,8 @@
                  -DCAT_EXECUTABLE=`which cat` \
                  -DCMAKE_AR:FILEPATH=${AR}"
 
+EXTRA_OECMAKE_prepend_class-target = "-DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper "
+
 # With Ninja it fails with:
 # make: *** No rule to make target `install'.  Stop.
 OECMAKE_GENERATOR = "Unix Makefiles"
@@ -116,12 +119,18 @@
     sed -i "/set( CMAKE_SYSTEM_PROCESSOR/d" ${WORKDIR}/toolchain.cmake
 }
 
-do_compile_prepend_class-target () {
-    # These need to be in-tree or make will think they need to be built,
-    # and since we're cross-compiling that is disabled
-    cp ${STAGING_BINDIR_NATIVE}/comp_err ${S}/extra
-    cp ${STAGING_BINDIR_NATIVE}/comp_sql ${S}/scripts
+do_configure_prepend_class-target () {
+	# Write out a qemu wrapper that will be used by cmake
+	# so that it can run target helper binaries through that.
+	qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}"
+	cat > ${WORKDIR}/qemuwrapper << EOF
+#!/bin/sh
+$qemu_binary "\$@"
+EOF
+	chmod +x ${WORKDIR}/qemuwrapper
+}
 
+do_compile_prepend_class-target () {
     if [ "${@bb.utils.contains('PACKAGECONFIG', 'krb5', 'yes', 'no', d)}" = "no" ]; then
         if ! [ -e ${B}/include/openssl/kssl.h ] ; then
             mkdir -p ${B}/include/openssl
@@ -131,11 +140,6 @@
             echo "#endif" >>${B}/include/openssl/kssl.h
         fi
     fi
-    # workaround to handle out-of-source build from source package
-    yacc_files="sql_yacc.hh sql_yacc.cc sql_yacc_ora.hh sql_yacc_ora.cc"
-    for yacc_file in ${yacc_files}; do
-        cp ${S}/sql/${yacc_file} ${B}/sql/${yacc_file}
-    done
 }
 
 SYSROOT_PREPROCESS_FUNCS += "mariadb_sysroot_preprocess"
@@ -185,10 +189,10 @@
     fi
 }
 
-PACKAGES = "${PN}-dbg ${PN} \
+PACKAGES = "${PN}-dbg ${PN}-setupdb ${PN} \
     libmysqlclient-r libmysqlclient-r-dev libmysqlclient-r-staticdev \
     libmysqlclient libmysqlclient-dev libmysqlclient-staticdev \
-    libmysqld libmysqld-dev ${PN}-client ${PN}-server ${PN}-setupdb ${PN}-leftovers"
+    libmysqld libmysqld-dev ${PN}-client ${PN}-server ${PN}-leftovers"
 CONFFILES_${PN}-server += "${sysconfdir}/my.cnf ${sysconfdir}/my.cnf.d/server.cnf"
 CONFFILES_${PN}-client += "${sysconfdir}/my.cnf.d/mysql-clients.cnf"
 CONFFILES_libmysqlclient += "${sysconfdir}/my.cnf.d/client.cnf"
@@ -291,7 +295,6 @@
     ${bindir}/mysql_convert_table_format \
     ${bindir}/mariadb-convert-table-format \
     ${bindir}/mysql_install_db \
-    ${bindir}/mariadb-install-db \
     ${bindir}/mysql_secure_installation \
     ${bindir}/mariadb-secure-installation \
     ${bindir}/mysql_setpermission \
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/cross-compiling.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/cross-compiling.patch
deleted file mode 100644
index 0f4815b..0000000
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/cross-compiling.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-This is not needed for OE builds
-
-building failed since native does not generate import_executables.cmake
-In fact, our building system will export the needed commands
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -392,11 +392,6 @@ CHECK_PCRE()
- 
- CHECK_SYSTEMD()
- 
--IF(CMAKE_CROSSCOMPILING AND NOT DEFINED CMAKE_CROSSCOMPILING_EMULATOR)
--  SET(IMPORT_EXECUTABLES "IMPORTFILE-NOTFOUND" CACHE FILEPATH "Path to import_executables.cmake from a native build")
--  INCLUDE(${IMPORT_EXECUTABLES})
--ENDIF()
--
- #
- # Setup maintainer mode options. Platform checks are
- # not run with the warning options as to not perturb fragile checks
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/mm_malloc.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/mm_malloc.patch
new file mode 100644
index 0000000..347fcd8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/mm_malloc.patch
@@ -0,0 +1,11 @@
+--- a/storage/rocksdb/rocksdb/port/jemalloc_helper.h
++++ b/storage/rocksdb/rocksdb/port/jemalloc_helper.h
+@@ -5,7 +5,7 @@
+ 
+ #pragma once
+ 
+-#if defined(__clang__)
++#if defined(__clang__) && defined(__GLIBC__)
+ // glibc's `posix_memalign()` declaration specifies `throw()` while clang's
+ // declaration does not. There is a hack in clang to make its re-declaration
+ // compatible with glibc's if they are declared consecutively. That hack breaks
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/ppc-remove-glibc-dep.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/ppc-remove-glibc-dep.patch
index d082d42..d6e53c2 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/ppc-remove-glibc-dep.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/ppc-remove-glibc-dep.patch
@@ -36,7 +36,7 @@
 +  __builtin_ppc_get_timebase();
  #elif defined __GNUC__ && (defined __arm__ || defined __aarch64__)
    /* Mainly, prevent the compiler from optimizing away delay loops */
-   __asm__ __volatile__ ("isb":::"memory");
+ #ifdef _aarch64_
 --- a/storage/tokudb/PerconaFT/portability/toku_time.h
 +++ b/storage/tokudb/PerconaFT/portability/toku_time.h
 @@ -124,7 +124,7 @@ static inline tokutime_t toku_time_now(v
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch
deleted file mode 100644
index 4cb0443..0000000
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From cfce1491827e5a581878b5e166bf4d30e6d90e07 Mon Sep 17 00:00:00 2001
-From: Mingli Yu <mingli.yu@windriver.com>
-Date: Thu, 23 Jul 2020 00:08:16 -0700
-Subject: [PATCH] sql/CMakeLists.txt: fix gen_lex_hash not found
-
-Fix the below do_compile issue in cross-compiling env.
-| make[2]: *** No rule to make target '/build/tmp/work/aarch64-poky-linux/mariadb/10.3.13-r0/mariadb-10.3.13/sql/gen_lex_hash', needed by 'sql/lex_hash.h'.  Stop.
-| make[2]: *** No rule to make target '/build/tmp/work/aarch64-poky-linux/mariadb/10.3.13-r0/mariadb-10.3.13/sql/gen_lex_token', needed by 'sql/lex_token.h'.  Stop.
-
-Upstream-Status: Inappropriate [oe build specific]
-
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- sql/CMakeLists.txt | 30 ++++++++++++++++++++----------
- 1 file changed, 20 insertions(+), 10 deletions(-)
-
-diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt
-index 0dc3caa..616017b 100644
---- a/sql/CMakeLists.txt
-+++ b/sql/CMakeLists.txt
-@@ -52,11 +52,16 @@ ${CMAKE_BINARY_DIR}/sql
- ${CMAKE_SOURCE_DIR}/tpool
- )
- 
--ADD_CUSTOM_COMMAND(
--  OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_token.h
--  COMMAND gen_lex_token > lex_token.h
--  DEPENDS gen_lex_token
--)
-+IF(NOT CMAKE_CROSSCOMPILING)
-+  ADD_CUSTOM_COMMAND(
-+   OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_token.h
-+   COMMAND gen_lex_token > lex_token.h
-+   DEPENDS gen_lex_token)
-+ELSE()
-+  ADD_CUSTOM_COMMAND(
-+   OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_token.h
-+   COMMAND gen_lex_token > lex_token.h)
-+ENDIF()
- 
- ADD_CUSTOM_COMMAND(
-   OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/sql_yacc_ora.yy
-@@ -345,11 +350,16 @@ IF(NOT CMAKE_CROSSCOMPILING)
-   ADD_EXECUTABLE(gen_lex_hash gen_lex_hash.cc)
- ENDIF()
- 
--ADD_CUSTOM_COMMAND(
--  OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_hash.h
--  COMMAND gen_lex_hash > lex_hash.h
--  DEPENDS gen_lex_hash
--)
-+IF(NOT CMAKE_CROSSCOMPILING)
-+  ADD_CUSTOM_COMMAND(
-+   OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_hash.h
-+   COMMAND gen_lex_hash > lex_hash.h
-+   DEPENDS gen_lex_hash)
-+ELSE()
-+  ADD_CUSTOM_COMMAND(
-+   OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_hash.h
-+   COMMAND gen_lex_hash > lex_hash.h)
-+ENDIF()
- 
- MYSQL_ADD_EXECUTABLE(mariadb-tzinfo-to-sql tztime.cc COMPONENT Server)
- SET_TARGET_PROPERTIES(mariadb-tzinfo-to-sql PROPERTIES COMPILE_FLAGS "-DTZINFO2SQL")
--- 
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.5.10.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.5.11.bb
similarity index 80%
rename from meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.5.10.bb
rename to meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.5.11.bb
index 8ae8241..57d7736 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.5.10.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.5.11.bb
@@ -1,8 +1,8 @@
 require mariadb.inc
 
-EXTRA_OECMAKE += "-DSTACK_DIRECTION=-1"
+inherit qemu
 
-DEPENDS += "mariadb-native bison-native boost libpcre2 curl openssl ncurses zlib libaio libedit libevent libxml2"
+DEPENDS += "qemu-native bison-native boost libpcre2 curl openssl ncurses zlib libaio libedit libevent libxml2"
 
 PROVIDES += "mysql5 libmysqlclient"
 
diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Add-check-for-atomic-support.patch b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Add-check-for-atomic-support.patch
index eb9928a..8bdd27f 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Add-check-for-atomic-support.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Add-check-for-atomic-support.patch
@@ -25,11 +25,9 @@
  2 files changed, 74 insertions(+)
  create mode 100644 cmake/modules/CheckAtomic.cmake
 
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index f9c8f3346..4d604004b 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -852,7 +852,12 @@ endif()
+@@ -935,7 +935,12 @@ endif()
  if(WIN32)
    set(SYSTEM_LIBS ${SYSTEM_LIBS} shlwapi.lib rpcrt4.lib)
  else()
@@ -41,10 +39,7 @@
 +  endif()
  endif()
  
- add_library(${ROCKSDB_STATIC_LIB} STATIC ${SOURCES})
-diff --git a/cmake/modules/CheckAtomic.cmake b/cmake/modules/CheckAtomic.cmake
-new file mode 100644
-index 000000000..8b7dc8a37
+ add_library(${ROCKSDB_STATIC_LIB} STATIC ${SOURCES} ${BUILD_VERSION_CC})
 --- /dev/null
 +++ b/cmake/modules/CheckAtomic.cmake
 @@ -0,0 +1,69 @@
@@ -117,6 +112,3 @@
 +  endif()
 +endif()
 +
--- 
-2.28.0
-
diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Use-exported-target-for-bz2.patch b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Use-exported-target-for-bz2.patch
index 57433b0..d305475 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Use-exported-target-for-bz2.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Use-exported-target-for-bz2.patch
@@ -11,8 +11,6 @@
  CMakeLists.txt | 9 ++-------
  1 file changed, 2 insertions(+), 7 deletions(-)
 
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 676192913..801586c30 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
 @@ -32,7 +32,7 @@
@@ -24,7 +22,7 @@
  
  list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake/modules/")
  include(ReadVersion)
-@@ -148,12 +148,7 @@ else()
+@@ -152,12 +152,7 @@ else()
    if(WITH_BZ2)
      find_package(BZip2 REQUIRED)
      add_definitions(-DBZIP2)
@@ -38,6 +36,3 @@
    endif()
  
    if(WITH_LZ4)
--- 
-2.28.0
-
diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-folly-Use-SYS_futex-for-syscall.patch b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-folly-Use-SYS_futex-for-syscall.patch
index aa291da..9c70d4f 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-folly-Use-SYS_futex-for-syscall.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-folly-Use-SYS_futex-for-syscall.patch
@@ -12,8 +12,6 @@
  third-party/folly/folly/detail/Futex.cpp | 10 ++++++++--
  1 file changed, 8 insertions(+), 2 deletions(-)
 
-diff --git a/third-party/folly/folly/detail/Futex.cpp b/third-party/folly/folly/detail/Futex.cpp
-index 62d6ea2b2..a914a8c73 100644
 --- a/third-party/folly/folly/detail/Futex.cpp
 +++ b/third-party/folly/folly/detail/Futex.cpp
 @@ -48,9 +48,15 @@ namespace {
@@ -42,6 +40,3 @@
        addr, /* addr1 */
        op, /* op */
        expected, /* val */
--- 
-2.29.2
-
diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-jemalloc_helper-Limit-the-mm_malloc.h-hack-to-glibc-.patch b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-jemalloc_helper-Limit-the-mm_malloc.h-hack-to-glibc-.patch
new file mode 100644
index 0000000..dbb0dda
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-jemalloc_helper-Limit-the-mm_malloc.h-hack-to-glibc-.patch
@@ -0,0 +1,23 @@
+From 1a69d4cc3f97e348dba9714c7ec60da1a8650664 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 15 Jun 2021 22:05:36 -0700
+Subject: [PATCH] jemalloc_helper: Limit the mm_malloc.h hack to glibc on linux
+
+Musl does not need this hack
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ port/jemalloc_helper.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/port/jemalloc_helper.h
++++ b/port/jemalloc_helper.h
+@@ -5,7 +5,7 @@
+ 
+ #pragma once
+ 
+-#if defined(__clang__)
++#if defined(__clang__) && defined(__GLIBC__)
+ // glibc's `posix_memalign()` declaration specifies `throw()` while clang's
+ // declaration does not. There is a hack in clang to make its re-declaration
+ // compatible with glibc's if they are declared consecutively. That hack breaks
diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-range_tree-Implement-toku_time_now-for-rv32-rv64-in-.patch b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-range_tree-Implement-toku_time_now-for-rv32-rv64-in-.patch
new file mode 100644
index 0000000..86c1bff
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-range_tree-Implement-toku_time_now-for-rv32-rv64-in-.patch
@@ -0,0 +1,44 @@
+From 89c032a9b4011385c0b504ea61e5df0db71f0ff5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 16 Jun 2021 19:06:02 -0700
+Subject: [PATCH] range_tree: Implement toku_time_now for rv32/rv64 in asm
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .../range_tree/lib/portability/toku_time.h    | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+diff --git a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
+index 4425a4a2e..4ac964f85 100644
+--- a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
++++ b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
+@@ -133,6 +133,25 @@ static inline tokutime_t toku_time_now(void) {
+   return result;
+ #elif defined(__powerpc__)
+   return __ppc_get_timebase();
++#elif defined(__riscv) // RISC-V
++#if __riscv_xlen == 32
++  uint32_t lo, hi0, hi1;
++  __asm __volatile__(
++      "rdcycleh %0\n"
++      "rdcycle %1\n"
++      "rdcycleh %2\n"
++      "sub %0, %0, %2\n"
++      "seqz %0, %0\n"
++      "sub %0, zero, %0\n"
++      "and %1, %1, %0\n"
++      : "=r"(hi0), "=r"(lo), "=r"(hi1));
++  return ((uint64_t)hi1 << 32) | lo;
++#else
++  uint64_t result;
++  __asm __volatile__("rdcycle %0" : "=r"(result));
++  return result;
++#endif
++
+ #else
+ #error No timer implementation for this platform
+ #endif
+-- 
+2.32.0
+
diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch
new file mode 100644
index 0000000..4aa91d9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch
@@ -0,0 +1,59 @@
+From 114c42fba3fc86119710e8dd1bb2b7a9e39e3064 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 17 Jun 2021 19:35:01 -0700
+Subject: [PATCH] replace old sync with new atomic builtin equivalents
+
+Helps compiling with gcc on newer arches e.g. riscv32 where these
+__sync* builtins are not implemented atleast for 64bit values
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .../range/range_tree/lib/portability/toku_atomic.h   | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+--- a/utilities/transactions/lock/range/range_tree/lib/portability/toku_atomic.h
++++ b/utilities/transactions/lock/range/range_tree/lib/portability/toku_atomic.h
+@@ -77,37 +77,37 @@ template <typename T, typename U>
+ __attribute__((always_inline)) static inline T toku_sync_fetch_and_add(T *addr,
+                                                                        U diff) {
+   paranoid_invariant(!crosses_boundary(addr, sizeof *addr));
+-  return __sync_fetch_and_add(addr, diff);
++  return __atomic_fetch_add(addr, diff, 5);
+ }
+ template <typename T, typename U>
+ __attribute__((always_inline)) static inline T toku_sync_add_and_fetch(T *addr,
+                                                                        U diff) {
+   paranoid_invariant(!crosses_boundary(addr, sizeof *addr));
+-  return __sync_add_and_fetch(addr, diff);
++  return __atomic_add_fetch(addr, diff, 5);
+ }
+ template <typename T, typename U>
+ __attribute__((always_inline)) static inline T toku_sync_fetch_and_sub(T *addr,
+                                                                        U diff) {
+   paranoid_invariant(!crosses_boundary(addr, sizeof *addr));
+-  return __sync_fetch_and_sub(addr, diff);
++  return __atomic_fetch_sub(addr, diff, 5);
+ }
+ template <typename T, typename U>
+ __attribute__((always_inline)) static inline T toku_sync_sub_and_fetch(T *addr,
+                                                                        U diff) {
+   paranoid_invariant(!crosses_boundary(addr, sizeof *addr));
+-  return __sync_sub_and_fetch(addr, diff);
++  return __atomic_sub_fetch(addr, diff, 5);
+ }
+ template <typename T, typename U, typename V>
+ __attribute__((always_inline)) static inline T toku_sync_val_compare_and_swap(
+     T *addr, U oldval, V newval) {
+   paranoid_invariant(!crosses_boundary(addr, sizeof *addr));
+-  return __sync_val_compare_and_swap(addr, oldval, newval);
++  return __atomic_compare_exchange(addr, oldval, newval);
+ }
+ template <typename T, typename U, typename V>
+ __attribute__((always_inline)) static inline bool
+ toku_sync_bool_compare_and_swap(T *addr, U oldval, V newval) {
+   paranoid_invariant(!crosses_boundary(addr, sizeof *addr));
+-  return __sync_bool_compare_and_swap(addr, oldval, newval);
++  return static_cast<bool>(__atomic_compare_exchange(addr, oldval, newval));
+ }
+ 
+ // in case you include this but not toku_portability.h
diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/arm.patch b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/arm.patch
new file mode 100644
index 0000000..d428a66
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/arm.patch
@@ -0,0 +1,26 @@
+implement timer for arm >= v6
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
++++ b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
+@@ -161,6 +161,20 @@ static inline tokutime_t toku_time_now(v
+   struct timeval tv;
+   gettimeofday(&tv, nullptr);
+   return (uint64_t)tv.tv_sec * 1000000 + tv.tv_usec;
++#elif (__ARM_ARCH >= 6)
++  uint32_t pmccntr;
++  uint32_t pmuseren;
++  uint32_t pmcntenset;
++  // Read the user mode perf monitor counter access permissions.
++  asm volatile("mrc p15, 0, %0, c9, c14, 0" : "=r"(pmuseren));
++  if (pmuseren & 1) {  // Allows reading perfmon counters for user mode code.
++    asm volatile("mrc p15, 0, %0, c9, c12, 1" : "=r"(pmcntenset));
++    if (pmcntenset & 0x80000000ul) {  // Is it counting?
++      asm volatile("mrc p15, 0, %0, c9, c13, 0" : "=r"(pmccntr));
++      // The counter is set up to count every 64th cycle
++      return (uint64_t)pmccntr * 64;  // Should optimize to << 6
++    }
++  }
+ #else
+ #error No timer implementation for this platform
+ #endif
diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/mips.patch b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/mips.patch
new file mode 100644
index 0000000..db2305d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/mips.patch
@@ -0,0 +1,19 @@
+implement timer implementation for mips platform
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
++++ b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
+@@ -155,7 +155,12 @@ static inline tokutime_t toku_time_now(v
+   __asm __volatile__("rdcycle %0" : "=r"(result));
+   return result;
+ #endif
+-
++#elif defined(__mips__)
++  // mips apparently only allows rdtsc for superusers, so we fall
++  // back to gettimeofday.  It's possible clock_gettime would be better.
++  struct timeval tv;
++  gettimeofday(&tv, nullptr);
++  return (uint64_t)tv.tv_sec * 1000000 + tv.tv_usec;
+ #else
+ #error No timer implementation for this platform
+ #endif
diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/ppc64.patch b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/ppc64.patch
new file mode 100644
index 0000000..bc40f1b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/ppc64.patch
@@ -0,0 +1,28 @@
+implement support for musl/ppc64
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
++++ b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
+@@ -58,7 +58,7 @@ Copyright (c) 2006, 2015, Percona and/or
+ #include <stdint.h>
+ #include <sys/time.h>
+ #include <time.h>
+-#if defined(__powerpc__)
++#if defined(__powerpc__) && defined(__GLIBC__)
+ #include <sys/platform/ppc.h>
+ #endif
+ 
+@@ -131,8 +131,12 @@ static inline tokutime_t toku_time_now(v
+   uint64_t result;
+   __asm __volatile__("mrs %[rt], cntvct_el0" : [ rt ] "=r"(result));
+   return result;
+-#elif defined(__powerpc__)
++#elif defined(__powerpc__) && defined(__GLIBC__)
+   return __ppc_get_timebase();
++#elif defined(__powerpc64__) || defined(__ppc64__)
++  uint64_t result;
++  asm volatile("mfspr %0, 268" : "=r"(result));
++  return result;
+ #elif defined(__riscv) // RISC-V
+ #if __riscv_xlen == 32
+   uint32_t lo, hi0, hi1;
diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_6.15.5.bb b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_6.20.3.bb
similarity index 71%
rename from meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_6.15.5.bb
rename to meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_6.20.3.bb
index acef05b..c89d5d4 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_6.15.5.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_6.20.3.bb
@@ -6,15 +6,24 @@
                     file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
                     file://LICENSE.leveldb;md5=fb04ff57a14f308f2eed4a9b87d45837"
 
-SRCREV = "abd4b1ff1504ae2a7ed6e60bc9c9797b880c33a5"
-SRCBRANCH = "6.15.fb"
+SRCREV = "8608d75d85f8e1b3b64b73a4fb6d19baec61ba5c"
+SRCBRANCH = "6.20.fb"
 
 SRC_URI = "git://github.com/facebook/${BPN}.git;branch=${SRCBRANCH} \
            file://0001-cmake-Add-check-for-atomic-support.patch \
            file://0001-cmake-Use-exported-target-for-bz2.patch \
            file://0001-folly-Use-SYS_futex-for-syscall.patch \
+           file://0001-jemalloc_helper-Limit-the-mm_malloc.h-hack-to-glibc-.patch \
+           file://0001-range_tree-Implement-toku_time_now-for-rv32-rv64-in-.patch \
+           file://ppc64.patch \
+           file://mips.patch \
+           file://arm.patch \
           "
 
+SRC_URI_append_riscv32 = " file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch"
+SRC_URI_append_mips = " file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch"
+SRC_URI_remove_toolchain-clang_riscv32 = "file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch"
+
 S = "${WORKDIR}/git"
 
 inherit cmake