subtree updates

poky: 4e511f0abc..a015ed7704:
  Adrian Bunk (22):
        gnutls: upgrade 3.6.5 -> 3.6.7
        dhcp: Replace OE specific patch for compatibility with latest bind with upstream patch
        Set XZ_COMPRESSION_LEVEL to -9
        gcc: Remove Java support variables
        Use the best xz compression for the SDK
        gnome-doc-utils: Remove stale patch
        libxcrypt: Stop adding -std=gnu99 to CPPFLAGS
        file: Stop adding -std=c99 to CFLAGS
        gnu-efi: Remove support patch for gcc < 4.7
        grub: Use -Wno-error instead of doing this on a per-warning basis
        socat: upgrade 1.7.3.2 -> 1.7.3.3
        bison: upgrade 3.0.4 -> 3.1
        mmc-utils: update to the latest upstream code
        cogl: upgrade 1.22.2 -> 1.22.4
        cogl: remove -Werror=maybe-uninitialized workaround
        libxcb: remove workaround patch for a bug that was fixed in gcc 5 in 2015
        sysstat: inherit upstream-version-is-even
        ccache: upgrade 3.6 -> 3.7.1
        lttng-modules: upgrade 2.10.8 -> 2.10.9
        iproute2: Remove bogus workaround patch for musl
        openssl: Remove openssl10
        Remove irda-utils and the irda feature

  Alejandro Enedino Hernandez Samaniego (1):
        run-postinsts: Fix full execution of scripts at first boot

  Alejandro del Castillo (1):
        opkg: add ptest

  Alex Kiernan (12):
        systemd-conf: simplify creation of machine-specific configuration
        systemctl-native: Rewrite in Python supporting preset-all and mask
        image: call systemctl preset-all for images
        uboot-sign: Fix build when UBOOT_DTB_BINARY is empty
        patchelf: Upgrade 0.9 -> 0.10
        python3: Add ntpath.py to python core
        go: Exclude vcs files when installing deps
        recipetool: fix unbound variable when fixed SRCREV can't be found
        systemd: Default to non-stateless images
        systemd-systemctl: Restore support for enable command
        systemd: Restore mask and preset targets, fix instance creation
        shadow: Backport last change reproducibility

  Alexander Kanavin (38):
        python3: add a tr-tr locale for test_locale ptest
        gobject-introspection: update to 1.60.1
        dtc: upgrade 1.4.7 -> 1.5.0
        webkitgtk: update to 2.24.0
        libdazzle: update to 3.32.1
        vala: update to 0.44.3
        libdnf: update to 0.28.1
        libcomps: upgrade 0.1.10 -> 0.1.11
        dnf: upgrade 4.1.0 -> 4.2.2
        btrfs-tools: upgrade 4.20.1 -> 4.20.2
        meson: update to 0.50.0
        libmodulemd: update to 2.2.3
        at-spi2-core: fix meson 0.50 build
        ffmpeg: update to 4.1.3
        python: update to 2.7.16
        python: update to 3.7.3
        python-numpy: update to 1.16.2
        icu: update to 64.1
        epiphany: update to 3.32.1.2
        python3: add another multilib fix
        meson: do not try to substitute the prefix in python supplied paths
        python3-pygobject: update to 3.32.0
        meson: add missing Upstream-Status and SOB to a patch
        acpica: update to 20190405
        msmtp: fix upstream version check
        python-scons: update to 3.0.5
        python-setuptools: update to 41.0.1
        python3-mako: update to 1.0.9
        python3-pbr: update to 5.1.3
        python3-pip: update to 19.0.3
        buildhistory: call a dependency parser only on actual dependency lists
        gtk-doc.bbclass: unify option setting for meson-based recipes
        python3-pycairo: update to 1.18.1
        maintainers.inc: take over as perl maintainer
        xorg-lib: drop native overrides for REQUIRED_DISTRO_FEATURES
        meson: update to 0.50.1
        perl: update to 5.28.2
        packagegroup-self-hosted: drop epiphany

  Alistair Francis (5):
        u-boot: Upgrade from 2019.01 to 2019.04
        beaglebone-yocto: Update u-boot config to match u-boot 19.04
        u-boot: Fix missing Python.h build failure
        libsoup: Upgrade from 2.64.2 to 2.66.1
        qemu: Upgrade from 3.1.0 to 4.0.0

  Andre Rosa (1):
        bitbake: utils: Let mkdirhier fail if existing path is not a folder

  Andreas Müller (17):
        gobject-introspection: auto-enable/-disable gobject-introspection for meson
        libmodulemd: use gobject-introspection.bbclass on/off mechanism
        gdk-pixbuf: use gobject-introspection.bbclass on/off mechanism
        json-glib: use gobject-introspection.bbclass on/off mechanism
        libdazzle: use gobject-introspection.bbclass on/off mechanism
        clutter-gtk-1.0: use gobject-introspection.bbclass on/off mechanism
        pango: use gobject-introspection.bbclass on/off mechanism
        at-spi2-core: use gobject-introspection.bbclass on/off mechanism
        atk: use gobject-introspection.bbclass on/off mechanism
        libsoup-2.4: use gobject-introspection.bbclass on/off mechanism
        glib-networking: upgrade 2.58.0 -> 2.60.1
        gst-plugins: move 'inherit gobject-introspection' to recipes supporting GI
        gstreamer1.0-python: rework gobject-introspection handling
        insane.bbclass: Trigger unrecognzed configure option for meson
        vte: upgrade 0.52.2 -> 0.56.1
        vte: move shell auto scripts into seperate package
        qemu: split out vte into seperate PACKAGECONFIG

  Andreas Obergschwandtner (1):
        uboot-sign: add support for different u-boot configurations

  Andrej Valek (2):
        dropbear: update to 2019.78
        systemd: upgrade to 242

  Angus Lees (1):
        Revert "wic: Set a miniumum FAT16 volume size."

  Anuj Mittal (4):
        gcc: fix CVE-2018-18484
        gdb: fix CVE-2017-9778
        binutils: fix CVE-2019-9074 CVE-2019-9075 CVE-2019-9076 CVE-2019-9077
        openssh: fix CVE-2018-20685, CVE-2019-6109, CVE-2019-6111

  Armin Kuster (8):
        resulttool: add ltp test support
        logparser: Add decoding ltp logs
        ltp: add runtime test
        resulttool: add LTP compliance section
        logparser: Add LTP compliance section
        ltp_compliance: add new runtime
        manual compliance: remove bits done at runtime
        nss: cleanup recipe to match OE style

  Beniamin Sandu (1):
        kernel-devsrc: check for localversion files in the kernel source tree

  Breno Leitao (3):
        weston-init: Fix tab indentation
        weston-init: Add support for non-root start
        weston-init: Fix WESTON_USER typo

  Bruce Ashfield (8):
        linux-yocto/5.0: update to v5.0.5
        linux-yocto-rt: update to 5.0.5-rt3
        linux-yocto/5.0: update to v5.0.7
        linux-yocto/4.19: update to v4.19.34
        linux-yocto-rt/4.19: fix merge conflict in lru_drain
        linux-yocto/5.0: port RAID configuration tweaks from master
        linux-yocto/5.0: integrate TCP timeout / hang fix
        linux-yocto/5.0: update TCP patch to mainline version

  Changhyeok Bae (2):
        iw: upgrade 4.14 -> 5.0.1
        iptables: upgrade 1.6.2 -> 1.8.2

  Changqing Li (11):
        ruby: make ext module fiddle can compile success
        ruby: add ptest
        cogl: fix compile error caused by -Werror=maybe-uninitialized
        systemd: change default locale from C.UTF-8 to C
        m4: add ptest support
        gettext: add ptest support
        waffle: supprt build waffle without x11
        piglit: support build piglit without x11
        dbus: fix ptest failure
        populate_sdk_base: provide options to set sdk type
        python3: fix do_install fail for parallel buiild

  Chee Yang Lee (1):
        wic/bootimg-efi: replace hardcoded volume name with label

  Chen Qi (9):
        runqemu: do not check return code of tput
        busybox: fix ptest failure about 'dc'
        base-files: move hostname operations out of issue file settings
        webkitgtk: set CVE_PRODUCT
        dropbear: set CVE_PRODUCT
        libsdl: set CVE_PRODUCT
        ghostscript: set CVE_PRODUCT
        flac: also add flac to CVE_PRODUCT
        squashfs-tools: set CVE_PRODUCT

  David Reyna (1):
        bitbake: toaster: update to Warrior

  Dengke Du (2):
        perf: workaround the error cased by maybe-uninitialized warning
        linux-yocto_5.0: set devicetree for armv5

  Denys Dmytriyenko (1):
        weston: upgrade 5.0.0 -> 6.0.0

  Douglas Royds (2):
        distutils: Run python from the PATH in the -native case as well
        distutils: Tidy and simplify for readability

  Fabio Berton (1):
        mesa: Update 19.0.1 -> 19.0.3

  He Zhe (2):
        ltp: Fix setrlimit03 call succeeded unexpectedly
        systemd: Bump up SRCREV to systemd-stable top to include the fix for shutdown now hang

  Hongxu Jia (15):
        image_types.bbclass: fix a race between the ubi and ubifs FSTYPES
        cpio/tar/native.bbclass: move rmt to sbindir and add a prefix to avoid native clashing
        acpica: use update-alternatives for acpidump
        apr: upgrade 1.6.5 -> 1.7.0
        man-pages: upgrade 4.16 -> 5.01
        man-db: upgrade 2.8.4 -> 2.8.5
        bash: upgrade 4.4.18 -> 5.0
        ncurses: fix incorrect UPSTREAM_CHECK_GITTAGREGEX
        gpgme: upgrade 1.12.0 -> 1.13.0
        subversion: upgrade 1.11.1 -> 1.12.0
        groff: upgrade 1.22.3 -> 1.22.4
        libxml2: upgrade 2.9.8 -> 2.9.9
        ghostscript: 9.26 -> 9.27
        groff: imporve musl support
        oeqa/targetcontrol.py: fix qemuparams not work in runqemu with launch_cmd

  Jacob Kroon (3):
        grub-efi-native: Install grub-editenv
        bitbake: knotty: Pretty print task elapsed time
        base-passwd: Add kvm group

  Jaewon Lee (1):
        Adding back wrapper and using OEPYTHON3HOME variable for python3

  Jens Rehsack (1):
        kernel-module-split.bbclass: support CONFIG_MODULE_COMPRESS=y

  Jonas Bonn (3):
        systemd: don't build firstboot by default
        systemd: do not create machine-id
        systemd: create preset files instead of installing in image

  Joshua Watt (6):
        classes/waf: Set WAFLOCK
        resulttool: Load results from URL
        resulttool: Add log subcommand
        qemux86: Allow higher tunes
        bitbake.conf: Account for older versions of bitbake
        resulttool: Add option to dump all ptest logs

  Kai Kang (5):
        msmtp: 1.6.6 -> 1.8.3
        cryptodev: fix module loading error
        target-sdk-provides-dummy: resolve sstate conflict
        bitbake.conf: set NO_RECOMMENDATIONS with weak assignment
        webkitgtk: fix compile error for arm64

  Kevin Hao (1):
        meta-yocto-bsp: Bump to the latest stable kernel for all the BSP

  Khem Raj (9):
        gcc-cross-canadian: Make baremetal specific code generic
        musl: Upgrade to master past 1.1.22
        webkitgtk: Fix build with clang
        mdadm: Disable Werror
        gcc-target: Do not set --with-sysroot and gxx-include-dir paths
        systemd: Add -Wno-error=format-overflow to fix build with gcc9
        systemd: Backport patch to fix build with gcc9
        libgfortan: Package target gcc include directory to fix
        gcc-9: Add recipes for gcc 9.1 release

  Lei Maohui (2):
        dnf: Enable nativesdk
        icu: Added armeb support.

  Lei Yang (1):
        recipetool: add missed module

  Luca Boccassi (1):
        systemd: add cgroupv2 PACKAGECONFIG

  Mardegan, Alberto (1):
        oeqa/core/runner: dump stdout and stderr of each test case

  Mariano Lopez (5):
        update-alternatives.bbclass: Add function to get metadata
        ptest.bbclass: Add feature to populate a binary directory
        util-linux: Use PTEST binary directory
        busybox: Use PTEST binary directory
        ptest.bbclass: Use d.getVar instead of os.environ

  Martin Jansa (6):
        connman: add PACKAGECONFIG for nfc, fix MACHINE_ARCH signature when l2tp is enabled
        icecc.bbclass: stop causing everything to be effectivelly MACHINE_ARCH
        glibc: always use bfd linker
        opkg: fix ptest packaging when OPKGLIBDIR == libdir
        kexec-tools: refresh patches with devtool
        perf: make sure that the tools/include/uapi/asm-generic directory exists

  Matthias Schiffer (1):
        systemd: move "machines" symlinks to systemd-container

  Max Kellermann (2):
        useradd-staticids: print exception after parse_args() error
        initrdscripts: merge multiple "mkdir" calls

  Michael Scott (2):
        kernel-fitimage: support RISC-V
        procps: update legacy sysctl.conf to fix rp_filter sysctl issue

  Mikko Rapeli (3):
        elfutils: remove Elfutils-Exception and include GPLv2 for shared libraries
        oeqa/sdk: use bash to execute SDK test commands
        openssh: recommend rng-tools with sshd

  Mingli Yu (6):
        nettle: fix ptest failure
        elfutils: add ptest support
        elfutils: fix build failure with musl
        gcc-sanitizers: fix -Werror=maybe-uninitialized issue
        nettle: fix the Segmentation fault
        nettle: fix ptest failure

  Nathan Rossi (1):
        ccmake.bbclass: Fix up un-escaped quotes in output formatting

  Naveen Saini (5):
        core-image-rt: make sure that we append to DEPENDS
        core-image-rt-sdk: make sure that we append to DEPENDS
        bitbake.conf: add git-lfs to HOSTTOOLS_NONFATAL
        bitbake: bitbake: fetch2/git: git-lfs check
        linux-yocto: update genericx86* SRCREV for 4.19

  Oleksandr Kravchuk (52):
        iproute2: update to 5.0.0
        curl: update to 7.64.1
        libxext: update to 1.3.4
        x11perf: update to 1.6.1
        libxdmcp: update to 1.1.3
        libxkbfile: update 1.1.0
        libxvmc: update to 1.0.11
        libxrandr: update to 1.5.2
        connman: update to 1.37
        ethtool: update to 5.0
        tar: update to 1.32
        ffmpeg: update to 4.1.2
        librepo: update to 1.9.6
        libxmu: update to 1.1.3
        libxcrypt: update to 4.4.4
        wget: update to 1.20.2
        libsecret: 0.18.8
        createrepo-c: update to 0.12.2
        libinput: update to 1.13.0
        cronie: update to 1.5.4
        libyaml: update to 0.2.2
        fontconfig: update to 2.13.1
        makedepend: update to 1.0.6
        libdrm: update to 2.4.98
        libinput: update to 1.13.1
        libnotify: update to 0.7.8
        libpng: update to 1.6.37
        libcroco: update to 0.6.13
        libpsl: update to 0.21.0
        git: update to 2.21.0
        quota: update to 4.05
        gnupg: update to 2.2.15
        lz4: update to 1.9.0
        orc: update to 0.4.29
        help2man-native: update to 1.47.10
        cups: update to 2.2.11
        pixman: update to 0.38.4
        libcap: update to 2.27
        ninja: add Upstream-Status and SOB for musl patch
        python-numpy: update to 1.16.3
        python3-pygobject: update to 3.32.1
        wget: update to 1.20.3
        libsolv: update to 0.7.4
        ell: add recipe
        sqlite3: update to 3.28.0
        kmscube: update to latest revision
        coreutils: update to 8.31
        mtools: update to 4.0.23
        msmtp: update to 1.8.4
        wpa-supplicant: update to 2.8
        bitbake.conf: use https instead of http
        ell: update to 0.20

  Paul Barker (3):
        oe.path: Add copyhardlink() helper function
        license_image: Use new oe.path.copyhardlink() helper
        gdb: Fix aarch64 build with musl

  Peter Kjellerstedt (1):
        systemd: Use PACKAGECONFIG definition to depend on libnss-myhostname

  Randy MacLeod (5):
        valgrind: update from 3.14.0 to 3.15.0
        valgrind: fix vg_regtest return code
        valgrind: update the ptest subdirs list
        valgrind: adjust test filters and expected output
        valgrind: fix call/cachegrind ptests

  Richard Purdie (52):
        pseudo: Update to gain key bugfixes
        python3: Avoid hanging tests
        python3: Fix ptest output parsing
        go.bbclass: Remove unused override
        goarch.bbclass: Simplify logic
        e2fsprogs: Skip slow ptest tests
        bitbake: bitbake: Update version to 1.42.0
        poky.conf: Bump version for 2.7 warrior release
        build-appliance-image: Update to warrior head revision
        bitbake: bitbake: Post release version bumnp to 1.43
        poky.conf: Post release version bump
        build-appliance-image: Update to master head revision
        Revert "nettle: fix ptest failure"
        core-image-sato-sdk-ptest: Try and keep image below 4GB limit
        core-image-sato-ptest-fast: Add 'fast' ptest execution image
        core-image-sato-sdk-ptest: Include more ptests in ptest image
        core-image-sato-sdk-ptest: Add temporary PROVIDES core-image-sato-ptest
        resultool/resultutils: Fix module import error
        lttng-tools: Add missing patch Upstream-Status
        utils/multiprocess_launch: Improve failing subprocess output
        python3: Drop ptest hack
        ptest-packagelists: Add m4 and gettext as 'fast' ptests
        bitbake: knotty: Implement console 'keepalive' output
        bitbake: build: Ensure warning for invalid task dependencies is useful
        bitbake: build: Disable warning about dependent tasks for now
        oeqa/ssh: Avoid unicode decode exceptions
        elfutils: ptest fixes
        elfutils: Fix ptest compile failures on musl
        bitbake: bitbake: Add initial pass of SPDX license headers to source code
        bitbake: bitbake: Drop duplicate license boilerplace text
        bitbake: bitbake: Strip old editor directives from file headers
        bitbake: HEADER: Drop it
        openssh/systemd/python/qemu: Fix patch Upstream-Status
        scripts/pybootchart: Fix mixed indentation
        scripts/pybootchart: Port to python3
        scripts/pybootchart/draw: Clarify some variable names
        scripts/pybootchart/draw: Fix some bounding problems
        coreutils: Fix patch upstream status field
        oeqa: Drop OETestID
        meta/lib+scripts: Convert to SPDX license headers
        oeqa/core/runner: Handle unexpectedSucesses
        oeqa/systemd_boot: Drop OETestID
        oeqa/runner: Fix subunit setupClass/setupModule failure handling
        oeqa/concurrenttest: Patch subunit module to handle classSetup failures
        tcmode-default: Add PREFERRED_VERSION for libgfortran
        oeqa/selftest: Automate manual pybootchart tests
        openssh: Avoid PROVIDES warning from rng-tools dependency
        oeqa/target/ssh: Replace suggogatepass with ignoring errors
        core-image-sato-sdk-ptest: Tweak size to stay within 4GB limit
        valgrind: Include debugging symbols in ptests
        dbus-test: Improve ptest dependencies dependencies
        ptest: Add RDEPENDS frpm PN-ptest to PN package

  Robert Joslyn (1):
        qemu: Add PACKAGECONFIG for snappy

  Robert Yang (6):
        bitbake: bitbake-diffsigs: Use 4 spaces as indent for recursecb
        bitbake: bb: siggen: Make dump_sigfile and compare_sigfiles print uuid4
        bitbake: bb: siggen: Print more info when basehash are mis-matched
        bitbake: BBHandler: Fix addtask and deltask
        bitbake: build.py: check dependendent task for addtask
        bitbake: tests/parse.py: Add testcase for addtask and deltask

  Ross Burton (14):
        lttng-tools: fix Upstream-Status
        acpica: upgrade to 20190215
        staging: add ${datadir}/gtk-doc/html to the sysroot blacklist
        mpg123: port to use libsdl2
        meta-poky: remove obsolete DISTRO_FEATURES_LIBC
        m4: update patch status
        packagegroup-core-full-cmdline: remove zlib
        wic: change expand behaviour to match docs
        wic: add global debug option
        gtk-icon-cache: clean up DEPENDS
        patch: add minver and maxver parameters
        glib-2.0: fix locale handling
        glib-2.0: add missing locales for the tests
        glib-2.0: fix last failing ptest

  Scott Rifenbark (34):
        bitbake: poky.ent: Removed "ECLIPSE" entity variables.
        bitbake: bitbake-user-manual: Added section on modifying variables
        Makefile: Removed Eclipse support
        Documentation: Removed customization.xsl files for Eclipse
        mega-manual: Removed two Eclipse figures from tarball list
        mega-manual, overview-manual: Added updated index releases figure
        poky.ent: Removed Eclipse related variables.
        mega-manual: Removed the Eclipse chapters
        dev-manual: Removed all references to Eclipse.
        overview-manual: Removed all references to Eclipse
        profile-manual: Removed all references to Eclipse
        ref-manual: Removed all references to Eclipse
        sdk-manual: Removed all references to Eclipse
        sdk-manual: Removed all references to Eclipse
        dev-manual; brief-yoctoprojectqs: Updated checkout branch example
        dev-manual: Added reasoning blurb to "Viewing Variables" section.
        ref-manual: Inserted Migration 2.7 section.
        ref-manual: Added Eclipse removal for migration section.
        ref-manual: Added "License Value Corrections to migration.
        ref-manual: Added Fedora 29 to the supported distros list.
        poky.ent: changed 2.7 release variable date to "May 2019"
        ref-manual: Review comments applied to 2.7 migration section.
        documentation: Prepared for 2.8 release
        bsp-guide: Removed inaccurate "container layer" references.
        ref-manual: Updated the "Container Layer" term.
        bsp-guide: Updated the "beaglebone-yocto.conf" example.
        documentation: Cleaned up "plug-in"/"plugin" terminology.
        bsp-guide: Updated the BSP kernel recipe example.
        ref-manual: Updated PREFERRED_VERSION variable to use 5.0
        bsp-guide: More corrections to the BSP Kernel Recipe example
        dev-manual: Added cross-link to "Fetchers" section in BB manual.
        bitbake: bitbake-user-manual: Added npm to other fetcher list.
        overview-manual: Updated SMC section to link to fetchers
        ref-manual: Added "npm" information to the SRC_URI variable.

  Stefan Kral (1):
        bitbake: build: Add verbnote to shell log commands

  Stefan Müller-Klieser (1):
        cml1.bbclass: fix undefined behavior

  Steven Hung (洪于玉) (1):
        kernel.bbclass: convert base_do_unpack_append() to a task

  Tom Rini (2):
        vim: Rework to not rely on relative directories
        vim: Update to 8.1.1240

  Wenlin Kang (1):
        systemd: install libnss-myhostname.so when myhostname be enabled

  Yeoh Ee Peng (1):
        resulttool/manualexecution: Refactor and remove duplicate code

  Yi Zhao (2):
        harfbuzz: update source checksums after upstream replaced the tarball
        libyaml: update SRC_URI[md5sum] and SRC_URI[sha256sum]

  Ying-Chun Liu (PaulLiu) (1):
        uboot-sign: Fix u-boot-nodtb symlinks

  Zang Ruochen (10):
        libatomic-ops:upgrade 7.6.8 -> 7.6.10
        libgpg-error:upgrade 1.35 -> 1.36
        libxft:upgrade 2.3.2 -> 2.3.3
        libxxf86dga:upgrade 1.1.4 -> 1.1.5
        nss:upgrade 3.42.1 -> 3.43
        sysprof:upgrade 3.30.2 -> 3.32.0
        libtirpc:upgrade 1.0.3 -> 1.1.4
        xtrans:upgrade 1.3.5 -> 1.4.0
        harfbuzz:upgrade 2.3.1 -> 2.4.0
        icu: Upgrade 64.1 -> 64.2

  Zheng Ruoqin (1):
        sanity: check_perl_modules bug fix

  sangeeta jain (1):
        resulttool/manualexecution: Enable test case configuration option

meta-openembedded: 4a9deabbc8..1ecd8b4364:
  Adrian Bunk (34):
        linux-atm: Remove DEPENDS on virtual/kernel and PACKAGE_ARCH
        linux-atm: Replace bogus on_exit removal with musl-specific hack
        ledmon: Mark as incompatible on musl instead of adding bogus patch
        efivars: Drop workaround patch for host gcc < 4.7
        sshfs-fuse: upgrade 2.8 -> 2.10
        wv: upgrade 1.2.4 -> 1.2.9
        caps: Upgrade 0.9.24 -> 0.9.26
        dvb-apps: Remove dvb-fe-xc5000c-4.1.30.7.fw
        schroedinger: Remove the obsolete DEPENDS on liboil
        vlc: Remove workaround and patches for problems fixed upstream
        Remove liboil
        dnrd: Remove stale files of recipe removed 2 years ago
        postfix: Upgrade 3.4.1 -> 3.4.5
        pptp-linux: Upgrade 1.9.0 -> 1.10.0
        dovecot: Upgrade 2.2.36 -> 2.2.36.3
        postgresql: Upgrade 11.2 -> 11.3
        rocksdb: Upgrade 5.18.2 -> 5.18.3
        cloud9: Remove stale files of recipe removed 2 years ago
        fluentbit: Upgrade 0.12.1 -> 0.12.19
        libcec: Upgrade 4.0.2 -> 4.0.4
        libqb: Upgrade 1.0.3 -> 1.0.5
        openwsman: Upgrade 2.6.8 -> 2.6.9
        glm: Upgrade 0.9.9.3 -> 0.9.9.5
        fvwm: Upgrade 2.6.7 -> 2.6.8
        augeas: Upgrade 1.11.0 -> 1.12.0
        ccid: Upgrade 1.4.24 -> 1.4.30
        daemonize: Upgrade 1.7.7 -> 1.7.8
        inotify-tools: Upgrade 3.14 -> 3.20.1
        liboop: Upgrade 1.0 -> 1.0.1
        ode: Remove stale file of recipe removed 2 years ago
        openwbem: Remove stale files of recipe removed 2 years ago
        catch2: Upgrade 2.6.1 -> 2.7.2
        geos: Upgrade 3.4.2 -> 3.4.3
        rdfind: Upgrade 1.3.4 -> 1.4.1

  Akshay Bhat (3):
        python-urllib3: Set CVE_PRODUCT
        python3-pillow: Set CVE_PRODUCT
        python-requests: Set CVE_PRODUCT

  Alistair Francis (3):
        mycroft: Update the systemd service to ensure we are ready to start
        mycroft: Bump from 19.2.2 to 19.2.3
        python-obd: Add missing RDEPENDS

  Andreas Müller (33):
        gvfs: remove executable permission from systemd user services
        udisks2: upgrade 2.8.1 -> 2.8.2
        parole: upgrade 1.0.1 -> 1.0.2
        ristretto: upgrade 0.8.3 -> 0.8.4
        networkmanager: rework musl build
        gvfs: remove systemd user unit executable permission adjustment
        fltk: upgrade 1.3.4-2 -> 1.3.5
        samba: install bundled libs into seperate packages
        samba: rework localstatedir package split
        fluidsynth: upgrade 2.0.4 -> 2.0.5
        xfce4-vala: auto-detect vala api version
        gnome-desktop3: set correct meson gtk doc option
        vlc: rework qt PACKAGECONFIG
        evince: add patch to fix build with recent gobject-introspection
        xfce4-cpufreq-plugin: Fix memory leak and reduce CPU load
        packagegroup-meta-networking: replace DISTRO_FEATURE by DISTRO_FEATURES
        meta-xfce: add meta-networking to layer depends
        gtksourceview4: initial add 4.2.0
        gtksourceview-classic-light: extend to gtksourceview4
        itstool: rework - it went out too early
        fontforge: upgrade 20170731 -> 20190413
        exo: upgrade 0.12.4 -> 0.12.5
        xfce4-places-plugin: upgrade 1.7.0 -> 1.8.0
        xfce4-datetime-plugin: upgrade 0.7.0 -> 0.7.1
        xfce4-notifyd: upgrade 0.4.3 -> 0.4.4
        desktop-file-utils: remove - a more recent version is in oe-core
        libwnck3: upgrade 3.30.0 and move to meson build
        xfce4-terminal: add vte-prompt to RRECOMMENDS
        xfce4-session: get rid of machine-host
        xfce4-session: remove strange entry in FILES_${PN}
        libxfce4ui: Add PACKAGECONFIG 'gladeui2' for glade (gtk3) support
        glade3: move to to meta-xfce
        Remove me as maintainer

  Andrej Valek (2):
        squid: upgrade squid 3.5.28 -> 4.6
        ntp: upgrade 4.2.8p12 -> 4.2.8p13

  Ankit Navik (1):
        libnfc: Initial recipe for Near Field Communication library.

  Armin Kuster (1):
        meta-filesystems: drop bitbake from README

  Changqing Li (5):
        gd: fix compile error caused by -Werror=maybe-uninitialized
        apache2: add back patch for set perlbin
        php: upgrade 7.3.2 -> 7.3.4
        postgresql: fix compile error
        php: correct httpd path

  Chris Garren (1):
        python-cryptography: Move linker flag to .inc

  Denys Dmytriyenko (1):
        v4l-utils: upgrade 1.16.0 -> 1.16.5

  Gianfranco Costamagna (1):
        cpprest: update to 2.10.13, drop 32bit build fix upstream

  Hains van den Bosch (1):
        libcdio: update to version 2.1.0

  Hongxu Jia (1):
        pmtools: use update-alternatives for acpidump

  Hongzhi.Song (1):
        lua: upgrade from v5.3.4 to v5.3.5

  Ivan Maidanski (1):
        bdwgc: upgrade 7.6.12 -> 8.0.4

  Johannes Pointner (1):
        samba: update to 4.8.11

  Kai Kang (3):
        gvfs: fix typo libexec
        drbd: fix compile errors
        drbd-utils: fix file conflict with base-files

  Khem Raj (3):
        redis: Upgrade to 4.0.14
        squid: Link with libatomic on mips/ppc
        cpupower: Inherit bash completion class

  Leon Anavi (1):
        openbox: Add python-shell as a runtime dependency

  Liwei Song (1):
        ledmon: control hard disk led for RAID arrays

  Mark Asselstine (1):
        xfconf: fix 'Failed to get connection to xfconfd' during do_rootfs

  Martin Jansa (13):
        ftgl: add x11 to required DISTRO_FEATURES like freeglut
        libforms: add x11 to required DISTRO_FEATURES because of libx11
        Revert "ell: remove recipe"
        ne10: set NE10_TARGET_ARCH with an override instead of anonymous python
        libopus: use armv7a, aarch64 overrides when adding ne10 dependency
        esound: fix SRC_URI for multilib
        opusfile: fix SRC_URI for multilib
        miniupnpd: fix SRC_URI for multilib
        zbar: fix SRC_URI for multilib
        libvncserver: set PV in the recipe
        efivar: prevent native efivar depending on target kernel
        libdbi-perl: prevent native libdbi-perl depending on target perl
        aufs-util: prevent native aufs-util depending on target kernel

  Ming Liu (1):
        libmodbus: add documentation PACKAGECONFIG

  Mingli Yu (6):
        indent: Upgrade to 2.2.12
        hostapd: Upgrade to 2.8
        hwdata: Upgrade to 0.322
        rrdtool: Upgrade to 1.7.1
        libdev-checklib-perl: add new recipe
        libdbd-mysql-perl: Upgrade to 4.050

  Nathan Rossi (1):
        fatresize_1.0.2.bb: Add recipe for fatresize command line tool

  Nicolas Dechesne (3):
        cpupower: remove LIC_FILES_CHKSUM
        bpftool: remove LIC_FILES_CHKSUM
        cannelloni: move from meta-oe to meta-networking

  Oleksandr Kravchuk (38):
        smcroute: update to 2.4.4
        phytool: update to v2
        fwknop: update to 2.6.10
        cifs-utils: update to 6.9
        keepalived: update to 2.0.15
        usbredir: update to 0.8.0
        open-isns: update to 0.99
        nanomsg: update to 1.1.5
        stunnel: update to 5.51
        babeld: update to 1.8.4
        drbd-utils: update to 9.8.0
        drbd: update to 9.0.17-1
        macchanger: update to 1.7.0
        wolfssl: update to 4.0.0
        ell: remove recipe
        analyze-suspend: update to 5.3
        chrony: update to 3.4
        nghttp2: update to 1.38
        nano: update to 4.1
        networkmanager-openvpn: update to 1.8.10
        wpan-tools: update to 0.9
        uftp: update to 4.9.9
        vblade: add UPSTREAM_CHECK_URI
        traceroute: add UPSTREAM_CHECK_URI
        nuttcp: update to 8.2.2
        nfacct: add UPSTREAM_CHECK_URI
        nftables: add UPSTREAM_CHECK_URI
        libnetfilter-queue: update to 1.0.3
        arno-iptables-firewall: update to 2.0.3
        ypbind-mt: update to 2.6
        ebtables: add UPSTREAM_CHECK_URI
        doxygen: replace ninja 1.9.0 fix with official one
        libnetfilter-queue: fix update to 1.0.3
        networkd-dispatcher: update to 2.0.1
        opensaf: update to 5.19.01
        libnetfilter-conntrack: update to 1.0.7
        conntrack-tools: update to 1.4.5
        openvpn: update to 2.4.7

  Paolo Valente (1):
        s-suite: push SRCREV to version 3.2

  Parthiban Nallathambi (6):
        python3-aiohttp: add version 3.5.4
        python3-supervisor: add version 4.0.2
        python3-websocket-client: add version 0.56.0
        python3-tinyrecord: add version 0.1.5
        python3-sentry-sdk: add version 0.7.14
        python3-raven: add version 6.10.0

  Pascal Bach (2):
        paho-mqtt-c: 1.2.1 -> 1.3.0
        thrift: update to 0.12.0

  Pavel Modilaynen (1):
        jsoncpp: add native BBCLASSEXTEND

  Peter Kjellerstedt (2):
        apache2: Correct appending to SYSROOT_PREPROCESS_FUNCS
        apache2: Correct packaging of build and doc related files

  Philip Balister (1):
        sip: Update to 4.19.16.

  Qi.Chen@windriver.com (4):
        multipath-tools: fix up patch to avoid segfault
        netkit-rsh: add tag to CVE patch
        ipsec-tools: fix CVE tag in patch
        gd: set CVE_PRODUCT

  Randy MacLeod (1):
        imagemagick: update from 7.0.8-35 to 7.0.8-43

  Robert Joslyn (5):
        gpm: Fix gpm path in unit file
        gpm: Add PID file to systemd unit file
        gpm: Generate documentation
        gpm: Remove duplicate definition of _GNU_SOURCE
        gpm: Recipe cleanup

  Sean Nyekjaer (2):
        cannelloni: new package, CAN to ethernet proxy
        ser2net: upgrade to version 3.5.1

  Vincent Prince (1):
        mongodb: Fix build with gcc

  Wenlin Kang (1):
        samba: add PACKAGECONFIG for libunwind

  Yi Zhao (7):
        python-flask-socketio: move to meta-python directory
        apache2: upgrade 2.4.34 -> 2.4.39
        apache-websocket: upgrade to latest git rev
        netkit-rsh: security fixes
        openhpi: fix failure of ptest case ohpi_035
        openhpi: update openhpi-fix-testfail-errors.patch
        phpmyadmin: upgrade 4.8.3 -> 4.8.5

  Zang Ruochen (43):
        xlsatoms: upgrade 1.1.2 -> 1.1.3
        xrdb: upgrade 1.1.1 -> 1.2.0
        xrefresh: upgrade 1.0.5 -> 1.0.6
        xsetroot: upgrade 1.1.1 -> 1.1.2
        xstdcmap: upgrade 1.0.3 -> 1.0.4
        xbitmaps: upgrade 1.1.1 -> 1.1.2
        wireshark: upgrade 3.0.0 -> 3.0.1
        python-cffi: upgrade 1.11.5 -> 1.12.2
        python-attrs: upgrade 18.1.0 -> 19.1.0
        python-certifi: upgrade 2018.8.13 -> 2019.3.9
        python-beabutifulsoup4: upgrade 4.6.0 -> 4.7.1
        python-dateutil: upgrade 2.7.3 -> 2.8.0
        python-mako: upgrade 1.0.7 -> 1.0.9
        python-msgpack: upgrade 0.6.0 -> 0.6.1
        python-paste: upgrade 3.0.6 -> 3.0.8
        python-psutil: upgrade 5.4.6 -> 5.6.1
        python-py: upgrade 1.6.0 -> 1.8.0
        python-pymongo: upgrade 3.7.1 -> 3.7.2
        python-pyopenssl: upgrade 18.0.0 -> 19.0.0
        python-pytz: upgrade 2018.5 -> 2019.1
        python-stevedore: upgrade 1.29.0 -> 1.30.1
        python-pbr: upgrade 4.2.0 -> 5.1.3
        python-cython: upgrade 0.28.5 -> 0.29.6
        python-editor: upgrade 1.0.3 -> 1.0.4
        python-jinja2: upgrade 2.10 -> 2.10.1
        python-lxml: upgrade 4.3.1 -> 4.3.3
        python-alembic: upgrade 1.0.0 -> 1.0.9
        python-cffi: upgrade 1.12.2 -> 1.12.3
        python-hyperlink: upgrade 18.0.0 -> 19.0.0
        python-twisted: upgrade 18.4.0 -> 19.2.0
        python-zopeinterface: upgrade 4.5.0 -> 4.6.0
        python-decorator: upgrade 4.3.0 -> 4.4.0
        python-pip: upgrade 18.0 -> 19.1
        python-pyasn1: upgrade 0.4.4 -> 0.4.5
        libnet-dns-perl: upgrade 1.19 -> 1.20
        python-alembic: upgrade 1.0.9 -> 1.0.10
        python-cython: upgrade 0.29.6 -> 0.29.7
        python-mock: upgrade 2.0.0 -> 3.0.5
        python-pbr: upgrade 5.1.3 -> 5.2.0
        python-psutil: upgrade 5.6.1 -> 5.6.2
        python-pymongo: upgrade 3.7.2 -> 3.8.0
        python-pyperclip: upgrade 1.6.2 -> 1.7.0
        python-rfc3987: upgrade 1.3.7 -> 1.3.8

  leimaohui (3):
        To fix confilict error with python3-pbr.
        python-pycodestyle: Fix conflict error with python3-pycodestyle during do_rootfs
        mozjs: Make mozjs support arm32BE.

meta-raspberrypi: 9ceb84ee9e..7059c37451:
  Francesco Giancane (1):
        qtbase_%.bbappend: update PACKAGECONFIG name for xkbcommon

  Gianluigi Tiesi (1):
        psplash: Raise alternatives priority to 200

  Martin Jansa (3):
        linux_raspberrypi_4.19: Update to 4.19.34
        bluez5: apply the same patches and pi-bluetooth dependency for all rpi MACHINEs
        userland: use default PACKAGE_ARCH

  Paul Barker (3):
        linux-raspberrypi: Update 4.14.y kernel
        linux-raspberrypi: Switch default back to 4.14.y
        linux-raspberrypi 4.9: Drop old version

meta-security: 8a1f54a246..9f5cc2a7eb:
  Alexander Kanavin (1):
        apparmor: fetch from git

  Armin Kuster (15):
        clamav runtime: add resolve.conf support
        clamav: fix llvm reference version
        libldb: add waf-cross-answeres
        clamav: runtime fix local routing
        clamav: add clamav-cvd package for cvd db
        clamav-native: fix new build issue
        apparmor: fix fragment for 5.0 kernel
        apparmor: add a few more runtime
        smack: move patch to smack dir
        smack-test: add smack tests from meta-intel-iot-security
        samhain: add more tests and fix ret checks
        libldb: add earlier version
        libseccomp: update to 2.4.1
        oe-selftest: add running cve checker
        smack: kernel fragment update

  Yi Zhao (2):
        meta-tpm/conf/layer.conf: update layer dependencies
        meta-tpm/README: update

Change-Id: I9e02cb75a779f25fca84395144025410bb609dfa
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/poky/meta/COPYING.GPLv2 b/poky/meta/COPYING.GPLv2
deleted file mode 100644
index d511905..0000000
--- a/poky/meta/COPYING.GPLv2
+++ /dev/null
@@ -1,339 +0,0 @@
-		    GNU GENERAL PUBLIC LICENSE
-		       Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-			    Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-		    GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-			    NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-		     END OF TERMS AND CONDITIONS
-
-	    How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) year name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.
diff --git a/poky/meta/classes/ccmake.bbclass b/poky/meta/classes/ccmake.bbclass
index 4114daa..df5134a 100644
--- a/poky/meta/classes/ccmake.bbclass
+++ b/poky/meta/classes/ccmake.bbclass
@@ -81,7 +81,7 @@
 
                 with open(d.expand("${WORKDIR}/site-file.cmake"), "w") as f:
                     for k, kt, v in added:
-                        f.write("SET({0} \"{1}\" CACHE {2} "")\n".format(k, v, kt))
+                        f.write("SET({0} \"{1}\" CACHE {2} \"\")\n".format(k, v, kt))
                 bb.plain("Configuration cmake fragment written to: {0}".format(d.expand("${WORKDIR}/site-file.cmake")))
 
                 # restore the original config
diff --git a/poky/meta/classes/cml1.bbclass b/poky/meta/classes/cml1.bbclass
index 98d24ce..c7f6723 100644
--- a/poky/meta/classes/cml1.bbclass
+++ b/poky/meta/classes/cml1.bbclass
@@ -1,7 +1,7 @@
 cml1_do_configure() {
 	set -e
 	unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
-	oe_runmake oldconfig
+	yes '' | oe_runmake oldconfig
 }
 
 EXPORT_FUNCTIONS do_configure
diff --git a/poky/meta/classes/distutils.bbclass b/poky/meta/classes/distutils.bbclass
index 9862731..3759b58 100644
--- a/poky/meta/classes/distutils.bbclass
+++ b/poky/meta/classes/distutils.bbclass
@@ -9,6 +9,9 @@
     --install-lib=${PYTHON_SITEPACKAGES_DIR} \
     --install-data=${datadir}"
 
+DISTUTILS_PYTHON = "python"
+DISTUTILS_PYTHON_class-native = "nativepython"
+
 distutils_do_configure() {
         if [ "${CLEANBROKEN}" != "1" ] ; then
                 NO_FETCH_BUILD=1 \
@@ -49,29 +52,20 @@
 
         # support filenames with *spaces*
         # only modify file if it contains path  and recompile it
-        find ${D} -name "*.py" -exec grep -q ${D} {} \; -exec sed -i -e s:${D}::g {} \; -exec ${STAGING_BINDIR_NATIVE}/python-native/python -mcompileall {} \;
+        find ${D} -name "*.py" -exec grep -q ${D} {} \; \
+                               -exec sed -i -e s:${D}::g {} \; \
+                               -exec ${STAGING_BINDIR_NATIVE}/python-native/python -mcompileall {} \;
 
-        if test -e ${D}${bindir} ; then	
-            for i in ${D}${bindir}/* ; do \
-                if [ ${PN} != "${BPN}-native" ]; then
-			sed -i -e s:${STAGING_BINDIR_NATIVE}/python-native/python:${USRBINPATH}/env\ python:g $i
-		fi
+        for i in ${D}${bindir}/* ${D}${sbindir}/*; do
+            if [ -f "$i" ]; then
+                sed -i -e s:${PYTHON}:${USRBINPATH}/env\ ${DISTUTILS_PYTHON}:g $i
                 sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g $i
-            done
-        fi
-
-        if [ -e ${D}${sbindir} ]; then
-            for i in ${D}${sbindir}/* ; do \
-                if [ ${PN} != "${BPN}-native" ]; then
-			sed -i -e s:${STAGING_BINDIR_NATIVE}/python-native/python:${USRBINPATH}/env\ python:g $i
-		fi
-                sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g $i
-            done
-        fi
+            fi
+        done
 
         rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/easy-install.pth
         rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/site.py*
-        
+
         #
         # FIXME: Bandaid against wrong datadir computation
         #
@@ -81,7 +75,8 @@
         fi
 
 	# Fix backport modules
-	if [ -e ${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/backports/__init__.py ] && [ -e ${D}${PYTHON_SITEPACKAGES_DIR}/backports/__init__.py ]; then
+	if [ -e ${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/backports/__init__.py ] && 
+           [ -e ${D}${PYTHON_SITEPACKAGES_DIR}/backports/__init__.py ]; then
 	   rm ${D}${PYTHON_SITEPACKAGES_DIR}/backports/__init__.py;
 	   rm ${D}${PYTHON_SITEPACKAGES_DIR}/backports/__init__.pyc;
 	fi
diff --git a/poky/meta/classes/distutils3.bbclass b/poky/meta/classes/distutils3.bbclass
index 834e322..05a24bf 100644
--- a/poky/meta/classes/distutils3.bbclass
+++ b/poky/meta/classes/distutils3.bbclass
@@ -10,6 +10,9 @@
     --install-lib=${PYTHON_SITEPACKAGES_DIR} \
     --install-data=${datadir}"
 
+DISTUTILS_PYTHON = "python3"
+DISTUTILS_PYTHON_class-native = "nativepython3"
+
 distutils3_do_configure() {
 	if [ "${CLEANBROKEN}" != "1" ] ; then
 		NO_FETCH_BUILD=1 \
@@ -53,24 +56,18 @@
         bbfatal_log "'${PYTHON_PN} setup.py install ${DISTUTILS_INSTALL_ARGS}' execution failed."
 
         # support filenames with *spaces*
-        find ${D} -name "*.py" -exec grep -q ${D} {} \; -exec sed -i -e s:${D}::g {} \;
+        find ${D} -name "*.py" -exec grep -q ${D} {} \; \
+                               -exec sed -i -e s:${D}::g {} \;
 
-        if test -e ${D}${bindir} ; then	
-            for i in ${D}${bindir}/* ; do \
-                sed -i -e s:${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN}:${USRBINPATH}/env\ ${PYTHON_PN}:g $i
+        for i in ${D}${bindir}/* ${D}${sbindir}/*; do
+            if [ -f "$i" ]; then
+                sed -i -e s:${PYTHON}:${USRBINPATH}/env\ ${DISTUTILS_PYTHON}:g $i
                 sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g $i
-            done
-        fi
-
-        if test -e ${D}${sbindir}; then
-            for i in ${D}${sbindir}/* ; do \
-                sed -i -e s:${STAGING_BINDIR_NATIVE}/python-${PYTHON_PN}/${PYTHON_PN}:${USRBINPATH}/env\ ${PYTHON_PN}:g $i
-                sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g $i
-            done
-        fi
+            fi
+        done
 
         rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/easy-install.pth
-        
+
         #
         # FIXME: Bandaid against wrong datadir computation
         #
diff --git a/poky/meta/classes/go.bbclass b/poky/meta/classes/go.bbclass
index 78c2d68..b6d9372 100644
--- a/poky/meta/classes/go.bbclass
+++ b/poky/meta/classes/go.bbclass
@@ -20,8 +20,6 @@
 GO386[export] = "0"
 GO386_x86_class-target = "${TARGET_GO386}"
 GO386_x86_class-target[export] = "1"
-GO386_i586_class-target = "${TARGET_GO386}"
-GO386_i586_class-target[export] = "1"
 
 GOMIPS[export] = "0"
 GOMIPS_mips_class-target = "${TARGET_GOMIPS}"
@@ -132,7 +130,7 @@
 	install -d ${D}${libdir}/go/src/${GO_IMPORT}
 	tar -C ${S}/src/${GO_IMPORT} -cf - --exclude-vcs --exclude '*.test' --exclude 'testdata' . | \
 		tar -C ${D}${libdir}/go/src/${GO_IMPORT} --no-same-owner -xf -
-	tar -C ${B} -cf - pkg | tar -C ${D}${libdir}/go --no-same-owner -xf -
+	tar -C ${B} -cf - --exclude-vcs pkg | tar -C ${D}${libdir}/go --no-same-owner -xf -
 
 	if [ -n "`ls ${B}/${GO_BUILD_BINDIR}/`" ]; then
 		install -d ${D}${bindir}
diff --git a/poky/meta/classes/goarch.bbclass b/poky/meta/classes/goarch.bbclass
index 909646b..166dea9 100644
--- a/poky/meta/classes/goarch.bbclass
+++ b/poky/meta/classes/goarch.bbclass
@@ -3,13 +3,13 @@
 BUILD_GOTUPLE = "${BUILD_GOOS}_${BUILD_GOARCH}"
 HOST_GOOS = "${@go_map_os(d.getVar('HOST_OS'), d)}"
 HOST_GOARCH = "${@go_map_arch(d.getVar('HOST_ARCH'), d)}"
-HOST_GOARM = "${@go_map_arm(d.getVar('HOST_ARCH'), d.getVar('BASE_GOARM'), d)}"
+HOST_GOARM = "${@go_map_arm(d.getVar('HOST_ARCH'), d)}"
 HOST_GO386 = "${@go_map_386(d.getVar('HOST_ARCH'), d.getVar('TUNE_FEATURES'), d)}"
 HOST_GOMIPS = "${@go_map_mips(d.getVar('HOST_ARCH'), d.getVar('TUNE_FEATURES'), d)}"
 HOST_GOTUPLE = "${HOST_GOOS}_${HOST_GOARCH}"
 TARGET_GOOS = "${@go_map_os(d.getVar('TARGET_OS'), d)}"
 TARGET_GOARCH = "${@go_map_arch(d.getVar('TARGET_ARCH'), d)}"
-TARGET_GOARM = "${@go_map_arm(d.getVar('TARGET_ARCH'), d.getVar('BASE_GOARM'), d)}"
+TARGET_GOARM = "${@go_map_arm(d.getVar('TARGET_ARCH'), d)}"
 TARGET_GO386 = "${@go_map_386(d.getVar('TARGET_ARCH'), d.getVar('TUNE_FEATURES'), d)}"
 TARGET_GOMIPS = "${@go_map_mips(d.getVar('TARGET_ARCH'), d.getVar('TUNE_FEATURES'), d)}"
 TARGET_GOTUPLE = "${TARGET_GOOS}_${TARGET_GOARCH}"
@@ -81,10 +81,9 @@
     else:
         raise bb.parse.SkipRecipe("Unsupported CPU architecture: %s" % a)
 
-def go_map_arm(a, f, d):
-    import re
-    if re.match('arm.*', a):
-        return f
+def go_map_arm(a, d):
+    if a.startswith("arm"):
+        return d.getVar('BASE_GOARM')
     return ''
 
 def go_map_386(a, f, d):
diff --git a/poky/meta/classes/gobject-introspection.bbclass b/poky/meta/classes/gobject-introspection.bbclass
index 4ceb0c6..504f75e 100644
--- a/poky/meta/classes/gobject-introspection.bbclass
+++ b/poky/meta/classes/gobject-introspection.bbclass
@@ -6,14 +6,24 @@
 # This also sets up autoconf-based recipes to build introspection data (or not),
 # depending on distro and machine features (see gobject-introspection-data class).
 inherit python3native gobject-introspection-data
+
+# meson: default option name to enable/disable introspection. This matches most
+# project's configuration. In doubts - check meson_options.txt in project's
+# source path.
+GIR_MESON_OPTION ?= 'introspection'
+GIR_MESON_ENABLE_FLAG ?= 'true'
+GIR_MESON_DISABLE_FLAG ?= 'false'
+
+# Auto enable/disable based on GI_DATA_ENABLED
 EXTRA_OECONF_prepend_class-target = "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '--enable-introspection', '--disable-introspection', d)} "
+EXTRA_OEMESON_prepend_class-target = "-D${GIR_MESON_OPTION}=${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GIR_MESON_ENABLE_FLAG}', '${GIR_MESON_DISABLE_FLAG}', d)} "
 
 # When building native recipes, disable introspection, as it is not necessary,
 # pulls in additional dependencies, and makes build times longer
 EXTRA_OECONF_prepend_class-native = "--disable-introspection "
 EXTRA_OECONF_prepend_class-nativesdk = "--disable-introspection "
-
-UNKNOWN_CONFIGURE_WHITELIST_append = " --enable-introspection --disable-introspection"
+EXTRA_OEMESON_prepend_class-native = "-D${GIR_MESON_OPTION}=${GIR_MESON_DISABLE_FLAG} "
+EXTRA_OEMESON_prepend_class-nativesdk = "-D${GIR_MESON_OPTION}=${GIR_MESON_DISABLE_FLAG} "
 
 # Generating introspection data depends on a combination of native and target
 # introspection tools, and qemu to run the target tools.
diff --git a/poky/meta/classes/gtk-doc.bbclass b/poky/meta/classes/gtk-doc.bbclass
index 707d74d..7dd662b 100644
--- a/poky/meta/classes/gtk-doc.bbclass
+++ b/poky/meta/classes/gtk-doc.bbclass
@@ -10,13 +10,24 @@
 GTKDOC_ENABLED ?= "${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', \
                       bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'True', 'False', d), 'False', d)}"
 
+# meson: default option name to enable/disable gtk-doc. This matches most
+# project's configuration. In doubts - check meson_options.txt in project's
+# source path.
+GTKDOC_MESON_OPTION ?= 'docs'
+GTKDOC_MESON_ENABLE_FLAG ?= 'true'
+GTKDOC_MESON_DISABLE_FLAG ?= 'false'
+
+# Auto enable/disable based on GTKDOC_ENABLED
 EXTRA_OECONF_prepend_class-target = "${@bb.utils.contains('GTKDOC_ENABLED', 'True', '--enable-gtk-doc --enable-gtk-doc-html --disable-gtk-doc-pdf', \
                                                                                     '--disable-gtk-doc', d)} "
+EXTRA_OEMESON_prepend_class-target = "-D${GTKDOC_MESON_OPTION}=${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_MESON_ENABLE_FLAG}', '${GTKDOC_MESON_DISABLE_FLAG}', d)} "
 
 # When building native recipes, disable gtkdoc, as it is not necessary,
 # pulls in additional dependencies, and makes build times longer
 EXTRA_OECONF_prepend_class-native = "--disable-gtk-doc "
 EXTRA_OECONF_prepend_class-nativesdk = "--disable-gtk-doc "
+EXTRA_OEMESON_prepend_class-native = "-D${GTKDOC_MESON_OPTION}=${GTKDOC_MESON_DISABLE_FLAG} "
+EXTRA_OEMESON_prepend_class-nativesdk = "-D${GTKDOC_MESON_OPTION}=${GTKDOC_MESON_DISABLE_FLAG} "
 
 # Even though gtkdoc is disabled on -native, gtk-doc package is still
 # needed for m4 macros.
diff --git a/poky/meta/classes/gtk-icon-cache.bbclass b/poky/meta/classes/gtk-icon-cache.bbclass
index d87167a..66fe781 100644
--- a/poky/meta/classes/gtk-icon-cache.bbclass
+++ b/poky/meta/classes/gtk-icon-cache.bbclass
@@ -1,8 +1,8 @@
 FILES_${PN} += "${datadir}/icons/hicolor"
 
-DEPENDS += "${@['hicolor-icon-theme', '']['${BPN}' == 'hicolor-icon-theme']} gtk-icon-utils-native"
+DEPENDS +=" ${@['hicolor-icon-theme', '']['${BPN}' == 'hicolor-icon-theme']} gtk+3-native"
 
-PACKAGE_WRITE_DEPS += "gtk-icon-utils-native gdk-pixbuf-native"
+PACKAGE_WRITE_DEPS += "gtk+3-native gdk-pixbuf-native"
 
 gtk_icon_cache_postinst() {
 if [ "x$D" != "x" ]; then
diff --git a/poky/meta/classes/icecc.bbclass b/poky/meta/classes/icecc.bbclass
index 6d003dc..edb0e10 100644
--- a/poky/meta/classes/icecc.bbclass
+++ b/poky/meta/classes/icecc.bbclass
@@ -312,6 +312,7 @@
     # dummy python version of set_icecc_env
     return
 
+set_icecc_env[vardepsexclude] += "KERNEL_CC"
 set_icecc_env() {
     if [ "${@use_icecc(bb, d)}" = "no" ]
     then
diff --git a/poky/meta/classes/image.bbclass b/poky/meta/classes/image.bbclass
index 276d0d3..d2b2fb9 100644
--- a/poky/meta/classes/image.bbclass
+++ b/poky/meta/classes/image.bbclass
@@ -33,7 +33,7 @@
 # IMAGE_FEATURES may contain any available package group
 IMAGE_FEATURES ?= ""
 IMAGE_FEATURES[type] = "list"
-IMAGE_FEATURES[validitems] += "debug-tweaks read-only-rootfs empty-root-password allow-empty-password allow-root-login post-install-logging"
+IMAGE_FEATURES[validitems] += "debug-tweaks read-only-rootfs stateless-rootfs empty-root-password allow-empty-password allow-root-login post-install-logging"
 
 # Generate companion debugfs?
 IMAGE_GEN_DEBUGFS ?= "0"
@@ -664,6 +664,12 @@
         find  ${IMAGE_ROOTFS} -exec touch -h  --date=@$REPRODUCIBLE_TIMESTAMP_ROOTFS {} \;
     fi
 }
-IMAGE_PREPROCESS_COMMAND_append = " reproducible_final_image_task; "
+
+systemd_preset_all () {
+    systemctl --root="${IMAGE_ROOTFS}" --preset-mode=enable-only preset-all
+}
+
+IMAGE_EXTRADEPENDS += "${@ 'systemd-systemctl-native' if bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d) and not bb.utils.contains('IMAGE_FEATURES', 'stateless-rootfs', True, False, d) else ''}"
+IMAGE_PREPROCESS_COMMAND_append = " ${@ 'systemd_preset_all;' if bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d) and not bb.utils.contains('IMAGE_FEATURES', 'stateless-rootfs', True, False, d) else ''} reproducible_final_image_task; "
 
 CVE_PRODUCT = ""
diff --git a/poky/meta/classes/image_types.bbclass b/poky/meta/classes/image_types.bbclass
index f363c42..1c44ec4 100644
--- a/poky/meta/classes/image_types.bbclass
+++ b/poky/meta/classes/image_types.bbclass
@@ -54,7 +54,7 @@
     # Sort the set so that ordering is consistant
     return " ".join(sorted(deps))
 
-XZ_COMPRESSION_LEVEL ?= "-3"
+XZ_COMPRESSION_LEVEL ?= "-9"
 XZ_INTEGRITY_CHECK ?= "crc32"
 
 ZIP_COMPRESSION_LEVEL ?= "-9"
@@ -170,7 +170,9 @@
 	echo vol_type=dynamic >> ubinize${vname}-${IMAGE_NAME}.cfg
 	echo vol_name=${UBI_VOLNAME} >> ubinize${vname}-${IMAGE_NAME}.cfg
 	echo vol_flags=autoresize >> ubinize${vname}-${IMAGE_NAME}.cfg
-	mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${vname}${IMAGE_NAME_SUFFIX}.ubifs ${mkubifs_args}
+	if [ -n "$vname" ]; then
+		mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${vname}${IMAGE_NAME_SUFFIX}.ubifs ${mkubifs_args}
+	fi
 	ubinize -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${vname}${IMAGE_NAME_SUFFIX}.ubi ${ubinize_args} ubinize${vname}-${IMAGE_NAME}.cfg
 
 	# Cleanup cfg file
@@ -204,6 +206,7 @@
 IMAGE_CMD_ubi () {
 	multiubi_mkfs "${MKUBIFS_ARGS}" "${UBINIZE_ARGS}"
 }
+IMAGE_TYPEDEP_ubi = "ubifs"
 
 IMAGE_CMD_ubifs = "mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.ubifs ${MKUBIFS_ARGS}"
 
diff --git a/poky/meta/classes/insane.bbclass b/poky/meta/classes/insane.bbclass
index 4267cbd..a9be88e 100644
--- a/poky/meta/classes/insane.bbclass
+++ b/poky/meta/classes/insane.bbclass
@@ -1141,12 +1141,16 @@
     ###########################################################################
     # Check unrecognised configure options (with a white list)
     ###########################################################################
-    if bb.data.inherits_class("autotools", d):
+    if bb.data.inherits_class("autotools", d) or bb.data.inherits_class("meson", d):
         bb.note("Checking configure output for unrecognised options")
         try:
-            flag = "WARNING: unrecognized options:"
-            log = os.path.join(d.getVar('B'), 'config.log')
-            output = subprocess.check_output(['grep', '-F', flag, log]).decode("utf-8").replace(', ', ' ')
+            if bb.data.inherits_class("autotools", d):
+                flag = "WARNING: unrecognized options:"
+                log = os.path.join(d.getVar('B'), 'config.log')
+            if bb.data.inherits_class("meson", d):
+                flag = "WARNING: Unknown options:"
+                log = os.path.join(d.getVar('T'), 'log.do_configure')
+            output = subprocess.check_output(['grep', '-F', flag, log]).decode("utf-8").replace(', ', ' ').replace('"', '')
             options = set()
             for line in output.splitlines():
                 options |= set(line.partition(flag)[2].split())
diff --git a/poky/meta/classes/kernel-fitimage.bbclass b/poky/meta/classes/kernel-fitimage.bbclass
index 2517d75..2820ff9 100644
--- a/poky/meta/classes/kernel-fitimage.bbclass
+++ b/poky/meta/classes/kernel-fitimage.bbclass
@@ -10,6 +10,8 @@
         uarch = d.getVar("UBOOT_ARCH")
         if uarch == "arm64":
             replacementtype = "Image"
+        elif uarch == "riscv":
+            replacementtype = "Image"
         elif uarch == "mips":
             replacementtype = "vmlinuz.bin"
         elif uarch == "x86":
diff --git a/poky/meta/classes/kernel-module-split.bbclass b/poky/meta/classes/kernel-module-split.bbclass
index e8d3eb5..221022b 100644
--- a/poky/meta/classes/kernel-module-split.bbclass
+++ b/poky/meta/classes/kernel-module-split.bbclass
@@ -44,9 +44,23 @@
     def extract_modinfo(file):
         import tempfile, subprocess
         tempfile.tempdir = d.getVar("WORKDIR")
+        compressed = re.match( r'.*\.([xg])z$', file)
         tf = tempfile.mkstemp()
         tmpfile = tf[1]
-        cmd = "%sobjcopy -j .modinfo -O binary %s %s" % (d.getVar("HOST_PREFIX") or "", file, tmpfile)
+        if compressed:
+            tmpkofile = tmpfile + ".ko"
+            if compressed.group(1) == 'g':
+                cmd = "gunzip -dc %s > %s" % (file, tmpkofile)
+                subprocess.check_call(cmd, shell=True)
+            elif compressed.group(1) == 'x':
+                cmd = "xz -dc %s > %s" % (file, tmpkofile)
+                subprocess.check_call(cmd, shell=True)
+            else:
+                msg = "Cannot decompress '%s'" % file
+                raise msg
+            cmd = "%sobjcopy -j .modinfo -O binary %s %s" % (d.getVar("HOST_PREFIX") or "", tmpkofile, tmpfile)
+        else:
+            cmd = "%sobjcopy -j .modinfo -O binary %s %s" % (d.getVar("HOST_PREFIX") or "", file, tmpfile)
         subprocess.check_call(cmd, shell=True)
         # errors='replace': Some old kernel versions contain invalid utf-8 characters in mod descriptions (like 0xf6, 'ö')
         f = open(tmpfile, errors='replace')
@@ -54,6 +68,8 @@
         f.close()
         os.close(tf[0])
         os.unlink(tmpfile)
+        if compressed:
+            os.unlink(tmpkofile)
         vals = {}
         for i in l:
             m = modinfoexp.match(i)
@@ -133,7 +149,7 @@
     kernel_package_name = d.getVar("KERNEL_PACKAGE_NAME") or "kernel"
     kernel_version = d.getVar("KERNEL_VERSION")
 
-    module_regex = r'^(.*)\.k?o$'
+    module_regex = r'^(.*)\.k?o(?:\.[xg]z)?$'
 
     module_pattern_prefix = d.getVar('KERNEL_MODULE_PACKAGE_PREFIX')
     module_pattern_suffix = d.getVar('KERNEL_MODULE_PACKAGE_SUFFIX')
diff --git a/poky/meta/classes/kernel.bbclass b/poky/meta/classes/kernel.bbclass
index 9da9818..b346a60 100644
--- a/poky/meta/classes/kernel.bbclass
+++ b/poky/meta/classes/kernel.bbclass
@@ -130,7 +130,7 @@
 # the symlink.
 do_unpack[cleandirs] += " ${S} ${STAGING_KERNEL_DIR} ${B} ${STAGING_KERNEL_BUILDDIR}"
 do_clean[cleandirs] += " ${S} ${STAGING_KERNEL_DIR} ${B} ${STAGING_KERNEL_BUILDDIR}"
-base_do_unpack_append () {
+python do_symlink_kernsrc () {
     s = d.getVar("S")
     if s[-1] == '/':
         # drop trailing slash, so that os.symlink(kernsrc, s) doesn't use s as directory name and fail
@@ -147,6 +147,7 @@
             shutil.move(s, kernsrc)
             os.symlink(kernsrc, s)
 }
+addtask symlink_kernsrc before do_configure after do_unpack
 
 inherit kernel-arch deploy
 
diff --git a/poky/meta/classes/license_image.bbclass b/poky/meta/classes/license_image.bbclass
index 6750038..6fb76be 100644
--- a/poky/meta/classes/license_image.bbclass
+++ b/poky/meta/classes/license_image.bbclass
@@ -102,7 +102,7 @@
         rootfs_license_manifest = os.path.join(rootfs_license_dir,
                 os.path.split(license_manifest)[1])
         if not os.path.exists(rootfs_license_manifest):
-            os.link(license_manifest, rootfs_license_manifest)
+            oe.path.copyhardlink(license_manifest, rootfs_license_manifest)
 
         if copy_lic_dirs == "1":
             for pkg in sorted(pkg_dic):
@@ -136,7 +136,7 @@
                             continue
 
                         if not os.path.exists(rootfs_license):
-                            os.link(pkg_license, rootfs_license)
+                            oe.path.copyhardlink(pkg_license, rootfs_license)
 
                         if not os.path.exists(pkg_rootfs_license):
                             os.symlink(os.path.join('..', lic), pkg_rootfs_license)
@@ -146,7 +146,7 @@
                                 os.path.exists(pkg_rootfs_license)):
                             continue
 
-                        os.link(pkg_license, pkg_rootfs_license)
+                        oe.path.copyhardlink(pkg_license, pkg_rootfs_license)
             # Fixup file ownership and permissions
             for walkroot, dirs, files in os.walk(rootfs_license_dir):
                 for f in files:
diff --git a/poky/meta/classes/native.bbclass b/poky/meta/classes/native.bbclass
index e9f6c74..d5b6f6a 100644
--- a/poky/meta/classes/native.bbclass
+++ b/poky/meta/classes/native.bbclass
@@ -89,6 +89,7 @@
 
 NATIVE_PACKAGE_PATH_SUFFIX ?= ""
 bindir .= "${NATIVE_PACKAGE_PATH_SUFFIX}"
+sbindir .= "${NATIVE_PACKAGE_PATH_SUFFIX}"
 base_libdir .= "${NATIVE_PACKAGE_PATH_SUFFIX}"
 libdir .= "${NATIVE_PACKAGE_PATH_SUFFIX}"
 libexecdir .= "${NATIVE_PACKAGE_PATH_SUFFIX}"
diff --git a/poky/meta/classes/populate_sdk_base.bbclass b/poky/meta/classes/populate_sdk_base.bbclass
index ebc30d3..a7f0fe7 100644
--- a/poky/meta/classes/populate_sdk_base.bbclass
+++ b/poky/meta/classes/populate_sdk_base.bbclass
@@ -45,8 +45,23 @@
 TOOLCHAIN_TARGET_TASK_ATTEMPTONLY ?= ""
 TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-toolchain-${SDK_VERSION}"
 
+# Default archived SDK's suffix
+SDK_ARCHIVE_TYPE ?= "tar.xz"
+
+# To support different sdk type according to SDK_ARCHIVE_TYPE, now support zip and tar.xz
+python () {
+    if d.getVar('SDK_ARCHIVE_TYPE') == 'zip':
+       d.setVar('SDK_ARCHIVE_DEPENDS', 'zip-native')
+       # SDK_ARCHIVE_CMD used to generate archived sdk ${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE} from input dir ${SDK_OUTPUT}/${SDKPATH} to output dir ${SDKDEPLOYDIR}
+       # recommand to cd into input dir first to avoid archive with buildpath
+       d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; zip -r ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE} .')
+    else:
+       d.setVar('SDK_ARCHIVE_DEPENDS', 'xz-native')
+       d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; tar ${SDKTAROPTS} -cf - . | xz -T 0 > ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE}')
+}
+
 SDK_RDEPENDS = "${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_HOST_TASK}"
-SDK_DEPENDS = "virtual/fakeroot-native xz-native cross-localedef-native nativesdk-qemuwrapper-cross ${@' '.join(["%s-qemuwrapper-cross" % m for m in d.getVar("MULTILIB_VARIANTS").split()])} qemuwrapper-cross"
+SDK_DEPENDS = "virtual/fakeroot-native ${SDK_ARCHIVE_DEPENDS} cross-localedef-native nativesdk-qemuwrapper-cross ${@' '.join(["%s-qemuwrapper-cross" % m for m in d.getVar("MULTILIB_VARIANTS").split()])} qemuwrapper-cross"
 PATH_prepend = "${STAGING_DIR_HOST}${SDKPATHNATIVE}${bindir}/crossscripts:${@":".join(all_multilib_tune_values(d, 'STAGING_BINDIR_CROSS').split())}:"
 SDK_DEPENDS_append_libc-glibc = " nativesdk-glibc-locale"
 
@@ -104,7 +119,7 @@
 POPULATE_SDK_POST_TARGET_COMMAND_append_task-populate-sdk  = " write_target_sdk_manifest ; "
 POPULATE_SDK_POST_HOST_COMMAND_append_task-populate-sdk = " write_host_sdk_manifest; "
 SDK_PACKAGING_COMMAND = "${@'${SDK_PACKAGING_FUNC};' if '${SDK_PACKAGING_FUNC}' else ''}"
-SDK_POSTPROCESS_COMMAND = " create_sdk_files; check_sdk_sysroots; tar_sdk; ${SDK_PACKAGING_COMMAND} "
+SDK_POSTPROCESS_COMMAND = " create_sdk_files; check_sdk_sysroots; archive_sdk; ${SDK_PACKAGING_COMMAND} "
 
 def populate_sdk_common(d):
     from oe.sdk import populate_sdk
@@ -222,11 +237,10 @@
 
 SDKTAROPTS = "--owner=root --group=root"
 
-fakeroot tar_sdk() {
+fakeroot archive_sdk() {
 	# Package it up
 	mkdir -p ${SDKDEPLOYDIR}
-	cd ${SDK_OUTPUT}/${SDKPATH}
-	tar ${SDKTAROPTS} -cf - . | xz ${XZ_DEFAULTS} > ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.tar.xz
+	${SDK_ARCHIVE_CMD}
 }
 
 TOOLCHAIN_SHAR_EXT_TMPL ?= "${COREBASE}/meta/files/toolchain-shar-extract.sh"
@@ -263,16 +277,17 @@
 		-e '/@SDK_PRE_INSTALL_COMMAND@/d' \
 		-e '/@SDK_POST_INSTALL_COMMAND@/d' \
 		-e 's#@SDK_GCC_VER@#${@oe.utils.host_gcc_version(d, taskcontextonly=True)}#g' \
+		-e 's#@SDK_ARCHIVE_TYPE@#${SDK_ARCHIVE_TYPE}#g' \
 		${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.sh
 
 	# add execution permission
 	chmod +x ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.sh
 
 	# append the SDK tarball
-	cat ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.tar.xz >> ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.sh
+	cat ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE} >> ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.sh
 
 	# delete the old tarball, we don't need it anymore
-	rm ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.tar.xz
+	rm ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE}
 }
 
 populate_sdk_log_check() {
diff --git a/poky/meta/classes/ptest.bbclass b/poky/meta/classes/ptest.bbclass
index 97865c9..fa4c36e 100644
--- a/poky/meta/classes/ptest.bbclass
+++ b/poky/meta/classes/ptest.bbclass
@@ -13,6 +13,7 @@
 PTEST_ENABLED_class-native = ""
 PTEST_ENABLED_class-nativesdk = ""
 PTEST_ENABLED_class-cross-canadian = ""
+RDEPENDS_${PN}-ptest += "${PN}"
 RDEPENDS_${PN}-ptest_class-native = ""
 RDEPENDS_${PN}-ptest_class-nativesdk = ""
 RRECOMMENDS_${PN}-ptest += "ptest-runner"
@@ -65,6 +66,38 @@
     done
 }
 
+PTEST_BINDIR_PKGD_PATH = "${PKGD}${PTEST_PATH}/bin"
+
+# This function needs to run after apply_update_alternative_renames because the
+# aforementioned function will update the ALTERNATIVE_LINK_NAME flag. Append is
+# used here to make this function to run as late as possible.
+PACKAGE_PREPROCESS_FUNCS_append = "${@bb.utils.contains('PTEST_BINDIR', '1', \
+                                    bb.utils.contains('PTEST_ENABLED', '1', ' ptest_update_alternatives', '', d), '', d)}"
+
+python ptest_update_alternatives() {
+    """
+    This function will generate the symlinks in the PTEST_BINDIR_PKGD_PATH
+    to match the renamed binaries by update-alternatives.
+    """
+
+    if not bb.data.inherits_class('update-alternatives', d) \
+           or not update_alternatives_enabled(d):
+        return
+
+    bb.note("Generating symlinks for ptest")
+    bin_paths = { d.getVar("bindir"), d.getVar("base_bindir"),
+                   d.getVar("sbindir"), d.getVar("base_sbindir") }
+    ptest_bindir = d.getVar("PTEST_BINDIR_PKGD_PATH")
+    os.mkdir(ptest_bindir)
+    for pkg in (d.getVar('PACKAGES') or "").split():
+        alternatives = update_alternatives_alt_targets(d, pkg)
+        for alt_name, alt_link, alt_target, _ in alternatives:
+            # Some alternatives are for man pages,
+            # check if the alternative is in PATH
+            if os.path.dirname(alt_link) in bin_paths:
+                os.symlink(alt_target, os.path.join(ptest_bindir, alt_name))
+}
+
 do_configure_ptest_base[dirs] = "${B}"
 do_compile_ptest_base[dirs] = "${B}"
 do_install_ptest_base[dirs] = "${B}"
diff --git a/poky/meta/classes/rootfs-postcommands.bbclass b/poky/meta/classes/rootfs-postcommands.bbclass
index bde58ad..89f8efd 100644
--- a/poky/meta/classes/rootfs-postcommands.bbclass
+++ b/poky/meta/classes/rootfs-postcommands.bbclass
@@ -126,6 +126,12 @@
 			${IMAGE_ROOTFS}/etc/init.d/populate-volatile.sh
 		fi
 	fi
+
+	if ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "true", "false", d)}; then
+	# Create machine-id
+	# 20:12 < mezcalero> koen: you have three options: a) run systemd-machine-id-setup at install time, b) have / read-only and an empty file there (for stateless) and c) boot with / writable
+		touch ${IMAGE_ROOTFS}${sysconfdir}/machine-id
+	fi
 }
 
 #
diff --git a/poky/meta/classes/sanity.bbclass b/poky/meta/classes/sanity.bbclass
index 4cbb1f3..9429202 100644
--- a/poky/meta/classes/sanity.bbclass
+++ b/poky/meta/classes/sanity.bbclass
@@ -560,7 +560,7 @@
         try:
             subprocess.check_output(["perl", "-e", "use %s" % m])
         except subprocess.CalledProcessError as e:
-            errresult += e.output
+            errresult += bytes.decode(e.output)
             ret += "%s " % m
     if ret:
         return "Required perl module(s) not found: %s\n\n%s\n" % (ret, errresult)
diff --git a/poky/meta/classes/staging.bbclass b/poky/meta/classes/staging.bbclass
index 062b281..6bcd0b0 100644
--- a/poky/meta/classes/staging.bbclass
+++ b/poky/meta/classes/staging.bbclass
@@ -27,9 +27,10 @@
     ${mandir} \
     ${docdir} \
     ${infodir} \
-    ${datadir}/locale \
     ${datadir}/applications \
     ${datadir}/fonts \
+    ${datadir}/gtk-doc/html \
+    ${datadir}/locale \
     ${datadir}/pixmaps \
     ${libdir}/${PN}/ptest \
 "
diff --git a/poky/meta/classes/systemd.bbclass b/poky/meta/classes/systemd.bbclass
index c8f4fde..d1cb17d 100644
--- a/poky/meta/classes/systemd.bbclass
+++ b/poky/meta/classes/systemd.bbclass
@@ -23,38 +23,41 @@
 }
 
 systemd_postinst() {
-OPTS=""
-
-if [ -n "$D" ]; then
-    OPTS="--root=$D"
-fi
-
 if type systemctl >/dev/null 2>/dev/null; then
-	if [ -z "$D" ]; then
-		systemctl daemon-reload
+	OPTS=""
+
+	if [ -n "$D" ]; then
+		OPTS="--root=$D"
 	fi
 
-	systemctl $OPTS ${SYSTEMD_AUTO_ENABLE} ${SYSTEMD_SERVICE_ESCAPED}
+	if [ "${SYSTEMD_AUTO_ENABLE}" = "enable" ]; then
+		for service in ${SYSTEMD_SERVICE_ESCAPED}; do
+			case "${service}" in
+			*@*)
+				systemctl ${OPTS} enable "${service}"
+				;;
+			esac
+		done
+	fi
 
-	if [ -z "$D" -a "${SYSTEMD_AUTO_ENABLE}" = "enable" ]; then
-		systemctl --no-block restart ${SYSTEMD_SERVICE_ESCAPED}
+	if [ -z "$D" ]; then
+		systemctl daemon-reload
+		systemctl preset ${SYSTEMD_SERVICE_ESCAPED}
+
+		if [ "${SYSTEMD_AUTO_ENABLE}" = "enable" ]; then
+			systemctl --no-block restart ${SYSTEMD_SERVICE_ESCAPED}
+		fi
 	fi
 fi
 }
 
 systemd_prerm() {
-OPTS=""
-
-if [ -n "$D" ]; then
-    OPTS="--root=$D"
-fi
-
 if type systemctl >/dev/null 2>/dev/null; then
 	if [ -z "$D" ]; then
 		systemctl stop ${SYSTEMD_SERVICE_ESCAPED}
-	fi
 
-	systemctl $OPTS disable ${SYSTEMD_SERVICE_ESCAPED}
+		systemctl disable ${SYSTEMD_SERVICE_ESCAPED}
+	fi
 fi
 }
 
@@ -177,12 +180,25 @@
                 else:
                     bb.fatal("SYSTEMD_SERVICE_%s value %s does not exist" % (pkg_systemd, service))
 
+    def systemd_create_presets(pkg, action):
+        presetf = oe.path.join(d.getVar("PKGD"), d.getVar("systemd_unitdir"), "system-preset/98-%s.preset" % pkg)
+        bb.utils.mkdirhier(os.path.dirname(presetf))
+        with open(presetf, 'a') as fd:
+            for service in d.getVar('SYSTEMD_SERVICE_%s' % pkg).split():
+                fd.write("%s %s\n" % (action,service))
+        d.appendVar("FILES_%s" % pkg, ' ' + oe.path.join(d.getVar("systemd_unitdir"), "system-preset/98-%s.preset" % pkg))
+
     # Run all modifications once when creating package
     if os.path.exists(d.getVar("D")):
         for pkg in d.getVar('SYSTEMD_PACKAGES').split():
             systemd_check_package(pkg)
             if d.getVar('SYSTEMD_SERVICE_' + pkg):
                 systemd_generate_package_scripts(pkg)
+                action = get_package_var(d, 'SYSTEMD_AUTO_ENABLE', pkg)
+                if action in ("enable", "disable"):
+                    systemd_create_presets(pkg, action)
+                elif action not in ("mask", "preset"):
+                    bb.fatal("SYSTEMD_AUTO_ENABLE_%s '%s' is not 'enable', 'disable', 'mask' or 'preset'" % (pkg, action))
         systemd_check_services()
 }
 
diff --git a/poky/meta/classes/testimage.bbclass b/poky/meta/classes/testimage.bbclass
index ff1c53b..9bb5a5c 100644
--- a/poky/meta/classes/testimage.bbclass
+++ b/poky/meta/classes/testimage.bbclass
@@ -316,7 +316,8 @@
     configuration = get_testimage_configuration(d, 'runtime', machine)
     results.logDetails(get_testimage_json_result_dir(d),
                        configuration,
-                       get_testimage_result_id(configuration))
+                       get_testimage_result_id(configuration),
+                       dump_streams=d.getVar('TESTREPORT_FULLLOGS'))
     results.logSummary(pn)
     if not results.wasSuccessful():
         bb.fatal('%s - FAILED - check the task log and the ssh log' % pn, forcelog=True)
diff --git a/poky/meta/classes/uboot-sign.bbclass b/poky/meta/classes/uboot-sign.bbclass
index 9e3d1d6..8beafff 100644
--- a/poky/meta/classes/uboot-sign.bbclass
+++ b/poky/meta/classes/uboot-sign.bbclass
@@ -45,49 +45,72 @@
 # Functions in this bbclass is for u-boot only
 UBOOT_PN = "${@d.getVar('PREFERRED_PROVIDER_u-boot') or 'u-boot'}"
 
+concat_dtb_helper() {
+	if [ -e "${UBOOT_DTB_BINARY}" ]; then
+		ln -sf ${UBOOT_DTB_IMAGE} ${DEPLOYDIR}/${UBOOT_DTB_BINARY}
+		ln -sf ${UBOOT_DTB_IMAGE} ${DEPLOYDIR}/${UBOOT_DTB_SYMLINK}
+	fi
+
+	if [ -f "${UBOOT_NODTB_BINARY}" ]; then
+		install ${UBOOT_NODTB_BINARY} ${DEPLOYDIR}/${UBOOT_NODTB_IMAGE}
+		ln -sf ${UBOOT_NODTB_IMAGE} ${DEPLOYDIR}/${UBOOT_NODTB_SYMLINK}
+		ln -sf ${UBOOT_NODTB_IMAGE} ${DEPLOYDIR}/${UBOOT_NODTB_BINARY}
+	fi
+
+	# Concatenate U-Boot w/o DTB & DTB with public key
+	# (cf. kernel-fitimage.bbclass for more details)
+	deployed_uboot_dtb_binary='${DEPLOY_DIR_IMAGE}/${UBOOT_DTB_IMAGE}'
+	if [ "x${UBOOT_SUFFIX}" = "ximg" -o "x${UBOOT_SUFFIX}" = "xrom" ] && \
+		[ -e "$deployed_uboot_dtb_binary" ]; then
+		oe_runmake EXT_DTB=$deployed_uboot_dtb_binary
+		install ${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE}
+	elif [ -e "${DEPLOYDIR}/${UBOOT_NODTB_IMAGE}" -a -e "$deployed_uboot_dtb_binary" ]; then
+		cd ${DEPLOYDIR}
+		cat ${UBOOT_NODTB_IMAGE} $deployed_uboot_dtb_binary | tee ${UBOOT_BINARY} > ${UBOOT_IMAGE}
+	else
+		bbwarn "Failure while adding public key to u-boot binary. Verified boot won't be available."
+	fi
+}
+
 concat_dtb() {
-	if [ "${UBOOT_SIGN_ENABLE}" = "1" -a "${PN}" = "${UBOOT_PN}" ]; then
+	if [ "${UBOOT_SIGN_ENABLE}" = "1" -a "${PN}" = "${UBOOT_PN}" -a -n "${UBOOT_DTB_BINARY}" ]; then
 		mkdir -p ${DEPLOYDIR}
-		if [ -e ${B}/${UBOOT_DTB_BINARY} ]; then
-			ln -sf ${UBOOT_DTB_IMAGE} ${DEPLOYDIR}/${UBOOT_DTB_BINARY}
-			ln -sf ${UBOOT_DTB_IMAGE} ${DEPLOYDIR}/${UBOOT_DTB_SYMLINK}
-		fi
-
-		if [ -f ${B}/${UBOOT_NODTB_BINARY} ]; then
-            install ${B}/${UBOOT_NODTB_BINARY} ${DEPLOYDIR}/${UBOOT_NODTB_IMAGE}
-            ln -sf ${UBOOT_NODTB_IMAGE} ${UBOOT_NODTB_SYMLINK}
-            ln -sf ${UBOOT_NODTB_IMAGE} ${UBOOT_NODTB_BINARY}
-		fi
-
-		# Concatenate U-Boot w/o DTB & DTB with public key
-		# (cf. kernel-fitimage.bbclass for more details)
-		deployed_uboot_dtb_binary='${DEPLOY_DIR_IMAGE}/${UBOOT_DTB_IMAGE}'
-		if [ "x${UBOOT_SUFFIX}" = "ximg" -o "x${UBOOT_SUFFIX}" = "xrom" ] && \
-			[ -e "$deployed_uboot_dtb_binary" ]; then
+		if [ -n "${UBOOT_CONFIG}" ]; then
+			for config in ${UBOOT_MACHINE}; do
+				cd ${B}/${config}
+				concat_dtb_helper
+			done
+		else
 			cd ${B}
-			oe_runmake EXT_DTB=$deployed_uboot_dtb_binary
-			install ${B}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE}
-		elif [ -e "${DEPLOYDIR}/${UBOOT_NODTB_IMAGE}" -a -e "$deployed_uboot_dtb_binary" ]; then
-			cd ${DEPLOYDIR}
-			cat ${UBOOT_NODTB_IMAGE} $deployed_uboot_dtb_binary | tee ${B}/${UBOOT_BINARY} > ${UBOOT_IMAGE}
-		elif [ -n "${UBOOT_DTB_BINARY}" ]; then
-			bbwarn "Failure while adding public key to u-boot binary. Verified boot won't be available."
+			concat_dtb_helper
 		fi
 	fi
 }
 
 # Install UBOOT_DTB_BINARY to datadir, so that kernel can use it for
 # signing, and kernel will deploy UBOOT_DTB_BINARY after signs it.
+install_helper() {
+	if [ -f "${UBOOT_DTB_BINARY}" ]; then
+		install -d ${D}${datadir}
+		# UBOOT_DTB_BINARY is a symlink to UBOOT_DTB_IMAGE, so we
+		# need both of them.
+		install ${UBOOT_DTB_BINARY} ${D}${datadir}/${UBOOT_DTB_IMAGE}
+		ln -sf ${UBOOT_DTB_IMAGE} ${D}${datadir}/${UBOOT_DTB_BINARY}
+	else
+		bbwarn "${UBOOT_DTB_BINARY} not found"
+	fi
+}
+
 do_install_append() {
-	if [ "${UBOOT_SIGN_ENABLE}" = "1" -a "${PN}" = "${UBOOT_PN}" ]; then
-		if [ -f ${B}/${UBOOT_DTB_BINARY} ]; then
-			install -d ${D}${datadir}
-			# UBOOT_DTB_BINARY is a symlink to UBOOT_DTB_IMAGE, so we
-			# need both of them.
-			install ${B}/${UBOOT_DTB_BINARY} ${D}${datadir}/${UBOOT_DTB_IMAGE}
-			ln -sf ${UBOOT_DTB_IMAGE} ${D}${datadir}/${UBOOT_DTB_BINARY}
-		elif [ -n "${UBOOT_DTB_BINARY}" ]; then
-			bbwarn "${B}/${UBOOT_DTB_BINARY} not found"
+	if [ "${UBOOT_SIGN_ENABLE}" = "1" -a "${PN}" = "${UBOOT_PN}" -a -n "${UBOOT_DTB_BINARY}" ]; then
+		if [ -n "${UBOOT_CONFIG}" ]; then
+			for config in ${UBOOT_MACHINE}; do
+				cd ${B}/${config}
+				install_helper
+			done
+		else
+			cd ${B}
+			install_helper
 		fi
 	fi
 }
diff --git a/poky/meta/classes/update-alternatives.bbclass b/poky/meta/classes/update-alternatives.bbclass
index 537e85d..b702e77 100644
--- a/poky/meta/classes/update-alternatives.bbclass
+++ b/poky/meta/classes/update-alternatives.bbclass
@@ -216,42 +216,62 @@
             update_files(alt_target, alt_target_rename, pkg, d)
 }
 
+def update_alternatives_alt_targets(d, pkg):
+    """
+    Returns the update-alternatives metadata for a package.
+
+    The returned format is a list of tuples where the tuple contains:
+    alt_name:     The binary name
+    alt_link:     The path for the binary (Shared by different packages)
+    alt_target:   The path for the renamed binary (Unique per package)
+    alt_priority: The priority of the alt_target
+
+    All the alt_targets will be installed into the sysroot. The alt_link is
+    a symlink pointing to the alt_target with the highest priority.
+    """
+
+    pn = d.getVar('BPN')
+    pkgdest = d.getVar('PKGD')
+    updates = list()
+    for alt_name in (d.getVar('ALTERNATIVE_%s' % pkg) or "").split():
+        alt_link     = d.getVarFlag('ALTERNATIVE_LINK_NAME', alt_name)
+        alt_target   = d.getVarFlag('ALTERNATIVE_TARGET_%s' % pkg, alt_name) or \
+                       d.getVarFlag('ALTERNATIVE_TARGET', alt_name) or \
+                       d.getVar('ALTERNATIVE_TARGET_%s' % pkg) or \
+                       d.getVar('ALTERNATIVE_TARGET') or \
+                       alt_link
+        alt_priority = d.getVarFlag('ALTERNATIVE_PRIORITY_%s' % pkg,  alt_name) or \
+                       d.getVarFlag('ALTERNATIVE_PRIORITY',  alt_name) or \
+                       d.getVar('ALTERNATIVE_PRIORITY_%s' % pkg) or  \
+                       d.getVar('ALTERNATIVE_PRIORITY')
+
+        # This shouldn't trigger, as it should have been resolved earlier!
+        if alt_link == alt_target:
+            bb.note('alt_link == alt_target: %s == %s -- correcting, this should not happen!' % (alt_link, alt_target))
+            alt_target = '%s.%s' % (alt_target, pn)
+
+        if not os.path.lexists('%s/%s' % (pkgdest, alt_target)):
+            bb.warn('%s: NOT adding alternative provide %s: %s does not exist' % (pn, alt_link, alt_target))
+            continue
+
+        alt_target = os.path.normpath(alt_target)
+        updates.append( (alt_name, alt_link, alt_target, alt_priority) )
+
+    return updates
+
 PACKAGESPLITFUNCS_prepend = "populate_packages_updatealternatives "
 
 python populate_packages_updatealternatives () {
     if not update_alternatives_enabled(d):
         return
 
-    pn = d.getVar('BPN')
-
     # Do actual update alternatives processing
-    pkgdest = d.getVar('PKGD')
     for pkg in (d.getVar('PACKAGES') or "").split():
         # Create post install/removal scripts
         alt_setup_links = ""
         alt_remove_links = ""
-        for alt_name in (d.getVar('ALTERNATIVE_%s' % pkg) or "").split():
-            alt_link     = d.getVarFlag('ALTERNATIVE_LINK_NAME', alt_name)
-            alt_target   = d.getVarFlag('ALTERNATIVE_TARGET_%s' % pkg, alt_name) or d.getVarFlag('ALTERNATIVE_TARGET', alt_name)
-            alt_target   = alt_target or d.getVar('ALTERNATIVE_TARGET_%s' % pkg) or d.getVar('ALTERNATIVE_TARGET') or alt_link
-            # Sometimes alt_target is specified as relative to the link name.
-            alt_target   = os.path.join(os.path.dirname(alt_link), alt_target)
-
-            alt_priority = d.getVarFlag('ALTERNATIVE_PRIORITY_%s' % pkg,  alt_name) or d.getVarFlag('ALTERNATIVE_PRIORITY',  alt_name)
-            alt_priority = alt_priority or d.getVar('ALTERNATIVE_PRIORITY_%s' % pkg) or d.getVar('ALTERNATIVE_PRIORITY')
-
-            # This shouldn't trigger, as it should have been resolved earlier!
-            if alt_link == alt_target:
-                bb.note('alt_link == alt_target: %s == %s -- correcting, this should not happen!' % (alt_link, alt_target))
-                alt_target = '%s.%s' % (alt_target, pn)
-
-            if not os.path.lexists('%s/%s' % (pkgdest, alt_target)):
-                bb.warn('%s: NOT adding alternative provide %s: %s does not exist' % (pn, alt_link, alt_target))
-                continue
-
-            # Default to generate shell script.. eventually we may want to change this...
-            alt_target = os.path.normpath(alt_target)
-
+        updates = update_alternatives_alt_targets(d, pkg)
+        for alt_name, alt_link, alt_target, alt_priority in updates:
             alt_setup_links  += '\tupdate-alternatives --install %s %s %s %s\n' % (alt_link, alt_name, alt_target, alt_priority)
             alt_remove_links += '\tupdate-alternatives --remove  %s %s\n' % (alt_name, alt_target)
 
diff --git a/poky/meta/classes/useradd-staticids.bbclass b/poky/meta/classes/useradd-staticids.bbclass
index 70d59e5..3a1b5f1 100644
--- a/poky/meta/classes/useradd-staticids.bbclass
+++ b/poky/meta/classes/useradd-staticids.bbclass
@@ -76,8 +76,8 @@
         for param in oe.useradd.split_commands(params):
             try:
                 uaargs = parser.parse_args(oe.useradd.split_args(param))
-            except:
-                bb.fatal("%s: Unable to parse arguments for USERADD_PARAM_%s: '%s'" % (d.getVar('PN'), pkg, param))
+            except Exception as e:
+                bb.fatal("%s: Unable to parse arguments for USERADD_PARAM_%s '%s': %s" % (d.getVar('PN'), pkg, param, e))
 
             # Read all passwd files specified in USERADD_UID_TABLES or files/passwd
             # Use the standard passwd layout:
@@ -197,8 +197,8 @@
             try:
                 # If we're processing multiple lines, we could have left over values here...
                 gaargs = parser.parse_args(oe.useradd.split_args(param))
-            except:
-                bb.fatal("%s: Unable to parse arguments for GROUPADD_PARAM_%s: '%s'" % (d.getVar('PN'), pkg, param))
+            except Exception as e:
+                bb.fatal("%s: Unable to parse arguments for GROUPADD_PARAM_%s '%s': %s" % (d.getVar('PN'), pkg, param, e))
 
             # Read all group files specified in USERADD_GID_TABLES or files/group
             # Use the standard group layout:
diff --git a/poky/meta/classes/waf.bbclass b/poky/meta/classes/waf.bbclass
index 8e6d754..9002440 100644
--- a/poky/meta/classes/waf.bbclass
+++ b/poky/meta/classes/waf.bbclass
@@ -5,6 +5,32 @@
 
 EXTRA_OECONF_append = " ${PACKAGECONFIG_CONFARGS}"
 
+def waflock_hash(d):
+    # Calculates the hash used for the waf lock file. This should include
+    # all of the user controllable inputs passed to waf configure. Note
+    # that the full paths for ${B} and ${S} are used; this is OK and desired
+    # because a change to either of these should create a unique lock file
+    # to prevent collisions.
+    import hashlib
+    h = hashlib.sha512()
+    def update(name):
+        val = d.getVar(name)
+        if val is not None:
+            h.update(val.encode('utf-8'))
+    update('S')
+    update('B')
+    update('prefix')
+    update('EXTRA_OECONF')
+    return h.hexdigest()
+
+# Use WAFLOCK to specify a separate lock file. The build is already
+# sufficiently isolated by setting the output directory, this ensures that
+# bitbake won't step on toes of any other configured context in the source
+# directory (e.g. if the source is coming from externalsrc and was previously
+# configured elsewhere).
+export WAFLOCK = ".lock-waf_oe_${@waflock_hash(d)}_build"
+BB_HASHBASE_WHITELIST += "WAFLOCK"
+
 python waf_preconfigure() {
     import subprocess
     from distutils.version import StrictVersion
diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf
index 7f8b043..c5313cc 100644
--- a/poky/meta/conf/bitbake.conf
+++ b/poky/meta/conf/bitbake.conf
@@ -514,6 +514,9 @@
 # Used by ssh fetcher
 HOSTTOOLS_NONFATAL += "scp"
 
+# Link to git-lfs if present
+HOSTTOOLS_NONFATAL += "git-lfs"
+
 CCACHE ??= ""
 
 TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TARGET}"
@@ -628,28 +631,28 @@
 ##################################################################
 # Settings used by bitbake-layers.
 ##################################################################
-BBLAYERS_LAYERINDEX_URL ??= "http://layers.openembedded.org/layerindex/"
+BBLAYERS_LAYERINDEX_URL ??= "https://layers.openembedded.org/layerindex/"
 BBLAYERS_FETCH_DIR ??= "${COREBASE}"
 
 ##################################################################
 # Download locations and utilities.
 ##################################################################
 
-APACHE_MIRROR = "http://archive.apache.org/dist"
+APACHE_MIRROR = "https://archive.apache.org/dist"
 DEBIAN_MIRROR = "http://ftp.debian.org/debian/pool"
 GENTOO_MIRROR = "http://distfiles.gentoo.org/distfiles"
 GNOME_GIT = "git://gitlab.gnome.org/GNOME"
-GNOME_MIRROR = "http://ftp.gnome.org/pub/GNOME/sources"
-GNU_MIRROR = "http://ftp.gnu.org/gnu"
+GNOME_MIRROR = "https://ftp.gnome.org/pub/GNOME/sources"
+GNU_MIRROR = "https://ftp.gnu.org/gnu"
 GNUPG_MIRROR = "https://www.gnupg.org/ftp/gcrypt"
 GPE_MIRROR = "http://gpe.linuxtogo.org/download/source"
-KERNELORG_MIRROR = "http://cdn.kernel.org/pub"
-SOURCEFORGE_MIRROR = "http://downloads.sourceforge.net"
-XLIBS_MIRROR = "http://xlibs.freedesktop.org/release"
+KERNELORG_MIRROR = "https://cdn.kernel.org/pub"
+SOURCEFORGE_MIRROR = "https://downloads.sourceforge.net"
+XLIBS_MIRROR = "https://xlibs.freedesktop.org/release"
 XORG_MIRROR = "http://xorg.freedesktop.org/releases"
-SAVANNAH_GNU_MIRROR = "http://download.savannah.gnu.org/releases"
-SAVANNAH_NONGNU_MIRROR = "http://download.savannah.nongnu.org/releases"
-CPAN_MIRROR = "http://search.cpan.org/CPAN"
+SAVANNAH_GNU_MIRROR = "https://download.savannah.gnu.org/releases"
+SAVANNAH_NONGNU_MIRROR = "https://download.savannah.nongnu.org/releases"
+CPAN_MIRROR = "https://search.cpan.org/CPAN"
 
 SRC_URI[vardepsexclude] += "\
     APACHE_MIRROR \
@@ -845,7 +848,7 @@
 SERIAL_CONSOLE ??= ""
 SERIAL_CONSOLES ??= "${@d.getVar('SERIAL_CONSOLE').replace(' ', ';')}"
 
-NO_RECOMMENDATIONS ?= ""
+NO_RECOMMENDATIONS ??= ""
 BAD_RECOMMENDATIONS ?= ""
 
 # Make sure MACHINE isn't exported
@@ -898,3 +901,9 @@
 
 MLPREFIX ??= ""
 MULTILIB_VARIANTS ??= ""
+
+# Older versions of bitbake (< 1.42) don't set BB_UNIHASH. For compatibility with these
+# versions, set BB_UNIHASH equivalent to BB_TASKHASH if unspecified, which is
+# what it would be anyway if the signature generator (e.g. OEEquivHash) doesn't
+# support unihashes.
+BB_UNIHASH ?= "${BB_TASKHASH}"
diff --git a/poky/meta/conf/distro/include/default-distrovars.inc b/poky/meta/conf/distro/include/default-distrovars.inc
index 7a0baf3..10d86cf 100644
--- a/poky/meta/conf/distro/include/default-distrovars.inc
+++ b/poky/meta/conf/distro/include/default-distrovars.inc
@@ -10,7 +10,7 @@
 LOCALE_UTF8_IS_DEFAULT ?= "1"
 LOCALE_UTF8_IS_DEFAULT_class-nativesdk = "0"
 
-DISTRO_FEATURES_DEFAULT ?= "acl alsa argp bluetooth ext2 ipv4 ipv6 irda largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11"
+DISTRO_FEATURES_DEFAULT ?= "acl alsa argp bluetooth ext2 ipv4 ipv6 largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11"
 DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT}"
 IMAGE_FEATURES ?= ""
 
diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc
index 950b8e8..a9a689f 100644
--- a/poky/meta/conf/distro/include/maintainers.inc
+++ b/poky/meta/conf/distro/include/maintainers.inc
@@ -122,6 +122,7 @@
 RECIPE_MAINTAINER_pn-core-image-weston = "Richard Purdie <richard.purdie@linuxfoundation.org>"
 RECIPE_MAINTAINER_pn-core-image-x11 = "Richard Purdie <richard.purdie@linuxfoundation.org>"
 RECIPE_MAINTAINER_pn-core-image-sato-dev = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-core-image-sato-ptest-fast = "Richard Purdie <richard.purdie@linuxfoundation.org>"
 RECIPE_MAINTAINER_pn-core-image-sato-sdk-ptest = "Richard Purdie <richard.purdie@linuxfoundation.org>"
 RECIPE_MAINTAINER_pn-coreutils = "Chen Qi <Qi.Chen@windriver.com>"
 RECIPE_MAINTAINER_pn-cpio = "Denys Dmytriyenko <denys@ti.com>"
@@ -165,6 +166,7 @@
 RECIPE_MAINTAINER_pn-eglinfo-x11 = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-eglinfo-wayland = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-elfutils = "Hongxu Jia <hongxu.jia@windriver.com>"
+RECIPE_MAINTAINER_pn-ell = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
 RECIPE_MAINTAINER_pn-enchant = "Anuj Mittal <anuj.mittal@intel.com>"
 RECIPE_MAINTAINER_pn-encodings = "Armin Kuster <akuster808@gmail.com>"
 RECIPE_MAINTAINER_pn-epiphany = "Alexander Kanavin <alex.kanavin@gmail.com>"
@@ -194,8 +196,8 @@
 RECIPE_MAINTAINER_pn-gcc-crosssdk-initial-${SDK_SYS} = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER_pn-gcc-runtime = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER_pn-gcc-sanitizers = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-gcc-source-7.3.0 = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER_pn-gcc-source-8.3.0 = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER_pn-gcc-source-9.1.0 = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER_pn-gccmakedep = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER_pn-gconf = "Ross Burton <ross.burton@intel.com>"
 RECIPE_MAINTAINER_pn-gcr = "Alexander Kanavin <alex.kanavin@gmail.com>"
@@ -284,7 +286,6 @@
 RECIPE_MAINTAINER_pn-iproute2 = "Changhyeok Bae <changhyeok.bae@gmail.com>"
 RECIPE_MAINTAINER_pn-iptables = "Changhyeok Bae <changhyeok.bae@gmail.com>"
 RECIPE_MAINTAINER_pn-iputils = "Changhyeok Bae <changhyeok.bae@gmail.com>"
-RECIPE_MAINTAINER_pn-irda-utils = "Changhyeok Bae <changhyeok.bae@gmail.com>"
 RECIPE_MAINTAINER_pn-iso-codes = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-iw = "Changhyeok Bae <changhyeok.bae@gmail.com>"
 RECIPE_MAINTAINER_pn-libjpeg-turbo = "Anuj Mittal <anuj.mittal@intel.com>"
@@ -536,7 +537,6 @@
 RECIPE_MAINTAINER_pn-ofono = "Ross Burton <ross.burton@intel.com>"
 RECIPE_MAINTAINER_pn-openssh = "Armin Kuster <akuster808@gmail.com>"
 RECIPE_MAINTAINER_pn-openssl = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-openssl10 = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-opkg = "Alejandro del Castillo <alejandro.delcastillo@ni.com>"
 RECIPE_MAINTAINER_pn-opkg-arch-config = "Alejandro del Castillo <alejandro.delcastillo@ni.com>"
 RECIPE_MAINTAINER_pn-opkg-keyrings = "Alejandro del Castillo <alejandro.delcastillo@ni.com>"
@@ -555,8 +555,8 @@
 RECIPE_MAINTAINER_pn-pciutils = "Chen Qi <Qi.Chen@windriver.com>"
 RECIPE_MAINTAINER_pn-pcmanfm = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-perf = "Bruce Ashfield <bruce.ashfield@gmail.com>"
-RECIPE_MAINTAINER_pn-perl = "Ross Burton <ross.burton@intel.com>"
-RECIPE_MAINTAINER_pn-perl-native = "Ross Burton <ross.burton@intel.com>"
+RECIPE_MAINTAINER_pn-perl = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER_pn-perl-native = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-piglit = "Ross Burton <ross.burton@intel.com>"
 RECIPE_MAINTAINER_pn-pigz = "Hongxu Jia <hongxu.jia@windriver.com>"
 RECIPE_MAINTAINER_pn-pinentry = "Armin Kuster <akuster808@gmail.com>"
diff --git a/poky/meta/conf/distro/include/no-static-libs.inc b/poky/meta/conf/distro/include/no-static-libs.inc
index 712d858..4141ecb 100644
--- a/poky/meta/conf/distro/include/no-static-libs.inc
+++ b/poky/meta/conf/distro/include/no-static-libs.inc
@@ -26,9 +26,6 @@
 DISABLE_STATIC_pn-openssl = ""
 DISABLE_STATIC_pn-openssl-native = ""
 DISABLE_STATIC_pn-nativesdk-openssl = ""
-DISABLE_STATIC_pn-openssl10 = ""
-DISABLE_STATIC_pn-openssl10-native = ""
-DISABLE_STATIC_pn-nativesdk-openssl10 = ""
 # libssp-static-dev included in build-appliance
 DISABLE_STATIC_pn-gcc-runtime = ""
 # libusb1-native is used to build static dfu-util-native
diff --git a/poky/meta/conf/distro/include/ptest-packagelists.inc b/poky/meta/conf/distro/include/ptest-packagelists.inc
new file mode 100644
index 0000000..ec7ed6f
--- /dev/null
+++ b/poky/meta/conf/distro/include/ptest-packagelists.inc
@@ -0,0 +1,77 @@
+#
+# Lists of the ptests in OE-Core, sorted into two sets by the time they take
+#
+# ptests which take less than ~30s each
+#
+PTESTS_FAST = "\
+    acl-ptest \
+    apr-ptest \
+    apr-util-ptest \
+    attr-ptest \
+    bluez5-ptest \
+    bzip2-ptest \
+    diffstat-ptest \
+    diffutils-ptest \
+    elfutils-ptest \
+    ethtool-ptest \
+    flex-ptest \
+    gawk-ptest \
+    gdbm-ptest \
+    gdk-pixbuf-ptest \
+    gettext-ptest \
+    gzip-ptest \
+    json-glib-ptest \
+    kbd-ptest \
+    libconvert-asn1-perl-ptest \
+    liberror-perl-ptest \
+    libpcre-ptest \
+    libtimedate-perl-ptest \
+    libtest-needs-perl-ptest \
+    liburi-perl-ptest \
+    libusb1-ptest \
+    libxml-namespacesupport-perl-ptest \
+    libxml-perl-ptest \
+    libxml-parser-perl-ptest \
+    libxml-sax-perl-ptest \
+    libxml-sax-base-perl-ptest \
+    libxml-simple-perl-ptest \
+    libxml2-ptest \
+    lzo-ptest \
+    m4-ptest \
+    nettle-ptest \
+    openssl-ptest \
+    opkg-ptest \
+    pango-ptest \
+    parted-ptest \
+    quilt-ptest \
+    sed-ptest \
+    slang-ptest \
+    zlib-ptest \
+"
+
+#PTESTS_PROBLEMS = "\
+#    qemu-ptest \ # Doesn't run any tests?
+#    ruby-ptest \ # Timeout
+#    mdadm-ptest \ # Timeout
+#    clutter-1.0-ptest \ # Doesn't build due to depends on cogl-1.0
+#"
+
+PTESTS_SLOW = "\
+    bash-ptest \
+    busybox-ptest \
+    dbus-test-ptest \
+    e2fsprogs-ptest \
+    glib-2.0-ptest \
+    gstreamer1.0-ptest \
+    libevent-ptest \
+    lttng-tools-ptest \
+    openssh-ptest \
+    openssl-ptest \
+    perl-ptest \
+    python-ptest \
+    python3-ptest \
+    strace-ptest \
+    tcl-ptest \
+    util-linux-ptest \
+    valgrind-ptest \
+"
diff --git a/poky/meta/conf/distro/include/tcmode-default.inc b/poky/meta/conf/distro/include/tcmode-default.inc
index 04373cc..daacfe2 100644
--- a/poky/meta/conf/distro/include/tcmode-default.inc
+++ b/poky/meta/conf/distro/include/tcmode-default.inc
@@ -24,7 +24,7 @@
 GDBVERSION ?= "8.2%"
 GLIBCVERSION ?= "2.29%"
 LINUXLIBCVERSION ?= "5.0%"
-QEMUVERSION ?= "3.1%"
+QEMUVERSION ?= "4.0%"
 GOVERSION ?= "1.12%"
 
 PREFERRED_VERSION_gcc ?= "${GCCVERSION}"
@@ -39,6 +39,7 @@
 PREFERRED_VERSION_nativesdk-gcc-sanitizers ?= "${SDKGCCVERSION}"
 PREFERRED_VERSION_libgcc ?= "${GCCVERSION}"
 PREFERRED_VERSION_libgcc-initial ?= "${GCCVERSION}"
+PREFERRED_VERSION_libgfortran ?= "${GCCVERSION}"
 PREFERRED_VERSION_nativesdk-gcc ?= "${SDKGCCVERSION}"
 PREFERRED_VERSION_nativesdk-libgcc ?= "${SDKGCCVERSION}"
 PREFERRED_VERSION_nativesdk-libgcc-initial ?= "${SDKGCCVERSION}"
diff --git a/poky/meta/conf/layer.conf b/poky/meta/conf/layer.conf
index 9d63b5b..6590e80 100644
--- a/poky/meta/conf/layer.conf
+++ b/poky/meta/conf/layer.conf
@@ -76,6 +76,7 @@
   weston->weston-conf \
   weston-init->weston \
   weston-init->kbd \
+  connman->xl2tpd \
 "
 
 # Avoid adding bison-native to the sysroot without a specific
diff --git a/poky/meta/conf/licenses.conf b/poky/meta/conf/licenses.conf
index 1058084..7b01c57 100644
--- a/poky/meta/conf/licenses.conf
+++ b/poky/meta/conf/licenses.conf
@@ -16,7 +16,7 @@
 SRC_DISTRIBUTE_LICENSES += "CDDL-1.0 CECILL-1.0 CECILL-2.0 CECILL-B CECILL-C"
 SRC_DISTRIBUTE_LICENSES += "ClArtistic CPAL-1.0 CPL-1.0 CUA-OPL-1.0 DSSSL"
 SRC_DISTRIBUTE_LICENSES += "ECL-1.0 ECL-2.0 eCos-2.0 EDL-1.0 EFL-1.0 EFL-2.0"
-SRC_DISTRIBUTE_LICENSES += "Elfutils-Exception Entessa EPL-1.0 EPL-2.0 ErlPL-1.1"
+SRC_DISTRIBUTE_LICENSES += "Entessa EPL-1.0 EPL-2.0 ErlPL-1.1"
 SRC_DISTRIBUTE_LICENSES += "EUDatagrid EUPL-1.0 EUPL-1.1 Fair Frameworx-1.0"
 SRC_DISTRIBUTE_LICENSES += "FreeType GFDL-1.1 GFDL-1.2 GFDL-1.3 GPL-1.0"
 SRC_DISTRIBUTE_LICENSES += "GPL-2.0 GPL-2.0-with-autoconf-exception"
diff --git a/poky/meta/conf/machine/qemux86.conf b/poky/meta/conf/machine/qemux86.conf
index ae5187c..f2434a4 100644
--- a/poky/meta/conf/machine/qemux86.conf
+++ b/poky/meta/conf/machine/qemux86.conf
@@ -8,7 +8,9 @@
 PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
 
 require conf/machine/include/qemu.inc
-require conf/machine/include/tune-i586.inc
+DEFAULTTUNE ?= "i586"
+X86ARCH32 ?= "i586"
+require conf/machine/include/tune-corei7.inc
 require conf/machine/include/qemuboot-x86.inc
 
 UBOOT_MACHINE ?= "qemu-x86_defconfig"
diff --git a/poky/meta/files/common-licenses/Elfutils-Exception b/poky/meta/files/common-licenses/Elfutils-Exception
deleted file mode 100644
index 627d769..0000000
--- a/poky/meta/files/common-licenses/Elfutils-Exception
+++ /dev/null
@@ -1,12 +0,0 @@
-   This file describes the limits of the Exception under which you are allowed
-   to distribute Non-GPL Code in linked combination with Red Hat elfutils.
-   For the full text of the license, please see one of the header files
-   included with the source distribution or the file COPYING found in the
-   top level directory of the source.
-
-   The Approved Interfaces are the functions declared in the files:
-
-   libelf.h
-   libdw.h
-   libdwfl.h
-
diff --git a/poky/meta/files/toolchain-shar-extract.sh b/poky/meta/files/toolchain-shar-extract.sh
index 156085b..ccc4f4e 100644
--- a/poky/meta/files/toolchain-shar-extract.sh
+++ b/poky/meta/files/toolchain-shar-extract.sh
@@ -113,7 +113,16 @@
 
 payload_offset=$(($(grep -na -m1 "^MARKER:$" $0|cut -d':' -f1) + 1))
 if [ "$listcontents" = "1" ] ; then
-    tail -n +$payload_offset $0| tar tvJ || exit 1
+    if [ @SDK_ARCHIVE_TYPE@ = "zip" ]; then
+        tail -n +$payload_offset $0 > sdk.zip
+        if unzip -l sdk.zip;then
+            rm sdk.zip
+        else
+            rm sdk.zip && exit 1
+        fi
+    else
+        tail -n +$payload_offset $0| tar tvJ || exit 1
+    fi
     exit
 fi
 
@@ -232,7 +241,16 @@
 fi
 
 printf "Extracting SDK..."
-tail -n +$payload_offset $0| $SUDO_EXEC tar xJ -C $target_sdk_dir --checkpoint=.2500 $EXTRA_TAR_OPTIONS || exit 1
+if [ @SDK_ARCHIVE_TYPE@ = "zip" ]; then
+    tail -n +$payload_offset $0 > sdk.zip
+    if $SUDO_EXEC unzip $EXTRA_TAR_OPTIONS sdk.zip -d $target_sdk_dir;then
+        rm sdk.zip
+    else
+        rm sdk.zip && exit 1
+    fi
+else
+    tail -n +$payload_offset $0| $SUDO_EXEC tar xJ -C $target_sdk_dir --checkpoint=.2500 $EXTRA_TAR_OPTIONS || exit 1
+fi
 echo "done"
 
 printf "Setting it up..."
diff --git a/poky/meta/lib/bblayers/create.py b/poky/meta/lib/bblayers/create.py
index 2ebf151..542f31f 100644
--- a/poky/meta/lib/bblayers/create.py
+++ b/poky/meta/lib/bblayers/create.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
 import logging
 import os
 import sys
diff --git a/poky/meta/lib/buildstats.py b/poky/meta/lib/buildstats.py
index c5d4c73..8627ed3 100644
--- a/poky/meta/lib/buildstats.py
+++ b/poky/meta/lib/buildstats.py
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
 # Implements system state sampling. Called by buildstats.bbclass.
 # Because it is a real Python module, it can hold persistent state,
 # like open log files and the time of the last sampling.
diff --git a/poky/meta/lib/oe/__init__.py b/poky/meta/lib/oe/__init__.py
index 3ad9513..4e7c09d 100644
--- a/poky/meta/lib/oe/__init__.py
+++ b/poky/meta/lib/oe/__init__.py
@@ -1,2 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
 from pkgutil import extend_path
 __path__ = extend_path(__path__, __name__)
diff --git a/poky/meta/lib/oe/buildhistory_analysis.py b/poky/meta/lib/oe/buildhistory_analysis.py
index ad7fceb..62c7a2e 100644
--- a/poky/meta/lib/oe/buildhistory_analysis.py
+++ b/poky/meta/lib/oe/buildhistory_analysis.py
@@ -3,6 +3,8 @@
 # Copyright (C) 2012-2013, 2016-2017 Intel Corporation
 # Author: Paul Eggleton <paul.eggleton@linux.intel.com>
 #
+# SPDX-License-Identifier: GPL-2.0-only
+#
 # Note: requires GitPython 0.3.1+
 #
 # You can use this from the command line by running scripts/buildhistory-diff
@@ -127,7 +129,7 @@
             removed = list(set(aitems) - set(bitems))
             added = list(set(bitems) - set(aitems))
 
-            if not removed and not added:
+            if not removed and not added and self.fieldname in ['RPROVIDES', 'RDEPENDS', 'RRECOMMENDS', 'RSUGGESTS', 'RREPLACES', 'RCONFLICTS']:
                 depvera = bb.utils.explode_dep_versions2(self.oldvalue, sort=False)
                 depverb = bb.utils.explode_dep_versions2(self.newvalue, sort=False)
                 for i, j in zip(depvera.items(), depverb.items()):
diff --git a/poky/meta/lib/oe/cachedpath.py b/poky/meta/lib/oe/cachedpath.py
index 0840cc4..254257a 100644
--- a/poky/meta/lib/oe/cachedpath.py
+++ b/poky/meta/lib/oe/cachedpath.py
@@ -1,4 +1,6 @@
 #
+# SPDX-License-Identifier: GPL-2.0-only
+#
 # Based on standard python library functions but avoid
 # repeated stat calls. Its assumed the files will not change from under us
 # so we can cache stat calls.
diff --git a/poky/meta/lib/oe/classextend.py b/poky/meta/lib/oe/classextend.py
index 662707b..e25122e 100644
--- a/poky/meta/lib/oe/classextend.py
+++ b/poky/meta/lib/oe/classextend.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
 import collections
 
 class ClassExtender(object):
diff --git a/poky/meta/lib/oe/classutils.py b/poky/meta/lib/oe/classutils.py
index 45cd524..08bb66b 100644
--- a/poky/meta/lib/oe/classutils.py
+++ b/poky/meta/lib/oe/classutils.py
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
 
 class ClassRegistryMeta(type):
     """Give each ClassRegistry their own registry"""
diff --git a/poky/meta/lib/oe/copy_buildsystem.py b/poky/meta/lib/oe/copy_buildsystem.py
index 7cb784c..5b96121 100644
--- a/poky/meta/lib/oe/copy_buildsystem.py
+++ b/poky/meta/lib/oe/copy_buildsystem.py
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
 # This class should provide easy access to the different aspects of the
 # buildsystem such as layers, bitbake location, etc.
 #
diff --git a/poky/meta/lib/oe/data.py b/poky/meta/lib/oe/data.py
index b8901e6..602130a 100644
--- a/poky/meta/lib/oe/data.py
+++ b/poky/meta/lib/oe/data.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
 import json
 import oe.maketype
 
diff --git a/poky/meta/lib/oe/distro_check.py b/poky/meta/lib/oe/distro_check.py
index e775c3a..88e46c3 100644
--- a/poky/meta/lib/oe/distro_check.py
+++ b/poky/meta/lib/oe/distro_check.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
 def create_socket(url, d):
     import urllib
     from bb.utils import export_proxies
diff --git a/poky/meta/lib/oe/elf.py b/poky/meta/lib/oe/elf.py
index 4cc9a9a..2562cea 100644
--- a/poky/meta/lib/oe/elf.py
+++ b/poky/meta/lib/oe/elf.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
 def machine_dict(d):
 #           TARGET_OS  TARGET_ARCH   MACHINE, OSABI, ABIVERSION, Little Endian, 32bit?
     machdata = {
diff --git a/poky/meta/lib/oe/gpg_sign.py b/poky/meta/lib/oe/gpg_sign.py
index ccd5aee..a95d2ba 100644
--- a/poky/meta/lib/oe/gpg_sign.py
+++ b/poky/meta/lib/oe/gpg_sign.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
 """Helper module for GPG signing"""
 import os
 
diff --git a/poky/meta/lib/oe/license.py b/poky/meta/lib/oe/license.py
index 04f5b31..c1274a6 100644
--- a/poky/meta/lib/oe/license.py
+++ b/poky/meta/lib/oe/license.py
@@ -1,4 +1,6 @@
-# vi:sts=4:sw=4:et
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
 """Code for parsing OpenEmbedded license strings"""
 
 import ast
diff --git a/poky/meta/lib/oe/lsb.py b/poky/meta/lib/oe/lsb.py
index 71c0992..4f2b419 100644
--- a/poky/meta/lib/oe/lsb.py
+++ b/poky/meta/lib/oe/lsb.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
 def get_os_release():
     """Get all key-value pairs from /etc/os-release as a dict"""
     from collections import OrderedDict
diff --git a/poky/meta/lib/oe/maketype.py b/poky/meta/lib/oe/maketype.py
index c36e7b5..d929c8b 100644
--- a/poky/meta/lib/oe/maketype.py
+++ b/poky/meta/lib/oe/maketype.py
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
 """OpenEmbedded variable typing support
 
 Types are defined in the metadata by name, using the 'type' flag on a
diff --git a/poky/meta/lib/oe/manifest.py b/poky/meta/lib/oe/manifest.py
index 674303c..f7c88f9 100644
--- a/poky/meta/lib/oe/manifest.py
+++ b/poky/meta/lib/oe/manifest.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
 from abc import ABCMeta, abstractmethod
 import os
 import re
diff --git a/poky/meta/lib/oe/package.py b/poky/meta/lib/oe/package.py
index 6e83f01..b595132 100644
--- a/poky/meta/lib/oe/package.py
+++ b/poky/meta/lib/oe/package.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
 import stat
 import mmap
 import subprocess
diff --git a/poky/meta/lib/oe/package_manager.py b/poky/meta/lib/oe/package_manager.py
index 2835c1d..06feb4d 100644
--- a/poky/meta/lib/oe/package_manager.py
+++ b/poky/meta/lib/oe/package_manager.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
 from abc import ABCMeta, abstractmethod
 import os
 import glob
diff --git a/poky/meta/lib/oe/packagedata.py b/poky/meta/lib/oe/packagedata.py
index 32e5c82..cbde380 100644
--- a/poky/meta/lib/oe/packagedata.py
+++ b/poky/meta/lib/oe/packagedata.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
 import codecs
 import os
 
diff --git a/poky/meta/lib/oe/packagegroup.py b/poky/meta/lib/oe/packagegroup.py
index 4bc5d3e..2419cbb 100644
--- a/poky/meta/lib/oe/packagegroup.py
+++ b/poky/meta/lib/oe/packagegroup.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
 import itertools
 
 def is_optional(feature, d):
diff --git a/poky/meta/lib/oe/patch.py b/poky/meta/lib/oe/patch.py
index f43cf04..2b1eee1 100644
--- a/poky/meta/lib/oe/patch.py
+++ b/poky/meta/lib/oe/patch.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
 import oe.path
 import oe.types
 
@@ -847,6 +851,7 @@
 
 
 def should_apply(parm, d):
+    import bb.utils
     if "mindate" in parm or "maxdate" in parm:
         pn = d.getVar('PN')
         srcdate = d.getVar('SRCDATE_%s' % pn)
@@ -883,5 +888,15 @@
         if srcrev and parm["notrev"] in srcrev:
             return False, "doesn't apply to revision"
 
+    if "maxver" in parm:
+        pv = d.getVar('PV')
+        if bb.utils.vercmp_string_op(pv, parm["maxver"], ">"):
+            return False, "applies to earlier version"
+
+    if "minver" in parm:
+        pv = d.getVar('PV')
+        if bb.utils.vercmp_string_op(pv, parm["minver"], "<"):
+            return False, "applies to later version"
+
     return True, None
 
diff --git a/poky/meta/lib/oe/path.py b/poky/meta/lib/oe/path.py
index 1e24d05..fa209b9 100644
--- a/poky/meta/lib/oe/path.py
+++ b/poky/meta/lib/oe/path.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
 import errno
 import glob
 import shutil
@@ -90,7 +94,7 @@
     subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
 
 def copyhardlinktree(src, dst):
-    """ Make the hard link when possible, otherwise copy. """
+    """Make a tree of hard links when possible, otherwise copy."""
     bb.utils.mkdirhier(dst)
     if os.path.isdir(src) and not len(os.listdir(src)):
         return
@@ -114,6 +118,17 @@
     else:
         copytree(src, dst)
 
+def copyhardlink(src, dst):
+    """Make a hard link when possible, otherwise copy."""
+
+    # We need to stat the destination directory as the destination file probably
+    # doesn't exist yet.
+    dstdir = os.path.dirname(dst)
+    if os.stat(src).st_dev == os.stat(dstdir).st_dev:
+        os.link(src, dst)
+    else:
+        shutil.copy(src, dst)
+
 def remove(path, recurse=True):
     """
     Equivalent to rm -f or rm -rf
diff --git a/poky/meta/lib/oe/prservice.py b/poky/meta/lib/oe/prservice.py
index 32dfc15..b1132cc 100644
--- a/poky/meta/lib/oe/prservice.py
+++ b/poky/meta/lib/oe/prservice.py
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
 
 def prserv_make_conn(d, check = False):
     import prserv.serv
diff --git a/poky/meta/lib/oe/qa.py b/poky/meta/lib/oe/qa.py
index 59c72ce..21066c4 100644
--- a/poky/meta/lib/oe/qa.py
+++ b/poky/meta/lib/oe/qa.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
 import os, struct, mmap
 
 class NotELFFileError(Exception):
diff --git a/poky/meta/lib/oe/recipeutils.py b/poky/meta/lib/oe/recipeutils.py
index 4ca200d..1e5b9a4 100644
--- a/poky/meta/lib/oe/recipeutils.py
+++ b/poky/meta/lib/oe/recipeutils.py
@@ -4,6 +4,8 @@
 #
 # Copyright (C) 2013-2017 Intel Corporation
 #
+# SPDX-License-Identifier: GPL-2.0-only
+#
 
 import sys
 import os
diff --git a/poky/meta/lib/oe/rootfs.py b/poky/meta/lib/oe/rootfs.py
index b7c0b9c..9358f56 100644
--- a/poky/meta/lib/oe/rootfs.py
+++ b/poky/meta/lib/oe/rootfs.py
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
 from abc import ABCMeta, abstractmethod
 from oe.utils import execute_pre_post_process
 from oe.package_manager import *
diff --git a/poky/meta/lib/oe/sdk.py b/poky/meta/lib/oe/sdk.py
index 878ee16..b4fbdb7 100644
--- a/poky/meta/lib/oe/sdk.py
+++ b/poky/meta/lib/oe/sdk.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
 from abc import ABCMeta, abstractmethod
 from oe.utils import execute_pre_post_process
 from oe.manifest import *
diff --git a/poky/meta/lib/oe/sstatesig.py b/poky/meta/lib/oe/sstatesig.py
index a83af51..417943d 100644
--- a/poky/meta/lib/oe/sstatesig.py
+++ b/poky/meta/lib/oe/sstatesig.py
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
 import bb.siggen
 import oe
 
diff --git a/poky/meta/lib/oe/terminal.py b/poky/meta/lib/oe/terminal.py
index e404555..9bda3ef 100644
--- a/poky/meta/lib/oe/terminal.py
+++ b/poky/meta/lib/oe/terminal.py
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
 import logging
 import oe.classutils
 import shlex
diff --git a/poky/meta/lib/oe/types.py b/poky/meta/lib/oe/types.py
index 1eebba5..77ee7ee 100644
--- a/poky/meta/lib/oe/types.py
+++ b/poky/meta/lib/oe/types.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
 import errno
 import re
 import os
diff --git a/poky/meta/lib/oe/useradd.py b/poky/meta/lib/oe/useradd.py
index 179ac76..bedfe0e 100644
--- a/poky/meta/lib/oe/useradd.py
+++ b/poky/meta/lib/oe/useradd.py
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
 import argparse
 import re
 
diff --git a/poky/meta/lib/oe/utils.py b/poky/meta/lib/oe/utils.py
index a4fd79c..d686ce1 100644
--- a/poky/meta/lib/oe/utils.py
+++ b/poky/meta/lib/oe/utils.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
 import subprocess
 import multiprocessing
 import traceback
@@ -324,7 +328,12 @@
     if errors:
         msg = ""
         for (e, tb) in errors:
-            msg = msg + str(e) + ": " + str(tb) + "\n"
+            if isinstance(e, subprocess.CalledProcessError) and e.output:
+                msg = msg + str(e) + "\n"
+                msg = msg + "Subprocess output:"
+                msg = msg + e.output.decode("utf-8", errors="ignore")
+            else:
+                msg = msg + str(e) + ": " + str(tb) + "\n"
         bb.fatal("Fatal errors occurred in subprocesses:\n%s" % msg)
     return results
 
diff --git a/poky/meta/lib/oeqa/buildperf/__init__.py b/poky/meta/lib/oeqa/buildperf/__init__.py
index 605f429..b7ebd03 100644
--- a/poky/meta/lib/oeqa/buildperf/__init__.py
+++ b/poky/meta/lib/oeqa/buildperf/__init__.py
@@ -1,13 +1,7 @@
 # Copyright (c) 2016, Intel Corporation.
 #
-# This program is free software; you can redistribute it and/or modify it
-# under the terms and conditions of the GNU General Public License,
-# version 2, as published by the Free Software Foundation.
 #
-# This program is distributed in the hope it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
-# more details.
+# SPDX-License-Identifier: GPL-2.0-only
 #
 """Build performance tests"""
 from .base import (BuildPerfTestCase,
diff --git a/poky/meta/lib/oeqa/buildperf/base.py b/poky/meta/lib/oeqa/buildperf/base.py
index ac6ee15..3b2fed5 100644
--- a/poky/meta/lib/oeqa/buildperf/base.py
+++ b/poky/meta/lib/oeqa/buildperf/base.py
@@ -1,13 +1,6 @@
 # Copyright (c) 2016, Intel Corporation.
 #
-# This program is free software; you can redistribute it and/or modify it
-# under the terms and conditions of the GNU General Public License,
-# version 2, as published by the Free Software Foundation.
-#
-# This program is distributed in the hope it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
-# more details.
+# SPDX-License-Identifier: GPL-2.0-only
 #
 """Build performance test base classes and functionality"""
 import json
diff --git a/poky/meta/lib/oeqa/buildperf/test_basic.py b/poky/meta/lib/oeqa/buildperf/test_basic.py
index 6d6b01b..2104617 100644
--- a/poky/meta/lib/oeqa/buildperf/test_basic.py
+++ b/poky/meta/lib/oeqa/buildperf/test_basic.py
@@ -1,13 +1,6 @@
 # Copyright (c) 2016, Intel Corporation.
 #
-# This program is free software; you can redistribute it and/or modify it
-# under the terms and conditions of the GNU General Public License,
-# version 2, as published by the Free Software Foundation.
-#
-# This program is distributed in the hope it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
-# more details.
+# SPDX-License-Identifier: GPL-2.0-only
 #
 """Basic set of build performance tests"""
 import os
diff --git a/poky/meta/lib/oeqa/controllers/__init__.py b/poky/meta/lib/oeqa/controllers/__init__.py
index 8eda927..cc3836c 100644
--- a/poky/meta/lib/oeqa/controllers/__init__.py
+++ b/poky/meta/lib/oeqa/controllers/__init__.py
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
 # Enable other layers to have modules in the same named directory
 from pkgutil import extend_path
 __path__ = extend_path(__path__, __name__)
diff --git a/poky/meta/lib/oeqa/controllers/masterimage.py b/poky/meta/lib/oeqa/controllers/masterimage.py
index f175e11..0435dfa 100644
--- a/poky/meta/lib/oeqa/controllers/masterimage.py
+++ b/poky/meta/lib/oeqa/controllers/masterimage.py
@@ -1,7 +1,7 @@
 # Copyright (C) 2014 Intel Corporation
 #
-# Released under the MIT license (see COPYING.MIT)
-
+# SPDX-License-Identifier: MIT
+#
 # This module adds support to testimage.bbclass to deploy images and run
 # tests using a "master image" - this is a "known good" image that is
 # installed onto the device as part of initial setup and will be booted into
diff --git a/poky/meta/lib/oeqa/controllers/testtargetloader.py b/poky/meta/lib/oeqa/controllers/testtargetloader.py
index b51d04b..23101c7 100644
--- a/poky/meta/lib/oeqa/controllers/testtargetloader.py
+++ b/poky/meta/lib/oeqa/controllers/testtargetloader.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
 import types
 import bb
 import os
diff --git a/poky/meta/lib/oeqa/core/case.py b/poky/meta/lib/oeqa/core/case.py
index 917a2aa..54977c8 100644
--- a/poky/meta/lib/oeqa/core/case.py
+++ b/poky/meta/lib/oeqa/core/case.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 import unittest
 
diff --git a/poky/meta/lib/oeqa/core/cases/example/test_basic.py b/poky/meta/lib/oeqa/core/cases/example/test_basic.py
index 11cf380..d77edcd 100644
--- a/poky/meta/lib/oeqa/core/cases/example/test_basic.py
+++ b/poky/meta/lib/oeqa/core/cases/example/test_basic.py
@@ -1,5 +1,7 @@
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 from oeqa.core.case import OETestCase
 from oeqa.core.decorator.depends import OETestDepends
diff --git a/poky/meta/lib/oeqa/core/context.py b/poky/meta/lib/oeqa/core/context.py
index 821aec8..0962704 100644
--- a/poky/meta/lib/oeqa/core/context.py
+++ b/poky/meta/lib/oeqa/core/context.py
@@ -1,5 +1,7 @@
-# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+## Copyright (C) 2016 Intel Corporation
+#
+# SPDX-License-Identifier: MIT
+#
 
 import os
 import sys
diff --git a/poky/meta/lib/oeqa/core/decorator/__init__.py b/poky/meta/lib/oeqa/core/decorator/__init__.py
index 14d7bfc..923b218 100644
--- a/poky/meta/lib/oeqa/core/decorator/__init__.py
+++ b/poky/meta/lib/oeqa/core/decorator/__init__.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 from functools import wraps
 from abc import abstractmethod, ABCMeta
diff --git a/poky/meta/lib/oeqa/core/decorator/data.py b/poky/meta/lib/oeqa/core/decorator/data.py
index f0f65ab..babc978 100644
--- a/poky/meta/lib/oeqa/core/decorator/data.py
+++ b/poky/meta/lib/oeqa/core/decorator/data.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 from oeqa.core.exception import OEQAMissingVariable
 
diff --git a/poky/meta/lib/oeqa/core/decorator/depends.py b/poky/meta/lib/oeqa/core/decorator/depends.py
index 950dbaa..33f0841 100644
--- a/poky/meta/lib/oeqa/core/decorator/depends.py
+++ b/poky/meta/lib/oeqa/core/decorator/depends.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 from unittest import SkipTest
 
diff --git a/poky/meta/lib/oeqa/core/decorator/oeid.py b/poky/meta/lib/oeqa/core/decorator/oeid.py
deleted file mode 100644
index ea8017a..0000000
--- a/poky/meta/lib/oeqa/core/decorator/oeid.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
-
-from . import OETestFilter, registerDecorator
-from oeqa.core.utils.misc import intToList
-
-def _idFilter(oeid, filters):
-     return False if oeid in filters else True
-
-@registerDecorator
-class OETestID(OETestFilter):
-    attrs = ('oeid',)
-
-    def bind(self, registry, case):
-        super(OETestID, self).bind(registry, case)
-
-    def filtrate(self, filters):
-        if filters.get('oeid'):
-            filterx = intToList(filters['oeid'], 'oeid')
-            del filters['oeid']
-            if _idFilter(self.oeid, filterx):
-                return True
-        return False
diff --git a/poky/meta/lib/oeqa/core/decorator/oetag.py b/poky/meta/lib/oeqa/core/decorator/oetag.py
index ad38ab7..8c31138 100644
--- a/poky/meta/lib/oeqa/core/decorator/oetag.py
+++ b/poky/meta/lib/oeqa/core/decorator/oetag.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 from . import OETestFilter, registerDecorator
 from oeqa.core.utils.misc import strToList
diff --git a/poky/meta/lib/oeqa/core/decorator/oetimeout.py b/poky/meta/lib/oeqa/core/decorator/oetimeout.py
index a247583..df90d1c 100644
--- a/poky/meta/lib/oeqa/core/decorator/oetimeout.py
+++ b/poky/meta/lib/oeqa/core/decorator/oetimeout.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 import signal
 from . import OETestDecorator, registerDecorator
diff --git a/poky/meta/lib/oeqa/core/exception.py b/poky/meta/lib/oeqa/core/exception.py
index 732f2ef..05be0ed 100644
--- a/poky/meta/lib/oeqa/core/exception.py
+++ b/poky/meta/lib/oeqa/core/exception.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 class OEQAException(Exception):
     pass
diff --git a/poky/meta/lib/oeqa/core/loader.py b/poky/meta/lib/oeqa/core/loader.py
index e66de32..7fea058 100644
--- a/poky/meta/lib/oeqa/core/loader.py
+++ b/poky/meta/lib/oeqa/core/loader.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 import os
 import re
diff --git a/poky/meta/lib/oeqa/core/runner.py b/poky/meta/lib/oeqa/core/runner.py
index df88b85..930620e 100644
--- a/poky/meta/lib/oeqa/core/runner.py
+++ b/poky/meta/lib/oeqa/core/runner.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 import os
 import time
@@ -7,6 +10,7 @@
 import logging
 import re
 import json
+import sys
 
 from unittest import TextTestResult as _TestResult
 from unittest import TextTestRunner as _TestRunner
@@ -45,6 +49,9 @@
 
         self.tc = tc
 
+        # stdout and stderr for each test case
+        self.logged_output = {}
+
     def startTest(self, test):
         # May have been set by concurrencytest
         if test.id() not in self.starttime:
@@ -53,6 +60,9 @@
 
     def stopTest(self, test):
         self.endtime[test.id()] = time.time()
+        if self.buffer:
+            self.logged_output[test.id()] = (
+                    sys.stdout.getvalue(), sys.stderr.getvalue())
         super(OETestResult, self).stopTest(test)
         if test.id() in self.progressinfo:
             self.tc.logger.info(self.progressinfo[test.id()])
@@ -81,11 +91,17 @@
 
     def _getTestResultDetails(self, case):
         result_types = {'failures': 'FAILED', 'errors': 'ERROR', 'skipped': 'SKIPPED',
-                        'expectedFailures': 'EXPECTEDFAIL', 'successes': 'PASSED'}
+                        'expectedFailures': 'EXPECTEDFAIL', 'successes': 'PASSED',
+                        'unexpectedSuccesses' : 'PASSED'}
 
         for rtype in result_types:
             found = False
-            for (scase, msg) in getattr(self, rtype):
+            for resultclass in getattr(self, rtype):
+                # unexpectedSuccesses are just lists, not lists of tuples
+                if isinstance(resultclass, tuple):
+                    scase, msg = resultclass
+                else:
+                    scase, msg = resultclass, None
                 if case.id() == scase.id():
                     found = True
                     break
@@ -93,13 +109,13 @@
 
                 # When fails at module or class level the class name is passed as string
                 # so figure out to see if match
-                m = re.search(r"^setUpModule \((?P<module_name>.*)\)$", scase_str)
+                m = re.search(r"^setUpModule \((?P<module_name>.*)\).*$", scase_str)
                 if m:
                     if case.__class__.__module__ == m.group('module_name'):
                         found = True
                         break
 
-                m = re.search(r"^setUpClass \((?P<class_name>.*)\)$", scase_str)
+                m = re.search(r"^setUpClass \((?P<class_name>.*)\).*$", scase_str)
                 if m:
                     class_name = "%s.%s" % (case.__class__.__module__,
                                             case.__class__.__name__)
@@ -118,7 +134,8 @@
         self.successes.append((test, None))
         super(OETestResult, self).addSuccess(test)
 
-    def logDetails(self, json_file_dir=None, configuration=None, result_id=None):
+    def logDetails(self, json_file_dir=None, configuration=None, result_id=None,
+            dump_streams=False):
         self.tc.logger.info("RESULTS:")
 
         result = {}
@@ -131,23 +148,21 @@
 
             (status, log) = self._getTestResultDetails(case)
 
-            oeid = -1
-            if hasattr(case, 'decorators'):
-                for d in case.decorators:
-                    if hasattr(d, 'oeid'):
-                        oeid = d.oeid
-
             t = ""
             if case.id() in self.starttime and case.id() in self.endtime:
                 t = " (" + "{0:.2f}".format(self.endtime[case.id()] - self.starttime[case.id()]) + "s)"
 
             if status not in logs:
                 logs[status] = []
-            logs[status].append("RESULTS - %s - Testcase %s: %s%s" % (case.id(), oeid, status, t))
+            logs[status].append("RESULTS - %s: %s%s" % (case.id(), status, t))
+            report = {'status': status}
             if log:
-                result[case.id()] = {'status': status, 'log': log}
-            else:
-                result[case.id()] = {'status': status}
+                report['log'] = log
+            if dump_streams and case.id() in self.logged_output:
+                (stdout, stderr) = self.logged_output[case.id()]
+                report['stdout'] = stdout
+                report['stderr'] = stderr
+            result[case.id()] = report
 
         for i in ['PASSED', 'SKIPPED', 'EXPECTEDFAIL', 'ERROR', 'FAILED', 'UNKNOWN']:
             if i not in logs:
@@ -190,38 +205,19 @@
                 self._walked_cases = self._walked_cases + 1
 
     def _list_tests_name(self, suite):
-        from oeqa.core.decorator.oeid import OETestID
         from oeqa.core.decorator.oetag import OETestTag
 
         self._walked_cases = 0
 
-        def _list_cases_without_id(logger, case):
-
-            found_id = False
-            if hasattr(case, 'decorators'):
-                for d in case.decorators:
-                    if isinstance(d, OETestID):
-                        found_id = True
-
-            if not found_id:
-                logger.info('oeid missing for %s' % case.id())
-
         def _list_cases(logger, case):
-            oeid = None
             oetag = None
 
             if hasattr(case, 'decorators'):
                 for d in case.decorators:
-                    if isinstance(d, OETestID):
-                        oeid = d.oeid
-                    elif isinstance(d, OETestTag):
+                    if isinstance(d, OETestTag):
                         oetag = d.oetag
 
-            logger.info("%s\t%s\t\t%s" % (oeid, oetag, case.id()))
-
-        self.tc.logger.info("Listing test cases that don't have oeid ...")
-        self._walk_suite(suite, _list_cases_without_id)
-        self.tc.logger.info("-" * 80)
+            logger.info("%s\t\t%s" % (oetag, case.id()))
 
         self.tc.logger.info("Listing all available tests:")
         self._walked_cases = 0
diff --git a/poky/meta/lib/oeqa/core/target/__init__.py b/poky/meta/lib/oeqa/core/target/__init__.py
index d2468bc..1382aa9 100644
--- a/poky/meta/lib/oeqa/core/target/__init__.py
+++ b/poky/meta/lib/oeqa/core/target/__init__.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 from abc import abstractmethod
 
diff --git a/poky/meta/lib/oeqa/core/target/qemu.py b/poky/meta/lib/oeqa/core/target/qemu.py
index 7a161a3..081c627 100644
--- a/poky/meta/lib/oeqa/core/target/qemu.py
+++ b/poky/meta/lib/oeqa/core/target/qemu.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 import os
 import sys
diff --git a/poky/meta/lib/oeqa/core/target/ssh.py b/poky/meta/lib/oeqa/core/target/ssh.py
index 8ff1f6c..51032ef 100644
--- a/poky/meta/lib/oeqa/core/target/ssh.py
+++ b/poky/meta/lib/oeqa/core/target/ssh.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 import os
 import time
@@ -207,7 +210,7 @@
                 logger.debug('time: %s, endtime: %s' % (time.time(), endtime))
                 try:
                     if select.select([process.stdout], [], [], 5)[0] != []:
-                        reader = codecs.getreader('utf-8')(process.stdout)
+                        reader = codecs.getreader('utf-8')(process.stdout, 'ignore')
                         data = reader.read(1024, 4096)
                         if not data:
                             process.stdout.close()
@@ -234,7 +237,7 @@
                 output += lastline
 
         else:
-            output = process.communicate()[0].decode("utf-8", errors='replace')
+            output = process.communicate()[0].decode('utf-8', errors='ignore')
             logger.debug('Data from SSH call: %s' % output.rstrip())
 
     options = {
diff --git a/poky/meta/lib/oeqa/core/tests/cases/data.py b/poky/meta/lib/oeqa/core/tests/cases/data.py
index 88003a6..0d8de87 100644
--- a/poky/meta/lib/oeqa/core/tests/cases/data.py
+++ b/poky/meta/lib/oeqa/core/tests/cases/data.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 from oeqa.core.case import OETestCase
 from oeqa.core.decorator.oetag import OETestTag
diff --git a/poky/meta/lib/oeqa/core/tests/cases/depends.py b/poky/meta/lib/oeqa/core/tests/cases/depends.py
index 17cdd90..46e7db9 100644
--- a/poky/meta/lib/oeqa/core/tests/cases/depends.py
+++ b/poky/meta/lib/oeqa/core/tests/cases/depends.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 from oeqa.core.case import OETestCase
 from oeqa.core.decorator.depends import OETestDepends
diff --git a/poky/meta/lib/oeqa/core/tests/cases/loader/invalid/oeid.py b/poky/meta/lib/oeqa/core/tests/cases/loader/invalid/oeid.py
deleted file mode 100644
index 038d445..0000000
--- a/poky/meta/lib/oeqa/core/tests/cases/loader/invalid/oeid.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
-
-from oeqa.core.case import OETestCase
-
-class AnotherIDTest(OETestCase):
-
-    def testAnotherIdGood(self):
-        self.assertTrue(True, msg='How is this possible?')
-
-    def testAnotherIdOther(self):
-        self.assertTrue(True, msg='How is this possible?')
-
-    def testAnotherIdNone(self):
-        self.assertTrue(True, msg='How is this possible?')
diff --git a/poky/meta/lib/oeqa/core/tests/cases/loader/valid/another.py b/poky/meta/lib/oeqa/core/tests/cases/loader/valid/another.py
index c9ffd17..bedc20c 100644
--- a/poky/meta/lib/oeqa/core/tests/cases/loader/valid/another.py
+++ b/poky/meta/lib/oeqa/core/tests/cases/loader/valid/another.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 from oeqa.core.case import OETestCase
 
diff --git a/poky/meta/lib/oeqa/core/tests/cases/oeid.py b/poky/meta/lib/oeqa/core/tests/cases/oeid.py
deleted file mode 100644
index c2d3d32..0000000
--- a/poky/meta/lib/oeqa/core/tests/cases/oeid.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
-
-from oeqa.core.case import OETestCase
-from oeqa.core.decorator.oeid import OETestID
-
-class IDTest(OETestCase):
-
-    @OETestID(101)
-    def testIdGood(self):
-        self.assertTrue(True, msg='How is this possible?')
-
-    @OETestID(102)
-    def testIdOther(self):
-        self.assertTrue(True, msg='How is this possible?')
-
-    def testIdNone(self):
-        self.assertTrue(True, msg='How is this possible?')
diff --git a/poky/meta/lib/oeqa/core/tests/cases/oetag.py b/poky/meta/lib/oeqa/core/tests/cases/oetag.py
index 0cae02e..4e1d080 100644
--- a/poky/meta/lib/oeqa/core/tests/cases/oetag.py
+++ b/poky/meta/lib/oeqa/core/tests/cases/oetag.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 from oeqa.core.case import OETestCase
 from oeqa.core.decorator.oetag import OETestTag
diff --git a/poky/meta/lib/oeqa/core/tests/cases/timeout.py b/poky/meta/lib/oeqa/core/tests/cases/timeout.py
index 870c315..5dfecc7 100644
--- a/poky/meta/lib/oeqa/core/tests/cases/timeout.py
+++ b/poky/meta/lib/oeqa/core/tests/cases/timeout.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 from time import sleep
 
diff --git a/poky/meta/lib/oeqa/core/tests/common.py b/poky/meta/lib/oeqa/core/tests/common.py
index 52b18a1..39efd50 100644
--- a/poky/meta/lib/oeqa/core/tests/common.py
+++ b/poky/meta/lib/oeqa/core/tests/common.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 import sys
 import os
diff --git a/poky/meta/lib/oeqa/core/tests/test_data.py b/poky/meta/lib/oeqa/core/tests/test_data.py
index 21b6c68..50811bb 100755
--- a/poky/meta/lib/oeqa/core/tests/test_data.py
+++ b/poky/meta/lib/oeqa/core/tests/test_data.py
@@ -1,7 +1,9 @@
 #!/usr/bin/env python3
 
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 import unittest
 import logging
diff --git a/poky/meta/lib/oeqa/core/tests/test_decorators.py b/poky/meta/lib/oeqa/core/tests/test_decorators.py
index f7d11e8..499cd66 100755
--- a/poky/meta/lib/oeqa/core/tests/test_decorators.py
+++ b/poky/meta/lib/oeqa/core/tests/test_decorators.py
@@ -1,7 +1,9 @@
 #!/usr/bin/env python3
-
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 import signal
 import unittest
@@ -42,29 +44,6 @@
         for test in tests:
             self._runFilterTest(['oetag'], test[0], test[1], test[2])
 
-    def test_oeid(self):
-        # Get all cases without filtering.
-        filter_all = {}
-        test_all = {'testIdGood', 'testIdOther', 'testIdNone'}
-        msg_all = 'Failed to get all oeid cases without filtering.'
-
-        # Get cases with '101' oeid.
-        filter_good = {'oeid': 101}
-        test_good = {'testIdGood'}
-        msg_good = 'Failed to get just one tes filtering with "101" oeid.'
-
-        # Get cases with an invalid id.
-        filter_invalid = {'oeid':999}
-        test_invalid = set()
-        msg_invalid = 'Failed to filter all test using an invalid oeid.'
-
-        tests = ((filter_all, test_all, msg_all),
-                 (filter_good, test_good, msg_good),
-                 (filter_invalid, test_invalid, msg_invalid))
-
-        for test in tests:
-            self._runFilterTest(['oeid'], test[0], test[1], test[2])
-
 class TestDependsDecorator(TestBase):
     modules = ['depends']
 
diff --git a/poky/meta/lib/oeqa/core/tests/test_loader.py b/poky/meta/lib/oeqa/core/tests/test_loader.py
index b79b8ba..519ba96 100755
--- a/poky/meta/lib/oeqa/core/tests/test_loader.py
+++ b/poky/meta/lib/oeqa/core/tests/test_loader.py
@@ -1,7 +1,9 @@
 #!/usr/bin/env python3
-
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 import os
 import unittest
@@ -42,7 +44,7 @@
         cases_path = self.cases_path
         invalid_path = os.path.join(cases_path, 'loader', 'invalid')
         self.cases_path = [self.cases_path, invalid_path]
-        expect = 'Duplicated oeid module found in'
+        expect = 'Duplicated oetag module found in'
         msg = 'Expected ImportError exception for having duplicated module'
         try:
             # Must throw ImportEror because duplicated module
@@ -55,17 +57,16 @@
             self.cases_path = cases_path
 
     def test_filter_modules(self):
-        expected_modules = {'oeid', 'oetag'}
+        expected_modules = {'oetag'}
         tc = self._testLoader(modules=expected_modules)
         modules = getSuiteModules(tc.suites)
         msg = 'Expected just %s modules' % ', '.join(expected_modules)
         self.assertEqual(modules, expected_modules, msg=msg)
 
     def test_filter_cases(self):
-        modules = ['oeid', 'oetag', 'data']
+        modules = ['oetag', 'data']
         expected_cases = {'data.DataTest.testDataOk',
-                          'oetag.TagTest.testTagGood',
-                          'oeid.IDTest.testIdGood'}
+                          'oetag.TagTest.testTagGood'}
         tc = self._testLoader(modules=modules, tests=expected_cases)
         cases = set(getSuiteCasesIDs(tc.suites))
         msg = 'Expected just %s cases' % ', '.join(expected_cases)
@@ -74,7 +75,7 @@
     def test_import_from_paths(self):
         cases_path = self.cases_path
         cases2_path = os.path.join(cases_path, 'loader', 'valid')
-        expected_modules = {'oeid', 'another'}
+        expected_modules = {'another'}
         self.cases_path = [self.cases_path, cases2_path]
         tc = self._testLoader(modules=expected_modules)
         modules = getSuiteModules(tc.suites)
diff --git a/poky/meta/lib/oeqa/core/tests/test_runner.py b/poky/meta/lib/oeqa/core/tests/test_runner.py
index a3f3861..205464c 100755
--- a/poky/meta/lib/oeqa/core/tests/test_runner.py
+++ b/poky/meta/lib/oeqa/core/tests/test_runner.py
@@ -1,7 +1,9 @@
 #!/usr/bin/env python3
-
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 import unittest
 import logging
diff --git a/poky/meta/lib/oeqa/core/utils/concurrencytest.py b/poky/meta/lib/oeqa/core/utils/concurrencytest.py
index e050818..6bf7718 100644
--- a/poky/meta/lib/oeqa/core/utils/concurrencytest.py
+++ b/poky/meta/lib/oeqa/core/utils/concurrencytest.py
@@ -1,5 +1,7 @@
 #!/usr/bin/env python3
 #
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
 # Modified for use in OE by Richard Purdie, 2018
 #
 # Modified by: Corey Goldberg, 2013
@@ -19,6 +21,7 @@
 import threading
 import time
 import io
+import subunit
 
 from queue import Queue
 from itertools import cycle
@@ -51,10 +54,11 @@
     def _add_result_with_semaphore(self, method, test, *args, **kwargs):
         self.semaphore.acquire()
         try:
-            self.result.starttime[test.id()] = self._test_start.timestamp()
-            self.result.threadprogress[self.threadnum].append(test.id())
-            totalprogress = sum(len(x) for x in self.result.threadprogress.values())
-            self.result.progressinfo[test.id()] = "%s: %s/%s %s/%s (%ss) (%s)" % (
+            if self._test_start:
+                self.result.starttime[test.id()] = self._test_start.timestamp()
+                self.result.threadprogress[self.threadnum].append(test.id())
+                totalprogress = sum(len(x) for x in self.result.threadprogress.values())
+                self.result.progressinfo[test.id()] = "%s: %s/%s %s/%s (%ss) (%s)" % (
                     self.threadnum,
                     len(self.result.threadprogress[self.threadnum]),
                     self.totalinprocess,
@@ -67,6 +71,23 @@
         super(BBThreadsafeForwardingResult, self)._add_result_with_semaphore(method, test, *args, **kwargs)
 
 #
+# We have to patch subunit since it doesn't understand how to handle addError
+# outside of a running test case. This can happen if classSetUp() fails
+# for a class of tests. This unfortunately has horrible internal knowledge.
+#
+def outSideTestaddError(self, offset, line):
+    """An 'error:' directive has been read."""
+    test_name = line[offset:-1].decode('utf8')
+    self.parser._current_test = subunit.RemotedTestCase(test_name)
+    self.parser.current_test_description = test_name
+    self.parser._state = self.parser._reading_error_details
+    self.parser._reading_error_details.set_simple()
+    self.parser.subunitLineReceived(line)
+
+subunit._OutSideTest.addError = outSideTestaddError
+
+
+#
 # A dummy structure to add to io.StringIO so that the .buffer object
 # is available and accepts writes. This allows unittest with buffer=True
 # to interact ok with subunit which wants to access sys.stdout.buffer.
diff --git a/poky/meta/lib/oeqa/core/utils/misc.py b/poky/meta/lib/oeqa/core/utils/misc.py
index 0b223b5..e1a5958 100644
--- a/poky/meta/lib/oeqa/core/utils/misc.py
+++ b/poky/meta/lib/oeqa/core/utils/misc.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 def toList(obj, obj_type, obj_name="Object"):
     if isinstance(obj, obj_type):
diff --git a/poky/meta/lib/oeqa/core/utils/path.py b/poky/meta/lib/oeqa/core/utils/path.py
index a21caad..c086dcb 100644
--- a/poky/meta/lib/oeqa/core/utils/path.py
+++ b/poky/meta/lib/oeqa/core/utils/path.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 import os
 import sys
diff --git a/poky/meta/lib/oeqa/core/utils/test.py b/poky/meta/lib/oeqa/core/utils/test.py
index 88d5d13..d38cab8 100644
--- a/poky/meta/lib/oeqa/core/utils/test.py
+++ b/poky/meta/lib/oeqa/core/utils/test.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 import os
 import inspect
diff --git a/poky/meta/lib/oeqa/manual/compliance-test.json b/poky/meta/lib/oeqa/manual/compliance-test.json
index 982f0b4..8c13b68 100644
--- a/poky/meta/lib/oeqa/manual/compliance-test.json
+++ b/poky/meta/lib/oeqa/manual/compliance-test.json
@@ -1,94 +1,6 @@
 [
     {
         "test": {
-            "@alias": "compliance-test.compliance-test.LTP_subset_test_suite",
-            "author": [
-                {
-                    "email": "corneliux.stoicescu@intel.com",
-                    "name": "corneliux.stoicescu@intel.com"
-                }
-            ],
-            "execution": {
-                "1": {
-                    "action": "For real hardware, run following component, \nsyscalls \nfs \nfsx \ndio \nio \nmm \nipc \nsched \nmath \nnptl \npty \nadmin_tools \ntimers \ncommands  \n\nFor QEMU, run following component \nsyscalls \nmm \nipc \nsched \nmath \nnptl \npty \nadmin_tools \ncommands \n\nRun Instructions: \nLTP download: http://sourceforge.net/projects/ltp/files/LTP%20Source/ltp-20120401/ltp-full-20120401.bz2/download  \n\n(link is outdated, always use the last version released or the one found in the image)  \n\n\n\nbuild steps: refer to http://ltp.sourceforge.net  \n\nRun steps:",
-                    "expected_results": ""
-                },
-                "2": {
-                    "action": "Build LTP with toolchain or in sdk image. Or use a sato-sdk image which has LTP already included in /opt/ltp",
-                    "expected_results": ""
-                },
-                "3": {
-                    "action": "For QEMU, create the qemu target with \"-m 512\", which makes some memory stress cases pass. For some issues, we could only set 128M for qemuarm and 256M for qemumips.",
-                    "expected_results": ""
-                },
-                "4": {
-                    "action": "Copy LTP folder into target, for example, /opt/ltp if you have built it yourself. Modify the default scenario file \"scenario_groups/default\", remove test suites not to be tested",
-                    "expected_results": ""
-                },
-                "5": {
-                    "action": "Comment runtests/sched: hackbench, which is not suitable to run in emulators. Reminder (comment it also for Sugarbay Devices).",
-                    "expected_results": ""
-                },
-                "6": {
-                    "action": "Comment oom01, oom02, oom03, oom04 in runtest/mm, which consume lots of memory",
-                    "expected_results": ""
-                },
-                "7": {
-                    "action": "From /opt/ltp run: ./runltp -p -l result-M2-20101218.log -C result-M2-20101218.fail -d /opt/ltp/tmp &> result-M2-20101218.fulllog \n\n",
-                    "expected_results": "Check the result on wiki, https://wiki.yoctoproject.org/wiki/LTP_result, there should be no regression failure met."
-                }
-            },
-            "summary": "LTP_subset_test_suite"
-        }
-    },
-    {
-        "test": {
-            "@alias": "compliance-test.compliance-test.POSIX_subset_test_suite",
-            "author": [
-                {
-                    "email": "corneliux.stoicescu@intel.com",
-                    "name": "corneliux.stoicescu@intel.com"
-                }
-            ],
-            "execution": {
-                "1": {
-                    "action": "In a sato-sdk image go to /opt/ltp or get latest LTP sourcecode,  download location is  http://sourceforge.net/projects/ltp/files/LTP%20Source/  and install it.",
-                    "expected_results": ""
-                },
-                "2": {
-                    "action": "Go into the folder of LTP, and posix_testsuite is under testcases/open_posix_testsuite/",
-                    "expected_results": ""
-                },
-                "3": {
-                    "action": "Run connmand: make generate-makefiles",
-                    "expected_results": ""
-                },
-                "4": {
-                    "action": "Run connmand: make conformance-all",
-                    "expected_results": ""
-                },
-                "5": {
-                    "action": "Run connmand: make conformance-test (this step may show errors, ignore them)",
-                    "expected_results": ""
-                },
-                "6": {
-                    "action": "Run connmand: make tools-all",
-                    "expected_results": ""
-                },
-                "7": {
-                    "action": "Run connmand: sh posix.sh > posix.log, posix.sh as below:  \n \n#!/bin/sh \n./bin/run-posix-option-group-test.sh AIO \n./bin/run-posix-option-group-test.sh MEM \n./bin/run-posix-option-group-test.sh MSG \n./bin/run-posix-option-group-test.sh SEM \n./bin/run-posix-option-group-test.sh SIG \n./bin/run-posix-option-group-test.sh THR \n./bin/run-posix-option-group-test.sh TMR \n./bin/run-posix-option-group-test.sh TPS  \n \n",
-                    "expected_results": ""
-                },
-                "8": {
-                    "action": "Check the posix.log after testing is finished",
-                    "expected_results": "Compare the test result on wiki, https://wiki.yoctoproject.org/wiki/Posix_result, there should be no more regression failures met."
-                }
-            },
-            "summary": "POSIX_subset_test_suite"
-        }
-    },
-    {
-        "test": {
             "@alias": "compliance-test.compliance-test.LSB_subset_test_suite",
             "author": [
                 {
@@ -191,4 +103,4 @@
       "summary": "stress_test_-_-ltp_-Beaglebone"
     }
   }
-]
\ No newline at end of file
+]
diff --git a/poky/meta/lib/oeqa/manual/oe-core.json b/poky/meta/lib/oeqa/manual/oe-core.json
index d893d84..3ee0aa9 100644
--- a/poky/meta/lib/oeqa/manual/oe-core.json
+++ b/poky/meta/lib/oeqa/manual/oe-core.json
@@ -1,32 +1,6 @@
 [
   {
     "test": {
-      "@alias": "oe-core.scripts.Use_scripts/pybootchartgui/pybootchartgui.py_to_generate_build_profiles",
-      "author": [
-        {
-          "email": "alexandru.c.georgescu@intel.com",
-          "name": "alexandru.c.georgescu@intel.com"
-        }
-      ],
-      "execution": {
-        "1": {
-          "action": "Run a build for a recipe (e.g. core-image-minimal)",
-          "expected_results": ""
-        },
-        "2": {
-          "action": "Run the profiling script, ../scripts/pybootchartgui/pybootchartgui.py  tmp/buildstats/    \n\n",
-          "expected_results": ""
-        },
-        "3": {
-          "action": "Verify the results ",
-          "expected_results": "The scripts generates svg files with the profiling results . "
-        }
-      },
-      "summary": "Use_scripts/pybootchartgui/pybootchartgui.py_to_generate_build_profiles"
-    }
-  },
-  {
-    "test": {
       "@alias": "oe-core.scripts.Crosstap_script_check",
       "author": [
         {
diff --git a/poky/meta/lib/oeqa/oetest.py b/poky/meta/lib/oeqa/oetest.py
index f0423af..9c84466 100644
--- a/poky/meta/lib/oeqa/oetest.py
+++ b/poky/meta/lib/oeqa/oetest.py
@@ -1,6 +1,8 @@
+#
 # Copyright (C) 2013 Intel Corporation
 #
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
+#
 
 # Main unittest module used by testimage.bbclass
 # This provides the oeRuntimeTest base class which is inherited by all tests in meta/lib/oeqa/runtime.
diff --git a/poky/meta/lib/oeqa/runexported.py b/poky/meta/lib/oeqa/runexported.py
index 9cfea0f..7e37213 100755
--- a/poky/meta/lib/oeqa/runexported.py
+++ b/poky/meta/lib/oeqa/runexported.py
@@ -1,9 +1,9 @@
 #!/usr/bin/env python3
-
-
+#
 # Copyright (C) 2013 Intel Corporation
 #
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
+#
 
 # This script should be used outside of the build system to run image tests.
 # It needs a json file as input as exported by the build.
diff --git a/poky/meta/lib/oeqa/runtime/case.py b/poky/meta/lib/oeqa/runtime/case.py
index 2f190ac..f036982 100644
--- a/poky/meta/lib/oeqa/runtime/case.py
+++ b/poky/meta/lib/oeqa/runtime/case.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 from oeqa.core.case import OETestCase
 from oeqa.utils.package_manager import install_package, uninstall_package
diff --git a/poky/meta/lib/oeqa/runtime/cases/_qemutiny.py b/poky/meta/lib/oeqa/runtime/cases/_qemutiny.py
index 7b5b481..6886e36 100644
--- a/poky/meta/lib/oeqa/runtime/cases/_qemutiny.py
+++ b/poky/meta/lib/oeqa/runtime/cases/_qemutiny.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 from oeqa.runtime.case import OERuntimeTestCase
 
 class QemuTinyTest(OERuntimeTestCase):
diff --git a/poky/meta/lib/oeqa/runtime/cases/apt.py b/poky/meta/lib/oeqa/runtime/cases/apt.py
index 793143f..74a940d 100644
--- a/poky/meta/lib/oeqa/runtime/cases/apt.py
+++ b/poky/meta/lib/oeqa/runtime/cases/apt.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 from oeqa.utils.httpserver import HTTPService
 from oeqa.runtime.case import OERuntimeTestCase
diff --git a/poky/meta/lib/oeqa/runtime/cases/buildcpio.py b/poky/meta/lib/oeqa/runtime/cases/buildcpio.py
index a61d1e0..f4e871e 100644
--- a/poky/meta/lib/oeqa/runtime/cases/buildcpio.py
+++ b/poky/meta/lib/oeqa/runtime/cases/buildcpio.py
@@ -1,6 +1,9 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.runtime.decorator.package import OEHasPackage
 
 from oeqa.runtime.utils.targetbuildproject import TargetBuildProject
@@ -18,7 +21,6 @@
     def tearDownClass(cls):
         cls.project.clean()
 
-    @OETestID(205)
     @OETestDepends(['ssh.SSHTest.test_ssh'])
     @OEHasPackage(['gcc'])
     @OEHasPackage(['make'])
diff --git a/poky/meta/lib/oeqa/runtime/cases/buildgalculator.py b/poky/meta/lib/oeqa/runtime/cases/buildgalculator.py
index a0a0032..6dd1fae 100644
--- a/poky/meta/lib/oeqa/runtime/cases/buildgalculator.py
+++ b/poky/meta/lib/oeqa/runtime/cases/buildgalculator.py
@@ -1,6 +1,9 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.runtime.decorator.package import OEHasPackage
 
 from oeqa.runtime.utils.targetbuildproject import TargetBuildProject
@@ -18,7 +21,6 @@
     def tearDownClass(cls):
         cls.project.clean()
 
-    @OETestID(1526)
     @OETestDepends(['ssh.SSHTest.test_ssh'])
     @OEHasPackage(['gcc'])
     @OEHasPackage(['make'])
diff --git a/poky/meta/lib/oeqa/runtime/cases/buildlzip.py b/poky/meta/lib/oeqa/runtime/cases/buildlzip.py
index 5b455a0..bc70b41 100644
--- a/poky/meta/lib/oeqa/runtime/cases/buildlzip.py
+++ b/poky/meta/lib/oeqa/runtime/cases/buildlzip.py
@@ -1,6 +1,9 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.runtime.decorator.package import OEHasPackage
 
 from oeqa.runtime.utils.targetbuildproject import TargetBuildProject
@@ -19,7 +22,6 @@
     def tearDownClass(cls):
         cls.project.clean()
 
-    @OETestID(206)
     @OETestDepends(['ssh.SSHTest.test_ssh'])
     @OEHasPackage(['gcc'])
     @OEHasPackage(['make'])
diff --git a/poky/meta/lib/oeqa/runtime/cases/connman.py b/poky/meta/lib/oeqa/runtime/cases/connman.py
index 12456b4..f0d15fa 100644
--- a/poky/meta/lib/oeqa/runtime/cases/connman.py
+++ b/poky/meta/lib/oeqa/runtime/cases/connman.py
@@ -1,6 +1,9 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.runtime.decorator.package import OEHasPackage
 
 class ConnmanTest(OERuntimeTestCase):
@@ -12,7 +15,6 @@
         else:
             return "Unable to get status or logs for %s" % service
 
-    @OETestID(961)
     @OETestDepends(['ssh.SSHTest.test_ssh'])
     @OEHasPackage(["connman"])
     def test_connmand_help(self):
@@ -20,7 +22,6 @@
         msg = 'Failed to get connman help. Output: %s' % output
         self.assertEqual(status, 0, msg=msg)
 
-    @OETestID(221)
     @OETestDepends(['connman.ConnmanTest.test_connmand_help'])
     def test_connmand_running(self):
         cmd = '%s | grep [c]onnmand' % self.tc.target_cmds['ps']
diff --git a/poky/meta/lib/oeqa/runtime/cases/date.py b/poky/meta/lib/oeqa/runtime/cases/date.py
index 0887b83..7750a72 100644
--- a/poky/meta/lib/oeqa/runtime/cases/date.py
+++ b/poky/meta/lib/oeqa/runtime/cases/date.py
@@ -1,8 +1,11 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import re
 
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.runtime.decorator.package import OEHasPackage
 
 class DateTest(OERuntimeTestCase):
@@ -17,7 +20,6 @@
             self.logger.debug('Starting systemd-timesyncd daemon')
             self.target.run('systemctl start systemd-timesyncd')
 
-    @OETestID(211)
     @OETestDepends(['ssh.SSHTest.test_ssh'])
     @OEHasPackage(['coreutils', 'busybox'])
     def test_date(self):
diff --git a/poky/meta/lib/oeqa/runtime/cases/df.py b/poky/meta/lib/oeqa/runtime/cases/df.py
index e0b6bb8..d8d79f3 100644
--- a/poky/meta/lib/oeqa/runtime/cases/df.py
+++ b/poky/meta/lib/oeqa/runtime/cases/df.py
@@ -1,11 +1,13 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.runtime.decorator.package import OEHasPackage
 
 class DfTest(OERuntimeTestCase):
 
-    @OETestID(234)
     @OETestDepends(['ssh.SSHTest.test_ssh'])
     @OEHasPackage(['coreutils', 'busybox'])
     def test_df(self):
diff --git a/poky/meta/lib/oeqa/runtime/cases/dnf.py b/poky/meta/lib/oeqa/runtime/cases/dnf.py
index c1ed39d..629b9af 100644
--- a/poky/meta/lib/oeqa/runtime/cases/dnf.py
+++ b/poky/meta/lib/oeqa/runtime/cases/dnf.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 import re
 import subprocess
@@ -5,7 +9,6 @@
 
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.core.decorator.data import skipIfNotDataVar, skipIfNotFeature
 from oeqa.runtime.decorator.package import OEHasPackage
 
@@ -26,27 +29,22 @@
                       'RPM is not the primary package manager')
     @OEHasPackage(['dnf'])
     @OETestDepends(['ssh.SSHTest.test_ssh'])
-    @OETestID(1735)
     def test_dnf_help(self):
         self.dnf('--help')
 
     @OETestDepends(['dnf.DnfBasicTest.test_dnf_help'])
-    @OETestID(1739)
     def test_dnf_version(self):
         self.dnf('--version')
 
     @OETestDepends(['dnf.DnfBasicTest.test_dnf_help'])
-    @OETestID(1737)
     def test_dnf_info(self):
         self.dnf('info dnf')
 
     @OETestDepends(['dnf.DnfBasicTest.test_dnf_help'])
-    @OETestID(1738)
     def test_dnf_search(self):
         self.dnf('search dnf')
 
     @OETestDepends(['dnf.DnfBasicTest.test_dnf_help'])
-    @OETestID(1736)
     def test_dnf_history(self):
         self.dnf('history')
 
@@ -71,7 +69,6 @@
         return output
 
     @OETestDepends(['dnf.DnfBasicTest.test_dnf_help'])
-    @OETestID(1744)
     def test_dnf_makecache(self):
         self.dnf_with_repo('makecache')
 
@@ -82,12 +79,10 @@
 #        self.dnf_with_repo('repolist')
 
     @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
-    @OETestID(1746)
     def test_dnf_repoinfo(self):
         self.dnf_with_repo('repoinfo')
 
     @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
-    @OETestID(1740)
     def test_dnf_install(self):
         output = self.dnf_with_repo('list run-postinsts-dev')
         if 'Installed Packages' in output:
@@ -95,13 +90,11 @@
         self.dnf_with_repo('install -y run-postinsts-dev')
 
     @OETestDepends(['dnf.DnfRepoTest.test_dnf_install'])
-    @OETestID(1741)
     def test_dnf_install_dependency(self):
         self.dnf_with_repo('remove -y run-postinsts')
         self.dnf_with_repo('install -y run-postinsts-dev')
 
     @OETestDepends(['dnf.DnfRepoTest.test_dnf_install_dependency'])
-    @OETestID(1742)
     def test_dnf_install_from_disk(self):
         self.dnf_with_repo('remove -y run-postinsts-dev')
         self.dnf_with_repo('install -y --downloadonly run-postinsts-dev')
@@ -110,7 +103,6 @@
         self.dnf_with_repo('install -y %s' % output)
 
     @OETestDepends(['dnf.DnfRepoTest.test_dnf_install_from_disk'])
-    @OETestID(1743)
     def test_dnf_install_from_http(self):
         output = subprocess.check_output('%s %s -name run-postinsts-dev*' % (bb.utils.which(os.getenv('PATH'), "find"),
                                                                            os.path.join(self.tc.td['WORKDIR'], 'oe-testimage-repo')), shell=True).decode("utf-8")
@@ -120,12 +112,10 @@
         self.dnf_with_repo('install -y %s' % url)
 
     @OETestDepends(['dnf.DnfRepoTest.test_dnf_install'])
-    @OETestID(1745)
     def test_dnf_reinstall(self):
         self.dnf_with_repo('reinstall -y run-postinsts-dev')
 
     @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
-    @OETestID(1771)
     def test_dnf_installroot(self):
         rootpath = '/home/root/chroot/test'
         #Copy necessary files to avoid errors with not yet installed tools on
@@ -151,7 +141,6 @@
         self.assertEqual(0, status, output)
 
     @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
-    @OETestID(1772)
     def test_dnf_exclude(self):
         excludepkg = 'curl-dev'
         self.dnf_with_repo('install -y curl*')
diff --git a/poky/meta/lib/oeqa/runtime/cases/gcc.py b/poky/meta/lib/oeqa/runtime/cases/gcc.py
index 8265c59..1b6e431 100644
--- a/poky/meta/lib/oeqa/runtime/cases/gcc.py
+++ b/poky/meta/lib/oeqa/runtime/cases/gcc.py
@@ -1,8 +1,11 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.runtime.decorator.package import OEHasPackage
 
 class GccCompileTest(OERuntimeTestCase):
@@ -24,7 +27,6 @@
         files = '/tmp/test.c /tmp/test.o /tmp/test /tmp/testmakefile'
         cls.tc.target.run('rm %s' % files)
 
-    @OETestID(203)
     @OETestDepends(['ssh.SSHTest.test_ssh'])
     @OEHasPackage(['gcc'])
     def test_gcc_compile(self):
@@ -36,7 +38,6 @@
         msg = 'running compiled file failed, output: %s' % output
         self.assertEqual(status, 0, msg=msg)
 
-    @OETestID(200)
     @OETestDepends(['ssh.SSHTest.test_ssh'])
     @OEHasPackage(['g++'])
     def test_gpp_compile(self):
@@ -48,7 +49,6 @@
         msg = 'running compiled file failed, output: %s' % output
         self.assertEqual(status, 0, msg=msg)
 
-    @OETestID(1142)
     @OETestDepends(['ssh.SSHTest.test_ssh'])
     @OEHasPackage(['g++'])
     def test_gpp2_compile(self):
@@ -60,7 +60,6 @@
         msg = 'running compiled file failed, output: %s' % output
         self.assertEqual(status, 0, msg=msg)
 
-    @OETestID(204)
     @OETestDepends(['ssh.SSHTest.test_ssh'])
     @OEHasPackage(['gcc'])
     @OEHasPackage(['make'])
diff --git a/poky/meta/lib/oeqa/runtime/cases/gi.py b/poky/meta/lib/oeqa/runtime/cases/gi.py
index 7e16651..42bd100 100644
--- a/poky/meta/lib/oeqa/runtime/cases/gi.py
+++ b/poky/meta/lib/oeqa/runtime/cases/gi.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 
 from oeqa.runtime.case import OERuntimeTestCase
diff --git a/poky/meta/lib/oeqa/runtime/cases/gstreamer.py b/poky/meta/lib/oeqa/runtime/cases/gstreamer.py
index 128630e..f735f82 100644
--- a/poky/meta/lib/oeqa/runtime/cases/gstreamer.py
+++ b/poky/meta/lib/oeqa/runtime/cases/gstreamer.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.runtime.decorator.package import OEHasPackage
 
diff --git a/poky/meta/lib/oeqa/runtime/cases/kernelmodule.py b/poky/meta/lib/oeqa/runtime/cases/kernelmodule.py
index 27a2c35..47fd2f8 100644
--- a/poky/meta/lib/oeqa/runtime/cases/kernelmodule.py
+++ b/poky/meta/lib/oeqa/runtime/cases/kernelmodule.py
@@ -1,8 +1,11 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.core.decorator.data import skipIfNotFeature
 from oeqa.runtime.decorator.package import OEHasPackage
 
@@ -23,7 +26,6 @@
         files = '/tmp/Makefile /tmp/hellomod.c'
         cls.tc.target.run('rm %s' % files)
 
-    @OETestID(1541)
     @skipIfNotFeature('tools-sdk',
                       'Test requires tools-sdk to be in IMAGE_FEATURES')
     @OETestDepends(['gcc.GccCompileTest.test_gcc_compile'])
diff --git a/poky/meta/lib/oeqa/runtime/cases/ksample.py b/poky/meta/lib/oeqa/runtime/cases/ksample.py
index de2366a..a9a1620 100644
--- a/poky/meta/lib/oeqa/runtime/cases/ksample.py
+++ b/poky/meta/lib/oeqa/runtime/cases/ksample.py
@@ -1,9 +1,12 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 import time
 
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.core.decorator.data import skipIfNotFeature
 
 # need some kernel fragments
diff --git a/poky/meta/lib/oeqa/runtime/cases/ldd.py b/poky/meta/lib/oeqa/runtime/cases/ldd.py
index 5bde184..9c2caa8 100644
--- a/poky/meta/lib/oeqa/runtime/cases/ldd.py
+++ b/poky/meta/lib/oeqa/runtime/cases/ldd.py
@@ -1,12 +1,14 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.core.decorator.data import skipIfNotFeature
 from oeqa.runtime.decorator.package import OEHasPackage
 
 class LddTest(OERuntimeTestCase):
 
-    @OETestID(962)
     @OEHasPackage(["ldd"])
     @OETestDepends(['ssh.SSHTest.test_ssh'])
     def test_ldd(self):
diff --git a/poky/meta/lib/oeqa/runtime/cases/logrotate.py b/poky/meta/lib/oeqa/runtime/cases/logrotate.py
index d266644..8358793 100644
--- a/poky/meta/lib/oeqa/runtime/cases/logrotate.py
+++ b/poky/meta/lib/oeqa/runtime/cases/logrotate.py
@@ -1,9 +1,12 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 # This test should cover https://bugzilla.yoctoproject.org/tr_show_case.cgi?case_id=289 testcase
 # Note that the image under test must have logrotate installed
 
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.runtime.decorator.package import OEHasPackage
 
 class LogrotateTest(OERuntimeTestCase):
@@ -16,7 +19,6 @@
     def tearDownClass(cls):
         cls.tc.target.run('mv -f $HOME/wtmp.oeqabak /etc/logrotate.d/wtmp && rm -rf $HOME/logrotate_dir')
 
-    @OETestID(1544)
     @OETestDepends(['ssh.SSHTest.test_ssh'])
     @OEHasPackage(['logrotate'])
     def test_1_logrotate_setup(self):
@@ -31,7 +33,6 @@
                ' %s and %s' % (status, output))
         self.assertEqual(status, 0, msg = msg)
 
-    @OETestID(1542)
     @OETestDepends(['logrotate.LogrotateTest.test_1_logrotate_setup'])
     def test_2_logrotate(self):
         status, output = self.target.run('logrotate -f /etc/logrotate.conf')
diff --git a/poky/meta/lib/oeqa/runtime/cases/ltp.py b/poky/meta/lib/oeqa/runtime/cases/ltp.py
new file mode 100644
index 0000000..3054864
--- /dev/null
+++ b/poky/meta/lib/oeqa/runtime/cases/ltp.py
@@ -0,0 +1,118 @@
+# LTP runtime
+#
+# Copyright (c) 2019 MontaVista Software, LLC
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
+import time
+import datetime
+import pprint
+
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.core.decorator.depends import OETestDepends
+from oeqa.runtime.decorator.package import OEHasPackage
+from oeqa.utils.logparser import LtpParser
+
+class LtpTestBase(OERuntimeTestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        cls.ltp_startup()
+
+    @classmethod
+    def tearDownClass(cls):
+        cls.ltp_finishup()
+
+    @classmethod
+    def ltp_startup(cls):
+        cls.sections = {}
+        cls.failmsg = ""
+        test_log_dir = os.path.join(cls.td.get('WORKDIR', ''), 'testimage')
+        timestamp = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
+
+        cls.ltptest_log_dir_link = os.path.join(test_log_dir, 'ltp_log')
+        cls.ltptest_log_dir = '%s.%s' % (cls.ltptest_log_dir_link, timestamp)
+        os.makedirs(cls.ltptest_log_dir)
+
+        cls.tc.target.run("mkdir -p /opt/ltp/results")
+
+        if not hasattr(cls.tc, "extraresults"):
+            cls.tc.extraresults = {}
+        cls.extras = cls.tc.extraresults
+        cls.extras['ltpresult.rawlogs'] = {'log': ""}
+
+ 
+    @classmethod
+    def ltp_finishup(cls):
+        cls.extras['ltpresult.sections'] =  cls.sections
+
+        # update symlink to ltp_log
+        if os.path.exists(cls.ltptest_log_dir_link):
+            os.remove(cls.ltptest_log_dir_link)
+        os.symlink(os.path.basename(cls.ltptest_log_dir), cls.ltptest_log_dir_link)
+
+        if cls.failmsg:
+            cls.fail(cls.failmsg)
+
+class LtpTest(LtpTestBase):
+
+    ltp_groups = ["math", "syscalls", "dio", "io", "mm", "ipc", "sched", "nptl", "pty", "containers", "controllers", "filecaps", "cap_bounds", "fcntl-locktests", "connectors","timers", "commands", "net.ipv6_lib", "input","fs_perms_simple"]
+
+    ltp_fs = ["fs", "fsx", "fs_bind", "fs_ext4"]
+    # skip kernel cpuhotplug
+    ltp_kernel = ["power_management_tests", "hyperthreading ", "kernel_misc", "hugetlb"]
+    ltp_groups += ltp_fs
+
+    def runltp(self, ltp_group):
+            cmd = '/opt/ltp/runltp -f %s -p -q -r /opt/ltp -l /opt/ltp/results/%s -I 1 -d /opt/ltp' % (ltp_group, ltp_group)
+            starttime = time.time()
+            (status, output) = self.target.run(cmd)
+            endtime = time.time()
+
+            with open(os.path.join(self.ltptest_log_dir, "%s-raw.log" % ltp_group), 'w') as f:
+                f.write(output)
+
+            self.extras['ltpresult.rawlogs']['log'] = self.extras['ltpresult.rawlogs']['log'] + output
+
+            # copy nice log from DUT
+            dst = os.path.join(self.ltptest_log_dir, "%s" %  ltp_group )
+            remote_src = "/opt/ltp/results/%s" % ltp_group 
+            (status, output) = self.target.copyFrom(remote_src, dst)
+            msg = 'File could not be copied. Output: %s' % output
+            self.assertEqual(status, 0, msg=msg)
+
+            parser = LtpParser()
+            results, sections  = parser.parse(dst)
+
+            runtime = int(endtime-starttime)
+            sections['duration'] = runtime
+            self.sections[ltp_group] =  sections
+
+            failed_tests = {}
+            for test in results:
+                result = results[test]
+                testname = ("ltpresult." + ltp_group + "." + test)
+                self.extras[testname] = {'status': result}
+                if result == 'FAILED':
+                    failed_tests[ltp_group] = test 
+
+            if failed_tests:
+                self.failmsg = self.failmsg + "Failed ptests:\n%s" % pprint.pformat(failed_tests)
+
+    # LTP runtime tests
+    @OETestDepends(['ssh.SSHTest.test_ssh'])
+    @OEHasPackage(["ltp"])
+    def test_ltp_help(self):
+        (status, output) = self.target.run('/opt/ltp/runltp --help')
+        msg = 'Failed to get ltp help. Output: %s' % output
+        self.assertEqual(status, 0, msg=msg)
+
+    @OETestDepends(['ltp.LtpTest.test_ltp_help'])
+    def test_ltp_groups(self):
+        for ltp_group in self.ltp_groups: 
+            self.runltp(ltp_group)
+
+    @OETestDepends(['ltp.LtpTest.test_ltp_groups'])
+    def test_ltp_runltp_cve(self):
+        self.runltp("cve")
diff --git a/poky/meta/lib/oeqa/runtime/cases/ltp_compliance.py b/poky/meta/lib/oeqa/runtime/cases/ltp_compliance.py
new file mode 100644
index 0000000..ba47c78
--- /dev/null
+++ b/poky/meta/lib/oeqa/runtime/cases/ltp_compliance.py
@@ -0,0 +1,97 @@
+# LTP compliance runtime
+#
+# Copyright (c) 2019 MontaVista Software, LLC
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
+import time
+import datetime
+import pprint
+
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.core.decorator.depends import OETestDepends
+from oeqa.runtime.decorator.package import OEHasPackage
+from oeqa.utils.logparser import LtpComplianceParser
+
+class LtpPosixBase(OERuntimeTestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        cls.ltp_startup()
+
+    @classmethod
+    def tearDownClass(cls):
+        cls.ltp_finishup()
+
+    @classmethod
+    def ltp_startup(cls):
+        cls.sections = {}
+        cls.failmsg = ""
+        test_log_dir = os.path.join(cls.td.get('WORKDIR', ''), 'testimage')
+        timestamp = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
+
+        cls.ltptest_log_dir_link = os.path.join(test_log_dir, 'ltpcomp_log')
+        cls.ltptest_log_dir = '%s.%s' % (cls.ltptest_log_dir_link, timestamp)
+        os.makedirs(cls.ltptest_log_dir)
+
+        cls.tc.target.run("mkdir -p /opt/ltp/results")
+
+        if not hasattr(cls.tc, "extraresults"):
+            cls.tc.extraresults = {}
+        cls.extras = cls.tc.extraresults
+        cls.extras['ltpposixresult.rawlogs'] = {'log': ""}
+
+ 
+    @classmethod
+    def ltp_finishup(cls):
+        cls.extras['ltpposixresult.sections'] =  cls.sections
+
+        # update symlink to ltp_log
+        if os.path.exists(cls.ltptest_log_dir_link):
+            os.remove(cls.ltptest_log_dir_link)
+
+        os.symlink(os.path.basename(cls.ltptest_log_dir), cls.ltptest_log_dir_link)
+
+        if cls.failmsg:
+            cls.fail(cls.failmsg)
+
+class LtpPosixTest(LtpPosixBase):
+    posix_groups = ["AIO", "MEM", "MSG", "SEM", "SIG",  "THR", "TMR", "TPS"]
+
+    def runltp(self, posix_group):
+            cmd = "/opt/ltp/bin/run-posix-option-group-test.sh %s 2>@1 | tee /opt/ltp/results/%s" % (posix_group, posix_group)
+            starttime = time.time()
+            (status, output) = self.target.run(cmd)
+            endtime = time.time()
+
+            with open(os.path.join(self.ltptest_log_dir, "%s" % posix_group), 'w') as f:
+                f.write(output)
+
+            self.extras['ltpposixresult.rawlogs']['log'] = self.extras['ltpposixresult.rawlogs']['log'] + output
+
+            parser = LtpComplianceParser()
+            results, sections  = parser.parse(os.path.join(self.ltptest_log_dir, "%s" % posix_group))
+
+            runtime = int(endtime-starttime)
+            sections['duration'] = runtime
+            self.sections[posix_group] =  sections
+ 
+            failed_tests = {}
+            for test in results:
+                result = results[test]
+                testname = ("ltpposixresult." + posix_group + "." + test)
+                self.extras[testname] = {'status': result}
+                if result == 'FAILED':
+                    failed_tests[posix_group] = test 
+
+            if failed_tests:
+                self.failmsg = self.failmsg + "Failed ptests:\n%s" % pprint.pformat(failed_tests)
+
+    # LTP Posix compliance runtime tests
+
+    @OETestDepends(['ssh.SSHTest.test_ssh'])
+    @OEHasPackage(["ltp"])
+    def test_posix_groups(self):
+        for posix_group in self.posix_groups: 
+            self.runltp(posix_group)
diff --git a/poky/meta/lib/oeqa/runtime/cases/multilib.py b/poky/meta/lib/oeqa/runtime/cases/multilib.py
index 8902038..62e662b 100644
--- a/poky/meta/lib/oeqa/runtime/cases/multilib.py
+++ b/poky/meta/lib/oeqa/runtime/cases/multilib.py
@@ -1,6 +1,9 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.core.decorator.data import skipIfNotInDataVar
 from oeqa.runtime.decorator.package import OEHasPackage
 
@@ -23,7 +26,6 @@
         msg = "%s isn't %s (is %s)" % (binary, arch, theclass)
         self.assertEqual(theclass, arch, msg=msg)
 
-    @OETestID(1593)
     @skipIfNotInDataVar('MULTILIBS', 'multilib:lib32',
                         "This isn't a multilib:lib32 image")
     @OETestDepends(['ssh.SSHTest.test_ssh'])
@@ -36,7 +38,6 @@
         self.archtest("/lib/libc.so.6", "ELF32")
         self.archtest("/lib64/libc.so.6", "ELF64")
 
-    @OETestID(279)
     @OETestDepends(['multilib.MultilibTest.test_check_multilib_libc'])
     @OEHasPackage(['lib32-connman', '!connman'])
     def test_file_connman(self):
diff --git a/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py b/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py
index a92a1f2..0f5f9f4 100644
--- a/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py
+++ b/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py
@@ -1,12 +1,14 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.core.decorator.data import skipIfDataVar
 from oeqa.runtime.decorator.package import OEHasPackage
 
 class SyslogTest(OERuntimeTestCase):
 
-    @OETestID(201)
     @OETestDepends(['ssh.SSHTest.test_ssh'])
     @OEHasPackage(["busybox-syslog", "sysklogd", "rsyslog", "syslog-ng"])
     def test_syslog_running(self):
@@ -19,7 +21,6 @@
 
 class SyslogTestConfig(OERuntimeTestCase):
 
-    @OETestID(1149)
     @OETestDepends(['oe_syslog.SyslogTest.test_syslog_running'])
     def test_syslog_logger(self):
         status, output = self.target.run('logger foobar')
@@ -36,7 +37,6 @@
                ' Output: %s ' % output)
         self.assertEqual(status, 0, msg=msg)
 
-    @OETestID(1150)
     @OETestDepends(['oe_syslog.SyslogTest.test_syslog_running'])
     def test_syslog_restart(self):
         if "systemd" != self.tc.td.get("VIRTUAL-RUNTIME_init_manager", ""):
@@ -45,7 +45,6 @@
             (_, _) = self.target.run('systemctl restart syslog.service')
 
 
-    @OETestID(202)
     @OETestDepends(['oe_syslog.SyslogTestConfig.test_syslog_logger'])
     @OEHasPackage(["busybox-syslog"])
     @skipIfDataVar('VIRTUAL-RUNTIME_init_manager', 'systemd',
diff --git a/poky/meta/lib/oeqa/runtime/cases/opkg.py b/poky/meta/lib/oeqa/runtime/cases/opkg.py
index 693f5d6..bb8b6d9 100644
--- a/poky/meta/lib/oeqa/runtime/cases/opkg.py
+++ b/poky/meta/lib/oeqa/runtime/cases/opkg.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 from oeqa.utils.httpserver import HTTPService
 from oeqa.runtime.case import OERuntimeTestCase
diff --git a/poky/meta/lib/oeqa/runtime/cases/pam.py b/poky/meta/lib/oeqa/runtime/cases/pam.py
index 3654cdc..271a194 100644
--- a/poky/meta/lib/oeqa/runtime/cases/pam.py
+++ b/poky/meta/lib/oeqa/runtime/cases/pam.py
@@ -1,14 +1,16 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 # This test should cover https://bugzilla.yoctoproject.org/tr_show_case.cgi?case_id=287 testcase
 # Note that the image under test must have "pam" in DISTRO_FEATURES
 
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.core.decorator.data import skipIfNotFeature
 
 class PamBasicTest(OERuntimeTestCase):
 
-    @OETestID(1543)
     @skipIfNotFeature('pam', 'Test requires pam to be in DISTRO_FEATURES')
     @OETestDepends(['ssh.SSHTest.test_ssh'])
     def test_pam(self):
diff --git a/poky/meta/lib/oeqa/runtime/cases/parselogs.py b/poky/meta/lib/oeqa/runtime/cases/parselogs.py
index bed4a02..eb2ebb1 100644
--- a/poky/meta/lib/oeqa/runtime/cases/parselogs.py
+++ b/poky/meta/lib/oeqa/runtime/cases/parselogs.py
@@ -1,10 +1,13 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 
 from subprocess import check_output
 from shutil import rmtree
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.core.decorator.data import skipIfDataVar
 from oeqa.runtime.decorator.package import OEHasPackage
 
@@ -351,7 +354,6 @@
     def write_dmesg(self):
         (status, dmesg) = self.target.run('dmesg > /tmp/dmesg_output.log')
 
-    @OETestID(1059)
     @OETestDepends(['ssh.SSHTest.test_ssh'])
     def test_parselogs(self):
         self.write_dmesg()
diff --git a/poky/meta/lib/oeqa/runtime/cases/perl.py b/poky/meta/lib/oeqa/runtime/cases/perl.py
index be3287f..2c6b3b7 100644
--- a/poky/meta/lib/oeqa/runtime/cases/perl.py
+++ b/poky/meta/lib/oeqa/runtime/cases/perl.py
@@ -1,12 +1,14 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.runtime.decorator.package import OEHasPackage
 
 class PerlTest(OERuntimeTestCase):
-    @OETestID(208)
     @OETestDepends(['ssh.SSHTest.test_ssh'])
     @OEHasPackage(['perl'])
     def test_perl_works(self):
diff --git a/poky/meta/lib/oeqa/runtime/cases/ping.py b/poky/meta/lib/oeqa/runtime/cases/ping.py
index 02f580a..f6603f7 100644
--- a/poky/meta/lib/oeqa/runtime/cases/ping.py
+++ b/poky/meta/lib/oeqa/runtime/cases/ping.py
@@ -1,13 +1,15 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 from subprocess import Popen, PIPE
 
 from oeqa.runtime.case import OERuntimeTestCase
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.core.decorator.oetimeout import OETimeout
 
 class PingTest(OERuntimeTestCase):
 
     @OETimeout(30)
-    @OETestID(964)
     def test_ping(self):
         output = ''
         count = 0
diff --git a/poky/meta/lib/oeqa/runtime/cases/ptest.py b/poky/meta/lib/oeqa/runtime/cases/ptest.py
index 2a28ca5..d8d1e1b 100644
--- a/poky/meta/lib/oeqa/runtime/cases/ptest.py
+++ b/poky/meta/lib/oeqa/runtime/cases/ptest.py
@@ -1,17 +1,19 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import unittest
 import pprint
 import datetime
 
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.core.decorator.data import skipIfNotFeature
 from oeqa.runtime.decorator.package import OEHasPackage
 from oeqa.utils.logparser import PtestParser
 
 class PtestRunnerTest(OERuntimeTestCase):
 
-    @OETestID(1600)
     @skipIfNotFeature('ptest', 'Test requires ptest to be in DISTRO_FEATURES')
     @OETestDepends(['ssh.SSHTest.test_ssh'])
     @OEHasPackage(['ptest-runner'])
diff --git a/poky/meta/lib/oeqa/runtime/cases/python.py b/poky/meta/lib/oeqa/runtime/cases/python.py
index 66ab4d2..ec54f1e 100644
--- a/poky/meta/lib/oeqa/runtime/cases/python.py
+++ b/poky/meta/lib/oeqa/runtime/cases/python.py
@@ -1,10 +1,12 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.runtime.decorator.package import OEHasPackage
 
 class PythonTest(OERuntimeTestCase):
-    @OETestID(965)
     @OETestDepends(['ssh.SSHTest.test_ssh'])
     @OEHasPackage(['python3-core'])
     def test_python3(self):
diff --git a/poky/meta/lib/oeqa/runtime/cases/rpm.py b/poky/meta/lib/oeqa/runtime/cases/rpm.py
index de92157..d8cabd3 100644
--- a/poky/meta/lib/oeqa/runtime/cases/rpm.py
+++ b/poky/meta/lib/oeqa/runtime/cases/rpm.py
@@ -1,16 +1,18 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 import fnmatch
 
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.core.decorator.data import skipIfDataVar
 from oeqa.runtime.decorator.package import OEHasPackage
 from oeqa.core.utils.path import findFile
 
 class RpmBasicTest(OERuntimeTestCase):
 
-    @OETestID(960)
     @OEHasPackage(['rpm'])
     @OETestDepends(['ssh.SSHTest.test_ssh'])
     def test_rpm_help(self):
@@ -18,7 +20,6 @@
         msg = 'status and output: %s and %s' % (status, output)
         self.assertEqual(status, 0, msg=msg)
 
-    @OETestID(191)
     @OETestDepends(['rpm.RpmBasicTest.test_rpm_help'])
     def test_rpm_query(self):
         status, output = self.target.run('ls /var/lib/rpm/')
@@ -43,7 +44,6 @@
             cls.test_file = os.path.join(rpmdir, f)
         cls.dst = '/tmp/base-passwd-doc.rpm'
 
-    @OETestID(192)
     @OETestDepends(['rpm.RpmBasicTest.test_rpm_query'])
     def test_rpm_install(self):
         self.tc.target.copyTo(self.test_file, self.dst)
@@ -52,14 +52,12 @@
         self.assertEqual(status, 0, msg=msg)
         self.tc.target.run('rm -f %s' % self.dst)
 
-    @OETestID(194)
     @OETestDepends(['rpm.RpmInstallRemoveTest.test_rpm_install'])
     def test_rpm_remove(self):
         status,output = self.target.run('rpm -e base-passwd-doc')
         msg = 'Failed to remove base-passwd-doc package: %s' % output
         self.assertEqual(status, 0, msg=msg)
 
-    @OETestID(1096)
     @OETestDepends(['rpm.RpmBasicTest.test_rpm_query'])
     def test_rpm_query_nonroot(self):
 
@@ -92,7 +90,6 @@
         finally:
             unset_up_test_user(tuser)
 
-    @OETestID(195)
     @OETestDepends(['rpm.RpmInstallRemoveTest.test_rpm_remove'])
     def test_check_rpm_install_removal_log_file_size(self):
         """
diff --git a/poky/meta/lib/oeqa/runtime/cases/scp.py b/poky/meta/lib/oeqa/runtime/cases/scp.py
index 8f895da..3a5f292 100644
--- a/poky/meta/lib/oeqa/runtime/cases/scp.py
+++ b/poky/meta/lib/oeqa/runtime/cases/scp.py
@@ -1,9 +1,12 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 from tempfile import mkstemp
 
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.runtime.decorator.package import OEHasPackage
 
 class ScpTest(OERuntimeTestCase):
@@ -19,7 +22,6 @@
     def tearDownClass(cls):
         os.remove(cls.tmp_path)
 
-    @OETestID(220)
     @OETestDepends(['ssh.SSHTest.test_ssh'])
     @OEHasPackage(['openssh-scp', 'dropbear'])
     def test_scp_file(self):
diff --git a/poky/meta/lib/oeqa/runtime/cases/skeletoninit.py b/poky/meta/lib/oeqa/runtime/cases/skeletoninit.py
index 4fdcf03..4779cd6 100644
--- a/poky/meta/lib/oeqa/runtime/cases/skeletoninit.py
+++ b/poky/meta/lib/oeqa/runtime/cases/skeletoninit.py
@@ -1,9 +1,12 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 # This test should cover https://bugzilla.yoctoproject.org/tr_show_case.cgi?case_id=284
 # testcase. Image under test must have meta-skeleton layer in bblayers and
 # IMAGE_INSTALL_append = " service" in local.conf
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.core.decorator.data import skipIfDataVar
 from oeqa.runtime.decorator.package import OEHasPackage
 
@@ -22,7 +25,6 @@
         msg = 'skeleton-test not found. Output:\n%s' % output
         self.assertEqual(status, 0, msg=msg)
 
-    @OETestID(284)
     @OETestDepends(['skeletoninit.SkeletonBasicTest.test_skeleton_availability'])
     def test_skeleton_script(self):
         output1 = self.target.run("/etc/init.d/skeleton start")[1]
diff --git a/poky/meta/lib/oeqa/runtime/cases/ssh.py b/poky/meta/lib/oeqa/runtime/cases/ssh.py
index 0b1ea7b..60a5fbb 100644
--- a/poky/meta/lib/oeqa/runtime/cases/ssh.py
+++ b/poky/meta/lib/oeqa/runtime/cases/ssh.py
@@ -1,11 +1,13 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.runtime.decorator.package import OEHasPackage
 
 class SSHTest(OERuntimeTestCase):
 
-    @OETestID(224)
     @OETestDepends(['ping.PingTest.test_ping'])
     @OEHasPackage(['dropbear', 'openssh-sshd'])
     def test_ssh(self):
diff --git a/poky/meta/lib/oeqa/runtime/cases/stap.py b/poky/meta/lib/oeqa/runtime/cases/stap.py
index c492caf..5342f6a 100644
--- a/poky/meta/lib/oeqa/runtime/cases/stap.py
+++ b/poky/meta/lib/oeqa/runtime/cases/stap.py
@@ -1,8 +1,11 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.core.decorator.data import skipIfNotFeature
 from oeqa.runtime.decorator.package import OEHasPackage
 
@@ -19,7 +22,6 @@
         files = '/tmp/hello.stp'
         cls.tc.target.run('rm %s' % files)
 
-    @OETestID(1652)
     @skipIfNotFeature('tools-profile',
                       'Test requires tools-profile to be in IMAGE_FEATURES')
     @OETestDepends(['kernelmodule.KernelModuleTest.test_kernel_module'])
diff --git a/poky/meta/lib/oeqa/runtime/cases/systemd.py b/poky/meta/lib/oeqa/runtime/cases/systemd.py
index 460b8fc..c11fa49 100644
--- a/poky/meta/lib/oeqa/runtime/cases/systemd.py
+++ b/poky/meta/lib/oeqa/runtime/cases/systemd.py
@@ -1,9 +1,12 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import re
 import time
 
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.core.decorator.data import skipIfDataVar, skipIfNotDataVar
 from oeqa.runtime.decorator.package import OEHasPackage
 from oeqa.core.decorator.data import skipIfNotFeature
@@ -78,12 +81,10 @@
     def test_systemd_basic(self):
         self.systemctl('--version')
 
-    @OETestID(551)
     @OETestDepends(['systemd.SystemdBasicTests.test_systemd_basic'])
     def test_systemd_list(self):
         self.systemctl('list-unit-files')
 
-    @OETestID(550)
     @OETestDepends(['systemd.SystemdBasicTests.test_systemd_basic'])
     def test_systemd_failed(self):
         settled, output = self.settle()
@@ -104,7 +105,6 @@
     def test_systemd_status(self):
         self.systemctl('status --full', 'avahi-daemon.service')
 
-    @OETestID(695)
     @OETestDepends(['systemd.SystemdServiceTests.test_systemd_status'])
     def test_systemd_stop_start(self):
         self.systemctl('stop', 'avahi-daemon.service')
@@ -113,7 +113,6 @@
         self.systemctl('start','avahi-daemon.service')
         self.systemctl('is-active', 'avahi-daemon.service', verbose=True)
 
-    @OETestID(696)
     @OETestDepends(['systemd.SystemdServiceTests.test_systemd_status'])
     def test_systemd_disable_enable(self):
         self.systemctl('disable', 'avahi-daemon.service')
diff --git a/poky/meta/lib/oeqa/runtime/cases/x32lib.py b/poky/meta/lib/oeqa/runtime/cases/x32lib.py
index 8da0154..ddf2201 100644
--- a/poky/meta/lib/oeqa/runtime/cases/x32lib.py
+++ b/poky/meta/lib/oeqa/runtime/cases/x32lib.py
@@ -1,13 +1,15 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.core.decorator.data import skipIfNotInDataVar
 
 class X32libTest(OERuntimeTestCase):
 
     @skipIfNotInDataVar('DEFAULTTUNE', 'x86-64-x32',
                         'DEFAULTTUNE is not set to x86-64-x32')
-    @OETestID(281)
     @OETestDepends(['ssh.SSHTest.test_ssh'])
     def test_x32_file(self):
         cmd = 'readelf -h /bin/ls | grep Class | grep ELF32'
diff --git a/poky/meta/lib/oeqa/runtime/cases/xorg.py b/poky/meta/lib/oeqa/runtime/cases/xorg.py
index 82521c6..d684558 100644
--- a/poky/meta/lib/oeqa/runtime/cases/xorg.py
+++ b/poky/meta/lib/oeqa/runtime/cases/xorg.py
@@ -1,12 +1,14 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.core.decorator.data import skipIfNotFeature
 from oeqa.runtime.decorator.package import OEHasPackage
 
 class XorgTest(OERuntimeTestCase):
 
-    @OETestID(1151)
     @skipIfNotFeature('x11-base',
                       'Test requires x11 to be in IMAGE_FEATURES')
     @OETestDepends(['ssh.SSHTest.test_ssh'])
diff --git a/poky/meta/lib/oeqa/runtime/context.py b/poky/meta/lib/oeqa/runtime/context.py
index db0482d..77d58ee 100644
--- a/poky/meta/lib/oeqa/runtime/context.py
+++ b/poky/meta/lib/oeqa/runtime/context.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 import os
 
diff --git a/poky/meta/lib/oeqa/runtime/decorator/package.py b/poky/meta/lib/oeqa/runtime/decorator/package.py
index aa6ecb6..4c5ca19 100644
--- a/poky/meta/lib/oeqa/runtime/decorator/package.py
+++ b/poky/meta/lib/oeqa/runtime/decorator/package.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 from oeqa.core.decorator import OETestDecorator, registerDecorator
 from oeqa.core.utils.misc import strToSet
diff --git a/poky/meta/lib/oeqa/runtime/loader.py b/poky/meta/lib/oeqa/runtime/loader.py
index 041ef97..7041ddf 100644
--- a/poky/meta/lib/oeqa/runtime/loader.py
+++ b/poky/meta/lib/oeqa/runtime/loader.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 from oeqa.core.loader import OETestLoader
 from oeqa.runtime.case import OERuntimeTestCase
diff --git a/poky/meta/lib/oeqa/runtime/utils/targetbuildproject.py b/poky/meta/lib/oeqa/runtime/utils/targetbuildproject.py
index de17ba0..f4f4816 100644
--- a/poky/meta/lib/oeqa/runtime/utils/targetbuildproject.py
+++ b/poky/meta/lib/oeqa/runtime/utils/targetbuildproject.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 from oeqa.utils.buildproject import BuildProject
 
diff --git a/poky/meta/lib/oeqa/sdk/case.py b/poky/meta/lib/oeqa/sdk/case.py
index d8611c8..ebb03af 100644
--- a/poky/meta/lib/oeqa/sdk/case.py
+++ b/poky/meta/lib/oeqa/sdk/case.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 import os
 import subprocess
@@ -9,7 +12,7 @@
 class OESDKTestCase(OETestCase):
     def _run(self, cmd):
         return subprocess.check_output(". %s > /dev/null; %s;" % \
-                (self.tc.sdk_env, cmd), shell=True,
+                (self.tc.sdk_env, cmd), shell=True, executable="/bin/bash",
                 stderr=subprocess.STDOUT, universal_newlines=True)
 
     def fetch(self, workdir, dl_dir, url, archive=None):
diff --git a/poky/meta/lib/oeqa/sdk/cases/assimp.py b/poky/meta/lib/oeqa/sdk/cases/assimp.py
index a600010..f26b17f 100644
--- a/poky/meta/lib/oeqa/sdk/cases/assimp.py
+++ b/poky/meta/lib/oeqa/sdk/cases/assimp.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 import subprocess
 import tempfile
diff --git a/poky/meta/lib/oeqa/sdk/cases/buildcpio.py b/poky/meta/lib/oeqa/sdk/cases/buildcpio.py
index 9504ee8..0a5e68d 100644
--- a/poky/meta/lib/oeqa/sdk/cases/buildcpio.py
+++ b/poky/meta/lib/oeqa/sdk/cases/buildcpio.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 import tempfile
 import subprocess
diff --git a/poky/meta/lib/oeqa/sdk/cases/buildepoxy.py b/poky/meta/lib/oeqa/sdk/cases/buildepoxy.py
index ef24b4f..f3d207c 100644
--- a/poky/meta/lib/oeqa/sdk/cases/buildepoxy.py
+++ b/poky/meta/lib/oeqa/sdk/cases/buildepoxy.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 import subprocess
 import tempfile
diff --git a/poky/meta/lib/oeqa/sdk/cases/buildgalculator.py b/poky/meta/lib/oeqa/sdk/cases/buildgalculator.py
index 47d7580..bbaa5c5 100644
--- a/poky/meta/lib/oeqa/sdk/cases/buildgalculator.py
+++ b/poky/meta/lib/oeqa/sdk/cases/buildgalculator.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 import subprocess
 import tempfile
diff --git a/poky/meta/lib/oeqa/sdk/cases/buildlzip.py b/poky/meta/lib/oeqa/sdk/cases/buildlzip.py
index b7483bf..515acd2 100644
--- a/poky/meta/lib/oeqa/sdk/cases/buildlzip.py
+++ b/poky/meta/lib/oeqa/sdk/cases/buildlzip.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os, tempfile, subprocess, unittest
 from oeqa.sdk.case import OESDKTestCase
 from oeqa.utils.subprocesstweak import errors_have_output
diff --git a/poky/meta/lib/oeqa/sdk/cases/gcc.py b/poky/meta/lib/oeqa/sdk/cases/gcc.py
index 54c6fc4..eb08ead 100644
--- a/poky/meta/lib/oeqa/sdk/cases/gcc.py
+++ b/poky/meta/lib/oeqa/sdk/cases/gcc.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 import shutil
 import unittest
diff --git a/poky/meta/lib/oeqa/sdk/cases/perl.py b/poky/meta/lib/oeqa/sdk/cases/perl.py
index b8adc5a..14d76d8 100644
--- a/poky/meta/lib/oeqa/sdk/cases/perl.py
+++ b/poky/meta/lib/oeqa/sdk/cases/perl.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import unittest
 from oeqa.sdk.case import OESDKTestCase
 
diff --git a/poky/meta/lib/oeqa/sdk/cases/python.py b/poky/meta/lib/oeqa/sdk/cases/python.py
index b9174fa..a334abc 100644
--- a/poky/meta/lib/oeqa/sdk/cases/python.py
+++ b/poky/meta/lib/oeqa/sdk/cases/python.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import subprocess, unittest
 from oeqa.sdk.case import OESDKTestCase
 
diff --git a/poky/meta/lib/oeqa/sdk/context.py b/poky/meta/lib/oeqa/sdk/context.py
index adc4166..09e77c1 100644
--- a/poky/meta/lib/oeqa/sdk/context.py
+++ b/poky/meta/lib/oeqa/sdk/context.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 import os
 import sys
diff --git a/poky/meta/lib/oeqa/sdk/testsdk.py b/poky/meta/lib/oeqa/sdk/testsdk.py
index 632ac50..35e4018 100644
--- a/poky/meta/lib/oeqa/sdk/testsdk.py
+++ b/poky/meta/lib/oeqa/sdk/testsdk.py
@@ -1,5 +1,8 @@
+#
 # Copyright 2018 by Garmin Ltd. or its subsidiaries
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 from oeqa.sdk.context import OESDKTestContext, OESDKTestContextExecutor
 
diff --git a/poky/meta/lib/oeqa/sdk/utils/sdkbuildproject.py b/poky/meta/lib/oeqa/sdk/utils/sdkbuildproject.py
index 6fed73e..32f5e33 100644
--- a/poky/meta/lib/oeqa/sdk/utils/sdkbuildproject.py
+++ b/poky/meta/lib/oeqa/sdk/utils/sdkbuildproject.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 import os
 import subprocess
@@ -42,7 +45,8 @@
     def _run(self, cmd):
         self.log("Running . %s; " % self.sdkenv + cmd)
         try:
-            output = subprocess.check_output(". %s; " % self.sdkenv + cmd, shell=True, stderr=subprocess.STDOUT)
+            output = subprocess.check_output(". %s; " % self.sdkenv + cmd, shell=True,
+                                             executable='/bin/bash', stderr=subprocess.STDOUT)
         except subprocess.CalledProcessError as exc:
             print(exc.output.decode('utf-8'))
             return exc.returncode
diff --git a/poky/meta/lib/oeqa/sdkext/case.py b/poky/meta/lib/oeqa/sdkext/case.py
index 21b7188..668faec 100644
--- a/poky/meta/lib/oeqa/sdkext/case.py
+++ b/poky/meta/lib/oeqa/sdkext/case.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 import os
 import subprocess
diff --git a/poky/meta/lib/oeqa/sdkext/cases/devtool.py b/poky/meta/lib/oeqa/sdkext/cases/devtool.py
index d322f86..5a02add 100644
--- a/poky/meta/lib/oeqa/sdkext/cases/devtool.py
+++ b/poky/meta/lib/oeqa/sdkext/cases/devtool.py
@@ -1,12 +1,14 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 import os
 import shutil
 import subprocess
 
 from oeqa.sdkext.case import OESDKExtTestCase
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.utils.httpserver import HTTPService
 
 from oeqa.utils.subprocesstweak import errors_have_output
@@ -51,19 +53,15 @@
         self._run('devtool add myapp %s' % self.myapp_dst)
         self._run('devtool reset myapp')
 
-    @OETestID(1605)
     def test_devtool_build_make(self):
         self._test_devtool_build(self.myapp_dst)
 
-    @OETestID(1606)
     def test_devtool_build_esdk_package(self):
         self._test_devtool_build_package(self.myapp_dst)
 
-    @OETestID(1607)
     def test_devtool_build_cmake(self):
         self._test_devtool_build(self.myapp_cmake_dst)
 
-    @OETestID(1608)
     def test_extend_autotools_recipe_creation(self):
         req = 'https://github.com/rdfa/librdfa'
         recipe = "librdfa"
@@ -74,7 +72,6 @@
         finally:
             self._run('devtool reset %s' % recipe)
 
-    @OETestID(1609)
     def test_devtool_kernelmodule(self):
         docfile = 'https://github.com/umlaeute/v4l2loopback.git'
         recipe = 'v4l2loopback-driver'
@@ -84,7 +81,6 @@
         finally:
             self._run('devtool reset %s' % recipe)
 
-    @OETestID(1610)
     def test_recipes_for_nodejs(self):
         package_nodejs = "npm://registry.npmjs.org;name=winston;version=2.2.0"
         self._run('devtool add %s ' % package_nodejs)
diff --git a/poky/meta/lib/oeqa/sdkext/context.py b/poky/meta/lib/oeqa/sdkext/context.py
index 65da4c6..2ac2bf6 100644
--- a/poky/meta/lib/oeqa/sdkext/context.py
+++ b/poky/meta/lib/oeqa/sdkext/context.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 import os
 from oeqa.sdk.context import OESDKTestContext, OESDKTestContextExecutor
diff --git a/poky/meta/lib/oeqa/sdkext/testsdk.py b/poky/meta/lib/oeqa/sdkext/testsdk.py
index 57b2e0e..785b5dd 100644
--- a/poky/meta/lib/oeqa/sdkext/testsdk.py
+++ b/poky/meta/lib/oeqa/sdkext/testsdk.py
@@ -1,5 +1,8 @@
+#
 # Copyright 2018 by Garmin Ltd. or its subsidiaries
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 from oeqa.sdk.testsdk import TestSDKBase
 
diff --git a/poky/meta/lib/oeqa/selftest/case.py b/poky/meta/lib/oeqa/selftest/case.py
index 9c08d59..d207a0a 100644
--- a/poky/meta/lib/oeqa/selftest/case.py
+++ b/poky/meta/lib/oeqa/selftest/case.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2013-2017 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 import sys
 import os
diff --git a/poky/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py b/poky/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py
index 0e58962..f7c356a 100644
--- a/poky/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py
+++ b/poky/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 import shutil
 
diff --git a/poky/meta/lib/oeqa/selftest/cases/archiver.py b/poky/meta/lib/oeqa/selftest/cases/archiver.py
index 0a6d4e3..f8672f8 100644
--- a/poky/meta/lib/oeqa/selftest/cases/archiver.py
+++ b/poky/meta/lib/oeqa/selftest/cases/archiver.py
@@ -1,12 +1,14 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 import glob
 from oeqa.utils.commands import bitbake, get_bb_vars
 from oeqa.selftest.case import OESelftestTestCase
-from oeqa.core.decorator.oeid import OETestID
 
 class Archiver(OESelftestTestCase):
 
-    @OETestID(1345)
     def test_archiver_allows_to_filter_on_recipe_name(self):
         """
         Summary:     The archiver should offer the possibility to filter on the recipe. (#6929)
@@ -40,7 +42,6 @@
         excluded_present = len(glob.glob(src_path + '/%s-*' % exclude_recipe))
         self.assertFalse(excluded_present, 'Recipe %s was not excluded.' % exclude_recipe)
 
-    @OETestID(1900)
     def test_archiver_filters_by_type(self):
         """
         Summary:     The archiver is documented to filter on the recipe type.
@@ -73,7 +74,6 @@
         excluded_present = len(glob.glob(src_path_native + '/%s-*' % native_recipe))
         self.assertFalse(excluded_present, 'Recipe %s was not excluded.' % native_recipe)
 
-    @OETestID(1901)
     def test_archiver_filters_by_type_and_name(self):
         """
         Summary:     Test that the archiver archives by recipe type, taking the
diff --git a/poky/meta/lib/oeqa/selftest/cases/bblayers.py b/poky/meta/lib/oeqa/selftest/cases/bblayers.py
index 447c54b..954488d 100644
--- a/poky/meta/lib/oeqa/selftest/cases/bblayers.py
+++ b/poky/meta/lib/oeqa/selftest/cases/bblayers.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 import re
 
@@ -5,33 +9,27 @@
 from oeqa.utils.commands import runCmd, get_bb_var, get_bb_vars
 
 from oeqa.selftest.case import OESelftestTestCase
-from oeqa.core.decorator.oeid import OETestID
 
 class BitbakeLayers(OESelftestTestCase):
 
-    @OETestID(756)
     def test_bitbakelayers_showcrossdepends(self):
         result = runCmd('bitbake-layers show-cross-depends')
         self.assertTrue('aspell' in result.output, msg = "No dependencies were shown. bitbake-layers show-cross-depends output: %s" % result.output)
 
-    @OETestID(83)
     def test_bitbakelayers_showlayers(self):
         result = runCmd('bitbake-layers show-layers')
         self.assertTrue('meta-selftest' in result.output, msg = "No layers were shown. bitbake-layers show-layers output: %s" % result.output)
 
-    @OETestID(93)
     def test_bitbakelayers_showappends(self):
         recipe = "xcursor-transparent-theme"
         bb_file = self.get_recipe_basename(recipe)
         result = runCmd('bitbake-layers show-appends')
         self.assertTrue(bb_file in result.output, msg="%s file was not recognised. bitbake-layers show-appends output: %s" % (bb_file, result.output))
 
-    @OETestID(90)
     def test_bitbakelayers_showoverlayed(self):
         result = runCmd('bitbake-layers show-overlayed')
         self.assertTrue('aspell' in result.output, msg="aspell overlayed recipe was not recognised bitbake-layers show-overlayed %s" % result.output)
 
-    @OETestID(95)
     def test_bitbakelayers_flatten(self):
         recipe = "xcursor-transparent-theme"
         recipe_path = "recipes-graphics/xcursor-transparent-theme"
@@ -46,7 +44,6 @@
         find_in_contents = re.search("##### bbappended from meta-selftest #####\n(.*\n)*include test_recipe.inc", contents)
         self.assertTrue(find_in_contents, msg = "Flattening layers did not work. bitbake-layers flatten output: %s" % result.output)
 
-    @OETestID(1195)
     def test_bitbakelayers_add_remove(self):
         test_layer = os.path.join(get_bb_var('COREBASE'), 'meta-skeleton')
         result = runCmd('bitbake-layers show-layers')
@@ -64,7 +61,6 @@
         result = runCmd('bitbake-layers show-layers')
         self.assertNotIn('meta-skeleton', result.output, msg = "meta-skeleton should have been removed at this step.  bitbake-layers show-layers output: %s" % result.output)
 
-    @OETestID(1384)
     def test_bitbakelayers_showrecipes(self):
         result = runCmd('bitbake-layers show-recipes')
         self.assertIn('aspell:', result.output)
diff --git a/poky/meta/lib/oeqa/selftest/cases/bbtests.py b/poky/meta/lib/oeqa/selftest/cases/bbtests.py
index c503e4e..e9ad44b 100644
--- a/poky/meta/lib/oeqa/selftest/cases/bbtests.py
+++ b/poky/meta/lib/oeqa/selftest/cases/bbtests.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 import re
 
@@ -5,7 +9,6 @@
 from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars
 
 from oeqa.selftest.case import OESelftestTestCase
-from oeqa.core.decorator.oeid import OETestID
 
 class BitbakeTests(OESelftestTestCase):
 
@@ -14,13 +17,11 @@
             if line in l:
                 return l
 
-    @OETestID(789)
     # Test bitbake can run from the <builddir>/conf directory
     def test_run_bitbake_from_dir_1(self):
         os.chdir(os.path.join(self.builddir, 'conf'))
         self.assertEqual(bitbake('-e').status, 0, msg = "bitbake couldn't run from \"conf\" dir")
 
-    @OETestID(790)
     # Test bitbake can run from the <builddir>'s parent directory
     def test_run_bitbake_from_dir_2(self):
         my_env = os.environ.copy()
@@ -36,7 +37,6 @@
         self.assertEqual(bitbake('-e', env=my_env).status, 0, msg = "bitbake couldn't run from /tmp/")
 
 
-    @OETestID(806)
     def test_event_handler(self):
         self.write_config("INHERIT += \"test_events\"")
         result = bitbake('m4-native')
@@ -46,7 +46,6 @@
         self.assertTrue(find_build_completed, msg = "Match failed in:\n%s" % result.output)
         self.assertFalse('Test for bb.event.InvalidEvent' in result.output, msg = "\"Test for bb.event.InvalidEvent\" message found during bitbake process. bitbake output: %s" % result.output)
 
-    @OETestID(103)
     def test_local_sstate(self):
         bitbake('m4-native')
         bitbake('m4-native -cclean')
@@ -54,17 +53,14 @@
         find_setscene = re.search("m4-native.*do_.*_setscene", result.output)
         self.assertTrue(find_setscene, msg = "No \"m4-native.*do_.*_setscene\" message found during bitbake m4-native. bitbake output: %s" % result.output )
 
-    @OETestID(105)
     def test_bitbake_invalid_recipe(self):
         result = bitbake('-b asdf', ignore_status=True)
         self.assertTrue("ERROR: Unable to find any recipe file matching 'asdf'" in result.output, msg = "Though asdf recipe doesn't exist, bitbake didn't output any err. message. bitbake output: %s" % result.output)
 
-    @OETestID(107)
     def test_bitbake_invalid_target(self):
         result = bitbake('asdf', ignore_status=True)
         self.assertTrue("ERROR: Nothing PROVIDES 'asdf'" in result.output, msg = "Though no 'asdf' target exists, bitbake didn't output any err. message. bitbake output: %s" % result.output)
 
-    @OETestID(106)
     def test_warnings_errors(self):
         result = bitbake('-b asdf', ignore_status=True)
         find_warnings = re.search("Summary: There w.{2,3}? [1-9][0-9]* WARNING messages* shown", result.output)
@@ -72,7 +68,6 @@
         self.assertTrue(find_warnings, msg="Did not find the mumber of warnings at the end of the build:\n" + result.output)
         self.assertTrue(find_errors, msg="Did not find the mumber of errors at the end of the build:\n" + result.output)
 
-    @OETestID(108)
     def test_invalid_patch(self):
         # This patch should fail to apply.
         self.write_recipeinc('man-db', 'FILESEXTRAPATHS_prepend := "${THISDIR}/files:"\nSRC_URI += "file://0001-Test-patch-here.patch"')
@@ -83,7 +78,6 @@
         line = self.getline(result, "Function failed: patch_do_patch")
         self.assertTrue(line and line.startswith("ERROR:"), msg = "Incorrectly formed patch application didn't fail. bitbake output: %s" % result.output)
 
-    @OETestID(1354)
     def test_force_task_1(self):
         # test 1 from bug 5875
         test_recipe = 'zlib'
@@ -108,7 +102,6 @@
         ret = bitbake(test_recipe)
         self.assertIn('task do_package_write_rpm:', ret.output, 'Task do_package_write_rpm did not re-executed.')
 
-    @OETestID(163)
     def test_force_task_2(self):
         # test 2 from bug 5875
         test_recipe = 'zlib'
@@ -121,7 +114,6 @@
         for task in look_for_tasks:
             self.assertIn(task, result.output, msg="Couldn't find %s task.")
 
-    @OETestID(167)
     def test_bitbake_g(self):
         result = bitbake('-g core-image-minimal')
         for f in ['pn-buildlist', 'recipe-depends.dot', 'task-depends.dot']:
@@ -129,7 +121,6 @@
         self.assertTrue('Task dependencies saved to \'task-depends.dot\'' in result.output, msg = "No task dependency \"task-depends.dot\" file was generated for the given task target. bitbake output: %s" % result.output)
         self.assertTrue('busybox' in ftools.read_file(os.path.join(self.builddir, 'task-depends.dot')), msg = "No \"busybox\" dependency found in task-depends.dot file.")
 
-    @OETestID(899)
     def test_image_manifest(self):
         bitbake('core-image-minimal')
         bb_vars = get_bb_vars(["DEPLOY_DIR_IMAGE", "IMAGE_LINK_NAME"], "core-image-minimal")
@@ -138,7 +129,6 @@
         manifest = os.path.join(deploydir, imagename + ".manifest")
         self.assertTrue(os.path.islink(manifest), msg="No manifest file created for image. It should have been created in %s" % manifest)
 
-    @OETestID(168)
     def test_invalid_recipe_src_uri(self):
         data = 'SRC_URI = "file://invalid"'
         self.write_recipeinc('man-db', data)
@@ -159,7 +149,6 @@
         self.assertTrue(line and line.startswith("ERROR:"), msg = "\"invalid\" file \
 doesn't exist, yet fetcher didn't report any error. bitbake output: %s" % result.output)
 
-    @OETestID(171)
     def test_rename_downloaded_file(self):
         # TODO unique dldir instead of using cleanall
         # TODO: need to set sstatedir?
@@ -177,29 +166,24 @@
         self.assertTrue(os.path.isfile(os.path.join(dl_dir, 'test-aspell.tar.gz')), msg = "File rename failed. No corresponding test-aspell.tar.gz file found under %s" % dl_dir)
         self.assertTrue(os.path.isfile(os.path.join(dl_dir, 'test-aspell.tar.gz.done')), "File rename failed. No corresponding test-aspell.tar.gz.done file found under %s" % dl_dir)
 
-    @OETestID(1028)
     def test_environment(self):
         self.write_config("TEST_ENV=\"localconf\"")
         result = runCmd('bitbake -e | grep TEST_ENV=')
         self.assertTrue('localconf' in result.output, msg = "bitbake didn't report any value for TEST_ENV variable. To test, run 'bitbake -e | grep TEST_ENV='")
 
-    @OETestID(1029)
     def test_dry_run(self):
         result = runCmd('bitbake -n m4-native')
         self.assertEqual(0, result.status, "bitbake dry run didn't run as expected. %s" % result.output)
 
-    @OETestID(1030)
     def test_just_parse(self):
         result = runCmd('bitbake -p')
         self.assertEqual(0, result.status, "errors encountered when parsing recipes. %s" % result.output)
 
-    @OETestID(1031)
     def test_version(self):
         result = runCmd('bitbake -s | grep wget')
         find = re.search(r"wget *:([0-9a-zA-Z\.\-]+)", result.output)
         self.assertTrue(find, "No version returned for searched recipe. bitbake output: %s" % result.output)
 
-    @OETestID(1032)
     def test_prefile(self):
         preconf = os.path.join(self.builddir, 'conf/prefile.conf')
         self.track_for_cleanup(preconf)
@@ -210,7 +194,6 @@
         result = runCmd('bitbake -r conf/prefile.conf -e | grep TEST_PREFILE=')
         self.assertTrue('localconf' in result.output, "Preconfigure file \"prefile.conf\"was not taken into consideration.")
 
-    @OETestID(1033)
     def test_postfile(self):
         postconf = os.path.join(self.builddir, 'conf/postfile.conf')
         self.track_for_cleanup(postconf)
@@ -219,12 +202,10 @@
         result = runCmd('bitbake -R conf/postfile.conf -e | grep TEST_POSTFILE=')
         self.assertTrue('postfile' in result.output, "Postconfigure file \"postfile.conf\"was not taken into consideration.")
 
-    @OETestID(1034)
     def test_checkuri(self):
         result = runCmd('bitbake -c checkuri m4')
         self.assertEqual(0, result.status, msg = "\"checkuri\" task was not executed. bitbake output: %s" % result.output)
 
-    @OETestID(1035)
     def test_continue(self):
         self.write_config("""DL_DIR = \"${TOPDIR}/download-selftest\"
 SSTATE_DIR = \"${TOPDIR}/download-selftest\"
@@ -239,7 +220,6 @@
         continuepos = result.output.find('NOTE: recipe xcursor-transparent-theme-%s: task do_unpack: Started' % manver.group(1))
         self.assertLess(errorpos,continuepos, msg = "bitbake didn't pass do_fail_task. bitbake output: %s" % result.output)
 
-    @OETestID(1119)
     def test_non_gplv3(self):
         self.write_config('INCOMPATIBLE_LICENSE = "GPLv3"')
         result = bitbake('selftest-ed', ignore_status=True)
@@ -248,7 +228,6 @@
         self.assertFalse(os.path.isfile(os.path.join(lic_dir, 'selftest-ed/generic_GPLv3')))
         self.assertTrue(os.path.isfile(os.path.join(lic_dir, 'selftest-ed/generic_GPLv2')))
 
-    @OETestID(1422)
     def test_setscene_only(self):
         """ Bitbake option to restore from sstate only within a build (i.e. execute no real tasks, only setscene)"""
         test_recipe = 'ed'
@@ -263,7 +242,6 @@
             self.assertIn('_setscene', task, 'A task different from _setscene ran: %s.\n'
                                              'Executed tasks were: %s' % (task, str(tasks)))
 
-    @OETestID(1425)
     def test_bbappend_order(self):
         """ Bitbake should bbappend to recipe in a predictable order """
         test_recipe = 'ed'
diff --git a/poky/meta/lib/oeqa/selftest/cases/buildhistory.py b/poky/meta/lib/oeqa/selftest/cases/buildhistory.py
index 06792d9..d865da6 100644
--- a/poky/meta/lib/oeqa/selftest/cases/buildhistory.py
+++ b/poky/meta/lib/oeqa/selftest/cases/buildhistory.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 import re
 import datetime
diff --git a/poky/meta/lib/oeqa/selftest/cases/buildoptions.py b/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
index 6a18eb8..3ad65b4 100644
--- a/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
+++ b/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 import re
 import glob as g
@@ -7,11 +11,9 @@
 from oeqa.selftest.cases.buildhistory import BuildhistoryBase
 from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars
 import oeqa.utils.ftools as ftools
-from oeqa.core.decorator.oeid import OETestID
 
 class ImageOptionsTests(OESelftestTestCase):
 
-    @OETestID(761)
     def test_incremental_image_generation(self):
         image_pkgtype = get_bb_var("IMAGE_PKGTYPE")
         if image_pkgtype != 'rpm':
@@ -30,7 +32,6 @@
         incremental_removed = re.search(r"Erasing\s*:\s*packagegroup-core-ssh-openssh", log_data_removed)
         self.assertTrue(incremental_removed, msg = "Match failed in:\n%s" % log_data_removed)
 
-    @OETestID(286)
     def test_ccache_tool(self):
         bitbake("ccache-native")
         bb_vars = get_bb_vars(['SYSROOT_DESTDIR', 'bindir'], 'ccache-native')
@@ -45,7 +46,6 @@
             loglines = "".join(f.readlines())
         self.assertIn("ccache", loglines, msg="No match for ccache in m4-native log.do_compile. For further details: %s" % log_compile)
 
-    @OETestID(1435)
     def test_read_only_image(self):
         distro_features = get_bb_var('DISTRO_FEATURES')
         if not ('x11' in distro_features and 'opengl' in distro_features):
@@ -56,7 +56,6 @@
 
 class DiskMonTest(OESelftestTestCase):
 
-    @OETestID(277)
     def test_stoptask_behavior(self):
         self.write_config('BB_DISKMON_DIRS = "STOPTASKS,${TMPDIR},100000G,100K"')
         res = bitbake("delay -c delay", ignore_status = True)
@@ -76,7 +75,6 @@
             if line in l:
                 return l
 
-    @OETestID(927)
     def test_options_warnqa_errorqa_switch(self):
 
         self.write_config("INHERIT_remove = \"report-error\"")
@@ -98,7 +96,6 @@
         line = self.getline(res, "QA Issue: xcursor-transparent-theme-dbg is listed in PACKAGES multiple times, this leads to packaging errors.")
         self.assertTrue(line and line.startswith("WARNING:"), msg=res.output)
 
-    @OETestID(1421)
     def test_layer_without_git_dir(self):
         """
         Summary:     Test that layer git revisions are displayed and do not fail without git repository
@@ -140,12 +137,10 @@
 
 class BuildhistoryTests(BuildhistoryBase):
 
-    @OETestID(293)
     def test_buildhistory_basic(self):
         self.run_buildhistory_operation('xcursor-transparent-theme')
         self.assertTrue(os.path.isdir(get_bb_var('BUILDHISTORY_DIR')), "buildhistory dir was not created.")
 
-    @OETestID(294)
     def test_buildhistory_buildtime_pr_backwards(self):
         target = 'xcursor-transparent-theme'
         error = "ERROR:.*QA Issue: Package version for package %s went backwards which would break package feeds from (.*-r1.* to .*-r0.*)" % target
@@ -153,7 +148,6 @@
         self.run_buildhistory_operation(target, target_config="PR = \"r0\"", change_bh_location=False, expect_error=True, error_regex=error)
 
 class ArchiverTest(OESelftestTestCase):
-    @OETestID(926)
     def test_arch_work_dir_and_export_source(self):
         """
         Test for archiving the work directory and exporting the source files.
diff --git a/poky/meta/lib/oeqa/selftest/cases/containerimage.py b/poky/meta/lib/oeqa/selftest/cases/containerimage.py
index 8deaae7..c0998e3 100644
--- a/poky/meta/lib/oeqa/selftest/cases/containerimage.py
+++ b/poky/meta/lib/oeqa/selftest/cases/containerimage.py
@@ -1,8 +1,11 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.utils.commands import bitbake, get_bb_vars, runCmd
-from oeqa.core.decorator.oeid import OETestID
 
 # This test builds an image with using the "container" IMAGE_FSTYPE, and
 # ensures that then files in the image are only the ones expected.
@@ -21,7 +24,6 @@
 
     # Verify that when specifying a IMAGE_TYPEDEP_ of the form "foo.bar" that
     # the conversion type bar gets added as a dep as well
-    @OETestID(1619)
     def test_expected_files(self):
 
         def get_each_path_part(path):
diff --git a/poky/meta/lib/oeqa/selftest/cases/devtool.py b/poky/meta/lib/oeqa/selftest/cases/devtool.py
index 58f3e58..434a7b9 100644
--- a/poky/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/devtool.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 import re
 import shutil
@@ -9,7 +13,6 @@
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.utils.commands import runCmd, bitbake, get_bb_var, create_temp_layer
 from oeqa.utils.commands import get_bb_vars, runqemu, get_test_layer
-from oeqa.core.decorator.oeid import OETestID
 
 oldmetapath = None
 
@@ -233,7 +236,6 @@
 
 class DevtoolTests(DevtoolBase):
 
-    @OETestID(1158)
     def test_create_workspace(self):
         # Check preconditions
         result = runCmd('bitbake-layers show-layers')
@@ -256,7 +258,6 @@
 
 class DevtoolAddTests(DevtoolBase):
 
-    @OETestID(1159)
     def test_devtool_add(self):
         # Fetch source
         tempdir = tempfile.mkdtemp(prefix='devtoolqa')
@@ -298,7 +299,6 @@
             bindir = bindir[1:]
         self.assertTrue(os.path.isfile(os.path.join(installdir, bindir, 'pv')), 'pv binary not found in D')
 
-    @OETestID(1423)
     def test_devtool_add_git_local(self):
         # We need dbus built so that DEPENDS recognition works
         bitbake('dbus')
@@ -340,7 +340,6 @@
         checkvars['DEPENDS'] = set(['dbus'])
         self._test_recipe_contents(recipefile, checkvars, [])
 
-    @OETestID(1162)
     def test_devtool_add_library(self):
         # Fetch source
         tempdir = tempfile.mkdtemp(prefix='devtoolqa')
@@ -389,7 +388,6 @@
         self.assertFalse(matches, 'Stamp files exist for recipe libftdi that should have been cleaned')
         self.assertFalse(os.path.isfile(os.path.join(staging_libdir, 'libftdi1.so.2.1.0')), 'libftdi binary still found in STAGING_LIBDIR after cleaning')
 
-    @OETestID(1160)
     def test_devtool_add_fetch(self):
         # Fetch source
         tempdir = tempfile.mkdtemp(prefix='devtoolqa')
@@ -435,7 +433,6 @@
         checkvars['SRC_URI'] = url
         self._test_recipe_contents(recipefile, checkvars, [])
 
-    @OETestID(1161)
     def test_devtool_add_fetch_git(self):
         tempdir = tempfile.mkdtemp(prefix='devtoolqa')
         self.track_for_cleanup(tempdir)
@@ -483,7 +480,6 @@
         checkvars['SRCREV'] = checkrev
         self._test_recipe_contents(recipefile, checkvars, [])
 
-    @OETestID(1391)
     def test_devtool_add_fetch_simple(self):
         # Fetch source from a remote URL, auto-detecting name
         tempdir = tempfile.mkdtemp(prefix='devtoolqa')
@@ -513,7 +509,6 @@
 
 class DevtoolModifyTests(DevtoolBase):
 
-    @OETestID(1164)
     def test_devtool_modify(self):
         import oe.path
 
@@ -571,7 +566,6 @@
         result = runCmd('devtool status')
         self.assertNotIn('mdadm', result.output)
 
-    @OETestID(1620)
     def test_devtool_buildclean(self):
         def assertFile(path, *paths):
             f = os.path.join(path, *paths)
@@ -618,7 +612,6 @@
         finally:
             self.delete_recipeinc('m4')
 
-    @OETestID(1166)
     def test_devtool_modify_invalid(self):
         # Try modifying some recipes
         tempdir = tempfile.mkdtemp(prefix='devtoolqa')
@@ -647,7 +640,6 @@
             self.assertNotEqual(result.status, 0, 'devtool modify on %s should have failed. devtool output: %s' %  (testrecipe, result.output))
             self.assertIn('ERROR: ', result.output, 'devtool modify on %s should have given an ERROR' % testrecipe)
 
-    @OETestID(1365)
     def test_devtool_modify_native(self):
         # Check preconditions
         self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory')
@@ -677,7 +669,6 @@
         self.assertTrue(inheritnative, 'None of these recipes do "inherit native" - need to adjust testrecipes list: %s' % ', '.join(testrecipes))
 
 
-    @OETestID(1165)
     def test_devtool_modify_git(self):
         # Check preconditions
         testrecipe = 'psplash'
@@ -705,7 +696,6 @@
         # Try building
         bitbake(testrecipe)
 
-    @OETestID(1167)
     def test_devtool_modify_localfiles(self):
         # Check preconditions
         testrecipe = 'lighttpd'
@@ -736,7 +726,6 @@
         # Try building
         bitbake(testrecipe)
 
-    @OETestID(1378)
     def test_devtool_modify_virtual(self):
         # Try modifying a virtual recipe
         virtrecipe = 'virtual/make'
@@ -760,7 +749,6 @@
 
 class DevtoolUpdateTests(DevtoolBase):
 
-    @OETestID(1169)
     def test_devtool_update_recipe(self):
         # Check preconditions
         testrecipe = 'minicom'
@@ -793,7 +781,6 @@
                            ('??', '.*/0002-Add-a-new-file.patch$')]
         self._check_repo_status(os.path.dirname(recipefile), expected_status)
 
-    @OETestID(1172)
     def test_devtool_update_recipe_git(self):
         # Check preconditions
         testrecipe = 'mtd-utils'
@@ -863,7 +850,6 @@
                            ('??', '%s/0002-Add-a-new-file.patch' % relpatchpath)]
         self._check_repo_status(os.path.dirname(recipefile), expected_status)
 
-    @OETestID(1170)
     def test_devtool_update_recipe_append(self):
         # Check preconditions
         testrecipe = 'mdadm'
@@ -932,7 +918,6 @@
             self.assertEqual(expectedlines, f.readlines())
         # Deleting isn't expected to work under these circumstances
 
-    @OETestID(1171)
     def test_devtool_update_recipe_append_git(self):
         # Check preconditions
         testrecipe = 'mtd-utils'
@@ -1023,7 +1008,6 @@
             self.assertEqual(expectedlines, set(f.readlines()))
         # Deleting isn't expected to work under these circumstances
 
-    @OETestID(1370)
     def test_devtool_update_recipe_local_files(self):
         """Check that local source files are copied over instead of patched"""
         testrecipe = 'makedevs'
@@ -1055,7 +1039,6 @@
                            ('??', '.*/makedevs/0001-Add-new-file.patch$')]
         self._check_repo_status(os.path.dirname(recipefile), expected_status)
 
-    @OETestID(1371)
     def test_devtool_update_recipe_local_files_2(self):
         """Check local source files support when oe-local-files is in Git"""
         testrecipe = 'devtool-test-local'
@@ -1100,7 +1083,6 @@
                            ('??', '.*/0001-Add-new-file.patch$')]
         self._check_repo_status(os.path.dirname(recipefile), expected_status)
 
-    @OETestID(1627)
     def test_devtool_update_recipe_local_files_3(self):
         # First, modify the recipe
         testrecipe = 'devtool-test-localonly'
@@ -1120,7 +1102,6 @@
         expected_status = [(' M', '.*/%s/file2$' % testrecipe)]
         self._check_repo_status(os.path.dirname(recipefile), expected_status)
 
-    @OETestID(1629)
     def test_devtool_update_recipe_local_patch_gz(self):
         # First, modify the recipe
         testrecipe = 'devtool-test-patch-gz'
@@ -1148,7 +1129,6 @@
         if 'gzip compressed data' not in result.output:
             self.fail('New patch file is not gzipped - file reports:\n%s' % result.output)
 
-    @OETestID(1628)
     def test_devtool_update_recipe_local_files_subdir(self):
         # Try devtool update-recipe on a recipe that has a file with subdir= set in
         # SRC_URI such that it overwrites a file that was in an archive that
@@ -1177,7 +1157,6 @@
 
 class DevtoolExtractTests(DevtoolBase):
 
-    @OETestID(1163)
     def test_devtool_extract(self):
         tempdir = tempfile.mkdtemp(prefix='devtoolqa')
         # Try devtool extract
@@ -1188,7 +1167,6 @@
         self.assertExists(os.path.join(tempdir, 'Makefile.am'), 'Extracted source could not be found')
         self._check_src_repo(tempdir)
 
-    @OETestID(1379)
     def test_devtool_extract_virtual(self):
         tempdir = tempfile.mkdtemp(prefix='devtoolqa')
         # Try devtool extract
@@ -1199,7 +1177,6 @@
         self.assertExists(os.path.join(tempdir, 'Makefile.am'), 'Extracted source could not be found')
         self._check_src_repo(tempdir)
 
-    @OETestID(1168)
     def test_devtool_reset_all(self):
         tempdir = tempfile.mkdtemp(prefix='devtoolqa')
         self.track_for_cleanup(tempdir)
@@ -1226,7 +1203,6 @@
         matches2 = glob.glob(stampprefix2 + '*')
         self.assertFalse(matches2, 'Stamp files exist for recipe %s that should have been cleaned' % testrecipe2)
 
-    @OETestID(1272)
     def test_devtool_deploy_target(self):
         # NOTE: Whilst this test would seemingly be better placed as a runtime test,
         # unfortunately the runtime tests run under bitbake and you can't run
@@ -1312,7 +1288,6 @@
             result = runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip, testcommand), ignore_status=True)
             self.assertNotEqual(result, 0, 'undeploy-target did not remove command as it should have')
 
-    @OETestID(1366)
     def test_devtool_build_image(self):
         """Test devtool build-image plugin"""
         # Check preconditions
@@ -1348,7 +1323,6 @@
 
 class DevtoolUpgradeTests(DevtoolBase):
 
-    @OETestID(1367)
     def test_devtool_upgrade(self):
         # Check preconditions
         self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory')
@@ -1393,7 +1367,6 @@
         self.assertNotIn(recipe, result.output)
         self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after resetting')
 
-    @OETestID(1433)
     def test_devtool_upgrade_git(self):
         # Check preconditions
         self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory')
@@ -1430,7 +1403,6 @@
         self.assertNotIn(recipe, result.output)
         self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after resetting')
 
-    @OETestID(1352)
     def test_devtool_layer_plugins(self):
         """Test that devtool can use plugins from other layers.
 
@@ -1456,7 +1428,6 @@
             shutil.copy(srcfile, dstfile)
             self.track_for_cleanup(dstfile)
 
-    @OETestID(1625)
     def test_devtool_load_plugin(self):
         """Test that devtool loads only the first found plugin in BBPATH."""
 
@@ -1524,7 +1495,6 @@
         self.assertExists(os.path.join(olddir, patchfn), 'Original patch file does not exist')
         return recipe, oldrecipefile, recipedir, olddir, newversion, patchfn
 
-    @OETestID(1623)
     def test_devtool_finish_upgrade_origlayer(self):
         recipe, oldrecipefile, recipedir, olddir, newversion, patchfn = self._setup_test_devtool_finish_upgrade()
         # Ensure the recipe is where we think it should be (so that cleanup doesn't trash things)
@@ -1543,7 +1513,6 @@
         self.assertExists(os.path.join(newdir, patchfn), 'Patch file should have been copied into new directory but wasn\'t')
         self.assertExists(os.path.join(newdir, '0002-Add-a-comment-to-the-code.patch'), 'New patch file should have been created but wasn\'t')
 
-    @OETestID(1624)
     def test_devtool_finish_upgrade_otherlayer(self):
         recipe, oldrecipefile, recipedir, olddir, newversion, patchfn = self._setup_test_devtool_finish_upgrade()
         # Ensure the recipe is where we think it should be (so that cleanup doesn't trash things)
@@ -1599,7 +1568,6 @@
             self.fail('Unable to find recipe files directory for %s' % recipe)
         return recipe, oldrecipefile, recipedir, filesdir
 
-    @OETestID(1621)
     def test_devtool_finish_modify_origlayer(self):
         recipe, oldrecipefile, recipedir, filesdir = self._setup_test_devtool_finish_modify()
         # Ensure the recipe is where we think it should be (so that cleanup doesn't trash things)
@@ -1614,7 +1582,6 @@
                            ('??', '.*/.*-Add-a-comment-to-the-code.patch$')]
         self._check_repo_status(recipedir, expected_status)
 
-    @OETestID(1622)
     def test_devtool_finish_modify_otherlayer(self):
         recipe, oldrecipefile, recipedir, filesdir = self._setup_test_devtool_finish_modify()
         # Ensure the recipe is where we think it should be (so that cleanup doesn't trash things)
@@ -1647,7 +1614,6 @@
         if files:
             self.fail('Unexpected file(s) copied next to bbappend: %s' % ', '.join(files))
 
-    @OETestID(1626)
     def test_devtool_rename(self):
         # Check preconditions
         self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory')
@@ -1708,7 +1674,6 @@
         checkvars['SRC_URI'] = url
         self._test_recipe_contents(newrecipefile, checkvars, [])
 
-    @OETestID(1577)
     def test_devtool_virtual_kernel_modify(self):
         """
         Summary:        The purpose of this test case is to verify that
diff --git a/poky/meta/lib/oeqa/selftest/cases/distrodata.py b/poky/meta/lib/oeqa/selftest/cases/distrodata.py
index 0b45471..68ba556 100644
--- a/poky/meta/lib/oeqa/selftest/cases/distrodata.py
+++ b/poky/meta/lib/oeqa/selftest/cases/distrodata.py
@@ -1,14 +1,16 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars
 from oeqa.utils.decorators import testcase
 from oeqa.utils.ftools import write_file
-from oeqa.core.decorator.oeid import OETestID
 
 import oe.recipeutils
 
 class Distrodata(OESelftestTestCase):
 
-    @OETestID(1902)
     def test_checkpkg(self):
         """
         Summary:     Test that upstream version checks do not regress
diff --git a/poky/meta/lib/oeqa/selftest/cases/eSDK.py b/poky/meta/lib/oeqa/selftest/cases/eSDK.py
index 8eb6ec6..862849a 100644
--- a/poky/meta/lib/oeqa/selftest/cases/eSDK.py
+++ b/poky/meta/lib/oeqa/selftest/cases/eSDK.py
@@ -1,9 +1,12 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import tempfile
 import shutil
 import os
 import glob
 import time
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars
 
@@ -104,14 +107,12 @@
         cls.tmpdirobj.cleanup()
         super().tearDownClass()
 
-    @OETestID(1602)
     def test_install_libraries_headers(self):
         pn_sstate = 'bc'
         bitbake(pn_sstate)
         cmd = "devtool sdk-install %s " % pn_sstate
         oeSDKExtSelfTest.run_esdk_cmd(self.env_eSDK, self.tmpdir_eSDKQA, cmd)
 
-    @OETestID(1603)
     def test_image_generation_binary_feeds(self):
         image = 'core-image-minimal'
         cmd = "devtool build-image %s" % image
diff --git a/poky/meta/lib/oeqa/selftest/cases/efibootpartition.py b/poky/meta/lib/oeqa/selftest/cases/efibootpartition.py
index c6f39d5..a61cf9b 100644
--- a/poky/meta/lib/oeqa/selftest/cases/efibootpartition.py
+++ b/poky/meta/lib/oeqa/selftest/cases/efibootpartition.py
@@ -2,6 +2,8 @@
 #
 # Copyright (c) 2017 Wind River Systems, Inc.
 #
+# SPDX-License-Identifier: MIT
+#
 
 import re
 
diff --git a/poky/meta/lib/oeqa/selftest/cases/fetch.py b/poky/meta/lib/oeqa/selftest/cases/fetch.py
index 4acc8cd..76cbadf 100644
--- a/poky/meta/lib/oeqa/selftest/cases/fetch.py
+++ b/poky/meta/lib/oeqa/selftest/cases/fetch.py
@@ -1,10 +1,12 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import oe.path
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.utils.commands import bitbake
-from oeqa.core.decorator.oeid import OETestID
 
 class Fetch(OESelftestTestCase):
-    @OETestID(1058)
     def test_git_mirrors(self):
         """
         Verify that the git fetcher will fall back to the HTTP mirrors. The
diff --git a/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py b/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py
index 1e23257..3119520 100644
--- a/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py
+++ b/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import glob
 import os
 import shutil
diff --git a/poky/meta/lib/oeqa/selftest/cases/image_typedep.py b/poky/meta/lib/oeqa/selftest/cases/image_typedep.py
index 932c7f8..52e1080 100644
--- a/poky/meta/lib/oeqa/selftest/cases/image_typedep.py
+++ b/poky/meta/lib/oeqa/selftest/cases/image_typedep.py
@@ -1,14 +1,16 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.utils.commands import bitbake
-from oeqa.core.decorator.oeid import OETestID
 
 class ImageTypeDepTests(OESelftestTestCase):
 
     # Verify that when specifying a IMAGE_TYPEDEP_ of the form "foo.bar" that
     # the conversion type bar gets added as a dep as well
-    @OETestID(1633)
     def test_conversion_typedep_added(self):
 
         self.write_recipeinc('emptytest', """
diff --git a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
index aed63e5..afc629f 100644
--- a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
+++ b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
@@ -1,6 +1,9 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.utils.commands import runCmd, bitbake, get_bb_var, runqemu
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.utils.sshcontrol import SSHControl
 import os
 import json
@@ -10,7 +13,6 @@
     test_user = 'tester'
     root_user = 'root'
 
-    @OETestID(1107)
     def test_non_root_user_can_connect_via_ssh_without_password(self):
         """
         Summary: Check if non root user can connect via ssh without password
@@ -36,7 +38,6 @@
                 status, output = ssh.run("true")
                 self.assertEqual(status, 0, 'ssh to user %s failed with %s' % (user, output))
 
-    @OETestID(1115)
     def test_all_users_can_connect_via_ssh_without_password(self):
         """
         Summary:     Check if all users can connect via ssh without password
@@ -66,7 +67,6 @@
                     self.assertEqual(status, 0, 'ssh to user tester failed with %s' % output)
 
 
-    @OETestID(1116)
     def test_clutter_image_can_be_built(self):
         """
         Summary:     Check if clutter image can be built
@@ -79,7 +79,6 @@
         # Build a core-image-clutter
         bitbake('core-image-clutter')
 
-    @OETestID(1117)
     def test_wayland_support_in_image(self):
         """
         Summary:     Check Wayland support in image
@@ -97,7 +96,6 @@
         # Build a core-image-weston
         bitbake('core-image-weston')
 
-    @OETestID(1497)
     def test_bmap(self):
         """
         Summary:     Check bmap support
@@ -131,7 +129,6 @@
         # check if the resulting gzip is valid
         self.assertTrue(runCmd('gzip -t %s' % gzip_path))
 
-    @OETestID(1903)
     def test_hypervisor_fmts(self):
         """
         Summary:     Check various hypervisor formats
@@ -166,7 +163,6 @@
                             native_sysroot=sysroot)
             self.assertTrue(json.loads(result.output).get('format') == itype)
 
-    @OETestID(1905)
     def test_long_chain_conversion(self):
         """
         Summary:     Check for chaining many CONVERSION_CMDs together
@@ -198,7 +194,6 @@
         self.assertTrue(runCmd('cd %s;sha256sum -c %s.%s.sha256sum' %
                                (deploy_dir_image, link_name, conv)))
 
-    @OETestID(1904)
     def test_image_fstypes(self):
         """
         Summary:     Check if image of supported image fstypes can be built
diff --git a/poky/meta/lib/oeqa/selftest/cases/layerappend.py b/poky/meta/lib/oeqa/selftest/cases/layerappend.py
index 2fd5cdb..05e9426 100644
--- a/poky/meta/lib/oeqa/selftest/cases/layerappend.py
+++ b/poky/meta/lib/oeqa/selftest/cases/layerappend.py
@@ -1,9 +1,12 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.utils.commands import runCmd, bitbake, get_bb_var
 import oeqa.utils.ftools as ftools
-from oeqa.core.decorator.oeid import OETestID
 
 class LayerAppendTests(OESelftestTestCase):
     layerconf = """
@@ -49,7 +52,6 @@
             ftools.remove_from_file(self.builddir + "/conf/bblayers.conf", self.layerappend)
         super(LayerAppendTests, self).tearDownLocal()
 
-    @OETestID(1196)
     def test_layer_appends(self):
         corebase = get_bb_var("COREBASE")
 
diff --git a/poky/meta/lib/oeqa/selftest/cases/liboe.py b/poky/meta/lib/oeqa/selftest/cases/liboe.py
index e846092..afe8f88 100644
--- a/poky/meta/lib/oeqa/selftest/cases/liboe.py
+++ b/poky/meta/lib/oeqa/selftest/cases/liboe.py
@@ -1,5 +1,8 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 from oeqa.selftest.case import OESelftestTestCase
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.utils.commands import get_bb_var, get_bb_vars, bitbake, runCmd
 import oe.path
 import os
@@ -11,7 +14,6 @@
         super(LibOE, cls).setUpClass()
         cls.tmp_dir = get_bb_var('TMPDIR')
 
-    @OETestID(1635)
     def test_copy_tree_special(self):
         """
         Summary:    oe.path.copytree() should copy files with special character
@@ -37,7 +39,6 @@
 
         oe.path.remove(testloc)
 
-    @OETestID(1636)
     def test_copy_tree_xattr(self):
         """
         Summary:    oe.path.copytree() should preserve xattr on copied files
@@ -72,7 +73,6 @@
 
         oe.path.remove(testloc)
 
-    @OETestID(1634)
     def test_copy_hardlink_tree_count(self):
         """
         Summary:    oe.path.copyhardlinktree() shouldn't miss out files
diff --git a/poky/meta/lib/oeqa/selftest/cases/lic_checksum.py b/poky/meta/lib/oeqa/selftest/cases/lic_checksum.py
index f992b37..bae935d 100644
--- a/poky/meta/lib/oeqa/selftest/cases/lic_checksum.py
+++ b/poky/meta/lib/oeqa/selftest/cases/lic_checksum.py
@@ -1,16 +1,18 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 import tempfile
 
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.utils.commands import bitbake
 from oeqa.utils import CommandError
-from oeqa.core.decorator.oeid import OETestID
 
 class LicenseTests(OESelftestTestCase):
 
     # Verify that changing a license file that has an absolute path causes
     # the license qa to fail due to a mismatched md5sum.
-    @OETestID(1197)
     def test_nonmatching_checksum(self):
         bitbake_cmd = '-c populate_lic emptytest'
         error_msg = 'emptytest: The new md5 checksum is 8d777f385d3dfec8815d20f7496026dc'
diff --git a/poky/meta/lib/oeqa/selftest/cases/manifest.py b/poky/meta/lib/oeqa/selftest/cases/manifest.py
index 1460719..c0b25ab 100644
--- a/poky/meta/lib/oeqa/selftest/cases/manifest.py
+++ b/poky/meta/lib/oeqa/selftest/cases/manifest.py
@@ -1,8 +1,11 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.utils.commands import get_bb_var, get_bb_vars, bitbake
-from oeqa.core.decorator.oeid import OETestID
 
 class ManifestEntry:
     '''A manifest item of a collection able to list missing packages'''
@@ -59,7 +62,6 @@
             self.skipTest("{}: Cannot setup testing scenario"\
                     .format(self.classname))
 
-    @OETestID(1380)
     def test_SDK_manifest_entries(self):
         '''Verifying the SDK manifest entries exist, this may take a build'''
 
@@ -126,7 +128,6 @@
                 self.logger.info(msg)
                 self.fail(logmsg)
 
-    @OETestID(1381)
     def test_image_manifest_entries(self):
         '''Verifying the image manifest entries exist'''
 
diff --git a/poky/meta/lib/oeqa/selftest/cases/meta_ide.py b/poky/meta/lib/oeqa/selftest/cases/meta_ide.py
index 5df9d3e..f47bc70 100644
--- a/poky/meta/lib/oeqa/selftest/cases/meta_ide.py
+++ b/poky/meta/lib/oeqa/selftest/cases/meta_ide.py
@@ -1,7 +1,10 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject
 from oeqa.utils.commands import bitbake, get_bb_vars, runCmd
-from oeqa.core.decorator.oeid import OETestID
 import tempfile
 import shutil
 
@@ -23,18 +26,15 @@
         shutil.rmtree(cls.tmpdir_metaideQA, ignore_errors=True)
         super(MetaIDE, cls).tearDownClass()
 
-    @OETestID(1982)
     def test_meta_ide_had_installed_meta_ide_support(self):
         self.assertExists(self.environment_script_path)
 
-    @OETestID(1983)
     def test_meta_ide_can_compile_c_program(self):
         runCmd('cp %s/test.c %s' % (self.tc.files_dir, self.tmpdir_metaideQA))
         runCmd("cd %s; . %s; $CC test.c -lm" % (self.tmpdir_metaideQA, self.environment_script_path))
         compiled_file = '%s/a.out' % self.tmpdir_metaideQA
         self.assertExists(compiled_file)
 
-    @OETestID(1984)
     def test_meta_ide_can_build_cpio_project(self):
         dl_dir = self.td.get('DL_DIR', None)
         self.project = SDKBuildProject(self.tmpdir_metaideQA + "/cpio/", self.environment_script_path,
diff --git a/poky/meta/lib/oeqa/selftest/cases/multiconfig.py b/poky/meta/lib/oeqa/selftest/cases/multiconfig.py
index 3c36f6e..d21bf0a 100644
--- a/poky/meta/lib/oeqa/selftest/cases/multiconfig.py
+++ b/poky/meta/lib/oeqa/selftest/cases/multiconfig.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.utils.commands import bitbake
diff --git a/poky/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py b/poky/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py
index 08675fd..6d80827 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py
@@ -1,8 +1,11 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 from oeqa.selftest.case import OESelftestTestCase
 import tempfile
 from oeqa.utils.commands import get_bb_var
-from oeqa.core.decorator.oeid import OETestID
 
 class TestBlobParsing(OESelftestTestCase):
 
@@ -40,7 +43,6 @@
         self.repo.git.add("--all")
         self.repo.git.commit(message=msg)
 
-    @OETestID(1859)
     def test_blob_to_dict(self):
         """
         Test convertion of git blobs to dictionary
@@ -53,7 +55,6 @@
         self.assertEqual(valuesmap, blob_to_dict(blob),
             "commit was not translated correctly to dictionary")
 
-    @OETestID(1860)
     def test_compare_dict_blobs(self):
         """
         Test comparisson of dictionaries extracted from git blobs
@@ -74,7 +75,6 @@
         var_changes = { x.fieldname : (x.oldvalue, x.newvalue) for x in change_records}
         self.assertEqual(changesmap, var_changes, "Changes not reported correctly")
 
-    @OETestID(1861)
     def test_compare_dict_blobs_default(self):
         """
         Test default values for comparisson of git blob dictionaries
diff --git a/poky/meta/lib/oeqa/selftest/cases/oelib/elf.py b/poky/meta/lib/oeqa/selftest/cases/oelib/elf.py
index 15c03f4..d0a2809 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oelib/elf.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oelib/elf.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 from unittest.case import TestCase
 import oe.qa
 
diff --git a/poky/meta/lib/oeqa/selftest/cases/oelib/license.py b/poky/meta/lib/oeqa/selftest/cases/oelib/license.py
index d7f91fb..6ebbee5 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oelib/license.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oelib/license.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 from unittest.case import TestCase
 import oe.license
 
diff --git a/poky/meta/lib/oeqa/selftest/cases/oelib/path.py b/poky/meta/lib/oeqa/selftest/cases/oelib/path.py
index e0eb813..a1cfa08 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oelib/path.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oelib/path.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 from unittest.case import TestCase
 import oe, oe.path
 import tempfile
diff --git a/poky/meta/lib/oeqa/selftest/cases/oelib/types.py b/poky/meta/lib/oeqa/selftest/cases/oelib/types.py
index 6b53aa6..7eb49e6 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oelib/types.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oelib/types.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 from unittest.case import TestCase
 from oe.maketype import create
 
diff --git a/poky/meta/lib/oeqa/selftest/cases/oelib/utils.py b/poky/meta/lib/oeqa/selftest/cases/oelib/utils.py
index 789c6f7..a7214be 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oelib/utils.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oelib/utils.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import sys
 from unittest.case import TestCase
 from contextlib import contextmanager
diff --git a/poky/meta/lib/oeqa/selftest/cases/oescripts.py b/poky/meta/lib/oeqa/selftest/cases/oescripts.py
index bcdc2d5..217afe3 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oescripts.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oescripts.py
@@ -1,11 +1,14 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
+import os
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.selftest.cases.buildhistory import BuildhistoryBase
 from oeqa.utils.commands import Command, runCmd, bitbake, get_bb_var, get_test_layer
-from oeqa.core.decorator.oeid import OETestID
 
 class BuildhistoryDiffTests(BuildhistoryBase):
 
-    @OETestID(295)
     def test_buildhistory_diff(self):
         target = 'xcursor-transparent-theme'
         self.run_buildhistory_operation(target, target_config="PR = \"r1\"", change_bh_location=True)
@@ -26,3 +29,36 @@
                 self.fail('Unexpected line:\n%s\nExpected line endings:\n  %s' % (line, '\n  '.join(expected_endlines)))
         if expected_endlines:
             self.fail('Missing expected line endings:\n  %s' % '\n  '.join(expected_endlines))
+
+class OEScriptTests(OESelftestTestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        super(OEScriptTests, cls).setUpClass()
+        try:
+            import cairo
+        except ImportError:
+            cls.skipTest('Python module cairo is not present')
+        bitbake("core-image-minimal -c rootfs -f")
+        cls.tmpdir = get_bb_var('TMPDIR')
+        cls.buildstats = cls.tmpdir + "/buildstats/" + sorted(os.listdir(cls.tmpdir + "/buildstats"))[-1]
+
+    scripts_dir = os.path.join(get_bb_var('COREBASE'), 'scripts')
+
+class OEPybootchartguyTests(OEScriptTests):
+
+    def test_pybootchartguy_help(self):
+        runCmd('%s/pybootchartgui/pybootchartgui.py  --help' % self.scripts_dir)
+
+    def test_pybootchartguy_to_generate_build_png_output(self):
+        runCmd('%s/pybootchartgui/pybootchartgui.py  %s -o %s/charts -f png' % (self.scripts_dir, self.buildstats, self.tmpdir))
+        self.assertTrue(os.path.exists(self.tmpdir + "/charts.png"))
+
+    def test_pybootchartguy_to_generate_build_svg_output(self):
+        runCmd('%s/pybootchartgui/pybootchartgui.py  %s -o %s/charts -f svg' % (self.scripts_dir, self.buildstats, self.tmpdir))
+        self.assertTrue(os.path.exists(self.tmpdir + "/charts.svg"))
+
+    def test_pybootchartguy_to_generate_build_pdf_output(self):
+        runCmd('%s/pybootchartgui/pybootchartgui.py  %s -o %s/charts -f pdf' % (self.scripts_dir, self.buildstats, self.tmpdir))
+        self.assertTrue(os.path.exists(self.tmpdir + "/charts.pdf"))
+
diff --git a/poky/meta/lib/oeqa/selftest/cases/package.py b/poky/meta/lib/oeqa/selftest/cases/package.py
index 6596dab..7a00753 100644
--- a/poky/meta/lib/oeqa/selftest/cases/package.py
+++ b/poky/meta/lib/oeqa/selftest/cases/package.py
@@ -1,5 +1,8 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 from oeqa.selftest.case import OESelftestTestCase
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.utils.commands import bitbake, get_bb_vars, get_bb_var, runqemu
 import stat
 import subprocess, os
@@ -36,7 +39,6 @@
         self.bindir = type(self).bindir
         self.libdir = type(self).libdir
 
-    @OETestID(1880)
     def test_dpkg(self):
         for ver1, ver2, sort in self.tests:
             op = { -1: "<<", 0: "=", 1: ">>" }[sort]
@@ -53,7 +55,6 @@
             status = subprocess.call((oe.path.join(self.bindir, "dpkg"), "--compare-versions", ver1, op, ver2))
             self.assertNotEqual(status, 0, "%s %s %s failed" % (ver1, op, ver2))
 
-    @OETestID(1881)
     def test_opkg(self):
         for ver1, ver2, sort in self.tests:
             op = { -1: "<<", 0: "=", 1: ">>" }[sort]
@@ -70,7 +71,6 @@
             status = subprocess.call((oe.path.join(self.bindir, "opkg"), "compare-versions", ver1, op, ver2))
             self.assertNotEqual(status, 0, "%s %s %s failed" % (ver1, op, ver2))
 
-    @OETestID(1882)
     def test_rpm(self):
         # Need to tell the Python bindings where to find its configuration
         env = os.environ.copy()
diff --git a/poky/meta/lib/oeqa/selftest/cases/pkgdata.py b/poky/meta/lib/oeqa/selftest/cases/pkgdata.py
index aa05f40..833a180 100644
--- a/poky/meta/lib/oeqa/selftest/cases/pkgdata.py
+++ b/poky/meta/lib/oeqa/selftest/cases/pkgdata.py
@@ -1,10 +1,13 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 import tempfile
 import fnmatch
 
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars
-from oeqa.core.decorator.oeid import OETestID
 
 class OePkgdataUtilTests(OESelftestTestCase):
 
@@ -16,7 +19,6 @@
         bitbake('target-sdk-provides-dummy -c clean')
         bitbake('busybox zlib m4')
 
-    @OETestID(1203)
     def test_lookup_pkg(self):
         # Forward tests
         result = runCmd('oe-pkgdata-util lookup-pkg "zlib busybox"')
@@ -35,7 +37,6 @@
         self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output)
         self.assertEqual(result.output, 'ERROR: The following packages could not be found: nonexistentpkg')
 
-    @OETestID(1205)
     def test_read_value(self):
         result = runCmd('oe-pkgdata-util read-value PN libz1')
         self.assertEqual(result.output, 'zlib')
@@ -45,7 +46,6 @@
         pkgsize = int(result.output.strip())
         self.assertGreater(pkgsize, 1, "Size should be greater than 1. %s" % result.output)
 
-    @OETestID(1198)
     def test_find_path(self):
         result = runCmd('oe-pkgdata-util find-path /lib/libz.so.1')
         self.assertEqual(result.output, 'zlib: /lib/libz.so.1')
@@ -55,7 +55,6 @@
         self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output)
         self.assertEqual(result.output, 'ERROR: Unable to find any package producing path /not/exist')
 
-    @OETestID(1204)
     def test_lookup_recipe(self):
         result = runCmd('oe-pkgdata-util lookup-recipe "libz-staticdev busybox"')
         self.assertEqual(result.output, 'zlib\nbusybox')
@@ -65,7 +64,6 @@
         self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output)
         self.assertEqual(result.output, 'ERROR: The following packages could not be found: nonexistentpkg')
 
-    @OETestID(1202)
     def test_list_pkgs(self):
         # No arguments
         result = runCmd('oe-pkgdata-util list-pkgs')
@@ -109,7 +107,6 @@
         pkglist = sorted(result.output.split())
         self.assertEqual(pkglist, ['libz-dbg', 'libz-dev', 'libz-doc'], "Packages listed: %s" % result.output)
 
-    @OETestID(1201)
     def test_list_pkg_files(self):
         def splitoutput(output):
             files = {}
@@ -199,7 +196,6 @@
         self.assertIn(os.path.join(mandir, 'man3/zlib.3'), files['libz-doc'])
         self.assertIn(os.path.join(libdir, 'libz.a'), files['libz-staticdev'])
 
-    @OETestID(1200)
     def test_glob(self):
         tempdir = tempfile.mkdtemp(prefix='pkgdataqa')
         self.track_for_cleanup(tempdir)
@@ -219,7 +215,6 @@
         self.assertNotIn('libz-dev', resultlist)
         self.assertNotIn('libz-dbg', resultlist)
 
-    @OETestID(1206)
     def test_specify_pkgdatadir(self):
         result = runCmd('oe-pkgdata-util -p %s lookup-pkg zlib' % get_bb_var('PKGDATA_DIR'))
         self.assertEqual(result.output, 'libz1')
diff --git a/poky/meta/lib/oeqa/selftest/cases/prservice.py b/poky/meta/lib/oeqa/selftest/cases/prservice.py
index 796ad4f..fe1f24e 100644
--- a/poky/meta/lib/oeqa/selftest/cases/prservice.py
+++ b/poky/meta/lib/oeqa/selftest/cases/prservice.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 import re
 import shutil
@@ -6,7 +10,6 @@
 import oeqa.utils.ftools as ftools
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.utils.commands import runCmd, bitbake, get_bb_var
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.utils.network import get_free_port
 
 class BitbakePrTests(OESelftestTestCase):
@@ -88,39 +91,30 @@
 
         self.assertTrue(pr_2 - pr_1 == 1, "Step between same pkg. revision is greater than 1")
 
-    @OETestID(930)
     def test_import_export_replace_db(self):
         self.run_test_pr_export_import('m4')
 
-    @OETestID(931)
     def test_import_export_override_db(self):
         self.run_test_pr_export_import('m4', replace_current_db=False)
 
-    @OETestID(932)
     def test_pr_service_rpm_arch_dep(self):
         self.run_test_pr_service('m4', 'rpm', 'do_package')
 
-    @OETestID(934)
     def test_pr_service_deb_arch_dep(self):
         self.run_test_pr_service('m4', 'deb', 'do_package')
 
-    @OETestID(933)
     def test_pr_service_ipk_arch_dep(self):
         self.run_test_pr_service('m4', 'ipk', 'do_package')
 
-    @OETestID(935)
     def test_pr_service_rpm_arch_indep(self):
         self.run_test_pr_service('xcursor-transparent-theme', 'rpm', 'do_package')
 
-    @OETestID(937)
     def test_pr_service_deb_arch_indep(self):
         self.run_test_pr_service('xcursor-transparent-theme', 'deb', 'do_package')
 
-    @OETestID(936)
     def test_pr_service_ipk_arch_indep(self):
         self.run_test_pr_service('xcursor-transparent-theme', 'ipk', 'do_package')
 
-    @OETestID(1419)
     def test_stopping_prservice_message(self):
         port = get_free_port()
 
diff --git a/poky/meta/lib/oeqa/selftest/cases/recipetool.py b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
index 06f980e..f1cb37b 100644
--- a/poky/meta/lib/oeqa/selftest/cases/recipetool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 import shutil
 import tempfile
@@ -5,7 +9,6 @@
 
 from oeqa.utils.commands import runCmd, bitbake, get_bb_var
 from oeqa.utils.commands import get_bb_vars, create_temp_layer
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.selftest.cases import devtool
 
 templayerdir = None
@@ -89,7 +92,6 @@
         for errorstr in checkerror:
             self.assertIn(errorstr, result.output)
 
-    @OETestID(1177)
     def test_recipetool_appendfile_basic(self):
         # Basic test
         expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
@@ -97,14 +99,12 @@
         _, output = self._try_recipetool_appendfile('base-files', '/etc/motd', self.testfile, '', expectedlines, ['motd'])
         self.assertNotIn('WARNING: ', output)
 
-    @OETestID(1183)
     def test_recipetool_appendfile_invalid(self):
         # Test some commands that should error
         self._try_recipetool_appendfile_fail('/etc/passwd', self.testfile, ['ERROR: /etc/passwd cannot be handled by this tool', 'useradd', 'extrausers'])
         self._try_recipetool_appendfile_fail('/etc/timestamp', self.testfile, ['ERROR: /etc/timestamp cannot be handled by this tool'])
         self._try_recipetool_appendfile_fail('/dev/console', self.testfile, ['ERROR: /dev/console cannot be handled by this tool'])
 
-    @OETestID(1176)
     def test_recipetool_appendfile_alternatives(self):
         # Now try with a file we know should be an alternative
         # (this is very much a fake example, but one we know is reliably an alternative)
@@ -128,7 +128,6 @@
         result = runCmd('diff -q %s %s' % (testfile2, copiedfile), ignore_status=True)
         self.assertNotEqual(result.status, 0, 'New file should have been copied but was not %s' % result.output)
 
-    @OETestID(1178)
     def test_recipetool_appendfile_binary(self):
         # Try appending a binary file
         # /bin/ls can be a symlink to /usr/bin/ls
@@ -137,7 +136,6 @@
         self.assertIn('WARNING: ', result.output)
         self.assertIn('is a binary', result.output)
 
-    @OETestID(1173)
     def test_recipetool_appendfile_add(self):
         # Try arbitrary file add to a recipe
         expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
@@ -166,7 +164,6 @@
                          '}\n']
         self._try_recipetool_appendfile('netbase', '/usr/share/scriptname', testfile2, '-r netbase', expectedlines, ['testfile', testfile2name])
 
-    @OETestID(1174)
     def test_recipetool_appendfile_add_bindir(self):
         # Try arbitrary file add to a recipe, this time to a location such that should be installed as executable
         expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
@@ -180,7 +177,6 @@
         _, output = self._try_recipetool_appendfile('netbase', '/usr/bin/selftest-recipetool-testbin', self.testfile, '-r netbase', expectedlines, ['testfile'])
         self.assertNotIn('WARNING: ', output)
 
-    @OETestID(1175)
     def test_recipetool_appendfile_add_machine(self):
         # Try arbitrary file add to a recipe, this time to a location such that should be installed as executable
         expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
@@ -196,7 +192,6 @@
         _, output = self._try_recipetool_appendfile('netbase', '/usr/share/something', self.testfile, '-r netbase -m mymachine', expectedlines, ['mymachine/testfile'])
         self.assertNotIn('WARNING: ', output)
 
-    @OETestID(1184)
     def test_recipetool_appendfile_orig(self):
         # A file that's in SRC_URI and in do_install with the same name
         expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
@@ -204,7 +199,6 @@
         _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-orig', self.testfile, '', expectedlines, ['selftest-replaceme-orig'])
         self.assertNotIn('WARNING: ', output)
 
-    @OETestID(1191)
     def test_recipetool_appendfile_todir(self):
         # A file that's in SRC_URI and in do_install with destination directory rather than file
         expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
@@ -212,7 +206,6 @@
         _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-todir', self.testfile, '', expectedlines, ['selftest-replaceme-todir'])
         self.assertNotIn('WARNING: ', output)
 
-    @OETestID(1187)
     def test_recipetool_appendfile_renamed(self):
         # A file that's in SRC_URI with a different name to the destination file
         expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
@@ -220,7 +213,6 @@
         _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-renamed', self.testfile, '', expectedlines, ['file1'])
         self.assertNotIn('WARNING: ', output)
 
-    @OETestID(1190)
     def test_recipetool_appendfile_subdir(self):
         # A file that's in SRC_URI in a subdir
         expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
@@ -234,7 +226,6 @@
         _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-subdir', self.testfile, '', expectedlines, ['testfile'])
         self.assertNotIn('WARNING: ', output)
 
-    @OETestID(1189)
     def test_recipetool_appendfile_src_glob(self):
         # A file that's in SRC_URI as a glob
         expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
@@ -248,7 +239,6 @@
         _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-src-globfile', self.testfile, '', expectedlines, ['testfile'])
         self.assertNotIn('WARNING: ', output)
 
-    @OETestID(1181)
     def test_recipetool_appendfile_inst_glob(self):
         # A file that's in do_install as a glob
         expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
@@ -256,7 +246,6 @@
         _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-inst-globfile', self.testfile, '', expectedlines, ['selftest-replaceme-inst-globfile'])
         self.assertNotIn('WARNING: ', output)
 
-    @OETestID(1182)
     def test_recipetool_appendfile_inst_todir_glob(self):
         # A file that's in do_install as a glob with destination as a directory
         expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
@@ -264,7 +253,6 @@
         _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-inst-todir-globfile', self.testfile, '', expectedlines, ['selftest-replaceme-inst-todir-globfile'])
         self.assertNotIn('WARNING: ', output)
 
-    @OETestID(1185)
     def test_recipetool_appendfile_patch(self):
         # A file that's added by a patch in SRC_URI
         expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
@@ -283,7 +271,6 @@
         else:
             self.fail('Patch warning not found in output:\n%s' % output)
 
-    @OETestID(1188)
     def test_recipetool_appendfile_script(self):
         # Now, a file that's in SRC_URI but installed by a script (so no mention in do_install)
         expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
@@ -297,7 +284,6 @@
         _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-scripted', self.testfile, '', expectedlines, ['testfile'])
         self.assertNotIn('WARNING: ', output)
 
-    @OETestID(1180)
     def test_recipetool_appendfile_inst_func(self):
         # A file that's installed from a function called by do_install
         expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
@@ -305,7 +291,6 @@
         _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-inst-func', self.testfile, '', expectedlines, ['selftest-replaceme-inst-func'])
         self.assertNotIn('WARNING: ', output)
 
-    @OETestID(1186)
     def test_recipetool_appendfile_postinstall(self):
         # A file that's created by a postinstall script (and explicitly mentioned in it)
         # First try without specifying recipe
@@ -321,7 +306,6 @@
                          '}\n']
         _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-postinst', self.testfile, '-r selftest-recipetool-appendfile', expectedlines, ['testfile'])
 
-    @OETestID(1179)
     def test_recipetool_appendfile_extlayer(self):
         # Try creating a bbappend in a layer that's not in bblayers.conf and has a different structure
         exttemplayerdir = os.path.join(self.tempdir, 'extlayer')
@@ -337,7 +321,6 @@
                          'metadata/recipes/recipes-test/selftest-recipetool-appendfile/selftest-recipetool-appendfile/selftest-replaceme-orig']
         self.assertEqual(sorted(createdfiles), sorted(expectedfiles))
 
-    @OETestID(1192)
     def test_recipetool_appendfile_wildcard(self):
 
         def try_appendfile_wc(options):
@@ -362,7 +345,6 @@
         filename = try_appendfile_wc('-w')
         self.assertEqual(filename, recipefn.split('_')[0] + '_%.bbappend')
 
-    @OETestID(1193)
     def test_recipetool_create(self):
         # Try adding a recipe
         tempsrc = os.path.join(self.tempdir, 'srctree')
@@ -379,7 +361,6 @@
         checkvars['SRC_URI[sha256sum]'] = '2e6a401cac9024db2288297e3be1a8ab60e7401ba8e91225218aaf4a27e82a07'
         self._test_recipe_contents(recipefile, checkvars, [])
 
-    @OETestID(1194)
     def test_recipetool_create_git(self):
         if 'x11' not in get_bb_var('DISTRO_FEATURES'):
             self.skipTest('Test requires x11 as distro feature')
@@ -402,7 +383,6 @@
         inherits = ['autotools', 'pkgconfig']
         self._test_recipe_contents(recipefile, checkvars, inherits)
 
-    @OETestID(1392)
     def test_recipetool_create_simple(self):
         # Try adding a recipe
         temprecipe = os.path.join(self.tempdir, 'recipe')
@@ -425,7 +405,6 @@
         inherits = ['autotools']
         self._test_recipe_contents(os.path.join(temprecipe, dirlist[0]), checkvars, inherits)
 
-    @OETestID(1418)
     def test_recipetool_create_cmake(self):
         bitbake('-c packagedata gtk+')
 
@@ -445,7 +424,6 @@
         inherits = ['cmake', 'python-dir', 'gettext', 'pkgconfig']
         self._test_recipe_contents(recipefile, checkvars, inherits)
 
-    @OETestID(1638)
     def test_recipetool_create_github(self):
         # Basic test to see if github URL mangling works
         temprecipe = os.path.join(self.tempdir, 'recipe')
@@ -460,7 +438,6 @@
         inherits = ['setuptools']
         self._test_recipe_contents(recipefile, checkvars, inherits)
 
-    @OETestID(1639)
     def test_recipetool_create_github_tarball(self):
         # Basic test to ensure github URL mangling doesn't apply to release tarballs
         temprecipe = os.path.join(self.tempdir, 'recipe')
@@ -476,7 +453,6 @@
         inherits = ['setuptools']
         self._test_recipe_contents(recipefile, checkvars, inherits)
 
-    @OETestID(1637)
     def test_recipetool_create_git_http(self):
         # Basic test to check http git URL mangling works
         temprecipe = os.path.join(self.tempdir, 'recipe')
@@ -504,7 +480,6 @@
             shutil.copy(srcfile, dstfile)
             self.track_for_cleanup(dstfile)
 
-    @OETestID(1640)
     def test_recipetool_load_plugin(self):
         """Test that recipetool loads only the first found plugin in BBPATH."""
 
@@ -626,11 +601,9 @@
 
 class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase):
 
-    @OETestID(1273)
     def test_recipetool_appendsrcfile_basic(self):
         self._test_appendsrcfile('base-files', 'a-file')
 
-    @OETestID(1274)
     def test_recipetool_appendsrcfile_basic_wildcard(self):
         testrecipe = 'base-files'
         self._test_appendsrcfile(testrecipe, 'a-file', options='-w')
@@ -638,15 +611,12 @@
         bbappendfile = self._check_bbappend(testrecipe, recipefile, self.templayerdir)
         self.assertEqual(os.path.basename(bbappendfile), '%s_%%.bbappend' % testrecipe)
 
-    @OETestID(1281)
     def test_recipetool_appendsrcfile_subdir_basic(self):
         self._test_appendsrcfile('base-files', 'a-file', 'tmp')
 
-    @OETestID(1282)
     def test_recipetool_appendsrcfile_subdir_basic_dirdest(self):
         self._test_appendsrcfile('base-files', destdir='tmp')
 
-    @OETestID(1280)
     def test_recipetool_appendsrcfile_srcdir_basic(self):
         testrecipe = 'bash'
         bb_vars = get_bb_vars(['S', 'WORKDIR'], testrecipe)
@@ -655,14 +625,12 @@
         subdir = os.path.relpath(srcdir, workdir)
         self._test_appendsrcfile(testrecipe, 'a-file', srcdir=subdir)
 
-    @OETestID(1275)
     def test_recipetool_appendsrcfile_existing_in_src_uri(self):
         testrecipe = 'base-files'
         filepath = self._get_first_file_uri(testrecipe)
         self.assertTrue(filepath, 'Unable to test, no file:// uri found in SRC_URI for %s' % testrecipe)
         self._test_appendsrcfile(testrecipe, filepath, has_src_uri=False)
 
-    @OETestID(1276)
     def test_recipetool_appendsrcfile_existing_in_src_uri_diff_params(self):
         testrecipe = 'base-files'
         subdir = 'tmp'
@@ -672,7 +640,6 @@
         output = self._test_appendsrcfile(testrecipe, filepath, subdir, has_src_uri=False)
         self.assertTrue(any('with different parameters' in l for l in output))
 
-    @OETestID(1277)
     def test_recipetool_appendsrcfile_replace_file_srcdir(self):
         testrecipe = 'bash'
         filepath = 'Makefile.in'
@@ -685,7 +652,6 @@
         bitbake('%s:do_unpack' % testrecipe)
         self.assertEqual(open(self.testfile, 'r').read(), open(os.path.join(srcdir, filepath), 'r').read())
 
-    @OETestID(1278)
     def test_recipetool_appendsrcfiles_basic(self, destdir=None):
         newfiles = [self.testfile]
         for i in range(1, 5):
@@ -695,6 +661,5 @@
             newfiles.append(testfile)
         self._test_appendsrcfiles('gcc', newfiles, destdir=destdir, options='-W')
 
-    @OETestID(1279)
     def test_recipetool_appendsrcfiles_basic_subdir(self):
         self.test_recipetool_appendsrcfiles_basic(destdir='testdir')
diff --git a/poky/meta/lib/oeqa/selftest/cases/recipeutils.py b/poky/meta/lib/oeqa/selftest/cases/recipeutils.py
index dd2f558..7478703 100644
--- a/poky/meta/lib/oeqa/selftest/cases/recipeutils.py
+++ b/poky/meta/lib/oeqa/selftest/cases/recipeutils.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 import re
 import time
@@ -6,7 +10,6 @@
 
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.utils.commands import runCmd, get_test_layer
-from oeqa.core.decorator.oeid import OETestID
 
 
 def setUpModule():
diff --git a/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py b/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py
index 0a089c0..10eb9c1 100644
--- a/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py
+++ b/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 import sys
 basepath = os.path.abspath(os.path.dirname(__file__) + '/../../../../../')
diff --git a/poky/meta/lib/oeqa/selftest/cases/runcmd.py b/poky/meta/lib/oeqa/selftest/cases/runcmd.py
index a1615cf..3755764 100644
--- a/poky/meta/lib/oeqa/selftest/cases/runcmd.py
+++ b/poky/meta/lib/oeqa/selftest/cases/runcmd.py
@@ -1,7 +1,10 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.utils.commands import runCmd
 from oeqa.utils import CommandError
-from oeqa.core.decorator.oeid import OETestID
 
 import subprocess
 import threading
@@ -27,60 +30,49 @@
     TIMEOUT = 5
     DELTA = 3
 
-    @OETestID(1916)
     def test_result_okay(self):
         result = runCmd("true")
         self.assertEqual(result.status, 0)
 
-    @OETestID(1915)
     def test_result_false(self):
         result = runCmd("false", ignore_status=True)
         self.assertEqual(result.status, 1)
 
-    @OETestID(1917)
     def test_shell(self):
         # A shell is used for all string commands.
         result = runCmd("false; true", ignore_status=True)
         self.assertEqual(result.status, 0)
 
-    @OETestID(1910)
     def test_no_shell(self):
         self.assertRaises(FileNotFoundError,
                           runCmd, "false; true", shell=False)
 
-    @OETestID(1906)
     def test_list_not_found(self):
         self.assertRaises(FileNotFoundError,
                           runCmd, ["false; true"])
 
-    @OETestID(1907)
     def test_list_okay(self):
         result = runCmd(["true"])
         self.assertEqual(result.status, 0)
 
-    @OETestID(1913)
     def test_result_assertion(self):
         self.assertRaisesRegexp(AssertionError, "Command 'echo .* false' returned non-zero exit status 1:\nfoobar",
                                 runCmd, "echo foobar >&2; false", shell=True)
 
-    @OETestID(1914)
     def test_result_exception(self):
         self.assertRaisesRegexp(CommandError, "Command 'echo .* false' returned non-zero exit status 1 with output: foobar",
                                 runCmd, "echo foobar >&2; false", shell=True, assert_error=False)
 
-    @OETestID(1911)
     def test_output(self):
         result = runCmd("echo stdout; echo stderr >&2", shell=True)
         self.assertEqual("stdout\nstderr", result.output)
         self.assertEqual("", result.error)
 
-    @OETestID(1912)
     def test_output_split(self):
         result = runCmd("echo stdout; echo stderr >&2", shell=True, stderr=subprocess.PIPE)
         self.assertEqual("stdout", result.output)
         self.assertEqual("stderr", result.error)
 
-    @OETestID(1920)
     def test_timeout(self):
         numthreads = threading.active_count()
         start = time.time()
@@ -91,7 +83,6 @@
         self.assertLess(end - start, self.TIMEOUT + self.DELTA)
         self.assertEqual(numthreads, threading.active_count())
 
-    @OETestID(1921)
     def test_timeout_split(self):
         numthreads = threading.active_count()
         start = time.time()
@@ -102,14 +93,12 @@
         self.assertLess(end - start, self.TIMEOUT + self.DELTA)
         self.assertEqual(numthreads, threading.active_count())
 
-    @OETestID(1918)
     def test_stdin(self):
         numthreads = threading.active_count()
         result = runCmd("cat", data=b"hello world", timeout=self.TIMEOUT)
         self.assertEqual("hello world", result.output)
         self.assertEqual(numthreads, threading.active_count())
 
-    @OETestID(1919)
     def test_stdin_timeout(self):
         numthreads = threading.active_count()
         start = time.time()
@@ -119,14 +108,12 @@
         self.assertLess(end - start, self.TIMEOUT + self.DELTA)
         self.assertEqual(numthreads, threading.active_count())
 
-    @OETestID(1908)
     def test_log(self):
         log = MemLogger()
         result = runCmd("echo stdout; echo stderr >&2", shell=True, output_log=log)
         self.assertEqual(["Running: echo stdout; echo stderr >&2", "stdout", "stderr"], log.info_msgs)
         self.assertEqual([], log.error_msgs)
 
-    @OETestID(1909)
     def test_log_split(self):
         log = MemLogger()
         result = runCmd("echo stdout; echo stderr >&2", shell=True, output_log=log, stderr=subprocess.PIPE)
diff --git a/poky/meta/lib/oeqa/selftest/cases/runqemu.py b/poky/meta/lib/oeqa/selftest/cases/runqemu.py
index f69d470..b88ae30 100644
--- a/poky/meta/lib/oeqa/selftest/cases/runqemu.py
+++ b/poky/meta/lib/oeqa/selftest/cases/runqemu.py
@@ -1,6 +1,8 @@
 #
 # Copyright (c) 2017 Wind River Systems, Inc.
 #
+# SPDX-License-Identifier: MIT
+#
 
 import re
 import tempfile
@@ -8,7 +10,6 @@
 import oe.types
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.utils.commands import bitbake, runqemu, get_bb_var, runCmd
-from oeqa.core.decorator.oeid import OETestID
 
 class RunqemuTests(OESelftestTestCase):
     """Runqemu test class"""
@@ -42,7 +43,6 @@
             bitbake(self.recipe)
             RunqemuTests.image_is_ready = True
 
-    @OETestID(2001)
     def test_boot_machine(self):
         """Test runqemu machine"""
         cmd = "%s %s" % (self.cmd_common, self.machine)
@@ -50,7 +50,6 @@
             with open(qemu.qemurunnerlog) as f:
                 self.assertTrue(qemu.runner.logged, "Failed: %s, %s" % (cmd, f.read()))
 
-    @OETestID(2002)
     def test_boot_machine_ext4(self):
         """Test runqemu machine ext4"""
         cmd = "%s %s ext4" % (self.cmd_common, self.machine)
@@ -58,7 +57,6 @@
             with open(qemu.qemurunnerlog) as f:
                 self.assertIn('rootfs.ext4', f.read(), "Failed: %s" % cmd)
 
-    @OETestID(2003)
     def test_boot_machine_iso(self):
         """Test runqemu machine iso"""
         cmd = "%s %s iso" % (self.cmd_common, self.machine)
@@ -66,7 +64,6 @@
             with open(qemu.qemurunnerlog) as f:
                 self.assertIn('media=cdrom', f.read(), "Failed: %s" % cmd)
 
-    @OETestID(2004)
     def test_boot_recipe_image(self):
         """Test runqemu recipe-image"""
         cmd = "%s %s" % (self.cmd_common, self.recipe)
@@ -75,7 +72,6 @@
                 self.assertTrue(qemu.runner.logged, "Failed: %s, %s" % (cmd, f.read()))
 
 
-    @OETestID(2005)
     def test_boot_recipe_image_vmdk(self):
         """Test runqemu recipe-image vmdk"""
         cmd = "%s %s wic.vmdk" % (self.cmd_common, self.recipe)
@@ -83,7 +79,6 @@
             with open(qemu.qemurunnerlog) as f:
                 self.assertIn('format=vmdk', f.read(), "Failed: %s" % cmd)
 
-    @OETestID(2006)
     def test_boot_recipe_image_vdi(self):
         """Test runqemu recipe-image vdi"""
         cmd = "%s %s wic.vdi" % (self.cmd_common, self.recipe)
@@ -91,7 +86,6 @@
             with open(qemu.qemurunnerlog) as f:
                 self.assertIn('format=vdi', f.read(), "Failed: %s" % cmd)
 
-    @OETestID(2007)
     def test_boot_deploy(self):
         """Test runqemu deploy_dir_image"""
         cmd = "%s %s" % (self.cmd_common, self.deploy_dir_image)
@@ -100,7 +94,6 @@
                 self.assertTrue(qemu.runner.logged, "Failed: %s, %s" % (cmd, f.read()))
 
 
-    @OETestID(2008)
     def test_boot_deploy_hddimg(self):
         """Test runqemu deploy_dir_image hddimg"""
         cmd = "%s %s hddimg" % (self.cmd_common, self.deploy_dir_image)
@@ -108,7 +101,6 @@
             with open(qemu.qemurunnerlog) as f:
                 self.assertTrue(re.search('file=.*.hddimg', f.read()), "Failed: %s, %s" % (cmd, f.read()))
 
-    @OETestID(2009)
     def test_boot_machine_slirp(self):
         """Test runqemu machine slirp"""
         cmd = "%s slirp %s" % (self.cmd_common, self.machine)
@@ -116,7 +108,6 @@
             with open(qemu.qemurunnerlog) as f:
                 self.assertIn(' -netdev user', f.read(), "Failed: %s" % cmd)
 
-    @OETestID(2009)
     def test_boot_machine_slirp_qcow2(self):
         """Test runqemu machine slirp qcow2"""
         cmd = "%s slirp wic.qcow2 %s" % (self.cmd_common, self.machine)
@@ -124,7 +115,6 @@
             with open(qemu.qemurunnerlog) as f:
                 self.assertIn('format=qcow2', f.read(), "Failed: %s" % cmd)
 
-    @OETestID(2010)
     def test_boot_qemu_boot(self):
         """Test runqemu /path/to/image.qemuboot.conf"""
         qemuboot_conf = "%s-%s.qemuboot.conf" % (self.recipe, self.machine)
@@ -136,7 +126,6 @@
             with open(qemu.qemurunnerlog) as f:
                 self.assertTrue(qemu.runner.logged, "Failed: %s, %s" % (cmd, f.read()))
 
-    @OETestID(2011)
     def test_boot_rootfs(self):
         """Test runqemu /path/to/rootfs.ext4"""
         rootfs = "%s-%s.ext4" % (self.recipe, self.machine)
diff --git a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
index 6c25bb9..d817b75 100644
--- a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
+++ b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
@@ -1,7 +1,10 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars, runqemu
 from oeqa.utils.sshcontrol import SSHControl
-from oeqa.core.decorator.oeid import OETestID
 import os
 import re
 import tempfile
@@ -15,7 +18,6 @@
         runCmd("rm -rf /tmp/sdk")
         super(TestExport, cls).tearDownClass()
 
-    @OETestID(1499)
     def test_testexport_basic(self):
         """
         Summary: Check basic testexport functionality with only ping test enabled.
@@ -55,7 +57,6 @@
             # Verify ping test was succesful
             self.assertEqual(0, result.status, 'oe-test runtime returned a non 0 status')
 
-    @OETestID(1641)
     def test_testexport_sdk(self):
         """
         Summary: Check sdk functionality for testexport.
@@ -110,7 +111,6 @@
 
 class TestImage(OESelftestTestCase):
 
-    @OETestID(1644)
     def test_testimage_install(self):
         """
         Summary: Check install packages functionality for testimage/testexport.
@@ -131,7 +131,6 @@
         bitbake('core-image-full-cmdline socat')
         bitbake('-c testimage core-image-full-cmdline')
 
-    @OETestID(1883)
     def test_testimage_dnf(self):
         """
         Summary: Check package feeds functionality for dnf
@@ -169,7 +168,6 @@
         # remove the oeqa-feed-sign temporal directory
         shutil.rmtree(self.gpg_home, ignore_errors=True)
 
-    @OETestID(1883)
     def test_testimage_virgl_gtk(self):
         """
         Summary: Check host-assisted accelerate OpenGL functionality in qemu with gtk frontend
@@ -200,7 +198,6 @@
         bitbake('core-image-minimal')
         bitbake('-c testimage core-image-minimal')
 
-    @OETestID(1883)
     def test_testimage_virgl_headless(self):
         """
         Summary: Check host-assisted accelerate OpenGL functionality in qemu with egl-headless frontend
@@ -235,8 +232,6 @@
         bitbake('-c testimage core-image-minimal')
 
 class Postinst(OESelftestTestCase):
-    @OETestID(1540)
-    @OETestID(1545)
     def test_postinst_rootfs_and_boot(self):
         """
         Summary:        The purpose of this test case is to verify Post-installation
diff --git a/poky/meta/lib/oeqa/selftest/cases/selftest.py b/poky/meta/lib/oeqa/selftest/cases/selftest.py
index 4b3cb14..af080dc 100644
--- a/poky/meta/lib/oeqa/selftest/cases/selftest.py
+++ b/poky/meta/lib/oeqa/selftest/cases/selftest.py
@@ -1,12 +1,14 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import importlib
 from oeqa.utils.commands import runCmd
 import oeqa.selftest
 from oeqa.selftest.case import OESelftestTestCase
-from oeqa.core.decorator.oeid import OETestID
 
 class ExternalLayer(OESelftestTestCase):
 
-    @OETestID(1885)
     def test_list_imported(self):
         """
         Summary: Checks functionality to import tests from other layers.
diff --git a/poky/meta/lib/oeqa/selftest/cases/signing.py b/poky/meta/lib/oeqa/selftest/cases/signing.py
index 4fa99ac..9c710bd 100644
--- a/poky/meta/lib/oeqa/selftest/cases/signing.py
+++ b/poky/meta/lib/oeqa/selftest/cases/signing.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars
 import os
@@ -7,7 +11,6 @@
 import shutil
 import tempfile
 from contextlib import contextmanager
-from oeqa.core.decorator.oeid import OETestID
 from oeqa.utils.ftools import write_file
 
 
@@ -51,7 +54,6 @@
                 os.environ[e] = origenv[e]
             os.chdir(builddir)
 
-    @OETestID(1362)
     def test_signing_packages(self):
         """
         Summary:     Test that packages can be signed in the package feed
@@ -116,7 +118,6 @@
         bitbake('core-image-minimal')
 
 
-    @OETestID(1382)
     def test_signing_sstate_archive(self):
         """
         Summary:     Test that sstate archives can be signed
@@ -169,7 +170,6 @@
 
 class LockedSignatures(OESelftestTestCase):
 
-    @OETestID(1420)
     def test_locked_signatures(self):
         """
         Summary:     Test locked signature mechanism
diff --git a/poky/meta/lib/oeqa/selftest/cases/sstate.py b/poky/meta/lib/oeqa/selftest/cases/sstate.py
index bc2fdbd..410dec6 100644
--- a/poky/meta/lib/oeqa/selftest/cases/sstate.py
+++ b/poky/meta/lib/oeqa/selftest/cases/sstate.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import datetime
 import unittest
 import os
diff --git a/poky/meta/lib/oeqa/selftest/cases/sstatetests.py b/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
index 938e654..2867cb7 100644
--- a/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
+++ b/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 import shutil
 import glob
@@ -7,7 +11,6 @@
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_test_layer, create_temp_layer
 from oeqa.selftest.cases.sstate import SStateBase
-from oeqa.core.decorator.oeid import OETestID
 
 import bb.siggen
 
@@ -73,19 +76,15 @@
         else:
             self.assertTrue(not file_tracker , msg="Found sstate files in the wrong place for: %s (found %s)" % (', '.join(map(str, targets)), str(file_tracker)))
 
-    @OETestID(975)
     def test_sstate_creation_distro_specific_pass(self):
         self.run_test_sstate_creation(['binutils-cross-'+ self.tune_arch, 'binutils-native'], distro_specific=True, distro_nonspecific=False, temp_sstate_location=True)
 
-    @OETestID(1374)
     def test_sstate_creation_distro_specific_fail(self):
         self.run_test_sstate_creation(['binutils-cross-'+ self.tune_arch, 'binutils-native'], distro_specific=False, distro_nonspecific=True, temp_sstate_location=True, should_pass=False)
 
-    @OETestID(976)
     def test_sstate_creation_distro_nonspecific_pass(self):
         self.run_test_sstate_creation(['linux-libc-headers'], distro_specific=False, distro_nonspecific=True, temp_sstate_location=True)
 
-    @OETestID(1375)
     def test_sstate_creation_distro_nonspecific_fail(self):
         self.run_test_sstate_creation(['linux-libc-headers'], distro_specific=True, distro_nonspecific=False, temp_sstate_location=True, should_pass=False)
 
@@ -106,17 +105,14 @@
         tgz_removed = self.search_sstate('|'.join(map(str, [s + r'.*?\.tgz$' for s in targets])), distro_specific, distro_nonspecific)
         self.assertTrue(not tgz_removed, msg="do_cleansstate didn't remove .tgz sstate files for: %s (%s)" % (', '.join(map(str, targets)), str(tgz_removed)))
 
-    @OETestID(977)
     def test_cleansstate_task_distro_specific_nonspecific(self):
         targets = ['binutils-cross-'+ self.tune_arch, 'binutils-native']
         targets.append('linux-libc-headers')
         self.run_test_cleansstate_task(targets, distro_specific=True, distro_nonspecific=True, temp_sstate_location=True)
 
-    @OETestID(1376)
     def test_cleansstate_task_distro_nonspecific(self):
         self.run_test_cleansstate_task(['linux-libc-headers'], distro_specific=False, distro_nonspecific=True, temp_sstate_location=True)
 
-    @OETestID(1377)
     def test_cleansstate_task_distro_specific(self):
         targets = ['binutils-cross-'+ self.tune_arch, 'binutils-native']
         targets.append('linux-libc-headers')
@@ -155,15 +151,12 @@
         created_once = [x for x in file_tracker_2 if x not in file_tracker_1]
         self.assertTrue(created_once == [], msg="The following sstate files ware created only in the second run: %s" % ', '.join(map(str, created_once)))
 
-    @OETestID(175)
     def test_rebuild_distro_specific_sstate_cross_native_targets(self):
         self.run_test_rebuild_distro_specific_sstate(['binutils-cross-' + self.tune_arch, 'binutils-native'], temp_sstate_location=True)
 
-    @OETestID(1372)
     def test_rebuild_distro_specific_sstate_cross_target(self):
         self.run_test_rebuild_distro_specific_sstate(['binutils-cross-' + self.tune_arch], temp_sstate_location=True)
 
-    @OETestID(1373)
     def test_rebuild_distro_specific_sstate_native_target(self):
         self.run_test_rebuild_distro_specific_sstate(['binutils-native'], temp_sstate_location=True)
 
@@ -210,7 +203,6 @@
         expected_not_actual = [x for x in expected_remaining_sstate if x not in actual_remaining_sstate]
         self.assertFalse(expected_not_actual, msg="Extra files ware removed: %s" ', '.join(map(str, expected_not_actual)))
 
-    @OETestID(973)
     def test_sstate_cache_management_script_using_pr_1(self):
         global_config = []
         target_config = []
@@ -218,7 +210,6 @@
         target_config.append('PR = "0"')
         self.run_test_sstate_cache_management_script('m4', global_config,  target_config, ignore_patterns=['populate_lic'])
 
-    @OETestID(978)
     def test_sstate_cache_management_script_using_pr_2(self):
         global_config = []
         target_config = []
@@ -228,7 +219,6 @@
         target_config.append('PR = "1"')
         self.run_test_sstate_cache_management_script('m4', global_config,  target_config, ignore_patterns=['populate_lic'])
 
-    @OETestID(979)
     def test_sstate_cache_management_script_using_pr_3(self):
         global_config = []
         target_config = []
@@ -240,7 +230,6 @@
         target_config.append('PR = "1"')
         self.run_test_sstate_cache_management_script('m4', global_config,  target_config, ignore_patterns=['populate_lic'])
 
-    @OETestID(974)
     def test_sstate_cache_management_script_using_machine(self):
         global_config = []
         target_config = []
@@ -250,7 +239,6 @@
         target_config.append('')
         self.run_test_sstate_cache_management_script('m4', global_config,  target_config, ignore_patterns=['populate_lic'])
 
-    @OETestID(1270)
     def test_sstate_32_64_same_hash(self):
         """
         The sstate checksums for both native and target should not vary whether
@@ -299,7 +287,6 @@
         self.assertCountEqual(files1, files2)
 
 
-    @OETestID(1271)
     def test_sstate_nativelsbstring_same_hash(self):
         """
         The sstate checksums should be independent of whichever NATIVELSBSTRING is
@@ -333,7 +320,6 @@
         self.maxDiff = None
         self.assertCountEqual(files1, files2)
 
-    @OETestID(1368)
     def test_sstate_allarch_samesigs(self):
         """
         The sstate checksums of allarch packages should be independent of whichever
@@ -354,7 +340,6 @@
 """
         self.sstate_allarch_samesigs(configA, configB)
 
-    @OETestID(1645)
     def test_sstate_nativesdk_samesigs_multilib(self):
         """
         check nativesdk stamps are the same between the two MACHINE values.
@@ -405,7 +390,6 @@
         self.maxDiff = None
         self.assertEqual(files1, files2)
 
-    @OETestID(1369)
     def test_sstate_sametune_samesigs(self):
         """
         The sstate checksums of two identical machines (using the same tune) should be the
@@ -452,7 +436,6 @@
         self.assertCountEqual(files1, files2)
 
 
-    @OETestID(1498)
     def test_sstate_noop_samesigs(self):
         """
         The sstate checksums of two builds with these variables changed or
diff --git a/poky/meta/lib/oeqa/selftest/cases/tinfoil.py b/poky/meta/lib/oeqa/selftest/cases/tinfoil.py
index f889a47..42a1b6b 100644
--- a/poky/meta/lib/oeqa/selftest/cases/tinfoil.py
+++ b/poky/meta/lib/oeqa/selftest/cases/tinfoil.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 import re
 import time
@@ -6,12 +10,10 @@
 
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.utils.commands import runCmd
-from oeqa.core.decorator.oeid import OETestID
 
 class TinfoilTests(OESelftestTestCase):
     """ Basic tests for the tinfoil API """
 
-    @OETestID(1568)
     def test_getvar(self):
         with bb.tinfoil.Tinfoil() as tinfoil:
             tinfoil.prepare(True)
@@ -19,7 +21,6 @@
             if not machine:
                 self.fail('Unable to get MACHINE value - returned %s' % machine)
 
-    @OETestID(1569)
     def test_expand(self):
         with bb.tinfoil.Tinfoil() as tinfoil:
             tinfoil.prepare(True)
@@ -28,7 +29,6 @@
             if not pid:
                 self.fail('Unable to expand "%s" - returned %s' % (expr, pid))
 
-    @OETestID(1570)
     def test_getvar_bb_origenv(self):
         with bb.tinfoil.Tinfoil() as tinfoil:
             tinfoil.prepare(True)
@@ -37,7 +37,6 @@
                 self.fail('Unable to get BB_ORIGENV value - returned %s' % origenv)
             self.assertEqual(origenv.getVar('HOME', False), os.environ['HOME'])
 
-    @OETestID(1571)
     def test_parse_recipe(self):
         with bb.tinfoil.Tinfoil() as tinfoil:
             tinfoil.prepare(config_only=False, quiet=2)
@@ -48,7 +47,6 @@
             rd = tinfoil.parse_recipe_file(best[3])
             self.assertEqual(testrecipe, rd.getVar('PN'))
 
-    @OETestID(1572)
     def test_parse_recipe_copy_expand(self):
         with bb.tinfoil.Tinfoil() as tinfoil:
             tinfoil.prepare(config_only=False, quiet=2)
@@ -67,7 +65,6 @@
             localdata.setVar('PN', 'hello')
             self.assertEqual('hello', localdata.getVar('BPN'))
 
-    @OETestID(1573)
     def test_parse_recipe_initial_datastore(self):
         with bb.tinfoil.Tinfoil() as tinfoil:
             tinfoil.prepare(config_only=False, quiet=2)
@@ -81,7 +78,6 @@
             # Check we can get variable values
             self.assertEqual('somevalue', rd.getVar('MYVARIABLE'))
 
-    @OETestID(1574)
     def test_list_recipes(self):
         with bb.tinfoil.Tinfoil() as tinfoil:
             tinfoil.prepare(config_only=False, quiet=2)
@@ -100,7 +96,6 @@
             if checkpns:
                 self.fail('Unable to find pkg_fn entries for: %s' % ', '.join(checkpns))
 
-    @OETestID(1575)
     def test_wait_event(self):
         with bb.tinfoil.Tinfoil() as tinfoil:
             tinfoil.prepare(config_only=True)
@@ -136,7 +131,6 @@
             self.assertTrue(commandcomplete, 'Timed out waiting for CommandCompleted event from bitbake server')
             self.assertTrue(eventreceived, 'Did not receive FilesMatchingFound event from bitbake server')
 
-    @OETestID(1576)
     def test_setvariable_clean(self):
         # First check that setVariable affects the datastore
         with bb.tinfoil.Tinfoil() as tinfoil:
@@ -159,7 +153,6 @@
             value = tinfoil.run_command('getVariable', 'TESTVAR')
             self.assertEqual(value, 'specialvalue', 'Value set using config_data.setVar() is not reflected in config_data.getVar()')
 
-    @OETestID(1884)
     def test_datastore_operations(self):
         with bb.tinfoil.Tinfoil() as tinfoil:
             tinfoil.prepare(config_only=True)
diff --git a/poky/meta/lib/oeqa/selftest/cases/wic.py b/poky/meta/lib/oeqa/selftest/cases/wic.py
index 79925f9..d16eae5 100644
--- a/poky/meta/lib/oeqa/selftest/cases/wic.py
+++ b/poky/meta/lib/oeqa/selftest/cases/wic.py
@@ -1,22 +1,8 @@
 #!/usr/bin/env python
-# ex:ts=4:sw=4:sts=4:et
-# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
 #
 # Copyright (c) 2015, Intel Corporation.
-# All rights reserved.
 #
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 2 as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+# SPDX-License-Identifier: GPL-2.0-only
 #
 # AUTHORS
 # Ed Bartosh <ed.bartosh@linux.intel.com>
@@ -34,7 +20,6 @@
 
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars, runqemu
-from oeqa.core.decorator.oeid import OETestID
 
 
 @lru_cache(maxsize=32)
@@ -103,63 +88,51 @@
 
 class Wic(WicTestCase):
 
-    @OETestID(1552)
     def test_version(self):
         """Test wic --version"""
         runCmd('wic --version')
 
-    @OETestID(1208)
     def test_help(self):
         """Test wic --help and wic -h"""
         runCmd('wic --help')
         runCmd('wic -h')
 
-    @OETestID(1209)
     def test_createhelp(self):
         """Test wic create --help"""
         runCmd('wic create --help')
 
-    @OETestID(1210)
     def test_listhelp(self):
         """Test wic list --help"""
         runCmd('wic list --help')
 
-    @OETestID(1553)
     def test_help_create(self):
         """Test wic help create"""
         runCmd('wic help create')
 
-    @OETestID(1554)
     def test_help_list(self):
         """Test wic help list"""
         runCmd('wic help list')
 
-    @OETestID(1215)
     def test_help_overview(self):
         """Test wic help overview"""
         runCmd('wic help overview')
 
-    @OETestID(1216)
     def test_help_plugins(self):
         """Test wic help plugins"""
         runCmd('wic help plugins')
 
-    @OETestID(1217)
     def test_help_kickstart(self):
         """Test wic help kickstart"""
         runCmd('wic help kickstart')
 
-    @OETestID(1555)
     def test_list_images(self):
         """Test wic list images"""
         runCmd('wic list images')
 
-    @OETestID(1556)
     def test_list_source_plugins(self):
         """Test wic list source-plugins"""
         runCmd('wic list source-plugins')
 
-    @OETestID(1557)
     def test_listed_images_help(self):
         """Test wic listed images help"""
         output = runCmd('wic list images').output
@@ -167,24 +140,20 @@
         for image in imagelist:
             runCmd('wic list %s help' % image)
 
-    @OETestID(1213)
     def test_unsupported_subcommand(self):
         """Test unsupported subcommand"""
         self.assertNotEqual(0, runCmd('wic unsupported', ignore_status=True).status)
 
-    @OETestID(1214)
     def test_no_command(self):
         """Test wic without command"""
         self.assertEqual(1, runCmd('wic', ignore_status=True).status)
 
-    @OETestID(1211)
     def test_build_image_name(self):
         """Test wic create wictestdisk --image-name=core-image-minimal"""
         cmd = "wic create wictestdisk --image-name=core-image-minimal -o %s" % self.resultdir
         runCmd(cmd)
         self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct")))
 
-    @OETestID(1157)
     @only_for_arch(['i586', 'i686', 'x86_64'])
     def test_gpt_image(self):
         """Test creation of core-image-minimal with gpt table and UUID boot"""
@@ -192,7 +161,6 @@
         runCmd(cmd)
         self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct")))
 
-    @OETestID(1346)
     @only_for_arch(['i586', 'i686', 'x86_64'])
     def test_iso_image(self):
         """Test creation of hybrid iso image with legacy and EFI boot"""
@@ -207,7 +175,6 @@
         self.assertEqual(1, len(glob(self.resultdir + "HYBRID_ISO_IMG-*.direct")))
         self.assertEqual(1, len(glob(self.resultdir + "HYBRID_ISO_IMG-*.iso")))
 
-    @OETestID(1348)
     @only_for_arch(['i586', 'i686', 'x86_64'])
     def test_qemux86_directdisk(self):
         """Test creation of qemux-86-directdisk image"""
@@ -215,7 +182,6 @@
         runCmd(cmd)
         self.assertEqual(1, len(glob(self.resultdir + "qemux86-directdisk-*direct")))
 
-    @OETestID(1350)
     @only_for_arch(['i586', 'i686', 'x86_64'])
     def test_mkefidisk(self):
         """Test creation of mkefidisk image"""
@@ -223,7 +189,6 @@
         runCmd(cmd)
         self.assertEqual(1, len(glob(self.resultdir + "mkefidisk-*direct")))
 
-    @OETestID(1385)
     @only_for_arch(['i586', 'i686', 'x86_64'])
     def test_bootloader_config(self):
         """Test creation of directdisk-bootloader-config image"""
@@ -235,7 +200,6 @@
         runCmd(cmd)
         self.assertEqual(1, len(glob(self.resultdir + "directdisk-bootloader-config-*direct")))
 
-    @OETestID(1560)
     @only_for_arch(['i586', 'i686', 'x86_64'])
     def test_systemd_bootdisk(self):
         """Test creation of systemd-bootdisk image"""
@@ -247,7 +211,6 @@
         runCmd(cmd)
         self.assertEqual(1, len(glob(self.resultdir + "systemd-bootdisk-*direct")))
 
-    @OETestID(1561)
     def test_sdimage_bootpart(self):
         """Test creation of sdimage-bootpart image"""
         cmd = "wic create sdimage-bootpart -e core-image-minimal -o %s" % self.resultdir
@@ -256,7 +219,6 @@
         runCmd(cmd)
         self.assertEqual(1, len(glob(self.resultdir + "sdimage-bootpart-*direct")))
 
-    @OETestID(1562)
     @only_for_arch(['i586', 'i686', 'x86_64'])
     def test_default_output_dir(self):
         """Test default output location"""
@@ -270,7 +232,6 @@
         runCmd(cmd)
         self.assertEqual(1, len(glob("directdisk-*.direct")))
 
-    @OETestID(1212)
     @only_for_arch(['i586', 'i686', 'x86_64'])
     def test_build_artifacts(self):
         """Test wic create directdisk providing all artifacts."""
@@ -288,7 +249,6 @@
                         "-o %(resultdir)s" % bbvars)
         self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct")))
 
-    @OETestID(1264)
     def test_compress_gzip(self):
         """Test compressing an image with gzip"""
         runCmd("wic create wictestdisk "
@@ -296,7 +256,6 @@
                                    "-c gzip -o %s" % self.resultdir)
         self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct.gz")))
 
-    @OETestID(1265)
     def test_compress_bzip2(self):
         """Test compressing an image with bzip2"""
         runCmd("wic create wictestdisk "
@@ -304,7 +263,6 @@
                                    "-c bzip2 -o %s" % self.resultdir)
         self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct.bz2")))
 
-    @OETestID(1266)
     def test_compress_xz(self):
         """Test compressing an image with xz"""
         runCmd("wic create wictestdisk "
@@ -312,7 +270,6 @@
                                    "--compress-with=xz -o %s" % self.resultdir)
         self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct.xz")))
 
-    @OETestID(1267)
     def test_wrong_compressor(self):
         """Test how wic breaks if wrong compressor is provided"""
         self.assertEqual(2, runCmd("wic create wictestdisk "
@@ -320,7 +277,6 @@
                                    "-c wrong -o %s" % self.resultdir,
                                    ignore_status=True).status)
 
-    @OETestID(1558)
     def test_debug_short(self):
         """Test -D option"""
         runCmd("wic create wictestdisk "
@@ -328,7 +284,6 @@
                                    "-D -o %s" % self.resultdir)
         self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct")))
 
-    @OETestID(1658)
     def test_debug_long(self):
         """Test --debug option"""
         runCmd("wic create wictestdisk "
@@ -336,7 +291,6 @@
                                    "--debug -o %s" % self.resultdir)
         self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct")))
 
-    @OETestID(1563)
     def test_skip_build_check_short(self):
         """Test -s option"""
         runCmd("wic create wictestdisk "
@@ -344,7 +298,6 @@
                                    "-s -o %s" % self.resultdir)
         self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct")))
 
-    @OETestID(1671)
     def test_skip_build_check_long(self):
         """Test --skip-build-check option"""
         runCmd("wic create wictestdisk "
@@ -353,7 +306,6 @@
                                    "--outdir %s" % self.resultdir)
         self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct")))
 
-    @OETestID(1564)
     def test_build_rootfs_short(self):
         """Test -f option"""
         runCmd("wic create wictestdisk "
@@ -361,7 +313,6 @@
                                    "-f -o %s" % self.resultdir)
         self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct")))
 
-    @OETestID(1656)
     def test_build_rootfs_long(self):
         """Test --build-rootfs option"""
         runCmd("wic create wictestdisk "
@@ -370,7 +321,6 @@
                                    "--outdir %s" % self.resultdir)
         self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct")))
 
-    @OETestID(1268)
     @only_for_arch(['i586', 'i686', 'x86_64'])
     def test_rootfs_indirect_recipes(self):
         """Test usage of rootfs plugin with rootfs recipes"""
@@ -381,7 +331,6 @@
                         "--outdir %s" % self.resultdir)
         self.assertEqual(1, len(glob(self.resultdir + "directdisk-multi-rootfs*.direct")))
 
-    @OETestID(1269)
     @only_for_arch(['i586', 'i686', 'x86_64'])
     def test_rootfs_artifacts(self):
         """Test usage of rootfs plugin with rootfs paths"""
@@ -401,7 +350,6 @@
                         "--outdir %(resultdir)s" % bbvars)
         self.assertEqual(1, len(glob(self.resultdir + "%(wks)s-*.direct" % bbvars)))
 
-    @OETestID(1661)
     def test_exclude_path(self):
         """Test --exclude-path wks option."""
 
@@ -504,7 +452,6 @@
         finally:
             os.environ['PATH'] = oldpath
 
-    @OETestID(1662)
     def test_exclude_path_errors(self):
         """Test --exclude-path wks option error handling."""
         wks_file = 'temp.wks'
@@ -525,7 +472,6 @@
 
 class Wic2(WicTestCase):
 
-    @OETestID(1496)
     def test_bmap_short(self):
         """Test generation of .bmap file -m option"""
         cmd = "wic create wictestdisk -e core-image-minimal -m -o %s" % self.resultdir
@@ -533,7 +479,6 @@
         self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*direct")))
         self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*direct.bmap")))
 
-    @OETestID(1655)
     def test_bmap_long(self):
         """Test generation of .bmap file --bmap option"""
         cmd = "wic create wictestdisk -e core-image-minimal --bmap -o %s" % self.resultdir
@@ -541,7 +486,6 @@
         self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*direct")))
         self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*direct.bmap")))
 
-    @OETestID(1347)
     def test_image_env(self):
         """Test generation of <image>.env files."""
         image = 'core-image-minimal'
@@ -564,7 +508,6 @@
                 self.assertTrue(var in content, "%s is not in .env file" % var)
                 self.assertTrue(content[var])
 
-    @OETestID(1559)
     def test_image_vars_dir_short(self):
         """Test image vars directory selection -v option"""
         image = 'core-image-minimal'
@@ -577,7 +520,6 @@
                                       self.resultdir))
         self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*direct")))
 
-    @OETestID(1665)
     def test_image_vars_dir_long(self):
         """Test image vars directory selection --vars option"""
         image = 'core-image-minimal'
@@ -593,7 +535,6 @@
                                       self.resultdir))
         self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*direct")))
 
-    @OETestID(1351)
     @only_for_arch(['i586', 'i686', 'x86_64'])
     def test_wic_image_type(self):
         """Test building wic images by bitbake"""
@@ -614,7 +555,6 @@
             self.assertTrue(os.path.islink(path))
             self.assertTrue(os.path.isfile(os.path.realpath(path)))
 
-    @OETestID(1424)
     @only_for_arch(['i586', 'i686', 'x86_64'])
     def test_qemu(self):
         """Test wic-image-minimal under qemu"""
@@ -636,7 +576,6 @@
             self.assertEqual(output, 'UUID=2c71ef06-a81d-4735-9d3a-379b69c6bdba\t/media\text4\tdefaults\t0\t0')
 
     @only_for_arch(['i586', 'i686', 'x86_64'])
-    @OETestID(1852)
     def test_qemu_efi(self):
         """Test core-image-minimal efi image under qemu"""
         config = 'IMAGE_FSTYPES = "wic"\nWKS_FILE = "mkefidisk.wks"\n'
@@ -666,7 +605,6 @@
 
         return wkspath, wksname
 
-    @OETestID(1847)
     def test_fixed_size(self):
         """
         Test creation of a simple image with partition size controlled through
@@ -697,7 +635,6 @@
         self.assertEqual(1, len(partlns))
         self.assertEqual("1:0.00MiB:200MiB:200MiB:ext4::;", partlns[0])
 
-    @OETestID(1848)
     def test_fixed_size_error(self):
         """
         Test creation of a simple image with partition size controlled through
@@ -713,7 +650,6 @@
         self.assertEqual(0, len(wicout))
 
     @only_for_arch(['i586', 'i686', 'x86_64'])
-    @OETestID(1854)
     def test_rawcopy_plugin_qemu(self):
         """Test rawcopy plugin in qemu"""
         # build ext4 and wic images
@@ -729,7 +665,6 @@
             self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output))
             self.assertEqual(output, '2')
 
-    @OETestID(1853)
     def test_rawcopy_plugin(self):
         """Test rawcopy plugin"""
         img = 'core-image-minimal'
@@ -746,7 +681,6 @@
             out = glob(self.resultdir + "%s-*direct" % wksname)
             self.assertEqual(1, len(out))
 
-    @OETestID(1849)
     def test_fs_types(self):
         """Test filesystem types for empty and not empty partitions"""
         img = 'core-image-minimal'
@@ -766,7 +700,6 @@
             out = glob(self.resultdir + "%s-*direct" % wksname)
             self.assertEqual(1, len(out))
 
-    @OETestID(1851)
     def test_kickstart_parser(self):
         """Test wks parser options"""
         with NamedTemporaryFile("w", suffix=".wks") as wks:
@@ -779,7 +712,6 @@
             out = glob(self.resultdir + "%s-*direct" % wksname)
             self.assertEqual(1, len(out))
 
-    @OETestID(1850)
     def test_image_bootpart_globbed(self):
         """Test globbed sources with image-bootpart plugin"""
         img = "core-image-minimal"
@@ -790,7 +722,6 @@
         self.remove_config(config)
         self.assertEqual(1, len(glob(self.resultdir + "sdimage-bootpart-*direct")))
 
-    @OETestID(1855)
     def test_sparse_copy(self):
         """Test sparse_copy with FIEMAP and SEEK_HOLE filemap APIs"""
         libpath = os.path.join(get_bb_var('COREBASE'), 'scripts', 'lib', 'wic')
@@ -819,7 +750,6 @@
                 self.assertEqual(dest_stat.st_blocks, 8)
             os.unlink(dest)
 
-    @OETestID(1857)
     def test_wic_ls(self):
         """Test listing image content using 'wic ls'"""
         runCmd("wic create wictestdisk "
@@ -838,7 +768,6 @@
         result = runCmd("wic ls %s:1/ -n %s" % (images[0], sysroot))
         self.assertEqual(6, len(result.output.split('\n')))
 
-    @OETestID(1856)
     def test_wic_cp(self):
         """Test copy files and directories to the the wic image."""
         runCmd("wic create wictestdisk "
@@ -878,7 +807,6 @@
             self.assertEqual(8, len(result.output.split('\n')))
             self.assertTrue(os.path.basename(testdir) in result.output)
 
-    @OETestID(1858)
     def test_wic_rm(self):
         """Test removing files and directories from the the wic image."""
         runCmd("wic create mkefidisk "
@@ -905,7 +833,6 @@
         self.assertNotIn('\nBZIMAGE        ', result.output)
         self.assertNotIn('\nEFI          <DIR>     ', result.output)
 
-    @OETestID(1922)
     def test_mkfs_extraopts(self):
         """Test wks option --mkfs-extraopts for empty and not empty partitions"""
         img = 'core-image-minimal'
diff --git a/poky/meta/lib/oeqa/selftest/context.py b/poky/meta/lib/oeqa/selftest/context.py
index c56e53d..d279994 100644
--- a/poky/meta/lib/oeqa/selftest/context.py
+++ b/poky/meta/lib/oeqa/selftest/context.py
@@ -1,5 +1,8 @@
+#
 # Copyright (C) 2017 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
 
 import os
 import time
diff --git a/poky/meta/lib/oeqa/targetcontrol.py b/poky/meta/lib/oeqa/targetcontrol.py
index 1868ad3..15e617c 100644
--- a/poky/meta/lib/oeqa/targetcontrol.py
+++ b/poky/meta/lib/oeqa/targetcontrol.py
@@ -1,6 +1,8 @@
+#
 # Copyright (C) 2013 Intel Corporation
 #
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
+#
 
 # This module is used by testimage.bbclass for setting up and controlling a target machine.
 
@@ -159,7 +161,7 @@
 
     def start(self, params=None, ssh=True, extra_bootparams='', runqemuparams='', launch_cmd='', discard_writes=True):
         if launch_cmd:
-            start = self.runner.launch(get_ip=ssh, launch_cmd=launch_cmd)
+            start = self.runner.launch(get_ip=ssh, launch_cmd=launch_cmd, qemuparams=params)
         else:
             start = self.runner.start(params, get_ip=ssh, extra_bootparams=extra_bootparams, runqemuparams=runqemuparams, discard_writes=discard_writes)
 
diff --git a/poky/meta/lib/oeqa/utils/__init__.py b/poky/meta/lib/oeqa/utils/__init__.py
index d38a323..70fbe7b 100644
--- a/poky/meta/lib/oeqa/utils/__init__.py
+++ b/poky/meta/lib/oeqa/utils/__init__.py
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: MIT
+#
 # Enable other layers to have modules in the same named directory
 from pkgutil import extend_path
 __path__ = extend_path(__path__, __name__)
diff --git a/poky/meta/lib/oeqa/utils/buildproject.py b/poky/meta/lib/oeqa/utils/buildproject.py
index 01a803a..e6d80cc 100644
--- a/poky/meta/lib/oeqa/utils/buildproject.py
+++ b/poky/meta/lib/oeqa/utils/buildproject.py
@@ -1,6 +1,8 @@
+#
 # Copyright (C) 2013-2016 Intel Corporation
 #
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
+#
 
 # Provides a class for automating build tests for projects
 
diff --git a/poky/meta/lib/oeqa/utils/commands.py b/poky/meta/lib/oeqa/utils/commands.py
index 2e6a228..59ebfbe 100644
--- a/poky/meta/lib/oeqa/utils/commands.py
+++ b/poky/meta/lib/oeqa/utils/commands.py
@@ -1,6 +1,8 @@
+#
 # Copyright (c) 2013-2014 Intel Corporation
 #
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
+#
 
 # DESCRIPTION
 # This module is mainly used by scripts/oe-selftest and modules under meta/oeqa/selftest
diff --git a/poky/meta/lib/oeqa/utils/decorators.py b/poky/meta/lib/oeqa/utils/decorators.py
index d876896..aabf411 100644
--- a/poky/meta/lib/oeqa/utils/decorators.py
+++ b/poky/meta/lib/oeqa/utils/decorators.py
@@ -1,6 +1,8 @@
+#
 # Copyright (C) 2013 Intel Corporation
 #
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
+#
 
 # Some custom decorators that can be used by unittests
 # Most useful is skipUnlessPassed which can be used for
diff --git a/poky/meta/lib/oeqa/utils/dump.py b/poky/meta/lib/oeqa/utils/dump.py
index 79c22b7..d34e05e 100644
--- a/poky/meta/lib/oeqa/utils/dump.py
+++ b/poky/meta/lib/oeqa/utils/dump.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 import sys
 import errno
diff --git a/poky/meta/lib/oeqa/utils/ftools.py b/poky/meta/lib/oeqa/utils/ftools.py
index a7233d4..3093419 100644
--- a/poky/meta/lib/oeqa/utils/ftools.py
+++ b/poky/meta/lib/oeqa/utils/ftools.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 import re
 import errno
diff --git a/poky/meta/lib/oeqa/utils/git.py b/poky/meta/lib/oeqa/utils/git.py
index 757e3f0..ea35a76 100644
--- a/poky/meta/lib/oeqa/utils/git.py
+++ b/poky/meta/lib/oeqa/utils/git.py
@@ -1,7 +1,7 @@
 #
 # Copyright (C) 2016 Intel Corporation
 #
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
 #
 """Git repository interactions"""
 import os
diff --git a/poky/meta/lib/oeqa/utils/gitarchive.py b/poky/meta/lib/oeqa/utils/gitarchive.py
index 9520b2e..6e8040e 100644
--- a/poky/meta/lib/oeqa/utils/gitarchive.py
+++ b/poky/meta/lib/oeqa/utils/gitarchive.py
@@ -4,14 +4,7 @@
 # Copyright (c) 2017, Intel Corporation.
 # Copyright (c) 2019, Linux Foundation
 #
-# This program is free software; you can redistribute it and/or modify it
-# under the terms and conditions of the GNU General Public License,
-# version 2, as published by the Free Software Foundation.
-#
-# This program is distributed in the hope it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
-# more details.
+# SPDX-License-Identifier: GPL-2.0-only
 #
 
 import os
diff --git a/poky/meta/lib/oeqa/utils/httpserver.py b/poky/meta/lib/oeqa/utils/httpserver.py
index a48d499..aa43559 100644
--- a/poky/meta/lib/oeqa/utils/httpserver.py
+++ b/poky/meta/lib/oeqa/utils/httpserver.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import http.server
 import multiprocessing
 import os
diff --git a/poky/meta/lib/oeqa/utils/logparser.py b/poky/meta/lib/oeqa/utils/logparser.py
index 32fde14..cc6d18d 100644
--- a/poky/meta/lib/oeqa/utils/logparser.py
+++ b/poky/meta/lib/oeqa/utils/logparser.py
@@ -1,4 +1,7 @@
 #!/usr/bin/env python
+#
+# SPDX-License-Identifier: MIT
+#
 
 import sys
 import os
@@ -86,3 +89,65 @@
                     status = self.results[section][test_name]
                     f.write(status + ": " + test_name + "\n")
 
+
+# ltp log parsing
+class LtpParser(object):
+    def __init__(self):
+        self.results = {}
+        self.section = {'duration': "", 'log': ""}
+
+    def parse(self, logfile):
+        test_regex = {}
+        test_regex['PASSED'] = re.compile(r"PASS")
+        test_regex['FAILED'] = re.compile(r"FAIL")
+        test_regex['SKIPPED'] = re.compile(r"SKIP")
+
+        with open(logfile, errors='replace') as f:
+            for line in f:
+                for t in test_regex:
+                    result = test_regex[t].search(line)
+                    if result:
+                        self.results[line.split()[0].strip()] = t
+
+        for test in self.results:
+            result = self.results[test]
+            self.section['log'] = self.section['log'] + ("%s: %s\n" % (result.strip()[:-2], test.strip()))
+
+        return self.results, self.section
+
+
+# ltp Compliance log parsing
+class LtpComplianceParser(object):
+    def __init__(self):
+        self.results = {}
+        self.section = {'duration': "", 'log': ""}
+
+    def parse(self, logfile):
+        test_regex = {}
+        test_regex['PASSED'] = re.compile(r"^PASS")
+        test_regex['FAILED'] = re.compile(r"^FAIL")
+        test_regex['SKIPPED'] = re.compile(r"(?:UNTESTED)|(?:UNSUPPORTED)")
+
+        section_regex = {}
+        section_regex['test'] = re.compile(r"^Testing")
+
+        with open(logfile, errors='replace') as f:
+            for line in f:
+                result = section_regex['test'].search(line)
+                if result:
+                    self.name = ""
+                    self.name = line.split()[1].strip()
+                    self.results[self.name] = "PASSED"
+                    failed = 0
+
+                failed_result = test_regex['FAILED'].search(line)
+                if failed_result:
+                    failed = line.split()[1].strip()
+                    if int(failed) > 0:
+                        self.results[self.name] = "FAILED"
+
+        for test in self.results:
+            result = self.results[test]
+            self.section['log'] = self.section['log'] + ("%s: %s\n" % (result.strip()[:-2], test.strip()))
+
+        return self.results, self.section
diff --git a/poky/meta/lib/oeqa/utils/metadata.py b/poky/meta/lib/oeqa/utils/metadata.py
index e0808ae..8013aa6 100644
--- a/poky/meta/lib/oeqa/utils/metadata.py
+++ b/poky/meta/lib/oeqa/utils/metadata.py
@@ -1,6 +1,6 @@
 # Copyright (C) 2016 Intel Corporation
 #
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
 #
 # Functions to get metadata from the testing host used
 # for analytics of test results.
diff --git a/poky/meta/lib/oeqa/utils/network.py b/poky/meta/lib/oeqa/utils/network.py
index 2768f6c..59cbbc4 100644
--- a/poky/meta/lib/oeqa/utils/network.py
+++ b/poky/meta/lib/oeqa/utils/network.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import socket
 
 def get_free_port():
diff --git a/poky/meta/lib/oeqa/utils/package_manager.py b/poky/meta/lib/oeqa/utils/package_manager.py
index 1495f87..2d358f7 100644
--- a/poky/meta/lib/oeqa/utils/package_manager.py
+++ b/poky/meta/lib/oeqa/utils/package_manager.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
 import os
 import json
 import shutil
diff --git a/poky/meta/lib/oeqa/utils/qemurunner.py b/poky/meta/lib/oeqa/utils/qemurunner.py
index 1abb2c1..fd386ef 100644
--- a/poky/meta/lib/oeqa/utils/qemurunner.py
+++ b/poky/meta/lib/oeqa/utils/qemurunner.py
@@ -1,6 +1,8 @@
+#
 # Copyright (C) 2013 Intel Corporation
 #
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
+#
 
 # This module provides a class for starting qemu images using runqemu.
 # It's used by testimage.bbclass.
diff --git a/poky/meta/lib/oeqa/utils/qemutinyrunner.py b/poky/meta/lib/oeqa/utils/qemutinyrunner.py
index 5aa99d0..364005b 100644
--- a/poky/meta/lib/oeqa/utils/qemutinyrunner.py
+++ b/poky/meta/lib/oeqa/utils/qemutinyrunner.py
@@ -1,6 +1,8 @@
+#
 # Copyright (C) 2015 Intel Corporation
 #
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
+#
 
 # This module provides a class for starting qemu images of poky tiny.
 # It's used by testimage.bbclass.
diff --git a/poky/meta/lib/oeqa/utils/sshcontrol.py b/poky/meta/lib/oeqa/utils/sshcontrol.py
index d292893..49a0726 100644
--- a/poky/meta/lib/oeqa/utils/sshcontrol.py
+++ b/poky/meta/lib/oeqa/utils/sshcontrol.py
@@ -1,7 +1,8 @@
-# -*- coding: utf-8 -*-
+#
 # Copyright (C) 2013 Intel Corporation
 #
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
+#
 
 # Provides a class for setting up ssh connections,
 # running commands and copying files to/from a target.
diff --git a/poky/meta/lib/oeqa/utils/subprocesstweak.py b/poky/meta/lib/oeqa/utils/subprocesstweak.py
index 1f7d11b..b47975a 100644
--- a/poky/meta/lib/oeqa/utils/subprocesstweak.py
+++ b/poky/meta/lib/oeqa/utils/subprocesstweak.py
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: MIT
+#
 import subprocess
 
 class OETestCalledProcessError(subprocess.CalledProcessError):
diff --git a/poky/meta/lib/oeqa/utils/targetbuild.py b/poky/meta/lib/oeqa/utils/targetbuild.py
index b8db7b2..1055810 100644
--- a/poky/meta/lib/oeqa/utils/targetbuild.py
+++ b/poky/meta/lib/oeqa/utils/targetbuild.py
@@ -1,6 +1,8 @@
+#
 # Copyright (C) 2013 Intel Corporation
 #
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
+#
 
 # Provides a class for automating build tests for projects
 
diff --git a/poky/meta/lib/oeqa/utils/testexport.py b/poky/meta/lib/oeqa/utils/testexport.py
index be2a211..e89d130 100644
--- a/poky/meta/lib/oeqa/utils/testexport.py
+++ b/poky/meta/lib/oeqa/utils/testexport.py
@@ -1,6 +1,8 @@
+#
 # Copyright (C) 2015 Intel Corporation
 #
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
+#
 
 # Provides functions to help with exporting binaries obtained from built targets
 
diff --git a/poky/meta/lib/rootfspostcommands.py b/poky/meta/lib/rootfspostcommands.py
index 4742e06..fdb9f5b 100644
--- a/poky/meta/lib/rootfspostcommands.py
+++ b/poky/meta/lib/rootfspostcommands.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
 import os
 
 def sort_file(filename, mapping):
diff --git a/poky/meta/recipes-bsp/gnu-efi/gnu-efi/gcc46-compatibility.patch b/poky/meta/recipes-bsp/gnu-efi/gnu-efi/gcc46-compatibility.patch
deleted file mode 100644
index 69efd34..0000000
--- a/poky/meta/recipes-bsp/gnu-efi/gnu-efi/gcc46-compatibility.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 8d16ae374c5d4d9fac45c002605a66cfb8c08be5 Mon Sep 17 00:00:00 2001
-From: Steve Langasek <steve.langasek@ubuntu.com>
-Date: Wed, 9 Sep 2015 08:26:06 +0000
-Subject: [PATCH 3/3] gnu-efi, syslinux: Support gcc < 4.7
-
-don't break with old compilers and -DGNU_EFI_USE_MS_ABI
-It's entirely legitimate to request GNU_EFI_USE_MS_ABI even if the current
-compiler doesn't support it, and gnu-efi should transparently fall back to
-using legacy techniques to set the calling convention.  We don't get type
-checking, but at least it will still compile.
-
-Author: Steve Langasek <steve.langasek@ubuntu.com>
-Upstream-Status: Pending
-[Rebased for 3.0.6]
-Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
----
- inc/x86_64/efibind.h | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/inc/x86_64/efibind.h b/inc/x86_64/efibind.h
-index 4309f9f..02c0af1 100644
---- a/inc/x86_64/efibind.h
-+++ b/inc/x86_64/efibind.h
-@@ -25,8 +25,6 @@ Revision History
- #if defined(GNU_EFI_USE_MS_ABI)
-     #if (defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)))||(defined(__clang__) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 2)))
-         #define HAVE_USE_MS_ABI 1
--    #else
--        #error Compiler is too old for GNU_EFI_USE_MS_ABI
-     #endif
- #endif
- 
--- 
-2.9.4
-
diff --git a/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.9.bb b/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.9.bb
index 0667191..f844435 100644
--- a/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.9.bb
+++ b/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.9.bb
@@ -15,7 +15,6 @@
 SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2 \
            file://parallel-make-archives.patch \
            file://lib-Makefile-fix-parallel-issue.patch \
-           file://gcc46-compatibility.patch \
            "
 
 SRC_URI[md5sum] = "32af17b917545a693e549af2439c4a99"
diff --git a/poky/meta/recipes-bsp/grub/files/disable-address-of-packed-member.patch b/poky/meta/recipes-bsp/grub/files/disable-address-of-packed-member.patch
deleted file mode 100644
index 415f52e..0000000
--- a/poky/meta/recipes-bsp/grub/files/disable-address-of-packed-member.patch
+++ /dev/null
@@ -1,262 +0,0 @@
-Disable address-of-packed-member warnings with gcc9
-
-gcc9 has turned this warning into error when -Werror is used, lets paper
-it over by turning it into a warning for now
-
-Fixes
-    error: taking address of packed member of 'struct head' may result in an unaligned pointer value [-Werror=address-of-packed-member]
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
---- a/grub-core/commands/lsacpi.c
-+++ b/grub-core/commands/lsacpi.c
-@@ -26,6 +26,9 @@
- #include <grub/dl.h>
- 
- #pragma GCC diagnostic ignored "-Wcast-align"
-+#if __GNUC__ >= 9
-+#pragma GCC diagnostic ignored "-Waddress-of-packed-member"
-+#endif
- 
- GRUB_MOD_LICENSE ("GPLv3+");
- 
---- a/grub-core/commands/lspci.c
-+++ b/grub-core/commands/lspci.c
-@@ -26,6 +26,9 @@
- 
- GRUB_MOD_LICENSE ("GPLv3+");
- 
-+#if __GNUC__ >= 9
-+#pragma GCC diagnostic ignored "-Waddress-of-packed-member"
-+#endif
- struct grub_pci_classname
- {
-   int class;
-@@ -171,7 +174,7 @@ grub_lspci_iter (grub_pci_device_t dev,
- 
- 	  if (space == 0)
- 	    continue;
--	 
-+
- 	  switch (space & GRUB_PCI_ADDR_SPACE_MASK)
- 	    {
- 	    case GRUB_PCI_ADDR_SPACE_IO:
-@@ -195,13 +198,13 @@ grub_lspci_iter (grub_pci_device_t dev,
- 			       (space & GRUB_PCI_ADDR_MEM_MASK),
- 			       space & GRUB_PCI_ADDR_MEM_PREFETCH
- 			       ? "prefetchable" : "non-prefetchable");
--		 
-+
- 		}
- 	      else
- 		grub_printf ("\t32-bit memory space %d at 0x%016llx [%s]\n",
- 			     (unsigned) ((reg - GRUB_PCI_REG_ADDRESSES)
- 			      / sizeof (grub_uint32_t)) - 1,
--			     (unsigned long long) 
-+			     (unsigned long long)
- 			     (space & GRUB_PCI_ADDR_MEM_MASK),
- 			     space & GRUB_PCI_ADDR_MEM_PREFETCH
- 			     ? "prefetchable" : "non-prefetchable");
---- a/grub-core/fs/cpio_common.c
-+++ b/grub-core/fs/cpio_common.c
-@@ -26,7 +26,9 @@
- #include <grub/archelp.h>
- 
- GRUB_MOD_LICENSE ("GPLv3+");
--
-+#if __GNUC__ >= 9
-+#pragma GCC diagnostic ignored "-Waddress-of-packed-member"
-+#endif
- struct grub_archelp_data
- {
-   grub_disk_t disk;
-@@ -108,7 +110,7 @@ grub_cpio_get_link_target (struct grub_a
-   if (!ret)
-     return NULL;
- 
--  err = grub_disk_read (data->disk, 0, data->dofs, data->size, 
-+  err = grub_disk_read (data->disk, 0, data->dofs, data->size,
- 			ret);
-   if (err)
-     {
---- a/grub-core/fs/hfs.c
-+++ b/grub-core/fs/hfs.c
-@@ -32,6 +32,9 @@
- #include <grub/fshelp.h>
- 
- GRUB_MOD_LICENSE ("GPLv3+");
-+#if __GNUC__ >= 9
-+#pragma GCC diagnostic ignored "-Waddress-of-packed-member"
-+#endif
- 
- #define	GRUB_HFS_SBLOCK		2
- #define GRUB_HFS_EMBED_HFSPLUS_SIG 0x482B
-@@ -882,7 +885,7 @@ grub_hfs_iterate_dir_it_dir (struct grub
- {
-   struct grub_hfs_catalog_key *ckey = rec->key;
-   struct grub_hfs_iterate_dir_node_found_ctx *ctx = hook_arg;
--  
-+
-   /* Stop when the entries do not match anymore.  */
-   if (ckey->parent_dir != ctx->dir_be)
-     return 1;
-@@ -1076,7 +1079,7 @@ macroman_to_utf8 (char *to, const grub_u
- 	{
- 	  *optr++ = ':';
- 	  continue;
--	}	
-+	}
-       if (!(*iptr & 0x80))
- 	{
- 	  *optr++ = *iptr;
-@@ -1093,7 +1096,7 @@ utf8_to_macroman (grub_uint8_t *to, cons
-   grub_uint8_t *end = to + 31;
-   grub_uint8_t *optr = to;
-   const char *iptr = from;
--  
-+
-   while (*iptr && optr < end)
-     {
-       int i, clen;
-@@ -1103,7 +1106,7 @@ utf8_to_macroman (grub_uint8_t *to, cons
- 	  *optr++ = '/';
- 	  iptr++;
- 	  continue;
--	}	
-+	}
-       if (!(*iptr & 0x80))
- 	{
- 	  *optr++ = *iptr++;
-@@ -1164,7 +1167,7 @@ lookup_file (grub_fshelp_node_t dir,
-   *foundnode = grub_malloc (sizeof (struct grub_fshelp_node));
-   if (!*foundnode)
-     return grub_errno;
--  
-+
-   (*foundnode)->inode = grub_be_to_cpu32 (fdrec.dir.dirid);
-   (*foundnode)->fdrec = fdrec;
-   (*foundnode)->data = dir->data;
-@@ -1265,7 +1268,7 @@ grub_hfs_dir (grub_device_t device, cons
-       .hook_data = hook_data
-     };
-   grub_fshelp_node_t found = NULL;
--  
-+
-   grub_dl_ref (my_mod);
- 
-   data = grub_hfs_mount (device->disk);
-@@ -1294,7 +1297,7 @@ grub_hfs_open (struct grub_file *file, c
- {
-   struct grub_hfs_data *data;
-   grub_fshelp_node_t found = NULL;
--  
-+
-   grub_dl_ref (my_mod);
- 
-   data = grub_hfs_mount (file->device->disk);
---- a/grub-core/fs/hfsplus.c
-+++ b/grub-core/fs/hfsplus.c
-@@ -19,7 +19,7 @@
- 
- /* HFS+ is documented at http://developer.apple.com/technotes/tn/tn1150.html */
- 
--#define grub_fshelp_node grub_hfsplus_file 
-+#define grub_fshelp_node grub_hfsplus_file
- #include <grub/err.h>
- #include <grub/file.h>
- #include <grub/mm.h>
-@@ -34,6 +34,9 @@
- 
- GRUB_MOD_LICENSE ("GPLv3+");
- 
-+#if __GNUC__ >= 9
-+#pragma GCC diagnostic ignored "-Waddress-of-packed-member"
-+#endif
- /* The type of node.  */
- enum grub_hfsplus_btnode_type
-   {
-@@ -145,7 +148,7 @@ grub_hfsplus_read_block (grub_fshelp_nod
- {
-   struct grub_hfsplus_btnode *nnode = 0;
-   grub_disk_addr_t blksleft = fileblock;
--  struct grub_hfsplus_extent *extents = node->compressed 
-+  struct grub_hfsplus_extent *extents = node->compressed
-     ? &node->resource_extents[0] : &node->extents[0];
- 
-   while (1)
-@@ -461,7 +464,7 @@ grub_hfsplus_cmp_extkey (struct grub_hfs
- 
-   if (extkey_a->type < extkey_b->type)
-     return -1;
--  
-+
-   akey = grub_be_to_cpu32 (extkey_a->start);
-   if (akey > extkey_b->start)
-     return 1;
-@@ -548,7 +551,7 @@ grub_hfsplus_btree_search (struct grub_h
- 			   struct grub_hfsplus_key_internal *key,
- 			   int (*compare_keys) (struct grub_hfsplus_key *keya,
- 						struct grub_hfsplus_key_internal *keyb),
--			   struct grub_hfsplus_btnode **matchnode, 
-+			   struct grub_hfsplus_btnode **matchnode,
- 			   grub_off_t *keyoffset)
- {
-   grub_uint64_t currnode;
---- a/grub-core/fs/jfs.c
-+++ b/grub-core/fs/jfs.c
-@@ -28,6 +28,9 @@
- #include <grub/i18n.h>
- 
- GRUB_MOD_LICENSE ("GPLv3+");
-+#if __GNUC__ >= 9
-+#pragma GCC diagnostic ignored "-Waddress-of-packed-member"
-+#endif
- 
- #define GRUB_JFS_MAX_SYMLNK_CNT	8
- #define GRUB_JFS_FILETYPE_MASK	0170000
---- a/grub-core/kern/efi/efi.c
-+++ b/grub-core/kern/efi/efi.c
-@@ -29,6 +29,9 @@
- #include <grub/mm.h>
- #include <grub/loader.h>
- 
-+#if __GNUC__ >= 9
-+#pragma GCC diagnostic ignored "-Waddress-of-packed-member"
-+#endif
- /* The handle of GRUB itself. Filled in by the startup code.  */
- grub_efi_handle_t grub_efi_image_handle;
- 
-@@ -201,7 +204,7 @@ grub_efi_set_variable(const char *var, c
- 
-   r = grub_efi_system_table->runtime_services;
- 
--  status = efi_call_5 (r->set_variable, var16, guid, 
-+  status = efi_call_5 (r->set_variable, var16, guid,
- 		       (GRUB_EFI_VARIABLE_NON_VOLATILE
- 			| GRUB_EFI_VARIABLE_BOOTSERVICE_ACCESS
- 			| GRUB_EFI_VARIABLE_RUNTIME_ACCESS),
---- a/grub-core/loader/efi/chainloader.c
-+++ b/grub-core/loader/efi/chainloader.c
-@@ -41,6 +41,9 @@
- #endif
- 
- GRUB_MOD_LICENSE ("GPLv3+");
-+#if __GNUC__ >= 9
-+#pragma GCC diagnostic ignored "-Waddress-of-packed-member"
-+#endif
- 
- static grub_dl_t my_mod;
- 
---- a/grub-core/commands/usbtest.c
-+++ b/grub-core/commands/usbtest.c
-@@ -63,6 +63,10 @@ static const char *usb_devspeed[] =
-     "High"
-   };
- 
-+#if __GNUC__ >= 9
-+#pragma GCC diagnostic ignored "-Waddress-of-packed-member"
-+#endif
-+
- static grub_usb_err_t
- grub_usb_get_string (grub_usb_device_t dev, grub_uint8_t index, int langid,
- 		     char **string)
diff --git a/poky/meta/recipes-bsp/grub/files/fix.build.with.gcc-7.patch b/poky/meta/recipes-bsp/grub/files/fix.build.with.gcc-7.patch
deleted file mode 100644
index f35df97..0000000
--- a/poky/meta/recipes-bsp/grub/files/fix.build.with.gcc-7.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-* e.g. with gentoo gcc-7.1 they define _FORTIFY_SOURCE by default with:
-  https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo/src/patchsets/gcc/7.1.0/gentoo/10_all_default-fortify-source.patch?view=markup
-  which results in following error while building grub-efi-native:
-  ./config-util.h:1504:48: error: this use of "defined" may not be portable [-Werror=expansion-to-defined]
-               || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
-                                                  ^~~~~~~~~~~~~~~
-  this part comes from gnulib and it's used only for Apple and BSD,
-  so we can ignore it, but we cannot add -Wno-error=expansion-to-defined
-  because this warning was introduced only in gcc-7 and older gcc
-  will fail with:
-  cc1: error: -Werror=expansion-to-defined: no option -Wexpansion-to-defined
-  use #pragma to work around this
-
-Upstream-Status: Pending (should be fixed in gnulib which is then rarely updated in grub)
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
-diff -uNr grub-2.02.old/m4/extern-inline.m4 grub-2.02/m4/extern-inline.m4
---- grub-2.02.old/m4/extern-inline.m4	2016-02-28 15:22:21.000000000 +0100
-+++ grub-2.02/m4/extern-inline.m4	2017-08-22 19:26:45.213637276 +0200
-@@ -39,6 +39,10 @@
-    OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and
-    for clang but remains for g++; see <http://trac.macports.org/ticket/41033>.
-    Assume DragonFly and FreeBSD will be similar.  */
-+#pragma GCC diagnostic push
-+#if __GNUC__ >= 7
-+#pragma GCC diagnostic ignored "-Wexpansion-to-defined"
-+#endif
- #if (((defined __APPLE__ && defined __MACH__) \
-       || defined __DragonFly__ || defined __FreeBSD__) \
-      && (defined __header_inline \
-@@ -50,6 +52,7 @@
-                 && defined __GNUC__ && ! defined __cplusplus))))
- # define _GL_EXTERN_INLINE_STDHEADER_BUG
- #endif
-+#pragma GCC diagnostic pop
- #if ((__GNUC__ \
-       ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
-       : (199901L <= __STDC_VERSION__ \
diff --git a/poky/meta/recipes-bsp/grub/files/fix.build.with.squashfs.patch b/poky/meta/recipes-bsp/grub/files/fix.build.with.squashfs.patch
deleted file mode 100644
index 2c2d2ea..0000000
--- a/poky/meta/recipes-bsp/grub/files/fix.build.with.squashfs.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-When squashfs support is enabled, the build fails with:
-
-../grub-2.02/grub-core/fs/squash4.c: In function 'direct_read':
-../grub-2.02/grub-core/fs/squash4.c:868:10: error: 'err' may be used uninitialized in this function [-Werror=maybe-uninitialized]
-       if (err)
-          ^
-cc1: all warnings being treated as errors
-Makefile:7272: recipe for target 'grub-core/fs/libgrubmods_a-squash4.o' failed
-
-Upstream-Status: Pending (should be fixed in gnulib which is then rarely updated in grub)
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
---- grub-2.02/grub-core/fs/squash4.c	2019-03-10 20:00:14.070468728 +0000
-+++ grub-2.02.fixed/grub-core/fs/squash4.c	2019-03-10 19:58:31.382477818 +0000
-@@ -746,7 +746,7 @@
- 	     struct grub_squash_cache_inode *ino,
- 	     grub_off_t off, char *buf, grub_size_t len)
- {
--  grub_err_t err;
-+  grub_err_t err = 0;
-   grub_off_t cumulated_uncompressed_size = 0;
-   grub_uint64_t a = 0;
-   grub_size_t i;
diff --git a/poky/meta/recipes-bsp/grub/grub-efi_2.02.bb b/poky/meta/recipes-bsp/grub/grub-efi_2.02.bb
index 14fce97..0028a9b 100644
--- a/poky/meta/recipes-bsp/grub/grub-efi_2.02.bb
+++ b/poky/meta/recipes-bsp/grub/grub-efi_2.02.bb
@@ -41,10 +41,6 @@
 CACHED_CONFIGUREVARS += "ac_cv_path_HELP2MAN="
 EXTRA_OECONF += "--enable-efiemu=no"
 
-# ldm.c:114:7: error: trampoline generated for nested function 'hook' [-Werror=trampolines]
-# and many other places in the grub code when compiled with some native gcc compilers (specifically, gentoo)
-CFLAGS_append_class-native = " -Wno-error=trampolines"
-
 do_mkimage() {
 	cd ${B}
 	# Search for the grub.cfg on the local boot media by using the
@@ -70,6 +66,7 @@
 do_install_class-native() {
 	install -d ${D}${bindir}
 	install -m 755 grub-mkimage ${D}${bindir}
+	install -m 755 grub-editenv ${D}${bindir}
 }
 
 do_install_class-target() {
diff --git a/poky/meta/recipes-bsp/grub/grub2.inc b/poky/meta/recipes-bsp/grub/grub2.inc
index c699472..7d8c280 100644
--- a/poky/meta/recipes-bsp/grub/grub2.inc
+++ b/poky/meta/recipes-bsp/grub/grub2.inc
@@ -17,12 +17,9 @@
            file://autogen.sh-exclude-pc.patch \
            file://grub-module-explicitly-keeps-symbole-.module_license.patch \
            file://0001-grub.d-10_linux.in-add-oe-s-kernel-name.patch \
-           file://fix.build.with.gcc-7.patch \
            file://gcc8.patch \
            file://0001-x86-64-Treat-R_X86_64_PLT32-as-R_X86_64_PC32.patch \
            file://0001-grub-setup-Debug-message-cleanup.patch \
-           file://disable-address-of-packed-member.patch \
-           file://fix.build.with.squashfs.patch \
 "
 SRC_URI[md5sum] = "1116d1f60c840e6dbd67abbc99acb45d"
 SRC_URI[sha256sum] = "660ee136fbcee08858516ed4de2ad87068bfe1b6b8b37896ce3529ff054a726d"
@@ -63,6 +60,8 @@
 BUILD_CXXFLAGS = ""
 BUILD_LDFLAGS = ""
 
+CFLAGS_append = "-Wno-error"
+
 do_configure_prepend() {
 	# The grub2 configure script uses variables such as TARGET_CFLAGS etc
 	# for its own purposes. Remove the OE versions from the environment to
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-common.inc b/poky/meta/recipes-bsp/u-boot/u-boot-common.inc
index dcfb9cc..a0212e1 100644
--- a/poky/meta/recipes-bsp/u-boot/u-boot-common.inc
+++ b/poky/meta/recipes-bsp/u-boot/u-boot-common.inc
@@ -8,7 +8,7 @@
 
 # We use the revision in order to avoid having to fetch it from the
 # repo during parse
-SRCREV = "d3689267f92c5956e09cc7d1baa4700141662bff"
+SRCREV = "3c99166441bf3ea325af2da83cfe65430b49c066"
 
 SRC_URI = "git://git.denx.de/u-boot.git"
 
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-fw-utils_2019.01.bb b/poky/meta/recipes-bsp/u-boot/u-boot-fw-utils_2019.04.bb
similarity index 100%
rename from poky/meta/recipes-bsp/u-boot/u-boot-fw-utils_2019.01.bb
rename to poky/meta/recipes-bsp/u-boot/u-boot-fw-utils_2019.04.bb
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-tools_2019.01.bb b/poky/meta/recipes-bsp/u-boot/u-boot-tools_2019.04.bb
similarity index 100%
rename from poky/meta/recipes-bsp/u-boot/u-boot-tools_2019.01.bb
rename to poky/meta/recipes-bsp/u-boot/u-boot-tools_2019.04.bb
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot.inc b/poky/meta/recipes-bsp/u-boot/u-boot.inc
index 96c1f94..9a754fd 100644
--- a/poky/meta/recipes-bsp/u-boot/u-boot.inc
+++ b/poky/meta/recipes-bsp/u-boot/u-boot.inc
@@ -13,7 +13,7 @@
 
 EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}" V=1'
 EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}"'
-EXTRA_OEMAKE += 'PYTHON=nativepython STAGING_INCDIR=${STAGING_INCDIR_NATIVE} STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE}'
+EXTRA_OEMAKE += 'PYTHON2=nativepython STAGING_INCDIR=${STAGING_INCDIR_NATIVE} STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE}'
 
 PACKAGECONFIG ??= "openssl"
 # u-boot will compile its own tools during the build, with specific
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot_2019.01.bb b/poky/meta/recipes-bsp/u-boot/u-boot_2019.04.bb
similarity index 100%
rename from poky/meta/recipes-bsp/u-boot/u-boot_2019.01.bb
rename to poky/meta/recipes-bsp/u-boot/u-boot_2019.04.bb
diff --git a/poky/meta/recipes-connectivity/connman/connman.inc b/poky/meta/recipes-connectivity/connman/connman.inc
index 0a117e4..ae67079 100644
--- a/poky/meta/recipes-connectivity/connman/connman.inc
+++ b/poky/meta/recipes-connectivity/connman/connman.inc
@@ -53,6 +53,7 @@
 PACKAGECONFIG[wispr] = "--enable-wispr,--disable-wispr,gnutls,"
 PACKAGECONFIG[nftables] = "--with-firewall=nftables ,,libmnl libnftnl,,kernel-module-nf-tables-ipv4 kernel-module-nft-chain-nat-ipv4 kernel-module-nft-chain-route-ipv4 kernel-module-nft-meta kernel-module-nft-masq-ipv4 kernel-module-nft-nat"
 PACKAGECONFIG[iptables] = "--with-firewall=iptables ,,iptables,iptables"
+PACKAGECONFIG[nfc] = "--enable-neard, --disable-neard, neard, neard"
 
 INITSCRIPT_NAME = "connman"
 INITSCRIPT_PARAMS = "start 05 5 2 3 . stop 22 0 1 6 ."
diff --git a/poky/meta/recipes-connectivity/connman/connman/0001-Fix-various-issues-which-cause-problems-under-musl.patch b/poky/meta/recipes-connectivity/connman/connman/0001-Fix-various-issues-which-cause-problems-under-musl.patch
deleted file mode 100644
index f344fea..0000000
--- a/poky/meta/recipes-connectivity/connman/connman/0001-Fix-various-issues-which-cause-problems-under-musl.patch
+++ /dev/null
@@ -1,362 +0,0 @@
-From 181ff3439783c6920f5211730672685a210c318f Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Mon, 8 Oct 2018 22:12:56 +0200
-Subject: [PATCH] Fix various issues which cause problems under musl
-
-Instead of using #define _GNU_SOURCE in some source files which causes
-problems when building with musl as more files need the define, simply
-use AC_USE_SYSTEM_EXTENSIONS in configure.ac to get it defined globally.
-
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-Upstream-Status: Backport [bd1326ba7d68df38c5ccaafd2403a5fb30bd452b]
----
- configure.ac                 | 3 +++
- gdhcp/client.c               | 1 -
- gdhcp/common.h               | 5 +++--
- gweb/gresolv.c               | 1 +
- plugins/tist.c               | 1 -
- plugins/wifi.c               | 3 +--
- src/backtrace.c              | 1 -
- src/inet.c                   | 1 -
- src/ippool.c                 | 1 -
- src/iptables.c               | 2 +-
- src/log.c                    | 1 -
- src/ntp.c                    | 1 -
- src/resolver.c               | 1 -
- src/rfkill.c                 | 1 -
- src/stats.c                  | 1 -
- src/tethering.c              | 2 --
- src/timezone.c               | 1 -
- tools/dhcp-test.c            | 1 -
- tools/dnsproxy-test.c        | 1 +
- tools/private-network-test.c | 2 +-
- tools/stats-tool.c           | 1 -
- tools/tap-test.c             | 3 +--
- tools/wispr.c                | 1 -
- vpn/plugins/vpn.c            | 1 -
- 24 files changed, 12 insertions(+), 25 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 39745f76..984126c2 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -20,6 +20,7 @@ AC_SUBST(abs_top_srcdir)
- AC_SUBST(abs_top_builddir)
- 
- AC_LANG_C
-+AC_USE_SYSTEM_EXTENSIONS
- 
- AC_PROG_CC
- AM_PROG_CC_C_O
-@@ -185,6 +186,8 @@ AC_CHECK_LIB(resolv, ns_initparse, dummy=yes, [
- AC_CHECK_HEADERS([execinfo.h])
- AM_CONDITIONAL([BACKTRACE], [test "${ac_cv_header_execinfo_h}" = "yes"])
- 
-+AC_CHECK_MEMBERS([struct in6_pktinfo.ipi6_addr], [], [], [[#include <netinet/in.h>]])
-+
- AC_CHECK_FUNC(signalfd, dummy=yes,
- 			AC_MSG_ERROR(signalfd support is required))
- 
-diff --git a/gdhcp/client.c b/gdhcp/client.c
-index 67357782..c7db76f0 100644
---- a/gdhcp/client.c
-+++ b/gdhcp/client.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
- 
--#define _GNU_SOURCE
- #include <stdio.h>
- #include <errno.h>
- #include <unistd.h>
-diff --git a/gdhcp/common.h b/gdhcp/common.h
-index 75abc183..6899499e 100644
---- a/gdhcp/common.h
-+++ b/gdhcp/common.h
-@@ -19,6 +19,7 @@
-  *
-  */
- 
-+#include <config.h>
- #include <netinet/udp.h>
- #include <netinet/ip.h>
- 
-@@ -170,8 +171,8 @@ static const uint8_t dhcp_option_lengths[] = {
- 	[OPTION_U32]	= 4,
- };
- 
--/* already defined within netinet/in.h if using GNU compiler */
--#ifndef __USE_GNU
-+/* already defined within netinet/in.h if using glibc or musl */
-+#ifndef HAVE_STRUCT_IN6_PKTINFO_IPI6_ADDR
- struct in6_pktinfo {
- 	struct in6_addr ipi6_addr;  /* src/dst IPv6 address */
- 	unsigned int ipi6_ifindex;  /* send/recv interface index */
-diff --git a/gweb/gresolv.c b/gweb/gresolv.c
-index 81c79b6c..b06f8932 100644
---- a/gweb/gresolv.c
-+++ b/gweb/gresolv.c
-@@ -29,6 +29,7 @@
- #include <string.h>
- #include <stdlib.h>
- #include <resolv.h>
-+#include <stdio.h>
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <netdb.h>
-diff --git a/plugins/tist.c b/plugins/tist.c
-index ad5ef79e..cc2800a1 100644
---- a/plugins/tist.c
-+++ b/plugins/tist.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
- 
--#define _GNU_SOURCE
- #include <stdio.h>
- #include <stdbool.h>
- #include <stdlib.h>
-diff --git a/plugins/wifi.c b/plugins/wifi.c
-index dc08c6af..46e4cca4 100644
---- a/plugins/wifi.c
-+++ b/plugins/wifi.c
-@@ -30,9 +30,8 @@
- #include <string.h>
- #include <sys/ioctl.h>
- #include <sys/socket.h>
--#include <linux/if_arp.h>
--#include <linux/wireless.h>
- #include <net/ethernet.h>
-+#include <linux/wireless.h>
- 
- #ifndef IFF_LOWER_UP
- #define IFF_LOWER_UP	0x10000
-diff --git a/src/backtrace.c b/src/backtrace.c
-index e8d7f432..bede6698 100644
---- a/src/backtrace.c
-+++ b/src/backtrace.c
-@@ -24,7 +24,6 @@
- #include <config.h>
- #endif
- 
--#define _GNU_SOURCE
- #include <stdio.h>
- #include <unistd.h>
- #include <stdlib.h>
-diff --git a/src/inet.c b/src/inet.c
-index a31372b5..a58ce7c1 100644
---- a/src/inet.c
-+++ b/src/inet.c
-@@ -25,7 +25,6 @@
- #include <config.h>
- #endif
- 
--#define _GNU_SOURCE
- #include <stdio.h>
- #include <errno.h>
- #include <unistd.h>
-diff --git a/src/ippool.c b/src/ippool.c
-index cea1dccd..8a645da2 100644
---- a/src/ippool.c
-+++ b/src/ippool.c
-@@ -28,7 +28,6 @@
- #include <stdio.h>
- #include <string.h>
- #include <unistd.h>
--#include <sys/errno.h>
- #include <sys/socket.h>
- 
- #include "connman.h"
-diff --git a/src/iptables.c b/src/iptables.c
-index f3670e77..469effed 100644
---- a/src/iptables.c
-+++ b/src/iptables.c
-@@ -28,7 +28,7 @@
- #include <stdio.h>
- #include <string.h>
- #include <unistd.h>
--#include <sys/errno.h>
-+#include <errno.h>
- #include <sys/socket.h>
- #include <xtables.h>
- #include <inttypes.h>
-diff --git a/src/log.c b/src/log.c
-index 9bae4a3d..f7e82e5d 100644
---- a/src/log.c
-+++ b/src/log.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
- 
--#define _GNU_SOURCE
- #include <stdio.h>
- #include <unistd.h>
- #include <stdarg.h>
-diff --git a/src/ntp.c b/src/ntp.c
-index 51ba9aac..724ca188 100644
---- a/src/ntp.c
-+++ b/src/ntp.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
- 
--#define _GNU_SOURCE
- #include <errno.h>
- #include <fcntl.h>
- #include <unistd.h>
-diff --git a/src/resolver.c b/src/resolver.c
-index 76f0a8e1..10121aa5 100644
---- a/src/resolver.c
-+++ b/src/resolver.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
- 
--#define _GNU_SOURCE
- #include <stdio.h>
- #include <errno.h>
- #include <fcntl.h>
-diff --git a/src/rfkill.c b/src/rfkill.c
-index d9bed4d2..b2514c41 100644
---- a/src/rfkill.c
-+++ b/src/rfkill.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
- 
--#define _GNU_SOURCE
- #include <stdio.h>
- #include <errno.h>
- #include <fcntl.h>
-diff --git a/src/stats.c b/src/stats.c
-index 663bc382..c9ddc2e8 100644
---- a/src/stats.c
-+++ b/src/stats.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
- 
--#define _GNU_SOURCE
- #include <errno.h>
- #include <sys/mman.h>
- #include <sys/types.h>
-diff --git a/src/tethering.c b/src/tethering.c
-index 4b202369..f3cb36f4 100644
---- a/src/tethering.c
-+++ b/src/tethering.c
-@@ -34,8 +34,6 @@
- #include <string.h>
- #include <fcntl.h>
- #include <netinet/in.h>
--#include <linux/sockios.h>
--#include <linux/if_tun.h>
- #include <linux/if_bridge.h>
- 
- #include "connman.h"
-diff --git a/src/timezone.c b/src/timezone.c
-index e346b11a..8e912670 100644
---- a/src/timezone.c
-+++ b/src/timezone.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
- 
--#define _GNU_SOURCE
- #include <errno.h>
- #include <stdio.h>
- #include <fcntl.h>
-diff --git a/tools/dhcp-test.c b/tools/dhcp-test.c
-index c34e10a8..eae66fc2 100644
---- a/tools/dhcp-test.c
-+++ b/tools/dhcp-test.c
-@@ -33,7 +33,6 @@
- #include <arpa/inet.h>
- #include <net/route.h>
- #include <net/ethernet.h>
--#include <linux/if_arp.h>
- 
- #include <gdhcp/gdhcp.h>
- 
-diff --git a/tools/dnsproxy-test.c b/tools/dnsproxy-test.c
-index 551cae91..371e2e23 100644
---- a/tools/dnsproxy-test.c
-+++ b/tools/dnsproxy-test.c
-@@ -24,6 +24,7 @@
- #endif
- 
- #include <errno.h>
-+#include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <unistd.h>
-diff --git a/tools/private-network-test.c b/tools/private-network-test.c
-index 3dd115ba..2828bb30 100644
---- a/tools/private-network-test.c
-+++ b/tools/private-network-test.c
-@@ -32,7 +32,7 @@
- #include <stdlib.h>
- #include <string.h>
- #include <signal.h>
--#include <sys/poll.h>
-+#include <poll.h>
- #include <sys/signalfd.h>
- #include <unistd.h>
- 
-diff --git a/tools/stats-tool.c b/tools/stats-tool.c
-index efa39de2..5695048f 100644
---- a/tools/stats-tool.c
-+++ b/tools/stats-tool.c
-@@ -22,7 +22,6 @@
- #include <config.h>
- #endif
- 
--#define _GNU_SOURCE
- #include <sys/mman.h>
- #include <sys/types.h>
- #include <sys/stat.h>
-diff --git a/tools/tap-test.c b/tools/tap-test.c
-index fdc098aa..cb3ee622 100644
---- a/tools/tap-test.c
-+++ b/tools/tap-test.c
-@@ -23,13 +23,12 @@
- #include <config.h>
- #endif
- 
--#define _GNU_SOURCE
- #include <stdio.h>
- #include <errno.h>
- #include <fcntl.h>
- #include <unistd.h>
- #include <string.h>
--#include <sys/poll.h>
-+#include <poll.h>
- #include <sys/ioctl.h>
- 
- #include <netinet/in.h>
-diff --git a/tools/wispr.c b/tools/wispr.c
-index d5f9341f..e56dfc16 100644
---- a/tools/wispr.c
-+++ b/tools/wispr.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
- 
--#define _GNU_SOURCE
- #include <stdio.h>
- #include <fcntl.h>
- #include <unistd.h>
-diff --git a/vpn/plugins/vpn.c b/vpn/plugins/vpn.c
-index 10548aaf..6e3f640c 100644
---- a/vpn/plugins/vpn.c
-+++ b/vpn/plugins/vpn.c
-@@ -23,7 +23,6 @@
- #include <config.h>
- #endif
- 
--#define _GNU_SOURCE
- #include <string.h>
- #include <fcntl.h>
- #include <unistd.h>
--- 
-2.17.1
-
diff --git a/poky/meta/recipes-connectivity/connman/connman_1.36.bb b/poky/meta/recipes-connectivity/connman/connman_1.37.bb
similarity index 67%
rename from poky/meta/recipes-connectivity/connman/connman_1.36.bb
rename to poky/meta/recipes-connectivity/connman/connman_1.37.bb
index 6e4dbdf..2cf904c 100644
--- a/poky/meta/recipes-connectivity/connman/connman_1.36.bb
+++ b/poky/meta/recipes-connectivity/connman/connman_1.37.bb
@@ -5,12 +5,11 @@
             file://0001-connman.service-stop-systemd-resolved-when-we-use-co.patch \
             file://connman \
             file://no-version-scripts.patch \
-            file://0001-Fix-various-issues-which-cause-problems-under-musl.patch \
 "
 
 SRC_URI_append_libc-musl = " file://0002-resolve-musl-does-not-implement-res_ninit.patch"
 
-SRC_URI[md5sum] = "dae77d9c904d2c223ae849e32079d57e"
-SRC_URI[sha256sum] = "c789db41cc443fa41e661217ea321492ad59a004bebcd1aa013f3bc10a6e0074"
+SRC_URI[md5sum] = "75012084f14fb63a84b116e66c6e94fb"
+SRC_URI[sha256sum] = "6ce29b3eb0bb16a7387bc609c39455fd13064bdcde5a4d185fab3a0c71946e16"
 
 RRECOMMENDS_${PN} = "connman-conf"
diff --git a/poky/meta/recipes-connectivity/dhcp/dhcp/0001-dhcpd-fix-Replace-custom-isc_boolean_t-with-C-standa.patch b/poky/meta/recipes-connectivity/dhcp/dhcp/0001-dhcpd-fix-Replace-custom-isc_boolean_t-with-C-standa.patch
deleted file mode 100644
index d2e5771..0000000
--- a/poky/meta/recipes-connectivity/dhcp/dhcp/0001-dhcpd-fix-Replace-custom-isc_boolean_t-with-C-standa.patch
+++ /dev/null
@@ -1,2882 +0,0 @@
-From ffb1d1325bd6503df9a324befac5f5039ac77432 Mon Sep 17 00:00:00 2001
-From: Armin Kuster <akuster@mvista.com>
-Date: Tue, 23 Oct 2018 10:36:56 +0000
-Subject: [PATCH] dhcpd: fix Replace custom isc_boolean_t with C standard bool
- type
-
-
-Upstream-Status: Pending
-
-Fixes issues introduced by bind when they changed their headers.
-
-Signed-off-by: Armin Kuster <akuster@mvista.com>
----
- includes/dhcpd.h           | 34 +++++++++++++++++-----------------
- includes/heap.h            |  2 +-
- includes/omapip/omapip.h   |  2 +-
- includes/omapip/omapip_p.h |  6 +++---
- includes/tree.h            |  2 +-
- 5 files changed, 23 insertions(+), 23 deletions(-)
-
-Index: dhcp-4.4.1/includes/dhcpd.h
-===================================================================
---- dhcp-4.4.1.orig/includes/dhcpd.h
-+++ dhcp-4.4.1/includes/dhcpd.h
-@@ -461,20 +461,20 @@ struct packet {
- 	 * options we got in a previous exchange were still there, we need
- 	 * to signal this in a reliable way.
- 	 */
--	isc_boolean_t agent_options_stashed;
-+	bool agent_options_stashed;
- 
- 	/*
- 	 * ISC_TRUE if packet received unicast (as opposed to multicast).
- 	 * Only used in DHCPv6.
- 	 */
--	isc_boolean_t unicast;
-+	bool unicast;
- 
- 	/* Propagates server value SV_ECHO_CLIENT_ID so it is available
-          * in cons_options() */
- 	int sv_echo_client_id;
- 
- 	/* Relay port check */
--	isc_boolean_t relay_source_port;
-+	bool relay_source_port;
- };
- 
- /*
-@@ -1174,7 +1174,7 @@ struct dhc6_lease {
- 	struct dhc6_lease *next;
- 	struct data_string server_id;
- 
--	isc_boolean_t released;
-+	bool released;
- 	int score;
- 	u_int8_t pref;
- 
-@@ -1695,8 +1695,8 @@ struct ipv6_pool {
- 	int bits;				/* number of bits, CIDR style */
- 	int units;				/* allocation unit in bits */
- 	iasubopt_hash_t *leases;		/* non-free leases */
--	isc_uint64_t num_active;		/* count of active leases */
--	isc_uint64_t num_abandoned;		/* count of abandoned leases */
-+	uint64_t num_active;			/* count of active leases */
-+	uint64_t num_abandoned;			/* count of abandoned leases */
- 	isc_heap_t *active_timeouts;		/* timeouts for active leases */
- 	int num_inactive;			/* count of inactive leases */
- 	isc_heap_t *inactive_timeouts;		/* timeouts for expired or
-@@ -1732,11 +1732,11 @@ struct ipv6_pond {
- 	struct ipv6_pool **ipv6_pools;	/* NULL-terminated array */
- 	int last_ipv6_pool;		/* offset of last IPv6 pool
- 					   used to issue a lease */
--	isc_uint64_t num_total;	    /* Total number of elements in the pond */
--	isc_uint64_t num_active;    /* Number of elements in the pond in use */
--	isc_uint64_t num_abandoned;	/* count of abandoned leases */
-+	uint64_t num_total;	    	/* Total number of elements in the pond */
-+	uint64_t num_active;    	/* Number of elements in the pond in use */
-+	uint64_t num_abandoned;		/* count of abandoned leases */
- 	int logged;			/* already logged a message */
--	isc_uint64_t low_threshold;	/* low threshold to restart logging */
-+	uint64_t low_threshold;		/* low threshold to restart logging */
- 	int jumbo_range;
- #ifdef EUI_64
- 	int use_eui_64;		/* use EUI-64 address assignment when true */
-@@ -1745,9 +1745,9 @@ struct ipv6_pond {
- 
- /*
-  * Max addresses in a pond that can be supported by log threshold
-- * Currently based on max value supported by isc_uint64_t.
-+ * Currently based on max value supported by uint64_t.
- */
--#define POND_TRACK_MAX ISC_UINT64_MAX
-+#define POND_TRACK_MAX UINT64_MAX
- 
- /* Flags for dhcp_ddns_cb_t */
- #define DDNS_UPDATE_ADDR		0x0001
-@@ -1868,7 +1868,7 @@ lookup_fqdn6_option(struct universe *uni
- 		    unsigned code);
- void
- save_fqdn6_option(struct universe *universe, struct option_state *options,
--		  struct option_cache *oc, isc_boolean_t appendp);
-+		  struct option_cache *oc, bool appendp);
- void
- delete_fqdn6_option(struct universe *universe, struct option_state *options,
- 		    int code);
-@@ -1953,7 +1953,7 @@ void save_option(struct universe *, stru
- void also_save_option(struct universe *, struct option_state *,
- 		      struct option_cache *);
- void save_hashed_option(struct universe *, struct option_state *,
--			struct option_cache *, isc_boolean_t appendp);
-+			struct option_cache *, bool appendp);
- void delete_option (struct universe *, struct option_state *, int);
- void delete_hashed_option (struct universe *,
- 			   struct option_state *, int);
-@@ -2041,7 +2041,7 @@ int linked_option_state_dereference (str
- 				     struct option_state *,
- 				     const char *, int);
- void save_linked_option(struct universe *, struct option_state *,
--			struct option_cache *, isc_boolean_t appendp);
-+			struct option_cache *, bool appendp);
- void linked_option_space_foreach (struct packet *, struct lease *,
- 				  struct client_state *,
- 				  struct option_state *,
-@@ -2069,7 +2069,7 @@ void do_packet (struct interface_info *,
- 		struct dhcp_packet *, unsigned,
- 		unsigned int, struct iaddr, struct hardware *);
- void do_packet6(struct interface_info *, const char *,
--		int, int, const struct iaddr *, isc_boolean_t);
-+		int, int, const struct iaddr *, bool);
- int packet6_len_okay(const char *, int);
- 
- int validate_packet(struct packet *);
-@@ -2224,7 +2224,7 @@ uint32_t parse_byte_order_uint32(const v
- int ddns_updates(struct packet *, struct lease *, struct lease *,
- 		 struct iasubopt *, struct iasubopt *, struct option_state *);
- isc_result_t ddns_removals(struct lease *, struct iasubopt *,
--			   struct dhcp_ddns_cb *, isc_boolean_t);
-+			   struct dhcp_ddns_cb *, bool);
- u_int16_t get_conflict_mask(struct option_state *input_options);
- #if defined (TRACING)
- void trace_ddns_init(void);
-@@ -2450,7 +2450,7 @@ void dhcpleasequery (struct packet *, in
- void dhcpv6_leasequery (struct data_string *, struct packet *);
- 
- /* dhcpv6.c */
--isc_boolean_t server_duid_isset(void);
-+bool server_duid_isset(void);
- void copy_server_duid(struct data_string *ds, const char *file, int line);
- void set_server_duid(struct data_string *new_duid);
- isc_result_t set_server_duid_from_option(void);
-@@ -2852,7 +2852,7 @@ extern void (*bootp_packet_handler) (str
- 				     struct iaddr, struct hardware *);
- extern void (*dhcpv6_packet_handler)(struct interface_info *,
- 				     const char *, int,
--				     int, const struct iaddr *, isc_boolean_t);
-+				     int, const struct iaddr *, bool);
- extern struct timeout *timeouts;
- extern omapi_object_type_t *dhcp_type_interface;
- #if defined (TRACING)
-@@ -2943,7 +2943,7 @@ int addr_or(struct iaddr *result,
- 	    const struct iaddr *a1, const struct iaddr *a2);
- int addr_and(struct iaddr *result,
- 	     const struct iaddr *a1, const struct iaddr *a2);
--isc_boolean_t is_cidr_mask_valid(const struct iaddr *addr, int bits);
-+bool is_cidr_mask_valid(const struct iaddr *addr, int bits);
- isc_result_t range2cidr(struct iaddrcidrnetlist **result,
- 			const struct iaddr *lo, const struct iaddr *hi);
- isc_result_t free_iaddrcidrnetlist(struct iaddrcidrnetlist **result);
-@@ -3787,7 +3787,7 @@ isc_result_t ia_add_iasubopt(struct ia_x
- 			     const char *file, int line);
- void ia_remove_iasubopt(struct ia_xx *ia, struct iasubopt *iasubopt,
- 			const char *file, int line);
--isc_boolean_t ia_equal(const struct ia_xx *a, const struct ia_xx *b);
-+bool ia_equal(const struct ia_xx *a, const struct ia_xx *b);
- 
- isc_result_t ipv6_pool_allocate(struct ipv6_pool **pool, u_int16_t type,
- 				const struct in6_addr *start_addr,
-@@ -3820,9 +3820,9 @@ isc_result_t expire_lease6(struct iasubo
- 			   struct ipv6_pool *pool, time_t now);
- isc_result_t release_lease6(struct ipv6_pool *pool, struct iasubopt *lease);
- isc_result_t decline_lease6(struct ipv6_pool *pool, struct iasubopt *lease);
--isc_boolean_t lease6_exists(const struct ipv6_pool *pool,
-+bool lease6_exists(const struct ipv6_pool *pool,
- 			    const struct in6_addr *addr);
--isc_boolean_t lease6_usable(struct iasubopt *lease);
-+bool lease6_usable(struct iasubopt *lease);
- isc_result_t cleanup_lease6(ia_hash_t *ia_table,
- 			    struct ipv6_pool *pool,
- 			    struct iasubopt *lease,
-@@ -3834,13 +3834,13 @@ isc_result_t create_prefix6(struct ipv6_
- 			    unsigned int *attempts,
- 			    const struct data_string *uid,
- 			    time_t soft_lifetime_end_time);
--isc_boolean_t prefix6_exists(const struct ipv6_pool *pool,
-+bool prefix6_exists(const struct ipv6_pool *pool,
- 			     const struct in6_addr *pref, u_int8_t plen);
- 
- isc_result_t add_ipv6_pool(struct ipv6_pool *pool);
- isc_result_t find_ipv6_pool(struct ipv6_pool **pool, u_int16_t type,
- 			    const struct in6_addr *addr);
--isc_boolean_t ipv6_in_pool(const struct in6_addr *addr,
-+bool ipv6_in_pool(const struct in6_addr *addr,
- 			   const struct ipv6_pool *pool);
- isc_result_t ipv6_pond_allocate(struct ipv6_pond **pond,
- 				const char *file, int line);
-Index: dhcp-4.4.1/includes/heap.h
-===================================================================
---- dhcp-4.4.1.orig/includes/heap.h
-+++ dhcp-4.4.1/includes/heap.h
-@@ -26,7 +26,7 @@
-  * The comparision function returns ISC_TRUE if the first argument has
-  * higher priority than the second argument, and ISC_FALSE otherwise.
-  */
--typedef isc_boolean_t (*isc_heapcompare_t)(void *, void *);
-+typedef bool (*isc_heapcompare_t)(void *, void *);
- 
- /*%
-  * The index function allows the client of the heap to receive a callback
-Index: dhcp-4.4.1/includes/omapip/omapip.h
-===================================================================
---- dhcp-4.4.1.orig/includes/omapip/omapip.h
-+++ dhcp-4.4.1/includes/omapip/omapip.h
-@@ -264,7 +264,7 @@ isc_result_t omapi_protocol_connect (oma
- isc_result_t omapi_connect_list (omapi_object_t *, omapi_addr_list_t *,
- 				 omapi_addr_t *);
- isc_result_t omapi_protocol_listen (omapi_object_t *, unsigned, int);
--isc_boolean_t omapi_protocol_authenticated (omapi_object_t *);
-+bool omapi_protocol_authenticated (omapi_object_t *);
- isc_result_t omapi_protocol_configure_security (omapi_object_t *,
- 						isc_result_t (*)
- 						(omapi_object_t *,
-Index: dhcp-4.4.1/includes/omapip/omapip_p.h
-===================================================================
---- dhcp-4.4.1.orig/includes/omapip/omapip_p.h
-+++ dhcp-4.4.1/includes/omapip/omapip_p.h
-@@ -149,7 +149,7 @@ typedef struct __omapi_protocol_object {
- 	omapi_remote_auth_t *remote_auth_list;	/* Authenticators active on
- 						   this connection. */
- 
--	isc_boolean_t insecure;		/* Set to allow unauthenticated
-+	bool insecure;		/* Set to allow unauthenticated
- 					   messages. */
- 
- 	isc_result_t (*verify_auth) (omapi_object_t *, omapi_auth_key_t *);
-@@ -158,7 +158,7 @@ typedef struct __omapi_protocol_object {
- typedef struct {
- 	OMAPI_OBJECT_PREAMBLE;
- 
--	isc_boolean_t insecure;		/* Set to allow unauthenticated
-+	bool insecure;		/* Set to allow unauthenticated
- 					   messages. */
- 
- 	isc_result_t (*verify_auth) (omapi_object_t *, omapi_auth_key_t *);
-@@ -208,7 +208,7 @@ typedef struct __omapi_io_object {
- 	isc_result_t (*writer) (omapi_object_t *);
- 	isc_result_t (*reaper) (omapi_object_t *);
- 	isc_socket_t *fd;
--	isc_boolean_t closed; /* ISC_TRUE = closed, do not use */
-+	bool closed; /* ISC_TRUE = closed, do not use */
- } omapi_io_object_t;
- 
- typedef struct __omapi_generic_object {
-Index: dhcp-4.4.1/includes/tree.h
-===================================================================
---- dhcp-4.4.1.orig/includes/tree.h
-+++ dhcp-4.4.1/includes/tree.h
-@@ -304,7 +304,7 @@ struct universe {
- 					     struct option_state *,
- 					     unsigned);
- 	void (*save_func) (struct universe *, struct option_state *,
--			   struct option_cache *, isc_boolean_t);
-+			   struct option_cache *, bool );
- 	void (*foreach) (struct packet *,
- 			 struct lease *, struct client_state *,
- 			 struct option_state *, struct option_state *,
-Index: dhcp-4.4.1/common/conflex.c
-===================================================================
---- dhcp-4.4.1.orig/common/conflex.c
-+++ dhcp-4.4.1/common/conflex.c
-@@ -322,7 +322,7 @@ get_raw_token(struct parse *cfile) {
- 
- static enum dhcp_token 
- get_next_token(const char **rval, unsigned *rlen, 
--	       struct parse *cfile, isc_boolean_t raw) {
-+	       struct parse *cfile, bool raw) {
- 	int rv;
- 
- 	if (cfile -> token) {
-@@ -367,7 +367,7 @@ get_next_token(const char **rval, unsign
- 
- enum dhcp_token
- next_token(const char **rval, unsigned *rlen, struct parse *cfile) {
--	return get_next_token(rval, rlen, cfile, ISC_FALSE);
-+	return get_next_token(rval, rlen, cfile, false);
- }
- 
- 
-@@ -378,7 +378,7 @@ next_token(const char **rval, unsigned *
- 
- enum dhcp_token
- next_raw_token(const char **rval, unsigned *rlen, struct parse *cfile) {
--	return get_next_token(rval, rlen, cfile, ISC_TRUE);
-+	return get_next_token(rval, rlen, cfile, true);
- }
- 
- 
-@@ -393,7 +393,7 @@ next_raw_token(const char **rval, unsign
- 
- enum dhcp_token
- do_peek_token(const char **rval, unsigned int *rlen,
--	      struct parse *cfile, isc_boolean_t raw) {
-+	      struct parse *cfile, bool raw) {
- 	int x;
- 
- 	if (!cfile->token || (!raw && (cfile->token == WHITESPACE))) {
-@@ -441,7 +441,7 @@ do_peek_token(const char **rval, unsigne
- 
- enum dhcp_token
- peek_token(const char **rval, unsigned *rlen, struct parse *cfile) {
--	return do_peek_token(rval, rlen, cfile, ISC_FALSE);
-+	return do_peek_token(rval, rlen, cfile, false);
- }
- 
- 
-@@ -452,7 +452,7 @@ peek_token(const char **rval, unsigned *
- 
- enum dhcp_token
- peek_raw_token(const char **rval, unsigned *rlen, struct parse *cfile) {
--	return do_peek_token(rval, rlen, cfile, ISC_TRUE);
-+	return do_peek_token(rval, rlen, cfile, true);
- }
- 
- static void skip_to_eol (cfile)
-Index: dhcp-4.4.1/common/discover.c
-===================================================================
---- dhcp-4.4.1.orig/common/discover.c
-+++ dhcp-4.4.1/common/discover.c
-@@ -73,7 +73,7 @@ void (*bootp_packet_handler) (struct int
- void (*dhcpv6_packet_handler)(struct interface_info *,
- 			      const char *, int,
- 			      int, const struct iaddr *,
--			      isc_boolean_t);
-+			      bool);
- #endif /* DHCPv6 */
- 
- 
-@@ -236,7 +236,7 @@ struct iface_conf_list {
- struct iface_info {
- 	char name[IF_NAMESIZE+1];	/* name of the interface, e.g. "bge0" */
- 	struct sockaddr_storage addr;	/* address information */
--	isc_uint64_t flags;		/* interface flags, e.g. IFF_LOOPBACK */
-+	uint64_t flags;			/* interface flags, e.g. IFF_LOOPBACK */
- };
- 
- /* 
-@@ -312,14 +312,14 @@ int
- next_iface(struct iface_info *info, int *err, struct iface_conf_list *ifaces) {
- 	struct LIFREQ *p;
- 	struct LIFREQ tmp;
--	isc_boolean_t foundif;
-+	bool foundif;
- #if defined(sun) || defined(__linux)
- 	/* Pointer used to remove interface aliases. */
- 	char *s;
- #endif
- 
- 	do {
--		foundif = ISC_FALSE;
-+		foundif = false;
- 
- 		if (ifaces->next >= ifaces->num) {
- 			*err = 0;
-@@ -353,8 +353,8 @@ next_iface(struct iface_info *info, int
- 		}
- #endif /* defined(sun) || defined(__linux) */
- 
--		foundif = ISC_TRUE;
--	} while ((foundif == ISC_FALSE) ||
-+		foundif = true;
-+	} while ((foundif == false) ||
- 		 (strncmp(info->name, "dummy", 5) == 0));
- 	
- 	memset(&tmp, 0, sizeof(tmp));
-@@ -410,7 +410,7 @@ struct iface_conf_list {
- struct iface_info {
- 	char name[IFNAMSIZ];		/* name of the interface, e.g. "bge0" */
- 	struct sockaddr_storage addr;	/* address information */
--	isc_uint64_t flags;		/* interface flags, e.g. IFF_LOOPBACK */
-+	uint64_t flags;			/* interface flags, e.g. IFF_LOOPBACK */
- };
- 
- /* 
-@@ -1190,9 +1190,9 @@ got_one_v6(omapi_object_t *h) {
- 		 * If a packet is not multicast, we assume it is unicast.
- 		 */
- 		if (IN6_IS_ADDR_MULTICAST(&to)) { 
--			is_unicast = ISC_FALSE;
-+			is_unicast = false;
- 		} else {
--			is_unicast = ISC_TRUE;
-+			is_unicast = true;
- 		}
- 
- 		ifrom.len = 16;
-Index: dhcp-4.4.1/omapip/iscprint.c
-===================================================================
---- dhcp-4.4.1.orig/omapip/iscprint.c
-+++ dhcp-4.4.1/omapip/iscprint.c
-@@ -59,8 +59,8 @@ isc_print_vsnprintf(char *str, size_t si
- 	int plus;
- 	int space;
- 	int neg;
--	isc_int64_t tmpi;
--	isc_uint64_t tmpui;
-+	int64_t tmpi;
-+	uint64_t tmpui;
- 	unsigned long width;
- 	unsigned long precision;
- 	unsigned int length;
-@@ -234,7 +234,7 @@ isc_print_vsnprintf(char *str, size_t si
- 				goto printint;
- 			case 'o':
- 				if (q)
--					tmpui = va_arg(ap, isc_uint64_t);
-+					tmpui = va_arg(ap, uint64_t);
- 				else if (l)
- 					tmpui = va_arg(ap, long int);
- 				else
-@@ -244,7 +244,7 @@ isc_print_vsnprintf(char *str, size_t si
- 				goto printint;
- 			case 'u':
- 				if (q)
--					tmpui = va_arg(ap, isc_uint64_t);
-+					tmpui = va_arg(ap, uint64_t);
- 				else if (l)
- 					tmpui = va_arg(ap, unsigned long int);
- 				else
-@@ -253,7 +253,7 @@ isc_print_vsnprintf(char *str, size_t si
- 				goto printint;
- 			case 'x':
- 				if (q)
--					tmpui = va_arg(ap, isc_uint64_t);
-+					tmpui = va_arg(ap, uint64_t);
- 				else if (l)
- 					tmpui = va_arg(ap, unsigned long int);
- 				else
-@@ -267,7 +267,7 @@ isc_print_vsnprintf(char *str, size_t si
- 				goto printint;
- 			case 'X':
- 				if (q)
--					tmpui = va_arg(ap, isc_uint64_t);
-+					tmpui = va_arg(ap, uint64_t);
- 				else if (l)
- 					tmpui = va_arg(ap, unsigned long int);
- 				else
-Index: dhcp-4.4.1/server/confpars.c
-===================================================================
---- dhcp-4.4.1.orig/server/confpars.c
-+++ dhcp-4.4.1/server/confpars.c
-@@ -4005,15 +4005,15 @@ add_ipv6_pool_to_subnet(struct subnet *s
- 
- 	/* Only bother if we aren't already flagged as jumbo */
- 	if (pond->jumbo_range == 0) {
--		if ((units - bits) > (sizeof(isc_uint64_t) * 8)) {
-+		if ((units - bits) > (sizeof(uint64_t) * 8)) {
- 			pond->jumbo_range = 1;
- 			pond->num_total = POND_TRACK_MAX;
- 		}
- 		else {
--			isc_uint64_t space_left
-+			uint64_t space_left
- 				= POND_TRACK_MAX - pond->num_total;
--			isc_uint64_t addon
--				= (isc_uint64_t)(1) << (units - bits);
-+			uint64_t addon
-+				= (uint64_t)(1) << (units - bits);
- 
- 			if (addon > space_left) {
- 				pond->jumbo_range = 1;
-@@ -4739,7 +4739,7 @@ parse_ia_na_declaration(struct parse *cf
- 	struct iasubopt *iaaddr;
- 	struct ipv6_pool *pool;
- 	char addr_buf[sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")];
--	isc_boolean_t newbinding;
-+	bool newbinding;
- 	struct binding_scope *scope = NULL;
- 	struct binding *bnd;
- 	struct binding_value *nv = NULL;
-@@ -4959,9 +4959,9 @@ parse_ia_na_declaration(struct parse *cf
- 					}
- 					strcpy(bnd->name, val);
- 
--					newbinding = ISC_TRUE;
-+					newbinding = true;
- 				} else {
--					newbinding = ISC_FALSE;
-+					newbinding = false;
- 				}
- 
- 				if (!binding_value_allocate(&nv, MDL)) {
-@@ -5186,7 +5186,7 @@ parse_ia_ta_declaration(struct parse *cf
- 	struct iasubopt *iaaddr;
- 	struct ipv6_pool *pool;
- 	char addr_buf[sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")];
--	isc_boolean_t newbinding;
-+	bool newbinding;
- 	struct binding_scope *scope = NULL;
- 	struct binding *bnd;
- 	struct binding_value *nv = NULL;
-@@ -5406,9 +5406,9 @@ parse_ia_ta_declaration(struct parse *cf
- 					}
- 					strcpy(bnd->name, val);
- 
--					newbinding = ISC_TRUE;
-+					newbinding = true;
- 				} else {
--					newbinding = ISC_FALSE;
-+					newbinding = false;
- 				}
- 
- 				if (!binding_value_allocate(&nv, MDL)) {
-@@ -5623,7 +5623,7 @@ parse_ia_pd_declaration(struct parse *cf
- 	struct iasubopt *iapref;
- 	struct ipv6_pool *pool;
- 	char addr_buf[sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")];
--	isc_boolean_t newbinding;
-+	bool newbinding;
- 	struct binding_scope *scope = NULL;
- 	struct binding *bnd;
- 	struct binding_value *nv = NULL;
-@@ -5843,9 +5843,9 @@ parse_ia_pd_declaration(struct parse *cf
- 					}
- 					strcpy(bnd->name, val);
- 
--					newbinding = ISC_TRUE;
-+					newbinding = true;
- 				} else {
--					newbinding = ISC_FALSE;
-+					newbinding = false;
- 				}
- 
- 				if (!binding_value_allocate(&nv, MDL)) {
-Index: dhcp-4.4.1/server/dhcpv6.c
-===================================================================
---- dhcp-4.4.1.orig/server/dhcpv6.c
-+++ dhcp-4.4.1/server/dhcpv6.c
-@@ -71,8 +71,8 @@ struct reply_state {
- 	unsigned ia_count;
- 	unsigned pd_count;
- 	unsigned client_resources;
--	isc_boolean_t resources_included;
--	isc_boolean_t static_lease;
-+	bool resources_included;
-+	bool static_lease;
- 	unsigned static_prefixes;
- 	struct ia_xx *ia;
- 	struct ia_xx *old_ia;
-@@ -123,7 +123,7 @@ static isc_result_t shared_network_from_
- 						struct packet *packet);
- static void seek_shared_host(struct host_decl **hp,
- 			     struct shared_network *shared);
--static isc_boolean_t fixed_matches_shared(struct host_decl *host,
-+static bool fixed_matches_shared(struct host_decl *host,
- 					  struct shared_network *shared);
- static isc_result_t reply_process_ia_na(struct reply_state *reply,
- 					struct option_cache *ia);
-@@ -131,9 +131,9 @@ static isc_result_t reply_process_ia_ta(
- 					struct option_cache *ia);
- static isc_result_t reply_process_addr(struct reply_state *reply,
- 				       struct option_cache *addr);
--static isc_boolean_t address_is_owned(struct reply_state *reply,
-+static bool address_is_owned(struct reply_state *reply,
- 				      struct iaddr *addr);
--static isc_boolean_t temporary_is_available(struct reply_state *reply,
-+static bool temporary_is_available(struct reply_state *reply,
- 					    struct iaddr *addr);
- static isc_result_t find_client_temporaries(struct reply_state *reply);
- static isc_result_t reply_process_try_addr(struct reply_state *reply,
-@@ -151,7 +151,7 @@ static isc_result_t reply_process_ia_pd(
- static struct group *find_group_by_prefix(struct reply_state *reply);
- static isc_result_t reply_process_prefix(struct reply_state *reply,
- 					 struct option_cache *pref);
--static isc_boolean_t prefix_is_owned(struct reply_state *reply,
-+static bool prefix_is_owned(struct reply_state *reply,
- 				     struct iaddrcidrnet *pref);
- static isc_result_t find_client_prefix(struct reply_state *reply);
- static isc_result_t reply_process_try_prefix(struct reply_state *reply,
-@@ -174,7 +174,7 @@ static void unicast_reject(struct data_s
- 		  const struct data_string *client_id,
- 		  const struct data_string *server_id);
- 
--static isc_boolean_t is_unicast_option_defined(struct packet *packet);
-+static bool is_unicast_option_defined(struct packet *packet);
- static isc_result_t shared_network_from_requested_addr (struct shared_network
- 							**shared,
- 							struct packet* packet);
-@@ -363,7 +363,7 @@ static struct data_string server_duid;
- /*
-  * Check if the server_duid has been set.
-  */
--isc_boolean_t
-+bool
- server_duid_isset(void) {
- 	return (server_duid.data != NULL);
- }
-@@ -992,7 +992,7 @@ void check_pool6_threshold(struct reply_
- 			   struct iasubopt *lease)
- {
- 	struct ipv6_pond *pond;
--	isc_uint64_t used, count, high_threshold;
-+	uint64_t used, count, high_threshold;
- 	int poolhigh = 0, poollow = 0;
- 	char *shared_name = "no name";
- 	char tmp_addr[INET6_ADDRSTRLEN];
-@@ -1310,9 +1310,9 @@ pick_v6_address(struct reply_state *repl
- 	unsigned int attempts;
- 	char tmp_buf[INET6_ADDRSTRLEN];
- 	struct iasubopt **addr = &reply->lease;
--        isc_uint64_t total = 0;
--        isc_uint64_t active = 0;
--        isc_uint64_t abandoned = 0;
-+        uint64_t total = 0;
-+        uint64_t active = 0;
-+        uint64_t abandoned = 0;
- 	int jumbo_range = 0;
- 	char *shared_name = (reply->shared->name ?
- 			     reply->shared->name : "(no name)");
-@@ -1825,7 +1825,7 @@ lease_to_client(struct data_string *repl
- 
- 		/* Start counting resources (addresses) offered. */
- 		reply.client_resources = 0;
--		reply.resources_included = ISC_FALSE;
-+		reply.resources_included = false;
- 
- 		status = reply_process_ia_na(&reply, oc);
- 
-@@ -1843,7 +1843,7 @@ lease_to_client(struct data_string *repl
- 
- 		/* Start counting resources (addresses) offered. */
- 		reply.client_resources = 0;
--		reply.resources_included = ISC_FALSE;
-+		reply.resources_included = false;
- 
- 		status = reply_process_ia_ta(&reply, oc);
- 
-@@ -1864,7 +1864,7 @@ lease_to_client(struct data_string *repl
- 
- 		/* Start counting resources (prefixes) offered. */
- 		reply.client_resources = 0;
--		reply.resources_included = ISC_FALSE;
-+		reply.resources_included = false;
- 
- 		status = reply_process_ia_pd(&reply, oc);
- 
-@@ -2077,9 +2077,9 @@ reply_process_ia_na(struct reply_state *
- 					tmp_addr, MDL) == 0)
- 			log_fatal("Impossible condition at %s:%d.", MDL);
- 
--		reply->static_lease = ISC_TRUE;
-+		reply->static_lease = true;
- 	} else
--		reply->static_lease = ISC_FALSE;
-+		reply->static_lease = false;
- 
- 	/*
- 	 * Save the cursor position at the start of the IA, so we can
-@@ -2778,7 +2778,7 @@ reply_process_addr(struct reply_state *r
-  * (fault out all else).  Otherwise it's a dynamic address, so lookup
-  * that address and make sure it belongs to this DUID:IAID pair.
-  */
--static isc_boolean_t
-+static bool
- address_is_owned(struct reply_state *reply, struct iaddr *addr) {
- 	int i;
- 	struct ipv6_pond *pond;
-@@ -2791,13 +2791,13 @@ address_is_owned(struct reply_state *rep
- 			log_fatal("Impossible condition at %s:%d.", MDL);
- 
- 		if (memcmp(addr->iabuf, reply->fixed.data, 16) == 0)
--			return (ISC_TRUE);
-+			return (true);
- 
--		return (ISC_FALSE);
-+		return (false);
- 	}
- 
- 	if ((reply->old_ia == NULL) || (reply->old_ia->num_iasubopt == 0))
--		return (ISC_FALSE);
-+		return (false);
- 
- 	for (i = 0 ; i < reply->old_ia->num_iasubopt ; i++) {
- 		struct iasubopt *tmp;
-@@ -2805,8 +2805,8 @@ address_is_owned(struct reply_state *rep
- 		tmp = reply->old_ia->iasubopt[i];
- 
- 		if (memcmp(addr->iabuf, &tmp->addr, 16) == 0) {
--			if (lease6_usable(tmp) == ISC_FALSE) {
--				return (ISC_FALSE);
-+			if (lease6_usable(tmp) == false) {
-+				return (false);
- 			}
- 
- 			pond = tmp->ipv6_pool->ipv6_pond;
-@@ -2814,15 +2814,15 @@ address_is_owned(struct reply_state *rep
- 			     (permitted(reply->packet, pond->prohibit_list))) ||
- 			    ((pond->permit_list != NULL) &&
- 			     (!permitted(reply->packet, pond->permit_list))))
--				return (ISC_FALSE);
-+				return (false);
- 
- 			iasubopt_reference(&reply->lease, tmp, MDL);
- 
--			return (ISC_TRUE);
-+			return (true);
- 		}
- 	}
- 
--	return (ISC_FALSE);
-+	return (false);
- }
- 
- /* Process a client-supplied IA_TA.  This may append options to the tail of
-@@ -2890,7 +2890,7 @@ reply_process_ia_ta(struct reply_state *
- 	/*
- 	 * Temporary leases are dynamic by definition.
- 	 */
--	reply->static_lease = ISC_FALSE;
-+	reply->static_lease = false;
- 
- 	/*
- 	 * Save the cursor position at the start of the IA, so we can
-@@ -2972,7 +2972,7 @@ reply_process_ia_ta(struct reply_state *
- 		}
- 		status = ISC_R_CANCELED;
- 		reply->client_resources = 0;
--		reply->resources_included = ISC_FALSE;
-+		reply->resources_included = false;
- 		if (reply->lease != NULL)
- 			iasubopt_dereference(&reply->lease, MDL);
- 	}
-@@ -3364,7 +3364,7 @@ void shorten_lifetimes(struct reply_stat
- /*
-  * Verify the temporary address is available.
-  */
--static isc_boolean_t
-+static bool
- temporary_is_available(struct reply_state *reply, struct iaddr *addr) {
- 	struct in6_addr tmp_addr;
- 	struct subnet *subnet;
-@@ -3379,7 +3379,7 @@ temporary_is_available(struct reply_stat
- 	 * So this is not a request for this address.
- 	 */
- 	if (IN6_IS_ADDR_UNSPECIFIED(&tmp_addr))
--		return ISC_FALSE;
-+		return false;
- 
- 	/*
- 	 * Verify that this address is on the client's network.
-@@ -3393,13 +3393,13 @@ temporary_is_available(struct reply_stat
- 
- 	/* Address not found on shared network. */
- 	if (subnet == NULL)
--		return ISC_FALSE;
-+		return false;
- 
- 	/*
- 	 * Check if this address is owned (must be before next step).
- 	 */
- 	if (address_is_owned(reply, addr))
--		return ISC_TRUE;
-+		return true;
- 
- 	/*
- 	 * Verify that this address is in a temporary pool and try to get it.
-@@ -3424,18 +3424,18 @@ temporary_is_available(struct reply_stat
- 	}
- 
- 	if (pool == NULL)
--		return ISC_FALSE;
-+		return false;
- 	if (lease6_exists(pool, &tmp_addr))
--		return ISC_FALSE;
-+		return false;
- 	if (iasubopt_allocate(&reply->lease, MDL) != ISC_R_SUCCESS)
--		return ISC_FALSE;
-+		return false;
- 	reply->lease->addr = tmp_addr;
- 	reply->lease->plen = 0;
- 	/* Default is soft binding for 2 minutes. */
- 	if (add_lease6(pool, reply->lease, cur_time + 120) != ISC_R_SUCCESS)
--		return ISC_FALSE;
-+		return false;
- 
--	return ISC_TRUE;
-+	return true;
- }
- 
- /*
-@@ -3652,7 +3652,7 @@ find_client_address(struct reply_state *
- 			 */
- 
- 			if ((candidate_shared != reply->shared) ||
--			    (lease6_usable(lease) != ISC_TRUE))
-+			    (lease6_usable(lease) != true))
- 				continue;
- 
- 			if (((pond->prohibit_list != NULL) &&
-@@ -3971,7 +3971,7 @@ reply_process_send_addr(struct reply_sta
- 		goto cleanup;
- 	}
- 
--	reply->resources_included = ISC_TRUE;
-+	reply->resources_included = true;
- 
-       cleanup:
- 	if (data.data != NULL)
-@@ -4722,7 +4722,7 @@ reply_process_prefix(struct reply_state
-  * (fault out all else).  Otherwise it's a dynamic prefix, so lookup
-  * that prefix and make sure it belongs to this DUID:IAID pair.
-  */
--static isc_boolean_t
-+static bool
- prefix_is_owned(struct reply_state *reply, struct iaddrcidrnet *pref) {
- 	struct iaddrcidrnetlist *l;
- 	int i;
-@@ -4736,14 +4736,14 @@ prefix_is_owned(struct reply_state *repl
- 			if ((pref->bits == l->cidrnet.bits) &&
- 			    (memcmp(pref->lo_addr.iabuf,
- 				    l->cidrnet.lo_addr.iabuf, 16) == 0))
--				return (ISC_TRUE);
-+				return (true);
- 		}
--		return (ISC_FALSE);
-+		return (false);
- 	}
- 
- 	if ((reply->old_ia == NULL) ||
- 	    (reply->old_ia->num_iasubopt == 0))
--		return (ISC_FALSE);
-+		return (false);
- 
- 	for (i = 0 ; i < reply->old_ia->num_iasubopt ; i++) {
- 		struct iasubopt *tmp;
-@@ -4752,8 +4752,8 @@ prefix_is_owned(struct reply_state *repl
- 
- 		if ((pref->bits == (int) tmp->plen) &&
- 		    (memcmp(pref->lo_addr.iabuf, &tmp->addr, 16) == 0)) {
--			if (lease6_usable(tmp) == ISC_FALSE) {
--				return (ISC_FALSE);
-+			if (lease6_usable(tmp) == false) {
-+				return (false);
- 			}
- 
- 			pond = tmp->ipv6_pool->ipv6_pond;
-@@ -4761,14 +4761,14 @@ prefix_is_owned(struct reply_state *repl
- 			     (permitted(reply->packet, pond->prohibit_list))) ||
- 			    ((pond->permit_list != NULL) &&
- 			     (!permitted(reply->packet, pond->permit_list))))
--				return (ISC_FALSE);
-+				return (false);
- 
- 			iasubopt_reference(&reply->lease, tmp, MDL);
--			return (ISC_TRUE);
-+			return (true);
- 		}
- 	}
- 
--	return (ISC_FALSE);
-+	return (false);
- }
- 
- /*
-@@ -4914,7 +4914,7 @@ find_client_prefix(struct reply_state *r
- 			 */
- 			if (((candidate_shared != NULL) &&
- 			     (candidate_shared != reply->shared)) ||
--			    (lease6_usable(prefix) != ISC_TRUE))
-+			    (lease6_usable(prefix) != true))
- 				continue;
- 
- 			/*
-@@ -5233,7 +5233,7 @@ reply_process_send_prefix(struct reply_s
- 		goto cleanup;
- 	}
- 
--	reply->resources_included = ISC_TRUE;
-+	reply->resources_included = true;
- 
-       cleanup:
- 	if (data.data != NULL)
-@@ -5383,8 +5383,8 @@ dhcpv6_request(struct data_string *reply
- 
- 	/* If the REQUEST arrived via unicast and unicast option isn't set,
-  	 * reject it per RFC 3315, Sec 18.2.1 */
--	if (packet->unicast == ISC_TRUE &&
--	    is_unicast_option_defined(packet) == ISC_FALSE) {
-+	if (packet->unicast == true &&
-+	    is_unicast_option_defined(packet) == false) {
- 		unicast_reject(reply_ret, packet, &client_id, &server_id);
- 	} else {
- 		/*
-@@ -5505,7 +5505,7 @@ dhcpv6_confirm(struct data_string *reply
- 	struct option_state *cli_enc_opt_state, *opt_state;
- 	struct iaddr cli_addr;
- 	int pass;
--	isc_boolean_t inappropriate, has_addrs;
-+	bool inappropriate, has_addrs;
- 	char reply_data[65536];
- 	struct dhcpv6_packet *reply = (struct dhcpv6_packet *)reply_data;
- 	int reply_ofs = (int)(offsetof(struct dhcpv6_packet, options));
-@@ -5556,7 +5556,7 @@ dhcpv6_confirm(struct data_string *reply
- 		goto exit;
- 
- 	/* Are the addresses in all the IA's appropriate for that link? */
--	has_addrs = inappropriate = ISC_FALSE;
-+	has_addrs = inappropriate = false;
- 	pass = D6O_IA_NA;
- 	while(!inappropriate) {
- 		/* If we've reached the end of the IA_NA pass, move to the
-@@ -5602,7 +5602,7 @@ dhcpv6_confirm(struct data_string *reply
- 			data_string_forget(&iaaddr, MDL);
- 
- 			/* Record that we've processed at least one address. */
--			has_addrs = ISC_TRUE;
-+			has_addrs = true;
- 
- 			/* Find out if any subnets cover this address. */
- 			for (subnet = shared->subnets ; subnet != NULL ;
-@@ -5621,7 +5621,7 @@ dhcpv6_confirm(struct data_string *reply
- 			 * continue searching.
- 			 */
- 			if (subnet == NULL) {
--				inappropriate = ISC_TRUE;
-+				inappropriate = true;
- 				break;
- 			}
- 		}
-@@ -5719,8 +5719,8 @@ dhcpv6_renew(struct data_string *reply,
- 
- 	/* If the RENEW arrived via unicast and unicast option isn't set,
- 	 * reject it per RFC 3315, Sec 18.2.3 */
--	if (packet->unicast == ISC_TRUE &&
--	    is_unicast_option_defined(packet) == ISC_FALSE) {
-+	if (packet->unicast == true &&
-+	    is_unicast_option_defined(packet) == false) {
- 		unicast_reject(reply, packet, &client_id, &server_id);
- 	} else {
- 		/*
-@@ -6142,8 +6142,8 @@ dhcpv6_decline(struct data_string *reply
- 
- 	/* If the DECLINE arrived via unicast and unicast option isn't set,
- 	 * reject it per RFC 3315, Sec 18.2.7 */
--	if (packet->unicast == ISC_TRUE &&
--	    is_unicast_option_defined(packet) == ISC_FALSE) {
-+	if (packet->unicast == true &&
-+	    is_unicast_option_defined(packet) == false) {
- 		unicast_reject(reply, packet, &client_id, &server_id);
- 	} else {
- 		/*
-@@ -6597,8 +6597,8 @@ dhcpv6_release(struct data_string *reply
- 
- 	/* If the RELEASE arrived via unicast and unicast option isn't set,
-  	 * reject it per RFC 3315, Sec 18.2.6 */
--	if (packet->unicast == ISC_TRUE &&
--	    is_unicast_option_defined(packet) == ISC_FALSE) {
-+	if (packet->unicast == true &&
-+	    is_unicast_option_defined(packet) == false) {
- 		unicast_reject(reply, packet, &client_id, &server_id);
- 	} else {
- 		/*
-@@ -6897,7 +6897,7 @@ dhcpv6_relay_forw(struct data_string *re
- 		}
- 		data_string_forget(&a_opt, MDL);
- 
--		packet->relay_source_port = ISC_TRUE;
-+		packet->relay_source_port = true;
- 	}
- #endif
- 
-@@ -7219,7 +7219,7 @@ dhcp4o6_relay_forw(struct data_string *r
- 		}
- 		data_string_forget(&a_opt, MDL);
- 
--		packet->relay_source_port = ISC_TRUE;
-+		packet->relay_source_port = true;
- 	}
- #endif
- 
-@@ -8036,35 +8036,35 @@ seek_shared_host(struct host_decl **hp,
- 		host_reference(hp, seek, MDL);
- }
- 
--static isc_boolean_t
-+static bool
- fixed_matches_shared(struct host_decl *host, struct shared_network *shared) {
- 	struct subnet *subnet;
- 	struct data_string addr;
--	isc_boolean_t matched;
-+	bool matched;
- 	struct iaddr fixed;
- 
- 	if (host->fixed_addr == NULL)
--		return ISC_FALSE;
-+		return false;
- 
- 	memset(&addr, 0, sizeof(addr));
- 	if (!evaluate_option_cache(&addr, NULL, NULL, NULL, NULL, NULL,
- 				   &global_scope, host->fixed_addr, MDL))
--		return ISC_FALSE;
-+		return false;
- 
- 	if (addr.len < 16) {
- 		data_string_forget(&addr, MDL);
--		return ISC_FALSE;
-+		return false;
- 	}
- 
- 	fixed.len = 16;
- 	memcpy(fixed.iabuf, addr.data, 16);
- 
--	matched = ISC_FALSE;
-+	matched = false;
- 	for (subnet = shared->subnets ; subnet != NULL ;
- 	     subnet = subnet->next_sibling) {
- 		if (addr_eq(subnet_number(fixed, subnet->netmask),
- 			    subnet->net)) {
--			matched = ISC_TRUE;
-+			matched = true;
- 			break;
- 		}
- 	}
-@@ -8167,15 +8167,15 @@ unicast_reject(struct data_string *reply
-  * statements from the network's group outward into a local option cache.
-  * The option cache is then scanned for the presence of unicast option.  If
-  * the packet cannot be mapped to a shared network, the function returns
-- * ISC_FALSE.
-+ * false.
-  * \param packet inbound packet from the client
-  *
-- * \return ISC_TRUE if the dhcp6.unicast option is defined, false otherwise.
-+ * \return true if the dhcp6.unicast option is defined, false otherwise.
-  *
-  */
--isc_boolean_t
-+bool
- is_unicast_option_defined(struct packet *packet) {
--        isc_boolean_t is_defined = ISC_FALSE;
-+        bool is_defined = false;
- 	struct option_state *opt_state = NULL;
- 	struct option_cache *oc = NULL;
- 	struct shared_network *shared = NULL;
-@@ -8195,7 +8195,7 @@ is_unicast_option_defined(struct packet
- 		 * logic will catch it */
- 		log_error("is_unicast_option_defined:"
- 			  "cannot attribute packet to a network.");
--		return (ISC_FALSE);
-+		return (false);
- 	}
- 
- 	/* Now that we've mapped it to a network, execute statments to that
-@@ -8205,7 +8205,7 @@ is_unicast_option_defined(struct packet
- 				    &global_scope, shared->group, NULL, NULL);
- 
- 	oc = lookup_option(&dhcpv6_universe, opt_state, D6O_UNICAST);
--	is_defined = (oc != NULL ? ISC_TRUE : ISC_FALSE);
-+	is_defined = (oc != NULL ? true : false);
- 	log_debug("is_unicast_option_defined: option found : %d", is_defined);
- 
- 	if (shared != NULL) {
-Index: dhcp-4.4.1/client/clparse.c
-===================================================================
---- dhcp-4.4.1.orig/client/clparse.c
-+++ dhcp-4.4.1/client/clparse.c
-@@ -1527,7 +1527,7 @@ parse_client6_lease_statement(struct par
- 
- 		      case TOKEN_RELEASED:
- 		      case TOKEN_ABANDONED:
--			lease->released = ISC_TRUE;
-+			lease->released = true;
- 			break;
- 
- 		      default:
-Index: dhcp-4.4.1/client/dhc6.c
-===================================================================
---- dhcp-4.4.1.orig/client/dhc6.c
-+++ dhcp-4.4.1/client/dhc6.c
-@@ -109,7 +109,7 @@ static isc_result_t dhc6_add_ia_pd(struc
- 				   u_int8_t message,
- 				   int wanted,
- 				   int *added);
--static isc_boolean_t stopping_finished(void);
-+static bool stopping_finished(void);
- static void dhc6_merge_lease(struct dhc6_lease *src, struct dhc6_lease *dst);
- void do_select6(void *input);
- void do_refresh6(void *input);
-@@ -131,7 +131,7 @@ static void script_write_params6(struct
- 				 const char *prefix,
- 				 struct option_state *options);
- static void script_write_requested6(struct client_state *client);
--static isc_boolean_t active_prefix(struct client_state *client);
-+static bool active_prefix(struct client_state *client);
- 
- static int check_timing6(struct client_state *client, u_int8_t msg_type,
- 			 char *msg_str, struct dhc6_lease *lease,
-@@ -149,7 +149,7 @@ static isc_result_t dhc6_add_ia_na_decli
- 					   struct data_string *packet,
- 					   struct dhc6_lease *lease);
- static int drop_declined_addrs(struct dhc6_lease *lease);
--static isc_boolean_t unexpired_address_in_lease(struct dhc6_lease *lease);
-+static bool unexpired_address_in_lease(struct dhc6_lease *lease);
- 
- extern int onetry;
- extern int stateless;
-@@ -418,14 +418,14 @@ valid_reply(struct packet *packet, struc
- {
- 	struct data_string sid, cid;
- 	struct option_cache *oc;
--	int rval = ISC_TRUE;
-+	int rval = true;
- 
- 	memset(&sid, 0, sizeof(sid));
- 	memset(&cid, 0, sizeof(cid));
- 
- 	if (!lookup_option(&dhcpv6_universe, packet->options, D6O_SERVERID)) {
- 		log_error("Response without a server identifier received.");
--		rval = ISC_FALSE;
-+		rval = false;
- 	}
- 
- 	oc = lookup_option(&dhcpv6_universe, packet->options, D6O_CLIENTID);
-@@ -434,7 +434,7 @@ valid_reply(struct packet *packet, struc
- 				   client->sent_options, &global_scope, oc,
- 				   MDL)) {
- 		log_error("Response without a client identifier.");
--		rval = ISC_FALSE;
-+		rval = false;
- 	}
- 
- 	oc = lookup_option(&dhcpv6_universe, client->sent_options,
-@@ -444,7 +444,7 @@ valid_reply(struct packet *packet, struc
- 				   client->sent_options, NULL, &global_scope,
- 				   oc, MDL)) {
- 		log_error("Local client identifier is missing!");
--		rval = ISC_FALSE;
-+		rval = false;
- 	}
- 
- 	if (sid.len == 0 ||
-@@ -452,7 +452,7 @@ valid_reply(struct packet *packet, struc
- 	    memcmp(sid.data, cid.data, sid.len)) {
- 		log_error("Advertise with matching transaction ID, but "
- 			  "mismatching client id.");
--		rval = ISC_FALSE;
-+		rval = false;
- 	}
- 
- 	/* clean up pointers to the strings */
-@@ -2375,7 +2375,7 @@ start_release6(struct client_state *clie
- 	/* Note this in the lease file. */
- 	if (client->active_lease == NULL)
- 		return;
--	client->active_lease->released = ISC_TRUE;
-+	client->active_lease->released = true;
- 	write_client6_lease(client, client->active_lease, 0, 1);
- 
- 	/* Set timers per RFC3315 section 18.1.6. */
-@@ -2612,7 +2612,7 @@ dhc6_check_advertise(struct dhc6_lease *
- {
- 	struct dhc6_ia *ia;
- 	isc_result_t rval = ISC_R_SUCCESS;
--	int have_addrs = ISC_FALSE;
-+	int have_addrs = false;
- 	unsigned code;
- 	const char *scope;
- 	int got_na = 0, got_ta = 0, got_pd = 0;
-@@ -2650,14 +2650,14 @@ dhc6_check_advertise(struct dhc6_lease *
- 		 * Should we check the addr itself for usability?
- 		 */
- 		if (ia->addrs != NULL) {
--			have_addrs = ISC_TRUE;
-+			have_addrs = true;
- 		}
- 	}
- 
- 	/* If we didn't get some addrs or the user required us to
- 	 * get all of the requested IAs and we didn't return an error
- 	 */
--	if ((have_addrs != ISC_TRUE) ||
-+	if ((have_addrs != true) ||
- 	    ((require_all_ias != 0) &&
- 	     ((got_na < wanted_ia_na) ||
- 	      (got_ta < wanted_ia_ta) ||
-@@ -2670,7 +2670,7 @@ dhc6_check_advertise(struct dhc6_lease *
- /* status code <-> action matrix for the client in INIT state
-  * (rapid/commit).  Returns always false as no action is defined.
-  */
--static isc_boolean_t
-+static bool
- dhc6_init_action(struct client_state *client, isc_result_t *rvalp,
- 		 unsigned code)
- {
-@@ -2679,21 +2679,21 @@ dhc6_init_action(struct client_state *cl
- 
- 	if (client == NULL) {
- 		*rvalp = DHCP_R_INVALIDARG;
--		return ISC_FALSE;
-+		return false;
- 	}
- 
- 	if (*rvalp == ISC_R_SUCCESS)
--		return ISC_FALSE;
-+		return false;
- 
- 	/* No possible action in any case... */
--	return ISC_FALSE;
-+	return false;
- }
- 
- /* status code <-> action matrix for the client in SELECT state
-  * (request/reply).  Returns true if action was taken (and the
-  * packet should be ignored), or false if no action was taken.
-  */
--static isc_boolean_t
-+static bool
- dhc6_select_action(struct client_state *client, isc_result_t *rvalp,
- 		   unsigned code)
- {
-@@ -2705,12 +2705,12 @@ dhc6_select_action(struct client_state *
- 
- 	if (client == NULL) {
- 		*rvalp = DHCP_R_INVALIDARG;
--		return ISC_FALSE;
-+		return false;
- 	}
- 	rval = *rvalp;
- 
- 	if (rval == ISC_R_SUCCESS)
--		return ISC_FALSE;
-+		return false;
- 
- 	switch (code) {
- 		/* We may have an earlier failure status code (so no
-@@ -2723,7 +2723,7 @@ dhc6_select_action(struct client_state *
- 	      case STATUS_NoBinding:
- 	      case STATUS_UseMulticast:
- 		/* Take no action. */
--		return ISC_FALSE;
-+		return false;
- 
- 		/* If the server can't deal with us, either try the
- 		 * next advertised server, or continue retrying if there
-@@ -2739,7 +2739,7 @@ dhc6_select_action(struct client_state *
- 
- 			break;
- 		} else /* Take no action - continue to retry. */
--			return ISC_FALSE;
-+			return false;
- 
- 		/* If the server has no addresses, try other servers if
- 		 * we got some, otherwise go to INIT to hope for more
-@@ -2748,7 +2748,7 @@ dhc6_select_action(struct client_state *
- 	      case STATUS_NoAddrsAvail:
- 	      case STATUS_NoPrefixAvail:
- 		if (client->state == S_REBOOTING)
--			return ISC_FALSE;
-+			return false;
- 
- 		if (client->selected_lease == NULL)
- 			log_fatal("Impossible case at %s:%d.", MDL);
-@@ -2794,7 +2794,7 @@ dhc6_select_action(struct client_state *
- 		break;
- 	}
- 
--	return ISC_TRUE;
-+	return true;
- }
- 
- static void
-@@ -2821,7 +2821,7 @@ dhc6_withdraw_lease(struct client_state
-  * (request/reply).  Returns true if action was taken (and the
-  * packet should be ignored), or false if no action was taken.
-  */
--static isc_boolean_t
-+static bool
- dhc6_reply_action(struct client_state *client, isc_result_t *rvalp,
- 		  unsigned code)
- {
-@@ -2832,12 +2832,12 @@ dhc6_reply_action(struct client_state *c
- 
- 	if (client == NULL) {
- 		*rvalp = DHCP_R_INVALIDARG;
--		return ISC_FALSE;
-+		return false;
- 	}
- 	rval = *rvalp;
- 
- 	if (rval == ISC_R_SUCCESS)
--		return ISC_FALSE;
-+		return false;
- 
- 	switch (code) {
- 		/* It's possible an earlier status code set rval to a failure
-@@ -2852,7 +2852,7 @@ dhc6_reply_action(struct client_state *c
- 	      case STATUS_UnspecFail:
- 		/* For unknown codes...it's a soft (retryable) error. */
- 	      default:
--		return ISC_FALSE;
-+		return false;
- 
- 		/* The server is telling us to use a multicast address, so
- 		 * we have to delete the unicast option from the active
-@@ -2865,7 +2865,7 @@ dhc6_reply_action(struct client_state *c
- 			delete_option(&dhcp_universe,
- 				      client->active_lease->options,
- 				      D6O_UNICAST);
--		return ISC_FALSE;
-+		return false;
- 
- 		/* "When the client receives a NotOnLink status from the
- 		 *  server in response to a Request, the client can either
-@@ -2914,7 +2914,7 @@ dhc6_reply_action(struct client_state *c
- 		break;
- 	}
- 
--	return ISC_TRUE;
-+	return true;
- }
- 
- /* status code <-> action matrix for the client in STOPPED state
-@@ -2922,7 +2922,7 @@ dhc6_reply_action(struct client_state *c
-  * packet should be ignored), or false if no action was taken.
-  * NoBinding is translated into Success.
-  */
--static isc_boolean_t
-+static bool
- dhc6_stop_action(struct client_state *client, isc_result_t *rvalp,
- 		  unsigned code)
- {
-@@ -2933,12 +2933,12 @@ dhc6_stop_action(struct client_state *cl
- 
- 	if (client == NULL) {
- 		*rvalp = DHCP_R_INVALIDARG;
--		return ISC_FALSE;
-+		return false;
- 	}
- 	rval = *rvalp;
- 
- 	if (rval == ISC_R_SUCCESS)
--		return ISC_FALSE;
-+		return false;
- 
- 	switch (code) {
- 		/* It's possible an earlier status code set rval to a failure
-@@ -2948,13 +2948,13 @@ dhc6_stop_action(struct client_state *cl
- 		/* For unknown codes...it's a soft (retryable) error. */
- 	      case STATUS_UnspecFail:
- 	      default:
--		return ISC_FALSE;
-+		return false;
- 
- 		/* NoBinding is not an error */
- 	      case STATUS_NoBinding:
- 		if (rval == ISC_R_FAILURE)
- 			*rvalp = ISC_R_SUCCESS;
--		return ISC_FALSE;
-+		return false;
- 
- 		/* Should not happen */
- 	      case STATUS_NoAddrsAvail:
-@@ -2976,13 +2976,13 @@ dhc6_stop_action(struct client_state *cl
- 			delete_option(&dhcp_universe,
- 				      client->active_lease->options,
- 				      D6O_UNICAST);
--		return ISC_FALSE;
-+		return false;
- 	}
- 
--	return ISC_TRUE;
-+	return true;
- }
- 
--static isc_boolean_t
-+static bool
- dhc6_decline_action(struct client_state *client, isc_result_t *rvalp,
- 		  unsigned code)
- {
-@@ -2993,12 +2993,12 @@ dhc6_decline_action(struct client_state
- 
- 	if (client == NULL) {
- 		*rvalp = DHCP_R_INVALIDARG;
--		return ISC_FALSE;
-+		return false;
- 	}
- 	rval = *rvalp;
- 
- 	if (rval == ISC_R_SUCCESS) {
--		return ISC_FALSE;
-+		return false;
- 	}
- 
- 	switch (code) {
-@@ -3013,13 +3013,13 @@ dhc6_decline_action(struct client_state
- 			delete_option(&dhcp_universe,
- 				      client->active_lease->options,
- 				      D6O_UNICAST);
--		return ISC_FALSE;
-+		return false;
- 	default:
- 		/* Anything else is basically meaningless */
- 		break;
- 	}
- 
--	return ISC_TRUE;
-+	return true;
- }
- 
- 
-@@ -3029,14 +3029,14 @@ dhc6_decline_action(struct client_state
- static isc_result_t
- dhc6_check_reply(struct client_state *client, struct dhc6_lease *new)
- {
--	isc_boolean_t (*action)(struct client_state *,
-+	bool (*action)(struct client_state *,
- 				isc_result_t *, unsigned);
- 	struct dhc6_ia *ia;
- 	isc_result_t rval = ISC_R_SUCCESS;
- 	unsigned code;
- 	const char *scope;
- 	int nscore, sscore;
--	int have_addrs = ISC_FALSE;
-+	int have_addrs = false;
- 	int got_na = 0, got_ta = 0, got_pd = 0;
- 
- 	if ((client == NULL) || (new == NULL))
-@@ -3102,7 +3102,7 @@ dhc6_check_reply(struct client_state *cl
- 			return ISC_R_CANCELED;
- 
- 		if (ia->addrs != NULL) {
--			have_addrs = ISC_TRUE;
-+			have_addrs = true;
- 		}
- 	}
- 
-@@ -3119,13 +3119,13 @@ dhc6_check_reply(struct client_state *cl
- 	 * check in and commented it as I eventually do want
- 	 * us to check for TAs as well.  SAR
- 	 */
--	if ((have_addrs != ISC_TRUE) ||
-+	if ((have_addrs != true) ||
- 	    ((require_all_ias != 0) &&
- 	     ((got_na < wanted_ia_na) ||
- 	      /*(got_ta < wanted_ia_ta) ||*/
- 	      (got_pd < wanted_ia_pd)))) {
- 		rval = ISC_R_FAILURE;
--		if (action(client, &rval, STATUS_NoAddrsAvail) == ISC_TRUE) {
-+		if (action(client, &rval, STATUS_NoAddrsAvail) == true) {
- 			return ISC_R_CANCELED;
- 		}
- 	}
-@@ -4256,7 +4256,7 @@ dhc6_add_ia_pd(struct client_state *clie
- 
- /* stopping_finished() checks if there is a remaining work to do.
-  */
--static isc_boolean_t
-+static bool
- stopping_finished(void)
- {
- 	struct interface_info *ip;
-@@ -4265,12 +4265,12 @@ stopping_finished(void)
- 	for (ip = interfaces; ip; ip = ip -> next) {
- 		for (client = ip -> client; client; client = client -> next) {
- 			if (client->state != S_STOPPED)
--				return ISC_FALSE;
-+				return false;
- 			if (client->active_lease != NULL)
--				return ISC_FALSE;
-+				return false;
- 		}
- 	}
--	return ISC_TRUE;
-+	return true;
- }
- 
- /* reply_handler() accepts a Reply while we're attempting Select or Renew or
-@@ -4474,8 +4474,8 @@ dhc6_check_times(struct client_state *cl
- 	struct dhc6_addr *addr;
- 	TIME renew=MAX_TIME, rebind=MAX_TIME, depref=MAX_TIME,
- 	     lo_expire=MAX_TIME, hi_expire=0, max_ia_starts = 0, tmp;
--	int has_addrs = ISC_FALSE;
--	int has_preferred_addrs = ISC_FALSE;
-+	int has_addrs = false;
-+	int has_preferred_addrs = false;
- 	struct timeval tv;
- 
- 	lease = client->active_lease;
-@@ -4506,7 +4506,7 @@ dhc6_check_times(struct client_state *cl
- 					depref = tmp;
- 
- 				if (!(addr->flags & DHC6_ADDR_EXPIRED)) {
--					has_preferred_addrs = ISC_TRUE;
-+					has_preferred_addrs = true;
- 				}
- 			}
- 
-@@ -4525,7 +4525,7 @@ dhc6_check_times(struct client_state *cl
- 				if (tmp < this_ia_lo_expire)
- 					this_ia_lo_expire = tmp;
- 
--				has_addrs = ISC_TRUE;
-+				has_addrs = true;
- 			}
- 		}
- 
-@@ -4603,7 +4603,7 @@ dhc6_check_times(struct client_state *cl
- 	 * In the future, we may decide that we're done here, or to
- 	 * schedule a future request (using 4-pkt info-request model).
- 	 */
--	if (has_addrs == ISC_FALSE) {
-+	if (has_addrs == false) {
- 		dhc6_lease_destroy(&client->active_lease, MDL);
- 		client->active_lease = NULL;
- 
-@@ -4855,7 +4855,7 @@ start_bound(struct client_state *client)
- 			  "is selected.");
- 		return;
- 	}
--	lease->released = ISC_FALSE;
-+	lease->released = false;
- 	old = client->old_lease;
- 
- 	client->v6_handler = bound_handler;
-@@ -5448,8 +5448,8 @@ do_expire(void *input)
- 	struct dhc6_lease *lease;
- 	struct dhc6_ia *ia, **tia;
- 	struct dhc6_addr *addr;
--	int has_addrs = ISC_FALSE;
--	int ia_has_addrs = ISC_FALSE;
-+	int has_addrs = false;
-+	int ia_has_addrs = false;
- 
- 	client = (struct client_state *)input;
- 
-@@ -5458,7 +5458,7 @@ do_expire(void *input)
- 		return;
- 
- 	for (ia = lease->bindings, tia = &lease->bindings; ia != NULL ; ) {
--		ia_has_addrs = ISC_FALSE;
-+		ia_has_addrs = false;
- 		for (addr = ia->addrs ; addr != NULL ; addr = addr->next) {
- 			if (addr->flags & DHC6_ADDR_EXPIRED)
- 				continue;
-@@ -5495,14 +5495,14 @@ do_expire(void *input)
- 				continue;
- 			}
- 
--			ia_has_addrs = ISC_TRUE;
--			has_addrs = ISC_TRUE;
-+			ia_has_addrs = true;
-+			has_addrs = true;
- 		}
- 
- 		/* Update to the next ia and git rid of this ia
- 		 * if it doesn't have any leases.
- 		 */
--		if (ia_has_addrs == ISC_TRUE) {
-+		if (ia_has_addrs == true) {
- 			/* leases, just advance the list pointer */
- 			tia = &(*tia)->next;
- 		} else {
-@@ -5517,7 +5517,7 @@ do_expire(void *input)
- 	}
- 
- 	/* Clean up empty leases. */
--	if (has_addrs == ISC_FALSE) {
-+	if (has_addrs == false) {
- 		log_info("PRC: Bound lease is devoid of active addresses."
- 			 "  Re-initializing.");
- 
-@@ -5596,14 +5596,14 @@ dhc6_check_irt(struct client_state *clie
- 	TIME expire = MAX_TIME;
- 	struct timeval tv;
- 	int i;
--	isc_boolean_t found = ISC_FALSE;
-+	bool found = false;
- 
- 	cancel_timeout(refresh_info_request6, client);
- 
- 	req = client->config->requested_options;
- 	for (i = 0; req[i] != NULL; i++) {
- 		if (req[i] == irt_option) {
--			found = ISC_TRUE;
-+			found = true;
- 			break;
- 		}
- 	}
-@@ -5924,7 +5924,7 @@ static void script_write_requested6(clie
- /*
-  * Check if there is something not fully defined in the active lease.
-  */
--static isc_boolean_t
-+static bool
- active_prefix(struct client_state *client)
- {
- 	struct dhc6_lease *lease;
-@@ -5934,21 +5934,21 @@ active_prefix(struct client_state *clien
- 
- 	lease = client->active_lease;
- 	if (lease == NULL)
--		return ISC_FALSE;
-+		return false;
- 	memset(zeros, 0, 16);
- 	for (ia = lease->bindings; ia != NULL; ia = ia->next) {
- 		if (ia->ia_type != D6O_IA_PD)
- 			continue;
- 		for (pref = ia->addrs; pref != NULL; pref = pref->next) {
- 			if (pref->plen == 0)
--				return ISC_FALSE;
-+				return false;
- 			if (pref->address.len != 16)
--				return ISC_FALSE;
-+				return false;
- 			if (memcmp(pref->address.iabuf, zeros, 16) == 0)
--				return ISC_FALSE;
-+				return false;
- 		}
- 	}
--	return ISC_TRUE;
-+	return true;
- }
- 
- /* Adds a leases's declined addreses to the outbound packet
-@@ -6111,26 +6111,26 @@ int drop_declined_addrs(struct dhc6_leas
- /* Run through the addresses in lease and return true if there's any unexpired.
-  * Return false otherwise.
-  */
--static isc_boolean_t
-+static bool
- unexpired_address_in_lease(struct dhc6_lease *lease)
- {
- 	struct dhc6_ia *ia;
- 	struct dhc6_addr *addr;
- 
- 	if (lease == NULL) {
--		return ISC_FALSE;
-+		return false;
- 	}
- 
- 	for (ia = lease->bindings ; ia != NULL ; ia = ia->next) {
- 		for (addr = ia->addrs ; addr != NULL ; addr = addr->next) {
- 			if (!(addr->flags & DHC6_ADDR_EXPIRED) &&
- 			    (addr->starts + addr->max_life > cur_time)) {
--				return ISC_TRUE;
-+				return true;
- 			}
- 		}
- 	}
- 
- 	log_debug("PRC: Previous lease is devoid of active addresses.");
--	return ISC_FALSE;
-+	return false;
- }
- #endif /* DHCPv6 */
-Index: dhcp-4.4.1/client/dhclient.c
-===================================================================
---- dhcp-4.4.1.orig/client/dhclient.c
-+++ dhcp-4.4.1/client/dhclient.c
-@@ -52,7 +52,7 @@ char *path_dhclient_script = path_dhclie
- const char *path_dhclient_duid = NULL;
- 
- /* False (default) => we write and use a pid file */
--isc_boolean_t no_pid_file = ISC_FALSE;
-+bool no_pid_file = false;
- 
- int dhcp_max_agent_option_packet_length = 0;
- 
-@@ -397,7 +397,7 @@ main(int argc, char **argv) {
- 			path_dhclient_pid = argv[i];
- 			no_dhclient_pid = 1;
- 		} else if (!strcmp(argv[i], "--no-pid")) {
--			no_pid_file = ISC_TRUE;
-+			no_pid_file = true;
- 		} else if (!strcmp(argv[i], "-cf")) {
- 			if (++i == argc)
- 				usage(use_noarg, argv[i-1]);
-@@ -652,7 +652,7 @@ main(int argc, char **argv) {
- 	 * to write a pid file - we assume they are controlling
- 	 * the process in some other fashion.
- 	 */
--	if ((release_mode || exit_mode) && (no_pid_file == ISC_FALSE)) {
-+	if ((release_mode || exit_mode) && (no_pid_file == false)) {
- 		FILE *pidfd;
- 		pid_t oldpid;
- 		long temp;
-@@ -4469,7 +4469,7 @@ void write_client_pid_file ()
- 	int pfdesc;
- 
- 	/* nothing to do if the user doesn't want a pid file */
--	if (no_pid_file == ISC_TRUE) {
-+	if (no_pid_file == true) {
- 		return;
- 	}
- 
-@@ -4727,7 +4727,7 @@ unsigned cons_agent_information_options
- static void shutdown_exit (void *foo)
- {
- 	/* get rid of the pid if we can */
--	if (no_pid_file == ISC_FALSE)
-+	if (no_pid_file == false)
- 		(void) unlink(path_dhclient_pid);
- 	finish(0);
- }
-Index: dhcp-4.4.1/common/inet.c
-===================================================================
---- dhcp-4.4.1.orig/common/inet.c
-+++ dhcp-4.4.1/common/inet.c
-@@ -299,7 +299,7 @@ addr_and(struct iaddr *result, const str
-  *
-  * Because the final ".1" would get masked out by the /8.
-  */
--isc_boolean_t
-+bool
- is_cidr_mask_valid(const struct iaddr *addr, int bits) {
- 	int zero_bits;
- 	int zero_bytes;
-@@ -311,10 +311,10 @@ is_cidr_mask_valid(const struct iaddr *a
- 	 * Check our bit boundaries.
- 	 */
- 	if (bits < 0) {
--		return ISC_FALSE;
-+		return false;
- 	}
- 	if (bits > (addr->len * 8)) {
--		return ISC_FALSE;
-+		return false;
- 	}
- 
- 	/*
-@@ -328,7 +328,7 @@ is_cidr_mask_valid(const struct iaddr *a
- 	 */
- 	for (i=1; i<=zero_bytes; i++) {
- 		if (addr->iabuf[addr->len-i] != 0) {
--			return ISC_FALSE;
-+			return false;
- 		}
- 	}
- 
-@@ -340,7 +340,7 @@ is_cidr_mask_valid(const struct iaddr *a
- 	 * happy.
- 	 */
- 	shift_bits = zero_bits % 8;
--	if (shift_bits == 0) return ISC_TRUE;
-+	if (shift_bits == 0) return true;
- 	byte = addr->iabuf[addr->len-zero_bytes-1];
- 	return (((byte >> shift_bits) << shift_bits) == byte);
- }
-Index: dhcp-4.4.1/common/options.c
-===================================================================
---- dhcp-4.4.1.orig/common/options.c
-+++ dhcp-4.4.1/common/options.c
-@@ -676,7 +676,7 @@ cons_options(struct packet *inpacket, st
- 		 * the priority_list. This way we'll send it whether or not it
- 		 * is in the PRL. */
- 		if ((inpacket != NULL) && (priority_len < PRIORITY_COUNT) &&
--		    (inpacket->sv_echo_client_id == ISC_TRUE)) {
-+		    (inpacket->sv_echo_client_id == true)) {
- 			priority_list[priority_len++] =
- 				DHO_DHCP_CLIENT_IDENTIFIER;
- 		}
-@@ -1802,7 +1802,7 @@ const char *pretty_print_option (option,
- 	const unsigned char *dp = data;
- 	char comma;
- 	unsigned long tval;
--	isc_boolean_t a_array = ISC_FALSE;
-+	bool a_array = false;
- 	int len_used;
- 
- 	if (emit_commas)
-@@ -1828,7 +1828,7 @@ const char *pretty_print_option (option,
- 		fmtbuf [l] = option -> format [i];
- 		switch (option -> format [i]) {
- 		      case 'a':
--			a_array = ISC_TRUE;
-+			a_array = true;
- 			/* Fall through */
- 		      case 'A':
- 			--numelem;
-@@ -1858,7 +1858,7 @@ const char *pretty_print_option (option,
- 				hunksize++;
- 				comma = ':';
- 				numhunk = 0;
--				a_array = ISC_TRUE;
-+				a_array = true;
- 				hunkinc = 1;
- 			}
- 			fmtbuf [l + 1] = 0;
-@@ -1954,7 +1954,7 @@ const char *pretty_print_option (option,
- 
- 	/* If this is an array, compute its size. */
- 	if (numhunk == 0) {
--		if (a_array == ISC_TRUE) {
-+		if (a_array == true) {
- 			/*
- 			 * It is an 'a' type array - we repeat the
- 			 * last format type.  A binary string for 'X'
-@@ -2006,7 +2006,7 @@ const char *pretty_print_option (option,
- 
- 	/* Cycle through the array (or hunk) printing the data. */
- 	for (i = 0; i < numhunk; i++) {
--		if ((a_array == ISC_TRUE) && (i != 0) && (numelem > 0)) {
-+		if ((a_array == true) && (i != 0) && (numelem > 0)) {
- 			/*
- 			 * For 'a' type of arrays we repeat
- 			 * only the last format character
-@@ -2734,7 +2734,7 @@ save_option(struct universe *universe, s
- 	    struct option_cache *oc)
- {
- 	if (universe->save_func)
--		(*universe->save_func)(universe, options, oc, ISC_FALSE);
-+		(*universe->save_func)(universe, options, oc, true);
- 	else
- 		log_error("can't store options in %s space.", universe->name);
- }
-@@ -2745,14 +2745,14 @@ also_save_option(struct universe *univer
- 		 struct option_cache *oc)
- {
- 	if (universe->save_func)
--		(*universe->save_func)(universe, options, oc, ISC_TRUE);
-+		(*universe->save_func)(universe, options, oc, true);
- 	else
- 		log_error("can't store options in %s space.", universe->name);
- }
- 
- void
- save_hashed_option(struct universe *universe, struct option_state *options,
--		   struct option_cache *oc, isc_boolean_t appendp)
-+		   struct option_cache *oc, bool appendp)
- {
- 	int hashix;
- 	pair bptr;
-@@ -3062,7 +3062,7 @@ store_option(struct data_string *result,
- 						  cfg_options, scope, subu);
- 				subu = NULL;
- 			}
--		} while (ISC_FALSE);
-+		} while (false);
- 
- 		status = append_option(result, universe, oc->option, &tmp);
- 		data_string_forget(&tmp, MDL);
-@@ -3459,7 +3459,7 @@ lookup_fqdn6_option(struct universe *uni
-  */
- void
- save_fqdn6_option(struct universe *universe, struct option_state *options,
--		  struct option_cache *oc, isc_boolean_t appendp)
-+		  struct option_cache *oc, bool appendp)
- {
- 	log_fatal("Impossible condition at %s:%d.", MDL);
- }
-@@ -3784,7 +3784,7 @@ void hashed_option_space_foreach (struct
- 
- void
- save_linked_option(struct universe *universe, struct option_state *options,
--		   struct option_cache *oc, isc_boolean_t appendp)
-+		   struct option_cache *oc, bool appendp)
- {
- 	pair *tail;
- 	struct option_chain_head *head;
-@@ -4073,7 +4073,7 @@ packet6_len_okay(const char *packet, int
- void
- do_packet6(struct interface_info *interface, const char *packet,
- 	   int len, int from_port, const struct iaddr *from,
--	   isc_boolean_t was_unicast) {
-+	   bool was_unicast) {
- 	unsigned char msg_type;
- 	const struct dhcpv6_packet *msg;
- 	const struct dhcpv6_relay_packet *relay;
-Index: dhcp-4.4.1/common/parse.c
-===================================================================
---- dhcp-4.4.1.orig/common/parse.c
-+++ dhcp-4.4.1/common/parse.c
-@@ -4952,7 +4952,7 @@ int parse_option_token (rv, cfile, fmt,
- 	unsigned len;
- 	struct iaddr addr;
- 	int compress;
--	isc_boolean_t freeval = ISC_FALSE;
-+	bool freeval = false;
- 	const char *f, *g;
- 	struct enumeration_value *e;
- 
-@@ -5038,7 +5038,7 @@ int parse_option_token (rv, cfile, fmt,
- 			return 0;
- 		}
- 		len = strlen (val);
--		freeval = ISC_TRUE;
-+		freeval = true;
- 		goto make_string;
- 
- 	      case 't': /* Text string... */
-@@ -5055,9 +5055,9 @@ int parse_option_token (rv, cfile, fmt,
- 		if (!make_const_data (&t, (const unsigned char *)val,
- 				      len, 1, 1, MDL))
- 			log_fatal ("No memory for concatenation");
--		if (freeval == ISC_TRUE) {
-+		if (freeval == true) {
- 			dfree((char *)val, MDL);
--			freeval = ISC_FALSE;
-+			freeval = false;
- 			POST(freeval);
- 		}
- 		break;
-Index: dhcp-4.4.1/omapip/dispatch.c
-===================================================================
---- dhcp-4.4.1.orig/omapip/dispatch.c
-+++ dhcp-4.4.1/omapip/dispatch.c
-@@ -156,7 +156,7 @@ omapi_iscsock_cb(isc_task_t   *task,
- 	 * This should be a temporary fix until we arrange to properly
- 	 * close the socket.
- 	 */
--	if (obj->closed == ISC_TRUE) {
-+	if (obj->closed == true) {
- 		return(0);
- 	}
- #endif	  
-@@ -223,7 +223,7 @@ isc_result_t omapi_register_io_object (o
- 	status = omapi_io_allocate (&obj, MDL);
- 	if (status != ISC_R_SUCCESS)
- 		return status;
--	obj->closed = ISC_FALSE;  /* mark as open */
-+	obj->closed = false;  /* mark as open */
- 
- 	status = omapi_object_reference (&obj -> inner, h, MDL);
- 	if (status != ISC_R_SUCCESS) {
-@@ -404,7 +404,7 @@ isc_result_t omapi_unregister_io_object
- 		isc_socket_detach(&obj->fd);
- 	}
- #else
--	obj->closed = ISC_TRUE;
-+	obj->closed = true;
- #endif
- 
- 	omapi_io_dereference (&ph, MDL);
-Index: dhcp-4.4.1/omapip/isclib.c
-===================================================================
---- dhcp-4.4.1.orig/omapip/isclib.c
-+++ dhcp-4.4.1/omapip/isclib.c
-@@ -106,9 +106,9 @@ isclib_cleanup(void)
- 	if (dhcp_gbl_ctx.taskmgr != NULL)
- 		isc_taskmgr_destroy(&dhcp_gbl_ctx.taskmgr);
- 
--	if (dhcp_gbl_ctx.actx_started != ISC_FALSE) {
-+	if (dhcp_gbl_ctx.actx_started != false) {
- 		isc_app_ctxfinish(dhcp_gbl_ctx.actx);
--		dhcp_gbl_ctx.actx_started = ISC_FALSE;
-+		dhcp_gbl_ctx.actx_started = false;
- 	}
- 
- 	if (dhcp_gbl_ctx.actx != NULL)
-@@ -211,7 +211,7 @@ dhcp_context_create(int flags,
- 		result = isc_app_ctxstart(dhcp_gbl_ctx.actx);
- 		if (result != ISC_R_SUCCESS)
- 			return (result);
--		dhcp_gbl_ctx.actx_started = ISC_TRUE;
-+		dhcp_gbl_ctx.actx_started = true;
- 
- 		/* Not all OSs support suppressing SIGPIPE through socket
- 		 * options, so set the sigal action to be ignore.  This allows
-Index: dhcp-4.4.1/omapip/protocol.c
-===================================================================
---- dhcp-4.4.1.orig/omapip/protocol.c
-+++ dhcp-4.4.1/omapip/protocol.c
-@@ -950,14 +950,14 @@ isc_result_t omapi_protocol_stuff_values
- /* Returns a boolean indicating whether this protocol requires that
-    messages be authenticated or not. */
- 
--isc_boolean_t omapi_protocol_authenticated (omapi_object_t *h)
-+bool omapi_protocol_authenticated (omapi_object_t *h)
- {
- 	if (h -> type != omapi_type_protocol)
--		return isc_boolean_false;
-+		return false;
- 	if (((omapi_protocol_object_t *)h) -> insecure)
--		return isc_boolean_false;
-+		return false;
- 	else
--		return isc_boolean_true;
-+		return true;
- }
- 
- /* Sets the address and authenticator verification callbacks.  The handle
-Index: dhcp-4.4.1/relay/dhcrelay.c
-===================================================================
---- dhcp-4.4.1.orig/relay/dhcrelay.c
-+++ dhcp-4.4.1/relay/dhcrelay.c
-@@ -45,9 +45,9 @@ char *token_line;
- char *tlname;
- 
- const char *path_dhcrelay_pid = _PATH_DHCRELAY_PID;
--isc_boolean_t no_dhcrelay_pid = ISC_FALSE;
-+bool no_dhcrelay_pid = false;
- /* False (default) => we write and use a pid file */
--isc_boolean_t no_pid_file = ISC_FALSE;
-+bool no_pid_file = false;
- 
- int bogus_agent_drops = 0;	/* Packets dropped because agent option
- 				   field was specified and we're not relaying
-@@ -82,7 +82,7 @@ int dfd[2] = { -1, -1 };
- 
- #ifdef DHCPv6
- 	/* Force use of DHCPv6 interface-id option. */
--isc_boolean_t use_if_id = ISC_FALSE;
-+bool use_if_id = false;
- #endif
- 
- 	/* Maximum size of a packet with agent options added. */
-@@ -556,7 +556,7 @@ main(int argc, char **argv) {
- 			}
- 			local_family_set = 1;
- 			local_family = AF_INET6;
--			use_if_id = ISC_TRUE;
-+			use_if_id = true;
- 		} else if (!strcmp(argv[i], "-l")) {
- 			if (local_family_set && (local_family == AF_INET)) {
- 				usage(use_v6command, argv[i]);
-@@ -564,7 +564,7 @@ main(int argc, char **argv) {
- 			local_family_set = 1;
- 			local_family = AF_INET6;
- 			if (downstreams != NULL)
--				use_if_id = ISC_TRUE;
-+				use_if_id = true;
- 			if (++i == argc)
- 				usage(use_noarg, argv[i-1]);
- 			sl = parse_downstream(argv[i]);
-@@ -595,9 +595,9 @@ main(int argc, char **argv) {
- 			if (++i == argc)
- 				usage(use_noarg, argv[i-1]);
- 			path_dhcrelay_pid = argv[i];
--			no_dhcrelay_pid = ISC_TRUE;
-+			no_dhcrelay_pid = true;
- 		} else if (!strcmp(argv[i], "--no-pid")) {
--			no_pid_file = ISC_TRUE;
-+			no_pid_file = true;
-  		} else if (argv[i][0] == '-') {
- 			usage("Unknown command: %s", argv[i]);
-  		} else {
-@@ -645,7 +645,7 @@ main(int argc, char **argv) {
- 	 * If the user didn't specify a pid file directly
- 	 * find one from environment variables or defaults
- 	 */
--	if (no_dhcrelay_pid == ISC_FALSE) {
-+	if (no_dhcrelay_pid == false) {
- 		if (local_family == AF_INET) {
- 			path_dhcrelay_pid = getenv("PATH_DHCRELAY_PID");
- 			if (path_dhcrelay_pid == NULL)
-@@ -774,7 +774,7 @@ main(int argc, char **argv) {
- 		}
- 
- 		/* Create the pid file. */
--		if (no_pid_file == ISC_FALSE) {
-+		if (no_pid_file == false) {
- 			pfdesc = open(path_dhcrelay_pid,
- 				      O_CREAT | O_TRUNC | O_WRONLY, 0644);
- 
-@@ -1569,7 +1569,7 @@ static void
- setup_streams(void) {
- 	struct stream_list *dp, *up;
- 	int i;
--	isc_boolean_t link_is_set;
-+	bool link_is_set;
- 
- 	for (dp = downstreams; dp; dp = dp->next) {
- 		/* Check interface */
-@@ -1579,9 +1579,9 @@ setup_streams(void) {
- 
- 		/* Check/set link. */
- 		if (IN6_IS_ADDR_UNSPECIFIED(&dp->link.sin6_addr))
--			link_is_set = ISC_FALSE;
-+			link_is_set = false;
- 		else
--			link_is_set = ISC_TRUE;
-+			link_is_set = true;
- 		for (i = 0; i < dp->ifp->v6address_count; i++) {
- 			if (IN6_IS_ADDR_LINKLOCAL(&dp->ifp->v6addresses[i]))
- 				continue;
-@@ -2076,7 +2076,7 @@ dhcp_set_control_state(control_object_st
- 	if (newstate != server_shutdown)
- 		return ISC_R_SUCCESS;
- 
--	if (no_pid_file == ISC_FALSE)
-+	if (no_pid_file == false)
- 		(void) unlink(path_dhcrelay_pid);
- 
- 	if (!no_daemon && dfd[0] != -1 && dfd[1] != -1) {
-Index: dhcp-4.4.1/server/dhcp.c
-===================================================================
---- dhcp-4.4.1.orig/server/dhcp.c
-+++ dhcp-4.4.1/server/dhcp.c
-@@ -225,7 +225,7 @@ dhcp (struct packet *packet) {
- 			packet->options->universe_count =
- 						agent_universe.index + 1;
- 
--		packet->agent_options_stashed = ISC_TRUE;
-+		packet->agent_options_stashed = true;
- 	}
-       nolease:
- 
-@@ -1094,7 +1094,7 @@ void dhcpinform (packet, ms_nulltp)
- 	int nulltp;
- 	struct sockaddr_in to;
- 	struct in_addr from;
--	isc_boolean_t zeroed_ciaddr;
-+	bool zeroed_ciaddr;
- 	struct interface_info *interface;
- 	int result, h_m_client_ip = 0;
- 	struct host_decl  *host = NULL, *hp = NULL, *h;
-@@ -1109,7 +1109,7 @@ void dhcpinform (packet, ms_nulltp)
- 	   it's common for clients not to do this, so we'll use their IP
- 	   source address if they didn't set ciaddr. */
- 	if (!packet->raw->ciaddr.s_addr) {
--		zeroed_ciaddr = ISC_TRUE;
-+		zeroed_ciaddr = true;
- 		/* With DHCPv4-over-DHCPv6 it can be an IPv6 address
- 		   so we check its length. */
- 		if (packet->client_addr.len == 4) {
-@@ -1122,7 +1122,7 @@ void dhcpinform (packet, ms_nulltp)
- 			addr_type = "v4o6";
- 		}
- 	} else {
--		zeroed_ciaddr = ISC_FALSE;
-+		zeroed_ciaddr = false;
- 		cip.len = 4;
- 		memcpy(cip.iabuf, &packet->raw->ciaddr, 4);
- 		addr_type = "client";
-@@ -1133,7 +1133,7 @@ void dhcpinform (packet, ms_nulltp)
- 	if (packet->raw->giaddr.s_addr) {
- 		gip.len = 4;
- 		memcpy(gip.iabuf, &packet->raw->giaddr, 4);
--		if (zeroed_ciaddr == ISC_TRUE) {
-+		if (zeroed_ciaddr == true) {
- 			addr_type = "relay";
- 			memcpy(sip.iabuf, gip.iabuf, 4);
- 		}
-@@ -1207,7 +1207,7 @@ void dhcpinform (packet, ms_nulltp)
- 		save_option(&dhcp_universe, options, noc);
- 		option_cache_dereference(&noc, MDL);
- 
--		if ((zeroed_ciaddr == ISC_TRUE) && (gip.len != 0))
-+		if ((zeroed_ciaddr == true) && (gip.len != 0))
- 			addr_type = "relay link select";
- 		else
- 			addr_type = "selected";
-@@ -1261,7 +1261,7 @@ void dhcpinform (packet, ms_nulltp)
- 				    NULL, NULL);
- 
- 	/* If we have ciaddr, find its lease so we can find its pool. */
--	if (zeroed_ciaddr == ISC_FALSE) {
-+	if (zeroed_ciaddr == false) {
- 		struct lease* cip_lease = NULL;
- 
- 		find_lease_by_ip_addr (&cip_lease, cip, MDL);
-@@ -2036,7 +2036,7 @@ void echo_client_id(packet, lease, in_op
- 		unsigned int opcode = DHO_DHCP_CLIENT_IDENTIFIER;
- 
- 		/* Save knowledge that echo is enabled to the packet */
--		packet->sv_echo_client_id = ISC_TRUE;
-+		packet->sv_echo_client_id = true;
- 
- 		/* Now see if inbound packet contains client-id */
- 		oc = lookup_option(&dhcp_universe, packet->options, opcode);
-@@ -2187,7 +2187,7 @@ void ack_lease (packet, lease, offer, wh
- 	struct iaddr cip;
- #if defined(DELAYED_ACK)
- 	/* By default we don't do the enqueue */
--	isc_boolean_t enqueue = ISC_FALSE;
-+	bool enqueue = false;
- #endif
- 	int use_old_lease = 0;
- 
-@@ -3217,7 +3217,7 @@ void ack_lease (packet, lease, offer, wh
- 		 * can just answer right away, set a flag to indicate this.
- 		 */
- 		if (commit)
--			enqueue = ISC_TRUE;
-+			enqueue = true;
- 
- 		/* Install the new information on 'lt' onto the lease at
- 		 * 'lease'.  We will not 'commit' this information to disk
-@@ -4234,7 +4234,7 @@ int find_lease (struct lease **lp,
- 	 * preference, so the first one is the best one.
- 	 */
- 	while (uid_lease) {
--		isc_boolean_t do_release = !packet->raw->ciaddr.s_addr;
-+		bool do_release = !packet->raw->ciaddr.s_addr;
- #if defined (DEBUG_FIND_LEASE)
- 		log_info ("trying next lease matching client id: %s",
- 			  piaddr (uid_lease -> ip_addr));
-@@ -4267,7 +4267,7 @@ int find_lease (struct lease **lp,
- #endif
- 			/* Allow multiple leases using the same UID
- 			   on different subnetworks. */
--			do_release = ISC_FALSE;
-+			do_release = false;
- 			goto n_uid;
- 		}
- 
-@@ -5331,7 +5331,7 @@ get_server_source_address(struct in_addr
- 	struct option_cache *oc = NULL;
- 	struct data_string d;
- 	struct in_addr *a = NULL;
--	isc_boolean_t found = ISC_FALSE;
-+	bool found = false;
- 	int allocate = 0;
- 
- 	memset(&d, 0, sizeof(d));
-@@ -5344,7 +5344,7 @@ get_server_source_address(struct in_addr
- 					  packet->options, options, 
- 					  &global_scope, oc, MDL)) {
- 			if (d.len == sizeof(*from)) {
--				found = ISC_TRUE;
-+				found = true;
- 				memcpy(from, d.data, sizeof(*from));
- 
- 				/*
-@@ -5362,7 +5362,7 @@ get_server_source_address(struct in_addr
- 		oc = NULL;
- 	}
- 
--	if ((found == ISC_FALSE) &&
-+	if ((found == false) &&
- 	    (packet->interface->address_count > 0)) {
- 		*from = packet->interface->addresses[0];
- 
-Index: dhcp-4.4.1/server/failover.c
-===================================================================
---- dhcp-4.4.1.orig/server/failover.c
-+++ dhcp-4.4.1/server/failover.c
-@@ -45,7 +45,7 @@ static isc_result_t failover_message_der
- static void dhcp_failover_pool_balance(dhcp_failover_state_t *state);
- static void dhcp_failover_pool_reqbalance(dhcp_failover_state_t *state);
- static int dhcp_failover_pool_dobalance(dhcp_failover_state_t *state,
--					isc_boolean_t *sendreq);
-+					bool *sendreq);
- static inline int secondary_not_hoarding(dhcp_failover_state_t *state,
- 					 struct pool *p);
- static void scrub_lease(struct lease* lease, const char *file, int line);
-@@ -2464,7 +2464,7 @@ void
- dhcp_failover_pool_rebalance(void *failover_state)
- {
- 	dhcp_failover_state_t *state;
--	isc_boolean_t sendreq = ISC_FALSE;
-+	bool sendreq = false;
- 
- 	state = (dhcp_failover_state_t *)failover_state;
- 
-@@ -2512,7 +2512,7 @@ dhcp_failover_pool_reqbalance(dhcp_failo
-  */
- static int
- dhcp_failover_pool_dobalance(dhcp_failover_state_t *state,
--			    isc_boolean_t *sendreq)
-+			    bool *sendreq)
- {
- 	int lts, total, thresh, hold, panic, pass;
- 	int leases_queued = 0;
-@@ -2581,7 +2581,7 @@ dhcp_failover_pool_dobalance(dhcp_failov
- 
- 		if ((sendreq != NULL) && (lts < panic)) {
- 			reqlog = "  (requesting peer rebalance!)";
--			*sendreq = ISC_TRUE;
-+			*sendreq = true;
- 		} else
- 			reqlog = "";
- 
-@@ -5111,7 +5111,7 @@ isc_result_t dhcp_failover_send_update_d
-  * a more detailed system of preferences is required, so this is something we
-  * should monitor as we gain experience with these dueling events.
-  */
--static isc_boolean_t
-+static bool
- failover_lease_is_better(dhcp_failover_state_t *state, struct lease *lease,
- 			 failover_message_t *msg)
- {
-@@ -5132,15 +5132,15 @@ failover_lease_is_better(dhcp_failover_s
- 	      case FTS_ACTIVE:
- 		if (msg->binding_status == FTS_ACTIVE) {
- 			if (msg_cltt < lease->cltt)
--				return ISC_TRUE;
-+				return true;
- 			else if (msg_cltt > lease->cltt)
--				return ISC_FALSE;
-+				return false;
- 			else if (state->i_am == primary)
--				return ISC_TRUE;
-+				return true;
- 			else
--				return ISC_FALSE;
-+				return false;
- 		} else if (msg->binding_status == FTS_EXPIRED) {
--			return ISC_FALSE;
-+			return false;
- 		}
- 		/* FALL THROUGH */
- 
-@@ -5151,11 +5151,11 @@ failover_lease_is_better(dhcp_failover_s
- 	      case FTS_ABANDONED:
- 	      case FTS_RESET:
- 		if (msg->binding_status == FTS_ACTIVE)
--			return ISC_FALSE;
-+			return false;
- 		else if (state->i_am == primary)
--			return ISC_TRUE;
-+			return true;
- 		else
--			return ISC_FALSE;
-+			return false;
- 		/* FALL THROUGH to impossible condition */
- 
- 	      default:
-@@ -5164,7 +5164,7 @@ failover_lease_is_better(dhcp_failover_s
- 
- 	log_fatal("Impossible condition at %s:%d.", MDL);
- 	/* Silence compiler warning. */
--	return ISC_FALSE;
-+	return false;
- }
- 
- isc_result_t dhcp_failover_process_bind_update (dhcp_failover_state_t *state,
-@@ -5177,8 +5177,8 @@ isc_result_t dhcp_failover_process_bind_
- 	int new_binding_state;
- 	int send_to_backup = 0;
- 	int required_options;
--	isc_boolean_t chaddr_changed = ISC_FALSE;
--	isc_boolean_t ident_changed = ISC_FALSE;
-+	bool chaddr_changed = false;
-+	bool ident_changed = false;
- 
- 	/* Validate the binding update. */
- 	required_options = FTB_ASSIGNED_IP_ADDRESS | FTB_BINDING_STATUS;
-@@ -5250,7 +5250,7 @@ isc_result_t dhcp_failover_process_bind_
- 		if ((lt->hardware_addr.hlen != msg->chaddr.count) ||
- 		    (memcmp(lt->hardware_addr.hbuf, msg->chaddr.data,
- 			    msg->chaddr.count) != 0))
--			chaddr_changed = ISC_TRUE;
-+			chaddr_changed = true;
- 
- 		lt -> hardware_addr.hlen = msg -> chaddr.count;
- 		memcpy (lt -> hardware_addr.hbuf, msg -> chaddr.data,
-@@ -5262,7 +5262,7 @@ isc_result_t dhcp_failover_process_bind_
- 		reason = FTR_MISSING_BINDINFO;
- 		goto bad;
- 	} else if (msg->binding_status == FTS_ABANDONED) {
--		chaddr_changed = ISC_TRUE;
-+		chaddr_changed = true;
- 		lt->hardware_addr.hlen = 0;
- 		if (lt->scope)
- 			binding_scope_dereference(&lt->scope, MDL);
-@@ -5282,7 +5282,7 @@ isc_result_t dhcp_failover_process_bind_
- 		    (lt->uid == NULL) || /* Sanity; should never happen. */
- 		    (memcmp(lt->uid, msg->client_identifier.data,
- 			    lt->uid_len) != 0))
--			ident_changed = ISC_TRUE;
-+			ident_changed = true;
- 
- 		lt->uid_len = msg->client_identifier.count;
- 
-@@ -5312,7 +5312,7 @@ isc_result_t dhcp_failover_process_bind_
- 	} else if (lt->uid && msg->binding_status != FTS_RESET &&
- 		   msg->binding_status != FTS_FREE &&
- 		   msg->binding_status != FTS_BACKUP) {
--		ident_changed = ISC_TRUE;
-+		ident_changed = true;
- 		if (lt->uid != lt->uid_buf)
- 			dfree (lt->uid, MDL);
- 		lt->uid = NULL;
-@@ -5347,7 +5347,7 @@ isc_result_t dhcp_failover_process_bind_
- 	if (msg->binding_status == FTS_ACTIVE &&
- 	    (chaddr_changed || ident_changed)) {
- #if defined (NSUPDATE)
--		(void) ddns_removals(lease, NULL, NULL, ISC_FALSE);
-+		(void) ddns_removals(lease, NULL, NULL, false);
- #endif /* NSUPDATE */
- 
- 		if (lease->scope != NULL)
-@@ -5534,7 +5534,7 @@ isc_result_t dhcp_failover_process_bind_
- 	struct iaddr ia;
- 	const char *message = "no memory";
- 	u_int32_t pot_expire;
--	int send_to_backup = ISC_FALSE;
-+	int send_to_backup = false;
- 	struct timeval tv;
- 
- 	ia.len = sizeof msg -> assigned_addr;
-@@ -5621,7 +5621,7 @@ isc_result_t dhcp_failover_process_bind_
- 		if (state->i_am == primary &&
- 		    !(lease->flags & (RESERVED_LEASE | BOOTP_LEASE)) &&
- 		    peer_wants_lease(lease))
--			send_to_backup = ISC_TRUE;
-+			send_to_backup = true;
- 
- 		if (!send_to_backup && state->me.state == normal)
- 			commit_leases();
-Index: dhcp-4.4.1/server/dhcpd.c
-===================================================================
---- dhcp-4.4.1.orig/server/dhcpd.c
-+++ dhcp-4.4.1/server/dhcpd.c
-@@ -98,7 +98,7 @@ const char *path_dhcpd_conf = _PATH_DHCP
- const char *path_dhcpd_db = _PATH_DHCPD_DB;
- const char *path_dhcpd_pid = _PATH_DHCPD_PID;
- /* False (default) => we write and use a pid file */
--isc_boolean_t no_pid_file = ISC_FALSE;
-+bool no_pid_file = false;
- 
- int dhcp_max_agent_option_packet_length = DHCP_MTU_MAX;
- 
-@@ -476,7 +476,7 @@ main(int argc, char **argv) {
- 			path_dhcpd_pid = argv [i];
- 			have_dhcpd_pid = 1;
- 		} else if (!strcmp(argv[i], "--no-pid")) {
--			no_pid_file = ISC_TRUE;
-+			no_pid_file = true;
-                 } else if (!strcmp (argv [i], "-t")) {
- 			/* test configurations only */
- #ifndef DEBUG
-@@ -863,7 +863,7 @@ main(int argc, char **argv) {
- 	 * - we don't have a pid file to check
- 	 * - there is no other process running
- 	 */
--	if ((lftest == 0) && (no_pid_file == ISC_FALSE)) {
-+	if ((lftest == 0) && (no_pid_file == false)) {
- 		/*Read previous pid file. */
- 		if ((i = open(path_dhcpd_pid, O_RDONLY)) >= 0) {
- 			status = read(i, pbuf, (sizeof pbuf) - 1);
-@@ -974,7 +974,7 @@ main(int argc, char **argv) {
- 	 * that we have forked we can write our pid if
- 	 * appropriate.
- 	 */
--	if (no_pid_file == ISC_FALSE) {
-+	if (no_pid_file == false) {
- 		i = open(path_dhcpd_pid, O_WRONLY|O_CREAT|O_TRUNC, 0644);
- 		if (i >= 0) {
- 			sprintf(pbuf, "%d\n", (int) getpid());
-@@ -1730,7 +1730,7 @@ static isc_result_t dhcp_io_shutdown_cou
- 	    free_everything ();
- 	    omapi_print_dmalloc_usage_by_caller ();
- #endif
--	    if (no_pid_file == ISC_FALSE)
-+	    if (no_pid_file == false)
- 		    (void) unlink(path_dhcpd_pid);
- 	    exit (0);
- 	}
-@@ -1741,7 +1741,7 @@ static isc_result_t dhcp_io_shutdown_cou
- 		free_everything ();
- 		omapi_print_dmalloc_usage_by_caller ();
- #endif
--		if (no_pid_file == ISC_FALSE)
-+		if (no_pid_file == false)
- 			(void) unlink(path_dhcpd_pid);
- 		exit (0);
- 	}
-@@ -1750,7 +1750,7 @@ static isc_result_t dhcp_io_shutdown_cou
- #if defined(FAILOVER_PROTOCOL)
- 	    !failover_connection_count &&
- #endif
--	    ISC_TRUE) {
-+	    true) {
- 		shutdown_state = shutdown_done;
- 		shutdown_time = cur_time;
- 		goto oncemore;
-Index: dhcp-4.4.1/server/mdb6.c
-===================================================================
---- dhcp-4.4.1.orig/server/mdb6.c
-+++ dhcp-4.4.1/server/mdb6.c
-@@ -514,10 +514,10 @@ ia_remove_all_lease(struct ia_xx *ia, co
- /*
-  * Compare two IA.
-  */
--isc_boolean_t
-+bool
- ia_equal(const struct ia_xx *a, const struct ia_xx *b) 
- {
--	isc_boolean_t found;
-+	bool found;
- 	int i, j;
- 
- 	/*
-@@ -525,9 +525,9 @@ ia_equal(const struct ia_xx *a, const st
- 	 */
- 	if (a == NULL) {
- 		if (b == NULL) {
--			return ISC_TRUE;
-+			return true;
- 		} else {
--			return ISC_FALSE;
-+			return false;
- 		}
- 	}	
- 
-@@ -535,58 +535,58 @@ ia_equal(const struct ia_xx *a, const st
- 	 * Check the type is the same.
- 	 */
- 	if (a->ia_type != b->ia_type) {
--		return ISC_FALSE;
-+		return false;
- 	}
- 
- 	/*
- 	 * Check the DUID is the same.
- 	 */
- 	if (a->iaid_duid.len != b->iaid_duid.len) {
--		return ISC_FALSE;
-+		return false;
- 	}
- 	if (memcmp(a->iaid_duid.data, 
- 		   b->iaid_duid.data, a->iaid_duid.len) != 0) {
--		return ISC_FALSE;
-+		return false;
- 	}
- 
- 	/*
- 	 * Make sure we have the same number of addresses/prefixes in each.
- 	 */
- 	if (a->num_iasubopt != b->num_iasubopt) {
--		return ISC_FALSE;
-+		return false;
- 	}
- 
- 	/*
- 	 * Check that each address/prefix is present in both.
- 	 */
- 	for (i=0; i<a->num_iasubopt; i++) {
--		found = ISC_FALSE;
-+		found = false;
- 		for (j=0; j<a->num_iasubopt; j++) {
- 			if (a->iasubopt[i]->plen != b->iasubopt[i]->plen)
- 				continue;
- 			if (memcmp(&(a->iasubopt[i]->addr),
- 			           &(b->iasubopt[j]->addr), 
- 				   sizeof(struct in6_addr)) == 0) {
--				found = ISC_TRUE;
-+				found = true;
- 				break;
- 			}
- 		}
- 		if (!found) {
--			return ISC_FALSE;
-+			return false;
- 		}
- 	}
- 
- 	/*
- 	 * These are the same in every way we care about.
- 	 */
--	return ISC_TRUE;
-+	return true;
- }
- 
- /*
-  * Helper function for lease heaps.
-  * Makes the top of the heap the oldest lease.
-  */
--static isc_boolean_t 
-+static bool 
- lease_older(void *a, void *b) {
- 	struct iasubopt *la = (struct iasubopt *)a;
- 	struct iasubopt *lb = (struct iasubopt *)b;
-@@ -1038,8 +1038,8 @@ create_lease6(struct ipv6_pool *pool, st
- 	struct data_string new_ds;
- 	struct iasubopt *iaaddr;
- 	isc_result_t result;
--	isc_boolean_t reserved_iid;
--	static isc_boolean_t init_resiid = ISC_FALSE;
-+	bool reserved_iid;
-+	static bool init_resiid = false;
- 
- 	/*
- 	 * Fill the reserved IIDs.
-@@ -1049,7 +1049,7 @@ create_lease6(struct ipv6_pool *pool, st
- 		memset(&resany, 0, 8);
- 		resany.s6_addr[8] = 0xfd;
- 		memset(&resany.s6_addr[9], 0xff, 6);
--		init_resiid = ISC_TRUE;
-+		init_resiid = true;
- 	}
- 
- 	/* 
-@@ -1094,14 +1094,14 @@ create_lease6(struct ipv6_pool *pool, st
- 		/*
- 		 * Avoid reserved interface IDs. (cf. RFC 5453)
- 		 */
--		reserved_iid = ISC_FALSE;
-+		reserved_iid = false;
- 		if (memcmp(&tmp.s6_addr[8], &rtany.s6_addr[8], 8) == 0) {
--			reserved_iid = ISC_TRUE;
-+			reserved_iid = true;
- 		}
- 		if (!reserved_iid &&
- 		    (memcmp(&tmp.s6_addr[8], &resany.s6_addr[8], 7) == 0) &&
- 		    ((tmp.s6_addr[15] & 0x80) == 0x80)) {
--			reserved_iid = ISC_TRUE;
-+			reserved_iid = true;
- 		}
- 
- 		/*
-@@ -1177,7 +1177,7 @@ create_lease6_eui_64(struct ipv6_pool *p
- 	struct iasubopt *test_iaaddr;
- 	struct iasubopt *iaaddr;
- 	isc_result_t result;
--	static isc_boolean_t init_resiid = ISC_FALSE;
-+	static bool init_resiid = false;
- 
- 	/*  Fill the reserved IIDs.  */
- 	if (!init_resiid) {
-@@ -1185,7 +1185,7 @@ create_lease6_eui_64(struct ipv6_pool *p
- 		memset(&resany, 0, 8);
- 		resany.s6_addr[8] = 0xfd;
- 		memset(&resany.s6_addr[9], 0xff, 6);
--		init_resiid = ISC_TRUE;
-+		init_resiid = true;
- 	}
- 
- 	/* Pool must be IA_NA */
-@@ -1520,7 +1520,7 @@ add_lease6(struct ipv6_pool *pool, struc
- /*
-  * Determine if an address is present in a pool or not.
-  */
--isc_boolean_t
-+bool
- lease6_exists(const struct ipv6_pool *pool, const struct in6_addr *addr) {
- 	struct iasubopt *test_iaaddr;
- 
-@@ -1528,9 +1528,9 @@ lease6_exists(const struct ipv6_pool *po
- 	if (iasubopt_hash_lookup(&test_iaaddr, pool->leases, 
- 				 (void *)addr, sizeof(*addr), MDL)) {
- 		iasubopt_dereference(&test_iaaddr, MDL);
--		return ISC_TRUE;
-+		return true;
- 	} else {
--		return ISC_FALSE;
-+		return false;
- 	}
- }
- 
-@@ -1545,20 +1545,20 @@ lease6_exists(const struct ipv6_pool *po
-  * \param[in] lease = lease to check
-  *
-  * \return
-- * ISC_TRUE  = The lease is allowed to use that address
-- * ISC_FALSE = The lease isn't allowed to use that address
-+ * true  = The lease is allowed to use that address
-+ * false = The lease isn't allowed to use that address
-  */
--isc_boolean_t
-+bool
- lease6_usable(struct iasubopt *lease) {
- 	struct iasubopt *test_iaaddr;
--	isc_boolean_t status = ISC_TRUE;
-+	bool status = true;
- 
- 	test_iaaddr = NULL;
- 	if (iasubopt_hash_lookup(&test_iaaddr, lease->ipv6_pool->leases,
- 				 (void *)&lease->addr,
- 				 sizeof(lease->addr), MDL)) {
- 		if (test_iaaddr != lease) {
--			status = ISC_FALSE;
-+			status = false;
- 		}
- 		iasubopt_dereference(&test_iaaddr, MDL);
- 	}
-@@ -1697,7 +1697,7 @@ move_lease_to_inactive(struct ipv6_pool
- #if defined (NSUPDATE)
- 		/* Process events upon expiration. */
- 		if (pool->pool_type != D6O_IA_PD) {
--			(void) ddns_removals(NULL, lease, NULL, ISC_FALSE);
-+			(void) ddns_removals(NULL, lease, NULL, false);
- 		}
- #endif
- 
-@@ -1977,21 +1977,21 @@ create_prefix6(struct ipv6_pool *pool, s
- /*
-  * Determine if a prefix is present in a pool or not.
-  */
--isc_boolean_t
-+bool
- prefix6_exists(const struct ipv6_pool *pool,
- 	       const struct in6_addr *pref, u_int8_t plen) {
- 	struct iasubopt *test_iapref;
- 
- 	if ((int)plen != pool->units)
--		return ISC_FALSE;
-+		return false;
- 
- 	test_iapref = NULL;
- 	if (iasubopt_hash_lookup(&test_iapref, pool->leases, 
- 				 (void *)pref, sizeof(*pref), MDL)) {
- 		iasubopt_dereference(&test_iapref, MDL);
--		return ISC_TRUE;
-+		return true;
- 	} else {
--		return ISC_FALSE;
-+		return false;
- 	}
- }
- 
-@@ -2267,15 +2267,15 @@ ipv6_network_portion(struct in6_addr *re
- /*
-  * Determine if the given address/prefix is in the pool.
-  */
--isc_boolean_t
-+bool
- ipv6_in_pool(const struct in6_addr *addr, const struct ipv6_pool *pool) {
- 	struct in6_addr tmp;
- 
- 	ipv6_network_portion(&tmp, addr, pool->bits);
- 	if (memcmp(&tmp, &pool->start_addr, sizeof(tmp)) == 0) {
--		return ISC_TRUE;
-+		return true;
- 	} else {
--		return ISC_FALSE;
-+		return false;
- 	}
- }
- 
-Index: dhcp-4.4.1/server/ddns.c
-===================================================================
---- dhcp-4.4.1.orig/server/ddns.c
-+++ dhcp-4.4.1/server/ddns.c
-@@ -373,7 +373,7 @@ ddns_updates(struct packet *packet, stru
- 
- 		/* If desired do the removals */
- 		if (do_remove != 0) {
--			(void) ddns_removals(lease, lease6, NULL, ISC_TRUE);
-+			(void) ddns_removals(lease, lease6, NULL, true);
- 		}
- 		goto out;
- 	}
-@@ -618,7 +618,7 @@ ddns_updates(struct packet *packet, stru
- 		 * We should log a more specific error closer to the actual
- 		 * error if we want one. ddns_removal failure not logged here.
- 		 */
--		 (void) ddns_removals(lease, lease6, ddns_cb, ISC_TRUE);
-+		 (void) ddns_removals(lease, lease6, ddns_cb, true);
- 	}
- 	else {
- 		ddns_fwd_srv_connector(lease, lease6, scope, ddns_cb,
-@@ -1907,7 +1907,7 @@ ddns_fwd_srv_rem1(dhcp_ddns_cb_t *ddns_c
-  *     the current entry.
-  *
-  * \li active - indication about the status of the lease. It is
-- *     ISC_TRUE if the lease is still active, and FALSE if the lease
-+ *     true if the lease is still active, and FALSE if the lease
-  *     is inactive.  This is used to indicate if the lease is inactive or going
-  *     to inactive so we can avoid trying to update the lease with cb pointers
-  *     and text information if it isn't useful.
-@@ -1923,7 +1923,7 @@ isc_result_t
- ddns_removals(struct lease    *lease,
- 	      struct iasubopt *lease6,
- 	      dhcp_ddns_cb_t  *add_ddns_cb,
--	      isc_boolean_t    active)
-+	      bool    active)
- {
- 	isc_result_t rcode, execute_add = ISC_R_FAILURE;
- 	struct binding_scope **scope = NULL;
-@@ -1970,7 +1970,7 @@ ddns_removals(struct lease    *lease,
- 			if (((ddns_cb->state == DDNS_STATE_ADD_PTR) ||
- 			     (ddns_cb->state == DDNS_STATE_ADD_FW_NXDOMAIN) ||
- 			     (ddns_cb->state == DDNS_STATE_ADD_FW_YXDHCID)) ||
--			    ((active == ISC_FALSE) &&
-+			    ((active == false) &&
- 			     ((ddns_cb->flags & DDNS_ACTIVE_LEASE) != 0))) {
- 				/* Cancel the current request */
- 				ddns_cancel(lease->ddns_cb, MDL);
-@@ -1998,7 +1998,7 @@ ddns_removals(struct lease    *lease,
- 			if (((ddns_cb->state == DDNS_STATE_ADD_PTR) ||
- 			     (ddns_cb->state == DDNS_STATE_ADD_FW_NXDOMAIN) ||
- 			     (ddns_cb->state == DDNS_STATE_ADD_FW_YXDHCID)) ||
--			    ((active == ISC_FALSE) &&
-+			    ((active == false) &&
- 			     ((ddns_cb->flags & DDNS_ACTIVE_LEASE) != 0))) {
- 				/* Cancel the current request */
- 				ddns_cancel(lease6->ddns_cb, MDL);
-@@ -2053,7 +2053,7 @@ ddns_removals(struct lease    *lease,
- 	 * the lease information for v6 when the response
- 	 * from the DNS code is processed.
- 	 */
--	if (active == ISC_TRUE) {
-+	if (active == true) {
- 		ddns_cb->flags |= DDNS_ACTIVE_LEASE;
- 	}
- 
-Index: dhcp-4.4.1/server/mdb.c
-===================================================================
---- dhcp-4.4.1.orig/server/mdb.c
-+++ dhcp-4.4.1/server/mdb.c
-@@ -1504,7 +1504,7 @@ void make_binding_state_transition (stru
- 	      lease -> binding_state == FTS_ACTIVE &&
- 	      lease -> next_binding_state != FTS_RELEASED))) {
- #if defined (NSUPDATE)
--		(void) ddns_removals(lease, NULL, NULL, ISC_TRUE);
-+		(void) ddns_removals(lease, NULL, NULL, true);
- #endif
- 		if (lease->on_star.on_expiry) {
- 			execute_statements(NULL, NULL, lease,
-@@ -1568,7 +1568,7 @@ void make_binding_state_transition (stru
- 		 * release message.  This is not true of expiry, where the
- 		 * peer may have extended the lease.
- 		 */
--		(void) ddns_removals(lease, NULL, NULL, ISC_TRUE);
-+		(void) ddns_removals(lease, NULL, NULL, true);
- #endif
- 		if (lease->on_star.on_release) {
- 			execute_statements(NULL, NULL, lease,
-@@ -1736,7 +1736,7 @@ void release_lease (lease, packet)
- 	/* If there are statements to execute when the lease is
- 	   released, execute them. */
- #if defined (NSUPDATE)
--	(void) ddns_removals(lease, NULL, NULL, ISC_FALSE);
-+	(void) ddns_removals(lease, NULL, NULL, false);
- #endif
- 	if (lease->on_star.on_release) {
- 		execute_statements (NULL, packet, lease,
-@@ -1810,7 +1810,7 @@ void abandon_lease (lease, message)
- {
- 	struct lease *lt = NULL;
- #if defined (NSUPDATE)
--	(void) ddns_removals(lease, NULL, NULL, ISC_FALSE);
-+	(void) ddns_removals(lease, NULL, NULL, false);
- #endif
- 
- 	if (!lease_copy(&lt, lease, MDL)) {
-@@ -1860,7 +1860,7 @@ void dissociate_lease (lease)
- {
- 	struct lease *lt = (struct lease *)0;
- #if defined (NSUPDATE)
--	(void) ddns_removals(lease, NULL, NULL, ISC_FALSE);
-+	(void) ddns_removals(lease, NULL, NULL, false);
- #endif
- 
- 	if (!lease_copy (&lt, lease, MDL))
-@@ -2072,38 +2072,38 @@ int find_lease_by_hw_addr (struct lease
-  *    should never see reset leases for this.
-  * 4) Abandoned leases are always dead last.
-  */
--static isc_boolean_t
-+static bool
- client_lease_preferred(struct lease *cand, struct lease *lease)
- {
- 	if (cand->binding_state == FTS_ACTIVE) {
- 		if (lease->binding_state == FTS_ACTIVE &&
- 		    lease->ends >= cand->ends)
--			return ISC_TRUE;
-+			return true;
- 	} else if (cand->binding_state == FTS_EXPIRED ||
- 		   cand->binding_state == FTS_RELEASED) {
- 		if (lease->binding_state == FTS_ACTIVE)
--			return ISC_TRUE;
-+			return true;
- 
- 		if ((lease->binding_state == FTS_EXPIRED ||
- 		     lease->binding_state == FTS_RELEASED) &&
- 		    lease->cltt >= cand->cltt)
--			return ISC_TRUE;
-+			return true;
- 	} else if (cand->binding_state != FTS_ABANDONED) {
- 		if (lease->binding_state == FTS_ACTIVE ||
- 		    lease->binding_state == FTS_EXPIRED ||
- 		    lease->binding_state == FTS_RELEASED)
--			return ISC_TRUE;
-+			return true;
- 
- 		if (lease->binding_state != FTS_ABANDONED &&
- 		    lease->cltt >= cand->cltt)
--			return ISC_TRUE;
-+			return true;
- 	} else /* (cand->binding_state == FTS_ABANDONED) */ {
- 		if (lease->binding_state != FTS_ABANDONED ||
- 		    lease->cltt >= cand->cltt)
--			return ISC_TRUE;
-+			return true;
- 	}
- 
--	return ISC_FALSE;
-+	return false;
- }
- 
- /* Add the specified lease to the uid hash. */
diff --git a/poky/meta/recipes-connectivity/dhcp/dhcp/0001-master-Added-includes-of-new-BIND9-compatibility-hea.patch b/poky/meta/recipes-connectivity/dhcp/dhcp/0001-master-Added-includes-of-new-BIND9-compatibility-hea.patch
new file mode 100644
index 0000000..1bc1422
--- /dev/null
+++ b/poky/meta/recipes-connectivity/dhcp/dhcp/0001-master-Added-includes-of-new-BIND9-compatibility-hea.patch
@@ -0,0 +1,79 @@
+From 8194daabfd590f17825f0c61e9534bee5c99cc86 Mon Sep 17 00:00:00 2001
+From: Thomas Markwalder <tmark@isc.org>
+Date: Fri, 14 Sep 2018 13:41:41 -0400
+Subject: [master] Added includes of new BIND9 compatibility headers
+
+    Merges in rt48072.
+
+Upstream-Status: Backport
+Signed-off-by: Adrian Bunk <bunk@stusta.de>
+
+diff --git a/includes/omapip/isclib.h b/includes/omapip/isclib.h
+index 75a87ff6..538b927f 100644
+--- a/includes/omapip/isclib.h
++++ b/includes/omapip/isclib.h
+@@ -48,6 +48,9 @@
+ #include <string.h>
+ #include <netdb.h>
+ 
++#include <isc/boolean.h>
++#include <isc/int.h>
++
+ #include <isc/buffer.h>
+ #include <isc/lex.h>
+ #include <isc/lib.h>
+diff --git a/includes/omapip/result.h b/includes/omapip/result.h
+index 91243e1b..860298f6 100644
+--- a/includes/omapip/result.h
++++ b/includes/omapip/result.h
+@@ -26,6 +26,7 @@
+ #ifndef DHCP_RESULT_H
+ #define DHCP_RESULT_H 1
+ 
++#include <isc/boolean.h>
+ #include <isc/lang.h>
+ #include <isc/resultclass.h>
+ #include <isc/types.h>
+diff --git a/server/dhcpv6.c b/server/dhcpv6.c
+index a7110f98..cde4f617 100644
+--- a/server/dhcpv6.c
++++ b/server/dhcpv6.c
+@@ -1034,7 +1034,8 @@ void check_pool6_threshold(struct reply_state *reply,
+ 				  shared_name,
+ 				  inet_ntop(AF_INET6, &lease->addr,
+ 					    tmp_addr, sizeof(tmp_addr)),
+-				  used, count);
++				  (long long unsigned)(used),
++				  (long long unsigned)(count));
+ 		}
+ 		return;
+ 	}
+@@ -1066,7 +1067,8 @@ void check_pool6_threshold(struct reply_state *reply,
+ 		  "address: %s; high threshold %d%% %llu/%llu.",
+ 		  shared_name,
+ 		  inet_ntop(AF_INET6, &lease->addr, tmp_addr, sizeof(tmp_addr)),
+-		  poolhigh, used, count);
++		  poolhigh, (long long unsigned)(used),
++		  (long long unsigned)(count));
+ 
+ 	/* handle the low threshold now, if we don't
+ 	 * have one we default to 0. */
+@@ -1436,12 +1438,15 @@ pick_v6_address(struct reply_state *reply)
+ 		log_debug("Unable to pick client address: "
+ 			  "no addresses available  - shared network %s: "
+ 			  " 2^64-1 < total, %llu active,  %llu abandoned",
+-			  shared_name, active - abandoned, abandoned);
++			  shared_name, (long long unsigned)(active - abandoned),
++			  (long long unsigned)(abandoned));
+ 	} else {
+ 		log_debug("Unable to pick client address: "
+ 			  "no addresses available  - shared network %s: "
+ 			  "%llu total, %llu active,  %llu abandoned",
+-			  shared_name, total, active - abandoned, abandoned);
++			  shared_name, (long long unsigned)(total),
++			  (long long unsigned)(active - abandoned),
++		          (long long unsigned)(abandoned));
+ 	}
+ 
+ 	return ISC_R_NORESOURCES;
+
diff --git a/poky/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb b/poky/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb
index ca0daa1..e8cc731 100644
--- a/poky/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb
+++ b/poky/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb
@@ -10,7 +10,7 @@
             file://0009-remove-dhclient-script-bash-dependency.patch \
             file://0012-dhcp-correct-the-intention-for-xml2-lib-search.patch \
             file://0013-fixup_use_libbind.patch \
-            file://0001-dhcpd-fix-Replace-custom-isc_boolean_t-with-C-standa.patch \
+            file://0001-master-Added-includes-of-new-BIND9-compatibility-hea.patch \
 "
 
 SRC_URI[md5sum] = "18c7f4dcbb0a63df25098216d47b1ede"
diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2.inc b/poky/meta/recipes-connectivity/iproute2/iproute2.inc
index 1aa1eec..d728717 100644
--- a/poky/meta/recipes-connectivity/iproute2/iproute2.inc
+++ b/poky/meta/recipes-connectivity/iproute2/iproute2.inc
@@ -18,7 +18,8 @@
 PACKAGECONFIG ??= "tipc"
 PACKAGECONFIG[tipc] = ",,libmnl,"
 
-EXTRA_OEMAKE = "CC='${CC}' KERNEL_INCLUDE=${STAGING_INCDIR} DOCDIR=${docdir}/iproute2 SUBDIRS='lib tc ip bridge misc genl ${@bb.utils.contains('PACKAGECONFIG', 'tipc', 'tipc', '', d)}' SBINDIR='${base_sbindir}' LIBDIR='${libdir}'"
+EXTRA_OEMAKE = "CC='${CC}' KERNEL_INCLUDE=${STAGING_INCDIR} DOCDIR=${docdir}/iproute2 SUBDIRS='lib tc ip bridge misc genl \
+                ${@bb.utils.contains('PACKAGECONFIG', 'tipc', 'tipc', '', d)}' SBINDIR='${base_sbindir}' LIBDIR='${libdir}'"
 
 do_configure_append () {
     sh configure ${STAGING_INCDIR}
@@ -37,10 +38,19 @@
 # The .so files in iproute2-tc are modules, not traditional libraries
 INSANE_SKIP_${PN}-tc = "dev-so"
 
-PACKAGES =+ "${PN}-tc ${PN}-lnstat ${PN}-ifstat ${PN}-genl ${PN}-rtacct ${PN}-nstat ${PN}-ss ${@bb.utils.contains('PACKAGECONFIG', 'tipc', '${PN}-tipc', '', d)}"
+PACKAGES =+ "${PN}-tc \
+             ${PN}-lnstat \
+             ${PN}-ifstat \
+             ${PN}-genl \
+             ${PN}-rtacct \
+             ${PN}-nstat \
+             ${PN}-ss \
+             ${@bb.utils.contains('PACKAGECONFIG', 'tipc', '${PN}-tipc', '', d)}"
 FILES_${PN}-tc = "${base_sbindir}/tc* \
                   ${libdir}/tc/*.so"
-FILES_${PN}-lnstat = "${base_sbindir}/lnstat ${base_sbindir}/ctstat ${base_sbindir}/rtstat"
+FILES_${PN}-lnstat = "${base_sbindir}/lnstat \
+                      ${base_sbindir}/ctstat \
+                      ${base_sbindir}/rtstat"
 FILES_${PN}-ifstat = "${base_sbindir}/ifstat"
 FILES_${PN}-genl = "${base_sbindir}/genl"
 FILES_${PN}-rtacct = "${base_sbindir}/rtacct"
diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2/0001-ip-Remove-unneed-header.patch b/poky/meta/recipes-connectivity/iproute2/iproute2/0001-ip-Remove-unneed-header.patch
deleted file mode 100644
index a9027c5..0000000
--- a/poky/meta/recipes-connectivity/iproute2/iproute2/0001-ip-Remove-unneed-header.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 02ed10fc5215c4a32e6740b0a0c2439659be6801 Mon Sep 17 00:00:00 2001
-From: Changhyeok Bae <changhyeok.bae@gmail.com>
-Date: Mon, 13 Nov 2017 15:59:35 +0000
-Subject: [PATCH] ip: Remove unneed header
-
-Fix redefinition of struct ethhdr with a suitably patched musl libc
-that suppresses the kernel if_ether.h.
-
-Signed-off-by: Changhyeok Bae <changhyeok.bae@gmail.com>
-
-Upstream-Status: Pending [netdev@vger.kernel.org]
----
- ip/iplink_bridge.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/ip/iplink_bridge.c b/ip/iplink_bridge.c
-index cccdec1..f065b22 100644
---- a/ip/iplink_bridge.c
-+++ b/ip/iplink_bridge.c
-@@ -13,7 +13,6 @@
- #include <stdlib.h>
- #include <string.h>
- #include <netinet/in.h>
--#include <netinet/ether.h>
- #include <linux/if_link.h>
- #include <linux/if_bridge.h>
- #include <net/if.h>
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2/configure-cross.patch b/poky/meta/recipes-connectivity/iproute2/iproute2/configure-cross.patch
index 8b75a2a..b0c4a08 100644
--- a/poky/meta/recipes-connectivity/iproute2/iproute2/configure-cross.patch
+++ b/poky/meta/recipes-connectivity/iproute2/iproute2/configure-cross.patch
@@ -1,6 +1,6 @@
-From 85b0589b4843c03e8e6fd9416d71ea449a73c5c0 Mon Sep 17 00:00:00 2001
+From 3835b1cc4a55361443c2b37dea688da652217635 Mon Sep 17 00:00:00 2001
 From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Thu, 3 Nov 2011 10:46:16 +0100
+Date: Sun, 31 Mar 2019 17:32:07 +0200
 Subject: [PATCH] make configure cross compile safe
 
 According to Kevin Tian:
@@ -9,11 +9,15 @@
 Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
 Signed-off-by: Shane Wang <shane.wang@intel.com>
 
-Index: iproute2-4.14.1/configure
-===================================================================
---- iproute2-4.14.1.orig/configure
-+++ iproute2-4.14.1/configure
-@@ -2,6 +2,7 @@
+---
+ configure | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/configure b/configure
+index 45fcffb6..0c5c9146 100755
+--- a/configure
++++ b/configure
+@@ -3,6 +3,7 @@
  # This is not an autoconf generated configure
  #
  INCLUDE=${1:-"$PWD/include"}
@@ -21,12 +25,15 @@
  
  # Output file which is input to Makefile
  CONFIG=config.mk
-@@ -195,7 +196,7 @@ check_ipt_lib_dir()
+@@ -162,7 +163,7 @@ check_ipt_lib_dir()
  		return
  	fi
  
--	for dir in /lib /usr/lib /usr/local/lib
-+	for dir in $SYSROOT/lib $SYSROOT/usr/lib $SYSROOT/usr/local/lib
- 	do
- 		for file in $dir/{xtables,iptables}/lib*t_*so ; do
+-	for dir in /lib /usr/lib /usr/local/lib; do
++	for dir in $SYSROOT/lib $SYSROOT/usr/lib $SYSROOT/usr/local/lib; do
+ 		for file in "xtables" "iptables"; do
+ 			file="$dir/$file/lib*t_*so"
  			if [ -f $file ]; then
+-- 
+2.17.1
+
diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2_4.19.0.bb b/poky/meta/recipes-connectivity/iproute2/iproute2_5.0.0.bb
similarity index 61%
rename from poky/meta/recipes-connectivity/iproute2/iproute2_4.19.0.bb
rename to poky/meta/recipes-connectivity/iproute2/iproute2_5.0.0.bb
index 6db4062..8f33c7f 100644
--- a/poky/meta/recipes-connectivity/iproute2/iproute2_4.19.0.bb
+++ b/poky/meta/recipes-connectivity/iproute2/iproute2_5.0.0.bb
@@ -3,11 +3,10 @@
 SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \
            file://configure-cross.patch \
            file://0001-libc-compat.h-add-musl-workaround.patch \
-           file://0001-ip-Remove-unneed-header.patch \
           "
 
-SRC_URI[md5sum] = "67eeebacaac4515cab73dfd2fc796af3"
-SRC_URI[sha256sum] = "d9ec5ca1f47d8a85416fa26e7dc1cbf5d067640eb60e90bdc1c7e5bdc6a29984"
+SRC_URI[md5sum] = "d22107b4d7cfb999eeb8ad8a0aec1124"
+SRC_URI[sha256sum] = "df047302a39650ef832c07e8dab5df7a23218cd398bd310c8628e386161d20ba"
 
 # CFLAGS are computed in Makefile and reference CCOPTS
 #
diff --git a/poky/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/init b/poky/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/init
deleted file mode 100755
index 6f29e9c..0000000
--- a/poky/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/init
+++ /dev/null
@@ -1,78 +0,0 @@
-#! /bin/sh
-### BEGIN INIT INFO
-# Provides:          irda
-# Required-Start:    $network $remote_fs
-# Required-Stop:     $network $remote_fs
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
-# Short-Description: Infrared port support
-### END INIT INFO
-
-NAME="irattach"
-test -x "$IRDA_DAEMON" || IRDA_DAEMON=/usr/sbin/irattach
-test -z "$IRATTACH_PID" && IRATTACH_PID=/var/run/irattach.pid
-
-# Source function library.
-. /etc/init.d/functions
-
-module_id() {
-        awk 'BEGIN { FS=": " } /Hardware/ { print $2 } ' </proc/cpuinfo
-}
-
-if [ ! -f /etc/sysconfig/irda ]; then
-    case `module_id` in
-	"HP iPAQ H2200" | "HP iPAQ HX4700" | "HTC Universal")
-	    IRDA=yes
-	    DEVICE=/dev/ttyS2
-	    DONGLE=
-	    DISCOVERY=
-	    ;;
-	*)
-	    IRDA=yes
-	    DEVICE=/dev/ttyS1
-	    DONGLE=
-	    DISCOVERY=
-	    ;;
-    esac
-else
-    . /etc/sysconfig/irda
-fi
-
-# Check that irda is up.
-[ ${IRDA} = "no" ] && exit 0
-
-[ -f /usr/sbin/irattach ] || exit 0
-
-ARGS=
-if [ $DONGLE ]; then
-	ARGS="$ARGS -d $DONGLE"
-fi
-if [ "$DISCOVERY" = "yes" ];then
-	ARGS="$ARGS -s"
-fi
-
-case "$1" in
-  start)
-	echo -n "Starting IrDA: $NAME"
-	start-stop-daemon --start --quiet --exec "$IRDA_DAEMON" ${DEVICE} ${ARGS} --pidfile "$IRATTACH_PID"
-	sleep 1
-	[ -f /var/run/irattach.pid ] && echo " done" || echo " fail"
-	;;
-  stop)
-	echo "Stopping IrDA: $NAME"
-	start-stop-daemon --stop --quiet --exec "$IRDA_DAEMON" --pidfile "$IRATTACH_PID"
-	;;
-  restart|force-reload)
-	$0 stop
-	$0 start
-	;;
-  status)
-	status irattach
-	exit $?
-	;;
-  *)
-	N=/etc/init.d/$NAME
-	echo "Usage: $N {start|stop|restart|force-reload|status}" >&2
-	exit 1
-	;;
-esac
diff --git a/poky/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/ldflags.patch b/poky/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/ldflags.patch
deleted file mode 100644
index b246de8..0000000
--- a/poky/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/ldflags.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-Obey LDFLAGS
-
-Signed-off-by: Christopher Larson <chris_larson@mentor.com>
-Upstream-Status: Pending
-
-Index: irda-utils-0.9.18/findchip/Makefile
-===================================================================
---- irda-utils-0.9.18.orig/findchip/Makefile
-+++ irda-utils-0.9.18/findchip/Makefile
-@@ -65,5 +65,5 @@ install: findchip
- 
- gfindchip: gfindchip.c 
- 	$(prn_cc)
--	$(ECMD))$(CC) $(CFLAGS) `gtk-config --cflags`  $< -o $@ `gtk-config --libs`
-+	$(ECMD)$(CC) $(CFLAGS) $(LDFLAGS) `gtk-config --cflags`  $< -o $@ `gtk-config --libs`
- 
-Index: irda-utils-0.9.18/irattach/Makefile
-===================================================================
---- irda-utils-0.9.18.orig/irattach/Makefile
-+++ irda-utils-0.9.18/irattach/Makefile
-@@ -49,13 +49,13 @@ all: $(TARGETS)
- 
- irattach: irattach.o util.o
- 	$(prn_cc_o)
--	$(ECMD)$(CC) $(CFLAGS) irattach.o util.o -o $@
-+	$(ECMD)$(CC) $(CFLAGS) $(LDFLAGS) irattach.o util.o -o $@
- 
- 
- 
- dongle_attach: dongle_attach.o
- 	$(prn_cc_o)
--	$(ECMD)$(CC) $(CFLAGS) dongle_attach.o -o $@
-+	$(ECMD)$(CC) $(CFLAGS) $(LDFLAGS) dongle_attach.o -o $@
- 
- 
- install: $(TARGETS)
-Index: irda-utils-0.9.18/irdadump/Makefile
-===================================================================
---- irda-utils-0.9.18.orig/irdadump/Makefile
-+++ irda-utils-0.9.18/irdadump/Makefile
-@@ -40,7 +40,7 @@ lib_irdadump.a: $(LIBIRDADUMP_OBJS)
- 
- irdadump: $(IRDADUMP_OBJS) $(LIBIRDADUMP_TARGET)
- 	$(prn_cc_o)
--	$(ECMD)$(CC) $(CFLAGS) `pkg-config --libs glib-2.0` -o  $(IRDADUMP_TARGET) $< $(LIBIRDADUMP_TARGET)
-+	$(ECMD)$(CC) $(CFLAGS) $(LDFLAGS) `pkg-config --libs glib-2.0` -o  $(IRDADUMP_TARGET) $< $(LIBIRDADUMP_TARGET)
- 
- 
- .c.o:
-Index: irda-utils-0.9.18/irdaping/Makefile
-===================================================================
---- irda-utils-0.9.18.orig/irdaping/Makefile
-+++ irda-utils-0.9.18/irdaping/Makefile
-@@ -56,7 +56,7 @@ all: $(TARGETS)
- 
- irdaping: $(OBJS)
- 	$(prn_cc_o)
--	$(ECMD)$(CC) $(CFLAGS) $(OBJS) -o $@
-+	$(ECMD)$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $@
- 
- 
- .c.o:
-Index: irda-utils-0.9.18/irnetd/Makefile
-===================================================================
---- irda-utils-0.9.18.orig/irnetd/Makefile
-+++ irda-utils-0.9.18/irnetd/Makefile
-@@ -50,7 +50,7 @@ all: $(TARGETS)
- 
- irnetd: $(OBJS)
- 	$(prn_cc_o)
--	$(ECMD)$(CC) $(CFLAGS) $(OBJS) -o $@
-+	$(ECMD)$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $@
- 
- 
- install: irnetd
-Index: irda-utils-0.9.18/psion/Makefile
-===================================================================
---- irda-utils-0.9.18.orig/psion/Makefile
-+++ irda-utils-0.9.18/psion/Makefile
-@@ -25,4 +25,4 @@ install: $(PSION_TARGETS)
- CFLAGS += -g -I../include -Wall -Wstrict-prototypes $(RPM_OPT_FLAGS)
- irpsion5: 
- 	$(prn_cc_o)
--	$(ECMD)$(CC) $(CFLAGS) $(PSION_SRC) -o $@
-\ No newline at end of file
-+	$(ECMD)$(CC) $(CFLAGS) $(LDFLAGS) $(PSION_SRC) -o $@
-\ No newline at end of file
diff --git a/poky/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/musl.patch b/poky/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/musl.patch
deleted file mode 100644
index 97eb975..0000000
--- a/poky/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/musl.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Replace use of <net/if_packet.h> with <linux/if_packet.h>.
-
-kernel headers <linux/if_packet.h> already provides the
-needed definitions, moreover not all libc implementations
-provide if_packet.h e.g. musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
-Index: irda-utils-0.9.18/irdaping/irdaping.c
-===================================================================
---- irda-utils-0.9.18.orig/irdaping/irdaping.c
-+++ irda-utils-0.9.18/irdaping/irdaping.c
-@@ -33,7 +33,6 @@
- #include <sys/socket.h>
- #include <sys/ioctl.h>
- #include <net/if.h>		/* For struct ifreq */
--#include <net/if_packet.h>	/* For struct sockaddr_pkt */
- #include <net/if_arp.h>		/* For ARPHRD_IRDA */
- #include <netinet/if_ether.h>	/* For ETH_P_ALL */
- #include <netinet/in.h>		/* For htons */
-@@ -46,6 +45,7 @@
- #include <asm/byteorder.h>	/* __cpu_to_le32 and co. */
- 
- #include <linux/types.h>	/* For __u8 and co. */
-+#include <linux/if_packet.h>	/* For struct sockaddr_pkt */
- #include <irda.h>
- 
- #ifndef AF_IRDA
diff --git a/poky/meta/recipes-connectivity/irda-utils/irda-utils_0.9.18.bb b/poky/meta/recipes-connectivity/irda-utils/irda-utils_0.9.18.bb
deleted file mode 100644
index 11b2ee9..0000000
--- a/poky/meta/recipes-connectivity/irda-utils/irda-utils_0.9.18.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-SUMMARY = "Common files for IrDA"
-DESCRIPTION = "Provides common files needed to use IrDA. \
-IrDA allows communication over Infrared with other devices \
-such as phones and laptops."
-HOMEPAGE = "http://irda.sourceforge.net/"
-BUGTRACKER = "http://sourceforge.net/p/irda/bugs/"
-SECTION = "base"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://irdadump/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
-                    file://smcinit/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
-                    file://man/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
-                    file://irdadump/irdadump.c;beginline=1;endline=24;md5=d78b9dce3cd78c2220250c9c7a2be178"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/irda/irda-utils-${PV}.tar.gz \
-           file://ldflags.patch \
-           file://musl.patch \
-           file://init"
-
-SRC_URI[md5sum] = "84dc12aa4c3f61fccb8d8919bf4079bb"
-SRC_URI[sha256sum] = "61980551e46b2eaa9e17ad31cbc1a638074611fc33bff34163d10c7a67a9fdc6"
-
-inherit update-rc.d
-
-EXTRA_OEMAKE = "\
-    'CC=${CC}' \
-    'LD=${LD}' \
-    'CFLAGS=${CFLAGS}' \
-    'LDFLAGS=${LDFLAGS}' \
-    'SYS_INCLUDES=' \
-    'V=1' \
-"
-
-INITSCRIPT_NAME = "irattach"
-INITSCRIPT_PARAMS = "defaults 20"
-
-TARGETS ??= "irattach irdaping"
-do_compile () {
-	for t in ${TARGETS}; do
-		oe_runmake -C $t
-	done
-}
-
-do_install () {
-	install -d ${D}${sbindir}
-	for t in ${TARGETS}; do
-		oe_runmake -C $t ROOT="${D}" install
-	done
-
-	install -d ${D}${sysconfdir}/init.d
-	install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
-}
diff --git a/poky/meta/recipes-connectivity/iw/iw/0001-connect-fix-parsing-of-WEP-keys.patch b/poky/meta/recipes-connectivity/iw/iw/0001-connect-fix-parsing-of-WEP-keys.patch
deleted file mode 100644
index 8cf8f7a..0000000
--- a/poky/meta/recipes-connectivity/iw/iw/0001-connect-fix-parsing-of-WEP-keys.patch
+++ /dev/null
@@ -1,194 +0,0 @@
-From 2a6be4166fd718be0694fe8a6e3f1013c125dee2 Mon Sep 17 00:00:00 2001
-From: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
-Date: Tue, 12 Jun 2018 09:01:56 +0300
-Subject: [PATCH] connect: fix parsing of WEP keys
-
-The introduction of MFP options added a bug that causes a
-segmentation fault when parsing WEP keys.
-Fix that.
-
-Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
-Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-
-Upstream-Status: Backport
-[https://git.kernel.org/pub/scm/linux/kernel/git/jberg/iw.git/commit/?id=0e39f109c4b8155697a12ef090b59cdb304c8c44]
-Signed-off-by: Liu Haitao <haitao.liu@windriver.com>
----
- ap.c      |  2 +-
- connect.c |  7 ++-----
- ibss.c    |  2 +-
- iw.h      |  3 ++-
- util.c    | 36 ++++++++++++++++++------------------
- 5 files changed, 24 insertions(+), 26 deletions(-)
-
-diff --git a/ap.c b/ap.c
-index 4bab5b9..dcce402 100644
---- a/ap.c
-+++ b/ap.c
-@@ -116,7 +116,7 @@ static int handle_start_ap(struct nl80211_state *state,
- 	argv++;
- 	argc--;
- 
--	return parse_keys(msg, argv, argc);
-+	return parse_keys(msg, &argv, &argc);
-  nla_put_failure:
- 	return -ENOSPC;
- }
-diff --git a/connect.c b/connect.c
-index 339fc73..4a847a1 100644
---- a/connect.c
-+++ b/connect.c
-@@ -54,13 +54,10 @@ static int iw_conn(struct nl80211_state *state,
- 	argv++;
- 	argc--;
- 
--	ret = parse_keys(msg, argv, argc);
-+	ret = parse_keys(msg, &argv, &argc);
- 	if (ret)
- 		return ret;
- 
--	argc -= 4;
--	argv += 4;
--
- 	if (!argc)
- 		return 0;
- 
-@@ -228,7 +225,7 @@ static int iw_auth(struct nl80211_state *state,
- 	argv++;
- 	argc--;
- 
--	return parse_keys(msg, argv, argc);
-+	return parse_keys(msg, &argv, &argc);
-  nla_put_failure:
- 	return -ENOSPC;
- }
-diff --git a/ibss.c b/ibss.c
-index 84f1e95..d77fc92 100644
---- a/ibss.c
-+++ b/ibss.c
-@@ -115,7 +115,7 @@ static int join_ibss(struct nl80211_state *state,
- 	argv++;
- 	argc--;
- 
--	return parse_keys(msg, argv, argc);
-+	return parse_keys(msg, &argv, &argc);
-  nla_put_failure:
- 	return -ENOSPC;
- }
-diff --git a/iw.h b/iw.h
-index ee7ca20..8767ed3 100644
---- a/iw.h
-+++ b/iw.h
-@@ -180,7 +180,8 @@ int parse_hex_mask(char *hexmask, unsigned char **result, size_t *result_len,
- 		   unsigned char **mask);
- unsigned char *parse_hex(char *hex, size_t *outlen);
- 
--int parse_keys(struct nl_msg *msg, char **argv, int argc);
-+
-+int parse_keys(struct nl_msg *msg, char **argv[], int *argc);
- int parse_freqchan(struct chandef *chandef, bool chan, int argc, char **argv, int *parsed);
- enum nl80211_chan_width str_to_bw(const char *str);
- int put_chandef(struct nl_msg *msg, struct chandef *chandef);
-diff --git a/util.c b/util.c
-index 6e0ddff..122c019 100644
---- a/util.c
-+++ b/util.c
-@@ -417,23 +417,23 @@ static int parse_cipher_suite(const char *cipher_str)
- 	return -EINVAL;
- }
- 
--int parse_keys(struct nl_msg *msg, char **argv, int argc)
-+int parse_keys(struct nl_msg *msg, char **argv[], int *argc)
- {
- 	struct nlattr *keys;
- 	int i = 0;
- 	bool have_default = false;
--	char *arg = *argv;
-+	char *arg = **argv;
- 	char keybuf[13];
- 	int pos = 0;
- 
--	if (!argc)
-+	if (!*argc)
- 		return 1;
- 
- 	if (!memcmp(&arg[pos], "psk", 3)) {
- 		char psk_keybuf[32];
- 		int cipher_suite, akm_suite;
- 
--		if (argc < 4)
-+		if (*argc < 4)
- 			goto explain;
- 
- 		pos+=3;
-@@ -451,9 +451,9 @@ int parse_keys(struct nl_msg *msg, char **argv, int argc)
- 		NLA_PUT(msg, NL80211_ATTR_PMK, 32, psk_keybuf);
- 		NLA_PUT_U32(msg, NL80211_ATTR_AUTH_TYPE, NL80211_AUTHTYPE_OPEN_SYSTEM);
- 
--		argv++;
--		argc--;
--		arg = *argv;
-+		*argv += 1;
-+		*argc -= 1;
-+		arg = **argv;
- 
- 		akm_suite = parse_akm_suite(arg);
- 		if (akm_suite < 0)
-@@ -461,9 +461,9 @@ int parse_keys(struct nl_msg *msg, char **argv, int argc)
- 
- 		NLA_PUT_U32(msg, NL80211_ATTR_AKM_SUITES, akm_suite);
- 
--		argv++;
--		argc--;
--		arg = *argv;
-+		*argv += 1;
-+		*argc -= 1;
-+		arg = **argv;
- 
- 		cipher_suite = parse_cipher_suite(arg);
- 		if (cipher_suite < 0)
-@@ -471,9 +471,9 @@ int parse_keys(struct nl_msg *msg, char **argv, int argc)
- 
- 		NLA_PUT_U32(msg, NL80211_ATTR_CIPHER_SUITES_PAIRWISE, cipher_suite);
- 
--		argv++;
--		argc--;
--		arg = *argv;
-+		*argv += 1;
-+		*argc -= 1;
-+		arg = **argv;
- 
- 		cipher_suite = parse_cipher_suite(arg);
- 		if (cipher_suite < 0)
-@@ -495,7 +495,7 @@ int parse_keys(struct nl_msg *msg, char **argv, int argc)
- 		struct nlattr *key = nla_nest_start(msg, ++i);
- 		char *keydata;
- 
--		arg = *argv;
-+		arg = **argv;
- 		pos = 0;
- 
- 		if (!key)
-@@ -537,15 +537,15 @@ int parse_keys(struct nl_msg *msg, char **argv, int argc)
- 
- 		NLA_PUT(msg, NL80211_KEY_DATA, keylen, keydata);
- 
--		argv++;
--		argc--;
-+		*argv += 1;
-+		*argc -= 1;
- 
- 		/* one key should be TX key */
--		if (!have_default && !argc)
-+		if (!have_default && !*argc)
- 			NLA_PUT_FLAG(msg, NL80211_KEY_DEFAULT);
- 
- 		nla_nest_end(msg, key);
--	} while (argc);
-+	} while (*argc);
- 
- 	nla_nest_end(msg, keys);
- 
--- 
-2.17.1
-
diff --git a/poky/meta/recipes-connectivity/iw/iw/separate-objdir.patch b/poky/meta/recipes-connectivity/iw/iw/separate-objdir.patch
index 0ea6a52..eb01a5a 100644
--- a/poky/meta/recipes-connectivity/iw/iw/separate-objdir.patch
+++ b/poky/meta/recipes-connectivity/iw/iw/separate-objdir.patch
@@ -7,29 +7,36 @@
 Signed-off-by: Christopher Larson <chris_larson@mentor.com>
 Signed-off-by: Maxin B. John <maxin.john@intel.com>
 ---
-diff -Naur iw-4.3-origin/Makefile iw-4.3/Makefile
---- iw-4.3-origin/Makefile	2015-11-20 16:37:58.752077287 +0200
-+++ iw-4.3/Makefile	2015-11-20 16:57:15.510615815 +0200
-@@ -1,5 +1,7 @@
+ Makefile | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 33aaf6a..9030796 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,5 +1,9 @@
  MAKEFLAGS += --no-print-directory
--
+
 +SRCDIR ?= $(dir $(lastword $(MAKEFILE_LIST)))
 +OBJDIR ?= $(PWD)
 +VPATH = $(SRCDIR)
++
  PREFIX ?= /usr
  SBINDIR ?= $(PREFIX)/sbin
  MANDIR ?= $(PREFIX)/share/man
-@@ -95,11 +97,11 @@
+@@ -103,11 +107,11 @@ VERSION_OBJS := $(filter-out version.o, $(OBJS))
  version.c: version.sh $(patsubst %.o,%.c,$(VERSION_OBJS)) nl80211.h iw.h Makefile \
  		$(wildcard .git/index .git/refs/tags)
  	@$(NQ) ' GEN ' $@
 -	$(Q)./version.sh $@
 +	$(Q)cd $(SRCDIR) && ./version.sh $(OBJDIR)/$@
- 
+
  %.o: %.c iw.h nl80211.h
  	@$(NQ) ' CC  ' $@
--	$(Q)$(CC) $(CFLAGS) -c -o $@ $<
-+	$(Q)$(CC) -I$(SRCDIR) $(CFLAGS) -c -o $@ $<
- 
+-	$(Q)$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
++	$(Q)$(CC) -I$(SRCDIR) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
+
  ifeq ($(IW_ANDROID_BUILD),)
  iw:	$(OBJS)
+--
+2.20.1 (Apple Git-117)
diff --git a/poky/meta/recipes-connectivity/iw/iw_4.14.bb b/poky/meta/recipes-connectivity/iw/iw_5.0.1.bb
similarity index 80%
rename from poky/meta/recipes-connectivity/iw/iw_4.14.bb
rename to poky/meta/recipes-connectivity/iw/iw_5.0.1.bb
index f414a4b..e127963 100644
--- a/poky/meta/recipes-connectivity/iw/iw_4.14.bb
+++ b/poky/meta/recipes-connectivity/iw/iw_5.0.1.bb
@@ -12,11 +12,10 @@
 SRC_URI = "http://www.kernel.org/pub/software/network/iw/${BP}.tar.gz \
            file://0001-iw-version.sh-don-t-use-git-describe-for-versioning.patch \
            file://separate-objdir.patch \
-           file://0001-connect-fix-parsing-of-WEP-keys.patch \
 "
 
-SRC_URI[md5sum] = "2067516ca9940fdb8c091ee3250da374"
-SRC_URI[sha256sum] = "a0c3aad6ff52234d03a2522ba2eba570e36abb3e60dc29bf0b1ce88dd725d6d4"
+SRC_URI[md5sum] = "a0a17ab1b20132c716bba9a4f9974ba6"
+SRC_URI[sha256sum] = "36fc7592dde7bec934df83cd53ef1f2c08ceec5cd58d07eb8f71cc6e8464013c"
 
 inherit pkgconfig
 
diff --git a/poky/meta/recipes-connectivity/openssh/openssh/0001-upstream-Have-progressmeter-force-an-update-at-the-b.patch b/poky/meta/recipes-connectivity/openssh/openssh/0001-upstream-Have-progressmeter-force-an-update-at-the-b.patch
new file mode 100644
index 0000000..4c9d574
--- /dev/null
+++ b/poky/meta/recipes-connectivity/openssh/openssh/0001-upstream-Have-progressmeter-force-an-update-at-the-b.patch
@@ -0,0 +1,121 @@
+From 5df934e2279e8ed1f07b990f4b2b3baf6470f7e5 Mon Sep 17 00:00:00 2001
+From: "dtucker@openbsd.org" <dtucker@openbsd.org>
+Date: Thu, 24 Jan 2019 16:52:17 +0000
+Subject: [PATCH] upstream: Have progressmeter force an update at the beginning
+ and
+
+end of each transfer.  Fixes the problem recently introduces where very quick
+transfers do not display the progressmeter at all.  Spotted by naddy@
+
+OpenBSD-Commit-ID: 68dc46c259e8fdd4f5db3ec2a130f8e4590a7a9a
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ progressmeter.c | 13 +++++--------
+ progressmeter.h |  4 ++--
+ scp.c           |  2 +-
+ sftp-client.c   |  2 +-
+ 4 files changed, 9 insertions(+), 12 deletions(-)
+
+diff --git a/progressmeter.c b/progressmeter.c
+index add462d..e385c12 100644
+--- a/progressmeter.c
++++ b/progressmeter.c
+@@ -1,4 +1,4 @@
+-/* $OpenBSD: progressmeter.c,v 1.46 2019/01/23 08:01:46 dtucker Exp $ */
++/* $OpenBSD: progressmeter.c,v 1.47 2019/01/24 16:52:17 dtucker Exp $ */
+ /*
+  * Copyright (c) 2003 Nils Nordman.  All rights reserved.
+  *
+@@ -59,9 +59,6 @@ static void format_rate(char *, int, off_t);
+ static void sig_winch(int);
+ static void setscreensize(void);
+ 
+-/* updates the progressmeter to reflect the current state of the transfer */
+-void refresh_progress_meter(void);
+-
+ /* signal handler for updating the progress meter */
+ static void sig_alarm(int);
+ 
+@@ -120,7 +117,7 @@ format_size(char *buf, int size, off_t bytes)
+ }
+ 
+ void
+-refresh_progress_meter(void)
++refresh_progress_meter(int force_update)
+ {
+ 	char buf[MAX_WINSIZE + 1];
+ 	off_t transferred;
+@@ -131,7 +128,7 @@ refresh_progress_meter(void)
+ 	int hours, minutes, seconds;
+ 	int file_len;
+ 
+-	if ((!alarm_fired && !win_resized) || !can_output())
++	if ((!force_update && !alarm_fired && !win_resized) || !can_output())
+ 		return;
+ 	alarm_fired = 0;
+ 
+@@ -254,7 +251,7 @@ start_progress_meter(const char *f, off_t filesize, off_t *ctr)
+ 	bytes_per_second = 0;
+ 
+ 	setscreensize();
+-	refresh_progress_meter();
++	refresh_progress_meter(1);
+ 
+ 	signal(SIGALRM, sig_alarm);
+ 	signal(SIGWINCH, sig_winch);
+@@ -271,7 +268,7 @@ stop_progress_meter(void)
+ 
+ 	/* Ensure we complete the progress */
+ 	if (cur_pos != end_pos)
+-		refresh_progress_meter();
++		refresh_progress_meter(1);
+ 
+ 	atomicio(vwrite, STDOUT_FILENO, "\n", 1);
+ }
+diff --git a/progressmeter.h b/progressmeter.h
+index 8f66780..1703ea7 100644
+--- a/progressmeter.h
++++ b/progressmeter.h
+@@ -1,4 +1,4 @@
+-/* $OpenBSD: progressmeter.h,v 1.4 2019/01/23 08:01:46 dtucker Exp $ */
++/* $OpenBSD: progressmeter.h,v 1.5 2019/01/24 16:52:17 dtucker Exp $ */
+ /*
+  * Copyright (c) 2002 Nils Nordman.  All rights reserved.
+  *
+@@ -24,5 +24,5 @@
+  */
+ 
+ void	start_progress_meter(const char *, off_t, off_t *);
+-void	refresh_progress_meter(void);
++void	refresh_progress_meter(int);
+ void	stop_progress_meter(void);
+diff --git a/scp.c b/scp.c
+index 4a342a6..0587cec 100644
+--- a/scp.c
++++ b/scp.c
+@@ -585,7 +585,7 @@ scpio(void *_cnt, size_t s)
+ 	off_t *cnt = (off_t *)_cnt;
+ 
+ 	*cnt += s;
+-	refresh_progress_meter();
++	refresh_progress_meter(0);
+ 	if (limit_kbps > 0)
+ 		bandwidth_limit(&bwlimit, s);
+ 	return 0;
+diff --git a/sftp-client.c b/sftp-client.c
+index 2bc698f..cf2887a 100644
+--- a/sftp-client.c
++++ b/sftp-client.c
+@@ -101,7 +101,7 @@ sftpio(void *_bwlimit, size_t amount)
+ {
+ 	struct bwlimit *bwlimit = (struct bwlimit *)_bwlimit;
+ 
+-	refresh_progress_meter();
++	refresh_progress_meter(0);
+ 	if (bwlimit != NULL)
+ 		bandwidth_limit(bwlimit, amount);
+ 	return 0;
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-connectivity/openssh/openssh/CVE-2018-20685.patch b/poky/meta/recipes-connectivity/openssh/openssh/CVE-2018-20685.patch
new file mode 100644
index 0000000..c5b3bae
--- /dev/null
+++ b/poky/meta/recipes-connectivity/openssh/openssh/CVE-2018-20685.patch
@@ -0,0 +1,40 @@
+From 6010c0303a422a9c5fa8860c061bf7105eb7f8b2 Mon Sep 17 00:00:00 2001
+From: "djm@openbsd.org" <djm@openbsd.org>
+Date: Fri, 16 Nov 2018 03:03:10 +0000
+Subject: [PATCH] upstream: disallow empty incoming filename or ones that refer
+ to the
+
+current directory; based on report/patch from Harry Sintonen
+
+OpenBSD-Commit-ID: f27651b30eaee2df49540ab68d030865c04f6de9
+
+CVE: CVE-2018-20685
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ scp.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/scp.c b/scp.c
+index 60682c6..4f3fdcd 100644
+--- a/scp.c
++++ b/scp.c
+@@ -1,4 +1,4 @@
+-/* $OpenBSD: scp.c,v 1.197 2018/06/01 04:31:48 dtucker Exp $ */
++/* $OpenBSD: scp.c,v 1.198 2018/11/16 03:03:10 djm Exp $ */
+ /*
+  * scp - secure remote copy.  This is basically patched BSD rcp which
+  * uses ssh to do the data transfer (instead of using rcmd).
+@@ -1106,7 +1106,8 @@ sink(int argc, char **argv)
+ 			SCREWUP("size out of range");
+ 		size = (off_t)ull;
+ 
+-		if ((strchr(cp, '/') != NULL) || (strcmp(cp, "..") == 0)) {
++		if (*cp == '\0' || strchr(cp, '/') != NULL ||
++		    strcmp(cp, ".") == 0 || strcmp(cp, "..") == 0) {
+ 			run_err("error: unexpected filename: %s", cp);
+ 			exit(1);
+ 		}
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6109.patch b/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6109.patch
new file mode 100644
index 0000000..dabe4a6
--- /dev/null
+++ b/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6109.patch
@@ -0,0 +1,275 @@
+From 15d47c3bd8551521240bc459fc004c280daef817 Mon Sep 17 00:00:00 2001
+From: "dtucker@openbsd.org" <dtucker@openbsd.org>
+Date: Wed, 23 Jan 2019 08:01:46 +0000
+Subject: [PATCH] upstream: Sanitize scp filenames via snmprintf. To do this we
+ move
+
+the progressmeter formatting outside of signal handler context and have the
+atomicio callback called for EINTR too.  bz#2434 with contributions from djm
+and jjelen at redhat.com, ok djm@
+
+OpenBSD-Commit-ID: 1af61c1f70e4f3bd8ab140b9f1fa699481db57d8
+CVE: CVE-2019-6109
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ atomicio.c      | 20 +++++++++++++++-----
+ progressmeter.c | 53 ++++++++++++++++++++++++-----------------------------
+ progressmeter.h |  3 ++-
+ scp.c           |  1 +
+ sftp-client.c   | 16 +++++++++-------
+ 5 files changed, 51 insertions(+), 42 deletions(-)
+
+diff --git a/atomicio.c b/atomicio.c
+index f854a06..d91bd76 100644
+--- a/atomicio.c
++++ b/atomicio.c
+@@ -1,4 +1,4 @@
+-/* $OpenBSD: atomicio.c,v 1.28 2016/07/27 23:18:12 djm Exp $ */
++/* $OpenBSD: atomicio.c,v 1.29 2019/01/23 08:01:46 dtucker Exp $ */
+ /*
+  * Copyright (c) 2006 Damien Miller. All rights reserved.
+  * Copyright (c) 2005 Anil Madhavapeddy. All rights reserved.
+@@ -65,9 +65,14 @@ atomicio6(ssize_t (*f) (int, void *, size_t), int fd, void *_s, size_t n,
+ 		res = (f) (fd, s + pos, n - pos);
+ 		switch (res) {
+ 		case -1:
+-			if (errno == EINTR)
++			if (errno == EINTR) {
++				/* possible SIGALARM, update callback */
++				if (cb != NULL && cb(cb_arg, 0) == -1) {
++					errno = EINTR;
++					return pos;
++				}
+ 				continue;
+-			if (errno == EAGAIN || errno == EWOULDBLOCK) {
++			} else if (errno == EAGAIN || errno == EWOULDBLOCK) {
+ #ifndef BROKEN_READ_COMPARISON
+ 				(void)poll(&pfd, 1, -1);
+ #endif
+@@ -122,9 +127,14 @@ atomiciov6(ssize_t (*f) (int, const struct iovec *, int), int fd,
+ 		res = (f) (fd, iov, iovcnt);
+ 		switch (res) {
+ 		case -1:
+-			if (errno == EINTR)
++			if (errno == EINTR) {
++				/* possible SIGALARM, update callback */
++				if (cb != NULL && cb(cb_arg, 0) == -1) {
++					errno = EINTR;
++					return pos;
++				}
+ 				continue;
+-			if (errno == EAGAIN || errno == EWOULDBLOCK) {
++			} else if (errno == EAGAIN || errno == EWOULDBLOCK) {
+ #ifndef BROKEN_READV_COMPARISON
+ 				(void)poll(&pfd, 1, -1);
+ #endif
+diff --git a/progressmeter.c b/progressmeter.c
+index fe9bf52..add462d 100644
+--- a/progressmeter.c
++++ b/progressmeter.c
+@@ -1,4 +1,4 @@
+-/* $OpenBSD: progressmeter.c,v 1.45 2016/06/30 05:17:05 dtucker Exp $ */
++/* $OpenBSD: progressmeter.c,v 1.46 2019/01/23 08:01:46 dtucker Exp $ */
+ /*
+  * Copyright (c) 2003 Nils Nordman.  All rights reserved.
+  *
+@@ -31,6 +31,7 @@
+ 
+ #include <errno.h>
+ #include <signal.h>
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <string.h>
+ #include <time.h>
+@@ -39,6 +40,7 @@
+ #include "progressmeter.h"
+ #include "atomicio.h"
+ #include "misc.h"
++#include "utf8.h"
+ 
+ #define DEFAULT_WINSIZE 80
+ #define MAX_WINSIZE 512
+@@ -61,7 +63,7 @@ static void setscreensize(void);
+ void refresh_progress_meter(void);
+ 
+ /* signal handler for updating the progress meter */
+-static void update_progress_meter(int);
++static void sig_alarm(int);
+ 
+ static double start;		/* start progress */
+ static double last_update;	/* last progress update */
+@@ -74,6 +76,7 @@ static long stalled;		/* how long we have been stalled */
+ static int bytes_per_second;	/* current speed in bytes per second */
+ static int win_size;		/* terminal window size */
+ static volatile sig_atomic_t win_resized; /* for window resizing */
++static volatile sig_atomic_t alarm_fired;
+ 
+ /* units for format_size */
+ static const char unit[] = " KMGT";
+@@ -126,9 +129,17 @@ refresh_progress_meter(void)
+ 	off_t bytes_left;
+ 	int cur_speed;
+ 	int hours, minutes, seconds;
+-	int i, len;
+ 	int file_len;
+ 
++	if ((!alarm_fired && !win_resized) || !can_output())
++		return;
++	alarm_fired = 0;
++
++	if (win_resized) {
++		setscreensize();
++		win_resized = 0;
++	}
++
+ 	transferred = *counter - (cur_pos ? cur_pos : start_pos);
+ 	cur_pos = *counter;
+ 	now = monotime_double();
+@@ -158,16 +169,11 @@ refresh_progress_meter(void)
+ 
+ 	/* filename */
+ 	buf[0] = '\0';
+-	file_len = win_size - 35;
++	file_len = win_size - 36;
+ 	if (file_len > 0) {
+-		len = snprintf(buf, file_len + 1, "\r%s", file);
+-		if (len < 0)
+-			len = 0;
+-		if (len >= file_len + 1)
+-			len = file_len;
+-		for (i = len; i < file_len; i++)
+-			buf[i] = ' ';
+-		buf[file_len] = '\0';
++		buf[0] = '\r';
++		snmprintf(buf+1, sizeof(buf)-1 , &file_len, "%*s",
++		    file_len * -1, file);
+ 	}
+ 
+ 	/* percent of transfer done */
+@@ -228,22 +234,11 @@ refresh_progress_meter(void)
+ 
+ /*ARGSUSED*/
+ static void
+-update_progress_meter(int ignore)
++sig_alarm(int ignore)
+ {
+-	int save_errno;
+-
+-	save_errno = errno;
+-
+-	if (win_resized) {
+-		setscreensize();
+-		win_resized = 0;
+-	}
+-	if (can_output())
+-		refresh_progress_meter();
+-
+-	signal(SIGALRM, update_progress_meter);
++	signal(SIGALRM, sig_alarm);
++	alarm_fired = 1;
+ 	alarm(UPDATE_INTERVAL);
+-	errno = save_errno;
+ }
+ 
+ void
+@@ -259,10 +254,9 @@ start_progress_meter(const char *f, off_t filesize, off_t *ctr)
+ 	bytes_per_second = 0;
+ 
+ 	setscreensize();
+-	if (can_output())
+-		refresh_progress_meter();
++	refresh_progress_meter();
+ 
+-	signal(SIGALRM, update_progress_meter);
++	signal(SIGALRM, sig_alarm);
+ 	signal(SIGWINCH, sig_winch);
+ 	alarm(UPDATE_INTERVAL);
+ }
+@@ -286,6 +280,7 @@ stop_progress_meter(void)
+ static void
+ sig_winch(int sig)
+ {
++	signal(SIGWINCH, sig_winch);
+ 	win_resized = 1;
+ }
+ 
+diff --git a/progressmeter.h b/progressmeter.h
+index bf179dc..8f66780 100644
+--- a/progressmeter.h
++++ b/progressmeter.h
+@@ -1,4 +1,4 @@
+-/* $OpenBSD: progressmeter.h,v 1.3 2015/01/14 13:54:13 djm Exp $ */
++/* $OpenBSD: progressmeter.h,v 1.4 2019/01/23 08:01:46 dtucker Exp $ */
+ /*
+  * Copyright (c) 2002 Nils Nordman.  All rights reserved.
+  *
+@@ -24,4 +24,5 @@
+  */
+ 
+ void	start_progress_meter(const char *, off_t, off_t *);
++void	refresh_progress_meter(void);
+ void	stop_progress_meter(void);
+diff --git a/scp.c b/scp.c
+index 4f3fdcd..4a342a6 100644
+--- a/scp.c
++++ b/scp.c
+@@ -585,6 +585,7 @@ scpio(void *_cnt, size_t s)
+ 	off_t *cnt = (off_t *)_cnt;
+ 
+ 	*cnt += s;
++	refresh_progress_meter();
+ 	if (limit_kbps > 0)
+ 		bandwidth_limit(&bwlimit, s);
+ 	return 0;
+diff --git a/sftp-client.c b/sftp-client.c
+index 4986d6d..2bc698f 100644
+--- a/sftp-client.c
++++ b/sftp-client.c
+@@ -101,7 +101,9 @@ sftpio(void *_bwlimit, size_t amount)
+ {
+ 	struct bwlimit *bwlimit = (struct bwlimit *)_bwlimit;
+ 
+-	bandwidth_limit(bwlimit, amount);
++	refresh_progress_meter();
++	if (bwlimit != NULL)
++		bandwidth_limit(bwlimit, amount);
+ 	return 0;
+ }
+ 
+@@ -121,8 +123,8 @@ send_msg(struct sftp_conn *conn, struct sshbuf *m)
+ 	iov[1].iov_base = (u_char *)sshbuf_ptr(m);
+ 	iov[1].iov_len = sshbuf_len(m);
+ 
+-	if (atomiciov6(writev, conn->fd_out, iov, 2,
+-	    conn->limit_kbps > 0 ? sftpio : NULL, &conn->bwlimit_out) !=
++	if (atomiciov6(writev, conn->fd_out, iov, 2, sftpio,
++	    conn->limit_kbps > 0 ? &conn->bwlimit_out : NULL) !=
+ 	    sshbuf_len(m) + sizeof(mlen))
+ 		fatal("Couldn't send packet: %s", strerror(errno));
+ 
+@@ -138,8 +140,8 @@ get_msg_extended(struct sftp_conn *conn, struct sshbuf *m, int initial)
+ 
+ 	if ((r = sshbuf_reserve(m, 4, &p)) != 0)
+ 		fatal("%s: buffer error: %s", __func__, ssh_err(r));
+-	if (atomicio6(read, conn->fd_in, p, 4,
+-	    conn->limit_kbps > 0 ? sftpio : NULL, &conn->bwlimit_in) != 4) {
++	if (atomicio6(read, conn->fd_in, p, 4, sftpio,
++	    conn->limit_kbps > 0 ? &conn->bwlimit_in : NULL) != 4) {
+ 		if (errno == EPIPE || errno == ECONNRESET)
+ 			fatal("Connection closed");
+ 		else
+@@ -157,8 +159,8 @@ get_msg_extended(struct sftp_conn *conn, struct sshbuf *m, int initial)
+ 
+ 	if ((r = sshbuf_reserve(m, msg_len, &p)) != 0)
+ 		fatal("%s: buffer error: %s", __func__, ssh_err(r));
+-	if (atomicio6(read, conn->fd_in, p, msg_len,
+-	    conn->limit_kbps > 0 ? sftpio : NULL, &conn->bwlimit_in)
++	if (atomicio6(read, conn->fd_in, p, msg_len, sftpio,
++	    conn->limit_kbps > 0 ? &conn->bwlimit_in : NULL)
+ 	    != msg_len) {
+ 		if (errno == EPIPE)
+ 			fatal("Connection closed");
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6111.patch b/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6111.patch
new file mode 100644
index 0000000..e498da3
--- /dev/null
+++ b/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6111.patch
@@ -0,0 +1,187 @@
+From 15cc3497367d2e9729353b3df75518548e845c82 Mon Sep 17 00:00:00 2001
+From: "djm@openbsd.org" <djm@openbsd.org>
+Date: Sat, 26 Jan 2019 22:41:28 +0000
+Subject: [PATCH] upstream: check in scp client that filenames sent during
+
+remote->local directory copies satisfy the wildcard specified by the user.
+
+This checking provides some protection against a malicious server
+sending unexpected filenames, but it comes at a risk of rejecting wanted
+files due to differences between client and server wildcard expansion rules.
+
+For this reason, this also adds a new -T flag to disable the check.
+
+reported by Harry Sintonen
+fix approach suggested by markus@;
+has been in snaps for ~1wk courtesy deraadt@
+
+OpenBSD-Commit-ID: 00f44b50d2be8e321973f3c6d014260f8f7a8eda
+
+CVE: CVE-2019-6111
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ scp.1 | 12 +++++++++++-
+ scp.c | 37 +++++++++++++++++++++++++++++--------
+ 2 files changed, 40 insertions(+), 9 deletions(-)
+
+diff --git a/scp.1 b/scp.1
+index 0e5cc1b..397e770 100644
+--- a/scp.1
++++ b/scp.1
+@@ -18,7 +18,7 @@
+ .Nd secure copy (remote file copy program)
+ .Sh SYNOPSIS
+ .Nm scp
+-.Op Fl 346BCpqrv
++.Op Fl 346BCpqrTv
+ .Op Fl c Ar cipher
+ .Op Fl F Ar ssh_config
+ .Op Fl i Ar identity_file
+@@ -208,6 +208,16 @@ to use for the encrypted connection.
+ The program must understand
+ .Xr ssh 1
+ options.
++.It Fl T
++Disable strict filename checking.
++By default when copying files from a remote host to a local directory
++.Nm
++checks that the received filenames match those requested on the command-line
++to prevent the remote end from sending unexpected or unwanted files.
++Because of differences in how various operating systems and shells interpret
++filename wildcards, these checks may cause wanted files to be rejected.
++This option disables these checks at the expense of fully trusting that
++the server will not send unexpected filenames.
+ .It Fl v
+ Verbose mode.
+ Causes
+diff --git a/scp.c b/scp.c
+index 0587cec..b2d331e 100644
+--- a/scp.c
++++ b/scp.c
+@@ -94,6 +94,7 @@
+ #include <dirent.h>
+ #include <errno.h>
+ #include <fcntl.h>
++#include <fnmatch.h>
+ #include <limits.h>
+ #include <locale.h>
+ #include <pwd.h>
+@@ -375,14 +376,14 @@ void verifydir(char *);
+ struct passwd *pwd;
+ uid_t userid;
+ int errs, remin, remout;
+-int pflag, iamremote, iamrecursive, targetshouldbedirectory;
++int Tflag, pflag, iamremote, iamrecursive, targetshouldbedirectory;
+ 
+ #define	CMDNEEDS	64
+ char cmd[CMDNEEDS];		/* must hold "rcp -r -p -d\0" */
+ 
+ int response(void);
+ void rsource(char *, struct stat *);
+-void sink(int, char *[]);
++void sink(int, char *[], const char *);
+ void source(int, char *[]);
+ void tolocal(int, char *[]);
+ void toremote(int, char *[]);
+@@ -421,8 +422,9 @@ main(int argc, char **argv)
+ 	addargs(&args, "-oRemoteCommand=none");
+ 	addargs(&args, "-oRequestTTY=no");
+ 
+-	fflag = tflag = 0;
+-	while ((ch = getopt(argc, argv, "dfl:prtvBCc:i:P:q12346S:o:F:")) != -1)
++	fflag = Tflag = tflag = 0;
++	while ((ch = getopt(argc, argv,
++	    "dfl:prtTvBCc:i:P:q12346S:o:F:")) != -1) {
+ 		switch (ch) {
+ 		/* User-visible flags. */
+ 		case '1':
+@@ -501,9 +503,13 @@ main(int argc, char **argv)
+ 			setmode(0, O_BINARY);
+ #endif
+ 			break;
++		case 'T':
++			Tflag = 1;
++			break;
+ 		default:
+ 			usage();
+ 		}
++	}
+ 	argc -= optind;
+ 	argv += optind;
+ 
+@@ -534,7 +540,7 @@ main(int argc, char **argv)
+ 	}
+ 	if (tflag) {
+ 		/* Receive data. */
+-		sink(argc, argv);
++		sink(argc, argv, NULL);
+ 		exit(errs != 0);
+ 	}
+ 	if (argc < 2)
+@@ -792,7 +798,7 @@ tolocal(int argc, char **argv)
+ 			continue;
+ 		}
+ 		free(bp);
+-		sink(1, argv + argc - 1);
++		sink(1, argv + argc - 1, src);
+ 		(void) close(remin);
+ 		remin = remout = -1;
+ 	}
+@@ -968,7 +974,7 @@ rsource(char *name, struct stat *statp)
+ 	 (sizeof(type) != 4 && sizeof(type) != 8))
+ 
+ void
+-sink(int argc, char **argv)
++sink(int argc, char **argv, const char *src)
+ {
+ 	static BUF buffer;
+ 	struct stat stb;
+@@ -984,6 +990,7 @@ sink(int argc, char **argv)
+ 	unsigned long long ull;
+ 	int setimes, targisdir, wrerrno = 0;
+ 	char ch, *cp, *np, *targ, *why, *vect[1], buf[2048], visbuf[2048];
++	char *src_copy = NULL, *restrict_pattern = NULL;
+ 	struct timeval tv[2];
+ 
+ #define	atime	tv[0]
+@@ -1008,6 +1015,17 @@ sink(int argc, char **argv)
+ 	(void) atomicio(vwrite, remout, "", 1);
+ 	if (stat(targ, &stb) == 0 && S_ISDIR(stb.st_mode))
+ 		targisdir = 1;
++	if (src != NULL && !iamrecursive && !Tflag) {
++		/*
++		 * Prepare to try to restrict incoming filenames to match
++		 * the requested destination file glob.
++		 */
++		if ((src_copy = strdup(src)) == NULL)
++			fatal("strdup failed");
++		if ((restrict_pattern = strrchr(src_copy, '/')) != NULL) {
++			*restrict_pattern++ = '\0';
++		}
++	}
+ 	for (first = 1;; first = 0) {
+ 		cp = buf;
+ 		if (atomicio(read, remin, cp, 1) != 1)
+@@ -1112,6 +1130,9 @@ sink(int argc, char **argv)
+ 			run_err("error: unexpected filename: %s", cp);
+ 			exit(1);
+ 		}
++		if (restrict_pattern != NULL &&
++		    fnmatch(restrict_pattern, cp, 0) != 0)
++			SCREWUP("filename does not match request");
+ 		if (targisdir) {
+ 			static char *namebuf;
+ 			static size_t cursize;
+@@ -1149,7 +1170,7 @@ sink(int argc, char **argv)
+ 					goto bad;
+ 			}
+ 			vect[0] = xstrdup(np);
+-			sink(1, vect);
++			sink(1, vect, src);
+ 			if (setimes) {
+ 				setimes = 0;
+ 				if (utimes(vect[0], tv) < 0)
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-connectivity/openssh/openssh_7.9p1.bb b/poky/meta/recipes-connectivity/openssh/openssh_7.9p1.bb
index 6260135..3b4ed72 100644
--- a/poky/meta/recipes-connectivity/openssh/openssh_7.9p1.bb
+++ b/poky/meta/recipes-connectivity/openssh/openssh_7.9p1.bb
@@ -24,6 +24,10 @@
            file://fix-potential-signed-overflow-in-pointer-arithmatic.patch \
            file://sshd_check_keys \
            file://add-test-support-for-busybox.patch \
+           file://CVE-2018-20685.patch \
+           file://CVE-2019-6109.patch \
+           file://0001-upstream-Have-progressmeter-force-an-update-at-the-b.patch \
+           file://CVE-2019-6111.patch \
            "
 SRC_URI[md5sum] = "c6af50b7a474d04726a5aa747a5dce8f"
 SRC_URI[sha256sum] = "6b4b3ba2253d84ed3771c8050728d597c91cfce898713beb7b64a305b6f11aad"
@@ -144,6 +148,7 @@
 
 RDEPENDS_${PN} += "${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-keygen"
 RDEPENDS_${PN}-sshd += "${PN}-keygen ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-keyinit pam-plugin-loginuid', '', d)}"
+RRECOMMENDS_${PN}-sshd_append_class-target = " rng-tools"
 RDEPENDS_${PN}-ptest += "${PN}-sftp ${PN}-misc ${PN}-sftp-server make sed"
 
 RPROVIDES_${PN}-ssh = "ssh"
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/0001-Fix-BN_LLONG-breakage.patch b/poky/meta/recipes-connectivity/openssl/openssl10/0001-Fix-BN_LLONG-breakage.patch
deleted file mode 100644
index 13d39c9..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/0001-Fix-BN_LLONG-breakage.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 247b3188cde5f3347091cd54271127386d3aece0 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 6 Feb 2019 22:10:33 -0800
-Subject: [PATCH] Fix BN_LLONG breakage
-
-opensslconf.h is un-defining BN_LLONG only when included from bn.h which
-is not robust at all, especially when include guards are used and
-multiple inclusions of a given header is not allowed. so lets take out
-the nesting constraint and add OPENSSL_SYS_UEFI constraint instead
-
-Upstream-Status: Inappropriate [ fixed differently with OpenSSL 1.1+ ]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- crypto/opensslconf.h.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/crypto/opensslconf.h.in b/crypto/opensslconf.h.in
-index 7a1c85d..a10c10f 100644
---- a/crypto/opensslconf.h.in
-+++ b/crypto/opensslconf.h.in
-@@ -56,7 +56,7 @@
- #endif
- #endif
- 
--#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)
-+#if !defined(OPENSSL_SYS_UEFI) && !defined(CONFIG_HEADER_BN_H)
- #define CONFIG_HEADER_BN_H
- #undef BN_LLONG
- 
--- 
-2.20.1
-
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/0001-Fix-DES_LONG-breakage.patch b/poky/meta/recipes-connectivity/openssl/openssl10/0001-Fix-DES_LONG-breakage.patch
deleted file mode 100644
index 7243fb4..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/0001-Fix-DES_LONG-breakage.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 1aec49cc45e7cf5ebc059a77081ac3ea2a5aff7b Mon Sep 17 00:00:00 2001
-From: Denys Dmytriyenko <denys@ti.com>
-Date: Fri, 1 Mar 2019 13:14:56 -0500
-Subject: [PATCH] Fix DES_LONG breakage
-
-Mimic previous BN_LLONG fix by Khem Raj here. Re-use its description:
-
-opensslconf.h is defining DES_LONG only when included from des.h which
-is not robust at all, especially when include guards are used and
-multiple inclusions of a given header is not allowed. so lets take out
-the nesting constraint and add OPENSSL_SYS_UEFI constraint instead
-
-Upstream-Status: Inappropriate [ fixed differently with OpenSSL 1.1+ ]
-
-Signed-off-by: Denys Dmytriyenko <denys@ti.com>
----
- crypto/opensslconf.h.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/crypto/opensslconf.h.in b/crypto/opensslconf.h.in
-index a10c10f..0147a4d 100644
---- a/crypto/opensslconf.h.in
-+++ b/crypto/opensslconf.h.in
-@@ -48,7 +48,7 @@
- #endif
- #endif
- 
--#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG)
-+#if !defined(OPENSSL_SYS_UEFI) && !defined(DES_LONG)
- /* If this is set to 'unsigned int' on a DEC Alpha, this gives about a
-  * %20 speed up (longs are 8 bytes, int's are 4). */
- #ifndef DES_LONG
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/0001-Fix-build-with-clang-using-external-assembler.patch b/poky/meta/recipes-connectivity/openssl/openssl10/0001-Fix-build-with-clang-using-external-assembler.patch
deleted file mode 100644
index 2270962..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/0001-Fix-build-with-clang-using-external-assembler.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 2f6026cb8b16cf00726e3c5625c023f196680f07 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 17 Mar 2017 12:52:08 -0700
-Subject: [PATCH] Fix build with clang using external assembler
-
-Cherry-picked from
-https://github.com/openssl/openssl/commit/11208dcfb9105e8afa37233185decefd45e89e17
-https://github.com/openssl/openssl/commit/fbab8baddef8d3346ae40ff068871e2ddaf10270
-https://github.com/openssl/openssl/commit/6cf412c473d8145562b76219ce3da73b201b3255
-
-Fixes
-
-| ghash-armv4.S: Assembler messages:
-| ghash-armv4.S:81: Error: bad instruction `ldrbpl r12,[r2,r3]'
-| ghash-armv4.S:91: Error: bad instruction `ldrbpl r8,[r0,r3]'
-| ghash-armv4.S:137: Error: bad instruction `ldrbne r12,[r2,#15]'
-| ghash-armv4.S:224: Error: bad instruction `ldrbpl r12,[r0,r3]'
-| clang-4.0: error: assembler command failed with exit code 1 (use -v to see invocation)
-| make[2]: *** [<builtin>: ghash-armv4.o] Error 1
-
-Upstream-Status: Backport
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- crypto/modes/asm/ghash-armv4.pl | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/crypto/modes/asm/ghash-armv4.pl b/crypto/modes/asm/ghash-armv4.pl
-index 8ccc963ef..442fed4da 100644
---- a/crypto/modes/asm/ghash-armv4.pl
-+++ b/crypto/modes/asm/ghash-armv4.pl
-@@ -124,7 +124,10 @@ $code=<<___;
- #include "arm_arch.h"
- 
- .text
-+#if defined(__thumb2__) || defined(__clang__)
-+.syntax	unified
-+#endif
- .code	32
- 
- #ifdef __clang__
- #define ldrplb	ldrbpl
--- 
-2.12.0
-
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/0001-allow-manpages-to-be-disabled.patch b/poky/meta/recipes-connectivity/openssl/openssl10/0001-allow-manpages-to-be-disabled.patch
deleted file mode 100644
index 3f7d649..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/0001-allow-manpages-to-be-disabled.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From e1c39b80b01d4d18feeadfdc6e45a3e1dd110634 Mon Sep 17 00:00:00 2001
-From: Andre McCurdy <armccurdy@gmail.com>
-Date: Fri, 27 Jul 2018 21:41:06 +0000
-Subject: [PATCH] allow manpages to be disabled
-
-Define OE_DISABLE_MANPAGES (via environment or the make command line)
-to skip creation and installation of manpages.
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
----
- Makefile.org | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile.org b/Makefile.org
-index ed98d2a..747d8cb 100644
---- a/Makefile.org
-+++ b/Makefile.org
-@@ -549,7 +549,7 @@ dist:
- 	@$(MAKE) SDIRS='$(SDIRS)' clean
- 	@$(MAKE) TAR='$(TAR)' TARFLAGS='$(TARFLAGS)' $(DISTTARVARS) tar
- 
--install: all install_docs install_sw
-+install: all $(if $(OE_DISABLE_MANPAGES),,install_docs) install_sw
- 
- install_sw:
- 	@$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
--- 
-1.9.1
-
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/0001-openssl-force-soft-link-to-avoid-rare-race.patch b/poky/meta/recipes-connectivity/openssl/openssl10/0001-openssl-force-soft-link-to-avoid-rare-race.patch
deleted file mode 100644
index dd1a9b1..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/0001-openssl-force-soft-link-to-avoid-rare-race.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 3d9199423d48766649a2b2ebb3924e892ed16fa4 Mon Sep 17 00:00:00 2001
-From: Randy MacLeod <Randy.MacLeod@windriver.com>
-Date: Tue, 20 Jun 2017 15:32:08 -0400
-Subject: [PATCH] openssl: Force soft link to avoid rare race
-
-This patch works around a rare parallel build race condition. 
-The error seen is:
-
-ln: failed to create symbolic link 'libssl.so': File exists
-make[4]: *** [Makefile.shared:171: link_a.gnu] Error 1
-make[4]: Leaving directory
-'/.../build/tmp-glibc/work/x86_64-linux/openssl-native/1.0.2k-r0/openssl-1.0.2k'
-
-The openssl team is rewriting their build files so it's not
-appropriate for openssl upstream and fixing the root cause of
-the Makefile race condition was also not pursued.
-
-Upstream-Status: Inappropriate [build rules rewrite in progress]
-Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
----
- Makefile.shared | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile.shared b/Makefile.shared
-index e8d222a..1bff92f 100644
---- a/Makefile.shared
-+++ b/Makefile.shared
-@@ -118,14 +118,14 @@
- 		if [ -n "$$SHLIB_COMPAT" ]; then \
- 			for x in $$SHLIB_COMPAT; do \
- 				( $(SET_X); rm -f $$SHLIB$$x$$SHLIB_SUFFIX; \
--				  ln -s $$prev $$SHLIB$$x$$SHLIB_SUFFIX ); \
-+				  ln -sf $$prev $$SHLIB$$x$$SHLIB_SUFFIX ); \
- 				prev=$$SHLIB$$x$$SHLIB_SUFFIX; \
- 			done; \
- 		fi; \
- 		if [ -n "$$SHLIB_SOVER" ]; then \
- 			[ -e "$$SHLIB$$SHLIB_SUFFIX" ] || \
- 			( $(SET_X); rm -f $$SHLIB$$SHLIB_SUFFIX; \
--			  ln -s $$prev $$SHLIB$$SHLIB_SUFFIX ); \
-+			  ln -sf $$prev $$SHLIB$$SHLIB_SUFFIX ); \
- 		fi; \
- 	fi
- 
--- 
-2.9.3
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/Makefiles-ptest.patch b/poky/meta/recipes-connectivity/openssl/openssl10/Makefiles-ptest.patch
deleted file mode 100644
index 1b8402a..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/Makefiles-ptest.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From a176c69f4fdfbfa7e4ccb79d91c3b6602da7e69a Mon Sep 17 00:00:00 2001
-From: Anders Roxell <anders.roxell@enea.com>
-Date: Thu, 24 Apr 2014 19:28:25 +0200
-Subject: [PATCH 19/28] openssl: enable ptest support
-
-Add 'buildtest' and 'runtest' targets to Makefile, to build and run tests
-cross-compiled.
-
-Signed-off-by: Anders Roxell <anders.roxell@enea.com>
-Signed-off-by: Maxin B. John <maxin.john@enea.com>
-Upstream-Status: Pending
-
----
- Makefile.org  | 10 +++++++++-
- test/Makefile | 13 +++++++++----
- 2 files changed, 18 insertions(+), 5 deletions(-)
- 
-diff --git a/Makefile.org b/Makefile.org
-index 111fbba..8e7936c 100644
---- a/Makefile.org
-+++ b/Makefile.org
-@@ -467,8 +467,16 @@ rehash.time: certs apps
- test:   tests
- 
- tests: rehash
-+	$(MAKE) buildtest
-+	$(MAKE) runtest
-+
-+buildtest:
-+	@(cd test && \
-+	$(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on OPENSSL_CONF=../apps/openssl.cnf exe apps);
-+
-+runtest:
- 	@(cd test && echo "testing..." && \
--	$(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on OPENSSL_CONF=../apps/openssl.cnf tests );
-+	$(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on OPENSSL_CONF=../apps/openssl.cnf alltests );
- 	OPENSSL_CONF=apps/openssl.cnf util/opensslwrap.sh version -a
- 
- report:
-diff --git a/test/Makefile b/test/Makefile
-index 55a6b50..d46b4d1 100644
---- a/test/Makefile
-+++ b/test/Makefile
-@@ -150,7 +150,7 @@ tests:	exe apps $(TESTS)
- apps:
- 	@(cd ..; $(MAKE) DIRS=apps all)
- 
--alltests: \
-+all-tests= \
- 	test_des test_idea test_sha test_md4 test_md5 test_hmac \
- 	test_md2 test_mdc2 test_wp \
- 	test_rmd test_rc2 test_rc4 test_rc5 test_bf test_cast test_aes \
-@@ -162,6 +162,11 @@ alltests: \
- 	test_constant_time test_verify_extra test_clienthello test_sslv2conftest \
- 	test_dtls test_bad_dtls test_fatalerr test_x509_time
- 
-+alltests:
-+	@(for i in $(all-tests); do \
-+	( $(MAKE) $$i && echo "PASS: $$i" ) || echo "FAIL: $$i"; \
-+	done)
-+
- test_evp: $(EVPTEST)$(EXE_EXT) evptests.txt
- 	../util/shlib_wrap.sh ./$(EVPTEST) evptests.txt
- 
-@@ -230,7 +235,7 @@ test_x509: ../apps/openssl$(EXE_EXT) tx509 testx509.pem v3-cert1.pem v3-cert2.pe
- 	echo test second x509v3 certificate
- 	sh ./tx509 v3-cert2.pem 2>/dev/null
- 
--test_rsa: $(RSATEST)$(EXE_EXT) ../apps/openssl$(EXE_EXT) trsa testrsa.pem
-+test_rsa: ../apps/openssl$(EXE_EXT) trsa testrsa.pem
- 	@sh ./trsa 2>/dev/null
- 	../util/shlib_wrap.sh ./$(RSATEST)
- 
-@@ -331,11 +336,11 @@ test_tsa: ../apps/openssl$(EXE_EXT) testtsa CAtsa.cnf ../util/shlib_wrap.sh
- 	  sh ./testtsa; \
- 	fi
- 
--test_ige: $(IGETEST)$(EXE_EXT)
-+test_ige:
- 	@echo "Test IGE mode"
- 	../util/shlib_wrap.sh ./$(IGETEST)
- 
--test_jpake: $(JPAKETEST)$(EXE_EXT)
-+test_jpake:
- 	@echo "Test JPAKE"
- 	../util/shlib_wrap.sh ./$(JPAKETEST)
- 
--- 
-2.15.1
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/Use-SHA256-not-MD5-as-default-digest.patch b/poky/meta/recipes-connectivity/openssl/openssl10/Use-SHA256-not-MD5-as-default-digest.patch
deleted file mode 100644
index 58c9ee7..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/Use-SHA256-not-MD5-as-default-digest.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From d795f5f20a29adecf92c09459a3ee07ffac01a99 Mon Sep 17 00:00:00 2001
-From: Rich Salz <rsalz@akamai.com>
-Date: Sat, 13 Jun 2015 17:03:39 -0400
-Subject: [PATCH] Use SHA256 not MD5 as default digest.
-
-Commit f8547f62c212837dbf44fb7e2755e5774a59a57b upstream.
-
-Upstream-Status: Backport
-Backport from OpenSSL 2.0 to OpenSSL 1.0.2
-Commit f8547f62c212837dbf44fb7e2755e5774a59a57b   
-
-CVE: CVE-2004-2761
-
-    The MD5 Message-Digest Algorithm is not collision resistant,
-    which makes it easier for context-dependent attackers to            
-    conduct spoofing attacks, as demonstrated by attacks on the     
-    use of MD5 in the signature algorithm of an X.509 certificate.     
-
-Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
-Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com>     
-Signed-off-by: T.O. Radzy Radzykewycz <radzy@windriver.com> 
----
- apps/ca.c   | 2 +-
- apps/dgst.c | 2 +-
- apps/enc.c  | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/apps/ca.c b/apps/ca.c
-index 3b7336c..8f3a84b 100644
---- a/apps/ca.c
-+++ b/apps/ca.c
-@@ -1612,7 +1612,7 @@ static int certify_cert(X509 **xret, char *infile, EVP_PKEY *pkey, X509 *x509,
-     } else
-         BIO_printf(bio_err, "Signature ok\n");
- 
--    if ((rreq = X509_to_X509_REQ(req, NULL, EVP_md5())) == NULL)
-+    if ((rreq = X509_to_X509_REQ(req, NULL, NULL)) == NULL)
-         goto err;
- 
-     ok = do_body(xret, pkey, x509, dgst, sigopts, policy, db, serial, subj,
-diff --git a/apps/dgst.c b/apps/dgst.c
-index 95e5fa3..0d1529f 100644
---- a/apps/dgst.c
-+++ b/apps/dgst.c
-@@ -442,7 +442,7 @@ int MAIN(int argc, char **argv)
-             goto end;
-         }
-         if (md == NULL)
--            md = EVP_md5();
-+            md = EVP_sha256();
-         if (!EVP_DigestInit_ex(mctx, md, impl)) {
-             BIO_printf(bio_err, "Error setting digest %s\n", pname);
-             ERR_print_errors(bio_err);
-diff --git a/apps/enc.c b/apps/enc.c
-index 7b7c70b..a7d944c 100644
---- a/apps/enc.c
-+++ b/apps/enc.c
-@@ -344,7 +344,7 @@ int MAIN(int argc, char **argv)
-     }
- 
-     if (dgst == NULL) {
--        dgst = EVP_md5();
-+        dgst = EVP_sha256();
-     }
- 
-     if (bufsize != NULL) {
--- 
-1.9.1
-
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/configure-musl-target.patch b/poky/meta/recipes-connectivity/openssl/openssl10/configure-musl-target.patch
deleted file mode 100644
index f357b3f..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/configure-musl-target.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Add musl triplet support
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: openssl-1.0.2a/Configure
-===================================================================
---- openssl-1.0.2a.orig/Configure
-+++ openssl-1.0.2a/Configure
-@@ -431,7 +431,7 @@ my %table=(
- #
- #       ./Configure linux-armv4 -march=armv6 -D__ARM_MAX_ARCH__=8
- #
--"linux-armv4",	"gcc: -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${armv4_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-armv4", "gcc: -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${armv4_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
- "linux-aarch64","gcc: -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${aarch64_asm}:linux64:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
- # Configure script adds minimally required -march for assembly support,
- # if no -march was specified at command line. mips32 and mips64 below
-@@ -504,4 +504,6 @@ my %table=(
- "linux-gnueabi-armeb","$ENV{'CC'}:-DB_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-musleabi-arm","$ENV{'CC'}:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-musleabi-armeb","$ENV{'CC'}:-DB_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
- 
- "linux-avr32","$ENV{'CC'}:-O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).",
- 
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/configure-targets.patch b/poky/meta/recipes-connectivity/openssl/openssl10/configure-targets.patch
deleted file mode 100644
index 1e01589..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/configure-targets.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
-The number of colons are important :)
-
-
----
- Configure |   16 ++++++++++++++++
- 1 file changed, 16 insertions(+)
-
-Index: openssl-1.0.2a/Configure
-===================================================================
---- openssl-1.0.2a.orig/Configure
-+++ openssl-1.0.2a/Configure
-@@ -443,6 +443,21 @@ my %table=(
- "linux-alpha-ccc","ccc:-fast -readonly_strings -DL_ENDIAN::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
- "linux-alpha+bwx-ccc","ccc:-fast -readonly_strings -DL_ENDIAN::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
- 
-+ 
-+# Linux on ARM
-+"linux-elf-arm","$ENV{'CC'}:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-elf-armeb","$ENV{'CC'}:-DB_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-gnueabi-arm","$ENV{'CC'}:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-gnueabi-armeb","$ENV{'CC'}:-DB_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+
-+"linux-avr32","$ENV{'CC'}:-O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).",
-+
-+#### Linux on MIPS/MIPS64
-+"linux-mips","$ENV{'CC'}:-DB_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-mips64","$ENV{'CC'}:-DB_ENDIAN -mabi=64 -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-mips64el","$ENV{'CC'}:-DL_ENDIAN -mabi=64 -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-mipsel","$ENV{'CC'}:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+
- # Android: linux-* but without pointers to headers and libs.
- "android","gcc:-mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
- "android-x86","gcc:-mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:".eval{my $asm=${x86_elf_asm};$asm=~s/:elf/:android/;$asm}.":dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/debian/c_rehash-compat.patch b/poky/meta/recipes-connectivity/openssl/openssl10/debian/c_rehash-compat.patch
deleted file mode 100644
index 3820e3e..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/debian/c_rehash-compat.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 83f318d68bbdab1ca898c94576a838cc97df4700 Mon Sep 17 00:00:00 2001
-From: Ludwig Nussel <ludwig.nussel@suse.de>
-Date: Wed, 21 Apr 2010 15:52:10 +0200
-Subject: [PATCH] also create old hash for compatibility
-
-Upstream-Status: Backport [debian]
-
-Index: openssl-1.0.2n/tools/c_rehash.in
-===================================================================
---- openssl-1.0.2n.orig/tools/c_rehash.in
-+++ openssl-1.0.2n/tools/c_rehash.in
-@@ -8,8 +8,6 @@ my $prefix;
- 
- my $openssl = $ENV{OPENSSL} || "openssl";
- my $pwd;
--my $x509hash = "-subject_hash";
--my $crlhash = "-hash";
- my $verbose = 0;
- my $symlink_exists=eval {symlink("",""); 1};
- my $removelinks = 1;
-@@ -18,10 +16,7 @@ my $removelinks = 1;
- while ( $ARGV[0] =~ /^-/ ) {
-     my $flag = shift @ARGV;
-     last if ( $flag eq '--');
--    if ( $flag eq '-old') {
--	    $x509hash = "-subject_hash_old";
--	    $crlhash = "-hash_old";
--    } elsif ( $flag eq '-h') {
-+    if ( $flag eq '-h') {
- 	    help();
-     } elsif ( $flag eq '-n' ) {
- 	    $removelinks = 0;
-@@ -113,7 +108,9 @@ sub hash_dir {
- 			next;
- 		}
- 		link_hash_cert($fname) if($cert);
-+		link_hash_cert_old($fname) if($cert);
- 		link_hash_crl($fname) if($crl);
-+		link_hash_crl_old($fname) if($crl);
- 	}
- }
- 
-@@ -146,6 +143,7 @@ sub check_file {
- 
- sub link_hash_cert {
- 		my $fname = $_[0];
-+		my $x509hash = $_[1] || '-subject_hash';
- 		$fname =~ s/'/'\\''/g;
- 		my ($hash, $fprint) = `"$openssl" x509 $x509hash -fingerprint -noout -in "$fname"`;
- 		chomp $hash;
-@@ -177,10 +175,20 @@ sub link_hash_cert {
- 		$hashlist{$hash} = $fprint;
- }
- 
-+sub link_hash_cert_old {
-+		link_hash_cert($_[0], '-subject_hash_old');
-+}
-+
-+sub link_hash_crl_old {
-+		link_hash_crl($_[0], '-hash_old');
-+}
-+
-+
- # Same as above except for a CRL. CRL links are of the form <hash>.r<n>
- 
- sub link_hash_crl {
- 		my $fname = $_[0];
-+		my $crlhash = $_[1] || "-hash";
- 		$fname =~ s/'/'\\''/g;
- 		my ($hash, $fprint) = `"$openssl" crl $crlhash -fingerprint -noout -in '$fname'`;
- 		chomp $hash;
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/debian/debian-targets.patch b/poky/meta/recipes-connectivity/openssl/openssl10/debian/debian-targets.patch
deleted file mode 100644
index 24709f4..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/debian/debian-targets.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-Upstream-Status: Backport [debian]
-
-Index: openssl-1.0.2n/Configure
-===================================================================
---- openssl-1.0.2n.orig/Configure
-+++ openssl-1.0.2n/Configure
-@@ -133,6 +133,10 @@ my $clang_devteam_warn = "-Wno-unused-pa
- # Warn that "make depend" should be run?
- my $warn_make_depend = 0;
- 
-+# There are no separate CFLAGS/CPPFLAGS/LDFLAGS, set everything in CFLAGS
-+my $debian_cflags = `dpkg-buildflags --get CFLAGS` . `dpkg-buildflags --get CPPFLAGS` . `dpkg-buildflags --get LDFLAGS` . "-Wa,--noexecstack -Wall";
-+$debian_cflags =~ s/\n/ /g;
-+
- my $strict_warnings = 0;
- 
- my $x86_gcc_des="DES_PTR DES_RISC1 DES_UNROLL";
-@@ -369,6 +373,55 @@ my %table=(
- "osf1-alpha-cc",  "cc:-std1 -tune host -O4 -readonly_strings::(unknown):::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${alpha_asm}:dlfcn:alpha-osf1-shared:::.so",
- "tru64-alpha-cc", "cc:-std1 -tune host -fast -readonly_strings::-pthread:::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${alpha_asm}:dlfcn:alpha-osf1-shared::-msym:.so",
- 
-+# Debian GNU/* (various architectures)
-+"debian-alpha","gcc:-DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-alpha-ev4","gcc:-DTERMIO ${debian_cflags} -mcpu=ev4::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-alpha-ev5","gcc:-DTERMIO ${debian_cflags} -mcpu=ev5::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-arm64","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-armel","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${armv4_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-armhf","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${armv4_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-amd64", "gcc:-m64 -DL_ENDIAN -DTERMIO ${debian_cflags} -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::",
-+"debian-avr32", "gcc:-DB_ENDIAN -DTERMIO ${debian_cflags} -fomit-frame-pointer::-D_REENTRANT::-ldl:BN_LLONG_BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-kfreebsd-amd64","gcc:-m64 -DL_ENDIAN -DTERMIOS ${debian_cflags} -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-kfreebsd-i386","gcc:-DL_ENDIAN -DTERMIOS ${debian_cflags} -march=i486::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-hppa","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG MD2_CHAR RC4_INDEX:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-hurd-i386","gcc:-DL_ENDIAN -DTERMIOS -O3 -Wa,--noexecstack -g -mtune=i486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-ia64","gcc:-DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-i386","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-i386-i486","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags} -march=i486::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-i386-i586","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags} -march=i586::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-i386-i686/cmov","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags} -march=i686::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-m68k","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG MD2_CHAR RC4_INDEX:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-mips",   "gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-mipsel",   "gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-mipsn32",   "mips64-linux-gnuabin32-gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-mipsn32el",   "mips64el-linux-gnuabin32-gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-mips64",   "mips64-linux-gnuabi64-gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-mips64el",   "mips64el-linux-gnuabi64-gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-netbsd-i386",	"gcc:-DL_ENDIAN -DTERMIOS ${debian_cflags} -m486::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-netbsd-m68k",	"gcc:-DB_ENDIAN -DTERMIOS ${debian_cflags}::(unknown):::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-netbsd-sparc",	"gcc:-DB_ENDIAN -DTERMIOS ${debian_cflags} -mv8::(unknown):::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-openbsd-alpha","gcc:-DTERMIOS ${debian_cflags}::(unknown):::SIXTY_FOUR_BIT_LONG DES_INT DES_PTR DES_RISC2:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-openbsd-i386",  "gcc:-DL_ENDIAN -DTERMIOS ${debian_cflags} -m486::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_asm}:a.out:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-openbsd-mips","gcc:-DL_ENDIAN ${debian_cflags}::(unknown)::BN_LLONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC2 DES_PTR BF_PTR:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-or1k", "gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-powerpc","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc32_asm}:linux32:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-powerpcspe","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc32_asm}:linux32:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-ppc64","gcc:-m64 -DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc64_asm}:linux64:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-ppc64el","gcc:-m64 -DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc64_asm}:linux64le:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-s390","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 
-+"debian-s390x","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-sh3",   "gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-sh4",   "gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-sh3eb",   "gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-sh4eb",   "gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-m32r","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-sparc","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-sparc-v8","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags} -mcpu=v8 -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-sparc-v9","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags} -mcpu=v9 -Wa,-Av8plus -DULTRASPARC -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-sparc64","gcc:-m64 -DB_ENDIAN -DTERMIO ${debian_cflags} -DULTRASPARC -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-x32","gcc:-mx32 -DL_ENDIAN -DTERMIO ${debian_cflags} -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-mx32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::x32",
-+
- ####
- #### Variety of LINUX:-)
- ####
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/debian/man-dir.patch b/poky/meta/recipes-connectivity/openssl/openssl10/debian/man-dir.patch
deleted file mode 100644
index 4085e3b..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/debian/man-dir.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Upstream-Status: Backport [debian]
-
-Index: openssl-1.0.0c/Makefile.org
-===================================================================
---- openssl-1.0.0c.orig/Makefile.org	2010-12-12 16:11:27.000000000 +0100
-+++ openssl-1.0.0c/Makefile.org	2010-12-12 16:11:37.000000000 +0100
-@@ -131,7 +131,7 @@
- 
- MAKEFILE= Makefile
- 
--MANDIR=$(OPENSSLDIR)/man
-+MANDIR=/usr/share/man
- MAN1=1
- MAN3=3
- MANSUFFIX=
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/debian/man-section.patch b/poky/meta/recipes-connectivity/openssl/openssl10/debian/man-section.patch
deleted file mode 100644
index 21c1d1a..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/debian/man-section.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Upstream-Status: Backport [debian]
-
-Index: openssl-1.0.0c/Makefile.org
-===================================================================
---- openssl-1.0.0c.orig/Makefile.org	2010-12-12 16:11:37.000000000 +0100
-+++ openssl-1.0.0c/Makefile.org	2010-12-12 16:13:28.000000000 +0100
-@@ -160,7 +160,8 @@
- MANDIR=/usr/share/man
- MAN1=1
- MAN3=3
--MANSUFFIX=
-+MANSUFFIX=ssl
-+MANSECTION=SSL
- HTMLSUFFIX=html
- HTMLDIR=$(OPENSSLDIR)/html
- SHELL=/bin/sh
-@@ -651,7 +652,7 @@
- 		echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \
- 		(cd `$(PERL) util/dirname.pl $$i`; \
- 		sh -c "$$pod2man \
--			--section=$$sec --center=OpenSSL \
-+			--section=$${sec}$(MANSECTION) --center=OpenSSL \
- 			--release=$(VERSION) `basename $$i`") \
- 			>  $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
- 		$(PERL) util/extract-names.pl < $$i | \
-@@ -668,7 +669,7 @@
- 		echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \
- 		(cd `$(PERL) util/dirname.pl $$i`; \
- 		sh -c "$$pod2man \
--			--section=$$sec --center=OpenSSL \
-+			--section=$${sec}$(MANSECTION) --center=OpenSSL \
- 			--release=$(VERSION) `basename $$i`") \
- 			>  $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
- 		$(PERL) util/extract-names.pl < $$i | \
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/debian/no-rpath.patch b/poky/meta/recipes-connectivity/openssl/openssl10/debian/no-rpath.patch
deleted file mode 100644
index 1ccb3b8..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/debian/no-rpath.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Upstream-Status: Backport [debian]
-
-Index: openssl-1.0.0c/Makefile.shared
-===================================================================
---- openssl-1.0.0c.orig/Makefile.shared	2010-08-21 13:36:49.000000000 +0200
-+++ openssl-1.0.0c/Makefile.shared	2010-12-12 16:13:36.000000000 +0100
-@@ -153,7 +153,7 @@
- 	NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
- 	SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
- 
--DO_GNU_APP=LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)"
-+DO_GNU_APP=LDFLAGS="$(CFLAGS)"
- 
- #This is rather special.  It's a special target with which one can link
- #applications without bothering with any features that have anything to
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/debian/no-symbolic.patch b/poky/meta/recipes-connectivity/openssl/openssl10/debian/no-symbolic.patch
deleted file mode 100644
index cc4408a..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/debian/no-symbolic.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Upstream-Status: Backport [debian]
-
-Index: openssl-1.0.0c/Makefile.shared
-===================================================================
---- openssl-1.0.0c.orig/Makefile.shared	2010-12-12 16:13:36.000000000 +0100
-+++ openssl-1.0.0c/Makefile.shared	2010-12-12 16:13:44.000000000 +0100
-@@ -151,7 +151,7 @@
- 	SHLIB_SUFFIX=; \
- 	ALLSYMSFLAGS='-Wl,--whole-archive'; \
- 	NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
--	SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
-+	SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
- 
- DO_GNU_APP=LDFLAGS="$(CFLAGS)"
- 
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/debian/pic.patch b/poky/meta/recipes-connectivity/openssl/openssl10/debian/pic.patch
deleted file mode 100644
index bfda388..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/debian/pic.patch
+++ /dev/null
@@ -1,177 +0,0 @@
-Upstream-Status: Backport [debian]
-
-Index: openssl-1.0.1c/crypto/des/asm/desboth.pl
-===================================================================
---- openssl-1.0.1c.orig/crypto/des/asm/desboth.pl	2001-10-24 23:20:56.000000000 +0200
-+++ openssl-1.0.1c/crypto/des/asm/desboth.pl	2012-07-29 14:15:26.000000000 +0200
-@@ -16,6 +16,11 @@
- 
- 	&push("edi");
- 
-+	&call   (&label("pic_point0"));
-+	&set_label("pic_point0");
-+	&blindpop("ebp");
-+	&add    ("ebp", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point0") . "]");
-+
- 	&comment("");
- 	&comment("Load the data words");
- 	&mov($L,&DWP(0,"ebx","",0));
-@@ -47,15 +52,21 @@
- 	&mov(&swtmp(2),	(DWC(($enc)?"1":"0")));
- 	&mov(&swtmp(1),	"eax");
- 	&mov(&swtmp(0),	"ebx");
--	&call("DES_encrypt2");
-+	&exch("ebx", "ebp");
-+	&call("DES_encrypt2\@PLT");
-+	&exch("ebx", "ebp");
- 	&mov(&swtmp(2),	(DWC(($enc)?"0":"1")));
- 	&mov(&swtmp(1),	"edi");
- 	&mov(&swtmp(0),	"ebx");
--	&call("DES_encrypt2");
-+	&exch("ebx", "ebp");
-+	&call("DES_encrypt2\@PLT");
-+	&exch("ebx", "ebp");
- 	&mov(&swtmp(2),	(DWC(($enc)?"1":"0")));
- 	&mov(&swtmp(1),	"esi");
- 	&mov(&swtmp(0),	"ebx");
--	&call("DES_encrypt2");
-+	&exch("ebx", "ebp");
-+	&call("DES_encrypt2\@PLT");
-+	&exch("ebx", "ebp");
- 
- 	&stack_pop(3);
- 	&mov($L,&DWP(0,"ebx","",0));
-Index: openssl-1.0.1c/crypto/perlasm/cbc.pl
-===================================================================
---- openssl-1.0.1c.orig/crypto/perlasm/cbc.pl	2011-07-13 08:22:46.000000000 +0200
-+++ openssl-1.0.1c/crypto/perlasm/cbc.pl	2012-07-29 14:15:26.000000000 +0200
-@@ -122,7 +122,11 @@
- 	&mov(&DWP($data_off,"esp","",0),	"eax");	# put in array for call
- 	&mov(&DWP($data_off+4,"esp","",0),	"ebx");	#
- 
--	&call($enc_func);
-+	&call	(&label("pic_point0"));
-+	&set_label("pic_point0");
-+	&blindpop("ebx");
-+	&add	("ebx", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point0") . "]");
-+	&call("$enc_func\@PLT");
- 
- 	&mov("eax",	&DWP($data_off,"esp","",0));
- 	&mov("ebx",	&DWP($data_off+4,"esp","",0));
-@@ -185,7 +189,11 @@
- 	&mov(&DWP($data_off,"esp","",0),	"eax");	# put in array for call
- 	&mov(&DWP($data_off+4,"esp","",0),	"ebx");	#
- 
--	&call($enc_func);
-+	&call	(&label("pic_point1"));
-+	&set_label("pic_point1");
-+	&blindpop("ebx");
-+	&add	("ebx", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point1") . "]");
-+	&call("$enc_func\@PLT");
- 
- 	&mov("eax",	&DWP($data_off,"esp","",0));
- 	&mov("ebx",	&DWP($data_off+4,"esp","",0));
-@@ -218,7 +226,11 @@
- 	&mov(&DWP($data_off,"esp","",0),	"eax");	# put back
- 	&mov(&DWP($data_off+4,"esp","",0),	"ebx");	#
- 
--	&call($dec_func);
-+	&call	(&label("pic_point2"));
-+	&set_label("pic_point2");
-+	&blindpop("ebx");
-+	&add	("ebx", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point2") . "]");
-+	&call("$dec_func\@PLT");
- 
- 	&mov("eax",	&DWP($data_off,"esp","",0));	# get return
- 	&mov("ebx",	&DWP($data_off+4,"esp","",0));	#
-@@ -261,7 +273,11 @@
- 	&mov(&DWP($data_off,"esp","",0),	"eax");	# put back
- 	&mov(&DWP($data_off+4,"esp","",0),	"ebx");	#
- 
--	&call($dec_func);
-+	&call	(&label("pic_point3"));
-+	&set_label("pic_point3");
-+	&blindpop("ebx");
-+	&add	("ebx", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point3") . "]");
-+	&call("$dec_func\@PLT");
- 
- 	&mov("eax",	&DWP($data_off,"esp","",0));	# get return
- 	&mov("ebx",	&DWP($data_off+4,"esp","",0));	#
-Index: openssl-1.0.1c/crypto/perlasm/x86gas.pl
-===================================================================
---- openssl-1.0.1c.orig/crypto/perlasm/x86gas.pl	2011-12-09 20:16:35.000000000 +0100
-+++ openssl-1.0.1c/crypto/perlasm/x86gas.pl	2012-07-29 14:15:26.000000000 +0200
-@@ -161,6 +161,7 @@
- 	if ($::macosx)	{ push (@out,"$tmp,2\n"); }
- 	elsif ($::elf)	{ push (@out,"$tmp,4\n"); }
- 	else		{ push (@out,"$tmp\n"); }
-+	if ($::elf)	{ push (@out,".hidden\tOPENSSL_ia32cap_P\n"); }
-     }
-     push(@out,$initseg) if ($initseg);
- }
-@@ -218,8 +219,23 @@
-     elsif ($::elf)
-     {	$initseg.=<<___;
- .section	.init
-+___
-+        if ($::pic)
-+	{   $initseg.=<<___;
-+	pushl	%ebx
-+	call	.pic_point0
-+.pic_point0:
-+	popl	%ebx
-+	addl	\$_GLOBAL_OFFSET_TABLE_+[.-.pic_point0],%ebx
-+	call	$f\@PLT
-+	popl	%ebx
-+___
-+	}
-+	else
-+	{   $initseg.=<<___;
- 	call	$f
- ___
-+	}
-     }
-     elsif ($::coff)
-     {   $initseg.=<<___;	# applies to both Cygwin and Mingw
-Index: openssl-1.0.1c/crypto/x86cpuid.pl
-===================================================================
---- openssl-1.0.1c.orig/crypto/x86cpuid.pl	2012-02-28 15:20:34.000000000 +0100
-+++ openssl-1.0.1c/crypto/x86cpuid.pl	2012-07-29 14:15:26.000000000 +0200
-@@ -8,6 +8,8 @@
- 
- for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
- 
-+push(@out, ".hidden OPENSSL_ia32cap_P\n");
-+
- &function_begin("OPENSSL_ia32_cpuid");
- 	&xor	("edx","edx");
- 	&pushf	();
-@@ -139,9 +141,7 @@
- &set_label("nocpuid");
- &function_end("OPENSSL_ia32_cpuid");
- 
--&external_label("OPENSSL_ia32cap_P");
--
--&function_begin_B("OPENSSL_rdtsc","EXTRN\t_OPENSSL_ia32cap_P:DWORD");
-+&function_begin_B("OPENSSL_rdtsc");
- 	&xor	("eax","eax");
- 	&xor	("edx","edx");
- 	&picmeup("ecx","OPENSSL_ia32cap_P");
-@@ -155,7 +155,7 @@
- # This works in Ring 0 only [read DJGPP+MS-DOS+privileged DPMI host],
- # but it's safe to call it on any [supported] 32-bit platform...
- # Just check for [non-]zero return value...
--&function_begin_B("OPENSSL_instrument_halt","EXTRN\t_OPENSSL_ia32cap_P:DWORD");
-+&function_begin_B("OPENSSL_instrument_halt");
- 	&picmeup("ecx","OPENSSL_ia32cap_P");
- 	&bt	(&DWP(0,"ecx"),4);
- 	&jnc	(&label("nohalt"));	# no TSC
-@@ -222,7 +222,7 @@
- 	&ret	();
- &function_end_B("OPENSSL_far_spin");
- 
--&function_begin_B("OPENSSL_wipe_cpu","EXTRN\t_OPENSSL_ia32cap_P:DWORD");
-+&function_begin_B("OPENSSL_wipe_cpu");
- 	&xor	("eax","eax");
- 	&xor	("edx","edx");
- 	&picmeup("ecx","OPENSSL_ia32cap_P");
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/debian1.0.2/block_digicert_malaysia.patch b/poky/meta/recipes-connectivity/openssl/openssl10/debian1.0.2/block_digicert_malaysia.patch
deleted file mode 100644
index c43bcd1..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/debian1.0.2/block_digicert_malaysia.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From: Raphael Geissert <geissert@debian.org>
-Description: make X509_verify_cert indicate that any certificate whose
- name contains "Digicert Sdn. Bhd." (from Malaysia) is revoked.
-Forwarded: not-needed
-Origin: vendor
-Last-Update: 2011-11-05
-
-Upstream-Status: Backport [debian]
-
-
-Index: openssl-1.0.2~beta1/crypto/x509/x509_vfy.c
-===================================================================
---- openssl-1.0.2~beta1.orig/crypto/x509/x509_vfy.c	2014-02-25 00:16:12.488028844 +0100
-+++ openssl-1.0.2~beta1/crypto/x509/x509_vfy.c	2014-02-25 00:16:12.484028929 +0100
-@@ -964,10 +964,11 @@
- 	for (i = sk_X509_num(ctx->chain) - 1; i >= 0; i--)
- 		{
- 		x = sk_X509_value(ctx->chain, i);
--		/* Mark DigiNotar certificates as revoked, no matter
--		 * where in the chain they are.
-+		/* Mark certificates containing the following names as
-+		 * revoked, no matter where in the chain they are.
- 		 */
--		if (x->name && strstr(x->name, "DigiNotar"))
-+		if (x->name && (strstr(x->name, "DigiNotar") ||
-+			strstr(x->name, "Digicert Sdn. Bhd.")))
- 			{
- 			ctx->error = X509_V_ERR_CERT_REVOKED;
- 			ctx->error_depth = i;
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/debian1.0.2/block_diginotar.patch b/poky/meta/recipes-connectivity/openssl/openssl10/debian1.0.2/block_diginotar.patch
deleted file mode 100644
index d81e22c..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/debian1.0.2/block_diginotar.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From: Raphael Geissert <geissert@debian.org>
-Description: make X509_verify_cert indicate that any certificate whose
- name contains "DigiNotar" is revoked.
-Forwarded: not-needed
-Origin: vendor
-Last-Update: 2011-09-08
-Bug: http://bugs.debian.org/639744
-Reviewed-by: Kurt Roeckx <kurt@roeckx.be>
-Reviewed-by: Dr Stephen N Henson <shenson@drh-consultancy.co.uk>
-
-This is not meant as final patch.  
-
-Upstream-Status: Backport [debian]
-
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
-Index: openssl-1.0.2g/crypto/x509/x509_vfy.c
-===================================================================
---- openssl-1.0.2g.orig/crypto/x509/x509_vfy.c
-+++ openssl-1.0.2g/crypto/x509/x509_vfy.c
-@@ -119,6 +119,7 @@ static int check_trust(X509_STORE_CTX *c
- static int check_revocation(X509_STORE_CTX *ctx);
- static int check_cert(X509_STORE_CTX *ctx);
- static int check_policy(X509_STORE_CTX *ctx);
-+static int check_ca_blacklist(X509_STORE_CTX *ctx);
- 
- static int get_crl_score(X509_STORE_CTX *ctx, X509 **pissuer,
-                          unsigned int *preasons, X509_CRL *crl, X509 *x);
-@@ -489,6 +490,9 @@ int X509_verify_cert(X509_STORE_CTX *ctx
-     if (!ok)
-         goto err;
- 
-+	ok = check_ca_blacklist(ctx);
-+	if(!ok) goto err;
-+
- #ifndef OPENSSL_NO_RFC3779
-     /* RFC 3779 path validation, now that CRL check has been done */
-     ok = v3_asid_validate_path(ctx);
-@@ -996,6 +1000,29 @@ static int check_crl_time(X509_STORE_CTX
-     return 1;
- }
- 
-+static int check_ca_blacklist(X509_STORE_CTX *ctx)
-+	{
-+	X509 *x;
-+	int i;
-+	/* Check all certificates against the blacklist */
-+	for (i = sk_X509_num(ctx->chain) - 1; i >= 0; i--)
-+		{
-+		x = sk_X509_value(ctx->chain, i);
-+		/* Mark DigiNotar certificates as revoked, no matter
-+		 * where in the chain they are.
-+		 */
-+		if (x->name && strstr(x->name, "DigiNotar"))
-+			{
-+			ctx->error = X509_V_ERR_CERT_REVOKED;
-+			ctx->error_depth = i;
-+			ctx->current_cert = x;
-+			if (!ctx->verify_cb(0,ctx))
-+				return 0;
-+			}
-+		}
-+	return 1;
-+	}
-+
- static int get_crl_sk(X509_STORE_CTX *ctx, X509_CRL **pcrl, X509_CRL **pdcrl,
-                       X509 **pissuer, int *pscore, unsigned int *preasons,
-                       STACK_OF(X509_CRL) *crls)
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/debian1.0.2/soname.patch b/poky/meta/recipes-connectivity/openssl/openssl10/debian1.0.2/soname.patch
deleted file mode 100644
index 09dd9ea..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/debian1.0.2/soname.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Upstream-Status: Inappropriate
-
-Index: openssl-1.0.2d/crypto/opensslv.h
-===================================================================
---- openssl-1.0.2d.orig/crypto/opensslv.h
-+++ openssl-1.0.2d/crypto/opensslv.h
-@@ -88,7 +88,7 @@ extern "C" {
-  * should only keep the versions that are binary compatible with the current.
-  */
- # define SHLIB_VERSION_HISTORY ""
--# define SHLIB_VERSION_NUMBER "1.0.0"
-+# define SHLIB_VERSION_NUMBER "1.0.2"
- 
- 
- #ifdef  __cplusplus
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/debian1.0.2/version-script.patch b/poky/meta/recipes-connectivity/openssl/openssl10/debian1.0.2/version-script.patch
deleted file mode 100644
index e404ee3..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/debian1.0.2/version-script.patch
+++ /dev/null
@@ -1,4658 +0,0 @@
-Upstream-Status: Inappropriate
-
-Index: openssl-1.0.2~beta1.obsolete.0.0498436515490575/Configure
-===================================================================
---- openssl-1.0.2~beta1.obsolete.0.0498436515490575.orig/Configure	2014-02-24 21:02:30.000000000 +0100
-+++ openssl-1.0.2~beta1.obsolete.0.0498436515490575/Configure	2014-02-24 21:02:30.000000000 +0100
-@@ -1651,6 +1651,8 @@
- 		}
- 	}
- 
-+$shared_ldflag .= " -Wl,--version-script=openssl.ld";
-+
- open(IN,'<Makefile.org') || die "unable to read Makefile.org:$!\n";
- unlink("$Makefile.new") || die "unable to remove old $Makefile.new:$!\n" if -e "$Makefile.new";
- open(OUT,">$Makefile.new") || die "unable to create $Makefile.new:$!\n";
-Index: openssl-1.0.2~beta1.obsolete.0.0498436515490575/openssl.ld
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ openssl-1.0.2~beta1.obsolete.0.0498436515490575/openssl.ld	2014-02-24 22:19:08.601827266 +0100
-@@ -0,0 +1,4608 @@
-+OPENSSL_1.0.2d {
-+	global:
-+		BIO_f_ssl;
-+		BIO_new_buffer_ssl_connect;
-+		BIO_new_ssl;
-+		BIO_new_ssl_connect;
-+		BIO_proxy_ssl_copy_session_id;
-+		BIO_ssl_copy_session_id;
-+		BIO_ssl_shutdown;
-+		d2i_SSL_SESSION;
-+		DTLSv1_client_method;
-+		DTLSv1_method;
-+		DTLSv1_server_method;
-+		ERR_load_SSL_strings;
-+		i2d_SSL_SESSION;
-+		kssl_build_principal_2;
-+		kssl_cget_tkt;
-+		kssl_check_authent;
-+		kssl_ctx_free;
-+		kssl_ctx_new;
-+		kssl_ctx_setkey;
-+		kssl_ctx_setprinc;
-+		kssl_ctx_setstring;
-+		kssl_ctx_show;
-+		kssl_err_set;
-+		kssl_krb5_free_data_contents;
-+		kssl_sget_tkt;
-+		kssl_skip_confound;
-+		kssl_validate_times;
-+		PEM_read_bio_SSL_SESSION;
-+		PEM_read_SSL_SESSION;
-+		PEM_write_bio_SSL_SESSION;
-+		PEM_write_SSL_SESSION;
-+		SSL_accept;
-+		SSL_add_client_CA;
-+		SSL_add_dir_cert_subjects_to_stack;
-+		SSL_add_dir_cert_subjs_to_stk;
-+		SSL_add_file_cert_subjects_to_stack;
-+		SSL_add_file_cert_subjs_to_stk;
-+		SSL_alert_desc_string;
-+		SSL_alert_desc_string_long;
-+		SSL_alert_type_string;
-+		SSL_alert_type_string_long;
-+		SSL_callback_ctrl;
-+		SSL_check_private_key;
-+		SSL_CIPHER_description;
-+		SSL_CIPHER_get_bits;
-+		SSL_CIPHER_get_name;
-+		SSL_CIPHER_get_version;
-+		SSL_clear;
-+		SSL_COMP_add_compression_method;
-+		SSL_COMP_get_compression_methods;
-+		SSL_COMP_get_compress_methods;
-+		SSL_COMP_get_name;
-+		SSL_connect;
-+		SSL_copy_session_id;
-+		SSL_ctrl;
-+		SSL_CTX_add_client_CA;
-+		SSL_CTX_add_session;
-+		SSL_CTX_callback_ctrl;
-+		SSL_CTX_check_private_key;
-+		SSL_CTX_ctrl;
-+		SSL_CTX_flush_sessions;
-+		SSL_CTX_free;
-+		SSL_CTX_get_cert_store;
-+		SSL_CTX_get_client_CA_list;
-+		SSL_CTX_get_client_cert_cb;
-+		SSL_CTX_get_ex_data;
-+		SSL_CTX_get_ex_new_index;
-+		SSL_CTX_get_info_callback;
-+		SSL_CTX_get_quiet_shutdown;
-+		SSL_CTX_get_timeout;
-+		SSL_CTX_get_verify_callback;
-+		SSL_CTX_get_verify_depth;
-+		SSL_CTX_get_verify_mode;
-+		SSL_CTX_load_verify_locations;
-+		SSL_CTX_new;
-+		SSL_CTX_remove_session;
-+		SSL_CTX_sess_get_get_cb;
-+		SSL_CTX_sess_get_new_cb;
-+		SSL_CTX_sess_get_remove_cb;
-+		SSL_CTX_sessions;
-+		SSL_CTX_sess_set_get_cb;
-+		SSL_CTX_sess_set_new_cb;
-+		SSL_CTX_sess_set_remove_cb;
-+		SSL_CTX_set1_param;
-+		SSL_CTX_set_cert_store;
-+		SSL_CTX_set_cert_verify_callback;
-+		SSL_CTX_set_cert_verify_cb;
-+		SSL_CTX_set_cipher_list;
-+		SSL_CTX_set_client_CA_list;
-+		SSL_CTX_set_client_cert_cb;
-+		SSL_CTX_set_client_cert_engine;
-+		SSL_CTX_set_cookie_generate_cb;
-+		SSL_CTX_set_cookie_verify_cb;
-+		SSL_CTX_set_default_passwd_cb;
-+		SSL_CTX_set_default_passwd_cb_userdata;
-+		SSL_CTX_set_default_verify_paths;
-+		SSL_CTX_set_def_passwd_cb_ud;
-+		SSL_CTX_set_def_verify_paths;
-+		SSL_CTX_set_ex_data;
-+		SSL_CTX_set_generate_session_id;
-+		SSL_CTX_set_info_callback;
-+		SSL_CTX_set_msg_callback;
-+		SSL_CTX_set_psk_client_callback;
-+		SSL_CTX_set_psk_server_callback;
-+		SSL_CTX_set_purpose;
-+		SSL_CTX_set_quiet_shutdown;
-+		SSL_CTX_set_session_id_context;
-+		SSL_CTX_set_ssl_version;
-+		SSL_CTX_set_timeout;
-+		SSL_CTX_set_tmp_dh_callback;
-+		SSL_CTX_set_tmp_ecdh_callback;
-+		SSL_CTX_set_tmp_rsa_callback;
-+		SSL_CTX_set_trust;
-+		SSL_CTX_set_verify;
-+		SSL_CTX_set_verify_depth;
-+		SSL_CTX_use_cert_chain_file;
-+		SSL_CTX_use_certificate;
-+		SSL_CTX_use_certificate_ASN1;
-+		SSL_CTX_use_certificate_chain_file;
-+		SSL_CTX_use_certificate_file;
-+		SSL_CTX_use_PrivateKey;
-+		SSL_CTX_use_PrivateKey_ASN1;
-+		SSL_CTX_use_PrivateKey_file;
-+		SSL_CTX_use_psk_identity_hint;
-+		SSL_CTX_use_RSAPrivateKey;
-+		SSL_CTX_use_RSAPrivateKey_ASN1;
-+		SSL_CTX_use_RSAPrivateKey_file;
-+		SSL_do_handshake;
-+		SSL_dup;
-+		SSL_dup_CA_list;
-+		SSLeay_add_ssl_algorithms;
-+		SSL_free;
-+		SSL_get1_session;
-+		SSL_get_certificate;
-+		SSL_get_cipher_list;
-+		SSL_get_ciphers;
-+		SSL_get_client_CA_list;
-+		SSL_get_current_cipher;
-+		SSL_get_current_compression;
-+		SSL_get_current_expansion;
-+		SSL_get_default_timeout;
-+		SSL_get_error;
-+		SSL_get_ex_data;
-+		SSL_get_ex_data_X509_STORE_CTX_idx;
-+		SSL_get_ex_d_X509_STORE_CTX_idx;
-+		SSL_get_ex_new_index;
-+		SSL_get_fd;
-+		SSL_get_finished;
-+		SSL_get_info_callback;
-+		SSL_get_peer_cert_chain;
-+		SSL_get_peer_certificate;
-+		SSL_get_peer_finished;
-+		SSL_get_privatekey;
-+		SSL_get_psk_identity;
-+		SSL_get_psk_identity_hint;
-+		SSL_get_quiet_shutdown;
-+		SSL_get_rbio;
-+		SSL_get_read_ahead;
-+		SSL_get_rfd;
-+		SSL_get_servername;
-+		SSL_get_servername_type;
-+		SSL_get_session;
-+		SSL_get_shared_ciphers;
-+		SSL_get_shutdown;
-+		SSL_get_SSL_CTX;
-+		SSL_get_ssl_method;
-+		SSL_get_verify_callback;
-+		SSL_get_verify_depth;
-+		SSL_get_verify_mode;
-+		SSL_get_verify_result;
-+		SSL_get_version;
-+		SSL_get_wbio;
-+		SSL_get_wfd;
-+		SSL_has_matching_session_id;
-+		SSL_library_init;
-+		SSL_load_client_CA_file;
-+		SSL_load_error_strings;
-+		SSL_new;
-+		SSL_peek;
-+		SSL_pending;
-+		SSL_read;
-+		SSL_renegotiate;
-+		SSL_renegotiate_pending;
-+		SSL_rstate_string;
-+		SSL_rstate_string_long;
-+		SSL_SESSION_cmp;
-+		SSL_SESSION_free;
-+		SSL_SESSION_get_ex_data;
-+		SSL_SESSION_get_ex_new_index;
-+		SSL_SESSION_get_id;
-+		SSL_SESSION_get_time;
-+		SSL_SESSION_get_timeout;
-+		SSL_SESSION_hash;
-+		SSL_SESSION_new;
-+		SSL_SESSION_print;
-+		SSL_SESSION_print_fp;
-+		SSL_SESSION_set_ex_data;
-+		SSL_SESSION_set_time;
-+		SSL_SESSION_set_timeout;
-+		SSL_set1_param;
-+		SSL_set_accept_state;
-+		SSL_set_bio;
-+		SSL_set_cipher_list;
-+		SSL_set_client_CA_list;
-+		SSL_set_connect_state;
-+		SSL_set_ex_data;
-+		SSL_set_fd;
-+		SSL_set_generate_session_id;
-+		SSL_set_info_callback;
-+		SSL_set_msg_callback;
-+		SSL_set_psk_client_callback;
-+		SSL_set_psk_server_callback;
-+		SSL_set_purpose;
-+		SSL_set_quiet_shutdown;
-+		SSL_set_read_ahead;
-+		SSL_set_rfd;
-+		SSL_set_session;
-+		SSL_set_session_id_context;
-+		SSL_set_session_secret_cb;
-+		SSL_set_session_ticket_ext;
-+		SSL_set_session_ticket_ext_cb;
-+		SSL_set_shutdown;
-+		SSL_set_SSL_CTX;
-+		SSL_set_ssl_method;
-+		SSL_set_tmp_dh_callback;
-+		SSL_set_tmp_ecdh_callback;
-+		SSL_set_tmp_rsa_callback;
-+		SSL_set_trust;
-+		SSL_set_verify;
-+		SSL_set_verify_depth;
-+		SSL_set_verify_result;
-+		SSL_set_wfd;
-+		SSL_shutdown;
-+		SSL_state;
-+		SSL_state_string;
-+		SSL_state_string_long;
-+		SSL_use_certificate;
-+		SSL_use_certificate_ASN1;
-+		SSL_use_certificate_file;
-+		SSL_use_PrivateKey;
-+		SSL_use_PrivateKey_ASN1;
-+		SSL_use_PrivateKey_file;
-+		SSL_use_psk_identity_hint;
-+		SSL_use_RSAPrivateKey;
-+		SSL_use_RSAPrivateKey_ASN1;
-+		SSL_use_RSAPrivateKey_file;
-+		SSLv23_client_method;
-+		SSLv23_method;
-+		SSLv23_server_method;
-+		SSLv2_client_method;
-+		SSLv2_method;
-+		SSLv2_server_method;
-+		SSLv3_client_method;
-+		SSLv3_method;
-+		SSLv3_server_method;
-+		SSL_version;
-+		SSL_want;
-+		SSL_write;
-+		TLSv1_client_method;
-+		TLSv1_method;
-+		TLSv1_server_method;
-+
-+
-+		SSLeay;
-+		SSLeay_version;
-+		ASN1_BIT_STRING_asn1_meth;
-+		ASN1_HEADER_free;
-+		ASN1_HEADER_new;
-+		ASN1_IA5STRING_asn1_meth;
-+		ASN1_INTEGER_get;
-+		ASN1_INTEGER_set;
-+		ASN1_INTEGER_to_BN;
-+		ASN1_OBJECT_create;
-+		ASN1_OBJECT_free;
-+		ASN1_OBJECT_new;
-+		ASN1_PRINTABLE_type;
-+		ASN1_STRING_cmp;
-+		ASN1_STRING_dup;
-+		ASN1_STRING_free;
-+		ASN1_STRING_new;
-+		ASN1_STRING_print;
-+		ASN1_STRING_set;
-+		ASN1_STRING_type_new;
-+		ASN1_TYPE_free;
-+		ASN1_TYPE_new;
-+		ASN1_UNIVERSALSTRING_to_string;
-+		ASN1_UTCTIME_check;
-+		ASN1_UTCTIME_print;
-+		ASN1_UTCTIME_set;
-+		ASN1_check_infinite_end;
-+		ASN1_d2i_bio;
-+		ASN1_d2i_fp;
-+		ASN1_digest;
-+		ASN1_dup;
-+		ASN1_get_object;
-+		ASN1_i2d_bio;
-+		ASN1_i2d_fp;
-+		ASN1_object_size;
-+		ASN1_parse;
-+		ASN1_put_object;
-+		ASN1_sign;
-+		ASN1_verify;
-+		BF_cbc_encrypt;
-+		BF_cfb64_encrypt;
-+		BF_ecb_encrypt;
-+		BF_encrypt;
-+		BF_ofb64_encrypt;
-+		BF_options;
-+		BF_set_key;
-+		BIO_CONNECT_free;
-+		BIO_CONNECT_new;
-+		BIO_accept;
-+		BIO_ctrl;
-+		BIO_int_ctrl;
-+		BIO_debug_callback;
-+		BIO_dump;
-+		BIO_dup_chain;
-+		BIO_f_base64;
-+		BIO_f_buffer;
-+		BIO_f_cipher;
-+		BIO_f_md;
-+		BIO_f_null;
-+		BIO_f_proxy_server;
-+		BIO_fd_non_fatal_error;
-+		BIO_fd_should_retry;
-+		BIO_find_type;
-+		BIO_free;
-+		BIO_free_all;
-+		BIO_get_accept_socket;
-+		BIO_get_filter_bio;
-+		BIO_get_host_ip;
-+		BIO_get_port;
-+		BIO_get_retry_BIO;
-+		BIO_get_retry_reason;
-+		BIO_gethostbyname;
-+		BIO_gets;
-+		BIO_new;
-+		BIO_new_accept;
-+		BIO_new_connect;
-+		BIO_new_fd;
-+		BIO_new_file;
-+		BIO_new_fp;
-+		BIO_new_socket;
-+		BIO_pop;
-+		BIO_printf;
-+		BIO_push;
-+		BIO_puts;
-+		BIO_read;
-+		BIO_s_accept;
-+		BIO_s_connect;
-+		BIO_s_fd;
-+		BIO_s_file;
-+		BIO_s_mem;
-+		BIO_s_null;
-+		BIO_s_proxy_client;
-+		BIO_s_socket;
-+		BIO_set;
-+		BIO_set_cipher;
-+		BIO_set_tcp_ndelay;
-+		BIO_sock_cleanup;
-+		BIO_sock_error;
-+		BIO_sock_init;
-+		BIO_sock_non_fatal_error;
-+		BIO_sock_should_retry;
-+		BIO_socket_ioctl;
-+		BIO_write;
-+		BN_CTX_free;
-+		BN_CTX_new;
-+		BN_MONT_CTX_free;
-+		BN_MONT_CTX_new;
-+		BN_MONT_CTX_set;
-+		BN_add;
-+		BN_add_word;
-+		BN_hex2bn;
-+		BN_bin2bn;
-+		BN_bn2hex;
-+		BN_bn2bin;
-+		BN_clear;
-+		BN_clear_bit;
-+		BN_clear_free;
-+		BN_cmp;
-+		BN_copy;
-+		BN_div;
-+		BN_div_word;
-+		BN_dup;
-+		BN_free;
-+		BN_from_montgomery;
-+		BN_gcd;
-+		BN_generate_prime;
-+		BN_get_word;
-+		BN_is_bit_set;
-+		BN_is_prime;
-+		BN_lshift;
-+		BN_lshift1;
-+		BN_mask_bits;
-+		BN_mod;
-+		BN_mod_exp;
-+		BN_mod_exp_mont;
-+		BN_mod_exp_simple;
-+		BN_mod_inverse;
-+		BN_mod_mul;
-+		BN_mod_mul_montgomery;
-+		BN_mod_word;
-+		BN_mul;
-+		BN_new;
-+		BN_num_bits;
-+		BN_num_bits_word;
-+		BN_options;
-+		BN_print;
-+		BN_print_fp;
-+		BN_rand;
-+		BN_reciprocal;
-+		BN_rshift;
-+		BN_rshift1;
-+		BN_set_bit;
-+		BN_set_word;
-+		BN_sqr;
-+		BN_sub;
-+		BN_to_ASN1_INTEGER;
-+		BN_ucmp;
-+		BN_value_one;
-+		BUF_MEM_free;
-+		BUF_MEM_grow;
-+		BUF_MEM_new;
-+		BUF_strdup;
-+		CONF_free;
-+		CONF_get_number;
-+		CONF_get_section;
-+		CONF_get_string;
-+		CONF_load;
-+		CRYPTO_add_lock;
-+		CRYPTO_dbg_free;
-+		CRYPTO_dbg_malloc;
-+		CRYPTO_dbg_realloc;
-+		CRYPTO_dbg_remalloc;
-+		CRYPTO_free;
-+		CRYPTO_get_add_lock_callback;
-+		CRYPTO_get_id_callback;
-+		CRYPTO_get_lock_name;
-+		CRYPTO_get_locking_callback;
-+		CRYPTO_get_mem_functions;
-+		CRYPTO_lock;
-+		CRYPTO_malloc;
-+		CRYPTO_mem_ctrl;
-+		CRYPTO_mem_leaks;
-+		CRYPTO_mem_leaks_cb;
-+		CRYPTO_mem_leaks_fp;
-+		CRYPTO_realloc;
-+		CRYPTO_remalloc;
-+		CRYPTO_set_add_lock_callback;
-+		CRYPTO_set_id_callback;
-+		CRYPTO_set_locking_callback;
-+		CRYPTO_set_mem_functions;
-+		CRYPTO_thread_id;
-+		DH_check;
-+		DH_compute_key;
-+		DH_free;
-+		DH_generate_key;
-+		DH_generate_parameters;
-+		DH_new;
-+		DH_size;
-+		DHparams_print;
-+		DHparams_print_fp;
-+		DSA_free;
-+		DSA_generate_key;
-+		DSA_generate_parameters;
-+		DSA_is_prime;
-+		DSA_new;
-+		DSA_print;
-+		DSA_print_fp;
-+		DSA_sign;
-+		DSA_sign_setup;
-+		DSA_size;
-+		DSA_verify;
-+		DSAparams_print;
-+		DSAparams_print_fp;
-+		ERR_clear_error;
-+		ERR_error_string;
-+		ERR_free_strings;
-+		ERR_func_error_string;
-+		ERR_get_err_state_table;
-+		ERR_get_error;
-+		ERR_get_error_line;
-+		ERR_get_state;
-+		ERR_get_string_table;
-+		ERR_lib_error_string;
-+		ERR_load_ASN1_strings;
-+		ERR_load_BIO_strings;
-+		ERR_load_BN_strings;
-+		ERR_load_BUF_strings;
-+		ERR_load_CONF_strings;
-+		ERR_load_DH_strings;
-+		ERR_load_DSA_strings;
-+		ERR_load_ERR_strings;
-+		ERR_load_EVP_strings;
-+		ERR_load_OBJ_strings;
-+		ERR_load_PEM_strings;
-+		ERR_load_PROXY_strings;
-+		ERR_load_RSA_strings;
-+		ERR_load_X509_strings;
-+		ERR_load_crypto_strings;
-+		ERR_load_strings;
-+		ERR_peek_error;
-+		ERR_peek_error_line;
-+		ERR_print_errors;
-+		ERR_print_errors_fp;
-+		ERR_put_error;
-+		ERR_reason_error_string;
-+		ERR_remove_state;
-+		EVP_BytesToKey;
-+		EVP_CIPHER_CTX_cleanup;
-+		EVP_CipherFinal;
-+		EVP_CipherInit;
-+		EVP_CipherUpdate;
-+		EVP_DecodeBlock;
-+		EVP_DecodeFinal;
-+		EVP_DecodeInit;
-+		EVP_DecodeUpdate;
-+		EVP_DecryptFinal;
-+		EVP_DecryptInit;
-+		EVP_DecryptUpdate;
-+		EVP_DigestFinal;
-+		EVP_DigestInit;
-+		EVP_DigestUpdate;
-+		EVP_EncodeBlock;
-+		EVP_EncodeFinal;
-+		EVP_EncodeInit;
-+		EVP_EncodeUpdate;
-+		EVP_EncryptFinal;
-+		EVP_EncryptInit;
-+		EVP_EncryptUpdate;
-+		EVP_OpenFinal;
-+		EVP_OpenInit;
-+		EVP_PKEY_assign;
-+		EVP_PKEY_copy_parameters;
-+		EVP_PKEY_free;
-+		EVP_PKEY_missing_parameters;
-+		EVP_PKEY_new;
-+		EVP_PKEY_save_parameters;
-+		EVP_PKEY_size;
-+		EVP_PKEY_type;
-+		EVP_SealFinal;
-+		EVP_SealInit;
-+		EVP_SignFinal;
-+		EVP_VerifyFinal;
-+		EVP_add_alias;
-+		EVP_add_cipher;
-+		EVP_add_digest;
-+		EVP_bf_cbc;
-+		EVP_bf_cfb64;
-+		EVP_bf_ecb;
-+		EVP_bf_ofb;
-+		EVP_cleanup;
-+		EVP_des_cbc;
-+		EVP_des_cfb64;
-+		EVP_des_ecb;
-+		EVP_des_ede;
-+		EVP_des_ede3;
-+		EVP_des_ede3_cbc;
-+		EVP_des_ede3_cfb64;
-+		EVP_des_ede3_ofb;
-+		EVP_des_ede_cbc;
-+		EVP_des_ede_cfb64;
-+		EVP_des_ede_ofb;
-+		EVP_des_ofb;
-+		EVP_desx_cbc;
-+		EVP_dss;
-+		EVP_dss1;
-+		EVP_enc_null;
-+		EVP_get_cipherbyname;
-+		EVP_get_digestbyname;
-+		EVP_get_pw_prompt;
-+		EVP_idea_cbc;
-+		EVP_idea_cfb64;
-+		EVP_idea_ecb;
-+		EVP_idea_ofb;
-+		EVP_md2;
-+		EVP_md5;
-+		EVP_md_null;
-+		EVP_rc2_cbc;
-+		EVP_rc2_cfb64;
-+		EVP_rc2_ecb;
-+		EVP_rc2_ofb;
-+		EVP_rc4;
-+		EVP_read_pw_string;
-+		EVP_set_pw_prompt;
-+		EVP_sha;
-+		EVP_sha1;
-+		MD2;
-+		MD2_Final;
-+		MD2_Init;
-+		MD2_Update;
-+		MD2_options;
-+		MD5;
-+		MD5_Final;
-+		MD5_Init;
-+		MD5_Update;
-+		MDC2;
-+		MDC2_Final;
-+		MDC2_Init;
-+		MDC2_Update;
-+		NETSCAPE_SPKAC_free;
-+		NETSCAPE_SPKAC_new;
-+		NETSCAPE_SPKI_free;
-+		NETSCAPE_SPKI_new;
-+		NETSCAPE_SPKI_sign;
-+		NETSCAPE_SPKI_verify;
-+		OBJ_add_object;
-+		OBJ_bsearch;
-+		OBJ_cleanup;
-+		OBJ_cmp;
-+		OBJ_create;
-+		OBJ_dup;
-+		OBJ_ln2nid;
-+		OBJ_new_nid;
-+		OBJ_nid2ln;
-+		OBJ_nid2obj;
-+		OBJ_nid2sn;
-+		OBJ_obj2nid;
-+		OBJ_sn2nid;
-+		OBJ_txt2nid;
-+		PEM_ASN1_read;
-+		PEM_ASN1_read_bio;
-+		PEM_ASN1_write;
-+		PEM_ASN1_write_bio;
-+		PEM_SealFinal;
-+		PEM_SealInit;
-+		PEM_SealUpdate;
-+		PEM_SignFinal;
-+		PEM_SignInit;
-+		PEM_SignUpdate;
-+		PEM_X509_INFO_read;
-+		PEM_X509_INFO_read_bio;
-+		PEM_X509_INFO_write_bio;
-+		PEM_dek_info;
-+		PEM_do_header;
-+		PEM_get_EVP_CIPHER_INFO;
-+		PEM_proc_type;
-+		PEM_read;
-+		PEM_read_DHparams;
-+		PEM_read_DSAPrivateKey;
-+		PEM_read_DSAparams;
-+		PEM_read_PKCS7;
-+		PEM_read_PrivateKey;
-+		PEM_read_RSAPrivateKey;
-+		PEM_read_X509;
-+		PEM_read_X509_CRL;
-+		PEM_read_X509_REQ;
-+		PEM_read_bio;
-+		PEM_read_bio_DHparams;
-+		PEM_read_bio_DSAPrivateKey;
-+		PEM_read_bio_DSAparams;
-+		PEM_read_bio_PKCS7;
-+		PEM_read_bio_PrivateKey;
-+		PEM_read_bio_RSAPrivateKey;
-+		PEM_read_bio_X509;
-+		PEM_read_bio_X509_CRL;
-+		PEM_read_bio_X509_REQ;
-+		PEM_write;
-+		PEM_write_DHparams;
-+		PEM_write_DSAPrivateKey;
-+		PEM_write_DSAparams;
-+		PEM_write_PKCS7;
-+		PEM_write_PrivateKey;
-+		PEM_write_RSAPrivateKey;
-+		PEM_write_X509;
-+		PEM_write_X509_CRL;
-+		PEM_write_X509_REQ;
-+		PEM_write_bio;
-+		PEM_write_bio_DHparams;
-+		PEM_write_bio_DSAPrivateKey;
-+		PEM_write_bio_DSAparams;
-+		PEM_write_bio_PKCS7;
-+		PEM_write_bio_PrivateKey;
-+		PEM_write_bio_RSAPrivateKey;
-+		PEM_write_bio_X509;
-+		PEM_write_bio_X509_CRL;
-+		PEM_write_bio_X509_REQ;
-+		PKCS7_DIGEST_free;
-+		PKCS7_DIGEST_new;
-+		PKCS7_ENCRYPT_free;
-+		PKCS7_ENCRYPT_new;
-+		PKCS7_ENC_CONTENT_free;
-+		PKCS7_ENC_CONTENT_new;
-+		PKCS7_ENVELOPE_free;
-+		PKCS7_ENVELOPE_new;
-+		PKCS7_ISSUER_AND_SERIAL_digest;
-+		PKCS7_ISSUER_AND_SERIAL_free;
-+		PKCS7_ISSUER_AND_SERIAL_new;
-+		PKCS7_RECIP_INFO_free;
-+		PKCS7_RECIP_INFO_new;
-+		PKCS7_SIGNED_free;
-+		PKCS7_SIGNED_new;
-+		PKCS7_SIGNER_INFO_free;
-+		PKCS7_SIGNER_INFO_new;
-+		PKCS7_SIGN_ENVELOPE_free;
-+		PKCS7_SIGN_ENVELOPE_new;
-+		PKCS7_dup;
-+		PKCS7_free;
-+		PKCS7_new;
-+		PROXY_ENTRY_add_noproxy;
-+		PROXY_ENTRY_clear_noproxy;
-+		PROXY_ENTRY_free;
-+		PROXY_ENTRY_get_noproxy;
-+		PROXY_ENTRY_new;
-+		PROXY_ENTRY_set_server;
-+		PROXY_add_noproxy;
-+		PROXY_add_server;
-+		PROXY_check_by_host;
-+		PROXY_check_url;
-+		PROXY_clear_noproxy;
-+		PROXY_free;
-+		PROXY_get_noproxy;
-+		PROXY_get_proxies;
-+		PROXY_get_proxy_entry;
-+		PROXY_load_conf;
-+		PROXY_new;
-+		PROXY_print;
-+		RAND_bytes;
-+		RAND_cleanup;
-+		RAND_file_name;
-+		RAND_load_file;
-+		RAND_screen;
-+		RAND_seed;
-+		RAND_write_file;
-+		RC2_cbc_encrypt;
-+		RC2_cfb64_encrypt;
-+		RC2_ecb_encrypt;
-+		RC2_encrypt;
-+		RC2_ofb64_encrypt;
-+		RC2_set_key;
-+		RC4;
-+		RC4_options;
-+		RC4_set_key;
-+		RSAPrivateKey_asn1_meth;
-+		RSAPrivateKey_dup;
-+		RSAPublicKey_dup;
-+		RSA_PKCS1_SSLeay;
-+		RSA_free;
-+		RSA_generate_key;
-+		RSA_new;
-+		RSA_new_method;
-+		RSA_print;
-+		RSA_print_fp;
-+		RSA_private_decrypt;
-+		RSA_private_encrypt;
-+		RSA_public_decrypt;
-+		RSA_public_encrypt;
-+		RSA_set_default_method;
-+		RSA_sign;
-+		RSA_sign_ASN1_OCTET_STRING;
-+		RSA_size;
-+		RSA_verify;
-+		RSA_verify_ASN1_OCTET_STRING;
-+		SHA;
-+		SHA1;
-+		SHA1_Final;
-+		SHA1_Init;
-+		SHA1_Update;
-+		SHA_Final;
-+		SHA_Init;
-+		SHA_Update;
-+		OpenSSL_add_all_algorithms;
-+		OpenSSL_add_all_ciphers;
-+		OpenSSL_add_all_digests;
-+		TXT_DB_create_index;
-+		TXT_DB_free;
-+		TXT_DB_get_by_index;
-+		TXT_DB_insert;
-+		TXT_DB_read;
-+		TXT_DB_write;
-+		X509_ALGOR_free;
-+		X509_ALGOR_new;
-+		X509_ATTRIBUTE_free;
-+		X509_ATTRIBUTE_new;
-+		X509_CINF_free;
-+		X509_CINF_new;
-+		X509_CRL_INFO_free;
-+		X509_CRL_INFO_new;
-+		X509_CRL_add_ext;
-+		X509_CRL_cmp;
-+		X509_CRL_delete_ext;
-+		X509_CRL_dup;
-+		X509_CRL_free;
-+		X509_CRL_get_ext;
-+		X509_CRL_get_ext_by_NID;
-+		X509_CRL_get_ext_by_OBJ;
-+		X509_CRL_get_ext_by_critical;
-+		X509_CRL_get_ext_count;
-+		X509_CRL_new;
-+		X509_CRL_sign;
-+		X509_CRL_verify;
-+		X509_EXTENSION_create_by_NID;
-+		X509_EXTENSION_create_by_OBJ;
-+		X509_EXTENSION_dup;
-+		X509_EXTENSION_free;
-+		X509_EXTENSION_get_critical;
-+		X509_EXTENSION_get_data;
-+		X509_EXTENSION_get_object;
-+		X509_EXTENSION_new;
-+		X509_EXTENSION_set_critical;
-+		X509_EXTENSION_set_data;
-+		X509_EXTENSION_set_object;
-+		X509_INFO_free;
-+		X509_INFO_new;
-+		X509_LOOKUP_by_alias;
-+		X509_LOOKUP_by_fingerprint;
-+		X509_LOOKUP_by_issuer_serial;
-+		X509_LOOKUP_by_subject;
-+		X509_LOOKUP_ctrl;
-+		X509_LOOKUP_file;
-+		X509_LOOKUP_free;
-+		X509_LOOKUP_hash_dir;
-+		X509_LOOKUP_init;
-+		X509_LOOKUP_new;
-+		X509_LOOKUP_shutdown;
-+		X509_NAME_ENTRY_create_by_NID;
-+		X509_NAME_ENTRY_create_by_OBJ;
-+		X509_NAME_ENTRY_dup;
-+		X509_NAME_ENTRY_free;
-+		X509_NAME_ENTRY_get_data;
-+		X509_NAME_ENTRY_get_object;
-+		X509_NAME_ENTRY_new;
-+		X509_NAME_ENTRY_set_data;
-+		X509_NAME_ENTRY_set_object;
-+		X509_NAME_add_entry;
-+		X509_NAME_cmp;
-+		X509_NAME_delete_entry;
-+		X509_NAME_digest;
-+		X509_NAME_dup;
-+		X509_NAME_entry_count;
-+		X509_NAME_free;
-+		X509_NAME_get_entry;
-+		X509_NAME_get_index_by_NID;
-+		X509_NAME_get_index_by_OBJ;
-+		X509_NAME_get_text_by_NID;
-+		X509_NAME_get_text_by_OBJ;
-+		X509_NAME_hash;
-+		X509_NAME_new;
-+		X509_NAME_oneline;
-+		X509_NAME_print;
-+		X509_NAME_set;
-+		X509_OBJECT_free_contents;
-+		X509_OBJECT_retrieve_by_subject;
-+		X509_OBJECT_up_ref_count;
-+		X509_PKEY_free;
-+		X509_PKEY_new;
-+		X509_PUBKEY_free;
-+		X509_PUBKEY_get;
-+		X509_PUBKEY_new;
-+		X509_PUBKEY_set;
-+		X509_REQ_INFO_free;
-+		X509_REQ_INFO_new;
-+		X509_REQ_dup;
-+		X509_REQ_free;
-+		X509_REQ_get_pubkey;
-+		X509_REQ_new;
-+		X509_REQ_print;
-+		X509_REQ_print_fp;
-+		X509_REQ_set_pubkey;
-+		X509_REQ_set_subject_name;
-+		X509_REQ_set_version;
-+		X509_REQ_sign;
-+		X509_REQ_to_X509;
-+		X509_REQ_verify;
-+		X509_REVOKED_add_ext;
-+		X509_REVOKED_delete_ext;
-+		X509_REVOKED_free;
-+		X509_REVOKED_get_ext;
-+		X509_REVOKED_get_ext_by_NID;
-+		X509_REVOKED_get_ext_by_OBJ;
-+		X509_REVOKED_get_ext_by_critical;
-+		X509_REVOKED_get_ext_by_critic;
-+		X509_REVOKED_get_ext_count;
-+		X509_REVOKED_new;
-+		X509_SIG_free;
-+		X509_SIG_new;
-+		X509_STORE_CTX_cleanup;
-+		X509_STORE_CTX_init;
-+		X509_STORE_add_cert;
-+		X509_STORE_add_lookup;
-+		X509_STORE_free;
-+		X509_STORE_get_by_subject;
-+		X509_STORE_load_locations;
-+		X509_STORE_new;
-+		X509_STORE_set_default_paths;
-+		X509_VAL_free;
-+		X509_VAL_new;
-+		X509_add_ext;
-+		X509_asn1_meth;
-+		X509_certificate_type;
-+		X509_check_private_key;
-+		X509_cmp_current_time;
-+		X509_delete_ext;
-+		X509_digest;
-+		X509_dup;
-+		X509_free;
-+		X509_get_default_cert_area;
-+		X509_get_default_cert_dir;
-+		X509_get_default_cert_dir_env;
-+		X509_get_default_cert_file;
-+		X509_get_default_cert_file_env;
-+		X509_get_default_private_dir;
-+		X509_get_ext;
-+		X509_get_ext_by_NID;
-+		X509_get_ext_by_OBJ;
-+		X509_get_ext_by_critical;
-+		X509_get_ext_count;
-+		X509_get_issuer_name;
-+		X509_get_pubkey;
-+		X509_get_pubkey_parameters;
-+		X509_get_serialNumber;
-+		X509_get_subject_name;
-+		X509_gmtime_adj;
-+		X509_issuer_and_serial_cmp;
-+		X509_issuer_and_serial_hash;
-+		X509_issuer_name_cmp;
-+		X509_issuer_name_hash;
-+		X509_load_cert_file;
-+		X509_new;
-+		X509_print;
-+		X509_print_fp;
-+		X509_set_issuer_name;
-+		X509_set_notAfter;
-+		X509_set_notBefore;
-+		X509_set_pubkey;
-+		X509_set_serialNumber;
-+		X509_set_subject_name;
-+		X509_set_version;
-+		X509_sign;
-+		X509_subject_name_cmp;
-+		X509_subject_name_hash;
-+		X509_to_X509_REQ;
-+		X509_verify;
-+		X509_verify_cert;
-+		X509_verify_cert_error_string;
-+		X509v3_add_ext;
-+		X509v3_add_extension;
-+		X509v3_add_netscape_extensions;
-+		X509v3_add_standard_extensions;
-+		X509v3_cleanup_extensions;
-+		X509v3_data_type_by_NID;
-+		X509v3_data_type_by_OBJ;
-+		X509v3_delete_ext;
-+		X509v3_get_ext;
-+		X509v3_get_ext_by_NID;
-+		X509v3_get_ext_by_OBJ;
-+		X509v3_get_ext_by_critical;
-+		X509v3_get_ext_count;
-+		X509v3_pack_string;
-+		X509v3_pack_type_by_NID;
-+		X509v3_pack_type_by_OBJ;
-+		X509v3_unpack_string;
-+		_des_crypt;
-+		a2d_ASN1_OBJECT;
-+		a2i_ASN1_INTEGER;
-+		a2i_ASN1_STRING;
-+		asn1_Finish;
-+		asn1_GetSequence;
-+		bn_div_words;
-+		bn_expand2;
-+		bn_mul_add_words;
-+		bn_mul_words;
-+		BN_uadd;
-+		BN_usub;
-+		bn_sqr_words;
-+		_ossl_old_crypt;
-+		d2i_ASN1_BIT_STRING;
-+		d2i_ASN1_BOOLEAN;
-+		d2i_ASN1_HEADER;
-+		d2i_ASN1_IA5STRING;
-+		d2i_ASN1_INTEGER;
-+		d2i_ASN1_OBJECT;
-+		d2i_ASN1_OCTET_STRING;
-+		d2i_ASN1_PRINTABLE;
-+		d2i_ASN1_PRINTABLESTRING;
-+		d2i_ASN1_SET;
-+		d2i_ASN1_T61STRING;
-+		d2i_ASN1_TYPE;
-+		d2i_ASN1_UTCTIME;
-+		d2i_ASN1_bytes;
-+		d2i_ASN1_type_bytes;
-+		d2i_DHparams;
-+		d2i_DSAPrivateKey;
-+		d2i_DSAPrivateKey_bio;
-+		d2i_DSAPrivateKey_fp;
-+		d2i_DSAPublicKey;
-+		d2i_DSAparams;
-+		d2i_NETSCAPE_SPKAC;
-+		d2i_NETSCAPE_SPKI;
-+		d2i_Netscape_RSA;
-+		d2i_PKCS7;
-+		d2i_PKCS7_DIGEST;
-+		d2i_PKCS7_ENCRYPT;
-+		d2i_PKCS7_ENC_CONTENT;
-+		d2i_PKCS7_ENVELOPE;
-+		d2i_PKCS7_ISSUER_AND_SERIAL;
-+		d2i_PKCS7_RECIP_INFO;
-+		d2i_PKCS7_SIGNED;
-+		d2i_PKCS7_SIGNER_INFO;
-+		d2i_PKCS7_SIGN_ENVELOPE;
-+		d2i_PKCS7_bio;
-+		d2i_PKCS7_fp;
-+		d2i_PrivateKey;
-+		d2i_PublicKey;
-+		d2i_RSAPrivateKey;
-+		d2i_RSAPrivateKey_bio;
-+		d2i_RSAPrivateKey_fp;
-+		d2i_RSAPublicKey;
-+		d2i_X509;
-+		d2i_X509_ALGOR;
-+		d2i_X509_ATTRIBUTE;
-+		d2i_X509_CINF;
-+		d2i_X509_CRL;
-+		d2i_X509_CRL_INFO;
-+		d2i_X509_CRL_bio;
-+		d2i_X509_CRL_fp;
-+		d2i_X509_EXTENSION;
-+		d2i_X509_NAME;
-+		d2i_X509_NAME_ENTRY;
-+		d2i_X509_PKEY;
-+		d2i_X509_PUBKEY;
-+		d2i_X509_REQ;
-+		d2i_X509_REQ_INFO;
-+		d2i_X509_REQ_bio;
-+		d2i_X509_REQ_fp;
-+		d2i_X509_REVOKED;
-+		d2i_X509_SIG;
-+		d2i_X509_VAL;
-+		d2i_X509_bio;
-+		d2i_X509_fp;
-+		DES_cbc_cksum;
-+		DES_cbc_encrypt;
-+		DES_cblock_print_file;
-+		DES_cfb64_encrypt;
-+		DES_cfb_encrypt;
-+		DES_decrypt3;
-+		DES_ecb3_encrypt;
-+		DES_ecb_encrypt;
-+		DES_ede3_cbc_encrypt;
-+		DES_ede3_cfb64_encrypt;
-+		DES_ede3_ofb64_encrypt;
-+		DES_enc_read;
-+		DES_enc_write;
-+		DES_encrypt1;
-+		DES_encrypt2;
-+		DES_encrypt3;
-+		DES_fcrypt;
-+		DES_is_weak_key;
-+		DES_key_sched;
-+		DES_ncbc_encrypt;
-+		DES_ofb64_encrypt;
-+		DES_ofb_encrypt;
-+		DES_options;
-+		DES_pcbc_encrypt;
-+		DES_quad_cksum;
-+		DES_random_key;
-+		_ossl_old_des_random_seed;
-+		_ossl_old_des_read_2passwords;
-+		_ossl_old_des_read_password;
-+		_ossl_old_des_read_pw;
-+		_ossl_old_des_read_pw_string;
-+		DES_set_key;
-+		DES_set_odd_parity;
-+		DES_string_to_2keys;
-+		DES_string_to_key;
-+		DES_xcbc_encrypt;
-+		DES_xwhite_in2out;
-+		fcrypt_body;
-+		i2a_ASN1_INTEGER;
-+		i2a_ASN1_OBJECT;
-+		i2a_ASN1_STRING;
-+		i2d_ASN1_BIT_STRING;
-+		i2d_ASN1_BOOLEAN;
-+		i2d_ASN1_HEADER;
-+		i2d_ASN1_IA5STRING;
-+		i2d_ASN1_INTEGER;
-+		i2d_ASN1_OBJECT;
-+		i2d_ASN1_OCTET_STRING;
-+		i2d_ASN1_PRINTABLE;
-+		i2d_ASN1_SET;
-+		i2d_ASN1_TYPE;
-+		i2d_ASN1_UTCTIME;
-+		i2d_ASN1_bytes;
-+		i2d_DHparams;
-+		i2d_DSAPrivateKey;
-+		i2d_DSAPrivateKey_bio;
-+		i2d_DSAPrivateKey_fp;
-+		i2d_DSAPublicKey;
-+		i2d_DSAparams;
-+		i2d_NETSCAPE_SPKAC;
-+		i2d_NETSCAPE_SPKI;
-+		i2d_Netscape_RSA;
-+		i2d_PKCS7;
-+		i2d_PKCS7_DIGEST;
-+		i2d_PKCS7_ENCRYPT;
-+		i2d_PKCS7_ENC_CONTENT;
-+		i2d_PKCS7_ENVELOPE;
-+		i2d_PKCS7_ISSUER_AND_SERIAL;
-+		i2d_PKCS7_RECIP_INFO;
-+		i2d_PKCS7_SIGNED;
-+		i2d_PKCS7_SIGNER_INFO;
-+		i2d_PKCS7_SIGN_ENVELOPE;
-+		i2d_PKCS7_bio;
-+		i2d_PKCS7_fp;
-+		i2d_PrivateKey;
-+		i2d_PublicKey;
-+		i2d_RSAPrivateKey;
-+		i2d_RSAPrivateKey_bio;
-+		i2d_RSAPrivateKey_fp;
-+		i2d_RSAPublicKey;
-+		i2d_X509;
-+		i2d_X509_ALGOR;
-+		i2d_X509_ATTRIBUTE;
-+		i2d_X509_CINF;
-+		i2d_X509_CRL;
-+		i2d_X509_CRL_INFO;
-+		i2d_X509_CRL_bio;
-+		i2d_X509_CRL_fp;
-+		i2d_X509_EXTENSION;
-+		i2d_X509_NAME;
-+		i2d_X509_NAME_ENTRY;
-+		i2d_X509_PKEY;
-+		i2d_X509_PUBKEY;
-+		i2d_X509_REQ;
-+		i2d_X509_REQ_INFO;
-+		i2d_X509_REQ_bio;
-+		i2d_X509_REQ_fp;
-+		i2d_X509_REVOKED;
-+		i2d_X509_SIG;
-+		i2d_X509_VAL;
-+		i2d_X509_bio;
-+		i2d_X509_fp;
-+		idea_cbc_encrypt;
-+		idea_cfb64_encrypt;
-+		idea_ecb_encrypt;
-+		idea_encrypt;
-+		idea_ofb64_encrypt;
-+		idea_options;
-+		idea_set_decrypt_key;
-+		idea_set_encrypt_key;
-+		lh_delete;
-+		lh_doall;
-+		lh_doall_arg;
-+		lh_free;
-+		lh_insert;
-+		lh_new;
-+		lh_node_stats;
-+		lh_node_stats_bio;
-+		lh_node_usage_stats;
-+		lh_node_usage_stats_bio;
-+		lh_retrieve;
-+		lh_stats;
-+		lh_stats_bio;
-+		lh_strhash;
-+		sk_delete;
-+		sk_delete_ptr;
-+		sk_dup;
-+		sk_find;
-+		sk_free;
-+		sk_insert;
-+		sk_new;
-+		sk_pop;
-+		sk_pop_free;
-+		sk_push;
-+		sk_set_cmp_func;
-+		sk_shift;
-+		sk_unshift;
-+		sk_zero;
-+		BIO_f_nbio_test;
-+		ASN1_TYPE_get;
-+		ASN1_TYPE_set;
-+		PKCS7_content_free;
-+		ERR_load_PKCS7_strings;
-+		X509_find_by_issuer_and_serial;
-+		X509_find_by_subject;
-+		PKCS7_ctrl;
-+		PKCS7_set_type;
-+		PKCS7_set_content;
-+		PKCS7_SIGNER_INFO_set;
-+		PKCS7_add_signer;
-+		PKCS7_add_certificate;
-+		PKCS7_add_crl;
-+		PKCS7_content_new;
-+		PKCS7_dataSign;
-+		PKCS7_dataVerify;
-+		PKCS7_dataInit;
-+		PKCS7_add_signature;
-+		PKCS7_cert_from_signer_info;
-+		PKCS7_get_signer_info;
-+		EVP_delete_alias;
-+		EVP_mdc2;
-+		PEM_read_bio_RSAPublicKey;
-+		PEM_write_bio_RSAPublicKey;
-+		d2i_RSAPublicKey_bio;
-+		i2d_RSAPublicKey_bio;
-+		PEM_read_RSAPublicKey;
-+		PEM_write_RSAPublicKey;
-+		d2i_RSAPublicKey_fp;
-+		i2d_RSAPublicKey_fp;
-+		BIO_copy_next_retry;
-+		RSA_flags;
-+		X509_STORE_add_crl;
-+		X509_load_crl_file;
-+		EVP_rc2_40_cbc;
-+		EVP_rc4_40;
-+		EVP_CIPHER_CTX_init;
-+		HMAC;
-+		HMAC_Init;
-+		HMAC_Update;
-+		HMAC_Final;
-+		ERR_get_next_error_library;
-+		EVP_PKEY_cmp_parameters;
-+		HMAC_cleanup;
-+		BIO_ptr_ctrl;
-+		BIO_new_file_internal;
-+		BIO_new_fp_internal;
-+		BIO_s_file_internal;
-+		BN_BLINDING_convert;
-+		BN_BLINDING_invert;
-+		BN_BLINDING_update;
-+		RSA_blinding_on;
-+		RSA_blinding_off;
-+		i2t_ASN1_OBJECT;
-+		BN_BLINDING_new;
-+		BN_BLINDING_free;
-+		EVP_cast5_cbc;
-+		EVP_cast5_cfb64;
-+		EVP_cast5_ecb;
-+		EVP_cast5_ofb;
-+		BF_decrypt;
-+		CAST_set_key;
-+		CAST_encrypt;
-+		CAST_decrypt;
-+		CAST_ecb_encrypt;
-+		CAST_cbc_encrypt;
-+		CAST_cfb64_encrypt;
-+		CAST_ofb64_encrypt;
-+		RC2_decrypt;
-+		OBJ_create_objects;
-+		BN_exp;
-+		BN_mul_word;
-+		BN_sub_word;
-+		BN_dec2bn;
-+		BN_bn2dec;
-+		BIO_ghbn_ctrl;
-+		CRYPTO_free_ex_data;
-+		CRYPTO_get_ex_data;
-+		CRYPTO_set_ex_data;
-+		ERR_load_CRYPTO_strings;
-+		ERR_load_CRYPTOlib_strings;
-+		EVP_PKEY_bits;
-+		MD5_Transform;
-+		SHA1_Transform;
-+		SHA_Transform;
-+		X509_STORE_CTX_get_chain;
-+		X509_STORE_CTX_get_current_cert;
-+		X509_STORE_CTX_get_error;
-+		X509_STORE_CTX_get_error_depth;
-+		X509_STORE_CTX_get_ex_data;
-+		X509_STORE_CTX_set_cert;
-+		X509_STORE_CTX_set_chain;
-+		X509_STORE_CTX_set_error;
-+		X509_STORE_CTX_set_ex_data;
-+		CRYPTO_dup_ex_data;
-+		CRYPTO_get_new_lockid;
-+		CRYPTO_new_ex_data;
-+		RSA_set_ex_data;
-+		RSA_get_ex_data;
-+		RSA_get_ex_new_index;
-+		RSA_padding_add_PKCS1_type_1;
-+		RSA_padding_add_PKCS1_type_2;
-+		RSA_padding_add_SSLv23;
-+		RSA_padding_add_none;
-+		RSA_padding_check_PKCS1_type_1;
-+		RSA_padding_check_PKCS1_type_2;
-+		RSA_padding_check_SSLv23;
-+		RSA_padding_check_none;
-+		bn_add_words;
-+		d2i_Netscape_RSA_2;
-+		CRYPTO_get_ex_new_index;
-+		RIPEMD160_Init;
-+		RIPEMD160_Update;
-+		RIPEMD160_Final;
-+		RIPEMD160;
-+		RIPEMD160_Transform;
-+		RC5_32_set_key;
-+		RC5_32_ecb_encrypt;
-+		RC5_32_encrypt;
-+		RC5_32_decrypt;
-+		RC5_32_cbc_encrypt;
-+		RC5_32_cfb64_encrypt;
-+		RC5_32_ofb64_encrypt;
-+		BN_bn2mpi;
-+		BN_mpi2bn;
-+		ASN1_BIT_STRING_get_bit;
-+		ASN1_BIT_STRING_set_bit;
-+		BIO_get_ex_data;
-+		BIO_get_ex_new_index;
-+		BIO_set_ex_data;
-+		X509v3_get_key_usage;
-+		X509v3_set_key_usage;
-+		a2i_X509v3_key_usage;
-+		i2a_X509v3_key_usage;
-+		EVP_PKEY_decrypt;
-+		EVP_PKEY_encrypt;
-+		PKCS7_RECIP_INFO_set;
-+		PKCS7_add_recipient;
-+		PKCS7_add_recipient_info;
-+		PKCS7_set_cipher;
-+		ASN1_TYPE_get_int_octetstring;
-+		ASN1_TYPE_get_octetstring;
-+		ASN1_TYPE_set_int_octetstring;
-+		ASN1_TYPE_set_octetstring;
-+		ASN1_UTCTIME_set_string;
-+		ERR_add_error_data;
-+		ERR_set_error_data;
-+		EVP_CIPHER_asn1_to_param;
-+		EVP_CIPHER_param_to_asn1;
-+		EVP_CIPHER_get_asn1_iv;
-+		EVP_CIPHER_set_asn1_iv;
-+		EVP_rc5_32_12_16_cbc;
-+		EVP_rc5_32_12_16_cfb64;
-+		EVP_rc5_32_12_16_ecb;
-+		EVP_rc5_32_12_16_ofb;
-+		asn1_add_error;
-+		d2i_ASN1_BMPSTRING;
-+		i2d_ASN1_BMPSTRING;
-+		BIO_f_ber;
-+		BN_init;
-+		COMP_CTX_new;
-+		COMP_CTX_free;
-+		COMP_CTX_compress_block;
-+		COMP_CTX_expand_block;
-+		X509_STORE_CTX_get_ex_new_index;
-+		OBJ_NAME_add;
-+		BIO_socket_nbio;
-+		EVP_rc2_64_cbc;
-+		OBJ_NAME_cleanup;
-+		OBJ_NAME_get;
-+		OBJ_NAME_init;
-+		OBJ_NAME_new_index;
-+		OBJ_NAME_remove;
-+		BN_MONT_CTX_copy;
-+		BIO_new_socks4a_connect;
-+		BIO_s_socks4a_connect;
-+		PROXY_set_connect_mode;
-+		RAND_SSLeay;
-+		RAND_set_rand_method;
-+		RSA_memory_lock;
-+		bn_sub_words;
-+		bn_mul_normal;
-+		bn_mul_comba8;
-+		bn_mul_comba4;
-+		bn_sqr_normal;
-+		bn_sqr_comba8;
-+		bn_sqr_comba4;
-+		bn_cmp_words;
-+		bn_mul_recursive;
-+		bn_mul_part_recursive;
-+		bn_sqr_recursive;
-+		bn_mul_low_normal;
-+		BN_RECP_CTX_init;
-+		BN_RECP_CTX_new;
-+		BN_RECP_CTX_free;
-+		BN_RECP_CTX_set;
-+		BN_mod_mul_reciprocal;
-+		BN_mod_exp_recp;
-+		BN_div_recp;
-+		BN_CTX_init;
-+		BN_MONT_CTX_init;
-+		RAND_get_rand_method;
-+		PKCS7_add_attribute;
-+		PKCS7_add_signed_attribute;
-+		PKCS7_digest_from_attributes;
-+		PKCS7_get_attribute;
-+		PKCS7_get_issuer_and_serial;
-+		PKCS7_get_signed_attribute;
-+		COMP_compress_block;
-+		COMP_expand_block;
-+		COMP_rle;
-+		COMP_zlib;
-+		ms_time_diff;
-+		ms_time_new;
-+		ms_time_free;
-+		ms_time_cmp;
-+		ms_time_get;
-+		PKCS7_set_attributes;
-+		PKCS7_set_signed_attributes;
-+		X509_ATTRIBUTE_create;
-+		X509_ATTRIBUTE_dup;
-+		ASN1_GENERALIZEDTIME_check;
-+		ASN1_GENERALIZEDTIME_print;
-+		ASN1_GENERALIZEDTIME_set;
-+		ASN1_GENERALIZEDTIME_set_string;
-+		ASN1_TIME_print;
-+		BASIC_CONSTRAINTS_free;
-+		BASIC_CONSTRAINTS_new;
-+		ERR_load_X509V3_strings;
-+		NETSCAPE_CERT_SEQUENCE_free;
-+		NETSCAPE_CERT_SEQUENCE_new;
-+		OBJ_txt2obj;
-+		PEM_read_NETSCAPE_CERT_SEQUENCE;
-+		PEM_read_NS_CERT_SEQ;
-+		PEM_read_bio_NETSCAPE_CERT_SEQUENCE;
-+		PEM_read_bio_NS_CERT_SEQ;
-+		PEM_write_NETSCAPE_CERT_SEQUENCE;
-+		PEM_write_NS_CERT_SEQ;
-+		PEM_write_bio_NETSCAPE_CERT_SEQUENCE;
-+		PEM_write_bio_NS_CERT_SEQ;
-+		X509V3_EXT_add;
-+		X509V3_EXT_add_alias;
-+		X509V3_EXT_add_conf;
-+		X509V3_EXT_cleanup;
-+		X509V3_EXT_conf;
-+		X509V3_EXT_conf_nid;
-+		X509V3_EXT_get;
-+		X509V3_EXT_get_nid;
-+		X509V3_EXT_print;
-+		X509V3_EXT_print_fp;
-+		X509V3_add_standard_extensions;
-+		X509V3_add_value;
-+		X509V3_add_value_bool;
-+		X509V3_add_value_int;
-+		X509V3_conf_free;
-+		X509V3_get_value_bool;
-+		X509V3_get_value_int;
-+		X509V3_parse_list;
-+		d2i_ASN1_GENERALIZEDTIME;
-+		d2i_ASN1_TIME;
-+		d2i_BASIC_CONSTRAINTS;
-+		d2i_NETSCAPE_CERT_SEQUENCE;
-+		d2i_ext_ku;
-+		ext_ku_free;
-+		ext_ku_new;
-+		i2d_ASN1_GENERALIZEDTIME;
-+		i2d_ASN1_TIME;
-+		i2d_BASIC_CONSTRAINTS;
-+		i2d_NETSCAPE_CERT_SEQUENCE;
-+		i2d_ext_ku;
-+		EVP_MD_CTX_copy;
-+		i2d_ASN1_ENUMERATED;
-+		d2i_ASN1_ENUMERATED;
-+		ASN1_ENUMERATED_set;
-+		ASN1_ENUMERATED_get;
-+		BN_to_ASN1_ENUMERATED;
-+		ASN1_ENUMERATED_to_BN;
-+		i2a_ASN1_ENUMERATED;
-+		a2i_ASN1_ENUMERATED;
-+		i2d_GENERAL_NAME;
-+		d2i_GENERAL_NAME;
-+		GENERAL_NAME_new;
-+		GENERAL_NAME_free;
-+		GENERAL_NAMES_new;
-+		GENERAL_NAMES_free;
-+		d2i_GENERAL_NAMES;
-+		i2d_GENERAL_NAMES;
-+		i2v_GENERAL_NAMES;
-+		i2s_ASN1_OCTET_STRING;
-+		s2i_ASN1_OCTET_STRING;
-+		X509V3_EXT_check_conf;
-+		hex_to_string;
-+		string_to_hex;
-+		DES_ede3_cbcm_encrypt;
-+		RSA_padding_add_PKCS1_OAEP;
-+		RSA_padding_check_PKCS1_OAEP;
-+		X509_CRL_print_fp;
-+		X509_CRL_print;
-+		i2v_GENERAL_NAME;
-+		v2i_GENERAL_NAME;
-+		i2d_PKEY_USAGE_PERIOD;
-+		d2i_PKEY_USAGE_PERIOD;
-+		PKEY_USAGE_PERIOD_new;
-+		PKEY_USAGE_PERIOD_free;
-+		v2i_GENERAL_NAMES;
-+		i2s_ASN1_INTEGER;
-+		X509V3_EXT_d2i;
-+		name_cmp;
-+		str_dup;
-+		i2s_ASN1_ENUMERATED;
-+		i2s_ASN1_ENUMERATED_TABLE;
-+		BIO_s_log;
-+		BIO_f_reliable;
-+		PKCS7_dataFinal;
-+		PKCS7_dataDecode;
-+		X509V3_EXT_CRL_add_conf;
-+		BN_set_params;
-+		BN_get_params;
-+		BIO_get_ex_num;
-+		BIO_set_ex_free_func;
-+		EVP_ripemd160;
-+		ASN1_TIME_set;
-+		i2d_AUTHORITY_KEYID;
-+		d2i_AUTHORITY_KEYID;
-+		AUTHORITY_KEYID_new;
-+		AUTHORITY_KEYID_free;
-+		ASN1_seq_unpack;
-+		ASN1_seq_pack;
-+		ASN1_unpack_string;
-+		ASN1_pack_string;
-+		PKCS12_pack_safebag;
-+		PKCS12_MAKE_KEYBAG;
-+		PKCS8_encrypt;
-+		PKCS12_MAKE_SHKEYBAG;
-+		PKCS12_pack_p7data;
-+		PKCS12_pack_p7encdata;
-+		PKCS12_add_localkeyid;
-+		PKCS12_add_friendlyname_asc;
-+		PKCS12_add_friendlyname_uni;
-+		PKCS12_get_friendlyname;
-+		PKCS12_pbe_crypt;
-+		PKCS12_decrypt_d2i;
-+		PKCS12_i2d_encrypt;
-+		PKCS12_init;
-+		PKCS12_key_gen_asc;
-+		PKCS12_key_gen_uni;
-+		PKCS12_gen_mac;
-+		PKCS12_verify_mac;
-+		PKCS12_set_mac;
-+		PKCS12_setup_mac;
-+		OPENSSL_asc2uni;
-+		OPENSSL_uni2asc;
-+		i2d_PKCS12_BAGS;
-+		PKCS12_BAGS_new;
-+		d2i_PKCS12_BAGS;
-+		PKCS12_BAGS_free;
-+		i2d_PKCS12;
-+		d2i_PKCS12;
-+		PKCS12_new;
-+		PKCS12_free;
-+		i2d_PKCS12_MAC_DATA;
-+		PKCS12_MAC_DATA_new;
-+		d2i_PKCS12_MAC_DATA;
-+		PKCS12_MAC_DATA_free;
-+		i2d_PKCS12_SAFEBAG;
-+		PKCS12_SAFEBAG_new;
-+		d2i_PKCS12_SAFEBAG;
-+		PKCS12_SAFEBAG_free;
-+		ERR_load_PKCS12_strings;
-+		PKCS12_PBE_add;
-+		PKCS8_add_keyusage;
-+		PKCS12_get_attr_gen;
-+		PKCS12_parse;
-+		PKCS12_create;
-+		i2d_PKCS12_bio;
-+		i2d_PKCS12_fp;
-+		d2i_PKCS12_bio;
-+		d2i_PKCS12_fp;
-+		i2d_PBEPARAM;
-+		PBEPARAM_new;
-+		d2i_PBEPARAM;
-+		PBEPARAM_free;
-+		i2d_PKCS8_PRIV_KEY_INFO;
-+		PKCS8_PRIV_KEY_INFO_new;
-+		d2i_PKCS8_PRIV_KEY_INFO;
-+		PKCS8_PRIV_KEY_INFO_free;
-+		EVP_PKCS82PKEY;
-+		EVP_PKEY2PKCS8;
-+		PKCS8_set_broken;
-+		EVP_PBE_ALGOR_CipherInit;
-+		EVP_PBE_alg_add;
-+		PKCS5_pbe_set;
-+		EVP_PBE_cleanup;
-+		i2d_SXNET;
-+		d2i_SXNET;
-+		SXNET_new;
-+		SXNET_free;
-+		i2d_SXNETID;
-+		d2i_SXNETID;
-+		SXNETID_new;
-+		SXNETID_free;
-+		DSA_SIG_new;
-+		DSA_SIG_free;
-+		DSA_do_sign;
-+		DSA_do_verify;
-+		d2i_DSA_SIG;
-+		i2d_DSA_SIG;
-+		i2d_ASN1_VISIBLESTRING;
-+		d2i_ASN1_VISIBLESTRING;
-+		i2d_ASN1_UTF8STRING;
-+		d2i_ASN1_UTF8STRING;
-+		i2d_DIRECTORYSTRING;
-+		d2i_DIRECTORYSTRING;
-+		i2d_DISPLAYTEXT;
-+		d2i_DISPLAYTEXT;
-+		d2i_ASN1_SET_OF_X509;
-+		i2d_ASN1_SET_OF_X509;
-+		i2d_PBKDF2PARAM;
-+		PBKDF2PARAM_new;
-+		d2i_PBKDF2PARAM;
-+		PBKDF2PARAM_free;
-+		i2d_PBE2PARAM;
-+		PBE2PARAM_new;
-+		d2i_PBE2PARAM;
-+		PBE2PARAM_free;
-+		d2i_ASN1_SET_OF_GENERAL_NAME;
-+		i2d_ASN1_SET_OF_GENERAL_NAME;
-+		d2i_ASN1_SET_OF_SXNETID;
-+		i2d_ASN1_SET_OF_SXNETID;
-+		d2i_ASN1_SET_OF_POLICYQUALINFO;
-+		i2d_ASN1_SET_OF_POLICYQUALINFO;
-+		d2i_ASN1_SET_OF_POLICYINFO;
-+		i2d_ASN1_SET_OF_POLICYINFO;
-+		SXNET_add_id_asc;
-+		SXNET_add_id_ulong;
-+		SXNET_add_id_INTEGER;
-+		SXNET_get_id_asc;
-+		SXNET_get_id_ulong;
-+		SXNET_get_id_INTEGER;
-+		X509V3_set_conf_lhash;
-+		i2d_CERTIFICATEPOLICIES;
-+		CERTIFICATEPOLICIES_new;
-+		CERTIFICATEPOLICIES_free;
-+		d2i_CERTIFICATEPOLICIES;
-+		i2d_POLICYINFO;
-+		POLICYINFO_new;
-+		d2i_POLICYINFO;
-+		POLICYINFO_free;
-+		i2d_POLICYQUALINFO;
-+		POLICYQUALINFO_new;
-+		d2i_POLICYQUALINFO;
-+		POLICYQUALINFO_free;
-+		i2d_USERNOTICE;
-+		USERNOTICE_new;
-+		d2i_USERNOTICE;
-+		USERNOTICE_free;
-+		i2d_NOTICEREF;
-+		NOTICEREF_new;
-+		d2i_NOTICEREF;
-+		NOTICEREF_free;
-+		X509V3_get_string;
-+		X509V3_get_section;
-+		X509V3_string_free;
-+		X509V3_section_free;
-+		X509V3_set_ctx;
-+		s2i_ASN1_INTEGER;
-+		CRYPTO_set_locked_mem_functions;
-+		CRYPTO_get_locked_mem_functions;
-+		CRYPTO_malloc_locked;
-+		CRYPTO_free_locked;
-+		BN_mod_exp2_mont;
-+		ERR_get_error_line_data;
-+		ERR_peek_error_line_data;
-+		PKCS12_PBE_keyivgen;
-+		X509_ALGOR_dup;
-+		d2i_ASN1_SET_OF_DIST_POINT;
-+		i2d_ASN1_SET_OF_DIST_POINT;
-+		i2d_CRL_DIST_POINTS;
-+		CRL_DIST_POINTS_new;
-+		CRL_DIST_POINTS_free;
-+		d2i_CRL_DIST_POINTS;
-+		i2d_DIST_POINT;
-+		DIST_POINT_new;
-+		d2i_DIST_POINT;
-+		DIST_POINT_free;
-+		i2d_DIST_POINT_NAME;
-+		DIST_POINT_NAME_new;
-+		DIST_POINT_NAME_free;
-+		d2i_DIST_POINT_NAME;
-+		X509V3_add_value_uchar;
-+		d2i_ASN1_SET_OF_X509_ATTRIBUTE;
-+		i2d_ASN1_SET_OF_ASN1_TYPE;
-+		d2i_ASN1_SET_OF_X509_EXTENSION;
-+		d2i_ASN1_SET_OF_X509_NAME_ENTRY;
-+		d2i_ASN1_SET_OF_ASN1_TYPE;
-+		i2d_ASN1_SET_OF_X509_ATTRIBUTE;
-+		i2d_ASN1_SET_OF_X509_EXTENSION;
-+		i2d_ASN1_SET_OF_X509_NAME_ENTRY;
-+		X509V3_EXT_i2d;
-+		X509V3_EXT_val_prn;
-+		X509V3_EXT_add_list;
-+		EVP_CIPHER_type;
-+		EVP_PBE_CipherInit;
-+		X509V3_add_value_bool_nf;
-+		d2i_ASN1_UINTEGER;
-+		sk_value;
-+		sk_num;
-+		sk_set;
-+		i2d_ASN1_SET_OF_X509_REVOKED;
-+		sk_sort;
-+		d2i_ASN1_SET_OF_X509_REVOKED;
-+		i2d_ASN1_SET_OF_X509_ALGOR;
-+		i2d_ASN1_SET_OF_X509_CRL;
-+		d2i_ASN1_SET_OF_X509_ALGOR;
-+		d2i_ASN1_SET_OF_X509_CRL;
-+		i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO;
-+		i2d_ASN1_SET_OF_PKCS7_RECIP_INFO;
-+		d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO;
-+		d2i_ASN1_SET_OF_PKCS7_RECIP_INFO;
-+		PKCS5_PBE_add;
-+		PEM_write_bio_PKCS8;
-+		i2d_PKCS8_fp;
-+		PEM_read_bio_PKCS8_PRIV_KEY_INFO;
-+		PEM_read_bio_P8_PRIV_KEY_INFO;
-+		d2i_PKCS8_bio;
-+		d2i_PKCS8_PRIV_KEY_INFO_fp;
-+		PEM_write_bio_PKCS8_PRIV_KEY_INFO;
-+		PEM_write_bio_P8_PRIV_KEY_INFO;
-+		PEM_read_PKCS8;
-+		d2i_PKCS8_PRIV_KEY_INFO_bio;
-+		d2i_PKCS8_fp;
-+		PEM_write_PKCS8;
-+		PEM_read_PKCS8_PRIV_KEY_INFO;
-+		PEM_read_P8_PRIV_KEY_INFO;
-+		PEM_read_bio_PKCS8;
-+		PEM_write_PKCS8_PRIV_KEY_INFO;
-+		PEM_write_P8_PRIV_KEY_INFO;
-+		PKCS5_PBE_keyivgen;
-+		i2d_PKCS8_bio;
-+		i2d_PKCS8_PRIV_KEY_INFO_fp;
-+		i2d_PKCS8_PRIV_KEY_INFO_bio;
-+		BIO_s_bio;
-+		PKCS5_pbe2_set;
-+		PKCS5_PBKDF2_HMAC_SHA1;
-+		PKCS5_v2_PBE_keyivgen;
-+		PEM_write_bio_PKCS8PrivateKey;
-+		PEM_write_PKCS8PrivateKey;
-+		BIO_ctrl_get_read_request;
-+		BIO_ctrl_pending;
-+		BIO_ctrl_wpending;
-+		BIO_new_bio_pair;
-+		BIO_ctrl_get_write_guarantee;
-+		CRYPTO_num_locks;
-+		CONF_load_bio;
-+		CONF_load_fp;
-+		i2d_ASN1_SET_OF_ASN1_OBJECT;
-+		d2i_ASN1_SET_OF_ASN1_OBJECT;
-+		PKCS7_signatureVerify;
-+		RSA_set_method;
-+		RSA_get_method;
-+		RSA_get_default_method;
-+		RSA_check_key;
-+		OBJ_obj2txt;
-+		DSA_dup_DH;
-+		X509_REQ_get_extensions;
-+		X509_REQ_set_extension_nids;
-+		BIO_nwrite;
-+		X509_REQ_extension_nid;
-+		BIO_nread;
-+		X509_REQ_get_extension_nids;
-+		BIO_nwrite0;
-+		X509_REQ_add_extensions_nid;
-+		BIO_nread0;
-+		X509_REQ_add_extensions;
-+		BIO_new_mem_buf;
-+		DH_set_ex_data;
-+		DH_set_method;
-+		DSA_OpenSSL;
-+		DH_get_ex_data;
-+		DH_get_ex_new_index;
-+		DSA_new_method;
-+		DH_new_method;
-+		DH_OpenSSL;
-+		DSA_get_ex_new_index;
-+		DH_get_default_method;
-+		DSA_set_ex_data;
-+		DH_set_default_method;
-+		DSA_get_ex_data;
-+		X509V3_EXT_REQ_add_conf;
-+		NETSCAPE_SPKI_print;
-+		NETSCAPE_SPKI_set_pubkey;
-+		NETSCAPE_SPKI_b64_encode;
-+		NETSCAPE_SPKI_get_pubkey;
-+		NETSCAPE_SPKI_b64_decode;
-+		UTF8_putc;
-+		UTF8_getc;
-+		RSA_null_method;
-+		ASN1_tag2str;
-+		BIO_ctrl_reset_read_request;
-+		DISPLAYTEXT_new;
-+		ASN1_GENERALIZEDTIME_free;
-+		X509_REVOKED_get_ext_d2i;
-+		X509_set_ex_data;
-+		X509_reject_set_bit_asc;
-+		X509_NAME_add_entry_by_txt;
-+		X509_NAME_add_entry_by_NID;
-+		X509_PURPOSE_get0;
-+		PEM_read_X509_AUX;
-+		d2i_AUTHORITY_INFO_ACCESS;
-+		PEM_write_PUBKEY;
-+		ACCESS_DESCRIPTION_new;
-+		X509_CERT_AUX_free;
-+		d2i_ACCESS_DESCRIPTION;
-+		X509_trust_clear;
-+		X509_TRUST_add;
-+		ASN1_VISIBLESTRING_new;
-+		X509_alias_set1;
-+		ASN1_PRINTABLESTRING_free;
-+		EVP_PKEY_get1_DSA;
-+		ASN1_BMPSTRING_new;
-+		ASN1_mbstring_copy;
-+		ASN1_UTF8STRING_new;
-+		DSA_get_default_method;
-+		i2d_ASN1_SET_OF_ACCESS_DESCRIPTION;
-+		ASN1_T61STRING_free;
-+		DSA_set_method;
-+		X509_get_ex_data;
-+		ASN1_STRING_type;
-+		X509_PURPOSE_get_by_sname;
-+		ASN1_TIME_free;
-+		ASN1_OCTET_STRING_cmp;
-+		ASN1_BIT_STRING_new;
-+		X509_get_ext_d2i;
-+		PEM_read_bio_X509_AUX;
-+		ASN1_STRING_set_default_mask_asc;
-+		ASN1_STRING_set_def_mask_asc;
-+		PEM_write_bio_RSA_PUBKEY;
-+		ASN1_INTEGER_cmp;
-+		d2i_RSA_PUBKEY_fp;
-+		X509_trust_set_bit_asc;
-+		PEM_write_bio_DSA_PUBKEY;
-+		X509_STORE_CTX_free;
-+		EVP_PKEY_set1_DSA;
-+		i2d_DSA_PUBKEY_fp;
-+		X509_load_cert_crl_file;
-+		ASN1_TIME_new;
-+		i2d_RSA_PUBKEY;
-+		X509_STORE_CTX_purpose_inherit;
-+		PEM_read_RSA_PUBKEY;
-+		d2i_X509_AUX;
-+		i2d_DSA_PUBKEY;
-+		X509_CERT_AUX_print;
-+		PEM_read_DSA_PUBKEY;
-+		i2d_RSA_PUBKEY_bio;
-+		ASN1_BIT_STRING_num_asc;
-+		i2d_PUBKEY;
-+		ASN1_UTCTIME_free;
-+		DSA_set_default_method;
-+		X509_PURPOSE_get_by_id;
-+		ACCESS_DESCRIPTION_free;
-+		PEM_read_bio_PUBKEY;
-+		ASN1_STRING_set_by_NID;
-+		X509_PURPOSE_get_id;
-+		DISPLAYTEXT_free;
-+		OTHERNAME_new;
-+		X509_CERT_AUX_new;
-+		X509_TRUST_cleanup;
-+		X509_NAME_add_entry_by_OBJ;
-+		X509_CRL_get_ext_d2i;
-+		X509_PURPOSE_get0_name;
-+		PEM_read_PUBKEY;
-+		i2d_DSA_PUBKEY_bio;
-+		i2d_OTHERNAME;
-+		ASN1_OCTET_STRING_free;
-+		ASN1_BIT_STRING_set_asc;
-+		X509_get_ex_new_index;
-+		ASN1_STRING_TABLE_cleanup;
-+		X509_TRUST_get_by_id;
-+		X509_PURPOSE_get_trust;
-+		ASN1_STRING_length;
-+		d2i_ASN1_SET_OF_ACCESS_DESCRIPTION;
-+		ASN1_PRINTABLESTRING_new;
-+		X509V3_get_d2i;
-+		ASN1_ENUMERATED_free;
-+		i2d_X509_CERT_AUX;
-+		X509_STORE_CTX_set_trust;
-+		ASN1_STRING_set_default_mask;
-+		X509_STORE_CTX_new;
-+		EVP_PKEY_get1_RSA;
-+		DIRECTORYSTRING_free;
-+		PEM_write_X509_AUX;
-+		ASN1_OCTET_STRING_set;
-+		d2i_DSA_PUBKEY_fp;
-+		d2i_RSA_PUBKEY;
-+		X509_TRUST_get0_name;
-+		X509_TRUST_get0;
-+		AUTHORITY_INFO_ACCESS_free;
-+		ASN1_IA5STRING_new;
-+		d2i_DSA_PUBKEY;
-+		X509_check_purpose;
-+		ASN1_ENUMERATED_new;
-+		d2i_RSA_PUBKEY_bio;
-+		d2i_PUBKEY;
-+		X509_TRUST_get_trust;
-+		X509_TRUST_get_flags;
-+		ASN1_BMPSTRING_free;
-+		ASN1_T61STRING_new;
-+		ASN1_UTCTIME_new;
-+		i2d_AUTHORITY_INFO_ACCESS;
-+		EVP_PKEY_set1_RSA;
-+		X509_STORE_CTX_set_purpose;
-+		ASN1_IA5STRING_free;
-+		PEM_write_bio_X509_AUX;
-+		X509_PURPOSE_get_count;
-+		CRYPTO_add_info;
-+		X509_NAME_ENTRY_create_by_txt;
-+		ASN1_STRING_get_default_mask;
-+		X509_alias_get0;
-+		ASN1_STRING_data;
-+		i2d_ACCESS_DESCRIPTION;
-+		X509_trust_set_bit;
-+		ASN1_BIT_STRING_free;
-+		PEM_read_bio_RSA_PUBKEY;
-+		X509_add1_reject_object;
-+		X509_check_trust;
-+		PEM_read_bio_DSA_PUBKEY;
-+		X509_PURPOSE_add;
-+		ASN1_STRING_TABLE_get;
-+		ASN1_UTF8STRING_free;
-+		d2i_DSA_PUBKEY_bio;
-+		PEM_write_RSA_PUBKEY;
-+		d2i_OTHERNAME;
-+		X509_reject_set_bit;
-+		PEM_write_DSA_PUBKEY;
-+		X509_PURPOSE_get0_sname;
-+		EVP_PKEY_set1_DH;
-+		ASN1_OCTET_STRING_dup;
-+		ASN1_BIT_STRING_set;
-+		X509_TRUST_get_count;
-+		ASN1_INTEGER_free;
-+		OTHERNAME_free;
-+		i2d_RSA_PUBKEY_fp;
-+		ASN1_INTEGER_dup;
-+		d2i_X509_CERT_AUX;
-+		PEM_write_bio_PUBKEY;
-+		ASN1_VISIBLESTRING_free;
-+		X509_PURPOSE_cleanup;
-+		ASN1_mbstring_ncopy;
-+		ASN1_GENERALIZEDTIME_new;
-+		EVP_PKEY_get1_DH;
-+		ASN1_OCTET_STRING_new;
-+		ASN1_INTEGER_new;
-+		i2d_X509_AUX;
-+		ASN1_BIT_STRING_name_print;
-+		X509_cmp;
-+		ASN1_STRING_length_set;
-+		DIRECTORYSTRING_new;
-+		X509_add1_trust_object;
-+		PKCS12_newpass;
-+		SMIME_write_PKCS7;
-+		SMIME_read_PKCS7;
-+		DES_set_key_checked;
-+		PKCS7_verify;
-+		PKCS7_encrypt;
-+		DES_set_key_unchecked;
-+		SMIME_crlf_copy;
-+		i2d_ASN1_PRINTABLESTRING;
-+		PKCS7_get0_signers;
-+		PKCS7_decrypt;
-+		SMIME_text;
-+		PKCS7_simple_smimecap;
-+		PKCS7_get_smimecap;
-+		PKCS7_sign;
-+		PKCS7_add_attrib_smimecap;
-+		CRYPTO_dbg_set_options;
-+		CRYPTO_remove_all_info;
-+		CRYPTO_get_mem_debug_functions;
-+		CRYPTO_is_mem_check_on;
-+		CRYPTO_set_mem_debug_functions;
-+		CRYPTO_pop_info;
-+		CRYPTO_push_info_;
-+		CRYPTO_set_mem_debug_options;
-+		PEM_write_PKCS8PrivateKey_nid;
-+		PEM_write_bio_PKCS8PrivateKey_nid;
-+		PEM_write_bio_PKCS8PrivKey_nid;
-+		d2i_PKCS8PrivateKey_bio;
-+		ASN1_NULL_free;
-+		d2i_ASN1_NULL;
-+		ASN1_NULL_new;
-+		i2d_PKCS8PrivateKey_bio;
-+		i2d_PKCS8PrivateKey_fp;
-+		i2d_ASN1_NULL;
-+		i2d_PKCS8PrivateKey_nid_fp;
-+		d2i_PKCS8PrivateKey_fp;
-+		i2d_PKCS8PrivateKey_nid_bio;
-+		i2d_PKCS8PrivateKeyInfo_fp;
-+		i2d_PKCS8PrivateKeyInfo_bio;
-+		PEM_cb;
-+		i2d_PrivateKey_fp;
-+		d2i_PrivateKey_bio;
-+		d2i_PrivateKey_fp;
-+		i2d_PrivateKey_bio;
-+		X509_reject_clear;
-+		X509_TRUST_set_default;
-+		d2i_AutoPrivateKey;
-+		X509_ATTRIBUTE_get0_type;
-+		X509_ATTRIBUTE_set1_data;
-+		X509at_get_attr;
-+		X509at_get_attr_count;
-+		X509_ATTRIBUTE_create_by_NID;
-+		X509_ATTRIBUTE_set1_object;
-+		X509_ATTRIBUTE_count;
-+		X509_ATTRIBUTE_create_by_OBJ;
-+		X509_ATTRIBUTE_get0_object;
-+		X509at_get_attr_by_NID;
-+		X509at_add1_attr;
-+		X509_ATTRIBUTE_get0_data;
-+		X509at_delete_attr;
-+		X509at_get_attr_by_OBJ;
-+		RAND_add;
-+		BIO_number_written;
-+		BIO_number_read;
-+		X509_STORE_CTX_get1_chain;
-+		ERR_load_RAND_strings;
-+		RAND_pseudo_bytes;
-+		X509_REQ_get_attr_by_NID;
-+		X509_REQ_get_attr;
-+		X509_REQ_add1_attr_by_NID;
-+		X509_REQ_get_attr_by_OBJ;
-+		X509at_add1_attr_by_NID;
-+		X509_REQ_add1_attr_by_OBJ;
-+		X509_REQ_get_attr_count;
-+		X509_REQ_add1_attr;
-+		X509_REQ_delete_attr;
-+		X509at_add1_attr_by_OBJ;
-+		X509_REQ_add1_attr_by_txt;
-+		X509_ATTRIBUTE_create_by_txt;
-+		X509at_add1_attr_by_txt;
-+		BN_pseudo_rand;
-+		BN_is_prime_fasttest;
-+		BN_CTX_end;
-+		BN_CTX_start;
-+		BN_CTX_get;
-+		EVP_PKEY2PKCS8_broken;
-+		ASN1_STRING_TABLE_add;
-+		CRYPTO_dbg_get_options;
-+		AUTHORITY_INFO_ACCESS_new;
-+		CRYPTO_get_mem_debug_options;
-+		DES_crypt;
-+		PEM_write_bio_X509_REQ_NEW;
-+		PEM_write_X509_REQ_NEW;
-+		BIO_callback_ctrl;
-+		RAND_egd;
-+		RAND_status;
-+		bn_dump1;
-+		DES_check_key_parity;
-+		lh_num_items;
-+		RAND_event;
-+		DSO_new;
-+		DSO_new_method;
-+		DSO_free;
-+		DSO_flags;
-+		DSO_up;
-+		DSO_set_default_method;
-+		DSO_get_default_method;
-+		DSO_get_method;
-+		DSO_set_method;
-+		DSO_load;
-+		DSO_bind_var;
-+		DSO_METHOD_null;
-+		DSO_METHOD_openssl;
-+		DSO_METHOD_dlfcn;
-+		DSO_METHOD_win32;
-+		ERR_load_DSO_strings;
-+		DSO_METHOD_dl;
-+		NCONF_load;
-+		NCONF_load_fp;
-+		NCONF_new;
-+		NCONF_get_string;
-+		NCONF_free;
-+		NCONF_get_number;
-+		CONF_dump_fp;
-+		NCONF_load_bio;
-+		NCONF_dump_fp;
-+		NCONF_get_section;
-+		NCONF_dump_bio;
-+		CONF_dump_bio;
-+		NCONF_free_data;
-+		CONF_set_default_method;
-+		ERR_error_string_n;
-+		BIO_snprintf;
-+		DSO_ctrl;
-+		i2d_ASN1_SET_OF_ASN1_INTEGER;
-+		i2d_ASN1_SET_OF_PKCS12_SAFEBAG;
-+		i2d_ASN1_SET_OF_PKCS7;
-+		BIO_vfree;
-+		d2i_ASN1_SET_OF_ASN1_INTEGER;
-+		d2i_ASN1_SET_OF_PKCS12_SAFEBAG;
-+		ASN1_UTCTIME_get;
-+		X509_REQ_digest;
-+		X509_CRL_digest;
-+		d2i_ASN1_SET_OF_PKCS7;
-+		EVP_CIPHER_CTX_set_key_length;
-+		EVP_CIPHER_CTX_ctrl;
-+		BN_mod_exp_mont_word;
-+		RAND_egd_bytes;
-+		X509_REQ_get1_email;
-+		X509_get1_email;
-+		X509_email_free;
-+		i2d_RSA_NET;
-+		d2i_RSA_NET_2;
-+		d2i_RSA_NET;
-+		DSO_bind_func;
-+		CRYPTO_get_new_dynlockid;
-+		sk_new_null;
-+		CRYPTO_set_dynlock_destroy_callback;
-+		CRYPTO_set_dynlock_destroy_cb;
-+		CRYPTO_destroy_dynlockid;
-+		CRYPTO_set_dynlock_size;
-+		CRYPTO_set_dynlock_create_callback;
-+		CRYPTO_set_dynlock_create_cb;
-+		CRYPTO_set_dynlock_lock_callback;
-+		CRYPTO_set_dynlock_lock_cb;
-+		CRYPTO_get_dynlock_lock_callback;
-+		CRYPTO_get_dynlock_lock_cb;
-+		CRYPTO_get_dynlock_destroy_callback;
-+		CRYPTO_get_dynlock_destroy_cb;
-+		CRYPTO_get_dynlock_value;
-+		CRYPTO_get_dynlock_create_callback;
-+		CRYPTO_get_dynlock_create_cb;
-+		c2i_ASN1_BIT_STRING;
-+		i2c_ASN1_BIT_STRING;
-+		RAND_poll;
-+		c2i_ASN1_INTEGER;
-+		i2c_ASN1_INTEGER;
-+		BIO_dump_indent;
-+		ASN1_parse_dump;
-+		c2i_ASN1_OBJECT;
-+		X509_NAME_print_ex_fp;
-+		ASN1_STRING_print_ex_fp;
-+		X509_NAME_print_ex;
-+		ASN1_STRING_print_ex;
-+		MD4;
-+		MD4_Transform;
-+		MD4_Final;
-+		MD4_Update;
-+		MD4_Init;
-+		EVP_md4;
-+		i2d_PUBKEY_bio;
-+		i2d_PUBKEY_fp;
-+		d2i_PUBKEY_bio;
-+		ASN1_STRING_to_UTF8;
-+		BIO_vprintf;
-+		BIO_vsnprintf;
-+		d2i_PUBKEY_fp;
-+		X509_cmp_time;
-+		X509_STORE_CTX_set_time;
-+		X509_STORE_CTX_get1_issuer;
-+		X509_OBJECT_retrieve_match;
-+		X509_OBJECT_idx_by_subject;
-+		X509_STORE_CTX_set_flags;
-+		X509_STORE_CTX_trusted_stack;
-+		X509_time_adj;
-+		X509_check_issued;
-+		ASN1_UTCTIME_cmp_time_t;
-+		DES_set_weak_key_flag;
-+		DES_check_key;
-+		DES_rw_mode;
-+		RSA_PKCS1_RSAref;
-+		X509_keyid_set1;
-+		BIO_next;
-+		DSO_METHOD_vms;
-+		BIO_f_linebuffer;
-+		BN_bntest_rand;
-+		OPENSSL_issetugid;
-+		BN_rand_range;
-+		ERR_load_ENGINE_strings;
-+		ENGINE_set_DSA;
-+		ENGINE_get_finish_function;
-+		ENGINE_get_default_RSA;
-+		ENGINE_get_BN_mod_exp;
-+		DSA_get_default_openssl_method;
-+		ENGINE_set_DH;
-+		ENGINE_set_def_BN_mod_exp_crt;
-+		ENGINE_set_default_BN_mod_exp_crt;
-+		ENGINE_init;
-+		DH_get_default_openssl_method;
-+		RSA_set_default_openssl_method;
-+		ENGINE_finish;
-+		ENGINE_load_public_key;
-+		ENGINE_get_DH;
-+		ENGINE_ctrl;
-+		ENGINE_get_init_function;
-+		ENGINE_set_init_function;
-+		ENGINE_set_default_DSA;
-+		ENGINE_get_name;
-+		ENGINE_get_last;
-+		ENGINE_get_prev;
-+		ENGINE_get_default_DH;
-+		ENGINE_get_RSA;
-+		ENGINE_set_default;
-+		ENGINE_get_RAND;
-+		ENGINE_get_first;
-+		ENGINE_by_id;
-+		ENGINE_set_finish_function;
-+		ENGINE_get_def_BN_mod_exp_crt;
-+		ENGINE_get_default_BN_mod_exp_crt;
-+		RSA_get_default_openssl_method;
-+		ENGINE_set_RSA;
-+		ENGINE_load_private_key;
-+		ENGINE_set_default_RAND;
-+		ENGINE_set_BN_mod_exp;
-+		ENGINE_remove;
-+		ENGINE_free;
-+		ENGINE_get_BN_mod_exp_crt;
-+		ENGINE_get_next;
-+		ENGINE_set_name;
-+		ENGINE_get_default_DSA;
-+		ENGINE_set_default_BN_mod_exp;
-+		ENGINE_set_default_RSA;
-+		ENGINE_get_default_RAND;
-+		ENGINE_get_default_BN_mod_exp;
-+		ENGINE_set_RAND;
-+		ENGINE_set_id;
-+		ENGINE_set_BN_mod_exp_crt;
-+		ENGINE_set_default_DH;
-+		ENGINE_new;
-+		ENGINE_get_id;
-+		DSA_set_default_openssl_method;
-+		ENGINE_add;
-+		DH_set_default_openssl_method;
-+		ENGINE_get_DSA;
-+		ENGINE_get_ctrl_function;
-+		ENGINE_set_ctrl_function;
-+		BN_pseudo_rand_range;
-+		X509_STORE_CTX_set_verify_cb;
-+		ERR_load_COMP_strings;
-+		PKCS12_item_decrypt_d2i;
-+		ASN1_UTF8STRING_it;
-+		ENGINE_unregister_ciphers;
-+		ENGINE_get_ciphers;
-+		d2i_OCSP_BASICRESP;
-+		KRB5_CHECKSUM_it;
-+		EC_POINT_add;
-+		ASN1_item_ex_i2d;
-+		OCSP_CERTID_it;
-+		d2i_OCSP_RESPBYTES;
-+		X509V3_add1_i2d;
-+		PKCS7_ENVELOPE_it;
-+		UI_add_input_boolean;
-+		ENGINE_unregister_RSA;
-+		X509V3_EXT_nconf;
-+		ASN1_GENERALSTRING_free;
-+		d2i_OCSP_CERTSTATUS;
-+		X509_REVOKED_set_serialNumber;
-+		X509_print_ex;
-+		OCSP_ONEREQ_get1_ext_d2i;
-+		ENGINE_register_all_RAND;
-+		ENGINE_load_dynamic;
-+		PBKDF2PARAM_it;
-+		EXTENDED_KEY_USAGE_new;
-+		EC_GROUP_clear_free;
-+		OCSP_sendreq_bio;
-+		ASN1_item_digest;
-+		OCSP_BASICRESP_delete_ext;
-+		OCSP_SIGNATURE_it;
-+		X509_CRL_it;
-+		OCSP_BASICRESP_add_ext;
-+		KRB5_ENCKEY_it;
-+		UI_method_set_closer;
-+		X509_STORE_set_purpose;
-+		i2d_ASN1_GENERALSTRING;
-+		OCSP_response_status;
-+		i2d_OCSP_SERVICELOC;
-+		ENGINE_get_digest_engine;
-+		EC_GROUP_set_curve_GFp;
-+		OCSP_REQUEST_get_ext_by_OBJ;
-+		_ossl_old_des_random_key;
-+		ASN1_T61STRING_it;
-+		EC_GROUP_method_of;
-+		i2d_KRB5_APREQ;
-+		_ossl_old_des_encrypt;
-+		ASN1_PRINTABLE_new;
-+		HMAC_Init_ex;
-+		d2i_KRB5_AUTHENT;
-+		OCSP_archive_cutoff_new;
-+		EC_POINT_set_Jprojective_coordinates_GFp;
-+		EC_POINT_set_Jproj_coords_GFp;
-+		_ossl_old_des_is_weak_key;
-+		OCSP_BASICRESP_get_ext_by_OBJ;
-+		EC_POINT_oct2point;
-+		OCSP_SINGLERESP_get_ext_count;
-+		UI_ctrl;
-+		_shadow_DES_rw_mode;
-+		asn1_do_adb;
-+		ASN1_template_i2d;
-+		ENGINE_register_DH;
-+		UI_construct_prompt;
-+		X509_STORE_set_trust;
-+		UI_dup_input_string;
-+		d2i_KRB5_APREQ;
-+		EVP_MD_CTX_copy_ex;
-+		OCSP_request_is_signed;
-+		i2d_OCSP_REQINFO;
-+		KRB5_ENCKEY_free;
-+		OCSP_resp_get0;
-+		GENERAL_NAME_it;
-+		ASN1_GENERALIZEDTIME_it;
-+		X509_STORE_set_flags;
-+		EC_POINT_set_compressed_coordinates_GFp;
-+		EC_POINT_set_compr_coords_GFp;
-+		OCSP_response_status_str;
-+		d2i_OCSP_REVOKEDINFO;
-+		OCSP_basic_add1_cert;
-+		ERR_get_implementation;
-+		EVP_CipherFinal_ex;
-+		OCSP_CERTSTATUS_new;
-+		CRYPTO_cleanup_all_ex_data;
-+		OCSP_resp_find;
-+		BN_nnmod;
-+		X509_CRL_sort;
-+		X509_REVOKED_set_revocationDate;
-+		ENGINE_register_RAND;
-+		OCSP_SERVICELOC_new;
-+		EC_POINT_set_affine_coordinates_GFp;
-+		EC_POINT_set_affine_coords_GFp;
-+		_ossl_old_des_options;
-+		SXNET_it;
-+		UI_dup_input_boolean;
-+		PKCS12_add_CSPName_asc;
-+		EC_POINT_is_at_infinity;
-+		ENGINE_load_cryptodev;
-+		DSO_convert_filename;
-+		POLICYQUALINFO_it;
-+		ENGINE_register_ciphers;
-+		BN_mod_lshift_quick;
-+		DSO_set_filename;
-+		ASN1_item_free;
-+		KRB5_TKTBODY_free;
-+		AUTHORITY_KEYID_it;
-+		KRB5_APREQBODY_new;
-+		X509V3_EXT_REQ_add_nconf;
-+		ENGINE_ctrl_cmd_string;
-+		i2d_OCSP_RESPDATA;
-+		EVP_MD_CTX_init;
-+		EXTENDED_KEY_USAGE_free;
-+		PKCS7_ATTR_SIGN_it;
-+		UI_add_error_string;
-+		KRB5_CHECKSUM_free;
-+		OCSP_REQUEST_get_ext;
-+		ENGINE_load_ubsec;
-+		ENGINE_register_all_digests;
-+		PKEY_USAGE_PERIOD_it;
-+		PKCS12_unpack_authsafes;
-+		ASN1_item_unpack;
-+		NETSCAPE_SPKAC_it;
-+		X509_REVOKED_it;
-+		ASN1_STRING_encode;
-+		EVP_aes_128_ecb;
-+		KRB5_AUTHENT_free;
-+		OCSP_BASICRESP_get_ext_by_critical;
-+		OCSP_BASICRESP_get_ext_by_crit;
-+		OCSP_cert_status_str;
-+		d2i_OCSP_REQUEST;
-+		UI_dup_info_string;
-+		_ossl_old_des_xwhite_in2out;
-+		PKCS12_it;
-+		OCSP_SINGLERESP_get_ext_by_critical;
-+		OCSP_SINGLERESP_get_ext_by_crit;
-+		OCSP_CERTSTATUS_free;
-+		_ossl_old_des_crypt;
-+		ASN1_item_i2d;
-+		EVP_DecryptFinal_ex;
-+		ENGINE_load_openssl;
-+		ENGINE_get_cmd_defns;
-+		ENGINE_set_load_privkey_function;
-+		ENGINE_set_load_privkey_fn;
-+		EVP_EncryptFinal_ex;
-+		ENGINE_set_default_digests;
-+		X509_get0_pubkey_bitstr;
-+		asn1_ex_i2c;
-+		ENGINE_register_RSA;
-+		ENGINE_unregister_DSA;
-+		_ossl_old_des_key_sched;
-+		X509_EXTENSION_it;
-+		i2d_KRB5_AUTHENT;
-+		SXNETID_it;
-+		d2i_OCSP_SINGLERESP;
-+		EDIPARTYNAME_new;
-+		PKCS12_certbag2x509;
-+		_ossl_old_des_ofb64_encrypt;
-+		d2i_EXTENDED_KEY_USAGE;
-+		ERR_print_errors_cb;
-+		ENGINE_set_ciphers;
-+		d2i_KRB5_APREQBODY;
-+		UI_method_get_flusher;
-+		X509_PUBKEY_it;
-+		_ossl_old_des_enc_read;
-+		PKCS7_ENCRYPT_it;
-+		i2d_OCSP_RESPONSE;
-+		EC_GROUP_get_cofactor;
-+		PKCS12_unpack_p7data;
-+		d2i_KRB5_AUTHDATA;
-+		OCSP_copy_nonce;
-+		KRB5_AUTHDATA_new;
-+		OCSP_RESPDATA_new;
-+		EC_GFp_mont_method;
-+		OCSP_REVOKEDINFO_free;
-+		UI_get_ex_data;
-+		KRB5_APREQBODY_free;
-+		EC_GROUP_get0_generator;
-+		UI_get_default_method;
-+		X509V3_set_nconf;
-+		PKCS12_item_i2d_encrypt;
-+		X509_add1_ext_i2d;
-+		PKCS7_SIGNER_INFO_it;
-+		KRB5_PRINCNAME_new;
-+		PKCS12_SAFEBAG_it;
-+		EC_GROUP_get_order;
-+		d2i_OCSP_RESPID;
-+		OCSP_request_verify;
-+		NCONF_get_number_e;
-+		_ossl_old_des_decrypt3;
-+		X509_signature_print;
-+		OCSP_SINGLERESP_free;
-+		ENGINE_load_builtin_engines;
-+		i2d_OCSP_ONEREQ;
-+		OCSP_REQUEST_add_ext;
-+		OCSP_RESPBYTES_new;
-+		EVP_MD_CTX_create;
-+		OCSP_resp_find_status;
-+		X509_ALGOR_it;
-+		ASN1_TIME_it;
-+		OCSP_request_set1_name;
-+		OCSP_ONEREQ_get_ext_count;
-+		UI_get0_result;
-+		PKCS12_AUTHSAFES_it;
-+		EVP_aes_256_ecb;
-+		PKCS12_pack_authsafes;
-+		ASN1_IA5STRING_it;
-+		UI_get_input_flags;
-+		EC_GROUP_set_generator;
-+		_ossl_old_des_string_to_2keys;
-+		OCSP_CERTID_free;
-+		X509_CERT_AUX_it;
-+		CERTIFICATEPOLICIES_it;
-+		_ossl_old_des_ede3_cbc_encrypt;
-+		RAND_set_rand_engine;
-+		DSO_get_loaded_filename;
-+		X509_ATTRIBUTE_it;
-+		OCSP_ONEREQ_get_ext_by_NID;
-+		PKCS12_decrypt_skey;
-+		KRB5_AUTHENT_it;
-+		UI_dup_error_string;
-+		RSAPublicKey_it;
-+		i2d_OCSP_REQUEST;
-+		PKCS12_x509crl2certbag;
-+		OCSP_SERVICELOC_it;
-+		ASN1_item_sign;
-+		X509_CRL_set_issuer_name;
-+		OBJ_NAME_do_all_sorted;
-+		i2d_OCSP_BASICRESP;
-+		i2d_OCSP_RESPBYTES;
-+		PKCS12_unpack_p7encdata;
-+		HMAC_CTX_init;
-+		ENGINE_get_digest;
-+		OCSP_RESPONSE_print;
-+		KRB5_TKTBODY_it;
-+		ACCESS_DESCRIPTION_it;
-+		PKCS7_ISSUER_AND_SERIAL_it;
-+		PBE2PARAM_it;
-+		PKCS12_certbag2x509crl;
-+		PKCS7_SIGNED_it;
-+		ENGINE_get_cipher;
-+		i2d_OCSP_CRLID;
-+		OCSP_SINGLERESP_new;
-+		ENGINE_cmd_is_executable;
-+		RSA_up_ref;
-+		ASN1_GENERALSTRING_it;
-+		ENGINE_register_DSA;
-+		X509V3_EXT_add_nconf_sk;
-+		ENGINE_set_load_pubkey_function;
-+		PKCS8_decrypt;
-+		PEM_bytes_read_bio;
-+		DIRECTORYSTRING_it;
-+		d2i_OCSP_CRLID;
-+		EC_POINT_is_on_curve;
-+		CRYPTO_set_locked_mem_ex_functions;
-+		CRYPTO_set_locked_mem_ex_funcs;
-+		d2i_KRB5_CHECKSUM;
-+		ASN1_item_dup;
-+		X509_it;
-+		BN_mod_add;
-+		KRB5_AUTHDATA_free;
-+		_ossl_old_des_cbc_cksum;
-+		ASN1_item_verify;
-+		CRYPTO_set_mem_ex_functions;
-+		EC_POINT_get_Jprojective_coordinates_GFp;
-+		EC_POINT_get_Jproj_coords_GFp;
-+		ZLONG_it;
-+		CRYPTO_get_locked_mem_ex_functions;
-+		CRYPTO_get_locked_mem_ex_funcs;
-+		ASN1_TIME_check;
-+		UI_get0_user_data;
-+		HMAC_CTX_cleanup;
-+		DSA_up_ref;
-+		_ossl_old_des_ede3_cfb64_encrypt;
-+		_ossl_odes_ede3_cfb64_encrypt;
-+		ASN1_BMPSTRING_it;
-+		ASN1_tag2bit;
-+		UI_method_set_flusher;
-+		X509_ocspid_print;
-+		KRB5_ENCDATA_it;
-+		ENGINE_get_load_pubkey_function;
-+		UI_add_user_data;
-+		OCSP_REQUEST_delete_ext;
-+		UI_get_method;
-+		OCSP_ONEREQ_free;
-+		ASN1_PRINTABLESTRING_it;
-+		X509_CRL_set_nextUpdate;
-+		OCSP_REQUEST_it;
-+		OCSP_BASICRESP_it;
-+		AES_ecb_encrypt;
-+		BN_mod_sqr;
-+		NETSCAPE_CERT_SEQUENCE_it;
-+		GENERAL_NAMES_it;
-+		AUTHORITY_INFO_ACCESS_it;
-+		ASN1_FBOOLEAN_it;
-+		UI_set_ex_data;
-+		_ossl_old_des_string_to_key;
-+		ENGINE_register_all_RSA;
-+		d2i_KRB5_PRINCNAME;
-+		OCSP_RESPBYTES_it;
-+		X509_CINF_it;
-+		ENGINE_unregister_digests;
-+		d2i_EDIPARTYNAME;
-+		d2i_OCSP_SERVICELOC;
-+		ENGINE_get_digests;
-+		_ossl_old_des_set_odd_parity;
-+		OCSP_RESPDATA_free;
-+		d2i_KRB5_TICKET;
-+		OTHERNAME_it;
-+		EVP_MD_CTX_cleanup;
-+		d2i_ASN1_GENERALSTRING;
-+		X509_CRL_set_version;
-+		BN_mod_sub;
-+		OCSP_SINGLERESP_get_ext_by_NID;
-+		ENGINE_get_ex_new_index;
-+		OCSP_REQUEST_free;
-+		OCSP_REQUEST_add1_ext_i2d;
-+		X509_VAL_it;
-+		EC_POINTs_make_affine;
-+		EC_POINT_mul;
-+		X509V3_EXT_add_nconf;
-+		X509_TRUST_set;
-+		X509_CRL_add1_ext_i2d;
-+		_ossl_old_des_fcrypt;
-+		DISPLAYTEXT_it;
-+		X509_CRL_set_lastUpdate;
-+		OCSP_BASICRESP_free;
-+		OCSP_BASICRESP_add1_ext_i2d;
-+		d2i_KRB5_AUTHENTBODY;
-+		CRYPTO_set_ex_data_implementation;
-+		CRYPTO_set_ex_data_impl;
-+		KRB5_ENCDATA_new;
-+		DSO_up_ref;
-+		OCSP_crl_reason_str;
-+		UI_get0_result_string;
-+		ASN1_GENERALSTRING_new;
-+		X509_SIG_it;
-+		ERR_set_implementation;
-+		ERR_load_EC_strings;
-+		UI_get0_action_string;
-+		OCSP_ONEREQ_get_ext;
-+		EC_POINT_method_of;
-+		i2d_KRB5_APREQBODY;
-+		_ossl_old_des_ecb3_encrypt;
-+		CRYPTO_get_mem_ex_functions;
-+		ENGINE_get_ex_data;
-+		UI_destroy_method;
-+		ASN1_item_i2d_bio;
-+		OCSP_ONEREQ_get_ext_by_OBJ;
-+		ASN1_primitive_new;
-+		ASN1_PRINTABLE_it;
-+		EVP_aes_192_ecb;
-+		OCSP_SIGNATURE_new;
-+		LONG_it;
-+		ASN1_VISIBLESTRING_it;
-+		OCSP_SINGLERESP_add1_ext_i2d;
-+		d2i_OCSP_CERTID;
-+		ASN1_item_d2i_fp;
-+		CRL_DIST_POINTS_it;
-+		GENERAL_NAME_print;
-+		OCSP_SINGLERESP_delete_ext;
-+		PKCS12_SAFEBAGS_it;
-+		d2i_OCSP_SIGNATURE;
-+		OCSP_request_add1_nonce;
-+		ENGINE_set_cmd_defns;
-+		OCSP_SERVICELOC_free;
-+		EC_GROUP_free;
-+		ASN1_BIT_STRING_it;
-+		X509_REQ_it;
-+		_ossl_old_des_cbc_encrypt;
-+		ERR_unload_strings;
-+		PKCS7_SIGN_ENVELOPE_it;
-+		EDIPARTYNAME_free;
-+		OCSP_REQINFO_free;
-+		EC_GROUP_new_curve_GFp;
-+		OCSP_REQUEST_get1_ext_d2i;
-+		PKCS12_item_pack_safebag;
-+		asn1_ex_c2i;
-+		ENGINE_register_digests;
-+		i2d_OCSP_REVOKEDINFO;
-+		asn1_enc_restore;
-+		UI_free;
-+		UI_new_method;
-+		EVP_EncryptInit_ex;
-+		X509_pubkey_digest;
-+		EC_POINT_invert;
-+		OCSP_basic_sign;
-+		i2d_OCSP_RESPID;
-+		OCSP_check_nonce;
-+		ENGINE_ctrl_cmd;
-+		d2i_KRB5_ENCKEY;
-+		OCSP_parse_url;
-+		OCSP_SINGLERESP_get_ext;
-+		OCSP_CRLID_free;
-+		OCSP_BASICRESP_get1_ext_d2i;
-+		RSAPrivateKey_it;
-+		ENGINE_register_all_DH;
-+		i2d_EDIPARTYNAME;
-+		EC_POINT_get_affine_coordinates_GFp;
-+		EC_POINT_get_affine_coords_GFp;
-+		OCSP_CRLID_new;
-+		ENGINE_get_flags;
-+		OCSP_ONEREQ_it;
-+		UI_process;
-+		ASN1_INTEGER_it;
-+		EVP_CipherInit_ex;
-+		UI_get_string_type;
-+		ENGINE_unregister_DH;
-+		ENGINE_register_all_DSA;
-+		OCSP_ONEREQ_get_ext_by_critical;
-+		bn_dup_expand;
-+		OCSP_cert_id_new;
-+		BASIC_CONSTRAINTS_it;
-+		BN_mod_add_quick;
-+		EC_POINT_new;
-+		EVP_MD_CTX_destroy;
-+		OCSP_RESPBYTES_free;
-+		EVP_aes_128_cbc;
-+		OCSP_SINGLERESP_get1_ext_d2i;
-+		EC_POINT_free;
-+		DH_up_ref;
-+		X509_NAME_ENTRY_it;
-+		UI_get_ex_new_index;
-+		BN_mod_sub_quick;
-+		OCSP_ONEREQ_add_ext;
-+		OCSP_request_sign;
-+		EVP_DigestFinal_ex;
-+		ENGINE_set_digests;
-+		OCSP_id_issuer_cmp;
-+		OBJ_NAME_do_all;
-+		EC_POINTs_mul;
-+		ENGINE_register_complete;
-+		X509V3_EXT_nconf_nid;
-+		ASN1_SEQUENCE_it;
-+		UI_set_default_method;
-+		RAND_query_egd_bytes;
-+		UI_method_get_writer;
-+		UI_OpenSSL;
-+		PEM_def_callback;
-+		ENGINE_cleanup;
-+		DIST_POINT_it;
-+		OCSP_SINGLERESP_it;
-+		d2i_KRB5_TKTBODY;
-+		EC_POINT_cmp;
-+		OCSP_REVOKEDINFO_new;
-+		i2d_OCSP_CERTSTATUS;
-+		OCSP_basic_add1_nonce;
-+		ASN1_item_ex_d2i;
-+		BN_mod_lshift1_quick;
-+		UI_set_method;
-+		OCSP_id_get0_info;
-+		BN_mod_sqrt;
-+		EC_GROUP_copy;
-+		KRB5_ENCDATA_free;
-+		_ossl_old_des_cfb_encrypt;
-+		OCSP_SINGLERESP_get_ext_by_OBJ;
-+		OCSP_cert_to_id;
-+		OCSP_RESPID_new;
-+		OCSP_RESPDATA_it;
-+		d2i_OCSP_RESPDATA;
-+		ENGINE_register_all_complete;
-+		OCSP_check_validity;
-+		PKCS12_BAGS_it;
-+		OCSP_url_svcloc_new;
-+		ASN1_template_free;
-+		OCSP_SINGLERESP_add_ext;
-+		KRB5_AUTHENTBODY_it;
-+		X509_supported_extension;
-+		i2d_KRB5_AUTHDATA;
-+		UI_method_get_opener;
-+		ENGINE_set_ex_data;
-+		OCSP_REQUEST_print;
-+		CBIGNUM_it;
-+		KRB5_TICKET_new;
-+		KRB5_APREQ_new;
-+		EC_GROUP_get_curve_GFp;
-+		KRB5_ENCKEY_new;
-+		ASN1_template_d2i;
-+		_ossl_old_des_quad_cksum;
-+		OCSP_single_get0_status;
-+		BN_swap;
-+		POLICYINFO_it;
-+		ENGINE_set_destroy_function;
-+		asn1_enc_free;
-+		OCSP_RESPID_it;
-+		EC_GROUP_new;
-+		EVP_aes_256_cbc;
-+		i2d_KRB5_PRINCNAME;
-+		_ossl_old_des_encrypt2;
-+		_ossl_old_des_encrypt3;
-+		PKCS8_PRIV_KEY_INFO_it;
-+		OCSP_REQINFO_it;
-+		PBEPARAM_it;
-+		KRB5_AUTHENTBODY_new;
-+		X509_CRL_add0_revoked;
-+		EDIPARTYNAME_it;
-+		NETSCAPE_SPKI_it;
-+		UI_get0_test_string;
-+		ENGINE_get_cipher_engine;
-+		ENGINE_register_all_ciphers;
-+		EC_POINT_copy;
-+		BN_kronecker;
-+		_ossl_old_des_ede3_ofb64_encrypt;
-+		_ossl_odes_ede3_ofb64_encrypt;
-+		UI_method_get_reader;
-+		OCSP_BASICRESP_get_ext_count;
-+		ASN1_ENUMERATED_it;
-+		UI_set_result;
-+		i2d_KRB5_TICKET;
-+		X509_print_ex_fp;
-+		EVP_CIPHER_CTX_set_padding;
-+		d2i_OCSP_RESPONSE;
-+		ASN1_UTCTIME_it;
-+		_ossl_old_des_enc_write;
-+		OCSP_RESPONSE_new;
-+		AES_set_encrypt_key;
-+		OCSP_resp_count;
-+		KRB5_CHECKSUM_new;
-+		ENGINE_load_cswift;
-+		OCSP_onereq_get0_id;
-+		ENGINE_set_default_ciphers;
-+		NOTICEREF_it;
-+		X509V3_EXT_CRL_add_nconf;
-+		OCSP_REVOKEDINFO_it;
-+		AES_encrypt;
-+		OCSP_REQUEST_new;
-+		ASN1_ANY_it;
-+		CRYPTO_ex_data_new_class;
-+		_ossl_old_des_ncbc_encrypt;
-+		i2d_KRB5_TKTBODY;
-+		EC_POINT_clear_free;
-+		AES_decrypt;
-+		asn1_enc_init;
-+		UI_get_result_maxsize;
-+		OCSP_CERTID_new;
-+		ENGINE_unregister_RAND;
-+		UI_method_get_closer;
-+		d2i_KRB5_ENCDATA;
-+		OCSP_request_onereq_count;
-+		OCSP_basic_verify;
-+		KRB5_AUTHENTBODY_free;
-+		ASN1_item_d2i;
-+		ASN1_primitive_free;
-+		i2d_EXTENDED_KEY_USAGE;
-+		i2d_OCSP_SIGNATURE;
-+		asn1_enc_save;
-+		ENGINE_load_nuron;
-+		_ossl_old_des_pcbc_encrypt;
-+		PKCS12_MAC_DATA_it;
-+		OCSP_accept_responses_new;
-+		asn1_do_lock;
-+		PKCS7_ATTR_VERIFY_it;
-+		KRB5_APREQBODY_it;
-+		i2d_OCSP_SINGLERESP;
-+		ASN1_item_ex_new;
-+		UI_add_verify_string;
-+		_ossl_old_des_set_key;
-+		KRB5_PRINCNAME_it;
-+		EVP_DecryptInit_ex;
-+		i2d_OCSP_CERTID;
-+		ASN1_item_d2i_bio;
-+		EC_POINT_dbl;
-+		asn1_get_choice_selector;
-+		i2d_KRB5_CHECKSUM;
-+		ENGINE_set_table_flags;
-+		AES_options;
-+		ENGINE_load_chil;
-+		OCSP_id_cmp;
-+		OCSP_BASICRESP_new;
-+		OCSP_REQUEST_get_ext_by_NID;
-+		KRB5_APREQ_it;
-+		ENGINE_get_destroy_function;
-+		CONF_set_nconf;
-+		ASN1_PRINTABLE_free;
-+		OCSP_BASICRESP_get_ext_by_NID;
-+		DIST_POINT_NAME_it;
-+		X509V3_extensions_print;
-+		_ossl_old_des_cfb64_encrypt;
-+		X509_REVOKED_add1_ext_i2d;
-+		_ossl_old_des_ofb_encrypt;
-+		KRB5_TKTBODY_new;
-+		ASN1_OCTET_STRING_it;
-+		ERR_load_UI_strings;
-+		i2d_KRB5_ENCKEY;
-+		ASN1_template_new;
-+		OCSP_SIGNATURE_free;
-+		ASN1_item_i2d_fp;
-+		KRB5_PRINCNAME_free;
-+		PKCS7_RECIP_INFO_it;
-+		EXTENDED_KEY_USAGE_it;
-+		EC_GFp_simple_method;
-+		EC_GROUP_precompute_mult;
-+		OCSP_request_onereq_get0;
-+		UI_method_set_writer;
-+		KRB5_AUTHENT_new;
-+		X509_CRL_INFO_it;
-+		DSO_set_name_converter;
-+		AES_set_decrypt_key;
-+		PKCS7_DIGEST_it;
-+		PKCS12_x5092certbag;
-+		EVP_DigestInit_ex;
-+		i2a_ACCESS_DESCRIPTION;
-+		OCSP_RESPONSE_it;
-+		PKCS7_ENC_CONTENT_it;
-+		OCSP_request_add0_id;
-+		EC_POINT_make_affine;
-+		DSO_get_filename;
-+		OCSP_CERTSTATUS_it;
-+		OCSP_request_add1_cert;
-+		UI_get0_output_string;
-+		UI_dup_verify_string;
-+		BN_mod_lshift;
-+		KRB5_AUTHDATA_it;
-+		asn1_set_choice_selector;
-+		OCSP_basic_add1_status;
-+		OCSP_RESPID_free;
-+		asn1_get_field_ptr;
-+		UI_add_input_string;
-+		OCSP_CRLID_it;
-+		i2d_KRB5_AUTHENTBODY;
-+		OCSP_REQUEST_get_ext_count;
-+		ENGINE_load_atalla;
-+		X509_NAME_it;
-+		USERNOTICE_it;
-+		OCSP_REQINFO_new;
-+		OCSP_BASICRESP_get_ext;
-+		CRYPTO_get_ex_data_implementation;
-+		CRYPTO_get_ex_data_impl;
-+		ASN1_item_pack;
-+		i2d_KRB5_ENCDATA;
-+		X509_PURPOSE_set;
-+		X509_REQ_INFO_it;
-+		UI_method_set_opener;
-+		ASN1_item_ex_free;
-+		ASN1_BOOLEAN_it;
-+		ENGINE_get_table_flags;
-+		UI_create_method;
-+		OCSP_ONEREQ_add1_ext_i2d;
-+		_shadow_DES_check_key;
-+		d2i_OCSP_REQINFO;
-+		UI_add_info_string;
-+		UI_get_result_minsize;
-+		ASN1_NULL_it;
-+		BN_mod_lshift1;
-+		d2i_OCSP_ONEREQ;
-+		OCSP_ONEREQ_new;
-+		KRB5_TICKET_it;
-+		EVP_aes_192_cbc;
-+		KRB5_TICKET_free;
-+		UI_new;
-+		OCSP_response_create;
-+		_ossl_old_des_xcbc_encrypt;
-+		PKCS7_it;
-+		OCSP_REQUEST_get_ext_by_critical;
-+		OCSP_REQUEST_get_ext_by_crit;
-+		ENGINE_set_flags;
-+		_ossl_old_des_ecb_encrypt;
-+		OCSP_response_get1_basic;
-+		EVP_Digest;
-+		OCSP_ONEREQ_delete_ext;
-+		ASN1_TBOOLEAN_it;
-+		ASN1_item_new;
-+		ASN1_TIME_to_generalizedtime;
-+		BIGNUM_it;
-+		AES_cbc_encrypt;
-+		ENGINE_get_load_privkey_function;
-+		ENGINE_get_load_privkey_fn;
-+		OCSP_RESPONSE_free;
-+		UI_method_set_reader;
-+		i2d_ASN1_T61STRING;
-+		EC_POINT_set_to_infinity;
-+		ERR_load_OCSP_strings;
-+		EC_POINT_point2oct;
-+		KRB5_APREQ_free;
-+		ASN1_OBJECT_it;
-+		OCSP_crlID_new;
-+		OCSP_crlID2_new;
-+		CONF_modules_load_file;
-+		CONF_imodule_set_usr_data;
-+		ENGINE_set_default_string;
-+		CONF_module_get_usr_data;
-+		ASN1_add_oid_module;
-+		CONF_modules_finish;
-+		OPENSSL_config;
-+		CONF_modules_unload;
-+		CONF_imodule_get_value;
-+		CONF_module_set_usr_data;
-+		CONF_parse_list;
-+		CONF_module_add;
-+		CONF_get1_default_config_file;
-+		CONF_imodule_get_flags;
-+		CONF_imodule_get_module;
-+		CONF_modules_load;
-+		CONF_imodule_get_name;
-+		ERR_peek_top_error;
-+		CONF_imodule_get_usr_data;
-+		CONF_imodule_set_flags;
-+		ENGINE_add_conf_module;
-+		ERR_peek_last_error_line;
-+		ERR_peek_last_error_line_data;
-+		ERR_peek_last_error;
-+		DES_read_2passwords;
-+		DES_read_password;
-+		UI_UTIL_read_pw;
-+		UI_UTIL_read_pw_string;
-+		ENGINE_load_aep;
-+		ENGINE_load_sureware;
-+		OPENSSL_add_all_algorithms_noconf;
-+		OPENSSL_add_all_algo_noconf;
-+		OPENSSL_add_all_algorithms_conf;
-+		OPENSSL_add_all_algo_conf;
-+		OPENSSL_load_builtin_modules;
-+		AES_ofb128_encrypt;
-+		AES_ctr128_encrypt;
-+		AES_cfb128_encrypt;
-+		ENGINE_load_4758cca;
-+		_ossl_096_des_random_seed;
-+		EVP_aes_256_ofb;
-+		EVP_aes_192_ofb;
-+		EVP_aes_128_cfb128;
-+		EVP_aes_256_cfb128;
-+		EVP_aes_128_ofb;
-+		EVP_aes_192_cfb128;
-+		CONF_modules_free;
-+		NCONF_default;
-+		OPENSSL_no_config;
-+		NCONF_WIN32;
-+		ASN1_UNIVERSALSTRING_new;
-+		EVP_des_ede_ecb;
-+		i2d_ASN1_UNIVERSALSTRING;
-+		ASN1_UNIVERSALSTRING_free;
-+		ASN1_UNIVERSALSTRING_it;
-+		d2i_ASN1_UNIVERSALSTRING;
-+		EVP_des_ede3_ecb;
-+		X509_REQ_print_ex;
-+		ENGINE_up_ref;
-+		BUF_MEM_grow_clean;
-+		CRYPTO_realloc_clean;
-+		BUF_strlcat;
-+		BIO_indent;
-+		BUF_strlcpy;
-+		OpenSSLDie;
-+		OPENSSL_cleanse;
-+		ENGINE_setup_bsd_cryptodev;
-+		ERR_release_err_state_table;
-+		EVP_aes_128_cfb8;
-+		FIPS_corrupt_rsa;
-+		FIPS_selftest_des;
-+		EVP_aes_128_cfb1;
-+		EVP_aes_192_cfb8;
-+		FIPS_mode_set;
-+		FIPS_selftest_dsa;
-+		EVP_aes_256_cfb8;
-+		FIPS_allow_md5;
-+		DES_ede3_cfb_encrypt;
-+		EVP_des_ede3_cfb8;
-+		FIPS_rand_seeded;
-+		AES_cfbr_encrypt_block;
-+		AES_cfb8_encrypt;
-+		FIPS_rand_seed;
-+		FIPS_corrupt_des;
-+		EVP_aes_192_cfb1;
-+		FIPS_selftest_aes;
-+		FIPS_set_prng_key;
-+		EVP_des_cfb8;
-+		FIPS_corrupt_dsa;
-+		FIPS_test_mode;
-+		FIPS_rand_method;
-+		EVP_aes_256_cfb1;
-+		ERR_load_FIPS_strings;
-+		FIPS_corrupt_aes;
-+		FIPS_selftest_sha1;
-+		FIPS_selftest_rsa;
-+		FIPS_corrupt_sha1;
-+		EVP_des_cfb1;
-+		FIPS_dsa_check;
-+		AES_cfb1_encrypt;
-+		EVP_des_ede3_cfb1;
-+		FIPS_rand_check;
-+		FIPS_md5_allowed;
-+		FIPS_mode;
-+		FIPS_selftest_failed;
-+		sk_is_sorted;
-+		X509_check_ca;
-+		HMAC_CTX_set_flags;
-+		d2i_PROXY_CERT_INFO_EXTENSION;
-+		PROXY_POLICY_it;
-+		i2d_PROXY_POLICY;
-+		i2d_PROXY_CERT_INFO_EXTENSION;
-+		d2i_PROXY_POLICY;
-+		PROXY_CERT_INFO_EXTENSION_new;
-+		PROXY_CERT_INFO_EXTENSION_free;
-+		PROXY_CERT_INFO_EXTENSION_it;
-+		PROXY_POLICY_free;
-+		PROXY_POLICY_new;
-+		BN_MONT_CTX_set_locked;
-+		FIPS_selftest_rng;
-+		EVP_sha384;
-+		EVP_sha512;
-+		EVP_sha224;
-+		EVP_sha256;
-+		FIPS_selftest_hmac;
-+		FIPS_corrupt_rng;
-+		BN_mod_exp_mont_consttime;
-+		RSA_X931_hash_id;
-+		RSA_padding_check_X931;
-+		RSA_verify_PKCS1_PSS;
-+		RSA_padding_add_X931;
-+		RSA_padding_add_PKCS1_PSS;
-+		PKCS1_MGF1;
-+		BN_X931_generate_Xpq;
-+		RSA_X931_generate_key;
-+		BN_X931_derive_prime;
-+		BN_X931_generate_prime;
-+		RSA_X931_derive;
-+		BIO_new_dgram;
-+		BN_get0_nist_prime_384;
-+		ERR_set_mark;
-+		X509_STORE_CTX_set0_crls;
-+		ENGINE_set_STORE;
-+		ENGINE_register_ECDSA;
-+		STORE_meth_set_list_start_fn;
-+		STORE_method_set_list_start_function;
-+		BN_BLINDING_invert_ex;
-+		NAME_CONSTRAINTS_free;
-+		STORE_ATTR_INFO_set_number;
-+		BN_BLINDING_get_thread_id;
-+		X509_STORE_CTX_set0_param;
-+		POLICY_MAPPING_it;
-+		STORE_parse_attrs_start;
-+		POLICY_CONSTRAINTS_free;
-+		EVP_PKEY_add1_attr_by_NID;
-+		BN_nist_mod_192;
-+		EC_GROUP_get_trinomial_basis;
-+		STORE_set_method;
-+		GENERAL_SUBTREE_free;
-+		NAME_CONSTRAINTS_it;
-+		ECDH_get_default_method;
-+		PKCS12_add_safe;
-+		EC_KEY_new_by_curve_name;
-+		STORE_meth_get_update_store_fn;
-+		STORE_method_get_update_store_function;
-+		ENGINE_register_ECDH;
-+		SHA512_Update;
-+		i2d_ECPrivateKey;
-+		BN_get0_nist_prime_192;
-+		STORE_modify_certificate;
-+		EC_POINT_set_affine_coordinates_GF2m;
-+		EC_POINT_set_affine_coords_GF2m;
-+		BN_GF2m_mod_exp_arr;
-+		STORE_ATTR_INFO_modify_number;
-+		X509_keyid_get0;
-+		ENGINE_load_gmp;
-+		pitem_new;
-+		BN_GF2m_mod_mul_arr;
-+		STORE_list_public_key_endp;
-+		o2i_ECPublicKey;
-+		EC_KEY_copy;
-+		BIO_dump_fp;
-+		X509_policy_node_get0_parent;
-+		EC_GROUP_check_discriminant;
-+		i2o_ECPublicKey;
-+		EC_KEY_precompute_mult;
-+		a2i_IPADDRESS;
-+		STORE_meth_set_initialise_fn;
-+		STORE_method_set_initialise_function;
-+		X509_STORE_CTX_set_depth;
-+		X509_VERIFY_PARAM_inherit;
-+		EC_POINT_point2bn;
-+		STORE_ATTR_INFO_set_dn;
-+		X509_policy_tree_get0_policies;
-+		EC_GROUP_new_curve_GF2m;
-+		STORE_destroy_method;
-+		ENGINE_unregister_STORE;
-+		EVP_PKEY_get1_EC_KEY;
-+		STORE_ATTR_INFO_get0_number;
-+		ENGINE_get_default_ECDH;
-+		EC_KEY_get_conv_form;
-+		ASN1_OCTET_STRING_NDEF_it;
-+		STORE_delete_public_key;
-+		STORE_get_public_key;
-+		STORE_modify_arbitrary;
-+		ENGINE_get_static_state;
-+		pqueue_iterator;
-+		ECDSA_SIG_new;
-+		OPENSSL_DIR_end;
-+		BN_GF2m_mod_sqr;
-+		EC_POINT_bn2point;
-+		X509_VERIFY_PARAM_set_depth;
-+		EC_KEY_set_asn1_flag;
-+		STORE_get_method;
-+		EC_KEY_get_key_method_data;
-+		ECDSA_sign_ex;
-+		STORE_parse_attrs_end;
-+		EC_GROUP_get_point_conversion_form;
-+		EC_GROUP_get_point_conv_form;
-+		STORE_method_set_store_function;
-+		STORE_ATTR_INFO_in;
-+		PEM_read_bio_ECPKParameters;
-+		EC_GROUP_get_pentanomial_basis;
-+		EVP_PKEY_add1_attr_by_txt;
-+		BN_BLINDING_set_flags;
-+		X509_VERIFY_PARAM_set1_policies;
-+		X509_VERIFY_PARAM_set1_name;
-+		X509_VERIFY_PARAM_set_purpose;
-+		STORE_get_number;
-+		ECDSA_sign_setup;
-+		BN_GF2m_mod_solve_quad_arr;
-+		EC_KEY_up_ref;
-+		POLICY_MAPPING_free;
-+		BN_GF2m_mod_div;
-+		X509_VERIFY_PARAM_set_flags;
-+		EC_KEY_free;
-+		STORE_meth_set_list_next_fn;
-+		STORE_method_set_list_next_function;
-+		PEM_write_bio_ECPrivateKey;
-+		d2i_EC_PUBKEY;
-+		STORE_meth_get_generate_fn;
-+		STORE_method_get_generate_function;
-+		STORE_meth_set_list_end_fn;
-+		STORE_method_set_list_end_function;
-+		pqueue_print;
-+		EC_GROUP_have_precompute_mult;
-+		EC_KEY_print_fp;
-+		BN_GF2m_mod_arr;
-+		PEM_write_bio_X509_CERT_PAIR;
-+		EVP_PKEY_cmp;
-+		X509_policy_level_node_count;
-+		STORE_new_engine;
-+		STORE_list_public_key_start;
-+		X509_VERIFY_PARAM_new;
-+		ECDH_get_ex_data;
-+		EVP_PKEY_get_attr;
-+		ECDSA_do_sign;
-+		ENGINE_unregister_ECDH;
-+		ECDH_OpenSSL;
-+		EC_KEY_set_conv_form;
-+		EC_POINT_dup;
-+		GENERAL_SUBTREE_new;
-+		STORE_list_crl_endp;
-+		EC_get_builtin_curves;
-+		X509_policy_node_get0_qualifiers;
-+		X509_pcy_node_get0_qualifiers;
-+		STORE_list_crl_end;
-+		EVP_PKEY_set1_EC_KEY;
-+		BN_GF2m_mod_sqrt_arr;
-+		i2d_ECPrivateKey_bio;
-+		ECPKParameters_print_fp;
-+		pqueue_find;
-+		ECDSA_SIG_free;
-+		PEM_write_bio_ECPKParameters;
-+		STORE_method_set_ctrl_function;
-+		STORE_list_public_key_end;
-+		EC_KEY_set_private_key;
-+		pqueue_peek;
-+		STORE_get_arbitrary;
-+		STORE_store_crl;
-+		X509_policy_node_get0_policy;
-+		PKCS12_add_safes;
-+		BN_BLINDING_convert_ex;
-+		X509_policy_tree_free;
-+		OPENSSL_ia32cap_loc;
-+		BN_GF2m_poly2arr;
-+		STORE_ctrl;
-+		STORE_ATTR_INFO_compare;
-+		BN_get0_nist_prime_224;
-+		i2d_ECParameters;
-+		i2d_ECPKParameters;
-+		BN_GENCB_call;
-+		d2i_ECPKParameters;
-+		STORE_meth_set_generate_fn;
-+		STORE_method_set_generate_function;
-+		ENGINE_set_ECDH;
-+		NAME_CONSTRAINTS_new;
-+		SHA256_Init;
-+		EC_KEY_get0_public_key;
-+		PEM_write_bio_EC_PUBKEY;
-+		STORE_ATTR_INFO_set_cstr;
-+		STORE_list_crl_next;
-+		STORE_ATTR_INFO_in_range;
-+		ECParameters_print;
-+		STORE_meth_set_delete_fn;
-+		STORE_method_set_delete_function;
-+		STORE_list_certificate_next;
-+		ASN1_generate_nconf;
-+		BUF_memdup;
-+		BN_GF2m_mod_mul;
-+		STORE_meth_get_list_next_fn;
-+		STORE_method_get_list_next_function;
-+		STORE_ATTR_INFO_get0_dn;
-+		STORE_list_private_key_next;
-+		EC_GROUP_set_seed;
-+		X509_VERIFY_PARAM_set_trust;
-+		STORE_ATTR_INFO_free;
-+		STORE_get_private_key;
-+		EVP_PKEY_get_attr_count;
-+		STORE_ATTR_INFO_new;
-+		EC_GROUP_get_curve_GF2m;
-+		STORE_meth_set_revoke_fn;
-+		STORE_method_set_revoke_function;
-+		STORE_store_number;
-+		BN_is_prime_ex;
-+		STORE_revoke_public_key;
-+		X509_STORE_CTX_get0_param;
-+		STORE_delete_arbitrary;
-+		PEM_read_X509_CERT_PAIR;
-+		X509_STORE_set_depth;
-+		ECDSA_get_ex_data;
-+		SHA224;
-+		BIO_dump_indent_fp;
-+		EC_KEY_set_group;
-+		BUF_strndup;
-+		STORE_list_certificate_start;
-+		BN_GF2m_mod;
-+		X509_REQ_check_private_key;
-+		EC_GROUP_get_seed_len;
-+		ERR_load_STORE_strings;
-+		PEM_read_bio_EC_PUBKEY;
-+		STORE_list_private_key_end;
-+		i2d_EC_PUBKEY;
-+		ECDSA_get_default_method;
-+		ASN1_put_eoc;
-+		X509_STORE_CTX_get_explicit_policy;
-+		X509_STORE_CTX_get_expl_policy;
-+		X509_VERIFY_PARAM_table_cleanup;
-+		STORE_modify_private_key;
-+		X509_VERIFY_PARAM_free;
-+		EC_METHOD_get_field_type;
-+		EC_GFp_nist_method;
-+		STORE_meth_set_modify_fn;
-+		STORE_method_set_modify_function;
-+		STORE_parse_attrs_next;
-+		ENGINE_load_padlock;
-+		EC_GROUP_set_curve_name;
-+		X509_CERT_PAIR_it;
-+		STORE_meth_get_revoke_fn;
-+		STORE_method_get_revoke_function;
-+		STORE_method_set_get_function;
-+		STORE_modify_number;
-+		STORE_method_get_store_function;
-+		STORE_store_private_key;
-+		BN_GF2m_mod_sqr_arr;
-+		RSA_setup_blinding;
-+		BIO_s_datagram;
-+		STORE_Memory;
-+		sk_find_ex;
-+		EC_GROUP_set_curve_GF2m;
-+		ENGINE_set_default_ECDSA;
-+		POLICY_CONSTRAINTS_new;
-+		BN_GF2m_mod_sqrt;
-+		ECDH_set_default_method;
-+		EC_KEY_generate_key;
-+		SHA384_Update;
-+		BN_GF2m_arr2poly;
-+		STORE_method_get_get_function;
-+		STORE_meth_set_cleanup_fn;
-+		STORE_method_set_cleanup_function;
-+		EC_GROUP_check;
-+		d2i_ECPrivateKey_bio;
-+		EC_KEY_insert_key_method_data;
-+		STORE_meth_get_lock_store_fn;
-+		STORE_method_get_lock_store_function;
-+		X509_VERIFY_PARAM_get_depth;
-+		SHA224_Final;
-+		STORE_meth_set_update_store_fn;
-+		STORE_method_set_update_store_function;
-+		SHA224_Update;
-+		d2i_ECPrivateKey;
-+		ASN1_item_ndef_i2d;
-+		STORE_delete_private_key;
-+		ERR_pop_to_mark;
-+		ENGINE_register_all_STORE;
-+		X509_policy_level_get0_node;
-+		i2d_PKCS7_NDEF;
-+		EC_GROUP_get_degree;
-+		ASN1_generate_v3;
-+		STORE_ATTR_INFO_modify_cstr;
-+		X509_policy_tree_level_count;
-+		BN_GF2m_add;
-+		EC_KEY_get0_group;
-+		STORE_generate_crl;
-+		STORE_store_public_key;
-+		X509_CERT_PAIR_free;
-+		STORE_revoke_private_key;
-+		BN_nist_mod_224;
-+		SHA512_Final;
-+		STORE_ATTR_INFO_modify_dn;
-+		STORE_meth_get_initialise_fn;
-+		STORE_method_get_initialise_function;
-+		STORE_delete_number;
-+		i2d_EC_PUBKEY_bio;
-+		BIO_dgram_non_fatal_error;
-+		EC_GROUP_get_asn1_flag;
-+		STORE_ATTR_INFO_in_ex;
-+		STORE_list_crl_start;
-+		ECDH_get_ex_new_index;
-+		STORE_meth_get_modify_fn;
-+		STORE_method_get_modify_function;
-+		v2i_ASN1_BIT_STRING;
-+		STORE_store_certificate;
-+		OBJ_bsearch_ex;
-+		X509_STORE_CTX_set_default;
-+		STORE_ATTR_INFO_set_sha1str;
-+		BN_GF2m_mod_inv;
-+		BN_GF2m_mod_exp;
-+		STORE_modify_public_key;
-+		STORE_meth_get_list_start_fn;
-+		STORE_method_get_list_start_function;
-+		EC_GROUP_get0_seed;
-+		STORE_store_arbitrary;
-+		STORE_meth_set_unlock_store_fn;
-+		STORE_method_set_unlock_store_function;
-+		BN_GF2m_mod_div_arr;
-+		ENGINE_set_ECDSA;
-+		STORE_create_method;
-+		ECPKParameters_print;
-+		EC_KEY_get0_private_key;
-+		PEM_write_EC_PUBKEY;
-+		X509_VERIFY_PARAM_set1;
-+		ECDH_set_method;
-+		v2i_GENERAL_NAME_ex;
-+		ECDH_set_ex_data;
-+		STORE_generate_key;
-+		BN_nist_mod_521;
-+		X509_policy_tree_get0_level;
-+		EC_GROUP_set_point_conversion_form;
-+		EC_GROUP_set_point_conv_form;
-+		PEM_read_EC_PUBKEY;
-+		i2d_ECDSA_SIG;
-+		ECDSA_OpenSSL;
-+		STORE_delete_crl;
-+		EC_KEY_get_enc_flags;
-+		ASN1_const_check_infinite_end;
-+		EVP_PKEY_delete_attr;
-+		ECDSA_set_default_method;
-+		EC_POINT_set_compressed_coordinates_GF2m;
-+		EC_POINT_set_compr_coords_GF2m;
-+		EC_GROUP_cmp;
-+		STORE_revoke_certificate;
-+		BN_get0_nist_prime_256;
-+		STORE_meth_get_delete_fn;
-+		STORE_method_get_delete_function;
-+		SHA224_Init;
-+		PEM_read_ECPrivateKey;
-+		SHA512_Init;
-+		STORE_parse_attrs_endp;
-+		BN_set_negative;
-+		ERR_load_ECDSA_strings;
-+		EC_GROUP_get_basis_type;
-+		STORE_list_public_key_next;
-+		i2v_ASN1_BIT_STRING;
-+		STORE_OBJECT_free;
-+		BN_nist_mod_384;
-+		i2d_X509_CERT_PAIR;
-+		PEM_write_ECPKParameters;
-+		ECDH_compute_key;
-+		STORE_ATTR_INFO_get0_sha1str;
-+		ENGINE_register_all_ECDH;
-+		pqueue_pop;
-+		STORE_ATTR_INFO_get0_cstr;
-+		POLICY_CONSTRAINTS_it;
-+		STORE_get_ex_new_index;
-+		EVP_PKEY_get_attr_by_OBJ;
-+		X509_VERIFY_PARAM_add0_policy;
-+		BN_GF2m_mod_solve_quad;
-+		SHA256;
-+		i2d_ECPrivateKey_fp;
-+		X509_policy_tree_get0_user_policies;
-+		X509_pcy_tree_get0_usr_policies;
-+		OPENSSL_DIR_read;
-+		ENGINE_register_all_ECDSA;
-+		X509_VERIFY_PARAM_lookup;
-+		EC_POINT_get_affine_coordinates_GF2m;
-+		EC_POINT_get_affine_coords_GF2m;
-+		EC_GROUP_dup;
-+		ENGINE_get_default_ECDSA;
-+		EC_KEY_new;
-+		SHA256_Transform;
-+		EC_KEY_set_enc_flags;
-+		ECDSA_verify;
-+		EC_POINT_point2hex;
-+		ENGINE_get_STORE;
-+		SHA512;
-+		STORE_get_certificate;
-+		ECDSA_do_sign_ex;
-+		ECDSA_do_verify;
-+		d2i_ECPrivateKey_fp;
-+		STORE_delete_certificate;
-+		SHA512_Transform;
-+		X509_STORE_set1_param;
-+		STORE_method_get_ctrl_function;
-+		STORE_free;
-+		PEM_write_ECPrivateKey;
-+		STORE_meth_get_unlock_store_fn;
-+		STORE_method_get_unlock_store_function;
-+		STORE_get_ex_data;
-+		EC_KEY_set_public_key;
-+		PEM_read_ECPKParameters;
-+		X509_CERT_PAIR_new;
-+		ENGINE_register_STORE;
-+		RSA_generate_key_ex;
-+		DSA_generate_parameters_ex;
-+		ECParameters_print_fp;
-+		X509V3_NAME_from_section;
-+		EVP_PKEY_add1_attr;
-+		STORE_modify_crl;
-+		STORE_list_private_key_start;
-+		POLICY_MAPPINGS_it;
-+		GENERAL_SUBTREE_it;
-+		EC_GROUP_get_curve_name;
-+		PEM_write_X509_CERT_PAIR;
-+		BIO_dump_indent_cb;
-+		d2i_X509_CERT_PAIR;
-+		STORE_list_private_key_endp;
-+		asn1_const_Finish;
-+		i2d_EC_PUBKEY_fp;
-+		BN_nist_mod_256;
-+		X509_VERIFY_PARAM_add0_table;
-+		pqueue_free;
-+		BN_BLINDING_create_param;
-+		ECDSA_size;
-+		d2i_EC_PUBKEY_bio;
-+		BN_get0_nist_prime_521;
-+		STORE_ATTR_INFO_modify_sha1str;
-+		BN_generate_prime_ex;
-+		EC_GROUP_new_by_curve_name;
-+		SHA256_Final;
-+		DH_generate_parameters_ex;
-+		PEM_read_bio_ECPrivateKey;
-+		STORE_meth_get_cleanup_fn;
-+		STORE_method_get_cleanup_function;
-+		ENGINE_get_ECDH;
-+		d2i_ECDSA_SIG;
-+		BN_is_prime_fasttest_ex;
-+		ECDSA_sign;
-+		X509_policy_check;
-+		EVP_PKEY_get_attr_by_NID;
-+		STORE_set_ex_data;
-+		ENGINE_get_ECDSA;
-+		EVP_ecdsa;
-+		BN_BLINDING_get_flags;
-+		PKCS12_add_cert;
-+		STORE_OBJECT_new;
-+		ERR_load_ECDH_strings;
-+		EC_KEY_dup;
-+		EVP_CIPHER_CTX_rand_key;
-+		ECDSA_set_method;
-+		a2i_IPADDRESS_NC;
-+		d2i_ECParameters;
-+		STORE_list_certificate_end;
-+		STORE_get_crl;
-+		X509_POLICY_NODE_print;
-+		SHA384_Init;
-+		EC_GF2m_simple_method;
-+		ECDSA_set_ex_data;
-+		SHA384_Final;
-+		PKCS7_set_digest;
-+		EC_KEY_print;
-+		STORE_meth_set_lock_store_fn;
-+		STORE_method_set_lock_store_function;
-+		ECDSA_get_ex_new_index;
-+		SHA384;
-+		POLICY_MAPPING_new;
-+		STORE_list_certificate_endp;
-+		X509_STORE_CTX_get0_policy_tree;
-+		EC_GROUP_set_asn1_flag;
-+		EC_KEY_check_key;
-+		d2i_EC_PUBKEY_fp;
-+		PKCS7_set0_type_other;
-+		PEM_read_bio_X509_CERT_PAIR;
-+		pqueue_next;
-+		STORE_meth_get_list_end_fn;
-+		STORE_method_get_list_end_function;
-+		EVP_PKEY_add1_attr_by_OBJ;
-+		X509_VERIFY_PARAM_set_time;
-+		pqueue_new;
-+		ENGINE_set_default_ECDH;
-+		STORE_new_method;
-+		PKCS12_add_key;
-+		DSO_merge;
-+		EC_POINT_hex2point;
-+		BIO_dump_cb;
-+		SHA256_Update;
-+		pqueue_insert;
-+		pitem_free;
-+		BN_GF2m_mod_inv_arr;
-+		ENGINE_unregister_ECDSA;
-+		BN_BLINDING_set_thread_id;
-+		get_rfc3526_prime_8192;
-+		X509_VERIFY_PARAM_clear_flags;
-+		get_rfc2409_prime_1024;
-+		DH_check_pub_key;
-+		get_rfc3526_prime_2048;
-+		get_rfc3526_prime_6144;
-+		get_rfc3526_prime_1536;
-+		get_rfc3526_prime_3072;
-+		get_rfc3526_prime_4096;
-+		get_rfc2409_prime_768;
-+		X509_VERIFY_PARAM_get_flags;
-+		EVP_CIPHER_CTX_new;
-+		EVP_CIPHER_CTX_free;
-+		Camellia_cbc_encrypt;
-+		Camellia_cfb128_encrypt;
-+		Camellia_cfb1_encrypt;
-+		Camellia_cfb8_encrypt;
-+		Camellia_ctr128_encrypt;
-+		Camellia_cfbr_encrypt_block;
-+		Camellia_decrypt;
-+		Camellia_ecb_encrypt;
-+		Camellia_encrypt;
-+		Camellia_ofb128_encrypt;
-+		Camellia_set_key;
-+		EVP_camellia_128_cbc;
-+		EVP_camellia_128_cfb128;
-+		EVP_camellia_128_cfb1;
-+		EVP_camellia_128_cfb8;
-+		EVP_camellia_128_ecb;
-+		EVP_camellia_128_ofb;
-+		EVP_camellia_192_cbc;
-+		EVP_camellia_192_cfb128;
-+		EVP_camellia_192_cfb1;
-+		EVP_camellia_192_cfb8;
-+		EVP_camellia_192_ecb;
-+		EVP_camellia_192_ofb;
-+		EVP_camellia_256_cbc;
-+		EVP_camellia_256_cfb128;
-+		EVP_camellia_256_cfb1;
-+		EVP_camellia_256_cfb8;
-+		EVP_camellia_256_ecb;
-+		EVP_camellia_256_ofb;
-+		a2i_ipadd;
-+		ASIdentifiers_free;
-+		i2d_ASIdOrRange;
-+		EVP_CIPHER_block_size;
-+		v3_asid_is_canonical;
-+		IPAddressChoice_free;
-+		EVP_CIPHER_CTX_set_app_data;
-+		BIO_set_callback_arg;
-+		v3_addr_add_prefix;
-+		IPAddressOrRange_it;
-+		BIO_set_flags;
-+		ASIdentifiers_it;
-+		v3_addr_get_range;
-+		BIO_method_type;
-+		v3_addr_inherits;
-+		IPAddressChoice_it;
-+		AES_ige_encrypt;
-+		v3_addr_add_range;
-+		EVP_CIPHER_CTX_nid;
-+		d2i_ASRange;
-+		v3_addr_add_inherit;
-+		v3_asid_add_id_or_range;
-+		v3_addr_validate_resource_set;
-+		EVP_CIPHER_iv_length;
-+		EVP_MD_type;
-+		v3_asid_canonize;
-+		IPAddressRange_free;
-+		v3_asid_add_inherit;
-+		EVP_CIPHER_CTX_key_length;
-+		IPAddressRange_new;
-+		ASIdOrRange_new;
-+		EVP_MD_size;
-+		EVP_MD_CTX_test_flags;
-+		BIO_clear_flags;
-+		i2d_ASRange;
-+		IPAddressRange_it;
-+		IPAddressChoice_new;
-+		ASIdentifierChoice_new;
-+		ASRange_free;
-+		EVP_MD_pkey_type;
-+		EVP_MD_CTX_clear_flags;
-+		IPAddressFamily_free;
-+		i2d_IPAddressFamily;
-+		IPAddressOrRange_new;
-+		EVP_CIPHER_flags;
-+		v3_asid_validate_resource_set;
-+		d2i_IPAddressRange;
-+		AES_bi_ige_encrypt;
-+		BIO_get_callback;
-+		IPAddressOrRange_free;
-+		v3_addr_subset;
-+		d2i_IPAddressFamily;
-+		v3_asid_subset;
-+		BIO_test_flags;
-+		i2d_ASIdentifierChoice;
-+		ASRange_it;
-+		d2i_ASIdentifiers;
-+		ASRange_new;
-+		d2i_IPAddressChoice;
-+		v3_addr_get_afi;
-+		EVP_CIPHER_key_length;
-+		EVP_Cipher;
-+		i2d_IPAddressOrRange;
-+		ASIdOrRange_it;
-+		EVP_CIPHER_nid;
-+		i2d_IPAddressChoice;
-+		EVP_CIPHER_CTX_block_size;
-+		ASIdentifiers_new;
-+		v3_addr_validate_path;
-+		IPAddressFamily_new;
-+		EVP_MD_CTX_set_flags;
-+		v3_addr_is_canonical;
-+		i2d_IPAddressRange;
-+		IPAddressFamily_it;
-+		v3_asid_inherits;
-+		EVP_CIPHER_CTX_cipher;
-+		EVP_CIPHER_CTX_get_app_data;
-+		EVP_MD_block_size;
-+		EVP_CIPHER_CTX_flags;
-+		v3_asid_validate_path;
-+		d2i_IPAddressOrRange;
-+		v3_addr_canonize;
-+		ASIdentifierChoice_it;
-+		EVP_MD_CTX_md;
-+		d2i_ASIdentifierChoice;
-+		BIO_method_name;
-+		EVP_CIPHER_CTX_iv_length;
-+		ASIdOrRange_free;
-+		ASIdentifierChoice_free;
-+		BIO_get_callback_arg;
-+		BIO_set_callback;
-+		d2i_ASIdOrRange;
-+		i2d_ASIdentifiers;
-+		SEED_decrypt;
-+		SEED_encrypt;
-+		SEED_cbc_encrypt;
-+		EVP_seed_ofb;
-+		SEED_cfb128_encrypt;
-+		SEED_ofb128_encrypt;
-+		EVP_seed_cbc;
-+		SEED_ecb_encrypt;
-+		EVP_seed_ecb;
-+		SEED_set_key;
-+		EVP_seed_cfb128;
-+		X509_EXTENSIONS_it;
-+		X509_get1_ocsp;
-+		OCSP_REQ_CTX_free;
-+		i2d_X509_EXTENSIONS;
-+		OCSP_sendreq_nbio;
-+		OCSP_sendreq_new;
-+		d2i_X509_EXTENSIONS;
-+		X509_ALGORS_it;
-+		X509_ALGOR_get0;
-+		X509_ALGOR_set0;
-+		AES_unwrap_key;
-+		AES_wrap_key;
-+		X509at_get0_data_by_OBJ;
-+		ASN1_TYPE_set1;
-+		ASN1_STRING_set0;
-+		i2d_X509_ALGORS;
-+		BIO_f_zlib;
-+		COMP_zlib_cleanup;
-+		d2i_X509_ALGORS;
-+		CMS_ReceiptRequest_free;
-+		PEM_write_CMS;
-+		CMS_add0_CertificateChoices;
-+		CMS_unsigned_add1_attr_by_OBJ;
-+		ERR_load_CMS_strings;
-+		CMS_sign_receipt;
-+		i2d_CMS_ContentInfo;
-+		CMS_signed_delete_attr;
-+		d2i_CMS_bio;
-+		CMS_unsigned_get_attr_by_NID;
-+		CMS_verify;
-+		SMIME_read_CMS;
-+		CMS_decrypt_set1_key;
-+		CMS_SignerInfo_get0_algs;
-+		CMS_add1_cert;
-+		CMS_set_detached;
-+		CMS_encrypt;
-+		CMS_EnvelopedData_create;
-+		CMS_uncompress;
-+		CMS_add0_crl;
-+		CMS_SignerInfo_verify_content;
-+		CMS_unsigned_get0_data_by_OBJ;
-+		PEM_write_bio_CMS;
-+		CMS_unsigned_get_attr;
-+		CMS_RecipientInfo_ktri_cert_cmp;
-+		CMS_RecipientInfo_ktri_get0_algs;
-+		CMS_RecipInfo_ktri_get0_algs;
-+		CMS_ContentInfo_free;
-+		CMS_final;
-+		CMS_add_simple_smimecap;
-+		CMS_SignerInfo_verify;
-+		CMS_data;
-+		CMS_ContentInfo_it;
-+		d2i_CMS_ReceiptRequest;
-+		CMS_compress;
-+		CMS_digest_create;
-+		CMS_SignerInfo_cert_cmp;
-+		CMS_SignerInfo_sign;
-+		CMS_data_create;
-+		i2d_CMS_bio;
-+		CMS_EncryptedData_set1_key;
-+		CMS_decrypt;
-+		int_smime_write_ASN1;
-+		CMS_unsigned_delete_attr;
-+		CMS_unsigned_get_attr_count;
-+		CMS_add_smimecap;
-+		PEM_read_CMS;
-+		CMS_signed_get_attr_by_OBJ;
-+		d2i_CMS_ContentInfo;
-+		CMS_add_standard_smimecap;
-+		CMS_ContentInfo_new;
-+		CMS_RecipientInfo_type;
-+		CMS_get0_type;
-+		CMS_is_detached;
-+		CMS_sign;
-+		CMS_signed_add1_attr;
-+		CMS_unsigned_get_attr_by_OBJ;
-+		SMIME_write_CMS;
-+		CMS_EncryptedData_decrypt;
-+		CMS_get0_RecipientInfos;
-+		CMS_add0_RevocationInfoChoice;
-+		CMS_decrypt_set1_pkey;
-+		CMS_SignerInfo_set1_signer_cert;
-+		CMS_get0_signers;
-+		CMS_ReceiptRequest_get0_values;
-+		CMS_signed_get0_data_by_OBJ;
-+		CMS_get0_SignerInfos;
-+		CMS_add0_cert;
-+		CMS_EncryptedData_encrypt;
-+		CMS_digest_verify;
-+		CMS_set1_signers_certs;
-+		CMS_signed_get_attr;
-+		CMS_RecipientInfo_set0_key;
-+		CMS_SignedData_init;
-+		CMS_RecipientInfo_kekri_get0_id;
-+		CMS_verify_receipt;
-+		CMS_ReceiptRequest_it;
-+		PEM_read_bio_CMS;
-+		CMS_get1_crls;
-+		CMS_add0_recipient_key;
-+		SMIME_read_ASN1;
-+		CMS_ReceiptRequest_new;
-+		CMS_get0_content;
-+		CMS_get1_ReceiptRequest;
-+		CMS_signed_add1_attr_by_OBJ;
-+		CMS_RecipientInfo_kekri_id_cmp;
-+		CMS_add1_ReceiptRequest;
-+		CMS_SignerInfo_get0_signer_id;
-+		CMS_unsigned_add1_attr_by_NID;
-+		CMS_unsigned_add1_attr;
-+		CMS_signed_get_attr_by_NID;
-+		CMS_get1_certs;
-+		CMS_signed_add1_attr_by_NID;
-+		CMS_unsigned_add1_attr_by_txt;
-+		CMS_dataFinal;
-+		CMS_RecipientInfo_ktri_get0_signer_id;
-+		CMS_RecipInfo_ktri_get0_sigr_id;
-+		i2d_CMS_ReceiptRequest;
-+		CMS_add1_recipient_cert;
-+		CMS_dataInit;
-+		CMS_signed_add1_attr_by_txt;
-+		CMS_RecipientInfo_decrypt;
-+		CMS_signed_get_attr_count;
-+		CMS_get0_eContentType;
-+		CMS_set1_eContentType;
-+		CMS_ReceiptRequest_create0;
-+		CMS_add1_signer;
-+		CMS_RecipientInfo_set0_pkey;
-+		ENGINE_set_load_ssl_client_cert_function;
-+		ENGINE_set_ld_ssl_clnt_cert_fn;
-+		ENGINE_get_ssl_client_cert_function;
-+		ENGINE_get_ssl_client_cert_fn;
-+		ENGINE_load_ssl_client_cert;
-+		ENGINE_load_capi;
-+		OPENSSL_isservice;
-+		FIPS_dsa_sig_decode;
-+		EVP_CIPHER_CTX_clear_flags;
-+		FIPS_rand_status;
-+		FIPS_rand_set_key;
-+		CRYPTO_set_mem_info_functions;
-+		RSA_X931_generate_key_ex;
-+		int_ERR_set_state_func;
-+		int_EVP_MD_set_engine_callbacks;
-+		int_CRYPTO_set_do_dynlock_callback;
-+		FIPS_rng_stick;
-+		EVP_CIPHER_CTX_set_flags;
-+		BN_X931_generate_prime_ex;
-+		FIPS_selftest_check;
-+		FIPS_rand_set_dt;
-+		CRYPTO_dbg_pop_info;
-+		FIPS_dsa_free;
-+		RSA_X931_derive_ex;
-+		FIPS_rsa_new;
-+		FIPS_rand_bytes;
-+		fips_cipher_test;
-+		EVP_CIPHER_CTX_test_flags;
-+		CRYPTO_malloc_debug_init;
-+		CRYPTO_dbg_push_info;
-+		FIPS_corrupt_rsa_keygen;
-+		FIPS_dh_new;
-+		FIPS_corrupt_dsa_keygen;
-+		FIPS_dh_free;
-+		fips_pkey_signature_test;
-+		EVP_add_alg_module;
-+		int_RAND_init_engine_callbacks;
-+		int_EVP_CIPHER_set_engine_callbacks;
-+		int_EVP_MD_init_engine_callbacks;
-+		FIPS_rand_test_mode;
-+		FIPS_rand_reset;
-+		FIPS_dsa_new;
-+		int_RAND_set_callbacks;
-+		BN_X931_derive_prime_ex;
-+		int_ERR_lib_init;
-+		int_EVP_CIPHER_init_engine_callbacks;
-+		FIPS_rsa_free;
-+		FIPS_dsa_sig_encode;
-+		CRYPTO_dbg_remove_all_info;
-+		OPENSSL_init;
-+		CRYPTO_strdup;
-+		JPAKE_STEP3A_process;
-+		JPAKE_STEP1_release;
-+		JPAKE_get_shared_key;
-+		JPAKE_STEP3B_init;
-+		JPAKE_STEP1_generate;
-+		JPAKE_STEP1_init;
-+		JPAKE_STEP3B_process;
-+		JPAKE_STEP2_generate;
-+		JPAKE_CTX_new;
-+		JPAKE_CTX_free;
-+		JPAKE_STEP3B_release;
-+		JPAKE_STEP3A_release;
-+		JPAKE_STEP2_process;
-+		JPAKE_STEP3B_generate;
-+		JPAKE_STEP1_process;
-+		JPAKE_STEP3A_generate;
-+		JPAKE_STEP2_release;
-+		JPAKE_STEP3A_init;
-+		ERR_load_JPAKE_strings;
-+		JPAKE_STEP2_init;
-+		pqueue_size;
-+		i2d_TS_ACCURACY;
-+		i2d_TS_MSG_IMPRINT_fp;
-+		i2d_TS_MSG_IMPRINT;
-+		EVP_PKEY_print_public;
-+		EVP_PKEY_CTX_new;
-+		i2d_TS_TST_INFO;
-+		EVP_PKEY_asn1_find;
-+		DSO_METHOD_beos;
-+		TS_CONF_load_cert;
-+		TS_REQ_get_ext;
-+		EVP_PKEY_sign_init;
-+		ASN1_item_print;
-+		TS_TST_INFO_set_nonce;
-+		TS_RESP_dup;
-+		ENGINE_register_pkey_meths;
-+		EVP_PKEY_asn1_add0;
-+		PKCS7_add0_attrib_signing_time;
-+		i2d_TS_TST_INFO_fp;
-+		BIO_asn1_get_prefix;
-+		TS_TST_INFO_set_time;
-+		EVP_PKEY_meth_set_decrypt;
-+		EVP_PKEY_set_type_str;
-+		EVP_PKEY_CTX_get_keygen_info;
-+		TS_REQ_set_policy_id;
-+		d2i_TS_RESP_fp;
-+		ENGINE_get_pkey_asn1_meth_engine;
-+		ENGINE_get_pkey_asn1_meth_eng;
-+		WHIRLPOOL_Init;
-+		TS_RESP_set_status_info;
-+		EVP_PKEY_keygen;
-+		EVP_DigestSignInit;
-+		TS_ACCURACY_set_millis;
-+		TS_REQ_dup;
-+		GENERAL_NAME_dup;
-+		ASN1_SEQUENCE_ANY_it;
-+		WHIRLPOOL;
-+		X509_STORE_get1_crls;
-+		ENGINE_get_pkey_asn1_meth;
-+		EVP_PKEY_asn1_new;
-+		BIO_new_NDEF;
-+		ENGINE_get_pkey_meth;
-+		TS_MSG_IMPRINT_set_algo;
-+		i2d_TS_TST_INFO_bio;
-+		TS_TST_INFO_set_ordering;
-+		TS_TST_INFO_get_ext_by_OBJ;
-+		CRYPTO_THREADID_set_pointer;
-+		TS_CONF_get_tsa_section;
-+		SMIME_write_ASN1;
-+		TS_RESP_CTX_set_signer_key;
-+		EVP_PKEY_encrypt_old;
-+		EVP_PKEY_encrypt_init;
-+		CRYPTO_THREADID_cpy;
-+		ASN1_PCTX_get_cert_flags;
-+		i2d_ESS_SIGNING_CERT;
-+		TS_CONF_load_key;
-+		i2d_ASN1_SEQUENCE_ANY;
-+		d2i_TS_MSG_IMPRINT_bio;
-+		EVP_PKEY_asn1_set_public;
-+		b2i_PublicKey_bio;
-+		BIO_asn1_set_prefix;
-+		EVP_PKEY_new_mac_key;
-+		BIO_new_CMS;
-+		CRYPTO_THREADID_cmp;
-+		TS_REQ_ext_free;
-+		EVP_PKEY_asn1_set_free;
-+		EVP_PKEY_get0_asn1;
-+		d2i_NETSCAPE_X509;
-+		EVP_PKEY_verify_recover_init;
-+		EVP_PKEY_CTX_set_data;
-+		EVP_PKEY_keygen_init;
-+		TS_RESP_CTX_set_status_info;
-+		TS_MSG_IMPRINT_get_algo;
-+		TS_REQ_print_bio;
-+		EVP_PKEY_CTX_ctrl_str;
-+		EVP_PKEY_get_default_digest_nid;
-+		PEM_write_bio_PKCS7_stream;
-+		TS_MSG_IMPRINT_print_bio;
-+		BN_asc2bn;
-+		TS_REQ_get_policy_id;
-+		ENGINE_set_default_pkey_asn1_meths;
-+		ENGINE_set_def_pkey_asn1_meths;
-+		d2i_TS_ACCURACY;
-+		DSO_global_lookup;
-+		TS_CONF_set_tsa_name;
-+		i2d_ASN1_SET_ANY;
-+		ENGINE_load_gost;
-+		WHIRLPOOL_BitUpdate;
-+		ASN1_PCTX_get_flags;
-+		TS_TST_INFO_get_ext_by_NID;
-+		TS_RESP_new;
-+		ESS_CERT_ID_dup;
-+		TS_STATUS_INFO_dup;
-+		TS_REQ_delete_ext;
-+		EVP_DigestVerifyFinal;
-+		EVP_PKEY_print_params;
-+		i2d_CMS_bio_stream;
-+		TS_REQ_get_msg_imprint;
-+		OBJ_find_sigid_by_algs;
-+		TS_TST_INFO_get_serial;
-+		TS_REQ_get_nonce;
-+		X509_PUBKEY_set0_param;
-+		EVP_PKEY_CTX_set0_keygen_info;
-+		DIST_POINT_set_dpname;
-+		i2d_ISSUING_DIST_POINT;
-+		ASN1_SET_ANY_it;
-+		EVP_PKEY_CTX_get_data;
-+		TS_STATUS_INFO_print_bio;
-+		EVP_PKEY_derive_init;
-+		d2i_TS_TST_INFO;
-+		EVP_PKEY_asn1_add_alias;
-+		d2i_TS_RESP_bio;
-+		OTHERNAME_cmp;
-+		GENERAL_NAME_set0_value;
-+		PKCS7_RECIP_INFO_get0_alg;
-+		TS_RESP_CTX_new;
-+		TS_RESP_set_tst_info;
-+		PKCS7_final;
-+		EVP_PKEY_base_id;
-+		TS_RESP_CTX_set_signer_cert;
-+		TS_REQ_set_msg_imprint;
-+		EVP_PKEY_CTX_ctrl;
-+		TS_CONF_set_digests;
-+		d2i_TS_MSG_IMPRINT;
-+		EVP_PKEY_meth_set_ctrl;
-+		TS_REQ_get_ext_by_NID;
-+		PKCS5_pbe_set0_algor;
-+		BN_BLINDING_thread_id;
-+		TS_ACCURACY_new;
-+		X509_CRL_METHOD_free;
-+		ASN1_PCTX_get_nm_flags;
-+		EVP_PKEY_meth_set_sign;
-+		CRYPTO_THREADID_current;
-+		EVP_PKEY_decrypt_init;
-+		NETSCAPE_X509_free;
-+		i2b_PVK_bio;
-+		EVP_PKEY_print_private;
-+		GENERAL_NAME_get0_value;
-+		b2i_PVK_bio;
-+		ASN1_UTCTIME_adj;
-+		TS_TST_INFO_new;
-+		EVP_MD_do_all_sorted;
-+		TS_CONF_set_default_engine;
-+		TS_ACCURACY_set_seconds;
-+		TS_TST_INFO_get_time;
-+		PKCS8_pkey_get0;
-+		EVP_PKEY_asn1_get0;
-+		OBJ_add_sigid;
-+		PKCS7_SIGNER_INFO_sign;
-+		EVP_PKEY_paramgen_init;
-+		EVP_PKEY_sign;
-+		OBJ_sigid_free;
-+		EVP_PKEY_meth_set_init;
-+		d2i_ESS_ISSUER_SERIAL;
-+		ISSUING_DIST_POINT_new;
-+		ASN1_TIME_adj;
-+		TS_OBJ_print_bio;
-+		EVP_PKEY_meth_set_verify_recover;
-+		EVP_PKEY_meth_set_vrfy_recover;
-+		TS_RESP_get_status_info;
-+		CMS_stream;
-+		EVP_PKEY_CTX_set_cb;
-+		PKCS7_to_TS_TST_INFO;
-+		ASN1_PCTX_get_oid_flags;
-+		TS_TST_INFO_add_ext;
-+		EVP_PKEY_meth_set_derive;
-+		i2d_TS_RESP_fp;
-+		i2d_TS_MSG_IMPRINT_bio;
-+		TS_RESP_CTX_set_accuracy;
-+		TS_REQ_set_nonce;
-+		ESS_CERT_ID_new;
-+		ENGINE_pkey_asn1_find_str;
-+		TS_REQ_get_ext_count;
-+		BUF_reverse;
-+		TS_TST_INFO_print_bio;
-+		d2i_ISSUING_DIST_POINT;
-+		ENGINE_get_pkey_meths;
-+		i2b_PrivateKey_bio;
-+		i2d_TS_RESP;
-+		b2i_PublicKey;
-+		TS_VERIFY_CTX_cleanup;
-+		TS_STATUS_INFO_free;
-+		TS_RESP_verify_token;
-+		OBJ_bsearch_ex_;
-+		ASN1_bn_print;
-+		EVP_PKEY_asn1_get_count;
-+		ENGINE_register_pkey_asn1_meths;
-+		ASN1_PCTX_set_nm_flags;
-+		EVP_DigestVerifyInit;
-+		ENGINE_set_default_pkey_meths;
-+		TS_TST_INFO_get_policy_id;
-+		TS_REQ_get_cert_req;
-+		X509_CRL_set_meth_data;
-+		PKCS8_pkey_set0;
-+		ASN1_STRING_copy;
-+		d2i_TS_TST_INFO_fp;
-+		X509_CRL_match;
-+		EVP_PKEY_asn1_set_private;
-+		TS_TST_INFO_get_ext_d2i;
-+		TS_RESP_CTX_add_policy;
-+		d2i_TS_RESP;
-+		TS_CONF_load_certs;
-+		TS_TST_INFO_get_msg_imprint;
-+		ERR_load_TS_strings;
-+		TS_TST_INFO_get_version;
-+		EVP_PKEY_CTX_dup;
-+		EVP_PKEY_meth_set_verify;
-+		i2b_PublicKey_bio;
-+		TS_CONF_set_certs;
-+		EVP_PKEY_asn1_get0_info;
-+		TS_VERIFY_CTX_free;
-+		TS_REQ_get_ext_by_critical;
-+		TS_RESP_CTX_set_serial_cb;
-+		X509_CRL_get_meth_data;
-+		TS_RESP_CTX_set_time_cb;
-+		TS_MSG_IMPRINT_get_msg;
-+		TS_TST_INFO_ext_free;
-+		TS_REQ_get_version;
-+		TS_REQ_add_ext;
-+		EVP_PKEY_CTX_set_app_data;
-+		OBJ_bsearch_;
-+		EVP_PKEY_meth_set_verifyctx;
-+		i2d_PKCS7_bio_stream;
-+		CRYPTO_THREADID_set_numeric;
-+		PKCS7_sign_add_signer;
-+		d2i_TS_TST_INFO_bio;
-+		TS_TST_INFO_get_ordering;
-+		TS_RESP_print_bio;
-+		TS_TST_INFO_get_exts;
-+		HMAC_CTX_copy;
-+		PKCS5_pbe2_set_iv;
-+		ENGINE_get_pkey_asn1_meths;
-+		b2i_PrivateKey;
-+		EVP_PKEY_CTX_get_app_data;
-+		TS_REQ_set_cert_req;
-+		CRYPTO_THREADID_set_callback;
-+		TS_CONF_set_serial;
-+		TS_TST_INFO_free;
-+		d2i_TS_REQ_fp;
-+		TS_RESP_verify_response;
-+		i2d_ESS_ISSUER_SERIAL;
-+		TS_ACCURACY_get_seconds;
-+		EVP_CIPHER_do_all;
-+		b2i_PrivateKey_bio;
-+		OCSP_CERTID_dup;
-+		X509_PUBKEY_get0_param;
-+		TS_MSG_IMPRINT_dup;
-+		PKCS7_print_ctx;
-+		i2d_TS_REQ_bio;
-+		EVP_whirlpool;
-+		EVP_PKEY_asn1_set_param;
-+		EVP_PKEY_meth_set_encrypt;
-+		ASN1_PCTX_set_flags;
-+		i2d_ESS_CERT_ID;
-+		TS_VERIFY_CTX_new;
-+		TS_RESP_CTX_set_extension_cb;
-+		ENGINE_register_all_pkey_meths;
-+		TS_RESP_CTX_set_status_info_cond;
-+		TS_RESP_CTX_set_stat_info_cond;
-+		EVP_PKEY_verify;
-+		WHIRLPOOL_Final;
-+		X509_CRL_METHOD_new;
-+		EVP_DigestSignFinal;
-+		TS_RESP_CTX_set_def_policy;
-+		NETSCAPE_X509_it;
-+		TS_RESP_create_response;
-+		PKCS7_SIGNER_INFO_get0_algs;
-+		TS_TST_INFO_get_nonce;
-+		EVP_PKEY_decrypt_old;
-+		TS_TST_INFO_set_policy_id;
-+		TS_CONF_set_ess_cert_id_chain;
-+		EVP_PKEY_CTX_get0_pkey;
-+		d2i_TS_REQ;
-+		EVP_PKEY_asn1_find_str;
-+		BIO_f_asn1;
-+		ESS_SIGNING_CERT_new;
-+		EVP_PBE_find;
-+		X509_CRL_get0_by_cert;
-+		EVP_PKEY_derive;
-+		i2d_TS_REQ;
-+		TS_TST_INFO_delete_ext;
-+		ESS_ISSUER_SERIAL_free;
-+		ASN1_PCTX_set_str_flags;
-+		ENGINE_get_pkey_asn1_meth_str;
-+		TS_CONF_set_signer_key;
-+		TS_ACCURACY_get_millis;
-+		TS_RESP_get_token;
-+		TS_ACCURACY_dup;
-+		ENGINE_register_all_pkey_asn1_meths;
-+		ENGINE_reg_all_pkey_asn1_meths;
-+		X509_CRL_set_default_method;
-+		CRYPTO_THREADID_hash;
-+		CMS_ContentInfo_print_ctx;
-+		TS_RESP_free;
-+		ISSUING_DIST_POINT_free;
-+		ESS_ISSUER_SERIAL_new;
-+		CMS_add1_crl;
-+		PKCS7_add1_attrib_digest;
-+		TS_RESP_CTX_add_md;
-+		TS_TST_INFO_dup;
-+		ENGINE_set_pkey_asn1_meths;
-+		PEM_write_bio_Parameters;
-+		TS_TST_INFO_get_accuracy;
-+		X509_CRL_get0_by_serial;
-+		TS_TST_INFO_set_version;
-+		TS_RESP_CTX_get_tst_info;
-+		TS_RESP_verify_signature;
-+		CRYPTO_THREADID_get_callback;
-+		TS_TST_INFO_get_tsa;
-+		TS_STATUS_INFO_new;
-+		EVP_PKEY_CTX_get_cb;
-+		TS_REQ_get_ext_d2i;
-+		GENERAL_NAME_set0_othername;
-+		TS_TST_INFO_get_ext_count;
-+		TS_RESP_CTX_get_request;
-+		i2d_NETSCAPE_X509;
-+		ENGINE_get_pkey_meth_engine;
-+		EVP_PKEY_meth_set_signctx;
-+		EVP_PKEY_asn1_copy;
-+		ASN1_TYPE_cmp;
-+		EVP_CIPHER_do_all_sorted;
-+		EVP_PKEY_CTX_free;
-+		ISSUING_DIST_POINT_it;
-+		d2i_TS_MSG_IMPRINT_fp;
-+		X509_STORE_get1_certs;
-+		EVP_PKEY_CTX_get_operation;
-+		d2i_ESS_SIGNING_CERT;
-+		TS_CONF_set_ordering;
-+		EVP_PBE_alg_add_type;
-+		TS_REQ_set_version;
-+		EVP_PKEY_get0;
-+		BIO_asn1_set_suffix;
-+		i2d_TS_STATUS_INFO;
-+		EVP_MD_do_all;
-+		TS_TST_INFO_set_accuracy;
-+		PKCS7_add_attrib_content_type;
-+		ERR_remove_thread_state;
-+		EVP_PKEY_meth_add0;
-+		TS_TST_INFO_set_tsa;
-+		EVP_PKEY_meth_new;
-+		WHIRLPOOL_Update;
-+		TS_CONF_set_accuracy;
-+		ASN1_PCTX_set_oid_flags;
-+		ESS_SIGNING_CERT_dup;
-+		d2i_TS_REQ_bio;
-+		X509_time_adj_ex;
-+		TS_RESP_CTX_add_flags;
-+		d2i_TS_STATUS_INFO;
-+		TS_MSG_IMPRINT_set_msg;
-+		BIO_asn1_get_suffix;
-+		TS_REQ_free;
-+		EVP_PKEY_meth_free;
-+		TS_REQ_get_exts;
-+		TS_RESP_CTX_set_clock_precision_digits;
-+		TS_RESP_CTX_set_clk_prec_digits;
-+		TS_RESP_CTX_add_failure_info;
-+		i2d_TS_RESP_bio;
-+		EVP_PKEY_CTX_get0_peerkey;
-+		PEM_write_bio_CMS_stream;
-+		TS_REQ_new;
-+		TS_MSG_IMPRINT_new;
-+		EVP_PKEY_meth_find;
-+		EVP_PKEY_id;
-+		TS_TST_INFO_set_serial;
-+		a2i_GENERAL_NAME;
-+		TS_CONF_set_crypto_device;
-+		EVP_PKEY_verify_init;
-+		TS_CONF_set_policies;
-+		ASN1_PCTX_new;
-+		ESS_CERT_ID_free;
-+		ENGINE_unregister_pkey_meths;
-+		TS_MSG_IMPRINT_free;
-+		TS_VERIFY_CTX_init;
-+		PKCS7_stream;
-+		TS_RESP_CTX_set_certs;
-+		TS_CONF_set_def_policy;
-+		ASN1_GENERALIZEDTIME_adj;
-+		NETSCAPE_X509_new;
-+		TS_ACCURACY_free;
-+		TS_RESP_get_tst_info;
-+		EVP_PKEY_derive_set_peer;
-+		PEM_read_bio_Parameters;
-+		TS_CONF_set_clock_precision_digits;
-+		TS_CONF_set_clk_prec_digits;
-+		ESS_ISSUER_SERIAL_dup;
-+		TS_ACCURACY_get_micros;
-+		ASN1_PCTX_get_str_flags;
-+		NAME_CONSTRAINTS_check;
-+		ASN1_BIT_STRING_check;
-+		X509_check_akid;
-+		ENGINE_unregister_pkey_asn1_meths;
-+		ENGINE_unreg_pkey_asn1_meths;
-+		ASN1_PCTX_free;
-+		PEM_write_bio_ASN1_stream;
-+		i2d_ASN1_bio_stream;
-+		TS_X509_ALGOR_print_bio;
-+		EVP_PKEY_meth_set_cleanup;
-+		EVP_PKEY_asn1_free;
-+		ESS_SIGNING_CERT_free;
-+		TS_TST_INFO_set_msg_imprint;
-+		GENERAL_NAME_cmp;
-+		d2i_ASN1_SET_ANY;
-+		ENGINE_set_pkey_meths;
-+		i2d_TS_REQ_fp;
-+		d2i_ASN1_SEQUENCE_ANY;
-+		GENERAL_NAME_get0_otherName;
-+		d2i_ESS_CERT_ID;
-+		OBJ_find_sigid_algs;
-+		EVP_PKEY_meth_set_keygen;
-+		PKCS5_PBKDF2_HMAC;
-+		EVP_PKEY_paramgen;
-+		EVP_PKEY_meth_set_paramgen;
-+		BIO_new_PKCS7;
-+		EVP_PKEY_verify_recover;
-+		TS_ext_print_bio;
-+		TS_ASN1_INTEGER_print_bio;
-+		check_defer;
-+		DSO_pathbyaddr;
-+		EVP_PKEY_set_type;
-+		TS_ACCURACY_set_micros;
-+		TS_REQ_to_TS_VERIFY_CTX;
-+		EVP_PKEY_meth_set_copy;
-+		ASN1_PCTX_set_cert_flags;
-+		TS_TST_INFO_get_ext;
-+		EVP_PKEY_asn1_set_ctrl;
-+		TS_TST_INFO_get_ext_by_critical;
-+		EVP_PKEY_CTX_new_id;
-+		TS_REQ_get_ext_by_OBJ;
-+		TS_CONF_set_signer_cert;
-+		X509_NAME_hash_old;
-+		ASN1_TIME_set_string;
-+		EVP_MD_flags;
-+		TS_RESP_CTX_free;
-+		DSAparams_dup;
-+		DHparams_dup;
-+		OCSP_REQ_CTX_add1_header;
-+		OCSP_REQ_CTX_set1_req;
-+		X509_STORE_set_verify_cb;
-+		X509_STORE_CTX_get0_current_crl;
-+		X509_STORE_CTX_get0_parent_ctx;
-+		X509_STORE_CTX_get0_current_issuer;
-+		X509_STORE_CTX_get0_cur_issuer;
-+		X509_issuer_name_hash_old;
-+		X509_subject_name_hash_old;
-+		EVP_CIPHER_CTX_copy;
-+		UI_method_get_prompt_constructor;
-+		UI_method_get_prompt_constructr;
-+		UI_method_set_prompt_constructor;
-+		UI_method_set_prompt_constructr;
-+		EVP_read_pw_string_min;
-+		CRYPTO_cts128_encrypt;
-+		CRYPTO_cts128_decrypt_block;
-+		CRYPTO_cfb128_1_encrypt;
-+		CRYPTO_cbc128_encrypt;
-+		CRYPTO_ctr128_encrypt;
-+		CRYPTO_ofb128_encrypt;
-+		CRYPTO_cts128_decrypt;
-+		CRYPTO_cts128_encrypt_block;
-+		CRYPTO_cbc128_decrypt;
-+		CRYPTO_cfb128_encrypt;
-+		CRYPTO_cfb128_8_encrypt;
-+		SSL_renegotiate_abbreviated;
-+		TLSv1_1_method;
-+		TLSv1_1_client_method;
-+		TLSv1_1_server_method;
-+		SSL_CTX_set_srp_client_pwd_callback;
-+		SSL_CTX_set_srp_client_pwd_cb;
-+		SSL_get_srp_g;
-+		SSL_CTX_set_srp_username_callback;
-+		SSL_CTX_set_srp_un_cb;
-+		SSL_get_srp_userinfo;
-+		SSL_set_srp_server_param;
-+		SSL_set_srp_server_param_pw;
-+		SSL_get_srp_N;
-+		SSL_get_srp_username;
-+		SSL_CTX_set_srp_password;
-+		SSL_CTX_set_srp_strength;
-+		SSL_CTX_set_srp_verify_param_callback;
-+		SSL_CTX_set_srp_vfy_param_cb;
-+		SSL_CTX_set_srp_cb_arg;
-+		SSL_CTX_set_srp_username;
-+		SSL_CTX_SRP_CTX_init;
-+		SSL_SRP_CTX_init;
-+		SRP_Calc_A_param;
-+		SRP_generate_server_master_secret;
-+		SRP_gen_server_master_secret;
-+		SSL_CTX_SRP_CTX_free;
-+		SRP_generate_client_master_secret;
-+		SRP_gen_client_master_secret;
-+		SSL_srp_server_param_with_username;
-+		SSL_srp_server_param_with_un;
-+		SSL_SRP_CTX_free;
-+		SSL_set_debug;
-+		SSL_SESSION_get0_peer;
-+		TLSv1_2_client_method;
-+		SSL_SESSION_set1_id_context;
-+		TLSv1_2_server_method;
-+		SSL_cache_hit;
-+		SSL_get0_kssl_ctx;
-+		SSL_set0_kssl_ctx;
-+		SSL_set_state;
-+		SSL_CIPHER_get_id;
-+		TLSv1_2_method;
-+		kssl_ctx_get0_client_princ;
-+		SSL_export_keying_material;
-+		SSL_set_tlsext_use_srtp;
-+		SSL_CTX_set_next_protos_advertised_cb;
-+		SSL_CTX_set_next_protos_adv_cb;
-+		SSL_get0_next_proto_negotiated;
-+		SSL_get_selected_srtp_profile;
-+		SSL_CTX_set_tlsext_use_srtp;
-+		SSL_select_next_proto;
-+		SSL_get_srtp_profiles;
-+		SSL_CTX_set_next_proto_select_cb;
-+		SSL_CTX_set_next_proto_sel_cb;
-+		SSL_SESSION_get_compress_id;
-+
-+		SRP_VBASE_get_by_user;
-+		SRP_Calc_server_key;
-+		SRP_create_verifier;
-+		SRP_create_verifier_BN;
-+		SRP_Calc_u;
-+		SRP_VBASE_free;
-+		SRP_Calc_client_key;
-+		SRP_get_default_gN;
-+		SRP_Calc_x;
-+		SRP_Calc_B;
-+		SRP_VBASE_new;
-+		SRP_check_known_gN_param;
-+		SRP_Calc_A;
-+		SRP_Verify_A_mod_N;
-+		SRP_VBASE_init;
-+		SRP_Verify_B_mod_N;
-+		EC_KEY_set_public_key_affine_coordinates;
-+		EC_KEY_set_pub_key_aff_coords;
-+		EVP_aes_192_ctr;
-+		EVP_PKEY_meth_get0_info;
-+		EVP_PKEY_meth_copy;
-+		ERR_add_error_vdata;
-+		EVP_aes_128_ctr;
-+		EVP_aes_256_ctr;
-+		EC_GFp_nistp224_method;
-+		EC_KEY_get_flags;
-+		RSA_padding_add_PKCS1_PSS_mgf1;
-+		EVP_aes_128_xts;
-+		EVP_aes_256_xts;
-+		EVP_aes_128_gcm;
-+		EC_KEY_clear_flags;
-+		EC_KEY_set_flags;
-+		EVP_aes_256_ccm;
-+		RSA_verify_PKCS1_PSS_mgf1;
-+		EVP_aes_128_ccm;
-+		EVP_aes_192_gcm;
-+		X509_ALGOR_set_md;
-+		RAND_init_fips;
-+		EVP_aes_256_gcm;
-+		EVP_aes_192_ccm;
-+		CMAC_CTX_copy;
-+		CMAC_CTX_free;
-+		CMAC_CTX_get0_cipher_ctx;
-+		CMAC_CTX_cleanup;
-+		CMAC_Init;
-+		CMAC_Update;
-+		CMAC_resume;
-+		CMAC_CTX_new;
-+		CMAC_Final;
-+		CRYPTO_ctr128_encrypt_ctr32;
-+		CRYPTO_gcm128_release;
-+		CRYPTO_ccm128_decrypt_ccm64;
-+		CRYPTO_ccm128_encrypt;
-+		CRYPTO_gcm128_encrypt;
-+		CRYPTO_xts128_encrypt;
-+		EVP_rc4_hmac_md5;
-+		CRYPTO_nistcts128_decrypt_block;
-+		CRYPTO_gcm128_setiv;
-+		CRYPTO_nistcts128_encrypt;
-+		EVP_aes_128_cbc_hmac_sha1;
-+		CRYPTO_gcm128_tag;
-+		CRYPTO_ccm128_encrypt_ccm64;
-+		ENGINE_load_rdrand;
-+		CRYPTO_ccm128_setiv;
-+		CRYPTO_nistcts128_encrypt_block;
-+		CRYPTO_gcm128_aad;
-+		CRYPTO_ccm128_init;
-+		CRYPTO_nistcts128_decrypt;
-+		CRYPTO_gcm128_new;
-+		CRYPTO_ccm128_tag;
-+		CRYPTO_ccm128_decrypt;
-+		CRYPTO_ccm128_aad;
-+		CRYPTO_gcm128_init;
-+		CRYPTO_gcm128_decrypt;
-+		ENGINE_load_rsax;
-+		CRYPTO_gcm128_decrypt_ctr32;
-+		CRYPTO_gcm128_encrypt_ctr32;
-+		CRYPTO_gcm128_finish;
-+		EVP_aes_256_cbc_hmac_sha1;
-+		PKCS5_pbkdf2_set;
-+		CMS_add0_recipient_password;
-+		CMS_decrypt_set1_password;
-+		CMS_RecipientInfo_set0_password;
-+		RAND_set_fips_drbg_type;
-+		X509_REQ_sign_ctx;
-+		RSA_PSS_PARAMS_new;
-+		X509_CRL_sign_ctx;
-+		X509_signature_dump;
-+		d2i_RSA_PSS_PARAMS;
-+		RSA_PSS_PARAMS_it;
-+		RSA_PSS_PARAMS_free;
-+		X509_sign_ctx;
-+		i2d_RSA_PSS_PARAMS;
-+		ASN1_item_sign_ctx;
-+		EC_GFp_nistp521_method;
-+		EC_GFp_nistp256_method;
-+		OPENSSL_stderr;
-+		OPENSSL_cpuid_setup;
-+		OPENSSL_showfatal;
-+		BIO_new_dgram_sctp;
-+		BIO_dgram_sctp_msg_waiting;
-+		BIO_dgram_sctp_wait_for_dry;
-+		BIO_s_datagram_sctp;
-+		BIO_dgram_is_sctp;
-+		BIO_dgram_sctp_notification_cb;
-+		CRYPTO_memcmp;
-+		SSL_CTX_set_alpn_protos;
-+		SSL_set_alpn_protos;
-+		SSL_CTX_set_alpn_select_cb;
-+		SSL_get0_alpn_selected;
-+		SSL_CTX_set_custom_cli_ext;
-+		SSL_CTX_set_custom_srv_ext;
-+		SSL_CTX_set_srv_supp_data;
-+		SSL_CTX_set_cli_supp_data;
-+		SSL_set_cert_cb;
-+		SSL_CTX_use_serverinfo;
-+		SSL_CTX_use_serverinfo_file;
-+		SSL_CTX_set_cert_cb;
-+		SSL_CTX_get0_param;
-+		SSL_get0_param;
-+		SSL_certs_clear;
-+		DTLSv1_2_method;
-+		DTLSv1_2_server_method;
-+		DTLSv1_2_client_method;
-+		DTLS_method;
-+		DTLS_server_method;
-+		DTLS_client_method;
-+		SSL_CTX_get_ssl_method;
-+		SSL_CTX_get0_certificate;
-+		SSL_CTX_get0_privatekey;
-+		SSL_COMP_set0_compression_methods;
-+		SSL_COMP_free_compression_methods;
-+		SSL_CIPHER_find;
-+		SSL_is_server;
-+		SSL_CONF_CTX_new;
-+		SSL_CONF_CTX_finish;
-+		SSL_CONF_CTX_free;
-+		SSL_CONF_CTX_set_flags;
-+		SSL_CONF_CTX_clear_flags;
-+		SSL_CONF_CTX_set1_prefix;
-+		SSL_CONF_CTX_set_ssl;
-+		SSL_CONF_CTX_set_ssl_ctx;
-+		SSL_CONF_cmd;
-+		SSL_CONF_cmd_argv;
-+		SSL_CONF_cmd_value_type;
-+		SSL_trace;
-+		SSL_CIPHER_standard_name;
-+		SSL_get_tlsa_record_byname;
-+		ASN1_TIME_diff;
-+		BIO_hex_string;
-+		CMS_RecipientInfo_get0_pkey_ctx;
-+		CMS_RecipientInfo_encrypt;
-+		CMS_SignerInfo_get0_pkey_ctx;
-+		CMS_SignerInfo_get0_md_ctx;
-+		CMS_SignerInfo_get0_signature;
-+		CMS_RecipientInfo_kari_get0_alg;
-+		CMS_RecipientInfo_kari_get0_reks;
-+		CMS_RecipientInfo_kari_get0_orig_id;
-+		CMS_RecipientInfo_kari_orig_id_cmp;
-+		CMS_RecipientEncryptedKey_get0_id;
-+		CMS_RecipientEncryptedKey_cert_cmp;
-+		CMS_RecipientInfo_kari_set0_pkey;
-+		CMS_RecipientInfo_kari_get0_ctx;
-+		CMS_RecipientInfo_kari_decrypt;
-+		CMS_SharedInfo_encode;
-+		DH_compute_key_padded;
-+		d2i_DHxparams;
-+		i2d_DHxparams;
-+		DH_get_1024_160;
-+		DH_get_2048_224;
-+		DH_get_2048_256;
-+		DH_KDF_X9_42;
-+		ECDH_KDF_X9_62;
-+		ECDSA_METHOD_new;
-+		ECDSA_METHOD_free;
-+		ECDSA_METHOD_set_app_data;
-+		ECDSA_METHOD_get_app_data;
-+		ECDSA_METHOD_set_sign;
-+		ECDSA_METHOD_set_sign_setup;
-+		ECDSA_METHOD_set_verify;
-+		ECDSA_METHOD_set_flags;
-+		ECDSA_METHOD_set_name;
-+		EVP_des_ede3_wrap;
-+		EVP_aes_128_wrap;
-+		EVP_aes_192_wrap;
-+		EVP_aes_256_wrap;
-+		EVP_aes_128_cbc_hmac_sha256;
-+		EVP_aes_256_cbc_hmac_sha256;
-+		CRYPTO_128_wrap;
-+		CRYPTO_128_unwrap;
-+		OCSP_REQ_CTX_nbio;
-+		OCSP_REQ_CTX_new;
-+		OCSP_set_max_response_length;
-+		OCSP_REQ_CTX_i2d;
-+		OCSP_REQ_CTX_nbio_d2i;
-+		OCSP_REQ_CTX_get0_mem_bio;
-+		OCSP_REQ_CTX_http;
-+		RSA_padding_add_PKCS1_OAEP_mgf1;
-+		RSA_padding_check_PKCS1_OAEP_mgf1;
-+		RSA_OAEP_PARAMS_free;
-+		RSA_OAEP_PARAMS_it;
-+		RSA_OAEP_PARAMS_new;
-+		SSL_get_sigalgs;
-+		SSL_get_shared_sigalgs;
-+		SSL_check_chain;
-+		X509_chain_up_ref;
-+		X509_http_nbio;
-+		X509_CRL_http_nbio;
-+		X509_REVOKED_dup;
-+		i2d_re_X509_tbs;
-+		X509_get0_signature;
-+		X509_get_signature_nid;
-+		X509_CRL_diff;
-+		X509_chain_check_suiteb;
-+		X509_CRL_check_suiteb;
-+		X509_check_host;
-+		X509_check_email;
-+		X509_check_ip;
-+		X509_check_ip_asc;
-+		X509_STORE_set_lookup_crls_cb;
-+		X509_STORE_CTX_get0_store;
-+		X509_VERIFY_PARAM_set1_host;
-+		X509_VERIFY_PARAM_add1_host;
-+		X509_VERIFY_PARAM_set_hostflags;
-+		X509_VERIFY_PARAM_get0_peername;
-+		X509_VERIFY_PARAM_set1_email;
-+		X509_VERIFY_PARAM_set1_ip;
-+		X509_VERIFY_PARAM_set1_ip_asc;
-+		X509_VERIFY_PARAM_get0_name;
-+		X509_VERIFY_PARAM_get_count;
-+		X509_VERIFY_PARAM_get0;
-+		X509V3_EXT_free;
-+		EC_GROUP_get_mont_data;
-+		EC_curve_nid2nist;
-+		EC_curve_nist2nid;
-+		PEM_write_bio_DHxparams;
-+		PEM_write_DHxparams;
-+		SSL_CTX_add_client_custom_ext;
-+		SSL_CTX_add_server_custom_ext;
-+		SSL_extension_supported;
-+		BUF_strnlen;
-+		sk_deep_copy;
-+		SSL_test_functions;
-+
-+	local:
-+		*;
-+};
-+
-+OPENSSL_1.0.2g {
-+       global:
-+               SRP_VBASE_get1_by_user;
-+               SRP_user_pwd_free;
-+} OPENSSL_1.0.2d;
-+
-Index: openssl-1.0.2~beta1.obsolete.0.0498436515490575/engines/openssl.ld
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ openssl-1.0.2~beta1.obsolete.0.0498436515490575/engines/openssl.ld	2014-02-24 21:02:30.000000000 +0100
-@@ -0,0 +1,10 @@
-+OPENSSL_1.0.2 {
-+	global:
-+		bind_engine;
-+		v_check;
-+		OPENSSL_init;
-+		OPENSSL_finish;
-+	local:
-+		*;
-+};
-+
-Index: openssl-1.0.2~beta1.obsolete.0.0498436515490575/engines/ccgost/openssl.ld
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ openssl-1.0.2~beta1.obsolete.0.0498436515490575/engines/ccgost/openssl.ld	2014-02-24 21:02:30.000000000 +0100
-@@ -0,0 +1,10 @@
-+OPENSSL_1.0.2 {
-+	global:
-+		bind_engine;
-+		v_check;
-+		OPENSSL_init;
-+		OPENSSL_finish;
-+	local:
-+		*;
-+};
-+
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/engines-install-in-libdir-ssl.patch b/poky/meta/recipes-connectivity/openssl/openssl10/engines-install-in-libdir-ssl.patch
deleted file mode 100644
index a574648..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/engines-install-in-libdir-ssl.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-
-Index: openssl-1.0.2/engines/Makefile
-===================================================================
---- openssl-1.0.2.orig/engines/Makefile
-+++ openssl-1.0.2/engines/Makefile
-@@ -107,13 +107,13 @@ install:
- 	@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
- 	@if [ -n "$(SHARED_LIBS)" ]; then \
- 		set -e; \
--		$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines; \
-+		$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines; \
- 		for l in $(LIBNAMES); do \
- 			( echo installing $$l; \
- 			  pfx=lib; \
- 			  if expr "$(PLATFORM)" : "Cygwin" >/dev/null; then \
- 				sfx=".so"; \
--				cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
-+				cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx.new; \
- 			  else \
- 				case "$(CFLAGS)" in \
- 				*DSO_BEOS*)	sfx=".so";;	\
-@@ -122,10 +122,10 @@ install:
- 				*DSO_WIN32*)	sfx="eay32.dll"; pfx=;;	\
- 				*)		sfx=".bad";;	\
- 				esac; \
--				cp $$pfx$$l$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
-+				cp $$pfx$$l$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx.new; \
- 			  fi; \
--			  chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
--			  mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \
-+			  chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx.new; \
-+			  mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx ); \
- 		done; \
- 	fi
- 	@target=install; $(RECURSIVE_MAKE)
-Index: openssl-1.0.2/engines/ccgost/Makefile
-===================================================================
---- openssl-1.0.2.orig/engines/ccgost/Makefile
-+++ openssl-1.0.2/engines/ccgost/Makefile
-@@ -47,7 +47,7 @@ install:
- 		pfx=lib; \
- 		if expr "$(PLATFORM)" : "Cygwin" >/dev/null; then \
- 			sfx=".so"; \
--			cp cyg$(LIBNAME).dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx.new; \
-+			cp cyg$(LIBNAME).dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$${pfx}$(LIBNAME)$$sfx.new; \
- 		else \
- 			case "$(CFLAGS)" in \
- 			*DSO_BEOS*) sfx=".so";; \
-@@ -56,10 +56,10 @@ install:
- 			*DSO_WIN32*) sfx="eay32.dll"; pfx=;; \
- 			*) sfx=".bad";; \
- 			esac; \
--			cp $${pfx}$(LIBNAME)$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx.new; \
-+			cp $${pfx}$(LIBNAME)$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$${pfx}$(LIBNAME)$$sfx.new; \
- 		fi; \
--		chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx.new; \
--		mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx; \
-+		chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$${pfx}$(LIBNAME)$$sfx.new; \
-+		mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$${pfx}$(LIBNAME)$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$${pfx}$(LIBNAME)$$sfx; \
- 	fi
- 
- links:
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/oe-ldflags.patch b/poky/meta/recipes-connectivity/openssl/openssl10/oe-ldflags.patch
deleted file mode 100644
index 292e13d..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/oe-ldflags.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Upstream-Status: Inappropriate [open-embedded]
-
-Index: openssl-1.0.0/Makefile.shared
-===================================================================
---- openssl-1.0.0.orig/Makefile.shared
-+++ openssl-1.0.0/Makefile.shared
-@@ -92,7 +92,7 @@
- LINK_APP=	\
-   ( $(SET_X);   \
-     LIBDEPS="$${LIBDEPS:-$(LIBDEPS)}"; \
--    LDCMD="$${LDCMD:-$(CC)}"; LDFLAGS="$${LDFLAGS:-$(CFLAGS)}"; \
-+    LDCMD="$${LDCMD:-$(CC)}"; LDFLAGS="$(OE_LDFLAGS) $${LDFLAGS:-$(CFLAGS)}"; \
-     LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
-     LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
-     LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
-@@ -102,7 +102,7 @@
-   ( $(SET_X);   \
-     LIBDEPS="$${LIBDEPS:-$(LIBDEPS)}"; \
-     SHAREDCMD="$${SHAREDCMD:-$(CC)}"; \
--    SHAREDFLAGS="$${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
-+    SHAREDFLAGS="$(OE_LDFLAGS) $${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
-     LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
-     LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
-     LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/openssl-c_rehash.sh b/poky/meta/recipes-connectivity/openssl/openssl10/openssl-c_rehash.sh
deleted file mode 100644
index 6620fdc..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/openssl-c_rehash.sh
+++ /dev/null
@@ -1,222 +0,0 @@
-#!/bin/sh
-#
-# Ben Secrest <blsecres@gmail.com>
-#
-# sh c_rehash script, scan all files in a directory
-# and add symbolic links to their hash values.
-#
-# based on the c_rehash perl script distributed with openssl
-#
-# LICENSE: See OpenSSL license
-# ^^acceptable?^^
-#
-
-# default certificate location
-DIR=/etc/openssl
-
-# for filetype bitfield
-IS_CERT=$(( 1 << 0 ))
-IS_CRL=$(( 1 << 1 ))
-
-
-# check to see if a file is a certificate file or a CRL file
-# arguments:
-#       1. the filename to be scanned
-# returns:
-#       bitfield of file type; uses ${IS_CERT} and ${IS_CRL}
-#
-check_file()
-{
-    local IS_TYPE=0
-
-    # make IFS a newline so we can process grep output line by line
-    local OLDIFS=${IFS}
-    IFS=$( printf "\n" )
-
-    # XXX: could be more efficient to have two 'grep -m' but is -m portable?
-    for LINE in $( grep '^-----BEGIN .*-----' ${1} )
-    do
-	if echo ${LINE} \
-	    | grep -q -E '^-----BEGIN (X509 |TRUSTED )?CERTIFICATE-----'
-	then
-	    IS_TYPE=$(( ${IS_TYPE} | ${IS_CERT} ))
-
-	    if [ $(( ${IS_TYPE} & ${IS_CRL} )) -ne 0 ]
-	    then
-	    	break
-	    fi
-	elif echo ${LINE} | grep -q '^-----BEGIN X509 CRL-----'
-	then
-	    IS_TYPE=$(( ${IS_TYPE} | ${IS_CRL} ))
-
-	    if [ $(( ${IS_TYPE} & ${IS_CERT} )) -ne 0 ]
-	    then
-	    	break
-	    fi
-	fi
-    done
-
-    # restore IFS
-    IFS=${OLDIFS}
-
-    return ${IS_TYPE}
-}
-
-
-#
-# use openssl to fingerprint a file
-#    arguments:
-#	1. the filename to fingerprint
-#	2. the method to use (x509, crl)
-#    returns:
-#	none
-#    assumptions:
-#	user will capture output from last stage of pipeline
-#
-fingerprint()
-{
-    ${SSL_CMD} ${2} -fingerprint -noout -in ${1} | sed 's/^.*=//' | tr -d ':'
-}
-
-
-#
-# link_hash - create links to certificate files
-#    arguments:
-#       1. the filename to create a link for
-#	2. the type of certificate being linked (x509, crl)
-#    returns:
-#	0 on success, 1 otherwise
-#
-link_hash()
-{
-    local FINGERPRINT=$( fingerprint ${1} ${2} )
-    local HASH=$( ${SSL_CMD} ${2} -hash -noout -in ${1} )
-    local SUFFIX=0
-    local LINKFILE=''
-    local TAG=''
-
-    if [ ${2} = "crl" ]
-    then
-    	TAG='r'
-    fi
-
-    LINKFILE=${HASH}.${TAG}${SUFFIX}
-
-    while [ -f ${LINKFILE} ]
-    do
-	if [ ${FINGERPRINT} = $( fingerprint ${LINKFILE} ${2} ) ]
-	then
-	    echo "NOTE: Skipping duplicate file ${1}" >&2
-	    return 1
-	fi	
-
-	SUFFIX=$(( ${SUFFIX} + 1 ))
-	LINKFILE=${HASH}.${TAG}${SUFFIX}
-    done
-
-    echo "${3} => ${LINKFILE}"
-
-    # assume any system with a POSIX shell will either support symlinks or
-    # do something to handle this gracefully
-    ln -s ${3} ${LINKFILE}
-
-    return 0
-}
-
-
-# hash_dir create hash links in a given directory
-hash_dir()
-{
-    echo "Doing ${1}"
-
-    cd ${1}
-
-    ls -1 * 2>/dev/null | while read FILE
-    do
-        if echo ${FILE} | grep -q -E '^[[:xdigit:]]{8}\.r?[[:digit:]]+$' \
-	    	&& [ -h "${FILE}" ]
-        then
-            rm ${FILE}
-        fi
-    done
-
-    ls -1 *.pem *.cer *.crt *.crl 2>/dev/null | while read FILE
-    do
-	REAL_FILE=${FILE}
-	# if we run on build host then get to the real files in rootfs
-	if [ -n "${SYSROOT}" -a -h ${FILE} ]
-	then
-	    FILE=$( readlink ${FILE} )
-	    # check the symlink is absolute (or dangling in other word)
-	    if [ "x/" = "x$( echo ${FILE} | cut -c1 -)" ]
-	    then
-		REAL_FILE=${SYSROOT}/${FILE}
-	    fi
-	fi
-
-	check_file ${REAL_FILE}
-        local FILE_TYPE=${?}
-	local TYPE_STR=''
-
-        if [ $(( ${FILE_TYPE} & ${IS_CERT} )) -ne 0 ]
-        then
-            TYPE_STR='x509'
-        elif [ $(( ${FILE_TYPE} & ${IS_CRL} )) -ne 0 ]
-        then
-            TYPE_STR='crl'
-        else
-            echo "NOTE: ${FILE} does not contain a certificate or CRL: skipping" >&2
-	    continue
-        fi
-
-	link_hash ${REAL_FILE} ${TYPE_STR} ${FILE}
-    done
-}
-
-
-# choose the name of an ssl application
-if [ -n "${OPENSSL}" ]
-then
-    SSL_CMD=$(which ${OPENSSL} 2>/dev/null)
-else
-    SSL_CMD=/usr/bin/openssl
-    OPENSSL=${SSL_CMD}
-    export OPENSSL
-fi
-
-# fix paths
-PATH=${PATH}:${DIR}/bin
-export PATH
-
-# confirm existance/executability of ssl command
-if ! [ -x ${SSL_CMD} ]
-then
-    echo "${0}: rehashing skipped ('openssl' program not available)" >&2
-    exit 0
-fi
-
-# determine which directories to process
-old_IFS=$IFS
-if [ ${#} -gt 0 ]
-then
-    IFS=':'
-    DIRLIST=${*}
-elif [ -n "${SSL_CERT_DIR}" ]
-then
-    DIRLIST=$SSL_CERT_DIR
-else
-    DIRLIST=${DIR}/certs
-fi
-
-IFS=':'
-
-# process directories
-for CERT_DIR in ${DIRLIST}
-do
-    if [ -d ${CERT_DIR} -a -w ${CERT_DIR} ]
-    then
-        IFS=$old_IFS
-        hash_dir ${CERT_DIR}
-        IFS=':'
-    fi
-done
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/openssl-fix-des.pod-error.patch b/poky/meta/recipes-connectivity/openssl/openssl10/openssl-fix-des.pod-error.patch
deleted file mode 100644
index de49729..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/openssl-fix-des.pod-error.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-openssl: Fix pod2man des.pod error on Ubuntu 12.04
-
-This is a formatting fix, '=back' is required before
-'=head1' on Ubuntu 12.04.
-
-Upstream-Status: Pending
-Signed-off-by: Baogen Shang <baogen.shang@windriver.com>
-diff -urpN a_origin/des.pod b_modify/des.pod
---- a_origin/crypto/des/des.pod	2013-08-15 15:02:56.211674589 +0800
-+++ b_modify/crypto/des/des.pod	2013-08-15 15:04:14.439674580 +0800
-@@ -181,6 +181,8 @@ the uuencoded file to embed in the begin
- output.  If there is no name specified after the B<-u>, the name text.des
- will be embedded in the header.
- 
-+=back
-+
- =head1 SEE ALSO
- 
- ps(1),
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/openssl_fix_for_x32.patch b/poky/meta/recipes-connectivity/openssl/openssl10/openssl_fix_for_x32.patch
deleted file mode 100644
index 0f08a64..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/openssl_fix_for_x32.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Upstream-Status: Pending
-
-Received from H J Liu @ Intel
-Make the assembly syntax compatible with x32 gcc. Othewise x32 gcc throws errors.
-Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/07/13
-
-ported the patch to the 1.0.0e version
-Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/01
-Index: openssl-1.0.2/crypto/bn/bn.h
-===================================================================
---- openssl-1.0.2.orig/crypto/bn/bn.h
-+++ openssl-1.0.2/crypto/bn/bn.h
-@@ -173,6 +173,13 @@ extern "C" {
- #  endif
- # endif
- 
-+/* Address type.  */
-+#ifdef _WIN64
-+#define BN_ADDR unsigned long long
-+#else
-+#define BN_ADDR unsigned long
-+#endif
-+
- /*
-  * assuming long is 64bit - this is the DEC Alpha unsigned long long is only
-  * 64 bits :-(, don't define BN_LLONG for the DEC Alpha
-Index: openssl-1.0.2/crypto/bn/bn_exp.c
-===================================================================
---- openssl-1.0.2.orig/crypto/bn/bn_exp.c
-+++ openssl-1.0.2/crypto/bn/bn_exp.c
-@@ -638,7 +638,7 @@ static int MOD_EXP_CTIME_COPY_FROM_PREBU
-  * multiple.
-  */
- #define MOD_EXP_CTIME_ALIGN(x_) \
--        ((unsigned char*)(x_) + (MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH - (((size_t)(x_)) & (MOD_EXP_CTIME_MIN_CACHE_LINE_MASK))))
-+	((unsigned char*)(x_) + (MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH - (((BN_ADDR)(x_)) & (MOD_EXP_CTIME_MIN_CACHE_LINE_MASK))))
- 
- /*
-  * This variant of BN_mod_exp_mont() uses fixed windows and the special
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/parallel.patch b/poky/meta/recipes-connectivity/openssl/openssl10/parallel.patch
deleted file mode 100644
index 41abf3d..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/parallel.patch
+++ /dev/null
@@ -1,368 +0,0 @@
-From 7fb1192f112c1920bfd39f4185f34e9afff3cff2 Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Sat, 5 Mar 2016 00:12:02 +0000
-Subject: [PATCH 24/28] Fix the parallel races in the Makefiles.
-
-This patch was taken from the Gentoo packaging:
-https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-libs/openssl/files/openssl-1.0.2g-parallel-build.patch
-
-Upstream-Status: Pending
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-Refreshed for 1.0.2i
-Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
-
----
- Makefile.org                                   | 14 ++--
- Makefile.shared                                |  2 +
- crypto/Makefile                                | 10 +--
- engines/Makefile                               |  6 +-
- test/Makefile                                  | 94 +++++++++++-----------
- 5 files changed, 64 insertions(+), 62 deletions(-)
-
-diff --git a/Makefile.org b/Makefile.org
-index efcfafb..82eab91 100644
---- a/Makefile.org
-+++ b/Makefile.org
-@@ -282,17 +282,17 @@ build_libcrypto: build_crypto build_engines libcrypto.pc
- build_libssl: build_ssl libssl.pc
- 
- build_crypto:
--	@dir=crypto; target=all; $(BUILD_ONE_CMD)
-+	+@dir=crypto; target=all; $(BUILD_ONE_CMD)
- build_ssl: build_crypto
--	@dir=ssl; target=all; $(BUILD_ONE_CMD)
-+	+@dir=ssl; target=all; $(BUILD_ONE_CMD)
- build_engines: build_crypto
--	@dir=engines; target=all; $(BUILD_ONE_CMD)
-+	+@dir=engines; target=all; $(BUILD_ONE_CMD)
- build_apps: build_libs
--	@dir=apps; target=all; $(BUILD_ONE_CMD)
-+	+@dir=apps; target=all; $(BUILD_ONE_CMD)
- build_tests: build_libs
--	@dir=test; target=all; $(BUILD_ONE_CMD)
-+	+@dir=test; target=all; $(BUILD_ONE_CMD)
- build_tools: build_libs
--	@dir=tools; target=all; $(BUILD_ONE_CMD)
-+	+@dir=tools; target=all; $(BUILD_ONE_CMD)
- 
- all_testapps: build_libs build_testapps
- build_testapps:
-@@ -564,7 +564,7 @@ install_sw:
- 	(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
- 	chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
- 	done;
--	@set -e; target=install; $(RECURSIVE_BUILD_CMD)
-+	+@set -e; target=install; $(RECURSIVE_BUILD_CMD)
- 	@set -e; liblist="$(LIBS)"; for i in $$liblist ;\
- 	do \
- 		if [ -f "$$i" ]; then \
-diff --git a/Makefile.shared b/Makefile.shared
-index bbefb2b..18013a9 100644
---- a/Makefile.shared
-+++ b/Makefile.shared
-@@ -105,6 +105,7 @@ LINK_SO=	\
-     SHAREDFLAGS="$(OE_LDFLAGS) $${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
-     LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
-     LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
-+    [ -e $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX ] && exit 0; \
-     LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
-     $${SHAREDCMD} $${SHAREDFLAGS} \
- 	-o $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX \
-@@ -122,6 +123,7 @@ SYMLINK_SO=	\
- 			done; \
- 		fi; \
- 		if [ -n "$$SHLIB_SOVER" ]; then \
-+			[ -e "$$SHLIB$$SHLIB_SUFFIX" ] || \
- 			( $(SET_X); rm -f $$SHLIB$$SHLIB_SUFFIX; \
- 			  ln -s $$prev $$SHLIB$$SHLIB_SUFFIX ); \
- 		fi; \
-diff --git a/crypto/Makefile b/crypto/Makefile
-index 875ea1a..c22b683 100644
---- a/crypto/Makefile
-+++ b/crypto/Makefile
-@@ -85,11 +85,11 @@ testapps:
- 	@if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
- 
- subdirs:
--	@target=all; $(RECURSIVE_MAKE)
-+	+@target=all; $(RECURSIVE_MAKE)
- 
- files:
- 	$(PERL) $(TOP)/util/files.pl "CPUID_OBJ=$(CPUID_OBJ)" Makefile >> $(TOP)/MINFO
--	@target=files; $(RECURSIVE_MAKE)
-+	+@target=files; $(RECURSIVE_MAKE)
- 
- links:
- 	@$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
-@@ -100,7 +100,7 @@ links:
- # lib: $(LIB): are splitted to avoid end-less loop
- lib:	$(LIB)
- 	@touch lib
--$(LIB):	$(LIBOBJ)
-+$(LIB):	$(LIBOBJ) | subdirs
- 	$(AR) $(LIB) $(LIBOBJ)
- 	test -z "$(FIPSLIBDIR)" || $(AR) $(LIB) $(FIPSLIBDIR)fipscanister.o
- 	$(RANLIB) $(LIB) || echo Never mind.
-@@ -111,7 +111,7 @@ shared: buildinf.h lib subdirs
- 	fi
- 
- libs:
--	@target=lib; $(RECURSIVE_MAKE)
-+	+@target=lib; $(RECURSIVE_MAKE)
- 
- install:
- 	@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
-@@ -120,7 +120,7 @@ install:
- 	(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
- 	chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
- 	done;
--	@target=install; $(RECURSIVE_MAKE)
-+	+@target=install; $(RECURSIVE_MAKE)
- 
- lint:
- 	@target=lint; $(RECURSIVE_MAKE)
-diff --git a/engines/Makefile b/engines/Makefile
-index fe8e9ca..a43d21b 100644
---- a/engines/Makefile
-+++ b/engines/Makefile
-@@ -72,7 +72,7 @@ top:
- 
- all:	lib subdirs
- 
--lib:	$(LIBOBJ)
-+lib:	$(LIBOBJ) | subdirs
- 	@if [ -n "$(SHARED_LIBS)" ]; then \
- 		set -e; \
- 		for l in $(LIBNAMES); do \
-@@ -89,7 +89,7 @@ lib:	$(LIBOBJ)
- 
- subdirs:
- 	echo $(EDIRS)
--	@target=all; $(RECURSIVE_MAKE)
-+	+@target=all; $(RECURSIVE_MAKE)
- 
- files:
- 	$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
-@@ -128,7 +128,7 @@ install:
- 			  mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx ); \
- 		done; \
- 	fi
--	@target=install; $(RECURSIVE_MAKE)
-+	+@target=install; $(RECURSIVE_MAKE)
- 
- tags:
- 	ctags $(SRC)
-diff --git a/test/Makefile b/test/Makefile
-index 36506cf..c69af8b 100644
---- a/test/Makefile
-+++ b/test/Makefile
-@@ -145,7 +145,7 @@ install:
- tags:
- 	ctags $(SRC)
- 
--tests:	exe apps $(TESTS)
-+tests:	exe $(TESTS)
- 
- apps:
- 	@(cd ..; $(MAKE) DIRS=apps all)
-@@ -448,142 +448,142 @@ BUILD_CMD_STATIC=shlib_target=; \
- 		link_app.$${shlib_target}
- 
- $(RSATEST)$(EXE_EXT): $(RSATEST).o $(DLIBCRYPTO)
--	@target=$(RSATEST); $(BUILD_CMD)
-+	+@target=$(RSATEST); $(BUILD_CMD)
- 
- $(BNTEST)$(EXE_EXT): $(BNTEST).o $(DLIBCRYPTO)
--	@target=$(BNTEST); $(BUILD_CMD)
-+	+@target=$(BNTEST); $(BUILD_CMD)
- 
- $(ECTEST)$(EXE_EXT): $(ECTEST).o $(DLIBCRYPTO)
--	@target=$(ECTEST); $(BUILD_CMD)
-+	+@target=$(ECTEST); $(BUILD_CMD)
- 
- $(EXPTEST)$(EXE_EXT): $(EXPTEST).o $(DLIBCRYPTO)
--	@target=$(EXPTEST); $(BUILD_CMD)
-+	+@target=$(EXPTEST); $(BUILD_CMD)
- 
- $(IDEATEST)$(EXE_EXT): $(IDEATEST).o $(DLIBCRYPTO)
--	@target=$(IDEATEST); $(BUILD_CMD)
-+	+@target=$(IDEATEST); $(BUILD_CMD)
- 
- $(MD2TEST)$(EXE_EXT): $(MD2TEST).o $(DLIBCRYPTO)
--	@target=$(MD2TEST); $(BUILD_CMD)
-+	+@target=$(MD2TEST); $(BUILD_CMD)
- 
- $(SHATEST)$(EXE_EXT): $(SHATEST).o $(DLIBCRYPTO)
--	@target=$(SHATEST); $(BUILD_CMD)
-+	+@target=$(SHATEST); $(BUILD_CMD)
- 
- $(SHA1TEST)$(EXE_EXT): $(SHA1TEST).o $(DLIBCRYPTO)
--	@target=$(SHA1TEST); $(BUILD_CMD)
-+	+@target=$(SHA1TEST); $(BUILD_CMD)
- 
- $(SHA256TEST)$(EXE_EXT): $(SHA256TEST).o $(DLIBCRYPTO)
--	@target=$(SHA256TEST); $(BUILD_CMD)
-+	+@target=$(SHA256TEST); $(BUILD_CMD)
- 
- $(SHA512TEST)$(EXE_EXT): $(SHA512TEST).o $(DLIBCRYPTO)
--	@target=$(SHA512TEST); $(BUILD_CMD)
-+	+@target=$(SHA512TEST); $(BUILD_CMD)
- 
- $(RMDTEST)$(EXE_EXT): $(RMDTEST).o $(DLIBCRYPTO)
--	@target=$(RMDTEST); $(BUILD_CMD)
-+	+@target=$(RMDTEST); $(BUILD_CMD)
- 
- $(MDC2TEST)$(EXE_EXT): $(MDC2TEST).o $(DLIBCRYPTO)
--	@target=$(MDC2TEST); $(BUILD_CMD)
-+	+@target=$(MDC2TEST); $(BUILD_CMD)
- 
- $(MD4TEST)$(EXE_EXT): $(MD4TEST).o $(DLIBCRYPTO)
--	@target=$(MD4TEST); $(BUILD_CMD)
-+	+@target=$(MD4TEST); $(BUILD_CMD)
- 
- $(MD5TEST)$(EXE_EXT): $(MD5TEST).o $(DLIBCRYPTO)
--	@target=$(MD5TEST); $(BUILD_CMD)
-+	+@target=$(MD5TEST); $(BUILD_CMD)
- 
- $(HMACTEST)$(EXE_EXT): $(HMACTEST).o $(DLIBCRYPTO)
--	@target=$(HMACTEST); $(BUILD_CMD)
-+	+@target=$(HMACTEST); $(BUILD_CMD)
- 
- $(WPTEST)$(EXE_EXT): $(WPTEST).o $(DLIBCRYPTO)
--	@target=$(WPTEST); $(BUILD_CMD)
-+	+@target=$(WPTEST); $(BUILD_CMD)
- 
- $(RC2TEST)$(EXE_EXT): $(RC2TEST).o $(DLIBCRYPTO)
--	@target=$(RC2TEST); $(BUILD_CMD)
-+	+@target=$(RC2TEST); $(BUILD_CMD)
- 
- $(BFTEST)$(EXE_EXT): $(BFTEST).o $(DLIBCRYPTO)
--	@target=$(BFTEST); $(BUILD_CMD)
-+	+@target=$(BFTEST); $(BUILD_CMD)
- 
- $(CASTTEST)$(EXE_EXT): $(CASTTEST).o $(DLIBCRYPTO)
--	@target=$(CASTTEST); $(BUILD_CMD)
-+	+@target=$(CASTTEST); $(BUILD_CMD)
- 
- $(RC4TEST)$(EXE_EXT): $(RC4TEST).o $(DLIBCRYPTO)
--	@target=$(RC4TEST); $(BUILD_CMD)
-+	+@target=$(RC4TEST); $(BUILD_CMD)
- 
- $(RC5TEST)$(EXE_EXT): $(RC5TEST).o $(DLIBCRYPTO)
--	@target=$(RC5TEST); $(BUILD_CMD)
-+	+@target=$(RC5TEST); $(BUILD_CMD)
- 
- $(DESTEST)$(EXE_EXT): $(DESTEST).o $(DLIBCRYPTO)
--	@target=$(DESTEST); $(BUILD_CMD)
-+	+@target=$(DESTEST); $(BUILD_CMD)
- 
- $(RANDTEST)$(EXE_EXT): $(RANDTEST).o $(DLIBCRYPTO)
--	@target=$(RANDTEST); $(BUILD_CMD)
-+	+@target=$(RANDTEST); $(BUILD_CMD)
- 
- $(DHTEST)$(EXE_EXT): $(DHTEST).o $(DLIBCRYPTO)
--	@target=$(DHTEST); $(BUILD_CMD)
-+	+@target=$(DHTEST); $(BUILD_CMD)
- 
- $(DSATEST)$(EXE_EXT): $(DSATEST).o $(DLIBCRYPTO)
--	@target=$(DSATEST); $(BUILD_CMD)
-+	+@target=$(DSATEST); $(BUILD_CMD)
- 
- $(METHTEST)$(EXE_EXT): $(METHTEST).o $(DLIBCRYPTO)
--	@target=$(METHTEST); $(BUILD_CMD)
-+	+@target=$(METHTEST); $(BUILD_CMD)
- 
- $(SSLTEST)$(EXE_EXT): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO)
--	@target=$(SSLTEST); $(FIPS_BUILD_CMD)
-+	+@target=$(SSLTEST); $(FIPS_BUILD_CMD)
- 
- $(ENGINETEST)$(EXE_EXT): $(ENGINETEST).o $(DLIBCRYPTO)
--	@target=$(ENGINETEST); $(BUILD_CMD)
-+	+@target=$(ENGINETEST); $(BUILD_CMD)
- 
- $(EVPTEST)$(EXE_EXT): $(EVPTEST).o $(DLIBCRYPTO)
--	@target=$(EVPTEST); $(BUILD_CMD)
-+	+@target=$(EVPTEST); $(BUILD_CMD)
- 
- $(EVPEXTRATEST)$(EXE_EXT): $(EVPEXTRATEST).o $(DLIBCRYPTO)
--	@target=$(EVPEXTRATEST); $(BUILD_CMD)
-+	+@target=$(EVPEXTRATEST); $(BUILD_CMD)
- 
- $(ECDSATEST)$(EXE_EXT): $(ECDSATEST).o $(DLIBCRYPTO)
--	@target=$(ECDSATEST); $(BUILD_CMD)
-+	+@target=$(ECDSATEST); $(BUILD_CMD)
- 
- $(ECDHTEST)$(EXE_EXT): $(ECDHTEST).o $(DLIBCRYPTO)
--	@target=$(ECDHTEST); $(BUILD_CMD)
-+	+@target=$(ECDHTEST); $(BUILD_CMD)
- 
- $(IGETEST)$(EXE_EXT): $(IGETEST).o $(DLIBCRYPTO)
--	@target=$(IGETEST); $(BUILD_CMD)
-+	+@target=$(IGETEST); $(BUILD_CMD)
- 
- $(JPAKETEST)$(EXE_EXT): $(JPAKETEST).o $(DLIBCRYPTO)
--	@target=$(JPAKETEST); $(BUILD_CMD)
-+	+@target=$(JPAKETEST); $(BUILD_CMD)
- 
- $(ASN1TEST)$(EXE_EXT): $(ASN1TEST).o $(DLIBCRYPTO)
--	@target=$(ASN1TEST); $(BUILD_CMD)
-+	+@target=$(ASN1TEST); $(BUILD_CMD)
- 
- $(SRPTEST)$(EXE_EXT): $(SRPTEST).o $(DLIBCRYPTO)
--	@target=$(SRPTEST); $(BUILD_CMD)
-+	+@target=$(SRPTEST); $(BUILD_CMD)
- 
- $(V3NAMETEST)$(EXE_EXT): $(V3NAMETEST).o $(DLIBCRYPTO)
--	@target=$(V3NAMETEST); $(BUILD_CMD)
-+	+@target=$(V3NAMETEST); $(BUILD_CMD)
- 
- $(HEARTBEATTEST)$(EXE_EXT): $(HEARTBEATTEST).o $(DLIBCRYPTO)
--	@target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC)
-+	+@target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC)
- 
- $(CONSTTIMETEST)$(EXE_EXT): $(CONSTTIMETEST).o
--	@target=$(CONSTTIMETEST) $(BUILD_CMD)
-+	+@target=$(CONSTTIMETEST) $(BUILD_CMD)
- 
- $(VERIFYEXTRATEST)$(EXE_EXT): $(VERIFYEXTRATEST).o
--	@target=$(VERIFYEXTRATEST) $(BUILD_CMD)
-+	+@target=$(VERIFYEXTRATEST) $(BUILD_CMD)
- 
- $(CLIENTHELLOTEST)$(EXE_EXT): $(CLIENTHELLOTEST).o
--	@target=$(CLIENTHELLOTEST) $(BUILD_CMD)
-+	+@target=$(CLIENTHELLOTEST) $(BUILD_CMD)
- 
- $(BADDTLSTEST)$(EXE_EXT): $(BADDTLSTEST).o
--	@target=$(BADDTLSTEST) $(BUILD_CMD)
-+	+@target=$(BADDTLSTEST) $(BUILD_CMD)
- 
- $(FATALERRTEST)$(EXE_EXT): $(FATALERRTEST).o ssltestlib.o $(DLIBSSL) $(DLIBCRYPTO)
- 	@target=$(FATALERRTEST); exobj=ssltestlib.o; $(BUILD_CMD)
-
- $(X509TIMETEST)$(EXE_EXT): $(X509TIMETEST).o
--	@target=$(X509TIMETEST) $(BUILD_CMD)
-+	+@target=$(X509TIMETEST) $(BUILD_CMD)
-
- $(SSLV2CONFTEST)$(EXE_EXT): $(SSLV2CONFTEST).o
--	@target=$(SSLV2CONFTEST) $(BUILD_CMD)
-+	+@target=$(SSLV2CONFTEST) $(BUILD_CMD)
- 
- $(DTLSTEST)$(EXE_EXT): $(DTLSTEST).o ssltestlib.o $(DLIBSSL) $(DLIBCRYPTO)
--	@target=$(DTLSTEST); exobj=ssltestlib.o; $(BUILD_CMD)
-+	+@target=$(DTLSTEST); exobj=ssltestlib.o; $(BUILD_CMD)
- 
- #$(AESTEST).o: $(AESTEST).c
- #	$(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(AESTEST).c
-@@ -596,7 +596,7 @@ $(DTLSTEST)$(EXE_EXT): $(DTLSTEST).o ssltestlib.o $(DLIBSSL) $(DLIBCRYPTO)
- #	fi
- 
- dummytest$(EXE_EXT): dummytest.o $(DLIBCRYPTO)
--	@target=dummytest; $(BUILD_CMD)
-+	+@target=dummytest; $(BUILD_CMD)
- 
- # DO NOT DELETE THIS LINE -- make depend depends on it.
- 
--- 
-2.15.1
-
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/ptest-deps.patch b/poky/meta/recipes-connectivity/openssl/openssl10/ptest-deps.patch
deleted file mode 100644
index ef6d179..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/ptest-deps.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Remove Makefile dependencies for test targets
-
-These are probably here because the executables aren't always built for
-other platforms (e.g. Windows); however we can safely assume they'll
-always be there. None of the other test targets have such dependencies
-and if we don't remove them, make tries to rebuild the executables and
-fails during run-ptest.
-
-Upstream-Status: Inappropriate [config]
-
-Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-
-Index: openssl-1.0.2/test/Makefile
-===================================================================
---- openssl-1.0.2.orig/test/Makefile
-+++ openssl-1.0.2/test/Makefile
-@@ -330,7 +330,7 @@ test_cms: ../apps/openssl$(EXE_EXT) cms-
- 	@echo "CMS consistency test"
- 	$(PERL) cms-test.pl
- 
--test_srp: $(SRPTEST)$(EXE_EXT)
-+test_srp:
- 	@echo "Test SRP"
- 	../util/shlib_wrap.sh ./srptest
- 
-@@ -342,7 +342,7 @@ test_v3name: $(V3NAMETEST)$(EXE_EXT)
- 	@echo "Test X509v3_check_*"
- 	../util/shlib_wrap.sh ./$(V3NAMETEST)
- 
--test_heartbeat: $(HEARTBEATTEST)$(EXE_EXT)
-+test_heartbeat:
- 	../util/shlib_wrap.sh ./$(HEARTBEATTEST)
- 
- test_constant_time: $(CONSTTIMETEST)$(EXE_EXT)
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/ptest_makefile_deps.patch b/poky/meta/recipes-connectivity/openssl/openssl10/ptest_makefile_deps.patch
deleted file mode 100644
index 4202e61..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/ptest_makefile_deps.patch
+++ /dev/null
@@ -1,248 +0,0 @@
-Additional Makefile dependencies removal for test targets
-
-Removing the dependency check for test targets as these tests are
-causing a number of failures and "noise" during ptest execution.
-
-Upstream-Status: Inappropriate [config]
-
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
-
-diff -Naur openssl-1.0.2d-orig/test/Makefile openssl-1.0.2d/test/Makefile
---- openssl-1.0.2d-orig/test/Makefile	2015-09-28 12:50:41.530022979 +0300
-+++ openssl-1.0.2d/test/Makefile	2015-09-28 12:57:45.930717240 +0300
-@@ -155,67 +155,67 @@
- 	( $(MAKE) $$i && echo "PASS: $$i" ) || echo "FAIL: $$i"; \
- 	done)
- 
--test_evp: $(EVPTEST)$(EXE_EXT) evptests.txt
-+test_evp:
- 	../util/shlib_wrap.sh ./$(EVPTEST) evptests.txt
- 
--test_evp_extra: $(EVPEXTRATEST)$(EXE_EXT)
-+test_evp_extra:
- 	../util/shlib_wrap.sh ./$(EVPEXTRATEST)
- 
--test_des: $(DESTEST)$(EXE_EXT)
-+test_des:
- 	../util/shlib_wrap.sh ./$(DESTEST)
- 
--test_idea: $(IDEATEST)$(EXE_EXT)
-+test_idea:
- 	../util/shlib_wrap.sh ./$(IDEATEST)
- 
--test_sha: $(SHATEST)$(EXE_EXT) $(SHA1TEST)$(EXE_EXT) $(SHA256TEST)$(EXE_EXT) $(SHA512TEST)$(EXE_EXT)
-+test_sha:
- 	../util/shlib_wrap.sh ./$(SHATEST)
- 	../util/shlib_wrap.sh ./$(SHA1TEST)
- 	../util/shlib_wrap.sh ./$(SHA256TEST)
- 	../util/shlib_wrap.sh ./$(SHA512TEST)
- 
--test_mdc2: $(MDC2TEST)$(EXE_EXT)
-+test_mdc2:
- 	../util/shlib_wrap.sh ./$(MDC2TEST)
- 
--test_md5: $(MD5TEST)$(EXE_EXT)
-+test_md5:
- 	../util/shlib_wrap.sh ./$(MD5TEST)
- 
--test_md4: $(MD4TEST)$(EXE_EXT)
-+test_md4:
- 	../util/shlib_wrap.sh ./$(MD4TEST)
- 
--test_hmac: $(HMACTEST)$(EXE_EXT)
-+test_hmac:
- 	../util/shlib_wrap.sh ./$(HMACTEST)
- 
--test_wp: $(WPTEST)$(EXE_EXT)
-+test_wp:
- 	../util/shlib_wrap.sh ./$(WPTEST)
- 
--test_md2: $(MD2TEST)$(EXE_EXT)
-+test_md2:
- 	../util/shlib_wrap.sh ./$(MD2TEST)
- 
--test_rmd: $(RMDTEST)$(EXE_EXT)
-+test_rmd:
- 	../util/shlib_wrap.sh ./$(RMDTEST)
- 
--test_bf: $(BFTEST)$(EXE_EXT)
-+test_bf:
- 	../util/shlib_wrap.sh ./$(BFTEST)
- 
--test_cast: $(CASTTEST)$(EXE_EXT)
-+test_cast:
- 	../util/shlib_wrap.sh ./$(CASTTEST)
- 
--test_rc2: $(RC2TEST)$(EXE_EXT)
-+test_rc2:
- 	../util/shlib_wrap.sh ./$(RC2TEST)
- 
--test_rc4: $(RC4TEST)$(EXE_EXT)
-+test_rc4:
- 	../util/shlib_wrap.sh ./$(RC4TEST)
- 
--test_rc5: $(RC5TEST)$(EXE_EXT)
-+test_rc5:
- 	../util/shlib_wrap.sh ./$(RC5TEST)
- 
--test_rand: $(RANDTEST)$(EXE_EXT)
-+test_rand:
- 	../util/shlib_wrap.sh ./$(RANDTEST)
- 
--test_enc: ../apps/openssl$(EXE_EXT) testenc
-+test_enc:
- 	@sh ./testenc
- 
--test_x509: ../apps/openssl$(EXE_EXT) tx509 testx509.pem v3-cert1.pem v3-cert2.pem
-+test_x509:
- 	echo test normal x509v1 certificate
- 	sh ./tx509 2>/dev/null
- 	echo test first x509v3 certificate
-@@ -223,25 +223,25 @@
- 	echo test second x509v3 certificate
- 	sh ./tx509 v3-cert2.pem 2>/dev/null
- 
--test_rsa: ../apps/openssl$(EXE_EXT) trsa testrsa.pem
-+test_rsa:
- 	@sh ./trsa 2>/dev/null
- 	../util/shlib_wrap.sh ./$(RSATEST)
- 
--test_crl: ../apps/openssl$(EXE_EXT) tcrl testcrl.pem
-+test_crl:
- 	@sh ./tcrl 2>/dev/null
- 
--test_sid: ../apps/openssl$(EXE_EXT) tsid testsid.pem
-+test_sid:
- 	@sh ./tsid 2>/dev/null
- 
--test_req: ../apps/openssl$(EXE_EXT) treq testreq.pem testreq2.pem
-+test_req:
- 	@sh ./treq 2>/dev/null
- 	@sh ./treq testreq2.pem 2>/dev/null
- 
--test_pkcs7: ../apps/openssl$(EXE_EXT) tpkcs7 tpkcs7d testp7.pem pkcs7-1.pem
-+test_pkcs7:
- 	@sh ./tpkcs7 2>/dev/null
- 	@sh ./tpkcs7d 2>/dev/null
- 
--test_bn: $(BNTEST)$(EXE_EXT) $(EXPTEST)$(EXE_EXT) bctest
-+test_bn:
- 	@echo starting big number library test, could take a while...
- 	@../util/shlib_wrap.sh ./$(BNTEST) >tmp.bntest
- 	@echo quit >>tmp.bntest
-@@ -250,33 +250,33 @@
- 	@echo 'test a^b%c implementations'
- 	../util/shlib_wrap.sh ./$(EXPTEST)
- 
--test_ec: $(ECTEST)$(EXE_EXT)
-+test_ec:
- 	@echo 'test elliptic curves'
- 	../util/shlib_wrap.sh ./$(ECTEST)
- 
--test_ecdsa: $(ECDSATEST)$(EXE_EXT)
-+test_ecdsa:
- 	@echo 'test ecdsa'
- 	../util/shlib_wrap.sh ./$(ECDSATEST)
- 
--test_ecdh: $(ECDHTEST)$(EXE_EXT)
-+test_ecdh:
- 	@echo 'test ecdh'
- 	../util/shlib_wrap.sh ./$(ECDHTEST)
- 
--test_verify: ../apps/openssl$(EXE_EXT)
-+test_verify:
- 	@echo "The following command should have some OK's and some failures"
- 	@echo "There are definitly a few expired certificates"
- 	../util/shlib_wrap.sh ../apps/openssl verify -CApath ../certs/demo ../certs/demo/*.pem
- 
--test_dh: $(DHTEST)$(EXE_EXT)
-+test_dh:
- 	@echo "Generate a set of DH parameters"
- 	../util/shlib_wrap.sh ./$(DHTEST)
- 
--test_dsa: $(DSATEST)$(EXE_EXT)
-+test_dsa:
- 	@echo "Generate a set of DSA parameters"
- 	../util/shlib_wrap.sh ./$(DSATEST)
- 	../util/shlib_wrap.sh ./$(DSATEST) -app2_1
- 
--test_gen testreq.pem: ../apps/openssl$(EXE_EXT) testgen test.cnf
-+test_gen testreq.pem:
- 	@echo "Generate and verify a certificate request"
- 	@sh ./testgen
- 
-@@ -288,13 +288,11 @@
- 	@cat certCA.ss certU.ss > intP1.ss
- 	@cat certCA.ss certU.ss certP1.ss > intP2.ss
- 
--test_engine:  $(ENGINETEST)$(EXE_EXT)
-+test_engine:
- 	@echo "Manipulate the ENGINE structures"
- 	../util/shlib_wrap.sh ./$(ENGINETEST)
- 
--test_ssl: keyU.ss certU.ss certCA.ss certP1.ss keyP1.ss certP2.ss keyP2.ss \
--		intP1.ss intP2.ss $(SSLTEST)$(EXE_EXT) testssl testsslproxy \
--		../apps/server2.pem serverinfo.pem
-+test_ssl:
- 	@echo "test SSL protocol"
- 	@if [ -n "$(FIPSCANLIB)" ]; then \
- 	  sh ./testfipsssl keyU.ss certU.ss certCA.ss; \
-@@ -304,7 +302,7 @@
- 	@sh ./testsslproxy keyP1.ss certP1.ss intP1.ss
- 	@sh ./testsslproxy keyP2.ss certP2.ss intP2.ss
- 
--test_ca: ../apps/openssl$(EXE_EXT) testca CAss.cnf Uss.cnf
-+test_ca:
- 	@if ../util/shlib_wrap.sh ../apps/openssl no-rsa; then \
- 	  echo "skipping CA.sh test -- requires RSA"; \
- 	else \
-@@ -312,11 +310,11 @@
- 	  sh ./testca; \
- 	fi
- 
--test_aes: #$(AESTEST)
-+test_aes:
- #	@echo "test Rijndael"
- #	../util/shlib_wrap.sh ./$(AESTEST)
- 
--test_tsa: ../apps/openssl$(EXE_EXT) testtsa CAtsa.cnf ../util/shlib_wrap.sh
-+test_tsa:
- 	@if ../util/shlib_wrap.sh ../apps/openssl no-rsa; then \
- 	  echo "skipping testtsa test -- requires RSA"; \
- 	else \
-@@ -331,7 +329,7 @@
- 	@echo "Test JPAKE"
- 	../util/shlib_wrap.sh ./$(JPAKETEST)
- 
--test_cms: ../apps/openssl$(EXE_EXT) cms-test.pl smcont.txt
-+test_cms:
- 	@echo "CMS consistency test"
- 	$(PERL) cms-test.pl
- 
-@@ -339,22 +337,22 @@
- 	@echo "Test SRP"
- 	../util/shlib_wrap.sh ./srptest
- 
--test_ocsp: ../apps/openssl$(EXE_EXT) tocsp
-+test_ocsp:
- 	@echo "Test OCSP"
- 	@sh ./tocsp
- 
--test_v3name: $(V3NAMETEST)$(EXE_EXT)
-+test_v3name:
- 	@echo "Test X509v3_check_*"
- 	../util/shlib_wrap.sh ./$(V3NAMETEST)
- 
- test_heartbeat:
- 	../util/shlib_wrap.sh ./$(HEARTBEATTEST)
- 
--test_constant_time: $(CONSTTIMETEST)$(EXE_EXT)
-+test_constant_time:
- 	@echo "Test constant time utilites"
- 	../util/shlib_wrap.sh ./$(CONSTTIMETEST)
- 
--test_verify_extra: $(VERIFYEXTRATEST)$(EXE_EXT)
-+test_verify_extra:
- 	@echo $(START) $@
- 	../util/shlib_wrap.sh ./$(VERIFYEXTRATEST)
- 
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/reproducible-cflags.patch b/poky/meta/recipes-connectivity/openssl/openssl10/reproducible-cflags.patch
deleted file mode 100644
index 2803cb0..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/reproducible-cflags.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Allow passing custom c-flags to mkbuildinf.pl in order to pass
-flags without any build host references
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
-
---- Makefile	2018-03-06 14:50:18.342138147 -0800
-+++ Makefile	2018-03-06 15:24:04.794239071 -0800
---- a/crypto/Makefile
-+++ b/crypto/Makefile
-@@ -55,7 +55,7 @@
- all: shared
- 
- buildinf.h: ../Makefile
--	$(PERL) $(TOP)/util/mkbuildinf.pl "$(CC) $(CFLAGS)" "$(PLATFORM)" >buildinf.h
-+	$(PERL) $(TOP)/util/mkbuildinf.pl "$(CC_INFO)" "$(PLATFORM)" >buildinf.h
- 
- x86cpuid.s:	x86cpuid.pl perlasm/x86asm.pl
- 	$(PERL) x86cpuid.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) > $@
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/reproducible-mkbuildinf.patch b/poky/meta/recipes-connectivity/openssl/openssl10/reproducible-mkbuildinf.patch
deleted file mode 100644
index b556731..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/reproducible-mkbuildinf.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-If SOURCE_DATE_EPOCH is present in the environment, use it as build date.
-Also make sure to use UTC time.
-
-Upstream-Status: Backport [ https://github.com/openssl/openssl/blob/master/util/mkbuildinf.pl ]
-
-Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
-
---- mkbuildinf.pl	2018-03-06 14:20:09.438048058 -0800
-+++ mkbuildinf.pl	2018-03-06 14:19:20.722045632 -0800
---- a/util/mkbuildinf.pl
-+++ b/util/mkbuildinf.pl
-@@ -3,7 +3,8 @@
- my ($cflags, $platform) = @ARGV;
- 
- $cflags = "compiler: $cflags";
--$date = localtime();
-+my $date = gmtime($ENV{'SOURCE_DATE_EPOCH'} || time()) . " UTC";
-+
- print <<"END_OUTPUT";
- #ifndef MK1MF_BUILD
-     /* auto-generated by util/mkbuildinf.pl for crypto/cversion.c */
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/run-ptest b/poky/meta/recipes-connectivity/openssl/openssl10/run-ptest
deleted file mode 100755
index 3b20fce..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/run-ptest
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-make -k runtest
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10/shared-libs.patch b/poky/meta/recipes-connectivity/openssl/openssl10/shared-libs.patch
deleted file mode 100644
index a7ca0a3..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10/shared-libs.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-Index: openssl-1.0.1e/crypto/Makefile
-===================================================================
---- openssl-1.0.1e.orig/crypto/Makefile
-+++ openssl-1.0.1e/crypto/Makefile
-@@ -108,7 +108,7 @@ $(LIB):	$(LIBOBJ)
- 
- shared: buildinf.h lib subdirs
- 	if [ -n "$(SHARED_LIBS)" ]; then \
--		(cd ..; $(MAKE) $(SHARED_LIB)); \
-+		(cd ..; $(MAKE) -e $(SHARED_LIB)); \
- 	fi
- 
- libs:
-Index: openssl-1.0.1e/Makefile.org
-===================================================================
---- openssl-1.0.1e.orig/Makefile.org
-+++ openssl-1.0.1e/Makefile.org
-@@ -310,7 +310,7 @@ libcrypto$(SHLIB_EXT): libcrypto.a fips_
- 
- libssl$(SHLIB_EXT): libcrypto$(SHLIB_EXT) libssl.a
- 	@if [ "$(SHLIB_TARGET)" != "" ]; then \
--		$(MAKE) SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \
-+		$(MAKE) -e SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \
- 	else \
- 		echo "There's no support for shared libraries on this platform" >&2; \
- 		exit 1; \
-Index: openssl-1.0.1e/ssl/Makefile
-===================================================================
---- openssl-1.0.1e.orig/ssl/Makefile
-+++ openssl-1.0.1e/ssl/Makefile
-@@ -62,7 +62,7 @@ lib:	$(LIBOBJ)
- 
- shared: lib
- 	if [ -n "$(SHARED_LIBS)" ]; then \
--		(cd ..; $(MAKE) $(SHARED_LIB)); \
-+		(cd ..; $(MAKE) -e $(SHARED_LIB)); \
- 	fi
- 
- files:
diff --git a/poky/meta/recipes-connectivity/openssl/openssl10_1.0.2r.bb b/poky/meta/recipes-connectivity/openssl/openssl10_1.0.2r.bb
deleted file mode 100644
index 87df4f5..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl10_1.0.2r.bb
+++ /dev/null
@@ -1,360 +0,0 @@
-SUMMARY = "Secure Socket Layer"
-DESCRIPTION = "Secure Socket Layer (SSL) binary and related cryptographic tools."
-HOMEPAGE = "http://www.openssl.org/"
-BUGTRACKER = "http://www.openssl.org/news/vulnerabilities.html"
-SECTION = "libs/network"
-
-# "openssl | SSLeay" dual license
-LICENSE = "openssl"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=f475368924827d06d4b416111c8bdb77"
-
-DEPENDS = "hostperl-runtime-native"
-DEPENDS_append_class-target = " openssl-native"
-
-SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
-           file://run-ptest \
-           file://openssl-c_rehash.sh \
-           file://configure-targets.patch \
-           file://shared-libs.patch \
-           file://oe-ldflags.patch \
-           file://engines-install-in-libdir-ssl.patch \
-           file://debian1.0.2/block_diginotar.patch \
-           file://debian1.0.2/block_digicert_malaysia.patch \
-           file://debian/c_rehash-compat.patch \
-           file://debian/debian-targets.patch \
-           file://debian/man-dir.patch \
-           file://debian/man-section.patch \
-           file://debian/no-rpath.patch \
-           file://debian/no-symbolic.patch \
-           file://debian/pic.patch \
-           file://debian1.0.2/version-script.patch \
-           file://debian1.0.2/soname.patch \
-           file://openssl_fix_for_x32.patch \
-           file://openssl-fix-des.pod-error.patch \
-           file://Makefiles-ptest.patch \
-           file://ptest-deps.patch \
-           file://ptest_makefile_deps.patch \
-           file://configure-musl-target.patch \
-           file://parallel.patch \
-           file://Use-SHA256-not-MD5-as-default-digest.patch \
-           file://0001-Fix-build-with-clang-using-external-assembler.patch \
-           file://0001-openssl-force-soft-link-to-avoid-rare-race.patch \
-           file://0001-allow-manpages-to-be-disabled.patch \
-           file://0001-Fix-BN_LLONG-breakage.patch \
-           file://0001-Fix-DES_LONG-breakage.patch \
-           "
-
-SRC_URI_append_class-target = " \
-           file://reproducible-cflags.patch \
-           file://reproducible-mkbuildinf.patch \
-           "
-
-SRC_URI_append_class-nativesdk = " \
-           file://environment.d-openssl.sh \
-           "
-
-SRC_URI[md5sum] = "0d2baaf04c56d542f6cc757b9c2a2aac"
-SRC_URI[sha256sum] = "ae51d08bba8a83958e894946f15303ff894d75c2b8bbd44a852b64e3fe11d0d6"
-
-S = "${WORKDIR}/openssl-${PV}"
-
-UPSTREAM_CHECK_REGEX = "openssl-(?P<pver>1\.0.+)\.tar"
-
-inherit pkgconfig siteinfo multilib_header ptest manpages
-
-PACKAGECONFIG ?= "cryptodev-linux"
-PACKAGECONFIG_class-native = ""
-PACKAGECONFIG_class-nativesdk = ""
-
-PACKAGECONFIG[cryptodev-linux] = "-DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS,,cryptodev-linux"
-PACKAGECONFIG[manpages] = ",,,"
-PACKAGECONFIG[perl] = ",,,"
-
-# Remove this to enable SSLv3. SSLv3 is defaulted to disabled due to the POODLE
-# vulnerability
-EXTRA_OECONF = "no-ssl3"
-
-EXTRA_OEMAKE = "${@bb.utils.contains('PACKAGECONFIG', 'manpages', '', 'OE_DISABLE_MANPAGES=1', d)}"
-
-export OE_LDFLAGS = "${LDFLAGS}"
-
-TERMIO ?= "-DTERMIO"
-TERMIO_libc-musl = "-DTERMIOS"
-EXTRA_OECONF_append_libc-musl_powerpc64 = " no-asm"
-
-CFLAG = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', '-DL_ENDIAN', '-DB_ENDIAN', d)} \
-         ${TERMIO} ${CFLAGS} -Wall"
-
-# Avoid binaries being marked as requiring an executable stack since they don't
-# (and it causes issues with SELinux)
-CFLAG += "-Wa,--noexecstack"
-
-CFLAG_append_class-native = " -fPIC"
-
-do_configure () {
-	# The crypto_use_bigint patch means that perl's bignum module needs to be
-	# installed, but some distributions (for example Fedora 23) don't ship it by
-	# default.  As the resulting error is very misleading check for bignum before
-	# building.
-	if ! perl -Mbigint -e true; then
-		bbfatal "The perl module 'bignum' was not found but this is required to build openssl.  Please install this module (often packaged as perl-bignum) and re-run bitbake."
-	fi
-
-	ln -sf apps/openssl.pod crypto/crypto.pod ssl/ssl.pod doc/
-
-	os=${HOST_OS}
-	case $os in
-	linux-gnueabi |\
-	linux-gnuspe |\
-	linux-musleabi |\
-	linux-muslspe |\
-	linux-musl )
-		os=linux
-		;;
-	*)
-		;;
-	esac
-	target="$os-${HOST_ARCH}"
-	case $target in
-	linux-arm)
-		target=linux-armv4
-		;;
-	linux-armeb)
-		target=linux-elf-armeb
-		;;
-	linux-aarch64*)
-		target=linux-aarch64
-		;;
-	linux-sh3)
-		target=debian-sh3
-		;;
-	linux-sh4)
-		target=debian-sh4
-		;;
-	linux-i486)
-		target=debian-i386-i486
-		;;
-	linux-i586 | linux-viac3)
-		target=debian-i386-i586
-		;;
-	linux-i686)
-		target=debian-i386-i686/cmov
-		;;
-	linux-gnux32-x86_64 | linux-muslx32-x86_64 )
-		target=linux-x32
-		;;
-	linux-gnu64-x86_64)
-		target=linux-x86_64
-		;;
-	linux-gnun32-mips*el)
-		target=debian-mipsn32el
-		;;
-	linux-gnun32-mips*)
-		target=debian-mipsn32
-		;;
-	linux-mips*64*el)
-		target=debian-mips64el
-		;;
-	linux-mips*64*)
-		target=debian-mips64
-		;;
-	linux-mips*el)
-		target=debian-mipsel
-		;;
-	linux-mips*)
-		target=debian-mips
-		;;
-	linux-microblaze* | linux-nios2* | linux-gnu*ilp32** | linux-arc*)
-		target=linux-generic32
-		;;
-	linux-powerpc)
-		target=linux-ppc
-		;;
-	linux-powerpc64)
-		target=linux-ppc64
-		;;
-	linux-riscv32)
-		target=linux-generic32
-		;;
-	linux-riscv64)
-		target=linux-generic64
-		;;
-	linux-sparc | linux-supersparc)
-		target=linux-sparcv8
-		;;
-	esac
-
-	# inject machine-specific flags
-	sed -i -e "s|^\(\"$target\",\s*\"[^:]\+\):\([^:]\+\)|\1:${CFLAG}|g" Configure
-
-	useprefix=${prefix}
-	if [ "x$useprefix" = "x" ]; then
-		useprefix=/
-	fi
-	libdirleaf="$( echo "${libdir}" | sed "s:^$useprefix/*::" )"
-	perl ./Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} shared --prefix=$useprefix --openssldir=${libdir}/ssl --libdir=$libdirleaf $target
-}
-
-do_compile () {
-	oe_runmake depend
-	oe_runmake
-}
-
-do_compile_class-target () {
-	sed -i 's/\((OPENSSL=\)".*"/\1"openssl"/' Makefile
-	oe_runmake depend
-	cc_sanitized=$(echo "${CC} ${CFLAG}" | sed -e 's,--sysroot=${STAGING_DIR_TARGET},,g' -e 's|${DEBUG_PREFIX_MAP}||g' -e 's/[ \t]\+/ /g')
-	oe_runmake CC_INFO="$cc_sanitized"
-}
-
-do_compile_ptest () {
-	oe_runmake buildtest
-}
-
-do_install () {
-	# Create ${D}/${prefix} to fix parallel issues
-	mkdir -p ${D}/${prefix}/
-
-	oe_runmake INSTALL_PREFIX="${D}" MANDIR="${mandir}" install
-
-	oe_libinstall -so libcrypto ${D}${libdir}
-	oe_libinstall -so libssl ${D}${libdir}
-
-	install -d ${D}${includedir}
-	cp --dereference -R include/openssl ${D}${includedir}
-
-	oe_multilib_header openssl/opensslconf.h
-
-	install -Dm 0755 ${WORKDIR}/openssl-c_rehash.sh ${D}${bindir}/c_rehash
-	sed -i -e 's,/etc/openssl,${sysconfdir}/ssl,g' ${D}${bindir}/c_rehash
-
-	if [ "${@bb.utils.filter('PACKAGECONFIG', 'perl', d)}" ]; then
-		sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/ssl/misc/CA.pl
-		sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/ssl/misc/tsget
-	else
-		rm -f ${D}${libdir}/ssl/misc/CA.pl ${D}${libdir}/ssl/misc/tsget
-	fi
-
-	# Create SSL structure for packages such as ca-certificates which
-	# contain hard-coded paths to /etc/ssl. Debian does the same.
-	install -d ${D}${sysconfdir}/ssl
-	mv ${D}${libdir}/ssl/certs \
-	   ${D}${libdir}/ssl/private \
-	   ${D}${libdir}/ssl/openssl.cnf \
-	   ${D}${sysconfdir}/ssl/
-
-	# Although absolute symlinks would be OK for the target, they become
-	# invalid if native or nativesdk are relocated from sstate.
-	ln -sf ${@oe.path.relative('${libdir}/ssl', '${sysconfdir}/ssl/certs')} ${D}${libdir}/ssl/certs
-	ln -sf ${@oe.path.relative('${libdir}/ssl', '${sysconfdir}/ssl/private')} ${D}${libdir}/ssl/private
-	ln -sf ${@oe.path.relative('${libdir}/ssl', '${sysconfdir}/ssl/openssl.cnf')} ${D}${libdir}/ssl/openssl.cnf
-
-	# Rename man pages to prefix openssl10-*
-	for f in `find ${D}${mandir} -type f`; do
-	    mv $f $(dirname $f)/openssl10-$(basename $f)
-	done
-	for f in `find ${D}${mandir} -type l`; do
-	    ln_f=`readlink $f`
-	    rm -f $f
-	    ln -s openssl10-$ln_f $(dirname $f)/openssl10-$(basename $f)
-	done
-}
-
-do_install_append_class-native () {
-	create_wrapper ${D}${bindir}/openssl \
-	    OPENSSL_CONF=${libdir}/ssl/openssl.cnf \
-	    SSL_CERT_DIR=${libdir}/ssl/certs \
-	    SSL_CERT_FILE=${libdir}/ssl/cert.pem \
-	    OPENSSL_ENGINES=${libdir}/ssl/engines
-}
-
-do_install_append_class-nativesdk () {
-	mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d
-	install -m 644 ${WORKDIR}/environment.d-openssl.sh ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh
-}
-
-do_install_ptest () {
-	cp -r -L Makefile.org Makefile test ${D}${PTEST_PATH}
-
-	# Replace the path to native perl with the path to target perl
-	sed -i 's,^PERL=.*,PERL=${bindir}/perl,' ${D}${PTEST_PATH}/Makefile
-
-	cp Configure config e_os.h ${D}${PTEST_PATH}
-	cp -r -L include ${D}${PTEST_PATH}
-	ln -sf ${libdir}/libcrypto.a ${D}${PTEST_PATH}
-	ln -sf ${libdir}/libssl.a ${D}${PTEST_PATH}
-	mkdir -p ${D}${PTEST_PATH}/crypto
-	cp crypto/constant_time_locl.h ${D}${PTEST_PATH}/crypto
-	cp -r certs ${D}${PTEST_PATH}
-	mkdir -p ${D}${PTEST_PATH}/apps
-	ln -sf ${libdir}/ssl/misc/CA.sh  ${D}${PTEST_PATH}/apps
-	ln -sf ${sysconfdir}/ssl/openssl.cnf ${D}${PTEST_PATH}/apps
-	ln -sf ${bindir}/openssl         ${D}${PTEST_PATH}/apps
-	cp apps/server.pem              ${D}${PTEST_PATH}/apps
-	cp apps/server2.pem             ${D}${PTEST_PATH}/apps
-	mkdir -p ${D}${PTEST_PATH}/util
-	install util/opensslwrap.sh    ${D}${PTEST_PATH}/util
-	install util/shlib_wrap.sh     ${D}${PTEST_PATH}/util
-	# Time stamps are relevant for "make alltests", otherwise
-	# make may try to recompile binaries. Not only must the
-	# binary files be newer than the sources, they also must
-	# be more recent than the header files in /usr/include.
-	#
-	# Using "cp -a" is not sufficient, because do_install
-	# does not preserve the original time stamps.
-	#
-	# So instead of using the original file stamps, we set
-	# the current time for all files. Binaries will get
-	# modified again later when stripping them, but that's okay.
-	touch ${D}${PTEST_PATH}
-	find ${D}${PTEST_PATH} -type f -print0 | xargs --verbose -0 touch -r ${D}${PTEST_PATH}
-
-	# exclude binary files or the package won't install
-	for d in ssltest_old v3ext x509aux; do
-		rm -rf ${D}${libdir}/${BPN}/ptest/test/$d
-	done
-
-	# Remove build host references
-	sed -i \
-	-e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
-	-e 's|${DEBUG_PREFIX_MAP}||g' \
-	${D}${PTEST_PATH}/Makefile ${D}${PTEST_PATH}/Configure
-}
-
-# Add the openssl.cnf file to the openssl-conf package. Make the libcrypto
-# package RRECOMMENDS on this package. This will enable the configuration
-# file to be installed for both the base openssl package and the libcrypto
-# package since the base openssl package depends on the libcrypto package.
-
-PACKAGES =+ "libcrypto10 libssl10 openssl10-conf ${PN}-engines ${PN}-misc"
-
-FILES_libcrypto10 = "${libdir}/libcrypto${SOLIBS}"
-FILES_libssl10 = "${libdir}/libssl${SOLIBS}"
-FILES_openssl10-conf = "${sysconfdir}/ssl/openssl.cnf"
-FILES_${PN}-engines = "${libdir}/ssl/engines/*.so ${libdir}/engines"
-FILES_${PN}-misc = "${libdir}/ssl/misc"
-FILES_${PN} =+ "${libdir}/ssl/*"
-FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/openssl.sh"
-
-CONFFILES_openssl10-conf = "${sysconfdir}/ssl/openssl.cnf"
-
-RRECOMMENDS_libcrypto10 += "openssl10-conf"
-RDEPENDS_${PN}-misc = "${@bb.utils.filter('PACKAGECONFIG', 'perl', d)}"
-RDEPENDS_${PN}-ptest += "${PN}-misc make perl perl-module-filehandle bc"
-
-BBCLASSEXTEND = "native nativesdk"
-PACKAGE_PREPROCESS_FUNCS += "openssl_package_preprocess"
-
-# openssl 1.0 development files and executable binaries clash with openssl 1.1
-# files when installed into target rootfs. So we don't put them into
-# packages, but they continue to be provided via target sysroot for
-# cross-compilation on the host, if some software still depends on openssl 1.0.
-openssl_package_preprocess () {
-        for file in `find ${PKGD} -name *.h -o -name *.pc -o -name *.so`; do
-                rm $file
-        done
-        rm ${PKGD}${bindir}/openssl
-        rm ${PKGD}${bindir}/c_rehash
-        rmdir ${PKGD}${bindir}
-
-}
diff --git a/poky/meta/recipes-connectivity/openssl/openssl_1.1.1b.bb b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1b.bb
index d3404d2..8bb3a30 100644
--- a/poky/meta/recipes-connectivity/openssl/openssl_1.1.1b.bb
+++ b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1b.bb
@@ -199,8 +199,4 @@
 RRECOMMENDS_libcrypto += "openssl-conf"
 RDEPENDS_${PN}-ptest += "openssl-bin perl perl-modules bash"
 
-RPROVIDES_openssl-conf = "openssl10-conf"
-RREPLACES_openssl-conf = "openssl10-conf"
-RCONFLICTS_openssl-conf = "openssl10-conf"
-
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-connectivity/socat/socat/0001-Access-c_ispeed-and-c_ospeed-via-APIs.patch b/poky/meta/recipes-connectivity/socat/socat/0001-Access-c_ispeed-and-c_ospeed-via-APIs.patch
deleted file mode 100644
index c0e27f3..0000000
--- a/poky/meta/recipes-connectivity/socat/socat/0001-Access-c_ispeed-and-c_ospeed-via-APIs.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From fb10ab134d630705cae0c7be42437cc289af7d32 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 15 Mar 2016 21:36:02 +0000
-Subject: [PATCH] Use __c_ispeed and __c_ospeed on musl
-
-Original intention of these asserts is to find if termios structure
-is mapped correctly to locally define union, the get* APIs for
-baudrate would not do the right thing since they do not return the
-value from c_ospeed/c_ispeed but the value which is stored in iflag
-for baudrate.
-
-So we check if we are on Linux but not using glibc then we use
-__c_ispeed and __c_ospeed as defined in musl, however these are
-internal elements of structs it should not have been used this
-way.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
-Upstream-Status: Pending
-
- xioinitialize.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/xioinitialize.c b/xioinitialize.c
-index 9f50155..8fb2e4c 100644
---- a/xioinitialize.c
-+++ b/xioinitialize.c
-@@ -65,6 +65,12 @@ int xioinitialize(void) {
- #if HAVE_TERMIOS_ISPEED && (ISPEED_OFFSET != -1) && (OSPEED_OFFSET != -1)
- #if defined(ISPEED_OFFSET) && (ISPEED_OFFSET != -1)
- #if defined(OSPEED_OFFSET) && (OSPEED_OFFSET != -1)
-+#if defined(__linux__) && !defined(__GLIBC__)
-+      tdata.termarg.__c_ispeed = 0x56789abc;
-+      tdata.termarg.__c_ospeed = 0x6789abcd;
-+      assert(tdata.termarg.__c_ispeed == tdata.speeds[ISPEED_OFFSET]);
-+      assert(tdata.termarg.__c_ospeed == tdata.speeds[OSPEED_OFFSET]);
-+#else
-       tdata.termarg.c_ispeed = 0x56789abc;
-       tdata.termarg.c_ospeed = 0x6789abcd;
-       assert(tdata.termarg.c_ispeed == tdata.speeds[ISPEED_OFFSET]);
-@@ -72,6 +78,7 @@ int xioinitialize(void) {
- #endif
- #endif
- #endif
-+#endif
-    }
- #endif
- 
--- 
-2.8.0
-
diff --git a/poky/meta/recipes-connectivity/socat/socat/Makefile.in-fix-for-parallel-build.patch b/poky/meta/recipes-connectivity/socat/socat/Makefile.in-fix-for-parallel-build.patch
deleted file mode 100644
index aa4db65..0000000
--- a/poky/meta/recipes-connectivity/socat/socat/Makefile.in-fix-for-parallel-build.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From c6f0080b55679b6e8b5d332d6e05fdcbda1e4064 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Mon, 4 May 2015 00:58:47 -0700
-Subject: [PATCH] Makefile.in: fix for parallel build
-
-Fixed:
-vsnprintf_r.o: file not recognized: File truncated
-collect2: error: ld returned 3 exit status
-Makefile:122: recipe for target 'filan' failed
-
-Let filan depend on vsnprintf_r.o and snprinterr.o to fix the issue.
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- Makefile.in |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index f2a6edb..88b784b 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -118,7 +118,7 @@ PROCAN_OBJS=procan_main.o procan.o procan-cdefs.o hostan.o error.o sycls.o sysut
- procan: $(PROCAN_OBJS)
- 	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(PROCAN_OBJS) $(CLIBS)
- 
--filan: filan_main.o filan.o fdname.o error.o sycls.o sysutils.o utils.o
-+filan: filan_main.o filan.o fdname.o error.o sycls.o sysutils.o utils.o vsnprintf_r.o snprinterr.o
- 	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ filan_main.o filan.o fdname.o error.o sycls.o sysutils.o utils.o vsnprintf_r.o snprinterr.o $(CLIBS)
- 
- libxio.a: $(XIOOBJS) $(UTLOBJS)
--- 
-1.7.9.5
-
diff --git a/poky/meta/recipes-connectivity/socat/socat_1.7.3.2.bb b/poky/meta/recipes-connectivity/socat/socat_1.7.3.3.bb
similarity index 85%
rename from poky/meta/recipes-connectivity/socat/socat_1.7.3.2.bb
rename to poky/meta/recipes-connectivity/socat/socat_1.7.3.3.bb
index b2d6b1d..7a889a3 100644
--- a/poky/meta/recipes-connectivity/socat/socat_1.7.3.2.bb
+++ b/poky/meta/recipes-connectivity/socat/socat_1.7.3.3.bb
@@ -12,13 +12,11 @@
                     file://README;beginline=257;endline=287;md5=338c05eadd013872abb1d6e198e10a3f"
 
 SRC_URI = "http://www.dest-unreach.org/socat/download/socat-${PV}.tar.bz2 \
-           file://Makefile.in-fix-for-parallel-build.patch \
            file://0001-define-NETDB_INTERNAL-to-1-if-not-available.patch \
-           file://0001-Access-c_ispeed-and-c_ospeed-via-APIs.patch \
 "
 
-SRC_URI[md5sum] = "607a24c15bd2cb54e9328bfbbd3a1ae9"
-SRC_URI[sha256sum] = "e3561f808739383eb10fada1e5d4f26883f0311b34fd0af7837d0c95ef379251"
+SRC_URI[md5sum] = "b2a032a47b8b89a18485697fa975154f"
+SRC_URI[sha256sum] = "0dd63ffe498168a4aac41d307594c5076ff307aa0ac04b141f8f1cec6594d04a"
 
 inherit autotools
 
diff --git a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.7.bb b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.8.bb
similarity index 90%
rename from poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.7.bb
rename to poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.8.bb
index fe5fa2b..bd4167c 100644
--- a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.7.bb
+++ b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.8.bb
@@ -3,9 +3,9 @@
 BUGTRACKER = "http://w1.fi/security/"
 SECTION = "network"
 LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a3791c270ad6bb026707d17bf750e5ef \
-                    file://README;beginline=1;endline=56;md5=495cbce6008253de4b4d8f4cdfae9f4f \
-                    file://wpa_supplicant/wpa_supplicant.c;beginline=1;endline=12;md5=a5687903a31b8679e6a06b3afa5c819e"
+LIC_FILES_CHKSUM = "file://COPYING;md5=279b4f5abb9c153c285221855ddb78cc \
+                    file://README;beginline=1;endline=56;md5=e7d3dbb01f75f0b9799e192731d1e1ff \
+                    file://wpa_supplicant/wpa_supplicant.c;beginline=1;endline=12;md5=0a8b56d3543498b742b9c0e94cc2d18b"
 DEPENDS = "dbus libnl"
 RRECOMMENDS_${PN} = "wpa-supplicant-passphrase wpa-supplicant-cli"
 
@@ -26,8 +26,8 @@
            file://99_wpa_supplicant \
            file://0001-replace-systemd-install-Alias-with-WantedBy.patch \
           "
-SRC_URI[md5sum] = "a68538fb62766f40f890125026c42c10"
-SRC_URI[sha256sum] = "76ea6b06b7a2ea8e6d9eb1a9166166f1656e6d48c7508914f592100c95c73074"
+SRC_URI[md5sum] = "0af5998c5d924e985cab16b9a1c77904"
+SRC_URI[sha256sum] = "a689336a12a99151b9de5e25bfccadb88438f4f4438eb8db331cd94346fd3d96"
 
 CVE_PRODUCT = "wpa_supplicant"
 
diff --git a/poky/meta/recipes-core/base-files/base-files_3.0.14.bb b/poky/meta/recipes-core/base-files/base-files_3.0.14.bb
index a1639db..4b4027f 100644
--- a/poky/meta/recipes-core/base-files/base-files_3.0.14.bb
+++ b/poky/meta/recipes-core/base-files/base-files_3.0.14.bb
@@ -134,15 +134,16 @@
 	install -m 0644 ${WORKDIR}/motd ${D}${sysconfdir}/motd
 
 	ln -sf /proc/mounts ${D}${sysconfdir}/mtab
-}
 
-DISTRO_VERSION[vardepsexclude] += "DATE"
-do_install_basefilesissue () {
+	# deal with hostname
 	if [ "${hostname}" ]; then
 		echo ${hostname} > ${D}${sysconfdir}/hostname
 		echo "127.0.1.1 ${hostname}" >> ${D}${sysconfdir}/hosts
 	fi
+}
 
+DISTRO_VERSION[vardepsexclude] += "DATE"
+do_install_basefilesissue () {
 	install -m 644 ${WORKDIR}/issue*  ${D}${sysconfdir}
         if [ -n "${DISTRO_NAME}" ]; then
 		printf "${DISTRO_NAME} " >> ${D}${sysconfdir}/issue
diff --git a/poky/meta/recipes-core/base-passwd/base-passwd/kvm.patch b/poky/meta/recipes-core/base-passwd/base-passwd/kvm.patch
new file mode 100644
index 0000000..113d515
--- /dev/null
+++ b/poky/meta/recipes-core/base-passwd/base-passwd/kvm.patch
@@ -0,0 +1,23 @@
+From 6355278b9f744291864c373a32a8da8f84aaaf37 Mon Sep 17 00:00:00 2001
+From: Jacob Kroon <jacob.kroon@gmail.com>
+Date: Wed, 30 Jan 2019 04:53:48 +0000
+Subject: [PATCH] Add kvm group
+
+Upstream-Status: Pending
+Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com>
+---
+ group.master | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/group.master b/group.master
+index cea9d60..5b62284 100644
+--- a/group.master
++++ b/group.master
+@@ -34,6 +34,7 @@ utmp:*:43:
+ video:*:44:
+ sasl:*:45:
+ plugdev:*:46:
++kvm:*:47:
+ staff:*:50:
+ games:*:60:
+ shutdown:*:70:
diff --git a/poky/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb b/poky/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb
index c6be1c1..d1aab09 100644
--- a/poky/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb
+++ b/poky/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb
@@ -12,7 +12,8 @@
            file://noshadow.patch \
            file://input.patch \
            file://disable-docs.patch \
-          "
+           file://kvm.patch \
+           "
 
 SRC_URI[md5sum] = "6beccac48083fe8ae5048acd062e5421"
 SRC_URI[sha256sum] = "f0b66388b2c8e49c15692439d2bee63bcdd4bbbf7a782c7f64accc55986b6a36"
diff --git a/poky/meta/recipes-core/busybox/busybox.inc b/poky/meta/recipes-core/busybox/busybox.inc
index c9d25ff..174ce5a 100644
--- a/poky/meta/recipes-core/busybox/busybox.inc
+++ b/poky/meta/recipes-core/busybox/busybox.inc
@@ -347,24 +347,12 @@
 	fi
 }
 
+PTEST_BINDIR = "1"
+
 do_install_ptest () {
 	cp -r ${B}/testsuite ${D}${PTEST_PATH}/
 	cp ${B}/.config      ${D}${PTEST_PATH}/
 	ln -s /bin/busybox   ${D}${PTEST_PATH}/busybox
-
-	mkdir ${D}${PTEST_PATH}/bin
-	if [ "${BUSYBOX_SPLIT_SUID}" = "1" ]; then
-		while read link; do
-			ln -s ${base_bindir}/busybox.suid ${D}${PTEST_PATH}/bin/$(basename $link)
-		done <${D}${sysconfdir}/busybox.links.suid
-		while read link; do
-			ln -s ${base_bindir}/busybox.nosuid ${D}${PTEST_PATH}/bin/$(basename $link)
-		done <${D}${sysconfdir}/busybox.links.nosuid
-	else
-		while read link; do
-			ln -s ${base_bindir}/busybox ${D}${PTEST_PATH}/bin/$(basename $link)
-		done <${D}${sysconfdir}/busybox.links
-	fi
 }
 
 inherit update-alternatives
diff --git a/poky/meta/recipes-core/busybox/busybox/0001-dc.tests-fix-two-test-case-to-also-depend-on-DC_BIG.patch b/poky/meta/recipes-core/busybox/busybox/0001-dc.tests-fix-two-test-case-to-also-depend-on-DC_BIG.patch
new file mode 100644
index 0000000..d22db4a
--- /dev/null
+++ b/poky/meta/recipes-core/busybox/busybox/0001-dc.tests-fix-two-test-case-to-also-depend-on-DC_BIG.patch
@@ -0,0 +1,39 @@
+From a4e03fbb4d82f91069d96005405f89c45b8fd157 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Wed, 17 Apr 2019 09:24:37 +0800
+Subject: [PATCH] dc.tests: fix two test case to also depend on DC_BIG
+
+Upstream-Status: Submitted [http://lists.busybox.net/pipermail/busybox/2019-April/087205.html]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ testsuite/dc.tests | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/testsuite/dc.tests b/testsuite/dc.tests
+index 1708a48..8c3af41 100755
+--- a/testsuite/dc.tests
++++ b/testsuite/dc.tests
+@@ -41,6 +41,9 @@ testing "dc complex without spaces (multiple args)" \
+ 	"16\n" \
+ 	"" ""
+ 
++optional FEATURE_DC_BIG
++# All tests below depend on FEATURE_DC_BIG
++
+ testing "dc read" \
+ 	"dc -finput" \
+ 	"2\n9\n1\n" \
+@@ -51,9 +54,6 @@ testing "dc read string" \
+ 	"2\nstr\n1\n" \
+ 	"1?2\nf" "[str]\n"
+ 
+-optional FEATURE_DC_BIG
+-# All tests below depend on FEATURE_DC_BIG
+-
+ testing "dc '>a' (conditional execute string) 1" \
+ 	"dc" \
+ 	"1\n9\n" \
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-core/busybox/busybox_1.30.1.bb b/poky/meta/recipes-core/busybox/busybox_1.30.1.bb
index 164f3ab..ba76755 100644
--- a/poky/meta/recipes-core/busybox/busybox_1.30.1.bb
+++ b/poky/meta/recipes-core/busybox/busybox_1.30.1.bb
@@ -44,6 +44,7 @@
            file://0001-testsuite-check-uudecode-before-using-it.patch \
            file://0001-testsuite-use-www.example.org-for-wget-test-cases.patch \
            file://0001-du-l-works-fix-to-use-145-instead-of-144.patch \
+           file://0001-dc.tests-fix-two-test-case-to-also-depend-on-DC_BIG.patch \
 "
 SRC_URI_append_libc-musl = " file://musl.cfg "
 
diff --git a/poky/meta/recipes-core/coreutils/coreutils/strtod_fix_clash_with_strtold.patch b/poky/meta/recipes-core/coreutils/coreutils/strtod_fix_clash_with_strtold.patch
new file mode 100644
index 0000000..7777009
--- /dev/null
+++ b/poky/meta/recipes-core/coreutils/coreutils/strtod_fix_clash_with_strtold.patch
@@ -0,0 +1,56 @@
+From 0562b040fa17f1722ba2b3096067b45d0582ca53 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Mon, 11 Mar 2019 16:40:29 -0700
+Subject: [PATCH] strtod: fix clash with strtold
+
+Problem reported for RHEL 5 by Jesse Caldwell (Bug#34817).
+* lib/strtod.c (compute_minus_zero, minus_zero):
+Simplify by remving the macro / external variable,
+and having just a function.  User changed.  This avoids
+the need for an external variable that might clash.
+
+Upstream-Status: Backport [rhel5]
+
+Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
+
+---
+ ChangeLog    |  9 +++++++++
+ lib/strtod.c | 11 +++++------
+ 2 files changed, 14 insertions(+), 6 deletions(-)
+
+diff --git a/lib/strtod.c b/lib/strtod.c
+index b9eaa51b4..69b1564e1 100644
+--- a/lib/strtod.c
++++ b/lib/strtod.c
+@@ -294,16 +294,15 @@ parse_number (const char *nptr,
+    ICC 10.0 has a bug when optimizing the expression -zero.
+    The expression -MIN * MIN does not work when cross-compiling
+    to PowerPC on Mac OS X 10.5.  */
+-#if defined __hpux || defined __sgi || defined __ICC
+ static DOUBLE
+-compute_minus_zero (void)
++minus_zero (void)
+ {
++#if defined __hpux || defined __sgi || defined __ICC
+   return -MIN * MIN;
+-}
+-# define minus_zero compute_minus_zero ()
+ #else
+-DOUBLE minus_zero = -0.0;
++  return -0.0;
+ #endif
++}
+ 
+ /* Convert NPTR to a DOUBLE.  If ENDPTR is not NULL, a pointer to the
+    character after the last one used in the number is put in *ENDPTR.  */
+@@ -479,6 +478,6 @@ STRTOD (const char *nptr, char **endptr)
+   /* Special case -0.0, since at least ICC miscompiles negation.  We
+      can't use copysign(), as that drags in -lm on some platforms.  */
+   if (!num && negative)
+-    return minus_zero;
++    return minus_zero ();
+   return negative ? -num : num;
+ }
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-core/coreutils/coreutils_8.30.bb b/poky/meta/recipes-core/coreutils/coreutils_8.31.bb
similarity index 94%
rename from poky/meta/recipes-core/coreutils/coreutils_8.30.bb
rename to poky/meta/recipes-core/coreutils/coreutils_8.31.bb
index 8f4ee55..4a74f61 100644
--- a/poky/meta/recipes-core/coreutils/coreutils_8.30.bb
+++ b/poky/meta/recipes-core/coreutils/coreutils_8.31.bb
@@ -6,7 +6,7 @@
 BUGTRACKER = "http://debbugs.gnu.org/coreutils"
 LICENSE = "GPLv3+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504\
-                    file://src/ls.c;beginline=1;endline=15;md5=dbe356a88b09c29232b083d1ff8ac82a"
+                    file://src/ls.c;beginline=1;endline=15;md5=c456f9896277a0543e3866777ccc0255"
 DEPENDS = "gmp libcap"
 DEPENDS_class-native = ""
 
@@ -20,8 +20,10 @@
            file://0001-local.mk-fix-cross-compiling-problem.patch \
           "
 
-SRC_URI[md5sum] = "ab06d68949758971fe744db66b572816"
-SRC_URI[sha256sum] = "e831b3a86091496cdba720411f9748de81507798f6130adeaef872d206e1b057"
+SRC_URI_append_libc-musl = "file://strtod_fix_clash_with_strtold.patch"
+
+SRC_URI[md5sum] = "0009a224d8e288e8ec406ef0161f9293"
+SRC_URI[sha256sum] = "ff7a9c918edce6b4f4b2725e3f9b37b0c4d193531cac49a48b56c4d0d3a9e9fd"
 
 EXTRA_OECONF_class-native = "--without-gmp"
 EXTRA_OECONF_class-target = "--enable-install-program=arch,hostname --libexecdir=${libdir}"
diff --git a/poky/meta/recipes-core/dbus/dbus-test_1.12.12.bb b/poky/meta/recipes-core/dbus/dbus-test_1.12.12.bb
index f413192..f95b31a 100644
--- a/poky/meta/recipes-core/dbus/dbus-test_1.12.12.bb
+++ b/poky/meta/recipes-core/dbus/dbus-test_1.12.12.bb
@@ -7,7 +7,6 @@
 
 DEPENDS = "dbus glib-2.0"
 
-RDEPENDS_${PN} += "make"
 RDEPENDS_${PN}-dev = ""
 
 SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
@@ -33,13 +32,14 @@
                 --enable-installed-tests \
                 --enable-checks \
                 --enable-asserts \
-                --enable-verbose-mode \
                 --enable-largefile \
                 --disable-xml-docs \
                 --disable-doxygen-docs \
                 --disable-libaudit \
                 --with-dbus-test-dir=${PTEST_PATH} \
-                ${EXTRA_OECONF_X}"
+                ${EXTRA_OECONF_X} \
+                --enable-embedded-tests \
+             "
 
 EXTRA_OECONF_append_class-target = " SYSTEMCTL=${base_bindir}/systemctl"
 
@@ -50,6 +50,7 @@
 PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--disable-systemd --without-systemdsystemunitdir,systemd"
 PACKAGECONFIG[x11] = "--with-x --enable-x11-autolaunch,--without-x --disable-x11-autolaunch, virtual/libx11 libsm"
 PACKAGECONFIG[user-session] = "--enable-user-session --with-systemduserunitdir=${systemd_user_unitdir},--disable-user-session"
+PACKAGECONFIG[verbose-mode] = "--enable-verbose-mode,,,"
 
 do_install() {
     :
@@ -58,12 +59,17 @@
 do_install_ptest() {
 	install -d ${D}${PTEST_PATH}/test
 	l="shell printf refs syslog marshal syntax corrupt dbus-daemon dbus-daemon-eavesdrop loopback relay \
-	   variant uid-permissions syntax spawn sd-activation names monitor message fdpass "
+	   variant uid-permissions syntax spawn sd-activation names monitor message fdpass service shell-service"
 	for i in $l; do install ${B}/test/.libs/test-$i ${D}${PTEST_PATH}/test; done
 
 	l="bus bus-system bus-launch-helper"
 	for i in $l; do install ${B}/bus/.libs/test-$i ${D}${PTEST_PATH}/test; done
 
+	install -d ${D}${PTEST_PATH}/bus
+	install ${B}/bus/.libs/dbus-daemon-launch-helper-test ${D}${PTEST_PATH}/bus
+
+	install ${B}/test/test-segfault ${D}${PTEST_PATH}/test
+
 	cp -r ${B}/test/data ${D}${PTEST_PATH}/test
 	install ${B}/dbus/.libs/test-dbus ${D}${PTEST_PATH}/test
 
@@ -78,6 +84,7 @@
         sed -i -e 's;@PTEST_PATH@;${PTEST_PATH};g'  ${D}${PTEST_PATH}/run-ptest
 }
 
-RDEPENDS_${PN}-ptest += "bash"
+RDEPENDS_${PN}-ptest += "bash make dbus"
+RDEPENDS_${PN}-ptest_remove = "${PN}"
 
 PRIVATE_LIBS_${PN}-ptest = "libdbus-1.so.3"
diff --git a/poky/meta/recipes-core/dbus/dbus/run-ptest b/poky/meta/recipes-core/dbus/dbus/run-ptest
index 353ba1e..cf2e68f 100755
--- a/poky/meta/recipes-core/dbus/dbus/run-ptest
+++ b/poky/meta/recipes-core/dbus/dbus/run-ptest
@@ -17,8 +17,16 @@
 files=`ls test/test-*`
 
 for i in $files
-	do
-		./$i ./test/data >/dev/null
-		output
-	done
+do
+     #these programs are used by testcase test-bus, don't run here
+     if [ $i = "test/test-service" ] \
+        || [ $i = "test/test-shell-service" ] \
+        || [ $i = "test/test-segfault" ]
+     then
+         continue
+     fi
+
+     ./$i ./test/data >/dev/null 2>&1
+     output
+done 
 
diff --git a/poky/meta/recipes-core/dropbear/dropbear.inc b/poky/meta/recipes-core/dropbear/dropbear.inc
index 3fbdb5e..2537603 100644
--- a/poky/meta/recipes-core/dropbear/dropbear.inc
+++ b/poky/meta/recipes-core/dropbear/dropbear.inc
@@ -34,6 +34,8 @@
 
 inherit autotools update-rc.d systemd
 
+CVE_PRODUCT = "dropbear_ssh"
+
 INITSCRIPT_NAME = "dropbear"
 INITSCRIPT_PARAMS = "defaults 10"
 
diff --git a/poky/meta/recipes-core/dropbear/dropbear_2019.77.bb b/poky/meta/recipes-core/dropbear/dropbear_2019.77.bb
deleted file mode 100644
index d2a71ba..0000000
--- a/poky/meta/recipes-core/dropbear/dropbear_2019.77.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require dropbear.inc
-
-SRC_URI[md5sum] = "5d4f0256c5d13820b0a3eaadb1a0bc1a"
-SRC_URI[sha256sum] = "d91f78ebe633be1d071fd1b7e5535b9693794048b019e9f4bea257e1992b458d"
diff --git a/poky/meta/recipes-core/dropbear/dropbear_2019.78.bb b/poky/meta/recipes-core/dropbear/dropbear_2019.78.bb
new file mode 100644
index 0000000..d2cd816
--- /dev/null
+++ b/poky/meta/recipes-core/dropbear/dropbear_2019.78.bb
@@ -0,0 +1,4 @@
+require dropbear.inc
+
+SRC_URI[md5sum] = "a972c85ed678ad0fdcb7844e1294fb54"
+SRC_URI[sha256sum] = "525965971272270995364a0eb01f35180d793182e63dd0b0c3eb0292291644a4"
diff --git a/poky/meta/recipes-core/ell/ell_0.20.bb b/poky/meta/recipes-core/ell/ell_0.20.bb
new file mode 100644
index 0000000..81caa80
--- /dev/null
+++ b/poky/meta/recipes-core/ell/ell_0.20.bb
@@ -0,0 +1,22 @@
+SUMMARY  = "Embedded Linux Library"
+DESCRIPTION = "The Embedded Linux Library (ELL) provides core, \
+low-level functionality for system daemons. It typically has no \
+dependencies other than the Linux kernel, C standard library, and \
+libdl (for dynamic linking). While ELL is designed to be efficient \
+and compact enough for use on embedded Linux platforms, it is not \
+limited to resource-constrained systems."
+SECTION = "libs"
+LICENSE  = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09"
+
+DEPENDS = "dbus"
+
+inherit autotools pkgconfig
+
+SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz"
+SRC_URI[md5sum] = "920189f5be4ee4cd72d610baeb20da65"
+SRC_URI[sha256sum] = "d4aa08915f4058ecaab509dffbe22665d71dba6fe9626caff63c0e5f4b78a394"
+
+do_configure_prepend () {
+    mkdir -p ${S}/build-aux
+}
diff --git a/poky/meta/recipes-core/gettext/gettext-0.19.8.1/run-ptest b/poky/meta/recipes-core/gettext/gettext-0.19.8.1/run-ptest
new file mode 100644
index 0000000..f17f3c8
--- /dev/null
+++ b/poky/meta/recipes-core/gettext/gettext-0.19.8.1/run-ptest
@@ -0,0 +1,6 @@
+#!/bin/sh
+#
+#This script is used to run gettext test suites
+cd tests
+
+make -k runtest-TESTS top_srcdir=.. srcdir=. abs_srcdir=$PWD top_builddir=$PWD/../ abs_top_srcdir=$PWD/../ | cat
diff --git a/poky/meta/recipes-core/gettext/gettext-0.19.8.1/serial-tests-config.patch b/poky/meta/recipes-core/gettext/gettext-0.19.8.1/serial-tests-config.patch
new file mode 100644
index 0000000..31ff913
--- /dev/null
+++ b/poky/meta/recipes-core/gettext/gettext-0.19.8.1/serial-tests-config.patch
@@ -0,0 +1,58 @@
+From c4b1f3a0c7b7c40b343be9b95deb84e0485643be Mon Sep 17 00:00:00 2001
+From: "Hongjun.Yang" <hongjun.yang@windriver.com>
+Date: Thu, 28 Jul 2016 12:36:15 +0800
+Subject: [PATCH] fix for ptest
+
+Add serial-tests support, ptest need it
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ configure.ac                 | 2 +-
+ gettext-runtime/configure.ac | 2 +-
+ gettext-tools/configure.ac   | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 5e996fa..880581f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -23,7 +23,7 @@ AC_INIT([gettext],
+ 	[bug-gnu-gettext@gnu.org])
+ AC_CONFIG_SRCDIR([gettext-tools/src/msgfmt.c])
+ AC_CONFIG_AUX_DIR([build-aux])
+-AM_INIT_AUTOMAKE([1.13 silent-rules parallel-tests dist-xz dist-lzip])
++AM_INIT_AUTOMAKE([1.13 silent-rules serial-tests dist-xz dist-lzip])
+ 
+ dnl Override automake's tar command used for creating distributions.
+ am__tar='${AMTAR} chof - --owner=root --group=root "$$tardir"'
+diff --git a/gettext-runtime/configure.ac b/gettext-runtime/configure.ac
+index e9299b6..d4f5528 100644
+--- a/gettext-runtime/configure.ac
++++ b/gettext-runtime/configure.ac
+@@ -22,7 +22,7 @@ AC_INIT([gettext-runtime],
+ 	[bug-gnu-gettext@gnu.org])
+ AC_CONFIG_SRCDIR([intl/dcigettext.c])
+ AC_CONFIG_AUX_DIR([../build-aux])
+-AM_INIT_AUTOMAKE([1.11.1 silent-rules parallel-tests])
++AM_INIT_AUTOMAKE([1.11.1 silent-rules serial-tests])
+ AC_CONFIG_HEADERS([config.h])
+ 
+ dnl Installation directories.
+diff --git a/gettext-tools/configure.ac b/gettext-tools/configure.ac
+index 920eeb6..c507434 100644
+--- a/gettext-tools/configure.ac
++++ b/gettext-tools/configure.ac
+@@ -22,7 +22,7 @@ AC_INIT([gettext-tools],
+ 	[bug-gnu-gettext@gnu.org])
+ AC_CONFIG_SRCDIR([src/msgfmt.c])
+ AC_CONFIG_AUX_DIR([../build-aux])
+-AM_INIT_AUTOMAKE([1.11.1 silent-rules parallel-tests])
++AM_INIT_AUTOMAKE([1.11.1 silent-rules serial-tests])
+ AC_CONFIG_HEADERS([config.h])
+ 
+ dnl Installation directories.
+-- 
+2.1.4
+
diff --git a/poky/meta/recipes-core/gettext/gettext_0.19.8.1.bb b/poky/meta/recipes-core/gettext/gettext_0.19.8.1.bb
index 4049724..627568b 100644
--- a/poky/meta/recipes-core/gettext/gettext_0.19.8.1.bb
+++ b/poky/meta/recipes-core/gettext/gettext_0.19.8.1.bb
@@ -22,12 +22,14 @@
 	   file://cr-statement.c-timsort.h-fix-formatting-issues.patch \
 	   file://use-pkgconfig.patch \
 	   file://fix-CVE-2018-18751.patch \
+	   file://run-ptest \
+	   file://serial-tests-config.patch \
 "
 
 SRC_URI[md5sum] = "97e034cf8ce5ba73a28ff6c3c0638092"
 SRC_URI[sha256sum] = "ff942af0e438ced4a8b0ea4b0b6e0d6d657157c5e2364de57baa279c1c125c43"
 
-inherit autotools texinfo pkgconfig
+inherit autotools texinfo pkgconfig ptest
 
 EXTRA_OECONF += "--without-lispdir \
                  --disable-csharp \
@@ -129,4 +131,57 @@
 
 }
 
+do_compile_ptest() {
+        cd ${B}/gettext-tools/tests/
+        sed -i '/^buildtest-TESTS: /c buildtest-TESTS: $(TESTS) $(check_PROGRAMS)' Makefile
+        oe_runmake buildtest-TESTS
+        cd -
+}
+
+do_install_ptest() {
+    if [ ${PTEST_ENABLED} = "1" ]; then
+        mkdir -p                                        ${D}${PTEST_PATH}/tests
+        mkdir -p                                        ${D}${PTEST_PATH}/src
+        mkdir -p                                        ${D}${PTEST_PATH}/po
+        mkdir -p                                        ${D}${PTEST_PATH}/misc
+        cp -rf ${S}/gettext-tools/tests/*               ${D}${PTEST_PATH}/tests
+        cp -rf ${B}/gettext-tools/tests/.libs/*         ${D}${PTEST_PATH}/tests
+        cp -rf ${B}/gettext-runtime/intl/.libs/libgnuintl.so.8*         ${D}${libdir}/
+        cp -rf ${B}/gettext-tools/tests/Makefile        ${D}${PTEST_PATH}/tests
+        sed -i '/^Makefile:/c Makefile:'                ${D}${PTEST_PATH}/tests/Makefile
+        sed -i -e 's:CONFIG_SHELL=.*:& LOCALE_FR='fr_FR.iso88591' LOCALE_FR_UTF8='fr_FR.utf8' LOCALE_JA='ja_JP.eucjp':g' \
+            -e 's:lang-c lang-c++:lang-c++:g' ${D}${PTEST_PATH}/tests/Makefile
+        install ${S}/gettext-tools/src/msgunfmt.tcl     ${D}${PTEST_PATH}/src
+        install ${S}/gettext-tools/src/project-id       ${D}${PTEST_PATH}/src
+        install ${B}/gettext-runtime/src/gettext.sh     ${D}${PTEST_PATH}/src
+        install ${B}/gettext-runtime/src/ngettext       ${D}${PTEST_PATH}/src
+        install ${B}/gettext-runtime/src/envsubst       ${D}${PTEST_PATH}/src
+        install ${B}/gettext-runtime/src/gettext        ${D}${PTEST_PATH}/src
+        install ${B}/gettext-tools/src/.libs/cldr-plurals   ${D}${PTEST_PATH}/src
+        install ${S}/gettext-tools/po/gettext-tools.pot ${D}${PTEST_PATH}/po
+        install ${B}/gettext-tools/misc/*       ${D}${PTEST_PATH}/misc
+        find ${D}${PTEST_PATH}/ -name "*.o" -exec rm {} \;
+        chmod 0755 ${D}${PTEST_PATH}/tests/lang-vala ${D}${PTEST_PATH}/tests/plural-1 ${D}${PTEST_PATH}/tests/xgettext-tcl-4 \
+                   ${D}${PTEST_PATH}/tests/xgettext-vala-1  ${D}${PTEST_PATH}/tests/xgettext-po-2
+    fi
+}
+
+RDEPENDS_${PN}-ptest_append_libc-glibc = "\
+    glibc-gconv-big5 \
+    glibc-charmap-big5 \
+    glibc-gconv-cp1251 \
+    glibc-charmap-cp1251 \
+    glibc-charmap-iso-8859-9 \
+    glibc-gconv-iso8859-9 \
+    glibc-charmap-koi8-r \
+    glibc-gconv-koi8-r \
+    glibc-gconv-iso8859-2 \
+    glibc-charmap-iso-8859-2 \
+    glibc-gconv-euc-kr \
+    glibc-charmap-euc-kr \
+"
+
+INSANE_SKIP_${PN}-ptest += "ldflags"
+INSANE_SKIP_${PN}-ptest += "rpaths"
+
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/fix-nl-abaltmon.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/fix-nl-abaltmon.patch
new file mode 100644
index 0000000..c36a397
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/fix-nl-abaltmon.patch
@@ -0,0 +1,104 @@
+Fix the last few remaining bugs in glib's date/locale code.
+
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From 93d8482384ebc5c7d1f3d92b0190db0371269663 Mon Sep 17 00:00:00 2001
+From: Rafal Luzynski <digitalfreak@lingonborough.com>
+Date: Fri, 10 May 2019 00:40:27 +0200
+Subject: [PATCH] build: Fix a typo in the test whether _NL_ABALTMON_n is
+ supported
+
+The correct spelling is "_NL_ABALTMON_n" rather than "_NL_ALTMON_n".
+The typo made Meson build think that _NL_ABALTMON_n constants are
+not supported which was totally wrong. This made g_date_time_format()
+output incorrect abbreviated month names in some languages.
+The old configure.ac script was correct here.
+
+Bug introduced in commit be4f96b6502c01d2a51d60b7a669c8ef82e22a4d.
+
+Closes: #1759
+---
+ meson.build | 26 +++++++++++++-------------
+ 1 file changed, 13 insertions(+), 13 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index c5d2ce5f8..08fa40ac5 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1002,20 +1002,20 @@ if cc.links('''#ifndef _GNU_SOURCE
+               #include <langinfo.h>
+                int main (int argc, char ** argv) {
+                  char *str;
+-                 str = nl_langinfo (_NL_ALTMON_1);
+-                 str = nl_langinfo (_NL_ALTMON_2);
+-                 str = nl_langinfo (_NL_ALTMON_3);
+-                 str = nl_langinfo (_NL_ALTMON_4);
+-                 str = nl_langinfo (_NL_ALTMON_5);
+-                 str = nl_langinfo (_NL_ALTMON_6);
+-                 str = nl_langinfo (_NL_ALTMON_7);
+-                 str = nl_langinfo (_NL_ALTMON_8);
+-                 str = nl_langinfo (_NL_ALTMON_9);
+-                 str = nl_langinfo (_NL_ALTMON_10);
+-                 str = nl_langinfo (_NL_ALTMON_11);
+-                 str = nl_langinfo (_NL_ALTMON_12);
++                 str = nl_langinfo (_NL_ABALTMON_1);
++                 str = nl_langinfo (_NL_ABALTMON_2);
++                 str = nl_langinfo (_NL_ABALTMON_3);
++                 str = nl_langinfo (_NL_ABALTMON_4);
++                 str = nl_langinfo (_NL_ABALTMON_5);
++                 str = nl_langinfo (_NL_ABALTMON_6);
++                 str = nl_langinfo (_NL_ABALTMON_7);
++                 str = nl_langinfo (_NL_ABALTMON_8);
++                 str = nl_langinfo (_NL_ABALTMON_9);
++                 str = nl_langinfo (_NL_ABALTMON_10);
++                 str = nl_langinfo (_NL_ABALTMON_11);
++                 str = nl_langinfo (_NL_ABALTMON_12);
+                  return 0;
+-               }''', name : 'nl_langinfo (_NL_ALTMON_n)')
++               }''', name : 'nl_langinfo (_NL_ABALTMON_n)')
+   glib_conf.set('HAVE_LANGINFO_ABALTMON', 1)
+ endif
+ 
+-- 
+2.18.1
+
+From 35c28be32762d5af6b93cb6a3420c5977f7bf599 Mon Sep 17 00:00:00 2001
+From: Rafal Luzynski <digitalfreak@lingonborough.com>
+Date: Mon, 13 May 2019 23:11:28 +0200
+Subject: [PATCH] tests: Update month name check for Greek locale
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Update the abbreviated month name in the test to match the actual
+translation. Otherwise the test fails with false positive.
+
+Vocabulary:
+
+July (nominative)  - Greek: Ιούλιος (abbreviated: Ιούλ)
+Of July (genitive) - Greek: Ιουλίου (abbreviated: Ιουλ)
+
+This is similar to commit 4d215e006ee69bd7a993bf853722993433adbf9a
+and commit 7fe793e125c316ac34edd8158df5a132cb044bc1.
+
+Closes #1776
+---
+ glib/tests/date.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/glib/tests/date.c b/glib/tests/date.c
+index 8eb28712b..ff13ad101 100644
+--- a/glib/tests/date.c
++++ b/glib/tests/date.c
+@@ -388,7 +388,7 @@ test_month_names (void)
+       TEST_DATE ( 1,  4, 2018,   "%OB %Y",       "Απρίλιος 2018");
+       TEST_DATE ( 1,  5, 2018,   "%OB %Y",          "Μάιος 2018");
+       TEST_DATE ( 1,  6, 2018,   "%OB %Y",        "Ιούνιος 2018");
+-      TEST_DATE (16,  7, 2018, "%e %b %Y",        "16 Ιούλ 2018");
++      TEST_DATE (16,  7, 2018, "%e %b %Y",        "16 Ιουλ 2018");
+       TEST_DATE ( 1,  8, 2018,   "%Ob %Y",            "Αύγ 2018");
+     }
+   else
+-- 
+2.18.1
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb
index 733a2d4..d749be3 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb
@@ -17,6 +17,7 @@
            file://0001-Do-not-write-bindir-into-pkg-config-files.patch \
            file://0001-meson.build-do-not-hardcode-linux-as-the-host-system.patch \
            file://0001-meson-do-a-build-time-check-for-strlcpy-before-attem.patch \
+           file://fix-nl-abaltmon.patch \
            file://glib-meson.cross \
            "
 
diff --git a/poky/meta/recipes-core/glib-2.0/glib.inc b/poky/meta/recipes-core/glib-2.0/glib.inc
index 574bb38..9ffc456 100644
--- a/poky/meta/recipes-core/glib-2.0/glib.inc
+++ b/poky/meta/recipes-core/glib-2.0/glib.inc
@@ -30,11 +30,7 @@
 
 inherit meson gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages distro_features_check
 
-GTKDOC_ENABLE_FLAG = "-Dgtk_doc=true"
-GTKDOC_DISABLE_FLAG = "-Dgtk_doc=false"
-
-EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
-                                                                                     '${GTKDOC_DISABLE_FLAG}', d)} "
+GTKDOC_MESON_OPTION = "gtk_doc"
 
 # This avoids the need to depend on target python3, which in case of mingw is not even possible.
 # meson's python configuration pokes into python3 configuration, so this provides the native config to it.
@@ -152,6 +148,14 @@
             tzdata-europe \
             tzdata-posix \
             shared-mime-info \
+            ${PN}-locale-ja \
+            ${PN}-locale-fr \
+            ${PN}-locale-el \
+            ${PN}-locale-hr \
+            ${PN}-locale-lt \
+            ${PN}-locale-pl \
+            ${PN}-locale-ru \
+            ${PN}-locale-th \
            "
 
 RDEPENDS_${PN}-ptest_append_libc-glibc = "\
@@ -177,5 +181,7 @@
             locale-base-fr-fr \
             locale-base-es-es \
             locale-base-en-gb \
+            locale-base-en-us \
             locale-base-pl-pl \
+            locale-base-pl-pl.iso-8859-2 \
            "
diff --git a/poky/meta/recipes-core/glib-networking/glib-networking_2.58.0.bb b/poky/meta/recipes-core/glib-networking/glib-networking_2.60.1.bb
similarity index 71%
rename from poky/meta/recipes-core/glib-networking/glib-networking_2.58.0.bb
rename to poky/meta/recipes-core/glib-networking/glib-networking_2.60.1.bb
index f3190e1..09af229 100644
--- a/poky/meta/recipes-core/glib-networking/glib-networking_2.58.0.bb
+++ b/poky/meta/recipes-core/glib-networking/glib-networking_2.60.1.bb
@@ -9,15 +9,15 @@
 SECTION = "libs"
 DEPENDS = "glib-2.0"
 
-SRC_URI[archive.md5sum] = "75b14b7e73a67753be9ce307751c661d"
-SRC_URI[archive.sha256sum] = "bdfa0255e031b8ee003cc283002536b77ee76450105f1dc6ab066b9bf4330068"
+SRC_URI[archive.md5sum] = "83321ffc3c336894b8a5bc18db3fe58d"
+SRC_URI[archive.sha256sum] = "d71c6b2faa5ac29100314f08a1be020a2afd0291f025614c0af0d17b14435d92"
 
 PACKAGECONFIG ??= "gnutls"
 
-PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls"
-PACKAGECONFIG[libproxy] = "-Dlibproxy_support=true,-Dlibproxy_support=false,libproxy"
+PACKAGECONFIG[gnutls] = "-Dgnutls=enabled,-Dgnutls=disabled,gnutls"
+PACKAGECONFIG[libproxy] = "-Dlibproxy=enabled,-Dlibproxy=disabled,libproxy"
 
-EXTRA_OEMESON = "-Dgnome_proxy_support=false"
+EXTRA_OEMESON = "-Dgnome_proxy=disabled"
 
 GNOMEBASEBUILDCLASS = "meson"
 inherit gnomebase gettext upstream-version-is-even gio-module-cache
diff --git a/poky/meta/recipes-core/glibc/glibc_2.29.bb b/poky/meta/recipes-core/glibc/glibc_2.29.bb
index 9184c59..073d153 100644
--- a/poky/meta/recipes-core/glibc/glibc_2.29.bb
+++ b/poky/meta/recipes-core/glibc/glibc_2.29.bb
@@ -110,7 +110,7 @@
 
 do_compile () {
 	# -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging
-	unset LDFLAGS
+	LDFLAGS="-fuse-ld=bfd"
 	base_do_compile
 	echo "Adjust ldd script"
 	if [ -n "${RTLDLIST}" ]
diff --git a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
index a59334f..3302a86 100644
--- a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
+++ b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
@@ -22,7 +22,7 @@
 
 inherit core-image module-base setuptools3
 
-SRCREV ?= "c96d8de352f242f70ff9c166508c3d0e50199874"
+SRCREV ?= "5c504dd014a1bd3e6b3fea528a11aca7dff4d931"
 SRC_URI = "git://git.yoctoproject.org/poky \
            file://Yocto_Build_Appliance.vmx \
            file://Yocto_Build_Appliance.vmxf \
diff --git a/poky/meta/recipes-core/initrdscripts/files/init-live.sh b/poky/meta/recipes-core/initrdscripts/files/init-live.sh
old mode 100644
new mode 100755
index 65183d7..b20660b
--- a/poky/meta/recipes-core/initrdscripts/files/init-live.sh
+++ b/poky/meta/recipes-core/initrdscripts/files/init-live.sh
@@ -28,8 +28,7 @@
 _UDEV_DAEMON=`udev_daemon`
 
 early_setup() {
-    mkdir -p /proc
-    mkdir -p /sys
+    mkdir -p /proc /sys /run /var/run
     mount -t proc proc /proc
     mount -t sysfs sysfs /sys
     mount -t devtmpfs none /dev
@@ -37,9 +36,6 @@
     # support modular kernel
     modprobe isofs 2> /dev/null
 
-    mkdir -p /run
-    mkdir -p /var/run
-
     $_UDEV_DAEMON --daemon
     udevadm trigger --action=add
 }
diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.4.bb
similarity index 63%
rename from poky/meta/recipes-core/libxcrypt/libxcrypt.bb
rename to poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.4.bb
index 3b9af6d..b44c07b 100644
--- a/poky/meta/recipes-core/libxcrypt/libxcrypt.bb
+++ b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.4.bb
@@ -4,26 +4,28 @@
 SECTION = "libs"
 LICENSE = "LGPLv2.1"
 LIC_FILES_CHKSUM ?= "file://LICENSING;md5=be275bc7f91642efe7709a8ae7a1433b \
-      file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+                     file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
 "
 
 inherit autotools pkgconfig
 
-PV = "4.4.2"
-# v4.4.2
-SRCREV ?= "cf6abf18083566ec1612af27982a5160c9e0f137"
-SRCBRANCH ?= "develop"
+PV = "4.4.4"
 
-SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH} \
-           "
+SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH}"
+SRCREV = "3b251d4e1af66aa7697c4ac96c689f996fa90c32"
+SRCBRANCH ?= "develop"
 
 PROVIDES = "virtual/crypt"
 
-FILES_${PN} = "${libdir}/libcrypt*.so.* ${libdir}/libcrypt-*.so ${libdir}/libowcrypt*.so.* ${libdir}/libowcrypt-*.so"
+FILES_${PN} = "${libdir}/libcrypt*.so.* \
+               ${libdir}/libcrypt-*.so \
+               ${libdir}/libowcrypt*.so.* \
+               ${libdir}/libowcrypt-*.so \
+"
 
 S = "${WORKDIR}/git"
 
-BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE} -std=gnu99"
+BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}"
 TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir} -Wno-error=missing-attributes"
 CPPFLAGS_append_class-nativesdk = " -Wno-error=missing-attributes"
 
diff --git a/poky/meta/recipes-core/libxml/libxml2/0001-Fix-infinite-loop-in-LZMA-decompression.patch b/poky/meta/recipes-core/libxml/libxml2/0001-Fix-infinite-loop-in-LZMA-decompression.patch
deleted file mode 100644
index 16c2295..0000000
--- a/poky/meta/recipes-core/libxml/libxml2/0001-Fix-infinite-loop-in-LZMA-decompression.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 28a9dc642ffd759df1e48be247a114f440a6c16e Mon Sep 17 00:00:00 2001
-From: Nick Wellnhofer <wellnhofer@aevum.de>
-Date: Mon, 30 Jul 2018 13:14:11 +0200
-Subject: [PATCH] Fix infinite loop in LZMA decompression
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Check the liblzma error code more thoroughly to avoid infinite loops.
-
-Closes: https://gitlab.gnome.org/GNOME/libxml2/issues/13
-Closes: https://bugzilla.gnome.org/show_bug.cgi?id=794914
-
-This is CVE-2018-9251 and CVE-2018-14567.
-
-Thanks to Dongliang Mu and Simon Wörner for the reports.
-
-CVE: CVE-2018-9251
-CVE: CVE-2018-14567
-Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libxml2/commit/2240fbf5912054af025fb6e01e26375100275e74]
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- xzlib.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/xzlib.c b/xzlib.c
-index a839169..0ba88cf 100644
---- a/xzlib.c
-+++ b/xzlib.c
-@@ -562,6 +562,10 @@ xz_decomp(xz_statep state)
-                          "internal error: inflate stream corrupt");
-                 return -1;
-             }
-+            /*
-+             * FIXME: Remapping a couple of error codes and falling through
-+             * to the LZMA error handling looks fragile.
-+             */
-             if (ret == Z_MEM_ERROR)
-                 ret = LZMA_MEM_ERROR;
-             if (ret == Z_DATA_ERROR)
-@@ -587,6 +591,11 @@ xz_decomp(xz_statep state)
-             xz_error(state, LZMA_PROG_ERROR, "compression error");
-             return -1;
-         }
-+        if ((state->how != GZIP) &&
-+            (ret != LZMA_OK) && (ret != LZMA_STREAM_END)) {
-+            xz_error(state, ret, "lzma error");
-+            return -1;
-+        }
-     } while (strm->avail_out && ret != LZMA_STREAM_END);
- 
-     /* update available output and crc check value */
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-core/libxml/libxml2/fix-CVE-2017-8872.patch b/poky/meta/recipes-core/libxml/libxml2/fix-CVE-2017-8872.patch
deleted file mode 100644
index 42a4b0e..0000000
--- a/poky/meta/recipes-core/libxml/libxml2/fix-CVE-2017-8872.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-Upstream-Status: Backport
-CVE: CVE-2017-8872
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 123234f2cfcd9e9b9f83047eee1dc17b4c3f4407 Mon Sep 17 00:00:00 2001
-From: Nick Wellnhofer <wellnhofer@aevum.de>
-Date: Tue, 11 Sep 2018 14:52:07 +0200
-Subject: [PATCH] Free input buffer in xmlHaltParser
-
-This avoids miscalculation of available bytes.
-
-Thanks to Yunho Kim for the report.
-
-Closes: #26
----
- parser.c                     |  5 +++++
- result/errors/759573.xml.err | 17 +++++++----------
- 2 files changed, 12 insertions(+), 10 deletions(-)
-
-diff --git a/parser.c b/parser.c
-index ca9fde2c..5813a664 100644
---- a/parser.c
-+++ b/parser.c
-@@ -12462,7 +12462,12 @@ xmlHaltParser(xmlParserCtxtPtr ctxt) {
- 	    ctxt->input->free((xmlChar *) ctxt->input->base);
- 	    ctxt->input->free = NULL;
- 	}
-+        if (ctxt->input->buf != NULL) {
-+            xmlFreeParserInputBuffer(ctxt->input->buf);
-+            ctxt->input->buf = NULL;
-+        }
- 	ctxt->input->cur = BAD_CAST"";
-+        ctxt->input->length = 0;
- 	ctxt->input->base = ctxt->input->cur;
-         ctxt->input->end = ctxt->input->cur;
-     }
-diff --git a/result/errors/759573.xml.err b/result/errors/759573.xml.err
-index 554039f6..38ef5c40 100644
---- a/result/errors/759573.xml.err
-+++ b/result/errors/759573.xml.err
-@@ -21,14 +21,11 @@ Entity: line 1:
-             ^
- ./test/errors/759573.xml:1: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
- 
--<?h?><!DOCTYPEt[<!ELEMENT t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;00
--     ^
-+
-+^
- ./test/errors/759573.xml:1: parser error : DOCTYPE improperly terminated
--<?h?><!DOCTYPEt[<!ELEMENT t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;00
--     ^
--./test/errors/759573.xml:1: parser error : StartTag: invalid element name
--<?h?><!DOCTYPEt[<!ELEMENT t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;00
--      ^
--./test/errors/759573.xml:1: parser error : Extra content at the end of the document
--<?h?><!DOCTYPEt[<!ELEMENT t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;00
--      ^
-+
-+^
-+./test/errors/759573.xml:1: parser error : Start tag expected, '<' not found
-+
-+^
--- 
-2.11.0
-
diff --git a/poky/meta/recipes-core/libxml/libxml2/fix-CVE-2018-14404.patch b/poky/meta/recipes-core/libxml/libxml2/fix-CVE-2018-14404.patch
deleted file mode 100644
index 21668e2..0000000
--- a/poky/meta/recipes-core/libxml/libxml2/fix-CVE-2018-14404.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-libxml2-2.9.8: Fix CVE-2018-14404
-
-[No upstream tracking] -- https://gitlab.gnome.org/GNOME/libxml2/issues/5
- -- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=901817
- -- https://bugzilla.redhat.com/show_bug.cgi?id=1595985
-
-xpath: Fix nullptr deref with XPath logic ops
-
-If the XPath stack is corrupted, for example by a misbehaving extension
-function, the "and" and "or" XPath operators could dereference NULL
-pointers. Check that the XPath stack isn't empty and optimize the
-logic operators slightly.
-
-Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libxml2/commit/a436374994c47b12d5de1b8b1d191a098fa23594]
-CVE: CVE-2018-14404
-Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
-
-diff --git a/xpath.c b/xpath.c
-index f440696..75cac5c 100644
---- a/xpath.c
-+++ b/xpath.c
-@@ -13297,9 +13297,8 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
- 		return(0);
- 	    }
-             xmlXPathBooleanFunction(ctxt, 1);
--            arg1 = valuePop(ctxt);
--            arg1->boolval &= arg2->boolval;
--            valuePush(ctxt, arg1);
-+	    if (ctxt->value != NULL)
-+		ctxt->value->boolval &= arg2->boolval;
- 	    xmlXPathReleaseObject(ctxt->context, arg2);
-             return (total);
-         case XPATH_OP_OR:
-@@ -13323,9 +13322,8 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
- 		return(0);
- 	    }
-             xmlXPathBooleanFunction(ctxt, 1);
--            arg1 = valuePop(ctxt);
--            arg1->boolval |= arg2->boolval;
--            valuePush(ctxt, arg1);
-+	    if (ctxt->value != NULL)
-+		ctxt->value->boolval |= arg2->boolval;
- 	    xmlXPathReleaseObject(ctxt->context, arg2);
-             return (total);
-         case XPATH_OP_EQUAL:
diff --git a/poky/meta/recipes-core/libxml/libxml2/fix-execution-of-ptests.patch b/poky/meta/recipes-core/libxml/libxml2/fix-execution-of-ptests.patch
index 51a9e19..ad719d4 100644
--- a/poky/meta/recipes-core/libxml/libxml2/fix-execution-of-ptests.patch
+++ b/poky/meta/recipes-core/libxml/libxml2/fix-execution-of-ptests.patch
@@ -1,14 +1,23 @@
-Make sure that Makefile doesn't try to compile these tests again
-on the target where the source dependencies won't be available.
+From 395c0f53ec226aaabedb166e6b3a7f8590b95a5f Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Sat, 11 May 2019 20:39:15 +0800
+Subject: [PATCH] Make sure that Makefile doesn't try to compile these tests
+ again on the target where the source dependencies won't be available.
 
 Upstream-Status: Inappropriate [cross-compile specific]
 
 Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
 
-Index: libxml2-2.9.7/Makefile.am
-===================================================================
---- libxml2-2.9.7.orig/Makefile.am
-+++ libxml2-2.9.7/Makefile.am
+Rebase to 2.9.9
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ Makefile.am | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 8f4e43d..5edb930 100644
+--- a/Makefile.am
++++ b/Makefile.am
 @@ -211,8 +211,7 @@ install-ptest:
  	sed -i -e 's|^Makefile:|_Makefile:|' $(DESTDIR)/Makefile
  	$(MAKE) -C python install-ptest
@@ -19,3 +28,6 @@
  	[ -d test   ] || $(LN_S) $(srcdir)/test   .
  	[ -d result ] || $(LN_S) $(srcdir)/result .
  	$(CHECKER) ./runtest$(EXEEXT) && \
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-core/libxml/libxml2/libxml-64bit.patch b/poky/meta/recipes-core/libxml/libxml2/libxml-64bit.patch
index 1147017..fd8e469 100644
--- a/poky/meta/recipes-core/libxml/libxml2/libxml-64bit.patch
+++ b/poky/meta/recipes-core/libxml/libxml2/libxml-64bit.patch
@@ -1,14 +1,19 @@
-Upstream-Status: Backport [from debian: bugs.debian.org/439843]
+From 056b14345b1abd76a761ab14538f1bc21302781a Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Sat, 11 May 2019 20:26:51 +0800
+Subject: [PATCH] libxml 64bit
 
+Upstream-Status: Backport [from debian: bugs.debian.org/439843]
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
 ---
- libxml.h |    3 +++
+ libxml.h | 3 +++
  1 file changed, 3 insertions(+)
 
---- libxml2-2.6.29.orig/libxml.h
-+++ libxml2-2.6.29/libxml.h
-@@ -11,10 +11,13 @@
- 
- #ifndef NO_LARGEFILE_SOURCE
+diff --git a/libxml.h b/libxml.h
+index 64e30f7..4e80d90 100644
+--- a/libxml.h
++++ b/libxml.h
+@@ -15,6 +15,9 @@
  #ifndef _LARGEFILE_SOURCE
  #define _LARGEFILE_SOURCE
  #endif
@@ -18,5 +23,6 @@
  #ifndef _FILE_OFFSET_BITS
  #define _FILE_OFFSET_BITS 64
  #endif
- #endif
- 
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-core/libxml/libxml2/libxml-m4-use-pkgconfig.patch b/poky/meta/recipes-core/libxml/libxml2/libxml-m4-use-pkgconfig.patch
index d9ed151..e6998f6 100644
--- a/poky/meta/recipes-core/libxml/libxml2/libxml-m4-use-pkgconfig.patch
+++ b/poky/meta/recipes-core/libxml/libxml2/libxml-m4-use-pkgconfig.patch
@@ -1,11 +1,20 @@
-AM_PATH_XML2 uses xml-config which we disable through
+From 43edc9a445ed66cceb7533eadeef242940b4592c Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Sat, 11 May 2019 20:37:12 +0800
+Subject: [PATCH] AM_PATH_XML2 uses xml-config which we disable through
 binconfig-disabled.bbclass, so port it to use pkg-config instead.
 
 Upstream-Status: Pending
 Signed-off-by: Ross Burton <ross.burton@intel.com>
 
+Rebase to 2.9.9
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ libxml.m4 | 186 ++------------------------------------------------------------
+ 1 file changed, 5 insertions(+), 181 deletions(-)
+
 diff --git a/libxml.m4 b/libxml.m4
-index 68cd824..5fa0a9b 100644
+index 2d7a6f5..1c53585 100644
 --- a/libxml.m4
 +++ b/libxml.m4
 @@ -1,188 +1,12 @@
@@ -202,3 +211,6 @@
 -  AC_SUBST(XML_LIBS)
 -  rm -f conf.xmltest
  ])
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-core/libxml/libxml2/python-sitepackages-dir.patch b/poky/meta/recipes-core/libxml/libxml2/python-sitepackages-dir.patch
index e83c832..956ff3f 100644
--- a/poky/meta/recipes-core/libxml/libxml2/python-sitepackages-dir.patch
+++ b/poky/meta/recipes-core/libxml/libxml2/python-sitepackages-dir.patch
@@ -1,4 +1,7 @@
-Allow us to pass in PYTHON_SITE_PACKAGES
+From b038c3452667ed17ddb0e791cd7bdc7f8774ac29 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Sat, 11 May 2019 20:35:20 +0800
+Subject: [PATCH] Allow us to pass in PYTHON_SITE_PACKAGES
 
 The python binary used when building for nativesdk doesn't give us the
 correct path here so we need to be able to specify it ourselves.
@@ -6,16 +9,18 @@
 Upstream-Status: Inappropriate [config]
 Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
 
-Rebase to 2.9.2
+Rebase to 2.9.9
+
 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
 ---
  configure.ac | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/configure.ac b/configure.ac
+index ca911f3..3bbd654 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -813,7 +813,8 @@ dnl
+@@ -808,7 +808,8 @@ dnl
  
  PYTHON_VERSION=
  PYTHON_INCLUDES=
@@ -26,5 +31,5 @@
  pythondir=
  if test "$with_python" != "no" ; then
 -- 
-1.9.1
+2.7.4
 
diff --git a/poky/meta/recipes-core/libxml/libxml2/runtest.patch b/poky/meta/recipes-core/libxml/libxml2/runtest.patch
index 544dc05..0dbb353 100644
--- a/poky/meta/recipes-core/libxml/libxml2/runtest.patch
+++ b/poky/meta/recipes-core/libxml/libxml2/runtest.patch
@@ -1,14 +1,28 @@
-Add 'install-ptest' rule.
-Print a standard result line for each test.
+Add 'install-ptest' rule. Print a standard result line for
+each test.
 
 Signed-off-by: Mihaela Sendrea <mihaela.sendrea@enea.com>
 Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
 Upstream-Status: Backport
 
-diff -uNr a/Makefile.am b/Makefile.am
---- a/Makefile.am	2017-12-02 09:58:10.000000000 +0100
-+++ b/Makefile.am	2018-03-20 08:27:34.360505864 +0100
-@@ -202,6 +202,15 @@
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ Makefile.am   |   9 ++++
+ runsuite.c    |   1 +
+ runtest.c     |   2 +
+ runxmlconf.c  |   1 +
+ testapi.c     | 122 ++++++++++++++++++++++++++++++---------------
+ testchar.c    | 156 +++++++++++++++++++++++++++++++++++++++++-----------------
+ testdict.c    |   1 +
+ testlimits.c  |   1 +
+ testrecurse.c |   2 +
+ 9 files changed, 210 insertions(+), 85 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 9c630be..7cfd04b 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -202,6 +202,15 @@ runxmlconf_LDADD= $(LDADDS)
  #testOOM_DEPENDENCIES = $(DEPS)
  #testOOM_LDADD= $(LDADDS)
  
@@ -24,10 +38,11 @@
  runtests: runtest$(EXEEXT) testrecurse$(EXEEXT) testapi$(EXEEXT) \
            testchar$(EXEEXT) testdict$(EXEEXT) runxmlconf$(EXEEXT)
  	[ -d test   ] || $(LN_S) $(srcdir)/test   .
-diff -uNr a/runsuite.c b/runsuite.c
---- a/runsuite.c	2016-06-07 12:04:14.000000000 +0200
-+++ b/runsuite.c	2018-03-20 08:27:57.478817247 +0100
-@@ -1162,6 +1162,7 @@
+diff --git a/runsuite.c b/runsuite.c
+index aaab13e..9ba2c5d 100644
+--- a/runsuite.c
++++ b/runsuite.c
+@@ -1162,6 +1162,7 @@ main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
  
      if (logfile != NULL)
          fclose(logfile);
@@ -35,20 +50,19 @@
      return(ret);
  }
  #else /* !SCHEMAS */
-diff -uNr a/runtest.c b/runtest.c
---- a/runtest.c	2017-11-13 22:00:17.000000000 +0100
-+++ b/runtest.c	2018-03-20 08:28:50.859047551 +0100
-@@ -4496,7 +4496,8 @@
-     }
- 
+diff --git a/runtest.c b/runtest.c
+index addda5c..8ba5d59 100644
+--- a/runtest.c
++++ b/runtest.c
+@@ -4501,6 +4501,7 @@ launchTests(testDescPtr tst) {
      xmlCharEncCloseFunc(ebcdicHandler);
--
-+    
+     xmlCharEncCloseFunc(eucJpHandler);
+ 
 +    printf("%s: %s\n", (err == 0) ? "PASS" : "FAIL", tst->desc);
      return(err);
  }
  
-@@ -4573,6 +4574,7 @@
+@@ -4577,6 +4578,7 @@ main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
      xmlCleanupParser();
      xmlMemoryDump();
  
@@ -56,10 +70,11 @@
      return(ret);
  }
  
-diff -uNr a/runxmlconf.c b/runxmlconf.c
---- a/runxmlconf.c	2016-06-07 12:04:14.000000000 +0200
-+++ b/runxmlconf.c	2018-03-20 08:29:17.944862893 +0100
-@@ -595,6 +595,7 @@
+diff --git a/runxmlconf.c b/runxmlconf.c
+index cef20f4..4f291fb 100644
+--- a/runxmlconf.c
++++ b/runxmlconf.c
+@@ -595,6 +595,7 @@ main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
  
      if (logfile != NULL)
          fclose(logfile);
@@ -67,15 +82,15 @@
      return(ret);
  }
  
-diff -uNr a/testapi.c b/testapi.c
---- a/testapi.c	2018-01-25 07:39:15.000000000 +0100
-+++ b/testapi.c	2018-03-20 09:08:35.323980145 +0100
-@@ -1246,49 +1246,91 @@
+diff --git a/testapi.c b/testapi.c
+index 4a751e2..7ccc066 100644
+--- a/testapi.c
++++ b/testapi.c
+@@ -1246,49 +1246,91 @@ static int
  testlibxml2(void)
  {
      int test_ret = 0;
-+    int ret = 0;
- 
+-
 -    test_ret += test_HTMLparser();
 -    test_ret += test_HTMLtree();
 -    test_ret += test_SAX2();
@@ -115,6 +130,8 @@
 -    test_ret += test_xpath();
 -    test_ret += test_xpathInternals();
 -    test_ret += test_xpointer();
++    int ret = 0;
++
 +    test_ret += (ret = test_HTMLparser());
 +    printf("%s: HTMLparser\n", (ret == 0) ? "PASS" : "FAIL");
 +    test_ret += (ret = test_HTMLtree());
@@ -201,20 +218,11 @@
      return(test_ret);
  }
  
-diff -uNr a/testdict.c b/testdict.c
---- a/testdict.c	2016-06-07 12:04:14.000000000 +0200
-+++ b/testdict.c	2018-03-20 08:59:16.864275812 +0100
-@@ -440,5 +440,6 @@
-     clean_strings();
-     xmlCleanupParser();
-     xmlMemoryDump();
-+    printf("%s: testdict\n\n", (ret == 0) ? "PASS" : "FAIL");
-     return(ret);
- }
-diff -uNr a/testchar.c b/testchar.c
---- a/testchar.c	2016-06-07 12:04:14.000000000 +0200
-+++ b/testchar.c	2018-03-20 09:11:20.383573912 +0100
-@@ -23,7 +23,7 @@
+diff --git a/testchar.c b/testchar.c
+index 0d08792..f555d3b 100644
+--- a/testchar.c
++++ b/testchar.c
+@@ -23,7 +23,7 @@ static void errorHandler(void *unused, xmlErrorPtr err) {
  char document1[100] = "<doc>XXXX</doc>";
  char document2[100] = "<doc foo='XXXX'/>";
  
@@ -223,7 +231,7 @@
                    int len,  char *data, int forbid1, int forbid2) {
      int i;
      xmlDocPtr res;
-@@ -37,33 +37,41 @@
+@@ -37,33 +37,41 @@ static void testDocumentRangeByte1(xmlParserCtxtPtr ctxt, char *document,
  	res = xmlReadMemory(document, len, "test", NULL, 0);
  
  	if ((i == forbid1) || (i == forbid2)) {
@@ -269,7 +277,7 @@
                    int len,  char *data) {
      int i, j;
      xmlDocPtr res;
-@@ -80,10 +88,12 @@
+@@ -80,10 +88,12 @@ static void testDocumentRangeByte2(xmlParserCtxtPtr ctxt, char *document,
  
  	/* if first bit of first char is set, then second bit must too */
  	if ((i & 0x80) && ((i & 0x40) == 0)) {
@@ -283,7 +291,7 @@
  	}
  
  	/*
-@@ -91,10 +101,12 @@
+@@ -91,10 +101,12 @@ static void testDocumentRangeByte2(xmlParserCtxtPtr ctxt, char *document,
  	 * bits must be 10
  	 */
  	else if ((i & 0x80) && ((j & 0xC0) != 0x80)) {
@@ -297,7 +305,7 @@
  	}
  
  	/*
-@@ -102,10 +114,12 @@
+@@ -102,10 +114,12 @@ static void testDocumentRangeByte2(xmlParserCtxtPtr ctxt, char *document,
  	 * than 0x80, i.e. one of bits 5 to 1 of i must be set
  	 */
  	else if ((i & 0x80) && ((i & 0x1E) == 0)) {
@@ -311,7 +319,7 @@
  	}
  
  	/*
-@@ -113,10 +127,12 @@
+@@ -113,10 +127,12 @@ static void testDocumentRangeByte2(xmlParserCtxtPtr ctxt, char *document,
  	 * at least 3 bytes, but we give only 2 !
  	 */
  	else if ((i & 0xE0) == 0xE0) {
@@ -325,7 +333,7 @@
  	}
  
  	/*
-@@ -125,11 +141,13 @@
+@@ -125,11 +141,13 @@ static void testDocumentRangeByte2(xmlParserCtxtPtr ctxt, char *document,
  	else if ((lastError != 0) || (res == NULL)) {
  	    fprintf(stderr,
  		"Failed to parse document for Bytes 0x%02X 0x%02X\n", i, j);
@@ -339,7 +347,7 @@
  }
  
  /**
-@@ -141,9 +159,10 @@
+@@ -141,9 +159,10 @@ static void testDocumentRangeByte2(xmlParserCtxtPtr ctxt, char *document,
   * CDATA in text or in attribute values.
   */
  
@@ -351,7 +359,7 @@
  
      /*
       * Set up a parsing context using the first document as
-@@ -152,7 +171,7 @@
+@@ -152,7 +171,7 @@ static void testDocumentRanges(void) {
      ctxt = xmlNewParserCtxt();
      if (ctxt == NULL) {
          fprintf(stderr, "Failed to allocate parser context\n");
@@ -360,7 +368,7 @@
      }
  
      printf("testing 1 byte char in document: 1");
-@@ -163,7 +182,7 @@
+@@ -163,7 +182,7 @@ static void testDocumentRanges(void) {
      data[2] = ' ';
      data[3] = ' ';
      /* test 1 byte injection at beginning of area */
@@ -369,7 +377,7 @@
                             data, -1, -1);
      printf(" 2");
      fflush(stdout);
-@@ -172,7 +191,7 @@
+@@ -172,7 +191,7 @@ static void testDocumentRanges(void) {
      data[2] = ' ';
      data[3] = ' ';
      /* test 1 byte injection at end of area */
@@ -378,7 +386,7 @@
                             data + 3, -1, -1);
  
      printf(" 3");
-@@ -183,7 +202,7 @@
+@@ -183,7 +202,7 @@ static void testDocumentRanges(void) {
      data[2] = ' ';
      data[3] = ' ';
      /* test 1 byte injection at beginning of area */
@@ -387,7 +395,7 @@
                             data, '\'', -1);
      printf(" 4");
      fflush(stdout);
-@@ -192,7 +211,7 @@
+@@ -192,7 +211,7 @@ static void testDocumentRanges(void) {
      data[2] = ' ';
      data[3] = ' ';
      /* test 1 byte injection at end of area */
@@ -396,7 +404,7 @@
                             data + 3, '\'', -1);
      printf(" done\n");
  
-@@ -204,7 +223,7 @@
+@@ -204,7 +223,7 @@ static void testDocumentRanges(void) {
      data[2] = ' ';
      data[3] = ' ';
      /* test 2 byte injection at beginning of area */
@@ -405,7 +413,7 @@
                             data);
      printf(" 2");
      fflush(stdout);
-@@ -213,7 +232,7 @@
+@@ -213,7 +232,7 @@ static void testDocumentRanges(void) {
      data[2] = ' ';
      data[3] = ' ';
      /* test 2 byte injection at end of area */
@@ -414,7 +422,7 @@
                             data + 2);
  
      printf(" 3");
-@@ -224,7 +243,7 @@
+@@ -224,7 +243,7 @@ static void testDocumentRanges(void) {
      data[2] = ' ';
      data[3] = ' ';
      /* test 2 byte injection at beginning of area */
@@ -423,7 +431,7 @@
                             data);
      printf(" 4");
      fflush(stdout);
-@@ -233,14 +252,15 @@
+@@ -233,14 +252,15 @@ static void testDocumentRanges(void) {
      data[2] = ' ';
      data[3] = ' ';
      /* test 2 byte injection at end of area */
@@ -441,7 +449,7 @@
      int i = 0;
      int len, c;
  
-@@ -255,19 +275,25 @@
+@@ -255,19 +275,25 @@ static void testCharRangeByte1(xmlParserCtxtPtr ctxt, char *data) {
          c = xmlCurrentChar(ctxt, &len);
  	if ((i == 0) || (i >= 0x80)) {
  	    /* we must see an error there */
@@ -470,7 +478,7 @@
      int i, j;
      int len, c;
  
-@@ -284,10 +310,12 @@
+@@ -284,10 +310,12 @@ static void testCharRangeByte2(xmlParserCtxtPtr ctxt, char *data) {
  
  	    /* if first bit of first char is set, then second bit must too */
  	    if ((i & 0x80) && ((i & 0x40) == 0)) {
@@ -484,7 +492,7 @@
  	    }
  
  	    /*
-@@ -295,10 +323,12 @@
+@@ -295,10 +323,12 @@ static void testCharRangeByte2(xmlParserCtxtPtr ctxt, char *data) {
  	     * bits must be 10
  	     */
  	    else if ((i & 0x80) && ((j & 0xC0) != 0x80)) {
@@ -498,7 +506,7 @@
  	    }
  
  	    /*
-@@ -306,10 +336,12 @@
+@@ -306,10 +336,12 @@ static void testCharRangeByte2(xmlParserCtxtPtr ctxt, char *data) {
  	     * than 0x80, i.e. one of bits 5 to 1 of i must be set
  	     */
  	    else if ((i & 0x80) && ((i & 0x1E) == 0)) {
@@ -512,7 +520,7 @@
  	    }
  
  	    /*
-@@ -317,10 +349,12 @@
+@@ -317,10 +349,12 @@ static void testCharRangeByte2(xmlParserCtxtPtr ctxt, char *data) {
  	     * at least 3 bytes, but we give only 2 !
  	     */
  	    else if ((i & 0xE0) == 0xE0) {
@@ -526,7 +534,7 @@
  	    }
  
              /*
-@@ -329,6 +363,7 @@
+@@ -329,6 +363,7 @@ static void testCharRangeByte2(xmlParserCtxtPtr ctxt, char *data) {
  	    else if ((lastError != 0) || (len != 2)) {
  		fprintf(stderr,
  		    "Failed to parse char for Bytes 0x%02X 0x%02X\n", i, j);
@@ -534,7 +542,7 @@
  	    }
  
              /*
-@@ -338,12 +373,14 @@
+@@ -338,12 +373,14 @@ static void testCharRangeByte2(xmlParserCtxtPtr ctxt, char *data) {
  		fprintf(stderr,
  	"Failed to parse char for Bytes 0x%02X 0x%02X: expect %d got %d\n",
  	                i, j, ((j & 0x3F) + ((i & 0x1F) << 6)), c);
@@ -550,7 +558,7 @@
      int i, j, k, K;
      int len, c;
      unsigned char lows[6] = {0, 0x80, 0x81, 0xC1, 0xFF, 0xBF};
-@@ -368,20 +405,24 @@
+@@ -368,20 +405,24 @@ static void testCharRangeByte3(xmlParserCtxtPtr ctxt, char *data) {
  	 * at least 4 bytes, but we give only 3 !
  	 */
  	if ((i & 0xF0) == 0xF0) {
@@ -577,7 +585,7 @@
  	}
  
  	/*
-@@ -390,10 +431,12 @@
+@@ -390,10 +431,12 @@ static void testCharRangeByte3(xmlParserCtxtPtr ctxt, char *data) {
  	 * the 6th byte of data[1] must be set
  	 */
  	else if (((i & 0xF) == 0) && ((j & 0x20) == 0)) {
@@ -591,7 +599,7 @@
  	}
  
          /*
-@@ -401,10 +444,12 @@
+@@ -401,10 +444,12 @@ static void testCharRangeByte3(xmlParserCtxtPtr ctxt, char *data) {
  	 */
  	else if (((value > 0xD7FF) && (value <0xE000)) ||
  	         ((value > 0xFFFD) && (value <0x10000))) {
@@ -605,7 +613,7 @@
  	}
  
  	/*
-@@ -414,6 +459,7 @@
+@@ -414,6 +459,7 @@ static void testCharRangeByte3(xmlParserCtxtPtr ctxt, char *data) {
  	    fprintf(stderr,
  		"Failed to parse char for Bytes 0x%02X 0x%02X 0x%02X\n",
  		    i, j, K);
@@ -613,7 +621,7 @@
  	}
  
  	/*
-@@ -423,13 +469,15 @@
+@@ -423,13 +469,15 @@ static void testCharRangeByte3(xmlParserCtxtPtr ctxt, char *data) {
  	    fprintf(stderr,
      "Failed to parse char for Bytes 0x%02X 0x%02X 0x%02X: expect %d got %d\n",
  		i, j, data[2], value, c);
@@ -630,7 +638,7 @@
      int i, j, k, K, l, L;
      int len, c;
      unsigned char lows[6] = {0, 0x80, 0x81, 0xC1, 0xFF, 0xBF};
-@@ -458,10 +506,12 @@
+@@ -458,10 +506,12 @@ static void testCharRangeByte4(xmlParserCtxtPtr ctxt, char *data) {
  	 * at least 5 bytes, but we give only 4 !
  	 */
  	if ((i & 0xF8) == 0xF8) {
@@ -644,7 +652,7 @@
  	}
  
          /*
-@@ -469,10 +519,12 @@
+@@ -469,10 +519,12 @@ static void testCharRangeByte4(xmlParserCtxtPtr ctxt, char *data) {
  	 */
  	else if (((j & 0xC0) != 0x80) || ((K & 0xC0) != 0x80) ||
  	         ((L & 0xC0) != 0x80)) {
@@ -658,7 +666,7 @@
  	}
  
  	/*
-@@ -481,10 +533,12 @@
+@@ -481,10 +533,12 @@ static void testCharRangeByte4(xmlParserCtxtPtr ctxt, char *data) {
  	 * the 6 or 5th byte of j must be set
  	 */
  	else if (((i & 0x7) == 0) && ((j & 0x30) == 0)) {
@@ -672,7 +680,7 @@
  	}
  
          /*
-@@ -493,10 +547,12 @@
+@@ -493,10 +547,12 @@ static void testCharRangeByte4(xmlParserCtxtPtr ctxt, char *data) {
  	else if (((value > 0xD7FF) && (value <0xE000)) ||
  	         ((value > 0xFFFD) && (value <0x10000)) ||
  		 (value > 0x10FFFF)) {
@@ -686,7 +694,7 @@
  	}
  
  	/*
-@@ -506,6 +562,7 @@
+@@ -506,6 +562,7 @@ static void testCharRangeByte4(xmlParserCtxtPtr ctxt, char *data) {
  	    fprintf(stderr,
  		"Failed to parse char for Bytes 0x%02X 0x%02X 0x%02X\n",
  		    i, j, K);
@@ -694,7 +702,7 @@
  	}
  
  	/*
-@@ -515,11 +572,13 @@
+@@ -515,11 +572,13 @@ static void testCharRangeByte4(xmlParserCtxtPtr ctxt, char *data) {
  	    fprintf(stderr,
      "Failed to parse char for Bytes 0x%02X 0x%02X 0x%02X: expect %d got %d\n",
  		i, j, data[2], value, c);
@@ -708,7 +716,7 @@
  }
  
  /**
-@@ -530,11 +589,12 @@
+@@ -530,11 +589,12 @@ static void testCharRangeByte4(xmlParserCtxtPtr ctxt, char *data) {
   * cover the full range of UTF-8 chars accepted by XML-1.0
   */
  
@@ -722,7 +730,7 @@
  
      memset(data, 0, 5);
  
-@@ -545,17 +605,19 @@
+@@ -545,17 +605,19 @@ static void testCharRanges(void) {
      ctxt = xmlNewParserCtxt();
      if (ctxt == NULL) {
          fprintf(stderr, "Failed to allocate parser context\n");
@@ -743,7 +751,7 @@
  	goto error;
      }
      input->filename = NULL;
-@@ -567,25 +629,28 @@
+@@ -567,25 +629,28 @@ static void testCharRanges(void) {
  
      printf("testing char range: 1");
      fflush(stdout);
@@ -776,7 +784,7 @@
      /*
       * this initialize the library and check potential ABI mismatches
       * between the version it was compiled for and the actual shared
-@@ -602,8 +667,9 @@
+@@ -602,8 +667,9 @@ int main(void) {
      /*
       * Run the tests
       */
@@ -788,20 +796,33 @@
  
      /*
       * Cleanup function for the XML library.
-diff -uNr a/testlimits.c b/testlimits.c
---- a/testlimits.c	2016-11-07 09:41:40.000000000 +0100
-+++ b/testlimits.c	2018-03-20 08:59:38.965581280 +0100
-@@ -1634,5 +1634,6 @@
+diff --git a/testdict.c b/testdict.c
+index 40bebd0..114b934 100644
+--- a/testdict.c
++++ b/testdict.c
+@@ -440,5 +440,6 @@ int main(void)
+     clean_strings();
+     xmlCleanupParser();
+     xmlMemoryDump();
++    printf("%s: testdict\n\n", (ret == 0) ? "PASS" : "FAIL");
+     return(ret);
+ }
+diff --git a/testlimits.c b/testlimits.c
+index 68c94db..1584434 100644
+--- a/testlimits.c
++++ b/testlimits.c
+@@ -1634,5 +1634,6 @@ main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
      xmlCleanupParser();
      xmlMemoryDump();
  
 +    printf("%s: testlimits\n", (ret == 0) ? "PASS" : "FAIL");
      return(ret);
  }
-diff -uNr a/testrecurse.c b/testrecurse.c
---- a/testrecurse.c	2017-10-26 09:54:40.000000000 +0200
-+++ b/testrecurse.c	2018-03-20 09:00:46.781628749 +0100
-@@ -892,6 +892,7 @@
+diff --git a/testrecurse.c b/testrecurse.c
+index f95ae1c..74c8f8b 100644
+--- a/testrecurse.c
++++ b/testrecurse.c
+@@ -892,6 +892,7 @@ launchTests(testDescPtr tst) {
  	    err++;
  	}
      }
@@ -809,10 +830,13 @@
      return(err);
  }
  
-@@ -961,5 +962,6 @@
+@@ -961,5 +962,6 @@ main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
      xmlCleanupParser();
      xmlMemoryDump();
  
 +    printf("%s: testrecurse\n\n", (ret == 0) ? "PASS" : "FAIL");
      return(ret);
  }
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-core/libxml/libxml2_2.9.8.bb b/poky/meta/recipes-core/libxml/libxml2_2.9.9.bb
similarity index 93%
rename from poky/meta/recipes-core/libxml/libxml2_2.9.8.bb
rename to poky/meta/recipes-core/libxml/libxml2_2.9.9.bb
index 62643bc..c38f883 100644
--- a/poky/meta/recipes-core/libxml/libxml2_2.9.8.bb
+++ b/poky/meta/recipes-core/libxml/libxml2_2.9.9.bb
@@ -20,13 +20,10 @@
            file://libxml-m4-use-pkgconfig.patch \
            file://0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch \
            file://fix-execution-of-ptests.patch \
-           file://fix-CVE-2017-8872.patch \
-           file://fix-CVE-2018-14404.patch \
-           file://0001-Fix-infinite-loop-in-LZMA-decompression.patch \
            "
 
-SRC_URI[libtar.md5sum] = "b786e353e2aa1b872d70d5d1ca0c740d"
-SRC_URI[libtar.sha256sum] = "0b74e51595654f958148759cfef0993114ddccccbb6f31aee018f3558e8e2732"
+SRC_URI[libtar.md5sum] = "c04a5a0a042eaa157e8e8c9eabe76bd6"
+SRC_URI[libtar.sha256sum] = "94fb70890143e3c6549f265cee93ec064c80a84c42ad0f23e85ee1fd6540a871"
 SRC_URI[testtar.md5sum] = "ae3d1ebe000a3972afa104ca7f0e1b4a"
 SRC_URI[testtar.sha256sum] = "96151685cec997e1f9f3387e3626d61e6284d4d6e66e0e440c209286c03e9cc7"
 
diff --git a/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb b/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb
index 85472a8..50182de 100644
--- a/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb
+++ b/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb
@@ -52,3 +52,5 @@
 "
 
 require dummy-sdk-package.inc
+
+SSTATE_DUPWHITELIST += "${PKGDATA_DIR}/${PN} ${PKGDATA_DIR}/runtime/${PN}"
diff --git a/poky/meta/recipes-core/musl/musl_git.bb b/poky/meta/recipes-core/musl/musl_git.bb
index 2d8dab9..1e32480 100644
--- a/poky/meta/recipes-core/musl/musl_git.bb
+++ b/poky/meta/recipes-core/musl/musl_git.bb
@@ -4,9 +4,9 @@
 require musl.inc
 inherit linuxloader
 
-SRCREV = "43e7efb46555f13a556d92944ac05c19b8929b60"
+SRCREV = "65c8be380431eebe4d70d130bd38563f8df9a7d7"
 
-BASEVER = "1.1.21"
+BASEVER = "1.1.22"
 
 PV = "${BASEVER}+git${SRCPV}"
 
diff --git a/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb b/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb
index ef6ca98..928c477 100644
--- a/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb
+++ b/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb
@@ -8,4 +8,4 @@
 SRCREV = "7a97a7f937762ba342d5b2fd7cd090885a809835"
 S = "${WORKDIR}/git"
 EXTRA_OECONF += "--with-abi-version=5 --cache-file=${B}/config.cache"
-UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+(\+\d+)*)"
+UPSTREAM_CHECK_GITTAGREGEX = "upstream/(?P<pver>\d+(\.\d+)+(\+\d+)*)"
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-base.bb b/poky/meta/recipes-core/packagegroups/packagegroup-base.bb
index 442201c..cae704a 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-base.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-base.bb
@@ -21,7 +21,6 @@
             ${@bb.utils.contains("MACHINE_FEATURES", "apm", "packagegroup-base-apm", "", d)} \
             ${@bb.utils.contains("MACHINE_FEATURES", "ext2", "packagegroup-base-ext2", "", d)} \
             ${@bb.utils.contains("MACHINE_FEATURES", "vfat", "packagegroup-base-vfat", "", d)} \
-            ${@bb.utils.contains("MACHINE_FEATURES", "irda", "packagegroup-base-irda", "",d)} \
             ${@bb.utils.contains("MACHINE_FEATURES", "keyboard", "packagegroup-base-keyboard", "", d)} \
             ${@bb.utils.contains("MACHINE_FEATURES", "pci", "packagegroup-base-pci", "",d)} \
             ${@bb.utils.contains("MACHINE_FEATURES", "pcmcia", "packagegroup-base-pcmcia", "", d)} \
@@ -63,7 +62,6 @@
     ${@bb.utils.contains('COMBINED_FEATURES', 'alsa', 'packagegroup-base-alsa', '',d)} \
     ${@bb.utils.contains('COMBINED_FEATURES', 'ext2', 'packagegroup-base-ext2', '',d)} \
     ${@bb.utils.contains('COMBINED_FEATURES', 'vfat', 'packagegroup-base-vfat', '',d)} \
-    ${@bb.utils.contains('COMBINED_FEATURES', 'irda', 'packagegroup-base-irda', '',d)} \
     ${@bb.utils.contains('COMBINED_FEATURES', 'pci', 'packagegroup-base-pci', '',d)} \
     ${@bb.utils.contains('COMBINED_FEATURES', 'pcmcia', 'packagegroup-base-pcmcia', '',d)} \
     ${@bb.utils.contains('COMBINED_FEATURES', 'usbgadget', 'packagegroup-base-usbgadget', '',d)} \
@@ -221,23 +219,6 @@
     ${@bb.utils.contains('COMBINED_FEATURES', 'pcmcia', 'kernel-module-dtl1-cs', '',d)} \
     "
 
-SUMMARY_packagegroup-base-irda = "IrDA support"
-RDEPENDS_packagegroup-base-irda = "\
-    irda-utils"
-
-RRECOMMENDS_packagegroup-base-irda = "\
-    kernel-module-pxaficp-ir \
-    kernel-module-irda \
-    kernel-module-ircomm \
-    kernel-module-ircomm-tty \
-    kernel-module-irlan \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'ppp', 'kernel-module-irnet', '',d)} \
-    kernel-module-irport \
-    kernel-module-irtty \
-    kernel-module-irtty-sir \
-    kernel-module-sir-dev \
-    ${@bb.utils.contains('COMBINED_FEATURES', 'usbhost', 'kernel-module-ir-usb', '',d)} "
-
 SUMMARY_packagegroup-base-usbgadget = "USB gadget support"
 RRECOMMENDS_packagegroup-base-usbgadget = "\
     kernel-module-pxa27x_udc \
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb b/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
index b296db5..f206cee 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
@@ -189,7 +189,6 @@
     libx11-dev \
     adwaita-icon-theme \
     xdg-utils \
-    epiphany \
     l3afpad \
     pcmanfm \
     vte \
diff --git a/poky/meta/recipes-core/systemd/systemd-boot_241.bb b/poky/meta/recipes-core/systemd/systemd-boot_242.bb
similarity index 100%
rename from poky/meta/recipes-core/systemd/systemd-boot_241.bb
rename to poky/meta/recipes-core/systemd/systemd-boot_242.bb
diff --git a/poky/meta/recipes-core/systemd/systemd-conf/journald.conf b/poky/meta/recipes-core/systemd/systemd-conf/journald.conf
new file mode 100644
index 0000000..fd4d969
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd-conf/journald.conf
@@ -0,0 +1,3 @@
+[Journal]
+ForwardToSyslog=yes
+RuntimeMaxUse=64M
diff --git a/poky/meta/recipes-core/systemd/systemd-conf/logind.conf b/poky/meta/recipes-core/systemd/systemd-conf/logind.conf
new file mode 100644
index 0000000..bf7f692
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd-conf/logind.conf
@@ -0,0 +1,2 @@
+[Login]
+KillUserProcesses=yes
diff --git a/poky/meta/recipes-core/systemd/systemd-conf/system.conf b/poky/meta/recipes-core/systemd/systemd-conf/system.conf
new file mode 100644
index 0000000..554cab2
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd-conf/system.conf
@@ -0,0 +1,2 @@
+[Manager]
+DefaultMemoryAccounting=yes
diff --git a/poky/meta/recipes-core/systemd/systemd-conf/system.conf-qemuall b/poky/meta/recipes-core/systemd/systemd-conf/system.conf-qemuall
new file mode 100644
index 0000000..741be27
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd-conf/system.conf-qemuall
@@ -0,0 +1,3 @@
+[Manager]
+# Change DefaultTimeoutStartSec from 90s to 240s
+DefaultTimeoutStartSec = 240s
diff --git a/poky/meta/recipes-core/systemd/systemd-conf_241.bb b/poky/meta/recipes-core/systemd/systemd-conf_241.bb
deleted file mode 100644
index 9bb27fd..0000000
--- a/poky/meta/recipes-core/systemd/systemd-conf_241.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-require systemd.inc
-
-SUMMARY = "Systemd system configuration"
-DESCRIPTION = "Systemd may require slightly different configuration for \
-different machines.  For example, qemu machines require a longer \
-DefaultTimeoutStartSec setting."
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-CONFFILES_${PN} = "${sysconfdir}/machine-id \
-${sysconfdir}/systemd/coredump.conf \
-${sysconfdir}/systemd/journald.conf \
-${sysconfdir}/systemd/logind.conf \
-${sysconfdir}/systemd/system.conf \
-${sysconfdir}/systemd/user.conf"
-
-FILES_${PN} = "${sysconfdir}/machine-id ${sysconfdir}/systemd"
-
-do_configure[noexec] = '1'
-do_compile[noexec] = '1'
-
-do_install() {
-	rm -rf ${D}/${sysconfdir}/systemd
-	install -d ${D}/${sysconfdir}/systemd
-
-	# Create machine-id
-	# 20:12 < mezcalero> koen: you have three options: a) run systemd-machine-id-setup at install time, b) have / read-only and an empty file there (for stateless) and c) boot with / writable
-	touch ${D}${sysconfdir}/machine-id
-
-	install -m 0644 ${S}/src/coredump/coredump.conf ${D}${sysconfdir}/systemd/coredump.conf
-
-	install -m 0644 ${S}/src/journal/journald.conf ${D}${sysconfdir}/systemd/journald.conf
-	# Enable journal to forward message to syslog daemon
-	sed -i -e 's/.*ForwardToSyslog.*/ForwardToSyslog=yes/' ${D}${sysconfdir}/systemd/journald.conf
-	# Set the maximium size of runtime journal to 64M as default
-	sed -i -e 's/.*RuntimeMaxUse.*/RuntimeMaxUse=64M/' ${D}${sysconfdir}/systemd/journald.conf
-
-	install -m 0644 ${S}/src/login/logind.conf.in ${D}${sysconfdir}/systemd/logind.conf
-	# Set KILL_USER_PROCESSES to yes
-	sed -i -e 's/@KILL_USER_PROCESSES@/yes/' ${D}${sysconfdir}/systemd/logind.conf
-
-	install -m 0644 ${S}/src/core/system.conf.in ${D}${sysconfdir}/systemd/system.conf
-	# Set MEMORY_ACCOUNTING_DEFAULT to yes
-	sed -i -e 's/@MEMORY_ACCOUNTING_DEFAULT@/yes/' ${D}${sysconfdir}/systemd/system.conf
-
-	install -m 0644 ${S}/src/core/user.conf ${D}${sysconfdir}/systemd/user.conf
-}
-
-# Based on change from YP bug 8141, OE commit 5196d7bacaef1076c361adaa2867be31759c1b52
-do_install_append_qemuall() {
-	# Change DefaultTimeoutStartSec from 90s to 240s
-	echo "DefaultTimeoutStartSec = 240s" >> ${D}${sysconfdir}/systemd/system.conf
-}
diff --git a/poky/meta/recipes-core/systemd/systemd-conf_242.bb b/poky/meta/recipes-core/systemd/systemd-conf_242.bb
new file mode 100644
index 0000000..96beea5
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd-conf_242.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Systemd system configuration"
+DESCRIPTION = "Systemd may require slightly different configuration for \
+different machines.  For example, qemu machines require a longer \
+DefaultTimeoutStartSec setting."
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+SRC_URI = "\
+    file://journald.conf \
+    file://logind.conf \
+    file://system.conf \
+    file://system.conf-qemuall \
+"
+
+do_install() {
+	install -D -m0644 ${WORKDIR}/journald.conf ${D}${systemd_unitdir}/journald.conf.d/00-${PN}.conf
+	install -D -m0644 ${WORKDIR}/logind.conf ${D}${systemd_unitdir}/logind.conf.d/00-${PN}.conf
+	install -D -m0644 ${WORKDIR}/system.conf ${D}${systemd_unitdir}/system.conf.d/00-${PN}.conf
+}
+
+# Based on change from YP bug 8141, OE commit 5196d7bacaef1076c361adaa2867be31759c1b52
+do_install_append_qemuall() {
+	install -D -m0644 ${WORKDIR}/system.conf-qemuall ${D}${systemd_unitdir}/system.conf.d/01-${PN}.conf
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+FILES_${PN} = "\
+    ${systemd_unitdir}/journald.conf.d/ \
+    ${systemd_unitdir}/logind.conf.d/ \
+    ${systemd_unitdir}/system.conf.d/ \
+"
diff --git a/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl b/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl
index 2bc6489..8d7b3ba 100755
--- a/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl
+++ b/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl
@@ -1,196 +1,314 @@
-#!/bin/sh
-echo "Started $0 $*"
+#!/usr/bin/env python3
+"""systemctl: subset of systemctl used for image construction
 
-ROOT=
+Mask/preset systemd units
+"""
 
-# parse command line params
-action=
-while [ $# != 0 ]; do
-	opt="$1"
+import argparse
+import fnmatch
+import os
+import re
+import sys
 
-	case "$opt" in
-		enable)
-			shift
+from collections import namedtuple
+from pathlib import Path
 
-			action="$opt"
-			services="$1"
-			cmd_args="1"
-			shift
-			;;
-		disable)
-			shift
+version = 1.0
 
-			action="$opt"
-			services="$1"
-			cmd_args="1"
-			shift
-			;;
-		mask)
-			shift
+ROOT = Path("/")
+SYSCONFDIR = Path("etc")
+BASE_LIBDIR = Path("lib")
+LIBDIR = Path("usr", "lib")
 
-			action="$opt"
-			services="$1"
-			cmd_args="1"
-			shift
-			;;
-		preset)
-			shift
+locations = list()
 
-			action="$opt"
-			services="$1"
-			cmd_args="1"
-			shift
-			;;
-		--root=*)
-			ROOT=${opt##--root=}
-			cmd_args="0"
-			shift
-			;;
-		*)
-			if [ "$cmd_args" = "1" ]; then
-				services="$services $opt" 
-				shift
-			else
-				echo "'$opt' is an unkown option; exiting with error"
-				exit 1
-			fi
-			;;
-	esac
-done
-if [ "$action" = "preset" -a "$service_file" = "" ]; then
-	services=$(for f in `find $ROOT/etc/systemd/system $ROOT/lib/systemd/system $ROOT/usr/lib/systemd/system -type f 2>1`; do basename $f; done)
-	services="$services $opt"
-	presetall=1
-fi
 
-for service in $services; do
-	if [ "$presetall" = "1" ]; then
-		action="preset"
-	fi
-	if [ "$action" = "mask" ]; then
-		if [ ! -d $ROOT/etc/systemd/system/ ]; then
-			mkdir -p $ROOT/etc/systemd/system/
-		fi
-		cmd="ln -s /dev/null $ROOT/etc/systemd/system/$service"
-		echo "$cmd"
-		$cmd
-		exit 0
-	fi
+class SystemdFile():
+    """Class representing a single systemd configuration file"""
+    def __init__(self, root, path):
+        self.sections = dict()
+        self._parse(root, path)
 
-	service_base_file=`echo $service | sed 's/\(@\).*\(\.[^.]\+\)/\1\2/'`
-	if [ -z `echo $service | sed '/@/p;d'` ]; then
-		echo "Try to find location of $service..."
-		service_template=false
-	else
-		echo "Try to find location of template $service_base_file of instance $service..."
-		service_template=true
-		instance_specified=`echo $service | sed 's/^.\+@\(.*\)\.[^.]\+/\1/'`
-	fi
+    def _parse(self, root, path):
+        """Parse a systemd syntax configuration file
 
-	# find service file
-	for p in $ROOT/etc/systemd/system \
-		 $ROOT/lib/systemd/system \
-		 $ROOT/usr/lib/systemd/system; do
-		if [ -e $p/$service_base_file ]; then
-			service_file=$p/$service_base_file
-			service_file=${service_file##$ROOT}
-		fi
-	done
-	if [ -z "$service_file" ]; then
-		echo "'$service_base_file' couldn't be found; exiting with error"
-		exit 1
-	fi
-	echo "Found $service in $service_file"
+        Args:
+            path: A pathlib.Path object pointing to the file
 
-	# If any new unit types are added to systemd they should be added
-	# to this regular expression.
-	unit_types_re='\.\(service\|socket\|device\|mount\|automount\|swap\|target\|target\.wants\|path\|timer\|snapshot\)\s*$'
-	if [ "$action" = "preset" ]; then
-		action=`egrep -sh  $service $ROOT/etc/systemd/user-preset/*.preset | cut -f1 -d' '`
-		if [ -z "$action" ]; then
-			globalpreset=`egrep -sh  '\*'  $ROOT/etc/systemd/user-preset/*.preset | cut -f1 -d' '`
-			if [ -n "$globalpreset" ]; then
-				action="$globalpreset"
-			else
-				action="enable"
-			fi
-		fi
-	fi
-	# create the required symbolic links
-	wanted_by=$(sed '/^WantedBy[[:space:]]*=/s,[^=]*=,,p;d' "$ROOT/$service_file" \
-		        | tr ',' '\n' \
-		        | grep "$unit_types_re")
+        """
+        skip_re = re.compile(r"^\s*([#;]|$)")
+        section_re = re.compile(r"^\s*\[(?P<section>.*)\]")
+        kv_re = re.compile(r"^\s*(?P<key>[^\s]+)\s*=\s*(?P<value>.*)")
+        section = None
 
-	required_by=$(sed '/^RequiredBy[[:space:]]*=/s,[^=]*=,,p;d' "$ROOT/$service_file" \
-		        | tr ',' '\n' \
-		        | grep "$unit_types_re")
+        if path.is_symlink():
+            try:
+                path.resolve()
+            except FileNotFoundError:
+                # broken symlink, try relative to root
+                path = root / Path(os.readlink(str(path))).relative_to(ROOT)
 
-	for dependency in WantedBy RequiredBy; do
-		if [ "$dependency" = "WantedBy" ]; then
-			suffix="wants"
-			dependency_list="$wanted_by"
-		elif [ "$dependency" = "RequiredBy" ]; then
-			suffix="requires"
-			dependency_list="$required_by"
-		fi
-		for r in $dependency_list; do
-			echo "$dependency=$r found in $service"
-			if [ -n "$instance_specified" ]; then
-				# substitute wildcards in the dependency
-				r=`echo $r | sed "s/%i/$instance_specified/g"`
-			fi
+        with path.open() as f:
+            for line in f:
+                if skip_re.match(line):
+                    continue
 
-			if [ "$action" = "enable" ]; then
-				enable_service=$service
-				if [ "$service_template" = true -a -z "$instance_specified" ]; then
-					default_instance=$(sed '/^DefaultInstance[[:space:]]*=/s,[^=]*=,,p;d' "$ROOT/$service_file")
-					if [ -z $default_instance ]; then
-						echo "Template unit without instance or DefaultInstance directive, nothing to enable"
-						continue
-					else
-						echo "Found DefaultInstance $default_instance, enabling it"
-						enable_service=$(echo $service | sed "s/@/@$(echo $default_instance | sed 's/\\/\\\\/g')/")
-					fi
-				fi
-				mkdir -p $ROOT/etc/systemd/system/$r.$suffix
-				ln -s $service_file $ROOT/etc/systemd/system/$r.$suffix/$enable_service
-				echo "Enabled $enable_service for $r."
-			else
-				if [ "$service_template" = true -a -z "$instance_specified" ]; then
-					disable_service="$ROOT/etc/systemd/system/$r.$suffix/`echo $service | sed 's/@/@*/'`"
-				else
-					disable_service="$ROOT/etc/systemd/system/$r.$suffix/$service"
-				fi
-				rm -f $disable_service
-				[ -d $ROOT/etc/systemd/system/$r.$suffix ] && rmdir --ignore-fail-on-non-empty -p $ROOT/etc/systemd/system/$r.$suffix
-				echo "Disabled ${disable_service##$ROOT/etc/systemd/system/$r.$suffix/} for $r."
-			fi
-		done
-	done
+                line = line.rstrip("\n")
+                m = section_re.match(line)
+                if m:
+                    section = dict()
+                    self.sections[m.group('section')] = section
+                    continue
 
-	# create the required symbolic 'Alias' links
-	alias=$(sed '/^Alias[[:space:]]*=/s,[^=]*=,,p;d' "$ROOT/$service_file" \
-		        | tr ',' '\n' \
-		        | grep "$unit_types_re")
+                while line.endswith("\\"):
+                    line += f.readline().rstrip("\n")
 
-	for r in $alias; do
-		if [ "$action" = "enable" ]; then
-			mkdir -p $ROOT/etc/systemd/system
-			ln -s $service_file $ROOT/etc/systemd/system/$r
-			echo "Enabled $service for $alias."
-		else
-			rm -f $ROOT/etc/systemd/system/$r
-			echo "Disabled $service for $alias."
-		fi
-	done
+                m = kv_re.match(line)
+                k = m.group('key')
+                v = m.group('value')
+                if k not in section:
+                    section[k] = list()
+                section[k].extend(v.split())
 
-	# call us for the other required scripts
-	also=$(sed '/^Also[[:space:]]*=/s,[^=]*=,,p;d' "$ROOT/$service_file" \
-		   | tr ',' '\n')
-	for a in $also; do
-		echo "Also=$a found in $service"
-		if [ "$action" = "enable" ]; then
-			$0 --root=$ROOT enable $a
-		fi
-	done
-done
+    def get(self, section, prop):
+        """Get a property from section
+
+        Args:
+            section: Section to retrieve property from
+            prop: Property to retrieve
+
+        Returns:
+            List representing all properties of type prop in section.
+
+        Raises:
+            KeyError: if ``section`` or ``prop`` not found
+        """
+        return self.sections[section][prop]
+
+
+class Presets():
+    """Class representing all systemd presets"""
+    def __init__(self, scope, root):
+        self.directives = list()
+        self._collect_presets(scope, root)
+
+    def _parse_presets(self, presets):
+        """Parse presets out of a set of preset files"""
+        skip_re = re.compile(r"^\s*([#;]|$)")
+        directive_re = re.compile(r"^\s*(?P<action>enable|disable)\s+(?P<unit_name>(.+))")
+
+        Directive = namedtuple("Directive", "action unit_name")
+        for preset in presets:
+            with preset.open() as f:
+                for line in f:
+                    m = directive_re.match(line)
+                    if m:
+                        directive = Directive(action=m.group('action'),
+                                              unit_name=m.group('unit_name'))
+                        self.directives.append(directive)
+                    elif skip_re.match(line):
+                        pass
+                    else:
+                        sys.exit("Unparsed preset line in {}".format(preset))
+
+    def _collect_presets(self, scope, root):
+        """Collect list of preset files"""
+        presets = dict()
+        for location in locations:
+            paths = (root / location / scope).glob("*.preset")
+            for path in paths:
+                # earlier names override later ones
+                if path.name not in presets:
+                    presets[path.name] = path
+
+        self._parse_presets([v for k, v in sorted(presets.items())])
+
+    def state(self, unit_name):
+        """Return state of preset for unit_name
+
+        Args:
+            presets: set of presets
+            unit_name: name of the unit
+
+        Returns:
+            None: no matching preset
+            `enable`: unit_name is enabled
+            `disable`: unit_name is disabled
+        """
+        for directive in self.directives:
+            if fnmatch.fnmatch(unit_name, directive.unit_name):
+                return directive.action
+
+        return None
+
+
+def add_link(path, target):
+    try:
+        path.parent.mkdir(parents=True)
+    except FileExistsError:
+        pass
+    if not path.is_symlink():
+        print("ln -s {} {}".format(target, path))
+        path.symlink_to(target)
+
+
+class SystemdUnitNotFoundError(Exception):
+    pass
+
+
+class SystemdUnit():
+    def __init__(self, root, unit):
+        self.root = root
+        self.unit = unit
+        self.config = None
+
+    def _path_for_unit(self, unit):
+        for location in locations:
+            path = self.root / location / "system" / unit
+            if path.exists():
+                return path
+
+        raise SystemdUnitNotFoundError(self.root, unit)
+
+    def _process_deps(self, config, service, location, prop, dirstem):
+        systemdir = self.root / SYSCONFDIR / "systemd" / "system"
+
+        target = ROOT / location.relative_to(self.root)
+        try:
+            for dependent in config.get('Install', prop):
+                wants = systemdir / "{}.{}".format(dependent, dirstem) / service
+                add_link(wants, target)
+
+        except KeyError:
+            pass
+
+    def enable(self):
+        # if we're enabling an instance, first extract the actual instance
+        # then figure out what the template unit is
+        template = re.match(r"[^@]+@(?P<instance>[^\.]*)\.", self.unit)
+        if template:
+            instance = template.group('instance')
+            unit = re.sub(r"@[^\.]*\.", "@.", self.unit, 1)
+        else:
+            instance = None
+            unit = self.unit
+
+        path = self._path_for_unit(unit)
+
+        if path.is_symlink():
+            # ignore aliases
+            return
+
+        config = SystemdFile(self.root, path)
+        if instance == "":
+            try:
+                default_instance = config.get('Install', 'DefaultInstance')[0]
+            except KeyError:
+                # no default instance, so nothing to enable
+                return
+
+            service = self.unit.replace("@.",
+                                        "@{}.".format(default_instance))
+        else:
+            service = self.unit
+
+        self._process_deps(config, service, path, 'WantedBy', 'wants')
+        self._process_deps(config, service, path, 'RequiredBy', 'requires')
+
+        try:
+            for also in config.get('Install', 'Also'):
+                SystemdUnit(self.root, also).enable()
+
+        except KeyError:
+            pass
+
+        systemdir = self.root / SYSCONFDIR / "systemd" / "system"
+        target = ROOT / path.relative_to(self.root)
+        try:
+            for dest in config.get('Install', 'Alias'):
+                alias = systemdir / dest
+                add_link(alias, target)
+
+        except KeyError:
+            pass
+
+    def mask(self):
+        systemdir = self.root / SYSCONFDIR / "systemd" / "system"
+        add_link(systemdir / self.unit, "/dev/null")
+
+
+def collect_services(root):
+    """Collect list of service files"""
+    services = set()
+    for location in locations:
+        paths = (root / location / "system").glob("*")
+        for path in paths:
+            if path.is_dir():
+                continue
+            services.add(path.name)
+
+    return services
+
+
+def preset_all(root):
+    presets = Presets('system-preset', root)
+    services = collect_services(root)
+
+    for service in services:
+        state = presets.state(service)
+
+        if state == "enable" or state is None:
+            SystemdUnit(root, service).enable()
+
+    # If we populate the systemd links we also create /etc/machine-id, which
+    # allows systemd to boot with the filesystem read-only before generating
+    # a real value and then committing it back.
+    #
+    # For the stateless configuration, where /etc is generated at runtime
+    # (for example on a tmpfs), this script shouldn't run at all and we
+    # allow systemd to completely populate /etc.
+    (root / SYSCONFDIR / "machine-id").touch()
+
+
+def main():
+    if sys.version_info < (3, 4, 0):
+        sys.exit("Python 3.4 or greater is required")
+
+    parser = argparse.ArgumentParser()
+    parser.add_argument('command', nargs=1, choices=['enable', 'mask',
+                                                     'preset-all'])
+    parser.add_argument('service', nargs=argparse.REMAINDER)
+    parser.add_argument('--root')
+    parser.add_argument('--preset-mode',
+                        choices=['full', 'enable-only', 'disable-only'],
+                        default='full')
+
+    args = parser.parse_args()
+
+    root = Path(args.root) if args.root else ROOT
+
+    locations.append(SYSCONFDIR / "systemd")
+    # Handle the usrmerge case by ignoring /lib when it's a symlink
+    if not (root / BASE_LIBDIR).is_symlink():
+        locations.append(BASE_LIBDIR / "systemd")
+    locations.append(LIBDIR / "systemd")
+
+    command = args.command[0]
+    if command == "mask":
+        for service in args.service:
+            SystemdUnit(root, service).mask()
+    elif command == "enable":
+        for service in args.service:
+            SystemdUnit(root, service).enable()
+    elif command == "preset-all":
+        if len(args.service) != 0:
+            sys.exit("Too many arguments.")
+        if args.preset_mode != "enable-only":
+            sys.exit("Only enable-only is supported as preset-mode.")
+        preset_all(root)
+    else:
+        raise RuntimeError()
+
+
+if __name__ == '__main__':
+    main()
diff --git a/poky/meta/recipes-core/systemd/systemd.inc b/poky/meta/recipes-core/systemd/systemd.inc
index 5bd88ed..3a353b0 100644
--- a/poky/meta/recipes-core/systemd/systemd.inc
+++ b/poky/meta/recipes-core/systemd/systemd.inc
@@ -14,8 +14,8 @@
 LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
                     file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
 
-SRCREV = "c1f8ff8d0de7e303b8004b02a0a47d4cc103a7f8"
-SRCBRANCH = "v241-stable"
+SRCREV = "db2e367bfc3b119609f837eb973d915f6c550b2f"
+SRCBRANCH = "v242-stable"
 SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=git;branch=${SRCBRANCH}"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-do-not-disable-buffer-in-writing-files.patch b/poky/meta/recipes-core/systemd/systemd/0001-do-not-disable-buffer-in-writing-files.patch
index a6857b1..68ca604 100644
--- a/poky/meta/recipes-core/systemd/systemd/0001-do-not-disable-buffer-in-writing-files.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0001-do-not-disable-buffer-in-writing-files.patch
@@ -14,6 +14,8 @@
 Upstream-Status: Inappropriate [musl]
 
 Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[Rebased for v242]
+Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
 ---
  src/basic/cgroup-util.c                 | 14 +++++++-------
  src/basic/procfs-util.c                 |  4 ++--
@@ -25,21 +27,20 @@
  src/hibernate-resume/hibernate-resume.c |  2 +-
  src/libsystemd/sd-device/sd-device.c    |  2 +-
  src/login/logind-dbus.c                 |  2 +-
- src/network/networkd-ipv6-proxy-ndp.c   |  2 +-
- src/network/networkd-link.c             | 18 +++++++++---------
  src/nspawn/nspawn-cgroup.c              |  2 +-
  src/nspawn/nspawn.c                     |  6 +++---
+ src/shared/sysctl-util.c                |  2 +-
  src/sleep/sleep.c                       | 12 ++++++------
  src/udev/udevadm-trigger.c              |  2 +-
  src/udev/udevd.c                        |  6 +++---
  src/vconsole/vconsole-setup.c           |  2 +-
- 18 files changed, 48 insertions(+), 48 deletions(-)
+ 17 files changed, 39 insertions(+), 39 deletions(-)
 
 diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
-index 8ce7ccb..b633226 100644
+index fc28109..44fe985 100644
 --- a/src/basic/cgroup-util.c
 +++ b/src/basic/cgroup-util.c
-@@ -818,7 +818,7 @@ int cg_attach(const char *controller, const char *path, pid_t pid) {
+@@ -822,7 +822,7 @@ int cg_attach(const char *controller, const char *path, pid_t pid) {
  
          xsprintf(c, PID_FMT "\n", pid);
  
@@ -48,7 +49,7 @@
          if (r < 0)
                  return r;
  
-@@ -1100,7 +1100,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
+@@ -1104,7 +1104,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
  
          sc = strstrip(contents);
          if (isempty(sc)) {
@@ -57,7 +58,7 @@
                  if (r < 0)
                          return r;
          } else if (!path_equal(sc, agent))
-@@ -1118,7 +1118,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
+@@ -1122,7 +1122,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
  
          sc = strstrip(contents);
          if (streq(sc, "0")) {
@@ -66,7 +67,7 @@
                  if (r < 0)
                          return r;
  
-@@ -1145,7 +1145,7 @@ int cg_uninstall_release_agent(const char *controller) {
+@@ -1149,7 +1149,7 @@ int cg_uninstall_release_agent(const char *controller) {
          if (r < 0)
                  return r;
  
@@ -75,7 +76,7 @@
          if (r < 0)
                  return r;
  
-@@ -1155,7 +1155,7 @@ int cg_uninstall_release_agent(const char *controller) {
+@@ -1159,7 +1159,7 @@ int cg_uninstall_release_agent(const char *controller) {
          if (r < 0)
                  return r;
  
@@ -84,7 +85,7 @@
          if (r < 0)
                  return r;
  
-@@ -2012,7 +2012,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri
+@@ -2016,7 +2016,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri
          if (r < 0)
                  return r;
  
@@ -93,7 +94,7 @@
  }
  
  int cg_get_attribute(const char *controller, const char *path, const char *attribute, char **ret) {
-@@ -2660,7 +2660,7 @@ int cg_enable_everywhere(
+@@ -2664,7 +2664,7 @@ int cg_enable_everywhere(
                                          return log_debug_errno(errno, "Failed to open cgroup.subtree_control file of %s: %m", p);
                          }
  
@@ -103,10 +104,10 @@
                                  log_debug_errno(r, "Failed to %s controller %s for %s (%s): %m",
                                                  FLAGS_SET(mask, bit) ? "enable" : "disable", n, p, fs);
 diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
-index 42ce53d..5751253 100644
+index 7aaf95b..25fc3de 100644
 --- a/src/basic/procfs-util.c
 +++ b/src/basic/procfs-util.c
-@@ -86,13 +86,13 @@ int procfs_tasks_set_limit(uint64_t limit) {
+@@ -85,13 +85,13 @@ int procfs_tasks_set_limit(uint64_t limit) {
           * decrease it, as threads-max is the much more relevant sysctl. */
          if (limit > pid_max-1) {
                  sprintf(buffer, "%" PRIu64, limit+1); /* Add one, since PID 0 is not a valid PID */
@@ -136,10 +137,10 @@
                  return r;
  
 diff --git a/src/basic/util.c b/src/basic/util.c
-index e577c93..3c64f91 100644
+index 93d610b..97dca64 100644
 --- a/src/basic/util.c
 +++ b/src/basic/util.c
-@@ -631,7 +631,7 @@ void disable_coredumps(void) {
+@@ -294,7 +294,7 @@ void disable_coredumps(void) {
          if (detect_container() > 0)
                  return;
  
@@ -149,10 +150,10 @@
                  log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m");
  }
 diff --git a/src/binfmt/binfmt.c b/src/binfmt/binfmt.c
-index af31f09..eec5738 100644
+index 66e2f01..5daa43b 100644
 --- a/src/binfmt/binfmt.c
 +++ b/src/binfmt/binfmt.c
-@@ -47,7 +47,7 @@ static int delete_rule(const char *rule) {
+@@ -48,7 +48,7 @@ static int delete_rule(const char *rule) {
          if (!fn)
                  return log_oom();
  
@@ -161,7 +162,7 @@
  }
  
  static int apply_rule(const char *rule) {
-@@ -55,7 +55,7 @@ static int apply_rule(const char *rule) {
+@@ -56,7 +56,7 @@ static int apply_rule(const char *rule) {
  
          (void) delete_rule(rule);
  
@@ -170,7 +171,7 @@
          if (r < 0)
                  return log_error_errno(r, "Failed to add binary format: %m");
  
-@@ -212,7 +212,7 @@ static int run(int argc, char *argv[]) {
+@@ -213,7 +213,7 @@ static int run(int argc, char *argv[]) {
                  }
  
                  /* Flush out all rules */
@@ -180,10 +181,10 @@
                  STRV_FOREACH(f, files) {
                          k = apply_file(*f, true);
 diff --git a/src/core/main.c b/src/core/main.c
-index 561f956..db6f113 100644
+index 46db471..726ccaf 100644
 --- a/src/core/main.c
 +++ b/src/core/main.c
-@@ -1468,7 +1468,7 @@ static int bump_unix_max_dgram_qlen(void) {
+@@ -1469,7 +1469,7 @@ static int bump_unix_max_dgram_qlen(void) {
          if (v >= DEFAULT_UNIX_MAX_DGRAM_QLEN)
                  return 0;
  
@@ -192,7 +193,7 @@
          if (r < 0)
                  return log_full_errno(IN_SET(r, -EROFS, -EPERM, -EACCES) ? LOG_DEBUG : LOG_WARNING, r,
                                        "Failed to bump AF_UNIX datagram queue length, ignoring: %m");
-@@ -1683,7 +1683,7 @@ static void initialize_core_pattern(bool skip_setup) {
+@@ -1684,7 +1684,7 @@ static void initialize_core_pattern(bool skip_setup) {
          if (getpid_cached() != 1)
                  return;
  
@@ -202,10 +203,10 @@
                  log_warning_errno(r, "Failed to write '%s' to /proc/sys/kernel/core_pattern, ignoring: %m", arg_early_core_pattern);
  }
 diff --git a/src/core/smack-setup.c b/src/core/smack-setup.c
-index 49b37ae..c96eedc 100644
+index cd7fb01..077e861 100644
 --- a/src/core/smack-setup.c
 +++ b/src/core/smack-setup.c
-@@ -350,17 +350,17 @@ int mac_smack_setup(bool *loaded_policy) {
+@@ -351,17 +351,17 @@ int mac_smack_setup(bool *loaded_policy) {
          }
  
  #ifdef SMACK_RUN_LABEL
@@ -241,10 +242,10 @@
                  log_error_errno(r, "Failed to write '%s' to /sys/power/resume: %m", major_minor);
                  return EXIT_FAILURE;
 diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c
-index 2a69f2e..9d55340 100644
+index c2315c0..00f81b4 100644
 --- a/src/libsystemd/sd-device/sd-device.c
 +++ b/src/libsystemd/sd-device/sd-device.c
-@@ -1836,7 +1836,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
+@@ -1852,7 +1852,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
          if (!value)
                  return -ENOMEM;
  
@@ -254,10 +255,10 @@
                  if (r == -ELOOP)
                          return -EINVAL;
 diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
-index 8ab498f..d27ef9c 100644
+index 2cebcce..7111fc1 100644
 --- a/src/login/logind-dbus.c
 +++ b/src/login/logind-dbus.c
-@@ -1231,7 +1231,7 @@ static int trigger_device(Manager *m, sd_device *d) {
+@@ -1285,7 +1285,7 @@ static int trigger_device(Manager *m, sd_device *d) {
                  if (!t)
                          return -ENOMEM;
  
@@ -266,109 +267,11 @@
          }
  
          return 0;
-diff --git a/src/network/networkd-ipv6-proxy-ndp.c b/src/network/networkd-ipv6-proxy-ndp.c
-index f594b27..c283cc3 100644
---- a/src/network/networkd-ipv6-proxy-ndp.c
-+++ b/src/network/networkd-ipv6-proxy-ndp.c
-@@ -43,7 +43,7 @@ static int ipv6_proxy_ndp_set(Link *link) {
-         v = ipv6_proxy_ndp_is_needed(link);
-         p = strjoina("/proc/sys/net/ipv6/conf/", link->ifname, "/proxy_ndp");
- 
--        r = write_string_file(p, one_zero(v), WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
-+        r = write_string_file(p, one_zero(v), WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
-         if (r < 0)
-                 log_link_warning_errno(link, r, "Cannot configure proxy NDP for interface: %m");
- 
-diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
-index 22392d7..e0ed551 100644
---- a/src/network/networkd-link.c
-+++ b/src/network/networkd-link.c
-@@ -274,7 +274,7 @@ static int link_enable_ipv6(Link *link) {
- 
-         p = strjoina("/proc/sys/net/ipv6/conf/", link->ifname, "/disable_ipv6");
- 
--        r = write_string_file(p, one_zero(disabled), WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
-+        r = write_string_file(p, one_zero(disabled), WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
-         if (r < 0)
-                 log_link_warning_errno(link, r, "Cannot %s IPv6 for interface %s: %m",
-                                        enable_disable(!disabled), link->ifname);
-@@ -1272,7 +1272,7 @@ static int link_set_proxy_arp(Link *link) {
- 
-         p = strjoina("/proc/sys/net/ipv4/conf/", link->ifname, "/proxy_arp");
- 
--        r = write_string_file(p, one_zero(link->network->proxy_arp), WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
-+        r = write_string_file(p, one_zero(link->network->proxy_arp), WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
-         if (r < 0)
-                 log_link_warning_errno(link, r, "Cannot configure proxy ARP for interface: %m");
- 
-@@ -2541,7 +2541,7 @@ static int link_set_ipv4_forward(Link *link) {
-          * primarily to keep IPv4 and IPv6 packet forwarding behaviour
-          * somewhat in sync (see below). */
- 
--        r = write_string_file("/proc/sys/net/ipv4/ip_forward", "1", WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
-+        r = write_string_file("/proc/sys/net/ipv4/ip_forward", "1", WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
-         if (r < 0)
-                 log_link_warning_errno(link, r, "Cannot turn on IPv4 packet forwarding, ignoring: %m");
- 
-@@ -2563,7 +2563,7 @@ static int link_set_ipv6_forward(Link *link) {
-          * same behaviour there and also propagate the setting from
-          * one to all, to keep things simple (see above). */
- 
--        r = write_string_file("/proc/sys/net/ipv6/conf/all/forwarding", "1", WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
-+        r = write_string_file("/proc/sys/net/ipv6/conf/all/forwarding", "1", WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
-         if (r < 0)
-                 log_link_warning_errno(link, r, "Cannot configure IPv6 packet forwarding, ignoring: %m");
- 
-@@ -2583,7 +2583,7 @@ static int link_set_ipv6_privacy_extensions(Link *link) {
-         p = strjoina("/proc/sys/net/ipv6/conf/", link->ifname, "/use_tempaddr");
-         xsprintf(buf, "%u", (unsigned) link->network->ipv6_privacy_extensions);
- 
--        r = write_string_file(p, buf, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
-+        r = write_string_file(p, buf, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
-         if (r < 0)
-                 log_link_warning_errno(link, r, "Cannot configure IPv6 privacy extension for interface: %m");
- 
-@@ -2607,7 +2607,7 @@ static int link_set_ipv6_accept_ra(Link *link) {
-         p = strjoina("/proc/sys/net/ipv6/conf/", link->ifname, "/accept_ra");
- 
-         /* We handle router advertisements ourselves, tell the kernel to GTFO */
--        r = write_string_file(p, "0", WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
-+        r = write_string_file(p, "0", WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
-         if (r < 0)
-                 log_link_warning_errno(link, r, "Cannot disable kernel IPv6 accept_ra for interface: %m");
- 
-@@ -2635,7 +2635,7 @@ static int link_set_ipv6_dad_transmits(Link *link) {
-         p = strjoina("/proc/sys/net/ipv6/conf/", link->ifname, "/dad_transmits");
-         xsprintf(buf, "%i", link->network->ipv6_dad_transmits);
- 
--        r = write_string_file(p, buf, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
-+        r = write_string_file(p, buf, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
-         if (r < 0)
-                 log_link_warning_errno(link, r, "Cannot set IPv6 dad transmits for interface: %m");
- 
-@@ -2663,7 +2663,7 @@ static int link_set_ipv6_hop_limit(Link *link) {
-         p = strjoina("/proc/sys/net/ipv6/conf/", link->ifname, "/hop_limit");
-         xsprintf(buf, "%i", link->network->ipv6_hop_limit);
- 
--        r = write_string_file(p, buf, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
-+        r = write_string_file(p, buf, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
-         if (r < 0)
-                 log_link_warning_errno(link, r, "Cannot set IPv6 hop limit for interface: %m");
- 
-@@ -2689,7 +2689,7 @@ static int link_set_ipv6_mtu(Link *link) {
- 
-         xsprintf(buf, "%" PRIu32, link->network->ipv6_mtu);
- 
--        r = write_string_file(p, buf, WRITE_STRING_FILE_DISABLE_BUFFER);
-+        r = write_string_file(p, buf, 0);
-         if (r < 0)
-                 log_link_warning_errno(link, r, "Cannot set IPv6 MTU for interface: %m");
- 
 diff --git a/src/nspawn/nspawn-cgroup.c b/src/nspawn/nspawn-cgroup.c
-index 97fa092..b841f51 100644
+index 168125d..dd0ab79 100644
 --- a/src/nspawn/nspawn-cgroup.c
 +++ b/src/nspawn/nspawn-cgroup.c
-@@ -123,7 +123,7 @@ int sync_cgroup(pid_t pid, CGroupUnified unified_requested, uid_t uid_shift) {
+@@ -124,7 +124,7 @@ int sync_cgroup(pid_t pid, CGroupUnified unified_requested, uid_t uid_shift) {
          (void) mkdir_parents(fn, 0755);
  
          sprintf(pid_string, PID_FMT, pid);
@@ -378,10 +281,10 @@
                  log_error_errno(r, "Failed to move process: %m");
                  goto finish;
 diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
-index e0c2d71..213790c 100644
+index 3b0ecb1..a1b5240 100644
 --- a/src/nspawn/nspawn.c
 +++ b/src/nspawn/nspawn.c
-@@ -2117,7 +2117,7 @@ static int reset_audit_loginuid(void) {
+@@ -2341,7 +2341,7 @@ static int reset_audit_loginuid(void) {
          if (streq(p, "4294967295"))
                  return 0;
  
@@ -390,7 +293,7 @@
          if (r < 0) {
                  log_error_errno(r,
                                  "Failed to reset audit login UID. This probably means that your kernel is too\n"
-@@ -3195,13 +3195,13 @@ static int setup_uid_map(pid_t pid) {
+@@ -3531,13 +3531,13 @@ static int setup_uid_map(pid_t pid) {
  
          xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid);
          xsprintf(line, UID_FMT " " UID_FMT " " UID_FMT "\n", 0, arg_uid_shift, arg_uid_range);
@@ -406,11 +309,24 @@
          if (r < 0)
                  return log_error_errno(r, "Failed to write GID map: %m");
  
+diff --git a/src/shared/sysctl-util.c b/src/shared/sysctl-util.c
+index 9be4055..f935cde 100644
+--- a/src/shared/sysctl-util.c
++++ b/src/shared/sysctl-util.c
+@@ -73,7 +73,7 @@ int sysctl_write_ip_property(int af, const char *ifname, const char *property, c
+ 
+         log_debug("Setting '%s' to '%s'", p, value);
+ 
+-        return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
++        return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
+ }
+ 
+ int sysctl_read(const char *property, char **content) {
 diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c
-index 5b7984a..bf818aa 100644
+index 11aabaf..6aa5d37 100644
 --- a/src/sleep/sleep.c
 +++ b/src/sleep/sleep.c
-@@ -43,7 +43,7 @@ static int write_hibernate_location_info(void) {
+@@ -48,7 +48,7 @@ static int write_hibernate_location_info(void) {
  
          /* if it's a swap partition, we just write the disk to /sys/power/resume */
          if (streq(type, "partition")) {
@@ -419,7 +335,7 @@
                  if (r < 0)
                          return log_debug_errno(r, "Faileed to write partitoin device to /sys/power/resume: %m");
  
-@@ -79,12 +79,12 @@ static int write_hibernate_location_info(void) {
+@@ -84,12 +84,12 @@ static int write_hibernate_location_info(void) {
  
          offset = fiemap->fm_extents[0].fe_physical / page_size();
          xsprintf(offset_str, "%" PRIu64, offset);
@@ -434,7 +350,7 @@
          if (r < 0)
                  return log_debug_errno(r, "Failed to write device '%s': %m", device_str);
  
-@@ -98,7 +98,7 @@ static int write_mode(char **modes) {
+@@ -103,7 +103,7 @@ static int write_mode(char **modes) {
          STRV_FOREACH(mode, modes) {
                  int k;
  
@@ -443,7 +359,7 @@
                  if (k >= 0)
                          return 0;
  
-@@ -117,7 +117,7 @@ static int write_state(FILE **f, char **states) {
+@@ -122,7 +122,7 @@ static int write_state(FILE **f, char **states) {
          STRV_FOREACH(state, states) {
                  int k;
  
@@ -452,7 +368,7 @@
                  if (k >= 0)
                          return 0;
                  log_debug_errno(k, "Failed to write '%s' to /sys/power/state: %m", *state);
-@@ -212,7 +212,7 @@ static int rtc_write_wake_alarm(uint64_t sec) {
+@@ -217,7 +217,7 @@ static int rtc_write_wake_alarm(uint64_t sec) {
  
          xsprintf(buf, "%" PRIu64, sec);
  
@@ -462,10 +378,10 @@
                  return log_error_errno(r, "Failed to write '%s' to /sys/class/rtc/rtc0/wakealarm: %m", buf);
  
 diff --git a/src/udev/udevadm-trigger.c b/src/udev/udevadm-trigger.c
-index 9532946..2e576bb 100644
+index b7dafb7..bab4907 100644
 --- a/src/udev/udevadm-trigger.c
 +++ b/src/udev/udevadm-trigger.c
-@@ -42,7 +42,7 @@ static int exec_list(sd_device_enumerator *e, const char *action, Set *settle_se
+@@ -43,7 +43,7 @@ static int exec_list(sd_device_enumerator *e, const char *action, Set *settle_se
                  if (!filename)
                          return log_oom();
  
@@ -475,10 +391,10 @@
                          log_debug_errno(r, "Failed to write '%s' to '%s', ignoring: %m", action, filename);
                          continue;
 diff --git a/src/udev/udevd.c b/src/udev/udevd.c
-index 0303f36..687d009 100644
+index 140ec35..33063a9 100644
 --- a/src/udev/udevd.c
 +++ b/src/udev/udevd.c
-@@ -1218,7 +1218,7 @@ static int synthesize_change(sd_device *dev) {
+@@ -1185,7 +1185,7 @@ static int synthesize_change(sd_device *dev) {
                   */
                  log_debug("Device '%s' is closed, synthesising 'change'", devname);
                  strscpyl(filename, sizeof(filename), syspath, "/uevent", NULL);
@@ -487,7 +403,7 @@
  
                  FOREACH_DEVICE(e, d) {
                          const char *t, *n, *s;
-@@ -1233,7 +1233,7 @@ static int synthesize_change(sd_device *dev) {
+@@ -1200,7 +1200,7 @@ static int synthesize_change(sd_device *dev) {
  
                          log_debug("Device '%s' is closed, synthesising partition '%s' 'change'", devname, n);
                          strscpyl(filename, sizeof(filename), s, "/uevent", NULL);
@@ -496,7 +412,7 @@
                  }
  
                  return 0;
-@@ -1241,7 +1241,7 @@ static int synthesize_change(sd_device *dev) {
+@@ -1208,7 +1208,7 @@ static int synthesize_change(sd_device *dev) {
  
          log_debug("Device %s is closed, synthesising 'change'", devname);
          strscpyl(filename, sizeof(filename), syspath, "/uevent", NULL);
@@ -506,10 +422,10 @@
          return 0;
  }
 diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c
-index ebdeba3..aa879e6 100644
+index 67dc2e4..01b83d0 100644
 --- a/src/vconsole/vconsole-setup.c
 +++ b/src/vconsole/vconsole-setup.c
-@@ -114,7 +114,7 @@ static int toggle_utf8(const char *name, int fd, bool utf8) {
+@@ -116,7 +116,7 @@ static int toggle_utf8(const char *name, int fd, bool utf8) {
  static int toggle_utf8_sysfs(bool utf8) {
          int r;
  
@@ -519,5 +435,5 @@
                  return log_warning_errno(r, "Failed to %s sysfs UTF-8 flag: %m", enable_disable(utf8));
  
 -- 
-2.7.4
+2.11.0
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-meson-declare-version.h-as-dep-for-various-targets-t.patch b/poky/meta/recipes-core/systemd/systemd/0001-meson-declare-version.h-as-dep-for-various-targets-t.patch
deleted file mode 100644
index 01936f2..0000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-meson-declare-version.h-as-dep-for-various-targets-t.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-From 9f86d8769ab830a724c84f849975b5595e26b47c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Sun, 24 Feb 2019 22:49:38 +0100
-Subject: [PATCH] meson: declare version.h as dep for various targets that
- include build.h
-
-Should fix #11565.
-
-Upstream-Status: Backport
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- meson.build          | 19 +++++++++++++------
- src/core/meson.build |  3 ++-
- src/udev/meson.build |  1 +
- 3 files changed, 16 insertions(+), 7 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index 30df834..232f3e1 100644
---- a/meson.build
-+++ b/meson.build
-@@ -1637,7 +1637,8 @@ exe = executable('systemd-analyze',
-                  include_directories : includes,
-                  link_with : [libcore,
-                               libshared],
--                 dependencies : [threads,
-+                 dependencies : [versiondep,
-+                                 threads,
-                                  librt,
-                                  libseccomp,
-                                  libselinux,
-@@ -2183,7 +2184,8 @@ if conf.get('ENABLE_IMPORTD') == 1
-                                   systemd_pull_sources,
-                                   include_directories : includes,
-                                   link_with : [libshared],
--                                  dependencies : [libcurl,
-+                                  dependencies : [versiondep,
-+                                                  libcurl,
-                                                   libz,
-                                                   libbzip2,
-                                                   libxz,
-@@ -2232,7 +2234,8 @@ if conf.get('ENABLE_REMOTE') == 1 and conf.get('HAVE_LIBCURL') == 1
-                          systemd_journal_upload_sources,
-                          include_directories : includes,
-                          link_with : [libshared],
--                         dependencies : [threads,
-+                         dependencies : [versiondep,
-+                                         threads,
-                                          libcurl,
-                                          libgnutls,
-                                          libxz,
-@@ -2558,6 +2561,7 @@ exe = executable('systemd-stdio-bridge',
-                  'src/stdio-bridge/stdio-bridge.c',
-                  include_directories : includes,
-                  link_with : [libshared],
-+                 dependencies : [versiondep],
-                  install_rpath : rootlibexecdir,
-                  install : true)
- public_programs += exe
-@@ -2641,7 +2645,8 @@ exe = executable('systemd-udevd',
-                  link_with : [libudev_core,
-                               libsystemd_network,
-                               libudev_static],
--                 dependencies : [threads,
-+                 dependencies : [versiondep,
-+                                 threads,
-                                  libkmod,
-                                  libidn,
-                                  libacl,
-@@ -2658,7 +2663,8 @@ exe = executable('udevadm',
-                  link_with : [libudev_core,
-                               libsystemd_network,
-                               libudev_static],
--                 dependencies : [threads,
-+                 dependencies : [versiondep,
-+                                 threads,
-                                  libkmod,
-                                  libidn,
-                                  libacl,
-@@ -2798,7 +2804,8 @@ foreach tuple : tests
-                         sources,
-                         include_directories : incs,
-                         link_with : link_with,
--                        dependencies : dependencies,
-+                        dependencies : [versiondep,
-+                                        dependencies],
-                         c_args : defs,
-                         build_by_default : want_tests != 'false',
-                         install_rpath : rootlibexecdir,
-diff --git a/src/core/meson.build b/src/core/meson.build
-index 85021bd..88fb093 100644
---- a/src/core/meson.build
-+++ b/src/core/meson.build
-@@ -150,7 +150,8 @@ libcore = static_library(
-         load_fragment_gperf_c,
-         load_fragment_gperf_nulstr_c,
-         include_directories : includes,
--        dependencies : [threads,
-+        dependencies : [versiondep,
-+                        threads,
-                         librt,
-                         libseccomp,
-                         libpam,
-diff --git a/src/udev/meson.build b/src/udev/meson.build
-index 9d3f6d1..973a75e 100644
---- a/src/udev/meson.build
-+++ b/src/udev/meson.build
-@@ -180,6 +180,7 @@ foreach prog : [['ata_id/ata_id.c'],
-                    prog,
-                    include_directories : includes,
-                    c_args : ['-DLOG_REALM=LOG_REALM_UDEV'],
-+                   dependencies : [versiondep],
-                    link_with : [libudev_static],
-                    install_rpath : udev_rpath,
-                    install : true,
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-meson-declare-version.h-as-dependency-for-systemd.patch b/poky/meta/recipes-core/systemd/systemd/0001-meson-declare-version.h-as-dependency-for-systemd.patch
deleted file mode 100644
index 8874dff..0000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-meson-declare-version.h-as-dependency-for-systemd.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From e14d724a932a255eec4d60b08e128519c33e88ee Mon Sep 17 00:00:00 2001
-From: Michael Olbrich <m.olbrich@pengutronix.de>
-Date: Mon, 25 Feb 2019 11:59:23 +0100
-Subject: [PATCH] meson: declare version.h as dependency for systemd
-
-This is a followup to #11815 and adds the last missing dependency.
-With this #11565 is hopefully really fixed.
-
-Upstream-Status: Backport
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- meson.build | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index 232f3e1..70148be 100644
---- a/meson.build
-+++ b/meson.build
-@@ -1618,7 +1618,8 @@ executable('systemd',
-            include_directories : includes,
-            link_with : [libcore,
-                         libshared],
--           dependencies : [threads,
-+           dependencies : [versiondep,
-+                           threads,
-                            librt,
-                            libseccomp,
-                            libselinux,
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch b/poky/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
index 36e0699..c6213ab 100644
--- a/poky/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
@@ -8,20 +8,23 @@
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 [Rebased for v241]
 Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[Rebased for v242]
+Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
 ---
- src/basic/util.h                   | 14 --------------
+ src/basic/sort-util.h              | 14 --------------
  src/libsystemd/sd-hwdb/hwdb-util.c | 19 ++++++++++++++-----
  src/shared/format-table.c          | 36 ++++++++++++++++++++++++------------
  3 files changed, 38 insertions(+), 31 deletions(-)
 
-diff --git a/src/basic/util.h b/src/basic/util.h
-index dc33d66..9f6a6ce 100644
---- a/src/basic/util.h
-+++ b/src/basic/util.h
-@@ -116,20 +116,6 @@ static inline void qsort_safe(void *base, size_t nmemb, size_t size, __compar_fn
+diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
+index e029f8646e..27d68b341c 100644
+--- a/src/basic/sort-util.h
++++ b/src/basic/sort-util.h
+@@ -54,17 +54,3 @@ static inline void qsort_safe(void *base, size_t nmemb, size_t size, __compar_fn
+                 int (*_func_)(const typeof(p[0])*, const typeof(p[0])*) = func; \
                  qsort_safe((p), (n), sizeof((p)[0]), (__compar_fn_t) _func_); \
          })
- 
+-
 -static inline void qsort_r_safe(void *base, size_t nmemb, size_t size, __compar_d_fn_t compar, void *userdata) {
 -        if (nmemb <= 1)
 -                return;
@@ -35,15 +38,11 @@
 -                int (*_func_)(const typeof(p[0])*, const typeof(p[0])*, typeof(userdata)) = func; \
 -                qsort_r_safe((p), (n), sizeof((p)[0]), (__compar_d_fn_t) _func_, userdata); \
 -        })
--
- /* Normal memcpy requires src to be nonnull. We do nothing if n is 0. */
- static inline void memcpy_safe(void *dst, const void *src, size_t n) {
-         if (n == 0)
 diff --git a/src/libsystemd/sd-hwdb/hwdb-util.c b/src/libsystemd/sd-hwdb/hwdb-util.c
-index f852967..b570ce1 100644
+index c83575c7c8..72f8f3a050 100644
 --- a/src/libsystemd/sd-hwdb/hwdb-util.c
 +++ b/src/libsystemd/sd-hwdb/hwdb-util.c
-@@ -126,9 +126,13 @@ static void trie_free(struct trie *trie) {
+@@ -128,9 +128,13 @@ static void trie_free(struct trie *trie) {
  
  DEFINE_TRIVIAL_CLEANUP_FUNC(struct trie*, trie_free);
  
@@ -60,7 +59,7 @@
  }
  
  static int trie_node_add_value(struct trie *trie, struct trie_node *node,
-@@ -156,7 +160,10 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
+@@ -158,7 +162,10 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
                          .value_off = v,
                  };
  
@@ -72,7 +71,7 @@
                  if (val) {
                          /* At this point we have 2 identical properties on the same match-string.
                           * Since we process files in order, we just replace the previous value. */
-@@ -182,7 +189,9 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
+@@ -184,7 +191,9 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
                  .line_number = line_number,
          };
          node->values_count++;
@@ -84,10 +83,10 @@
  }
  
 diff --git a/src/shared/format-table.c b/src/shared/format-table.c
-index 7d52980..75dbfe1 100644
+index a5c0a99b08..d595cbe372 100644
 --- a/src/shared/format-table.c
 +++ b/src/shared/format-table.c
-@@ -848,31 +848,33 @@ static int cell_data_compare(TableData *a, size_t index_a, TableData *b, size_t
+@@ -850,31 +850,33 @@ static int cell_data_compare(TableData *a, size_t index_a, TableData *b, size_t
          return CMP(index_a, index_b);
  }
  
@@ -131,7 +130,7 @@
          }
  
          /* Order identical lines by the order there were originally added in */
-@@ -1105,7 +1107,12 @@ int table_print(Table *t, FILE *f) {
+@@ -1107,7 +1109,12 @@ int table_print(Table *t, FILE *f) {
                  for (i = 0; i < n_rows; i++)
                          sorted[i] = i * t->n_columns;
  
@@ -145,7 +144,7 @@
          }
  
          if (t->display_map)
-@@ -1532,7 +1539,12 @@ int table_to_json(Table *t, JsonVariant **ret) {
+@@ -1534,7 +1541,12 @@ int table_to_json(Table *t, JsonVariant **ret) {
                  for (i = 0; i < n_rows; i++)
                          sorted[i] = i * t->n_columns;
  
@@ -160,5 +159,5 @@
  
          if (t->display_map)
 -- 
-2.7.4
+2.11.0
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch b/poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
index 5246b4b..2e39f7a 100644
--- a/poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
@@ -9,14 +9,16 @@
 Upstream-Status: Inappropriate [musl specific]
 
 Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[Rebased for v242]
+Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
 ---
  src/basic/missing_type.h | 9 +++++++++
- src/basic/util.h         | 1 +
+ src/basic/sort-util.h    | 1 +
  src/journal/catalog.c    | 1 +
  3 files changed, 11 insertions(+)
 
 diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
-index bf8a6ca..c487e65 100644
+index bf8a6caa1b..2134fe5095 100644
 --- a/src/basic/missing_type.h
 +++ b/src/basic/missing_type.h
 @@ -10,3 +10,12 @@
@@ -32,30 +34,30 @@
 +#define __COMPAR_FN_T
 +typedef int (*__compar_fn_t)(const void *, const void *);
 +#endif
-diff --git a/src/basic/util.h b/src/basic/util.h
-index 9f6a6ce..2c5dc32 100644
---- a/src/basic/util.h
-+++ b/src/basic/util.h
-@@ -26,6 +26,7 @@
- #include "format-util.h"
+diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
+index e029f86..7247d40 100644
+--- a/src/basic/sort-util.h
++++ b/src/basic/sort-util.h
+@@ -4,6 +4,7 @@
+ #include <stdlib.h>
+ 
  #include "macro.h"
- #include "time-util.h"
 +#include "missing.h"
  
- size_t page_size(void) _pure_;
- #define PAGE_ALIGN(l) ALIGN_TO((l), page_size())
+ void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size,
+                  __compar_d_fn_t compar, void *arg);
 diff --git a/src/journal/catalog.c b/src/journal/catalog.c
-index 4062f12..034e00c 100644
+index 7beffc1e1a..4818a2e5cc 100644
 --- a/src/journal/catalog.c
 +++ b/src/journal/catalog.c
-@@ -26,6 +26,7 @@
+@@ -29,6 +29,7 @@
+ #include "string-util.h"
  #include "strv.h"
  #include "tmpfile-util.h"
- #include "util.h"
 +#include "missing.h"
  
  const char * const catalog_file_dirs[] = {
          "/usr/local/lib/systemd/catalog/",
 -- 
-2.7.4
+2.11.0
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch b/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
index bb738e2..fa8217e 100644
--- a/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
@@ -20,10 +20,10 @@
  create mode 100644 src/basic/parse-printf-format.h
 
 diff --git a/meson.build b/meson.build
-index 3386546..44b24ee 100644
+index 79195c9748..0bffbf29c5 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -667,6 +667,7 @@ foreach header : ['crypt.h',
+@@ -685,6 +685,7 @@ foreach header : ['crypt.h',
                    'linux/memfd.h',
                    'linux/vm_sockets.h',
                    'linux/can/vxcan.h',
@@ -32,10 +32,10 @@
                    'valgrind/memcheck.h',
                    'valgrind/valgrind.h',
 diff --git a/src/basic/meson.build b/src/basic/meson.build
-index e5852f3..2192a0c 100644
+index 91e0df3d2f..a732b554da 100644
 --- a/src/basic/meson.build
 +++ b/src/basic/meson.build
-@@ -284,6 +284,11 @@ foreach item : [['af',     af_list_txt,     'af',         ''],
+@@ -298,6 +298,11 @@ foreach item : [['af',     af_list_txt,     'af',         ''],
  endforeach
  
  basic_sources += generated_gperf_headers
@@ -49,7 +49,7 @@
          'gcrypt-util.h')
 diff --git a/src/basic/parse-printf-format.c b/src/basic/parse-printf-format.c
 new file mode 100644
-index 0000000..49437e5
+index 0000000000..49437e5445
 --- /dev/null
 +++ b/src/basic/parse-printf-format.c
 @@ -0,0 +1,273 @@
@@ -328,7 +328,7 @@
 +}
 diff --git a/src/basic/parse-printf-format.h b/src/basic/parse-printf-format.h
 new file mode 100644
-index 0000000..47be752
+index 0000000000..47be7522d7
 --- /dev/null
 +++ b/src/basic/parse-printf-format.h
 @@ -0,0 +1,57 @@
@@ -390,7 +390,7 @@
 +
 +#endif /* HAVE_PRINTF_H */
 diff --git a/src/basic/stdio-util.h b/src/basic/stdio-util.h
-index dc67b6e..cf8d514 100644
+index c3b9448d4f..2937aa13b1 100644
 --- a/src/basic/stdio-util.h
 +++ b/src/basic/stdio-util.h
 @@ -1,13 +1,13 @@
@@ -403,13 +403,13 @@
  #include <sys/types.h>
  
  #include "macro.h"
- #include "util.h"
+ #include "memory-util.h"
 +#include "parse-printf-format.h"
  
  #define snprintf_ok(buf, len, fmt, ...) \
          ((size_t) snprintf(buf, len, fmt, __VA_ARGS__) < (len))
 diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c
-index 8618454..3fea912 100644
+index 5ef11fa1a4..6384ab620c 100644
 --- a/src/journal/journal-send.c
 +++ b/src/journal/journal-send.c
 @@ -2,7 +2,6 @@
@@ -421,13 +421,13 @@
  #include <sys/socket.h>
  #include <sys/un.h>
 @@ -21,6 +20,7 @@
+ #include "stdio-util.h"
  #include "string-util.h"
  #include "tmpfile-util.h"
- #include "util.h"
 +#include "parse-printf-format.h"
  
  #define SNDBUF_SIZE (8*1024*1024)
  
 -- 
-2.7.4
+2.11.0
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0005-rules-watch-metadata-changes-in-ide-devices.patch b/poky/meta/recipes-core/systemd/systemd/0005-rules-watch-metadata-changes-in-ide-devices.patch
index 2123052..5312083 100644
--- a/poky/meta/recipes-core/systemd/systemd/0005-rules-watch-metadata-changes-in-ide-devices.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0005-rules-watch-metadata-changes-in-ide-devices.patch
@@ -38,8 +38,8 @@
  ACTION=="change", SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST=="block", ATTR{block/*/uevent}="change"
  
  # watch metadata changes, caused by tools closing the device node which was opened for writing
--ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*|pmem*|mmcblk*|dasd*", OPTIONS+="watch"
-+ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*|pmem*|mmcblk*|dasd*|hd*", OPTIONS+="watch"
+-ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*|pmem*|mmcblk*|dasd*|nbd*", OPTIONS+="watch"
++ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*|pmem*|mmcblk*|dasd*|nbd*|hd*", OPTIONS+="watch"
 -- 
 2.7.4
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch b/poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
index f20897b..a2e25a9 100644
--- a/poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
@@ -9,21 +9,45 @@
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[Rebased for v242]
+Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
 ---
- meson.build                |  1 +
- src/basic/missing_stdlib.h | 12 ++++++++++++
- src/basic/mkdir.c          |  1 +
- src/basic/parse-util.c     |  1 +
- src/basic/procfs-util.c    |  1 +
- src/shared/pager.c         |  1 +
- src/shared/uid-range.c     |  1 +
- 7 files changed, 18 insertions(+)
+ meson.build                                |  1 +
+ src/backlight/backlight.c                  |  1 +
+ src/basic/env-util.c                       |  1 +
+ src/basic/missing_stdlib.h                 | 12 ++++++++++++
+ src/basic/mkdir.c                          |  1 +
+ src/basic/parse-util.c                     |  1 +
+ src/basic/proc-cmdline.c                   |  1 +
+ src/basic/procfs-util.c                    |  1 +
+ src/basic/time-util.c                      |  1 +
+ src/core/dbus-cgroup.c                     |  1 +
+ src/core/dbus-util.c                       |  1 +
+ src/core/kmod-setup.c                      |  1 +
+ src/core/service.c                         |  1 +
+ src/journal/journalctl.c                   |  1 +
+ src/libsystemd/sd-bus/bus-message.c        |  1 +
+ src/libsystemd/sd-bus/bus-objects.c        |  1 +
+ src/libsystemd/sd-bus/test-bus-benchmark.c |  1 +
+ src/locale/keymap-util.c                   |  1 +
+ src/nspawn/nspawn-settings.c               |  1 +
+ src/shared/dns-domain.c                    |  1 +
+ src/shared/journal-importer.c              |  1 +
+ src/shared/logs-show.c                     |  1 +
+ src/shared/pager.c                         |  1 +
+ src/shared/path-lookup.c                   |  1 +
+ src/shared/uid-range.c                     |  1 +
+ src/socket-proxy/socket-proxyd.c           |  1 +
+ src/test/test-hexdecoct.c                  |  1 +
+ src/udev/udev-builtin-path_id.c            |  1 +
+ src/udev/udev-rules.c                      |  1 +
+ 29 files changed, 40 insertions(+)
 
 diff --git a/meson.build b/meson.build
-index 44b24ee..70fb218 100644
+index 79195c9..80d9564 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -558,6 +558,7 @@ foreach ident : [
+@@ -572,6 +572,7 @@ foreach ident : [
                                   #include <unistd.h>'''],
          ['explicit_bzero' ,   '''#include <string.h>'''],
          ['reallocarray',      '''#include <malloc.h>'''],
@@ -31,8 +55,32 @@
  ]
  
          have = cc.has_function(ident[0], prefix : ident[1], args : '-D_GNU_SOURCE')
+diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c
+index dfd6805..c2b2ace 100644
+--- a/src/backlight/backlight.c
++++ b/src/backlight/backlight.c
+@@ -17,6 +17,7 @@
+ #include "string-util.h"
+ #include "strv.h"
+ #include "util.h"
++#include "missing.h"
+ 
+ static int find_pci_or_platform_parent(sd_device *device, sd_device **ret) {
+         const char *subsystem, *sysname, *value;
+diff --git a/src/basic/env-util.c b/src/basic/env-util.c
+index fd449dc..e2b0722 100644
+--- a/src/basic/env-util.c
++++ b/src/basic/env-util.c
+@@ -16,6 +16,7 @@
+ #include "string-util.h"
+ #include "strv.h"
+ #include "utf8.h"
++#include "missing.h"
+ 
+ #define VALID_CHARS_ENV_NAME                    \
+         DIGITS LETTERS                          \
 diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h
-index c0ffe86..d50274b 100644
+index 188a8d4..1e16ec2 100644
 --- a/src/basic/missing_stdlib.h
 +++ b/src/basic/missing_stdlib.h
 @@ -11,3 +11,15 @@
@@ -52,10 +100,10 @@
 +  })
 +#endif
 diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c
-index 4bb65d5..3038ab9 100644
+index 6b82eab..51c6b78 100644
 --- a/src/basic/mkdir.c
 +++ b/src/basic/mkdir.c
-@@ -13,6 +13,7 @@
+@@ -14,6 +14,7 @@
  #include "stat-util.h"
  #include "stdio-util.h"
  #include "user-util.h"
@@ -75,6 +123,18 @@
  
  int parse_boolean(const char *v) {
          if (!v)
+diff --git a/src/basic/proc-cmdline.c b/src/basic/proc-cmdline.c
+index 1670001..b51feaa 100644
+--- a/src/basic/proc-cmdline.c
++++ b/src/basic/proc-cmdline.c
+@@ -15,6 +15,7 @@
+ #include "string-util.h"
+ #include "util.h"
+ #include "virt.h"
++#include "missing.h"
+ 
+ int proc_cmdline(char **ret) {
+         const char *e;
 diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
 index 7aaf95b..42ce53d 100644
 --- a/src/basic/procfs-util.c
@@ -87,30 +147,258 @@
  
  int procfs_tasks_get_limit(uint64_t *ret) {
          _cleanup_free_ char *value = NULL;
-diff --git a/src/shared/pager.c b/src/shared/pager.c
-index bf2597e..fa9e321 100644
---- a/src/shared/pager.c
-+++ b/src/shared/pager.c
-@@ -24,6 +24,7 @@
+diff --git a/src/basic/time-util.c b/src/basic/time-util.c
+index daf952b..374b97f 100644
+--- a/src/basic/time-util.c
++++ b/src/basic/time-util.c
+@@ -28,6 +28,7 @@
  #include "string-util.h"
  #include "strv.h"
- #include "terminal-util.h"
+ #include "time-util.h"
 +#include "missing.h"
  
- static pid_t pager_pid = 0;
+ static clockid_t map_clock_id(clockid_t c) {
  
-diff --git a/src/shared/uid-range.c b/src/shared/uid-range.c
-index 5fa7bd2..9c63b9e 100644
---- a/src/shared/uid-range.c
-+++ b/src/shared/uid-range.c
-@@ -9,6 +9,7 @@
- #include "uid-range.h"
+diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c
+index 4615aea..bc1364f 100644
+--- a/src/core/dbus-cgroup.c
++++ b/src/core/dbus-cgroup.c
+@@ -15,6 +15,7 @@
+ #include "fileio.h"
+ #include "limits-util.h"
+ #include "path-util.h"
++#include "missing.h"
+ 
+ static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_cgroup_device_policy, cgroup_device_policy, CGroupDevicePolicy);
+ 
+diff --git a/src/core/dbus-util.c b/src/core/dbus-util.c
+index f4fbb72..0a1e3b5 100644
+--- a/src/core/dbus-util.c
++++ b/src/core/dbus-util.c
+@@ -7,6 +7,7 @@
+ #include "unit-printf.h"
+ #include "user-util.h"
+ #include "unit.h"
++#include "missing.h"
+ 
+ int bus_property_get_triggered_unit(
+                 sd_bus *bus,
+diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c
+index a91cfeb..a459610 100644
+--- a/src/core/kmod-setup.c
++++ b/src/core/kmod-setup.c
+@@ -11,6 +11,7 @@
+ #include "kmod-setup.h"
+ #include "macro.h"
+ #include "string-util.h"
++#include "missing.h"
+ 
+ #if HAVE_KMOD
+ #include <libkmod.h>
+diff --git a/src/core/service.c b/src/core/service.c
+index 0289990..0e725b5 100644
+--- a/src/core/service.c
++++ b/src/core/service.c
+@@ -42,6 +42,7 @@
+ #include "unit.h"
+ #include "utf8.h"
+ #include "util.h"
++#include "missing.h"
+ 
+ static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = {
+         [SERVICE_DEAD] = UNIT_INACTIVE,
+diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
+index 0048909..0e85eb7 100644
+--- a/src/journal/journalctl.c
++++ b/src/journal/journalctl.c
+@@ -67,6 +67,7 @@
+ #include "tmpfile-util.h"
+ #include "unit-name.h"
+ #include "user-util.h"
++#include "missing.h"
+ 
+ #define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE)
+ 
+diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c
+index 427d42f..b050568 100644
+--- a/src/libsystemd/sd-bus/bus-message.c
++++ b/src/libsystemd/sd-bus/bus-message.c
+@@ -21,6 +21,7 @@
+ #include "strv.h"
+ #include "time-util.h"
+ #include "utf8.h"
++#include "missing.h"
+ 
+ static int message_append_basic(sd_bus_message *m, char type, const void *p, const void **stored);
+ 
+diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c
+index d9fc256..e9c6932 100644
+--- a/src/libsystemd/sd-bus/bus-objects.c
++++ b/src/libsystemd/sd-bus/bus-objects.c
+@@ -13,6 +13,7 @@
+ #include "set.h"
+ #include "string-util.h"
+ #include "strv.h"
++#include "missing.h"
+ 
+ static int node_vtable_get_userdata(
+                 sd_bus *bus,
+diff --git a/src/libsystemd/sd-bus/test-bus-benchmark.c b/src/libsystemd/sd-bus/test-bus-benchmark.c
+index 8de0a85..4fd0a2e 100644
+--- a/src/libsystemd/sd-bus/test-bus-benchmark.c
++++ b/src/libsystemd/sd-bus/test-bus-benchmark.c
+@@ -14,6 +14,7 @@
+ #include "missing_resource.h"
+ #include "time-util.h"
+ #include "util.h"
++#include "missing.h"
+ 
+ #define MAX_SIZE (2*1024*1024)
+ 
+diff --git a/src/locale/keymap-util.c b/src/locale/keymap-util.c
+index b8bd181..fe0cae0 100644
+--- a/src/locale/keymap-util.c
++++ b/src/locale/keymap-util.c
+@@ -23,6 +23,7 @@
+ #include "string-util.h"
+ #include "strv.h"
+ #include "tmpfile-util.h"
++#include "missing.h"
+ 
+ static bool startswith_comma(const char *s, const char *prefix) {
+         s = startswith(s, prefix);
+diff --git a/src/nspawn/nspawn-settings.c b/src/nspawn/nspawn-settings.c
+index 476cb07..91e28de 100644
+--- a/src/nspawn/nspawn-settings.c
++++ b/src/nspawn/nspawn-settings.c
+@@ -16,6 +16,7 @@
+ #include "strv.h"
  #include "user-util.h"
  #include "util.h"
 +#include "missing.h"
  
+ Settings *settings_new(void) {
+         Settings *s;
+diff --git a/src/shared/dns-domain.c b/src/shared/dns-domain.c
+index 4b31cb3..989ebf3 100644
+--- a/src/shared/dns-domain.c
++++ b/src/shared/dns-domain.c
+@@ -24,6 +24,7 @@
+ #include "string-util.h"
+ #include "strv.h"
+ #include "utf8.h"
++#include "missing.h"
+ 
+ int dns_label_unescape(const char **name, char *dest, size_t sz, DNSLabelFlags flags) {
+         const char *n;
+diff --git a/src/shared/journal-importer.c b/src/shared/journal-importer.c
+index 8638cd3..d03774a 100644
+--- a/src/shared/journal-importer.c
++++ b/src/shared/journal-importer.c
+@@ -13,6 +13,7 @@
+ #include "parse-util.h"
+ #include "string-util.h"
+ #include "unaligned.h"
++#include "missing.h"
+ 
+ enum {
+         IMPORTER_STATE_LINE = 0,    /* waiting to read, or reading line */
+diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
+index 5fb736f..19cb165 100644
+--- a/src/shared/logs-show.c
++++ b/src/shared/logs-show.c
+@@ -38,6 +38,7 @@
+ #include "time-util.h"
+ #include "utf8.h"
+ #include "util.h"
++#include "missing.h"
+ 
+ /* up to three lines (each up to 100 characters) or 300 characters, whichever is less */
+ #define PRINT_LINE_THRESHOLD 3
+diff --git a/src/shared/pager.c b/src/shared/pager.c
+index 2abb0f6..a00c95f 100644
+--- a/src/shared/pager.c
++++ b/src/shared/pager.c
+@@ -25,6 +25,7 @@
+ #include "strv.h"
+ #include "terminal-util.h"
+ #include "util.h"
++#include "missing.h"
+ 
+ static pid_t pager_pid = 0;
+ 
+diff --git a/src/shared/path-lookup.c b/src/shared/path-lookup.c
+index 442fde7..0eb1188 100644
+--- a/src/shared/path-lookup.c
++++ b/src/shared/path-lookup.c
+@@ -20,6 +20,7 @@
+ #include "tmpfile-util.h"
+ #include "user-util.h"
+ #include "util.h"
++#include "missing.h"
+ 
+ int xdg_user_runtime_dir(char **ret, const char *suffix) {
+         const char *e;
+diff --git a/src/shared/uid-range.c b/src/shared/uid-range.c
+index 7cb7d8a..8b12b91 100644
+--- a/src/shared/uid-range.c
++++ b/src/shared/uid-range.c
+@@ -9,6 +9,7 @@
+ #include "sort-util.h"
+ #include "uid-range.h"
+ #include "user-util.h"
++#include "missing.h"
+ 
  static bool uid_range_intersect(UidRange *range, uid_t start, uid_t nr) {
          assert(range);
+diff --git a/src/socket-proxy/socket-proxyd.c b/src/socket-proxy/socket-proxyd.c
+index abbbc9f..6179b58 100644
+--- a/src/socket-proxy/socket-proxyd.c
++++ b/src/socket-proxy/socket-proxyd.c
+@@ -28,6 +28,7 @@
+ #include "socket-util.h"
+ #include "string-util.h"
+ #include "util.h"
++#include "missing.h"
+ 
+ #define BUFFER_SIZE (256 * 1024)
+ 
+diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c
+index 5221742..a05e778 100644
+--- a/src/test/test-hexdecoct.c
++++ b/src/test/test-hexdecoct.c
+@@ -6,6 +6,7 @@
+ #include "hexdecoct.h"
+ #include "macro.h"
+ #include "string-util.h"
++#include "missing.h"
+ 
+ static void test_hexchar(void) {
+         assert_se(hexchar(0xa) == 'a');
+diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c
+index 7ce1c56..cc19b8e 100644
+--- a/src/udev/udev-builtin-path_id.c
++++ b/src/udev/udev-builtin-path_id.c
+@@ -23,6 +23,7 @@
+ #include "strv.h"
+ #include "sysexits.h"
+ #include "udev-builtin.h"
++#include "missing.h"
+ 
+ _printf_(2,3)
+ static void path_prepend(char **path, const char *fmt, ...) {
+diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
+index ee87d7c..9aced10 100644
+--- a/src/udev/udev-rules.c
++++ b/src/udev/udev-rules.c
+@@ -40,6 +40,7 @@
+ #include "udev.h"
+ #include "user-util.h"
+ #include "util.h"
++#include "missing.h"
+ 
+ #define PREALLOC_TOKEN          2048
+ #define RULES_DIRS (const char* const*) CONF_PATHS_STRV("udev/rules.d")
 -- 
-2.7.4
+2.11.0
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0006-network-remove-redunant-link-name-in-message.patch b/poky/meta/recipes-core/systemd/systemd/0006-network-remove-redunant-link-name-in-message.patch
new file mode 100644
index 0000000..33f482a
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0006-network-remove-redunant-link-name-in-message.patch
@@ -0,0 +1,41 @@
+From 9e6940858c7dbdd56b297bdf49f58d623e3430b7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
+Date: Tue, 7 May 2019 13:46:55 +0200
+Subject: [PATCH] network: remove redunant link name in message
+
+Fixes #12454.
+
+gcc was complaining that the link->ifname argument is NULL. Adding
+assert(link->ifname) right before the call has no effect. It seems that
+gcc is confused by the fact that log_link_warning_errno() internally
+calls log_object(), with link->ifname passed as the object. log_object()
+is also a macro and is does a check whether the passed object is NULL.
+So we have a check if something is NULL right next an unconditional use
+of it where it cannot be NULL. I think it's a bug in gcc.
+
+Anyway, we don't need to use link->ifname here. log_object() already prepends
+the object name to the message.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: backport [https://github.com/systemd/systemd/commit/c98b3545008d8e984ab456dcf79787418fcbfe13]
+---
+ src/network/networkd-link.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
+index 3e334c8d29..a158c01bbd 100644
+--- a/src/network/networkd-link.c
++++ b/src/network/networkd-link.c
+@@ -321,8 +321,7 @@ static int link_enable_ipv6(Link *link) {
+ 
+         r = sysctl_write_ip_property_boolean(AF_INET6, link->ifname, "disable_ipv6", disabled);
+         if (r < 0)
+-                log_link_warning_errno(link, r, "Cannot %s IPv6 for interface %s: %m",
+-                                       enable_disable(!disabled), link->ifname);
++                log_link_warning_errno(link, r, "Cannot %s IPv6: %m", enable_disable(!disabled));
+         else
+                 log_link_info(link, "IPv6 successfully %sd", enable_disable(!disabled));
+ 
+-- 
+2.21.0
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch b/poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch
index 765e476..aa2b4cb 100644
--- a/poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch
@@ -16,28 +16,29 @@
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
 ---
- src/basic/glob-util.c     | 12 +++++++++++-
- src/test/test-glob-util.c | 17 +++++++++++++++--
- src/tmpfiles/tmpfiles.c   |  9 +++++++++
- 3 files changed, 35 insertions(+), 3 deletions(-)
+ src/basic/glob-util.c     | 13 ++++++++++++-
+ src/test/test-glob-util.c | 16 ++++++++++++++++
+ src/tmpfiles/tmpfiles.c   | 10 ++++++++++
+ 3 files changed, 38 insertions(+), 1 deletion(-)
 
 diff --git a/src/basic/glob-util.c b/src/basic/glob-util.c
-index 9fac676..962d8b9 100644
+index 32c53f8..ae358d9 100644
 --- a/src/basic/glob-util.c
 +++ b/src/basic/glob-util.c
-@@ -10,6 +10,11 @@
- #include "macro.h"
+@@ -13,6 +13,12 @@
  #include "path-util.h"
  #include "strv.h"
+ 
 +/* Don't fail if the standard library
 + * doesn't provide brace expansion */
 +#ifndef GLOB_BRACE
 +#define GLOB_BRACE 0
 +#endif
- 
++
  static void closedir_wrapper(void* v) {
          (void) closedir(v);
-@@ -18,6 +23,7 @@ static void closedir_wrapper(void* v) {
+ }
+@@ -20,6 +26,7 @@ static void closedir_wrapper(void* v) {
  int safe_glob(const char *path, int flags, glob_t *pglob) {
          int k;
  
@@ -45,7 +46,7 @@
          /* We want to set GLOB_ALTDIRFUNC ourselves, don't allow it to be set. */
          assert(!(flags & GLOB_ALTDIRFUNC));
  
-@@ -31,10 +37,14 @@ int safe_glob(const char *path, int flags, glob_t *pglob) {
+@@ -33,10 +40,14 @@ int safe_glob(const char *path, int flags, glob_t *pglob) {
                  pglob->gl_lstat = lstat;
          if (!pglob->gl_stat)
                  pglob->gl_stat = stat;
@@ -62,26 +63,25 @@
                  return -ENOENT;
          if (k == GLOB_NOSPACE)
 diff --git a/src/test/test-glob-util.c b/src/test/test-glob-util.c
-index b4f4144..955b3ba 100644
+index b4f4144..f0d474e 100644
 --- a/src/test/test-glob-util.c
 +++ b/src/test/test-glob-util.c
-@@ -12,6 +12,11 @@
- #include "macro.h"
+@@ -13,6 +13,12 @@
  #include "rm-rf.h"
  #include "tmpfile-util.h"
+ 
 +/* Don't fail if the standard library
 + * doesn't provide brace expansion */
 +#ifndef GLOB_BRACE
 +#define GLOB_BRACE 0
 +#endif
- 
++
  static void test_glob_exists(void) {
          char name[] = "/tmp/test-glob_exists.XXXXXX";
-@@ -38,25 +43,33 @@ static void closedir_wrapper(void* v) {
- static void test_glob_no_dot(void) {
-         char template[] = "/tmp/test-glob-util.XXXXXXX";
+         int fd = -1;
+@@ -40,11 +46,13 @@ static void test_glob_no_dot(void) {
          const char *fn;
--
+ 
          _cleanup_globfree_ glob_t g = {
 +#ifdef GLOB_ALTDIRFUNC
                  .gl_closedir = closedir_wrapper,
@@ -91,9 +91,9 @@
                  .gl_stat = stat,
 +#endif
          };
--
-         int r;
  
+         int r;
+@@ -52,11 +60,19 @@ static void test_glob_no_dot(void) {
          assert_se(mkdtemp(template));
  
          fn = strjoina(template, "/*");
@@ -114,22 +114,23 @@
  
          (void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL);
 diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
-index b66765b..11dbbf4 100644
+index d9d1cc1..477d1e3 100644
 --- a/src/tmpfiles/tmpfiles.c
 +++ b/src/tmpfiles/tmpfiles.c
-@@ -60,6 +60,11 @@
+@@ -63,6 +63,12 @@
  #include "umask-util.h"
  #include "user-util.h"
- #include "util.h"
+ 
 +/* Don't fail if the standard library
 + * doesn't provide brace expansion */
 +#ifndef GLOB_BRACE
 +#define GLOB_BRACE 0
 +#endif
- 
++
  /* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates
   * them in the file system. This is intended to be used to create
-@@ -1853,7 +1858,9 @@ finish:
+  * properly owned directories beneath /tmp, /var/tmp, /run, which are
+@@ -1839,7 +1845,9 @@ finish:
  
  static int glob_item(Item *i, action_t action) {
          _cleanup_globfree_ glob_t g = {
@@ -139,7 +140,7 @@
          };
          int r = 0, k;
          char **fn;
-@@ -1873,7 +1880,9 @@ static int glob_item(Item *i, action_t action) {
+@@ -1859,7 +1867,9 @@ static int glob_item(Item *i, action_t action) {
  
  static int glob_item_recursively(Item *i, fdaction_t action) {
          _cleanup_globfree_ glob_t g = {
@@ -150,5 +151,5 @@
          int r = 0, k;
          char **fn;
 -- 
-2.7.4
+2.11.0
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0009-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch b/poky/meta/recipes-core/systemd/systemd/0009-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch
index 57cb5f3..1dedbd3 100644
--- a/poky/meta/recipes-core/systemd/systemd/0009-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0009-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch
@@ -13,12 +13,12 @@
  1 file changed, 10 insertions(+)
 
 diff --git a/src/basic/socket-util.c b/src/basic/socket-util.c
-index 91bf801..c445fea 100644
+index 904bafb..a7a009d 100644
 --- a/src/basic/socket-util.c
 +++ b/src/basic/socket-util.c
-@@ -33,6 +33,16 @@
+@@ -34,6 +34,16 @@
+ #include "user-util.h"
  #include "utf8.h"
- #include "util.h"
  
 +/* Don't fail if the standard library
 + * doesn't support IDN */
@@ -34,5 +34,5 @@
  #  define IDN_FLAGS NI_IDN
  #else
 -- 
-2.7.4
+2.11.0
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0013-test-hexdecoct.c-Include-missing.h-for-strndupa.patch b/poky/meta/recipes-core/systemd/systemd/0013-test-hexdecoct.c-Include-missing.h-for-strndupa.patch
deleted file mode 100644
index 874c17c..0000000
--- a/poky/meta/recipes-core/systemd/systemd/0013-test-hexdecoct.c-Include-missing.h-for-strndupa.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From e5a48f84db58ffb9128383eaefc123b5829523e5 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 23 Oct 2017 12:33:22 -0700
-Subject: [PATCH 13/24] test-hexdecoct.c: Include missing.h for strndupa
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/test/test-hexdecoct.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c
-index 5221742..a05e778 100644
---- a/src/test/test-hexdecoct.c
-+++ b/src/test/test-hexdecoct.c
-@@ -6,6 +6,7 @@
- #include "hexdecoct.h"
- #include "macro.h"
- #include "string-util.h"
-+#include "missing.h"
- 
- static void test_hexchar(void) {
-         assert_se(hexchar(0xa) == 'a');
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch b/poky/meta/recipes-core/systemd/systemd/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
index 05e6ded..b54635e 100644
--- a/poky/meta/recipes-core/systemd/systemd/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
@@ -22,10 +22,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/src/basic/process-util.c b/src/basic/process-util.c
-index aec2daf..7b4aabf 100644
+index f773eea..79af915 100644
 --- a/src/basic/process-util.c
 +++ b/src/basic/process-util.c
-@@ -1538,7 +1538,7 @@ int set_oom_score_adjust(int value) {
+@@ -1546,7 +1546,7 @@ int set_oom_score_adjust(int value) {
          sprintf(t, "%i", value);
  
          return write_string_file("/proc/self/oom_score_adj", t,
@@ -33,7 +33,8 @@
 +                                 WRITE_STRING_FILE_VERIFY_ON_FAILURE);
  }
  
- static const char *const ioprio_class_table[] = {
+ int cpus_in_affinity_mask(void) {
 -- 
-2.7.4
+2.11.0
+
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0021-avoid-redefinition-of-prctl_mm_map-structure.patch b/poky/meta/recipes-core/systemd/systemd/0021-avoid-redefinition-of-prctl_mm_map-structure.patch
index a8c53c9..cdddf83 100644
--- a/poky/meta/recipes-core/systemd/systemd/0021-avoid-redefinition-of-prctl_mm_map-structure.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0021-avoid-redefinition-of-prctl_mm_map-structure.patch
@@ -11,8 +11,7 @@
 Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
 ---
  src/basic/missing_prctl.h | 2 ++
- src/basic/util.h          | 3 ++-
- 2 files changed, 4 insertions(+), 1 deletion(-)
+ 1 file changed, 2 insertions(+)
 
 diff --git a/src/basic/missing_prctl.h b/src/basic/missing_prctl.h
 index f80cd17..47e4893 100644
@@ -28,20 +27,6 @@
  
  /* 58319057b7847667f0c9585b9de0e8932b0fdb08 (4.3) */
  #ifndef PR_CAP_AMBIENT
-diff --git a/src/basic/util.h b/src/basic/util.h
-index 2c5dc32..f721184 100644
---- a/src/basic/util.h
-+++ b/src/basic/util.h
-@@ -26,7 +26,8 @@
- #include "format-util.h"
- #include "macro.h"
- #include "time-util.h"
--#include "missing.h"
-+#include "missing_stdlib.h"
-+#include "missing_type.h"
- 
- size_t page_size(void) _pure_;
- #define PAGE_ALIGN(l) ALIGN_TO((l), page_size())
 -- 
-2.7.4
+2.11.0
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0024-test-json.c-define-M_PIl.patch b/poky/meta/recipes-core/systemd/systemd/0024-test-json.c-define-M_PIl.patch
index c2ae2bb..0e5629d 100644
--- a/poky/meta/recipes-core/systemd/systemd/0024-test-json.c-define-M_PIl.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0024-test-json.c-define-M_PIl.patch
@@ -14,11 +14,11 @@
  1 file changed, 4 insertions(+)
 
 diff --git a/src/test/test-json.c b/src/test/test-json.c
-index fdf1b4f..fa541f8 100644
+index 9b8a2a9..efc746c 100644
 --- a/src/test/test-json.c
 +++ b/src/test/test-json.c
-@@ -10,6 +10,10 @@
- #include "strv.h"
+@@ -11,6 +11,10 @@
+ #include "tests.h"
  #include "util.h"
  
 +#ifndef M_PIl
@@ -29,5 +29,5 @@
          unsigned line = 0, column = 0;
          void *state = NULL;
 -- 
-2.7.4
+2.11.0
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0025-fs-utilh-add-missing-sys-stat-include.patch b/poky/meta/recipes-core/systemd/systemd/0025-fs-utilh-add-missing-sys-stat-include.patch
new file mode 100644
index 0000000..bae9d3e
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0025-fs-utilh-add-missing-sys-stat-include.patch
@@ -0,0 +1,30 @@
+From 2560a6b7b9adc5bd5dec0f87c2e3025ced8a2af2 Mon Sep 17 00:00:00 2001
+From: Andrej Valek <andrej.valek@siemens.com>
+Date: Thu, 18 Apr 2019 10:47:11 +0200
+Subject: [PATCH] fs-utilh: add missing sys/stat include
+
+fix error:
+| error: passing argument 5 of 'chase_symlinks_and_stat' from incompatible pointer type [-Werror=incompatible-pointer-types]
+
+Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
+
+Upstream-Status: Pending
+---
+ src/basic/fs-util.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h
+index b965120..e2fdfff 100644
+--- a/src/basic/fs-util.h
++++ b/src/basic/fs-util.h
+@@ -8,6 +8,7 @@
+ #include <stdint.h>
+ #include <sys/inotify.h>
+ #include <sys/types.h>
++#include <sys/stat.h>
+ #include <unistd.h>
+ 
+ #include "errno-util.h"
+-- 
+2.11.0
+
diff --git a/poky/meta/recipes-core/systemd/systemd/99-default.preset b/poky/meta/recipes-core/systemd/systemd/99-default.preset
new file mode 100644
index 0000000..1f29b50
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/99-default.preset
@@ -0,0 +1 @@
+disable *
diff --git a/poky/meta/recipes-core/systemd/systemd_241.bb b/poky/meta/recipes-core/systemd/systemd_242.bb
similarity index 95%
rename from poky/meta/recipes-core/systemd/systemd_241.bb
rename to poky/meta/recipes-core/systemd/systemd_242.bb
index e61e07e..73e03c7 100644
--- a/poky/meta/recipes-core/systemd/systemd_241.bb
+++ b/poky/meta/recipes-core/systemd/systemd_242.bb
@@ -22,8 +22,8 @@
            file://0003-implment-systemd-sysv-install-for-OE.patch \
            file://0004-rules-whitelist-hd-devices.patch \
            file://0005-rules-watch-metadata-changes-in-ide-devices.patch \
-           file://0001-meson-declare-version.h-as-dep-for-various-targets-t.patch \
-           file://0001-meson-declare-version.h-as-dependency-for-systemd.patch \
+           file://0006-network-remove-redunant-link-name-in-message.patch \
+           file://99-default.preset \
            "
 
 # patches needed by musl
@@ -40,7 +40,6 @@
                file://0010-fix-missing-of-__register_atfork-for-non-glibc-build.patch \
                file://0011-Use-uintmax_t-for-handling-rlim_t.patch \
                file://0012-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch \
-               file://0013-test-hexdecoct.c-Include-missing.h-for-strndupa.patch \
                file://0014-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch \
                file://0015-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \
                file://0016-Define-glibc-compatible-basename-for-non-glibc-syste.patch \
@@ -52,6 +51,7 @@
                file://0022-include-sys-wait.h-to-avoid-compile-failure.patch \
                file://0023-socket-util.h-include-string.h.patch \
                file://0024-test-json.c-define-M_PIl.patch \
+               file://0025-fs-utilh-add-missing-sys-stat-include.patch \
                file://0001-do-not-disable-buffer-in-writing-files.patch \
                "
 
@@ -68,7 +68,6 @@
     acl \
     backlight \
     binfmt \
-    firstboot \
     gshadow \
     hibernate \
     hostnamed \
@@ -117,6 +116,7 @@
 PACKAGECONFIG[backlight] = "-Dbacklight=true,-Dbacklight=false"
 PACKAGECONFIG[binfmt] = "-Dbinfmt=true,-Dbinfmt=false"
 PACKAGECONFIG[bzip2] = "-Dbzip2=true,-Dbzip2=false,bzip2"
+PACKAGECONFIG[cgroupv2] = "-Ddefault-hierarchy=unified,-Ddefault-hierarchy=hybrid"
 PACKAGECONFIG[coredump] = "-Dcoredump=true,-Dcoredump=false"
 PACKAGECONFIG[cryptsetup] = "-Dlibcryptsetup=true,-Dlibcryptsetup=false,cryptsetup"
 PACKAGECONFIG[dbus] = "-Ddbus=true,-Ddbus=false,dbus"
@@ -144,7 +144,7 @@
 PACKAGECONFIG[machined] = "-Dmachined=true,-Dmachined=false"
 PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
 PACKAGECONFIG[microhttpd] = "-Dmicrohttpd=true,-Dmicrohttpd=false,libmicrohttpd"
-PACKAGECONFIG[myhostname] = "-Dnss-myhostname=true,-Dnss-myhostname=false"
+PACKAGECONFIG[myhostname] = "-Dnss-myhostname=true,-Dnss-myhostname=false,,libnss-myhostname"
 PACKAGECONFIG[networkd] = "-Dnetworkd=true,-Dnetworkd=false"
 PACKAGECONFIG[nss] = "-Dnss-systemd=true,-Dnss-systemd=false"
 PACKAGECONFIG[nss-mymachines] = "-Dnss-mymachines=true,-Dnss-mymachines=false"
@@ -193,6 +193,7 @@
                   -Drootlibdir=${rootlibdir} \
                   -Drootprefix=${rootprefix} \
                   -Dsysvrcnd-path=${sysconfdir} \
+                  -Ddefault-locale=C \
                   "
 
 # Hardcode target binary paths to avoid using paths from sysroot
@@ -277,17 +278,13 @@
 		fi
 	fi
 
-	# conf files are handled by systemd-conf
-	rm -f ${D}${sysconfdir}/machine-id
-	rm -f ${D}${sysconfdir}/systemd/coredump.conf
-	rm -f ${D}${sysconfdir}/systemd/journald.conf
-	rm -f ${D}${sysconfdir}/systemd/logind.conf
-	rm -f ${D}${sysconfdir}/systemd/system.conf
-	rm -f ${D}${sysconfdir}/systemd/user.conf
-
 	# duplicate udevadm for postinst script
 	install -d ${D}${libexecdir}
 	ln ${D}${base_bindir}/udevadm ${D}${libexecdir}/${MLPREFIX}udevadm
+
+	# install default policy for presets
+	# https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto
+	install -Dm 0644 ${WORKDIR}/99-default.preset ${D}${systemd_unitdir}/system-preset/99-default.preset
 }
 
 
@@ -406,12 +403,15 @@
 
 FILES_${PN}-container = "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf \
                          ${sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf \
+                         ${sysconfdir}/systemd/system/multi-user.target.wants/machines.target \
                          ${base_bindir}/machinectl \
                          ${bindir}/systemd-nspawn \
                          ${nonarch_libdir}/systemd/import-pubring.gpg \
                          ${systemd_system_unitdir}/busnames.target.wants/org.freedesktop.import1.busname \
                          ${systemd_system_unitdir}/busnames.target.wants/org.freedesktop.machine1.busname \
                          ${systemd_system_unitdir}/local-fs.target.wants/var-lib-machines.mount \
+                         ${systemd_system_unitdir}/machines.target.wants/var-lib-machines.mount \
+                         ${systemd_system_unitdir}/remote-fs.target.wants/var-lib-machines.mount \
                          ${systemd_system_unitdir}/machine.slice \
                          ${systemd_system_unitdir}/machines.target \
                          ${systemd_system_unitdir}/org.freedesktop.import1.busname \
@@ -483,6 +483,15 @@
                         ${rootlibexecdir}/systemd/systemd-cgroups-agent \
 "
 
+CONFFILES_${PN} = "${sysconfdir}/systemd/coredump.conf \
+	${sysconfdir}/systemd/journald.conf \
+	${sysconfdir}/systemd/logind.conf \
+	${sysconfdir}/systemd/system.conf \
+	${sysconfdir}/systemd/user.conf \
+	${sysconfdir}/systemd/resolved.conf \
+	${sysconfdir}/systemd/timesyncd.conf \
+"
+
 FILES_${PN} = " ${base_bindir}/* \
                 ${base_sbindir}/shutdown \
                 ${base_sbindir}/halt \
@@ -546,13 +555,14 @@
 
 RDEPENDS_${PN} += "kmod dbus util-linux-mount util-linux-umount udev (= ${EXTENDPKGV}) util-linux-agetty util-linux-fsck"
 RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', '', 'systemd-serialgetty', d)}"
-RDEPENDS_${PN} += "volatile-binds update-rc.d systemd-conf"
+RDEPENDS_${PN} += "volatile-binds update-rc.d"
 
 RRECOMMENDS_${PN} += "systemd-extra-utils \
                       systemd-compat-units udev-hwdb \
                       e2fsprogs-e2fsck \
                       kernel-module-autofs4 kernel-module-unix kernel-module-ipv6 \
                       os-release \
+                      systemd-conf \
 "
 
 INSANE_SKIP_${PN} += "dev-so libdir"
diff --git a/poky/meta/recipes-core/util-linux/util-linux.inc b/poky/meta/recipes-core/util-linux/util-linux.inc
index c7ba8c4..34255a2 100644
--- a/poky/meta/recipes-core/util-linux/util-linux.inc
+++ b/poky/meta/recipes-core/util-linux/util-linux.inc
@@ -284,6 +284,7 @@
 
 BBCLASSEXTEND = "native nativesdk"
 
+PTEST_BINDIR = "1"
 do_compile_ptest() {
     oe_runmake buildtest-TESTS
 }
@@ -312,8 +313,8 @@
         '/^\tif[[:space:]]\[[[:space:]]![[:space:]]-x[[:space:]]"$1"/s|$1|`which $1 2>/dev/null`|g' \
          ${D}${PTEST_PATH}/tests/functions.sh
 
-    # "kill -L" behaves differently than "/bin/kill -L" so we need an additional fix
+    # Running "kill" without the the complete path would use the shell's built-in kill
     sed -i -e \
-         '/^TS_CMD_KILL/ s|kill|/bin/kill|g' \
+         '/^TS_CMD_KILL/ s|kill|${PTEST_PATH}/bin/kill|g' \
          ${D}${PTEST_PATH}/tests/commands.sh
 }
diff --git a/poky/meta/recipes-core/util-linux/util-linux/run-ptest b/poky/meta/recipes-core/util-linux/util-linux/run-ptest
index 8c57bd2..0324832 100644
--- a/poky/meta/recipes-core/util-linux/util-linux/run-ptest
+++ b/poky/meta/recipes-core/util-linux/util-linux/run-ptest
@@ -1,5 +1,9 @@
 #!/bin/sh
 
+current_path=$(readlink -f $0)
+export bindir=$(dirname $current_path)
+export PATH=$bindir/bin:$PATH
+
 cd tests || exit 1                                                          
 
 comps=$(find ts/ -type f -perm -111 -regex ".*/[^\.~]*" |  sort)
diff --git a/poky/meta/recipes-devtools/binutils/binutils-2.32.inc b/poky/meta/recipes-devtools/binutils/binutils-2.32.inc
index 5d0c16b..49e6827 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-2.32.inc
+++ b/poky/meta/recipes-devtools/binutils/binutils-2.32.inc
@@ -44,6 +44,10 @@
      file://0013-Detect-64-bit-MIPS-targets.patch \
      file://0014-sync-with-OE-libtool-changes.patch \
      file://0015-binutils-enable-x86_64-pep-for-producing-EFI-binarie.patch \
+     file://CVE-2019-9074.patch \
+     file://CVE-2019-9075.patch \
+     file://CVE-2019-9076.patch \
+     file://CVE-2019-9077.patch \
 "
 S  = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9074.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9074.patch
new file mode 100644
index 0000000..a11a512
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9074.patch
@@ -0,0 +1,68 @@
+From e2ebb3906432dcca2727186ad79415f920730fb2 Mon Sep 17 00:00:00 2001
+From: Alan Modra <amodra@gmail.com>
+Date: Tue, 19 Feb 2019 22:48:44 +1030
+Subject: [PATCH] PR24235, Read memory violation in pei-x86_64.c
+
+	PR 24235
+	* pei-x86_64.c (pex64_bfd_print_pdata_section): Correct checks
+	attempting to prevent read past end of section.
+
+Upstream-Status: Backport [https://github.com/bminor/binutils-gdb/commit/179f2db0d9c397d7dd8a59907b84208b79f7f48c]
+CVE: CVE-2019-9074
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ bfd/ChangeLog    | 6 ++++++
+ bfd/pei-x86_64.c | 9 ++++-----
+ 2 files changed, 10 insertions(+), 5 deletions(-)
+
+diff --git a/bfd/ChangeLog b/bfd/ChangeLog
+index dd2c741..cbf30de 100644
+--- a/bfd/ChangeLog
++++ b/bfd/ChangeLog
+@@ -1,3 +1,9 @@
++2019-02-19  Alan Modra  <amodra@gmail.com>
++
++	PR 24235
++	* pei-x86_64.c (pex64_bfd_print_pdata_section): Correct checks
++	attempting to prevent read past end of section.
++
+ 2019-02-04  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* development.sh (experimental) Set to false.
+diff --git a/bfd/pei-x86_64.c b/bfd/pei-x86_64.c
+index ff1093c..7e75104 100644
+--- a/bfd/pei-x86_64.c
++++ b/bfd/pei-x86_64.c
+@@ -541,7 +541,7 @@ pex64_bfd_print_pdata_section (bfd *abfd, void *vfile, asection *pdata_section)
+   /* virt_size might be zero for objects.  */
+   if (stop == 0 && strcmp (abfd->xvec->name, "pe-x86-64") == 0)
+     {
+-      stop = (datasize / onaline) * onaline;
++      stop = datasize;
+       virt_size_is_zero = TRUE;
+     }
+   else if (datasize < stop)
+@@ -551,8 +551,8 @@ pex64_bfd_print_pdata_section (bfd *abfd, void *vfile, asection *pdata_section)
+ 		 _("Warning: %s section size (%ld) is smaller than virtual size (%ld)\n"),
+ 		 pdata_section->name, (unsigned long) datasize,
+ 		 (unsigned long) stop);
+-	/* Be sure not to read passed datasize.  */
+-	stop = datasize / onaline;
++	/* Be sure not to read past datasize.  */
++	stop = datasize;
+       }
+ 
+   /* Display functions table.  */
+@@ -724,8 +724,7 @@ pex64_bfd_print_pdata_section (bfd *abfd, void *vfile, asection *pdata_section)
+ 	      altent += imagebase;
+ 
+ 	      if (altent >= pdata_vma
+-		  && (altent + PDATA_ROW_SIZE <= pdata_vma
+-		      + pei_section_data (abfd, pdata_section)->virt_size))
++		  && altent - pdata_vma + PDATA_ROW_SIZE <= stop)
+ 		{
+ 		  pex64_get_runtime_function
+ 		    (abfd, &arf, &pdata[altent - pdata_vma]);
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9075.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9075.patch
new file mode 100644
index 0000000..bcb1310
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9075.patch
@@ -0,0 +1,119 @@
+From 8abac8031ed369a2734b1cdb7df28a39a54b4b49 Mon Sep 17 00:00:00 2001
+From: Alan Modra <amodra@gmail.com>
+Date: Wed, 20 Feb 2019 08:21:24 +1030
+Subject: [PATCH] PR24236, Heap buffer overflow in
+ _bfd_archive_64_bit_slurp_armap
+
+	PR 24236
+	* archive64.c (_bfd_archive_64_bit_slurp_armap): Move code adding
+	sentinel NUL to string buffer nearer to loop where it is used.
+	Don't go past sentinel when scanning strings, and don't write
+	NUL again.
+	* archive.c (do_slurp_coff_armap): Simplify string handling to
+	archive64.c style.
+
+Upstream-Status: Backport [https://github.com/bminor/binutils-gdb/commit/8abac8031ed369a2734b1cdb7df28a39a54b4b49]
+CVE: CVE-2019-9075
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> 
+---
+ bfd/ChangeLog   | 10 ++++++++++
+ bfd/archive.c   | 17 +++++++----------
+ bfd/archive64.c | 10 +++++-----
+ 3 files changed, 22 insertions(+), 15 deletions(-)
+
+diff --git a/bfd/ChangeLog b/bfd/ChangeLog
+index 72c87c7..e39bb12 100644
+--- a/bfd/ChangeLog
++++ b/bfd/ChangeLog
+@@ -1,3 +1,13 @@
++2019-02-20  Alan Modra  <amodra@gmail.com>
++
++	PR 24236
++	* archive64.c (_bfd_archive_64_bit_slurp_armap): Move code adding
++	sentinel NUL to string buffer nearer to loop where it is used.
++	Don't go past sentinel when scanning strings, and don't write
++	NUL again.
++	* archive.c (do_slurp_coff_armap): Simplify string handling to
++	archive64.c style.
++
+ 2019-02-19  Alan Modra  <amodra@gmail.com>
+ 
+ 	PR 24235
+diff --git a/bfd/archive.c b/bfd/archive.c
+index d2d9b72..68a92a3 100644
+--- a/bfd/archive.c
++++ b/bfd/archive.c
+@@ -1012,6 +1012,7 @@ do_slurp_coff_armap (bfd *abfd)
+   int *raw_armap, *rawptr;
+   struct artdata *ardata = bfd_ardata (abfd);
+   char *stringbase;
++  char *stringend;
+   bfd_size_type stringsize;
+   bfd_size_type parsed_size;
+   carsym *carsyms;
+@@ -1071,22 +1072,18 @@ do_slurp_coff_armap (bfd *abfd)
+     }
+ 
+   /* OK, build the carsyms.  */
+-  for (i = 0; i < nsymz && stringsize > 0; i++)
++  stringend = stringbase + stringsize;
++  *stringend = 0;
++  for (i = 0; i < nsymz; i++)
+     {
+-      bfd_size_type len;
+-
+       rawptr = raw_armap + i;
+       carsyms->file_offset = swap ((bfd_byte *) rawptr);
+       carsyms->name = stringbase;
+-      /* PR 17512: file: 4a1d50c1.  */
+-      len = strnlen (stringbase, stringsize);
+-      if (len < stringsize)
+-	len ++;
+-      stringbase += len;
+-      stringsize -= len;
++      stringbase += strlen (stringbase);
++      if (stringbase != stringend)
++	++stringbase;
+       carsyms++;
+     }
+-  *stringbase = 0;
+ 
+   ardata->symdef_count = nsymz;
+   ardata->first_file_filepos = bfd_tell (abfd);
+diff --git a/bfd/archive64.c b/bfd/archive64.c
+index 312bf82..42f6ed9 100644
+--- a/bfd/archive64.c
++++ b/bfd/archive64.c
+@@ -100,8 +100,6 @@ _bfd_archive_64_bit_slurp_armap (bfd *abfd)
+     return FALSE;
+   carsyms = ardata->symdefs;
+   stringbase = ((char *) ardata->symdefs) + carsym_size;
+-  stringbase[stringsize] = 0;
+-  stringend = stringbase + stringsize;
+ 
+   raw_armap = (bfd_byte *) bfd_alloc (abfd, ptrsize);
+   if (raw_armap == NULL)
+@@ -115,15 +113,17 @@ _bfd_archive_64_bit_slurp_armap (bfd *abfd)
+       goto release_raw_armap;
+     }
+ 
++  stringend = stringbase + stringsize;
++  *stringend = 0;
+   for (i = 0; i < nsymz; i++)
+     {
+       carsyms->file_offset = bfd_getb64 (raw_armap + i * 8);
+       carsyms->name = stringbase;
+-      if (stringbase < stringend)
+-	stringbase += strlen (stringbase) + 1;
++      stringbase += strlen (stringbase);
++      if (stringbase != stringend)
++	++stringbase;
+       ++carsyms;
+     }
+-  *stringbase = '\0';
+ 
+   ardata->symdef_count = nsymz;
+   ardata->first_file_filepos = bfd_tell (abfd);
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9076.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9076.patch
new file mode 100644
index 0000000..ec8cde2
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9076.patch
@@ -0,0 +1,49 @@
+From 9f841c583880eb6d0194455c1583a766f853e628 Mon Sep 17 00:00:00 2001
+From: Alan Modra <amodra@gmail.com>
+Date: Wed, 20 Feb 2019 12:06:31 +1030
+Subject: [PATCH] PR24233, Out of memory
+
+	PR 24233
+	* objdump.c (dump_bfd_private_header): Print warning if
+	bfd_print_private_bfd_data returns false.
+
+Upstream-Status: Backport [https://github.com/bminor/binutils-gdb/commit/7d272a55caebfc26ab2e15d1e9439bac978b9bb7]
+CVE: CVE-2019-9076
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ binutils/ChangeLog | 6 ++++++
+ binutils/objdump.c | 4 +++-
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/binutils/ChangeLog b/binutils/ChangeLog
+index f837c37..d5dd7cb 100644
+--- a/binutils/ChangeLog
++++ b/binutils/ChangeLog
+@@ -1,3 +1,9 @@
++2019-02-20  Alan Modra  <amodra@gmail.com>
++
++	PR 24233
++	* objdump.c (dump_bfd_private_header): Print warning if
++	bfd_print_private_bfd_data returns false.
++
+ 2019-02-02  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* configure: Regenerate.
+diff --git a/binutils/objdump.c b/binutils/objdump.c
+index 8725390..7d0c6a4 100644
+--- a/binutils/objdump.c
++++ b/binutils/objdump.c
+@@ -3178,7 +3178,9 @@ dump_bfd_header (bfd *abfd)
+ static void
+ dump_bfd_private_header (bfd *abfd)
+ {
+-  bfd_print_private_bfd_data (abfd, stdout);
++  if (!bfd_print_private_bfd_data (abfd, stdout))
++    non_fatal (_("warning: private headers incomplete: %s"),
++	       bfd_errmsg (bfd_get_error ()));
+ }
+ 
+ static void
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9077.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9077.patch
new file mode 100644
index 0000000..11ecb71
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9077.patch
@@ -0,0 +1,37 @@
+From f7bbc8890de45df6eda0ddef5dd04f835f54eecf Mon Sep 17 00:00:00 2001
+From: Nick Clifton <nickc@redhat.com>
+Date: Wed, 20 Feb 2019 17:03:47 +0000
+Subject: [PATCH] Fix a illegal memory access fault when parsing a corrupt MIPS
+ option section using readelf.
+
+	PR 24243
+	* readelf.c (process_mips_specific): Check for an options section
+	that is too small to even contain a single option.
+
+Upstream-Status: Backport [https://github.com/bminor/binutils-gdb/commit/7fc0c668f2aceb8582d74db1ad2528e2bba8a921]
+CVE: CVE-2019-9077
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ binutils/readelf.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/binutils/readelf.c b/binutils/readelf.c
+index 9df3742..18ab806 100644
+--- a/binutils/readelf.c
++++ b/binutils/readelf.c
+@@ -16179,6 +16179,12 @@ process_mips_specific (Filedata * filedata)
+ 	  error (_("No MIPS_OPTIONS header found\n"));
+ 	  return FALSE;
+ 	}
++      /* PR 24243  */
++      if (sect->sh_size < sizeof (* eopt))
++	{
++	  error (_("The MIPS options section is too small.\n"));
++	  return FALSE;
++	}
+ 
+       eopt = (Elf_External_Options *) get_data (NULL, filedata, options_offset, 1,
+                                                 sect->sh_size, _("options"));
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/bison/bison/0001-Unset-need_charset_alias-when-building-for-musl.patch b/poky/meta/recipes-devtools/bison/bison/0001-Unset-need_charset_alias-when-building-for-musl.patch
deleted file mode 100644
index ba1a4ba..0000000
--- a/poky/meta/recipes-devtools/bison/bison/0001-Unset-need_charset_alias-when-building-for-musl.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From b9565dc2fe0c4f7daaec91b7e83bc7313dee2f4a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 13 Apr 2015 17:02:13 -0700
-Subject: [PATCH] Unset need_charset_alias when building for musl
-
-localcharset uses ac_cv_gnu_library_2_1 from glibc21.m4
-which actually shoudl be fixed in gnulib and then all downstream
-projects will get it eventually. For now we apply the fix to
-coreutils
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/gnulib.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/gnulib.mk b/lib/gnulib.mk
-index e1d74db..c0e92dd 100644
---- a/lib/gnulib.mk
-+++ b/lib/gnulib.mk
-@@ -1882,7 +1882,7 @@ install-exec-localcharset: all-local
- 	  case '$(host_os)' in \
- 	    darwin[56]*) \
- 	      need_charset_alias=true ;; \
--	    darwin* | cygwin* | mingw* | pw32* | cegcc*) \
-+	    darwin* | cygwin* | mingw* | pw32* | cegcc* | linux-musl*) \
- 	      need_charset_alias=false ;; \
- 	    *) \
- 	      need_charset_alias=true ;; \
--- 
-2.1.4
-
diff --git a/poky/meta/recipes-devtools/bison/bison/0001-src-local.mk-fix-parallel-issue.patch b/poky/meta/recipes-devtools/bison/bison/0001-src-local.mk-fix-parallel-issue.patch
deleted file mode 100644
index 1e86f55..0000000
--- a/poky/meta/recipes-devtools/bison/bison/0001-src-local.mk-fix-parallel-issue.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 5b9204eee4b06b48d54ecc3ef3a0b56fc5cc84f8 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Fri, 24 Apr 2015 00:38:32 -0700
-Subject: [PATCH] src/local.mk: fix parallel issue
-
-Fixed:
-rm -f src/yacc src/yacc.tmp
-echo '#! /bin/sh' >src/yacc.tmp
-/bin/bash: src/yacc.tmp: No such file or directory
-Makefile:6670: recipe for target 'src/yacc' failed
-
-Upstream-Status: Submitted [ http://lists.gnu.org/archive/html/bison-patches/2017-07/msg00000.html ]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
----
- src/local.mk | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/local.mk b/src/local.mk
-index 573ad00..28bfae4 100644
---- a/src/local.mk
-+++ b/src/local.mk
-@@ -119,6 +119,7 @@ MOSTLYCLEANFILES += src/yacc
- 
- src/yacc:
- 	$(AM_V_GEN)rm -f $@ $@.tmp
-+	$(AM_V_at)$(MKDIR_P) src
- 	$(AM_V_at)echo '#! /bin/sh' >$@.tmp
- 	$(AM_V_at)echo "exec '$(bindir)/bison' -y "'"$$@"' >>$@.tmp
- 	$(AM_V_at)chmod a+x $@.tmp
--- 
-2.8.1
-
diff --git a/poky/meta/recipes-devtools/bison/bison/gnulib.patch b/poky/meta/recipes-devtools/bison/bison/gnulib.patch
deleted file mode 100644
index 7eaf0ce..0000000
--- a/poky/meta/recipes-devtools/bison/bison/gnulib.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Fix gnulib issues found with glibc 2.28 libio.h removal
-
-see
-https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: bison-3.0.4/lib/fseterr.c
-===================================================================
---- bison-3.0.4.orig/lib/fseterr.c
-+++ bison-3.0.4/lib/fseterr.c
-@@ -29,7 +29,7 @@ fseterr (FILE *fp)
-   /* Most systems provide FILE as a struct and the necessary bitmask in
-      <stdio.h>, because they need it for implementing getc() and putc() as
-      fast macros.  */
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-   fp->_flags |= _IO_ERR_SEEN;
- #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */
-   fp_->_flags |= __SERR;
diff --git a/poky/meta/recipes-devtools/bison/bison_3.0.4.bb b/poky/meta/recipes-devtools/bison/bison_3.1.bb
similarity index 80%
rename from poky/meta/recipes-devtools/bison/bison_3.0.4.bb
rename to poky/meta/recipes-devtools/bison/bison_3.1.bb
index f1b05da..a743bfd 100644
--- a/poky/meta/recipes-devtools/bison/bison_3.0.4.bb
+++ b/poky/meta/recipes-devtools/bison/bison_3.1.bb
@@ -10,18 +10,15 @@
 DEPENDS = "bison-native flex-native"
 
 SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.xz \
-           file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
            file://dont-depend-on-help2man.patch.patch \
-           file://0001-src-local.mk-fix-parallel-issue.patch \
            file://add-with-bisonlocaledir.patch \
-           file://gnulib.patch \
 "
 
 # No point in hardcoding path to m4, just use PATH
 EXTRA_OECONF += "M4=m4"
 
-SRC_URI[md5sum] = "c342201de104cc9ce0a21e0ad10d4021"
-SRC_URI[sha256sum] = "a72428c7917bdf9fa93cb8181c971b6e22834125848cf1d03ce10b1bb0716fe1"
+SRC_URI[md5sum] = "db7e431785ad96870bfa570a15cab079"
+SRC_URI[sha256sum] = "7c2464ad6cb7b513b2c350a092d919327e1f63d12ff024836acbb504475da5c6"
 
 inherit autotools gettext texinfo
 
diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.20.1.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.20.2.bb
similarity index 96%
rename from poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.20.1.bb
rename to poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.20.2.bb
index 3647232..a1e7309 100644
--- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.20.1.bb
+++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.20.2.bb
@@ -14,7 +14,7 @@
 DEPENDS_append_class-target = " udev"
 RDEPENDS_${PN} = "libgcc"
 
-SRCREV = "6c33832b8c7bf2d7b64d6aed023c0bda43a03311"
+SRCREV = "5c748404b97035463c79ba4e5fd41b6858535509"
 SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \
            file://0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch \
            file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
diff --git a/poky/meta/recipes-devtools/ccache/ccache.inc b/poky/meta/recipes-devtools/ccache/ccache.inc
index 7f80065..a31acad 100644
--- a/poky/meta/recipes-devtools/ccache/ccache.inc
+++ b/poky/meta/recipes-devtools/ccache/ccache.inc
@@ -9,7 +9,7 @@
 
 DEPENDS = "zlib"
 
-SRC_URI = "https://download.samba.org/pub/${BPN}/${BP}.tar.gz"
+SRC_URI = "https://github.com/ccache/ccache/releases/download/v${PV}/${BP}.tar.gz"
 
 inherit autotools
 
diff --git a/poky/meta/recipes-devtools/ccache/ccache_3.6.bb b/poky/meta/recipes-devtools/ccache/ccache_3.6.bb
deleted file mode 100644
index 60807be..0000000
--- a/poky/meta/recipes-devtools/ccache/ccache_3.6.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require ccache.inc
-
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=70762511f9c509cc2a4e4ba2ef687ae3"
-
-SRC_URI[md5sum] = "bd6fd69db28426baf22ec0acdd5c4b2a"
-SRC_URI[sha256sum] = "a3f2b91a2353b65a863c5901251efe48060ecdebec46b5eaec8ea8e092b9e871"
-
-SRC_URI += " \
-            file://0002-dev.mk.in-fix-file-name-too-long.patch \
-            file://0003-Fix-Segmentation-fault-error-when-gcc-o-dev-null.patch \
-"
diff --git a/poky/meta/recipes-devtools/ccache/ccache_3.7.1.bb b/poky/meta/recipes-devtools/ccache/ccache_3.7.1.bb
new file mode 100644
index 0000000..1db7094
--- /dev/null
+++ b/poky/meta/recipes-devtools/ccache/ccache_3.7.1.bb
@@ -0,0 +1,7 @@
+require ccache.inc
+
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=0094c59039cec66b8a4c905204333514"
+
+SRC_URI[md5sum] = "74339465ab87e0b406985ed69515f19b"
+SRC_URI[sha256sum] = "e562fcdbe766406b6fe4bf97ce5c001d2be8a17465f33bcddefc9499bbb057d8"
diff --git a/poky/meta/recipes-devtools/ccache/files/0002-dev.mk.in-fix-file-name-too-long.patch b/poky/meta/recipes-devtools/ccache/files/0002-dev.mk.in-fix-file-name-too-long.patch
deleted file mode 100644
index 16a6e9d..0000000
--- a/poky/meta/recipes-devtools/ccache/files/0002-dev.mk.in-fix-file-name-too-long.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 7dab2995ed8eeccd7b0acd79668bc28f3a2427d5 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Wed, 16 Sep 2015 19:45:40 -0700
-Subject: [PATCH] dev.mk.in: fix file name too long error
-
-The all_cppflags changes path to filename which causes file name too long
-error when the path is longer than NAME_MAX (usually 255). Strip srcdir
-to fix the problem.
-
-Upstream-Status: Backport [https://github.com/ccache/ccache/commit/4d86e884d07ba1853a0c70507cc4d04107f57c29]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-
----
- dev.mk.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/dev.mk.in b/dev.mk.in
-index 91b0a57..583ade0 100644
---- a/dev.mk.in
-+++ b/dev.mk.in
-@@ -1,7 +1,7 @@
- # GNU make syntax reigns in this file.
- 
- all_cflags += -Werror @more_warnings@
--all_cppflags += -MD -MP -MF .deps/$(subst .._,,$(subst /,_,$<)).d
-+all_cppflags += -MD -MP -MF .deps/$(subst .._,,$(subst /,_,$(subst $(srcdir)/,,$<))).d
- 
- A2X = a2x
- ASCIIDOC = asciidoc
diff --git a/poky/meta/recipes-devtools/ccache/files/0003-Fix-Segmentation-fault-error-when-gcc-o-dev-null.patch b/poky/meta/recipes-devtools/ccache/files/0003-Fix-Segmentation-fault-error-when-gcc-o-dev-null.patch
deleted file mode 100644
index b3012b7..0000000
--- a/poky/meta/recipes-devtools/ccache/files/0003-Fix-Segmentation-fault-error-when-gcc-o-dev-null.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From c51b63758e95247e3c1e2f06e5f5bfb49849e66d Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Tue, 22 Jan 2019 16:30:52 +0800
-Subject: [PATCH] Fix Segmentation fault error when gcc -o /dev/null
-
-Fixed:
-$ export CCACHE_DEBUG=1
-$ ccache gcc -c hello.c -o /dev/null
-
-Segmentation fault (core dumped)
-
-This is because failed to open /dev/null.foo (Permission denied), check file
-stream before write to it can fix the problem.
-
-Upstream-Status: Backport [https://github.com/ccache/ccache/commit/4d86e884d07ba1853a0c70507cc4d04107f57c29]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- src/ccache.c | 15 ++++++++++++---
- src/util.c   |  8 ++++++--
- 2 files changed, 18 insertions(+), 5 deletions(-)
-
-diff --git a/src/ccache.c b/src/ccache.c
-index b4cdb86..8c227df 100644
---- a/src/ccache.c
-+++ b/src/ccache.c
-@@ -521,9 +521,13 @@ init_hash_debug(struct hash *hash, const char *obj_path, char type,
- 
- 	char *path = format("%s.ccache-input-%c", obj_path, type);
- 	FILE *debug_binary_file = fopen(path, "wb");
--	hash_enable_debug(hash, section_name, debug_binary_file, debug_text_file);
-+	if (debug_binary_file) {
-+		hash_enable_debug(hash, section_name, debug_binary_file, debug_text_file);
-+		exitfn_add(fclose_exitfn, debug_binary_file);
-+	} else {
-+		cc_log("Failed to open %s: %s", path, strerror(errno));
-+	}
- 	free(path);
--	exitfn_add(fclose_exitfn, debug_binary_file);
- }
- 
- static enum guessed_compiler
-@@ -3670,8 +3674,13 @@ ccache(int argc, char *argv[])
- 	if (conf->debug) {
- 		char *path = format("%s.ccache-input-text", output_obj);
- 		debug_text_file = fopen(path, "w");
-+		if (debug_text_file) {
-+			exitfn_add(fclose_exitfn, debug_text_file);
-+		}
-+		else {
-+			cc_log("Failed to open %s: %s", path, strerror(errno));
-+		}
- 		free(path);
--		exitfn_add(fclose_exitfn, debug_text_file);
- 	}
- 
- 	struct hash *common_hash = hash_init();
-diff --git a/src/util.c b/src/util.c
-index e442cc4..a49fb4c 100644
---- a/src/util.c
-+++ b/src/util.c
-@@ -219,8 +219,12 @@ void
- cc_dump_log_buffer(const char *path)
- {
- 	FILE *file = fopen(path, "w");
--	(void) fwrite(logbuffer, 1, logsize, file);
--	fclose(file);
-+	if (file) {
-+		(void) fwrite(logbuffer, 1, logsize, file);
-+		fclose(file);
-+	} else {
-+		cc_log("Failed to open %s: %s", path, strerror(errno));
-+	}
- }
- 
- // Something went badly wrong!
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.12.2.bb
similarity index 94%
rename from poky/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb
rename to poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.12.2.bb
index 9aa8d2a..c70523d 100644
--- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb
+++ b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.12.2.bb
@@ -8,8 +8,7 @@
            file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
            "
 
-PV = "0.12.1"
-SRCREV = "7744554ddef7c5be2cd7fbcac49c8b24ce60ef88"
+SRCREV = "5b4c06f6af24633f667da37455281f24a4abd461"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-devtools/dnf/dnf_4.1.0.bb b/poky/meta/recipes-devtools/dnf/dnf_4.2.2.bb
similarity index 88%
rename from poky/meta/recipes-devtools/dnf/dnf_4.1.0.bb
rename to poky/meta/recipes-devtools/dnf/dnf_4.2.2.bb
index d45023e..c777733 100644
--- a/poky/meta/recipes-devtools/dnf/dnf_4.1.0.bb
+++ b/poky/meta/recipes-devtools/dnf/dnf_4.2.2.bb
@@ -12,7 +12,7 @@
            file://0030-Run-python-scripts-using-env.patch \
            "
 
-SRCREV = "ad9b2175517c896c898cf9c8660e9b9b688ac5c7"
+SRCREV = "9947306a55271b8b7c9e2b6e3b7d582885b6045d"
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
 
 S = "${WORKDIR}/git"
@@ -26,7 +26,7 @@
 
 BBCLASSEXTEND = "native nativesdk"
 
-RDEPENDS_${PN}_class-target += " \
+RDEPENDS_${PN} += " \
   python3-core \
   python3-codecs \
   python3-netclient \
@@ -49,6 +49,8 @@
   python3-gpg \
   "
 
+RDEPENDS_${PN}_class-native = ""
+
 RRECOMMENDS_${PN}_class-target += "gnupg"
 
 # Create a symlink called 'dnf' as 'make install' does not do it, but
@@ -66,6 +68,12 @@
                 RPM_NO_CHROOT_FOR_SCRIPTS=1
 }
 
+do_install_append_class-nativesdk() {
+        create_wrapper ${D}/${bindir}/dnf \
+                RPM_CONFIGDIR=${SDKPATHNATIVE}${libdir_nativesdk}/rpm \
+                RPM_NO_CHROOT_FOR_SCRIPTS=1 
+}
+
 SYSTEMD_SERVICE_${PN} = "dnf-makecache.service dnf-makecache.timer \
                          dnf-automatic.service dnf-automatic.timer \
                          dnf-automatic-download.service dnf-automatic-download.timer \
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/run-ptest b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/run-ptest
index ef10b08..c97c037 100644
--- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/run-ptest
+++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/run-ptest
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 cd ./test
-./test_script | sed -u -e '/:[[:space:]]ok/s/^/PASS: /' -e '/:[[:space:]]failed/s/^/FAIL: /' -e '/:[[:space:]]skipped/s/^/SKIP: /'
+SKIP_SLOW_TESTS=yes ./test_script | sed -u -e '/:[[:space:]]ok/s/^/PASS: /' -e '/:[[:space:]]failed/s/^/FAIL: /' -e '/:[[:space:]]skipped/s/^/SKIP: /'
 rm -rf /var/volatile/tmp/*e2fsprogs*
 rm -f tmp-*
 rm -f *.tmp
diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb
index fd901c9..157551e 100644
--- a/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb
+++ b/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb
@@ -1,7 +1,7 @@
 SUMMARY = "Utilities and libraries for handling compiled object files"
 HOMEPAGE = "https://sourceware.org/elfutils"
 SECTION = "base"
-LICENSE = "(GPLv3 & Elfutils-Exception)"
+LICENSE = "GPLv2 & LGPLv3+ & GPLv3+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 DEPENDS = "libtool bzip2 zlib virtual/libintl"
 DEPENDS_append_libc-musl = " argp-standalone fts "
@@ -27,16 +27,26 @@
            file://debian/hurd_path.patch \
            file://debian/ignore_strmerge.diff \
            file://debian/disable_werror.patch \
+           file://debian/testsuite-ignore-elflint.diff \
+           file://0001-skip-the-test-when-gcc-not-deployed.patch \
+           file://run-ptest \
+           file://ptest.patch \
+           file://musl.patch \
            "
-SRC_URI_append_libc-musl = " file://0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch"
+SRC_URI_append_libc-musl = " file://0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch \
+                             file://0001-fix-err-variable-and-function-conflicts.patch \
+"
 
 SRC_URI[md5sum] = "077e4f49320cad82bf17a997068b1db9"
 SRC_URI[sha256sum] = "eb5747c371b0af0f71e86215a5ebb88728533c3a104a43d4231963f308cd1023"
 
-inherit autotools gettext
+inherit autotools gettext ptest
 
 EXTRA_OECONF = "--program-prefix=eu- --without-lzma"
 EXTRA_OECONF_append_class-native = " --without-bzlib"
+RDEPENDS_${PN}-ptest = "libasm libelf bash make coreutils ${PN}-binutils ${PN}"
+
+EXTRA_OECONF_append_class-target += "--disable-tests-rpath"
 
 do_install_append() {
 	if [ "${TARGET_ARCH}" != "x86_64" ] && [ -z `echo "${TARGET_ARCH}"|grep 'i.86'` ];then
@@ -44,6 +54,22 @@
 	fi
 }
 
+do_compile_ptest() {
+	cd ${B}/tests
+	oe_runmake buildtest-TESTS oecheck
+}
+
+do_install_ptest() {
+	if [ ${PTEST_ENABLED} = "1" ]; then
+		cp -r ${S}/tests/                       ${D}${PTEST_PATH}
+		cp -r ${B}/tests/*                      ${D}${PTEST_PATH}/tests
+		cp -r ${B}/config.h                     ${D}${PTEST_PATH}
+		cp -r ${B}/backends                     ${D}${PTEST_PATH}
+		sed -i '/^Makefile:/c Makefile:'        ${D}${PTEST_PATH}/tests/Makefile
+		find ${D}${PTEST_PATH} -type f -name *.[hoc] | xargs -i rm {}
+	fi
+}
+
 EXTRA_OEMAKE_class-native = ""
 EXTRA_OEMAKE_class-nativesdk = ""
 
@@ -53,6 +79,18 @@
 
 # Package utilities separately
 PACKAGES =+ "${PN}-binutils libelf libasm libdw"
+
+# shared libraries are licensed GPLv2 or GPLv3+, binaries GPLv3+
+# according to NEWS file:
+# "The license is now GPLv2/LGPLv3+ for the libraries and GPLv3+ for stand-alone
+# programs. There is now also a formal CONTRIBUTING document describing how to
+# submit patches."
+LICENSE_${PN}-binutils = "GPLv3+"
+LICENSE_${PN} = "GPLv3+"
+LICENSE_libelf = "GPLv2 | LGPLv3+"
+LICENSE_libasm = "GPLv2 | LGPLv3+"
+LICENSE_libdw = "GPLv2 | LGPLv3+"
+
 FILES_${PN}-binutils = "\
     ${bindir}/eu-addr2line \
     ${bindir}/eu-ld \
diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-fix-err-variable-and-function-conflicts.patch b/poky/meta/recipes-devtools/elfutils/files/0001-fix-err-variable-and-function-conflicts.patch
new file mode 100644
index 0000000..433db13
--- /dev/null
+++ b/poky/meta/recipes-devtools/elfutils/files/0001-fix-err-variable-and-function-conflicts.patch
@@ -0,0 +1,91 @@
+From 2c50fe7068bd6911958c6d851aef88179e73bb21 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <Mingli.Yu@windriver.com>
+Date: Tue, 16 Apr 2019 15:30:38 +0800
+Subject: [PATCH] fix err variable and function conflicts
+
+There comes below build failure with musl when
+ptest enabled.
+| In file included from ../../elfutils-0.176/tests/dwfl-proc-attach.c:33:
+| ../../elfutils-0.176/lib/system.h:63:35: error: called object 'err' is not a function or function pointer
+|  #define error(status, errno, ...) err(status, __VA_ARGS__)
+|                                    ^~~
+| ../../elfutils-0.176/tests/dwfl-proc-attach.c:92:5: note: in expansion of macro 'error'
+|      error (-1, 0, "dwfl_linux_proc_attach pid %d: %s", pid,
+|      ^~~~~
+| ../../elfutils-0.176/tests/dwfl-proc-attach.c:79:7: note: declared here
+|    int err;
+|        ^~~
+
+It is because there is no error.h in musl and
+the patch 0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch
+has updated to use err.h to replace error.h
+and also added macro definiton as below when
+use musl.
+ #define error(status, errno, ...) err(status, __VA_ARGS__)
+
+And in err.h, there is below logic:
+_Noreturn void err(int, const char *, ...);
+
+But when ptest enabled, there comes below error
+as there is both variable and function defined
+to be err in tests/dwfl-proc-attach.c.
+So change the err variable's name to workaround
+the build failure with musl.
+
+Upstream-Status: Inappropriate [workaround in musl]
+
+Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
+---
+ tests/dwfl-proc-attach.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+Index: elfutils-0.176/tests/dwfl-proc-attach.c
+===================================================================
+--- elfutils-0.176.orig/tests/dwfl-proc-attach.c
++++ elfutils-0.176/tests/dwfl-proc-attach.c
+@@ -76,10 +76,10 @@ main (int argc __attribute__ ((unused)),
+       char **argv __attribute__ ((unused)))
+ {
+   /* Create two extra threads to iterate through.  */
+-  int err;
+-  if ((err = pthread_create (&thread1, NULL, sleeper, NULL)) != 0)
++  int err1;
++  if ((err1 = pthread_create (&thread1, NULL, sleeper, NULL)) != 0)
+     error (-1, err, "Couldn't create thread1");
+-  if ((err = pthread_create (&thread2, NULL, sleeper, NULL)) != 0)
++  if ((err1 = pthread_create (&thread2, NULL, sleeper, NULL)) != 0)
+     error (-1, err, "Couldn't create thread2");
+ 
+   Dwfl *dwfl = dwfl_begin (&proc_callbacks);
+Index: elfutils-0.176/tests/backtrace.c
+===================================================================
+--- elfutils-0.176.orig/tests/backtrace.c
++++ elfutils-0.176/tests/backtrace.c
+@@ -219,23 +219,23 @@ dump (Dwfl *dwfl)
+ {
+   ptrdiff_t ptrdiff = dwfl_getmodules (dwfl, dump_modules, NULL, 0);
+   assert (ptrdiff == 0);
+-  bool err = false;
++  bool err1 = false;
+   switch (dwfl_getthreads (dwfl, thread_callback, NULL))
+     {
+     case 0:
+       break;
+     case DWARF_CB_ABORT:
+-      err = true;
++      err1 = true;
+       break;
+     case -1:
+       error (0, 0, "dwfl_getthreads: %s", dwfl_errmsg (-1));
+-      err = true;
++      err1 = true;
+       break;
+     default:
+       abort ();
+     }
+   callback_verify (0, 0, 0, NULL, dwfl);
+-  if (err)
++  if (err1)
+     exit (EXIT_FAILURE);
+ }
+ 
diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch b/poky/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch
new file mode 100644
index 0000000..67ca0e4
--- /dev/null
+++ b/poky/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch
@@ -0,0 +1,45 @@
+From 61939d2e552e7645ecd671fa01cf1c7a72caa82a Mon Sep 17 00:00:00 2001
+From: Mingli Yu <Mingli.Yu@windriver.com>
+Date: Fri, 12 Apr 2019 16:29:58 +0800
+Subject: [PATCH] skip the test when gcc not deployed
+
+Skip the tests which depend on gcc when
+gcc not deployed.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
+---
+ tests/run-strip-g.sh       | 2 ++
+ tests/run-strip-nothing.sh | 2 ++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/tests/run-strip-g.sh b/tests/run-strip-g.sh
+index 1303819..a943dec 100755
+--- a/tests/run-strip-g.sh
++++ b/tests/run-strip-g.sh
+@@ -24,6 +24,8 @@
+ 
+ tempfiles a.out strip.out debug.out readelf.out
+ 
++# skip the test if gcc deployed
++which gcc || exit 77
+ echo Create debug a.out.
+ echo "int main() { return 1; }" | gcc -g -xc -
+ 
+diff --git a/tests/run-strip-nothing.sh b/tests/run-strip-nothing.sh
+index 914fdfb..d03f734 100755
+--- a/tests/run-strip-nothing.sh
++++ b/tests/run-strip-nothing.sh
+@@ -22,6 +22,8 @@
+ 
+ tempfiles a.out strip.out debug.out
+ 
++# skip the case if no gcc deployed
++which gcc || exit 77
+ # Create no-debug a.out.
+ echo "int main() { return 1; }" | gcc -s -xc -
+ 
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/testsuite-ignore-elflint.diff b/poky/meta/recipes-devtools/elfutils/files/debian/testsuite-ignore-elflint.diff
new file mode 100644
index 0000000..c4ce20c
--- /dev/null
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/testsuite-ignore-elflint.diff
@@ -0,0 +1,52 @@
+From 03a343c6b1b72598fce654b8a638f106da44abfb Mon Sep 17 00:00:00 2001
+From: OpenEmbedded <oe.patch@oe>
+Date: Fri, 12 Apr 2019 08:05:50 +0000
+Subject: [PATCH] On many architectures this test fails because binaries/libs
+ produced by binutils don't pass elflint. However elfutils shouldn't FTBFS
+ because of this.
+
+So we run the tests on all archs to see what breaks, but if it breaks we ignore
+the result (exitcode 77 means: this test was skipped).
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
+---
+ tests/run-elflint-self.sh |  2 +-
+ tests/test-subr.sh        | 15 +++++++++++++++
+ 2 files changed, 16 insertions(+), 1 deletion(-)
+
+diff --git a/tests/run-elflint-self.sh b/tests/run-elflint-self.sh
+index 58fa7d0..85d21a5 100755
+--- a/tests/run-elflint-self.sh
++++ b/tests/run-elflint-self.sh
+@@ -18,5 +18,5 @@
+ 
+ . $srcdir/test-subr.sh
+ 
+-testrun_on_self ${abs_top_builddir}/src/elflint --quiet --gnu-ld
++testrun_on_self_skip ${abs_top_builddir}/src/elflint --quiet --gnu-ld
+ testrun_on_self_compressed ${abs_top_builddir}/src/elflint --quiet --gnu-ld
+diff --git a/tests/test-subr.sh b/tests/test-subr.sh
+index 09f428d..26f61f1 100644
+--- a/tests/test-subr.sh
++++ b/tests/test-subr.sh
+@@ -201,3 +201,18 @@ testrun_on_self_quiet()
+   # Only exit if something failed
+   if test $exit_status != 0; then exit $exit_status; fi
+ }
++
++# Same as testrun_on_self(), but skip on failure.
++testrun_on_self_skip()
++{
++  exit_status=0
++
++  for file in $self_test_files; do
++      testrun $* $file \
++	  || { echo "*** failure in $* $file"; exit_status=77; }
++  done
++
++  # Only exit if something failed
++  if test $exit_status != 0; then exit $exit_status; fi
++}
++
diff --git a/poky/meta/recipes-devtools/elfutils/files/musl.patch b/poky/meta/recipes-devtools/elfutils/files/musl.patch
new file mode 100644
index 0000000..be35791
--- /dev/null
+++ b/poky/meta/recipes-devtools/elfutils/files/musl.patch
@@ -0,0 +1,29 @@
+Fix error on musl:
+
+| ../../elfutils-0.176/tests/elfstrmerge.c: In function 'main':
+| ../../elfutils-0.176/tests/elfstrmerge.c:370:60: error: 'ALLPERMS' undeclared (first use in this function); did you mean 'EPERM'?
+|        fdnew = open (fnew, O_WRONLY | O_CREAT, st.st_mode & ALLPERMS);
+|                                                             ^~~~~~~~
+|                                                             EPERM
+| ../../elfutils-0.176/tests/elfstrmerge.c:370:60: note: each undeclared identifier is reported only once for each function it appears in
+
+Upstream-Status: Inappropriate [workaround in musl]
+
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: elfutils-0.176/tests/elfstrmerge.c
+===================================================================
+--- elfutils-0.176.orig/tests/elfstrmerge.c
++++ elfutils-0.176/tests/elfstrmerge.c
+@@ -33,6 +33,11 @@
+ #include ELFUTILS_HEADER(dwelf)
+ #include "elf-knowledge.h"
+ 
++/* for musl */
++#ifndef ALLPERMS
++# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)/* 07777 */
++#endif
++
+ /* The original ELF file.  */
+ static int fd = -1;
+ static Elf *elf = NULL;
diff --git a/poky/meta/recipes-devtools/elfutils/files/ptest.patch b/poky/meta/recipes-devtools/elfutils/files/ptest.patch
new file mode 100644
index 0000000..35b23f4
--- /dev/null
+++ b/poky/meta/recipes-devtools/elfutils/files/ptest.patch
@@ -0,0 +1,76 @@
+Changes to allow ptest to run standalone on target:
+
+a) Run the tests serially
+b) Use the standalone test mode which allows the tests to be run in their
+  'installled' locations on target (but not any of the standalone build pieces)
+c) We want to use the binaries from their installed locations so the run-subr
+   script needs tweaking to run them like that. The rpath conditional isn't
+   enough since we want the second entry in the case statement.
+d) Add an oecheck make target which we can use to build the test binaries we need
+
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Upstream-Status: Inappropriate [oe specific]
+
+Index: elfutils-0.176/configure.ac
+===================================================================
+--- elfutils-0.176.orig/configure.ac
++++ elfutils-0.176/configure.ac
+@@ -45,7 +45,7 @@ AC_COPYRIGHT([Copyright (C) 1996-2018 Th
+ AC_PREREQ(2.63)			dnl Minimum Autoconf version required.
+ 
+ dnl We use GNU make extensions; automake 1.10 defaults to -Wportability.
+-AM_INIT_AUTOMAKE([gnits 1.11 -Wno-portability dist-bzip2 no-dist-gzip parallel-tests])
++AM_INIT_AUTOMAKE([gnits 1.11 -Wno-portability dist-bzip2 no-dist-gzip serial-tests])
+ AM_MAINTAINER_MODE
+ 
+ AM_SILENT_RULES([yes])
+Index: elfutils-0.176/tests/Makefile.am
+===================================================================
+--- elfutils-0.176.orig/tests/Makefile.am
++++ elfutils-0.176/tests/Makefile.am
+@@ -445,10 +445,10 @@ installed_TESTS_ENVIRONMENT = libdir=$(D
+ installed_LOG_COMPILER = $(abs_srcdir)/test-wrapper.sh \
+ 			 installed $(tests_rpath) \
+ 			 '$(program_transform_name)'
+-if STANDALONE
++if !STANDALONE
+ TESTS_ENVIRONMENT = $(installed_TESTS_ENVIRONMENT)
+ LOG_COMPILER = $(installed_LOG_COMPILER)
+-else !STANDALONE
++else STANDALONE
+ TESTS_ENVIRONMENT = LC_ALL=C; LANG=C; VALGRIND_CMD=$(valgrind_cmd); \
+ 		    abs_srcdir=$(abs_srcdir);  abs_builddir=$(abs_builddir); \
+ 		    abs_top_builddir=$(abs_top_builddir); \
+@@ -463,7 +463,7 @@ installcheck-local:
+ 	$(MAKE) $(AM_MAKEFLAGS) \
+ 		TESTS_ENVIRONMENT="$(installed_TESTS_ENVIRONMENT)" \
+ 		LOG_COMPILER="$(installed_LOG_COMPILER)" check-TESTS
+-endif !STANDALONE
++endif STANDALONE
+ 
+ if STANDALONE
+ libdw = -ldw
+@@ -612,3 +612,5 @@ check: check-am coverage
+ coverage:
+ 	-$(srcdir)/coverage.sh
+ endif
++oecheck:
++	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
+Index: elfutils-0.176/tests/test-subr.sh
+===================================================================
+--- elfutils-0.176.orig/tests/test-subr.sh
++++ elfutils-0.176/tests/test-subr.sh
+@@ -91,12 +91,6 @@ installed_testrun()
+   program="$1"
+   shift
+   case "$program" in
+-  ${abs_builddir}/*)
+-    if [ "x$elfutils_tests_rpath" != xno ]; then
+-      echo >&2 installcheck not possible with --enable-tests-rpath
+-      exit 77
+-    fi
+-    ;;
+   ${abs_top_builddir}/src/*)
+     program=${bindir}/`program_transform ${program##*/}`
+     ;;
diff --git a/poky/meta/recipes-devtools/elfutils/files/run-ptest b/poky/meta/recipes-devtools/elfutils/files/run-ptest
new file mode 100644
index 0000000..81b81f2
--- /dev/null
+++ b/poky/meta/recipes-devtools/elfutils/files/run-ptest
@@ -0,0 +1,6 @@
+#!/bin/sh
+#
+#This script is used to run elfutils test suites
+cd tests
+
+make -k runtest-TESTS abs_srcdir=$PWD abs_builddir=$PWD srcdir=$PWD top_srcdir=$PWD/../ abs_top_builddir=$PWD/../ elfutils_testrun=installed elfutils_tests_rpath=no program_transform_name=s,^,eu-,
diff --git a/poky/meta/recipes-devtools/file/file_5.36.bb b/poky/meta/recipes-devtools/file/file_5.36.bb
index 1a81fde..9a0e5bd 100644
--- a/poky/meta/recipes-devtools/file/file_5.36.bb
+++ b/poky/meta/recipes-devtools/file/file_5.36.bb
@@ -27,8 +27,6 @@
 EXTRA_OEMAKE_append_class-target = "-e FILE_COMPILE=${STAGING_BINDIR_NATIVE}/file-native/file"
 EXTRA_OEMAKE_append_class-nativesdk = "-e FILE_COMPILE=${STAGING_BINDIR_NATIVE}/file-native/file"
 
-CFLAGS_append = " -std=c99"
-
 FILES_${PN} += "${datadir}/misc/*.mgc"
 
 do_install_append_class-native() {
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3.inc b/poky/meta/recipes-devtools/gcc/gcc-8.3.inc
index f7bf257..fe9c7c3 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3.inc
@@ -71,6 +71,7 @@
            file://0038-Re-introduce-spe-commandline-options.patch \
            file://0039-riscv-Disable-multilib-for-OE.patch \
            file://0040-powerpc-powerpc64-Add-support-for-musl-ldso.patch \
+           file://0041-Add-a-recursion-limit-to-libiberty-s-demangling-code.patch \
 "
 SRC_URI[md5sum] = "65b210b4bfe7e060051f799e0f994896"
 SRC_URI[sha256sum] = "64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c"
@@ -82,7 +83,6 @@
 
 # Language Overrides
 FORTRAN = ""
-JAVA = ""
 
 LTO = "--enable-lto"
 SSP ?= "--disable-libssp"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0041-Add-a-recursion-limit-to-libiberty-s-demangling-code.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0041-Add-a-recursion-limit-to-libiberty-s-demangling-code.patch
new file mode 100644
index 0000000..f3303b6
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0041-Add-a-recursion-limit-to-libiberty-s-demangling-code.patch
@@ -0,0 +1,325 @@
+From e1744e11b1c2b36f91a8847b61bafb8c5e7407ae Mon Sep 17 00:00:00 2001
+From: nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Fri, 7 Dec 2018 10:33:30 +0000
+Subject: [PATCH] Add a recursion limit to libiberty's demangling code. The
+ limit is enabled by default, but can be disabled via a new demangling option.
+
+include	* demangle.h (DMGL_NO_RECURSE_LIMIT): Define.
+        (DEMANGLE_RECURSION_LIMIT): Define
+
+	PR 87681
+	PR 87675
+	PR 87636
+	PR 87350
+	PR 87335
+libiberty * cp-demangle.h (struct d_info): Add recursion_level field.
+	* cp-demangle.c (d_function_type): Add recursion counter.
+	If the recursion limit is reached and the check is not disabled,
+	then return with a failure result.
+	(cplus_demangle_init_info): Initialise the recursion_level field.
+        (d_demangle_callback): If the recursion limit is enabled, check
+	for a mangled string that is so long that there is not enough
+	stack space for the local arrays.
+        * cplus-dem.c (struct work): Add recursion_level field.
+	(squangle_mop_up): Set the numb and numk fields to zero.
+	(work_stuff_copy_to_from): Handle the case where a btypevec or
+	ktypevec field is NULL.
+	(demangle_nested_args): Add recursion counter.  If
+	the recursion limit is not disabled and reached, return with a
+	failure result.
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@266886 138bc75d-0d04-0410-961f-82ee72b054a4
+
+CVE: CVE-2018-18484
+Upstream-Status: Backport [https://github.com/gcc-mirror/gcc/commit/03e51746ed98d9106803f6009ebd71ea670ad3b9]
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ include/ChangeLog       |  5 +++++
+ include/demangle.h      | 11 +++++++++++
+ libiberty/ChangeLog     | 23 ++++++++++++++++++++++
+ libiberty/cp-demangle.c | 51 ++++++++++++++++++++++++++++++++++++++-----------
+ libiberty/cp-demangle.h |  3 +++
+ libiberty/cplus-dem.c   | 37 +++++++++++++++++++++++++++++++++--
+ 6 files changed, 117 insertions(+), 13 deletions(-)
+
+diff --git a/include/ChangeLog b/include/ChangeLog
+index 02ab336..88b0648 100644
+--- a/include/ChangeLog
++++ b/include/ChangeLog
+@@ -2,6 +2,11 @@
+ 
+ 	* GCC 8.3.0 released.
+ 
++2018-12-07  Nick Clifton  <nickc@redhat.com>
++
++	* demangle.h (DMGL_NO_RECURSE_LIMIT): Define.
++	(DEMANGLE_RECURSION_LIMIT): Define
++
+ 2018-07-26  Release Manager
+ 
+ 	* GCC 8.2.0 released.
+diff --git a/include/demangle.h b/include/demangle.h
+index b8d57cf..9bb8a19 100644
+--- a/include/demangle.h
++++ b/include/demangle.h
+@@ -68,6 +68,17 @@ extern "C" {
+ /* If none of these are set, use 'current_demangling_style' as the default. */
+ #define DMGL_STYLE_MASK (DMGL_AUTO|DMGL_GNU|DMGL_LUCID|DMGL_ARM|DMGL_HP|DMGL_EDG|DMGL_GNU_V3|DMGL_JAVA|DMGL_GNAT|DMGL_DLANG|DMGL_RUST)
+ 
++/* Disable a limit on the depth of recursion in mangled strings.
++   Note if this limit is disabled then stack exhaustion is possible when
++   demangling pathologically complicated strings.  Bug reports about stack
++   exhaustion when the option is enabled will be rejected.  */  
++#define DMGL_NO_RECURSE_LIMIT (1 << 18)	
++
++/* If DMGL_NO_RECURSE_LIMIT is not enabled, then this is the value used as
++   the maximum depth of recursion allowed.  It should be enough for any
++   real-world mangled name.  */
++#define DEMANGLE_RECURSION_LIMIT 1024
++  
+ /* Enumeration of possible demangling styles.
+ 
+    Lucid and ARM styles are still kept logically distinct, even though
+diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
+index 1dd05da..2f77038 100644
+--- a/libiberty/ChangeLog
++++ b/libiberty/ChangeLog
+@@ -9,6 +9,29 @@
+ 	(simple_object_copy_lto_debug_sections): Create file in binary
+ 	mode.
+ 
++2018-12-07  Nick Clifton  <nickc@redhat.com>
++
++	PR 87681
++	PR 87675
++	PR 87636
++	PR 87350
++	PR 87335
++	* cp-demangle.h (struct d_info): Add recursion_level field.
++	* cp-demangle.c (d_function_type): Add recursion counter.
++	If the recursion limit is reached and the check is not disabled,
++	then return with a failure result.
++	(cplus_demangle_init_info): Initialise the recursion_level field.
++	 (d_demangle_callback): If the recursion limit is enabled, check
++	for a mangled string that is so long that there is not enough
++	stack space for the local arrays.
++	 * cplus-dem.c (struct work): Add recursion_level field.
++	(squangle_mop_up): Set the numb and numk fields to zero.
++	(work_stuff_copy_to_from): Handle the case where a btypevec or
++	ktypevec field is NULL.
++	(demangle_nested_args): Add recursion counter.  If
++	the recursion limit is not disabled and reached, return with a
++	failure result.
++
+ 2018-07-26  Release Manager
+ 
+ 	* GCC 8.2.0 released.
+diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c
+index 3f2a097..c374e46 100644
+--- a/libiberty/cp-demangle.c
++++ b/libiberty/cp-demangle.c
+@@ -2843,21 +2843,35 @@ d_ref_qualifier (struct d_info *di, struct demangle_component *sub)
+ static struct demangle_component *
+ d_function_type (struct d_info *di)
+ {
+-  struct demangle_component *ret;
++  struct demangle_component *ret = NULL;
+ 
+-  if (! d_check_char (di, 'F'))
+-    return NULL;
+-  if (d_peek_char (di) == 'Y')
++  if ((di->options & DMGL_NO_RECURSE_LIMIT) == 0)
+     {
+-      /* Function has C linkage.  We don't print this information.
+-	 FIXME: We should print it in verbose mode.  */
+-      d_advance (di, 1);
++      if (di->recursion_level > DEMANGLE_RECURSION_LIMIT)
++	/* FIXME: There ought to be a way to report
++	   that the recursion limit has been reached.  */
++	return NULL;
++
++      di->recursion_level ++;
+     }
+-  ret = d_bare_function_type (di, 1);
+-  ret = d_ref_qualifier (di, ret);
+ 
+-  if (! d_check_char (di, 'E'))
+-    return NULL;
++  if (d_check_char (di, 'F'))
++    {
++      if (d_peek_char (di) == 'Y')
++	{
++	  /* Function has C linkage.  We don't print this information.
++	     FIXME: We should print it in verbose mode.  */
++	  d_advance (di, 1);
++	}
++      ret = d_bare_function_type (di, 1);
++      ret = d_ref_qualifier (di, ret);
++      
++      if (! d_check_char (di, 'E'))
++	ret = NULL;
++    }
++
++  if ((di->options & DMGL_NO_RECURSE_LIMIT) == 0)
++    di->recursion_level --;
+   return ret;
+ }
+ 
+@@ -6188,6 +6202,7 @@ cplus_demangle_init_info (const char *mangled, int options, size_t len,
+   di->expansion = 0;
+   di->is_expression = 0;
+   di->is_conversion = 0;
++  di->recursion_level = 0;
+ }
+ 
+ /* Internal implementation for the demangler.  If MANGLED is a g++ v3 ABI
+@@ -6227,6 +6242,20 @@ d_demangle_callback (const char *mangled, int options,
+ 
+   cplus_demangle_init_info (mangled, options, strlen (mangled), &di);
+ 
++  /* PR 87675 - Check for a mangled string that is so long
++     that we do not have enough stack space to demangle it.  */
++  if (((options & DMGL_NO_RECURSE_LIMIT) == 0)
++      /* This check is a bit arbitrary, since what we really want to do is to
++	 compare the sizes of the di.comps and di.subs arrays against the
++	 amount of stack space remaining.  But there is no portable way to do
++	 this, so instead we use the recursion limit as a guide to the maximum
++	 size of the arrays.  */
++      && (unsigned long) di.num_comps > DEMANGLE_RECURSION_LIMIT)
++    {
++      /* FIXME: We need a way to indicate that a stack limit has been reached.  */
++      return 0;
++    }
++
+   {
+ #ifdef CP_DYNAMIC_ARRAYS
+     __extension__ struct demangle_component comps[di.num_comps];
+diff --git a/libiberty/cp-demangle.h b/libiberty/cp-demangle.h
+index 51b8a24..d87a830 100644
+--- a/libiberty/cp-demangle.h
++++ b/libiberty/cp-demangle.h
+@@ -122,6 +122,9 @@ struct d_info
+   /* Non-zero if we are parsing the type operand of a conversion
+      operator, but not when in an expression.  */
+   int is_conversion;
++  /* If DMGL_NO_RECURSE_LIMIT is not active then this is set to
++     the current recursion level.  */
++  unsigned int recursion_level;
+ };
+ 
+ /* To avoid running past the ending '\0', don't:
+diff --git a/libiberty/cplus-dem.c b/libiberty/cplus-dem.c
+index 6d58bd8..8b9646f 100644
+--- a/libiberty/cplus-dem.c
++++ b/libiberty/cplus-dem.c
+@@ -146,6 +146,7 @@ struct work_stuff
+   int *proctypevec;     /* Indices of currently processed remembered typevecs.  */
+   int proctypevec_size;
+   int nproctypes;
++  unsigned int recursion_level;
+ };
+ 
+ #define PRINT_ANSI_QUALIFIERS (work -> options & DMGL_ANSI)
+@@ -1292,12 +1293,14 @@ squangle_mop_up (struct work_stuff *work)
+       free ((char *) work -> btypevec);
+       work->btypevec = NULL;
+       work->bsize = 0;
++      work->numb = 0;
+     }
+   if (work -> ktypevec != NULL)
+     {
+       free ((char *) work -> ktypevec);
+       work->ktypevec = NULL;
+       work->ksize = 0;
++      work->numk = 0;
+     }
+ }
+ 
+@@ -1331,8 +1334,15 @@ work_stuff_copy_to_from (struct work_stuff *to, struct work_stuff *from)
+ 
+   for (i = 0; i < from->numk; i++)
+     {
+-      int len = strlen (from->ktypevec[i]) + 1;
++      int len;
++
++      if (from->ktypevec[i] == NULL)
++	{
++	  to->ktypevec[i] = NULL;
++	  continue;
++	}
+ 
++      len = strlen (from->ktypevec[i]) + 1;
+       to->ktypevec[i] = XNEWVEC (char, len);
+       memcpy (to->ktypevec[i], from->ktypevec[i], len);
+     }
+@@ -1342,8 +1352,15 @@ work_stuff_copy_to_from (struct work_stuff *to, struct work_stuff *from)
+ 
+   for (i = 0; i < from->numb; i++)
+     {
+-      int len = strlen (from->btypevec[i]) + 1;
++      int len;
++
++      if (from->btypevec[i] == NULL)
++	{
++	  to->btypevec[i] = NULL;
++	  continue;
++	}
+ 
++      len = strlen (from->btypevec[i]) + 1;
+       to->btypevec[i] = XNEWVEC (char , len);
+       memcpy (to->btypevec[i], from->btypevec[i], len);
+     }
+@@ -1401,6 +1418,7 @@ delete_non_B_K_work_stuff (struct work_stuff *work)
+ 
+       free ((char*) work->tmpl_argvec);
+       work->tmpl_argvec = NULL;
++      work->ntmpl_args = 0;
+     }
+   if (work->previous_argument)
+     {
+@@ -4477,6 +4495,7 @@ remember_Btype (struct work_stuff *work, const char *start,
+ }
+ 
+ /* Lose all the info related to B and K type codes. */
++
+ static void
+ forget_B_and_K_types (struct work_stuff *work)
+ {
+@@ -4502,6 +4521,7 @@ forget_B_and_K_types (struct work_stuff *work)
+ 	}
+     }
+ }
++
+ /* Forget the remembered types, but not the type vector itself.  */
+ 
+ static void
+@@ -4696,6 +4716,16 @@ demangle_nested_args (struct work_stuff *work, const char **mangled,
+   int result;
+   int saved_nrepeats;
+ 
++  if ((work->options & DMGL_NO_RECURSE_LIMIT) == 0)
++    {
++      if (work->recursion_level > DEMANGLE_RECURSION_LIMIT)
++	/* FIXME: There ought to be a way to report
++	   that the recursion limit has been reached.  */
++	return 0;
++
++      work->recursion_level ++;
++    }
++
+   /* The G++ name-mangling algorithm does not remember types on nested
+      argument lists, unless -fsquangling is used, and in that case the
+      type vector updated by remember_type is not used.  So, we turn
+@@ -4722,6 +4752,9 @@ demangle_nested_args (struct work_stuff *work, const char **mangled,
+   --work->forgetting_types;
+   work->nrepeats = saved_nrepeats;
+ 
++  if ((work->options & DMGL_NO_RECURSE_LIMIT) == 0)
++    --work->recursion_level;
++
+   return result;
+ }
+ 
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1.inc b/poky/meta/recipes-devtools/gcc/gcc-9.1.inc
new file mode 100644
index 0000000..eb25380
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1.inc
@@ -0,0 +1,118 @@
+require gcc-common.inc
+
+# Third digit in PV should be incremented after a minor release
+
+PV = "9.1.0"
+
+# BINV should be incremented to a revision after a minor gcc release
+
+BINV = "9.1.0"
+
+FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc-9.1:${FILE_DIRNAME}/gcc-9.1/backport:"
+
+DEPENDS =+ "mpfr gmp libmpc zlib flex-native"
+NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native flex-native"
+
+LICENSE = "GPL-3.0-with-GCC-exception & GPLv3"
+
+LIC_FILES_CHKSUM = "\
+    file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
+    file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \
+    file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \
+    file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+    file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8 \
+"
+
+BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz"
+#RELEASE ?= "5a5ca2d"
+#BASEURI ?= "https://repo.or.cz/official-gcc.git/snapshot/${RELEASE}.tar.gz;downloadfilename=gcc-${RELEASE}.tar.gz"
+SRC_URI = "\
+           ${BASEURI} \
+           file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
+           file://0002-gcc-poison-system-directories.patch \
+           file://0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \
+           file://0004-64-bit-multilib-hack.patch \
+           file://0005-optional-libstdc.patch \
+           file://0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch \
+           file://0007-COLLECT_GCC_OPTIONS.patch \
+           file://0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch \
+           file://0009-fortran-cross-compile-hack.patch \
+           file://0010-cpp-honor-sysroot.patch \
+           file://0011-MIPS64-Default-to-N64-ABI.patch \
+           file://0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch \
+           file://0013-gcc-Fix-argument-list-too-long-error.patch \
+           file://0014-Disable-sdt.patch \
+           file://0015-libtool.patch \
+           file://0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch \
+           file://0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch \
+           file://0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch \
+           file://0019-export-CPP.patch \
+           file://0020-Ensure-target-gcc-headers-can-be-included.patch \
+           file://0021-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch \
+           file://0022-Don-t-search-host-directory-during-relink-if-inst_pr.patch \
+           file://0023-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch \
+           file://0024-aarch64-Add-support-for-musl-ldso.patch \
+           file://0025-libcc1-fix-libcc1-s-install-path-and-rpath.patch \
+           file://0026-handle-sysroot-support-for-nativesdk-gcc.patch \
+           file://0027-Search-target-sysroot-gcc-version-specific-dirs-with.patch \
+           file://0028-Fix-various-_FOR_BUILD-and-related-variables.patch \
+           file://0029-nios2-Define-MUSL_DYNAMIC_LINKER.patch \
+           file://0030-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch \
+           file://0031-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch \
+           file://0032-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch \
+           file://0033-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch \
+           file://0034-sync-gcc-stddef.h-with-musl.patch \
+           file://0035-fix-segmentation-fault-in-precompiled-header-generat.patch \
+           file://0036-Fix-for-testsuite-failure.patch \
+           file://0037-Re-introduce-spe-commandline-options.patch \
+"
+SRC_URI[md5sum] = "6069ae3737cf02bf2cb44a391ef0e937"
+SRC_URI[sha256sum] = "79a66834e96a6050d8fe78db2c3b32fb285b230b855d0a66288235bc04b327a0"
+S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
+# For dev release snapshotting
+#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/official-gcc-${RELEASE}"
+#B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}"
+
+# Language Overrides
+FORTRAN = ""
+JAVA = ""
+
+LTO = "--enable-lto"
+SSP ?= "--disable-libssp"
+SSP_mingw32 = "--enable-libssp"
+
+EXTRA_OECONF_BASE = "\
+    ${LTO} \
+    ${SSP} \
+    --enable-libitm \
+    --disable-bootstrap \
+    --disable-libmudflap \
+    --with-system-zlib \
+    ${@'--with-linker-hash-style=${LINKER_HASH_STYLE}' if '${LINKER_HASH_STYLE}' else ''} \
+    --enable-linker-build-id \
+    --with-ppl=no \
+    --with-cloog=no \
+    --enable-checking=release \
+    --enable-cheaders=c_global \
+    --without-isl \
+"
+
+EXTRA_OECONF_INITIAL = "\
+    --disable-libmudflap \
+    --disable-libgomp \
+    --disable-libitm \
+    --disable-libquadmath \
+    --with-system-zlib \
+    --disable-lto \
+    --disable-plugin \
+    --enable-linker-build-id \
+    --enable-decimal-float=no \
+    --without-isl \
+    --disable-libssp \
+"
+
+EXTRA_OECONF_PATHS = "\
+    --with-gxx-include-dir=/not/exist{target_includedir}/c++/${BINV} \
+    --with-sysroot=/not/exist \
+    --with-build-sysroot=${STAGING_DIR_TARGET} \
+"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
new file mode 100644
index 0000000..33c910c
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
@@ -0,0 +1,42 @@
+From f1f6d84aadc4e3cde707b1ec8490f5dc46d4c8e0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 08:37:11 +0400
+Subject: [PATCH 01/37] gcc-4.3.1: ARCH_FLAGS_FOR_TARGET
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Inappropriate [embedded specific]
+---
+ configure    | 2 +-
+ configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure b/configure
+index adf4fda0f69..8a04eea4c71 100755
+--- a/configure
++++ b/configure
+@@ -7602,7 +7602,7 @@ fi
+ # for target_alias and gcc doesn't manage it consistently.
+ target_configargs="--cache-file=./config.cache ${target_configargs}"
+ 
+-FLAGS_FOR_TARGET=
++FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
+ case " $target_configdirs " in
+  *" newlib "*)
+   case " $target_configargs " in
+diff --git a/configure.ac b/configure.ac
+index 87f2aee0500..01b46b8bed4 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -3118,7 +3118,7 @@ fi
+ # for target_alias and gcc doesn't manage it consistently.
+ target_configargs="--cache-file=./config.cache ${target_configargs}"
+ 
+-FLAGS_FOR_TARGET=
++FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
+ case " $target_configdirs " in
+  *" newlib "*)
+   case " $target_configargs " in
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0002-gcc-poison-system-directories.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0002-gcc-poison-system-directories.patch
new file mode 100644
index 0000000..1231567
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0002-gcc-poison-system-directories.patch
@@ -0,0 +1,203 @@
+From 733ca3372e4125170d4531bcd33e48eeb36bfec0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 08:59:00 +0400
+Subject: [PATCH 02/37] gcc: poison-system-directories
+
+Add /sw/include and /opt/include based on the original
+zecke-no-host-includes.patch patch.  The original patch checked for
+/usr/include, /sw/include and /opt/include and then triggered a failure and
+aborted.
+
+Instead, we add the two missing items to the current scan.  If the user
+wants this to be a failure, they can add "-Werror=poison-system-directories".
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ gcc/common.opt      |  4 ++++
+ gcc/config.in       |  6 ++++++
+ gcc/configure       | 16 ++++++++++++++++
+ gcc/configure.ac    | 10 ++++++++++
+ gcc/doc/invoke.texi |  9 +++++++++
+ gcc/gcc.c           |  2 ++
+ gcc/incpath.c       | 21 +++++++++++++++++++++
+ 7 files changed, 68 insertions(+)
+
+diff --git a/gcc/common.opt b/gcc/common.opt
+index 9a5e9af06ca..211f2b2260e 100644
+--- a/gcc/common.opt
++++ b/gcc/common.opt
+@@ -684,6 +684,10 @@ Wreturn-local-addr
+ Common Var(warn_return_local_addr) Init(1) Warning
+ Warn about returning a pointer/reference to a local or temporary variable.
+ 
++Wpoison-system-directories
++Common Var(flag_poison_system_directories) Init(1) Warning
++Warn for -I and -L options using system directories if cross compiling
++
+ Wshadow
+ Common Var(warn_shadow) Warning
+ Warn when one variable shadows another.  Same as -Wshadow=global.
+diff --git a/gcc/config.in b/gcc/config.in
+index 48a533bf208..fc3043bbdfb 100644
+--- a/gcc/config.in
++++ b/gcc/config.in
+@@ -200,6 +200,12 @@
+ #endif
+ 
+ 
++/* Define to warn for use of native system header directories */
++#ifndef USED_FOR_TARGET
++#undef ENABLE_POISON_SYSTEM_DIRECTORIES
++#endif
++
++
+ /* Define if you want all operations on RTL (the basic data structure of the
+    optimizer and back end) to be checked for dynamic type safety at runtime.
+    This is quite expensive. */
+diff --git a/gcc/configure b/gcc/configure
+index d6a48ef76e7..2e08396622e 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -995,6 +995,7 @@ with_system_zlib
+ enable_maintainer_mode
+ enable_link_mutex
+ enable_version_specific_runtime_libs
++enable_poison_system_directories
+ enable_plugin
+ enable_host_shared
+ enable_libquadmath_support
+@@ -1748,6 +1749,8 @@ Optional Features:
+   --enable-version-specific-runtime-libs
+                           specify that runtime libraries should be installed
+                           in a compiler-specific directory
++  --enable-poison-system-directories
++                          warn for use of native system header directories
+   --enable-plugin         enable plugin support
+   --enable-host-shared    build host code as shared libraries
+   --disable-libquadmath-support
+@@ -29717,6 +29720,19 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
+ fi
+ 
+ 
++# Check whether --enable-poison-system-directories was given.
++if test "${enable_poison_system_directories+set}" = set; then :
++  enableval=$enable_poison_system_directories;
++else
++  enable_poison_system_directories=no
++fi
++
++if test "x${enable_poison_system_directories}" = "xyes"; then
++
++$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
++
++fi
++
+ # Substitute configuration variables
+ 
+ 
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index 78370352938..7d34911573e 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -6375,6 +6375,16 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
+                 [specify that runtime libraries should be
+                  installed in a compiler-specific directory])])
+ 
++AC_ARG_ENABLE([poison-system-directories],
++             AS_HELP_STRING([--enable-poison-system-directories],
++                            [warn for use of native system header directories]),,
++             [enable_poison_system_directories=no])
++if test "x${enable_poison_system_directories}" = "xyes"; then
++  AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
++           [1],
++           [Define to warn for use of native system header directories])
++fi
++
+ # Substitute configuration variables
+ AC_SUBST(subdirs)
+ AC_SUBST(srcdir)
+diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
+index 99fd97404e1..001868e1509 100644
+--- a/gcc/doc/invoke.texi
++++ b/gcc/doc/invoke.texi
+@@ -330,6 +330,7 @@ Objective-C and Objective-C++ Dialects}.
+ -Wpacked  -Wpacked-bitfield-compat -Wpacked-not-aligned  -Wpadded @gol
+ -Wparentheses  -Wno-pedantic-ms-format @gol
+ -Wplacement-new  -Wplacement-new=@var{n} @gol
++-Wno-poison-system-directories @gol
+ -Wpointer-arith  -Wpointer-compare  -Wno-pointer-to-int-cast @gol
+ -Wno-pragmas  -Wno-prio-ctor-dtor  -Wredundant-decls @gol
+ -Wrestrict  -Wno-return-local-addr @gol
+@@ -6254,6 +6255,14 @@ made up of data only and thus requires no special treatment.  But, for
+ most targets, it is made up of code and thus requires the stack to be
+ made executable in order for the program to work properly.
+ 
++@item -Wno-poison-system-directories
++@opindex Wno-poison-system-directories
++Do not warn for @option{-I} or @option{-L} options using system
++directories such as @file{/usr/include} when cross compiling.  This
++option is intended for use in chroot environments when such
++directories contain the correct headers and libraries for the target
++system rather than the host.
++
+ @item -Wfloat-equal
+ @opindex Wfloat-equal
+ @opindex Wno-float-equal
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index 797ed36616f..79c38d858d1 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -1042,6 +1042,8 @@ proper position among the other output files.  */
+    "%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
+    "%X %{o*} %{e*} %{N} %{n} %{r}\
+     %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \
++    %{Wno-poison-system-directories:--no-poison-system-directories} \
++    %{Werror=poison-system-directories:--error-poison-system-directories} \
+     %{static|no-pie|static-pie:} %@{L*} %(mfwrap) %(link_libgcc) " \
+     VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o "" \
+     %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\
+diff --git a/gcc/incpath.c b/gcc/incpath.c
+index bcbe2082905..5752298bbf2 100644
+--- a/gcc/incpath.c
++++ b/gcc/incpath.c
+@@ -26,6 +26,7 @@
+ #include "intl.h"
+ #include "incpath.h"
+ #include "cppdefault.h"
++#include "diagnostic-core.h"
+ 
+ /* Microsoft Windows does not natively support inodes.
+    VMS has non-numeric inodes.  */
+@@ -393,6 +394,26 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose)
+ 	}
+       fprintf (stderr, _("End of search list.\n"));
+     }
++
++#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
++  if (flag_poison_system_directories)
++    {
++       struct cpp_dir *p;
++
++       for (p = heads[INC_QUOTE]; p; p = p->next)
++         {
++          if ((!strncmp (p->name, "/usr/include", 12))
++              || (!strncmp (p->name, "/usr/local/include", 18))
++              || (!strncmp (p->name, "/usr/X11R6/include", 18))
++              || (!strncmp (p->name, "/sw/include", 11))
++              || (!strncmp (p->name, "/opt/include", 12)))
++            warning (OPT_Wpoison_system_directories,
++                     "include location \"%s\" is unsafe for "
++                     "cross-compilation",
++                     p->name);
++         }
++    }
++#endif
+ }
+ 
+ /* Use given -I paths for #include "..." but not #include <...>, and
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
new file mode 100644
index 0000000..916c374
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
@@ -0,0 +1,73 @@
+From 320352cc741c89f1a9b2ee7929193d255e65f27a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:08:31 +0400
+Subject: [PATCH 03/37] gcc-4.3.3: SYSROOT_CFLAGS_FOR_TARGET
+
+Before committing, I noticed that PR/32161 was marked as a dup of PR/32009, but my previous patch did not fix it.
+
+This alternative patch is better because it lets you just use CFLAGS_FOR_TARGET to set the compilation flags for libgcc. Since bootstrapped target libraries are never compiled with the native compiler, it makes little sense to use different flags for stage1 and later stages. And it also makes little sense to use a different variable than CFLAGS_FOR_TARGET.
+
+Other changes I had to do include:
+
+- moving the creation of default CFLAGS_FOR_TARGET from Makefile.am to configure.ac, because otherwise the BOOT_CFLAGS are substituted into CFLAGS_FOR_TARGET (which is "-O2 -g $(CFLAGS)") via $(CFLAGS). It is also cleaner this way though.
+
+- passing the right CFLAGS to configure scripts as exported environment variables
+
+I also stopped passing LIBCFLAGS to configure scripts since they are unused in the whole src tree. And I updated the documentation as H-P reminded me to do.
+
+Bootstrapped/regtested i686-pc-linux-gnu, will commit to 4.4 shortly. Ok for 4.3?
+
+Signed-off-by: Paolo Bonzini  <bonzini@gnu.org>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ configure | 32 ++++++++++++++++++++++++++++++++
+ 1 file changed, 32 insertions(+)
+
+diff --git a/configure b/configure
+index 8a04eea4c71..3b0eed74847 100755
+--- a/configure
++++ b/configure
+@@ -6863,6 +6863,38 @@ fi
+ 
+ 
+ 
++# During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
++# might be empty or "-g".  We don't require a C++ compiler, so CXXFLAGS
++# might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
++# We want to ensure that TARGET libraries (which we know are built with
++# gcc) are built with "-O2 -g", so include those options when setting
++# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
++if test "x$CFLAGS_FOR_TARGET" = x; then
++  CFLAGS_FOR_TARGET=$CFLAGS
++  case " $CFLAGS " in
++    *" -O2 "*) ;;
++    *) CFLAGS_FOR_TARGET="-O2 $CFLAGS" ;;
++  esac
++  case " $CFLAGS " in
++    *" -g "* | *" -g3 "*) ;;
++    *) CFLAGS_FOR_TARGET="-g $CFLAGS" ;;
++  esac
++fi
++
++
++if test "x$CXXFLAGS_FOR_TARGET" = x; then
++  CXXFLAGS_FOR_TARGET=$CXXFLAGS
++  case " $CXXFLAGS " in
++    *" -O2 "*) ;;
++    *) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS" ;;
++  esac
++  case " $CXXFLAGS " in
++    *" -g "* | *" -g3 "*) ;;
++    *) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS" ;;
++  esac
++fi
++
++
+ # Handle --with-headers=XXX.  If the value is not "yes", the contents of
+ # the named directory are copied to $(tooldir)/sys-include.
+ if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0004-64-bit-multilib-hack.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0004-64-bit-multilib-hack.patch
new file mode 100644
index 0000000..137261b
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0004-64-bit-multilib-hack.patch
@@ -0,0 +1,119 @@
+From 150d946082b3e21614d1cd0eb4752871495fe519 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:10:06 +0400
+Subject: [PATCH 04/37] 64-bit multilib hack.
+
+GCC has internal multilib handling code but it assumes a very specific rigid directory
+layout. The build system implementation of multilib layout is very generic and allows
+complete customisation of the library directories.
+
+This patch is a partial solution to allow any custom directories to be passed into gcc
+and handled correctly. It forces gcc to use the base_libdir (which is the current
+directory, "."). We need to do this for each multilib that is configured as we don't
+know which compiler options may be being passed into the compiler. Since we have a compiler
+per mulitlib at this point that isn't an issue.
+
+The one problem is the target compiler is only going to work for the default multlilib at
+this point. Ideally we'd figure out which multilibs were being enabled with which paths
+and be able to patch these entries with a complete set of correct paths but this we
+don't have such code at this point. This is something the target gcc recipe should do
+and override these platform defaults in its build config.
+
+Do same for riscv64 and aarch64
+
+RP 15/8/11
+
+Upstream-Status: Inappropriate[OE-Specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+---
+ gcc/config/aarch64/t-aarch64-linux |  8 ++++----
+ gcc/config/i386/t-linux64          |  6 ++----
+ gcc/config/mips/t-linux64          | 10 +++-------
+ gcc/config/riscv/t-linux           |  6 ++++--
+ gcc/config/rs6000/t-linux64        |  5 ++---
+ 5 files changed, 15 insertions(+), 20 deletions(-)
+
+diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux
+index 5ad670ba2ce..e26019e7157 100644
+--- a/gcc/config/aarch64/t-aarch64-linux
++++ b/gcc/config/aarch64/t-aarch64-linux
+@@ -21,8 +21,8 @@
+ LIB1ASMSRC   = aarch64/lib1funcs.asm
+ LIB1ASMFUNCS = _aarch64_sync_cache_range
+ 
+-AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be)
+-MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
+-MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
++#AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be)
++#MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
++#MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
+ 
+-MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
++#MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
+diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64
+index c686ab2f0d2..c82b60dadcd 100644
+--- a/gcc/config/i386/t-linux64
++++ b/gcc/config/i386/t-linux64
+@@ -32,7 +32,5 @@
+ #
+ comma=,
+ MULTILIB_OPTIONS    = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
+-MULTILIB_DIRNAMES   = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
+-MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
+-MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu)
+-MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
++MULTILIB_DIRNAMES = . .
++MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
+diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64
+index 3a2ff700d7d..13ef19576b5 100644
+--- a/gcc/config/mips/t-linux64
++++ b/gcc/config/mips/t-linux64
+@@ -17,10 +17,6 @@
+ # <http://www.gnu.org/licenses/>.
+ 
+ MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64
+-MULTILIB_DIRNAMES = n32 32 64
+-MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el)
+-MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft)
+-MULTILIB_OSDIRNAMES = \
+-	../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
+-	../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
+-	../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
++MULTILIB_DIRNAMES = . . .
++MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
++
+diff --git a/gcc/config/riscv/t-linux b/gcc/config/riscv/t-linux
+index 216d2776a18..e4d817621fc 100644
+--- a/gcc/config/riscv/t-linux
++++ b/gcc/config/riscv/t-linux
+@@ -1,3 +1,5 @@
+ # Only XLEN and ABI affect Linux multilib dir names, e.g. /lib32/ilp32d/
+-MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES)))
+-MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES))
++#MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES)))
++MULTILIB_DIRNAMES := . .
++#MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES))
++MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
+diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
+index f3c6e2be1d9..bd0393155fa 100644
+--- a/gcc/config/rs6000/t-linux64
++++ b/gcc/config/rs6000/t-linux64
+@@ -26,10 +26,9 @@
+ # MULTILIB_OSDIRNAMES according to what is found on the target.
+ 
+ MULTILIB_OPTIONS    := m64/m32
+-MULTILIB_DIRNAMES   := 64 32
++MULTILIB_DIRNAMES   := . .
+ MULTILIB_EXTRA_OPTS := 
+-MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
+-MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
++MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
+ 
+ rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
+ 	$(COMPILE) $<
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0005-optional-libstdc.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0005-optional-libstdc.patch
new file mode 100644
index 0000000..d8e970a
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0005-optional-libstdc.patch
@@ -0,0 +1,125 @@
+From a3323ea74f0793b35af4a4cdbe5e99fe21e4816b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:12:56 +0400
+Subject: [PATCH 05/37] optional libstdc
+
+gcc-runtime builds libstdc++ separately from gcc-cross-*. Its configure tests using g++
+will not run correctly since by default the linker will try to link against libstdc++
+which shouldn't exist yet. We need an option to disable -lstdc++
+option whilst leaving -lc, -lgcc and other automatic library dependencies added by gcc
+driver. This patch adds such an option which only disables the -lstdc++.
+
+A "standard" gcc build uses xgcc and hence avoids this. We should ask upstream how to
+do this officially, the likely answer is don't build libstdc++ separately.
+
+RP 29/6/10
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Inappropriate [embedded specific]
+---
+ gcc/c-family/c.opt  |  4 ++++
+ gcc/cp/g++spec.c    |  1 +
+ gcc/doc/invoke.texi | 32 +++++++++++++++++++++++++++++++-
+ gcc/gcc.c           |  1 +
+ 4 files changed, 37 insertions(+), 1 deletion(-)
+
+diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
+index 88c72c51c21..a7029592aa3 100644
+--- a/gcc/c-family/c.opt
++++ b/gcc/c-family/c.opt
+@@ -1948,6 +1948,10 @@ nostdinc++
+ C++ ObjC++
+ Do not search standard system include directories for C++.
+ 
++nostdlib++
++Driver
++Do not link standard C++ runtime library
++
+ o
+ C ObjC C++ ObjC++ Joined Separate
+ ; Documented in common.opt
+diff --git a/gcc/cp/g++spec.c b/gcc/cp/g++spec.c
+index 6c4574a837d..0e2657f00ee 100644
+--- a/gcc/cp/g++spec.c
++++ b/gcc/cp/g++spec.c
+@@ -137,6 +137,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
+       switch (decoded_options[i].opt_index)
+ 	{
+ 	case OPT_nostdlib:
++	case OPT_nostdlib__:
+ 	case OPT_nodefaultlibs:
+ 	  library = -1;
+ 	  break;
+diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
+index 001868e1509..4186c2616ab 100644
+--- a/gcc/doc/invoke.texi
++++ b/gcc/doc/invoke.texi
+@@ -226,6 +226,9 @@ in the following sections.
+ -fno-weak  -nostdinc++ @gol
+ -fvisibility-inlines-hidden @gol
+ -fvisibility-ms-compat @gol
++-fvtable-verify=@r{[}std@r{|}preinit@r{|}none@r{]} @gol
++-fvtv-counts -fvtv-debug @gol
++-nostdlib++ @gol
+ -fext-numeric-literals @gol
+ -Wabi=@var{n}  -Wabi-tag  -Wconversion-null  -Wctor-dtor-privacy @gol
+ -Wdelete-non-virtual-dtor  -Wdeprecated-copy  -Wdeprecated-copy-dtor @gol
+@@ -536,7 +539,7 @@ Objective-C and Objective-C++ Dialects}.
+ -pie  -pthread  -r  -rdynamic @gol
+ -s  -static  -static-pie  -static-libgcc  -static-libstdc++ @gol
+ -static-libasan  -static-libtsan  -static-liblsan  -static-libubsan @gol
+--shared  -shared-libgcc  -symbolic @gol
++-shared  -shared-libgcc  -symbolic -nostdlib++ @gol
+ -T @var{script}  -Wl,@var{option}  -Xlinker @var{option} @gol
+ -u @var{symbol}  -z @var{keyword}}
+ 
+@@ -13259,6 +13262,33 @@ Specify that the program entry point is @var{entry}.  The argument is
+ interpreted by the linker; the GNU linker accepts either a symbol name
+ or an address.
+ 
++@item -nostdlib++
++@opindex nostdlib++
++Do not use the standard system C++ runtime libraries when linking.
++Only the libraries you specify will be passed to the linker.
++
++@cindex @option{-lgcc}, use with @option{-nostdlib}
++@cindex @option{-nostdlib} and unresolved references
++@cindex unresolved references and @option{-nostdlib}
++@cindex @option{-lgcc}, use with @option{-nodefaultlibs}
++@cindex @option{-nodefaultlibs} and unresolved references
++@cindex unresolved references and @option{-nodefaultlibs}
++One of the standard libraries bypassed by @option{-nostdlib} and
++@option{-nodefaultlibs} is @file{libgcc.a}, a library of internal subroutines
++which GCC uses to overcome shortcomings of particular machines, or special
++needs for some languages.
++(@xref{Interface,,Interfacing to GCC Output,gccint,GNU Compiler
++Collection (GCC) Internals},
++for more discussion of @file{libgcc.a}.)
++In most cases, you need @file{libgcc.a} even when you want to avoid
++other standard libraries.  In other words, when you specify @option{-nostdlib}
++or @option{-nodefaultlibs} you should usually specify @option{-lgcc} as well.
++This ensures that you have no unresolved references to internal GCC
++library subroutines.
++(An example of such an internal subroutine is @code{__main}, used to ensure C++
++constructors are called; @pxref{Collect2,,@code{collect2}, gccint,
++GNU Compiler Collection (GCC) Internals}.)
++
+ @item -pie
+ @opindex pie
+ Produce a dynamically linked position independent executable on targets
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index 79c38d858d1..308872aef5f 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -1052,6 +1052,7 @@ proper position among the other output files.  */
+     %(mflib) " STACK_SPLIT_SPEC "\
+     %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} " SANITIZER_SPEC " \
+     %{!nostdlib:%{!r:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}}\
++    %{!nostdlib++:}\
+     %{!nostdlib:%{!r:%{!nostartfiles:%E}}} %{T*}  \n%(post_link) }}}}}}"
+ #endif
+ 
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch
new file mode 100644
index 0000000..4a552d5
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch
@@ -0,0 +1,59 @@
+From ca3b3ac12d9b6e1065333dec89e7be2c733509d9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:14:20 +0400
+Subject: [PATCH 06/37] gcc: disable MASK_RELAX_PIC_CALLS bit
+
+The new feature added after 4.3.3
+"http://www.pubbs.net/200909/gcc/94048-patch-add-support-for-rmipsjalr.html"
+will cause cc1plus eat up all the system memory when build webkit-gtk.
+The function mips_get_pic_call_symbol keeps on recursively calling itself.
+Disable this feature to walk aside the bug.
+
+Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Inappropriate [configuration]
+---
+ gcc/configure    | 7 -------
+ gcc/configure.ac | 7 -------
+ 2 files changed, 14 deletions(-)
+
+diff --git a/gcc/configure b/gcc/configure
+index 2e08396622e..d36cb51bc2c 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -27509,13 +27509,6 @@ $as_echo_n "checking assembler and linker for explicit JALR relocation... " >&6;
+         rm -f conftest.*
+       fi
+     fi
+-    if test $gcc_cv_as_ld_jalr_reloc = yes; then
+-      if test x$target_cpu_default = x; then
+-        target_cpu_default=MASK_RELAX_PIC_CALLS
+-      else
+-        target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS"
+-      fi
+-    fi
+     { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_ld_jalr_reloc" >&5
+ $as_echo "$gcc_cv_as_ld_jalr_reloc" >&6; }
+ 
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index 7d34911573e..dfa88c35f3f 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -4816,13 +4816,6 @@ x:
+         rm -f conftest.*
+       fi
+     fi
+-    if test $gcc_cv_as_ld_jalr_reloc = yes; then
+-      if test x$target_cpu_default = x; then
+-        target_cpu_default=MASK_RELAX_PIC_CALLS
+-      else
+-        target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS"
+-      fi
+-    fi
+     AC_MSG_RESULT($gcc_cv_as_ld_jalr_reloc)
+ 
+     AC_CACHE_CHECK([linker for .eh_frame personality relaxation],
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0007-COLLECT_GCC_OPTIONS.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0007-COLLECT_GCC_OPTIONS.patch
new file mode 100644
index 0000000..a522ada
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0007-COLLECT_GCC_OPTIONS.patch
@@ -0,0 +1,38 @@
+From c7b8c2a6e81daaa50047c336c8ee90086aa4d4d5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:16:28 +0400
+Subject: [PATCH 07/37] COLLECT_GCC_OPTIONS
+
+This patch adds --sysroot into COLLECT_GCC_OPTIONS which is used to
+invoke collect2.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ gcc/gcc.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index 308872aef5f..30845e5b125 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -4804,6 +4804,15 @@ set_collect_gcc_options (void)
+ 		sizeof ("COLLECT_GCC_OPTIONS=") - 1);
+ 
+   first_time = TRUE;
++#ifdef HAVE_LD_SYSROOT
++  if (target_system_root_changed && target_system_root)
++    {
++      obstack_grow (&collect_obstack, "'--sysroot=", sizeof("'--sysroot=")-1);
++      obstack_grow (&collect_obstack, target_system_root,strlen(target_system_root));
++      obstack_grow (&collect_obstack, "'", 1);
++      first_time = FALSE;
++    }
++#endif
+   for (i = 0; (int) i < n_switches; i++)
+     {
+       const char *const *args;
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
new file mode 100644
index 0000000..2ef94a0
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
@@ -0,0 +1,96 @@
+From 2f65b8bbf9c7c4bc0b94bb7ba9f6a8eb8675c9ab Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:17:25 +0400
+Subject: [PATCH 08/37] Use the defaults.h in ${B} instead of ${S}, and t-oe in
+ ${B}
+
+Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B}, so that
+the source can be shared between gcc-cross-initial,
+gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+
+While compiling gcc-crosssdk-initial-x86_64 on some host, there is
+occasionally failure that test the existance of default.h doesn't
+work, the reason is tm_include_list='** defaults.h' rather than
+tm_include_list='** ./defaults.h'
+
+So we add the test condition for this situation.
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ gcc/Makefile.in  | 2 +-
+ gcc/configure    | 4 ++--
+ gcc/configure.ac | 4 ++--
+ gcc/mkconfig.sh  | 4 ++--
+ 4 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/gcc/Makefile.in b/gcc/Makefile.in
+index 508c674cbdc..3ccff1614bb 100644
+--- a/gcc/Makefile.in
++++ b/gcc/Makefile.in
+@@ -540,7 +540,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@
+ TARGET_SYSTEM_ROOT_DEFINE = @TARGET_SYSTEM_ROOT_DEFINE@
+ 
+ xmake_file=@xmake_file@
+-tmake_file=@tmake_file@
++tmake_file=@tmake_file@ ./t-oe
+ TM_ENDIAN_CONFIG=@TM_ENDIAN_CONFIG@
+ TM_MULTILIB_CONFIG=@TM_MULTILIB_CONFIG@
+ TM_MULTILIB_EXCEPTIONS_CONFIG=@TM_MULTILIB_EXCEPTIONS_CONFIG@
+diff --git a/gcc/configure b/gcc/configure
+index d36cb51bc2c..7acc7e487b0 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -12341,8 +12341,8 @@ for f in $tm_file; do
+        tm_include_list="${tm_include_list} $f"
+        ;;
+     defaults.h )
+-       tm_file_list="${tm_file_list} \$(srcdir)/$f"
+-       tm_include_list="${tm_include_list} $f"
++       tm_file_list="${tm_file_list} ./$f"
++       tm_include_list="${tm_include_list} ./$f"
+        ;;
+     * )
+        tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index dfa88c35f3f..f5d5e5c16a8 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -1968,8 +1968,8 @@ for f in $tm_file; do
+        tm_include_list="${tm_include_list} $f"
+        ;;
+     defaults.h )
+-       tm_file_list="${tm_file_list} \$(srcdir)/$f"
+-       tm_include_list="${tm_include_list} $f"
++       tm_file_list="${tm_file_list} ./$f"
++       tm_include_list="${tm_include_list} ./$f"
+        ;;
+     * )
+        tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
+diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh
+index 308b87d0cc1..19068cbc24a 100644
+--- a/gcc/mkconfig.sh
++++ b/gcc/mkconfig.sh
+@@ -77,7 +77,7 @@ if [ -n "$HEADERS" ]; then
+     if [ $# -ge 1 ]; then
+ 	echo '#ifdef IN_GCC' >> ${output}T
+ 	for file in "$@"; do
+-	    if test x"$file" = x"defaults.h"; then
++	    if test x"$file" = x"./defaults.h" -o x"$file" = x"defaults.h"; then
+ 		postpone_defaults_h="yes"
+ 	    else
+ 		echo "# include \"$file\"" >> ${output}T
+@@ -106,7 +106,7 @@ esac
+ 
+ # If we postponed including defaults.h, add the #include now.
+ if test x"$postpone_defaults_h" = x"yes"; then
+-    echo "# include \"defaults.h\"" >> ${output}T
++    echo "# include \"./defaults.h\"" >> ${output}T
+ fi
+ 
+ # Add multiple inclusion protection guard, part two.
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0009-fortran-cross-compile-hack.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0009-fortran-cross-compile-hack.patch
new file mode 100644
index 0000000..7959714
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0009-fortran-cross-compile-hack.patch
@@ -0,0 +1,46 @@
+From eda94df7d2389b6c36428e5687d5f0722d3375c3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:20:01 +0400
+Subject: [PATCH 09/37] fortran cross-compile hack.
+
+* Fortran would have searched for arm-angstrom-gnueabi-gfortran but would have used
+used gfortan. For gcc_4.2.2.bb we want to use the gfortran compiler from our cross
+directory.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Inappropriate [embedded specific]
+---
+ libgfortran/configure    | 2 +-
+ libgfortran/configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libgfortran/configure b/libgfortran/configure
+index 487d8c090e2..a02b49293ac 100755
+--- a/libgfortran/configure
++++ b/libgfortran/configure
+@@ -13056,7 +13056,7 @@ esac
+ 
+ # We need gfortran to compile parts of the library
+ #AC_PROG_FC(gfortran)
+-FC="$GFORTRAN"
++#FC="$GFORTRAN"
+ ac_ext=${ac_fc_srcext-f}
+ ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
+ ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
+diff --git a/libgfortran/configure.ac b/libgfortran/configure.ac
+index c06db7b1a78..5b4b1b7f1f2 100644
+--- a/libgfortran/configure.ac
++++ b/libgfortran/configure.ac
+@@ -250,7 +250,7 @@ AC_SUBST(enable_static)
+ 
+ # We need gfortran to compile parts of the library
+ #AC_PROG_FC(gfortran)
+-FC="$GFORTRAN"
++#FC="$GFORTRAN"
+ AC_PROG_FC(gfortran)
+ 
+ # extra LD Flags which are required for targets
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0010-cpp-honor-sysroot.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0010-cpp-honor-sysroot.patch
new file mode 100644
index 0000000..b680e6f
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0010-cpp-honor-sysroot.patch
@@ -0,0 +1,54 @@
+From c2ec131f19d656fd916c45f51186633c789db6e9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:22:00 +0400
+Subject: [PATCH 10/37] cpp: honor sysroot.
+
+Currently, if the gcc toolchain is relocated and installed from sstate, then you try and compile
+preprocessed source (.i or .ii files), the compiler will try and access the builtin sysroot location
+rather than the --sysroot option specified on the commandline. If access to that directory is
+permission denied (unreadable), gcc will error.
+
+This happens when ccache is in use due to the fact it uses preprocessed source files.
+
+The fix below adds %I to the cpp-output spec macro so the default substitutions for -iprefix,
+-isystem, -isysroot happen and the correct sysroot is used.
+
+[YOCTO #2074]
+
+RP 2012/04/13
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ gcc/cp/lang-specs.h | 2 +-
+ gcc/gcc.c           | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h
+index c6e42eda283..e1ddf066467 100644
+--- a/gcc/cp/lang-specs.h
++++ b/gcc/cp/lang-specs.h
+@@ -66,5 +66,5 @@ along with GCC; see the file COPYING3.  If not see
+   {".ii", "@c++-cpp-output", 0, 0, 0},
+   {"@c++-cpp-output",
+       "%{!E:%{!M:%{!MM:"
+-      "  cc1plus -fpreprocessed %i %(cc1_options) %2"
++      "  cc1plus -fpreprocessed %i %I %(cc1_options) %2"
+       "  %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index 30845e5b125..cef26c454d7 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -1349,7 +1349,7 @@ static const struct compiler default_compilers[] =
+ 					   %W{o*:--output-pch=%*}}%V}}}}}}}", 0, 0, 0},
+   {".i", "@cpp-output", 0, 0, 0},
+   {"@cpp-output",
+-   "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
++   "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %I %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
+   {".s", "@assembler", 0, 0, 0},
+   {"@assembler",
+    "%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0, 0, 0},
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0011-MIPS64-Default-to-N64-ABI.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0011-MIPS64-Default-to-N64-ABI.patch
new file mode 100644
index 0000000..d59a31b
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0011-MIPS64-Default-to-N64-ABI.patch
@@ -0,0 +1,57 @@
+From 52b915732de89d8676868641af462df81211bb39 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:23:08 +0400
+Subject: [PATCH 11/37] MIPS64: Default to N64 ABI
+
+MIPS64 defaults to n32 ABI, this patch makes it
+so that it defaults to N64 ABI
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Inappropriate [OE config specific]
+---
+ gcc/config.gcc | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/gcc/config.gcc b/gcc/config.gcc
+index a189cb19f63..293ed8d585d 100644
+--- a/gcc/config.gcc
++++ b/gcc/config.gcc
+@@ -2267,29 +2267,29 @@ mips*-*-linux*)				# Linux MIPS, either endian.
+ 			default_mips_arch=mips32
+ 			;;
+ 		mips64el-st-linux-gnu)
+-			default_mips_abi=n32
++			default_mips_abi=64
+ 			tm_file="${tm_file} mips/st.h"
+ 			tmake_file="${tmake_file} mips/t-st"
+ 			enable_mips_multilibs="yes"
+ 			;;
+ 		mips64octeon*-*-linux*)
+-			default_mips_abi=n32
++			default_mips_abi=64
+ 			tm_defines="${tm_defines} MIPS_CPU_STRING_DEFAULT=\\\"octeon\\\""
+ 			target_cpu_default=MASK_SOFT_FLOAT_ABI
+ 			enable_mips_multilibs="yes"
+ 			;;
+ 		mipsisa64r6*-*-linux*)
+-			default_mips_abi=n32
++			default_mips_abi=64
+ 			default_mips_arch=mips64r6
+ 			enable_mips_multilibs="yes"
+ 			;;
+ 		mipsisa64r2*-*-linux*)
+-			default_mips_abi=n32
++			default_mips_abi=64
+ 			default_mips_arch=mips64r2
+ 			enable_mips_multilibs="yes"
+ 			;;
+ 		mips64*-*-linux* | mipsisa64*-*-linux*)
+-			default_mips_abi=n32
++			default_mips_abi=64
+ 			enable_mips_multilibs="yes"
+ 			;;
+ 	esac
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
new file mode 100644
index 0000000..f23a314
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
@@ -0,0 +1,232 @@
+From 492f008dce784749e39e1c396aeea6fa1d977374 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:24:50 +0400
+Subject: [PATCH 12/37] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER
+ relative to SYSTEMLIBS_DIR
+
+This patch defines GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER
+relative to SYSTEMLIBS_DIR which can be set in generated headers
+This breaks the assumption of hardcoded multilib in gcc
+Change is only for the supported architectures in OE including
+SH, sparc, alpha for possible future support (if any)
+
+Removes the do_headerfix task in metadata
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Inappropriate [OE configuration]
+---
+ gcc/config/alpha/linux-elf.h |  4 ++--
+ gcc/config/arm/linux-eabi.h  |  4 ++--
+ gcc/config/arm/linux-elf.h   |  2 +-
+ gcc/config/i386/linux.h      |  2 +-
+ gcc/config/i386/linux64.h    |  6 +++---
+ gcc/config/linux.h           |  8 ++++----
+ gcc/config/mips/linux.h      | 12 ++++++------
+ gcc/config/rs6000/linux64.h  | 15 +++++----------
+ gcc/config/sh/linux.h        |  2 +-
+ gcc/config/sparc/linux.h     |  2 +-
+ gcc/config/sparc/linux64.h   |  4 ++--
+ 11 files changed, 28 insertions(+), 33 deletions(-)
+
+diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h
+index 824861befec..6afacce3292 100644
+--- a/gcc/config/alpha/linux-elf.h
++++ b/gcc/config/alpha/linux-elf.h
+@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3.  If not see
+ #define EXTRA_SPECS \
+ { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
+ 
+-#define GLIBC_DYNAMIC_LINKER	"/lib/ld-linux.so.2"
+-#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
++#define GLIBC_DYNAMIC_LINKER	SYSTEMLIBS_DIR "ld-linux.so.2"
++#define UCLIBC_DYNAMIC_LINKER  SYSTEMLIBS_DIR "ld-uClibc.so.0"
+ #if DEFAULT_LIBC == LIBC_UCLIBC
+ #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
+ #elif DEFAULT_LIBC == LIBC_GLIBC
+diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
+index 66ec0ea3980..e4ade2e2ab0 100644
+--- a/gcc/config/arm/linux-eabi.h
++++ b/gcc/config/arm/linux-eabi.h
+@@ -65,8 +65,8 @@
+    GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI.  */
+ 
+ #undef  GLIBC_DYNAMIC_LINKER
+-#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "/lib/ld-linux.so.3"
+-#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3"
++#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT SYSTEMLIBS_DIR "ld-linux.so.3"
++#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT SYSTEMLIBS_DIR "ld-linux-armhf.so.3"
+ #define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT
+ 
+ #define GLIBC_DYNAMIC_LINKER \
+diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
+index 9a360defd21..98f6e960b64 100644
+--- a/gcc/config/arm/linux-elf.h
++++ b/gcc/config/arm/linux-elf.h
+@@ -60,7 +60,7 @@
+ 
+ #define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc"
+ 
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
+ 
+ #define LINUX_TARGET_LINK_SPEC  "%{h*} \
+    %{static:-Bstatic} \
+diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h
+index 9a6e2d99896..31efbb73016 100644
+--- a/gcc/config/i386/linux.h
++++ b/gcc/config/i386/linux.h
+@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3.  If not see
+ <http://www.gnu.org/licenses/>.  */
+ 
+ #define GNU_USER_LINK_EMULATION "elf_i386"
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
+ 
+ #undef MUSL_DYNAMIC_LINKER
+ #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
+diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
+index c08221c4210..dbb474d792b 100644
+--- a/gcc/config/i386/linux64.h
++++ b/gcc/config/i386/linux64.h
+@@ -27,9 +27,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+ #define GNU_USER_LINK_EMULATION64 "elf_x86_64"
+ #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
+ 
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
+-#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
++#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux-x86-64.so.2"
++#define GLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-linux-x32.so.2"
+ 
+ #undef MUSL_DYNAMIC_LINKER32
+ #define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1"
+diff --git a/gcc/config/linux.h b/gcc/config/linux.h
+index c3c4a219e67..4b05d8e93d1 100644
+--- a/gcc/config/linux.h
++++ b/gcc/config/linux.h
+@@ -94,10 +94,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+    GLIBC_DYNAMIC_LINKER must be defined for each target using them, or
+    GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets
+    supporting both 32-bit and 64-bit compilation.  */
+-#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
+-#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
+-#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
+-#define UCLIBC_DYNAMIC_LINKERX32 "/lib/ldx32-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ldx32-uClibc.so.0"
+ #define BIONIC_DYNAMIC_LINKER "/system/bin/linker"
+ #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker"
+ #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64"
+diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h
+index 6f79ac9c01a..25de96f9561 100644
+--- a/gcc/config/mips/linux.h
++++ b/gcc/config/mips/linux.h
+@@ -22,20 +22,20 @@ along with GCC; see the file COPYING3.  If not see
+ #define GNU_USER_LINK_EMULATIONN32 "elf32%{EB:b}%{EL:l}tsmipn32"
+ 
+ #define GLIBC_DYNAMIC_LINKER32 \
+-  "%{mnan=2008:/lib/ld-linux-mipsn8.so.1;:/lib/ld.so.1}"
++  "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}"
+ #define GLIBC_DYNAMIC_LINKER64 \
+-  "%{mnan=2008:/lib64/ld-linux-mipsn8.so.1;:/lib64/ld.so.1}"
++  "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}"
+ #define GLIBC_DYNAMIC_LINKERN32 \
+-  "%{mnan=2008:/lib32/ld-linux-mipsn8.so.1;:/lib32/ld.so.1}"
++  "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}"
+ 
+ #undef UCLIBC_DYNAMIC_LINKER32
+ #define UCLIBC_DYNAMIC_LINKER32 \
+-  "%{mnan=2008:/lib/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0}"
++  "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}"
+ #undef UCLIBC_DYNAMIC_LINKER64
+ #define UCLIBC_DYNAMIC_LINKER64 \
+-  "%{mnan=2008:/lib/ld64-uClibc-mipsn8.so.0;:/lib/ld64-uClibc.so.0}"
++  "%{mnan=2008:" SYSTEMLIBS_DIR "ld64-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld64-uClibc.so.0}"
+ #define UCLIBC_DYNAMIC_LINKERN32 \
+-  "%{mnan=2008:/lib32/ld-uClibc-mipsn8.so.0;:/lib32/ld-uClibc.so.0}"
++  "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}"
+ 
+ #undef MUSL_DYNAMIC_LINKER32
+ #define MUSL_DYNAMIC_LINKER32 \
+diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
+index bcc540b5ff2..982ca274621 100644
+--- a/gcc/config/rs6000/linux64.h
++++ b/gcc/config/rs6000/linux64.h
+@@ -428,24 +428,19 @@ extern int dot_symbols;
+ #undef	LINK_OS_DEFAULT_SPEC
+ #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
+ 
+-#define GLIBC_DYNAMIC_LINKER32 "%(dynamic_linker_prefix)/lib/ld.so.1"
+-
++#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld.so.1"
+ #ifdef LINUX64_DEFAULT_ABI_ELFv2
+-#define GLIBC_DYNAMIC_LINKER64 \
+-"%{mabi=elfv1:%(dynamic_linker_prefix)/lib64/ld64.so.1;" \
+-":%(dynamic_linker_prefix)/lib64/ld64.so.2}"
++#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv1:" SYSTEMLIBS_DIR "ld64.so.1;:" SYSTEMLIBS_DIR "ld64.so.2}"
+ #else
+-#define GLIBC_DYNAMIC_LINKER64 \
+-"%{mabi=elfv2:%(dynamic_linker_prefix)/lib64/ld64.so.2;" \
+-":%(dynamic_linker_prefix)/lib64/ld64.so.1}"
++#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv2:" SYSTEMLIBS_DIR "ld64.so.2;:" SYSTEMLIBS_DIR "ld64.so.1}"
+ #endif
+ 
+ #undef MUSL_DYNAMIC_LINKER32
+ #define MUSL_DYNAMIC_LINKER32 \
+-  "/lib/ld-musl-powerpc" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
++  SYSTEMLIBS_DIR "ld-musl-powerpc" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
+ #undef MUSL_DYNAMIC_LINKER64
+ #define MUSL_DYNAMIC_LINKER64 \
+-  "/lib/ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
++  SYSTEMLIBS_DIR "ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
+ 
+ #undef  DEFAULT_ASM_ENDIAN
+ #if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN)
+diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h
+index c9897b7aca5..82f275319cc 100644
+--- a/gcc/config/sh/linux.h
++++ b/gcc/config/sh/linux.h
+@@ -64,7 +64,7 @@ along with GCC; see the file COPYING3.  If not see
+   "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E MUSL_DYNAMIC_LINKER_FP \
+   "%{mfdpic:-fdpic}.so.1"
+ 
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
+ 
+ #undef SUBTARGET_LINK_EMUL_SUFFIX
+ #define SUBTARGET_LINK_EMUL_SUFFIX "%{mfdpic:_fd;:_linux}"
+diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
+index 2db9ea2172e..1979cfff5d3 100644
+--- a/gcc/config/sparc/linux.h
++++ b/gcc/config/sparc/linux.h
+@@ -83,7 +83,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
+    When the -shared link option is used a final link is not being
+    done.  */
+ 
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
+ 
+ #undef  LINK_SPEC
+ #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
+diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h
+index 21e13001951..d39c38a531f 100644
+--- a/gcc/config/sparc/linux64.h
++++ b/gcc/config/sparc/linux64.h
+@@ -84,8 +84,8 @@ along with GCC; see the file COPYING3.  If not see
+    When the -shared link option is used a final link is not being
+    done.  */
+ 
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux.so.2"
+ 
+ #ifdef SPARC_BI_ARCH
+ 
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0013-gcc-Fix-argument-list-too-long-error.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0013-gcc-Fix-argument-list-too-long-error.patch
new file mode 100644
index 0000000..f853ff9
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0013-gcc-Fix-argument-list-too-long-error.patch
@@ -0,0 +1,40 @@
+From d8a24eca2d7a222d4910c8a508d75d0d1418e201 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:26:37 +0400
+Subject: [PATCH 13/37] gcc: Fix argument list too long error.
+
+There would be an "Argument list too long" error when the
+build directory is longer than 200, this is caused by:
+
+headers=`echo $(PLUGIN_HEADERS) | tr ' ' '\012' | sort -u`
+
+The PLUGIN_HEADERS is too long before sort, so the "echo" can't handle
+it, use the $(sort list) of GNU make which can handle the too long list
+would fix the problem, the header would be short enough after sorted.
+The "tr ' ' '\012'" was used for translating the space to "\n", the
+$(sort list) doesn't need this.
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ gcc/Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gcc/Makefile.in b/gcc/Makefile.in
+index 3ccff1614bb..88b1aec732b 100644
+--- a/gcc/Makefile.in
++++ b/gcc/Makefile.in
+@@ -3538,7 +3538,7 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype
+ # We keep the directory structure for files in config or c-family and .def
+ # files. All other files are flattened to a single directory.
+ 	$(mkinstalldirs) $(DESTDIR)$(plugin_includedir)
+-	headers=`echo $(PLUGIN_HEADERS) $$(cd $(srcdir); echo *.h *.def) | tr ' ' '\012' | sort -u`; \
++	headers="$(sort $(PLUGIN_HEADERS) $$(cd $(srcdir); echo *.h *.def))"; \
+ 	srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`; \
+ 	for file in $$headers; do \
+ 	  if [ -f $$file ] ; then \
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0014-Disable-sdt.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0014-Disable-sdt.patch
new file mode 100644
index 0000000..945cf8f
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0014-Disable-sdt.patch
@@ -0,0 +1,113 @@
+From d5e52580314ef6056ca701fcc030c7c884cb1d7f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:28:10 +0400
+Subject: [PATCH 14/37] Disable sdt.
+
+We don't list dtrace in DEPENDS so we shouldn't be depending on this header.
+It may or may not exist from preivous builds though. To be determinstic, disable
+sdt.h usage always. This avoids build failures if the header is removed after configure
+but before libgcc is compiled for example.
+
+RP 2012/8/7
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Disable sdt for libstdc++-v3.
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+
+Upstream-Status: Inappropriate [hack]
+---
+ gcc/configure             | 12 ++++++------
+ gcc/configure.ac          | 18 +++++++++---------
+ libstdc++-v3/configure    |  6 +++---
+ libstdc++-v3/configure.ac |  2 +-
+ 4 files changed, 19 insertions(+), 19 deletions(-)
+
+diff --git a/gcc/configure b/gcc/configure
+index 7acc7e487b0..6a87ab693ea 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -29292,12 +29292,12 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking sys/sdt.h in the target C library" >&5
+ $as_echo_n "checking sys/sdt.h in the target C library... " >&6; }
+ have_sys_sdt_h=no
+-if test -f $target_header_dir/sys/sdt.h; then
+-  have_sys_sdt_h=yes
+-
+-$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
+-
+-fi
++#if test -f $target_header_dir/sys/sdt.h; then
++#  have_sys_sdt_h=yes
++#
++#$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
++#
++#fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_sys_sdt_h" >&5
+ $as_echo "$have_sys_sdt_h" >&6; }
+ 
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index f5d5e5c16a8..a50765171be 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -5985,15 +5985,15 @@ fi
+ AC_SUBST([enable_default_ssp])
+ 
+ # Test for <sys/sdt.h> on the target.
+-GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H])
+-AC_MSG_CHECKING(sys/sdt.h in the target C library)
+-have_sys_sdt_h=no
+-if test -f $target_header_dir/sys/sdt.h; then
+-  have_sys_sdt_h=yes
+-  AC_DEFINE(HAVE_SYS_SDT_H, 1,
+-            [Define if your target C library provides sys/sdt.h])
+-fi
+-AC_MSG_RESULT($have_sys_sdt_h)
++#GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H])
++#AC_MSG_CHECKING(sys/sdt.h in the target C library)
++#have_sys_sdt_h=no
++#if test -f $target_header_dir/sys/sdt.h; then
++#  have_sys_sdt_h=yes
++#  AC_DEFINE(HAVE_SYS_SDT_H, 1,
++#            [Define if your target C library provides sys/sdt.h])
++#fi
++#AC_MSG_RESULT($have_sys_sdt_h)
+ 
+ # Check if TFmode long double should be used by default or not.
+ # Some glibc targets used DFmode long double, but with glibc 2.4
+diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
+index 15848e364ab..8d3da1cc526 100755
+--- a/libstdc++-v3/configure
++++ b/libstdc++-v3/configure
+@@ -22084,11 +22084,11 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ 
+-  if test $glibcxx_cv_sys_sdt_h = yes; then
++#  if test $glibcxx_cv_sys_sdt_h = yes; then
+ 
+-$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
++#$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
+ 
+-  fi
++#  fi
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_sys_sdt_h" >&5
+ $as_echo "$glibcxx_cv_sys_sdt_h" >&6; }
+ 
+diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
+index ad5b4117cfd..2341645ba6f 100644
+--- a/libstdc++-v3/configure.ac
++++ b/libstdc++-v3/configure.ac
+@@ -230,7 +230,7 @@ GLIBCXX_CHECK_SC_NPROCESSORS_ONLN
+ GLIBCXX_CHECK_SC_NPROC_ONLN
+ GLIBCXX_CHECK_PTHREADS_NUM_PROCESSORS_NP
+ GLIBCXX_CHECK_SYSCTL_HW_NCPU
+-GLIBCXX_CHECK_SDT_H
++#GLIBCXX_CHECK_SDT_H
+ 
+ # Check for available headers.
+ AC_CHECK_HEADERS([endian.h execinfo.h float.h fp.h ieeefp.h inttypes.h \
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0015-libtool.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0015-libtool.patch
new file mode 100644
index 0000000..764460b
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0015-libtool.patch
@@ -0,0 +1,42 @@
+From d7c605d92094c75dc2717d9dd830e525b2c8b0ff Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:29:11 +0400
+Subject: [PATCH 15/37] libtool
+
+libstdc++ from gcc-runtime gets created with -rpath=/usr/lib/../lib for qemux86-64
+when running on am x86_64 build host.
+
+This patch stops this speading to libdir in the libstdc++.la file within libtool.
+Arguably, it shouldn't be passing this into libtool in the first place but
+for now this resolves the nastiest problems this causes.
+
+func_normal_abspath would resolve an empty path to `pwd` so we need
+to filter the zero case.
+
+RP 2012/8/24
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ ltmain.sh | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/ltmain.sh b/ltmain.sh
+index 79f9ba89af5..8e222f7c16b 100644
+--- a/ltmain.sh
++++ b/ltmain.sh
+@@ -6359,6 +6359,10 @@ func_mode_link ()
+ 	func_warning "ignoring multiple \`-rpath's for a libtool library"
+ 
+       install_libdir="$1"
++      if test -n "$install_libdir"; then
++	func_normal_abspath "$install_libdir"
++	install_libdir=$func_normal_abspath_result
++      fi
+ 
+       oldlibs=
+       if test -z "$rpath"; then
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
new file mode 100644
index 0000000..398074b
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
@@ -0,0 +1,43 @@
+From c3addf8bc41190d46d98eb7690ff4583eebd5943 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:30:32 +0400
+Subject: [PATCH 16/37] gcc: armv4: pass fix-v4bx to linker to support EABI.
+
+The LINK_SPEC for linux gets overwritten by linux-eabi.h which
+means the value of TARGET_FIX_V4BX_SPEC gets lost and as a result
+the option is not passed to linker when chosing march=armv4
+This patch redefines this in linux-eabi.h and reinserts it
+for eabi defaulting toolchains.
+
+We might want to send it upstream.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ gcc/config/arm/linux-eabi.h | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
+index e4ade2e2ab0..108863f69d2 100644
+--- a/gcc/config/arm/linux-eabi.h
++++ b/gcc/config/arm/linux-eabi.h
+@@ -91,10 +91,14 @@
+ #define MUSL_DYNAMIC_LINKER \
+   "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1"
+ 
++/* For armv4 we pass --fix-v4bx to linker to support EABI */
++#undef TARGET_FIX_V4BX_SPEC
++#define TARGET_FIX_V4BX_SPEC "%{mcpu=arm8|mcpu=arm810|mcpu=strongarm*|march=armv4: --fix-v4bx}"
++
+ /* At this point, bpabi.h will have clobbered LINK_SPEC.  We want to
+    use the GNU/Linux version, not the generic BPABI version.  */
+ #undef  LINK_SPEC
+-#define LINK_SPEC EABI_LINK_SPEC					\
++#define LINK_SPEC TARGET_FIX_V4BX_SPEC EABI_LINK_SPEC			\
+   LINUX_OR_ANDROID_LD (LINUX_TARGET_LINK_SPEC,				\
+ 		       LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC)
+ 
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch
new file mode 100644
index 0000000..7d5c94a
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch
@@ -0,0 +1,102 @@
+From e1071f4e749586fcb3edcacf43d4dd44081d16ec Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:33:04 +0400
+Subject: [PATCH 17/37] Use the multilib config files from ${B} instead of
+ using the ones from ${S}
+
+Use the multilib config files from ${B} instead of using the ones from ${S}
+so that the source can be shared between gcc-cross-initial,
+gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
+
+Upstream-Status: Inappropriate [configuration]
+---
+ gcc/configure    | 22 ++++++++++++++++++----
+ gcc/configure.ac | 22 ++++++++++++++++++----
+ 2 files changed, 36 insertions(+), 8 deletions(-)
+
+diff --git a/gcc/configure b/gcc/configure
+index 6a87ab693ea..2e822caf66d 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -12321,10 +12321,20 @@ done
+ tmake_file_=
+ for f in ${tmake_file}
+ do
+-	if test -f ${srcdir}/config/$f
+-	then
+-		tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
+-	fi
++  case $f in
++    */t-linux64 )
++       if test -f ./config/$f
++       then
++         tmake_file_="${tmake_file_} ./config/$f"
++       fi
++       ;;
++    * )
++       if test -f ${srcdir}/config/$f
++       then
++         tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
++       fi
++       ;;
++  esac
+ done
+ tmake_file="${tmake_file_}"
+ 
+@@ -12335,6 +12345,10 @@ tm_file_list="options.h"
+ tm_include_list="options.h insn-constants.h"
+ for f in $tm_file; do
+   case $f in
++    */linux64.h )
++       tm_file_list="${tm_file_list} ./config/$f"
++       tm_include_list="${tm_include_list} ./config/$f"
++       ;;
+     ./* )
+        f=`echo $f | sed 's/^..//'`
+        tm_file_list="${tm_file_list} $f"
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index a50765171be..70e7bac78c4 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -1948,10 +1948,20 @@ done
+ tmake_file_=
+ for f in ${tmake_file}
+ do
+-	if test -f ${srcdir}/config/$f
+-	then
+-		tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
+-	fi
++  case $f in
++    */t-linux64 )
++       if test -f ./config/$f
++       then
++         tmake_file_="${tmake_file_} ./config/$f"
++       fi
++       ;;
++    * )
++       if test -f ${srcdir}/config/$f
++       then
++         tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
++       fi
++       ;;
++  esac
+ done
+ tmake_file="${tmake_file_}"
+ 
+@@ -1962,6 +1972,10 @@ tm_file_list="options.h"
+ tm_include_list="options.h insn-constants.h"
+ for f in $tm_file; do
+   case $f in
++    */linux64.h )
++       tm_file_list="${tm_file_list} ./config/$f"
++       tm_include_list="${tm_include_list} ./config/$f"
++       ;;
+     ./* )
+        f=`echo $f | sed 's/^..//'`
+        tm_file_list="${tm_file_list} $f"
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
new file mode 100644
index 0000000..596337b
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
@@ -0,0 +1,31 @@
+From 1ffbbb39c9848aa7a04da18fb79b1f0bd7731e00 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 20 Feb 2015 09:39:38 +0000
+Subject: [PATCH 18/37] Avoid using libdir from .la which usually points to a
+ host path
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Jonathan Liu <net147@gmail.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ltmain.sh | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/ltmain.sh b/ltmain.sh
+index 8e222f7c16b..0a93b4e5c3b 100644
+--- a/ltmain.sh
++++ b/ltmain.sh
+@@ -5628,6 +5628,9 @@ func_mode_link ()
+ 	    absdir="$abs_ladir"
+ 	    libdir="$abs_ladir"
+ 	  else
++	    # Instead of using libdir from .la which usually points to a host path,
++	    # use the path the .la is contained in.
++	    libdir="$abs_ladir"
+ 	    dir="$libdir"
+ 	    absdir="$libdir"
+ 	  fi
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0019-export-CPP.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0019-export-CPP.patch
new file mode 100644
index 0000000..50d17dd
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0019-export-CPP.patch
@@ -0,0 +1,53 @@
+From 5ece023b88eaba16d8744f8f2ff72345ec3b7f92 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 20 Feb 2015 09:40:59 +0000
+Subject: [PATCH 19/37] export CPP
+
+The OE environment sets and exports CPP as being the target gcc. When
+building gcc-cross-canadian for a mingw targetted sdk, the following can be found
+in build.x86_64-pokysdk-mingw32.i586-poky-linux/build-x86_64-linux/libiberty/config.log:
+
+configure:3641: checking for _FILE_OFFSET_BITS value needed for large files
+configure:3666: gcc  -c -isystem/media/build1/poky/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe  conftest.c >&5
+configure:3666: $? = 0
+configure:3698: result: no
+configure:3786: checking how to run the C preprocessor
+configure:3856: result: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32
+configure:3876: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32 conftest.c
+configure:3876: $? = 0
+
+Note this is a *build* target (in build-x86_64-linux) so it should be
+using the host "gcc", not x86_64-pokysdk-mingw32-gcc. Since the mingw32
+headers are very different, using the wrong cpp is a real problem. It is leaking
+into configure through the CPP variable. Ultimately this leads to build
+failures related to not being able to include a process.h file for pem-unix.c.
+
+The fix is to ensure we export a sane CPP value into the build
+environment when using build targets. We could define a CPP_FOR_BUILD value which may be
+the version which needs to be upstreamed but for now, this fix is good enough to
+avoid the problem.
+
+RP 22/08/2013
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile.in b/Makefile.in
+index 28539a45372..b21e0791f55 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -149,6 +149,7 @@ BUILD_EXPORTS = \
+ 	AR="$(AR_FOR_BUILD)"; export AR; \
+ 	AS="$(AS_FOR_BUILD)"; export AS; \
+ 	CC="$(CC_FOR_BUILD)"; export CC; \
++	CPP="$(CC_FOR_BUILD) -E"; export CPP; \
+ 	CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
+ 	CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ 	CXX="$(CXX_FOR_BUILD)"; export CXX; \
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0020-Ensure-target-gcc-headers-can-be-included.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0020-Ensure-target-gcc-headers-can-be-included.patch
new file mode 100644
index 0000000..f37c6f3
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0020-Ensure-target-gcc-headers-can-be-included.patch
@@ -0,0 +1,98 @@
+From 89f7a8e5c55b31bff011cd7466d78cd84d1eb307 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 20 Feb 2015 10:25:11 +0000
+Subject: [PATCH 20/37] Ensure target gcc headers can be included
+
+There are a few headers installed as part of the OpenEmbedded
+gcc-runtime target (omp.h, ssp/*.h). Being installed from a recipe
+built for the target architecture, these are within the target
+sysroot and not cross/nativesdk; thus they weren't able to be
+found by gcc with the existing search paths. Add support for
+picking up these headers under the sysroot supplied on the gcc
+command line in order to resolve this.
+
+Upstream-Status: Pending
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/Makefile.in  | 2 ++
+ gcc/cppdefault.c | 4 ++++
+ gcc/defaults.h   | 9 +++++++++
+ gcc/gcc.c        | 7 -------
+ 4 files changed, 15 insertions(+), 7 deletions(-)
+
+diff --git a/gcc/Makefile.in b/gcc/Makefile.in
+index 88b1aec732b..eb1dc304de2 100644
+--- a/gcc/Makefile.in
++++ b/gcc/Makefile.in
+@@ -618,6 +618,7 @@ libexecdir = @libexecdir@
+ 
+ # Directory in which the compiler finds libraries etc.
+ libsubdir = $(libdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
++libsubdir_target = gcc/$(target_noncanonical)/$(version)
+ # Directory in which the compiler finds executables
+ libexecsubdir = $(libexecdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
+ # Directory in which all plugin resources are installed
+@@ -2867,6 +2868,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localedir)\"
+ 
+ PREPROCESSOR_DEFINES = \
+   -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
++  -DGCC_INCLUDE_SUBDIR_TARGET=\"$(libsubdir_target)/include\" \
+   -DFIXED_INCLUDE_DIR=\"$(libsubdir)/include-fixed\" \
+   -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \
+   -DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \
+diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c
+index c4796385643..980e2bd47a7 100644
+--- a/gcc/cppdefault.c
++++ b/gcc/cppdefault.c
+@@ -59,6 +59,10 @@ const struct default_include cpp_include_defaults[]
+     /* This is the dir for gcc's private headers.  */
+     { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
+ #endif
++#ifdef GCC_INCLUDE_SUBDIR_TARGET
++    /* This is the dir for gcc's private headers under the specified sysroot.  */
++    { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0 },
++#endif
+ #ifdef LOCAL_INCLUDE_DIR
+     /* /usr/local/include comes before the fixincluded header files.  */
+     { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 },
+diff --git a/gcc/defaults.h b/gcc/defaults.h
+index b7534256119..41ca579b267 100644
+--- a/gcc/defaults.h
++++ b/gcc/defaults.h
+@@ -1459,4 +1459,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+ #define DWARF_GNAT_ENCODINGS_DEFAULT DWARF_GNAT_ENCODINGS_GDB
+ #endif
+ 
++/* Default prefixes to attach to command names.  */
++
++#ifndef STANDARD_STARTFILE_PREFIX_1
++#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
++#endif
++#ifndef STANDARD_STARTFILE_PREFIX_2
++#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
++#endif
++
+ #endif  /* ! GCC_DEFAULTS_H */
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index cef26c454d7..14b1a6e8c44 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -1470,13 +1470,6 @@ static const char *gcc_libexec_prefix;
+ 
+ /* Default prefixes to attach to command names.  */
+ 
+-#ifndef STANDARD_STARTFILE_PREFIX_1
+-#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
+-#endif
+-#ifndef STANDARD_STARTFILE_PREFIX_2
+-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
+-#endif
+-
+ #ifdef CROSS_DIRECTORY_STRUCTURE  /* Don't use these prefixes for a cross compiler.  */
+ #undef MD_EXEC_PREFIX
+ #undef MD_STARTFILE_PREFIX
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0021-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0021-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch
new file mode 100644
index 0000000..ef98572
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0021-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch
@@ -0,0 +1,54 @@
+From 2a1895aca3d9020d0d5ac74975221727384ef8a6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 20 Feb 2015 11:17:19 +0000
+Subject: [PATCH 21/37] gcc 4.8+ won't build with --disable-dependency-tracking
+
+since the *.Ppo files don't get created unless --enable-dependency-tracking is true.
+
+This patch ensures we only use those compiler options when its enabled.
+
+Upstream-Status: Submitted
+
+(Problem was already reported upstream, attached this patch there
+http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55930)
+
+RP
+2012/09/22
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libatomic/Makefile.am | 3 ++-
+ libatomic/Makefile.in | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am
+index c1b7c73934a..ef43d62c07a 100644
+--- a/libatomic/Makefile.am
++++ b/libatomic/Makefile.am
+@@ -101,7 +101,8 @@ PAT_S		= $(word 3,$(PAT_SPLIT))
+ IFUNC_DEF	= -DIFUNC_ALT=$(PAT_S)
+ IFUNC_OPT	= $(word $(PAT_S),$(IFUNC_OPTIONS))
+ 
+-M_DEPS		= -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
++@AMDEP_TRUE@M_DEPS		= -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
++@AMDEP_FALSE@M_DEPS		=
+ M_SIZE		= -DN=$(PAT_N)
+ M_IFUNC		= $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT))
+ M_FILE		= $(PAT_BASE)_n.c
+diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in
+index 29324e3e0ac..d5cdb4259ef 100644
+--- a/libatomic/Makefile.in
++++ b/libatomic/Makefile.in
+@@ -414,7 +414,8 @@ PAT_N = $(word 2,$(PAT_SPLIT))
+ PAT_S = $(word 3,$(PAT_SPLIT))
+ IFUNC_DEF = -DIFUNC_ALT=$(PAT_S)
+ IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS))
+-M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
++@AMDEP_TRUE@M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
++@AMDEP_FALSE@M_DEPS =
+ M_SIZE = -DN=$(PAT_N)
+ M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT))
+ M_FILE = $(PAT_BASE)_n.c
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0022-Don-t-search-host-directory-during-relink-if-inst_pr.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0022-Don-t-search-host-directory-during-relink-if-inst_pr.patch
new file mode 100644
index 0000000..8316c4d
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0022-Don-t-search-host-directory-during-relink-if-inst_pr.patch
@@ -0,0 +1,38 @@
+From 4b9f8cfbfb48a1a9781b7c3a9b867732ef37b7c5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 3 Mar 2015 08:21:19 +0000
+Subject: [PATCH 22/37] Don't search host directory during "relink" if
+ $inst_prefix is provided
+
+http://lists.gnu.org/archive/html/libtool-patches/2011-01/msg00026.html
+
+Upstream-Status: Submitted
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ltmain.sh | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/ltmain.sh b/ltmain.sh
+index 0a93b4e5c3b..6de6ed2f9a0 100644
+--- a/ltmain.sh
++++ b/ltmain.sh
+@@ -6004,12 +6004,13 @@ func_mode_link ()
+ 	      fi
+ 	    else
+ 	      # We cannot seem to hardcode it, guess we'll fake it.
++	      # Default if $libdir is not relative to the prefix:
+ 	      add_dir="-L$libdir"
+-	      # Try looking first in the location we're being installed to.
++
+ 	      if test -n "$inst_prefix_dir"; then
+ 		case $libdir in
+ 		  [\\/]*)
+-		    add_dir="$add_dir -L$inst_prefix_dir$libdir"
++		    add_dir="-L$inst_prefix_dir$libdir"
+ 		    ;;
+ 		esac
+ 	      fi
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0023-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0023-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch
new file mode 100644
index 0000000..fdea599
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0023-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch
@@ -0,0 +1,29 @@
+From 3a554b321250f6ddf1277e5559890ee977e78cb0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 Apr 2015 23:15:27 -0700
+Subject: [PATCH 23/37] Use SYSTEMLIBS_DIR replacement instead of hardcoding
+ base_libdir
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/config/aarch64/aarch64-linux.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
+index 9d0292d64f2..51661995fc7 100644
+--- a/gcc/config/aarch64/aarch64-linux.h
++++ b/gcc/config/aarch64/aarch64-linux.h
+@@ -21,7 +21,7 @@
+ #ifndef GCC_AARCH64_LINUX_H
+ #define GCC_AARCH64_LINUX_H
+ 
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
++#define GLIBC_DYNAMIC_LINKER  SYSTEMLIBS_DIR "ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
+ 
+ #undef MUSL_DYNAMIC_LINKER
+ #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0024-aarch64-Add-support-for-musl-ldso.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0024-aarch64-Add-support-for-musl-ldso.patch
new file mode 100644
index 0000000..f53c994
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0024-aarch64-Add-support-for-musl-ldso.patch
@@ -0,0 +1,28 @@
+From b7001034f35e7e5090fa95cb9a622469300cd45d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 Apr 2015 23:18:39 -0700
+Subject: [PATCH 24/37] aarch64: Add support for musl ldso
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/config/aarch64/aarch64-linux.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
+index 51661995fc7..db687f753f6 100644
+--- a/gcc/config/aarch64/aarch64-linux.h
++++ b/gcc/config/aarch64/aarch64-linux.h
+@@ -24,7 +24,7 @@
+ #define GLIBC_DYNAMIC_LINKER  SYSTEMLIBS_DIR "ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
+ 
+ #undef MUSL_DYNAMIC_LINKER
+-#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
++#define MUSL_DYNAMIC_LINKER  SYSTEMLIBS_DIR "ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
+ 
+ #undef  ASAN_CC1_SPEC
+ #define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}"
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0025-libcc1-fix-libcc1-s-install-path-and-rpath.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0025-libcc1-fix-libcc1-s-install-path-and-rpath.patch
new file mode 100644
index 0000000..7b80655
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0025-libcc1-fix-libcc1-s-install-path-and-rpath.patch
@@ -0,0 +1,54 @@
+From 4d05ea7a12d1ba4515220c5c16f71ac650219db6 Mon Sep 17 00:00:00 2001
+From: Robert Yang <liezhi.yang@windriver.com>
+Date: Sun, 5 Jul 2015 20:25:18 -0700
+Subject: [PATCH 25/37] libcc1: fix libcc1's install path and rpath
+
+* Install libcc1.so and libcc1plugin.so into
+  $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version), as what we
+  had done to lto-plugin.
+* Fix bad RPATH iussue:
+  gcc-5.2.0: package gcc-plugins contains bad RPATH /patht/to/tmp/sysroots/qemux86-64/usr/lib64/../lib64 in file
+ /path/to/gcc/5.2.0-r0/packages-split/gcc-plugins/usr/lib64/gcc/x86_64-poky-linux/5.2.0/plugin/libcc1plugin.so.0.0.0
+ [rpaths]
+
+Upstream-Status: Inappropriate [OE configuration]
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ libcc1/Makefile.am | 4 ++--
+ libcc1/Makefile.in | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/libcc1/Makefile.am b/libcc1/Makefile.am
+index 72c6aead475..42a87740b31 100644
+--- a/libcc1/Makefile.am
++++ b/libcc1/Makefile.am
+@@ -37,8 +37,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
+ 	    $(Wc)$(libiberty_normal)))
+ libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
+ 
+-plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin
+-cc1libdir = $(libdir)/$(libsuffix)
++cc1libdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
++plugindir = $(cc1libdir)
+ 
+ if ENABLE_PLUGIN
+ plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la
+diff --git a/libcc1/Makefile.in b/libcc1/Makefile.in
+index 7104b649026..2103c477468 100644
+--- a/libcc1/Makefile.in
++++ b/libcc1/Makefile.in
+@@ -393,8 +393,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
+ 	    $(Wc)$(libiberty_normal)))
+ 
+ libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
+-plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin
+-cc1libdir = $(libdir)/$(libsuffix)
++cc1libdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
++plugindir = $(cc1libdir)
+ @ENABLE_PLUGIN_TRUE@plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la
+ @ENABLE_PLUGIN_TRUE@cc1lib_LTLIBRARIES = libcc1.la
+ shared_source = callbacks.cc callbacks.hh connection.cc connection.hh \
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0026-handle-sysroot-support-for-nativesdk-gcc.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0026-handle-sysroot-support-for-nativesdk-gcc.patch
new file mode 100644
index 0000000..7062c03
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0026-handle-sysroot-support-for-nativesdk-gcc.patch
@@ -0,0 +1,213 @@
+From fe175ac845f1ac6965ede0240e9b763ae520614d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 7 Dec 2015 23:39:54 +0000
+Subject: [PATCH 26/37] handle sysroot support for nativesdk-gcc
+
+Being able to build a nativesdk gcc is useful, particularly in cases
+where the host compiler may be of an incompatible version (or a 32
+bit compiler is needed).
+
+Sadly, building nativesdk-gcc is not straight forward. We install
+nativesdk-gcc into a relocatable location and this means that its
+library locations can change. "Normal" sysroot support doesn't help
+in this case since the values of paths like "libdir" change, not just
+base root directory of the system.
+
+In order to handle this we do two things:
+
+a) Add %r into spec file markup which can be used for injected paths
+   such as SYSTEMLIBS_DIR (see gcc_multilib_setup()).
+b) Add other paths which need relocation into a .gccrelocprefix section
+   which the relocation code will notice and adjust automatically.
+
+Upstream-Status: Inappropriate
+RP 2015/7/28
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/cppdefault.c | 50 +++++++++++++++++++++++++++++++++++-------------
+ gcc/cppdefault.h |  3 ++-
+ gcc/gcc.c        | 20 +++++++++++++------
+ 3 files changed, 53 insertions(+), 20 deletions(-)
+
+diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c
+index 980e2bd47a7..39b6059efdc 100644
+--- a/gcc/cppdefault.c
++++ b/gcc/cppdefault.c
+@@ -35,6 +35,30 @@
+ # undef CROSS_INCLUDE_DIR
+ #endif
+ 
++static char GPLUSPLUS_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_INCLUDE_DIR;
++static char GCC_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GCC_INCLUDE_DIR;
++static char GPLUSPLUS_TOOL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_TOOL_INCLUDE_DIR;
++static char GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_BACKWARD_INCLUDE_DIR;
++static char STANDARD_STARTFILE_PREFIX_2VAR[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET;
++#ifdef LOCAL_INCLUDE_DIR
++static char LOCAL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = LOCAL_INCLUDE_DIR;
++#endif
++#ifdef PREFIX_INCLUDE_DIR
++static char PREFIX_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = PREFIX_INCLUDE_DIR;
++#endif
++#ifdef FIXED_INCLUDE_DIR
++static char FIXED_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = FIXED_INCLUDE_DIR;
++#endif
++#ifdef CROSS_INCLUDE_DIR
++static char CROSS_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = CROSS_INCLUDE_DIR;
++#endif
++#ifdef TOOL_INCLUDE_DIR
++static char TOOL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = TOOL_INCLUDE_DIR;
++#endif
++#ifdef NATIVE_SYSTEM_HEADER_DIR
++static char NATIVE_SYSTEM_HEADER_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = NATIVE_SYSTEM_HEADER_DIR;
++#endif
++
+ const struct default_include cpp_include_defaults[]
+ #ifdef INCLUDE_DEFAULTS
+ = INCLUDE_DEFAULTS;
+@@ -42,38 +66,38 @@ const struct default_include cpp_include_defaults[]
+ = {
+ #ifdef GPLUSPLUS_INCLUDE_DIR
+     /* Pick up GNU C++ generic include files.  */
+-    { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1,
++    { GPLUSPLUS_INCLUDE_DIRVAR, "G++", 1, 1,
+       GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 },
+ #endif
+ #ifdef GPLUSPLUS_TOOL_INCLUDE_DIR
+     /* Pick up GNU C++ target-dependent include files.  */
+-    { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1,
++    { GPLUSPLUS_TOOL_INCLUDE_DIRVAR, "G++", 1, 1,
+       GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 },
+ #endif
+ #ifdef GPLUSPLUS_BACKWARD_INCLUDE_DIR
+     /* Pick up GNU C++ backward and deprecated include files.  */
+-    { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1,
++    { GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR, "G++", 1, 1,
+       GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 },
+ #endif
+ #ifdef GCC_INCLUDE_DIR
+     /* This is the dir for gcc's private headers.  */
+-    { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
++    { GCC_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0 },
+ #endif
+ #ifdef GCC_INCLUDE_SUBDIR_TARGET
+     /* This is the dir for gcc's private headers under the specified sysroot.  */
+-    { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0 },
++    { STANDARD_STARTFILE_PREFIX_2VAR, "GCC", 0, 0, 1, 0 },
+ #endif
+ #ifdef LOCAL_INCLUDE_DIR
+     /* /usr/local/include comes before the fixincluded header files.  */
+-    { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 },
+-    { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 },
++    { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 2 },
++    { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 0 },
+ #endif
+ #ifdef PREFIX_INCLUDE_DIR
+-    { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0 },
++    { PREFIX_INCLUDE_DIRVAR, 0, 0, 1, 0, 0 },
+ #endif
+ #ifdef FIXED_INCLUDE_DIR
+     /* This is the dir for fixincludes.  */
+-    { FIXED_INCLUDE_DIR, "GCC", 0, 0, 0,
++    { FIXED_INCLUDE_DIRVAR, "GCC", 0, 0, 0,
+       /* A multilib suffix needs adding if different multilibs use
+ 	 different headers.  */
+ #ifdef SYSROOT_HEADERS_SUFFIX_SPEC
+@@ -85,16 +109,16 @@ const struct default_include cpp_include_defaults[]
+ #endif
+ #ifdef CROSS_INCLUDE_DIR
+     /* One place the target system's headers might be.  */
+-    { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
++    { CROSS_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0 },
+ #endif
+ #ifdef TOOL_INCLUDE_DIR
+     /* Another place the target system's headers might be.  */
+-    { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0 },
++    { TOOL_INCLUDE_DIRVAR, "BINUTILS", 0, 1, 0, 0 },
+ #endif
+ #ifdef NATIVE_SYSTEM_HEADER_DIR
+     /* /usr/include comes dead last.  */
+-    { NATIVE_SYSTEM_HEADER_DIR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 2 },
+-    { NATIVE_SYSTEM_HEADER_DIR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 0 },
++    { NATIVE_SYSTEM_HEADER_DIRVAR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 2 },
++    { NATIVE_SYSTEM_HEADER_DIRVAR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 0 },
+ #endif
+     { 0, 0, 0, 0, 0, 0 }
+   };
+diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h
+index e2d96f1e760..29fa5f815c8 100644
+--- a/gcc/cppdefault.h
++++ b/gcc/cppdefault.h
+@@ -33,7 +33,8 @@
+ 
+ struct default_include
+ {
+-  const char *const fname;	/* The name of the directory.  */
++  const char *fname;     /* The name of the directory.  */
++
+   const char *const component;	/* The component containing the directory
+ 				   (see update_path in prefix.c) */
+   const char cplusplus;		/* Only look here if we're compiling C++.  */
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index 14b1a6e8c44..857310092d9 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -253,6 +253,8 @@ FILE *report_times_to_file = NULL;
+ #endif
+ static const char *target_system_root = DEFAULT_TARGET_SYSTEM_ROOT;
+ 
++static char target_relocatable_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = SYSTEMLIBS_DIR;
++
+ /* Nonzero means pass the updated target_system_root to the compiler.  */
+ 
+ static int target_system_root_changed;
+@@ -527,6 +529,7 @@ or with constant text in a single argument.
+  %G     process LIBGCC_SPEC as a spec.
+  %R     Output the concatenation of target_system_root and
+         target_sysroot_suffix.
++ %r     Output the base path target_relocatable_prefix
+  %S     process STARTFILE_SPEC as a spec.  A capital S is actually used here.
+  %E     process ENDFILE_SPEC as a spec.  A capital E is actually used here.
+  %C     process CPP_SPEC as a spec.
+@@ -1493,10 +1496,10 @@ static const char *gcc_libexec_prefix;
+    gcc_exec_prefix is set because, in that case, we know where the
+    compiler has been installed, and use paths relative to that
+    location instead.  */
+-static const char *const standard_exec_prefix = STANDARD_EXEC_PREFIX;
+-static const char *const standard_libexec_prefix = STANDARD_LIBEXEC_PREFIX;
+-static const char *const standard_bindir_prefix = STANDARD_BINDIR_PREFIX;
+-static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
++static char standard_exec_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_EXEC_PREFIX;
++static char standard_libexec_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_LIBEXEC_PREFIX;
++static char standard_bindir_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_BINDIR_PREFIX;
++static char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
+ 
+ /* For native compilers, these are well-known paths containing
+    components that may be provided by the system.  For cross
+@@ -1504,9 +1507,9 @@ static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
+ static const char *md_exec_prefix = MD_EXEC_PREFIX;
+ static const char *md_startfile_prefix = MD_STARTFILE_PREFIX;
+ static const char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1;
+-static const char *const standard_startfile_prefix_1
++static char standard_startfile_prefix_1[4096] __attribute__ ((section (".gccrelocprefix")))
+   = STANDARD_STARTFILE_PREFIX_1;
+-static const char *const standard_startfile_prefix_2
++static char standard_startfile_prefix_2[4096] __attribute__ ((section (".gccrelocprefix")))
+   = STANDARD_STARTFILE_PREFIX_2;
+ 
+ /* A relative path to be used in finding the location of tools
+@@ -5915,6 +5918,11 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part)
+ 	      }
+ 	    break;
+ 
++          case 'r':
++              obstack_grow (&obstack, target_relocatable_prefix,
++		      strlen (target_relocatable_prefix));
++            break;
++
+ 	  case 'S':
+ 	    value = do_spec_1 (startfile_spec, 0, NULL);
+ 	    if (value != 0)
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0027-Search-target-sysroot-gcc-version-specific-dirs-with.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0027-Search-target-sysroot-gcc-version-specific-dirs-with.patch
new file mode 100644
index 0000000..e3ec943
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0027-Search-target-sysroot-gcc-version-specific-dirs-with.patch
@@ -0,0 +1,102 @@
+From bf07530706382c90fb89f7d8a727eb9aeb29a56a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 7 Dec 2015 23:41:45 +0000
+Subject: [PATCH 27/37] Search target sysroot gcc version specific dirs with
+ multilib.
+
+We install the gcc libraries (such as crtbegin.p) into
+<sysroot><libdir>/<target-sys>/5.2.0/
+which is a default search path for GCC (aka multi_suffix in the
+code below). <target-sys> is 'machine' in gcc's terminology. We use
+these directories so that multiple gcc versions could in theory
+co-exist on target.
+
+We only want to build one gcc-cross-canadian per arch and have this work
+for all multilibs. <target-sys> can be handled by mapping the multilib
+<target-sys> to the one used by gcc-cross-canadian, e.g.
+mips64-polkmllib32-linux
+is symlinked to by mips64-poky-linux.
+
+The default gcc search path in the target sysroot for a "lib64" mutlilib
+is:
+
+<sysroot>/lib32/mips64-poky-linux/5.2.0/
+<sysroot>/lib32/../lib64/
+<sysroot>/usr/lib32/mips64-poky-linux/5.2.0/
+<sysroot>/usr/lib32/../lib64/
+<sysroot>/lib32/
+<sysroot>/usr/lib32/
+
+which means that the lib32 crtbegin.o will be found and the lib64 ones
+will not which leads to compiler failures.
+
+This patch injects a multilib version of that path first so the lib64
+binaries can be found first. With this change the search path becomes:
+
+<sysroot>/lib32/../lib64/mips64-poky-linux/5.2.0/
+<sysroot>/lib32/mips64-poky-linux/5.2.0/
+<sysroot>/lib32/../lib64/
+<sysroot>/usr/lib32/../lib64/mips64-poky-linux/5.2.0/
+<sysroot>/usr/lib32/mips64-poky-linux/5.2.0/
+<sysroot>/usr/lib32/../lib64/
+<sysroot>/lib32/
+<sysroot>/usr/lib32/
+
+Upstream-Status: Pending
+RP 2015/7/31
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/gcc.c | 29 ++++++++++++++++++++++++++++-
+ 1 file changed, 28 insertions(+), 1 deletion(-)
+
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index 857310092d9..6363e63b8ff 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -2610,7 +2610,7 @@ for_each_path (const struct path_prefix *paths,
+       if (path == NULL)
+ 	{
+ 	  len = paths->max_len + extra_space + 1;
+-	  len += MAX (MAX (suffix_len, multi_os_dir_len), multiarch_len);
++	  len += MAX ((suffix_len + multi_os_dir_len), multiarch_len);
+ 	  path = XNEWVEC (char, len);
+ 	}
+ 
+@@ -2622,6 +2622,33 @@ for_each_path (const struct path_prefix *paths,
+ 	  /* Look first in MACHINE/VERSION subdirectory.  */
+ 	  if (!skip_multi_dir)
+ 	    {
++	      if (!(pl->os_multilib ? skip_multi_os_dir : skip_multi_dir))
++	        {
++	          const char *this_multi;
++	          size_t this_multi_len;
++
++	          if (pl->os_multilib)
++		    {
++		      this_multi = multi_os_dir;
++		      this_multi_len = multi_os_dir_len;
++		    }
++	          else
++		    {
++		      this_multi = multi_dir;
++		      this_multi_len = multi_dir_len;
++		    }
++
++	          /* Look in multilib MACHINE/VERSION subdirectory first */
++	          if (this_multi_len)
++	            {
++		      memcpy (path + len, this_multi, this_multi_len + 1);
++	              memcpy (path + len + this_multi_len, multi_suffix, suffix_len + 1);
++	              ret = callback (path, callback_info);
++	                if (ret)
++		          break;
++	            }
++	        }
++
+ 	      memcpy (path + len, multi_suffix, suffix_len + 1);
+ 	      ret = callback (path, callback_info);
+ 	      if (ret)
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0028-Fix-various-_FOR_BUILD-and-related-variables.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0028-Fix-various-_FOR_BUILD-and-related-variables.patch
new file mode 100644
index 0000000..bdcbd32
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0028-Fix-various-_FOR_BUILD-and-related-variables.patch
@@ -0,0 +1,137 @@
+From 16ab14b7221b3491cd43ab745f57b60ca83089df Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 7 Dec 2015 23:42:45 +0000
+Subject: [PATCH 28/37] Fix various _FOR_BUILD and related variables
+
+When doing a FOR_BUILD thing, you have to override CFLAGS with
+CFLAGS_FOR_BUILD. And if you use C++, you also have to override
+CXXFLAGS with CXXFLAGS_FOR_BUILD.
+Without this, when building for mingw, you end up trying to use
+the mingw headers for a host build.
+
+The same goes for other variables as well, such as CPPFLAGS,
+CPP, and GMPINC.
+
+Upstream-Status: Pending
+
+Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.in      | 6 ++++++
+ Makefile.tpl     | 5 +++++
+ gcc/Makefile.in  | 2 +-
+ gcc/configure    | 2 +-
+ gcc/configure.ac | 2 +-
+ 5 files changed, 14 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index b21e0791f55..0e573791202 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -152,6 +152,7 @@ BUILD_EXPORTS = \
+ 	CPP="$(CC_FOR_BUILD) -E"; export CPP; \
+ 	CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
+ 	CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
++	CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \
+ 	CXX="$(CXX_FOR_BUILD)"; export CXX; \
+ 	CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
+ 	GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
+@@ -171,6 +172,9 @@ BUILD_EXPORTS = \
+ # built for the build system to override those in BASE_FLAGS_TO_PASS.
+ EXTRA_BUILD_FLAGS = \
+ 	CFLAGS="$(CFLAGS_FOR_BUILD)" \
++	CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \
++	CPP="$(CC_FOR_BUILD) -E" \
++	CPPFLAGS="$(CPPFLAGS_FOR_BUILD)" \
+ 	LDFLAGS="$(LDFLAGS_FOR_BUILD)"
+ 
+ # This is the list of directories to built for the host system.
+@@ -188,6 +192,7 @@ HOST_SUBDIR = @host_subdir@
+ HOST_EXPORTS = \
+ 	$(BASE_EXPORTS) \
+ 	CC="$(CC)"; export CC; \
++	CPP="$(CC) -E"; export CPP; \
+ 	ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \
+ 	CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ 	CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+@@ -775,6 +780,7 @@ BASE_FLAGS_TO_PASS = \
+ 	"CC_FOR_BUILD=$(CC_FOR_BUILD)" \
+ 	"CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
+ 	"CXX_FOR_BUILD=$(CXX_FOR_BUILD)" \
++	"CXXFLAGS_FOR_BUILD=$(CXXFLAGS_FOR_BUILD)" \
+ 	"EXPECT=$(EXPECT)" \
+ 	"FLEX=$(FLEX)" \
+ 	"INSTALL=$(INSTALL)" \
+diff --git a/Makefile.tpl b/Makefile.tpl
+index 126296fb49a..15fb236bcc0 100644
+--- a/Makefile.tpl
++++ b/Makefile.tpl
+@@ -154,6 +154,7 @@ BUILD_EXPORTS = \
+ 	CC="$(CC_FOR_BUILD)"; export CC; \
+ 	CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
+ 	CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
++	CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \
+ 	CXX="$(CXX_FOR_BUILD)"; export CXX; \
+ 	CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
+ 	GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
+@@ -173,6 +174,9 @@ BUILD_EXPORTS = \
+ # built for the build system to override those in BASE_FLAGS_TO_PASS.
+ EXTRA_BUILD_FLAGS = \
+ 	CFLAGS="$(CFLAGS_FOR_BUILD)" \
++	CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \
++	CPP="$(CC_FOR_BUILD) -E" \
++	CPPFLAGS="$(CPPFLAGS_FOR_BUILD)" \
+ 	LDFLAGS="$(LDFLAGS_FOR_BUILD)"
+ 
+ # This is the list of directories to built for the host system.
+@@ -190,6 +194,7 @@ HOST_SUBDIR = @host_subdir@
+ HOST_EXPORTS = \
+ 	$(BASE_EXPORTS) \
+ 	CC="$(CC)"; export CC; \
++	CPP="$(CC) -E"; export CPP; \
+ 	ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \
+ 	CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ 	CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+diff --git a/gcc/Makefile.in b/gcc/Makefile.in
+index eb1dc304de2..93a43146846 100644
+--- a/gcc/Makefile.in
++++ b/gcc/Makefile.in
+@@ -805,7 +805,7 @@ BUILD_LDFLAGS=@BUILD_LDFLAGS@
+ BUILD_NO_PIE_FLAG = @BUILD_NO_PIE_FLAG@
+ BUILD_LDFLAGS += $(BUILD_NO_PIE_FLAG)
+ BUILD_CPPFLAGS= -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
+-		-I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS)
++		-I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS_FOR_BUILD)
+ 
+ # Actual name to use when installing a native compiler.
+ GCC_INSTALL_NAME := $(shell echo gcc|sed '$(program_transform_name)')
+diff --git a/gcc/configure b/gcc/configure
+index 2e822caf66d..2c50676a2bf 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -11965,7 +11965,7 @@ else
+ 	CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
+ 	CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \
+ 	LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \
+-	GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \
++	GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \
+ 	${realsrcdir}/configure \
+ 		--enable-languages=${enable_languages-all} \
+ 		--target=$target_alias --host=$build_alias --build=$build_alias
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index 70e7bac78c4..d29eb580429 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -1743,7 +1743,7 @@ else
+ 	CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
+ 	CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \
+ 	LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \
+-	GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \
++	GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \
+ 	${realsrcdir}/configure \
+ 		--enable-languages=${enable_languages-all} \
+ 		--target=$target_alias --host=$build_alias --build=$build_alias
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0029-nios2-Define-MUSL_DYNAMIC_LINKER.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0029-nios2-Define-MUSL_DYNAMIC_LINKER.patch
new file mode 100644
index 0000000..08da1ab
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0029-nios2-Define-MUSL_DYNAMIC_LINKER.patch
@@ -0,0 +1,28 @@
+From e293df9a5734b43cb60cc47a3f5ff9af50fee3aa Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 2 Feb 2016 10:26:10 -0800
+Subject: [PATCH 29/37] nios2: Define MUSL_DYNAMIC_LINKER
+
+Upstream-Status: Pending
+
+Signed-off-by: Marek Vasut <marex@denx.de>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/config/nios2/linux.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/gcc/config/nios2/linux.h b/gcc/config/nios2/linux.h
+index 698734add35..eeee60ecfea 100644
+--- a/gcc/config/nios2/linux.h
++++ b/gcc/config/nios2/linux.h
+@@ -30,6 +30,7 @@
+ #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
+ 
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-nios2.so.1"
++#define MUSL_DYNAMIC_LINKER  "/lib/ld-musl-nios2.so.1"
+ 
+ #undef LINK_SPEC
+ #define LINK_SPEC LINK_SPEC_ENDIAN \
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0030-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0030-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
new file mode 100644
index 0000000..792e852
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0030-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
@@ -0,0 +1,87 @@
+From 6232013df7fd65c994869789fa4b93c8d2303d1c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 27 Jun 2017 18:10:54 -0700
+Subject: [PATCH 30/37] Add ssp_nonshared to link commandline for musl targets
+
+when -fstack-protector options are enabled we need to
+link with ssp_shared on musl since it does not provide
+the __stack_chk_fail_local() so essentially it provides
+libssp but not libssp_nonshared something like
+TARGET_LIBC_PROVIDES_SSP_BUT_NOT_SSP_NONSHARED
+ where-as for glibc the needed symbols
+are already present in libc_nonshared library therefore
+we do not need any library helper on glibc based systems
+but musl needs the libssp_noshared from gcc
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/config/linux.h          |  7 +++++++
+ gcc/config/rs6000/linux.h   | 10 ++++++++++
+ gcc/config/rs6000/linux64.h | 10 ++++++++++
+ 3 files changed, 27 insertions(+)
+
+diff --git a/gcc/config/linux.h b/gcc/config/linux.h
+index 4b05d8e93d1..0ca117e2ed4 100644
+--- a/gcc/config/linux.h
++++ b/gcc/config/linux.h
+@@ -195,6 +195,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+     { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 },		\
+     { 0, 0, 0, 0, 0, 0 }				\
+   }
++#ifdef TARGET_LIBC_PROVIDES_SSP
++#undef LINK_SSP_SPEC
++#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
++		       "|fstack-protector-strong|fstack-protector-explicit" \
++		       ":-lssp_nonshared}"
++#endif
++
+ #endif
+ 
+ #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */
+diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h
+index 96b97877989..0bbde54c844 100644
+--- a/gcc/config/rs6000/linux.h
++++ b/gcc/config/rs6000/linux.h
+@@ -107,6 +107,16 @@
+ 					 " -m elf32ppclinux")
+ #endif
+ 
++/* link libssp_nonshared.a with musl */
++#if DEFAULT_LIBC == LIBC_MUSL
++#ifdef TARGET_LIBC_PROVIDES_SSP
++#undef LINK_SSP_SPEC
++#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
++		       "|fstack-protector-strong|fstack-protector-explicit" \
++		       ":-lssp_nonshared}"
++#endif
++#endif
++
+ #undef LINK_OS_LINUX_SPEC
+ #define LINK_OS_LINUX_SPEC LINK_OS_LINUX_EMUL " %{!shared: %{!static: \
+   %{!static-pie: \
+diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
+index 982ca274621..83c07b275da 100644
+--- a/gcc/config/rs6000/linux64.h
++++ b/gcc/config/rs6000/linux64.h
+@@ -461,6 +461,16 @@ extern int dot_symbols;
+ 					   " -m elf64ppc")
+ #endif
+ 
++/* link libssp_nonshared.a with musl */
++#if DEFAULT_LIBC == LIBC_MUSL
++#ifdef TARGET_LIBC_PROVIDES_SSP
++#undef LINK_SSP_SPEC
++#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
++		       "|fstack-protector-strong|fstack-protector-explicit" \
++		       ":-lssp_nonshared}"
++#endif
++#endif
++
+ #define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " %{!shared: %{!static: \
+   %{!static-pie: \
+     %{rdynamic:-export-dynamic} \
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0031-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0031-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch
new file mode 100644
index 0000000..efa40be
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0031-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch
@@ -0,0 +1,125 @@
+From 1877b2ee5835a3716e6544706fbccd8c656e0a32 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Apr 2016 20:03:28 +0000
+Subject: [PATCH 31/37] libgcc: Add knob to use ldbl-128 on ppc
+
+musl does not support ldbl 128 so we can not assume
+that linux as a whole supports ldbl-128 bits, instead
+act upon configure option passed to gcc and assume no
+on musl and yes otherwise if no option is passed since
+default behaviour is to assume ldbl128 it does not
+change the defaults
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libgcc/Makefile.in           |  1 +
+ libgcc/config/rs6000/t-linux |  5 ++++-
+ libgcc/configure             | 18 ++++++++++++++++++
+ libgcc/configure.ac          | 12 ++++++++++++
+ 4 files changed, 35 insertions(+), 1 deletion(-)
+ mode change 100644 => 100755 libgcc/configure
+
+diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in
+index ea390a5bbea..114c7876304 100644
+--- a/libgcc/Makefile.in
++++ b/libgcc/Makefile.in
+@@ -50,6 +50,7 @@ unwind_header = @unwind_header@
+ md_unwind_header = @md_unwind_header@
+ sfp_machine_header = @sfp_machine_header@
+ thread_header = @thread_header@
++with_ldbl128 = @with_ldbl128@
+ 
+ host_noncanonical = @host_noncanonical@
+ real_host_noncanonical = @real_host_noncanonical@
+diff --git a/libgcc/config/rs6000/t-linux b/libgcc/config/rs6000/t-linux
+index 4f6d4c4a4d2..c50dd94a2da 100644
+--- a/libgcc/config/rs6000/t-linux
++++ b/libgcc/config/rs6000/t-linux
+@@ -1,3 +1,6 @@
+ SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-glibc.ver
+ 
+-HOST_LIBGCC2_CFLAGS += -mlong-double-128 -mno-minimal-toc
++ifeq ($(with_ldbl128),yes)
++HOST_LIBGCC2_CFLAGS += -mlong-double-128
++endif
++HOST_LIBGCC2_CFLAGS += -mno-minimal-toc
+diff --git a/libgcc/configure b/libgcc/configure
+old mode 100644
+new mode 100755
+index 36dbbc1f699..b5dd5c34e2a
+--- a/libgcc/configure
++++ b/libgcc/configure
+@@ -651,6 +651,7 @@ build_vendor
+ build_cpu
+ build
+ with_aix_soname
++with_ldbl128
+ enable_vtable_verify
+ enable_gcov
+ enable_shared
+@@ -702,6 +703,7 @@ with_ld
+ enable_shared
+ enable_gcov
+ enable_vtable_verify
++with_long_double_128
+ with_aix_soname
+ enable_version_specific_runtime_libs
+ with_slibdir
+@@ -1363,6 +1365,7 @@ Optional Packages:
+   --with-target-subdir=SUBDIR      Configuring in a subdirectory for target
+   --with-cross-host=HOST           Configuring with a cross compiler
+   --with-ld               arrange to use the specified ld (full pathname)
++  --with-long-double-128  use 128-bit long double by default
+   --with-aix-soname=aix|svr4|both
+                           shared library versioning (aka "SONAME") variant to
+                           provide on AIX
+@@ -2268,6 +2271,21 @@ fi
+ 
+ 
+ 
++# Check whether --with-long-double-128 was given.
++if test "${with_long_double_128+set}" = set; then :
++  withval=$with_long_double_128; with_ldbl128="$with_long_double_128"
++else
++  case "${host}" in
++ power*-*-musl*)
++   with_ldbl128="no";;
++ *) with_ldbl128="yes";;
++ esac
++
++fi
++
++
++
++
+ # Check whether --with-aix-soname was given.
+ if test "${with_aix_soname+set}" = set; then :
+   withval=$with_aix_soname; case "${host}:${enable_shared}" in
+diff --git a/libgcc/configure.ac b/libgcc/configure.ac
+index 8e96cafdf8b..9247856bf24 100644
+--- a/libgcc/configure.ac
++++ b/libgcc/configure.ac
+@@ -82,6 +82,18 @@ AC_ARG_ENABLE(vtable-verify,
+ [enable_vtable_verify=no])
+ AC_SUBST(enable_vtable_verify)
+ 
++AC_ARG_WITH(long-double-128,
++[AS_HELP_STRING([--with-long-double-128],
++    [use 128-bit long double by default])],
++      with_ldbl128="$with_long_double_128",
++[case "${host}" in
++ power*-*-musl*)
++   with_ldbl128="no";;
++ *) with_ldbl128="yes";;
++ esac
++])
++AC_SUBST(with_ldbl128)
++
+ AC_ARG_WITH(aix-soname,
+ [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
+     [shared library versioning (aka "SONAME") variant to provide on AIX])],
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0032-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0032-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch
new file mode 100644
index 0000000..3de8345
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0032-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch
@@ -0,0 +1,29 @@
+From 9d76a765a12677597134953352b25dc16dea721e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 4 May 2016 21:11:34 -0700
+Subject: [PATCH 32/37] Link libgcc using LDFLAGS, not just SHLIB_LDFLAGS
+
+Upstream-Status: Pending
+
+Signed-off-by: Christopher Larson <chris_larson@mentor.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libgcc/config/t-slibgcc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libgcc/config/t-slibgcc b/libgcc/config/t-slibgcc
+index 099bf23e62f..436b277a79f 100644
+--- a/libgcc/config/t-slibgcc
++++ b/libgcc/config/t-slibgcc
+@@ -32,7 +32,7 @@ SHLIB_INSTALL_SOLINK = $(LN_S) $(SHLIB_SONAME) \
+ 	$(DESTDIR)$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK)
+ 
+ SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
+-	$(SHLIB_LDFLAGS) \
++	$(LDFLAGS) $(SHLIB_LDFLAGS) \
+ 	-o $(SHLIB_DIR)/$(SHLIB_SONAME).tmp @multilib_flags@ \
+ 	$(SHLIB_OBJS) $(SHLIB_LC) && \
+ 	rm -f $(SHLIB_DIR)/$(SHLIB_SOLINK) && \
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0033-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0033-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch
new file mode 100644
index 0000000..d8cc643
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0033-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch
@@ -0,0 +1,86 @@
+From 6c001e08bcd0568367a4aa2f991ab7d85b43a43d Mon Sep 17 00:00:00 2001
+From: Szabolcs Nagy <nsz@port70.net>
+Date: Sat, 24 Oct 2015 20:09:53 +0000
+Subject: [PATCH 33/37] libgcc_s: Use alias for __cpu_indicator_init instead of
+ symver
+
+Adapter from
+
+https://gcc.gnu.org/ml/gcc-patches/2015-05/msg00899.html
+
+This fix was debated but hasnt been applied gcc upstream since
+they expect musl to support '@' in symbol versioning which is
+a sun/gnu versioning extention. This patch however avoids the
+need for the '@' symbols at all
+
+libgcc/Changelog:
+
+2015-05-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+	* config/i386/cpuinfo.c (__cpu_indicator_init_local): Add.
+	(__cpu_indicator_init@GCC_4.8.0, __cpu_model@GCC_4.8.0): Remove.
+
+	* config/i386/t-linux (HOST_LIBGCC2_CFLAGS): Remove -DUSE_ELF_SYMVER.
+
+gcc/Changelog:
+
+2015-05-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+	* config/i386/i386.c (ix86_expand_builtin): Make __builtin_cpu_init
+	call __cpu_indicator_init_local instead of __cpu_indicator_init.
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/config/i386/i386.c       | 4 ++--
+ libgcc/config/i386/cpuinfo.c | 6 +++---
+ libgcc/config/i386/t-linux   | 2 +-
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
+index 88557f26c44..839308e2799 100644
+--- a/gcc/config/i386/i386.c
++++ b/gcc/config/i386/i386.c
+@@ -36577,10 +36577,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
+     {
+     case IX86_BUILTIN_CPU_INIT:
+       {
+-	/* Make it call __cpu_indicator_init in libgcc. */
++	/* Make it call __cpu_indicator_init_local in libgcc.a. */
+ 	tree call_expr, fndecl, type;
+         type = build_function_type_list (integer_type_node, NULL_TREE); 
+-	fndecl = build_fn_decl ("__cpu_indicator_init", type);
++	fndecl = build_fn_decl ("__cpu_indicator_init_local", type);
+ 	call_expr = build_call_expr (fndecl, 0); 
+ 	return expand_expr (call_expr, target, mode, EXPAND_NORMAL);
+       }
+diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c
+index d6cb2de6265..ce04ef78205 100644
+--- a/libgcc/config/i386/cpuinfo.c
++++ b/libgcc/config/i386/cpuinfo.c
+@@ -504,7 +504,7 @@ __cpu_indicator_init (void)
+   return 0;
+ }
+ 
+-#if defined SHARED && defined USE_ELF_SYMVER
+-__asm__ (".symver __cpu_indicator_init, __cpu_indicator_init@GCC_4.8.0");
+-__asm__ (".symver __cpu_model, __cpu_model@GCC_4.8.0");
++#ifndef SHARED
++int __cpu_indicator_init_local (void)
++  __attribute__ ((weak, alias ("__cpu_indicator_init")));
+ #endif
+diff --git a/libgcc/config/i386/t-linux b/libgcc/config/i386/t-linux
+index 8506a635790..564296f788e 100644
+--- a/libgcc/config/i386/t-linux
++++ b/libgcc/config/i386/t-linux
+@@ -3,5 +3,5 @@
+ # t-slibgcc-elf-ver and t-linux
+ SHLIB_MAPFILES = libgcc-std.ver $(srcdir)/config/i386/libgcc-glibc.ver
+ 
+-HOST_LIBGCC2_CFLAGS += -mlong-double-80 -DUSE_ELF_SYMVER $(CET_FLAGS)
++HOST_LIBGCC2_CFLAGS += -mlong-double-80 $(CET_FLAGS)
+ CRTSTUFF_T_CFLAGS += $(CET_FLAGS)
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0034-sync-gcc-stddef.h-with-musl.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0034-sync-gcc-stddef.h-with-musl.patch
new file mode 100644
index 0000000..a2c35ab
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0034-sync-gcc-stddef.h-with-musl.patch
@@ -0,0 +1,91 @@
+From 83ba95929c5908ae0f51ce148a30f85b085a178a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 3 Feb 2017 12:56:00 -0800
+Subject: [PATCH 34/37] sync gcc stddef.h with musl
+
+musl defines ptrdiff_t size_t and wchar_t
+so dont define them here if musl is definining them
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/ginclude/stddef.h | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h
+index da692e1c01a..9a00c261adb 100644
+--- a/gcc/ginclude/stddef.h
++++ b/gcc/ginclude/stddef.h
+@@ -128,6 +128,7 @@ _TYPE_wchar_t;
+ #ifndef ___int_ptrdiff_t_h
+ #ifndef _GCC_PTRDIFF_T
+ #ifndef _PTRDIFF_T_DECLARED /* DragonFly */
++#ifndef __DEFINED_ptrdiff_t /* musl */
+ #define _PTRDIFF_T
+ #define _T_PTRDIFF_
+ #define _T_PTRDIFF
+@@ -137,10 +138,12 @@ _TYPE_wchar_t;
+ #define ___int_ptrdiff_t_h
+ #define _GCC_PTRDIFF_T
+ #define _PTRDIFF_T_DECLARED
++#define __DEFINED_ptrdiff_t /* musl */
+ #ifndef __PTRDIFF_TYPE__
+ #define __PTRDIFF_TYPE__ long int
+ #endif
+ typedef __PTRDIFF_TYPE__ ptrdiff_t;
++#endif /* __DEFINED_ptrdiff_t */
+ #endif /* _PTRDIFF_T_DECLARED */
+ #endif /* _GCC_PTRDIFF_T */
+ #endif /* ___int_ptrdiff_t_h */
+@@ -178,6 +181,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
+ #ifndef _GCC_SIZE_T
+ #ifndef _SIZET_
+ #ifndef __size_t
++#ifndef __DEFINED_size_t /* musl */
+ #define __size_t__	/* BeOS */
+ #define __SIZE_T__	/* Cray Unicos/Mk */
+ #define _SIZE_T
+@@ -194,6 +198,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
+ #define ___int_size_t_h
+ #define _GCC_SIZE_T
+ #define _SIZET_
++#define __DEFINED_size_t /* musl */
+ #if defined (__FreeBSD__) \
+   || defined(__DragonFly__) \
+   || defined(__FreeBSD_kernel__) \
+@@ -228,6 +233,7 @@ typedef long ssize_t;
+ #endif /* _SIZE_T */
+ #endif /* __SIZE_T__ */
+ #endif /* __size_t__ */
++#endif /* __DEFINED_size_t */
+ #undef	__need_size_t
+ #endif /* _STDDEF_H or __need_size_t.  */
+ 
+@@ -257,6 +263,7 @@ typedef long ssize_t;
+ #ifndef ___int_wchar_t_h
+ #ifndef __INT_WCHAR_T_H
+ #ifndef _GCC_WCHAR_T
++#ifndef __DEFINED_wchar_t /* musl */
+ #define __wchar_t__	/* BeOS */
+ #define __WCHAR_T__	/* Cray Unicos/Mk */
+ #define _WCHAR_T
+@@ -272,6 +279,7 @@ typedef long ssize_t;
+ #define __INT_WCHAR_T_H
+ #define _GCC_WCHAR_T
+ #define _WCHAR_T_DECLARED
++#define __DEFINED_wchar_t /* musl */
+ 
+ /* On BSD/386 1.1, at least, machine/ansi.h defines _BSD_WCHAR_T_
+    instead of _WCHAR_T_, and _BSD_RUNE_T_ (which, unlike the other
+@@ -337,6 +345,7 @@ typedef __WCHAR_TYPE__ wchar_t;
+ #endif
+ #endif /* __WCHAR_T__ */
+ #endif /* __wchar_t__ */
++#endif /* __DEFINED_wchar_t musl */
+ #undef	__need_wchar_t
+ #endif /* _STDDEF_H or __need_wchar_t.  */
+ 
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0035-fix-segmentation-fault-in-precompiled-header-generat.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0035-fix-segmentation-fault-in-precompiled-header-generat.patch
new file mode 100644
index 0000000..ad1f6e7
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0035-fix-segmentation-fault-in-precompiled-header-generat.patch
@@ -0,0 +1,60 @@
+From c4f89e62c56975fee99304c9cbbe5be6e8bc9ed6 Mon Sep 17 00:00:00 2001
+From: Juro Bystricky <juro.bystricky@intel.com>
+Date: Mon, 19 Mar 2018 22:31:20 -0700
+Subject: [PATCH 35/37] fix segmentation fault in precompiled header generation
+
+Prevent a segmentation fault which occurs when using incorrect
+structure trying to access name of some named operators, such as
+CPP_NOT, CPP_AND etc. "token->val.node.spelling" cannot be used in
+those cases, as is may not be initialized at all.
+
+[YOCTO #11738]
+
+Upstream-Status: Pending
+
+Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libcpp/lex.c | 26 +++++++++++++++++++++-----
+ 1 file changed, 21 insertions(+), 5 deletions(-)
+
+diff --git a/libcpp/lex.c b/libcpp/lex.c
+index eedfcbb3146..15040a1b1f0 100644
+--- a/libcpp/lex.c
++++ b/libcpp/lex.c
+@@ -3280,11 +3280,27 @@ cpp_spell_token (cpp_reader *pfile, const cpp_token *token,
+     spell_ident:
+     case SPELL_IDENT:
+       if (forstring)
+-	{
+-	  memcpy (buffer, NODE_NAME (token->val.node.spelling),
+-		  NODE_LEN (token->val.node.spelling));
+-	  buffer += NODE_LEN (token->val.node.spelling);
+-	}
++        {
++          if (token->type == CPP_NAME)
++            {
++              memcpy (buffer, NODE_NAME (token->val.node.spelling),
++                    NODE_LEN (token->val.node.spelling));
++              buffer += NODE_LEN (token->val.node.spelling);
++              break;
++            }
++          /* NAMED_OP, cannot use node.spelling */
++          if (token->flags & NAMED_OP)
++            {
++              const char *str = cpp_named_operator2name (token->type);
++              if (str)
++                {
++                  size_t len = strlen(str);
++                  memcpy(buffer, str, len);
++                  buffer += len;
++                }
++              break;
++            }
++        }
+       else
+ 	buffer = _cpp_spell_ident_ucns (buffer, token->val.node.node);
+       break;
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0036-Fix-for-testsuite-failure.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0036-Fix-for-testsuite-failure.patch
new file mode 100644
index 0000000..4fb0698
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0036-Fix-for-testsuite-failure.patch
@@ -0,0 +1,258 @@
+From 8d773b5ba6cf396ca76611963127ba2b516272b3 Mon Sep 17 00:00:00 2001
+From: RAGHUNATH LOLUR <raghunath.lolur@kpit.com>
+Date: Wed, 6 Dec 2017 22:52:26 -0800
+Subject: [PATCH 36/37] Fix for testsuite failure
+
+2017-11-16  Raghunath Lolur  <raghunath.lolur@kpit.com>
+
+	* gcc.dg/pr56275.c: If SSE is disabled, ensure that
+	"-mfpmath" is not set to use SSE. Set "-mfpmath=387".
+	* gcc.dg/pr68306.c: Likewise
+	* gcc.dg/pr68306-2.c: Likewise
+	* gcc.dg/pr68306-3.c: Likewise
+	* gcc.dg/pr69634.c: Likewise
+	* gcc.target/i386/amd64-abi-1.c: Likewise
+	* gcc.target/i386/funcspec-6.c: Likewise
+	* gcc.target/i386/interrupt-387-err-1.c: Likewise
+	* gcc.target/i386/isa-14.c: Likewise
+	* gcc.target/i386/pr44948-2b.c: Likewise
+	* gcc.target/i386/pr53425-1.c: Likewise
+	* gcc.target/i386/pr53425-2.c: Likewise
+	* gcc.target/i386/pr55247.c: Likewise
+	* gcc.target/i386/pr59644.c: Likewise
+	* gcc.target/i386/pr62120.c: Likewise
+	* gcc.target/i386/pr70467-1.c: Likewise
+	* gcc.target/i386/warn-vect-op-1.c: Likewise
+
+If -Wall, -Werror are used during compilation various test cases fail
+to compile.
+
+If SSE is disabled, be sure to -mfpmath=387 to resolve this.
+
+This patch removes the changes to Changelog from the original patch.
+This will help us avoid conflicts.
+
+Upstream-Status: Pending
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+---
+ gcc/testsuite/gcc.dg/pr56275.c                      | 2 +-
+ gcc/testsuite/gcc.dg/pr68306-2.c                    | 2 +-
+ gcc/testsuite/gcc.dg/pr68306-3.c                    | 2 +-
+ gcc/testsuite/gcc.dg/pr68306.c                      | 2 +-
+ gcc/testsuite/gcc.dg/pr69634.c                      | 2 +-
+ gcc/testsuite/gcc.target/i386/amd64-abi-1.c         | 2 +-
+ gcc/testsuite/gcc.target/i386/funcspec-6.c          | 1 +
+ gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c | 2 +-
+ gcc/testsuite/gcc.target/i386/isa-14.c              | 2 +-
+ gcc/testsuite/gcc.target/i386/pr44948-2b.c          | 2 +-
+ gcc/testsuite/gcc.target/i386/pr53425-1.c           | 2 +-
+ gcc/testsuite/gcc.target/i386/pr53425-2.c           | 2 +-
+ gcc/testsuite/gcc.target/i386/pr55247.c             | 2 +-
+ gcc/testsuite/gcc.target/i386/pr59644.c             | 2 +-
+ gcc/testsuite/gcc.target/i386/pr62120.c             | 2 +-
+ gcc/testsuite/gcc.target/i386/pr70467-1.c           | 2 +-
+ gcc/testsuite/gcc.target/i386/warn-vect-op-1.c      | 2 +-
+ 17 files changed, 17 insertions(+), 16 deletions(-)
+
+diff --git a/gcc/testsuite/gcc.dg/pr56275.c b/gcc/testsuite/gcc.dg/pr56275.c
+index b901bb2b199..a4f6c95e1a1 100644
+--- a/gcc/testsuite/gcc.dg/pr56275.c
++++ b/gcc/testsuite/gcc.dg/pr56275.c
+@@ -1,6 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2" } */
+-/* { dg-additional-options "-mno-sse" { target { i?86-*-* x86_64-*-* } } } */
++/* { dg-additional-options "-mno-sse -mfpmath=387" { target { i?86-*-* x86_64-*-* } } } */
+ 
+ typedef long long v2tw __attribute__ ((vector_size (2 * sizeof (long long))));
+ 
+diff --git a/gcc/testsuite/gcc.dg/pr68306-2.c b/gcc/testsuite/gcc.dg/pr68306-2.c
+index 4672ebe7987..2a368c484b6 100644
+--- a/gcc/testsuite/gcc.dg/pr68306-2.c
++++ b/gcc/testsuite/gcc.dg/pr68306-2.c
+@@ -1,6 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O3" } */
+-/* { dg-additional-options "-mno-sse -mno-mmx" { target i?86-*-* x86_64-*-* } } */
++/* { dg-additional-options "-mno-sse -mno-mmx -mfpmath=387" { target i?86-*-* x86_64-*-* } } */
+ 
+ struct {
+     int tz_minuteswest;
+diff --git a/gcc/testsuite/gcc.dg/pr68306-3.c b/gcc/testsuite/gcc.dg/pr68306-3.c
+index f5a8c102cf8..df3390c64c2 100644
+--- a/gcc/testsuite/gcc.dg/pr68306-3.c
++++ b/gcc/testsuite/gcc.dg/pr68306-3.c
+@@ -1,6 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O3" } */
+-/* { dg-additional-options "-mno-sse -mno-mmx" { target i?86-*-* x86_64-*-* } } */
++/* { dg-additional-options "-mno-sse -mno-mmx -mfpmath=387" { target i?86-*-* x86_64-*-* } } */
+ /* { dg-additional-options "-mno-altivec -mno-vsx" { target powerpc*-*-* } } */
+ 
+ extern void fn2();
+diff --git a/gcc/testsuite/gcc.dg/pr68306.c b/gcc/testsuite/gcc.dg/pr68306.c
+index 54e5b40f221..0813389e2c1 100644
+--- a/gcc/testsuite/gcc.dg/pr68306.c
++++ b/gcc/testsuite/gcc.dg/pr68306.c
+@@ -1,6 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O3" } */
+-/* { dg-additional-options "-mno-sse -mno-mmx" { target i?86-*-* x86_64-*-* } } */
++/* { dg-additional-options "-mno-sse -mno-mmx -mfpmath=387" { target i?86-*-* x86_64-*-* } } */
+ 
+ enum powerpc_pmc_type { PPC_PMC_IBM };
+ struct {
+diff --git a/gcc/testsuite/gcc.dg/pr69634.c b/gcc/testsuite/gcc.dg/pr69634.c
+index 60a56149463..bcc23f9ccd6 100644
+--- a/gcc/testsuite/gcc.dg/pr69634.c
++++ b/gcc/testsuite/gcc.dg/pr69634.c
+@@ -1,6 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -fno-dce -fschedule-insns -fno-tree-vrp -fcompare-debug -Wno-psabi" } */
+-/* { dg-additional-options "-mno-sse" { target i?86-*-* x86_64-*-* } } */
++/* { dg-additional-options "-mno-sse -mfpmath=387" { target i?86-*-* x86_64-*-* } } */
+ /* { dg-require-effective-target scheduling } */
+ 
+ typedef unsigned short u16;
+diff --git a/gcc/testsuite/gcc.target/i386/amd64-abi-1.c b/gcc/testsuite/gcc.target/i386/amd64-abi-1.c
+index 69fde57bf06..7f1f1c03edf 100644
+--- a/gcc/testsuite/gcc.target/i386/amd64-abi-1.c
++++ b/gcc/testsuite/gcc.target/i386/amd64-abi-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile { target { ! ia32 } } } */
+-/* { dg-options "-mno-sse" } */
++/* { dg-options "-mno-sse -mfpmath=387" } */
+ /* { dg-additional-options "-mabi=sysv" { target *-*-mingw* } } */
+ 
+ double foo(void) { return 0; }	/* { dg-error "SSE disabled" } */
+diff --git a/gcc/testsuite/gcc.target/i386/funcspec-6.c b/gcc/testsuite/gcc.target/i386/funcspec-6.c
+index ea896b7ebfd..bf15569b826 100644
+--- a/gcc/testsuite/gcc.target/i386/funcspec-6.c
++++ b/gcc/testsuite/gcc.target/i386/funcspec-6.c
+@@ -1,6 +1,7 @@
+ /* Test whether all of the 64-bit function specific options are accepted
+    without error.  */
+ /* { dg-do compile { target { ! ia32 } } } */
++/* { dg-additional-options "-mfpmath=387" } */
+ 
+ #include "funcspec-56.inc"
+ 
+diff --git a/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c b/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c
+index 3fbdc881dda..6b4d9d1252a 100644
+--- a/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c
++++ b/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mgeneral-regs-only -mno-cld -mno-iamcu -m80387" } */
++/* { dg-options "-O2 -mgeneral-regs-only -mno-cld -mno-iamcu -m80387 -mfpmath=387" } */
+ 
+ typedef unsigned int uword_t __attribute__ ((mode (__word__)));
+ 
+diff --git a/gcc/testsuite/gcc.target/i386/isa-14.c b/gcc/testsuite/gcc.target/i386/isa-14.c
+index 5d49e6e77fe..1de2db92bdd 100644
+--- a/gcc/testsuite/gcc.target/i386/isa-14.c
++++ b/gcc/testsuite/gcc.target/i386/isa-14.c
+@@ -1,5 +1,5 @@
+ /* { dg-do run } */
+-/* { dg-options "-march=x86-64 -msse4a -mfma4 -mno-sse" } */
++/* { dg-options "-march=x86-64 -msse4a -mfma4 -mno-sse -mfpmath=387" } */
+ 
+ extern void abort (void);
+ 
+diff --git a/gcc/testsuite/gcc.target/i386/pr44948-2b.c b/gcc/testsuite/gcc.target/i386/pr44948-2b.c
+index fa1769b62fb..f79fb12726f 100644
+--- a/gcc/testsuite/gcc.target/i386/pr44948-2b.c
++++ b/gcc/testsuite/gcc.target/i386/pr44948-2b.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O -mno-sse -Wno-psabi -mtune=generic" } */
++/* { dg-options "-O -mno-sse -Wno-psabi -mtune=generic -mfpmath=387" } */
+ 
+ struct A
+ { 
+diff --git a/gcc/testsuite/gcc.target/i386/pr53425-1.c b/gcc/testsuite/gcc.target/i386/pr53425-1.c
+index 2e89ff7d81d..6339bf6b736 100644
+--- a/gcc/testsuite/gcc.target/i386/pr53425-1.c
++++ b/gcc/testsuite/gcc.target/i386/pr53425-1.c
+@@ -1,6 +1,6 @@
+ /* PR target/53425 */
+ /* { dg-do compile { target { ! ia32 } } } */
+-/* { dg-options "-O2 -mno-sse" } */
++/* { dg-options "-O2 -mno-sse -mfpmath=387" } */
+ /* { dg-skip-if "no SSE vector" { x86_64-*-mingw* } } */
+ 
+ typedef double __v2df __attribute__ ((__vector_size__ (16)));
+diff --git a/gcc/testsuite/gcc.target/i386/pr53425-2.c b/gcc/testsuite/gcc.target/i386/pr53425-2.c
+index 61f6283dbe9..2c5a55f0ac3 100644
+--- a/gcc/testsuite/gcc.target/i386/pr53425-2.c
++++ b/gcc/testsuite/gcc.target/i386/pr53425-2.c
+@@ -1,6 +1,6 @@
+ /* PR target/53425 */
+ /* { dg-do compile { target { ! ia32 } } } */
+-/* { dg-options "-O2 -mno-sse" } */
++/* { dg-options "-O2 -mno-sse -mfpmath=387" } */
+ /* { dg-skip-if "no SSE vector" { x86_64-*-mingw* } } */
+ 
+ typedef float __v2sf __attribute__ ((__vector_size__ (8)));
+diff --git a/gcc/testsuite/gcc.target/i386/pr55247.c b/gcc/testsuite/gcc.target/i386/pr55247.c
+index 23366d0909d..9810e3abb76 100644
+--- a/gcc/testsuite/gcc.target/i386/pr55247.c
++++ b/gcc/testsuite/gcc.target/i386/pr55247.c
+@@ -1,6 +1,6 @@
+ /* { dg-do compile { target { ! ia32 } } } */
+ /* { dg-require-effective-target maybe_x32 } */
+-/* { dg-options "-O2 -mno-sse -mno-mmx -mx32 -maddress-mode=long" } */
++/* { dg-options "-O2 -mno-sse -mno-mmx -mx32 -maddress-mode=long -mfpmath=387" } */
+ 
+ typedef unsigned int uint32_t;
+ typedef uint32_t Elf32_Word;
+diff --git a/gcc/testsuite/gcc.target/i386/pr59644.c b/gcc/testsuite/gcc.target/i386/pr59644.c
+index 96006b3e338..4287e4538bf 100644
+--- a/gcc/testsuite/gcc.target/i386/pr59644.c
++++ b/gcc/testsuite/gcc.target/i386/pr59644.c
+@@ -1,6 +1,6 @@
+ /* PR target/59644 */
+ /* { dg-do run { target lp64 } } */
+-/* { dg-options "-O2 -ffreestanding -mno-sse -mpreferred-stack-boundary=3 -maccumulate-outgoing-args -mno-red-zone" } */
++/* { dg-options "-O2 -ffreestanding -mno-sse -mpreferred-stack-boundary=3 -maccumulate-outgoing-args -mno-red-zone -mfpmath=387" } */
+ 
+ /* This test uses __builtin_trap () instead of e.g. abort,
+    because due to -mpreferred-stack-boundary=3 it should not call
+diff --git a/gcc/testsuite/gcc.target/i386/pr62120.c b/gcc/testsuite/gcc.target/i386/pr62120.c
+index bfb8c4703eb..ed04cf181f3 100644
+--- a/gcc/testsuite/gcc.target/i386/pr62120.c
++++ b/gcc/testsuite/gcc.target/i386/pr62120.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-mno-sse" } */
++/* { dg-options "-mno-sse -mfpmath=387" } */
+ 
+ void foo ()
+ {
+diff --git a/gcc/testsuite/gcc.target/i386/pr70467-1.c b/gcc/testsuite/gcc.target/i386/pr70467-1.c
+index 4e112c88d07..bcfb396a68d 100644
+--- a/gcc/testsuite/gcc.target/i386/pr70467-1.c
++++ b/gcc/testsuite/gcc.target/i386/pr70467-1.c
+@@ -1,6 +1,6 @@
+ /* PR rtl-optimization/70467 */
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mno-sse" } */
++/* { dg-options "-O2 -mno-sse -mfpmath=387" } */
+ 
+ void foo (unsigned long long *);
+ 
+diff --git a/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c b/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c
+index 6cda1534311..26e37f5b8ba 100644
+--- a/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c
++++ b/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile { target { ! ia32 } } }  */
+-/* { dg-options "-mno-sse -Wvector-operation-performance" }  */
++/* { dg-options "-mno-sse -Wvector-operation-performance -mfpmath=387" }  */
+ #define vector(elcount, type)  \
+ __attribute__((vector_size((elcount)*sizeof(type)))) type
+ 
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0037-Re-introduce-spe-commandline-options.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0037-Re-introduce-spe-commandline-options.patch
new file mode 100644
index 0000000..251097e
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.1/0037-Re-introduce-spe-commandline-options.patch
@@ -0,0 +1,41 @@
+From 49d3dbe240226206d09ff646499cd398cb60bd12 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 6 Jun 2018 12:10:22 -0700
+Subject: [PATCH 37/37] Re-introduce spe commandline options
+
+This should ensure that we keep accepting
+spe options
+
+Upstream-Status: Inappropriate [SPE port is removed from rs600 port]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/config/rs6000/rs6000.opt | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt
+index 2e90bf37747..ebd297da46b 100644
+--- a/gcc/config/rs6000/rs6000.opt
++++ b/gcc/config/rs6000/rs6000.opt
+@@ -345,6 +345,18 @@ mdebug=
+ Target RejectNegative Joined
+ -mdebug=	Enable debug output.
+ 
++mspe
++Target Var(rs6000_spe) Save
++Generate SPE SIMD instructions on E500.
++
++mabi=spe
++Target RejectNegative Var(rs6000_spe_abi) Save
++Use the SPE ABI extensions.
++
++mabi=no-spe
++Target RejectNegative Var(rs6000_spe_abi, 0)
++Do not use the SPE ABI extensions.
++
+ mabi=altivec
+ Target RejectNegative Var(rs6000_altivec_abi) Save
+ Use the AltiVec ABI extensions.
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc b/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc
index 375c5e9..b6f2ca5 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc
@@ -5,15 +5,9 @@
 #
 # These can be overridden by the version specific .inc file.
 
-# Java (gcj doesn't work on all architectures)
-JAVA ?= ",java"
-JAVA_arm ?= ""
-JAVA_armeb ?= ""
-JAVA_mipsel ?= ""
-JAVA_sh3 ?= ""
 # gcc 3.x expects 'f77', 4.0 expects 'f95', 4.1 and 4.2 expect 'fortran'
 FORTRAN ?= ",f77"
-LANGUAGES ?= "c,c++${FORTRAN}${JAVA}"
+LANGUAGES ?= "c,c++${FORTRAN}"
 
 EXTRA_OECONF_BASE ?= ""
 EXTRA_OECONF_PATHS ?= ""
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
index e7c08d3..807e47e 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
@@ -159,10 +159,9 @@
 SYSTEMLIBS1 = "${target_libdir}/"
 
 EXTRA_OECONF += "--enable-poison-system-directories"
-
-EXTRA_OECONF_append_libc-baremetal = " --without-headers"
-EXTRA_OECONF_remove_libc-baremetal = "--with-sysroot=/not/exist"
-EXTRA_OECONF_remove_libc-baremetal = "--with-build-sysroot=${STAGING_DIR_TARGET}"
-
+EXTRA_OECONF_remove_elf = "--with-sysroot=/not/exist"
+EXTRA_OECONF_remove_eabi = "--with-sysroot=/not/exist"
+EXTRA_OECONF_append_elf = "--without-headers --with-newlib"
+EXTRA_OECONF_append_eabi = "--without-headers --with-newlib"
 # gcc 4.7 needs -isystem
 export ARCH_FLAGS_FOR_TARGET = "--sysroot=${STAGING_DIR_TARGET} -isystem=${target_includedir}"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_9.1.bb
new file mode 100644
index 0000000..bf53c5c
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_9.1.bb
@@ -0,0 +1,5 @@
+require recipes-devtools/gcc/gcc-${PV}.inc
+require gcc-cross-canadian.inc
+
+
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc-cross_9.1.bb
new file mode 100644
index 0000000..b43cca0
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-cross_9.1.bb
@@ -0,0 +1,3 @@
+require recipes-devtools/gcc/gcc-${PV}.inc
+require gcc-cross.inc
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-crosssdk_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc-crosssdk_9.1.bb
new file mode 100644
index 0000000..40a6c4f
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-crosssdk_9.1.bb
@@ -0,0 +1,2 @@
+require recipes-devtools/gcc/gcc-cross_${PV}.bb
+require gcc-crosssdk.inc
diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc-runtime_9.1.bb
new file mode 100644
index 0000000..a1c7a76
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-runtime_9.1.bb
@@ -0,0 +1,12 @@
+require recipes-devtools/gcc/gcc-${PV}.inc
+require gcc-runtime.inc
+
+# Disable ifuncs for libatomic on arm conflicts -march/-mcpu
+EXTRA_OECONF_append_arm = " libat_cv_have_ifunc=no "
+
+FILES_libgomp-dev += "\
+    ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/openacc.h \
+"
+
+# Building with thumb enabled on armv6t fails
+ARM_INSTRUCTION_SET_armv6 = "arm"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc b/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc
index e5e8452..8b1d1c9 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc
@@ -45,6 +45,9 @@
 ALLOW_EMPTY_${PN} = "1"
 DEPENDS = "gcc-runtime virtual/${TARGET_PREFIX}gcc"
 
+# used to fix ../../../../../../../../../work-shared/gcc-8.3.0-r0/gcc-8.3.0/libsanitizer/libbacktrace/../../libbacktrace/elf.c:772:21: error: 'st.st_mode' may be used uninitialized in this function [-Werror=maybe-uninitialized]
+DEBUG_OPTIMIZATION_append = " -Wno-error"
+
 BBCLASSEXTEND = "nativesdk"
 
 PACKAGES = "${PN} ${PN}-dbg"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-sanitizers_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc-sanitizers_9.1.bb
new file mode 100644
index 0000000..f3c7058
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-sanitizers_9.1.bb
@@ -0,0 +1,7 @@
+require recipes-devtools/gcc/gcc-${PV}.inc
+require gcc-sanitizers.inc
+
+# Building with thumb enabled on armv4t armv5t fails with
+# sanitizer_linux.s:5749: Error: lo register required -- `ldr ip,[sp],#8'
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-source_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc-source_9.1.bb
new file mode 100644
index 0000000..b890fa3
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-source_9.1.bb
@@ -0,0 +1,4 @@
+require recipes-devtools/gcc/gcc-${PV}.inc
+require recipes-devtools/gcc/gcc-source.inc
+
+EXCLUDE_FROM_WORLD = "1"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-target.inc b/poky/meta/recipes-devtools/gcc/gcc-target.inc
index 6270059..bdc6ff6 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-target.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-target.inc
@@ -2,9 +2,7 @@
 require gcc-configure-common.inc
 
 EXTRA_OECONF_PATHS = "\
-    --with-sysroot=/ \
     --with-build-sysroot=${STAGING_DIR_TARGET} \
-    --with-gxx-include-dir=${includedir}/c++/${BINV} \
 "
 
 EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu"
diff --git a/poky/meta/recipes-devtools/gcc/gcc_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc_9.1.bb
new file mode 100644
index 0000000..7d93590
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc_9.1.bb
@@ -0,0 +1,14 @@
+require recipes-devtools/gcc/gcc-${PV}.inc
+require gcc-target.inc
+
+# Building with thumb enabled on armv4t armv5t fails with
+# | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7438:(.text.unlikely+0x2fa): relocation truncated to fit: R_ARM_THM_CALL against symbol `fancy_abort(char const*, int, char const*)' defined in .glue_7 section in linker stubs
+# | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7442:(.text.unlikely+0x318): additional relocation overflows omitted from the output
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+
+ARMFPARCHEXT_armv6 = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}"
+ARMFPARCHEXT_armv7a = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}"
+ARMFPARCHEXT_armv7ve = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/poky/meta/recipes-devtools/gcc/libgcc-initial_9.1.bb b/poky/meta/recipes-devtools/gcc/libgcc-initial_9.1.bb
new file mode 100644
index 0000000..0c698c2
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/libgcc-initial_9.1.bb
@@ -0,0 +1,5 @@
+require recipes-devtools/gcc/gcc-${PV}.inc
+require libgcc-initial.inc
+
+# Building with thumb enabled on armv6t fails
+ARM_INSTRUCTION_SET_armv6 = "arm"
diff --git a/poky/meta/recipes-devtools/gcc/libgcc_9.1.bb b/poky/meta/recipes-devtools/gcc/libgcc_9.1.bb
new file mode 100644
index 0000000..ea210a1
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/libgcc_9.1.bb
@@ -0,0 +1,5 @@
+require recipes-devtools/gcc/gcc-${PV}.inc
+require libgcc.inc
+
+# Building with thumb enabled on armv6t fails
+ARM_INSTRUCTION_SET_armv6 = "arm"
diff --git a/poky/meta/recipes-devtools/gcc/libgfortran.inc b/poky/meta/recipes-devtools/gcc/libgfortran.inc
index 4b7b7b2..7543585 100644
--- a/poky/meta/recipes-devtools/gcc/libgfortran.inc
+++ b/poky/meta/recipes-devtools/gcc/libgfortran.inc
@@ -66,6 +66,7 @@
     ${libdir}/gcc/${TARGET_SYS}/${BINV}/libgfortranbegin.* \
     ${libdir}/gcc/${TARGET_SYS}/${BINV}/libcaf_single* \
     ${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude/ \
+    ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ \
 "
 FILES_${PN}-staticdev = "${libdir}/libgfortran.a"
 
diff --git a/poky/meta/recipes-devtools/gcc/libgfortran_9.1.bb b/poky/meta/recipes-devtools/gcc/libgfortran_9.1.bb
new file mode 100644
index 0000000..71dd8b4
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/libgfortran_9.1.bb
@@ -0,0 +1,3 @@
+require recipes-devtools/gcc/gcc-${PV}.inc
+require libgfortran.inc
+
diff --git a/poky/meta/recipes-devtools/gdb/gdb-8.2.1.inc b/poky/meta/recipes-devtools/gdb/gdb-8.2.1.inc
index 1fc1ec0..f28b574 100644
--- a/poky/meta/recipes-devtools/gdb/gdb-8.2.1.inc
+++ b/poky/meta/recipes-devtools/gdb/gdb-8.2.1.inc
@@ -17,6 +17,8 @@
            file://0011-Fix-invalid-sigprocmask-call.patch \
            file://gdbserver-ctrl-c-handling.patch \
            file://0001-Fix-build-with-latest-GCC-9.0-tree.patch \
+           file://CVE-2017-9778.patch \
+           file://0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch \
 "
 SRC_URI[md5sum] = "f8b2562e830a4098dd5b5ea9e9296c70"
 SRC_URI[sha256sum] = "0a6a432907a03c5c8eaad3c3cffd50c00a40c3a5e3c4039440624bae703f2202"
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch b/poky/meta/recipes-devtools/gdb/gdb/0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch
new file mode 100644
index 0000000..f35033c
--- /dev/null
+++ b/poky/meta/recipes-devtools/gdb/gdb/0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch
@@ -0,0 +1,52 @@
+From cbbf1a8ba7f037ba3b83f090829edcbab542c285 Mon Sep 17 00:00:00 2001
+From: Szabolcs Nagy <szabolcs.nagy@arm.com>
+Date: Thu, 13 Dec 2018 17:47:17 +0000
+Subject: [PATCH] AArch64: Fix the gdb build with musl libc
+
+Including asm/sigcontext.h together with libc headers is not valid. In
+general linux headers may not work with libc headers, so mixing them
+should be avoided, especially when the linux header defines types that
+are also exposed in libc headers.
+
+In case of asm/sigcontext.h glibc happens to work because glibc signal.h
+directly includes it, but e.g. in musl libc signal.h replicates the
+sigcontext.h definitions in an abi compatible way which are in conflict
+with the linux definitions when both headers are included.
+
+Since old linux headers or old libc headers may not have the necessary
+definitions, gdb has to replicate the definitions it relies on anyway.
+Which is fine since all definitions must be ABI stable. For linux apis
+that are not available via libc headers, replicating the definitions in
+gdb is the most reliable way to use them.
+
+Note: asm/ptrace.h includes asm/sigcontext.h in some versions of linux
+headers, which is just as problematic and should be fixed in linux.
+
+gdb/ChangeLog:
+
+	* nat/aarch64-sve-linux-ptrace.h: Include signal.h instead of
+	asm/sigcontext.h.
+
+[ChangeLog entry stripped so that patch applies cleanly]
+Upstream-Status: Backport
+Signed-off-by: Paul Barker <paul@betafive.co.uk>
+---
+ gdb/nat/aarch64-sve-linux-ptrace.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gdb/nat/aarch64-sve-linux-ptrace.h b/gdb/nat/aarch64-sve-linux-ptrace.h
+index 029e753ffe..172ae39432 100644
+--- a/gdb/nat/aarch64-sve-linux-ptrace.h
++++ b/gdb/nat/aarch64-sve-linux-ptrace.h
+@@ -20,7 +20,7 @@
+ #ifndef AARCH64_SVE_LINUX_PTRACE_H
+ #define AARCH64_SVE_LINUX_PTRACE_H
+ 
+-#include <asm/sigcontext.h>
++#include <signal.h>
+ #include <sys/utsname.h>
+ #include <sys/ptrace.h>
+ #include <asm/ptrace.h>
+-- 
+2.17.1
+
diff --git a/poky/meta/recipes-devtools/gdb/gdb/CVE-2017-9778.patch b/poky/meta/recipes-devtools/gdb/gdb/CVE-2017-9778.patch
new file mode 100644
index 0000000..935f266
--- /dev/null
+++ b/poky/meta/recipes-devtools/gdb/gdb/CVE-2017-9778.patch
@@ -0,0 +1,99 @@
+From a608b79f30ab3f670095e14ba3d3b5b24a19fe68 Mon Sep 17 00:00:00 2001
+From: Sandra Loosemore <sandra@codesourcery.com>
+Date: Thu, 25 Apr 2019 07:27:02 -0700
+Subject: [PATCH] Detect invalid length field in debug frame FDE header.
+
+GDB was failing to catch cases where a corrupt ELF or core file
+contained an invalid length value in a Dwarf debug frame FDE header.
+It was checking for buffer overflow but not cases where the length was
+negative or caused pointer wrap-around.
+
+In addition to the additional validity check, this patch cleans up the
+multiple signed/unsigned conversions on the length field so that an
+unsigned representation is used consistently throughout.
+
+This patch fixes CVE-2017-9778 and PR gdb/21600.
+
+2019-04-25  Sandra Loosemore  <sandra@codesourcery.com>
+	    Kang Li <kanglictf@gmail.com>
+
+	PR gdb/21600
+
+	* dwarf2-frame.c (read_initial_length): Be consistent about using
+	unsigned representation of length.
+	(decode_frame_entry_1): Likewise.  Check for wraparound of
+	end pointer as well as buffer overflow.
+
+Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=723adb650a31859d7cc45832cb8adca0206455ed]
+CVE: CVE-2017-9778
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ gdb/ChangeLog      | 11 +++++++++++
+ gdb/dwarf2-frame.c | 14 +++++++-------
+ 2 files changed, 18 insertions(+), 7 deletions(-)
+
+diff --git a/gdb/ChangeLog b/gdb/ChangeLog
+index 3711dc7..0a9720b 100644
+--- a/gdb/ChangeLog
++++ b/gdb/ChangeLog
+@@ -1,3 +1,14 @@
++2019-04-25  Sandra Loosemore  <sandra@codesourcery.com>
++	    Kang Li <kanglictf@gmail.com>
++
++	PR gdb/21600
++
++	* dwarf2-frame.c (read_initial_length): Be consistent about using
++	unsigned representation of length.
++	(decode_frame_entry_1): Likewise.  Check for wraparound of
++	end pointer as well as buffer overflow.
++
++
+ 2018-12-23  Joel Brobecker  <brobecker@adacore.com>
+ 
+ 	* version.in: Set GDB version number to 8.2.1.
+diff --git a/gdb/dwarf2-frame.c b/gdb/dwarf2-frame.c
+index 91e16cf..a7b99fd 100644
+--- a/gdb/dwarf2-frame.c
++++ b/gdb/dwarf2-frame.c
+@@ -1477,7 +1477,7 @@ static ULONGEST
+ read_initial_length (bfd *abfd, const gdb_byte *buf,
+ 		     unsigned int *bytes_read_ptr)
+ {
+-  LONGEST result;
++  ULONGEST result;
+ 
+   result = bfd_get_32 (abfd, buf);
+   if (result == 0xffffffff)
+@@ -1780,7 +1780,7 @@ decode_frame_entry_1 (struct comp_unit *unit, const gdb_byte *start,
+ {
+   struct gdbarch *gdbarch = get_objfile_arch (unit->objfile);
+   const gdb_byte *buf, *end;
+-  LONGEST length;
++  ULONGEST length;
+   unsigned int bytes_read;
+   int dwarf64_p;
+   ULONGEST cie_id;
+@@ -1791,15 +1791,15 @@ decode_frame_entry_1 (struct comp_unit *unit, const gdb_byte *start,
+   buf = start;
+   length = read_initial_length (unit->abfd, buf, &bytes_read);
+   buf += bytes_read;
+-  end = buf + length;
+-
+-  /* Are we still within the section?  */
+-  if (end > unit->dwarf_frame_buffer + unit->dwarf_frame_size)
+-    return NULL;
++  end = buf + (size_t) length;
+ 
+   if (length == 0)
+     return end;
+ 
++  /* Are we still within the section?  */
++  if (end <= buf || end > unit->dwarf_frame_buffer + unit->dwarf_frame_size)
++    return NULL;
++
+   /* Distinguish between 32 and 64-bit encoded frame info.  */
+   dwarf64_p = (bytes_read == 12);
+ 
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/git/git_2.20.1.bb b/poky/meta/recipes-devtools/git/git_2.20.1.bb
deleted file mode 100644
index 877fb05..0000000
--- a/poky/meta/recipes-devtools/git/git_2.20.1.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require git.inc
-
-EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no \
-                 ac_cv_fread_reads_directories=${ac_cv_fread_reads_directories=yes} \
-                 "
-EXTRA_OEMAKE += "NO_GETTEXT=1"
-
-SRC_URI[tarball.md5sum] = "7a7769e5c957364ed0aed89e6e67c254"
-SRC_URI[tarball.sha256sum] = "edc3bc1495b69179ba4e272e97eff93334a20decb1d8db6ec3c19c16417738fd"
-SRC_URI[manpages.md5sum] = "78c6e54a61a167dab5e8ae07036293ab"
-SRC_URI[manpages.sha256sum] = "e9c123463abd05e142defe44a8060ce6e9853dfd8c83b2542e38b7deac4e6d4c"
diff --git a/poky/meta/recipes-devtools/git/git_2.21.0.bb b/poky/meta/recipes-devtools/git/git_2.21.0.bb
new file mode 100644
index 0000000..434ff8f
--- /dev/null
+++ b/poky/meta/recipes-devtools/git/git_2.21.0.bb
@@ -0,0 +1,11 @@
+require git.inc
+
+EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no \
+                 ac_cv_fread_reads_directories=${ac_cv_fread_reads_directories=yes} \
+                 "
+EXTRA_OEMAKE += "NO_GETTEXT=1"
+
+SRC_URI[tarball.md5sum] = "b8e00c2997774c5d4aaf26fd9d9aaf64"
+SRC_URI[tarball.sha256sum] = "85eca51c7404da75e353eba587f87fea9481ba41e162206a6f70ad8118147bee"
+SRC_URI[manpages.md5sum] = "8a168697b99a9a3f04f29f7d4bacd70b"
+SRC_URI[manpages.sha256sum] = "14c76ebb4e31f9e55cf5338a04fd3a13bced0323cd51794ccf45fc74bd0c1080"
diff --git a/poky/meta/recipes-devtools/help2man/help2man-native_1.47.6.bb b/poky/meta/recipes-devtools/help2man/help2man-native_1.47.10.bb
similarity index 79%
rename from poky/meta/recipes-devtools/help2man/help2man-native_1.47.6.bb
rename to poky/meta/recipes-devtools/help2man/help2man-native_1.47.10.bb
index 794d308..5feaeea 100644
--- a/poky/meta/recipes-devtools/help2man/help2man-native_1.47.6.bb
+++ b/poky/meta/recipes-devtools/help2man/help2man-native_1.47.10.bb
@@ -5,9 +5,8 @@
 DEPENDS = "autoconf-native automake-native"
 
 SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz"
-
-SRC_URI[md5sum] = "7424901e6eca8af372d2ad62be5cf659"
-SRC_URI[sha256sum] = "d91b0295b72a638e4a564f643e4e6d1928779131f628c00f356c13bf336de46f"
+SRC_URI[md5sum] = "0d70833650a552e0af742882ba84f2ee"
+SRC_URI[sha256sum] = "f371cbfd63f879065422b58fa6b81e21870cd791ef6e11d4528608204aa4dcfb"
 
 inherit autotools native
 
diff --git a/poky/meta/recipes-devtools/libcomps/libcomps/0002-Set-library-installation-path-correctly.patch b/poky/meta/recipes-devtools/libcomps/libcomps/0002-Set-library-installation-path-correctly.patch
deleted file mode 100644
index dc3d976..0000000
--- a/poky/meta/recipes-devtools/libcomps/libcomps/0002-Set-library-installation-path-correctly.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From b1f61296e2f16c2b9a39c5501e4538628ff01ab4 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 30 Dec 2016 18:26:00 +0200
-Subject: [PATCH 2/2] Set library installation path correctly
-
-Upstream-Status: Submitted [https://github.com/rpm-software-management/libcomps/pull/32]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- libcomps/src/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libcomps/src/CMakeLists.txt b/libcomps/src/CMakeLists.txt
-index e553d77..e2eef9c 100644
---- a/libcomps/src/CMakeLists.txt
-+++ b/libcomps/src/CMakeLists.txt
-@@ -52,7 +52,7 @@ add_dependencies(libcomps src-copy)
- IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-     SET (LIB_SUFFIX "64")
- ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
--set (LIB_INST_DIR ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})
-+set (LIB_INST_DIR ${CMAKE_INSTALL_LIBDIR})
- 
- 
- install (FILES ${libcomps_HEADERS} DESTINATION include/libcomps)
--- 
-2.11.0
-
diff --git a/poky/meta/recipes-devtools/libcomps/libcomps_git.bb b/poky/meta/recipes-devtools/libcomps/libcomps_git.bb
index ff68208..372c3c3 100644
--- a/poky/meta/recipes-devtools/libcomps/libcomps_git.bb
+++ b/poky/meta/recipes-devtools/libcomps/libcomps_git.bb
@@ -4,13 +4,12 @@
 
 SRC_URI = "git://github.com/rpm-software-management/libcomps.git \
            file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
-           file://0002-Set-library-installation-path-correctly.patch \
            file://0001-Make-__comps_objmrtree_all-static-inline.patch \
            file://0001-Add-crc32.c-to-sources-list.patch \
            "
 
-PV = "0.1.10"
-SRCREV = "86a82fcd155c27092340d15a34f5c75c4da88243"
+PV = "0.1.11"
+SRCREV = "d868a79b76fb980d1371c28124ae07f00d2b63a9"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0001-Add-WITH_TESTS-option.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Add-WITH_TESTS-option.patch
index 7c8131b..3c87d4d 100644
--- a/poky/meta/recipes-devtools/libdnf/libdnf/0001-Add-WITH_TESTS-option.patch
+++ b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Add-WITH_TESTS-option.patch
@@ -1,4 +1,4 @@
-From 0d0155c4dd6c0b3305ea2ab0e10b0f84d024a6e1 Mon Sep 17 00:00:00 2001
+From e5a50db749b2b02e9e0cff9f7b639020e8ac76da Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Tue, 6 Nov 2018 13:54:43 +0100
 Subject: [PATCH] Add WITH_TESTS option
@@ -14,36 +14,36 @@
  2 files changed, 5 insertions(+)
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index b73a03d7..a9e0200f 100644
+index ce88b9e3..7a99320a 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -36,6 +36,7 @@ OPTION(WITH_MAN "Enables hawkey man page generation" ON)
- OPTION(WITH_HTML "Enables hawkey HTML generation" ON)
+@@ -32,6 +32,7 @@ option(WITH_HTML "Enables hawkey HTML generation" ON)
+ option(WITH_MAN "Enables hawkey man page generation" ON)
+ option(ENABLE_RHSM_SUPPORT "Build with Red Hat Subscription Manager support?" OFF)
+ option(ENABLE_SOLV_URPMREORDER "Build with support for URPM-like solution reordering?" OFF)
++option(WITH_TESTS "Enables unit tests" ON)
  
- OPTION(WITH_BINDINGS "Enables python/SWIG bindings" ON)
-+OPTION(WITH_TESTS "Enables unit tests" ON)
  
- OPTION (ENABLE_SOLV_URPMREORDER "Build with support for URPM-like solution reordering?" OFF)
- option (ENABLE_RHSM_SUPPORT "Build with Red Hat Subscription Manager support?" OFF)
-@@ -122,8 +123,10 @@ IF (WITH_BINDINGS)
- # ADD_SUBDIRECTORY (bindings/perl)
- ADD_SUBDIRECTORY (bindings/python)
- ENDIF()
+ # load pkg-config first; it's required by other modules
+@@ -158,8 +159,10 @@ endif()
+ 
+ 
+ # build tests
 +IF (WITH_TESTS)
- ENABLE_TESTING()
- ADD_SUBDIRECTORY (tests)
+ enable_testing()
+ add_subdirectory(tests)
 +ENDIF()
- IF (WITH_BINDINGS)
- ADD_SUBDIRECTORY (python/hawkey)
- ADD_SUBDIRECTORY (docs/hawkey)
+ if(WITH_BINDINGS)
+     add_subdirectory(python/hawkey)
+ endif()
 diff --git a/python/hawkey/CMakeLists.txt b/python/hawkey/CMakeLists.txt
-index 3c0b3c0c..31466ed9 100644
+index d9645346..84d17204 100644
 --- a/python/hawkey/CMakeLists.txt
 +++ b/python/hawkey/CMakeLists.txt
-@@ -49,4 +49,6 @@ TARGET_LINK_LIBRARIES(_hawkeymodule ${PYTHON_LIBRARY})
- INSTALL(FILES __init__.py DESTINATION ${PYTHON_INSTALL_DIR}/hawkey)
- INSTALL(TARGETS _hawkeymodule LIBRARY DESTINATION ${PYTHON_INSTALL_DIR}/hawkey)
+@@ -50,4 +50,6 @@ target_link_libraries(_hawkeymodule ${PYTHON_LIBRARY})
+ install(FILES __init__.py DESTINATION ${PYTHON_INSTALL_DIR}/hawkey)
+ install(TARGETS _hawkeymodule LIBRARY DESTINATION ${PYTHON_INSTALL_DIR}/hawkey)
  
 +IF (WITH_TESTS)
- ADD_SUBDIRECTORY(tests)
+ add_subdirectory(tests)
 +ENDIF()
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch
index 246db34..10450de 100644
--- a/poky/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch
+++ b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch
@@ -1,4 +1,4 @@
-From c139a6c929cff93dbb9b8279e97263fc9e055727 Mon Sep 17 00:00:00 2001
+From 9294cd19e5e3121fb8d37b44ee82dd7c4b3ab2c7 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Tue, 7 Feb 2017 12:16:03 +0200
 Subject: [PATCH] Get parameters for both libsolv and libsolvext (libdnf is
@@ -13,15 +13,15 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index cd91f08..6422534 100644
+index b722d4fb..ce88b9e3 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -46,7 +46,7 @@ endif(APPLE)
- PKG_CHECK_MODULES(GLIB gio-unix-2.0>=2.46.0 REQUIRED)
- pkg_check_modules(SMARTCOLS REQUIRED smartcols)
- FIND_LIBRARY (RPMDB_LIBRARY NAMES rpmdb)
+@@ -45,7 +45,7 @@ endif()
+ 
+ # build dependencies
+ find_package(Gpgme REQUIRED)
 -PKG_CHECK_MODULES (LIBSOLV REQUIRED libsolv)
 +PKG_CHECK_MODULES (LIBSOLV REQUIRED libsolv libsolvext)
  set(LIBSOLV_LIBRARY ${LIBSOLV_LIBRARIES})
- if (ENABLE_RHSM_SUPPORT)
-     pkg_check_modules (RHSM REQUIRED librhsm>=0.0.3)
+ find_package(OpenSSL REQUIRED)
+ 
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0001-include-missing-string-and-errno.h-headers.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0001-include-missing-string-and-errno.h-headers.patch
deleted file mode 100644
index 62de784..0000000
--- a/poky/meta/recipes-devtools/libdnf/libdnf/0001-include-missing-string-and-errno.h-headers.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From ccc89ff0c1f8e55a4a22444d051925408f265df1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 30 Jan 2019 10:32:11 -0800
-Subject: [PATCH] include missing <string> and errno.h headers
-
-This is unearthed when compiling with clang/libc++
-
-Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/677]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libdnf/conf/ConfigParser.hpp             | 1 +
- libdnf/module/modulemd/ModuleProfile.hpp | 1 +
- libdnf/sack/changelog.hpp                | 1 +
- libdnf/utils/smartcols/Cell.hpp          | 1 +
- 4 files changed, 4 insertions(+)
-
-diff --git a/libdnf/conf/ConfigParser.hpp b/libdnf/conf/ConfigParser.hpp
-index 97f25500..2a3851fa 100644
---- a/libdnf/conf/ConfigParser.hpp
-+++ b/libdnf/conf/ConfigParser.hpp
-@@ -23,6 +23,7 @@
- 
- #include <map>
- #include <stdexcept>
-+#include <string>
- #include <utility>
- 
- namespace libdnf {
-diff --git a/libdnf/module/modulemd/ModuleProfile.hpp b/libdnf/module/modulemd/ModuleProfile.hpp
-index ab018deb..8d996ff4 100644
---- a/libdnf/module/modulemd/ModuleProfile.hpp
-+++ b/libdnf/module/modulemd/ModuleProfile.hpp
-@@ -23,6 +23,7 @@
- 
- 
- #include <memory>
-+#include <string>
- #include <vector>
- 
- #include <modulemd/modulemd.h>
-diff --git a/libdnf/sack/changelog.hpp b/libdnf/sack/changelog.hpp
-index a3d3fc44..d830c414 100644
---- a/libdnf/sack/changelog.hpp
-+++ b/libdnf/sack/changelog.hpp
-@@ -23,6 +23,7 @@
- #define __CHANGELOG_HPP
- 
- #include <ctime>
-+#include <string>
- 
- namespace libdnf {
- 
-diff --git a/libdnf/utils/smartcols/Cell.hpp b/libdnf/utils/smartcols/Cell.hpp
-index 2e811dee..b90f0050 100644
---- a/libdnf/utils/smartcols/Cell.hpp
-+++ b/libdnf/utils/smartcols/Cell.hpp
-@@ -22,6 +22,7 @@
- #define LIBDNF_CELL_HPP
- 
- #include <libsmartcols/libsmartcols.h>
-+#include <cerrno>
- #include <string>
- #include <stdexcept>
- 
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch
index 80b1ed7..475c8f1 100644
--- a/poky/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch
+++ b/poky/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch
@@ -1,4 +1,4 @@
-From 2bcd0b9f6310bacdc554e077e85319a5e90e5ce0 Mon Sep 17 00:00:00 2001
+From 18c2c06017784cd641cc8a3deee5fc472008f7f4 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Fri, 30 Dec 2016 18:24:50 +0200
 Subject: [PATCH] Set libsolv variables with pkg-config (cmake's own module
@@ -13,16 +13,16 @@
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 0b405cb..cd91f08 100644
+index 16b63308..b722d4fb 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -46,7 +46,8 @@ endif(APPLE)
- PKG_CHECK_MODULES(GLIB gio-unix-2.0>=2.46.0 REQUIRED)
- pkg_check_modules(SMARTCOLS REQUIRED smartcols)
- FIND_LIBRARY (RPMDB_LIBRARY NAMES rpmdb)
--find_package (LibSolv 0.6.30 REQUIRED COMPONENTS ext)
+@@ -45,7 +45,8 @@ endif()
+ 
+ # build dependencies
+ find_package(Gpgme REQUIRED)
+-find_package(LibSolv 0.6.30 REQUIRED COMPONENTS ext)
 +PKG_CHECK_MODULES (LIBSOLV REQUIRED libsolv)
 +set(LIBSOLV_LIBRARY ${LIBSOLV_LIBRARIES})
- if (ENABLE_RHSM_SUPPORT)
-     pkg_check_modules (RHSM REQUIRED librhsm>=0.0.3)
-     include_directories (${RHSM_INCLUDE_DIRS})
+ find_package(OpenSSL REQUIRED)
+ 
+ 
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf_0.26.0.bb b/poky/meta/recipes-devtools/libdnf/libdnf_0.28.1.bb
similarity index 89%
rename from poky/meta/recipes-devtools/libdnf/libdnf_0.26.0.bb
rename to poky/meta/recipes-devtools/libdnf/libdnf_0.28.1.bb
index 9c2247c..4ff294c 100644
--- a/poky/meta/recipes-devtools/libdnf/libdnf_0.26.0.bb
+++ b/poky/meta/recipes-devtools/libdnf/libdnf_0.28.1.bb
@@ -7,10 +7,9 @@
            file://0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch \
            file://0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch \
            file://0001-Add-WITH_TESTS-option.patch \
-           file://0001-include-missing-string-and-errno.h-headers.patch \
            "
 
-SRCREV = "bd23204aa83d10e3d293a9f2d496cba6070f6a4d"
+SRCREV = "751f89045b80d58c0d05800f74357cf78cdf7e77"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb
index 87e9211..40715c0 100644
--- a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb
+++ b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb
@@ -7,8 +7,8 @@
            file://0002-modulemd-v1-meson.build-do-not-generate-gir-or-gtkdo.patch \
            "
 
-PV = "2.1.0"
-SRCREV = "072e6ee791fe7822a6d423bdac7e4a5cbb118bce"
+PV = "2.2.3"
+SRCREV = "4c75c6f8b39ee57aebe8fd36ef84808e893048c0"
 
 S = "${WORKDIR}/git"
 
@@ -20,11 +20,6 @@
 
 BBCLASSEXTEND = "native nativesdk"
 
-GI_ENABLE_FLAG = "-Dskip_introspection=false"
-GI_DISABLE_FLAG = "-Dskip_introspection=true"
-
-EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}"
-EXTRA_OEMESON_append_class-native = " ${GI_DISABLE_FLAG}"
-
-EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
-                                                                                       '${GI_DISABLE_FLAG}', d)} "
+GIR_MESON_OPTION = 'skip_introspection'
+GIR_MESON_ENABLE_FLAG = 'false'
+GIR_MESON_DISABLE_FLAG = 'true'
diff --git a/poky/meta/recipes-devtools/librepo/librepo_1.9.4.bb b/poky/meta/recipes-devtools/librepo/librepo_1.9.6.bb
similarity index 93%
rename from poky/meta/recipes-devtools/librepo/librepo_1.9.4.bb
rename to poky/meta/recipes-devtools/librepo/librepo_1.9.6.bb
index c4d6c16..fecedc9 100644
--- a/poky/meta/recipes-devtools/librepo/librepo_1.9.4.bb
+++ b/poky/meta/recipes-devtools/librepo/librepo_1.9.6.bb
@@ -7,7 +7,7 @@
            file://0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch \
            "
 
-SRCREV = "928c2d9c66f0d10477b8c9d1192785b88e2b1155"
+SRCREV = "7d8acd45eb09809a5ab729c312744da4b2fe92bb"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-devtools/m4/m4-1.4.18.inc b/poky/meta/recipes-devtools/m4/m4-1.4.18.inc
index a6cef6f..f433b3f 100644
--- a/poky/meta/recipes-devtools/m4/m4-1.4.18.inc
+++ b/poky/meta/recipes-devtools/m4/m4-1.4.18.inc
@@ -4,15 +4,18 @@
 compatible although it has some extensions (for example, handling more than 9 positional parameters to macros). \
 GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc."
 
-inherit autotools texinfo
+inherit autotools texinfo ptest
 
 SRC_URI = "${GNU_MIRROR}/m4/m4-${PV}.tar.gz \
            file://ac_config_links.patch \
            file://remove-gets.patch \
            file://m4-1.4.18-glibc-change-work-around.patch \
            "
-
-SRC_URI_append_class-target = " file://0001-Unset-need_charset_alias-when-building-for-musl.patch"
+SRC_URI_append_class-target = " file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
+                                file://run-ptest \
+                                file://serial-tests-config.patch \
+                                file://0001-test-getopt-posix-fix.patch \
+                              "
 
 SRC_URI[md5sum] = "a077779db287adf4e12a035029002d28"
 SRC_URI[sha256sum] = "ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab"
@@ -28,3 +31,31 @@
 EXTRA_OECONF += "--without-libsigsegv-prefix"
 
 EXTRA_OEMAKE += "'infodir=${infodir}'"
+
+do_compile_ptest() {
+	cd ${B}/tests
+	sed -i '/^buildtest-TESTS: /c buildtest-TESTS: $(TESTS) $(check_LIBRARIES) $(check_PROGRAMS)' Makefile
+	oe_runmake buildtest-TESTS
+}
+
+do_install_ptest() {
+                cp -r ${B}/tests                        ${D}${PTEST_PATH}
+                cp -r ${S}/tests/*                      ${D}${PTEST_PATH}/tests/
+                sed -i '/^Makefile:/c Makefile:'        ${D}${PTEST_PATH}/tests/Makefile
+                sed -i -e  "s;LOCALE_FR='fr_FR';LOCALE_FR='fr_FR.iso88591';g" \
+                       -e  "s;LOCALE_FR_UTF8='none';LOCALE_FR_UTF8='fr_FR.utf8';g" ${D}${PTEST_PATH}/tests/Makefile
+                find ${D}${PTEST_PATH} -type f -name *.[hoc] | xargs -i rm {}
+                cp ${S}/build-aux/update-copyright  ${D}${PTEST_PATH}/tests/
+                sed -i 's;update-copyright;./update-copyright;g' ${D}${PTEST_PATH}/tests/test-update-copyright.sh
+                chmod 0755 ${D}${PTEST_PATH}/tests/test-mbrtowc-w32-1.sh  ${D}${PTEST_PATH}/tests/test-spawn-pipe-main \
+                     ${D}${PTEST_PATH}/tests/test-spawn-pipe-child ${D}${PTEST_PATH}/tests/test-version-etc \
+                     ${D}${PTEST_PATH}/tests/test-xalloc-die
+}
+
+RDEPENDS_${PN}-ptest_append_libc-glibc = "\
+     locale-base-fr-fr.iso-8859-1 \
+"
+
+INSANE_SKIP_${PN}-ptest += "ldflags"
+INSANE_SKIP_${PN}-ptest += "rpaths"
+
diff --git a/poky/meta/recipes-devtools/m4/m4/0001-test-getopt-posix-fix.patch b/poky/meta/recipes-devtools/m4/m4/0001-test-getopt-posix-fix.patch
new file mode 100644
index 0000000..11508ee
--- /dev/null
+++ b/poky/meta/recipes-devtools/m4/m4/0001-test-getopt-posix-fix.patch
@@ -0,0 +1,41 @@
+From 75bea7c72a919859674f493548653de88f96c798 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Mon, 22 Apr 2019 10:36:13 +0800
+Subject: [PATCH] test-getopt-posix fix
+
+fix below problem:
+test-getopt.h:754: assertion 'strcmp (argv[1], "donald") == 0' failed
+
+get this patch from  
+https://github.com/habitat-sh/core-plans/blob/master/m4/fix-test-getopt-posix-with-glibc-2.26.patch
+
+Upstream-Status: Pending
+
+have report this bug to m4-discuss@gnu.org
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ tests/test-getopt-posix.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/tests/test-getopt-posix.c b/tests/test-getopt-posix.c
+index 5532271..2a3d511 100644
+--- a/tests/test-getopt-posix.c
++++ b/tests/test-getopt-posix.c
+@@ -22,6 +22,13 @@
+    ftell link warning if we are not using the gnulib ftell module.  */
+ #define _GL_NO_LARGE_FILES
+ 
++/*
++ * Glibc 2.26 does hard include bits/getopt_posix.h which causes the system
++ * to use glibc's getopt but the tests expect gnulib behavior. Until a better
++ * fix is available this avoids that mis-resolution.
++ */
++#include <getopt.h>
++
+ /* POSIX and glibc provide the getopt() function in <unistd.h>, see
+    http://pubs.opengroup.org/onlinepubs/9699919799/functions/getopt.html
+    https://www.gnu.org/software/libc/manual/html_node/Using-Getopt.html
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/m4/m4/m4-1.4.18-glibc-change-work-around.patch b/poky/meta/recipes-devtools/m4/m4/m4-1.4.18-glibc-change-work-around.patch
index 72e7ae2..c10bcbf 100644
--- a/poky/meta/recipes-devtools/m4/m4/m4-1.4.18-glibc-change-work-around.patch
+++ b/poky/meta/recipes-devtools/m4/m4/m4-1.4.18-glibc-change-work-around.patch
@@ -3,8 +3,9 @@
 see
 https://src.fedoraproject.org/rpms/m4/c/814d592134fad36df757f9a61422d164ea2c6c9b?branch=master
 
-Upstream-Status: Pending
+Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=4af4a4a718]
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 Index: m4-1.4.18/lib/fflush.c
 ===================================================================
 --- m4-1.4.18.orig/lib/fflush.c
diff --git a/poky/meta/recipes-devtools/m4/m4/run-ptest b/poky/meta/recipes-devtools/m4/m4/run-ptest
new file mode 100644
index 0000000..5c0fe93
--- /dev/null
+++ b/poky/meta/recipes-devtools/m4/m4/run-ptest
@@ -0,0 +1,5 @@
+#!/bin/sh
+#
+#This script is used to run m4 test suites
+cd tests 
+make -k runtest-TESTS top_srcdir=.. srcdir=.
diff --git a/poky/meta/recipes-devtools/m4/m4/serial-tests-config.patch b/poky/meta/recipes-devtools/m4/m4/serial-tests-config.patch
new file mode 100644
index 0000000..34e6ad8
--- /dev/null
+++ b/poky/meta/recipes-devtools/m4/m4/serial-tests-config.patch
@@ -0,0 +1,30 @@
+From ab8491111b4578db5b735c6466187775e1855f18 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 23 Apr 2019 15:35:00 +0800
+Subject: [PATCH] add a patch to use serial-tests config needed by ptest
+
+Add serial-tests support, ptest need it.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 78b8788..931fa6f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -22,7 +22,7 @@ AC_INIT([GNU M4], m4_esyscmd([build-aux/git-version-gen .tarball-version]),
+   [bug-m4@gnu.org])
+ AC_CONFIG_AUX_DIR([build-aux])
+ 
+-AM_INIT_AUTOMAKE([1.11.6 dist-bzip2 dist-xz color-tests parallel-tests
++AM_INIT_AUTOMAKE([1.11.6 dist-bzip2 dist-xz color-tests serial-tests
+ silent-rules subdir-objects gnu])
+ AM_SILENT_RULES([yes]) # make --enable-silent-rules the default.
+ 
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/meson/meson.inc b/poky/meta/recipes-devtools/meson/meson.inc
index 2d18f72..6a72368 100644
--- a/poky/meta/recipes-devtools/meson/meson.inc
+++ b/poky/meta/recipes-devtools/meson/meson.inc
@@ -7,18 +7,19 @@
 SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${PV}.tar.gz \
            file://0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch \
            file://0002-gobject-introspection-determine-g-ir-scanner-and-g-i.patch \
-           file://0001-Linker-rules-move-cross_args-in-front-of-output_args.patch \
            file://0003-native_bindir.patch \
            file://0001-python-module-do-not-manipulate-the-environment-when.patch \
            file://disable-rpath-handling.patch \
-           file://0001-modules-windows-split-WINDRES-env-variable.patch \
-           file://0002-environment.py-detect-windows-also-if-the-system-str.patch \
            file://cross-prop-default.patch \
-           file://many-cross.patch \
-           file://cross-libdir.patch \
+           file://load-configs-generalise-search-path.patch \
+           file://0007-mesonbuild-allow-multiple-cross-file-options.patch \
+           file://0001-environment.py-detect-windows-also-if-the-system-str.patch \
+           file://0001-mesonbuild-environment.py-do-not-determine-whether-a.patch \
+           file://0001-mesonbuild-environment.py-check-environment-for-vari.patch \
+           file://0001-modules-python.py-do-not-substitute-python-s-install.patch \
            "
-SRC_URI[sha256sum] = "ef9f14326ec1e30d3ba1a26df0f92826ede5a79255ad723af78a2691c37109fd"
-SRC_URI[md5sum] = "0267b0871266056184c484792572c682"
+SRC_URI[sha256sum] = "f68f56d60c80a77df8fc08fa1016bc5831605d4717b622c96212573271e14ecc"
+SRC_URI[md5sum] = "24a6527796115828d2ebc75880e18d62"
 
 SRC_URI_append_class-native = " \
     file://0001-Make-CPU-family-warnings-fatal.patch \
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-Linker-rules-move-cross_args-in-front-of-output_args.patch b/poky/meta/recipes-devtools/meson/meson/0001-Linker-rules-move-cross_args-in-front-of-output_args.patch
deleted file mode 100644
index 97778c3..0000000
--- a/poky/meta/recipes-devtools/meson/meson/0001-Linker-rules-move-cross_args-in-front-of-output_args.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 4676224dbdff0f7107e8cbdbe0eab19c855f1454 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 17 Nov 2017 13:18:28 +0200
-Subject: [PATCH] Linker rules: move {cross_args} in front of {output_args}
-
-The previous order was found to break linking in some cases
-(e.g. when -no-pic -fno-PIC was present in {cross_args}.
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- mesonbuild/backend/ninjabackend.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
-index bb281e1..969b70e 100644
---- a/mesonbuild/backend/ninjabackend.py
-+++ b/mesonbuild/backend/ninjabackend.py
-@@ -1501,7 +1501,7 @@ int dummy;
-  rspfile_content = $ARGS  {output_args} $in $LINK_ARGS {cross_args} $aliasing
- '''
-                 else:
--                    command_template = ' command = {executable} $ARGS {output_args} $in $LINK_ARGS {cross_args} $aliasing\n'
-+                    command_template = ' command = {executable} $ARGS {cross_args} {output_args} $in $LINK_ARGS $aliasing\n'
-                 command = command_template.format(
-                     executable=' '.join(compiler.get_linker_exelist()),
-                     cross_args=' '.join(cross_args),
--- 
-2.15.0
-
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch b/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
index fbc3f5a..adde1e2 100644
--- a/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
@@ -1,4 +1,4 @@
-From 2db829d865bb6464ac15dbb4a58c9a675e296866 Mon Sep 17 00:00:00 2001
+From 4b4b3d4932d928f05dbd74d730a3c8a5ac371e1d Mon Sep 17 00:00:00 2001
 From: Ross Burton <ross.burton@intel.com>
 Date: Tue, 3 Jul 2018 13:59:09 +0100
 Subject: [PATCH] Make CPU family warnings fatal
@@ -7,15 +7,29 @@
 Signed-off-by: Ross Burton <ross.burton@intel.com>
 
 ---
- mesonbuild/environment.py | 6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
+ mesonbuild/envconfig.py   | 2 +-
+ mesonbuild/environment.py | 4 +---
+ 2 files changed, 2 insertions(+), 4 deletions(-)
 
+diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py
+index 5309ef4..3f0a399 100644
+--- a/mesonbuild/envconfig.py
++++ b/mesonbuild/envconfig.py
+@@ -178,7 +178,7 @@ class MachineInfo:
+ 
+         cpu_family = literal['cpu_family']
+         if cpu_family not in known_cpu_families:
+-            mlog.warning('Unknown CPU family %s, please report this at https://github.com/mesonbuild/meson/issues/new' % cpu_family)
++            raise EnvironmentException('Unknown CPU family %s, see https://wiki.yoctoproject.org/wiki/Meson/UnknownCPU for directions.' % cpu_family)
+ 
+         endian = literal['endian']
+         if endian not in ('little', 'big'):
 diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index 2ccd31e..5fcf9df 100644
+index 3031a82..ecd18d0 100644
 --- a/mesonbuild/environment.py
 +++ b/mesonbuild/environment.py
-@@ -265,9 +265,7 @@ def detect_cpu_family(compilers):
-     # below.
+@@ -242,9 +242,7 @@ def detect_cpu_family(compilers):
+         trial = 'parisc'
  
      if trial not in known_cpu_families:
 -        mlog.warning('Unknown CPU family {!r}, please report this at '
@@ -25,12 +39,3 @@
  
      return trial
  
-@@ -1232,7 +1230,7 @@ class MachineInfo:
- 
-         cpu_family = literal['cpu_family']
-         if cpu_family not in known_cpu_families:
--            mlog.warning('Unknown CPU family %s, please report this at https://github.com/mesonbuild/meson/issues/new' % cpu_family)
-+            raise EnvironmentException('Unknown CPU family %s, see https://wiki.yoctoproject.org/wiki/Meson/UnknownCPU for directions.' % cpu_family)
- 
-         endian = literal['endian']
-         if endian not in ('little', 'big'):
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-environment.py-detect-windows-also-if-the-system-str.patch b/poky/meta/recipes-devtools/meson/meson/0001-environment.py-detect-windows-also-if-the-system-str.patch
new file mode 100644
index 0000000..f604319
--- /dev/null
+++ b/poky/meta/recipes-devtools/meson/meson/0001-environment.py-detect-windows-also-if-the-system-str.patch
@@ -0,0 +1,25 @@
+From 63b78b7990c5d60f7bc674a26f655caa0bec3c49 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 25 Mar 2019 17:17:06 +0100
+Subject: [PATCH] environment.py: detect windows also if the system string
+ contains 'mingw'
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ mesonbuild/envconfig.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py
+index f2510c1..5309ef4 100644
+--- a/mesonbuild/envconfig.py
++++ b/mesonbuild/envconfig.py
+@@ -194,7 +194,7 @@ class MachineInfo:
+         """
+         Machine is windows?
+         """
+-        return self.system == 'windows'
++        return self.system == 'windows' or 'mingw' in self.system
+ 
+     def is_cygwin(self):
+         """
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch b/poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch
index 11fd9ed..7c3238b 100644
--- a/poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch
@@ -27,7 +27,7 @@
                  '--mode=' + mode]
          if namespace:
              args.append('--namespace=' + namespace)
-+        gtkdoc_exe_wrapper = state.environment.cross_info.config["properties"].get('gtkdoc_exe_wrapper', None)
++        gtkdoc_exe_wrapper = state.environment.properties.host.get('gtkdoc_exe_wrapper', None)
 +        if gtkdoc_exe_wrapper is not None:
 +            args.append('--run=' + gtkdoc_exe_wrapper)
 +
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-check-environment-for-vari.patch b/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-check-environment-for-vari.patch
new file mode 100644
index 0000000..fadb273
--- /dev/null
+++ b/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-check-environment-for-vari.patch
@@ -0,0 +1,28 @@
+From 63e79329b5dd00882f0cea56a6d907a831b94171 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 25 Mar 2019 18:52:48 +0100
+Subject: [PATCH] mesonbuild/environment.py: check environment for various
+ binaries
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ mesonbuild/environment.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
+index 6e5d689..bbfd87d 100644
+--- a/mesonbuild/environment.py
++++ b/mesonbuild/environment.py
+@@ -398,7 +398,7 @@ class Environment:
+             config = MesonConfigFile.from_config_parser(
+                 coredata.load_configs(self.coredata.cross_files, 'cross'))
+             self.properties.host = Properties(config.get('properties', {}), False)
+-            self.binaries.host = BinaryTable(config.get('binaries', {}), False)
++            self.binaries.host = BinaryTable(config.get('binaries', {}), True)
+             if 'host_machine' in config:
+                 self.machines.host = MachineInfo.from_literal(config['host_machine'])
+             if 'target_machine' in config:
+-- 
+2.17.1
+
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch b/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch
new file mode 100644
index 0000000..8334714
--- /dev/null
+++ b/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch
@@ -0,0 +1,28 @@
+From d9da5e7a16a9397e22a8900fac4b60b40d7f00de Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 25 Mar 2019 18:18:33 +0100
+Subject: [PATCH] mesonbuild/environment.py: do not determine whether a build
+ is cross by comparing architectures
+
+This can, and does, go wrong when our host architecture is same as the target one(e.g. x86_64).
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ mesonbuild/environment.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
+index d4f0630..c584fa4 100644
+--- a/mesonbuild/environment.py
++++ b/mesonbuild/environment.py
+@@ -483,7 +483,7 @@ class Environment:
+         self.first_invocation = True
+ 
+     def is_cross_build(self):
+-        return self.coredata.cross_file is not None
++        return self.need_exe_wrapper()
+ 
+     def dump_coredata(self):
+         return coredata.save(self.coredata, self.get_build_dir())
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-modules-python.py-do-not-substitute-python-s-install.patch b/poky/meta/recipes-devtools/meson/meson/0001-modules-python.py-do-not-substitute-python-s-install.patch
new file mode 100644
index 0000000..a25c392
--- /dev/null
+++ b/poky/meta/recipes-devtools/meson/meson/0001-modules-python.py-do-not-substitute-python-s-install.patch
@@ -0,0 +1,44 @@
+From 1d178fb2928d325e339b15972890ceced863d3ec Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 18 Apr 2019 17:36:11 +0200
+Subject: [PATCH] modules/python.py: do not substitute python's install prefix
+ with meson's
+
+Not sure why this is being done, but it
+a) relies on Python's internal variable substitution which may break in the future
+b) shouldn't be necessary as Python's prefix ought to be correct in the first place
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ mesonbuild/modules/python.py | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/mesonbuild/modules/python.py b/mesonbuild/modules/python.py
+index 6e2c63b..f5a37ac 100644
+--- a/mesonbuild/modules/python.py
++++ b/mesonbuild/modules/python.py
+@@ -254,7 +254,7 @@ import sysconfig
+ import json
+ import sys
+ 
+-install_paths = sysconfig.get_paths(scheme='posix_prefix', vars={'base': '', 'platbase': '', 'installed_base': ''})
++install_paths = sysconfig.get_paths(scheme='posix_prefix')
+ 
+ def links_against_libpython():
+     from distutils.core import Distribution, Extension
+@@ -279,12 +279,11 @@ class PythonInstallation(ExternalProgramHolder):
+         ExternalProgramHolder.__init__(self, python)
+         self.interpreter = interpreter
+         self.subproject = self.interpreter.subproject
+-        prefix = self.interpreter.environment.coredata.get_builtin_option('prefix')
+         self.variables = info['variables']
+         self.paths = info['paths']
+         install_paths = info['install_paths']
+-        self.platlib_install_path = os.path.join(prefix, install_paths['platlib'][1:])
+-        self.purelib_install_path = os.path.join(prefix, install_paths['purelib'][1:])
++        self.platlib_install_path = install_paths['platlib']
++        self.purelib_install_path = install_paths['purelib']
+         self.version = info['version']
+         self.platform = info['platform']
+         self.is_pypy = info['is_pypy']
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-modules-windows-split-WINDRES-env-variable.patch b/poky/meta/recipes-devtools/meson/meson/0001-modules-windows-split-WINDRES-env-variable.patch
deleted file mode 100644
index c334e6d..0000000
--- a/poky/meta/recipes-devtools/meson/meson/0001-modules-windows-split-WINDRES-env-variable.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 5293d0f5067b2aeefe9ce3c175c972de367589bc Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 13 Feb 2019 17:43:54 +0100
-Subject: [PATCH] modules/windows: split WINDRES env variable
-
-As it may contain not just the binary, but also the arguments to it.
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- mesonbuild/modules/windows.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/mesonbuild/modules/windows.py b/mesonbuild/modules/windows.py
-index d185d89..dbaeb9b 100644
---- a/mesonbuild/modules/windows.py
-+++ b/mesonbuild/modules/windows.py
-@@ -56,7 +56,7 @@ class WindowsModule(ExtensionModule):
-             if 'WINDRES' in os.environ:
-                 # Pick-up env var WINDRES if set. This is often used for
-                 # specifying an arch-specific windres.
--                rescomp = ExternalProgram('windres', command=os.environ.get('WINDRES'), silent=True)
-+                rescomp = ExternalProgram('windres', command=os.environ.get('WINDRES').split(), silent=True)
- 
-         if not rescomp or not rescomp.found():
-             # Take windres from the config file after the environment, which is
diff --git a/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch b/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
index 81548cd..e47e555 100644
--- a/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
@@ -1,4 +1,4 @@
-From f8419d5f279f1fb9b5e7eead4f1579bce7cb0e4e Mon Sep 17 00:00:00 2001
+From 2164655328ec4e47335fc9033813274365491ad8 Mon Sep 17 00:00:00 2001
 From: Peter Kjellerstedt <pkj@axis.com>
 Date: Thu, 26 Jul 2018 16:32:49 +0200
 Subject: [PATCH] Support building allarch recipes again
@@ -9,15 +9,15 @@
 Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
 
 ---
- mesonbuild/environment.py | 1 +
+ mesonbuild/envconfig.py | 1 +
  1 file changed, 1 insertion(+)
 
-diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index 5fcf9df..b4fc0dc 100644
---- a/mesonbuild/environment.py
-+++ b/mesonbuild/environment.py
-@@ -72,6 +72,7 @@ from .compilers import (
- build_filename = 'meson.build'
+diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py
+index 3f0a399..4509e09 100644
+--- a/mesonbuild/envconfig.py
++++ b/mesonbuild/envconfig.py
+@@ -34,6 +34,7 @@ from . import mlog
+ 
  
  known_cpu_families = (
 +    'allarch',
diff --git a/poky/meta/recipes-devtools/meson/meson/0002-environment.py-detect-windows-also-if-the-system-str.patch b/poky/meta/recipes-devtools/meson/meson/0002-environment.py-detect-windows-also-if-the-system-str.patch
deleted file mode 100644
index 1be5d66..0000000
--- a/poky/meta/recipes-devtools/meson/meson/0002-environment.py-detect-windows-also-if-the-system-str.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 7bf4c2c02eb7fe1bf24b23e3ba2d7df36495e0aa Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 13 Feb 2019 17:45:09 +0100
-Subject: [PATCH] environment.py: detect windows also if the system string
- contains 'mingw'
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- mesonbuild/environment.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index b4fc0dc..845077e 100644
---- a/mesonbuild/environment.py
-+++ b/mesonbuild/environment.py
-@@ -1247,7 +1247,7 @@ class MachineInfo:
-         """
-         Machine is windows?
-         """
--        return self.system == 'windows'
-+        return self.system == 'windows' or 'mingw' in self.system
- 
-     def is_cygwin(self):
-         """
diff --git a/poky/meta/recipes-devtools/meson/meson/0007-mesonbuild-allow-multiple-cross-file-options.patch b/poky/meta/recipes-devtools/meson/meson/0007-mesonbuild-allow-multiple-cross-file-options.patch
new file mode 100644
index 0000000..6c2949c
--- /dev/null
+++ b/poky/meta/recipes-devtools/meson/meson/0007-mesonbuild-allow-multiple-cross-file-options.patch
@@ -0,0 +1,185 @@
+From 07ae4f949b8402cff178dd12c210d9a726ffe2da Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Mon, 18 Mar 2019 17:27:57 +0000
+Subject: [PATCH] mesonbuild: allow multiple --cross-file options
+
+Just like --native-file, allow multiple --cross-file options.  This is mostly
+unifying the logic between cross_files and config_files.
+
+Upstream-Status: Backport [will be in 0.50.1]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+---
+ .../markdown/snippets/multiple-cross-files.md |  3 ++
+ mesonbuild/backend/backends.py                |  3 +-
+ mesonbuild/coredata.py                        | 52 +++----------------
+ mesonbuild/environment.py                     |  5 +-
+ mesonbuild/msetup.py                          |  4 +-
+ mesonbuild/munstable_coredata.py              |  5 +-
+ 6 files changed, 20 insertions(+), 52 deletions(-)
+ create mode 100644 docs/markdown/snippets/multiple-cross-files.md
+
+diff --git a/docs/markdown/snippets/multiple-cross-files.md b/docs/markdown/snippets/multiple-cross-files.md
+new file mode 100644
+index 0000000..de229be
+--- /dev/null
++++ b/docs/markdown/snippets/multiple-cross-files.md
+@@ -0,0 +1,3 @@
++## Multipe cross files can be specified
++
++`--cross-file` can be passed multiple times, with the configuration files overlaying the same way as `--native-file`.
+diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py
+index 4d35d22..5b270d3 100644
+--- a/mesonbuild/backend/backends.py
++++ b/mesonbuild/backend/backends.py
+@@ -788,8 +788,7 @@ class Backend:
+         deps = [os.path.join(self.build_to_src, df)
+                 for df in self.interpreter.get_build_def_files()]
+         if self.environment.is_cross_build():
+-            deps.append(os.path.join(self.build_to_src,
+-                                     self.environment.coredata.cross_file))
++            deps.extend(self.environment.coredata.cross_files)
+         deps.append('meson-private/coredata.dat')
+         if os.path.exists(os.path.join(self.environment.get_source_dir(), 'meson_options.txt')):
+             deps.append(os.path.join(self.build_to_src, 'meson_options.txt'))
+diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py
+index 066ad30..d80e9a0 100644
+--- a/mesonbuild/coredata.py
++++ b/mesonbuild/coredata.py
+@@ -265,7 +265,7 @@ class CoreData:
+         self.compiler_options = PerMachine({}, {}, {})
+         self.base_options = {}
+         self.external_preprocess_args = PerMachine({}, {}, {}) # CPPFLAGS only
+-        self.cross_file = self.__load_cross_file(options.cross_file)
++        self.cross_files = self.__load_config_files(options.cross_file)
+         self.compilers = OrderedDict()
+         self.cross_compilers = OrderedDict()
+         self.deps = OrderedDict()
+@@ -276,57 +276,19 @@ class CoreData:
+ 
+     @staticmethod
+     def __load_config_files(filenames):
++        # Need to try and make the passed filenames absolute because when the
++        # files are parsed later we'll have chdir()d.
+         if not filenames:
+             return []
+         filenames = [os.path.abspath(os.path.expanduser(os.path.expanduser(f)))
+                      for f in filenames]
+         return filenames
+ 
+-    @staticmethod
+-    def __load_cross_file(filename):
+-        """Try to load the cross file.
+-
+-        If the filename is None return None. If the filename is an absolute
+-        (after resolving variables and ~), return that absolute path. Next,
+-        check if the file is relative to the current source dir. If the path
+-        still isn't resolved do the following:
+-            Windows:
+-                - Error
+-            *:
+-                - $XDG_DATA_HOME/meson/cross (or ~/.local/share/meson/cross if
+-                  undefined)
+-                - $XDG_DATA_DIRS/meson/cross (or
+-                  /usr/local/share/meson/cross:/usr/share/meson/cross if undefined)
+-                - Error
+-
+-        Non-Windows follows the Linux path and will honor XDG_* if set. This
+-        simplifies the implementation somewhat.
+-        """
+-        if filename is None:
+-            return None
+-        filename = os.path.expanduser(os.path.expandvars(filename))
+-        if os.path.isabs(filename):
+-            return filename
+-        path_to_try = os.path.abspath(filename)
+-        if os.path.isfile(path_to_try):
+-            return path_to_try
+-        if sys.platform != 'win32':
+-            paths = [
+-                os.environ.get('XDG_DATA_HOME', os.path.expanduser('~/.local/share')),
+-            ] + os.environ.get('XDG_DATA_DIRS', '/usr/local/share:/usr/share').split(':')
+-            for path in paths:
+-                path_to_try = os.path.join(path, 'meson', 'cross', filename)
+-                if os.path.isfile(path_to_try):
+-                    return path_to_try
+-            raise MesonException('Cannot find specified cross file: ' + filename)
+-
+-        raise MesonException('Cannot find specified cross file: ' + filename)
+-
+     def libdir_cross_fixup(self):
+         # By default set libdir to "lib" when cross compiling since
+         # getting the "system default" is always wrong on multiarch
+         # platforms as it gets a value like lib/x86_64-linux-gnu.
+-        if self.cross_file is not None:
++        if self.cross_files:
+             self.builtins['libdir'].value = 'lib'
+ 
+     def sanitize_prefix(self, prefix):
+@@ -642,8 +604,8 @@ def read_cmd_line_file(build_dir, options):
+     options.cmd_line_options = d
+ 
+     properties = config['properties']
+-    if options.cross_file is None:
+-        options.cross_file = properties.get('cross_file', None)
++    if not options.cross_file:
++        options.cross_file = ast.literal_eval(properties.get('cross_file', '[]'))
+     if not options.native_file:
+         # This will be a string in the form: "['first', 'second', ...]", use
+         # literal_eval to get it into the list of strings.
+@@ -654,7 +616,7 @@ def write_cmd_line_file(build_dir, options):
+     config = CmdLineFileParser()
+ 
+     properties = {}
+-    if options.cross_file is not None:
++    if options.cross_file:
+         properties['cross_file'] = options.cross_file
+     if options.native_file:
+         properties['native_file'] = options.native_file
+diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
+index c25ef33..4c1c5ac 100644
+--- a/mesonbuild/environment.py
++++ b/mesonbuild/environment.py
+@@ -394,8 +394,9 @@ class Environment:
+             self.binaries.build = BinaryTable(config.get('binaries', {}))
+             self.paths.build = Directories(**config.get('paths', {}))
+ 
+-        if self.coredata.cross_file is not None:
+-            config = MesonConfigFile.parse_datafile(self.coredata.cross_file)
++        if self.coredata.cross_files:
++            config = MesonConfigFile.from_config_parser(
++                coredata.load_configs(self.coredata.cross_files, 'cross'))
+             self.properties.host = Properties(config.get('properties', {}), False)
+             self.binaries.host = BinaryTable(config.get('binaries', {}), False)
+             if 'host_machine' in config:
+diff --git a/mesonbuild/msetup.py b/mesonbuild/msetup.py
+index 023afdb..6e8ca83 100644
+--- a/mesonbuild/msetup.py
++++ b/mesonbuild/msetup.py
+@@ -29,7 +29,9 @@ from .mesonlib import MesonException
+ 
+ def add_arguments(parser):
+     coredata.register_builtin_arguments(parser)
+-    parser.add_argument('--cross-file', default=None,
++    parser.add_argument('--cross-file',
++                        default=[],
++                        action='append',
+                         help='File describing cross compilation environment.')
+     parser.add_argument('--native-file',
+                         default=[],
+diff --git a/mesonbuild/munstable_coredata.py b/mesonbuild/munstable_coredata.py
+index 78f3f34..913f942 100644
+--- a/mesonbuild/munstable_coredata.py
++++ b/mesonbuild/munstable_coredata.py
+@@ -81,8 +81,9 @@ def run(options):
+             print('Last seen PKGCONFIG enviroment variable value: ' + v)
+         elif k == 'version':
+             print('Meson version: ' + v)
+-        elif k == 'cross_file':
+-            print('Cross File: ' + (v or 'None'))
++        elif k == 'cross_files':
++            if v:
++                print('Cross File: ' + ' '.join(v))
+         elif k == 'config_files':
+             if v:
+                 print('Native File: ' + ' '.join(v))
diff --git a/poky/meta/recipes-devtools/meson/meson/cross-libdir.patch b/poky/meta/recipes-devtools/meson/meson/cross-libdir.patch
deleted file mode 100644
index 7395fdb..0000000
--- a/poky/meta/recipes-devtools/meson/meson/cross-libdir.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From ce24f0d6a9be22ba61d80cd254e0409de2eaffd7 Mon Sep 17 00:00:00 2001
-From: Jussi Pakkanen <jpakkane@gmail.com>
-Date: Thu, 27 Dec 2018 23:43:35 +0200
-Subject: [PATCH] Default libdir is "lib" when cross compiling. Closes #2535.
-
----
-diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py
-index ff810683..9ee23a69 100644
---- a/mesonbuild/coredata.py
-+++ b/mesonbuild/coredata.py
-@@ -298,6 +298,7 @@ class CoreData:
-         # Only to print a warning if it changes between Meson invocations.
-         self.pkgconf_envvar = os.environ.get('PKG_CONFIG_PATH', '')
-         self.config_files = self.__load_config_files(options.native_file)
-+        self.libdir_cross_fixup()
- 
-     @staticmethod
-     def __load_config_files(filenames):
-@@ -309,6 +310,13 @@ class CoreData:
-                      for f in filenames]
-         return filenames
- 
-+    def libdir_cross_fixup(self):
-+        # By default set libdir to "lib" when cross compiling since
-+        # getting the "system default" is always wrong on multiarch
-+        # platforms as it gets a value like lib/x86_64-linux-gnu.
-+        if self.cross_files:
-+            self.builtins['libdir'].value = 'lib'
-+
-     def sanitize_prefix(self, prefix):
-         if not os.path.isabs(prefix):
-             raise MesonException('prefix value {!r} must be an absolute path'
diff --git a/poky/meta/recipes-devtools/meson/meson/load-configs-generalise-search-path.patch b/poky/meta/recipes-devtools/meson/meson/load-configs-generalise-search-path.patch
new file mode 100644
index 0000000..2056763
--- /dev/null
+++ b/poky/meta/recipes-devtools/meson/meson/load-configs-generalise-search-path.patch
@@ -0,0 +1,53 @@
+From d57dd1092e84e08ee15d7063b6c56bd6d864f2e1 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Mon, 18 Mar 2019 16:16:56 +0000
+Subject: [PATCH] load_configs: generalise the search path
+
+Instead of hard-coding the fact that load_configs() searches for files under
+meson/native, pass in the subdirectory allowing the cross-file code to use the
+same logic.
+
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ mesonbuild/coredata.py    | 6 +++---
+ mesonbuild/environment.py | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py
+index fba90fa369..6e60917d10 100644
+--- a/mesonbuild/coredata.py
++++ b/mesonbuild/coredata.py
+@@ -211,8 +211,8 @@ def is_auto(self):
+         return self.value == 'auto'
+ 
+ 
+-def load_configs(filenames):
+-    """Load native files."""
++def load_configs(filenames, subdir):
++    """Load configuration files from a named subdirectory."""
+     def gen():
+         for f in filenames:
+             f = os.path.expanduser(os.path.expandvars(f))
+@@ -225,7 +225,7 @@ def gen():
+                     os.environ.get('XDG_DATA_HOME', os.path.expanduser('~/.local/share')),
+                 ] + os.environ.get('XDG_DATA_DIRS', '/usr/local/share:/usr/share').split(':')
+                 for path in paths:
+-                    path_to_try = os.path.join(path, 'meson', 'native', f)
++                    path_to_try = os.path.join(path, 'meson', subdir, f)
+                     if os.path.isfile(path_to_try):
+                         yield path_to_try
+                         break
+diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
+index 58adb06960..92a00dd7bf 100644
+--- a/mesonbuild/environment.py
++++ b/mesonbuild/environment.py
+@@ -408,7 +408,7 @@ def __init__(self, source_dir, build_dir, options):
+ 
+         if self.coredata.config_files is not None:
+             config = MesonConfigFile.from_config_parser(
+-                coredata.load_configs(self.coredata.config_files))
++                coredata.load_configs(self.coredata.config_files, 'native'))
+             self.binaries.build = BinaryTable(config.get('binaries', {}))
+             self.paths.build = Directories(**config.get('paths', {}))
+ 
diff --git a/poky/meta/recipes-devtools/meson/meson/many-cross.patch b/poky/meta/recipes-devtools/meson/meson/many-cross.patch
deleted file mode 100644
index d04c28b..0000000
--- a/poky/meta/recipes-devtools/meson/meson/many-cross.patch
+++ /dev/null
@@ -1,207 +0,0 @@
-mesonbuild: allow multiple --cross-file options
-
-Just like --native-file, allow multiple --cross-file options.  This is mostly
-unifying the logic between cross_files and config_files.
-
-Upstream-Status: Backport [will be in 0.50.1]
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py
-index 40402513..4b9bcb59 100644
---- a/mesonbuild/backend/backends.py
-+++ b/mesonbuild/backend/backends.py
-@@ -726,8 +726,7 @@ class Backend:
-         deps = [os.path.join(self.build_to_src, df)
-                 for df in self.interpreter.get_build_def_files()]
-         if self.environment.is_cross_build():
--            deps.append(os.path.join(self.build_to_src,
--                                     self.environment.coredata.cross_file))
-+            deps.extend(self.environment.coredata.cross_files)
-         deps.append('meson-private/coredata.dat')
-         if os.path.exists(os.path.join(self.environment.get_source_dir(), 'meson_options.txt')):
-             deps.append(os.path.join(self.build_to_src, 'meson_options.txt'))
-diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py
-index c3f5a745..ff810683 100644
---- a/mesonbuild/coredata.py
-+++ b/mesonbuild/coredata.py
-@@ -201,8 +201,8 @@ class UserFeatureOption(UserComboOption):
-         return self.value == 'auto'
- 
- 
--def load_configs(filenames):
--    """Load native files."""
-+def load_configs(filenames, subdir):
-+    """Load configuration files from a named subdirectory."""
-     def gen():
-         for f in filenames:
-             f = os.path.expanduser(os.path.expandvars(f))
-@@ -215,7 +215,7 @@ def load_configs(filenames):
-                     os.environ.get('XDG_DATA_HOME', os.path.expanduser('~/.local/share')),
-                 ] + os.environ.get('XDG_DATA_DIRS', '/usr/local/share:/usr/share').split(':')
-                 for path in paths:
--                    path_to_try = os.path.join(path, 'meson', 'native', f)
-+                    path_to_try = os.path.join(path, 'meson', subdir, f)
-                     if os.path.isfile(path_to_try):
-                         yield path_to_try
-                         break
-@@ -291,7 +291,7 @@ class CoreData:
-         self.compiler_options = {}
-         self.base_options = {}
-         self.external_preprocess_args = {} # CPPFLAGS only
--        self.cross_file = self.__load_cross_file(options.cross_file)
-+        self.cross_files = self.__load_config_files(options.cross_file)
-         self.compilers = OrderedDict()
-         self.cross_compilers = OrderedDict()
-         self.deps = OrderedDict()
-@@ -301,52 +301,14 @@ class CoreData:
- 
-     @staticmethod
-     def __load_config_files(filenames):
-+        # Need to try and make the passed filenames absolute because when the
-+        # files are parsed later we'll have chdir()d.
-         if not filenames:
-             return []
-         filenames = [os.path.abspath(os.path.expanduser(os.path.expanduser(f)))
-                      for f in filenames]
-         return filenames
- 
--    @staticmethod
--    def __load_cross_file(filename):
--        """Try to load the cross file.
--
--        If the filename is None return None. If the filename is an absolute
--        (after resolving variables and ~), return that absolute path. Next,
--        check if the file is relative to the current source dir. If the path
--        still isn't resolved do the following:
--            Windows:
--                - Error
--            *:
--                - $XDG_DATA_HOME/meson/cross (or ~/.local/share/meson/cross if
--                  undefined)
--                - $XDG_DATA_DIRS/meson/cross (or
--                  /usr/local/share/meson/cross:/usr/share/meson/cross if undefined)
--                - Error
--
--        Non-Windows follows the Linux path and will honor XDG_* if set. This
--        simplifies the implementation somewhat.
--        """
--        if filename is None:
--            return None
--        filename = os.path.expanduser(os.path.expandvars(filename))
--        if os.path.isabs(filename):
--            return filename
--        path_to_try = os.path.abspath(filename)
--        if os.path.isfile(path_to_try):
--            return path_to_try
--        if sys.platform != 'win32':
--            paths = [
--                os.environ.get('XDG_DATA_HOME', os.path.expanduser('~/.local/share')),
--            ] + os.environ.get('XDG_DATA_DIRS', '/usr/local/share:/usr/share').split(':')
--            for path in paths:
--                path_to_try = os.path.join(path, 'meson', 'cross', filename)
--                if os.path.isfile(path_to_try):
--                    return path_to_try
--            raise MesonException('Cannot find specified cross file: ' + filename)
--
--        raise MesonException('Cannot find specified cross file: ' + filename)
--
-     def sanitize_prefix(self, prefix):
-         if not os.path.isabs(prefix):
-             raise MesonException('prefix value {!r} must be an absolute path'
-@@ -558,8 +520,8 @@ def read_cmd_line_file(build_dir, options):
-     options.cmd_line_options = d
- 
-     properties = config['properties']
--    if options.cross_file is None:
--        options.cross_file = properties.get('cross_file', None)
-+    if not options.cross_file:
-+        options.cross_file = ast.literal_eval(properties.get('cross_file', '[]'))
-     if not options.native_file:
-         # This will be a string in the form: "['first', 'second', ...]", use
-         # literal_eval to get it into the list of strings.
-@@ -570,7 +532,7 @@ def write_cmd_line_file(build_dir, options):
-     config = CmdLineFileParser()
- 
-     properties = {}
--    if options.cross_file is not None:
-+    if options.cross_file:
-         properties['cross_file'] = options.cross_file
-     if options.native_file:
-         properties['native_file'] = options.native_file
-diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index 6d86daf9..406ab8b8 100644
---- a/mesonbuild/environment.py
-+++ b/mesonbuild/environment.py
-@@ -355,8 +355,8 @@ class Environment:
-         self.machines = MachineInfos()
-         # Will be fully initialized later using compilers later.
-         self.machines.detect_build()
--        if self.coredata.cross_file:
--            self.cross_info = CrossBuildInfo(self.coredata.cross_file)
-+        if self.coredata.cross_files:
-+            self.cross_info = CrossBuildInfo(self.coredata.cross_files)
-             if 'exe_wrapper' in self.cross_info.config['binaries']:
-                 from .dependencies import ExternalProgram
-                 self.exe_wrapper = ExternalProgram.from_bin_list(
-@@ -373,7 +373,7 @@ class Environment:
- 
-         if self.coredata.config_files:
-             self.config_info = coredata.ConfigData(
--                coredata.load_configs(self.coredata.config_files))
-+                coredata.load_configs(self.coredata.config_files, 'native'))
-         else:
-             self.config_info = coredata.ConfigData()
- 
-@@ -1113,13 +1113,8 @@ class CrossBuildInfo:
-     def ok_type(self, i):
-         return isinstance(i, (str, int, bool))
- 
--    def parse_datafile(self, filename):
--        config = configparser.ConfigParser()
--        try:
--            with open(filename, 'r') as f:
--                config.read_file(f, filename)
--        except FileNotFoundError:
--            raise EnvironmentException('File not found: %s.' % filename)
-+    def parse_datafile(self, filenames):
-+        config = coredata.load_configs(filenames, 'cross')
-         # This is a bit hackish at the moment.
-         for s in config.sections():
-             self.config[s] = {}
-diff --git a/mesonbuild/msetup.py b/mesonbuild/msetup.py
-index 56a0e9a7..f0a1ae19 100644
---- a/mesonbuild/msetup.py
-+++ b/mesonbuild/msetup.py
-@@ -27,7 +27,9 @@ from .mesonlib import MesonException
- 
- def add_arguments(parser):
-     coredata.register_builtin_arguments(parser)
--    parser.add_argument('--cross-file', default=None,
-+    parser.add_argument('--cross-file',
-+                        default=[],
-+                        action='append',
-                         help='File describing cross compilation environment.')
-     parser.add_argument('--native-file',
-                         default=[],
-diff --git a/run_unittests.py b/run_unittests.py
-index e6874b25..1d247291 100755
---- a/run_unittests.py
-+++ b/run_unittests.py
-@@ -529,7 +529,7 @@ class InternalTests(unittest.TestCase):
-         config.write(configfile)
-         configfile.flush()
-         configfile.close()
--        detected_value = mesonbuild.environment.CrossBuildInfo(configfile.name).need_exe_wrapper()
-+        detected_value = mesonbuild.environment.CrossBuildInfo((configfile.name,)).need_exe_wrapper()
-         os.unlink(configfilename)
- 
-         desired_value = not detected_value
-@@ -541,7 +541,7 @@ class InternalTests(unittest.TestCase):
-         configfilename = configfile.name
-         config.write(configfile)
-         configfile.close()
--        forced_value = mesonbuild.environment.CrossBuildInfo(configfile.name).need_exe_wrapper()
-+        forced_value = mesonbuild.environment.CrossBuildInfo((configfile.name,)).need_exe_wrapper()
-         os.unlink(configfilename)
- 
-         self.assertEqual(forced_value, desired_value)
diff --git a/poky/meta/recipes-devtools/meson/meson_0.49.2.bb b/poky/meta/recipes-devtools/meson/meson_0.50.1.bb
similarity index 100%
rename from poky/meta/recipes-devtools/meson/meson_0.49.2.bb
rename to poky/meta/recipes-devtools/meson/meson_0.50.1.bb
diff --git a/poky/meta/recipes-devtools/meson/nativesdk-meson_0.49.2.bb b/poky/meta/recipes-devtools/meson/nativesdk-meson_0.50.1.bb
similarity index 100%
rename from poky/meta/recipes-devtools/meson/nativesdk-meson_0.49.2.bb
rename to poky/meta/recipes-devtools/meson/nativesdk-meson_0.50.1.bb
diff --git a/poky/meta/recipes-devtools/mmc/mmc-utils/0001-lsmmc-replace-strncpy-with-memmove-on-overlapping-me.patch b/poky/meta/recipes-devtools/mmc/mmc-utils/0001-lsmmc-replace-strncpy-with-memmove-on-overlapping-me.patch
deleted file mode 100644
index 62e25fd..0000000
--- a/poky/meta/recipes-devtools/mmc/mmc-utils/0001-lsmmc-replace-strncpy-with-memmove-on-overlapping-me.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 175ac0f362bf6121c3537e2f1760ad41c8f81367 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 29 Mar 2018 01:04:57 -0700
-Subject: [PATCH] lsmmc: replace strncpy with memmove on overlapping memory
- copy
-
-here source and destination addresses are overlapping so using memmove is
-going to be more efficient.
-
-Additionally, the bounded size for copy is overflowing for first copy
-
-In function 'strncpy',
-    inlined from 'read_file' at lsmmc.c:356:3:
-/mnt/a/oe/build/tmp/work/cortexa7t2hf-neon-vfpv4-bec-linux-gnueabi/mmc-utils/0.1-r0/recipe-sysroot/usr/include/bits/string_fortified.h:106:10: error: '__builtin_strncpy' accessing 4096 bytes at offsets 0 and 1 overlaps 4095 bytes at offset 1 [-Werror=restrict]
-   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
-          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted [https://patchwork.kernel.org/patch/10314723/]
- lsmmc.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lsmmc.c b/lsmmc.c
-index c4faa00..bcb854d 100644
---- a/lsmmc.c
-+++ b/lsmmc.c
-@@ -353,7 +353,7 @@ char *read_file(char *name)
- 		line[strlen(line) - 1] = '\0';
- 
- 	while (isspace(line[0]))
--		strncpy(&line[0], &line[1], sizeof(line));
-+		memmove(&line[0], &line[1], sizeof(line)-1);
- 
- 	return strdup(line);
- }
diff --git a/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb b/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb
index 37a4755..f3a7234 100644
--- a/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb
+++ b/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb
@@ -4,12 +4,11 @@
 LIC_FILES_CHKSUM = "file://mmc.c;beginline=1;endline=20;md5=fae32792e20f4d27ade1c5a762d16b7d"
 
 SRCBRANCH ?= "master"
-SRCREV = "b4fe0c8c0e57a74c01755fa9362703b60d7ee49d"
+SRCREV = "aef913e31b659462fe6b9320d241676cba97f67b"
 
-PV = "0.1"
+PV = "0.1+git${SRCPV}"
 
 SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git;branch=${SRCBRANCH} \
-           file://0001-lsmmc-replace-strncpy-with-memmove-on-overlapping-me.patch \
            "
 UPSTREAM_CHECK_COMMITS = "1"
 
diff --git a/poky/meta/recipes-devtools/mtools/mtools/0001-Continue-even-if-fs-size-is-not-divisible-by-sectors.patch b/poky/meta/recipes-devtools/mtools/mtools/0001-Continue-even-if-fs-size-is-not-divisible-by-sectors.patch
deleted file mode 100644
index 1f8f835..0000000
--- a/poky/meta/recipes-devtools/mtools/mtools/0001-Continue-even-if-fs-size-is-not-divisible-by-sectors.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 5cc8d1f96ab6d3459e13631d8356f87381562352 Mon Sep 17 00:00:00 2001
-From: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Date: Thu, 2 Jun 2016 09:49:44 +0300
-Subject: [PATCH] Continue even if fs size is not divisible by
- sectors-per-track
-
-Filesystem with a size that is not divisible by sectors-per-track is
-not broken or invalid: it might be unoptimized on media where
-heads and cylinders actually matter but that should be it.
-
-Preserve the warning but make mtools continue even if fs size is not
-divisible by sectors-per-track.
-
-Upstream-Status: Submitted [info-mtools@gnu.org]
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
----
- init.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/init.c b/init.c
-index c9152e0..4e16a01 100644
---- a/init.c
-+++ b/init.c
-@@ -338,7 +338,6 @@ Stream_t *fs_init(char drive, int mode, int *isRop)
- 		fprintf(stderr,
- 			"Add mtools_skip_check=1 to your .mtoolsrc file "
- 			"to skip this test\n");
--		exit(1);
- 	}
- 
- 	/* full cylinder buffering */
--- 
-2.1.4
-
diff --git a/poky/meta/recipes-devtools/mtools/mtools/0001-remove-LOCK_NB-to-use-blocking-request.patch b/poky/meta/recipes-devtools/mtools/mtools/0001-remove-LOCK_NB-to-use-blocking-request.patch
deleted file mode 100644
index 47385a5..0000000
--- a/poky/meta/recipes-devtools/mtools/mtools/0001-remove-LOCK_NB-to-use-blocking-request.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 5bdbfe0a63fed48104b17412854b26ee2275869a Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 22 Aug 2018 16:54:39 +0800
-Subject: [PATCH] remove LOCK_NB to use blocking request
-
-While invoking mtools frequently, the unblocking request
-caused race issue. Here is an example of syslinux
-[snip]
-dd if=/dev/zero of=floppy.img bs=1024 count=144
-losetup /dev/loop1 floppy.img
-mkdosfs /dev/loop1
-syslinux -i /dev/loop1
-|plain floppy: device "/proc/6351/fd/3" busy (Resource temporarily unavailable):
-|Cannot initialize 'S:'
-|Bad target s:/ldlinux.sys
-[snip]
-
-The idea is from:
-https://bugzilla.redhat.com/show_bug.cgi?id=1235016
-https://groups.google.com/a/chromium.org/forum/#!msg/chromium-os-dev/bRPUCFHoBTQ/ZjB8kjjx1vUJ
-
-Upstream-Status: Pending
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- lockdev.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lockdev.h b/lockdev.h
-index 4467bc2..5a135ad 100644
---- a/lockdev.h
-+++ b/lockdev.h
-@@ -43,7 +43,7 @@ int lock_dev(int fd, int mode, struct device *dev)
- 		return 0;
- 
- #if (defined(HAVE_FLOCK) && defined (LOCK_EX) && defined(LOCK_NB))
--	if (flock(fd, (mode ? LOCK_EX : LOCK_SH)|LOCK_NB) < 0)
-+	if (flock(fd, (mode ? LOCK_EX : LOCK_SH)) < 0)
- #else /* FLOCK */
- 
- #if (defined(HAVE_LOCKF) && defined(F_TLOCK))
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/mtools/mtools_4.0.19.bb b/poky/meta/recipes-devtools/mtools/mtools_4.0.23.bb
similarity index 82%
rename from poky/meta/recipes-devtools/mtools/mtools_4.0.19.bb
rename to poky/meta/recipes-devtools/mtools/mtools_4.0.23.bb
index 7d59d93..2ae6979 100644
--- a/poky/meta/recipes-devtools/mtools/mtools_4.0.19.bb
+++ b/poky/meta/recipes-devtools/mtools/mtools_4.0.23.bb
@@ -24,14 +24,12 @@
 	glibc-gconv-ibm866 \
 	glibc-gconv-ibm869 \
 	"
-SRC_URI[md5sum] = "f750246a65ee6f9d2e82d10b03a0aaaf"
-SRC_URI[sha256sum] = "1bc197199ea1c2c317f597879486eeb817f3199b526d94cc6841624768d910df"
+SRC_URI[md5sum] = "1d17b58c53a46b29c7f521d4a55ccef1"
+SRC_URI[sha256sum] = "f188db26751aeb5692a79b2380b440ecc05fd1848a52f869d7ca1193f2ef8ee3"
 
 SRC_URI = "${GNU_MIRROR}/mtools/mtools-${PV}.tar.bz2 \
            file://mtools-makeinfo.patch \
            file://no-x11.gplv3.patch \
-           file://0001-Continue-even-if-fs-size-is-not-divisible-by-sectors.patch \
-           file://0001-remove-LOCK_NB-to-use-blocking-request.patch \
            file://clang_UNUSED.patch \
            "
 
diff --git a/poky/meta/recipes-devtools/ninja/ninja/fix-musl.patch b/poky/meta/recipes-devtools/ninja/ninja/fix-musl.patch
index 543d4f1..7fd7791 100644
--- a/poky/meta/recipes-devtools/ninja/ninja/fix-musl.patch
+++ b/poky/meta/recipes-devtools/ninja/ninja/fix-musl.patch
@@ -1,18 +1,22 @@
-2ff54ad7478a90bd75c91e434236a Mon Sep 17 00:00:00 2001
+From e92a915183f8bff268f74c8cd00d986301a2bbf8 Mon Sep 17 00:00:00 2001
 From: makepost <makepost@firemail.cc>
 Date: Mon, 24 Dec 2018 03:13:16 +0200
 Subject: [PATCH] Use st_mtim if st_mtime is macro, fix #1510
 
 In POSIX.1-2008, sys_stat has a st_mtim member and a st_mtime backward
 compatibility macro. Should help avoid hardcoding platform detection.
+
+Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
+
+Upstream-Status: Pending
 ---
  src/disk_interface.cc | 14 ++++----------
  1 file changed, 4 insertions(+), 10 deletions(-)
 
 diff --git a/src/disk_interface.cc b/src/disk_interface.cc
-index d4c2fb087..dc297c449 100644
---- src/disk_interface.cc
-+++ /src/disk_interface.cc
+index d4c2fb0..dc297c4 100644
+--- a/src/disk_interface.cc
++++ b/src/disk_interface.cc
 @@ -202,19 +202,13 @@ TimeStamp RealDiskInterface::Stat(const string& path, string* err) const {
    // that it doesn't exist.
    if (st.st_mtime == 0)
@@ -37,3 +41,6 @@
  #else
    return (int64_t)st.st_mtime * 1000000000LL + st.st_mtimensec;
  #endif
+-- 
+2.17.1
+
diff --git a/poky/meta/recipes-devtools/opkg/opkg/0001-opkg-add-target-for-testsuite-installation.patch b/poky/meta/recipes-devtools/opkg/opkg/0001-opkg-add-target-for-testsuite-installation.patch
new file mode 100644
index 0000000..951c186
--- /dev/null
+++ b/poky/meta/recipes-devtools/opkg/opkg/0001-opkg-add-target-for-testsuite-installation.patch
@@ -0,0 +1,43 @@
+From 8fb0364bd0e19f35c20616dd1ab10aa00e08fa8f Mon Sep 17 00:00:00 2001
+From: Alejandro del Castillo <alejandro.delcastillo@ni.com>
+Date: Wed, 10 Apr 2019 14:49:43 -0500
+Subject: [PATCH] opkg: add target for testsuite installation
+
+- Add target to install testsuite
+- Add override of opkg binary used during test via OPKG_PATH environment
+variable.
+
+Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
+---
+Upstream-Status: Submitted
+
+ Makefile.am  | 5 +++++
+ tests/cfg.py | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 90cfcae..1f6a784 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -18,3 +18,8 @@ run-tests:
+ 	$(MAKE) -C tests DATADIR=@datadir@ SYSCONFDIR=@sysconfdir@ VARDIR=@localstatedir@
+ 
+ check: run-tests
++
++install-ptest:
++	cp -r $(srcdir)/tests $(DESTDIR)
++	cp Makefile $(DESTDIR)
++	sed -e 's/^Makefile/_Makefile/' < Makefile > $(DESTDIR)/Makefile
+diff --git a/tests/cfg.py b/tests/cfg.py
+index 4efaff6..ca59d03 100644
+--- a/tests/cfg.py
++++ b/tests/cfg.py
+@@ -2,4 +2,4 @@ import os
+ 
+ opkdir = "/tmp/opk"
+ offline_root = "/tmp/opkg"
+-opkgcl = os.path.realpath("../src/opkg")
++opkgcl = os.getenv('OPKG_PATH', os.path.realpath("../src/opkg"))
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/opkg/opkg/0001-regress-issue72.py-resolve-paths-before-comparision.patch b/poky/meta/recipes-devtools/opkg/opkg/0001-regress-issue72.py-resolve-paths-before-comparision.patch
new file mode 100644
index 0000000..75ecb5f
--- /dev/null
+++ b/poky/meta/recipes-devtools/opkg/opkg/0001-regress-issue72.py-resolve-paths-before-comparision.patch
@@ -0,0 +1,31 @@
+From 5f005830eea7d03c02107a3a3fc58907b0a037bf Mon Sep 17 00:00:00 2001
+From: Alejandro del Castillo <alejandro.delcastillo@ni.com>
+Date: Mon, 8 Apr 2019 11:14:56 -0500
+Subject: [PATCH] regress/issue72.py: resolve paths before comparision
+
+In systems that have a volatile /tmp, the test incorrectly fails since
+it doesn't resolve the real path in all cases.
+
+Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
+---
+Upstream-Status: Submitted
+
+ tests/regress/issue72.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/regress/issue72.py b/tests/regress/issue72.py
+index 1626877..2f24dec 100755
+--- a/tests/regress/issue72.py
++++ b/tests/regress/issue72.py
+@@ -56,7 +56,7 @@ if not os.path.lexists("{}/{}".format(cfg.offline_root, long_filename2)):
+ 				"not created.")
+ 
+ linky = os.path.realpath("{}/{}".format(cfg.offline_root, long_filename2))
+-linky_dst = "{}/{}".format(cfg.offline_root, long_filename)
++linky_dst = os.path.realpath("{}/{}".format(cfg.offline_root, long_filename))
+ if linky != linky_dst:
+ 	opk.fail("symlink path truncated.")
+ 
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/opkg/opkg/run-ptest b/poky/meta/recipes-devtools/opkg/opkg/run-ptest
new file mode 100644
index 0000000..5fb7077
--- /dev/null
+++ b/poky/meta/recipes-devtools/opkg/opkg/run-ptest
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+OPKG_PATH=$(which opkg)
+
+make OPKG_PATH=$OPKG_PATH run-tests
diff --git a/poky/meta/recipes-devtools/opkg/opkg_0.4.0.bb b/poky/meta/recipes-devtools/opkg/opkg_0.4.0.bb
index a2329d3..e2305d0 100644
--- a/poky/meta/recipes-devtools/opkg/opkg_0.4.0.bb
+++ b/poky/meta/recipes-devtools/opkg/opkg_0.4.0.bb
@@ -15,12 +15,20 @@
            file://opkg.conf \
            file://0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch \
            file://0001-libopkg-add-add-ignore-recommends-option.patch \
+           file://0001-regress-issue72.py-resolve-paths-before-comparision.patch \
+           file://0001-opkg-add-target-for-testsuite-installation.patch \
+           file://run-ptest \
 "
 
 SRC_URI[md5sum] = "ae51d95fee599bb4dce08453529158f5"
 SRC_URI[sha256sum] = "f6c00515d8a2ad8f6742a8e73830315d1983ed0459cba77c4d656cfc9e7fe6fe"
 
-inherit autotools pkgconfig systemd
+# This needs to be before ptest inherit, otherwise all ptest files end packaged
+# in libopkg package if OPKGLIBDIR == libdir, because default
+# PTEST_PATH ?= "${libdir}/${BPN}/ptest"
+PACKAGES =+ "libopkg"
+
+inherit autotools pkgconfig systemd ptest
 
 target_localstatedir := "${localstatedir}"
 OPKGLIBDIR = "${target_localstatedir}/lib"
@@ -49,12 +57,11 @@
 RDEPENDS_${PN} = "${VIRTUAL-RUNTIME_update-alternatives} opkg-arch-config libarchive"
 RDEPENDS_${PN}_class-native = ""
 RDEPENDS_${PN}_class-nativesdk = ""
+RDEPENDS_${PN}-ptest += "make binutils python3-core python3-compression"
 RREPLACES_${PN} = "opkg-nogpg opkg-collateral"
 RCONFLICTS_${PN} = "opkg-collateral"
 RPROVIDES_${PN} = "opkg-collateral"
 
-PACKAGES =+ "libopkg"
-
 FILES_libopkg = "${libdir}/*.so.* ${OPKGLIBDIR}/opkg/"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/orc/orc_0.4.28.bb b/poky/meta/recipes-devtools/orc/orc_0.4.29.bb
similarity index 84%
rename from poky/meta/recipes-devtools/orc/orc_0.4.28.bb
rename to poky/meta/recipes-devtools/orc/orc_0.4.29.bb
index 03cddad..8313576 100644
--- a/poky/meta/recipes-devtools/orc/orc_0.4.28.bb
+++ b/poky/meta/recipes-devtools/orc/orc_0.4.29.bb
@@ -4,9 +4,8 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=1400bd9d09e8af56b9ec982b3d85797e"
 
 SRC_URI = "http://gstreamer.freedesktop.org/src/orc/orc-${PV}.tar.xz"
-
-SRC_URI[md5sum] = "6b582ec4b3275c5efd51e3ae6406d445"
-SRC_URI[sha256sum] = "bfcd7c6563b05672386c4eedfc4c0d4a0a12b4b4775b74ec6deb88fc2bcd83ce"
+SRC_URI[md5sum] = "25799917c7d31a891d5e32b83ad08f6d"
+SRC_URI[sha256sum] = "4f8901f9144b5ec17dffdb33548b5f4c7f8049b0d1023be3462cdd64ec5a3ab2"
 
 inherit autotools pkgconfig gtk-doc
 
diff --git a/poky/meta/recipes-devtools/patchelf/patchelf/Increase-maxSize-to-64MB.patch b/poky/meta/recipes-devtools/patchelf/patchelf/Increase-maxSize-to-64MB.patch
deleted file mode 100644
index 49050a1..0000000
--- a/poky/meta/recipes-devtools/patchelf/patchelf/Increase-maxSize-to-64MB.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From e3658740ec100e4c8cf83295460b032979e1a99a Mon Sep 17 00:00:00 2001
-From: Fabio Berton <fabio.berton@ossystems.com.br>
-Date: Fri, 9 Sep 2016 18:21:32 -0300
-Subject: [PATCH] Increase maxSize to 64MB
-Organization: O.S. Systems Software LTDA.
-
-Fix error:
-
-/
-|ERROR: qemu-native-2.5.0-r1 do_populate_sysroot_setscene: '('patchelf-uninative',
-|'--set-interpreter', '../build/tmp/sysroots-uninative/x86_64-linux/lib/
-|ld-linux-x86-64.so.2', '../build/tmp/work/x86_64-linux/qemu-native/2.5.0-r1/
-|sstate-install-populate_sysroot/x86_64-linux/usr/bin/qemu-mips64')'
-|failed with exit code 1 and the following output:
-|warning: working around a Linux kernel bug by creating a hole of 36032512
-|bytes in ‘../build/tmp/work/x86_64-linux/qemu-native/2.5.0-r1/
-|sstate-install-populate_sysroot/x86_64-linux/usr/bin/qemu-mips64’
-|maximum file size exceeded
-\
-
-Similar issue is discussed here:
-https://github.com/NixOS/patchelf/issues/47
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
----
- src/patchelf.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/patchelf.cc b/src/patchelf.cc
-index a59c12d..0fd7355 100644
---- a/src/patchelf.cc
-+++ b/src/patchelf.cc
-@@ -279,7 +279,7 @@ static void readFile(string fileName)
-     struct stat st;
-     if (stat(fileName.c_str(), &st) != 0) error("stat");
-     fileSize = st.st_size;
--    maxSize = fileSize + 32 * 1024 * 1024;
-+    maxSize = fileSize + 64 * 1024 * 1024;
- 
-     contents = (unsigned char *) malloc(fileSize + maxSize);
-     if (!contents) abort();
--- 
-2.1.4
-
diff --git a/poky/meta/recipes-devtools/patchelf/patchelf/Skip-empty-section-fixes-66.patch b/poky/meta/recipes-devtools/patchelf/patchelf/Skip-empty-section-fixes-66.patch
deleted file mode 100644
index 9ee8a55..0000000
--- a/poky/meta/recipes-devtools/patchelf/patchelf/Skip-empty-section-fixes-66.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 73526cb546ae6b00ea6169e40b01fb7b5f0dbb50 Mon Sep 17 00:00:00 2001
-From: Fabio Berton <fabio.berton@ossystems.com.br>
-Date: Thu, 28 Jul 2016 11:05:06 -0300
-Subject: [PATCH] Skip empty section (fixes #66)
-Organization: O.S. Systems Software LTDA.
-
-Upstream-Status: Pending
-
-Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
----
- src/patchelf.cc | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/src/patchelf.cc b/src/patchelf.cc
-index 136098f..2677a26 100644
---- a/src/patchelf.cc
-+++ b/src/patchelf.cc
-@@ -684,6 +684,9 @@ void ElfFile<ElfFileParamNames>::rewriteSectionsExecutable()
-     for (unsigned int i = 1; i <= lastReplaced; ++i) {
-         Elf_Shdr & shdr(shdrs[i]);
-         string sectionName = getSectionName(shdr);
-+        if (sectionName == "") {
-+            continue;
-+        }
-         debug("looking at section `%s'\n", sectionName.c_str());
-         /* !!! Why do we stop after a .dynstr section? I can't
-            remember! */
--- 
-2.1.4
-
diff --git a/poky/meta/recipes-devtools/patchelf/patchelf/avoidholes.patch b/poky/meta/recipes-devtools/patchelf/patchelf/avoidholes.patch
deleted file mode 100644
index 0b45c39..0000000
--- a/poky/meta/recipes-devtools/patchelf/patchelf/avoidholes.patch
+++ /dev/null
@@ -1,163 +0,0 @@
-Different types of binaries create challenges for patchelf. In order to extend 
-sections they need to be moved within the binary. The current approach to 
-handling ET_DYN binaries is to move the INTERP section to the end of the file.
-This means changing PT_PHDR to add an extra PT_LOAD section so that the new section
-is mmaped into memory by the elf loader in the kernel. In order to extend PHDR,
-this means moving it to the end of the file.
-
-Its documented in patchelf there is a kernel 'bug' which means that if you have holes
-in memory between the base load address and the PT_LOAD segment that contains PHDR,
-it will pass an incorrect PHDR address to ld.so and fail to load the binary, segfaulting.
-
-To avoid this, the code currently inserts space into the binary to ensure that when 
-loaded into memory there are no holes between the PT_LOAD sections. This inflates the 
-binaries by many MBs in some cases. Whilst we could make them sparse, there is a second
-issue which is that strip can fail to process these binaries:
-
-$ strip fixincl
-Not enough room for program headers, try linking with -N
-[.note.ABI-tag]: Bad value
-
-This turns out to be due to libbfd not liking the relocated PHDR section either 
-(https://github.com/NixOS/patchelf/issues/10).
-
-Instead this patch implements a different approach, leaving PHDR where it is but extending
-it in place to allow addition of a new PT_LOAD section. This overwrites sections in the 
-binary but those get moved to the end of the file in the new PT_LOAD section.
-
-This is based on patches linked from the above github issue, however whilst the idea
-was good, the implementation wasn't correct and they've been rewritten here.
-
-RP
-2017/3/7
-
-Upstream-Status: Accepted
-
-Index: patchelf-0.9/src/patchelf.cc
-===================================================================
---- patchelf-0.9.orig/src/patchelf.cc
-+++ patchelf-0.9/src/patchelf.cc
-@@ -146,6 +146,8 @@ private:
-     string & replaceSection(const SectionName & sectionName,
-         unsigned int size);
- 
-+    bool haveReplacedSection(const SectionName & sectionName);
-+
-     void writeReplacedSections(Elf_Off & curOff,
-         Elf_Addr startAddr, Elf_Off startOffset);
- 
-@@ -497,6 +499,16 @@ unsigned int ElfFile<ElfFileParamNames>:
-     return 0;
- }
- 
-+template<ElfFileParams>
-+bool ElfFile<ElfFileParamNames>::haveReplacedSection(const SectionName & sectionName)
-+{
-+    ReplacedSections::iterator i = replacedSections.find(sectionName);
-+
-+    if (i != replacedSections.end())
-+        return true;
-+    return false;
-+}
-+
- 
- template<ElfFileParams>
- string & ElfFile<ElfFileParamNames>::replaceSection(const SectionName & sectionName,
-@@ -595,52 +607,52 @@ void ElfFile<ElfFileParamNames>::rewrite
- 
-     debug("last page is 0x%llx\n", (unsigned long long) startPage);
- 
-+    /* Because we're adding a new section header, we're necessarily increasing
-+       the size of the program header table.  This can cause the first section
-+       to overlap the program header table in memory; we need to shift the first
-+       few segments to someplace else. */
-+    /* Some sections may already be replaced so account for that */
-+    unsigned int i = 1;
-+    Elf_Addr pht_size = sizeof(Elf_Ehdr) + (phdrs.size() + 1)*sizeof(Elf_Phdr);
-+    while( shdrs[i].sh_addr <= pht_size && i < rdi(hdr->e_shnum) ) {
-+        if (not haveReplacedSection(getSectionName(shdrs[i])))
-+            replaceSection(getSectionName(shdrs[i]), shdrs[i].sh_size);
-+        i++;
-+    }
- 
--    /* Compute the total space needed for the replaced sections and
--       the program headers. */
--    off_t neededSpace = (phdrs.size() + 1) * sizeof(Elf_Phdr);
-+    /* Compute the total space needed for the replaced sections */
-+    off_t neededSpace = 0;
-     for (ReplacedSections::iterator i = replacedSections.begin();
-          i != replacedSections.end(); ++i)
-         neededSpace += roundUp(i->second.size(), sectionAlignment);
-     debug("needed space is %d\n", neededSpace);
- 
--
-     size_t startOffset = roundUp(fileSize, getPageSize());
- 
-     growFile(startOffset + neededSpace);
- 
--
-     /* Even though this file is of type ET_DYN, it could actually be
-        an executable.  For instance, Gold produces executables marked
--       ET_DYN.  In that case we can still hit the kernel bug that
--       necessitated rewriteSectionsExecutable().  However, such
--       executables also tend to start at virtual address 0, so
-+       ET_DYN as does LD when linking with pie. If we move PT_PHDR, it
-+       has to stay in the first PT_LOAD segment or any subsequent ones
-+       if they're continuous in memory due to linux kernel constraints
-+       (see BUGS). Since the end of the file would be after bss, we can't 
-+       move PHDR there, we therefore choose to leave PT_PHDR where it is but
-+       move enough following sections such that we can add the extra PT_LOAD
-+       section to it. This PT_LOAD segment ensures the sections at the end of
-+       the file are mapped into memory for ld.so to process.
-+       We can't use the approach in rewriteSectionsExecutable()
-+       since DYN executables tend to start at virtual address 0, so
-        rewriteSectionsExecutable() won't work because it doesn't have
--       any virtual address space to grow downwards into.  As a
--       workaround, make sure that the virtual address of our new
--       PT_LOAD segment relative to the first PT_LOAD segment is equal
--       to its offset; otherwise we hit the kernel bug.  This may
--       require creating a hole in the executable.  The bigger the size
--       of the uninitialised data segment, the bigger the hole. */
-+       any virtual address space to grow downwards into. */
-     if (isExecutable) {
-         if (startOffset >= startPage) {
-             debug("shifting new PT_LOAD segment by %d bytes to work around a Linux kernel bug\n", startOffset - startPage);
--        } else {
--            size_t hole = startPage - startOffset;
--            /* Print a warning, because the hole could be very big. */
--            fprintf(stderr, "warning: working around a Linux kernel bug by creating a hole of %zu bytes in ‘%s’\n", hole, fileName.c_str());
--            assert(hole % getPageSize() == 0);
--            /* !!! We could create an actual hole in the file here,
--               but it's probably not worth the effort. */
--            growFile(fileSize + hole);
--            startOffset += hole;
-         }
-         startPage = startOffset;
-     }
- 
--
--    /* Add a segment that maps the replaced sections and program
--       headers into memory. */
-+    /* Add a segment that maps the replaced sections into memory. */
-     phdrs.resize(rdi(hdr->e_phnum) + 1);
-     wri(hdr->e_phnum, rdi(hdr->e_phnum) + 1);
-     Elf_Phdr & phdr = phdrs[rdi(hdr->e_phnum) - 1];
-@@ -653,15 +665,12 @@ void ElfFile<ElfFileParamNames>::rewrite
- 
- 
-     /* Write out the replaced sections. */
--    Elf_Off curOff = startOffset + phdrs.size() * sizeof(Elf_Phdr);
-+    Elf_Off curOff = startOffset;
-     writeReplacedSections(curOff, startPage, startOffset);
-     assert(curOff == startOffset + neededSpace);
- 
--
--    /* Move the program header to the start of the new area. */
--    wri(hdr->e_phoff, startOffset);
--
--    rewriteHeaders(startPage);
-+    /* Write out the updated program and section headers */
-+    rewriteHeaders(hdr->e_phoff);
- }
- 
- 
diff --git a/poky/meta/recipes-devtools/patchelf/patchelf/fix-adjusting-startPage.patch b/poky/meta/recipes-devtools/patchelf/patchelf/fix-adjusting-startPage.patch
index f64cbed..a098842 100644
--- a/poky/meta/recipes-devtools/patchelf/patchelf/fix-adjusting-startPage.patch
+++ b/poky/meta/recipes-devtools/patchelf/patchelf/fix-adjusting-startPage.patch
@@ -1,6 +1,9 @@
+From 1630d3f846c7721b1e7cd3b005bb2b34816e1d0f Mon Sep 17 00:00:00 2001
+From: Ed Bartosh <ed.bartosh@linux.intel.com>
+Date: Fri, 21 Jul 2017 12:33:53 +0300
+Subject: [PATCH] patchelf: fix segfault for binaries linked by gold
+
 commit 1cc234fea5600190d872329aca60e2365cefc39e
-Author: Ed Bartosh <ed.bartosh@linux.intel.com>
-Date:   Fri Jul 21 12:33:53 2017 +0300
 
 fix adjusting startPage
 
@@ -19,11 +22,15 @@
 
 Upstream-Status: Submitted
 
+---
+ src/patchelf.cc | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
 diff --git a/src/patchelf.cc b/src/patchelf.cc
-index cbd36c0..e9d7ea5 100644
+index a63e3a11c61f..2483d25d78f1 100644
 --- a/src/patchelf.cc
 +++ b/src/patchelf.cc
-@@ -720,10 +720,8 @@ void ElfFile<ElfFileParamNames>::rewriteSectionsLibrary()
+@@ -756,10 +756,8 @@ void ElfFile<ElfFileParamNames>::rewriteSectionsLibrary()
         since DYN executables tend to start at virtual address 0, so
         rewriteSectionsExecutable() won't work because it doesn't have
         any virtual address space to grow downwards into. */
diff --git a/poky/meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch b/poky/meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch
index 9fafec4..03b0d18 100644
--- a/poky/meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch
+++ b/poky/meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch
@@ -1,26 +1,26 @@
-From 2a603acb65993698c21f1c6eb7664f93ad830d52 Mon Sep 17 00:00:00 2001
+From 7f1fd10cfebd5ea2f3e1938abe1bd1c4828164a7 Mon Sep 17 00:00:00 2001
 From: Fabio Berton <fabio.berton@ossystems.com.br>
 Date: Fri, 9 Sep 2016 16:00:42 -0300
 Subject: [PATCH] handle read-only files
-Organization: O.S. Systems Software LTDA.
 
 Patch from:
 https://github.com/darealshinji/patchelf/commit/40e66392bc4b96e9b4eda496827d26348a503509
 
-Upstream-Status: Pending
+Upstream-Status: Denied [https://github.com/NixOS/patchelf/pull/89]
 
 Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
+
 ---
  src/patchelf.cc | 16 +++++++++++++++-
  1 file changed, 15 insertions(+), 1 deletion(-)
 
 diff --git a/src/patchelf.cc b/src/patchelf.cc
-index 136098f..aea360e 100644
+index 0b4965adff83..b5db2aef0e8a 100644
 --- a/src/patchelf.cc
 +++ b/src/patchelf.cc
-@@ -388,7 +388,17 @@ void ElfFile<ElfFileParamNames>::sortShdrs()
+@@ -497,7 +497,17 @@ void ElfFile<ElfFileParamNames>::sortShdrs()
  
- static void writeFile(string fileName)
+ static void writeFile(std::string fileName, FileContents contents)
  {
 -    int fd = open(fileName.c_str(), O_TRUNC | O_WRONLY);
 +    struct stat st;
@@ -37,7 +37,7 @@
      if (fd == -1)
          error("open");
  
-@@ -397,6 +407,10 @@ static void writeFile(string fileName)
+@@ -511,6 +521,10 @@ static void writeFile(std::string fileName, FileContents contents)
  
      if (close(fd) != 0)
          error("close");
@@ -48,6 +48,3 @@
  }
  
  
--- 
-2.1.4
-
diff --git a/poky/meta/recipes-devtools/patchelf/patchelf_0.10.bb b/poky/meta/recipes-devtools/patchelf/patchelf_0.10.bb
new file mode 100644
index 0000000..580108e
--- /dev/null
+++ b/poky/meta/recipes-devtools/patchelf/patchelf_0.10.bb
@@ -0,0 +1,16 @@
+SRC_URI = "http://nixos.org/releases/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.bz2 \
+           file://handle-read-only-files.patch \
+           file://fix-adjusting-startPage.patch \
+           "
+
+LICENSE = "GPLv3"
+SUMMARY = "Tool to allow editing of RPATH and interpreter fields in ELF binaries"
+
+SRC_URI[md5sum] = "6c3f3a06a95705870d129494a6880106"
+SRC_URI[sha256sum] = "f670cd462ac7161588c28f45349bc20fb9bd842805e3f71387a320e7a9ddfcf3"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+inherit autotools
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/patchelf/patchelf_0.9.bb b/poky/meta/recipes-devtools/patchelf/patchelf_0.9.bb
deleted file mode 100644
index d703039..0000000
--- a/poky/meta/recipes-devtools/patchelf/patchelf_0.9.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SRC_URI = "http://nixos.org/releases/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.bz2 \
-           file://Skip-empty-section-fixes-66.patch \
-           file://handle-read-only-files.patch \
-           file://Increase-maxSize-to-64MB.patch \
-           file://avoidholes.patch \
-           file://fix-adjusting-startPage.patch \
-"
-
-LICENSE = "GPLv3"
-SUMMARY = "Tool to allow editing of RPATH and interpreter fields in ELF binaries"
-
-SRC_URI[md5sum] = "d02687629c7e1698a486a93a0d607947"
-SRC_URI[sha256sum] = "a0f65c1ba148890e9f2f7823f4bedf7ecad5417772f64f994004f59a39014f83"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-inherit autotools
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/perl-sanity/perl_5.28.1.bb b/poky/meta/recipes-devtools/perl-sanity/perl_5.28.2.bb
similarity index 97%
rename from poky/meta/recipes-devtools/perl-sanity/perl_5.28.1.bb
rename to poky/meta/recipes-devtools/perl-sanity/perl_5.28.2.bb
index f3948a5..12b220a 100644
--- a/poky/meta/recipes-devtools/perl-sanity/perl_5.28.1.bb
+++ b/poky/meta/recipes-devtools/perl-sanity/perl_5.28.2.bb
@@ -8,7 +8,7 @@
 
 
 SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \
-           https://github.com/arsv/perl-cross/releases/download/1.2.2/perl-cross-1.2.2.tar.gz;name=perl-cross \
+           https://github.com/arsv/perl-cross/releases/download/1.2.3/perl-cross-1.2.3.tar.gz;name=perl-cross \
            file://perl-rdepends.txt \
            file://0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch \
            file://0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch \
@@ -23,10 +23,10 @@
            file://perl-configpm-switch.patch \
 "
 
-SRC_URI[perl.md5sum] = "838198c43d4f39d7af797e2f59c2bee5"
-SRC_URI[perl.sha256sum] = "3ebf85fe65df2ee165b22596540b7d5d42f84d4b72d84834f74e2e0b8956c347"
-SRC_URI[perl-cross.md5sum] = "9a6c05497bdde9a3106e3be9246f4da1"
-SRC_URI[perl-cross.sha256sum] = "e6987838f27d8cd3368ea68fc56a68cc52371505950927b8b7c5cb76e3a94caa"
+SRC_URI[perl.md5sum] = "1323e7581fbedf3791d2843f4ccaec4b"
+SRC_URI[perl.sha256sum] = "aa95456dddb3eb1cc5475fed4e08f91876bea71fb636fba6399054dfbabed6c7"
+SRC_URI[perl-cross.md5sum] = "03d9eafd71161eb5d1f80434e8b49dbc"
+SRC_URI[perl-cross.sha256sum] = "84583a1bb5f3a2c64d13d031386c114382e5c62955c6f84a27cec8318536627c"
 
 PR = "r1"
 
diff --git a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
index 79e0b6b..51db84c 100644
--- a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
+++ b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
@@ -8,7 +8,7 @@
            file://toomanyfiles.patch \
            "
 
-SRCREV = "6294b344e5140f5467e6860f45a174440015304e"
+SRCREV = "3fa7c853e0bcd6fe23f7524c2a3c9e3af90901c3"
 S = "${WORKDIR}/git"
 PV = "1.9.0+git${SRCPV}"
 
diff --git a/poky/meta/recipes-devtools/python-numpy/files/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch b/poky/meta/recipes-devtools/python-numpy/files/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch
index 516ccd7..8fe0d1a 100644
--- a/poky/meta/recipes-devtools/python-numpy/files/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch
+++ b/poky/meta/recipes-devtools/python-numpy/files/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch
@@ -1,7 +1,8 @@
-From c8c6649b29a08f82e1d6761a6d62ce5f632313c5 Mon Sep 17 00:00:00 2001
+From c14554c7e2fff8dd559dfb41e7dd11392c6f85e3 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Thu, 10 Dec 2015 13:20:30 +0200
-Subject: [PATCH 1/3] Don't search /usr and so on for libraries by default to
+Subject: [PATCH] Don't search /usr and so on for libraries by default to
+
  avoid host contamination.
 
 Upstream-Status: Inappropriate (As the code stands, this is a hack)
@@ -9,16 +10,16 @@
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
 
 ---
- numpy/distutils/system_info.py | 50 +++++-------------------------------------
+ numpy/distutils/system_info.py | 50 ++++------------------------------
  1 file changed, 6 insertions(+), 44 deletions(-)
 
 diff --git a/numpy/distutils/system_info.py b/numpy/distutils/system_info.py
-index bea120c..544e056 100644
+index 2424943..bf56a6d 100644
 --- a/numpy/distutils/system_info.py
 +++ b/numpy/distutils/system_info.py
-@@ -262,51 +262,13 @@ if sys.platform == 'win32':
+@@ -274,51 +274,13 @@ if sys.platform == 'win32':
              add_system_root(os.path.join(conda_dir, 'Library'))
-                         
+ 
  else:
 -    default_lib_dirs = libpaths(['/usr/local/lib', '/opt/lib', '/usr/lib',
 -                                 '/opt/local/lib', '/sw/lib'], platform_bits)
@@ -74,6 +75,3 @@
  
  if os.path.join(sys.prefix, 'lib') not in default_lib_dirs:
      default_lib_dirs.insert(0, os.path.join(sys.prefix, 'lib'))
--- 
-2.16.1
-
diff --git a/poky/meta/recipes-devtools/python-numpy/files/0001-npy_cpu-Add-riscv-support.patch b/poky/meta/recipes-devtools/python-numpy/files/0001-npy_cpu-Add-riscv-support.patch
index 4f5c4f5..4decfe6 100644
--- a/poky/meta/recipes-devtools/python-numpy/files/0001-npy_cpu-Add-riscv-support.patch
+++ b/poky/meta/recipes-devtools/python-numpy/files/0001-npy_cpu-Add-riscv-support.patch
@@ -1,21 +1,20 @@
-From 30fb1bf9244bb0789c02ec7c98a923acc7200206 Mon Sep 17 00:00:00 2001
+From 629891f67601275c9c4de0bb01afcf1a8c44fa3f Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 16 Mar 2018 19:55:21 -0700
 Subject: [PATCH] npy_cpu: Add riscv support
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
 Upstream-Status: Submitted [https://github.com/numpy/numpy/pull/10761]
-
+---
  numpy/core/include/numpy/npy_cpu.h | 2 ++
  1 file changed, 2 insertions(+)
 
 diff --git a/numpy/core/include/numpy/npy_cpu.h b/numpy/core/include/numpy/npy_cpu.h
-index 84653ea18..9e88db873 100644
+index 5edd8f4..e1e4796 100644
 --- a/numpy/core/include/numpy/npy_cpu.h
 +++ b/numpy/core/include/numpy/npy_cpu.h
-@@ -78,6 +78,8 @@
-     #define NPY_CPU_AARCH64
+@@ -96,6 +96,8 @@
+     #define NPY_CPU_OR1K
  #elif defined(__mc68000__)
      #define NPY_CPU_M68K
 +#elif defined(__riscv)
@@ -23,6 +22,3 @@
  #elif defined(__arc__) && defined(__LITTLE_ENDIAN__)
      #define NPY_CPU_ARCEL
  #elif defined(__arc__) && defined(__BIG_ENDIAN__)
--- 
-2.16.2
-
diff --git a/poky/meta/recipes-devtools/python-numpy/files/fix_shebang_f2py.patch b/poky/meta/recipes-devtools/python-numpy/files/fix_shebang_f2py.patch
deleted file mode 100644
index 8be6e4d..0000000
--- a/poky/meta/recipes-devtools/python-numpy/files/fix_shebang_f2py.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
-Avoids using python from the HOSTs native sysroot for f2py,
-uses TARGET env python instead.
-
-Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
-
-Index: numpy-1.11.0/numpy/f2py/setup.py
-===================================================================
---- numpy-1.11.0.orig/numpy/f2py/setup.py
-+++ numpy-1.11.0/numpy/f2py/setup.py
-@@ -37,10 +37,13 @@ def _get_f2py_shebang():
-     should be ``#!python`` rather than ``#!`` followed by the contents of
-     ``sys.executable``.
-     """
--    if set(('bdist_wheel', 'bdist_egg', 'bdist_wininst',
--            'bdist_rpm')).intersection(sys.argv):
--        return '#!python'
--    return '#!' + sys.executable
-+    #if set(('bdist_wheel', 'bdist_egg', 'bdist_wininst',
-+    #        'bdist_rpm')).intersection(sys.argv):
-+    #    return '#!python'
-+    #return '#!' + sys.executable
-+    
-+    # On OE, we need to avoid using the HOSTs python-native, we return env python instead
-+    return '#!/usr/bin/env python'
- 
- 
- def configuration(parent_package='', top_path=None):
diff --git a/poky/meta/recipes-devtools/python-numpy/python-numpy.inc b/poky/meta/recipes-devtools/python-numpy/python-numpy.inc
index 1b51f7b..43c3053 100644
--- a/poky/meta/recipes-devtools/python-numpy/python-numpy.inc
+++ b/poky/meta/recipes-devtools/python-numpy/python-numpy.inc
@@ -1,17 +1,17 @@
 SUMMARY = "A sophisticated Numeric Processing Package for Python"
 SECTION = "devel/python"
 LICENSE = "BSD-3-Clause & BSD-2-Clause & PSF & Apache-2.0 & BSD"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fc53b33304171d132128ebe82ea4a645"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d26bde5432613cce2334b93985576231"
 
 SRCNAME = "numpy"
 
 SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/v${PV}/${SRCNAME}-${PV}.tar.gz \
            file://0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch \
-           file://fix_shebang_f2py.patch \
            file://0001-npy_cpu-Add-riscv-support.patch \
-           ${CONFIGFILESURI} "
-SRC_URI[md5sum] = "e3189ee851c3a0e2e6e4c6e80a711ec8"
-SRC_URI[sha256sum] = "1b4a02758fb68a65ea986d808867f1d6383219c234aef553a8741818e795b529"
+           ${CONFIGFILESURI} \
+           "
+SRC_URI[md5sum] = "0886e5b5017f08f2b7a624c0b5931e61"
+SRC_URI[sha256sum] = "adf063a3f87ab89393f5eea0eb903293b112fa0a308e8c594a75ffa585d81d4f"
 
 UPSTREAM_CHECK_URI = "https://github.com/numpy/numpy/releases"
 UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-devtools/python-numpy/python-numpy_1.14.5.bb b/poky/meta/recipes-devtools/python-numpy/python-numpy_1.16.3.bb
similarity index 100%
rename from poky/meta/recipes-devtools/python-numpy/python-numpy_1.14.5.bb
rename to poky/meta/recipes-devtools/python-numpy/python-numpy_1.16.3.bb
diff --git a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.14.5.bb b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.16.3.bb
similarity index 97%
rename from poky/meta/recipes-devtools/python-numpy/python3-numpy_1.14.5.bb
rename to poky/meta/recipes-devtools/python-numpy/python3-numpy_1.16.3.bb
index 915e6f8..d388e88 100644
--- a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.14.5.bb
+++ b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.16.3.bb
@@ -1,2 +1,3 @@
 inherit setuptools3
 require python-numpy.inc
+
diff --git a/poky/meta/recipes-devtools/python/python-mako.inc b/poky/meta/recipes-devtools/python/python-mako.inc
index e265bde..97c624b 100644
--- a/poky/meta/recipes-devtools/python/python-mako.inc
+++ b/poky/meta/recipes-devtools/python/python-mako.inc
@@ -8,8 +8,8 @@
 
 inherit pypi
 
-SRC_URI[md5sum] = "5836cc997b1b773ef389bf6629c30e65"
-SRC_URI[sha256sum] = "4e02fde57bd4abb5ec400181e4c314f56ac3e49ba4fb8b0d50bba18cb27d25ae"
+SRC_URI[md5sum] = "d739720f3f0d6a1cb6a96ea7a4760c3e"
+SRC_URI[sha256sum] = "0728c404877cd4ca72c409c0ea372dc5f3b53fa1ad2bb434e1d216c0444ff1fd"
 
 RDEPENDS_${PN} = "${PYTHON_PN}-html \
                   ${PYTHON_PN}-netclient \
diff --git a/poky/meta/recipes-devtools/python/python-native_2.7.15.bb b/poky/meta/recipes-devtools/python/python-native_2.7.16.bb
similarity index 96%
rename from poky/meta/recipes-devtools/python/python-native_2.7.15.bb
rename to poky/meta/recipes-devtools/python/python-native_2.7.16.bb
index 26d67df..b744280 100644
--- a/poky/meta/recipes-devtools/python/python-native_2.7.15.bb
+++ b/poky/meta/recipes-devtools/python/python-native_2.7.16.bb
@@ -1,7 +1,6 @@
 require python.inc
 EXTRANATIVEPATH += "bzip2-native"
 DEPENDS = "openssl-native bzip2-replacement-native zlib-native readline-native sqlite3-native expat-native gdbm-native db-native"
-PR = "${INC_PR}.1"
 
 SRC_URI += "\
             file://05-enable-ctypes-cross-build.patch \
@@ -17,7 +16,6 @@
             file://parallel-makeinst-create-bindir.patch \
             file://revert_use_of_sysconfigdata.patch \
             file://0001-python-native-fix-one-do_populate_sysroot-warning.patch \
-            file://0001-2.7-bpo-34623-Use-XML_SetHashSalt-in-_elementtree-GH.patch \
            "
 
 S = "${WORKDIR}/Python-${PV}"
diff --git a/poky/meta/recipes-devtools/python/python-scons-native_3.0.1.bb b/poky/meta/recipes-devtools/python/python-scons-native_3.0.5.bb
similarity index 100%
rename from poky/meta/recipes-devtools/python/python-scons-native_3.0.1.bb
rename to poky/meta/recipes-devtools/python/python-scons-native_3.0.5.bb
diff --git a/poky/meta/recipes-devtools/python/python-scons_3.0.1.bb b/poky/meta/recipes-devtools/python/python-scons_3.0.1.bb
deleted file mode 100644
index d5084b2..0000000
--- a/poky/meta/recipes-devtools/python/python-scons_3.0.1.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Software Construction tool (make/autotools replacement)"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=46ddf66004e5be5566367cb525a66fc6"
-
-SRC_URI[md5sum] = "b6a292e251b34b82c203b56cfa3968b3"
-SRC_URI[sha256sum] = "24475e38d39c19683bc88054524df018fe6949d70fbd4c69e298d39a0269f173"
-
-UPSTREAM_CHECK_URI = "http://scons.org/pages/download.html"
-UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} = "\
-  python-fcntl \
-  python-io \
-  python-json \
-  python-subprocess \
-  python-shell \
-  python-pprint \
-  "
diff --git a/poky/meta/recipes-devtools/python/python-scons_3.0.5.bb b/poky/meta/recipes-devtools/python/python-scons_3.0.5.bb
new file mode 100644
index 0000000..939c15b
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python-scons_3.0.5.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Software Construction tool (make/autotools replacement)"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=37bb53a08e6beaea0c90e7821d731284"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/scons/scons-${PV}.tar.gz"
+SRC_URI[md5sum] = "9f9c163e8bd48cf8cd92f03e85ca6395"
+SRC_URI[sha256sum] = "df676f23dc6d4bfa384fc389d95dcd21ab907e6349d4c848958ba4befb73c73e"
+
+S = "${WORKDIR}/scons-${PV}"
+
+UPSTREAM_CHECK_URI = "http://scons.org/pages/download.html"
+UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
+
+inherit setuptools
+
+RDEPENDS_${PN} = "\
+  python-fcntl \
+  python-io \
+  python-json \
+  python-subprocess \
+  python-shell \
+  python-pprint \
+  "
diff --git a/poky/meta/recipes-devtools/python/python-setuptools.inc b/poky/meta/recipes-devtools/python/python-setuptools.inc
index 9092d7a..357aa07 100644
--- a/poky/meta/recipes-devtools/python/python-setuptools.inc
+++ b/poky/meta/recipes-devtools/python/python-setuptools.inc
@@ -10,8 +10,8 @@
 
 SRC_URI_append_class-native = " file://0001-conditionally-do-not-fetch-code-by-easy_install.patch"
 
-SRC_URI[md5sum] = "712697a5bc975cf479d487cd68206c20"
-SRC_URI[sha256sum] = "6e4eec90337e849ade7103723b9a99631c1f0d19990d6e8412dc42f5ae8b304d"
+SRC_URI[md5sum] = "6404ca798bb9a9073aff3b91b2df35c8"
+SRC_URI[sha256sum] = "a222d126f5471598053c9a77f4b5d4f26eaa1f150ad6e01dcf1a42e185d05613"
 
 DEPENDS += "${PYTHON_PN}"
 
diff --git a/poky/meta/recipes-devtools/python/python-setuptools_40.8.0.bb b/poky/meta/recipes-devtools/python/python-setuptools_41.0.1.bb
similarity index 100%
rename from poky/meta/recipes-devtools/python/python-setuptools_40.8.0.bb
rename to poky/meta/recipes-devtools/python/python-setuptools_41.0.1.bb
diff --git a/poky/meta/recipes-devtools/python/python.inc b/poky/meta/recipes-devtools/python/python.inc
index 6692367..779df53 100644
--- a/poky/meta/recipes-devtools/python/python.inc
+++ b/poky/meta/recipes-devtools/python/python.inc
@@ -5,18 +5,13 @@
 # bump this on every change in contrib/python/generate-manifest-2.7.py
 INC_PR = "r1"
 
-LIC_FILES_CHKSUM = "file://LICENSE;md5=f257cc14f81685691652a3d3e1b5d754"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e466242989bd33c1bd2b6a526a742498"
 
 SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
-           file://0001-bpo-33570-TLS-1.3-ciphers-for-OpenSSL-1.1.1-GH-6976-.patch \
-           file://0002-bpo-34818-Add-missing-closing-wrapper-in-test_tls1_3.patch \
-           file://0003-bpo-34834-Fix-test_ssl.test_options-to-account-for-O.patch \
-           file://0004-bpo-34836-fix-test_default_ecdh_curve-needs-no-tlsv1.patch \
-           file://0001-bpo-33354-Fix-test_ssl-when-a-filename-cannot-be-enc.patch \
            "
 
-SRC_URI[md5sum] = "a80ae3cc478460b922242f43a1b4094d"
-SRC_URI[sha256sum] = "22d9b1ac5b26135ad2b8c2901a9413537e08749a753356ee913c84dbd2df5574"
+SRC_URI[md5sum] = "30157d85a2c0479c09ea2cbe61f2aaf5"
+SRC_URI[sha256sum] = "f222ef602647eecb6853681156d32de4450a2c39f4de93bd5b20235f2e660ed7"
 
 # python recipe is actually python 2.x
 # also, exclude pre-releases for both python 2.x and 3.x
diff --git a/poky/meta/recipes-devtools/python/python/0001-2.7-bpo-34623-Use-XML_SetHashSalt-in-_elementtree-GH.patch b/poky/meta/recipes-devtools/python/python/0001-2.7-bpo-34623-Use-XML_SetHashSalt-in-_elementtree-GH.patch
deleted file mode 100644
index 3c0d662..0000000
--- a/poky/meta/recipes-devtools/python/python/0001-2.7-bpo-34623-Use-XML_SetHashSalt-in-_elementtree-GH.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From 3ffc80959f01f9fde548f1632694b9f950c2dd7c Mon Sep 17 00:00:00 2001
-From: Christian Heimes <christian@python.org>
-Date: Tue, 18 Sep 2018 15:13:09 +0200
-Subject: [PATCH] [2.7] bpo-34623: Use XML_SetHashSalt in _elementtree
- (GH-9146) (GH-9394)
-
-The C accelerated _elementtree module now initializes hash randomization
-salt from _Py_HashSecret instead of libexpat's default CPRNG.
-
-Signed-off-by: Christian Heimes <christian@python.org>
-
-https://bugs.python.org/issue34623.
-(cherry picked from commit cb5778f00ce48631c7140f33ba242496aaf7102b)
-
-Co-authored-by: Christian Heimes <christian@python.org>
-
-
-
-https://bugs.python.org/issue34623
-
-Upstream-Status: Backport
-CVE: CVE-2018-14647
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- Include/pyexpat.h                                                  | 4 +++-
- Misc/NEWS.d/next/Security/2018-09-10-16-05-39.bpo-34623.Ua9jMv.rst | 2 ++
- Modules/_elementtree.c                                             | 5 +++++
- Modules/pyexpat.c                                                  | 5 +++++
- 4 files changed, 15 insertions(+), 1 deletion(-)
- create mode 100644 Misc/NEWS.d/next/Security/2018-09-10-16-05-39.bpo-34623.Ua9jMv.rst
-
-diff --git a/Include/pyexpat.h b/Include/pyexpat.h
-index 5340ef5..3fc5fa5 100644
---- a/Include/pyexpat.h
-+++ b/Include/pyexpat.h
-@@ -3,7 +3,7 @@
- 
- /* note: you must import expat.h before importing this module! */
- 
--#define PyExpat_CAPI_MAGIC  "pyexpat.expat_CAPI 1.0"
-+#define PyExpat_CAPI_MAGIC  "pyexpat.expat_CAPI 1.1"
- #define PyExpat_CAPSULE_NAME "pyexpat.expat_CAPI"
- 
- struct PyExpat_CAPI 
-@@ -43,6 +43,8 @@ struct PyExpat_CAPI
-         XML_Parser parser, XML_UnknownEncodingHandler handler,
-         void *encodingHandlerData);
-     void (*SetUserData)(XML_Parser parser, void *userData);
-+    /* might be none for expat < 2.1.0 */
-+    int (*SetHashSalt)(XML_Parser parser, unsigned long hash_salt);
-     /* always add new stuff to the end! */
- };
- 
-diff --git a/Misc/NEWS.d/next/Security/2018-09-10-16-05-39.bpo-34623.Ua9jMv.rst b/Misc/NEWS.d/next/Security/2018-09-10-16-05-39.bpo-34623.Ua9jMv.rst
-new file mode 100644
-index 0000000..31ad92e
---- /dev/null
-+++ b/Misc/NEWS.d/next/Security/2018-09-10-16-05-39.bpo-34623.Ua9jMv.rst
-@@ -0,0 +1,2 @@
-+The C accelerated _elementtree module now initializes hash randomization
-+salt from _Py_HashSecret instead of libexpat's default CSPRNG.
-diff --git a/Modules/_elementtree.c b/Modules/_elementtree.c
-index 1d316a1..a19cbf7 100644
---- a/Modules/_elementtree.c
-+++ b/Modules/_elementtree.c
-@@ -2574,6 +2574,11 @@ xmlparser(PyObject* self_, PyObject* args, PyObject* kw)
-         PyErr_NoMemory();
-         return NULL;
-     }
-+    /* expat < 2.1.0 has no XML_SetHashSalt() */
-+    if (EXPAT(SetHashSalt) != NULL) {
-+        EXPAT(SetHashSalt)(self->parser,
-+                           (unsigned long)_Py_HashSecret.prefix);
-+    }
- 
-     ALLOC(sizeof(XMLParserObject), "create expatparser");
- 
-diff --git a/Modules/pyexpat.c b/Modules/pyexpat.c
-index 2b4d312..1f8c0d7 100644
---- a/Modules/pyexpat.c
-+++ b/Modules/pyexpat.c
-@@ -2042,6 +2042,11 @@ MODULE_INITFUNC(void)
-     capi.SetProcessingInstructionHandler = XML_SetProcessingInstructionHandler;
-     capi.SetUnknownEncodingHandler = XML_SetUnknownEncodingHandler;
-     capi.SetUserData = XML_SetUserData;
-+#if XML_COMBINED_VERSION >= 20100
-+    capi.SetHashSalt = XML_SetHashSalt;
-+#else
-+    capi.SetHashSalt = NULL;
-+#endif
- 
-     /* export using capsule */
-     capi_object = PyCapsule_New(&capi, PyExpat_CAPSULE_NAME, NULL);
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/python/python/0001-bpo-33354-Fix-test_ssl-when-a-filename-cannot-be-enc.patch b/poky/meta/recipes-devtools/python/python/0001-bpo-33354-Fix-test_ssl-when-a-filename-cannot-be-enc.patch
deleted file mode 100644
index 4c0b357..0000000
--- a/poky/meta/recipes-devtools/python/python/0001-bpo-33354-Fix-test_ssl-when-a-filename-cannot-be-enc.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 19f6bd06af3c7fc0db5f96878aaa68f5589ff13e Mon Sep 17 00:00:00 2001
-From: Pablo Galindo <Pablogsal@gmail.com>
-Date: Thu, 24 May 2018 23:20:44 +0100
-Subject: [PATCH] bpo-33354: Fix test_ssl when a filename cannot be encoded
- (GH-6613)
-
-Skip test_load_dh_params() of test_ssl when Python filesystem encoding
-cannot encode the provided path.
-
-Upstream-Status: Backport [https://github.com/python/cpython/commit/19f6bd06af3c7fc0db5f96878aaa68f5589ff13e]
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- Lib/test/test_ssl.py                                     | 9 ++++++++-
- .../next/Tests/2018-04-26-22-39-17.bpo-33354.g35-44.rst  | 2 ++
- 2 files changed, 10 insertions(+), 1 deletion(-)
- create mode 100644 Misc/NEWS.d/next/Tests/2018-04-26-22-39-17.bpo-33354.g35-44.rst
-
-diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
-index b59fe73f04..7ced90fdf6 100644
---- a/Lib/test/test_ssl.py
-+++ b/Lib/test/test_ssl.py
-@@ -989,6 +989,13 @@ class ContextTests(unittest.TestCase):
- 
- 
-     def test_load_dh_params(self):
-+        filename = u'dhpäräm.pem'
-+        fs_encoding = sys.getfilesystemencoding()
-+        try:
-+            filename.encode(fs_encoding)
-+        except UnicodeEncodeError:
-+            self.skipTest("filename %r cannot be encoded to the filesystem encoding %r" % (filename, fs_encoding))
-+
-         ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
-         ctx.load_dh_params(DHFILE)
-         if os.name != 'nt':
-@@ -1001,7 +1008,7 @@ class ContextTests(unittest.TestCase):
-         with self.assertRaises(ssl.SSLError) as cm:
-             ctx.load_dh_params(CERTFILE)
-         with support.temp_dir() as d:
--            fname = os.path.join(d, u'dhpäräm.pem')
-+            fname = os.path.join(d, filename)
-             shutil.copy(DHFILE, fname)
-             ctx.load_dh_params(fname)
- 
-diff --git a/Misc/NEWS.d/next/Tests/2018-04-26-22-39-17.bpo-33354.g35-44.rst b/Misc/NEWS.d/next/Tests/2018-04-26-22-39-17.bpo-33354.g35-44.rst
-new file mode 100644
-index 0000000000..c66cecac32
---- /dev/null
-+++ b/Misc/NEWS.d/next/Tests/2018-04-26-22-39-17.bpo-33354.g35-44.rst
-@@ -0,0 +1,2 @@
-+Skip ``test_ssl.test_load_dh_params`` when Python filesystem encoding cannot encode the
-+provided path.
--- 
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/python/python/0001-bpo-33570-TLS-1.3-ciphers-for-OpenSSL-1.1.1-GH-6976-.patch b/poky/meta/recipes-devtools/python/python/0001-bpo-33570-TLS-1.3-ciphers-for-OpenSSL-1.1.1-GH-6976-.patch
deleted file mode 100644
index 1f70562..0000000
--- a/poky/meta/recipes-devtools/python/python/0001-bpo-33570-TLS-1.3-ciphers-for-OpenSSL-1.1.1-GH-6976-.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-From a333351592f097220fc862911b34d3a300f0985e Mon Sep 17 00:00:00 2001
-From: Christian Heimes <christian@python.org>
-Date: Wed, 15 Aug 2018 09:07:28 +0200
-Subject: [PATCH 1/4] bpo-33570: TLS 1.3 ciphers for OpenSSL 1.1.1 (GH-6976)
- (GH-8760)
-
-Change TLS 1.3 cipher suite settings for compatibility with OpenSSL
-1.1.1-pre6 and newer. OpenSSL 1.1.1 will have TLS 1.3 cipers enabled by
-default.
-
-Also update multissltests to test with latest OpenSSL.
-
-Signed-off-by: Christian Heimes <christian@python.org>.
-(cherry picked from commit 3e630c541b35c96bfe5619165255e559f577ee71)
-
-Co-authored-by: Christian Heimes <christian@python.org>
-
-Upstream-Status: Accepted [https://github.com/python/cpython/pull/8771]
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- Doc/library/ssl.rst                           |  8 ++--
- Lib/test/test_ssl.py                          | 37 +++++++++++--------
- .../2018-05-18-21-50-47.bpo-33570.7CZy4t.rst  |  3 ++
- 3 files changed, 27 insertions(+), 21 deletions(-)
- create mode 100644 Misc/NEWS.d/next/Library/2018-05-18-21-50-47.bpo-33570.7CZy4t.rst
-
-diff --git a/Doc/library/ssl.rst b/Doc/library/ssl.rst
-index 0421031772..7c7c85b833 100644
---- a/Doc/library/ssl.rst
-+++ b/Doc/library/ssl.rst
-@@ -294,11 +294,6 @@ purposes.
- 
-      3DES was dropped from the default cipher string.
- 
--   .. versionchanged:: 2.7.15
--
--     TLS 1.3 cipher suites TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384,
--     and TLS_CHACHA20_POLY1305_SHA256 were added to the default cipher string.
--
- .. function:: _https_verify_certificates(enable=True)
- 
-    Specifies whether or not server certificates are verified when creating
-@@ -1179,6 +1174,9 @@ to speed up repeated connections from the same clients.
-       when connected, the :meth:`SSLSocket.cipher` method of SSL sockets will
-       give the currently selected cipher.
- 
-+      OpenSSL 1.1.1 has TLS 1.3 cipher suites enabled by default. The suites
-+      cannot be disabled with :meth:`~SSLContext.set_ciphers`.
-+
- .. method:: SSLContext.set_alpn_protocols(protocols)
- 
-    Specify which protocols the socket should advertise during the SSL/TLS
-diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
-index dc14e22ad1..f51572e319 100644
---- a/Lib/test/test_ssl.py
-+++ b/Lib/test/test_ssl.py
-@@ -2772,19 +2772,24 @@ else:
-                     sock.do_handshake()
-                 self.assertEqual(cm.exception.errno, errno.ENOTCONN)
- 
--        def test_default_ciphers(self):
--            context = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
--            try:
--                # Force a set of weak ciphers on our client context
--                context.set_ciphers("DES")
--            except ssl.SSLError:
--                self.skipTest("no DES cipher available")
--            with ThreadedEchoServer(CERTFILE,
--                                    ssl_version=ssl.PROTOCOL_SSLv23,
--                                    chatty=False) as server:
--                with closing(context.wrap_socket(socket.socket())) as s:
--                    with self.assertRaises(ssl.SSLError):
--                        s.connect((HOST, server.port))
-+        def test_no_shared_ciphers(self):
-+            server_context = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
-+            server_context.load_cert_chain(SIGNED_CERTFILE)
-+            client_context = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
-+            client_context.verify_mode = ssl.CERT_REQUIRED
-+            client_context.check_hostname = True
-+
-+            # OpenSSL enables all TLS 1.3 ciphers, enforce TLS 1.2 for test
-+            client_context.options |= ssl.OP_NO_TLSv1_3
-+            # Force different suites on client and master
-+            client_context.set_ciphers("AES128")
-+            server_context.set_ciphers("AES256")
-+            with ThreadedEchoServer(context=server_context) as server:
-+                s = client_context.wrap_socket(
-+                        socket.socket(),
-+                        server_hostname="localhost")
-+                with self.assertRaises(ssl.SSLError):
-+                    s.connect((HOST, server.port))
-             self.assertIn("no shared cipher", str(server.conn_errors[0]))
- 
-         def test_version_basic(self):
-@@ -2815,9 +2820,9 @@ else:
-                 with context.wrap_socket(socket.socket()) as s:
-                     s.connect((HOST, server.port))
-                     self.assertIn(s.cipher()[0], [
--                        'TLS13-AES-256-GCM-SHA384',
--                        'TLS13-CHACHA20-POLY1305-SHA256',
--                        'TLS13-AES-128-GCM-SHA256',
-+                        'TLS_AES_256_GCM_SHA384',
-+                        'TLS_CHACHA20_POLY1305_SHA256',
-+                        'TLS_AES_128_GCM_SHA256',
-                     ])
- 
-         @unittest.skipUnless(ssl.HAS_ECDH, "test requires ECDH-enabled OpenSSL")
-diff --git a/Misc/NEWS.d/next/Library/2018-05-18-21-50-47.bpo-33570.7CZy4t.rst b/Misc/NEWS.d/next/Library/2018-05-18-21-50-47.bpo-33570.7CZy4t.rst
-new file mode 100644
-index 0000000000..bd719a47e8
---- /dev/null
-+++ b/Misc/NEWS.d/next/Library/2018-05-18-21-50-47.bpo-33570.7CZy4t.rst
-@@ -0,0 +1,3 @@
-+Change TLS 1.3 cipher suite settings for compatibility with OpenSSL
-+1.1.1-pre6 and newer. OpenSSL 1.1.1 will have TLS 1.3 cipers enabled by
-+default.
--- 
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/python/python/0001-closes-bpo-34540-Convert-shutil._call_external_zip-t.patch b/poky/meta/recipes-devtools/python/python/0001-closes-bpo-34540-Convert-shutil._call_external_zip-t.patch
deleted file mode 100644
index 125db85..0000000
--- a/poky/meta/recipes-devtools/python/python/0001-closes-bpo-34540-Convert-shutil._call_external_zip-t.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From c7e692c61dc091d07dee573f5f424b6b427ff056 Mon Sep 17 00:00:00 2001
-From: Benjamin Peterson <benjamin@python.org>
-Date: Wed, 29 Aug 2018 21:59:21 -0700
-Subject: [PATCH] closes bpo-34540: Convert shutil._call_external_zip to use
- subprocess rather than distutils.spawn. (GH-8985)
-
-Upstream-Status: Backport
-CVE: CVE-2018-1000802
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- Lib/shutil.py                                            | 16 ++++++++++------
- .../Security/2018-08-28-22-11-54.bpo-34540.gfQ0TM.rst    |  3 +++
- 2 files changed, 13 insertions(+), 6 deletions(-)
- create mode 100644 Misc/NEWS.d/next/Security/2018-08-28-22-11-54.bpo-34540.gfQ0TM.rst
-
-diff --git a/Lib/shutil.py b/Lib/shutil.py
-index 3462f7c..0ab1a06 100644
---- a/Lib/shutil.py
-+++ b/Lib/shutil.py
-@@ -413,17 +413,21 @@ def _make_tarball(base_name, base_dir, compress="gzip", verbose=0, dry_run=0,
- 
-     return archive_name
- 
--def _call_external_zip(base_dir, zip_filename, verbose=False, dry_run=False):
-+def _call_external_zip(base_dir, zip_filename, verbose, dry_run, logger):
-     # XXX see if we want to keep an external call here
-     if verbose:
-         zipoptions = "-r"
-     else:
-         zipoptions = "-rq"
--    from distutils.errors import DistutilsExecError
--    from distutils.spawn import spawn
-+    cmd = ["zip", zipoptions, zip_filename, base_dir]
-+    if logger is not None:
-+        logger.info(' '.join(cmd))
-+    if dry_run:
-+        return
-+    import subprocess
-     try:
--        spawn(["zip", zipoptions, zip_filename, base_dir], dry_run=dry_run)
--    except DistutilsExecError:
-+        subprocess.check_call(cmd)
-+    except subprocess.CalledProcessError:
-         # XXX really should distinguish between "couldn't find
-         # external 'zip' command" and "zip failed".
-         raise ExecError, \
-@@ -458,7 +462,7 @@ def _make_zipfile(base_name, base_dir, verbose=0, dry_run=0, logger=None):
-         zipfile = None
- 
-     if zipfile is None:
--        _call_external_zip(base_dir, zip_filename, verbose, dry_run)
-+        _call_external_zip(base_dir, zip_filename, verbose, dry_run, logger)
-     else:
-         if logger is not None:
-             logger.info("creating '%s' and adding '%s' to it",
-diff --git a/Misc/NEWS.d/next/Security/2018-08-28-22-11-54.bpo-34540.gfQ0TM.rst b/Misc/NEWS.d/next/Security/2018-08-28-22-11-54.bpo-34540.gfQ0TM.rst
-new file mode 100644
-index 0000000..4f68696
---- /dev/null
-+++ b/Misc/NEWS.d/next/Security/2018-08-28-22-11-54.bpo-34540.gfQ0TM.rst
-@@ -0,0 +1,3 @@
-+When ``shutil.make_archive`` falls back to the external ``zip`` problem, it
-+uses :mod:`subprocess` to invoke it rather than :mod:`distutils.spawn`. This
-+closes a possible shell injection vector.
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/python/python/0002-bpo-34818-Add-missing-closing-wrapper-in-test_tls1_3.patch b/poky/meta/recipes-devtools/python/python/0002-bpo-34818-Add-missing-closing-wrapper-in-test_tls1_3.patch
deleted file mode 100644
index 9688271..0000000
--- a/poky/meta/recipes-devtools/python/python/0002-bpo-34818-Add-missing-closing-wrapper-in-test_tls1_3.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 0e1f3856a7e1511fb64d99646c54ddf3897cd444 Mon Sep 17 00:00:00 2001
-From: Dimitri John Ledkov <xnox@ubuntu.com>
-Date: Fri, 28 Sep 2018 14:15:52 +0100
-Subject: [PATCH 2/4] bpo-34818: Add missing closing() wrapper in test_tls1_3.
-
-Python 2.7 socket classes do not implement context manager protocol,
-hence closing() is required around it. Resolves testcase error
-traceback.
-
-Signed-off-by: Dimitri John Ledkov <xnox@ubuntu.com>
-
-https://bugs.python.org/issue34818
-
-Patch taken from Ubuntu.
-
-Upstream-Status: Submitted [https://github.com/python/cpython/pull/9622]
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- Lib/test/test_ssl.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
-index f51572e319..7a14053cee 100644
---- a/Lib/test/test_ssl.py
-+++ b/Lib/test/test_ssl.py
-@@ -2817,7 +2817,7 @@ else:
-                 ssl.OP_NO_TLSv1 | ssl.OP_NO_TLSv1_1 | ssl.OP_NO_TLSv1_2
-             )
-             with ThreadedEchoServer(context=context) as server:
--                with context.wrap_socket(socket.socket()) as s:
-+                with closing(context.wrap_socket(socket.socket())) as s:
-                     s.connect((HOST, server.port))
-                     self.assertIn(s.cipher()[0], [
-                         'TLS_AES_256_GCM_SHA384',
--- 
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/python/python/0003-bpo-34834-Fix-test_ssl.test_options-to-account-for-O.patch b/poky/meta/recipes-devtools/python/python/0003-bpo-34834-Fix-test_ssl.test_options-to-account-for-O.patch
deleted file mode 100644
index 77016cb..0000000
--- a/poky/meta/recipes-devtools/python/python/0003-bpo-34834-Fix-test_ssl.test_options-to-account-for-O.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 8b06d56d26eee289fec22b9b72ab4c7cc3d6c482 Mon Sep 17 00:00:00 2001
-From: Dimitri John Ledkov <xnox@ubuntu.com>
-Date: Fri, 28 Sep 2018 16:34:16 +0100
-Subject: [PATCH 3/4] bpo-34834: Fix test_ssl.test_options to account for
- OP_ENABLE_MIDDLEBOX_COMPAT.
-
-Signed-off-by: Dimitri John Ledkov <xnox@ubuntu.com>
-
-https://bugs.python.org/issue34834
-
-Patch taken from Ubuntu.
-Upstream-Status: Submitted [https://github.com/python/cpython/pull/9624]
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- Lib/test/test_ssl.py | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
-index 7a14053cee..efc906a5ba 100644
---- a/Lib/test/test_ssl.py
-+++ b/Lib/test/test_ssl.py
-@@ -777,6 +777,11 @@ class ContextTests(unittest.TestCase):
-         default = (ssl.OP_ALL | ssl.OP_NO_SSLv2 | ssl.OP_NO_SSLv3)
-         if not IS_LIBRESSL and ssl.OPENSSL_VERSION_INFO >= (1, 1, 0):
-             default |= ssl.OP_NO_COMPRESSION
-+        if not IS_LIBRESSL and ssl.OPENSSL_VERSION_INFO >= (1, 1, 1):
-+            # define MIDDLEBOX constant, as python2.7 does not know about it
-+            # but it is used by default.
-+            OP_ENABLE_MIDDLEBOX_COMPAT = 1048576L
-+            default |= OP_ENABLE_MIDDLEBOX_COMPAT
-         self.assertEqual(default, ctx.options)
-         ctx.options |= ssl.OP_NO_TLSv1
-         self.assertEqual(default | ssl.OP_NO_TLSv1, ctx.options)
--- 
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/python/python/0004-bpo-34836-fix-test_default_ecdh_curve-needs-no-tlsv1.patch b/poky/meta/recipes-devtools/python/python/0004-bpo-34836-fix-test_default_ecdh_curve-needs-no-tlsv1.patch
deleted file mode 100644
index 39e1bcf..0000000
--- a/poky/meta/recipes-devtools/python/python/0004-bpo-34836-fix-test_default_ecdh_curve-needs-no-tlsv1.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 946a7969345c6697697effd226ec396d3fea05b7 Mon Sep 17 00:00:00 2001
-From: Dimitri John Ledkov <xnox@ubuntu.com>
-Date: Fri, 28 Sep 2018 17:30:19 +0100
-Subject: [PATCH 4/4] bpo-34836: fix test_default_ecdh_curve, needs no tlsv1.3.
-
-Signed-off-by: Dimitri John Ledkov <xnox@ubuntu.com>
-
-https://bugs.python.org/issue34836
-
-Patch taken from Ubuntu.
-Upstream-Status: Submitted [https://github.com/python/cpython/pull/9626]
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- Lib/test/test_ssl.py | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
-index efc906a5ba..4a3286cd5f 100644
---- a/Lib/test/test_ssl.py
-+++ b/Lib/test/test_ssl.py
-@@ -2836,6 +2836,9 @@ else:
-             # should be enabled by default on SSL contexts.
-             context = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
-             context.load_cert_chain(CERTFILE)
-+            # TLSv1.3 defaults to PFS key agreement and no longer has KEA in
-+            # cipher name.
-+            context.options |= ssl.OP_NO_TLSv1_3
-             # Prior to OpenSSL 1.0.0, ECDH ciphers have to be enabled
-             # explicitly using the 'ECCdraft' cipher alias.  Otherwise,
-             # our default cipher list should prefer ECDH-based ciphers
--- 
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/python/python3-mako_1.0.7.bb b/poky/meta/recipes-devtools/python/python3-mako_1.0.9.bb
similarity index 97%
rename from poky/meta/recipes-devtools/python/python3-mako_1.0.7.bb
rename to poky/meta/recipes-devtools/python/python3-mako_1.0.9.bb
index 22ceeeb..17803f1 100644
--- a/poky/meta/recipes-devtools/python/python3-mako_1.0.7.bb
+++ b/poky/meta/recipes-devtools/python/python3-mako_1.0.9.bb
@@ -1,2 +1,3 @@
 inherit setuptools3
 require python-mako.inc
+
diff --git a/poky/meta/recipes-devtools/python/python3-pbr_5.1.2.bb b/poky/meta/recipes-devtools/python/python3-pbr_5.1.2.bb
deleted file mode 100644
index 7ba1d03..0000000
--- a/poky/meta/recipes-devtools/python/python3-pbr_5.1.2.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-inherit setuptools3
-require python-pbr.inc
-SRC_URI[md5sum] = "bea55678345bd77b4ff5b2ebb729fd6d"
-SRC_URI[sha256sum] = "d717573351cfe09f49df61906cd272abaa759b3e91744396b804965ff7bff38b"
-
diff --git a/poky/meta/recipes-devtools/python/python3-pbr_5.1.3.bb b/poky/meta/recipes-devtools/python/python3-pbr_5.1.3.bb
new file mode 100644
index 0000000..d9b6ce7
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pbr_5.1.3.bb
@@ -0,0 +1,5 @@
+inherit setuptools3
+require python-pbr.inc
+SRC_URI[md5sum] = "08972dca5fd2a959f27842090973edd6"
+SRC_URI[sha256sum] = "8c361cc353d988e4f5b998555c88098b9d5964c2e11acf7b0d21925a66bb5824"
+
diff --git a/poky/meta/recipes-devtools/python/python3-pip_19.0.2.bb b/poky/meta/recipes-devtools/python/python3-pip_19.0.3.bb
similarity index 81%
rename from poky/meta/recipes-devtools/python/python3-pip_19.0.2.bb
rename to poky/meta/recipes-devtools/python/python3-pip_19.0.3.bb
index d81a60c..4fdc7ee 100644
--- a/poky/meta/recipes-devtools/python/python3-pip_19.0.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-pip_19.0.3.bb
@@ -6,8 +6,8 @@
 
 DEPENDS += "python3 python3-setuptools-native"
 
-SRC_URI[md5sum] = "526fd9ec1e6ea956b3571ebfb42cf83c"
-SRC_URI[sha256sum] = "f851133f8b58283fa50d8c78675eb88d4ff4cde29b6c41205cd938b06338e0e5"
+SRC_URI[md5sum] = "1c5edb0924a0d7d79f3a2e3df05009b4"
+SRC_URI[sha256sum] = "6e6f197a1abfb45118dbb878b5c859a0edbdd33fd250100bc015b67fded4b9f2"
 
 inherit pypi distutils3
 
diff --git a/poky/meta/recipes-devtools/python/python3-pycairo_1.15.6.bb b/poky/meta/recipes-devtools/python/python3-pycairo_1.18.1.bb
similarity index 63%
rename from poky/meta/recipes-devtools/python/python3-pycairo_1.15.6.bb
rename to poky/meta/recipes-devtools/python/python3-pycairo_1.18.1.bb
index 5c3e1e6..5aaa01a 100644
--- a/poky/meta/recipes-devtools/python/python3-pycairo_1.15.6.bb
+++ b/poky/meta/recipes-devtools/python/python3-pycairo_1.18.1.bb
@@ -8,24 +8,20 @@
                     file://COPYING-MPL-1.1;md5=bfe1f75d606912a4111c90743d6c7325"
 
 # cairo >= 1.14
-DEPENDS = "cairo"
+DEPENDS = "cairo python3"
 
 SRC_URI = "https://github.com/pygobject/pycairo/releases/download/v${PV}/pycairo-${PV}.tar.gz"
 UPSTREAM_CHECK_URI = "https://github.com/pygobject/pycairo/releases/"
 
-SRC_URI[md5sum] = "3ff210c34e7b052590e15fd0fb147766"
-SRC_URI[sha256sum] = "ad150ea637860836b66705e0513b8e59494538f0b80497ad3462051368755016"
+SRC_URI[md5sum] = "7610da8a40a7bed548991aa3416431d1"
+SRC_URI[sha256sum] = "70172e58b6bad7572a3518c26729b074acdde15e6fee6cbab6d3528ad552b786"
 
 S = "${WORKDIR}/pycairo-${PV}"
 
-inherit setuptools3 pkgconfig
+inherit meson pkgconfig
 
 CFLAGS += "-fPIC"
 
 BBCLASSEXTEND = "native"
 
-do_install_append() {
-    install -d ${D}${includedir}/pycairo/
-    install -m 0644 ${D}${datadir}/include/pycairo/py3cairo.h ${D}${includedir}/pycairo/
-}
-FILES_${PN} += "${datadir}/include/pycairo/py3cairo.h"
+FILES_${PN} = "${PYTHON_SITEPACKAGES_DIR}/*"
diff --git a/poky/meta/recipes-devtools/python/python3-pygobject/0001-Do-not-build-tests.patch b/poky/meta/recipes-devtools/python/python3-pygobject/0001-Do-not-build-tests.patch
new file mode 100644
index 0000000..0f2465b
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pygobject/0001-Do-not-build-tests.patch
@@ -0,0 +1,30 @@
+From c125a806de951359ab7e302b0584f7c92fa451ad Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 12 Apr 2019 16:25:58 +0200
+Subject: [PATCH] Do not build tests
+
+They require installing tests from g-i, which we do not do.
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 278fa16f..aacbd4a2 100644
+--- a/meson.build
++++ b/meson.build
+@@ -175,6 +175,6 @@ configure_file(input : 'PKG-INFO.in',
+ subdir('gi')
+ subdir('pygtkcompat')
+ with_tests = get_option('tests')
+-if with_tests
+-subdir('tests')
+-endif
++#if with_tests
++#subdir('tests')
++#endif
+-- 
+2.17.1
+
diff --git a/poky/meta/recipes-devtools/python/python3-pygobject_3.28.3.bb b/poky/meta/recipes-devtools/python/python3-pygobject_3.32.1.bb
similarity index 68%
rename from poky/meta/recipes-devtools/python/python3-pygobject_3.28.3.bb
rename to poky/meta/recipes-devtools/python/python3-pygobject_3.32.1.bb
index 313af22..8eda06e 100644
--- a/poky/meta/recipes-devtools/python/python3-pygobject_3.28.3.bb
+++ b/poky/meta/recipes-devtools/python/python3-pygobject_3.32.1.bb
@@ -3,6 +3,7 @@
 LICENSE = "LGPLv2.1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7"
 
+GNOMEBASEBUILDCLASS = "meson"
 inherit gnomebase distutils3-base gobject-introspection upstream-version-is-even
 
 DEPENDS += "python3 glib-2.0"
@@ -10,10 +11,13 @@
 SRCNAME="pygobject"
 SRC_URI = " \
     http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz \
+    file://0001-Do-not-build-tests.patch \
 "
 
-SRC_URI[md5sum] = "3bac63c86bb963aa401f97859464aa90"
-SRC_URI[sha256sum] = "3dd3e21015d06e00482ea665fc1733b77e754a6ab656a5db5d7f7bfaf31ad0b0"
+UNKNOWN_CONFIGURE_WHITELIST = "introspection"
+
+SRC_URI[md5sum] = "9d5dbca10162dd9b0d03fed0c6cf865d"
+SRC_URI[sha256sum] = "32c99def94b8dea5ce9e4bc99576ef87591ea779b4db77cfdca7af81b76d04d8"
 
 S = "${WORKDIR}/${SRCNAME}-${PV}"
 
@@ -21,7 +25,7 @@
 
 # python3-pycairo is checked on configuration -> DEPENDS
 # we don't link against python3-pycairo -> RDEPENDS
-PACKAGECONFIG[cairo] = "--enable-cairo,--disable-cairo,cairo python3-pycairo, python3-pycairo"
+PACKAGECONFIG[cairo] = "-Dpycairo=true,-Dpycairo=false, cairo python3-pycairo, python3-pycairo"
 
 RDEPENDS_${PN} += "python3-setuptools"
 
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools_40.8.0.bb b/poky/meta/recipes-devtools/python/python3-setuptools_41.0.1.bb
similarity index 100%
rename from poky/meta/recipes-devtools/python/python3-setuptools_40.8.0.bb
rename to poky/meta/recipes-devtools/python/python3-setuptools_41.0.1.bb
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch b/poky/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch
new file mode 100644
index 0000000..b975836
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch
@@ -0,0 +1,31 @@
+From a21f4f8fa5e5c0601898740b4ac08ec84f41e190 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 18 Apr 2019 17:11:06 +0200
+Subject: [PATCH] Lib/sysconfig.py: fix another place where 'lib' is hardcoded
+ as the library path
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ Lib/sysconfig.py | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
+index d15cec8..87fa5e6 100644
+--- a/Lib/sysconfig.py
++++ b/Lib/sysconfig.py
+@@ -20,10 +20,10 @@ __all__ = [
+ 
+ _INSTALL_SCHEMES = {
+     'posix_prefix': {
+-        'stdlib': '{installed_base}/lib/python{py_version_short}',
+-        'platstdlib': '{platbase}/lib/python{py_version_short}',
+-        'purelib': '{base}/lib/python{py_version_short}/site-packages',
+-        'platlib': '{platbase}/lib/python{py_version_short}/site-packages',
++        'stdlib': '{LIBDEST}',
++        'platstdlib': '{LIBDEST}',
++        'purelib': '{LIBDEST}/site-packages',
++        'platlib': '{LIBDEST}/site-packages',
+         'include':
+             '{installed_base}/include/python{py_version_short}{abiflags}',
+         'platinclude':
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch b/poky/meta/recipes-devtools/python/python3/0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch
new file mode 100644
index 0000000..237645b
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch
@@ -0,0 +1,34 @@
+From 840fda32c82550259d02a7a56a78a9c05162b1a1 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Wed, 8 May 2019 16:10:29 +0800
+Subject: [PATCH] Makefile: fix Issue36464 (parallel build race problem)
+
+When using make -j with the 'install' target, it's possible for altbininstall
+(which normally creates BINDIR) and libainstall (which doesn't, though it
+installs python-config there) to race, resulting in a failure due to
+attempting to install python-config into a nonexistent BINDIR. Ensure it also
+exists in the libainstall target.
+
+Upstream-Status: Submitted [https://github.com/python/cpython/pull/13186]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ Makefile.pre.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.pre.in b/Makefile.pre.in
+index 15f3687..7e9f173 100644
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -1456,7 +1456,7 @@ LIBPL=		@LIBPL@
+ LIBPC=		$(LIBDIR)/pkgconfig
+ 
+ libainstall:	@DEF_MAKE_RULE@ python-config
+-	@for i in $(LIBDIR) $(LIBPL) $(LIBPC); \
++	@for i in $(LIBDIR) $(LIBPL) $(LIBPC) $(BINDIR); \
+ 	do \
+ 		if test ! -d $(DESTDIR)$$i; then \
+ 			echo "Creating directory $$i"; \
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch b/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch
index 8083345..1741f57 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch
@@ -1,4 +1,4 @@
-From 4865615a2bc2b78c739e4c33f536712c7f9af061 Mon Sep 17 00:00:00 2001
+From 17796e353acf08acd604610f34840a4a9d2f4b54 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Thu, 31 Jan 2019 16:46:30 +0100
 Subject: [PATCH] distutils/sysconfig: append
diff --git a/poky/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch b/poky/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch
new file mode 100644
index 0000000..a0ed7cc
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch
@@ -0,0 +1,49 @@
+From ffe7797637f08cd6ee4c82e2d67462c5e194d30a Mon Sep 17 00:00:00 2001
+From: Jaewon Lee <jaewon.lee@xilinx.com>
+Date: Thu, 25 Apr 2019 15:34:26 -0700
+Subject: [PATCH] main.c: if OEPYTHON3HOME is set use instead of PYTHONHOME
+
+There is one variable PYTHONHOME to determine where libraries are coming
+from for both python2 and python3. This becomes an issue if only one has
+libraries in the specified PYTHONHOME path, but they are using the same
+PYTHONHOME. Creating another variable OEPYTHON3HOME to allow for a way
+to set a different path for python3
+
+Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com>
+
+Upstream-Status: Inappropriate [OE specific configuration]
+---
+ Modules/main.c | 17 +++++++++++++----
+ 1 file changed, 13 insertions(+), 4 deletions(-)
+
+diff --git a/Modules/main.c b/Modules/main.c
+index a745381..b553e30 100644
+--- a/Modules/main.c
++++ b/Modules/main.c
+@@ -1855,10 +1855,19 @@ config_init_home(_PyCoreConfig *config)
+         }
+         return _Py_INIT_OK();
+     }
+-
+-    int res = config_get_env_var_dup(&home, L"PYTHONHOME", "PYTHONHOME");
+-    if (res < 0) {
+-        return DECODE_LOCALE_ERR("PYTHONHOME", res);
++    int res;
++    const char *oepython3home = config_get_env_var("OEPYTHON3HOME");
++    if (oepython3home) {
++        res = config_get_env_var_dup(&home, L"OEPYTHON3HOME", "OEPYTHON3HOME");
++        if (res < 0) {
++            return DECODE_LOCALE_ERR("OEPYTHON3HOME", res);
++        }
++    }
++    else {
++        res = config_get_env_var_dup(&home, L"PYTHONHOME", "PYTHONHOME");
++        if (res < 0) {
++            return DECODE_LOCALE_ERR("PYTHONHOME", res);
++        }
+     }
+     config->home = home;
+     return _Py_INIT_OK();
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch b/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
index dcc0932..3521317 100644
--- a/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
+++ b/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
@@ -1,4 +1,4 @@
-From 1397979ee445ff6826aa5469511e003539f77bb2 Mon Sep 17 00:00:00 2001
+From 12900d498bb77bcc990868a80eaf0ab257b88fff Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Tue, 14 May 2013 15:00:26 -0700
 Subject: [PATCH] python3: Add target and native recipes
diff --git a/poky/meta/recipes-devtools/python/python3/python3-manifest.json b/poky/meta/recipes-devtools/python/python3/python3-manifest.json
index 0a4ab2c..0803ac0 100644
--- a/poky/meta/recipes-devtools/python/python3/python3-manifest.json
+++ b/poky/meta/recipes-devtools/python/python3/python3-manifest.json
@@ -281,6 +281,7 @@
             "${libdir}/python${PYTHON_MAJMIN}/linecache.py",
             "${libdir}/python${PYTHON_MAJMIN}/locale.py",
             "${libdir}/python${PYTHON_MAJMIN}/new.py",
+            "${libdir}/python${PYTHON_MAJMIN}/ntpath.py",
             "${libdir}/python${PYTHON_MAJMIN}/opcode.py",
             "${libdir}/python${PYTHON_MAJMIN}/operator.py",
             "${libdir}/python${PYTHON_MAJMIN}/optparse.py",
diff --git a/poky/meta/recipes-devtools/python/python3/run-ptest b/poky/meta/recipes-devtools/python/python3/run-ptest
index 50f9291..3e45d39 100644
--- a/poky/meta/recipes-devtools/python/python3/run-ptest
+++ b/poky/meta/recipes-devtools/python/python3/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-python3 -m test -W | sed -u -e '/\.\.\. ok/ s/^/PASS: /g' -e '/\.\.\. [ERROR|FAIL]/ s/^/FAIL: /g' -e '/\.\.\. skipped/ s/^/SKIP: /g' -e 's/ \.\.\. ok//g' -e 's/ \.\.\. ERROR//g' -e 's/ \.\.\. FAIL//g' -e 's/ \.\.\. skipped//g'
+python3 -m test -v | sed -u -e '/\.\.\. ok/ s/^/PASS: /g' -e '/\.\.\. [ERROR|FAIL]/ s/^/FAIL: /g' -e '/\.\.\. skipped/ s/^/SKIP: /g' -e 's/ \.\.\. ok//g' -e 's/ \.\.\. ERROR//g' -e 's/ \.\.\. FAIL//g' -e 's/ \.\.\. skipped//g'
diff --git a/poky/meta/recipes-devtools/python/python3_3.7.2.bb b/poky/meta/recipes-devtools/python/python3_3.7.3.bb
similarity index 92%
rename from poky/meta/recipes-devtools/python/python3_3.7.2.bb
rename to poky/meta/recipes-devtools/python/python3_3.7.3.bb
index 28f128d..413d35a 100644
--- a/poky/meta/recipes-devtools/python/python3_3.7.2.bb
+++ b/poky/meta/recipes-devtools/python/python3_3.7.3.bb
@@ -3,7 +3,7 @@
 LICENSE = "PSFv2"
 SECTION = "devel/python"
 
-LIC_FILES_CHKSUM = "file://LICENSE;md5=f257cc14f81685691652a3d3e1b5d754"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e466242989bd33c1bd2b6a526a742498"
 
 SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
            file://run-ptest \
@@ -21,15 +21,20 @@
            file://0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch \
            file://0002-Don-t-do-runtime-test-to-get-float-byte-order.patch \
            file://0003-setup.py-pass-missing-libraries-to-Extension-for-mul.patch \
+           file://0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch \
+           file://0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch \
            "
 
 SRC_URI_append_class-native = " \
            file://0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch \
            file://12-distutils-prefix-is-inside-staging-area.patch \
            "
+SRC_URI_append_class-nativesdk = " \
+           file://0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch \
+           "
 
-SRC_URI[md5sum] = "df6ec36011808205beda239c72f947cb"
-SRC_URI[sha256sum] = "d83fe8ce51b1bb48bbcf0550fd265b9a75cdfdfa93f916f9e700aef8444bf1bb"
+SRC_URI[md5sum] = "93df27aec0cd18d6d42173e601ffbbfd"
+SRC_URI[sha256sum] = "da60b54064d4cfcd9c26576f6df2690e62085123826cff2e667e72a91952d318"
 
 # exclude pre-releases for both python 2.x and 3.x
 UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
@@ -130,6 +135,10 @@
                 ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py
 }
 
+do_install_append_class-nativesdk () {
+    create_wrapper ${D}${bindir}/python${PYTHON_MAJMIN} OEPYTHON3HOME='${prefix}' TERMINFO_DIRS='${sysconfdir}/terminfo:/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo' PYTHONNOUSERSITE='1'
+}
+
 SSTATE_SCAN_FILES += "Makefile _sysconfigdata.py"
 PACKAGE_PREPROCESS_FUNCS += "py_package_preprocess"
 
@@ -285,6 +294,7 @@
 FILES_${PN}-man = "${datadir}/man"
 
 RDEPENDS_${PN}-ptest = "${PN}-modules ${PN}-tests unzip bzip2 libgcc tzdata-europe coreutils sed"
+RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-tr-tr.iso-8859-9"
 RDEPENDS_${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', 'tk', '', d)}"
 RDEPENDS_${PN}-dev = ""
 
diff --git a/poky/meta/recipes-devtools/python/python_2.7.15.bb b/poky/meta/recipes-devtools/python/python_2.7.16.bb
similarity index 86%
rename from poky/meta/recipes-devtools/python/python_2.7.15.bb
rename to poky/meta/recipes-devtools/python/python_2.7.16.bb
index 62051a2..0e7dd2b 100644
--- a/poky/meta/recipes-devtools/python/python_2.7.15.bb
+++ b/poky/meta/recipes-devtools/python/python_2.7.16.bb
@@ -3,38 +3,34 @@
 DEPENDS = "python-native libffi bzip2 gdbm openssl \
            readline sqlite3 zlib virtual/crypt"
 
-PR = "${INC_PR}"
-
 DISTRO_SRC_URI ?= "file://sitecustomize.py"
 DISTRO_SRC_URI_linuxstdbase = ""
-SRC_URI += "\
-  file://01-use-proper-tools-for-cross-build.patch \
-  file://03-fix-tkinter-detection.patch \
-  file://06-avoid_usr_lib_termcap_path_in_linking.patch \
-  ${DISTRO_SRC_URI} \
-  file://multilib.patch \
-  file://cgi_py.patch \
-  file://setup_py_skip_cross_import_check.patch \
-  file://add-md5module-support.patch \
-  file://host_include_contamination.patch \
-  file://fix_for_using_different_libdir.patch \
-  file://setuptweaks.patch \
-  file://check-if-target-is-64b-not-host.patch \
-  file://search_db_h_in_inc_dirs_and_avoid_warning.patch \
-  ${@bb.utils.contains('PACKAGECONFIG', 'tk', '', 'file://avoid_warning_about_tkinter.patch', d)} \
-  file://avoid_warning_for_sunos_specific_module.patch \
-  file://python-2.7.3-remove-bsdb-rpath.patch \
-  file://run-ptest \
-  file://parallel-makeinst-create-bindir.patch \
-  file://use_sysroot_ncurses_instead_of_host.patch \
-  file://add-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch \
-  file://pass-missing-libraries-to-Extension-for-mul.patch \
-  file://support_SOURCE_DATE_EPOCH_in_py_compile_2.7.patch \
-  file://float-endian.patch \
-  file://0001-closes-bpo-34540-Convert-shutil._call_external_zip-t.patch \
-  file://0001-2.7-bpo-34623-Use-XML_SetHashSalt-in-_elementtree-GH.patch \
-  file://0001-python2-use-cc_basename-to-replace-CC-for-checking-c.patch \
-"
+SRC_URI += " \
+           file://01-use-proper-tools-for-cross-build.patch \
+           file://03-fix-tkinter-detection.patch \
+           file://06-avoid_usr_lib_termcap_path_in_linking.patch \
+           ${DISTRO_SRC_URI} \
+           file://multilib.patch \
+           file://cgi_py.patch \
+           file://setup_py_skip_cross_import_check.patch \
+           file://add-md5module-support.patch \
+           file://host_include_contamination.patch \
+           file://fix_for_using_different_libdir.patch \
+           file://setuptweaks.patch \
+           file://check-if-target-is-64b-not-host.patch \
+           file://search_db_h_in_inc_dirs_and_avoid_warning.patch \
+           ${@bb.utils.contains('PACKAGECONFIG', 'tk', '', 'file://avoid_warning_about_tkinter.patch', d)} \
+           file://avoid_warning_for_sunos_specific_module.patch \
+           file://python-2.7.3-remove-bsdb-rpath.patch \
+           file://run-ptest \
+           file://parallel-makeinst-create-bindir.patch \
+           file://use_sysroot_ncurses_instead_of_host.patch \
+           file://add-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch \
+           file://pass-missing-libraries-to-Extension-for-mul.patch \
+           file://support_SOURCE_DATE_EPOCH_in_py_compile_2.7.patch \
+           file://float-endian.patch \
+           file://0001-python2-use-cc_basename-to-replace-CC-for-checking-c.patch \
+           "
 
 S = "${WORKDIR}/Python-${PV}"
 
diff --git a/poky/meta/recipes-devtools/qemu/nativesdk-qemu-helper_1.0.bb b/poky/meta/recipes-devtools/qemu/nativesdk-qemu-helper_1.0.bb
index cdc2f51..ca1ad96 100644
--- a/poky/meta/recipes-devtools/qemu/nativesdk-qemu-helper_1.0.bb
+++ b/poky/meta/recipes-devtools/qemu/nativesdk-qemu-helper_1.0.bb
@@ -7,7 +7,7 @@
 PR = "r9"
 
 LIC_FILES_CHKSUM = "file://${WORKDIR}/tunctl.c;endline=4;md5=ff3a09996bc5fff6bc5d4e0b4c28f999 \
-                    file://${COREBASE}/scripts/runqemu;endline=19;md5=a8ad1905c709a2deaa057608ebaf705a"
+                    file://${COREBASE}/scripts/runqemu;beginline=5;endline=10;md5=ac2b489a58739c7628a2604698db5e7f"
 
 
 SRC_URI = "file://${COREBASE}/scripts/runqemu \
diff --git a/poky/meta/recipes-devtools/qemu/qemu-native.inc b/poky/meta/recipes-devtools/qemu/qemu-native.inc
index 4373ad9..34ab8e6 100644
--- a/poky/meta/recipes-devtools/qemu/qemu-native.inc
+++ b/poky/meta/recipes-devtools/qemu/qemu-native.inc
@@ -3,8 +3,8 @@
 require qemu.inc
 
 SRC_URI_append = " \
-            file://0012-fix-libcap-header-issue-on-some-distro.patch \
-            file://0013-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch \
+            file://0011-fix-libcap-header-issue-on-some-distro.patch \
+            file://0012-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch \
             "
 EXTRA_OECONF_append = " --python=python2.7"
 
diff --git a/poky/meta/recipes-devtools/qemu/qemu-native_3.1.0.bb b/poky/meta/recipes-devtools/qemu/qemu-native_4.0.0.bb
similarity index 100%
rename from poky/meta/recipes-devtools/qemu/qemu-native_3.1.0.bb
rename to poky/meta/recipes-devtools/qemu/qemu-native_4.0.0.bb
diff --git a/poky/meta/recipes-devtools/qemu/qemu-system-native_3.1.0.bb b/poky/meta/recipes-devtools/qemu/qemu-system-native_4.0.0.bb
similarity index 95%
rename from poky/meta/recipes-devtools/qemu/qemu-system-native_3.1.0.bb
rename to poky/meta/recipes-devtools/qemu/qemu-system-native_4.0.0.bb
index 5bf528b..820883d 100644
--- a/poky/meta/recipes-devtools/qemu/qemu-system-native_3.1.0.bb
+++ b/poky/meta/recipes-devtools/qemu/qemu-system-native_4.0.0.bb
@@ -20,4 +20,5 @@
     # The following is also installed by qemu-native
     rm -f ${D}${datadir}/qemu/trace-events-all
     rm -rf ${D}${datadir}/qemu/keymaps
+    rm -rf ${D}${datadir}/icons/
 }
diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc
index e503aa8..f7b4141 100644
--- a/poky/meta/recipes-devtools/qemu/qemu.inc
+++ b/poky/meta/recipes-devtools/qemu/qemu.inc
@@ -5,36 +5,27 @@
 RDEPENDS_${PN}-ptest = "bash make"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
-                    file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913"
+                    file://COPYING.LIB;endline=24;md5=8c5efda6cf1e1b03dcfd0e6c0d271c7f"
 
 SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
            file://powerpc_rom.bin \
-           file://0001-sdl.c-allow-user-to-disable-pointer-grabs.patch \
-           file://0002-qemu-Add-missing-wacom-HID-descriptor.patch \
-           file://0003-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch \
            file://run-ptest \
-           file://0004-qemu-Add-addition-environment-space-to-boot-loader-q.patch \
-           file://0005-qemu-disable-Valgrind.patch \
-           file://0006-qemu-Limit-paths-searched-during-user-mode-emulation.patch \
-           file://0007-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch \
-           file://0008-chardev-connect-socket-to-a-spawned-command.patch \
-           file://0009-apic-fixup-fallthrough-to-PIC.patch \
-           file://0010-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch \
-           file://0011-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch \
-           file://0001-Add-a-missing-X11-include.patch \
-           file://0001-egl-headless-add-egl_create_context.patch \
-           file://0014-fix-CVE-2018-16872.patch \
-           file://0015-fix-CVE-2018-20124.patch \
-           file://0016-fix-CVE-2018-20125.patch \
-           file://0017-fix-CVE-2018-20126.patch \
-           file://0018-fix-CVE-2018-20191.patch \
-           file://0019-fix-CVE-2018-20216.patch \
-           file://CVE-2019-3812.patch \
+           file://0001-qemu-Add-missing-wacom-HID-descriptor.patch \
+           file://0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch \
+           file://0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch \
+           file://0004-qemu-disable-Valgrind.patch \
+           file://0005-qemu-Limit-paths-searched-during-user-mode-emulation.patch \
+           file://0006-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch \
+           file://0007-chardev-connect-socket-to-a-spawned-command.patch \
+           file://0008-apic-fixup-fallthrough-to-PIC.patch \
+           file://0009-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch \
+           file://0010-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch \
+           file://0013-Revert-target-arm-Use-vector-operations-for-saturati.patch \
            "
 UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
 
-SRC_URI[md5sum] = "fb687ce0b02d3bf4327e36d3b99427a8"
-SRC_URI[sha256sum] = "6a0508df079a0a33c2487ca936a56c12122f105b8a96a44374704bef6c69abfc"
+SRC_URI[md5sum] = "0afeca336fd57ae3d3086ec07f59d708"
+SRC_URI[sha256sum] = "13a93dfe75b86734326f8d5b475fde82ec692d5b5a338b4262aeeb6b0fa4e469"
 
 COMPATIBLE_HOST_mipsarchn32 = "null"
 COMPATIBLE_HOST_mipsarchn64 = "null"
@@ -133,7 +124,7 @@
 PACKAGECONFIG_remove_darwin = "kvm virglrenderer glx gtk+"
 PACKAGECONFIG_remove_mingw32 = "kvm virglrenderer glx gtk+"
 
-PACKAGECONFIG[sdl] = "--enable-sdl --with-sdlabi=2.0,--disable-sdl,libsdl2"
+PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,libsdl2"
 PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr,--disable-virtfs,libcap attr,"
 PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio,"
 PACKAGECONFIG[xfs] = "--enable-xfsctl,--disable-xfsctl,xfsprogs,"
@@ -144,7 +135,8 @@
 PACKAGECONFIG[libcurl] = "--enable-curl,--disable-curl,libcurl,"
 PACKAGECONFIG[nss] = "--enable-smartcard,--disable-smartcard,nss,"
 PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses,"
-PACKAGECONFIG[gtk+] = "--enable-gtk --enable-vte,--disable-gtk --disable-vte,gtk+3 vte gettext-native"
+PACKAGECONFIG[gtk+] = "--enable-gtk,--disable-gtk,gtk+3 gettext-native"
+PACKAGECONFIG[vte] = "--enable-vte,--disable-vte,vte gettext-native"
 PACKAGECONFIG[libcap-ng] = "--enable-cap-ng,--disable-cap-ng,libcap-ng,"
 PACKAGECONFIG[ssh2] = "--enable-libssh2,--disable-libssh2,libssh2,"
 PACKAGECONFIG[gcrypt] = "--enable-gcrypt,--disable-gcrypt,libgcrypt,"
@@ -165,5 +157,8 @@
 PACKAGECONFIG[spice] = "--enable-spice,--disable-spice,spice"
 # usbredir will be in meta-networking layer
 PACKAGECONFIG[usb-redir] = "--enable-usb-redir,--disable-usb-redir,usbredir"
+PACKAGECONFIG[snappy] = "--enable-snappy,--disable-snappy,snappy"
 
 INSANE_SKIP_${PN} = "arch"
+
+FILES_${PN} += "${datadir}/icons"
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-Add-a-missing-X11-include.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-Add-a-missing-X11-include.patch
deleted file mode 100644
index 192936e..0000000
--- a/poky/meta/recipes-devtools/qemu/qemu/0001-Add-a-missing-X11-include.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From eb1a215a4f86dde4493c3e22ad9f6d698850915e Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Thu, 20 Dec 2018 18:06:29 +0100
-Subject: [PATCH] egl-helpers.h: do not depend on X11 Window type, use
- EGLNativeWindowType
-
-It was assumed that mesa provides the necessary X11 includes,
-but it is not always the case, as it can be configured without x11 support.
-
-Upstream-Status: Submitted [http://lists.nongnu.org/archive/html/qemu-devel/2019-01/msg03706.html]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- include/ui/egl-helpers.h | 2 +-
- ui/egl-helpers.c         | 4 ++--
- ui/gtk-egl.c             | 2 +-
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/include/ui/egl-helpers.h b/include/ui/egl-helpers.h
-index 9db7293b..3fc656a7 100644
---- a/include/ui/egl-helpers.h
-+++ b/include/ui/egl-helpers.h
-@@ -43,7 +43,7 @@ void egl_dmabuf_release_texture(QemuDmaBuf *dmabuf);
- 
- #endif
- 
--EGLSurface qemu_egl_init_surface_x11(EGLContext ectx, Window win);
-+EGLSurface qemu_egl_init_surface_x11(EGLContext ectx, EGLNativeWindowType win);
- 
- int qemu_egl_init_dpy_x11(EGLNativeDisplayType dpy, DisplayGLMode mode);
- int qemu_egl_init_dpy_mesa(EGLNativeDisplayType dpy, DisplayGLMode mode);
-diff --git a/ui/egl-helpers.c b/ui/egl-helpers.c
-index 4f475142..5e115b3f 100644
---- a/ui/egl-helpers.c
-+++ b/ui/egl-helpers.c
-@@ -273,14 +273,14 @@ void egl_dmabuf_release_texture(QemuDmaBuf *dmabuf)
- 
- /* ---------------------------------------------------------------------- */
- 
--EGLSurface qemu_egl_init_surface_x11(EGLContext ectx, Window win)
-+EGLSurface qemu_egl_init_surface_x11(EGLContext ectx, EGLNativeWindowType win)
- {
-     EGLSurface esurface;
-     EGLBoolean b;
- 
-     esurface = eglCreateWindowSurface(qemu_egl_display,
-                                       qemu_egl_config,
--                                      (EGLNativeWindowType)win, NULL);
-+                                      win, NULL);
-     if (esurface == EGL_NO_SURFACE) {
-         error_report("egl: eglCreateWindowSurface failed");
-         return NULL;
-diff --git a/ui/gtk-egl.c b/ui/gtk-egl.c
-index 5420c236..1f941162 100644
---- a/ui/gtk-egl.c
-+++ b/ui/gtk-egl.c
-@@ -54,7 +54,7 @@ void gd_egl_init(VirtualConsole *vc)
-     }
- 
-     vc->gfx.ectx = qemu_egl_init_ctx();
--    vc->gfx.esurface = qemu_egl_init_surface_x11(vc->gfx.ectx, x11_window);
-+    vc->gfx.esurface = qemu_egl_init_surface_x11(vc->gfx.ectx, (EGLNativeWindowType)x11_window);
- 
-     assert(vc->gfx.esurface);
- }
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-egl-headless-add-egl_create_context.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-egl-headless-add-egl_create_context.patch
deleted file mode 100644
index d9326c0..0000000
--- a/poky/meta/recipes-devtools/qemu/qemu/0001-egl-headless-add-egl_create_context.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 952e5d584f5aabe41298c278065fe628f3f7aa7a Mon Sep 17 00:00:00 2001
-From: Gerd Hoffmann <kraxel@redhat.com>
-Date: Thu, 29 Nov 2018 13:35:02 +0100
-Subject: [PATCH] egl-headless: add egl_create_context
-
-We must set the correct context (via eglMakeCurrent) before
-calling qemu_egl_create_context, so we need a thin wrapper and can't
-hook qemu_egl_create_context directly as ->dpy_gl_ctx_create callback.
-
-Reported-by: Frederik Carlier <frederik.carlier@quamotion.mobi>
-Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-Message-id: 20181129123502.30129-1-kraxel@redhat.com
-
-Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commit;h=952e5d584f5aabe41298c278065fe628f3f7aa7a]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- ui/egl-headless.c | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/ui/egl-headless.c b/ui/egl-headless.c
-index 4cf3bbc0e4..519e7bad32 100644
---- a/ui/egl-headless.c
-+++ b/ui/egl-headless.c
-@@ -38,6 +38,14 @@ static void egl_gfx_switch(DisplayChangeListener *dcl,
-     edpy->ds = new_surface;
- }
- 
-+static QEMUGLContext egl_create_context(DisplayChangeListener *dcl,
-+                                        QEMUGLParams *params)
-+{
-+    eglMakeCurrent(qemu_egl_display, EGL_NO_SURFACE, EGL_NO_SURFACE,
-+                   qemu_egl_rn_ctx);
-+    return qemu_egl_create_context(dcl, params);
-+}
-+
- static void egl_scanout_disable(DisplayChangeListener *dcl)
- {
-     egl_dpy *edpy = container_of(dcl, egl_dpy, dcl);
-@@ -150,7 +158,7 @@ static const DisplayChangeListenerOps egl_ops = {
-     .dpy_gfx_update          = egl_gfx_update,
-     .dpy_gfx_switch          = egl_gfx_switch,
- 
--    .dpy_gl_ctx_create       = qemu_egl_create_context,
-+    .dpy_gl_ctx_create       = egl_create_context,
-     .dpy_gl_ctx_destroy      = qemu_egl_destroy_context,
-     .dpy_gl_ctx_make_current = qemu_egl_make_context_current,
-     .dpy_gl_ctx_get_current  = qemu_egl_get_current_context,
--- 
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0002-qemu-Add-missing-wacom-HID-descriptor.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch
similarity index 98%
rename from poky/meta/recipes-devtools/qemu/qemu/0002-qemu-Add-missing-wacom-HID-descriptor.patch
rename to poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch
index 4de2688..5373915 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0002-qemu-Add-missing-wacom-HID-descriptor.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch
@@ -1,4 +1,4 @@
-From 7ac3c84f28866491c58cc0f52a25a706949c8ef3 Mon Sep 17 00:00:00 2001
+From 1cb804cf0e47116202011f3386b4739af668224a Mon Sep 17 00:00:00 2001
 From: Richard Purdie <richard.purdie@linuxfoundation.org>
 Date: Thu, 27 Nov 2014 14:04:29 +0000
 Subject: [PATCH] qemu: Add missing wacom HID descriptor
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-sdl.c-allow-user-to-disable-pointer-grabs.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-sdl.c-allow-user-to-disable-pointer-grabs.patch
deleted file mode 100644
index 5b9a1f9..0000000
--- a/poky/meta/recipes-devtools/qemu/qemu/0001-sdl.c-allow-user-to-disable-pointer-grabs.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From c53ddb5acbee56db6423f369b9f9a9b62501b4af Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Wed, 18 Sep 2013 14:04:54 +0100
-Subject: [PATCH] sdl.c: allow user to disable pointer grabs
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-When the pointer enters the Qemu window it calls SDL_WM_GrabInput, which calls
-XGrabPointer in a busyloop until it returns GrabSuccess. However if there's already
-a pointer grab (screen is locked, a menu is open) then qemu will hang until the
-grab can be taken.  In the specific case of a headless X server on an autobuilder, once
-the screensaver has kicked in any qemu instance that appears underneath the
-pointer will hang.
-
-I'm not entirely sure why pointer grabs are required (the documentation
-explicitly says it doesn't do grabs when using a tablet, which we are) so wrap
-them in a conditional that can be set by the autobuilder environment, preserving
-the current grabbing behaviour for everyone else.
-
-Upstream-Status: Pending
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-Signed-off-by: Eric Bénard <eric@eukrea.com>
-
----
- ui/sdl.c | 13 +++++++++++--
- 1 file changed, 11 insertions(+), 2 deletions(-)
-
-diff --git a/ui/sdl.c b/ui/sdl.c
-index 190b16f5..aa89471d 100644
---- a/ui/sdl.c
-+++ b/ui/sdl.c
-@@ -69,6 +69,11 @@ static int idle_counter;
- static const guint16 *keycode_map;
- static size_t keycode_maplen;
- 
-+#ifndef True
-+#define True 1
-+#endif
-+static doing_grabs = True;
-+
- #define SDL_REFRESH_INTERVAL_BUSY 10
- #define SDL_MAX_IDLE_COUNT (2 * GUI_REFRESH_INTERVAL_DEFAULT \
-                             / SDL_REFRESH_INTERVAL_BUSY + 1)
-@@ -399,14 +404,16 @@ static void sdl_grab_start(void)
-         }
-     } else
-         sdl_hide_cursor();
--    SDL_WM_GrabInput(SDL_GRAB_ON);
-+    if (doing_grabs)
-+      SDL_WM_GrabInput(SDL_GRAB_ON);
-     gui_grab = 1;
-     sdl_update_caption();
- }
- 
- static void sdl_grab_end(void)
- {
--    SDL_WM_GrabInput(SDL_GRAB_OFF);
-+    if (doing_grabs)
-+      SDL_WM_GrabInput(SDL_GRAB_OFF);
-     gui_grab = 0;
-     sdl_show_cursor();
-     sdl_update_caption();
-@@ -945,6 +952,8 @@ static void sdl1_display_init(DisplayState *ds, DisplayOptions *o)
-      * This requires SDL >= 1.2.14. */
-     setenv("SDL_DISABLE_LOCK_KEYS", "1", 1);
- 
-+    doing_grabs = (getenv("QEMU_DONT_GRAB") == NULL);
-+
-     flags = SDL_INIT_VIDEO | SDL_INIT_NOPARACHUTE;
-     if (SDL_Init (flags)) {
-         fprintf(stderr, "Could not initialize SDL(%s) - exiting\n",
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0003-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch b/poky/meta/recipes-devtools/qemu/qemu/0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch
similarity index 83%
rename from poky/meta/recipes-devtools/qemu/qemu/0003-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch
rename to poky/meta/recipes-devtools/qemu/qemu/0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch
index 668fc46..7b7c5d7 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0003-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch
@@ -1,4 +1,4 @@
-From aac8834bfd5b79e724f2593895847b50968a1223 Mon Sep 17 00:00:00 2001
+From 281116b31981b0b9e174bda8abe00f4eaa33c2ae Mon Sep 17 00:00:00 2001
 From: Juro Bystricky <juro.bystricky@intel.com>
 Date: Thu, 31 Aug 2017 11:06:56 -0700
 Subject: [PATCH] Add subpackage -ptest which runs all unit test cases for
@@ -15,10 +15,10 @@
  1 file changed, 8 insertions(+)
 
 diff --git a/tests/Makefile.include b/tests/Makefile.include
-index fb0b449c..afedabd4 100644
+index 36fc73fe..01fecd4d 100644
 --- a/tests/Makefile.include
 +++ b/tests/Makefile.include
-@@ -967,4 +967,12 @@ all: $(QEMU_IOTESTS_HELPERS-y)
+@@ -1184,4 +1184,12 @@ all: $(QEMU_IOTESTS_HELPERS-y)
  -include $(wildcard tests/*.d)
  -include $(wildcard tests/libqos/*.d)
  
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-Add-addition-environment-space-to-boot-loader-q.patch b/poky/meta/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch
similarity index 89%
rename from poky/meta/recipes-devtools/qemu/qemu/0004-qemu-Add-addition-environment-space-to-boot-loader-q.patch
rename to poky/meta/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch
index b4d4c58..9a18ca1 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-Add-addition-environment-space-to-boot-loader-q.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch
@@ -1,4 +1,4 @@
-From 3de7a5635093c31dcb960ce9dff27da629b85d4d Mon Sep 17 00:00:00 2001
+From bf04acef9ec31ddcc18ddbb4ac5b7b1e7368bf7d Mon Sep 17 00:00:00 2001
 From: Jason Wessel <jason.wessel@windriver.com>
 Date: Fri, 28 Mar 2014 17:42:43 +0800
 Subject: [PATCH] qemu: Add addition environment space to boot loader
@@ -19,10 +19,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c
-index c1cf0fe1..decffd2f 100644
+index 439665ab..285c78ef 100644
 --- a/hw/mips/mips_malta.c
 +++ b/hw/mips/mips_malta.c
-@@ -62,7 +62,7 @@
+@@ -60,7 +60,7 @@
  
  #define ENVP_ADDR		0x80002000l
  #define ENVP_NB_ENTRIES	 	16
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0005-qemu-disable-Valgrind.patch b/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch
similarity index 85%
rename from poky/meta/recipes-devtools/qemu/qemu/0005-qemu-disable-Valgrind.patch
rename to poky/meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch
index f0cf814..9e32608 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0005-qemu-disable-Valgrind.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch
@@ -1,4 +1,4 @@
-From 32e8a94b6ae664d9b5689e19d495e304c0f41954 Mon Sep 17 00:00:00 2001
+From e40f797548bc3ff06c71b6cbe042a46406894d18 Mon Sep 17 00:00:00 2001
 From: Ross Burton <ross.burton@intel.com>
 Date: Tue, 20 Oct 2015 22:19:08 +0100
 Subject: [PATCH] qemu: disable Valgrind
@@ -13,10 +13,10 @@
  1 file changed, 9 deletions(-)
 
 diff --git a/configure b/configure
-index 0a3c6a72..069e0daa 100755
+index 1c563a70..eaf9bb5e 100755
 --- a/configure
 +++ b/configure
-@@ -5044,15 +5044,6 @@ fi
+@@ -5311,15 +5311,6 @@ fi
  # check if we have valgrind/valgrind.h
  
  valgrind_h=no
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0006-qemu-Limit-paths-searched-during-user-mode-emulation.patch b/poky/meta/recipes-devtools/qemu/qemu/0005-qemu-Limit-paths-searched-during-user-mode-emulation.patch
similarity index 98%
rename from poky/meta/recipes-devtools/qemu/qemu/0006-qemu-Limit-paths-searched-during-user-mode-emulation.patch
rename to poky/meta/recipes-devtools/qemu/qemu/0005-qemu-Limit-paths-searched-during-user-mode-emulation.patch
index 4b2f013..819720a 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0006-qemu-Limit-paths-searched-during-user-mode-emulation.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0005-qemu-Limit-paths-searched-during-user-mode-emulation.patch
@@ -1,4 +1,4 @@
-From 02f80ee81681b6307a8032128a07686183662270 Mon Sep 17 00:00:00 2001
+From 547c3710a1493d2fd6bb56b819cf162db433756a Mon Sep 17 00:00:00 2001
 From: Richard Purdie <richard.purdie@linuxfoundation.org>
 Date: Wed, 9 Mar 2016 22:49:02 +0000
 Subject: [PATCH] qemu: Limit paths searched during user mode emulation
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0007-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch b/poky/meta/recipes-devtools/qemu/qemu/0006-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch
similarity index 83%
rename from poky/meta/recipes-devtools/qemu/qemu/0007-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch
rename to poky/meta/recipes-devtools/qemu/qemu/0006-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch
index 4163e51..b62a588 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0007-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0006-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch
@@ -1,4 +1,4 @@
-From 74bce35b71f4733c13e96f96e25956ff943fae20 Mon Sep 17 00:00:00 2001
+From 107fd860529a3c1319d54c3c225758457b0d9394 Mon Sep 17 00:00:00 2001
 From: Stephen Arnold <sarnold@vctlabs.com>
 Date: Sun, 12 Jun 2016 18:09:56 -0700
 Subject: [PATCH] qemu-native: set ld.bfd, fix cflags, and set some environment
@@ -10,10 +10,10 @@
  1 file changed, 4 deletions(-)
 
 diff --git a/configure b/configure
-index 069e0daa..5b97f3c1 100755
+index eaf9bb5e..de2933d1 100755
 --- a/configure
 +++ b/configure
-@@ -5622,10 +5622,6 @@ write_c_skeleton
+@@ -5928,10 +5928,6 @@ write_c_skeleton
  if test "$gcov" = "yes" ; then
    CFLAGS="-fprofile-arcs -ftest-coverage -g $CFLAGS"
    LDFLAGS="-fprofile-arcs -ftest-coverage $LDFLAGS"
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0008-chardev-connect-socket-to-a-spawned-command.patch b/poky/meta/recipes-devtools/qemu/qemu/0007-chardev-connect-socket-to-a-spawned-command.patch
similarity index 80%
rename from poky/meta/recipes-devtools/qemu/qemu/0008-chardev-connect-socket-to-a-spawned-command.patch
rename to poky/meta/recipes-devtools/qemu/qemu/0007-chardev-connect-socket-to-a-spawned-command.patch
index e5a2d4a..f3f3dc3 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0008-chardev-connect-socket-to-a-spawned-command.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0007-chardev-connect-socket-to-a-spawned-command.patch
@@ -1,4 +1,4 @@
-From 9c1e976290e87a83ab1bfe38eb7ff3521ff0d684 Mon Sep 17 00:00:00 2001
+From 136e159482a1bc8676cbe6e767055d0c3fb20065 Mon Sep 17 00:00:00 2001
 From: Alistair Francis <alistair.francis@xilinx.com>
 Date: Thu, 21 Dec 2017 11:35:16 -0800
 Subject: [PATCH] chardev: connect socket to a spawned command
@@ -46,17 +46,17 @@
 Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
 
 ---
- chardev/char-socket.c | 102 ++++++++++++++++++++++++++++++++++++++++++
+ chardev/char-socket.c | 101 ++++++++++++++++++++++++++++++++++++++++++
  chardev/char.c        |   3 ++
  qapi/char.json        |   5 +++
- 3 files changed, 110 insertions(+)
+ 3 files changed, 109 insertions(+)
 
 diff --git a/chardev/char-socket.c b/chardev/char-socket.c
-index eaa8e8b6..959ed183 100644
+index 3916505d..a8e9dce8 100644
 --- a/chardev/char-socket.c
 +++ b/chardev/char-socket.c
-@@ -987,6 +987,68 @@ static gboolean socket_reconnect_timeout(gpointer opaque)
-     return false;
+@@ -1273,6 +1273,67 @@ static bool qmp_chardev_validate_socket(ChardevSocket *sock,
+     return true;
  }
  
 +#ifndef _WIN32
@@ -120,11 +120,10 @@
 +    }
 +}
 +#endif
-+
+ 
  static void qmp_chardev_open_socket(Chardev *chr,
                                      ChardevBackend *backend,
-                                     bool *be_opened,
-@@ -994,6 +1056,9 @@ static void qmp_chardev_open_socket(Chardev *chr,
+@@ -1281,6 +1342,9 @@ static void qmp_chardev_open_socket(Chardev *chr,
  {
      SocketChardev *s = SOCKET_CHARDEV(chr);
      ChardevSocket *sock = backend->u.socket.data;
@@ -134,9 +133,9 @@
      bool do_nodelay     = sock->has_nodelay ? sock->nodelay : false;
      bool is_listen      = sock->has_server  ? sock->server  : true;
      bool is_telnet      = sock->has_telnet  ? sock->telnet  : false;
-@@ -1072,6 +1137,14 @@ static void qmp_chardev_open_socket(Chardev *chr,
-         s->reconnect_time = reconnect;
-     }
+@@ -1346,6 +1410,14 @@ static void qmp_chardev_open_socket(Chardev *chr,
+ 
+     update_disconnected_filename(s);
  
 +#ifndef _WIN32
 +    if (cmd) {
@@ -146,13 +145,13 @@
 +        *be_opened = true;
 +    } else
 +#endif
-     if (s->reconnect_time) {
-         tcp_chr_connect_async(chr);
-     } else {
-@@ -1131,9 +1204,26 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend,
+     if (s->is_listen) {
+         if (qmp_chardev_open_socket_server(chr, is_telnet || is_tn3270,
+                                            is_waitconnect, errp) < 0) {
+@@ -1365,9 +1437,26 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend,
+     const char *host = qemu_opt_get(opts, "host");
      const char *port = qemu_opt_get(opts, "port");
      const char *fd = qemu_opt_get(opts, "fd");
-     const char *tls_creds = qemu_opt_get(opts, "tls-creds");
 +#ifndef _WIN32
 +    const char *cmd = qemu_opt_get(opts, "cmd");
 +#endif
@@ -166,7 +165,7 @@
 +         * spawning a command, otherwise unmodified code that doesn't know about
 +         * command spawning (like socket_reconnect_timeout()) might get called.
 +         */
-+        if (path || is_listen || is_telnet || is_tn3270 || reconnect || host || port || tls_creds) {
++        if (path || sock->server || sock->has_telnet || sock->has_tn3270 || sock->reconnect || host || port || sock->tls_creds) {
 +            error_setg(errp, "chardev: socket: cmd does not support any additional options");
 +            return;
 +        }
@@ -176,14 +175,14 @@
      if ((!!path + !!fd + !!host) != 1) {
          error_setg(errp,
                     "Exactly one of 'path', 'fd' or 'host' required");
-@@ -1180,12 +1270,24 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend,
-     sock->reconnect = reconnect;
-     sock->tls_creds = g_strdup(tls_creds);
+@@ -1410,12 +1499,24 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend,
+     sock->has_tls_authz = qemu_opt_get(opts, "tls-authz");
+     sock->tls_authz = g_strdup(qemu_opt_get(opts, "tls-authz"));
  
 +#ifndef _WIN32
 +    sock->cmd = g_strdup(cmd);
 +#endif
-+ 
++
      addr = g_new0(SocketAddressLegacy, 1);
 +#ifndef _WIN32
 +    if (path || cmd) {
@@ -202,10 +201,10 @@
          addr->type = SOCKET_ADDRESS_LEGACY_KIND_INET;
          addr->u.inet.data = g_new(InetSocketAddress, 1);
 diff --git a/chardev/char.c b/chardev/char.c
-index 152dde53..62d5b578 100644
+index 514cd6b0..36a40d67 100644
 --- a/chardev/char.c
 +++ b/chardev/char.c
-@@ -818,6 +818,9 @@ QemuOptsList qemu_chardev_opts = {
+@@ -835,6 +835,9 @@ QemuOptsList qemu_chardev_opts = {
          },{
              .name = "path",
              .type = QEMU_OPT_STRING,
@@ -216,10 +215,10 @@
              .name = "host",
              .type = QEMU_OPT_STRING,
 diff --git a/qapi/char.json b/qapi/char.json
-index 79bac598..97bd161a 100644
+index a6e81ac7..517962c6 100644
 --- a/qapi/char.json
 +++ b/qapi/char.json
-@@ -242,6 +242,10 @@
+@@ -247,6 +247,10 @@
  #
  # @addr: socket address to listen on (server=true)
  #        or connect to (server=false)
@@ -228,13 +227,13 @@
 +#       is used by the chardev. Either an addr or a cmd can
 +#       be specified, but not both.
  # @tls-creds: the ID of the TLS credentials object (since 2.6)
- # @server: create server socket (default: true)
- # @wait: wait for incoming connection on server
-@@ -261,6 +265,7 @@
- # Since: 1.4
+ # @tls-authz: the ID of the QAuthZ authorization object against which
+ #             the client's x509 distinguished name will be validated. This
+@@ -272,6 +276,7 @@
  ##
- { 'struct': 'ChardevSocket', 'data': { 'addr'       : 'SocketAddressLegacy',
-+                                     '*cmd'       : 'str',
-                                      '*tls-creds'  : 'str',
-                                      '*server'    : 'bool',
-                                      '*wait'      : 'bool',
+ { 'struct': 'ChardevSocket',
+   'data': { 'addr': 'SocketAddressLegacy',
++            '*cmd': 'str',
+             '*tls-creds': 'str',
+             '*tls-authz'  : 'str',
+             '*server': 'bool',
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0009-apic-fixup-fallthrough-to-PIC.patch b/poky/meta/recipes-devtools/qemu/qemu/0008-apic-fixup-fallthrough-to-PIC.patch
similarity index 90%
rename from poky/meta/recipes-devtools/qemu/qemu/0009-apic-fixup-fallthrough-to-PIC.patch
rename to poky/meta/recipes-devtools/qemu/qemu/0008-apic-fixup-fallthrough-to-PIC.patch
index 1d3a2b5..13037f3 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0009-apic-fixup-fallthrough-to-PIC.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0008-apic-fixup-fallthrough-to-PIC.patch
@@ -1,4 +1,4 @@
-From 4829da131996548dc86775b8b97a29c436f3d130 Mon Sep 17 00:00:00 2001
+From 1b3f264e2ba18caf658fae27293c426c8366c6a3 Mon Sep 17 00:00:00 2001
 From: Mark Asselstine <mark.asselstine@windriver.com>
 Date: Tue, 26 Feb 2013 11:43:28 -0500
 Subject: [PATCH] apic: fixup fallthrough to PIC
@@ -30,10 +30,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/hw/intc/apic.c b/hw/intc/apic.c
-index 97ffdd82..ef23430e 100644
+index 6ea619c3..f892811e 100644
 --- a/hw/intc/apic.c
 +++ b/hw/intc/apic.c
-@@ -603,7 +603,7 @@ int apic_accept_pic_intr(DeviceState *dev)
+@@ -604,7 +604,7 @@ int apic_accept_pic_intr(DeviceState *dev)
      APICCommonState *s = APIC(dev);
      uint32_t lvt0;
  
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0010-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch b/poky/meta/recipes-devtools/qemu/qemu/0009-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch
similarity index 93%
rename from poky/meta/recipes-devtools/qemu/qemu/0010-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch
rename to poky/meta/recipes-devtools/qemu/qemu/0009-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch
index c0d7914..c572ff9 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0010-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0009-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch
@@ -1,4 +1,4 @@
-From bce25c9cda73569963615ffd31ed949cbe3a3781 Mon Sep 17 00:00:00 2001
+From a33ae91504ea4d254b5ace64a84791d3c96c9773 Mon Sep 17 00:00:00 2001
 From: Alistair Francis <alistair.francis@xilinx.com>
 Date: Wed, 17 Jan 2018 10:51:49 -0800
 Subject: [PATCH] linux-user: Fix webkitgtk hangs on 32-bit x86 target
@@ -19,7 +19,7 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/linux-user/main.c b/linux-user/main.c
-index 923cbb75..fe0b9ff4 100644
+index a0aba9cb..34c54924 100644
 --- a/linux-user/main.c
 +++ b/linux-user/main.c
 @@ -69,7 +69,7 @@ int have_guest_base;
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0011-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch b/poky/meta/recipes-devtools/qemu/qemu/0010-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch
similarity index 90%
rename from poky/meta/recipes-devtools/qemu/qemu/0011-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch
rename to poky/meta/recipes-devtools/qemu/qemu/0010-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch
index 066ea78..3418eb7 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0011-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0010-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch
@@ -1,4 +1,4 @@
-From 496231774f8bc17ecfaf543a6603e3cad3f3f74e Mon Sep 17 00:00:00 2001
+From 2a66bd95c856de6950fbd802c5b99075207c1d76 Mon Sep 17 00:00:00 2001
 From: Martin Jansa <martin.jansa@lge.com>
 Date: Fri, 1 Jun 2018 08:41:07 +0000
 Subject: [PATCH] Revert "linux-user: fix mmap/munmap/mprotect/mremap/shmat"
@@ -23,7 +23,7 @@
  4 files changed, 15 insertions(+), 29 deletions(-)
 
 diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
-index 117d2fbb..90558c14 100644
+index b16c9ec5..612db6a0 100644
 --- a/include/exec/cpu-all.h
 +++ b/include/exec/cpu-all.h
 @@ -163,12 +163,8 @@ extern unsigned long guest_base;
@@ -41,7 +41,7 @@
  
  #include "exec/hwaddr.h"
 diff --git a/include/exec/cpu_ldst.h b/include/exec/cpu_ldst.h
-index 95906849..ed17b3f6 100644
+index d78041d7..845639f7 100644
 --- a/include/exec/cpu_ldst.h
 +++ b/include/exec/cpu_ldst.h
 @@ -62,13 +62,15 @@ typedef uint64_t abi_ptr;
@@ -68,7 +68,7 @@
  #define h2g_nocheck(x) ({ \
      unsigned long __ret = (unsigned long)(x) - guest_base; \
 diff --git a/linux-user/mmap.c b/linux-user/mmap.c
-index 41e0983c..d0ee1c53 100644
+index e0249efe..cfe34b35 100644
 --- a/linux-user/mmap.c
 +++ b/linux-user/mmap.c
 @@ -79,7 +79,7 @@ int target_mprotect(abi_ulong start, abi_ulong len, int prot)
@@ -81,9 +81,9 @@
      }
      prot &= PROT_READ | PROT_WRITE | PROT_EXEC;
 @@ -490,8 +490,8 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot,
- 	 * It can fail only on 64-bit host with 32-bit target.
- 	 * On any other target/host host mmap() handles this error correctly.
- 	 */
+          * It can fail only on 64-bit host with 32-bit target.
+          * On any other target/host host mmap() handles this error correctly.
+          */
 -        if (!guest_range_valid(start, len)) {
 -            errno = ENOMEM;
 +        if ((unsigned long)start + len - 1 > (abi_ulong) -1) {
@@ -118,10 +118,10 @@
  
      if (flags & MREMAP_FIXED) {
 diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index 280137da..efdd0006 100644
+index 96cd4bf8..e6754772 100644
 --- a/linux-user/syscall.c
 +++ b/linux-user/syscall.c
-@@ -3818,9 +3818,6 @@ static inline abi_ulong do_shmat(CPUArchState *cpu_env,
+@@ -3860,9 +3860,6 @@ static inline abi_ulong do_shmat(CPUArchState *cpu_env,
              return -TARGET_EINVAL;
          }
      }
@@ -131,7 +131,7 @@
  
      mmap_lock();
  
-@@ -6582,7 +6579,7 @@ static int open_self_maps(void *cpu_env, int fd)
+@@ -6633,7 +6630,7 @@ static int open_self_maps(void *cpu_env, int fd)
          }
          if (h2g_valid(min)) {
              int flags = page_get_flags(h2g(min));
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0012-fix-libcap-header-issue-on-some-distro.patch b/poky/meta/recipes-devtools/qemu/qemu/0011-fix-libcap-header-issue-on-some-distro.patch
similarity index 97%
rename from poky/meta/recipes-devtools/qemu/qemu/0012-fix-libcap-header-issue-on-some-distro.patch
rename to poky/meta/recipes-devtools/qemu/qemu/0011-fix-libcap-header-issue-on-some-distro.patch
index 9cbe838..3a7d7bb 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0012-fix-libcap-header-issue-on-some-distro.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0011-fix-libcap-header-issue-on-some-distro.patch
@@ -1,4 +1,4 @@
-From d3e0b8dac7c2eb20d7fcff747bc98b981f4398ef Mon Sep 17 00:00:00 2001
+From 9125afb733d8c96416bb83c5adad39bb8d0803a1 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Tue, 12 Mar 2013 09:54:06 +0800
 Subject: [PATCH] fix libcap header issue on some distro
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0013-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch b/poky/meta/recipes-devtools/qemu/qemu/0012-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch
similarity index 87%
rename from poky/meta/recipes-devtools/qemu/qemu/0013-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch
rename to poky/meta/recipes-devtools/qemu/qemu/0012-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch
index 27e508c..0466419 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0013-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0012-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch
@@ -1,4 +1,4 @@
-From 861c522df7791d7e93743d5641f3ef2a5a3c4632 Mon Sep 17 00:00:00 2001
+From 0a53e906510cce1f32bc04a11e81ea40f834dac4 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
 Date: Wed, 12 Aug 2015 15:11:30 -0500
 Subject: [PATCH] cpus.c: Add error messages when qemi_cpu_kick_thread fails.
@@ -20,10 +20,10 @@
  create mode 100644 custom_debug.h
 
 diff --git a/cpus.c b/cpus.c
-index 0ddeeefc..4f3a5624 100644
+index e83f72b4..e6e2576e 100644
 --- a/cpus.c
 +++ b/cpus.c
-@@ -1768,6 +1768,8 @@ static void *qemu_tcg_cpu_thread_fn(void *arg)
+@@ -1769,6 +1769,8 @@ static void *qemu_tcg_cpu_thread_fn(void *arg)
      return NULL;
  }
  
@@ -32,9 +32,9 @@
  static void qemu_cpu_kick_thread(CPUState *cpu)
  {
  #ifndef _WIN32
-@@ -1780,6 +1782,9 @@ static void qemu_cpu_kick_thread(CPUState *cpu)
+@@ -1781,6 +1783,9 @@ static void qemu_cpu_kick_thread(CPUState *cpu)
      err = pthread_kill(cpu->thread->thread, SIG_IPI);
-     if (err) {
+     if (err && err != ESRCH) {
          fprintf(stderr, "qemu:%s: %s", __func__, strerror(err));
 +        fprintf(stderr, "CPU #%d:\n", cpu->cpu_index);
 +        cpu_dump_state(cpu, stderr, fprintf, 0);
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0013-Revert-target-arm-Use-vector-operations-for-saturati.patch b/poky/meta/recipes-devtools/qemu/qemu/0013-Revert-target-arm-Use-vector-operations-for-saturati.patch
new file mode 100644
index 0000000..3d018a7
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0013-Revert-target-arm-Use-vector-operations-for-saturati.patch
@@ -0,0 +1,493 @@
+From b46cdcdeb762c1f0eef68dc4a7d90f8176152e07 Mon Sep 17 00:00:00 2001
+From: Alistair Francis <alistair.francis@wdc.com>
+Date: Wed, 1 May 2019 19:51:27 -0700
+Subject: [PATCH] Revert "target/arm: Use vector operations for saturation"
+
+This reverts commit 89e68b575e138d0af1435f11a8ffcd8779c237bd.
+
+This fixes QEMU aborts when running the qemuarm machine.
+
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+Upstream-Status: Pending
+---
+ target/arm/helper.h        |  33 -------
+ target/arm/translate-a64.c |  36 ++++----
+ target/arm/translate.c     | 172 ++++++-------------------------------
+ target/arm/translate.h     |   4 -
+ target/arm/vec_helper.c    | 130 ----------------------------
+ 5 files changed, 44 insertions(+), 331 deletions(-)
+
+diff --git a/target/arm/helper.h b/target/arm/helper.h
+index 50cb036378..b2669f140f 100644
+--- a/target/arm/helper.h
++++ b/target/arm/helper.h
+@@ -646,39 +646,6 @@ DEF_HELPER_FLAGS_6(gvec_fmla_idx_s, TCG_CALL_NO_RWG,
+ DEF_HELPER_FLAGS_6(gvec_fmla_idx_d, TCG_CALL_NO_RWG,
+                    void, ptr, ptr, ptr, ptr, ptr, i32)
+ 
+-DEF_HELPER_FLAGS_5(gvec_uqadd_b, TCG_CALL_NO_RWG,
+-                   void, ptr, ptr, ptr, ptr, i32)
+-DEF_HELPER_FLAGS_5(gvec_uqadd_h, TCG_CALL_NO_RWG,
+-                   void, ptr, ptr, ptr, ptr, i32)
+-DEF_HELPER_FLAGS_5(gvec_uqadd_s, TCG_CALL_NO_RWG,
+-                   void, ptr, ptr, ptr, ptr, i32)
+-DEF_HELPER_FLAGS_5(gvec_uqadd_d, TCG_CALL_NO_RWG,
+-                   void, ptr, ptr, ptr, ptr, i32)
+-DEF_HELPER_FLAGS_5(gvec_sqadd_b, TCG_CALL_NO_RWG,
+-                   void, ptr, ptr, ptr, ptr, i32)
+-DEF_HELPER_FLAGS_5(gvec_sqadd_h, TCG_CALL_NO_RWG,
+-                   void, ptr, ptr, ptr, ptr, i32)
+-DEF_HELPER_FLAGS_5(gvec_sqadd_s, TCG_CALL_NO_RWG,
+-                   void, ptr, ptr, ptr, ptr, i32)
+-DEF_HELPER_FLAGS_5(gvec_sqadd_d, TCG_CALL_NO_RWG,
+-                   void, ptr, ptr, ptr, ptr, i32)
+-DEF_HELPER_FLAGS_5(gvec_uqsub_b, TCG_CALL_NO_RWG,
+-                   void, ptr, ptr, ptr, ptr, i32)
+-DEF_HELPER_FLAGS_5(gvec_uqsub_h, TCG_CALL_NO_RWG,
+-                   void, ptr, ptr, ptr, ptr, i32)
+-DEF_HELPER_FLAGS_5(gvec_uqsub_s, TCG_CALL_NO_RWG,
+-                   void, ptr, ptr, ptr, ptr, i32)
+-DEF_HELPER_FLAGS_5(gvec_uqsub_d, TCG_CALL_NO_RWG,
+-                   void, ptr, ptr, ptr, ptr, i32)
+-DEF_HELPER_FLAGS_5(gvec_sqsub_b, TCG_CALL_NO_RWG,
+-                   void, ptr, ptr, ptr, ptr, i32)
+-DEF_HELPER_FLAGS_5(gvec_sqsub_h, TCG_CALL_NO_RWG,
+-                   void, ptr, ptr, ptr, ptr, i32)
+-DEF_HELPER_FLAGS_5(gvec_sqsub_s, TCG_CALL_NO_RWG,
+-                   void, ptr, ptr, ptr, ptr, i32)
+-DEF_HELPER_FLAGS_5(gvec_sqsub_d, TCG_CALL_NO_RWG,
+-                   void, ptr, ptr, ptr, ptr, i32)
+-
+ DEF_HELPER_FLAGS_5(gvec_fmlal_a32, TCG_CALL_NO_RWG,
+                    void, ptr, ptr, ptr, ptr, i32)
+ DEF_HELPER_FLAGS_5(gvec_fmlal_a64, TCG_CALL_NO_RWG,
+diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c
+index 9dcc5ff3a3..428211f92f 100644
+--- a/target/arm/translate-a64.c
++++ b/target/arm/translate-a64.c
+@@ -11230,22 +11230,6 @@ static void disas_simd_3same_int(DisasContext *s, uint32_t insn)
+     }
+ 
+     switch (opcode) {
+-    case 0x01: /* SQADD, UQADD */
+-        tcg_gen_gvec_4(vec_full_reg_offset(s, rd),
+-                       offsetof(CPUARMState, vfp.qc),
+-                       vec_full_reg_offset(s, rn),
+-                       vec_full_reg_offset(s, rm),
+-                       is_q ? 16 : 8, vec_full_reg_size(s),
+-                       (u ? uqadd_op : sqadd_op) + size);
+-        return;
+-    case 0x05: /* SQSUB, UQSUB */
+-        tcg_gen_gvec_4(vec_full_reg_offset(s, rd),
+-                       offsetof(CPUARMState, vfp.qc),
+-                       vec_full_reg_offset(s, rn),
+-                       vec_full_reg_offset(s, rm),
+-                       is_q ? 16 : 8, vec_full_reg_size(s),
+-                       (u ? uqsub_op : sqsub_op) + size);
+-        return;
+     case 0x0c: /* SMAX, UMAX */
+         if (u) {
+             gen_gvec_fn3(s, is_q, rd, rn, rm, tcg_gen_gvec_umax, size);
+@@ -11341,6 +11325,16 @@ static void disas_simd_3same_int(DisasContext *s, uint32_t insn)
+                 genfn = fns[size][u];
+                 break;
+             }
++            case 0x1: /* SQADD, UQADD */
++            {
++                static NeonGenTwoOpEnvFn * const fns[3][2] = {
++                    { gen_helper_neon_qadd_s8, gen_helper_neon_qadd_u8 },
++                    { gen_helper_neon_qadd_s16, gen_helper_neon_qadd_u16 },
++                    { gen_helper_neon_qadd_s32, gen_helper_neon_qadd_u32 },
++                };
++                genenvfn = fns[size][u];
++                break;
++            }
+             case 0x2: /* SRHADD, URHADD */
+             {
+                 static NeonGenTwoOpFn * const fns[3][2] = {
+@@ -11361,6 +11355,16 @@ static void disas_simd_3same_int(DisasContext *s, uint32_t insn)
+                 genfn = fns[size][u];
+                 break;
+             }
++            case 0x5: /* SQSUB, UQSUB */
++            {
++                static NeonGenTwoOpEnvFn * const fns[3][2] = {
++                    { gen_helper_neon_qsub_s8, gen_helper_neon_qsub_u8 },
++                    { gen_helper_neon_qsub_s16, gen_helper_neon_qsub_u16 },
++                    { gen_helper_neon_qsub_s32, gen_helper_neon_qsub_u32 },
++                };
++                genenvfn = fns[size][u];
++                break;
++            }
+             case 0x8: /* SSHL, USHL */
+             {
+                 static NeonGenTwoOpFn * const fns[3][2] = {
+diff --git a/target/arm/translate.c b/target/arm/translate.c
+index 10bc53f91c..cf675cef3f 100644
+--- a/target/arm/translate.c
++++ b/target/arm/translate.c
+@@ -6242,142 +6242,6 @@ const GVecGen3 cmtst_op[4] = {
+       .vece = MO_64 },
+ };
+ 
+-static void gen_uqadd_vec(unsigned vece, TCGv_vec t, TCGv_vec sat,
+-                          TCGv_vec a, TCGv_vec b)
+-{
+-    TCGv_vec x = tcg_temp_new_vec_matching(t);
+-    tcg_gen_add_vec(vece, x, a, b);
+-    tcg_gen_usadd_vec(vece, t, a, b);
+-    tcg_gen_cmp_vec(TCG_COND_NE, vece, x, x, t);
+-    tcg_gen_or_vec(vece, sat, sat, x);
+-    tcg_temp_free_vec(x);
+-}
+-
+-const GVecGen4 uqadd_op[4] = {
+-    { .fniv = gen_uqadd_vec,
+-      .fno = gen_helper_gvec_uqadd_b,
+-      .opc = INDEX_op_usadd_vec,
+-      .write_aofs = true,
+-      .vece = MO_8 },
+-    { .fniv = gen_uqadd_vec,
+-      .fno = gen_helper_gvec_uqadd_h,
+-      .opc = INDEX_op_usadd_vec,
+-      .write_aofs = true,
+-      .vece = MO_16 },
+-    { .fniv = gen_uqadd_vec,
+-      .fno = gen_helper_gvec_uqadd_s,
+-      .opc = INDEX_op_usadd_vec,
+-      .write_aofs = true,
+-      .vece = MO_32 },
+-    { .fniv = gen_uqadd_vec,
+-      .fno = gen_helper_gvec_uqadd_d,
+-      .opc = INDEX_op_usadd_vec,
+-      .write_aofs = true,
+-      .vece = MO_64 },
+-};
+-
+-static void gen_sqadd_vec(unsigned vece, TCGv_vec t, TCGv_vec sat,
+-                          TCGv_vec a, TCGv_vec b)
+-{
+-    TCGv_vec x = tcg_temp_new_vec_matching(t);
+-    tcg_gen_add_vec(vece, x, a, b);
+-    tcg_gen_ssadd_vec(vece, t, a, b);
+-    tcg_gen_cmp_vec(TCG_COND_NE, vece, x, x, t);
+-    tcg_gen_or_vec(vece, sat, sat, x);
+-    tcg_temp_free_vec(x);
+-}
+-
+-const GVecGen4 sqadd_op[4] = {
+-    { .fniv = gen_sqadd_vec,
+-      .fno = gen_helper_gvec_sqadd_b,
+-      .opc = INDEX_op_ssadd_vec,
+-      .write_aofs = true,
+-      .vece = MO_8 },
+-    { .fniv = gen_sqadd_vec,
+-      .fno = gen_helper_gvec_sqadd_h,
+-      .opc = INDEX_op_ssadd_vec,
+-      .write_aofs = true,
+-      .vece = MO_16 },
+-    { .fniv = gen_sqadd_vec,
+-      .fno = gen_helper_gvec_sqadd_s,
+-      .opc = INDEX_op_ssadd_vec,
+-      .write_aofs = true,
+-      .vece = MO_32 },
+-    { .fniv = gen_sqadd_vec,
+-      .fno = gen_helper_gvec_sqadd_d,
+-      .opc = INDEX_op_ssadd_vec,
+-      .write_aofs = true,
+-      .vece = MO_64 },
+-};
+-
+-static void gen_uqsub_vec(unsigned vece, TCGv_vec t, TCGv_vec sat,
+-                          TCGv_vec a, TCGv_vec b)
+-{
+-    TCGv_vec x = tcg_temp_new_vec_matching(t);
+-    tcg_gen_sub_vec(vece, x, a, b);
+-    tcg_gen_ussub_vec(vece, t, a, b);
+-    tcg_gen_cmp_vec(TCG_COND_NE, vece, x, x, t);
+-    tcg_gen_or_vec(vece, sat, sat, x);
+-    tcg_temp_free_vec(x);
+-}
+-
+-const GVecGen4 uqsub_op[4] = {
+-    { .fniv = gen_uqsub_vec,
+-      .fno = gen_helper_gvec_uqsub_b,
+-      .opc = INDEX_op_ussub_vec,
+-      .write_aofs = true,
+-      .vece = MO_8 },
+-    { .fniv = gen_uqsub_vec,
+-      .fno = gen_helper_gvec_uqsub_h,
+-      .opc = INDEX_op_ussub_vec,
+-      .write_aofs = true,
+-      .vece = MO_16 },
+-    { .fniv = gen_uqsub_vec,
+-      .fno = gen_helper_gvec_uqsub_s,
+-      .opc = INDEX_op_ussub_vec,
+-      .write_aofs = true,
+-      .vece = MO_32 },
+-    { .fniv = gen_uqsub_vec,
+-      .fno = gen_helper_gvec_uqsub_d,
+-      .opc = INDEX_op_ussub_vec,
+-      .write_aofs = true,
+-      .vece = MO_64 },
+-};
+-
+-static void gen_sqsub_vec(unsigned vece, TCGv_vec t, TCGv_vec sat,
+-                          TCGv_vec a, TCGv_vec b)
+-{
+-    TCGv_vec x = tcg_temp_new_vec_matching(t);
+-    tcg_gen_sub_vec(vece, x, a, b);
+-    tcg_gen_sssub_vec(vece, t, a, b);
+-    tcg_gen_cmp_vec(TCG_COND_NE, vece, x, x, t);
+-    tcg_gen_or_vec(vece, sat, sat, x);
+-    tcg_temp_free_vec(x);
+-}
+-
+-const GVecGen4 sqsub_op[4] = {
+-    { .fniv = gen_sqsub_vec,
+-      .fno = gen_helper_gvec_sqsub_b,
+-      .opc = INDEX_op_sssub_vec,
+-      .write_aofs = true,
+-      .vece = MO_8 },
+-    { .fniv = gen_sqsub_vec,
+-      .fno = gen_helper_gvec_sqsub_h,
+-      .opc = INDEX_op_sssub_vec,
+-      .write_aofs = true,
+-      .vece = MO_16 },
+-    { .fniv = gen_sqsub_vec,
+-      .fno = gen_helper_gvec_sqsub_s,
+-      .opc = INDEX_op_sssub_vec,
+-      .write_aofs = true,
+-      .vece = MO_32 },
+-    { .fniv = gen_sqsub_vec,
+-      .fno = gen_helper_gvec_sqsub_d,
+-      .opc = INDEX_op_sssub_vec,
+-      .write_aofs = true,
+-      .vece = MO_64 },
+-};
+-
+ /* Translate a NEON data processing instruction.  Return nonzero if the
+    instruction is invalid.
+    We process data in a mixture of 32-bit and 64-bit chunks.
+@@ -6561,18 +6425,6 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn)
+             }
+             return 0;
+ 
+-        case NEON_3R_VQADD:
+-            tcg_gen_gvec_4(rd_ofs, offsetof(CPUARMState, vfp.qc),
+-                           rn_ofs, rm_ofs, vec_size, vec_size,
+-                           (u ? uqadd_op : sqadd_op) + size);
+-            break;
+-
+-        case NEON_3R_VQSUB:
+-            tcg_gen_gvec_4(rd_ofs, offsetof(CPUARMState, vfp.qc),
+-                           rn_ofs, rm_ofs, vec_size, vec_size,
+-                           (u ? uqsub_op : sqsub_op) + size);
+-            break;
+-
+         case NEON_3R_VMUL: /* VMUL */
+             if (u) {
+                 /* Polynomial case allows only P8 and is handled below.  */
+@@ -6637,6 +6489,24 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn)
+                 neon_load_reg64(cpu_V0, rn + pass);
+                 neon_load_reg64(cpu_V1, rm + pass);
+                 switch (op) {
++                case NEON_3R_VQADD:
++                    if (u) {
++                        gen_helper_neon_qadd_u64(cpu_V0, cpu_env,
++                                                 cpu_V0, cpu_V1);
++                    } else {
++                        gen_helper_neon_qadd_s64(cpu_V0, cpu_env,
++                                                 cpu_V0, cpu_V1);
++                    }
++                    break;
++                case NEON_3R_VQSUB:
++                    if (u) {
++                        gen_helper_neon_qsub_u64(cpu_V0, cpu_env,
++                                                 cpu_V0, cpu_V1);
++                    } else {
++                        gen_helper_neon_qsub_s64(cpu_V0, cpu_env,
++                                                 cpu_V0, cpu_V1);
++                    }
++                    break;
+                 case NEON_3R_VSHL:
+                     if (u) {
+                         gen_helper_neon_shl_u64(cpu_V0, cpu_V1, cpu_V0);
+@@ -6752,12 +6622,18 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn)
+         case NEON_3R_VHADD:
+             GEN_NEON_INTEGER_OP(hadd);
+             break;
++        case NEON_3R_VQADD:
++            GEN_NEON_INTEGER_OP_ENV(qadd);
++            break;
+         case NEON_3R_VRHADD:
+             GEN_NEON_INTEGER_OP(rhadd);
+             break;
+         case NEON_3R_VHSUB:
+             GEN_NEON_INTEGER_OP(hsub);
+             break;
++        case NEON_3R_VQSUB:
++            GEN_NEON_INTEGER_OP_ENV(qsub);
++            break;
+         case NEON_3R_VSHL:
+             GEN_NEON_INTEGER_OP(shl);
+             break;
+diff --git a/target/arm/translate.h b/target/arm/translate.h
+index c2348def0d..07055c9449 100644
+--- a/target/arm/translate.h
++++ b/target/arm/translate.h
+@@ -248,10 +248,6 @@ extern const GVecGen2i ssra_op[4];
+ extern const GVecGen2i usra_op[4];
+ extern const GVecGen2i sri_op[4];
+ extern const GVecGen2i sli_op[4];
+-extern const GVecGen4 uqadd_op[4];
+-extern const GVecGen4 sqadd_op[4];
+-extern const GVecGen4 uqsub_op[4];
+-extern const GVecGen4 sqsub_op[4];
+ void gen_cmtst_i64(TCGv_i64 d, TCGv_i64 a, TCGv_i64 b);
+ 
+ /*
+diff --git a/target/arm/vec_helper.c b/target/arm/vec_helper.c
+index dedef62403..be3271659f 100644
+--- a/target/arm/vec_helper.c
++++ b/target/arm/vec_helper.c
+@@ -769,136 +769,6 @@ DO_FMLA_IDX(gvec_fmla_idx_d, float64, )
+ 
+ #undef DO_FMLA_IDX
+ 
+-#define DO_SAT(NAME, WTYPE, TYPEN, TYPEM, OP, MIN, MAX) \
+-void HELPER(NAME)(void *vd, void *vq, void *vn, void *vm, uint32_t desc)   \
+-{                                                                          \
+-    intptr_t i, oprsz = simd_oprsz(desc);                                  \
+-    TYPEN *d = vd, *n = vn; TYPEM *m = vm;                                 \
+-    bool q = false;                                                        \
+-    for (i = 0; i < oprsz / sizeof(TYPEN); i++) {                          \
+-        WTYPE dd = (WTYPE)n[i] OP m[i];                                    \
+-        if (dd < MIN) {                                                    \
+-            dd = MIN;                                                      \
+-            q = true;                                                      \
+-        } else if (dd > MAX) {                                             \
+-            dd = MAX;                                                      \
+-            q = true;                                                      \
+-        }                                                                  \
+-        d[i] = dd;                                                         \
+-    }                                                                      \
+-    if (q) {                                                               \
+-        uint32_t *qc = vq;                                                 \
+-        qc[0] = 1;                                                         \
+-    }                                                                      \
+-    clear_tail(d, oprsz, simd_maxsz(desc));                                \
+-}
+-
+-DO_SAT(gvec_uqadd_b, int, uint8_t, uint8_t, +, 0, UINT8_MAX)
+-DO_SAT(gvec_uqadd_h, int, uint16_t, uint16_t, +, 0, UINT16_MAX)
+-DO_SAT(gvec_uqadd_s, int64_t, uint32_t, uint32_t, +, 0, UINT32_MAX)
+-
+-DO_SAT(gvec_sqadd_b, int, int8_t, int8_t, +, INT8_MIN, INT8_MAX)
+-DO_SAT(gvec_sqadd_h, int, int16_t, int16_t, +, INT16_MIN, INT16_MAX)
+-DO_SAT(gvec_sqadd_s, int64_t, int32_t, int32_t, +, INT32_MIN, INT32_MAX)
+-
+-DO_SAT(gvec_uqsub_b, int, uint8_t, uint8_t, -, 0, UINT8_MAX)
+-DO_SAT(gvec_uqsub_h, int, uint16_t, uint16_t, -, 0, UINT16_MAX)
+-DO_SAT(gvec_uqsub_s, int64_t, uint32_t, uint32_t, -, 0, UINT32_MAX)
+-
+-DO_SAT(gvec_sqsub_b, int, int8_t, int8_t, -, INT8_MIN, INT8_MAX)
+-DO_SAT(gvec_sqsub_h, int, int16_t, int16_t, -, INT16_MIN, INT16_MAX)
+-DO_SAT(gvec_sqsub_s, int64_t, int32_t, int32_t, -, INT32_MIN, INT32_MAX)
+-
+-#undef DO_SAT
+-
+-void HELPER(gvec_uqadd_d)(void *vd, void *vq, void *vn,
+-                          void *vm, uint32_t desc)
+-{
+-    intptr_t i, oprsz = simd_oprsz(desc);
+-    uint64_t *d = vd, *n = vn, *m = vm;
+-    bool q = false;
+-
+-    for (i = 0; i < oprsz / 8; i++) {
+-        uint64_t nn = n[i], mm = m[i], dd = nn + mm;
+-        if (dd < nn) {
+-            dd = UINT64_MAX;
+-            q = true;
+-        }
+-        d[i] = dd;
+-    }
+-    if (q) {
+-        uint32_t *qc = vq;
+-        qc[0] = 1;
+-    }
+-    clear_tail(d, oprsz, simd_maxsz(desc));
+-}
+-
+-void HELPER(gvec_uqsub_d)(void *vd, void *vq, void *vn,
+-                          void *vm, uint32_t desc)
+-{
+-    intptr_t i, oprsz = simd_oprsz(desc);
+-    uint64_t *d = vd, *n = vn, *m = vm;
+-    bool q = false;
+-
+-    for (i = 0; i < oprsz / 8; i++) {
+-        uint64_t nn = n[i], mm = m[i], dd = nn - mm;
+-        if (nn < mm) {
+-            dd = 0;
+-            q = true;
+-        }
+-        d[i] = dd;
+-    }
+-    if (q) {
+-        uint32_t *qc = vq;
+-        qc[0] = 1;
+-    }
+-    clear_tail(d, oprsz, simd_maxsz(desc));
+-}
+-
+-void HELPER(gvec_sqadd_d)(void *vd, void *vq, void *vn,
+-                          void *vm, uint32_t desc)
+-{
+-    intptr_t i, oprsz = simd_oprsz(desc);
+-    int64_t *d = vd, *n = vn, *m = vm;
+-    bool q = false;
+-
+-    for (i = 0; i < oprsz / 8; i++) {
+-        int64_t nn = n[i], mm = m[i], dd = nn + mm;
+-        if (((dd ^ nn) & ~(nn ^ mm)) & INT64_MIN) {
+-            dd = (nn >> 63) ^ ~INT64_MIN;
+-            q = true;
+-        }
+-        d[i] = dd;
+-    }
+-    if (q) {
+-        uint32_t *qc = vq;
+-        qc[0] = 1;
+-    }
+-    clear_tail(d, oprsz, simd_maxsz(desc));
+-}
+-
+-void HELPER(gvec_sqsub_d)(void *vd, void *vq, void *vn,
+-                          void *vm, uint32_t desc)
+-{
+-    intptr_t i, oprsz = simd_oprsz(desc);
+-    int64_t *d = vd, *n = vn, *m = vm;
+-    bool q = false;
+-
+-    for (i = 0; i < oprsz / 8; i++) {
+-        int64_t nn = n[i], mm = m[i], dd = nn - mm;
+-        if (((dd ^ nn) & (nn ^ mm)) & INT64_MIN) {
+-            dd = (nn >> 63) ^ ~INT64_MIN;
+-            q = true;
+-        }
+-        d[i] = dd;
+-    }
+-    if (q) {
+-        uint32_t *qc = vq;
+-        qc[0] = 1;
+-    }
+-    clear_tail(d, oprsz, simd_maxsz(desc));
+-}
+-
+ /*
+  * Convert float16 to float32, raising no exceptions and
+  * preserving exceptional values, including SNaN.
+-- 
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0014-fix-CVE-2018-16872.patch b/poky/meta/recipes-devtools/qemu/qemu/0014-fix-CVE-2018-16872.patch
deleted file mode 100644
index 412aa16..0000000
--- a/poky/meta/recipes-devtools/qemu/qemu/0014-fix-CVE-2018-16872.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-CVE: CVE-2018-16872
-Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commit;h=bab9df35]
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-From bab9df35ce73d1c8e19a37e2737717ea1c984dc1 Mon Sep 17 00:00:00 2001
-From: Gerd Hoffmann <kraxel@redhat.com>
-Date: Thu, 13 Dec 2018 13:25:11 +0100
-Subject: [PATCH] usb-mtp: use O_NOFOLLOW and O_CLOEXEC.
-
-Open files and directories with O_NOFOLLOW to avoid symlinks attacks.
-While being at it also add O_CLOEXEC.
-
-usb-mtp only handles regular files and directories and ignores
-everything else, so users should not see a difference.
-
-Because qemu ignores symlinks, carrying out a successful symlink attack
-requires swapping an existing file or directory below rootdir for a
-symlink and winning the race against the inotify notification to qemu.
-
-Fixes: CVE-2018-16872
-Cc: Prasad J Pandit <ppandit@redhat.com>
-Cc: Bandan Das <bsd@redhat.com>
-Reported-by: Michael Hanselmann <public@hansmi.ch>
-Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-Reviewed-by: Michael Hanselmann <public@hansmi.ch>
-Message-id: 20181213122511.13853-1-kraxel@redhat.com
----
- hw/usb/dev-mtp.c | 13 +++++++++----
- 1 file changed, 9 insertions(+), 4 deletions(-)
-
-diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c
-index 100b7171f4..36c43b8c20 100644
---- a/hw/usb/dev-mtp.c
-+++ b/hw/usb/dev-mtp.c
-@@ -653,13 +653,18 @@ static void usb_mtp_object_readdir(MTPState *s, MTPObject *o)
- {
-     struct dirent *entry;
-     DIR *dir;
-+    int fd;
- 
-     if (o->have_children) {
-         return;
-     }
-     o->have_children = true;
- 
--    dir = opendir(o->path);
-+    fd = open(o->path, O_DIRECTORY | O_CLOEXEC | O_NOFOLLOW);
-+    if (fd < 0) {
-+        return;
-+    }
-+    dir = fdopendir(fd);
-     if (!dir) {
-         return;
-     }
-@@ -1007,7 +1012,7 @@ static MTPData *usb_mtp_get_object(MTPState *s, MTPControl *c,
- 
-     trace_usb_mtp_op_get_object(s->dev.addr, o->handle, o->path);
- 
--    d->fd = open(o->path, O_RDONLY);
-+    d->fd = open(o->path, O_RDONLY | O_CLOEXEC | O_NOFOLLOW);
-     if (d->fd == -1) {
-         usb_mtp_data_free(d);
-         return NULL;
-@@ -1031,7 +1036,7 @@ static MTPData *usb_mtp_get_partial_object(MTPState *s, MTPControl *c,
-                                         c->argv[1], c->argv[2]);
- 
-     d = usb_mtp_data_alloc(c);
--    d->fd = open(o->path, O_RDONLY);
-+    d->fd = open(o->path, O_RDONLY | O_CLOEXEC | O_NOFOLLOW);
-     if (d->fd == -1) {
-         usb_mtp_data_free(d);
-         return NULL;
-@@ -1658,7 +1663,7 @@ static void usb_mtp_write_data(MTPState *s)
-                                  0, 0, 0, 0);
-             goto done;
-         }
--        d->fd = open(path, O_CREAT | O_WRONLY, mask);
-+        d->fd = open(path, O_CREAT | O_WRONLY | O_CLOEXEC | O_NOFOLLOW, mask);
-         if (d->fd == -1) {
-             usb_mtp_queue_result(s, RES_STORE_FULL, d->trans,
-                                  0, 0, 0, 0);
--- 
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0015-fix-CVE-2018-20124.patch b/poky/meta/recipes-devtools/qemu/qemu/0015-fix-CVE-2018-20124.patch
deleted file mode 100644
index 985b819..0000000
--- a/poky/meta/recipes-devtools/qemu/qemu/0015-fix-CVE-2018-20124.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-CVE: CVE-2018-20124
-Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commit;h=0e68373]
-
-Backport patch to fix CVE-2018-20124. Update context and stay with current
-function comp_handler() which has been replaced with complete_work() in latest
-git repo.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-From 0e68373cc2b3a063ce067bc0cc3edaf370752890 Mon Sep 17 00:00:00 2001
-From: Prasad J Pandit <pjp@fedoraproject.org>
-Date: Thu, 13 Dec 2018 01:00:34 +0530
-Subject: [PATCH] rdma: check num_sge does not exceed MAX_SGE
-
-rdma back-end has scatter/gather array ibv_sge[MAX_SGE=4] set
-to have 4 elements. A guest could send a 'PvrdmaSqWqe' ring element
-with 'num_sge' set to > MAX_SGE, which may lead to OOB access issue.
-Add check to avoid it.
-
-Reported-by: Saar Amar <saaramar5@gmail.com>
-Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
-Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
-Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
----
- hw/rdma/rdma_backend.c | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/hw/rdma/rdma_backend.c b/hw/rdma/rdma_backend.c
-index d7a4bbd9..7f8028f8 100644
---- a/hw/rdma/rdma_backend.c
-+++ b/hw/rdma/rdma_backend.c
-@@ -311,9 +311,9 @@ void rdma_backend_post_send(RdmaBackendDev *backend_dev,
-     }
- 
-     pr_dbg("num_sge=%d\n", num_sge);
--    if (!num_sge) {
--        pr_dbg("num_sge=0\n");
--        comp_handler(IBV_WC_GENERAL_ERR, VENDOR_ERR_NO_SGE, ctx);
-+    if (!num_sge || num_sge > MAX_SGE) {
-+        pr_dbg("invalid num_sge=%d\n", num_sge);
-+        comp_handler(IBV_WC_GENERAL_ERR, VENDOR_ERR_NO_SGE, ctx);
-         return;
-     }
- 
-@@ -390,9 +390,9 @@ void rdma_backend_post_recv(RdmaBackendDev *backend_dev,
-     }
- 
-     pr_dbg("num_sge=%d\n", num_sge);
--    if (!num_sge) {
--        pr_dbg("num_sge=0\n");
--        comp_handler(IBV_WC_GENERAL_ERR, VENDOR_ERR_NO_SGE, ctx);
-+    if (!num_sge || num_sge > MAX_SGE) {
-+        pr_dbg("invalid num_sge=%d\n", num_sge);
-+        comp_handler(IBV_WC_GENERAL_ERR, VENDOR_ERR_NO_SGE, ctx);
-         return;
-     }
- 
--- 
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0016-fix-CVE-2018-20125.patch b/poky/meta/recipes-devtools/qemu/qemu/0016-fix-CVE-2018-20125.patch
deleted file mode 100644
index 56559c8..0000000
--- a/poky/meta/recipes-devtools/qemu/qemu/0016-fix-CVE-2018-20125.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-CVE: CVE-2018-20125
-Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commit;h=2c858ce]
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-From 2c858ce5da8ae6689c75182b73bc455a291cad41 Mon Sep 17 00:00:00 2001
-From: Prasad J Pandit <pjp@fedoraproject.org>
-Date: Thu, 13 Dec 2018 01:00:36 +0530
-Subject: [PATCH] pvrdma: check number of pages when creating rings
-
-When creating CQ/QP rings, an object can have up to
-PVRDMA_MAX_FAST_REG_PAGES 8 pages. Check 'npages' parameter
-to avoid excessive memory allocation or a null dereference.
-
-Reported-by: Li Qiang <liq3ea@163.com>
-Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
-Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
-Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
----
- hw/rdma/vmw/pvrdma_cmd.c | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-diff --git a/hw/rdma/vmw/pvrdma_cmd.c b/hw/rdma/vmw/pvrdma_cmd.c
-index 3b94545761..f236ac4795 100644
---- a/hw/rdma/vmw/pvrdma_cmd.c
-+++ b/hw/rdma/vmw/pvrdma_cmd.c
-@@ -259,6 +259,11 @@ static int create_cq_ring(PCIDevice *pci_dev , PvrdmaRing **ring,
-     int rc = -EINVAL;
-     char ring_name[MAX_RING_NAME_SZ];
- 
-+    if (!nchunks || nchunks > PVRDMA_MAX_FAST_REG_PAGES) {
-+        pr_dbg("invalid nchunks: %d\n", nchunks);
-+        return rc;
-+    }
-+
-     pr_dbg("pdir_dma=0x%llx\n", (long long unsigned int)pdir_dma);
-     dir = rdma_pci_dma_map(pci_dev, pdir_dma, TARGET_PAGE_SIZE);
-     if (!dir) {
-@@ -372,6 +377,12 @@ static int create_qp_rings(PCIDevice *pci_dev, uint64_t pdir_dma,
-     char ring_name[MAX_RING_NAME_SZ];
-     uint32_t wqe_sz;
- 
-+    if (!spages || spages > PVRDMA_MAX_FAST_REG_PAGES
-+        || !rpages || rpages > PVRDMA_MAX_FAST_REG_PAGES) {
-+        pr_dbg("invalid pages: %d, %d\n", spages, rpages);
-+        return rc;
-+    }
-+
-     pr_dbg("pdir_dma=0x%llx\n", (long long unsigned int)pdir_dma);
-     dir = rdma_pci_dma_map(pci_dev, pdir_dma, TARGET_PAGE_SIZE);
-     if (!dir) {
--- 
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0017-fix-CVE-2018-20126.patch b/poky/meta/recipes-devtools/qemu/qemu/0017-fix-CVE-2018-20126.patch
deleted file mode 100644
index 8329f2c..0000000
--- a/poky/meta/recipes-devtools/qemu/qemu/0017-fix-CVE-2018-20126.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-CVE: CVE-2018-20126
-Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commit;h=509f57c]
-
-Backport and rebase patch to fix CVE-2018-20126.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-From 509f57c98e7536905bb4902363d0cba66ce7e089 Mon Sep 17 00:00:00 2001
-From: Prasad J Pandit <pjp@fedoraproject.org>
-Date: Thu, 13 Dec 2018 01:00:37 +0530
-Subject: [PATCH] pvrdma: release ring object in case of an error
-
-create_cq and create_qp routines allocate ring object, but it's
-not released in case of an error, leading to memory leakage.
-
-Reported-by: Li Qiang <liq3ea@163.com>
-Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
-Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
-Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
----
- hw/rdma/vmw/pvrdma_cmd.c | 41 ++++++++++++++++++++++++++++++-----------
- 1 file changed, 30 insertions(+), 11 deletions(-)
-
-diff --git a/hw/rdma/vmw/pvrdma_cmd.c b/hw/rdma/vmw/pvrdma_cmd.c
-index 4faeb21..9b6796f 100644
---- a/hw/rdma/vmw/pvrdma_cmd.c
-+++ b/hw/rdma/vmw/pvrdma_cmd.c
-@@ -310,6 +310,14 @@ out:
-     return rc;
- }
- 
-+static void destroy_cq_ring(PvrdmaRing *ring)
-+{
-+    pvrdma_ring_free(ring);
-+    /* ring_state was in slot 1, not 0 so need to jump back */
-+    rdma_pci_dma_unmap(ring->dev, --ring->ring_state, TARGET_PAGE_SIZE);
-+    g_free(ring);
-+}
-+
- static int create_cq(PVRDMADev *dev, union pvrdma_cmd_req *req,
-                      union pvrdma_cmd_resp *rsp)
- {
-@@ -333,6 +341,10 @@ static int create_cq(PVRDMADev *dev, union pvrdma_cmd_req *req,
- 
-     resp->hdr.err = rdma_rm_alloc_cq(&dev->rdma_dev_res, &dev->backend_dev,
-                                      cmd->cqe, &resp->cq_handle, ring);
-+    if (resp->hdr.err) {
-+        destroy_cq_ring(ring);
-+    }
-+
-     resp->cqe = cmd->cqe;
- 
- out:
-@@ -356,10 +368,7 @@ static int destroy_cq(PVRDMADev *dev, union pvrdma_cmd_req *req,
-     }
- 
-     ring = (PvrdmaRing *)cq->opaque;
--    pvrdma_ring_free(ring);
--    /* ring_state was in slot 1, not 0 so need to jump back */
--    rdma_pci_dma_unmap(PCI_DEVICE(dev), --ring->ring_state, TARGET_PAGE_SIZE);
--    g_free(ring);
-+    destroy_cq_ring(ring);
- 
-     rdma_rm_dealloc_cq(&dev->rdma_dev_res, cmd->cq_handle);
- 
-@@ -451,6 +460,17 @@ out:
-     return rc;
- }
- 
-+static void destroy_qp_rings(PvrdmaRing *ring)
-+{
-+    pr_dbg("sring=%p\n", &ring[0]);
-+    pvrdma_ring_free(&ring[0]);
-+    pr_dbg("rring=%p\n", &ring[1]);
-+    pvrdma_ring_free(&ring[1]);
-+
-+    rdma_pci_dma_unmap(ring->dev, ring->ring_state, TARGET_PAGE_SIZE);
-+    g_free(ring);
-+}
-+
- static int create_qp(PVRDMADev *dev, union pvrdma_cmd_req *req,
-                      union pvrdma_cmd_resp *rsp)
- {
-@@ -482,6 +502,11 @@ static int create_qp(PVRDMADev *dev, union pvrdma_cmd_req *req,
-                                      cmd->max_recv_wr, cmd->max_recv_sge,
-                                      cmd->recv_cq_handle, rings, &resp->qpn);
- 
-+    if (resp->hdr.err) {
-+        destroy_qp_rings(rings);
-+        return resp->hdr.err;
-+    }
-+
-     resp->max_send_wr = cmd->max_send_wr;
-     resp->max_recv_wr = cmd->max_recv_wr;
-     resp->max_send_sge = cmd->max_send_sge;
-@@ -555,13 +580,7 @@ static int destroy_qp(PVRDMADev *dev, union pvrdma_cmd_req *req,
-     rdma_rm_dealloc_qp(&dev->rdma_dev_res, cmd->qp_handle);
- 
-     ring = (PvrdmaRing *)qp->opaque;
--    pr_dbg("sring=%p\n", &ring[0]);
--    pvrdma_ring_free(&ring[0]);
--    pr_dbg("rring=%p\n", &ring[1]);
--    pvrdma_ring_free(&ring[1]);
--
--    rdma_pci_dma_unmap(PCI_DEVICE(dev), ring->ring_state, TARGET_PAGE_SIZE);
--    g_free(ring);
-+    destroy_qp_rings(ring);
- 
-     return 0;
- }
--- 
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0018-fix-CVE-2018-20191.patch b/poky/meta/recipes-devtools/qemu/qemu/0018-fix-CVE-2018-20191.patch
deleted file mode 100644
index 8f8ff05..0000000
--- a/poky/meta/recipes-devtools/qemu/qemu/0018-fix-CVE-2018-20191.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-CVE: CVE-2018-20191
-Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commit;h=2aa8645]
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-From 2aa86456fb938a11f2b7bd57c8643c213218681c Mon Sep 17 00:00:00 2001
-From: Prasad J Pandit <pjp@fedoraproject.org>
-Date: Thu, 13 Dec 2018 01:00:35 +0530
-Subject: [PATCH] pvrdma: add uar_read routine
-
-Define skeleton 'uar_read' routine. Avoid NULL dereference.
-
-Reported-by: Li Qiang <liq3ea@163.com>
-Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
-Reviewed-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
-Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
----
- hw/rdma/vmw/pvrdma_main.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/hw/rdma/vmw/pvrdma_main.c b/hw/rdma/vmw/pvrdma_main.c
-index 64de16fb52..838ad8a949 100644
---- a/hw/rdma/vmw/pvrdma_main.c
-+++ b/hw/rdma/vmw/pvrdma_main.c
-@@ -448,6 +448,11 @@ static const MemoryRegionOps regs_ops = {
-     },
- };
- 
-+static uint64_t uar_read(void *opaque, hwaddr addr, unsigned size)
-+{
-+    return 0xffffffff;
-+}
-+
- static void uar_write(void *opaque, hwaddr addr, uint64_t val, unsigned size)
- {
-     PVRDMADev *dev = opaque;
-@@ -489,6 +494,7 @@ static void uar_write(void *opaque, hwaddr addr, uint64_t val, unsigned size)
- }
- 
- static const MemoryRegionOps uar_ops = {
-+    .read = uar_read,
-     .write = uar_write,
-     .endianness = DEVICE_LITTLE_ENDIAN,
-     .impl = {
--- 
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0019-fix-CVE-2018-20216.patch b/poky/meta/recipes-devtools/qemu/qemu/0019-fix-CVE-2018-20216.patch
deleted file mode 100644
index c02bad3..0000000
--- a/poky/meta/recipes-devtools/qemu/qemu/0019-fix-CVE-2018-20216.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-CVE: CVE-2018-20216
-Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commit;h=f1e2e38]
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-From f1e2e38ee0136b7710a2caa347049818afd57a1b Mon Sep 17 00:00:00 2001
-From: Prasad J Pandit <pjp@fedoraproject.org>
-Date: Thu, 13 Dec 2018 01:00:39 +0530
-Subject: [PATCH] pvrdma: check return value from pvrdma_idx_ring_has_ routines
-
-pvrdma_idx_ring_has_[data/space] routines also return invalid
-index PVRDMA_INVALID_IDX[=-1], if ring has no data/space. Check
-return value from these routines to avoid plausible infinite loops.
-
-Reported-by: Li Qiang <liq3ea@163.com>
-Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
-Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
-Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
----
- hw/rdma/vmw/pvrdma_dev_ring.c | 29 +++++++++++------------------
- 1 file changed, 11 insertions(+), 18 deletions(-)
-
-diff --git a/hw/rdma/vmw/pvrdma_dev_ring.c b/hw/rdma/vmw/pvrdma_dev_ring.c
-index 01247fc041..e8e5b502f6 100644
---- a/hw/rdma/vmw/pvrdma_dev_ring.c
-+++ b/hw/rdma/vmw/pvrdma_dev_ring.c
-@@ -73,23 +73,16 @@ out:
- 
- void *pvrdma_ring_next_elem_read(PvrdmaRing *ring)
- {
-+    int e;
-     unsigned int idx = 0, offset;
- 
--    /*
--    pr_dbg("%s: t=%d, h=%d\n", ring->name, ring->ring_state->prod_tail,
--           ring->ring_state->cons_head);
--    */
--
--    if (!pvrdma_idx_ring_has_data(ring->ring_state, ring->max_elems, &idx)) {
-+    e = pvrdma_idx_ring_has_data(ring->ring_state, ring->max_elems, &idx);
-+    if (e <= 0) {
-         pr_dbg("No more data in ring\n");
-         return NULL;
-     }
- 
-     offset = idx * ring->elem_sz;
--    /*
--    pr_dbg("idx=%d\n", idx);
--    pr_dbg("offset=%d\n", offset);
--    */
-     return ring->pages[offset / TARGET_PAGE_SIZE] + (offset % TARGET_PAGE_SIZE);
- }
- 
-@@ -105,20 +98,20 @@ void pvrdma_ring_read_inc(PvrdmaRing *ring)
- 
- void *pvrdma_ring_next_elem_write(PvrdmaRing *ring)
- {
--    unsigned int idx, offset, tail;
-+    int idx;
-+    unsigned int offset, tail;
- 
--    /*
--    pr_dbg("%s: t=%d, h=%d\n", ring->name, ring->ring_state->prod_tail,
--           ring->ring_state->cons_head);
--    */
--
--    if (!pvrdma_idx_ring_has_space(ring->ring_state, ring->max_elems, &tail)) {
-+    idx = pvrdma_idx_ring_has_space(ring->ring_state, ring->max_elems, &tail);
-+    if (idx <= 0) {
-         pr_dbg("CQ is full\n");
-         return NULL;
-     }
- 
-     idx = pvrdma_idx(&ring->ring_state->prod_tail, ring->max_elems);
--    /* TODO: tail == idx */
-+    if (idx < 0 || tail != idx) {
-+        pr_dbg("invalid idx\n");
-+        return NULL;
-+    }
- 
-     offset = idx * ring->elem_sz;
-     return ring->pages[offset / TARGET_PAGE_SIZE] + (offset % TARGET_PAGE_SIZE);
--- 
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2019-3812.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2019-3812.patch
deleted file mode 100644
index 7de5882..0000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2019-3812.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-QEMU, through version 2.10 and through version 3.1.0, is vulnerable to an
-out-of-bounds read of up to 128 bytes in the hw/i2c/i2c-ddc.c:i2c_ddc()
-function. A local attacker with permission to execute i2c commands could exploit
-this to read stack memory of the qemu process on the host.
-
-CVE: CVE-2019-3812
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From b05b267840515730dbf6753495d5b7bd8b04ad1c Mon Sep 17 00:00:00 2001
-From: Gerd Hoffmann <kraxel@redhat.com>
-Date: Tue, 8 Jan 2019 11:23:01 +0100
-Subject: [PATCH] i2c-ddc: fix oob read
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Suggested-by: Michael Hanselmann <public@hansmi.ch>
-Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-Reviewed-by: Michael Hanselmann <public@hansmi.ch>
-Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-Message-id: 20190108102301.1957-1-kraxel@redhat.com
----
- hw/i2c/i2c-ddc.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/hw/i2c/i2c-ddc.c b/hw/i2c/i2c-ddc.c
-index be34fe072cf..0a0367ff38f 100644
---- a/hw/i2c/i2c-ddc.c
-+++ b/hw/i2c/i2c-ddc.c
-@@ -56,7 +56,7 @@ static int i2c_ddc_rx(I2CSlave *i2c)
-     I2CDDCState *s = I2CDDC(i2c);
- 
-     int value;
--    value = s->edid_blob[s->reg];
-+    value = s->edid_blob[s->reg % sizeof(s->edid_blob)];
-     s->reg++;
-     return value;
- }
diff --git a/poky/meta/recipes-devtools/qemu/qemu_3.1.0.bb b/poky/meta/recipes-devtools/qemu/qemu_4.0.0.bb
similarity index 99%
rename from poky/meta/recipes-devtools/qemu/qemu_3.1.0.bb
rename to poky/meta/recipes-devtools/qemu/qemu_4.0.0.bb
index 04d8bee..247e031 100644
--- a/poky/meta/recipes-devtools/qemu/qemu_3.1.0.bb
+++ b/poky/meta/recipes-devtools/qemu/qemu_4.0.0.bb
@@ -18,5 +18,3 @@
     ${@bb.utils.filter('DISTRO_FEATURES', 'alsa xen', d)} \
 "
 PACKAGECONFIG_class-nativesdk ??= "fdt sdl kvm"
-
-
diff --git a/poky/meta/recipes-devtools/ruby/ruby.inc b/poky/meta/recipes-devtools/ruby/ruby.inc
index eaf5d13..1ecd087 100644
--- a/poky/meta/recipes-devtools/ruby/ruby.inc
+++ b/poky/meta/recipes-devtools/ruby/ruby.inc
@@ -14,7 +14,7 @@
     file://LEGAL;md5=23a79bb4c1a40f6cc9bcb6f4e7c39799 \
 "
 
-DEPENDS = "ruby-native zlib openssl tcl libyaml gdbm readline"
+DEPENDS = "ruby-native zlib openssl tcl libyaml gdbm readline libffi"
 DEPENDS_class-native = "openssl-native libyaml-native readline-native"
 
 SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
@@ -24,7 +24,7 @@
            "
 UPSTREAM_CHECK_URI = "https://www.ruby-lang.org/en/downloads/"
 
-inherit autotools
+inherit autotools ptest
 
 
 # This snippet lets compiled extensions which rely on external libraries,
diff --git a/poky/meta/recipes-devtools/ruby/ruby/run-ptest b/poky/meta/recipes-devtools/ruby/ruby/run-ptest
new file mode 100644
index 0000000..de7c415
--- /dev/null
+++ b/poky/meta/recipes-devtools/ruby/ruby/run-ptest
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+test_fullname=`find test -name test_*.rb` 
+ 
+for i in ${test_fullname}; do 
+	ruby ./test/runner.rb ${i}  2>&1 > /dev/null
+	ret=$? 
+	if [ $ret != 0 ]; then
+		echo "FAIL: ${i}" 
+	else
+		echo "PASS: ${i}"         
+	fi 
+done 
diff --git a/poky/meta/recipes-devtools/ruby/ruby_2.5.3.bb b/poky/meta/recipes-devtools/ruby/ruby_2.5.3.bb
index 3fb427e..519daf2 100644
--- a/poky/meta/recipes-devtools/ruby/ruby_2.5.3.bb
+++ b/poky/meta/recipes-devtools/ruby/ruby_2.5.3.bb
@@ -3,6 +3,7 @@
 SRC_URI += " \
            file://ruby-CVE-2017-9226.patch \
            file://ruby-CVE-2017-9228.patch \
+           file://run-ptest \
            "
 
 SRC_URI[md5sum] = "20c85b67846d49622ef3b24230803fef"
@@ -28,6 +29,7 @@
     --disable-dtrace \
     --enable-shared \
     --enable-load-relative \
+    --with-pkg-config=pkg-config \
 "
 
 do_install() {
@@ -54,6 +56,13 @@
 
 }
 
+do_install_ptest () {
+    cp -rf ${S}/test ${D}${PTEST_PATH}/
+    cp -r ${S}/include ${D}/${libdir}/ruby/
+    test_case_rb=`grep rubygems/test_case.rb ${B}/.installed.list`
+    sed -i -e 's:../../../test/:../../../ptest/test/:g' ${D}/$test_case_rb
+}
+
 PACKAGES =+ "${PN}-ri-docs ${PN}-rdoc"
 
 SUMMARY_${PN}-ri-docs = "ri (Ruby Interactive) documentation for the Ruby standard library"
@@ -66,4 +75,6 @@
 
 FILES_${PN} += "${datadir}/rubygems"
 
+FILES_${PN}-ptest_append_class-target += "${libdir}/ruby/include"
+
 BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts b/poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts
index 95eff04..f84a7e1 100755
--- a/poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts
+++ b/poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts
@@ -67,7 +67,7 @@
 		echo "Running postinst $i..."
 		[ "$POSTINST_LOGGING" = "1" ] && eval echo "Running postinst $i..." $append_log
 		if [ -x $i ]; then
-			eval sh -c $i $append_log
+			(sh -c $i $append_log)
 			rm $i
 		else
 			echo "ERROR: postinst $i failed."
diff --git a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
index e871f1c..5a8b5f7 100644
--- a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
+++ b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
@@ -44,3 +44,5 @@
 ARM_INSTRUCTION_SET_armv6 = "arm"
 
 BBCLASSEXTEND = "native nativesdk"
+
+CVE_PRODUCT = "squashfs"
diff --git a/poky/meta/recipes-devtools/subversion/subversion/disable_macos.patch b/poky/meta/recipes-devtools/subversion/subversion/disable_macos.patch
index ec3be49..8d2d635 100644
--- a/poky/meta/recipes-devtools/subversion/subversion/disable_macos.patch
+++ b/poky/meta/recipes-devtools/subversion/subversion/disable_macos.patch
@@ -1,15 +1,25 @@
-These tests don't work in cross compiling, just disable them for now, we don't
-build subversion on OS-X at this time.
+From 9c350c037ca3489dbeece6ecc2d7e2e5dbb177e9 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Sat, 11 May 2019 15:21:46 +0800
+Subject: [PATCH] These tests don't work in cross compiling, just disable them
+ for now, we don't build subversion on OS-X at this time.
 
 RP 1014/7/16
 
 Upstream-Status: Pending [needs a rewrite to support a cache value]
 
-Index: subversion-1.8.9/build/ac-macros/macosx.m4
-===================================================================
---- subversion-1.8.9.orig/build/ac-macros/macosx.m4	2012-11-26 03:04:27.000000000 +0000
-+++ subversion-1.8.9/build/ac-macros/macosx.m4	2014-07-16 12:28:58.357300403 +0000
-@@ -24,21 +24,7 @@
+Rebase to 1.12.0
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ build/ac-macros/macosx.m4 | 31 +------------------------------
+ 1 file changed, 1 insertion(+), 30 deletions(-)
+
+diff --git a/build/ac-macros/macosx.m4 b/build/ac-macros/macosx.m4
+index 92fa58e..a568e1c 100644
+--- a/build/ac-macros/macosx.m4
++++ b/build/ac-macros/macosx.m4
+@@ -24,21 +24,7 @@ dnl Check for _dyld_image_name and _dyld_image_header availability
  AC_DEFUN(SVN_LIB_MACHO_ITERATE,
  [
    AC_MSG_CHECKING([for Mach-O dynamic module iteration functions])
@@ -31,7 +41,7 @@
  ])
  
  dnl SVN_LIB_MACOS_PLIST
-@@ -46,34 +32,7 @@
+@@ -46,23 +32,8 @@ dnl Assign variables for Mac OS property list support
  AC_DEFUN(SVN_LIB_MACOS_PLIST,
  [
    AC_MSG_CHECKING([for Mac OS property list utilities])
@@ -44,25 +54,18 @@
 -    #error ProperyList API unavailable.
 -    #endif
 -  ]],[[]])],[
--    dnl ### Hack.  We should only need to pass the -framework options when
--    dnl linking libsvn_subr, since it is the only library that uses Keychain.
--    dnl
--    dnl Unfortunately, libtool 1.5.x doesn't track transitive dependencies for
--    dnl OS X frameworks like it does for normal libraries, so we need to
--    dnl explicitly pass the option to all the users of libsvn_subr to allow
--    dnl static builds to link successfully.
--    dnl
--    dnl This does mean that all executables we link will be linked directly
--    dnl to these frameworks - even when building shared libraries - but that
--    dnl shouldn't cause any problems.
--
--    LIBS="$LIBS -framework CoreFoundation"
+-    SVN_MACOS_PLIST_LIBS="-framework CoreFoundation"
+-    AC_SUBST(SVN_MACOS_PLIST_LIBS)
 -    AC_DEFINE([SVN_HAVE_MACOS_PLIST], [1],
 -              [Is Mac OS property list API available?])
 -    AC_MSG_RESULT([yes])
 -  ],[
++  AC_SUBST([SVN_MACOS_PLIST_LIBS], [""])
      AC_MSG_RESULT([no])
 -  ])
  ])
  
  dnl SVN_LIB_MACOS_KEYCHAIN
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/subversion/subversion/serfmacro.patch b/poky/meta/recipes-devtools/subversion/subversion/serfmacro.patch
index 9a45cb9..507de0f 100644
--- a/poky/meta/recipes-devtools/subversion/subversion/serfmacro.patch
+++ b/poky/meta/recipes-devtools/subversion/subversion/serfmacro.patch
@@ -1,22 +1,31 @@
-The existing sed expression can match expressions like 
---sysroot=/some/path/xxx-linux/ which clearly isn't intended and 
-injects incorrect paths into LDFLAGS.
+The existing sed expression can match expressions like
+--sysroot=/some/path/xxx-linux/ which clearly isn't intended and injects
+incorrect paths into LDFLAGS.
 
 Fix this in the same way we address the problem in CFLAGS.
 
 RP 2016/12/7
 Upstream-Status: Pending
 
-Index: subversion-1.9.4/build/ac-macros/serf.m4
-===================================================================
---- subversion-1.9.4.orig/build/ac-macros/serf.m4
-+++ subversion-1.9.4/build/ac-macros/serf.m4
+Rebase 1.12.0
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ build/ac-macros/serf.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/build/ac-macros/serf.m4 b/build/ac-macros/serf.m4
+index 0a549b3..3a069ac 100644
+--- a/build/ac-macros/serf.m4
++++ b/build/ac-macros/serf.m4
 @@ -171,7 +171,7 @@ AC_DEFUN(SVN_SERF_PKG_CONFIG,
-           SVN_SERF_INCLUDES=[`$PKG_CONFIG $serf_pc_arg --cflags | $SED -e 's/ -D[^ ]*//g' -e 's/^-D[^ ]*//g'`]
-           SVN_SERF_LIBS=`$PKG_CONFIG $serf_pc_arg --libs-only-l` 
+           SVN_SERF_INCLUDES=[`$PKG_CONFIG $serf_pc_arg --cflags-only-I`]
+           SVN_SERF_LIBS=[`$PKG_CONFIG $serf_pc_arg --libs-only-l`]
            dnl don't use --libs-only-L because then we might miss some options
 -          LDFLAGS=["$LDFLAGS `$PKG_CONFIG $serf_pc_arg --libs | $SED -e 's/-l[^ ]*//g'`"]
 +          LDFLAGS=["$LDFLAGS `$PKG_CONFIG $serf_pc_arg --libs | $SED -e 's/ -l[^ ]*//g' -e 's/^-l[^ ]*//g'`"]
            break
          else
            AC_MSG_RESULT([no])
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/subversion/subversion/subversion-1.12.0-apr_1.7.0_fix-1.patch b/poky/meta/recipes-devtools/subversion/subversion/subversion-1.12.0-apr_1.7.0_fix-1.patch
new file mode 100644
index 0000000..f0edd5f
--- /dev/null
+++ b/poky/meta/recipes-devtools/subversion/subversion/subversion-1.12.0-apr_1.7.0_fix-1.patch
@@ -0,0 +1,107 @@
+From b147803553237654f8268e831dee8fed4989ad3b Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Sat, 11 May 2019 14:46:39 +0800
+Subject: [PATCH] Submitted By: Pierre Labastie (pierre dot labastie at neuf
+ dot fr) Date: 2019-04-17 Initial Package Version: 1.11.1 Origin: Upstream
+ revision 1857391 Upstream Status: Committed Description: Get rid of
+ apr_int64_t format string check in swig py configure.
+
+This check relied on APR implementation details and broke with APR 1.7.0.
+Rather than trying to guess a perfect format string to use, just use the
+largest possible format and cast the argument accordingly.
+
+Should fix build against APR 1.7.0 and later.
+
+Suggested by: brane
+
+* build/ac-macros/swig.m4: Remove code related to SVN_APR_INT64_T_PYCFMT.
+
+* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
+  (svn_swig_py_client_blame_receiver_func): Stop relying on the
+   SVN_APR_INT64_T_PYCFMT constant from configure. Use "L" and
+   acast to PY_LONG_LONG instead.
+
+Upstream-Status: Backport [www.linuxfromscratch.org/patches/blfs/svn/subversion-1.12.0-apr_1.7.0_fix-1.patch]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ build/ac-macros/swig.m4                            | 35 ----------------------
+ .../swig/python/libsvn_swig_py/swigutil_py.c       |  9 +++---
+ 2 files changed, 4 insertions(+), 40 deletions(-)
+
+diff --git a/build/ac-macros/swig.m4 b/build/ac-macros/swig.m4
+index 55501fb..2963872 100644
+--- a/build/ac-macros/swig.m4
++++ b/build/ac-macros/swig.m4
+@@ -128,41 +128,6 @@ AC_DEFUN(SVN_FIND_SWIG,
+       ac_cv_python_libs="`$PYTHON ${abs_srcdir}/build/get-py-info.py --libs`"
+     ])
+     SWIG_PY_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS($ac_cv_python_libs)`"
+-
+-    dnl Sun Forte adds an extra space before substituting APR_INT64_T_FMT
+-    dnl gcc-2.95 adds an extra space after substituting APR_INT64_T_FMT
+-    dnl thus the egrep patterns have a + in them.
+-    SVN_PYCFMT_SAVE_CPPFLAGS="$CPPFLAGS"
+-    CPPFLAGS="$CPPFLAGS $SVN_APR_INCLUDES"
+-    AC_CACHE_CHECK([for apr_int64_t Python/C API format string],
+-                   [svn_cv_pycfmt_apr_int64_t], [
+-      if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
+-        AC_EGREP_CPP([MaTcHtHiS +\"lld\" +EnDeNd],
+-                     [#include <apr.h>
+-                      MaTcHtHiS APR_INT64_T_FMT EnDeNd],
+-                     [svn_cv_pycfmt_apr_int64_t="L"])
+-      fi
+-      if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
+-        AC_EGREP_CPP([MaTcHtHiS +\"ld\" +EnDeNd],r
+-                     [#include <apr.h>
+-                      MaTcHtHiS APR_INT64_T_FMT EnDeNd],
+-                     [svn_cv_pycfmt_apr_int64_t="l"])
+-      fi
+-      if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
+-        AC_EGREP_CPP([MaTcHtHiS +\"d\" +EnDeNd],
+-                     [#include <apr.h>
+-                      MaTcHtHiS APR_INT64_T_FMT EnDeNd],
+-                     [svn_cv_pycfmt_apr_int64_t="i"])
+-      fi
+-    ])
+-    CPPFLAGS="$SVN_PYCFMT_SAVE_CPPFLAGS"
+-    if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
+-      AC_MSG_ERROR([failed to recognize APR_INT64_T_FMT on this platform])
+-    fi
+-    AC_DEFINE_UNQUOTED([SVN_APR_INT64_T_PYCFMT],
+-                       ["$svn_cv_pycfmt_apr_int64_t"],
+-                       [Define to the Python/C API format character suitable]
+-                       [ for apr_int64_t])
+   fi
+ 
+   if test "$PERL" != "none"; then
+diff --git a/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c b/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
+index 2c90a6a..abe5a2a 100644
+--- a/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
++++ b/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
+@@ -46,7 +46,7 @@
+ #include "svn_mergeinfo.h"
+ #include "svn_types.h"
+ 
+-#include "svn_private_config.h" /* for SVN_APR_INT64_T_PYCFMT */
++#include "svn_private_config.h"
+ 
+ #include "swig_python_external_runtime.swg"
+ #include "swigutil_py.h"
+@@ -3394,10 +3394,9 @@ svn_error_t *svn_swig_py_client_blame_receiver_func(void *baton,
+   svn_swig_py_acquire_py_lock();
+ 
+   if ((result = PyObject_CallFunction(receiver,
+-                                      (char *)
+-                                      (SVN_APR_INT64_T_PYCFMT "lsssO&"),
+-                                      line_no, revision, author, date, line,
+-                                      make_ob_pool, pool)) == NULL)
++                                      (char *)"LlsssO&",
++                                      (PY_LONG_LONG)line_no, revision, author,
++                                      date, line, make_ob_pool, pool)) == NULL)
+     {
+       err = callback_exception_error();
+     }
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/subversion/subversion_1.11.1.bb b/poky/meta/recipes-devtools/subversion/subversion_1.12.0.bb
similarity index 92%
rename from poky/meta/recipes-devtools/subversion/subversion_1.11.1.bb
rename to poky/meta/recipes-devtools/subversion/subversion_1.12.0.bb
index 8abac74..f059ff9 100644
--- a/poky/meta/recipes-devtools/subversion/subversion_1.11.1.bb
+++ b/poky/meta/recipes-devtools/subversion/subversion_1.12.0.bb
@@ -2,7 +2,7 @@
 HOMEPAGE = "http://subversion.apache.org"
 SECTION = "console/network"
 LICENSE = "Apache-2 & MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=83206f39819e7a4dfca2ff7c190f6ce0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6487ae7094d359fa90fb9c4096e52e2b"
 
 DEPENDS = "apr-util serf sqlite3 file lz4"
 DEPENDS_append_class-native = " file-replacement-native"
@@ -11,10 +11,11 @@
            file://disable_macos.patch \
            file://0001-Fix-libtool-name-in-configure.ac.patch \
            file://serfmacro.patch \
+           file://subversion-1.12.0-apr_1.7.0_fix-1.patch \
            "
 
-SRC_URI[md5sum] = "5797bf701d2d868fa964c7bbc4931267"
-SRC_URI[sha256sum] = "9efd2750ca4d72ec903431a24b9c732b6cbb84aad9b7563f59dd96dea5be60bb"
+SRC_URI[md5sum] = "be4f5c0b1b38a5d82bd6d16a16ff1346"
+SRC_URI[sha256sum] = "7fae7c73d8a007c107c0ae5eb372bc0bb013dbfe966fcd5c59cd5a195a5e2edf"
 
 inherit autotools pkgconfig gettext
 
diff --git a/poky/meta/recipes-devtools/vala/vala.inc b/poky/meta/recipes-devtools/vala/vala.inc
index f680640..703ed1a 100644
--- a/poky/meta/recipes-devtools/vala/vala.inc
+++ b/poky/meta/recipes-devtools/vala/vala.inc
@@ -37,7 +37,7 @@
         chmod +x ${B}/vapigen-wrapper
 }
 
-EXTRA_OECONF += " --disable-graphviz"
+EXTRA_OECONF += " --disable-valadoc"
 
 # Vapigen wrapper needs to be available system-wide, because it will be used
 # to build vapi files from all other packages with vala support
diff --git a/poky/meta/recipes-devtools/vala/vala/0001-Disable-valadoc.patch b/poky/meta/recipes-devtools/vala/vala/0001-Disable-valadoc.patch
deleted file mode 100644
index 9b27b7f..0000000
--- a/poky/meta/recipes-devtools/vala/vala/0001-Disable-valadoc.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From b6ca3876e233c724fd460c1579abc4ab63c8d01e Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 4 Oct 2017 15:23:08 +0300
-Subject: [PATCH] Disable valadoc
-
-Valadoc is a documentation generator for Vala sources, which was
-recently merged into the main vala source tree. Unsurprisingly,
-it's broken in cross-compile environment in multiple ways,
-so let's fix it some other time.
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- Makefile.am | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index e5dc0cc..813b3fc 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -13,8 +13,6 @@ SUBDIRS = \
- 	doc \
- 	gobject-introspection \
- 	vapigen \
--	libvaladoc \
--	valadoc \
- 	$(NULL)
- 
- if ENABLE_UNVERSIONED
--- 
-2.14.1
-
diff --git a/poky/meta/recipes-devtools/vala/vala/disable-graphviz.patch b/poky/meta/recipes-devtools/vala/vala/disable-graphviz.patch
deleted file mode 100644
index e521bc8..0000000
--- a/poky/meta/recipes-devtools/vala/vala/disable-graphviz.patch
+++ /dev/null
@@ -1,226 +0,0 @@
-From b2723ff18b70c67c8a7fab5375a7f3c442d49790 Mon Sep 17 00:00:00 2001
-From: Rico Tzschichholz <ricotz@ubuntu.com>
-Date: Wed, 6 Sep 2017 18:52:55 +0200
-Subject: [PATCH] libvaladoc: Allow disabling the graphviz dependency of
-
- valadoc
-
-https://bugzilla.gnome.org/show_bug.cgi?id=787375
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-Upstream-Status: Submitted [bugzilla link above]
-
----
- configure.ac                          | 60 ++++++++++++++-------------
- libvaladoc/Makefile.am                | 25 ++++++++---
- libvaladoc/html/basicdoclet.vala      |  8 ++++
- libvaladoc/html/htmlmarkupwriter.vala |  4 ++
- 4 files changed, 63 insertions(+), 34 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 730c72d..af81986 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -119,34 +119,38 @@ PKG_CHECK_MODULES(GMODULE, gmodule-2.0 >= $GLIB_REQUIRED)
- AC_SUBST(GMODULE_CFLAGS)
- AC_SUBST(GMODULE_LIBS)
- 
--PKG_CHECK_MODULES(LIBGVC, libgvc >= $LIBGVC_REQUIRED)
--AC_MSG_CHECKING([for CGRAPH])
--cgraph_tmp_LIBADD="$LIBADD"
--cgraph_tmp_CFLAGS="$CFLAGS"
--LIBADD="$LIBADD $LIBGVC_LIBS"
--CFLAGS="$CFLAGS $LIBGVC_CFLAGS"
--AC_RUN_IFELSE(
--	[AC_LANG_SOURCE([
--		#include <gvc.h>
--
--		int main(void) {
--			#ifdef WITH_CGRAPH
--				return 0;
--			#else
--				return -1;
--			#endif
--		}
--	])], [
--		AC_MSG_RESULT([yes])
--		VALAFLAGS="$VALAFLAGS -D WITH_CGRAPH"
--		have_cgraph=yes
--	], [
--		AC_MSG_RESULT([no])
--		have_cgraph=no
--	]
--)
--LIBADD="$cgraph_tmp_LIBADD"
--CFLAGS="$cgraph_tmp_CFLAGS"
-+AC_ARG_ENABLE(graphviz, AS_HELP_STRING([--disable-graphviz], [Disable graphviz usage for valadoc]), enable_graphviz=$enableval, enable_graphviz=yes)
-+if test x$enable_graphviz = xyes; then
-+	PKG_CHECK_MODULES(LIBGVC, libgvc >= $LIBGVC_REQUIRED)
-+	AC_MSG_CHECKING([for CGRAPH])
-+	VALAFLAGS="$VALAFLAGS -D HAVE_GRAPHVIZ"
-+	cgraph_tmp_LIBADD="$LIBADD"
-+	cgraph_tmp_CFLAGS="$CFLAGS"
-+	LIBADD="$LIBADD $LIBGVC_LIBS"
-+	CFLAGS="$CFLAGS $LIBGVC_CFLAGS"
-+	AC_RUN_IFELSE(
-+		[AC_LANG_SOURCE([
-+			#include <gvc.h>
-+			int main(void) {
-+				#ifdef WITH_CGRAPH
-+					return 0;
-+				#else
-+					return -1;
-+				#endif
-+			}
-+		])], [
-+			AC_MSG_RESULT([yes])
-+			VALAFLAGS="$VALAFLAGS -D WITH_CGRAPH"
-+			have_cgraph=yes
-+		], [
-+			AC_MSG_RESULT([no])
-+			have_cgraph=no
-+		]
-+	)
-+	LIBADD="$cgraph_tmp_LIBADD"
-+	CFLAGS="$cgraph_tmp_CFLAGS"
-+fi
-+AM_CONDITIONAL(ENABLE_GRAPHVIZ, test x$enable_graphviz = xyes)
- AM_CONDITIONAL(HAVE_CGRAPH, test "$have_cgraph" = "yes")
- 
- AC_PATH_PROG([XSLTPROC], [xsltproc], :)
-diff --git a/libvaladoc/Makefile.am b/libvaladoc/Makefile.am
-index f3f790e..3c5dc4c 100644
---- a/libvaladoc/Makefile.am
-+++ b/libvaladoc/Makefile.am
-@@ -128,10 +128,6 @@ libvaladoc_la_VALASOURCES = \
- 	content/tablerow.vala \
- 	content/taglet.vala \
- 	content/text.vala \
--	charts/chart.vala \
--	charts/chartfactory.vala \
--	charts/hierarchychart.vala \
--	charts/simplechartfactory.vala \
- 	parser/manyrule.vala \
- 	parser/oneofrule.vala \
- 	parser/optionalrule.vala \
-@@ -158,13 +154,24 @@ libvaladoc_la_VALASOURCES = \
- 	highlighter/codetoken.vala \
- 	highlighter/highlighter.vala \
- 	html/basicdoclet.vala \
--	html/htmlchartfactory.vala \
- 	html/linkhelper.vala \
- 	html/cssclassresolver.vala \
- 	html/htmlmarkupwriter.vala \
- 	html/htmlrenderer.vala \
- 	$(NULL)
- 
-+if ENABLE_GRAPHVIZ
-+libvaladoc_la_VALASOURCES += \
-+	charts/chart.vala \
-+	charts/chartfactory.vala \
-+	charts/hierarchychart.vala \
-+	charts/simplechartfactory.vala \
-+	html/htmlchartfactory.vala \
-+	$(NULL)
-+
-+LIBGVC_PKG = --vapidir $(top_srcdir)/vapi --pkg libgvc
-+endif
-+
- libvaladoc@PACKAGE_SUFFIX@_la_SOURCES = \
- 	libvaladoc.vala.stamp \
- 	$(libvaladoc_la_VALASOURCES:.vala=.c) \
-@@ -184,11 +191,11 @@ libvaladoc.vala.stamp: $(libvaladoc_la_VALASOURCES)
- 		--library valadoc \
- 		--vapi valadoc@PACKAGE_SUFFIX@.vapi \
- 		--vapidir $(top_srcdir)/vapi --pkg gmodule-2.0 \
--		--vapidir $(top_srcdir)/vapi --pkg libgvc \
- 		--vapidir $(top_srcdir)/gee --pkg gee \
- 		--vapidir $(top_srcdir)/vala --pkg vala \
- 		--vapidir $(top_srcdir)/ccode --pkg ccode \
- 		--vapidir $(top_srcdir)/codegen --pkg codegen \
-+		$(LIBGVC_PKG) \
- 		--pkg config \
- 		$(filter %.vala %.c,$^)
- 	touch $@
-@@ -217,6 +224,9 @@ nodist_pkgconfig_DATA = valadoc@PACKAGE_SUFFIX@.pc
- 
- valadoc@PACKAGE_SUFFIX@.pc: valadoc.pc
- 	cp $< $@
-+if !ENABLE_GRAPHVIZ
-+	sed -i "s/libgvc //g" $@
-+endif
- 
- vapidir = $(datadir)/vala/vapi
- dist_vapi_DATA = valadoc@PACKAGE_SUFFIX@.vapi
-@@ -224,6 +234,9 @@ nodist_vapi_DATA = valadoc@PACKAGE_SUFFIX@.deps
- 
- valadoc@PACKAGE_SUFFIX@.deps: valadoc.deps
- 	cp $< $@
-+if !ENABLE_GRAPHVIZ
-+	sed -i "s/libgvc//g" $@
-+endif
- 
- EXTRA_DIST = \
- 	$(libvaladoc_la_VALASOURCES) \
-diff --git a/libvaladoc/html/basicdoclet.vala b/libvaladoc/html/basicdoclet.vala
-index 192e488..ec09602 100644
---- a/libvaladoc/html/basicdoclet.vala
-+++ b/libvaladoc/html/basicdoclet.vala
-@@ -46,7 +46,11 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
- 	protected HtmlRenderer _renderer;
- 	protected Html.MarkupWriter writer;
- 	protected Html.CssClassResolver cssresolver;
-+#if HAVE_GRAPHVIZ
- 	protected Charts.Factory image_factory;
-+#else
-+	protected void* image_factory;
-+#endif
- 	protected ErrorReporter reporter;
- 	protected string package_list_link = "../index.html";
- 
-@@ -120,7 +124,9 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
- 		this.linker = new LinkHelper ();
- 
- 		_renderer = new HtmlRenderer (settings, this.linker, this.cssresolver);
-+#if HAVE_GRAPHVIZ
- 		this.image_factory = new SimpleChartFactory (settings, linker);
-+#endif
- 	}
- 
- 
-@@ -1026,6 +1032,7 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
- 	}
- 
- 	protected void write_image_block (Api.Node element) {
-+#if HAVE_GRAPHVIZ
- 		if (element is Class || element is Interface || element is Struct) {
- 			unowned string format = (settings.use_svg_images ? "svg" : "png");
- 			var chart = new Charts.Hierarchy (image_factory, element);
-@@ -1045,6 +1052,7 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
- 									   this.get_img_path_html (element, format)});
- 			writer.add_usemap (chart);
- 		}
-+#endif
- 	}
- 
- 	public void write_namespace_content (Namespace node, Api.Node? parent) {
-diff --git a/libvaladoc/html/htmlmarkupwriter.vala b/libvaladoc/html/htmlmarkupwriter.vala
-index 5aa4afd..e79b0b8 100644
---- a/libvaladoc/html/htmlmarkupwriter.vala
-+++ b/libvaladoc/html/htmlmarkupwriter.vala
-@@ -51,12 +51,16 @@ public class Valadoc.Html.MarkupWriter : Valadoc.MarkupWriter {
- 		}
- 	}
- 
-+#if HAVE_GRAPHVIZ
- 	public unowned MarkupWriter add_usemap (Charts.Chart chart) {
- 		string? buf = (string?) chart.write_buffer ("cmapx");
- 		if (buf != null) {
- 			raw_text ("\n");
- 			raw_text ((!) buf);
- 		}
-+#else
-+	public unowned MarkupWriter add_usemap (void* chart) {
-+#endif
- 
- 		return this;
- 	}
diff --git a/poky/meta/recipes-devtools/vala/vala_0.42.5.bb b/poky/meta/recipes-devtools/vala/vala_0.42.5.bb
deleted file mode 100644
index eea1766..0000000
--- a/poky/meta/recipes-devtools/vala/vala_0.42.5.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI += " file://0001-git-version-gen-don-t-append-dirty-if-we-re-not-in-g.patch \
-             file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch \
-	     file://disable-graphviz.patch \
-	     file://0001-Disable-valadoc.patch \
-"
-
-SRC_URI[md5sum] = "d204eb4fa210995e731e2a9a01c8c772"
-SRC_URI[sha256sum] = "8c33b4abc0573d364781bbfe54a1668ed34956902e471191a31cf05dc87c6e12"
diff --git a/poky/meta/recipes-devtools/vala/vala_0.44.3.bb b/poky/meta/recipes-devtools/vala/vala_0.44.3.bb
new file mode 100644
index 0000000..fe6a5fc
--- /dev/null
+++ b/poky/meta/recipes-devtools/vala/vala_0.44.3.bb
@@ -0,0 +1,8 @@
+require ${BPN}.inc
+
+SRC_URI += "file://0001-git-version-gen-don-t-append-dirty-if-we-re-not-in-g.patch \
+           file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch \
+           "
+
+SRC_URI[md5sum] = "25f97c1b46ae0b60b5cc49cbc044eca2"
+SRC_URI[sha256sum] = "8553b422484af88be1685d8b47f7b0df36ae4477c3e77e89ab22276ffed1eae9"
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-Fix-dependencies-between-libcoregrind-.a-and-m_main..patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-Fix-dependencies-between-libcoregrind-.a-and-m_main..patch
deleted file mode 100644
index bedf1c1..0000000
--- a/poky/meta/recipes-devtools/valgrind/valgrind/0001-Fix-dependencies-between-libcoregrind-.a-and-m_main..patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 7820fc268fae4353118b6355f1d4b9e1b7eeebec Mon Sep 17 00:00:00 2001
-From: Philippe Waroquiers <philippe.waroquiers@skynet.be>
-Date: Sun, 28 Oct 2018 18:35:11 +0100
-Subject: [PATCH] Fix dependencies between libcoregrind*.a and
- *m_main.o/*m_libcsetjmp.o
-
-The primary and secondary coregrind libraries must be updated
-when m_main.c or m_libcsetjmp.c are changed.
-
-A dependency was missing between libcoregrind*.a and libnolto_coregrind*.a,
-and so tools were not relinked when m_main.c or m_libcsetjmp.c were
-changed.
-
-Upstream-Status: Backport[git://sourceware.org/git/valgrind.git 7820fc268fae4353118b6355f1d4b9e1b7eeebec]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- coregrind/Makefile.am | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/coregrind/Makefile.am b/coregrind/Makefile.am
-index 914a270..8de1996 100644
---- a/coregrind/Makefile.am
-+++ b/coregrind/Makefile.am
-@@ -511,6 +511,8 @@ libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS += \
- endif
- libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_LIBADD = \
-     $(libnolto_coregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_OBJECTS)
-+libcoregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_DEPENDENCIES = \
-+    libnolto_coregrind-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a
- 
- if VGCONF_HAVE_PLATFORM_SEC
- libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_SOURCES = \
-@@ -531,6 +533,8 @@ libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS += \
- endif
- libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_LIBADD = \
-     $(libnolto_coregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_OBJECTS)
-+libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_DEPENDENCIES = \
-+    libnolto_coregrind-@VGCONF_ARCH_SEC@-@VGCONF_OS@.a
- endif
- 
- #----------------------------------------------------------------------------
--- 
-2.10.2
-
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-Return-a-valid-exit_code-from-vg_regtest.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-Return-a-valid-exit_code-from-vg_regtest.patch
new file mode 100644
index 0000000..e7af5ef
--- /dev/null
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/0001-Return-a-valid-exit_code-from-vg_regtest.patch
@@ -0,0 +1,27 @@
+From 5eebdefd2251803e7d21081745018fcb16b2ba71 Mon Sep 17 00:00:00 2001
+From: Randy MacLeod <Randy.MacLeod@windriver.com>
+Date: Wed, 8 May 2019 20:16:52 -0400
+Subject: [PATCH] Return a valid exit_code from vg_regtest
+
+Upstream-Status: Pending
+
+Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
+---
+ tests/vg_regtest.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tests/vg_regtest.in b/tests/vg_regtest.in
+index 909af3be8..f2799c4e3 100755
+--- a/tests/vg_regtest.in
++++ b/tests/vg_regtest.in
+@@ -403,6 +403,7 @@ sub mysystem($)
+             exit 1;
+         }
+     }
++    return $exit_code;
+ }
+ # if $keepunfiltered, copies $1 to $1.unfiltered.out
+ # renames $0 tp $1
+-- 
+2.17.0
+
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-tests-amd64-Do-not-clobber-rsp-register.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-tests-amd64-Do-not-clobber-rsp-register.patch
deleted file mode 100644
index 657f803..0000000
--- a/poky/meta/recipes-devtools/valgrind/valgrind/0001-tests-amd64-Do-not-clobber-rsp-register.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 8c1ebb564f5eca2baeedc27a703200786d1abb0b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 22 Dec 2018 15:28:40 -0800
-Subject: [PATCH] tests/amd64: Do not clobber %rsp register
-
-This is seen with gcc-9.0 compiler now which is fix that gcc community
-did recently
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52813
-
-Upstream-Status: Submitted [https://bugs.kde.org/show_bug.cgi?id=402480]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- none/tests/amd64-linux/bug345887.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/none/tests/amd64-linux/bug345887.c b/none/tests/amd64-linux/bug345887.c
-index 0f9237d..4b07fe1 100644
---- a/none/tests/amd64-linux/bug345887.c
-+++ b/none/tests/amd64-linux/bug345887.c
-@@ -20,13 +20,14 @@ static void inner(void)
-       "movq $0x10d, %%r14\n"
-       "movq $0x10e, %%r15\n"
-       // not %rbp as mdb is then not able to reconstruct stack trace
--      "movq $0x10f, %%rsp\n"
-+      // not %rsp since gcc ignores it and since gcc >= 9.0 errors about it
-+      // see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52813
-       "movq $0x1234, (%%rax)\n"  // should cause SEGV here
-       "ud2"                      // should never get here
-       : // no output registers
-       : // no input registers
-       : "memory", "%rax", "%rbx", "%rcx", "%rdx", "%rsi", "%rdi",
--        "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15", "%rsp");
-+        "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15");
- }
- 
- __attribute__((noinline))
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-valgrind-filter_xml_frames-do-not-filter-usr.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-valgrind-filter_xml_frames-do-not-filter-usr.patch
new file mode 100644
index 0000000..bf0f0de
--- /dev/null
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/0001-valgrind-filter_xml_frames-do-not-filter-usr.patch
@@ -0,0 +1,39 @@
+From d1dea3c2bcf1e22baab39e2c0b8ca59db8a5bc37 Mon Sep 17 00:00:00 2001
+From: Randy MacLeod <Randy.MacLeod@windriver.com>
+Date: Mon, 13 May 2019 17:12:21 -0400
+Subject: [PATCH 1/2] valgrind: filter_xml_frames: do not filter /usr
+
+filter_xml_frames is intended to filter system paths under
+'/usr' that vary from platform to platform. In the ptest case
+for Yocto's valgrind, the ptest executables are placed under:
+   /usr/lib/valgrind/ptest
+and if these frames are filtered out, then the 'drd' tests fail
+the comparision between exepected and actual output.
+
+Changing this filter allows the comparison to succeed without
+any negative impact.
+
+Upstream-Status: Inappropriate [Yocto specific]
+
+Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
+---
+ tests/filter_xml_frames | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/tests/filter_xml_frames b/tests/filter_xml_frames
+index f1fa3f070..04fbc82de 100755
+--- a/tests/filter_xml_frames
++++ b/tests/filter_xml_frames
+@@ -47,7 +47,8 @@ while (my $line = <>)
+         $has_function_name = 1 if ($line =~ /<fn>/);
+ # This may require tweaking; currently  /lib and /usr/lib are matched
+         $has_system_obj = 1 if ($line =~ /<obj>\/lib/);
+-        $has_system_obj = 1 if ($line =~ /<obj>\/usr\/lib/);
++# for Yocto, skip /usr since tests are under /usr/lib/...
++#        $has_system_obj = 1 if ($line =~ /<obj>\/usr\/lib/);
+     }
+ }
+ 
+-- 
+2.17.0
+
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0002-valgrind-adjust-std_list-expected-output.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0002-valgrind-adjust-std_list-expected-output.patch
new file mode 100644
index 0000000..a82972e
--- /dev/null
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/0002-valgrind-adjust-std_list-expected-output.patch
@@ -0,0 +1,32 @@
+From 6e1e9265b03cf51d09c028d657fe826d7156a783 Mon Sep 17 00:00:00 2001
+From: Randy MacLeod <Randy.MacLeod@windriver.com>
+Date: Mon, 13 May 2019 17:26:26 -0400
+Subject: [PATCH 2/2] valgrind: adjust std_list expected output
+
+The run-ptest script uses a custom --yocto-ptest option
+to change the summary statistics that valgrind issues
+to a format that matches what ptest-runner expects.
+
+Only this std_list test which checks that strcpy() works
+properly on Ubuntu-12.04 and later is affected by this change.
+It's normal output when called with --yocto-ptest is a blank
+line so adjust the expected output.
+
+Upstream-Status: Inappropriate [Yocto specific]
+
+Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
+---
+ drd/tests/std_list.stderr.exp | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/drd/tests/std_list.stderr.exp b/drd/tests/std_list.stderr.exp
+index d18786f80..8b1378917 100644
+--- a/drd/tests/std_list.stderr.exp
++++ b/drd/tests/std_list.stderr.exp
+@@ -1,3 +1 @@
+ 
+-
+-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
+-- 
+2.17.0
+
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind_3.14.0.bb b/poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb
similarity index 79%
rename from poky/meta/recipes-devtools/valgrind/valgrind_3.14.0.bb
rename to poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb
index db1bd9f..ae3498f 100644
--- a/poky/meta/recipes-devtools/valgrind/valgrind_3.14.0.bb
+++ b/poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb
@@ -12,7 +12,7 @@
            ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'boost', '', d)} \
         "
 
-SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \
+SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \
            file://fixed-perl-path.patch \
            file://Added-support-for-PPC-instructions-mfatbu-mfatbl.patch \
            file://run-ptest \
@@ -36,11 +36,12 @@
            file://0001-fix-opcode-not-supported-on-mips32-linux.patch \
            file://0001-Guard-against-__GLIBC_PREREQ-for-musl-libc.patch \
            file://0001-Make-local-functions-static-to-avoid-assembler-error.patch \
-           file://0001-tests-amd64-Do-not-clobber-rsp-register.patch \
-           file://0001-Fix-dependencies-between-libcoregrind-.a-and-m_main..patch \
+           file://0001-Return-a-valid-exit_code-from-vg_regtest.patch \
+           file://0001-valgrind-filter_xml_frames-do-not-filter-usr.patch \
+           file://0002-valgrind-adjust-std_list-expected-output.patch \
            "
-SRC_URI[md5sum] = "74175426afa280184b62591b58c671b3"
-SRC_URI[sha256sum] = "037c11bfefd477cc6e9ebe8f193bb237fe397f7ce791b4a4ce3fa1c6a520baa5"
+SRC_URI[md5sum] = "46e5fbdcbc3502a5976a317a0860a975"
+SRC_URI[sha256sum] = "417c7a9da8f60dd05698b3a7bc6002e4ef996f14c13f0ff96679a16873e78ab1"
 UPSTREAM_CHECK_REGEX = "valgrind-(?P<pver>\d+(\.\d+)+)\.tar"
 
 COMPATIBLE_HOST = '(i.86|x86_64|arm|aarch64|mips|powerpc|powerpc64).*-linux'
@@ -109,12 +110,13 @@
 # redirect functions like strlen.
 RRECOMMENDS_${PN} += "${TCLIBC}-dbg"
 
-RDEPENDS_${PN}-ptest += " sed perl perl-module-file-glob"
+RDEPENDS_${PN}-ptest += " sed perl perl-module-file-glob ${PN}-dbg"
 RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils"
 
 # One of the tests contains a bogus interpreter path on purpose.
 # Skip file dependency check
 SKIP_FILEDEPS_${PN}-ptest = '1'
+INSANE_SKIP_${PN}-ptest = "debug-deps"
 
 do_compile_ptest() {
     oe_runmake check
@@ -136,7 +138,17 @@
         # exclude shell or the package won't install
         rm -rf none/tests/shell* 2>/dev/null
 
-        subdirs="tests cachegrind/tests callgrind/tests drd/tests helgrind/tests massif/tests memcheck/tests none/tests"
+        subdirs=" \
+	   cachegrind/tests \
+	   callgrind/tests \
+	   drd/tests \
+	   gdbserver_tests \
+	   helgrind/tests \
+	   massif/tests \
+	   memcheck/tests \
+	   none/tests \
+	   tests \
+	"
 
         # Get the vg test scripts, filters, and expected files
         for dir in $subdirs ; do
@@ -145,6 +157,8 @@
         cd $saved_dir
     done
 
+    # Hide then restore a.c that is used by ann[12].vgtest in call/cachegrind
+    mv ${D}${PTEST_PATH}/cachegrind/tests/a.c ${D}${PTEST_PATH}/cachegrind/tests/a_c
     # clean out build artifacts before building the rpm
     find ${D}${PTEST_PATH} \
          \( -name "Makefile*" \
@@ -153,6 +167,14 @@
         -o -name "*.S" \
         -o -name "*.h" \) \
         -exec rm {} \;
+    mv ${D}${PTEST_PATH}/cachegrind/tests/a_c ${D}${PTEST_PATH}/cachegrind/tests/a.c
+
+    # find *_annotate in ${bindir} for yocto build
+    sed -i s:\.\./\.\./cachegrind/cg_annotate:${bindir}/cg_annotate: ${D}${PTEST_PATH}/cachegrind/tests/ann1.vgtest
+    sed -i s:\.\./\.\./cachegrind/cg_annotate:${bindir}/cg_annotate: ${D}${PTEST_PATH}/cachegrind/tests/ann2.vgtest
+
+    sed -i s:\.\./\.\./callgrind/callgrind_annotate:${bindir}/callgrind_annotate: ${D}${PTEST_PATH}/callgrind/tests/ann1.vgtest
+    sed -i s:\.\./\.\./callgrind/callgrind_annotate:${bindir}/callgrind_annotate: ${D}${PTEST_PATH}/callgrind/tests/ann2.vgtest
 
     # needed by massif tests
     cp ${B}/massif/ms_print ${D}${PTEST_PATH}/massif/ms_print
diff --git a/poky/meta/recipes-extended/acpica/acpica_20180508.bb b/poky/meta/recipes-extended/acpica/acpica_20180508.bb
deleted file mode 100644
index b5c89fa..0000000
--- a/poky/meta/recipes-extended/acpica/acpica_20180508.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-SUMMARY = "ACPICA tools for the development and debug of ACPI tables"
-DESCRIPTION = "The ACPI Component Architecture (ACPICA) project provides an \
-OS-independent reference implementation of the Advanced Configuration and \
-Power Interface Specification (ACPI). ACPICA code contains those portions of \
-ACPI meant to be directly integrated into the host OS as a kernel-resident \
-subsystem, and a small set of tools to assist in developing and debugging \
-ACPI tables."
-
-HOMEPAGE = "http://www.acpica.org/"
-SECTION = "console/tools"
-
-LICENSE = "BSD | GPLv2"
-LIC_FILES_CHKSUM = "file://generate/unix/readme.txt;md5=204407e197c1a01154a48f6c6280c3aa"
-
-COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
-
-DEPENDS = "bison flex bison-native"
-
-SRC_URI = "https://acpica.org/sites/acpica/files/acpica-unix2-${PV}.tar.gz \
-           file://rename-yy_scan_string-manually.patch \
-           file://manipulate-fds-instead-of-FILE.patch \
-           "
-SRC_URI[md5sum] = "31691e2eb82b2064f78536a3423c18d6"
-SRC_URI[sha256sum] = "5d8fc9d9db9e04830d40bec9add04b21c05d466e0187d354815006fdd823cf15"
-UPSTREAM_CHECK_URI = "https://acpica.org/downloads"
-
-S = "${WORKDIR}/acpica-unix2-${PV}"
-
-inherit update-alternatives
-
-ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "acpixtract"
-
-EXTRA_OEMAKE = "CC='${CC}' 'OPT_CFLAGS=-Wall'"
-
-do_install() {
-    install -D -p -m0755 generate/unix/bin*/iasl ${D}${bindir}/iasl
-    install -D -p -m0755 generate/unix/bin*/acpibin ${D}${bindir}/acpibin
-    install -D -p -m0755 generate/unix/bin*/acpiexec ${D}${bindir}/acpiexec
-    install -D -p -m0755 generate/unix/bin*/acpihelp ${D}${bindir}/acpihelp
-    install -D -p -m0755 generate/unix/bin*/acpinames ${D}${bindir}/acpinames
-    install -D -p -m0755 generate/unix/bin*/acpisrc ${D}${bindir}/acpisrc
-    install -D -p -m0755 generate/unix/bin*/acpixtract ${D}${bindir}/acpixtract
-}
-
-# iasl*.bb is a subset of this recipe, so RREPLACE it
-PROVIDES = "iasl"
-RPROVIDES_${PN} += "iasl"
-RREPLACES_${PN} += "iasl"
-RCONFLICTS_${PN} += "iasl"
-
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-extended/acpica/acpica_20190405.bb b/poky/meta/recipes-extended/acpica/acpica_20190405.bb
new file mode 100644
index 0000000..25ad7ce
--- /dev/null
+++ b/poky/meta/recipes-extended/acpica/acpica_20190405.bb
@@ -0,0 +1,49 @@
+SUMMARY = "ACPICA tools for the development and debug of ACPI tables"
+DESCRIPTION = "The ACPI Component Architecture (ACPICA) project provides an \
+OS-independent reference implementation of the Advanced Configuration and \
+Power Interface Specification (ACPI). ACPICA code contains those portions of \
+ACPI meant to be directly integrated into the host OS as a kernel-resident \
+subsystem, and a small set of tools to assist in developing and debugging \
+ACPI tables."
+
+HOMEPAGE = "http://www.acpica.org/"
+SECTION = "console/tools"
+
+LICENSE = "BSD | GPLv2"
+LIC_FILES_CHKSUM = "file://generate/unix/readme.txt;md5=204407e197c1a01154a48f6c6280c3aa"
+
+COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
+
+DEPENDS = "bison flex bison-native"
+
+SRC_URI = "https://acpica.org/sites/acpica/files/acpica-unix2-${PV}.tar.gz"
+SRC_URI[md5sum] = "9ee30c8ff3012e213bc3b21a9d632215"
+SRC_URI[sha256sum] = "7e144fd011c23a0a10be0b0d7448c527a4c0f621f1f835a271636e448bc96643"
+UPSTREAM_CHECK_URI = "https://acpica.org/downloads"
+
+S = "${WORKDIR}/acpica-unix2-${PV}"
+
+inherit update-alternatives
+
+ALTERNATIVE_PRIORITY = "100"
+ALTERNATIVE_${PN} = "acpixtract acpidump"
+
+EXTRA_OEMAKE = "CC='${CC}' \
+                OPT_CFLAGS=-Wall \
+                DESTDIR=${D} \
+                PREFIX=${prefix} \
+                INSTALLDIR=${bindir} \
+                INSTALLFLAGS= \
+                "
+
+do_install() {
+    oe_runmake install
+}
+
+# iasl*.bb is a subset of this recipe, so RREPLACE it
+PROVIDES = "iasl"
+RPROVIDES_${PN} += "iasl"
+RREPLACES_${PN} += "iasl"
+RCONFLICTS_${PN} += "iasl"
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-extended/acpica/files/manipulate-fds-instead-of-FILE.patch b/poky/meta/recipes-extended/acpica/files/manipulate-fds-instead-of-FILE.patch
deleted file mode 100644
index d8b5f9a..0000000
--- a/poky/meta/recipes-extended/acpica/files/manipulate-fds-instead-of-FILE.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 540d80469e6a7dce6baf7214df90e86daffc5175 Mon Sep 17 00:00:00 2001
-From: Fan Xin <fan.xin@jp.fujitsu.com>
-Date: Mon, 5 Jun 2017 13:26:38 +0900
-Subject: [PATCH] aslfiles.c: manipulate fds instead of FILE
-
-Copying what stdout/stderr point to is not portable and fails with
-musl because FILE is an undefined struct.
-
-Instead, use lower-level Unix functions to modify the file that stderr
-writes into. This works on the platforms that Yocto targets.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
-
-Rebase on acpica 20170303
-
-Signed-off-by: Fan Xin <fan.xin@jp.fujitsu.com>
-
----
- source/compiler/aslfiles.c | 15 ++++++++++++---
- 1 file changed, 12 insertions(+), 3 deletions(-)
-
-diff --git a/source/compiler/aslfiles.c b/source/compiler/aslfiles.c
-index 82865db..cc072dc 100644
---- a/source/compiler/aslfiles.c
-+++ b/source/compiler/aslfiles.c
-@@ -43,6 +43,11 @@
- 
- #include "aslcompiler.h"
- #include "acapps.h"
-+#include "dtcompiler.h"
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+#include <fcntl.h>
-+#include <unistd.h>
- 
- #define _COMPONENT          ACPI_COMPILER
-         ACPI_MODULE_NAME    ("aslfiles")
-@@ -606,6 +611,8 @@ FlOpenMiscOutputFiles (
- 
-     if (Gbl_DebugFlag)
-     {
-+	int fd;
-+
-         Filename = FlGenerateFilename (FilenamePrefix, FILE_SUFFIX_DEBUG);
-         if (!Filename)
-         {
-@@ -617,10 +624,10 @@ FlOpenMiscOutputFiles (
-         /* Open the debug file as STDERR, text mode */
- 
-         Gbl_Files[ASL_FILE_DEBUG_OUTPUT].Filename = Filename;
--        Gbl_Files[ASL_FILE_DEBUG_OUTPUT].Handle =
--            freopen (Filename, "w+t", stderr);
- 
--        if (!Gbl_Files[ASL_FILE_DEBUG_OUTPUT].Handle)
-+        fd = open(Filename, O_CREAT|O_TRUNC, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH);
-+        if (fd < 0 ||
-+            dup2(fd, fileno(stderr)))
-         {
-             /*
-              * A problem with freopen is that on error, we no longer
-@@ -634,6 +641,8 @@ FlOpenMiscOutputFiles (
-             exit (1);
-         }
- 
-+        Gbl_Files[ASL_FILE_DEBUG_OUTPUT].Handle = stderr;
-+
-         AslCompilerSignon (ASL_FILE_DEBUG_OUTPUT);
-         AslCompilerFileHeader (ASL_FILE_DEBUG_OUTPUT);
-     }
diff --git a/poky/meta/recipes-extended/acpica/files/rename-yy_scan_string-manually.patch b/poky/meta/recipes-extended/acpica/files/rename-yy_scan_string-manually.patch
deleted file mode 100644
index b62ca25..0000000
--- a/poky/meta/recipes-extended/acpica/files/rename-yy_scan_string-manually.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 2ab61e6ad5a9cfcde838379bc36babfaaa61afb8 Mon Sep 17 00:00:00 2001
-From: Patrick Ohly <patrick.ohly@intel.com>
-Date: Fri, 20 Jan 2017 13:50:17 +0100
-Subject: [PATCH] rename yy_scan_string manually
-
-flex 2.6.0 used to generate code where yy_scan_string was mapped
-to <custom prefix>_scan_string directly in the generated .c code.
-
-For example, generate/unix/iasl/obj/prparserlex.c:
-
-int
-PrInitLexer (
-    char                    *String)
-{
-
-    LexBuffer = PrParser_scan_string (String);
-    return (LexBuffer == NULL);
-}
-
-flex 2.6.3 no longer does that, leading to a compiler warning
-and link error about yy_scan_string().
-
-Both versions generate a preamble in the beginning of prparserlex.c
-that maps several yy_* names, but yy_scan_string is not among those:
-
-...
-...
-
-Upstream-Status: Inappropriate [workaround for https://github.com/westes/flex/issues/164]
-Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
----
- source/compiler/dtparser.l | 2 +-
- source/compiler/prparser.l | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/source/compiler/dtparser.l b/source/compiler/dtparser.l
-index 3f4c2f3..eaa43ff 100644
---- a/source/compiler/dtparser.l
-+++ b/source/compiler/dtparser.l
-@@ -120,7 +120,7 @@ DtInitLexer (
-     char                    *String)
- {
- 
--    LexBuffer = yy_scan_string (String);
-+    LexBuffer = DtParser_scan_string (String);
-     return (LexBuffer == NULL);
- }
- 
-diff --git a/source/compiler/prparser.l b/source/compiler/prparser.l
-index 10bd130..9cb3573 100644
---- a/source/compiler/prparser.l
-+++ b/source/compiler/prparser.l
-@@ -127,7 +127,7 @@ PrInitLexer (
-     char                    *String)
- {
- 
--    LexBuffer = yy_scan_string (String);
-+    LexBuffer = PrParser_scan_string (String);
-     return (LexBuffer == NULL);
- }
- 
--- 
-2.11.0
-
diff --git a/poky/meta/recipes-extended/bash/bash/0001-help-fix-printf-format-security-warning.patch b/poky/meta/recipes-extended/bash/bash/0001-help-fix-printf-format-security-warning.patch
deleted file mode 100644
index 5405c84..0000000
--- a/poky/meta/recipes-extended/bash/bash/0001-help-fix-printf-format-security-warning.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From e5837a42f8f48a6a721805ff8f7fcd32861d09ca Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <adraszik@tycoint.com>
-Date: Tue, 26 Jul 2016 13:09:47 +0100
-Subject: [PATCH] help: fix printf() format security warning
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-| ../../bash-4.3.30/builtins/../../bash-4.3.30/builtins/help.def: In function 'help_builtin':
-| ../../bash-4.3.30/builtins/../../bash-4.3.30/builtins/help.def:130:7: error: format not a string literal and no format arguments [-Werror=format-security]
-|        printf (ngettext ("Shell commands matching keyword `", "Shell commands matching keywords `", (list->next ? 2 : 1)));
-|        ^~~~~~
-
-Signed-off-by: André Draszik <adraszik@tycoint.com>
----
-Upstream-Status: Pending
- builtins/help.def | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/builtins/help.def b/builtins/help.def
-index 1894f17..cf624c6 100644
---- a/builtins/help.def
-+++ b/builtins/help.def
-@@ -127,7 +127,7 @@ help_builtin (list)
- 
-   if (glob_pattern_p (list->word->word))
-     {
--      printf (ngettext ("Shell commands matching keyword `", "Shell commands matching keywords `", (list->next ? 2 : 1)));
-+      printf ("%s", ngettext ("Shell commands matching keyword `", "Shell commands matching keywords `", (list->next ? 2 : 1)));
-       print_word_list (list, ", ");
-       printf ("'\n\n");
-     }
--- 
-2.8.1
-
diff --git a/poky/meta/recipes-extended/bash/bash/build-tests.patch b/poky/meta/recipes-extended/bash/bash/build-tests.patch
index 73a81b6..5f2dae9 100644
--- a/poky/meta/recipes-extended/bash/bash/build-tests.patch
+++ b/poky/meta/recipes-extended/bash/bash/build-tests.patch
@@ -2,15 +2,18 @@
 
 Upstream-Status: Pending
 Signed-off-by: Anders Roxell <anders.roxell@enea.com>
+
+Rebase to 5.0
 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
 ---
  Makefile.in | 24 +++++++++++++++++++-----
  1 file changed, 19 insertions(+), 5 deletions(-)
 
 diff --git a/Makefile.in b/Makefile.in
+index 5fcb44b..de1c255 100644
 --- a/Makefile.in
 +++ b/Makefile.in
-@@ -848,20 +848,34 @@ maybe-clean:
+@@ -932,20 +932,34 @@ maybe-clean:
  	fi
  
  recho$(EXEEXT):		$(SUPPORT_SRC)recho.c
@@ -51,5 +54,5 @@
  		PATH=$(BUILD_DIR)/tests:$$PATH THIS_SH=$(THIS_SH) $(SHELL) ${TESTSCRIPT} )
  
 -- 
-1.8.1.2
+2.7.4
 
diff --git a/poky/meta/recipes-extended/bash/bash/execute_cmd.patch b/poky/meta/recipes-extended/bash/bash/execute_cmd.patch
index 9970b4d..7a9e9a9 100644
--- a/poky/meta/recipes-extended/bash/bash/execute_cmd.patch
+++ b/poky/meta/recipes-extended/bash/bash/execute_cmd.patch
@@ -1,10 +1,16 @@
 Upstream-Status: Inappropriate [embedded specific]
 
-Index: execute_cmd.c
-===================================================================
---- execute_cmd.c.orig
-+++ execute_cmd.c
-@@ -2459,7 +2459,11 @@ execute_pipeline (command, asynchronous,
+Rebase to 5.0
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ execute_cmd.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/execute_cmd.c b/execute_cmd.c
+index f1d74bf..31674b4 100644
+--- a/execute_cmd.c
++++ b/execute_cmd.c
+@@ -2567,7 +2567,11 @@ execute_pipeline (command, asynchronous, pipe_in, pipe_out, fds_to_close)
    /* If the `lastpipe' option is set with shopt, and job control is not
       enabled, execute the last element of non-async pipelines in the
       current shell environment. */
@@ -17,3 +23,6 @@
      {
        lstdin = move_to_high_fd (0, 1, -1);
        if (lstdin > 0)
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-extended/bash/bash/pathexp-dep.patch b/poky/meta/recipes-extended/bash/bash/pathexp-dep.patch
deleted file mode 100644
index e05bbda..0000000
--- a/poky/meta/recipes-extended/bash/bash/pathexp-dep.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-pathexp includes libintl.h but doesn't depend on it, thus a build race can occur.
-
-Upstream-Status: Submitted (https://savannah.gnu.org/patch/index.php?9503)
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff --git a/Makefile.in b/Makefile.in
-index c7b62bc0..241cbf12 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -1281,2 +1281,3 @@ nojobs.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
- y.tab.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-+pathexp.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
- pcomplete.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
diff --git a/poky/meta/recipes-extended/bash/bash_4.4.18.bb b/poky/meta/recipes-extended/bash/bash_4.4.18.bb
deleted file mode 100644
index 8fa0978..0000000
--- a/poky/meta/recipes-extended/bash/bash_4.4.18.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-require bash.inc
-
-# GPLv2+ (< 4.0), GPLv3+ (>= 4.0)
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \
-           ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-019;apply=yes;striplevel=0;name=patch019 \
-           ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-020;apply=yes;striplevel=0;name=patch020 \
-           ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-021;apply=yes;striplevel=0;name=patch021 \
-           ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-022;apply=yes;striplevel=0;name=patch022 \
-           ${GNU_MIRROR}/bash/bash-4.4-patches/bash44-023;apply=yes;striplevel=0;name=patch023 \
-           file://execute_cmd.patch;striplevel=0 \
-           file://mkbuiltins_have_stringize.patch \
-           file://build-tests.patch \
-           file://test-output.patch \
-           file://fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch \
-           file://run-ptest \
-           file://fix-run-builtins.patch \
-           file://0001-help-fix-printf-format-security-warning.patch \
-           file://pathexp-dep.patch \
-           "
-
-SRC_URI[tarball.md5sum] = "518e2c187cc11a17040f0915dddce54e"
-SRC_URI[tarball.sha256sum] = "604d9eec5e4ed5fd2180ee44dd756ddca92e0b6aa4217bbab2b6227380317f23"
-
-SRC_URI[patch019.md5sum] = "8f43e1d277b02f3319a34c1cd4a4ff3e"
-SRC_URI[patch019.sha256sum] = "27170d6edfe8819835407fdc08b401d2e161b1400fe9d0c5317a51104c89c11e"
-SRC_URI[patch020.md5sum] = "5217ff08c444446ec306dce60437c288"
-SRC_URI[patch020.sha256sum] = "1840e2cbf26ba822913662f74037594ed562361485390c52813b38156c99522c"
-SRC_URI[patch021.md5sum] = "282c7d9b38da8005d25b4f816328a2f4"
-SRC_URI[patch021.sha256sum] = "bd8f59054a763ec1c64179ad5cb607f558708a317c2bdb22b814e3da456374c1"
-SRC_URI[patch022.md5sum] = "0b709c9d7f8e6cf267a8b863efb899f7"
-SRC_URI[patch022.sha256sum] = "45331f0936e36ab91bfe44b936e33ed8a1b1848fa896e8a1d0f2ef74f297cb79"
-SRC_URI[patch023.md5sum] = "fe2e0ca4cf9409ff0e9428e1236f983e"
-SRC_URI[patch023.sha256sum] = "4fec236f3fbd3d0c47b893fdfa9122142a474f6ef66c20ffb6c0f4864dd591b6"
-
-DEBUG_OPTIMIZATION_append_armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
-DEBUG_OPTIMIZATION_append_armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
-
-BBCLASSEXTEND = "nativesdk"
diff --git a/poky/meta/recipes-extended/bash/bash_5.0.bb b/poky/meta/recipes-extended/bash/bash_5.0.bb
new file mode 100644
index 0000000..e60e530
--- /dev/null
+++ b/poky/meta/recipes-extended/bash/bash_5.0.bb
@@ -0,0 +1,45 @@
+require bash.inc
+
+# GPLv2+ (< 4.0), GPLv3+ (>= 4.0)
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \
+           ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-001;apply=yes;striplevel=0;name=patch001 \
+           ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-002;apply=yes;striplevel=0;name=patch002 \
+           ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-003;apply=yes;striplevel=0;name=patch003 \
+           ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-004;apply=yes;striplevel=0;name=patch004 \
+           ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-005;apply=yes;striplevel=0;name=patch005 \
+           ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-006;apply=yes;striplevel=0;name=patch006 \
+           ${GNU_MIRROR}/bash/bash-${PV}-patches/bash50-007;apply=yes;striplevel=0;name=patch007 \
+           file://execute_cmd.patch \
+           file://mkbuiltins_have_stringize.patch \
+           file://build-tests.patch \
+           file://test-output.patch \
+           file://fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch \
+           file://run-ptest \
+           file://fix-run-builtins.patch \
+           "
+
+SRC_URI[tarball.md5sum] = "2b44b47b905be16f45709648f671820b"
+SRC_URI[tarball.sha256sum] = "b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d"
+
+SRC_URI[patch001.md5sum] = "b026862ab596a5883bb4f0d1077a3819"
+SRC_URI[patch001.sha256sum] = "f2fe9e1f0faddf14ab9bfa88d450a75e5d028fedafad23b88716bd657c737289"
+SRC_URI[patch002.md5sum] = "2f4a7787365790ae57f36b311701ea7e"
+SRC_URI[patch002.sha256sum] = "87e87d3542e598799adb3e7e01c8165bc743e136a400ed0de015845f7ff68707"
+SRC_URI[patch003.md5sum] = "af7f2dd93fd5429fb5e9a642ff74f87d"
+SRC_URI[patch003.sha256sum] = "4eebcdc37b13793a232c5f2f498a5fcbf7da0ecb3da2059391c096db620ec85b"
+SRC_URI[patch004.md5sum] = "b60545b273bfa4e00a760f2c648bed9c"
+SRC_URI[patch004.sha256sum] = "14447ad832add8ecfafdce5384badd933697b559c4688d6b9e3d36ff36c62f08"
+SRC_URI[patch005.md5sum] = "875a0bedf48b74e453e3997c84b5d8a4"
+SRC_URI[patch005.sha256sum] = "5bf54dd9bd2c211d2bfb34a49e2c741f2ed5e338767e9ce9f4d41254bf9f8276"
+SRC_URI[patch006.md5sum] = "4a8ee95adb72c3aba03d9e8c9f96ece6"
+SRC_URI[patch006.sha256sum] = "d68529a6ff201b6ff5915318ab12fc16b8a0ebb77fda3308303fcc1e13398420"
+SRC_URI[patch007.md5sum] = "411560d81fde2dc5b17b83c3f3b58c6f"
+SRC_URI[patch007.sha256sum] = "17b41e7ee3673d8887dd25992417a398677533ab8827938aa41fad70df19af9b"
+
+DEBUG_OPTIMIZATION_append_armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
+DEBUG_OPTIMIZATION_append_armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/poky/meta/recipes-extended/cpio/cpio_2.12.bb b/poky/meta/recipes-extended/cpio/cpio_2.12.bb
index cb845c3..3713bf0 100644
--- a/poky/meta/recipes-extended/cpio/cpio_2.12.bb
+++ b/poky/meta/recipes-extended/cpio/cpio_2.12.bb
@@ -18,7 +18,7 @@
 
 inherit autotools gettext texinfo
 
-EXTRA_OECONF += "DEFAULT_RMT_DIR=${base_sbindir}"
+EXTRA_OECONF += "DEFAULT_RMT_DIR=${sbindir}"
 
 do_install () {
     autotools_do_install
@@ -34,7 +34,7 @@
 
 PACKAGES =+ "${PN}-rmt"
 
-FILES_${PN}-rmt = "${base_sbindir}/rmt*"
+FILES_${PN}-rmt = "${sbindir}/rmt*"
 
 inherit update-alternatives
 
@@ -46,6 +46,6 @@
 ALTERNATIVE_LINK_NAME[cpio] = "${base_bindir}/cpio"
 
 ALTERNATIVE_PRIORITY[rmt] = "50"
-ALTERNATIVE_LINK_NAME[rmt] = "${base_sbindir}/rmt"
+ALTERNATIVE_LINK_NAME[rmt] = "${sbindir}/rmt"
 
 BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-extended/cronie/cronie/crond_pam_config.patch b/poky/meta/recipes-extended/cronie/cronie/crond_pam_config.patch
index 6c92816..c374790 100644
--- a/poky/meta/recipes-extended/cronie/cronie/crond_pam_config.patch
+++ b/poky/meta/recipes-extended/cronie/cronie/crond_pam_config.patch
@@ -4,19 +4,19 @@
 Upstream-Status: Pending
 
 Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
-Index: cronie-1.5.1/pam/crond
-===================================================================
---- cronie-1.5.1.orig/pam/crond
-+++ cronie-1.5.1/pam/crond
+diff --git a/pam/crond b/pam/crond
+index 560529d..95a6457 100644
+--- a/pam/crond
++++ b/pam/crond
 @@ -4,8 +4,8 @@
  #
  # Although no PAM authentication is called, auth modules
  # are used for credential setting
--auth       include    password-auth
+-auth       include    system-auth
 +auth       include    common-auth
  account    required   pam_access.so
--account    include    password-auth
-+account    include    common-account
+-account    include    system-auth
++account    include    common-auth
  session    required   pam_loginuid.so
--session    include    password-auth
+-session    include    system-auth
 +session    include    common-session-noninteractive
diff --git a/poky/meta/recipes-extended/cronie/cronie_1.5.2.bb b/poky/meta/recipes-extended/cronie/cronie_1.5.4.bb
similarity index 93%
rename from poky/meta/recipes-extended/cronie/cronie_1.5.2.bb
rename to poky/meta/recipes-extended/cronie/cronie_1.5.4.bb
index 3abca7f..d35c667 100644
--- a/poky/meta/recipes-extended/cronie/cronie_1.5.2.bb
+++ b/poky/meta/recipes-extended/cronie/cronie_1.5.4.bb
@@ -16,7 +16,7 @@
 
 UPSTREAM_CHECK_URI = "https://github.com/cronie-crond/${BPN}/releases/"
 
-SRC_URI = "https://github.com/cronie-crond/cronie/releases/download/cronie-${PV}/cronie-${PV}.tar.gz \
+SRC_URI = "https://github.com/cronie-crond/cronie/releases/download/cronie-${PV}-final/cronie-${PV}.tar.gz \
            file://crond.init \
            file://crontab \
            file://crond.service \
@@ -25,8 +25,8 @@
 PAM_SRC_URI = "file://crond_pam_config.patch"
 PAM_DEPS = "libpam libpam-runtime pam-plugin-access pam-plugin-loginuid"
 
-SRC_URI[md5sum] = "703314f58a49ea136e9966d3937d9bf4"
-SRC_URI[sha256sum] = "370bf34641691489330e708bd4cdbd779267296a030668a12f77b7e36872fd75"
+SRC_URI[md5sum] = "20233b96997e17a142e1fbe0d7ce8223"
+SRC_URI[sha256sum] = "af8970559cad4262f8ffd7ec72abf682d2dcce04fdfb8f206a71d96566aba882"
 
 inherit autotools update-rc.d useradd systemd
 
diff --git a/poky/meta/recipes-extended/cups/cups_2.2.10.bb b/poky/meta/recipes-extended/cups/cups_2.2.10.bb
deleted file mode 100644
index 490c84e..0000000
--- a/poky/meta/recipes-extended/cups/cups_2.2.10.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require cups.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f212b4338db0da8cb892e94bf2949460"
-
-SRC_URI[md5sum] = "3d22d747403ec5dcd0b66d1332564816"
-SRC_URI[sha256sum] = "77c8b2b3bb7fe8b5fbfffc307f2c817b2d7ec67b657f261a1dd1c61ab81205bb"
diff --git a/poky/meta/recipes-extended/cups/cups_2.2.11.bb b/poky/meta/recipes-extended/cups/cups_2.2.11.bb
new file mode 100644
index 0000000..aeb2e14
--- /dev/null
+++ b/poky/meta/recipes-extended/cups/cups_2.2.11.bb
@@ -0,0 +1,6 @@
+require cups.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f212b4338db0da8cb892e94bf2949460"
+
+SRC_URI[md5sum] = "7afbbcd2497e7d742583c492f6de40cd"
+SRC_URI[sha256sum] = "f58010813fd6903f690cdb0c0b91e4d1bc9e5b9570c28734229ba3ed2908b76c"
diff --git a/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch b/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
index beae5f9..b145188 100644
--- a/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
+++ b/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
@@ -19,7 +19,7 @@
 --- a/configure.ac
 +++ b/configure.ac
 @@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
- AC_INIT(ethtool, 4.19, netdev@vger.kernel.org)
+ AC_INIT(ethtool, 5.0, netdev@vger.kernel.org)
  AC_PREREQ(2.52)
  AC_CONFIG_SRCDIR([ethtool.c])
 -AM_INIT_AUTOMAKE([gnu])
diff --git a/poky/meta/recipes-extended/ethtool/ethtool_4.19.bb b/poky/meta/recipes-extended/ethtool/ethtool_5.0.bb
similarity index 87%
rename from poky/meta/recipes-extended/ethtool/ethtool_4.19.bb
rename to poky/meta/recipes-extended/ethtool/ethtool_5.0.bb
index 74e255c..76cdf9c 100644
--- a/poky/meta/recipes-extended/ethtool/ethtool_4.19.bb
+++ b/poky/meta/recipes-extended/ethtool/ethtool_5.0.bb
@@ -11,8 +11,8 @@
            file://avoid_parallel_tests.patch \
            "
 
-SRC_URI[md5sum] = "a533db1d202724822c4ef297643fac12"
-SRC_URI[sha256sum] = "e8e88f5a79c78e542cd84fee60b67dbf29cee63e4760e8d61544fea74c761ad1"
+SRC_URI[md5sum] = "8998c9eb7e491b0aec420a807ce52ba6"
+SRC_URI[sha256sum] = "cc53a6d4d5643f8993ef20d6b638f88d9035529a9e777e222073c3a5b9237178"
 
 inherit autotools ptest
 RDEPENDS_${PN}-ptest += "make"
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0001.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0001.patch
deleted file mode 100644
index 30ce04a..0000000
--- a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0001.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From ad3ad6b389653722507e588c5cb34d8731e49e89 Mon Sep 17 00:00:00 2001
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Mon, 26 Nov 2018 18:01:25 +0000
-Subject: [PATCH] Have gs_cet.ps run from gs_init.ps
-
-Previously gs_cet.ps was run on the command line, to set up the interpreter
-state so our output more closely matches the example output for the QL CET
-tests.
-
-Allow a -dCETMODE command line switch, which will cause gs_init.ps to run the
-file directly.
-
-This works better for gpdl as it means the changes are made in the intial
-interpreter state, rather than after initialisation is complete.
-
-This also means adding a definition of the default procedure for black
-generation and under color removal (rather it being defined in-line in
-.setdefaultbgucr
-
-Also, add a check so gs_cet.ps only runs once - if we try to run it a second
-time, we'll just skip over the file, flushing through to the end.
-
-CVE: CVE-2019-3835
-Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- Resource/Init/gs_cet.ps  | 11 ++++++++++-
- Resource/Init/gs_init.ps | 13 ++++++++++++-
- 2 files changed, 22 insertions(+), 2 deletions(-)
-
-diff --git a/Resource/Init/gs_cet.ps b/Resource/Init/gs_cet.ps
-index d3e1686..75534bb 100644
---- a/Resource/Init/gs_cet.ps
-+++ b/Resource/Init/gs_cet.ps
-@@ -1,6 +1,11 @@
- %!PS
- % Set defaults for Ghostscript to match Adobe CPSI behaviour for CET
- 
-+systemdict /product get (PhotoPRINT SE 5.0v2) readonly eq
-+{
-+  (%END GS_CET) .skipeof
-+} if
-+
- % do this in the server level so it is persistent across jobs
- //true 0 startjob not {
-   (*** Warning: CET startup is not in server default) = flush
-@@ -25,7 +30,9 @@ currentglobal //true setglobal
- 
- /UNROLLFORMS true def
- 
--{ } bind dup
-+(%.defaultbgrucrproc) cvn { } bind def
-+
-+(%.defaultbgrucrproc) cvn load dup
- setblackgeneration
- setundercolorremoval
- 0 array cvx readonly dup dup dup setcolortransfer
-@@ -109,3 +116,5 @@ userdict /.smoothness currentsmoothness put
- % end of slightly nasty hack to give consistent cluster results
- 
- //false 0 startjob pop		% re-enter encapsulated mode
-+
-+%END GS_CET
-diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps
-index 45bebf4..e6b9cd2 100644
---- a/Resource/Init/gs_init.ps
-+++ b/Resource/Init/gs_init.ps
-@@ -1538,10 +1538,18 @@ setpacking
-   % any-part-of-pixel rule.
-   0.5 .setfilladjust
- } bind def
-+
- % Set the default screen and BG/UCR.
-+% We define the proc here, rather than inline in .setdefaultbgucr
-+% for the benefit of gs_cet.ps so jobs that do anything that causes
-+% .setdefaultbgucr to be called will still get the redefined proc
-+% in gs_cet.ps
-+(%.defaultbgrucrproc) cvn { pop 0 } def
-+
- /.setdefaultbgucr {
-   systemdict /setblackgeneration known {
--    { pop 0 } dup setblackgeneration setundercolorremoval
-+    (%.defaultbgrucrproc) cvn load dup
-+    setblackgeneration setundercolorremoval
-   } if
- } bind def
- /.useloresscreen {	% - .useloresscreen <bool>
-@@ -2491,4 +2499,7 @@ WRITESYSTEMDICT {
- % be 'true' in some cases.
- userdict /AGM_preserve_spots //false put
- 
-+systemdict /CETMODE .knownget
-+{ { (gs_cet.ps) runlibfile } if } if
-+
- % The interpreter will run the initial procedure (start).
--- 
-2.18.1
-
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0002.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0002.patch
deleted file mode 100644
index 590b92e..0000000
--- a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0002.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From ba6dbd6e61dbb3cc6ee6db9dd3a4f70cc18f706e Mon Sep 17 00:00:00 2001
-From: Nancy Durgin <nancy.durgin@artifex.com>
-Date: Thu, 14 Feb 2019 10:09:00 -0800
-Subject: [PATCH] Undef /odef in gs_init.ps
-
-Made a new temporary utility function in gs_cet.ps (.odef) to use instead
-of /odef.  This makes it fine to undef odef with all the other operators in
-gs_init.ps
-
-This punts the bigger question of what to do with .makeoperator, but it
-doesn't make the situation any worse than it already was.
-
-CVE: CVE-2019-3835
-Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- Resource/Init/gs_cet.ps  | 10 ++++++++--
- Resource/Init/gs_init.ps |  1 +
- 2 files changed, 9 insertions(+), 2 deletions(-)
-
-diff --git a/Resource/Init/gs_cet.ps b/Resource/Init/gs_cet.ps
-index 75534bb..dbc5c4e 100644
---- a/Resource/Init/gs_cet.ps
-+++ b/Resource/Init/gs_cet.ps
-@@ -1,6 +1,10 @@
- %!PS
- % Set defaults for Ghostscript to match Adobe CPSI behaviour for CET
- 
-+/.odef {		% <name> <proc> odef -
-+  1 index exch .makeoperator def
-+} bind def
-+
- systemdict /product get (PhotoPRINT SE 5.0v2) readonly eq
- {
-   (%END GS_CET) .skipeof
-@@ -93,8 +97,8 @@ userdict /.smoothness currentsmoothness put
-    } {
-      /setsmoothness .systemvar /typecheck signalerror
-    } ifelse
--} bind odef
--/currentsmoothness { userdict /.smoothness get } bind odef % for 09-55.PS, 09-57.PS .
-+} bind //.odef exec
-+/currentsmoothness { userdict /.smoothness get } bind //.odef exec % for 09-55.PS, 09-57.PS .
- 
- % slightly nasty hack to give consistent cluster results
- /ofnfa systemdict /filenameforall get def
-@@ -113,6 +117,8 @@ userdict /.smoothness currentsmoothness put
-   } ifelse
-   ofnfa
- } bind def
-+
-+currentdict /.odef undef
- % end of slightly nasty hack to give consistent cluster results
- 
- //false 0 startjob pop		% re-enter encapsulated mode
-diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps
-index e6b9cd2..80d9585 100644
---- a/Resource/Init/gs_init.ps
-+++ b/Resource/Init/gs_init.ps
-@@ -2257,6 +2257,7 @@ SAFER { .setsafeglobal } if
-   /.systemvmSFD /.settrapparams /.currentsystemparams /.currentuserparams /.getsystemparam /.getuserparam /.setsystemparams /.setuserparams
-   /.checkpassword /.locale_to_utf8 /.currentglobal /.gcheck /.imagepath /.currentoutputdevice
-   /.type /.writecvs /.setSMask /.currentSMask /.needinput /.countexecstack /.execstack /.applypolicies
-+  /odef
- 
-   % Used by a free user in the Library of Congress. Apparently this is used to
-   % draw a partial page, which is then filled in by the results of a barcode
--- 
-2.18.1
-
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0003.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0003.patch
deleted file mode 100644
index a339fa2..0000000
--- a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0003.patch
+++ /dev/null
@@ -1,295 +0,0 @@
-From 4203e04ef9e6ca22ed68a1ab10a878aa9ceaeedc Mon Sep 17 00:00:00 2001
-From: Ray Johnston <ray.johnston@artifex.com>
-Date: Thu, 14 Feb 2019 10:20:03 -0800
-Subject: [PATCH] Fix bug 700585: Restrict superexec and remove it from
- internals and gs_cet.ps
-
-Also while changing things, restructure the CETMODE so that it will
-work with -dSAFER. The gs_cet.ps is now run when we are still at save
-level 0 with systemdict writeable. Allows us to undefine .makeoperator
-and .setCPSImode internal operators after CETMODE is handled.
-
-Change previous uses of superexec to using .forceput (with the usual
-.bind executeonly to hide it).
-
-CVE: CVE-2019-3835
-Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- Resource/Init/gs_cet.ps   | 38 ++++++++++++++------------------------
- Resource/Init/gs_dps1.ps  |  2 +-
- Resource/Init/gs_fonts.ps |  8 ++++----
- Resource/Init/gs_init.ps  | 38 +++++++++++++++++++++++++++-----------
- Resource/Init/gs_ttf.ps   |  8 ++++----
- Resource/Init/gs_type1.ps |  6 +++---
- 6 files changed, 53 insertions(+), 47 deletions(-)
-
-diff --git a/Resource/Init/gs_cet.ps b/Resource/Init/gs_cet.ps
-index dbc5c4e..3cc6883 100644
---- a/Resource/Init/gs_cet.ps
-+++ b/Resource/Init/gs_cet.ps
-@@ -1,37 +1,29 @@
- %!PS
- % Set defaults for Ghostscript to match Adobe CPSI behaviour for CET
- 
--/.odef {		% <name> <proc> odef -
--  1 index exch .makeoperator def
--} bind def
--
-+% skip if we've already run this -- based on fake "product"
- systemdict /product get (PhotoPRINT SE 5.0v2) readonly eq
- {
-   (%END GS_CET) .skipeof
- } if
- 
--% do this in the server level so it is persistent across jobs
--//true 0 startjob not {
--  (*** Warning: CET startup is not in server default) = flush
--} if
-+% Note: this must be run at save level 0 and when systemdict is writeable
-+currentglobal //true setglobal
-+systemdict dup dup dup
-+/version (3017.102) readonly .forceput		% match CPSI 3017.102
-+/product (PhotoPRINT SE 5.0v2) readonly .forceput	% match CPSI 3017.102
-+/revision 0 put			% match CPSI 3017.103 Tek shows revision 5
-+/serialnumber dup {233640} readonly .makeoperator .forceput % match CPSI 3017.102 Tek shows serialnumber 1401788461
-+
-+systemdict /.odef {           % <name> <proc> odef -
-+  1 index exch //.makeoperator def
-+} .bind .forceput          % this will be undefined at the end
- 
- 300 .sethiresscreen	% needed for language switch build since it
-                         % processes gs_init.ps BEFORE setting the resolution
- 
- 0 array 0 setdash % CET 09-08 wants local setdash
- 
--currentglobal //true setglobal
--
--{
--  systemdict dup dup dup
--  /version (3017.102) readonly put		% match CPSI 3017.102
--  /product (PhotoPRINT SE 5.0v2) readonly put	% match CPSI 3017.102
--  /revision 0 put			% match CPSI 3017.103 Tek shows revision 5
--  /serialnumber dup {233640} readonly .makeoperator put % match CPSI 3017.102 Tek shows serialnumber 1401788461
--  systemdict /deviceinfo undef                  % for CET 20-23-1
--%  /UNROLLFORMS true put                 % CET files do unreasonable things inside forms
--} 1183615869 internaldict /superexec get exec
--
- /UNROLLFORMS true def
- 
- (%.defaultbgrucrproc) cvn { } bind def
-@@ -118,9 +110,7 @@ userdict /.smoothness currentsmoothness put
-   ofnfa
- } bind def
- 
--currentdict /.odef undef
--% end of slightly nasty hack to give consistent cluster results
--
--//false 0 startjob pop		% re-enter encapsulated mode
-+systemdict /.odef .undef
- 
-+% end of slightly nasty hack to give consistent cluster results
- %END GS_CET
-diff --git a/Resource/Init/gs_dps1.ps b/Resource/Init/gs_dps1.ps
-index 3d2cf7a..c4fd839 100644
---- a/Resource/Init/gs_dps1.ps
-+++ b/Resource/Init/gs_dps1.ps
-@@ -89,7 +89,7 @@ level2dict begin
-                 % definition, copy it into the local directory.
-       //systemdict /SharedFontDirectory .knownget
-        { 1 index .knownget
--          { //.FontDirectory 2 index 3 -1 roll { put } systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse } % readonly
-+          { //.FontDirectory 2 index 3 -1 roll .forceput } % readonly
-          if
-        }
-       if
-diff --git a/Resource/Init/gs_fonts.ps b/Resource/Init/gs_fonts.ps
-index 0562235..f2b4e19 100644
---- a/Resource/Init/gs_fonts.ps
-+++ b/Resource/Init/gs_fonts.ps
-@@ -519,11 +519,11 @@ buildfontdict 3 /.buildfont3 cvx put
-                 % the font in LocalFontDirectory.
-    .currentglobal
-     { //systemdict /LocalFontDirectory .knownget
--       { 2 index 2 index { .growput } systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse }	% readonly
-+       { 2 index 2 index .forceput }	% readonly
-       if
-     }
-    if
--   dup //.FontDirectory 4 -2 roll { .growput } systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse	% readonly
-+   dup //.FontDirectory 4 -2 roll .forceput % readonly
-                 % If the font originated as a resource, register it.
-    currentfile .currentresourcefile eq { dup .registerfont } if
-    readonly
-@@ -1191,13 +1191,13 @@ $error /SubstituteFont { } put
-           //.FontDirectory 1 index known not {
-             2 dict dup /FontName 3 index put
-             dup /FontType 1 put
--            //.FontDirectory 3 1 roll { put } systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse   % readonly
-+            //.FontDirectory 3 1 roll //.forceput exec % readonly
-           } {
-             pop
-           } ifelse
-         } forall
-       } forall
--    }
-+    } executeonly	% hide .forceput
- FAKEFONTS { exch } if pop def   % don't bind, .current/setglobal get redefined
- 
- % Install initial fonts from Fontmap.
-diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps
-index 80d9585..0d5c4f7 100644
---- a/Resource/Init/gs_init.ps
-+++ b/Resource/Init/gs_init.ps
-@@ -2188,9 +2188,6 @@ SAFER { .setsafeglobal } if
-   /.endtransparencygroup     % transparency-example.ps
-   /.setdotlength             % Bug687720.ps
-   /.sort /.setdebug /.mementolistnewblocks /getenv
--
--  /.makeoperator /.setCPSImode              % gs_cet.ps, this won't work on cluster with -dSAFER
--
-   /unread
-   ]
-   {systemdict exch .forceundef} forall
-@@ -2270,7 +2267,6 @@ SAFER { .setsafeglobal } if
- 
-   % Used by our own test suite files
-   %/.fileposition %image-qa.ps
--  %/.makeoperator /.setCPSImode % gs_cet.ps
- 
-   % Either our code uses these in ways which mean they can't be undefined, or they are used directly by
-   % test files/utilities, or engineers expressed a desire to keep them visible.
-@@ -2457,6 +2453,16 @@ end
- /vmreclaim where
-  { pop NOGC not { 2 .vmreclaim 0 vmreclaim } if
-  } if
-+
-+% Do this before systemdict is locked (see below for additional CETMODE setup using gs_cet.ps)
-+systemdict /CETMODE .knownget {
-+  {
-+    (gs_cet.ps) runlibfile
-+  } if
-+} if
-+systemdict /.makeoperator .undef	% must be after gs_cet.ps
-+systemdict /.setCPSImode .undef		% must be after gs_cet.ps
-+
- DELAYBIND not {
-   systemdict /.bindnow .undef       % We only need this for DELAYBIND
-   systemdict /.forcecopynew .undef	% remove temptation
-@@ -2464,16 +2470,29 @@ DELAYBIND not {
-   systemdict /.forceundef .undef	% ditto
- } if
- 
--% Move superexec to internaldict if superexec is defined.
--systemdict /superexec .knownget {
--  1183615869 internaldict /superexec 3 -1 roll put
--  systemdict /superexec .undef
-+% Move superexec to internaldict if superexec is defined. (Level 2 or later)
-+systemdict /superexec known {
-+  % restrict superexec to single known use by PScript5.dll
-+  % We could do this only for SAFER mode, but internaldict and superexec are
-+  % not very well documented, and we don't want them to be used.
-+  1183615869 internaldict /superexec {
-+    2 index /Private eq		% first check for typical use in PScript5.dll
-+    1 index length 1 eq and	% expected usage is: dict /Private <value> {put} superexec
-+    1 index 0 get systemdict /put get eq and
-+    {
-+      //superexec exec		% the only usage we allow
-+    } {
-+      /superexec load /invalidaccess signalerror
-+    } ifelse
-+  } bind cvx executeonly put
-+  systemdict /superexec .undef	% get rid of the dangerous (unrestricted) operator
- } if
- 
- % Can't remove this one until the last minute :-)
- DELAYBIND not {
- systemdict /.undef .undef
- } if
-+
- WRITESYSTEMDICT {
-    SAFER {
-        (\n *** WARNING - you have selected SAFER, indicating you want Ghostscript\n) print
-@@ -2500,7 +2519,4 @@ WRITESYSTEMDICT {
- % be 'true' in some cases.
- userdict /AGM_preserve_spots //false put
- 
--systemdict /CETMODE .knownget
--{ { (gs_cet.ps) runlibfile } if } if
--
- % The interpreter will run the initial procedure (start).
-diff --git a/Resource/Init/gs_ttf.ps b/Resource/Init/gs_ttf.ps
-index 05943c5..da97afa 100644
---- a/Resource/Init/gs_ttf.ps
-+++ b/Resource/Init/gs_ttf.ps
-@@ -1421,7 +1421,7 @@ mark
-           TTFDEBUG { (\n1 setting alias: ) print dup ==only
-                 ( to be the same as  ) print 2 index //== exec } if
- 
--          7 index 2 index 3 -1 roll exch //.growput systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse
-+          7 index 2 index 3 -1 roll exch .forceput
-         } forall
-         pop pop pop
-       }
-@@ -1439,7 +1439,7 @@ mark
-           exch pop
-           TTFDEBUG { (\n2 setting alias: ) print 1 index ==only
-                      ( to use glyph index: ) print dup //== exec } if
--          5 index 3 1 roll //.growput systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse
-+          5 index 3 1 roll .forceput
-           //false
-         }
-         {
-@@ -1456,7 +1456,7 @@ mark
-         {                            %  CharStrings(dict) isunicode(boolean) cmap(dict) RAGL(dict) gname(name) codep(integer) gindex(integer)
-           TTFDEBUG { (\3 nsetting alias: ) print 1 index ==only
-                 ( to be index: ) print dup //== exec } if
--          exch pop 5 index 3 1 roll //.growput systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse
-+          exch pop 5 index 3 1 roll .forceput
-         }
-         {
-           pop pop
-@@ -1486,7 +1486,7 @@ mark
-       } ifelse
-     ]
-   TTFDEBUG { (Encoding: ) print dup === flush } if
--} bind def
-+} .bind executeonly odef		% hides .forceput
- 
- % to be removed 9.09......
- currentdict /postalias undef
-diff --git a/Resource/Init/gs_type1.ps b/Resource/Init/gs_type1.ps
-index 96e1ced..61f5269 100644
---- a/Resource/Init/gs_type1.ps
-+++ b/Resource/Init/gs_type1.ps
-@@ -116,7 +116,7 @@
-                  {                                               % scratch(string) RAGL(dict) AGL(dict) CharStrings(dict) cstring gname aglname
-                    CFFDEBUG { (\nsetting alias: ) print dup ==only
-                          ( to be the same as glyph: ) print 1 index //== exec } if
--                   3 index exch 3 index //.growput systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse
-+                   3 index exch 3 index .forceput
-                                                                  % scratch(string) RAGL(dict) AGL(dict) CharStrings(dict) cstring gname
-                  }
-                  {pop} ifelse
-@@ -135,7 +135,7 @@
-          3 1 roll pop pop
-      } if
-      pop
--     dup /.AGLprocessed~GS //true //.growput systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse
-+     dup /.AGLprocessed~GS //true .forceput
-    } if
- 
-    %% We need to excute the C .buildfont1 in a stopped context so that, if there
-@@ -148,7 +148,7 @@
-    {//.buildfont1} stopped
-    4 3 roll .setglobal
-    {//.buildfont1 $error /errorname get signalerror} if
-- } bind def
-+ } .bind executeonly def	% hide .forceput
- 
- % If the diskfont feature isn't included, define a dummy .loadfontdict.
- /.loadfontdict where
--- 
-2.20.1
-
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0004.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0004.patch
deleted file mode 100644
index 5228cac..0000000
--- a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3835-0004.patch
+++ /dev/null
@@ -1,167 +0,0 @@
-From 5845e667dda3c945ee793fbe6af021533cb4fbec Mon Sep 17 00:00:00 2001
-From: Ray Johnston <ray.johnston@artifex.com>
-Date: Sun, 24 Feb 2019 22:01:04 -0800
-Subject: [PATCH] Bug 700585: Obliterate "superexec". We don't need it, nor
- do any known apps.
-
-We were under the impression that the Windows driver 'PScript5.dll' used
-superexec, but after testing with our extensive suite of PostScript file,
-and analysis of the PScript5 "Adobe CoolType ProcSet, it does not appear
-that this operator is needed anymore. Get rid of superexec and all of the
-references to it, since it is a potential security hole.
-
-CVE: CVE-2019-3835
-Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- Resource/Init/gs_init.ps | 18 ------------------
- psi/icontext.c           |  1 -
- psi/icstate.h            |  1 -
- psi/zcontrol.c           | 30 ------------------------------
- psi/zdict.c              |  6 ++----
- psi/zgeneric.c           |  3 +--
- 6 files changed, 3 insertions(+), 56 deletions(-)
-
-diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps
-index 0d5c4f7..c5ac82a 100644
---- a/Resource/Init/gs_init.ps
-+++ b/Resource/Init/gs_init.ps
-@@ -2470,24 +2470,6 @@ DELAYBIND not {
-   systemdict /.forceundef .undef	% ditto
- } if
- 
--% Move superexec to internaldict if superexec is defined. (Level 2 or later)
--systemdict /superexec known {
--  % restrict superexec to single known use by PScript5.dll
--  % We could do this only for SAFER mode, but internaldict and superexec are
--  % not very well documented, and we don't want them to be used.
--  1183615869 internaldict /superexec {
--    2 index /Private eq		% first check for typical use in PScript5.dll
--    1 index length 1 eq and	% expected usage is: dict /Private <value> {put} superexec
--    1 index 0 get systemdict /put get eq and
--    {
--      //superexec exec		% the only usage we allow
--    } {
--      /superexec load /invalidaccess signalerror
--    } ifelse
--  } bind cvx executeonly put
--  systemdict /superexec .undef	% get rid of the dangerous (unrestricted) operator
--} if
--
- % Can't remove this one until the last minute :-)
- DELAYBIND not {
- systemdict /.undef .undef
-diff --git a/psi/icontext.c b/psi/icontext.c
-index 1fbe486..7462ea3 100644
---- a/psi/icontext.c
-+++ b/psi/icontext.c
-@@ -151,7 +151,6 @@ context_state_alloc(gs_context_state_t ** ppcst,
-     pcst->rand_state = rand_state_initial;
-     pcst->usertime_total = 0;
-     pcst->keep_usertime = false;
--    pcst->in_superexec = 0;
-     pcst->plugin_list = 0;
-     make_t(&pcst->error_object, t__invalid);
-     {	/*
-diff --git a/psi/icstate.h b/psi/icstate.h
-index 4c6a14d..1009d85 100644
---- a/psi/icstate.h
-+++ b/psi/icstate.h
-@@ -54,7 +54,6 @@ struct gs_context_state_s {
-     long usertime_total;	/* total accumulated usertime, */
-                                 /* not counting current time if running */
-     bool keep_usertime;		/* true if context ever executed usertime */
--    int in_superexec;		/* # of levels of superexec */
-     /* View clipping is handled in the graphics state. */
-     ref error_object;		/* t__invalid or error object from operator */
-     ref userparams;		/* t_dictionary */
-diff --git a/psi/zcontrol.c b/psi/zcontrol.c
-index 0362cf4..dc813e8 100644
---- a/psi/zcontrol.c
-+++ b/psi/zcontrol.c
-@@ -158,34 +158,6 @@ zexecn(i_ctx_t *i_ctx_p)
-     return o_push_estack;
- }
- 
--/* <obj> superexec - */
--static int end_superexec(i_ctx_t *);
--static int
--zsuperexec(i_ctx_t *i_ctx_p)
--{
--    os_ptr op = osp;
--    es_ptr ep;
--
--    check_op(1);
--    if (!r_has_attr(op, a_executable))
--        return 0;		/* literal object just gets pushed back */
--    check_estack(2);
--    ep = esp += 3;
--    make_mark_estack(ep - 2, es_other, end_superexec); /* error case */
--    make_op_estack(ep - 1,  end_superexec); /* normal case */
--    ref_assign(ep, op);
--    esfile_check_cache();
--    pop(1);
--    i_ctx_p->in_superexec++;
--    return o_push_estack;
--}
--static int
--end_superexec(i_ctx_t *i_ctx_p)
--{
--    i_ctx_p->in_superexec--;
--    return 0;
--}
--
- /* <array> <executable> .runandhide <obj>				*/
- /* 	before executing  <executable>, <array> is been removed from	*/
- /*	the operand stack and placed on the execstack with attributes	*/
-@@ -971,8 +943,6 @@ const op_def zcontrol3_op_defs[] = {
-     {"0%loop_continue", loop_continue},
-     {"0%repeat_continue", repeat_continue},
-     {"0%stopped_push", stopped_push},
--    {"1superexec", zsuperexec},
--    {"0%end_superexec", end_superexec},
-     {"2.runandhide", zrunandhide},
-     {"0%end_runandhide", end_runandhide},
-     op_def_end(0)
-diff --git a/psi/zdict.c b/psi/zdict.c
-index b0deaaa..e2e525d 100644
---- a/psi/zdict.c
-+++ b/psi/zdict.c
-@@ -212,8 +212,7 @@ zundef(i_ctx_t *i_ctx_p)
-     int code;
- 
-     check_type(*op1, t_dictionary);
--    if (i_ctx_p->in_superexec == 0)
--        check_dict_write(*op1);
-+    check_dict_write(*op1);
-     code = idict_undef(op1, op);
-     if (code < 0 && code != gs_error_undefined) /* ignore undefined error */
-         return code;
-@@ -504,8 +503,7 @@ zsetmaxlength(i_ctx_t *i_ctx_p)
-     int code;
- 
-     check_type(*op1, t_dictionary);
--    if (i_ctx_p->in_superexec == 0)
--        check_dict_write(*op1);
-+    check_dict_write(*op1);
-     check_type(*op, t_integer);
-     if (op->value.intval < 0)
-         return_error(gs_error_rangecheck);
-diff --git a/psi/zgeneric.c b/psi/zgeneric.c
-index 8048e28..d4edddb 100644
---- a/psi/zgeneric.c
-+++ b/psi/zgeneric.c
-@@ -204,8 +204,7 @@ zput(i_ctx_t *i_ctx_p)
- 
-     switch (r_type(op2)) {
-         case t_dictionary:
--            if (i_ctx_p->in_superexec == 0)
--                check_dict_write(*op2);
-+            check_dict_write(*op2);
-             {
-                 int code = idict_put(op2, op1, op);
- 
--- 
-2.18.1
-
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3838-0001.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3838-0001.patch
deleted file mode 100644
index 593109f..0000000
--- a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3838-0001.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 53f0cb4c54ac951697704cb87d24154ae08aecce Mon Sep 17 00:00:00 2001
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Wed, 20 Feb 2019 09:54:28 +0000
-Subject: [PATCH] Bug 700576: Make a transient proc executeonly (in
- DefineResource).
-
-This prevents access to .forceput
-
-Solution originally suggested by cbuissar@redhat.com.
-
-CVE: CVE-2019-3838
-Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- Resource/Init/gs_res.ps | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Resource/Init/gs_res.ps b/Resource/Init/gs_res.ps
-index 89c0ed6..a163541 100644
---- a/Resource/Init/gs_res.ps
-+++ b/Resource/Init/gs_res.ps
-@@ -426,7 +426,7 @@ status {
-                         % so we have to use .forceput here.
-                   currentdict /.Instances 2 index .forceput	% Category dict is read-only
-                 } executeonly if
--              }
-+              } executeonly
-               { .LocalInstances dup //.emptydict eq
-                  { pop 3 dict localinstancedict Category 2 index put
-                  }
--- 
-2.18.1
-
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3838-0002.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3838-0002.patch
deleted file mode 100644
index 921e5b6..0000000
--- a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-3838-0002.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 0cb5e967c0200559f946291b5b54f8da30c32cd6 Mon Sep 17 00:00:00 2001
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Fri, 22 Feb 2019 12:28:23 +0000
-Subject: [PATCH] Bug 700576(redux): an extra transient proc needs
- executeonly'ed.
-
-CVE: CVE-2019-3838
-Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- Resource/Init/gs_res.ps | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Resource/Init/gs_res.ps b/Resource/Init/gs_res.ps
-index a163541..8ce4ae3 100644
---- a/Resource/Init/gs_res.ps
-+++ b/Resource/Init/gs_res.ps
-@@ -438,7 +438,7 @@ status {
-                         % Now make the resource value read-only.
-              0 2 copy get { readonly } .internalstopped pop
-              dup 4 1 roll put exch pop exch pop
--           }
-+           } executeonly
-            { /defineresource cvx /typecheck signaloperror
-            }
-         ifelse
--- 
-2.18.1
-
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0001.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0001.patch
deleted file mode 100644
index b2c1ade..0000000
--- a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0001.patch
+++ /dev/null
@@ -1,177 +0,0 @@
-From c8c77690199b677f70093824382f0881e643e17b Mon Sep 17 00:00:00 2001
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Wed, 5 Dec 2018 12:22:13 +0000
-Subject: [PATCH 1/7] Sanitize op stack for error conditions
-
-We save the stacks to an array and store the array for the error handler to
-access.
-
-For SAFER, we traverse the array, and deep copy any op arrays (procedures). As
-we make these copies, we check for operators that do *not* exist in systemdict,
-when we find one, we replace the operator with a name object (of the form
-"/--opname--").
-
-CVE: CVE-2019-6116
-Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- psi/int.mak  |  3 +-
- psi/interp.c |  8 ++++++
- psi/istack.c | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++
- psi/istack.h |  3 ++
- 4 files changed, 91 insertions(+), 1 deletion(-)
-
-diff --git a/psi/int.mak b/psi/int.mak
-index 6ab5bf0..6b349cb 100644
---- a/psi/int.mak
-+++ b/psi/int.mak
-@@ -204,7 +204,8 @@ $(PSOBJ)iparam.$(OBJ) : $(PSSRC)iparam.c $(GH)\
- $(PSOBJ)istack.$(OBJ) : $(PSSRC)istack.c $(GH) $(memory__h)\
-  $(ierrors_h) $(gsstruct_h) $(gsutil_h)\
-  $(ialloc_h) $(istack_h) $(istkparm_h) $(istruct_h) $(iutil_h) $(ivmspace_h)\
-- $(store_h) $(INT_MAK) $(MAKEDIRS)
-+ $(store_h) $(icstate_h) $(iname_h) $(dstack_h) $(idict_h) \
-+ $(INT_MAK) $(MAKEDIRS)
- 	$(PSCC) $(PSO_)istack.$(OBJ) $(C_) $(PSSRC)istack.c
- 
- $(PSOBJ)iutil.$(OBJ) : $(PSSRC)iutil.c $(GH) $(math__h) $(memory__h) $(string__h)\
-diff --git a/psi/interp.c b/psi/interp.c
-index 6dc0dda..aa5779c 100644
---- a/psi/interp.c
-+++ b/psi/interp.c
-@@ -761,6 +761,7 @@ copy_stack(i_ctx_t *i_ctx_p, const ref_stack_t * pstack, int skip, ref * arr)
-     uint size = ref_stack_count(pstack) - skip;
-     uint save_space = ialloc_space(idmemory);
-     int code, i;
-+    ref *safety, *safe;
- 
-     if (size > 65535)
-         size = 65535;
-@@ -778,6 +779,13 @@ copy_stack(i_ctx_t *i_ctx_p, const ref_stack_t * pstack, int skip, ref * arr)
-                 make_null(&arr->value.refs[i]);
-         }
-     }
-+    if (pstack == &o_stack && dict_find_string(systemdict, "SAFETY", &safety) > 0 &&
-+        dict_find_string(safety, "safe", &safe) > 0 && r_has_type(safe, t_boolean) &&
-+        safe->value.boolval == true) {
-+        code = ref_stack_array_sanitize(i_ctx_p, arr, arr);
-+        if (code < 0)
-+            return code;
-+    }
-     ialloc_set_space(idmemory, save_space);
-     return code;
- }
-diff --git a/psi/istack.c b/psi/istack.c
-index 8fe151f..f1a3e51 100644
---- a/psi/istack.c
-+++ b/psi/istack.c
-@@ -27,6 +27,10 @@
- #include "iutil.h"
- #include "ivmspace.h"		/* for local/global test */
- #include "store.h"
-+#include "icstate.h"
-+#include "iname.h"
-+#include "dstack.h"
-+#include "idict.h"
- 
- /* Forward references */
- static void init_block(ref_stack_t *pstack, const ref *pblock_array,
-@@ -294,6 +298,80 @@ ref_stack_store_check(const ref_stack_t *pstack, ref *parray, uint count,
-     return 0;
- }
- 
-+int
-+ref_stack_array_sanitize(i_ctx_t *i_ctx_p, ref *sarr, ref *darr)
-+{
-+    int i, code;
-+    ref obj, arr2;
-+    ref *pobj2;
-+    gs_memory_t *mem = (gs_memory_t *)idmemory->current;
-+
-+    if (!r_is_array(sarr) || !r_has_type(darr, t_array))
-+        return_error(gs_error_typecheck);
-+
-+    for (i = 0; i < r_size(sarr); i++) {
-+        code = array_get(mem, sarr, i, &obj);
-+        if (code < 0)
-+            make_null(&obj);
-+        switch(r_type(&obj)) {
-+          case t_operator:
-+          {
-+            int index = op_index(&obj);
-+
-+            if (index > 0 && index < op_def_count) {
-+                const byte *data = (const byte *)(op_index_def(index)->oname + 1);
-+                if (dict_find_string(systemdict, (const char *)data, &pobj2) <= 0) {
-+                    byte *s = gs_alloc_bytes(mem, strlen((char *)data) + 5, "ref_stack_array_sanitize");
-+                    if (s) {
-+                        s[0] =  '\0';
-+                        strcpy((char *)s, "--");
-+                        strcpy((char *)s + 2, (char *)data);
-+                        strcpy((char *)s + strlen((char *)data) + 2, "--");
-+                    }
-+                    else {
-+                        s = (byte *)data;
-+                    }
-+                    code = name_ref(imemory, s, strlen((char *)s), &obj, 1);
-+                    if (code < 0) make_null(&obj);
-+                    if (s != data)
-+                        gs_free_object(mem, s, "ref_stack_array_sanitize");
-+                }
-+            }
-+            else {
-+                make_null(&obj);
-+            }
-+            ref_assign(darr->value.refs + i, &obj);
-+            break;
-+          }
-+          case t_array:
-+          case t_shortarray:
-+          case t_mixedarray:
-+          {
-+            int attrs = r_type_attrs(&obj) & (a_write | a_read | a_execute | a_executable);
-+            /* We only want to copy executable arrays */
-+            if (attrs & (a_execute | a_executable)) {
-+                code = ialloc_ref_array(&arr2, attrs, r_size(&obj), "ref_stack_array_sanitize");
-+                if (code < 0) {
-+                    make_null(&arr2);
-+                }
-+                else {
-+                    code = ref_stack_array_sanitize(i_ctx_p, &obj, &arr2);
-+                }
-+                ref_assign(darr->value.refs + i, &arr2);
-+            }
-+            else {
-+                ref_assign(darr->value.refs + i, &obj);
-+            }
-+            break;
-+          }
-+          default:
-+            ref_assign(darr->value.refs + i, &obj);
-+        }
-+    }
-+    return 0;
-+}
-+
-+
- /*
-  * Store the top 'count' elements of a stack, starting 'skip' elements below
-  * the top, into an array, with or without store/undo checking.  age=-1 for
-diff --git a/psi/istack.h b/psi/istack.h
-index 051dcbe..54be405 100644
---- a/psi/istack.h
-+++ b/psi/istack.h
-@@ -129,6 +129,9 @@ int ref_stack_store(const ref_stack_t *pstack, ref *parray, uint count,
-                     uint skip, int age, bool check,
-                     gs_dual_memory_t *idmem, client_name_t cname);
- 
-+int
-+ref_stack_array_sanitize(i_ctx_t *i_ctx_p, ref *sarr, ref *darr);
-+
- /*
-  * Pop the top N elements off a stack.
-  * The number must not exceed the number of elements in use.
--- 
-2.18.1
-
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0002.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0002.patch
deleted file mode 100644
index 97c74e7..0000000
--- a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0002.patch
+++ /dev/null
@@ -1,442 +0,0 @@
-From 20001d2bdf3cc60e76241a6ae72b1df01c5424c5 Mon Sep 17 00:00:00 2001
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Thu, 13 Dec 2018 15:28:34 +0000
-Subject: [PATCH 2/7] Any transient procedures that call .force* operators
-
-(i.e. for conditionals or loops) make them executeonly.
-
-CVE: CVE-2019-6116
-Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- Resource/Init/gs_diskn.ps |  2 +-
- Resource/Init/gs_dps1.ps  |  4 ++--
- Resource/Init/gs_fntem.ps |  4 ++--
- Resource/Init/gs_fonts.ps | 12 ++++++------
- Resource/Init/gs_init.ps  |  4 ++--
- Resource/Init/gs_lev2.ps  | 11 ++++++-----
- Resource/Init/gs_pdfwr.ps |  2 +-
- Resource/Init/gs_res.ps   |  4 ++--
- Resource/Init/gs_setpd.ps |  2 +-
- Resource/Init/pdf_base.ps | 13 ++++++++-----
- Resource/Init/pdf_draw.ps | 16 +++++++++-------
- Resource/Init/pdf_font.ps |  6 +++---
- Resource/Init/pdf_main.ps |  4 ++--
- Resource/Init/pdf_ops.ps  |  7 ++++---
- 14 files changed, 49 insertions(+), 42 deletions(-)
-
-diff --git a/Resource/Init/gs_diskn.ps b/Resource/Init/gs_diskn.ps
-index fd694bc..8bf2054 100644
---- a/Resource/Init/gs_diskn.ps
-+++ b/Resource/Init/gs_diskn.ps
-@@ -51,7 +51,7 @@ systemdict begin
-     mark 5 1 roll ] mark exch { { } forall } forall ]
-     //systemdict /.searchabledevs 2 index .forceput
-     exch .setglobal
--  }
-+  } executeonly
-   if
- } .bind executeonly odef % must be bound and hidden for .forceput
- 
-diff --git a/Resource/Init/gs_dps1.ps b/Resource/Init/gs_dps1.ps
-index ec5db61..4fae283 100644
---- a/Resource/Init/gs_dps1.ps
-+++ b/Resource/Init/gs_dps1.ps
-@@ -78,7 +78,7 @@ level2dict begin
-    .currentglobal
-     {		% Current mode is global; delete from local directory too.
-       //systemdict /LocalFontDirectory .knownget
--       { 1 index .forceundef }		% LocalFontDirectory is readonly
-+       { 1 index .forceundef } executeonly		% LocalFontDirectory is readonly
-       if
-     }
-     {		% Current mode is local; if there was a shadowed global
-@@ -126,7 +126,7 @@ level2dict begin
-           }
-          ifelse
-        } forall
--      pop counttomark 2 idiv { .forceundef } repeat pop		% readonly
-+      pop counttomark 2 idiv { .forceundef } executeonly repeat pop		% readonly
-     }
-    if
-    //SharedFontDirectory exch .forcecopynew pop
-diff --git a/Resource/Init/gs_fntem.ps b/Resource/Init/gs_fntem.ps
-index c1f7651..6eb672a 100644
---- a/Resource/Init/gs_fntem.ps
-+++ b/Resource/Init/gs_fntem.ps
-@@ -401,12 +401,12 @@ currentdict end def
-       .forceput % FontInfo can be read-only.
-       pop                                                        % bool <font>
-       exit
--    } if
-+    } executeonly if
-     dup /FontInfo get                                            % bool <font> <FI>
-     /GlyphNames2Unicode /Unicode /Decoding findresource
-     .forceput % FontInfo can be read-only.
-     exit
--  } loop
-+  } executeonly loop
-   exch setglobal
- } .bind executeonly odef % must be bound and hidden for .forceput
- 
-diff --git a/Resource/Init/gs_fonts.ps b/Resource/Init/gs_fonts.ps
-index 803faca..290da0c 100644
---- a/Resource/Init/gs_fonts.ps
-+++ b/Resource/Init/gs_fonts.ps
-@@ -374,7 +374,7 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if
- /.setnativefontmapbuilt { % set whether we've been run
-   dup type /booleantype eq {
-       systemdict exch /.nativefontmapbuilt exch .forceput
--  }
-+  } executeonly
-   {pop}
-   ifelse
- } .bind executeonly odef
-@@ -1007,11 +1007,11 @@ $error /SubstituteFont { } put
- { 2 index gcheck currentglobal
-   2 copy eq {
-     pop pop .forceput
--  } {
-+  } executeonly {
-     5 1 roll setglobal
-     dup length string copy
-     .forceput setglobal
--  } ifelse
-+  } executeonly ifelse
- } .bind executeonly odef % must be bound and hidden for .forceput
- 
- % Attempt to load a font from a file.
-@@ -1084,7 +1084,7 @@ $error /SubstituteFont { } put
-            .FontDirectory 3 index .forceundef		% readonly
-            1 index (r) file .loadfont .FontDirectory exch
-            /.setglobal .systemvar exec
--         }
-+         } executeonly
-          { .loadfont .FontDirectory
-          }
-         ifelse
-@@ -1105,7 +1105,7 @@ $error /SubstituteFont { } put
-         dup 3 index .fontknownget
-          { dup /PathLoad 4 index .putgstringcopy
-            4 1 roll pop pop pop //true exit
--         } if
-+         } executeonly if
- 
-                 % Maybe the file had a different FontName.
-                 % See if we can get a FontName from the file, and if so,
-@@ -1134,7 +1134,7 @@ $error /SubstituteFont { } put
-               ifelse  % Stack: origfontname fontdict
-               exch pop //true exit
-                       % Stack: fontdict
--            }
-+            } executeonly
-            if pop % Stack: origfontname fontdirectory path
-          }
-         if pop pop  % Stack: origfontname
-diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps
-index d733124..56c0bd2 100644
---- a/Resource/Init/gs_init.ps
-+++ b/Resource/Init/gs_init.ps
-@@ -2357,7 +2357,7 @@ SAFER { .setsafeglobal } if
-         % Update the copy of the user parameters.
-   mark .currentuserparams counttomark 2 idiv {
-     userparams 3 1 roll .forceput	% userparams is read-only
--  } repeat pop
-+  } executeonly repeat pop
-         % Turn on idiom recognition, if available.
-   currentuserparams /IdiomRecognition known {
-     /IdiomRecognition //true .definepsuserparam
-@@ -2376,7 +2376,7 @@ SAFER { .setsafeglobal } if
-         % Remove real system params from pssystemparams.
-   mark .currentsystemparams counttomark 2 idiv {
-     pop pssystemparams exch .forceundef
--  } repeat pop
-+  } executeonly repeat pop
- } if
- 
- % Set up AlignToPixels :
-diff --git a/Resource/Init/gs_lev2.ps b/Resource/Init/gs_lev2.ps
-index 44fe619..0f0d573 100644
---- a/Resource/Init/gs_lev2.ps
-+++ b/Resource/Init/gs_lev2.ps
-@@ -154,7 +154,8 @@ end
-       % protect top level of parameters that we copied
-       dup type dup /arraytype eq exch /stringtype eq or { readonly } if
-       /userparams .systemvar 3 1 roll .forceput  % userparams is read-only
--    } {
-+    } executeonly
-+    {
-       pop pop
-     } ifelse
-   } forall
-@@ -224,7 +225,7 @@ end
-          % protect top level parameters that we copied
-          dup type dup /arraytype eq exch /stringtype eq or { readonly } if
-          //pssystemparams 3 1 roll .forceput	% pssystemparams is read-only
--       }
-+       } executeonly
-        { pop pop
-        }
-       ifelse
-@@ -934,7 +935,7 @@ mark
-   dup /PaintProc get
-   1 index /Implementation known not {
-     1 index dup /Implementation //null .forceput readonly pop
--  } if
-+  } executeonly if
-   exec
- }.bind odef
- 
-@@ -958,7 +959,7 @@ mark
-   dup /PaintProc get
-   1 index /Implementation known not {
-     1 index dup /Implementation //null .forceput readonly pop
--  } if
-+  } executeonly if
-   /UNROLLFORMS where {/UNROLLFORMS get}{false}ifelse not
-   %% [CTM] <<Form>> PaintProc .beginform -
-   {
-@@ -1005,7 +1006,7 @@ mark
-         %% Form dictioanry using the /Implementation key).
-         1 dict dup /FormID 4 -1 roll put
-         1 index exch /Implementation exch .forceput readonly pop
--      }
-+      } executeonly
-       ifelse
-     }
-     {
-diff --git a/Resource/Init/gs_pdfwr.ps b/Resource/Init/gs_pdfwr.ps
-index 58e75d3..b425103 100644
---- a/Resource/Init/gs_pdfwr.ps
-+++ b/Resource/Init/gs_pdfwr.ps
-@@ -650,7 +650,7 @@ currentdict /.pdfmarkparams .undef
-             } ifelse
-           } bind .makeoperator .forceput
-           systemdict /.pdf_hooked_DSC_Creator //true .forceput
--        } if
-+        } executeonly if
-         pop
-       } if
-     } {
-diff --git a/Resource/Init/gs_res.ps b/Resource/Init/gs_res.ps
-index 8eb8bb0..d9b3459 100644
---- a/Resource/Init/gs_res.ps
-+++ b/Resource/Init/gs_res.ps
-@@ -152,7 +152,7 @@ setglobal
-                 % use .forceput / .forcedef later to replace the dummy,
-                 % empty .Instances dictionary with the real one later.
-           readonly
--        } {
-+        }{
-           /defineresource cvx /typecheck signaloperror
-         } ifelse
- } bind executeonly odef
-@@ -424,7 +424,7 @@ status {
-                         % As noted above, Category dictionaries are read-only,
-                         % so we have to use .forcedef here.
-                   /.Instances 1 index .forcedef	% Category dict is read-only
--                } if
-+                } executeonly if
-               }
-               { .LocalInstances dup //.emptydict eq
-                  { pop 3 dict localinstancedict Category 2 index put
-diff --git a/Resource/Init/gs_setpd.ps b/Resource/Init/gs_setpd.ps
-index e22597e..7875d1f 100644
---- a/Resource/Init/gs_setpd.ps
-+++ b/Resource/Init/gs_setpd.ps
-@@ -634,7 +634,7 @@ NOMEDIAATTRS {
-   SETPDDEBUG { (Rolling back.) = pstack flush } if
-   3 index 2 index 3 -1 roll .forceput
-   4 index 1 index .knownget
--  { 4 index 3 1 roll .forceput }
-+  { 4 index 3 1 roll .forceput } executeonly
-   { 3 index exch .undef }
-   ifelse
- } bind executeonly odef
-diff --git a/Resource/Init/pdf_base.ps b/Resource/Init/pdf_base.ps
-index b45e980..7312729 100644
---- a/Resource/Init/pdf_base.ps
-+++ b/Resource/Init/pdf_base.ps
-@@ -130,26 +130,29 @@ currentdict /num-chars-dict .undef
- 
- /.pdfexectoken {		% <count> <opdict> <exectoken> .pdfexectoken ?
-   PDFDEBUG {
--    pdfdict /PDFSTEPcount known not { pdfdict /PDFSTEPcount 1 .forceput } if
-+    pdfdict /PDFSTEPcount known not { pdfdict /PDFSTEPcount 1 .forceput } executeonly if
-     PDFSTEP {
-       pdfdict /PDFtokencount 2 copy .knownget { 1 add } { 1 } ifelse .forceput
-       PDFSTEPcount 1 gt {
-         pdfdict /PDFSTEPcount PDFSTEPcount 1 sub .forceput
--      } {
-+      } executeonly
-+      {
-         dup ==only
-         (    step # ) print PDFtokencount =only
-         ( ? ) print flush 1 //false .outputpage
-         (%stdin) (r) file 255 string readline {
-           token {
-             exch pop pdfdict /PDFSTEPcount 3 -1 roll .forceput
--          } {
-+          } executeonly
-+          {
-             pdfdict /PDFSTEPcount 1 .forceput
--          } ifelse % token
-+          } executeonly ifelse % token
-         } {
-           pop /PDFSTEP //false def	 % EOF on stdin
-         } ifelse % readline
-       } ifelse % PDFSTEPcount > 1
--    } {
-+    } executeonly
-+    {
-       dup ==only () = flush
-     } ifelse % PDFSTEP
-   } if % PDFDEBUG
-diff --git a/Resource/Init/pdf_draw.ps b/Resource/Init/pdf_draw.ps
-index 6b0ba93..40c6ac8 100644
---- a/Resource/Init/pdf_draw.ps
-+++ b/Resource/Init/pdf_draw.ps
-@@ -1118,14 +1118,14 @@ currentdict end readonly def
-           pdfdict /.Qqwarning_issued //true .forceput
-           .setglobal
-           pdfformaterror
--        } ifelse
-+        } executeonly ifelse
-       }
-       {
-         currentglobal pdfdict gcheck .setglobal
-         pdfdict /.Qqwarning_issued //true .forceput
-         .setglobal
-         pdfformaterror
--      } ifelse
-+      } executeonly ifelse
-       end
-     } ifelse
-   } loop
-@@ -1141,14 +1141,14 @@ currentdict end readonly def
-         pdfdict /.Qqwarning_issued //true .forceput
-         .setglobal
-         pdfformaterror
--      } ifelse
-+      } executeonly ifelse
-     }
-     {
-       currentglobal pdfdict gcheck .setglobal
-       pdfdict /.Qqwarning_issued //true .forceput
-       .setglobal
-       pdfformaterror
--    } ifelse
-+    } executeonly ifelse
-   } if
-   pop
- 
-@@ -2350,9 +2350,10 @@ currentdict /last-ditch-bpc-csp undef
- /IncrementAppearanceNumber {
-   pdfdict /AppearanceNumber .knownget {
-     1 add pdfdict /AppearanceNumber 3 -1 roll .forceput
--  }{
-+  } executeonly
-+  {
-     pdfdict /AppearanceNumber 0 .forceput
--  } ifelse
-+  } executeonly ifelse
- }bind executeonly odef
- 
- /MakeAppearanceName {
-@@ -2510,7 +2511,8 @@ currentdict /last-ditch-bpc-csp undef
-     %% want to preserve it.
-     pdfdict /.PreservePDFForm false .forceput
-     /q cvx /execform cvx 5 -2 roll
--  }{
-+  } executeonly
-+  {
-     /q cvx /PDFexecform cvx 5 -2 roll
-   } ifelse
- 
-diff --git a/Resource/Init/pdf_font.ps b/Resource/Init/pdf_font.ps
-index bea9ea9..4cd62b9 100644
---- a/Resource/Init/pdf_font.ps
-+++ b/Resource/Init/pdf_font.ps
-@@ -714,7 +714,7 @@ currentdict end readonly def
-     pop pop pop
-     currentdict /.stackdepth .forceundef
-     currentdict /.dstackdepth .forceundef
--  }
-+  } executeonly
-   {pop pop pop}
-   ifelse
- 
-@@ -1232,7 +1232,7 @@ currentdict /eexec_pdf_param_dict .undef
-                 (\n   **** Warning: Type 3 glyph has unbalanced q/Q operators \(too many q's\)\n               Output may be incorrect.\n)
-                 pdfformatwarning
-                 pdfdict /.Qqwarning_issued //true .forceput
--              } if
-+              } executeonly if
-               Q
-             } repeat
-             Q
-@@ -2016,7 +2016,7 @@ currentdict /CMap_read_dict undef
-               /CIDFallBack /CIDFont findresource
-             } if
-             exit
--          } if
-+          } executeonly if
-         } if
-       } if
- 
-diff --git a/Resource/Init/pdf_main.ps b/Resource/Init/pdf_main.ps
-index 00da47a..37e69b3 100644
---- a/Resource/Init/pdf_main.ps
-+++ b/Resource/Init/pdf_main.ps
-@@ -2701,14 +2701,14 @@ currentdict /PDF2PS_matrix_key undef
-           pdfdict /.Qqwarning_issued //true .forceput
-           .setglobal
-           pdfformaterror
--        } ifelse
-+        } executeonly ifelse
-       }
-       {
-         currentglobal pdfdict gcheck .setglobal
-         pdfdict /.Qqwarning_issued //true .forceput
-         .setglobal
-         pdfformaterror
--      } ifelse
-+      } executeonly ifelse
-     } if
-   } if
-   pop
-diff --git a/Resource/Init/pdf_ops.ps b/Resource/Init/pdf_ops.ps
-index 8672d61..aa09641 100644
---- a/Resource/Init/pdf_ops.ps
-+++ b/Resource/Init/pdf_ops.ps
-@@ -184,14 +184,14 @@ currentdict /gput_always_allow .undef
-         pdfdict /.Qqwarning_issued //true .forceput
-         .setglobal
-         pdfformaterror
--      } ifelse
-+      } executeonly ifelse
-     }
-     {
-       currentglobal pdfdict gcheck .setglobal
-       pdfdict /.Qqwarning_issued //true .forceput
-       .setglobal
-       pdfformaterror
--    } ifelse
-+    } executeonly ifelse
-   } if
- } bind executeonly odef
- 
-@@ -439,7 +439,8 @@ currentdict /gput_always_allow .undef
-   dup type /booleantype eq {
-     .currentSMask type /dicttype eq {
-       .currentSMask /Processed 2 index .forceput
--    } {
-+  } executeonly
-+  {
-       .setSMask
-   }ifelse
-   }{
--- 
-2.18.1
-
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0003.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0003.patch
deleted file mode 100644
index 02b1dc9..0000000
--- a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0003.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 60b77b8bf8b6e4d30519c47724631012b530cf0e Mon Sep 17 00:00:00 2001
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Sat, 15 Dec 2018 09:08:32 +0000
-Subject: [PATCH 3/7] Bug700317: Fix logic for an older change
-
-Unlike almost every other function in gs, dict_find_string() returns 1 on
-success 0 or <0 on failure. The logic for this case was wrong.
-
-CVE: CVE-2019-6116
-Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- psi/interp.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/psi/interp.c b/psi/interp.c
-index aa5779c..f6c45bb 100644
---- a/psi/interp.c
-+++ b/psi/interp.c
-@@ -703,7 +703,7 @@ again:
-                  * i.e. it's an internal operator we have hidden
-                  */
-                 code = dict_find_string(systemdict, (const char *)bufptr, &tobj);
--                if (code < 0) {
-+                if (code <= 0) {
-                     buf[0] = buf[1] = buf[rlen + 2] = buf[rlen + 3] = '-';
-                     rlen += 4;
-                     bufptr = buf;
--- 
-2.18.1
-
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0004.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0004.patch
deleted file mode 100644
index cc15453..0000000
--- a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0004.patch
+++ /dev/null
@@ -1,136 +0,0 @@
-From d739565534e955c4336731e4ea4eebc895c09c5c Mon Sep 17 00:00:00 2001
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Tue, 18 Dec 2018 10:42:10 +0000
-Subject: [PATCH 4/7] Harden some uses of .force* operators
-
-by adding a few immediate evalutions
-
-CVE: CVE-2019-6116
-Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- Resource/Init/gs_dps1.ps  |  4 ++--
- Resource/Init/gs_fonts.ps | 20 ++++++++++----------
- Resource/Init/gs_init.ps  |  6 +++---
- 3 files changed, 15 insertions(+), 15 deletions(-)
-
-diff --git a/Resource/Init/gs_dps1.ps b/Resource/Init/gs_dps1.ps
-index 4fae283..b75ea14 100644
---- a/Resource/Init/gs_dps1.ps
-+++ b/Resource/Init/gs_dps1.ps
-@@ -74,7 +74,7 @@ level2dict begin
-  } odef
- % undefinefont has to take local/global VM into account.
- /undefinefont		% <fontname> undefinefont -
-- { .FontDirectory 1 .argindex .forceundef	% FontDirectory is readonly
-+ { //.FontDirectory 1 .argindex .forceundef	% FontDirectory is readonly
-    .currentglobal
-     {		% Current mode is global; delete from local directory too.
-       //systemdict /LocalFontDirectory .knownget
-@@ -85,7 +85,7 @@ level2dict begin
-                 % definition, copy it into the local directory.
-       //systemdict /SharedFontDirectory .knownget
-        { 1 index .knownget
--          { .FontDirectory 2 index 3 -1 roll { put } systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse } % readonly
-+          { //.FontDirectory 2 index 3 -1 roll { put } systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse } % readonly
-          if
-        }
-       if
-diff --git a/Resource/Init/gs_fonts.ps b/Resource/Init/gs_fonts.ps
-index 290da0c..c13a2fc 100644
---- a/Resource/Init/gs_fonts.ps
-+++ b/Resource/Init/gs_fonts.ps
-@@ -516,7 +516,7 @@ buildfontdict 3 /.buildfont3 cvx put
-       if
-     }
-    if
--   dup .FontDirectory 4 -2 roll { .growput } systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse	% readonly
-+   dup //.FontDirectory 4 -2 roll { .growput } systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse	% readonly
-                 % If the font originated as a resource, register it.
-    currentfile .currentresourcefile eq { dup .registerfont } if
-    readonly
-@@ -943,7 +943,7 @@ $error /SubstituteFont { } put
- % Try to find a font using only the present contents of Fontmap.
- /.tryfindfont {         % <fontname> .tryfindfont <font> true
-                         % <fontname> .tryfindfont false
--  .FontDirectory 1 index .fontknownget
-+  //.FontDirectory 1 index .fontknownget
-     {                   % Already loaded
-       exch pop //true
-     }
-@@ -975,7 +975,7 @@ $error /SubstituteFont { } put
-                {                % Font with a procedural definition
-                  exec           % The procedure will load the font.
-                                 % Check to make sure this really happened.
--                 .FontDirectory 1 index .knownget
-+                 //.FontDirectory 1 index .knownget
-                   { exch pop //true exit }
-                  if
-                }
-@@ -1081,11 +1081,11 @@ $error /SubstituteFont { } put
-                 % because it's different depending on language level.
-            .currentglobal exch /.setglobal .systemvar exec
-                 % Remove the fake definition, if any.
--           .FontDirectory 3 index .forceundef		% readonly
--           1 index (r) file .loadfont .FontDirectory exch
-+           //.FontDirectory 3 index .forceundef		% readonly
-+           1 index (r) file .loadfont //.FontDirectory exch
-            /.setglobal .systemvar exec
-          } executeonly
--         { .loadfont .FontDirectory
-+         { .loadfont //.FontDirectory
-          }
-         ifelse
-                 % Stack: fontname fontfilename fontdirectory
-@@ -1119,8 +1119,8 @@ $error /SubstituteFont { } put
-                       % Stack: origfontname fontdirectory filefontname fontdict
-               3 -1 roll pop
-                       % Stack: origfontname filefontname fontdict
--              dup /FontName get dup FontDirectory exch .forceundef
--              GlobalFontDirectory exch .forceundef
-+              dup /FontName get dup //.FontDirectory exch .forceundef
-+              /GlobalFontDirectory .systemvar exch .forceundef
-               dup length dict .copydict dup 3 index /FontName exch put
-               2 index exch definefont
-               exch
-@@ -1176,10 +1176,10 @@ currentdict /.putgstringcopy .undef
-       {
-         {
-           pop dup type /stringtype eq { cvn } if
--          .FontDirectory 1 index known not {
-+          //.FontDirectory 1 index known not {
-             2 dict dup /FontName 3 index put
-             dup /FontType 1 put
--            .FontDirectory 3 1 roll { put } systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse   % readonly
-+            //.FontDirectory 3 1 roll { put } systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse   % readonly
-           } {
-             pop
-           } ifelse
-diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps
-index 56c0bd2..d9a0829 100644
---- a/Resource/Init/gs_init.ps
-+++ b/Resource/Init/gs_init.ps
-@@ -1168,8 +1168,8 @@ errordict /unknownerror .undef
-     }ifelse
-   }forall
-   noaccess pop
--  systemdict /.setsafeerrors .forceundef
--  systemdict /.SAFERERRORLIST .forceundef
-+  //systemdict /.setsafeerrors .forceundef
-+  //systemdict /.SAFERERRORLIST .forceundef
- } bind executeonly odef
- 
- SAFERERRORS {.setsafererrors} if
-@@ -2114,7 +2114,7 @@ currentdict /tempfilepaths undef
- 
- /.locksafe {
-   .locksafe_userparams
--  systemdict /getenv {pop //false} .forceput
-+  //systemdict /getenv {pop //false} .forceput
-   % setpagedevice has the side effect of clearing the page, but
-   % we will just document that. Using setpagedevice keeps the device
-   % properties and pagedevice .LockSafetyParams in agreement even
--- 
-2.18.1
-
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0005.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0005.patch
deleted file mode 100644
index db70bba..0000000
--- a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0005.patch
+++ /dev/null
@@ -1,250 +0,0 @@
-From 1e830cafa56c6e3e1b08d246eaf5496fe81a0032 Mon Sep 17 00:00:00 2001
-From: Nancy Durgin <nancy.durgin@artifex.com>
-Date: Tue, 27 Nov 2018 12:36:14 -0800
-Subject: [PATCH 5/7] Undef a bunch of internal things in gs_res.ps
-
-CVE: CVE-2019-6116
-Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- Resource/Init/gs_res.ps   | 72 +++++++++++++++++++++++++--------------
- Resource/Init/gs_resmp.ps |  4 +--
- 2 files changed, 49 insertions(+), 27 deletions(-)
-
-diff --git a/Resource/Init/gs_res.ps b/Resource/Init/gs_res.ps
-index d9b3459..18d5452 100644
---- a/Resource/Init/gs_res.ps
-+++ b/Resource/Init/gs_res.ps
-@@ -197,7 +197,7 @@ setglobal
- /.findresource {		% <key> <category> findresource <instance>
-         2 copy dup /Category eq
-           { pop //Category 0 get begin } { .findcategory } ifelse
--        /FindResource .resourceexec exch pop exch pop
-+        /FindResource //.resourceexec exec exch pop exch pop
- } bind
- end		% .Instances of Category
- def
-@@ -223,7 +223,7 @@ def
-             not { /defineresource cvx /typecheck signaloperror } if
-           } if
-         } if
--        /DefineResource .resourceexec
-+        /DefineResource //.resourceexec exec
-         4 1 roll pop pop pop
-     } .errorexec
- } bind executeonly odef
-@@ -252,7 +252,7 @@ def
-       % without the check.
-       /resourcestatus cvx /typecheck signalerror
-     } if
--    2 copy .findcategory /ResourceStatus .resourceexec
-+    2 copy .findcategory /ResourceStatus //.resourceexec exec
-     { 4 2 roll pop pop //true } { pop pop //false } ifelse
-   } stopped {
-     % Although resourcestatus is an operator, Adobe uses executable name
-@@ -266,7 +266,7 @@ def
-   } if
-   1 .argindex 1 index		% catch stackunderflow
- 
--  { .findcategory /UndefineResource .resourceexec pop pop
-+  { .findcategory /UndefineResource //.resourceexec exec pop pop
-   } stopped {
-     % Although undefineresource is an operator, Adobe uses executable name
-     % here but uses operator for the errors above. CET 23-33
-@@ -315,10 +315,10 @@ currentdict /pssystemparams known not {
-   /pssystemparams 10 dict readonly def
- } if
- pssystemparams begin
--  .default_resource_dir
--  /FontResourceDir (Font) .resource_dir_name
-+  //.default_resource_dir exec
-+  /FontResourceDir (Font) //.resource_dir_name exec
-      readonly .forcedef	% pssys'params is r-o
--  /GenericResourceDir () .resource_dir_name
-+  /GenericResourceDir () //.resource_dir_name exec
-      readonly .forcedef	% pssys'params is r-o
-   pop % .default_resource_dir
-   /GenericResourcePathSep
-@@ -387,13 +387,13 @@ status {
- } bind def
- /.localresourceforall {		% <key> <value> <args> .localr'forall -
-   exch pop
--  2 copy 0 get .stringmatch { .enumerateresource } { pop pop } ifelse
-+  2 copy 0 get .stringmatch { //.enumerateresource exec } { pop pop } ifelse
- } bind def
- /.globalresourceforall {	% <key> <value> <args> .globalr'forall -
-   exch pop
-   2 copy 0 get .stringmatch {
-     dup 3 get begin .LocalInstances end 2 index known not {
--      .enumerateresource
-+      //.enumerateresource exec
-     } {
-       pop pop
-     } ifelse
-@@ -408,7 +408,7 @@ status {
-   3 index known {
-     pop pop pop
-   } {
--    2 index known { pop pop } { .enumerateresource } ifelse
-+    2 index known { pop pop } { //.enumerateresource exec } ifelse
-   } ifelse
- } bind def
- 
-@@ -468,19 +468,19 @@ status {
-           % .knownget doesn't fail on null
-           /findresource cvx /typecheck signaloperror
-         } if
--        dup .getvminstance {
-+        dup //.getvminstance exec {
-           exch pop 0 get
-         } {
-           dup ResourceStatus {
-             pop 1 gt {
--              .DoLoadResource .getvminstance not {
--                /findresource cvx .undefinedresource
-+              .DoLoadResource //.getvminstance exec not {
-+                /findresource cvx //.undefinedresource exec
-               } if 0 get
-             } {
-               .GetInstance pop 0 get
-             } ifelse
-           } {
--           /findresource cvx .undefinedresource
-+           /findresource cvx //.undefinedresource exec
-           } ifelse
-         } ifelse
- } bind executeonly
-@@ -621,7 +621,7 @@ status {
-     .currentglobal not .setglobal
-     vmstatus pop exch pop add
-   } repeat
--} bind def
-+} bind executeonly odef
- /.DoLoadResource {
-                 % .LoadResource may push entries on the operand stack.
-                 % It is an undocumented feature of Adobe implementations,
-@@ -633,8 +633,8 @@ status {
-         {.LoadResource} 4 1 roll 4 .execn
-                 % Stack: ... count key memused
-         .vmused exch sub
--        1 index .getvminstance not {
--          pop dup .undefinedresource	% didn't load
-+        1 index //.getvminstance exec not {
-+          pop dup //.undefinedresource exec	% didn't load
-         } if
-         dup 1 1 put
-         2 3 -1 roll put
-@@ -648,7 +648,7 @@ status {
-               { //true setglobal { .runresource } stopped //false setglobal { stop } if }
-              ifelse
-            }
--           { dup .undefinedresource
-+           { dup //.undefinedresource exec
-            }
-          ifelse
-         } bind
-@@ -758,7 +758,7 @@ counttomark 2 idiv
-    /FindResource
-         { .Instances 1 index .knownget
-            { exch pop }
--           { /findresource cvx .undefinedresource }
-+           { /findresource cvx //.undefinedresource exec }
-           ifelse
-         } bind executeonly
-    /ResourceStatus
-@@ -862,7 +862,7 @@ userdict /.localcsdefaults //false put
-   2 copy /Generic /Category findresource /DefineResource get exec
-   exch pop
-   exch //.defaultcsnames exch .knownget {
--    1 index .definedefaultcs
-+    1 index //.definedefaultcs exec
-     currentglobal not { .userdict /.localcsdefaults //true put } if
-   } if
- } bind executeonly
-@@ -872,13 +872,13 @@ userdict /.localcsdefaults //false put
-   //.defaultcsnames 1 index .knownget {
-         % Stack: resname index
-     currentglobal {
--      .undefinedefaultcs pop
-+      //.undefinedefaultcs exec pop
-     } {
-         % We removed the local definition, but there might be a global one.
-       exch .GetInstance {
--        0 get .definedefaultcs
-+        0 get //.definedefaultcs exec
-       } {
--        .undefinedefaultcs
-+        //.undefinedefaultcs exec
-       } ifelse
-         % Recompute .localcsdefaults by scanning.  This is rarely needed.
-       .userdict /.localcsdefaults //false //.defaultcsnames {
-@@ -997,7 +997,7 @@ currentdict /.fontstatusaux .undef
-           /Generic /Category findresource /UndefineResource get exec
-         } bind executeonly
- /FindResource {
--        dup .getvminstance {
-+        dup //.getvminstance exec {
-           exch pop 0 get
-         } {
-           dup ResourceStatus {
-@@ -1024,7 +1024,7 @@ currentdict /.fontstatusaux .undef
-                 % stack: name font vmused
-                 % findfont has the prerogative of not calling definefont
-                 % in certain obscure cases of font substitution.
--        2 index .getvminstance {
-+        2 index //.getvminstance exec {
-           dup 1 1 put
-           2 3 -1 roll put
-         } {
-@@ -1159,3 +1159,25 @@ end				% level2dict
- 
- %% Replace 1 (gs_resmp.ps)
- (gs_resmp.ps)  dup runlibfile VMDEBUG
-+
-+[
-+    /.default_resource_dir
-+    /.resource_dir_name
-+]
-+{systemdict exch .forceundef} forall
-+
-+[
-+    /.definedefaultcs
-+    /.undefinedefaultcs
-+    /.defaultcsnames
-+    /.enumerateresource
-+    /.externalresourceforall
-+    /.getvminstance
-+    /.globalresourceforall
-+    /.localresourceforall
-+    /resourceforall1
-+    /.resourceexec
-+    /.undefinedresource
-+    /.vmused
-+]
-+{level2dict exch .forceundef} forall
-diff --git a/Resource/Init/gs_resmp.ps b/Resource/Init/gs_resmp.ps
-index 9bb4263..cb948d1 100644
---- a/Resource/Init/gs_resmp.ps
-+++ b/Resource/Init/gs_resmp.ps
-@@ -230,7 +230,7 @@ currentpacking //false setpacking
-       } {
-         dup dup .map exch .knownget {      % /Name /Name <<record>>
-           dup dup /RecordVirtualMethods get /IsActive get exec {
--            1 index .getvminstance {       % /Name /Name <<record>> holder
-+            1 index //.getvminstance exec {       % /Name /Name <<record>> holder
-               1 get 1 eq
-             } {
-               //true
-@@ -242,7 +242,7 @@ currentpacking //false setpacking
-             DefineResource exec            % size bStatusIs1 /Name Instance
-             % Make ResourceStatus to return correct values for this instance :
-             % Hack: we replace status values in the instance holder :
--            exch .getvminstance pop        % size bStatusIs1 Instance holder
-+            exch //.getvminstance exec pop        % size bStatusIs1 Instance holder
-             dup 5 -1 roll 2 exch put       % bStatusIs1 Instance holder
-             3 2 roll {                     % Instance holder
-               1 1 put                      % Instance
--- 
-2.18.1
-
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0006.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0006.patch
deleted file mode 100644
index 79e640b..0000000
--- a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0006.patch
+++ /dev/null
@@ -1,596 +0,0 @@
-From 97f9052ce49e6844b06a49ff9e4b8fc1eaf6bd10 Mon Sep 17 00:00:00 2001
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Wed, 9 Jan 2019 14:24:07 +0000
-Subject: [PATCH 6/7] Undefine a bunch of gs_fonts.ps specific procs
-
-Also reorder and add some immediate evaluation, so it still works with the
-undefining.
-
-CVE: CVE-2019-6116
-Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- Resource/Init/gs_dps1.ps  |   3 +-
- Resource/Init/gs_fonts.ps | 275 +++++++++++++++++++++-----------------
- Resource/Init/gs_res.ps   |   7 +-
- 3 files changed, 157 insertions(+), 128 deletions(-)
-
-diff --git a/Resource/Init/gs_dps1.ps b/Resource/Init/gs_dps1.ps
-index b75ea14..8700c8c 100644
---- a/Resource/Init/gs_dps1.ps
-+++ b/Resource/Init/gs_dps1.ps
-@@ -67,7 +67,8 @@ level2dict begin
- 
- /selectfont		% <fontname> <size> selectfont -
-  {
--   { 1 .argindex findfont
-+   {
-+     1 .argindex findfont
-      1 index dup type /arraytype eq { makefont } { scalefont } ifelse
-      setfont pop pop
-    } stopped { /selectfont .systemvar $error /errorname get signalerror } if
-diff --git a/Resource/Init/gs_fonts.ps b/Resource/Init/gs_fonts.ps
-index c13a2fc..0562235 100644
---- a/Resource/Init/gs_fonts.ps
-+++ b/Resource/Init/gs_fonts.ps
-@@ -100,7 +100,7 @@ userdict /.nativeFontmap .FontDirectory maxlength dict put
-        { 2 index token not
-           { (Fontmap entry for ) print 1 index =only
-             ( ends prematurely!  Giving up.) = flush
--            {.loadFontmap} 0 get 1 .quit
-+            {//.loadFontmap exec} 0 get 1 .quit
-           } if
-          dup /; eq { pop 3 index 3 1 roll .growput exit } if
-          pop
-@@ -202,6 +202,14 @@ NOFONTPATH { /FONTPATH () def } if
-  { pop }
-  { /FONTPATH (GS_FONTPATH) getenv not { () } if def }
- ifelse
-+
-+% The following are dummy definitions that, if we have a FONTPATH, will
-+% be replaced in the following section.
-+% They are here so immediately evaulation will work, and allow them to
-+% undefined at the bottom of the file.
-+/.scanfontbegin{} bind def
-+/.scanfontdir {} bind def
-+
- FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if
- /FONTPATH [ FONTPATH .pathlist ] def
- 
-@@ -242,12 +250,12 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if
- /.scanfontbegin
-  {      % Construct the table of all file names already in Fontmap.
-    currentglobal //true setglobal
--   .scanfontdict dup maxlength Fontmap length 2 add .max .setmaxlength
-+   //.scanfontdict dup maxlength Fontmap length 2 add .max .setmaxlength
-    Fontmap
-     { exch pop
-        { dup type /stringtype eq
--          { .splitfilename pop .fonttempstring copy .lowerstring cvn
--            .scanfontdict exch //true put
-+          { //.splitfilename exec pop //.fonttempstring copy //.lowerstring exec cvn
-+            //.scanfontdict exch //true put
-           }
-           { pop
-           }
-@@ -280,9 +288,9 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if
-   /txt //true
- .dicttomark def
- /.scan1fontstring 8192 string def
--% %%BeginFont: is not per Adobe documentation, but a few fonts have it.
-+% BeginFont: is not per Adobe documentation, but a few fonts have it.
- /.scanfontheaders [(%!PS-Adobe*) (%!FontType*) (%%BeginFont:*)] def
--0 .scanfontheaders { length .max } forall 6 add % extra for PFB header
-+0 //.scanfontheaders { length .max } forall 6 add % extra for PFB header
- /.scan1fontfirst exch string def
- /.scanfontdir           % <dirname> .scanfontdir -
-  { currentglobal exch //true setglobal
-@@ -291,10 +299,10 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if
-    0 0 0 4 -1 roll      % found scanned files
-     {           % stack: <fontcount> <scancount> <filecount> <filename>
-       exch 1 add exch                   % increment filecount
--      dup .splitfilename .fonttempstring copy .lowerstring
-+      dup //.splitfilename exec //.fonttempstring copy //.lowerstring exec
-                 % stack: <fontcount> <scancount> <filecount+1> <filename>
-                 %       <BASE> <ext>
--      .scanfontskip exch known exch .scanfontdict exch known or
-+      //.scanfontskip exch known exch //.scanfontdict exch known or
-        { pop
-                 % stack: <fontcount> <scancount> <filecount+1>
-        }
-@@ -309,7 +317,7 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if
-                 % On some platforms, the file operator will open directories,
-                 % but an error will occur if we try to read from one.
-                 % Handle this possibility here.
--            dup .scan1fontfirst { readstring } .internalstopped
-+            dup //.scan1fontfirst { readstring } .internalstopped
-              { pop pop () }
-              { pop }
-             ifelse
-@@ -322,7 +330,7 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if
-           { dup length 6 sub 6 exch getinterval }
-          if
-                 % Check for font file headers.
--         //false .scanfontheaders
-+         //false //.scanfontheaders
-           { 2 index exch .stringmatch or
-           }
-          forall exch pop
-@@ -335,7 +343,7 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if
-                 { exch copystring exch
-                   DEBUG { ( ) print dup =only flush } if
-                   1 index .definenativefontmap
--                  .splitfilename pop //true .scanfontdict 3 1 roll .growput
-+                  //.splitfilename exec pop //true //.scanfontdict 3 1 roll .growput
-                         % Increment fontcount.
-                   3 -1 roll 1 add 3 1 roll
-                 }
-@@ -352,7 +360,7 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if
-        }
-       ifelse
-     }
--   .scan1fontstring filenameforall
-+   //.scan1fontstring filenameforall
-    QUIET
-     { pop pop pop }
-     { ( ) print =only ( files, ) print =only ( scanned, ) print
-@@ -422,7 +430,6 @@ systemdict /NONATIVEFONTMAP known .setnativefontmapbuilt
-     //true .setnativefontmapbuilt
-   } ifelse
- } bind def
--currentdict /.setnativefontmapbuilt .forceundef
- 
- % Create the dictionary that registers the .buildfont procedure
- % (called by definefont) for each FontType.
-@@ -526,7 +533,8 @@ buildfontdict 3 /.buildfont3 cvx put
- % We use this only for explicitly aliased fonts, not substituted fonts:
- % we think this matches the observed behavior of Adobe interpreters.
- /.aliasfont             % <name> <font> .aliasfont <newFont>
-- { .currentglobal 3 1 roll dup .gcheck .setglobal
-+ {
-+   currentglobal 3 1 roll dup gcheck setglobal
-                              % <bool> <name> <font>
-    dup length 2 add dict     % <bool> <name> <font> <dict>
-    dup 3 -1 roll             % <bool> <name> <dict> <dict> <font>
-@@ -541,7 +549,7 @@ buildfontdict 3 /.buildfont3 cvx put
-                 % whose FontName is a local non-string, if someone passed a
-                 % garbage value to findfont.  In this case, just don't
-                 % call definefont at all.
--   2 index dup type /stringtype eq exch .gcheck or 1 index .gcheck not or
-+    2 index dup type /stringtype eq exch gcheck or 1 index gcheck not or
-     { pop                              % <bool> <name> <dict>
-       1 index dup type /stringtype eq { cvn } if
-                                        % <bool> <name> <dict> <name1>
-@@ -566,10 +574,11 @@ buildfontdict 3 /.buildfont3 cvx put
-                 % Don't bind in definefont, since Level 2 redefines it.
-       /definefont .systemvar exec
-     }
--    { /findfont cvx {.completefont} .errorexec pop exch pop
-+    {
-+      /findfont cvx {.completefont} //.errorexec exec pop exch pop
-     }
-    ifelse
--   exch .setglobal
-+   exch setglobal
-  } odef         % so findfont will bind it
- 
- % Define .loadfontfile for loading a font.  If we recognize Type 1 and/or
-@@ -669,10 +678,19 @@ buildfontdict 3 /.buildfont3 cvx put
-   [(Cn) 4] [(Cond) 4] [(Narrow) 4] [(Pkg) 4] [(Compr) 4]
-   [(Serif) 8] [(Sans) -8]
- ] readonly def
-+
-+/.fontnamestring {              % <fontname> .fontnamestring <string|name>
-+  dup type dup /nametype eq {
-+    pop .namestring
-+  } {
-+    /stringtype ne { pop () } if
-+  } ifelse
-+} bind def
-+
- /.fontnameproperties {          % <int> <string|name> .fontnameproperties
-                                 %   <int'>
--  .fontnamestring
--  .substituteproperties {
-+  //.fontnamestring exec
-+  //.substituteproperties {
-     2 copy 0 get search {
-       pop pop pop dup length 1 sub 1 exch getinterval 3 -1 roll exch {
-         dup 0 ge { or } { neg not and } ifelse
-@@ -710,13 +728,7 @@ buildfontdict 3 /.buildfont3 cvx put
-                                 % <other> .nametostring <other>
-   dup type /nametype eq { .namestring } if
- } bind def
--/.fontnamestring {              % <fontname> .fontnamestring <string|name>
--  dup type dup /nametype eq {
--    pop .namestring
--  } {
--    /stringtype ne { pop () } if
--  } ifelse
--} bind def
-+
- /.substitutefontname {          % <fontname> <properties> .substitutefontname
-                                 %   <altname|null>
-         % Look for properties and/or a face name in the font name.
-@@ -724,7 +736,7 @@ buildfontdict 3 /.buildfont3 cvx put
-         % base font; otherwise, use the default font.
-         % Note that the "substituted" font name may be the same as
-         % the requested one; the caller must check this.
--  exch .fontnamestring {
-+  exch //.fontnamestring exec {
-     defaultfontname /Helvetica-Oblique /Helvetica-Bold /Helvetica-BoldOblique
-     /Helvetica-Narrow /Helvetica-Narrow-Oblique
-     /Helvetica-Narrow-Bold /Helvetica-Narrow-BoldOblique
-@@ -734,12 +746,12 @@ buildfontdict 3 /.buildfont3 cvx put
-   } 3 1 roll
-         % Stack: facelist properties fontname
-         % Look for a face name.
--  .substitutefaces {
-+  //.substitutefaces {
-     2 copy 0 get search {
-       pop pop pop
-         % Stack: facelist properties fontname [(pattern) family properties]
-       dup 2 get 4 -1 roll or 3 1 roll
--      1 get .substitutefamilies exch get
-+      1 get //.substitutefamilies exch get
-       4 -1 roll pop 3 1 roll
-     } {
-       pop pop
-@@ -748,7 +760,7 @@ buildfontdict 3 /.buildfont3 cvx put
-   1 index length mod get exec
- } bind def
- /.substitutefont {              % <fontname> .substitutefont <altname>
--  dup 0 exch .fontnameproperties .substitutefontname
-+  dup 0 exch //.fontnameproperties exec .substitutefontname
-         % Only accept fonts known in the Fontmap.
-    Fontmap 1 index known not
-    {
-@@ -814,7 +826,7 @@ FAKEFONTS not { (%END FAKEFONTS) .skipeof } if
-   counttomark 1 sub { .aliasfont } repeat end
-                       % <fontname> mark <font>
-   exch pop exch pop
--} odef
-+} bind odef
- /findfont {
-   .findfont
- } bind def
-@@ -860,7 +872,7 @@ FAKEFONTS not { (%END FAKEFONTS) .skipeof } if
-       } {
-         dup .substitutefont
-         2 copy eq { pop defaultfontname } if
--        .checkalias
-+        //.checkalias exec
-         QUIET not {
-           SHORTERRORS {
-             (%%[) print 1 index =only
-@@ -886,8 +898,8 @@ $error /SubstituteFont { } put
-   //null 0 1 FONTPATH length 1 sub {
-     FONTPATH 1 index get //null ne { exch pop exit } if pop
-   } for dup //null ne {
--    dup 0 eq { .scanfontbegin } if
--    FONTPATH 1 index get .scanfontdir
-+    dup 0 eq { //.scanfontbegin exec} if
-+    FONTPATH 1 index get //.scanfontdir exec
-     FONTPATH exch //null put //true
-   } {
-     pop //false
-@@ -897,11 +909,10 @@ $error /SubstituteFont { } put
- % scanning of FONTPATH.
- /.dofindfont {   %  mark <fontname> .dofindfont % mark <alias> ... <font>
-   .tryfindfont not {
--
-                         % We didn't find the font.  If we haven't scanned
-                         % all the directories in FONTPATH, scan the next one
-                         % now and look for the font again.
--    .scannextfontdir {
-+    //.scannextfontdir exec {
-                         % Start over with an empty alias list.
-       counttomark 1 sub { pop } repeat    % mark <fontname>
-       .dofindfont
-@@ -927,6 +938,7 @@ $error /SubstituteFont { } put
-         } if
-                         % Substitute for the font.  Don't alias.
-                         % Same stack as at the beginning of .dofindfont.
-+
-         $error /SubstituteFont get exec
-                          %
-                          % igorm: I guess the surrounding code assumes that .stdsubstfont
-@@ -935,72 +947,11 @@ $error /SubstituteFont { } put
-                          % used in .dofindfont and through .stdsubstfont
-                          % just to represent a simple iteration,
-                          % which accumulates the aliases after the mark.
--        .stdsubstfont
-+        //.stdsubstfont exec
-       } ifelse
-     } ifelse
-   } if
- } bind def
--% Try to find a font using only the present contents of Fontmap.
--/.tryfindfont {         % <fontname> .tryfindfont <font> true
--                        % <fontname> .tryfindfont false
--  //.FontDirectory 1 index .fontknownget
--    {                   % Already loaded
--      exch pop //true
--    }
--    {
--       dup Fontmap exch .knownget
--       { //true //true }
--       {                % Unknown font name.  Look for a file with the
--                        % same name as the requested font.
--         dup .tryloadfont
--         { exch pop //true //false }
--         {
--           % if we can't load by name check the native font map
--           dup .nativeFontmap exch .knownget
--           { //true //true }
--           { //false //false } ifelse
--         } ifelse
--       } ifelse
--
--       {                % Try each element of the Fontmap in turn.
--         pop
--         //false exch   % (in case we exhaust the list)
--                        % Stack: fontname false fontmaplist
--         { exch pop
--           dup type /nametype eq
--            {                   % Font alias
--              .checkalias .tryfindfont exit
--            }
--            { dup dup type dup /arraytype eq exch /packedarraytype eq or exch xcheck and
--               {                % Font with a procedural definition
--                 exec           % The procedure will load the font.
--                                % Check to make sure this really happened.
--                 //.FontDirectory 1 index .knownget
--                  { exch pop //true exit }
--                 if
--               }
--               {                % Font file name
--                 //true .loadfontloop { //true exit } if
--               }
--              ifelse
--            }
--           ifelse //false
--         }
--         forall
--                        % Stack: font true -or- fontname false
--         { //true
--         }
--         {                      % None of the Fontmap entries worked.
--                                % Try loading a file with the same name
--                                % as the requested font.
--           .tryloadfont
--         }
--        ifelse
--       }
--      if
--    }
--   ifelse
-- } bind def
- 
- % any user of .putgstringcopy must use bind and executeonly
- /.putgstringcopy  %   <dict> <name> <string> .putgstringcopy -
-@@ -1014,25 +965,6 @@ $error /SubstituteFont { } put
-   } executeonly ifelse
- } .bind executeonly odef % must be bound and hidden for .forceput
- 
--% Attempt to load a font from a file.
--/.tryloadfont {         % <fontname> .tryloadfont <font> true
--                        % <fontname> .tryloadfont false
--  dup .nametostring
--                % Hack: check for the presence of the resource machinery.
--  /.genericrfn where {
--    pop
--    pop dup .fonttempstring /FontResourceDir getsystemparam .genericrfn
--    {//false .loadfontloop} .internalstopped {//false} if {
--      //true
--    } {
--      dup .nametostring
--      {//true .loadfontloop} .internalstopped {//false} if
--    } ifelse
--  } {
--    {//true .loadfontloop} .internalstopped {//false} if
--  } ifelse
--} bind def
--
- /.loadfontloop {        % <fontname> <filename> <libflag> .loadfontloop
-                         %   <font> true
-                         % -or-
-@@ -1102,7 +1034,7 @@ $error /SubstituteFont { } put
-          } if
- 
-                 % Check to make sure the font was actually loaded.
--        dup 3 index .fontknownget
-+        dup 3 index //.fontknownget exec
-          { dup /PathLoad 4 index .putgstringcopy
-            4 1 roll pop pop pop //true exit
-          } executeonly if
-@@ -1113,7 +1045,7 @@ $error /SubstituteFont { } put
-         exch dup      % Stack: origfontname fontdirectory path path
-         (r) file .findfontname
-          {            % Stack: origfontname fontdirectory path filefontname
--           2 index 1 index .fontknownget
-+           2 index 1 index //.fontknownget exec
-             {   % Yes.  Stack: origfontname fontdirectory path filefontname fontdict
-               dup 4 -1 roll /PathLoad exch .putgstringcopy
-                       % Stack: origfontname fontdirectory filefontname fontdict
-@@ -1136,7 +1068,7 @@ $error /SubstituteFont { } put
-                       % Stack: fontdict
-             } executeonly
-            if pop % Stack: origfontname fontdirectory path
--         }
-+         } executeonly
-         if pop pop  % Stack: origfontname
- 
-                 % The font definitely did not load correctly.
-@@ -1150,7 +1082,87 @@ $error /SubstituteFont { } put
- 
-  } bind executeonly odef % must be bound and hidden for .putgstringcopy
- 
--currentdict /.putgstringcopy .undef
-+% Attempt to load a font from a file.
-+/.tryloadfont {         % <fontname> .tryloadfont <font> true
-+                        % <fontname> .tryloadfont false
-+  dup //.nametostring exec
-+                % Hack: check for the presence of the resource machinery.
-+  /.genericrfn where {
-+    pop
-+    pop dup //.fonttempstring /FontResourceDir getsystemparam .genericrfn
-+    {//false .loadfontloop} .internalstopped {//false} if {
-+      //true
-+    } {
-+      dup //.nametostring exec
-+      {//true .loadfontloop} .internalstopped {//false} if
-+    } ifelse
-+  } {
-+    {//true .loadfontloop} .internalstopped {//false} if
-+  } ifelse
-+} bind def
-+
-+% Try to find a font using only the present contents of Fontmap.
-+/.tryfindfont {         % <fontname> .tryfindfont <font> true
-+                        % <fontname> .tryfindfont false
-+  //.FontDirectory 1 index //.fontknownget exec
-+    {                   % Already loaded
-+      exch pop //true
-+    }
-+    {
-+       dup Fontmap exch .knownget
-+       { //true //true }
-+       {                % Unknown font name.  Look for a file with the
-+                        % same name as the requested font.
-+         dup //.tryloadfont exec
-+         { exch pop //true //false }
-+         {
-+           % if we can't load by name check the native font map
-+           dup .nativeFontmap exch .knownget
-+           { //true //true }
-+           { //false //false } ifelse
-+         } ifelse
-+       } ifelse
-+
-+       {                % Try each element of the Fontmap in turn.
-+         pop
-+         //false exch   % (in case we exhaust the list)
-+                        % Stack: fontname false fontmaplist
-+         { exch pop
-+           dup type /nametype eq
-+            {                   % Font alias
-+              //.checkalias exec
-+              .tryfindfont exit
-+            }
-+            { dup dup type dup /arraytype eq exch /packedarraytype eq or exch xcheck and
-+               {                % Font with a procedural definition
-+                 exec           % The procedure will load the font.
-+                                % Check to make sure this really happened.
-+                 //.FontDirectory 1 index .knownget
-+                  { exch pop //true exit }
-+                 if
-+               }
-+               {                % Font file name
-+                 //true .loadfontloop { //true exit } if
-+               }
-+              ifelse
-+            }
-+           ifelse //false
-+         }
-+         forall
-+                        % Stack: font true -or- fontname false
-+         { //true
-+         }
-+         {                      % None of the Fontmap entries worked.
-+                                % Try loading a file with the same name
-+                                % as the requested font.
-+           //.tryloadfont exec
-+         }
-+        ifelse
-+       }
-+      if
-+    }
-+   ifelse
-+ } bind def
- 
- % Define a procedure to load all known fonts.
- % This isn't likely to be very useful.
-@@ -1192,9 +1204,9 @@ FAKEFONTS { exch } if pop def   % don't bind, .current/setglobal get redefined
- /.loadinitialfonts
-  { NOFONTMAP not
-     { /FONTMAP where
--          { pop [ FONTMAP .pathlist ]
-+          { pop [ FONTMAP //.pathlist exec]
-              { dup VMDEBUG findlibfile
--                { exch pop .loadFontmap }
-+                { exch pop //.loadFontmap exec }
-                 { /undefinedfilename signalerror }
-                ifelse
-              }
-@@ -1208,7 +1220,7 @@ FAKEFONTS { exch } if pop def   % don't bind, .current/setglobal get redefined
-                    pop pop
-                    defaultfontmap_content { .definefontmap } forall
-                  } {
--                   .loadFontmap
-+                   //.loadFontmap exec
-                  } ifelse
-                } {
-                  pop pop
-@@ -1272,3 +1284,18 @@ FAKEFONTS { exch } if pop def   % don't bind, .current/setglobal get redefined
-  { .makemodifiedfont
-    dup /FontName get exch definefont pop
-  } bind def
-+
-+% Undef these, not needed outside this file
-+[
-+ % /.fonttempstring /.scannextfontdir - are also used in gs_res.ps, so are undefined there
-+ % /.fontnameproperties - is used in pdf_font.ps
-+ % /.scanfontheaders - used in gs_cff.ps, gs_ttf.ps
-+ /.loadfontloop /.tryloadfont /.findfont /.pathlist /.loadFontmap /.lowerstring
-+ /.splitfilename /.scanfontdict /.scanfontbegin
-+ /.scanfontskip /.scan1fontstring
-+ /.scan1fontfirst /.scanfontdir
-+ /.setnativefontmapbuilt /.aliasfont
-+ /.setloadingfont /.substitutefaces /.substituteproperties /.substitutefamilies
-+ /.nametostring /.fontnamestring /.checkalias /.fontknownget /.stdsubstfont
-+ /.putgstringcopy
-+] {systemdict exch .forceundef} forall
-diff --git a/Resource/Init/gs_res.ps b/Resource/Init/gs_res.ps
-index 18d5452..b016113 100644
---- a/Resource/Init/gs_res.ps
-+++ b/Resource/Init/gs_res.ps
-@@ -961,7 +961,7 @@ userdict /.localcsdefaults //false put
-     dup type /nametype eq { .namestring } if
-     dup type /stringtype ne { //false exit } if
-                 % Check the resource directory.
--    dup .fonttempstring /FontResourceDir getsystemparam .genericrfn
-+    dup //.fonttempstring /FontResourceDir getsystemparam .genericrfn
-     status {
-       pop pop pop pop //true exit
-     } if
-@@ -969,7 +969,7 @@ userdict /.localcsdefaults //false put
-                 % as the font.
-     findlibfile { closefile //true exit } if
-                 % Scan a FONTPATH directory and try again.
--    .scannextfontdir not { //false exit } if
-+    //.scannextfontdir exec not { //false exit } if
-   } loop
- } bind def
- 
-@@ -1008,7 +1008,7 @@ currentdict /.fontstatusaux .undef
-         } ifelse
- } bind executeonly
- /ResourceForAll {
--        { .scannextfontdir not { exit } if } loop
-+        { //.scannextfontdir exec not { exit } if } loop
-         /Generic /Category findresource /ResourceForAll get exec
- } bind executeonly
- /.ResourceFileStatus {
-@@ -1163,6 +1163,7 @@ end				% level2dict
- [
-     /.default_resource_dir
-     /.resource_dir_name
-+    /.fonttempstring /.scannextfontdir % from gs_fonts.ps
- ]
- {systemdict exch .forceundef} forall
- 
--- 
-2.18.1
-
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0007.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0007.patch
deleted file mode 100644
index 5c1f839..0000000
--- a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-6116-0007.patch
+++ /dev/null
@@ -1,346 +0,0 @@
-From 5c49efe24dda0f2dbd2a09b9159e683cce99b6d8 Mon Sep 17 00:00:00 2001
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Fri, 11 Jan 2019 13:36:36 +0000
-Subject: [PATCH 7/7] Remove .forcedef, and harden .force* ops more
-
-Remove .forcedef and replace all uses with a direct call to .forceput instead.
-
-Ensure every procedure (named and trasient) that calls .forceput is
-executeonly.
-
-CVE: CVE-2019-6116
-Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- Resource/Init/gs_dps1.ps  | 15 +++++++-----
- Resource/Init/gs_init.ps  | 28 ++++++++-------------
- Resource/Init/gs_lev2.ps  | 51 +++++++++++++++++++--------------------
- Resource/Init/gs_ll3.ps   |  5 ++--
- Resource/Init/gs_res.ps   | 29 +++++++++++-----------
- Resource/Init/gs_statd.ps |  4 +--
- 6 files changed, 63 insertions(+), 69 deletions(-)
-
-diff --git a/Resource/Init/gs_dps1.ps b/Resource/Init/gs_dps1.ps
-index 8700c8c..3d2cf7a 100644
---- a/Resource/Init/gs_dps1.ps
-+++ b/Resource/Init/gs_dps1.ps
-@@ -33,14 +33,17 @@ systemdict begin
- 
- /SharedFontDirectory .FontDirectory .gcheck
-  { .currentglobal //false .setglobal
-+   currentdict
-    /LocalFontDirectory .FontDirectory dup maxlength dict copy
--   .forcedef	% LocalFontDirectory is local, systemdict is global
-+   .forceput	% LocalFontDirectory is local, systemdict is global
-    .setglobal .FontDirectory
-- }
-- { /LocalFontDirectory .FontDirectory
--   .forcedef	% LocalFontDirectory is local, systemdict is global
-+ } executeonly
-+ {
-+   currentdict
-+   /LocalFontDirectory .FontDirectory
-+   .forceput	% LocalFontDirectory is local, systemdict is global
-    50 dict
-- }
-+ }executeonly
- ifelse def
- 
- end				% systemdict
-@@ -55,7 +58,7 @@ level2dict begin
-     { //SharedFontDirectory }
-     { /LocalFontDirectory .systemvar }	% can't embed ref to local VM
-    ifelse .forceput pop	% LocalFontDirectory is local, systemdict is global
-- } .bind odef
-+ } .bind executeonly odef
- % Don't just copy (load) the definition of .setglobal:
- % it gets redefined for LL3.
- /setshared { /.setglobal .systemvar exec } odef
-diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps
-index d9a0829..45bebf4 100644
---- a/Resource/Init/gs_init.ps
-+++ b/Resource/Init/gs_init.ps
-@@ -54,7 +54,7 @@ systemdict exch
-    dup /userdict
-    currentdict dup 200 .setmaxlength		% userdict
-    .forceput			% userdict is local, systemdict is global
-- }
-+ } executeonly
- if begin
- 
- % Define dummy local/global operators if needed.
-@@ -299,13 +299,6 @@ QUIET not { printgreeting flush } if
-   1 index exch .makeoperator def
- } .bind def
- 
--% Define a special version of def for storing local objects into global
--% dictionaries.  Like .forceput, this exists only during initialization.
--/.forcedef {		% <key> <value> .forcedef -
--  1 .argindex pop	% check # of args
--  currentdict 3 1 roll .forceput
--} .bind odef
--
- % Define procedures for accessing variables in systemdict and userdict
- % regardless of the contents of the dictionary stack.
- /.systemvar {		% <name> .systemvar <value>
-@@ -347,7 +340,7 @@ DELAYBIND
-        }
-       ifelse
-     } .bind def
--} if
-+} executeonly if
- 
- %**************** BACKWARD COMPATIBILITY ****************
- /hwsizedict mark /HWSize //null .dicttomark readonly def
-@@ -655,7 +648,7 @@ currentdict /.typenames .undef
-       /ifelse .systemvar
-     ] cvx executeonly
-   exch .setglobal
--} odef
-+} executeonly odef
- systemdict /internaldict dup .makeinternaldict .makeoperator
- .forceput		% proc is local, systemdict is global
- 
-@@ -1093,7 +1086,7 @@ def
- 
- % Define $error.  This must be in local VM.
- .currentglobal //false .setglobal
--/$error 40 dict .forcedef	% $error is local, systemdict is global
-+currentdict /$error 40 dict .forceput	% $error is local, systemdict is global
-                 % newerror, errorname, command, errorinfo,
-                 % ostack, estack, dstack, recordstacks,
-                 % binary, globalmode,
-@@ -1112,8 +1105,8 @@ end
- % Define errordict similarly.  It has one entry per error name,
- %   plus handleerror.  However, some astonishingly badly written PostScript
- %   files require it to have at least one empty slot.
--/errordict ErrorNames length 3 add dict
--.forcedef		% errordict is local, systemdict is global
-+currentdict /errordict ErrorNames length 3 add dict
-+.forceput		% errordict is local, systemdict is global
- .setglobal		% back to global VM
- %  gserrordict contains all the default error handling methods, but unlike
- %  errordict it is noaccess after creation (also it is in global VM).
-@@ -1273,8 +1266,9 @@ end
- (END PROCS) VMDEBUG
- 
- % Define the font directory.
-+currentdict
- /FontDirectory //false .setglobal 100 dict //true .setglobal
--.forcedef		% FontDirectory is local, systemdict is global
-+.forceput		% FontDirectory is local, systemdict is global
- 
- % Define the encoding dictionary.
- /EncodingDirectory 16 dict def	% enough for Level 2 + PDF standard encodings
-@@ -2333,7 +2327,6 @@ SAFER { .setsafeglobal } if
-   //systemdict /UndefinePostScriptOperators get exec
-   //systemdict /UndefinePDFOperators get exec
-   //systemdict /.forcecopynew .forceundef	% remove temptation
--  //systemdict /.forcedef .forceundef		% ditto
-   //systemdict /.forceput .forceundef		% ditto
-   //systemdict /.undef .forceundef		    % ditto
-   //systemdict /.forceundef .forceundef		% ditto
-@@ -2368,9 +2361,9 @@ SAFER { .setsafeglobal } if
-         % (and, if implemented, context switching).
-   .currentglobal //false .setglobal
-      mark userparams { } forall .dicttomark readonly
--     /userparams exch .forcedef		% systemdict is read-only
-+     currentdict exch /userparams exch .forceput		% systemdict is read-only
-   .setglobal
--} if
-+} executeonly if
- /.currentsystemparams where {
-   pop
-         % Remove real system params from pssystemparams.
-@@ -2458,7 +2451,6 @@ end
- DELAYBIND not {
-   systemdict /.bindnow .undef       % We only need this for DELAYBIND
-   systemdict /.forcecopynew .undef	% remove temptation
--  systemdict /.forcedef .undef		% ditto
-   systemdict /.forceput .undef		% ditto
-   systemdict /.forceundef .undef	% ditto
- } if
-diff --git a/Resource/Init/gs_lev2.ps b/Resource/Init/gs_lev2.ps
-index 0f0d573..9c0c3a6 100644
---- a/Resource/Init/gs_lev2.ps
-+++ b/Resource/Init/gs_lev2.ps
-@@ -304,31 +304,30 @@ end
-     psuserparams exch /.checkFilePermitparams load put
-   .setglobal
- 
--pssystemparams begin
--  /CurDisplayList 0 .forcedef
--  /CurFormCache 0 .forcedef
--  /CurInputDevice () .forcedef
--  /CurOutlineCache 0 .forcedef
--  /CurOutputDevice () .forcedef
--  /CurPatternCache 0 .forcedef
--  /CurUPathCache 0 .forcedef
--  /CurScreenStorage 0 .forcedef
--  /CurSourceList 0 .forcedef
--  /DoPrintErrors //false .forcedef
--  /JobTimeout 0 .forcedef
--  /LicenseID (LN-001) .forcedef     % bogus
--  /MaxDisplayList 140000 .forcedef
--  /MaxFormCache 100000 .forcedef
--  /MaxImageBuffer 524288 .forcedef
--  /MaxOutlineCache 65000 .forcedef
--  /MaxPatternCache 100000 .forcedef
--  /MaxUPathCache 300000 .forcedef
--  /MaxScreenStorage 84000 .forcedef
--  /MaxSourceList 25000 .forcedef
--  /PrinterName product .forcedef
--  /RamSize 4194304 .forcedef
--  /WaitTimeout 40 .forcedef
--end
-+pssystemparams
-+dup /CurDisplayList 0 .forceput
-+dup /CurFormCache 0 .forceput
-+dup /CurInputDevice () .forceput
-+dup /CurOutlineCache 0 .forceput
-+dup /CurOutputDevice () .forceput
-+dup /CurPatternCache 0 .forceput
-+dup /CurUPathCache 0 .forceput
-+dup /CurScreenStorage 0 .forceput
-+dup /CurSourceList 0 .forceput
-+dup /DoPrintErrors //false .forceput
-+dup /JobTimeout 0 .forceput
-+dup /LicenseID (LN-001) .forceput     % bogus
-+dup /MaxDisplayList 140000 .forceput
-+dup /MaxFormCache 100000 .forceput
-+dup /MaxImageBuffer 524288 .forceput
-+dup /MaxOutlineCache 65000 .forceput
-+dup /MaxPatternCache 100000 .forceput
-+dup /MaxUPathCache 300000 .forceput
-+dup /MaxScreenStorage 84000 .forceput
-+dup /MaxSourceList 25000 .forceput
-+dup /PrinterName product .forceput
-+dup /RamSize 4194304 .forceput
-+    /WaitTimeout 40 .forceput
- 
- % Define the procedures for handling comment scanning.  The names
- % %ProcessComment and %ProcessDSCComment are known to the interpreter.
-@@ -710,7 +709,7 @@ pop		% currentsystemparams
- /statusdict currentdict def
- 
- currentdict end
--/statusdict exch .forcedef	% statusdict is local, systemdict is global
-+currentdict exch /statusdict exch .forceput	% statusdict is local, systemdict is global
- 
- % The following compatibility operators are in systemdict.  They are
- % defined here, rather than in gs_init.ps, because they require the
-diff --git a/Resource/Init/gs_ll3.ps b/Resource/Init/gs_ll3.ps
-index c86721f..881af44 100644
---- a/Resource/Init/gs_ll3.ps
-+++ b/Resource/Init/gs_ll3.ps
-@@ -521,9 +521,8 @@ end
- % Define additional user and system parameters.
- /HalftoneMode 0 .definepsuserparam
- /MaxSuperScreen 1016 .definepsuserparam
--pssystemparams begin		% read-only, so use .forcedef
--  /MaxDisplayAndSourceList 160000 .forcedef
--end
-+% read-only, so use .forceput
-+pssystemparams  /MaxDisplayAndSourceList 160000 .forceput
- 
- % Define the IdiomSet resource category.
- { /IdiomSet } {
-diff --git a/Resource/Init/gs_res.ps b/Resource/Init/gs_res.ps
-index b016113..89c0ed6 100644
---- a/Resource/Init/gs_res.ps
-+++ b/Resource/Init/gs_res.ps
-@@ -41,10 +41,10 @@ level2dict begin
- % However, Ed Taft of Adobe says their interpreters don't implement this
- % either, so we aren't going to worry about it for a while.
- 
--currentglobal //false setglobal systemdict begin
--  /localinstancedict 5 dict
--  .forcedef	% localinstancedict is local, systemdict is global
--end //true setglobal
-+currentglobal //false setglobal
-+  systemdict /localinstancedict 5 dict
-+  .forceput	% localinstancedict is local, systemdict is global
-+//true setglobal
- /.emptydict 0 dict readonly def
- setglobal
- 
-@@ -149,7 +149,7 @@ setglobal
-           dup [ exch 0 -1 ] exch
-           .Instances 4 2 roll put
-                 % Make the Category dictionary read-only.  We will have to
--                % use .forceput / .forcedef later to replace the dummy,
-+                % use .forceput / .forceput later to replace the dummy,
-                 % empty .Instances dictionary with the real one later.
-           readonly
-         }{
-@@ -304,7 +304,8 @@ systemdict begin
-      dup () ne {
-      .file_name_directory_separator concatstrings
-     } if
--    2 index exch //false .file_name_combine not {
-+    2 index exch //false
-+    .file_name_combine not {
-       (Error: .default_resource_dir returned ) print exch print ( that can't combine with ) print =
-       /.default_resource_dir cvx /configurationerror signalerror
-     } if
-@@ -317,14 +318,14 @@ currentdict /pssystemparams known not {
- pssystemparams begin
-   //.default_resource_dir exec
-   /FontResourceDir (Font) //.resource_dir_name exec
--     readonly .forcedef	% pssys'params is r-o
-+     readonly currentdict 3 1 roll .forceput	% pssys'params is r-o
-   /GenericResourceDir () //.resource_dir_name exec
--     readonly .forcedef	% pssys'params is r-o
-+     readonly currentdict 3 1 roll .forceput	% pssys'params is r-o
-   pop % .default_resource_dir
-   /GenericResourcePathSep
--        .file_name_separator readonly .forcedef		% pssys'params is r-o
--  (%diskFontResourceDir) cvn (/Resource/Font/) readonly .forcedef	% pssys'params is r-o
--  (%diskGenericResourceDir) cvn (/Resource/) readonly .forcedef	% pssys'params is r-o
-+        .file_name_separator readonly currentdict 3 1 roll .forceput		% pssys'params is r-o
-+  currentdict (%diskFontResourceDir) cvn (/Resource/Font/) readonly .forceput	% pssys'params is r-o
-+  currentdict (%diskGenericResourceDir) cvn (/Resource/) readonly .forceput	% pssys'params is r-o
- end
- end
- 
-@@ -422,8 +423,8 @@ status {
-                 .Instances dup //.emptydict eq {
-                   pop 3 dict
-                         % As noted above, Category dictionaries are read-only,
--                        % so we have to use .forcedef here.
--                  /.Instances 1 index .forcedef	% Category dict is read-only
-+                        % so we have to use .forceput here.
-+                  currentdict /.Instances 2 index .forceput	% Category dict is read-only
-                 } executeonly if
-               }
-               { .LocalInstances dup //.emptydict eq
-@@ -441,7 +442,7 @@ status {
-            { /defineresource cvx /typecheck signaloperror
-            }
-         ifelse
--} .bind executeonly .makeoperator		% executeonly to prevent access to .forcedef
-+} .bind executeonly .makeoperator		% executeonly to prevent access to .forceput
- /UndefineResource
-         {  { dup 2 index .knownget
-               { dup 1 get 1 ge
-diff --git a/Resource/Init/gs_statd.ps b/Resource/Init/gs_statd.ps
-index 20d4c96..b6a7659 100644
---- a/Resource/Init/gs_statd.ps
-+++ b/Resource/Init/gs_statd.ps
-@@ -21,10 +21,10 @@ systemdict begin
-         % We make statusdict a little larger for Level 2 stuff.
-         % Note that it must be allocated in local VM.
-  .currentglobal //false .setglobal
-- /statusdict 91 dict .forcedef		% statusdict is local, sys'dict global
-+ currentdict /statusdict 91 dict .forceput		% statusdict is local, sys'dict global
-         % To support the Level 2 job control features,
-         % serverdict must also be in local VM.
-- /serverdict 10 dict .forcedef		% serverdict is local, sys'dict global
-+ currentdict /serverdict 10 dict .forceput		% serverdict is local, sys'dict global
-  .setglobal
- end
- 
--- 
-2.18.1
-
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.02-genarch.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.02-genarch.patch
index fc144f6..7b70bb8 100644
--- a/poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.02-genarch.patch
+++ b/poky/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.02-genarch.patch
@@ -1,7 +1,7 @@
-From 94850954b88440df6c41d2dd133c422ffc84d9aa Mon Sep 17 00:00:00 2001
+From c076d0fc970f190f723018258790c79b59daba2e Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 29 Mar 2018 16:12:48 +0800
-Subject: [PATCH 07/10] not generate objarch.h at compile time
+Date: Sat, 11 May 2019 21:20:27 +0800
+Subject: [PATCH] not generate objarch.h at compile time
 
 Import patch from windriver linux for cross compilation, and split
 patches into oe way under different directories such as i586, powerpc etc
@@ -12,19 +12,19 @@
 Signed-off-by: Kang Kai <kai.kang@windriver.com>
 Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
 
-Rebase to 9.23
+Rebase to 9.27
 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
 ---
  base/lib.mak | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/base/lib.mak b/base/lib.mak
-index 0036d1e..302877e 100644
+index 3ed088a..5af2b43 100644
 --- a/base/lib.mak
 +++ b/base/lib.mak
 @@ -87,8 +87,8 @@ arch_h=$(GLGEN)arch.h
  stdpre_h=$(GLSRC)stdpre.h
- stdint__h=$(GLSRC)stdint_.h $(std_h)
+ stdint__h=$(GLSRC)stdint_.h
  
 -$(GLGEN)arch.h : $(GENARCH_XE)
 -	$(EXP)$(GENARCH_XE) $(GLGEN)arch.h $(TARGET_ARCH_FILE)
@@ -34,5 +34,5 @@
  # Platform interfaces
  
 -- 
-1.8.3.1
+2.7.4
 
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript_9.26.bb b/poky/meta/recipes-extended/ghostscript/ghostscript_9.27.bb
similarity index 84%
rename from poky/meta/recipes-extended/ghostscript/ghostscript_9.26.bb
rename to poky/meta/recipes-extended/ghostscript/ghostscript_9.27.bb
index bb32347..fcc9e00 100644
--- a/poky/meta/recipes-extended/ghostscript/ghostscript_9.26.bb
+++ b/poky/meta/recipes-extended/ghostscript/ghostscript_9.27.bb
@@ -19,7 +19,7 @@
 UPSTREAM_CHECK_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases"
 UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
 
-SRC_URI_BASE = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs926/${BPN}-${PV}.tar.gz \
+SRC_URI_BASE = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs927/${BPN}-${PV}.tar.gz \
                 file://ghostscript-9.15-parallel-make.patch \
                 file://ghostscript-9.16-Werror-return-type.patch \
                 file://do-not-check-local-libpng-source.patch \
@@ -32,19 +32,6 @@
            file://ghostscript-9.02-genarch.patch \
            file://objarch.h \
            file://cups-no-gcrypt.patch \
-           file://CVE-2019-6116-0001.patch \
-           file://CVE-2019-6116-0002.patch \
-           file://CVE-2019-6116-0003.patch \
-           file://CVE-2019-6116-0004.patch \
-           file://CVE-2019-6116-0005.patch \
-           file://CVE-2019-6116-0006.patch \
-           file://CVE-2019-6116-0007.patch \
-           file://CVE-2019-3835-0001.patch \
-           file://CVE-2019-3835-0002.patch \
-           file://CVE-2019-3835-0003.patch \
-           file://CVE-2019-3835-0004.patch \
-           file://CVE-2019-3838-0001.patch \
-           file://CVE-2019-3838-0002.patch \
            "
 
 SRC_URI_class-native = "${SRC_URI_BASE} \
@@ -52,8 +39,8 @@
                         file://base-genht.c-add-a-preprocessor-define-to-allow-fope.patch \
                         "
 
-SRC_URI[md5sum] = "806bc2dedbc7f69b003f536658e08d4a"
-SRC_URI[sha256sum] = "831fc019bd477f7cc2d481dc5395ebfa4a593a95eb2fe1eb231a97e450d7540d"
+SRC_URI[md5sum] = "c3990a504a3a23b9babe9de00ed6597d"
+SRC_URI[sha256sum] = "9760e8bdd07a08dbd445188a6557cb70e60ccb6a5601f7dbfba0d225e28ce285"
 
 # Put something like
 #
@@ -136,3 +123,6 @@
 
 # ghostscript does not supports "arc"
 COMPATIBLE_HOST = "^(?!arc).*"
+
+# some entries in NVD uses gpl_ghostscript
+CVE_PRODUCT = "ghostscript gpl_ghostscript"
diff --git a/poky/meta/recipes-extended/groff/files/0001-fix-shebang-for-taget.patch b/poky/meta/recipes-extended/groff/files/0001-fix-shebang-for-taget.patch
new file mode 100644
index 0000000..1b94e8a
--- /dev/null
+++ b/poky/meta/recipes-extended/groff/files/0001-fix-shebang-for-taget.patch
@@ -0,0 +1,31 @@
+From 54c795c8a3c7356294007b5a4eed1dd47ed6411d Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Sat, 11 May 2019 19:19:27 +0800
+Subject: [PATCH] fix shebang for target
+
+...
+|ERROR: groff-1.22.4-r0 do_package_qa: QA Issue: /usr/bin/gdiffmk contained in
+package groff requires tmp-glibc/hosttools/bash, but no providers found in
+RDEPENDS_groff? [file-rdeps]
+...
+
+Upstream-Status: Inappropriate [oe-core specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ contrib/gdiffmk/gdiffmk.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/contrib/gdiffmk/gdiffmk.sh b/contrib/gdiffmk/gdiffmk.sh
+index 5ce931e..10f2300 100644
+--- a/contrib/gdiffmk/gdiffmk.sh
++++ b/contrib/gdiffmk/gdiffmk.sh
+@@ -1,4 +1,4 @@
+-#!@BASH_PROG@
++#!/bin/sh
+ # Copyright (C) 2004-2018 Free Software Foundation, Inc.
+ # Written by Mike Bianchi <MBianchi@Foveal.com <mailto:MBianchi@Foveal.com>>
+ # Thanks to Peter Bray for debugging.
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-extended/groff/groff-1.22.3/0001-replace-perl-w-with-use-warnings.patch b/poky/meta/recipes-extended/groff/files/0001-replace-perl-w-with-use-warnings.patch
similarity index 76%
rename from poky/meta/recipes-extended/groff/groff-1.22.3/0001-replace-perl-w-with-use-warnings.patch
rename to poky/meta/recipes-extended/groff/files/0001-replace-perl-w-with-use-warnings.patch
index f1db5b0..eda6a40 100644
--- a/poky/meta/recipes-extended/groff/groff-1.22.3/0001-replace-perl-w-with-use-warnings.patch
+++ b/poky/meta/recipes-extended/groff/files/0001-replace-perl-w-with-use-warnings.patch
@@ -1,7 +1,7 @@
-From 5b574542070db286c89b3827e8f15ed4b3b39034 Mon Sep 17 00:00:00 2001
+From 6821a23e6cf34df37c351b45be413a8da9115f9f Mon Sep 17 00:00:00 2001
 From: Robert Yang <liezhi.yang@windriver.com>
-Date: Thu, 6 Apr 2017 01:46:00 -0700
-Subject: [PATCH] replace "perl -w" with "use warnings"
+Date: Sat, 11 May 2019 17:03:03 +0800
+Subject: [PATCH 1/2] replace "perl -w" with "use warnings"
 
 The shebang's max length is usually 128 as defined in
 /usr/include/linux/binfmts.h:
@@ -18,6 +18,10 @@
 Upstream-Status: Pending
 
 Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+
+Rebase to 1.22.4.
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
 ---
  font/devpdf/util/BuildFoundries.pl | 3 ++-
  src/devices/gropdf/gropdf.pl       | 3 ++-
@@ -26,7 +30,7 @@
  4 files changed, 8 insertions(+), 4 deletions(-)
 
 diff --git a/font/devpdf/util/BuildFoundries.pl b/font/devpdf/util/BuildFoundries.pl
-index 39f2f0d..a2bfd8e 100644
+index f8af826..9584e28 100644
 --- a/font/devpdf/util/BuildFoundries.pl
 +++ b/font/devpdf/util/BuildFoundries.pl
 @@ -1,4 +1,4 @@
@@ -36,15 +40,15 @@
  #   BuildFoundries   : Given a Foundry file generate groff and download files
  #   Deri James       : Monday 07 Feb 2011
 @@ -22,6 +22,7 @@
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
+ # along with this program.  If not, see <http://www.gnu.org/licenses/>.
  
  use strict;
 +use warnings;
  
+ (my $progname = $0) =~s @.*/@@;
  my $where=shift||'';
- my $devps=shift||'../devps';
 diff --git a/src/devices/gropdf/gropdf.pl b/src/devices/gropdf/gropdf.pl
-index 035d123..b933b32 100644
+index 2ec52d0..ce5a06f 100644
 --- a/src/devices/gropdf/gropdf.pl
 +++ b/src/devices/gropdf/gropdf.pl
 @@ -1,4 +1,4 @@
@@ -59,10 +63,10 @@
  use strict;
 +use warnings;
  use Getopt::Long qw(:config bundling);
- use Compress::Zlib;
  
+ use constant
 diff --git a/src/devices/gropdf/pdfmom.pl b/src/devices/gropdf/pdfmom.pl
-index beec820..4b46ea4 100644
+index c9b08b2..61124f3 100644
 --- a/src/devices/gropdf/pdfmom.pl
 +++ b/src/devices/gropdf/pdfmom.pl
 @@ -1,4 +1,4 @@
@@ -71,8 +75,8 @@
  #
  #	pdfmom		: Frontend to run groff -mom to produce PDFs
  #	Deri James	: Friday 16 Mar 2012
-@@ -24,6 +24,7 @@
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
+@@ -23,6 +23,7 @@
+ # along with this program.  If not, see <http://www.gnu.org/licenses/>.
  
  use strict;
 +use warnings;
@@ -80,17 +84,17 @@
  my @cmd;
  my $dev='pdf';
 diff --git a/src/utils/afmtodit/afmtodit.pl b/src/utils/afmtodit/afmtodit.pl
-index 4f2ce83..5c078ff 100644
+index 954c58e..81a6c97 100644
 --- a/src/utils/afmtodit/afmtodit.pl
 +++ b/src/utils/afmtodit/afmtodit.pl
 @@ -1,4 +1,4 @@
 -#! /usr/bin/perl -w
 +#! /usr/bin/perl
  # -*- Perl -*-
- # Copyright (C) 1989-2014  Free Software Foundation, Inc.
+ # Copyright (C) 1989-2018 Free Software Foundation, Inc.
  #      Written by James Clark (jjc@jclark.com)
 @@ -19,6 +19,7 @@
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
+ # along with this program.  If not, see <http://www.gnu.org/licenses/>.
  
  use strict;
 +use warnings;
@@ -98,5 +102,5 @@
  @afmtodit.tables@
  
 -- 
-2.10.2
+2.7.4
 
diff --git a/poky/meta/recipes-extended/groff/files/0001-support-musl.patch b/poky/meta/recipes-extended/groff/files/0001-support-musl.patch
new file mode 100644
index 0000000..a837b11
--- /dev/null
+++ b/poky/meta/recipes-extended/groff/files/0001-support-musl.patch
@@ -0,0 +1,41 @@
+From 695965c27be74acb5968f19d51af86065c4b71a9 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 13 May 2019 09:48:14 +0800
+Subject: [PATCH] support musl
+
+...
+|./lib/math.h:2877:1: error: 'int signbit(float)' conflicts with a previous declaration
+| _GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit)
+| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+|In file included from recipe-sysroot/usr/include/c++/8.3.0/math.h:36,
+|                 from ./lib/math.h:27,
+|                 from ./src/include/driver.h:27,
+|                 from src/devices/grodvi/dvi.cpp:20:
+|recipe-sysroot/usr/include/c++/8.3.0/cmath:661:3: note: previous declaration 'constexpr bool std::signbit(float)'
+|   signbit(float __x)
+|   ^~~~~~~
+...
+
+Upstream-Status: Backport [http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commit;h=453ff940449bbbde9ec00f0bbf82a359c5598fc7]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ gnulib_m4/signbit.m4 | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/gnulib_m4/signbit.m4 b/gnulib_m4/signbit.m4
+index 9e7884d..8b9c70c 100644
+--- a/gnulib_m4/signbit.m4
++++ b/gnulib_m4/signbit.m4
+@@ -31,6 +31,8 @@ AC_DEFUN([gl_SIGNBIT],
+         [case "$host_os" in
+                           # Guess yes on glibc systems.
+            *-gnu* | gnu*) gl_cv_func_signbit="guessing yes" ;;
++                          # Guess yes on musl systems.
++           *-musl*)       gl_cv_func_signbit="guessing yes" ;;
+                           # Guess yes on native Windows.
+            mingw*)        gl_cv_func_signbit="guessing yes" ;;
+                           # If we don't know, assume the worst.
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-extended/groff/files/groff-not-search-fonts-on-build-host.patch b/poky/meta/recipes-extended/groff/files/groff-not-search-fonts-on-build-host.patch
new file mode 100644
index 0000000..c80a2a5
--- /dev/null
+++ b/poky/meta/recipes-extended/groff/files/groff-not-search-fonts-on-build-host.patch
@@ -0,0 +1,32 @@
+From 75761ae7adc88412de4379d1cf5484b055cd5f18 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Sat, 11 May 2019 17:06:29 +0800
+Subject: [PATCH 2/2] groff searchs fonts which are provided by ghostscript on
+ build host. It causes non-determinism issue. So not search font dirs on host.
+
+Upstream-Status: Inappropriate [cross build specific]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+Rebase to 1.22.4
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ font/devpdf/Foundry.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/font/devpdf/Foundry.in b/font/devpdf/Foundry.in
+index 93e9b66..235b23b 100644
+--- a/font/devpdf/Foundry.in
++++ b/font/devpdf/Foundry.in
+@@ -65,7 +65,7 @@ ZD|Y||||Dingbats!d050000l.pfb
+ #======================================================================
+ 
+ #Foundry|Name|Searchpath
+-foundry|U|(gs):@urwfontsdir@ :/usr/share/fonts/type1/gsfonts :/opt/local/share/fonts/urw-fonts # the URW fonts delivered with ghostscript (may be different)
++foundry|U|(gs) # the URW fonts delivered with ghostscript (may be different)
+ #Define Flags for afmtodit
+ 
+ r=-i 0 -m
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-extended/groff/groff-1.22.3/0001-Unset-need_charset_alias-when-building-for-musl.patch b/poky/meta/recipes-extended/groff/groff-1.22.3/0001-Unset-need_charset_alias-when-building-for-musl.patch
deleted file mode 100644
index b61b432..0000000
--- a/poky/meta/recipes-extended/groff/groff-1.22.3/0001-Unset-need_charset_alias-when-building-for-musl.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From b9565dc2fe0c4f7daaec91b7e83bc7313dee2f4a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 13 Apr 2015 17:02:13 -0700
-Subject: [PATCH] Unset need_charset_alias when building for musl
-
-localcharset uses ac_cv_gnu_library_2_1 from glibc21.m4
-which actually shoudl be fixed in gnulib and then all downstream
-projects will get it eventually. For now we apply the fix to
-coreutils
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/gnulib.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: groff-1.22.3/src/libs/gnulib/lib/Makefile.am
-===================================================================
---- groff-1.22.3.orig/src/libs/gnulib/lib/Makefile.am
-+++ groff-1.22.3/src/libs/gnulib/lib/Makefile.am
-@@ -113,7 +113,7 @@ install-exec-localcharset: all-local
- 	  case '$(host_os)' in \
- 	    darwin[56]*) \
- 	      need_charset_alias=true ;; \
--	    darwin* | cygwin* | mingw* | pw32* | cegcc*) \
-+	    darwin* | cygwin* | mingw* | pw32* | cegcc* | linux-musl*) \
- 	      need_charset_alias=false ;; \
- 	    *) \
- 	      need_charset_alias=true ;; \
diff --git a/poky/meta/recipes-extended/groff/groff-1.22.3/groff-1.22.2-correct-man.local-install-path.patch b/poky/meta/recipes-extended/groff/groff-1.22.3/groff-1.22.2-correct-man.local-install-path.patch
deleted file mode 100644
index c73328a..0000000
--- a/poky/meta/recipes-extended/groff/groff-1.22.3/groff-1.22.2-correct-man.local-install-path.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Correct the install path of man.local to fix following error:
-    /yocto/build/tmp/sysroots/x86_64-linux/usr/share/groff/1.22.2/tmac/an-old.tmac:690: warning: can't find macro file `man.local'
-
-Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
-Upstream-Status: Pending
-
-diff --git a/tmac/Makefile.sub b/tmac/Makefile.sub
-index 1506232..f1468c5 100644
---- a/tmac/Makefile.sub
-+++ b/tmac/Makefile.sub
-@@ -121,9 +121,9 @@ install_data: $(NORMALFILES) $(SPECIALFILES) man.local \
- 	  $(RM) $(DESTDIR)$(mdocdir)/$$f; \
- 	  $(INSTALL_DATA) $$f-s $(DESTDIR)$(mdocdir)/$$f; \
- 	done
--	-test -f $(DESTDIR)$(localtmacdir)/man.local \
-+	-test -f $(DESTDIR)$(tmacdir)/man.local \
- 	  || $(INSTALL_DATA) $(srcdir)/man.local \
--	       $(DESTDIR)$(localtmacdir)/man.local
-+	       $(DESTDIR)$(tmacdir)/man.local
- 	-test -f $(DESTDIR)$(localtmacdir)/mdoc.local \
- 	  || $(INSTALL_DATA) mdoc.local-s $(DESTDIR)$(localtmacdir)/mdoc.local
- 
-@@ -164,9 +164,9 @@ uninstall_sub:
- 	$(RM) $(DESTDIR)$(tmacdir)/$(tmac_s_prefix)s.tmac
- 	$(RM) $(DESTDIR)$(tmacdir)/$(tmac_an_prefix)an.tmac
- 	$(RM) $(DESTDIR)$(tmacdir)/www.tmac
--	-if cmp -s $(DESTDIR)$(localtmacdir)/man.local \
-+	-if cmp -s $(DESTDIR)$(tmacdir)/man.local \
- 	           $(srcdir)/man.local; then \
--	  $(RM) $(DESTDIR)$(localtmacdir)/man.local; \
-+	  $(RM) $(DESTDIR)$(tmacdir)/man.local; \
- 	fi
- 	-if cmp -s $(DESTDIR)$(localtmacdir)/mdoc.local \
- 	           $(srcdir)/mdoc.local; then \
diff --git a/poky/meta/recipes-extended/groff/groff-1.22.3/groff-not-search-fonts-on-build-host.patch b/poky/meta/recipes-extended/groff/groff-1.22.3/groff-not-search-fonts-on-build-host.patch
deleted file mode 100644
index ff8f320..0000000
--- a/poky/meta/recipes-extended/groff/groff-1.22.3/groff-not-search-fonts-on-build-host.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-groff searchs fonts which are provided by ghostscript on build host.
-It causes non-determinism issue. So not search font dirs on host.
-
-Upstream-Status: Inappropriate [cross build specific]
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-diff --git a/font/devpdf/Foundry.in b/font/devpdf/Foundry.in
-index a6e968f..8094642 100644
---- a/font/devpdf/Foundry.in
-+++ b/font/devpdf/Foundry.in
-@@ -65,7 +65,7 @@ ZD|Y||||Dingbats!d050000l.pfb
- #======================================================================
- 
- #Foundry|Name|Searchpath
--foundry|U|(gs):/usr/share/fonts/type1/gsfonts :/opt/local/share/fonts/urw-fonts # the URW fonts delivered with ghostscript (may be different)
-+foundry|U|(gs) # the URW fonts delivered with ghostscript (may be different)
- #Define Flags for afmtodit
- 
- r=-i 0 -m
diff --git a/poky/meta/recipes-extended/groff/groff_1.22.3.bb b/poky/meta/recipes-extended/groff/groff_1.22.4.bb
similarity index 62%
rename from poky/meta/recipes-extended/groff/groff_1.22.3.bb
rename to poky/meta/recipes-extended/groff/groff_1.22.4.bb
index ba90cad..37eee9a 100644
--- a/poky/meta/recipes-extended/groff/groff_1.22.3.bb
+++ b/poky/meta/recipes-extended/groff/groff_1.22.4.bb
@@ -8,49 +8,27 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 
 SRC_URI = "${GNU_MIRROR}/groff/groff-${PV}.tar.gz \
-	file://groff-1.22.2-correct-man.local-install-path.patch \
-	file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
 	file://0001-replace-perl-w-with-use-warnings.patch \
 	file://groff-not-search-fonts-on-build-host.patch \
+	file://0001-fix-shebang-for-taget.patch \
+	file://0001-support-musl.patch \
 "
 
-SRC_URI[md5sum] = "cc825fa64bc7306a885f2fb2268d3ec5"
-SRC_URI[sha256sum] = "3a48a9d6c97750bfbd535feeb5be0111db6406ddb7bb79fc680809cda6d828a5"
+SRC_URI[md5sum] = "08fb04335e2f5e73f23ea4c3adbf0c5f"
+SRC_URI[sha256sum] = "e78e7b4cb7dec310849004fa88847c44701e8d133b5d4c13057d876c1bad0293"
 
-DEPENDS = "groff-native"
-DEPENDS_class-native = ""
+DEPENDS = "bison-native"
 RDEPENDS_${PN} += "perl sed"
 
-inherit autotools texinfo multilib_script
+inherit autotools-brokensep texinfo multilib_script pkgconfig
 
 MULTILIB_SCRIPTS = "${PN}:${bindir}/gpinyin ${PN}:${bindir}/groffer ${PN}:${bindir}/grog"
 
-EXTRA_OECONF = "--without-x"
+EXTRA_OECONF = "--without-x --without-doc"
 PARALLEL_MAKE = ""
 
 CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'"
 
-do_configure_prepend() {
-	if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then
-		sed -i \
-		    -e '/^GROFFBIN=/s:=.*:=${STAGING_BINDIR_NATIVE}/groff:' \
-		    -e '/^TROFFBIN=/s:=.*:=${STAGING_BINDIR_NATIVE}/troff:' \
-		    -e '/^GROFF_BIN_PATH=/s:=.*:=${STAGING_BINDIR_NATIVE}:' \
-		    -e '/^GROFF_BIN_DIR=/s:=.*:=${STAGING_BINDIR_NATIVE}:' \
-		    ${S}/contrib/*/Makefile.sub \
-		    ${S}/doc/Makefile.in \
-		    ${S}/doc/Makefile.sub
-	fi
-}
-
-do_configure_append() {
-    # generate gnulib configure script
-    olddir=`pwd`
-    cd ${S}/src/libs/gnulib/
-    ACLOCAL="$ACLOCAL" autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || die "autoreconf execution failed."
-    cd ${olddir}
-}
-
 do_install_append() {
 	# Some distros have both /bin/perl and /usr/bin/perl, but we set perl location
 	# for target as /usr/bin/perl, so fix it to /usr/bin/perl.
diff --git a/poky/meta/recipes-extended/iptables/iptables/0003-extensions-format-security-fixes-in-libipt_icmp.patch b/poky/meta/recipes-extended/iptables/iptables/0003-extensions-format-security-fixes-in-libipt_icmp.patch
new file mode 100644
index 0000000..e26594d
--- /dev/null
+++ b/poky/meta/recipes-extended/iptables/iptables/0003-extensions-format-security-fixes-in-libipt_icmp.patch
@@ -0,0 +1,61 @@
+From 907e429d7548157016cd51aba4adc5d0c7d9f816 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Adam=20Go=C5=82=C4=99biowski?= <adamg@pld-linux.org>
+Date: Wed, 14 Nov 2018 07:35:28 +0100
+Subject: extensions: format-security fixes in libip[6]t_icmp
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+commit 61d6c3834de3 ("xtables: add 'printf' attribute to xlate_add")
+introduced support for gcc feature to check format string against passed
+argument.  This commit adds missing bits to extenstions's libipt_icmp.c
+and libip6t_icmp6.c that were causing build to fail.
+
+Fixes: 61d6c3834de3 ("xtables: add 'printf' attribute to xlate_add")
+Signed-off-by: Adam Gołębiowski <adamg@pld-linux.org>
+Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
+
+Upstream-Status: Backport
+---
+ extensions/libip6t_icmp6.c | 4 ++--
+ extensions/libipt_icmp.c   | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/extensions/libip6t_icmp6.c b/extensions/libip6t_icmp6.c
+index 45a71875..cc7bfaeb 100644
+--- a/extensions/libip6t_icmp6.c
++++ b/extensions/libip6t_icmp6.c
+@@ -230,7 +230,7 @@ static unsigned int type_xlate_print(struct xt_xlate *xl, unsigned int icmptype,
+ 	type_name = icmp6_type_xlate(icmptype);
+ 
+ 	if (type_name) {
+-		xt_xlate_add(xl, type_name);
++		xt_xlate_add(xl, "%s", type_name);
+ 	} else {
+ 		for (i = 0; i < ARRAY_SIZE(icmpv6_codes); ++i)
+ 			if (icmpv6_codes[i].type == icmptype &&
+@@ -239,7 +239,7 @@ static unsigned int type_xlate_print(struct xt_xlate *xl, unsigned int icmptype,
+ 				break;
+ 
+ 		if (i != ARRAY_SIZE(icmpv6_codes))
+-			xt_xlate_add(xl, icmpv6_codes[i].name);
++			xt_xlate_add(xl, "%s", icmpv6_codes[i].name);
+ 		else
+ 			return 0;
+ 	}
+diff --git a/extensions/libipt_icmp.c b/extensions/libipt_icmp.c
+index 54189976..e76257c5 100644
+--- a/extensions/libipt_icmp.c
++++ b/extensions/libipt_icmp.c
+@@ -236,7 +236,7 @@ static unsigned int type_xlate_print(struct xt_xlate *xl, unsigned int icmptype,
+ 			if (icmp_codes[i].type == icmptype &&
+ 			    icmp_codes[i].code_min == code_min &&
+ 			    icmp_codes[i].code_max == code_max) {
+-				xt_xlate_add(xl, icmp_codes[i].name);
++				xt_xlate_add(xl, "%s", icmp_codes[i].name);
+ 				return 1;
+ 			}
+ 	}
+-- 
+cgit v1.2.1
+
diff --git a/poky/meta/recipes-extended/iptables/iptables_1.6.2.bb b/poky/meta/recipes-extended/iptables/iptables_1.8.2.bb
similarity index 90%
rename from poky/meta/recipes-extended/iptables/iptables_1.6.2.bb
rename to poky/meta/recipes-extended/iptables/iptables_1.8.2.bb
index a57cac3..ad2c1a6 100644
--- a/poky/meta/recipes-extended/iptables/iptables_1.6.2.bb
+++ b/poky/meta/recipes-extended/iptables/iptables_1.8.2.bb
@@ -10,10 +10,11 @@
 SRC_URI = "http://netfilter.org/projects/iptables/files/iptables-${PV}.tar.bz2 \
            file://0001-configure-Add-option-to-enable-disable-libnfnetlink.patch \
            file://0002-configure.ac-only-check-conntrack-when-libnfnetlink-enabled.patch \
+           file://0003-extensions-format-security-fixes-in-libipt_icmp.patch  \
 "
 
-SRC_URI[md5sum] = "7d2b7847e4aa8832a18437b8a4c1873d"
-SRC_URI[sha256sum] = "55d02dfa46263343a401f297d44190f2a3e5113c8933946f094ed40237053733"
+SRC_URI[md5sum] = "944558e88ddcc3b9b0d9550070fa3599"
+SRC_URI[sha256sum] = "a3778b50ed1a3256f9ca975de82c2204e508001fc2471238c8c97f3d1c4c12af"
 
 inherit autotools pkgconfig
 
diff --git a/poky/meta/recipes-extended/libsolv/libsolv/0001-solver_solve-only-disfavor-recommends-if-there-are-a.patch b/poky/meta/recipes-extended/libsolv/libsolv/0001-solver_solve-only-disfavor-recommends-if-there-are-a.patch
deleted file mode 100644
index 139613a..0000000
--- a/poky/meta/recipes-extended/libsolv/libsolv/0001-solver_solve-only-disfavor-recommends-if-there-are-a.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 19d7cc87adba92d31d5fafdf7db00920d24a96a6 Mon Sep 17 00:00:00 2001
-From: Alejandro del Castillo <alejandro.delcastillo@ni.com>
-Date: Wed, 6 Feb 2019 13:24:04 -0600
-Subject: [PATCH] solver_solve: only disfavor recommends if there are any
-
-In a repo that have pkg 'a' and 'b' available, and 'b' is disfavored,
-but 'a' doesn't recommend 'b', libsolv segfaults on
-solver_addrecommendsrules, since solv->recommendsruleq is null. Only
-call solver_addrecommendsrules if there are recommends rules.
-
-Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
-
-Upstream-Status: Accepted
----
- src/solver.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/solver.c b/src/solver.c
-index a80090d19..ad78327a8 100644
---- a/src/solver.c
-+++ b/src/solver.c
-@@ -3920,7 +3920,7 @@ solver_solve(Solver *solv, Queue *job)
-   else
-     solv->yumobsrules = solv->yumobsrules_end = solv->nrules;
- 
--  if (solv->havedisfavored && solv->strongrecommends)
-+  if (solv->havedisfavored && solv->strongrecommends && solv->recommendsruleq)
-     solver_addrecommendsrules(solv);
-   else
-     solv->recommendsrules = solv->recommendsrules_end = solv->nrules;
--- 
-2.20.1
-
diff --git a/poky/meta/recipes-extended/libsolv/libsolv_0.7.3.bb b/poky/meta/recipes-extended/libsolv/libsolv_0.7.4.bb
similarity index 85%
rename from poky/meta/recipes-extended/libsolv/libsolv_0.7.3.bb
rename to poky/meta/recipes-extended/libsolv/libsolv_0.7.4.bb
index 70c8dbc..b8653ad 100644
--- a/poky/meta/recipes-extended/libsolv/libsolv_0.7.3.bb
+++ b/poky/meta/recipes-extended/libsolv/libsolv_0.7.4.bb
@@ -8,11 +8,11 @@
 DEPENDS = "expat zlib"
 
 SRC_URI = "git://github.com/openSUSE/libsolv.git \
-           file://0001-solver_solve-only-disfavor-recommends-if-there-are-a.patch \
            file://0001-build-use-GNUInstallDirs.patch \
 "
 
-SRCREV = "dc7d0f1c3113f2c8217563166906bef3eb5d1ee1"
+SRCREV = "51fc3b1214aa9677e972712fa1ce6916e438751f"
+
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.4-rc1.patch b/poky/meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.4-rc1.patch
deleted file mode 100644
index 6d40d3c..0000000
--- a/poky/meta/recipes-extended/libtirpc/libtirpc/libtirpc-1.0.4-rc1.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-Patch from Fedora https://src.fedoraproject.org/rpms/libtirpc/raw/master/f/libtirpc-1.0.4-rc1.patch
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-diff --git a/src/clnt_generic.c b/src/clnt_generic.c
-index e5a314f..3f3dabf 100644
---- a/src/clnt_generic.c
-+++ b/src/clnt_generic.c
-@@ -47,7 +47,6 @@
- 
- extern bool_t __rpc_is_local_host(const char *);
- int __rpc_raise_fd(int);
--extern int __binddynport(int fd);
- 
- #ifndef NETIDLEN
- #define	NETIDLEN 32
-@@ -341,8 +340,7 @@ clnt_tli_create(int fd, const struct netconfig *nconf,
- 		servtype = nconf->nc_semantics;
- 		if (!__rpc_fd2sockinfo(fd, &si))
- 			goto err;
--		if (__binddynport(fd) == -1)
--			goto err;
-+		bindresvport(fd, NULL);
- 	} else {
- 		if (!__rpc_fd2sockinfo(fd, &si))
- 			goto err;
-diff --git a/src/rpc_soc.c b/src/rpc_soc.c
-index af6c482..5a6eeb7 100644
---- a/src/rpc_soc.c
-+++ b/src/rpc_soc.c
-@@ -67,8 +67,6 @@
- 
- extern mutex_t	rpcsoc_lock;
- 
--extern int __binddynport(int fd);
--
- static CLIENT *clnt_com_create(struct sockaddr_in *, rpcprog_t, rpcvers_t,
-     int *, u_int, u_int, char *, int);
- static SVCXPRT *svc_com_create(int, u_int, u_int, char *);
-@@ -147,8 +145,7 @@ clnt_com_create(raddr, prog, vers, sockp, sendsz, recvsz, tp, flags)
- 	bindaddr.maxlen = bindaddr.len =  sizeof (struct sockaddr_in);
- 	bindaddr.buf = raddr;
- 
--	if (__binddynport(fd) == -1)
--		goto err;
-+	bindresvport(fd, NULL);
- 	cl = clnt_tli_create(fd, nconf, &bindaddr, prog, vers,
- 				sendsz, recvsz);
- 	if (cl) {
-diff --git a/src/rpcb_clnt.c b/src/rpcb_clnt.c
-index a94fc73..4b44364 100644
---- a/src/rpcb_clnt.c
-+++ b/src/rpcb_clnt.c
-@@ -752,7 +752,7 @@ __try_protocol_version_2(program, version, nconf, host, tp)
- 
- 	client = getpmaphandle(nconf, host, &parms.r_addr);
- 	if (client == NULL)
--		return (NULL);
-+		goto error;
- 
- 	/*
- 	 * Set retry timeout.
-@@ -771,11 +771,11 @@ __try_protocol_version_2(program, version, nconf, host, tp)
- 	if (clnt_st != RPC_SUCCESS) {
- 		rpc_createerr.cf_stat = RPC_PMAPFAILURE;
- 		clnt_geterr(client, &rpc_createerr.cf_error);
--		return (NULL);
-+		goto error;
- 	} else if (port == 0) {
- 		pmapaddress = NULL;
- 		rpc_createerr.cf_stat = RPC_PROGNOTREGISTERED;
--		return (NULL);
-+		goto error;
- 	}
- 	port = htons(port);
- 	CLNT_CONTROL(client, CLGET_SVC_ADDR, (char *)&remote);
-@@ -789,14 +789,24 @@ __try_protocol_version_2(program, version, nconf, host, tp)
- 			free(pmapaddress);
- 			pmapaddress = NULL;
- 		}
--		return (NULL);
-+		goto error;
- 	}
- 	memcpy(pmapaddress->buf, remote.buf, remote.len);
- 	memcpy(&((char *)pmapaddress->buf)[sizeof (short)],
- 			(char *)(void *)&port, sizeof (short));
- 	pmapaddress->len = pmapaddress->maxlen = remote.len;
- 
-+	CLNT_DESTROY(client);
- 	return pmapaddress;
-+
-+error:
-+	if (client) {
-+		CLNT_DESTROY(client);
-+		client = NULL;
-+
-+	}
-+	return (NULL);
-+
- }
- #endif
- 
diff --git a/poky/meta/recipes-extended/libtirpc/libtirpc_1.0.3.bb b/poky/meta/recipes-extended/libtirpc/libtirpc_1.1.4.bb
similarity index 82%
rename from poky/meta/recipes-extended/libtirpc/libtirpc_1.0.3.bb
rename to poky/meta/recipes-extended/libtirpc/libtirpc_1.1.4.bb
index f978c8c..9c480b8 100644
--- a/poky/meta/recipes-extended/libtirpc/libtirpc_1.0.3.bb
+++ b/poky/meta/recipes-extended/libtirpc/libtirpc_1.1.4.bb
@@ -10,13 +10,12 @@
 PROVIDES = "virtual/librpc"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2 \
-           file://libtirpc-1.0.4-rc1.patch \
            file://musl.patch \
            "
 UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/libtirpc/files/libtirpc/"
 UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/"
-SRC_URI[md5sum] = "f8403a10695348854e71d525c4db5931"
-SRC_URI[sha256sum] = "86c3a78fc1bddefa96111dd233124c703b22a78884203c55c3e06b3be6a0fd5e"
+SRC_URI[md5sum] = "f5d2a623e9dfbd818d2f3f3a4a878e3a"
+SRC_URI[sha256sum] = "2ca529f02292e10c158562295a1ffd95d2ce8af97820e3534fe1b0e3aec7561d"
 
 inherit autotools pkgconfig
 
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-setrlimit03.c-read-proc-sys-fs-nr_open-for-.patch b/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-setrlimit03.c-read-proc-sys-fs-nr_open-for-.patch
new file mode 100644
index 0000000..39623c3
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-setrlimit03.c-read-proc-sys-fs-nr_open-for-.patch
@@ -0,0 +1,70 @@
+From db57ddc1497e72947da2b14f471ab521478ef99d Mon Sep 17 00:00:00 2001
+From: Tommi Rantala <tommi.t.rantala@nokia.com>
+Date: Thu, 31 Jan 2019 19:49:00 +0200
+Subject: [PATCH] syscalls/setrlimit03.c: read /proc/sys/fs/nr_open for
+ RLIMIT_NOFILE limit
+
+Since kernel v2.6.25 RLIMIT_NOFILE limit is no longer hardcoded to
+NR_OPEN, but can be set via /proc/sys/fs/nr_open, see kernel commit
+9cfe015aa424b3c003baba3841a60dd9b5ad319b ("get rid of NR_OPEN and
+introduce a sysctl_nr_open").
+
+nr_open default value is 1024*1024, so setrlimit03 has been passing fine
+on new kernels, only "unexpectedly succeeding" if nr_open is set to some
+larger value.
+
+Signed-off-by: Tommi Rantala <tommi.t.rantala@nokia.com>
+Reviewed-by: Cyril Hrubis <chrubis@suse.cz>
+
+Upstream-Status: Backport [db57ddc1497e ("syscalls/setrlimit03.c: read /proc/sys/fs/nr_open for RLIMIT_NOFILE limit")]
+
+Signed-off-by: He Zhe <zhe.he@windriver.com>
+---
+ testcases/kernel/syscalls/setrlimit/setrlimit03.c | 13 +++++++++++--
+ 1 file changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/testcases/kernel/syscalls/setrlimit/setrlimit03.c b/testcases/kernel/syscalls/setrlimit/setrlimit03.c
+index 29b52aa..12455fe 100644
+--- a/testcases/kernel/syscalls/setrlimit/setrlimit03.c
++++ b/testcases/kernel/syscalls/setrlimit/setrlimit03.c
+@@ -35,7 +35,10 @@
+ # define NR_OPEN (1024*1024)
+ #endif
+ 
++#define NR_OPEN_PATH "/proc/sys/fs/nr_open"
++
+ static struct rlimit rlim1, rlim2;
++static unsigned int nr_open = NR_OPEN;
+ 
+ static struct tcase {
+ 	struct rlimit *rlimt;
+@@ -51,7 +54,10 @@ static void verify_setrlimit(unsigned int n)
+ 
+ 	TEST(setrlimit(RLIMIT_NOFILE, tc->rlimt));
+ 	if (TST_RET != -1) {
+-		tst_res(TFAIL, "call succeeded unexpectedly");
++		tst_res(TFAIL, "call succeeded unexpectedly "
++			"(nr_open=%u rlim_cur=%lu rlim_max=%lu)", nr_open,
++			(unsigned long)(tc->rlimt->rlim_cur),
++			(unsigned long)(tc->rlimt->rlim_max));
+ 		return;
+ 	}
+ 
+@@ -65,10 +71,13 @@ static void verify_setrlimit(unsigned int n)
+ 
+ static void setup(void)
+ {
++	if (!access(NR_OPEN_PATH, F_OK))
++		SAFE_FILE_SCANF(NR_OPEN_PATH, "%u", &nr_open);
++
+ 	SAFE_GETRLIMIT(RLIMIT_NOFILE, &rlim1);
+ 	rlim2.rlim_max = rlim1.rlim_cur;
+ 	rlim2.rlim_cur = rlim1.rlim_max + 1;
+-	rlim1.rlim_max = NR_OPEN + 1;
++	rlim1.rlim_max = nr_open + 1;
+ }
+ 
+ static struct tst_test test = {
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-extended/ltp/ltp_20190115.bb b/poky/meta/recipes-extended/ltp/ltp_20190115.bb
index ddf97e2..1d0c00b 100644
--- a/poky/meta/recipes-extended/ltp/ltp_20190115.bb
+++ b/poky/meta/recipes-extended/ltp/ltp_20190115.bb
@@ -49,6 +49,7 @@
            file://0001-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch \
            file://define-sigrtmin-and-sigrtmax-for-musl.patch \
            file://setregid01-security-string-formatting.patch \
+           file://0001-syscalls-setrlimit03.c-read-proc-sys-fs-nr_open-for-.patch \
            "
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-extended/man-db/man-db_2.8.4.bb b/poky/meta/recipes-extended/man-db/man-db_2.8.5.bb
similarity index 85%
rename from poky/meta/recipes-extended/man-db/man-db_2.8.4.bb
rename to poky/meta/recipes-extended/man-db/man-db_2.8.5.bb
index aa36465..441e2f4 100644
--- a/poky/meta/recipes-extended/man-db/man-db_2.8.4.bb
+++ b/poky/meta/recipes-extended/man-db/man-db_2.8.5.bb
@@ -7,8 +7,8 @@
 SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/man-db/man-db-${PV}.tar.xz \
            file://99_mandb \
            file://man_db.conf-avoid-multilib-install-file-conflict.patch"
-SRC_URI[md5sum] = "ab41db551f500e4a595b11203b86c67a"
-SRC_URI[sha256sum] = "103c185f9d8269b9ee3b8a4cb27912b3aa393e952731ef96fedc880723472bc3"
+SRC_URI[md5sum] = "c5c6c3434be14a5527d43b5ad0f09a13"
+SRC_URI[sha256sum] = "b64d52747534f1fe873b2876eb7f01319985309d5d7da319d2bc52ba1e73f6c1"
 
 DEPENDS = "libpipeline gdbm groff-native base-passwd"
 RDEPENDS_${PN} += "base-passwd"
@@ -16,7 +16,7 @@
 # | /usr/src/debug/man-db/2.8.0-r0/man-db-2.8.0/src/whatis.c:939: undefined reference to `_nl_msg_cat_cntr'
 USE_NLS_libc-musl = "no"
 
-inherit gettext pkgconfig autotools
+inherit gettext pkgconfig autotools systemd
 
 EXTRA_OECONF = "--with-pager=less"
 EXTRA_AUTORECONF += "-I ${S}/gl/m4"
@@ -54,3 +54,6 @@
     return ""
 
 RDEPENDS_${PN} += "${@compress_pkg(d)}"
+
+SYSTEMD_SERVICE_${PN} = "man-db.timer man-db.service"
+SYSTEMD_AUTO_ENABLE ?= "disable"
diff --git a/poky/meta/recipes-extended/man-pages/man-pages_4.16.bb b/poky/meta/recipes-extended/man-pages/man-pages_5.01.bb
similarity index 87%
rename from poky/meta/recipes-extended/man-pages/man-pages_4.16.bb
rename to poky/meta/recipes-extended/man-pages/man-pages_5.01.bb
index 1f14c89..28525f4 100644
--- a/poky/meta/recipes-extended/man-pages/man-pages_4.16.bb
+++ b/poky/meta/recipes-extended/man-pages/man-pages_5.01.bb
@@ -7,8 +7,8 @@
 LIC_FILES_CHKSUM = "file://README;md5=794f701617cc03fe50c53257660d8ec4"
 SRC_URI = "${KERNELORG_MIRROR}/linux/docs/${BPN}/Archive/${BP}.tar.gz"
 
-SRC_URI[md5sum] = "d1fb8ba312a1c15e0bfda911a98c5544"
-SRC_URI[sha256sum] = "d38b0460bf3f35c95faf7f8cf52dac1216d86a47866f5e5f2fda88c61da04960"
+SRC_URI[md5sum] = "38abead776a506109e128ab96bcbbe58"
+SRC_URI[sha256sum] = "070bef794c6826b3fb3965d1a2efdb46c25cb37c06c715987f88a50906cd5b6f"
 
 inherit manpages
 
diff --git a/poky/meta/recipes-extended/mdadm/files/debian-no-Werror.patch b/poky/meta/recipes-extended/mdadm/files/debian-no-Werror.patch
new file mode 100644
index 0000000..e66a15c
--- /dev/null
+++ b/poky/meta/recipes-extended/mdadm/files/debian-no-Werror.patch
@@ -0,0 +1,25 @@
+From: martin f. krafft <madduck@debian.org>
+Subject: Remove -Werror from compiler flags
+
+-Werror seems like a bad idea on released/packaged code because a toolchain
+update (introducing new warnings) could break the build. We'll let upstream
+use it to beautify the code, but remove it for out builds.
+
+Signed-off-by: martin f. krafft <madduck@debian.org>
+
+Upstream-Status: Pending
+---
+ Makefile |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+--- a/Makefile
++++ b/Makefile
+@@ -48,7 +48,7 @@ endif
+ 
+ CC ?= $(CROSS_COMPILE)gcc
+ CXFLAGS ?= -ggdb
+-CWFLAGS = -Wall -Werror -Wstrict-prototypes -Wextra -Wno-unused-parameter
++CWFLAGS = -Wall -Wstrict-prototypes -Wextra -Wno-unused-parameter
+ ifdef WARN_UNUSED
+ CWFLAGS += -Wp,-D_FORTIFY_SOURCE=2 -O3
+ endif
diff --git a/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb b/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb
index 947706f..ef5ddf5 100644
--- a/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb
+++ b/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb
@@ -17,6 +17,7 @@
            file://0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch \
            file://0001-Compute-abs-diff-in-a-standard-compliant-way.patch \
            file://0001-fix-gcc-8-format-truncation-warning.patch \
+           file://debian-no-Werror.patch \
 	   file://mdadm.init \
 	   file://mdmonitor.service \
            "
diff --git a/poky/meta/recipes-extended/msmtp/msmtp_1.6.6.bb b/poky/meta/recipes-extended/msmtp/msmtp_1.8.4.bb
similarity index 69%
rename from poky/meta/recipes-extended/msmtp/msmtp_1.6.6.bb
rename to poky/meta/recipes-extended/msmtp/msmtp_1.8.4.bb
index e172193..888c1bb 100644
--- a/poky/meta/recipes-extended/msmtp/msmtp_1.6.6.bb
+++ b/poky/meta/recipes-extended/msmtp/msmtp_1.8.4.bb
@@ -1,19 +1,18 @@
 SUMMARY = "msmtp is an SMTP client"
 DESCRIPTION = "A sendmail replacement for use in MTAs like mutt"
-HOMEPAGE = "http://msmtp.sourceforge.net/"
+HOMEPAGE = "https://marlam.de/msmtp/"
 SECTION = "console/network"
 
 LICENSE = "GPLv3"
 DEPENDS = "zlib gnutls"
 
-#COPYING or Licence
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 
-SRC_URI = "http://sourceforge.net/projects/msmtp/files/msmtp/${PV}/${BPN}-${PV}.tar.xz \
-          "
+UPSTREAM_CHECK_URI = "https://marlam.de/msmtp/download/"
 
-SRC_URI[md5sum] = "82b0520b57db4b2cf05333d11fb5974d"
-SRC_URI[sha256sum] = "da15db1f62bd0201fce5310adb89c86188be91cd745b7cb3b62b81a501e7fb5e"
+SRC_URI = "https://marlam.de/${BPN}/releases/${BP}.tar.xz"
+SRC_URI[md5sum] = "abfabb92f0461137f3c09cd16d98fc9b"
+SRC_URI[sha256sum] = "e5dd7fe95bc8e2f5eea3e4894ec9628252f30bd700a7fd1a568b10efa91129f7"
 
 inherit gettext autotools update-alternatives pkgconfig
 
diff --git a/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb b/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
index ffa8388..ec67f8d 100644
--- a/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
+++ b/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
@@ -94,7 +94,6 @@
     tar \
     time \
     util-linux \
-    zlib \
     "
 
 RDEPENDS_packagegroup-core-full-cmdline-extended = "\
diff --git a/poky/meta/recipes-extended/procps/procps/sysctl.conf b/poky/meta/recipes-extended/procps/procps/sysctl.conf
index 34e7488..253f370 100644
--- a/poky/meta/recipes-extended/procps/procps/sysctl.conf
+++ b/poky/meta/recipes-extended/procps/procps/sysctl.conf
@@ -1,64 +1,67 @@
-# This configuration file is taken from Debian.
+# This configuration taken from procps v3.3.15
+# Commented out kernel/pid_max=10000 line
 #
 # /etc/sysctl.conf - Configuration file for setting system variables
 # See sysctl.conf (5) for information.
-#
 
+# you can have the CD-ROM close when you use it, and open
+# when you are done.
+#dev.cdrom.autoeject = 1
+#dev.cdrom.autoclose = 1
+
+# protection from the SYN flood attack
+net/ipv4/tcp_syncookies=1
+
+# see the evil packets in your log files
+net/ipv4/conf/all/log_martians=1
+
+# makes you vulnerable or not :-)
+net/ipv4/conf/all/accept_redirects=0
+net/ipv4/conf/all/accept_source_route=0
+net/ipv4/icmp_echo_ignore_broadcasts =1
+
+# needed for routing, including masquerading or NAT
+#net/ipv4/ip_forward=1
+
+# sets the port range used for outgoing connections
+#net.ipv4.ip_local_port_range = 32768    61000
+
+# Broken routers and obsolete firewalls will corrupt the window scaling
+# and ECN. Set these values to 0 to disable window scaling and ECN.
+# This may, rarely, cause some performance loss when running high-speed
+# TCP/IP over huge distances or running TCP/IP over connections with high
+# packet loss and modern routers. This sure beats dropped connections.
+#net.ipv4.tcp_ecn = 0
+
+# Swapping too much or not enough? Disks spinning up when you'd
+# rather they didn't? Tweak these.
+#vm.vfs_cache_pressure = 100
+#vm.laptop_mode = 0
+#vm.swappiness = 60
+
+#kernel.printk_ratelimit_burst = 10
+#kernel.printk_ratelimit = 5
+#kernel.panic_on_oops = 0
+
+# Reboot 600 seconds after a panic
+#kernel.panic = 600
+
+# enable SysRq key (note: console security issues)
+#kernel.sysrq = 1
+
+# Change name of core file to start with the command name
+# so you get things like: emacs.core mozilla-bin.core X.core
+#kernel.core_pattern = %e.core
+
+# NIS/YP domain (not always equal to DNS domain)
 #kernel.domainname = example.com
+#kernel.hostname = darkstar
 
-# Uncomment the following to stop low-level messages on console
-#kernel.printk = 4 4 1 7
+# This limits PID values to 4 digits, which allows tools like ps
+# to save screen space.
+#kernel/pid_max=10000
 
-##############################################################3
-# Functions previously found in netbase
-#
-
-# Uncomment the next two lines to enable Spoof protection (reverse-path filter)
-# Turn on Source Address Verification in all interfaces to
-# prevent some spoofing attacks
-net.ipv4.conf.default.rp_filter=1
-net.ipv4.conf.all.rp_filter=1
-
-# Uncomment the next line to enable TCP/IP SYN cookies
-#net.ipv4.tcp_syncookies=1
-
-# Uncomment the next line to enable packet forwarding for IPv4
-#net.ipv4.ip_forward=1
-
-# Uncomment the next line to enable packet forwarding for IPv6
-#net.ipv6.conf.all.forwarding=1
-
-
-###################################################################
-# Additional settings - these settings can improve the network
-# security of the host and prevent against some network attacks
-# including spoofing attacks and man in the middle attacks through
-# redirection. Some network environments, however, require that these
-# settings are disabled so review and enable them as needed.
-#
-# Ignore ICMP broadcasts
-#net.ipv4.icmp_echo_ignore_broadcasts = 1
-#
-# Ignore bogus ICMP errors
-#net.ipv4.icmp_ignore_bogus_error_responses = 1
-#
-# Do not accept ICMP redirects (prevent MITM attacks)
-#net.ipv4.conf.all.accept_redirects = 0
-#net.ipv6.conf.all.accept_redirects = 0
-# _or_
-# Accept ICMP redirects only for gateways listed in our default
-# gateway list (enabled by default)
-# net.ipv4.conf.all.secure_redirects = 1
-#
-# Do not send ICMP redirects (we are not a router)
-#net.ipv4.conf.all.send_redirects = 0
-#
-# Do not accept IP source route packets (we are not a router)
-#net.ipv4.conf.all.accept_source_route = 0
-#net.ipv6.conf.all.accept_source_route = 0
-#
-# Log Martian Packets
-#net.ipv4.conf.all.log_martians = 1
-#
-
-#kernel.shmmax = 141762560
+# Protects against creating or following links under certain conditions
+# See https://www.kernel.org/doc/Documentation/sysctl/fs.txt
+#fs.protected_hardlinks = 1
+#fs.protected_symlinks = 1
diff --git a/poky/meta/recipes-extended/quota/quota/fcntl.patch b/poky/meta/recipes-extended/quota/quota/fcntl.patch
index 2d37971..51a770c 100644
--- a/poky/meta/recipes-extended/quota/quota/fcntl.patch
+++ b/poky/meta/recipes-extended/quota/quota/fcntl.patch
@@ -9,13 +9,11 @@
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 
-ndex: quota-tools/quota.h
-===================================================================
-Index: quota-tools/quota.h
-===================================================================
---- quota-tools.orig/quota.h
-+++ quota-tools/quota.h
-@@ -165,6 +165,6 @@ enum {
+diff --git a/quota.h b/quota.h
+index 4c21411..d20c217 100644
+--- a/quota.h
++++ b/quota.h
+@@ -182,6 +182,6 @@ enum {
  	#endif
  #endif
  
@@ -23,10 +21,10 @@
 +long quotactl (int, const char *, qid_t, caddr_t);
  
  #endif /* _QUOTA_ */
-Index: quota-tools/quotacheck.c
-===================================================================
---- quota-tools.orig/quotacheck.c
-+++ quota-tools/quotacheck.c
+diff --git a/quotacheck.c b/quotacheck.c
+index 2cdf475..07c18a7 100644
+--- a/quotacheck.c
++++ b/quotacheck.c
 @@ -19,6 +19,7 @@
  #include <unistd.h>
  #include <stdlib.h>
@@ -35,10 +33,10 @@
  
  #include <sys/stat.h>
  #include <sys/types.h>
-Index: quota-tools/quotaio.c
-===================================================================
---- quota-tools.orig/quotaio.c
-+++ quota-tools/quotaio.c
+diff --git a/quotaio.c b/quotaio.c
+index 94ae458..d57fc1a 100644
+--- a/quotaio.c
++++ b/quotaio.c
 @@ -12,6 +12,7 @@
  #include <string.h>
  #include <unistd.h>
@@ -47,22 +45,10 @@
  #include <sys/types.h>
  #include <sys/stat.h>
  #include <sys/file.h>
-Index: quota-tools/dqblk_v2.h
-===================================================================
---- quota-tools.orig/dqblk_v2.h
-+++ quota-tools/dqblk_v2.h
-@@ -7,6 +7,7 @@
- #ifndef GUARD_DQBLK_V2_H
- #define GUARD_DQBLK_V2_H
- 
-+#include <fcntl.h>
- #include <sys/types.h>
- #include "quota_tree.h"
- 
-Index: quota-tools/rquota_client.c
-===================================================================
---- quota-tools.orig/rquota_client.c
-+++ quota-tools/rquota_client.c
+diff --git a/rquota_client.c b/rquota_client.c
+index a3a4ae3..0ffe7a9 100644
+--- a/rquota_client.c
++++ b/rquota_client.c
 @@ -19,7 +19,9 @@
  
  #include "config.h"
diff --git a/poky/meta/recipes-extended/quota/quota/remove_non_posix_types.patch b/poky/meta/recipes-extended/quota/quota/remove_non_posix_types.patch
deleted file mode 100644
index 06ff13c..0000000
--- a/poky/meta/recipes-extended/quota/quota/remove_non_posix_types.patch
+++ /dev/null
@@ -1,198 +0,0 @@
-Use proper C99 integer types
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: quota-tools/bylabel.c
-===================================================================
---- quota-tools.orig/bylabel.c
-+++ quota-tools/bylabel.c
-@@ -20,6 +20,7 @@
- #include <ctype.h>
- #include <fcntl.h>
- #include <unistd.h>
-+#include <stdint.h>
- 
- #include "bylabel.h"
- #include "common.h"
-@@ -37,32 +38,32 @@ static struct uuidCache_s {
- 
- #define EXT2_SUPER_MAGIC	0xEF53
- struct ext2_super_block {
--	u_char s_dummy1[56];
--	u_char s_magic[2];
--	u_char s_dummy2[46];
--	u_char s_uuid[16];
--	u_char s_volume_name[16];
-+	uint8_t s_dummy1[56];
-+	uint8_t s_magic[2];
-+	uint8_t s_dummy2[46];
-+	uint8_t s_uuid[16];
-+	uint8_t s_volume_name[16];
- };
- 
--#define ext2magic(s)	((uint) s.s_magic[0] + (((uint) s.s_magic[1]) << 8))
-+#define ext2magic(s)	((uint32_t) s.s_magic[0] + (((uint32_t) s.s_magic[1]) << 8))
- 
- #define XFS_SUPER_MAGIC "XFSB"
- #define XFS_SUPER_MAGIC2 "BSFX"
- struct xfs_super_block {
--	u_char s_magic[4];
--	u_char s_dummy[28];
--	u_char s_uuid[16];
--	u_char s_dummy2[60];
--	u_char s_fsname[12];
-+	uint8_t s_magic[4];
-+	uint8_t s_dummy[28];
-+	uint8_t s_uuid[16];
-+	uint8_t s_dummy2[60];
-+	uint8_t s_fsname[12];
- };
- 
- #define REISER_SUPER_MAGIC	"ReIsEr2Fs"
- struct reiserfs_super_block {
--	u_char s_dummy1[52];
--	u_char s_magic[10];
--	u_char s_dummy2[22];
--	u_char s_uuid[16];
--	u_char s_volume_name[16];
-+	uint8_t s_dummy1[52];
-+	uint8_t s_magic[10];
-+	uint8_t s_dummy2[22];
-+	uint8_t s_uuid[16];
-+	uint8_t s_volume_name[16];
- };
- 
- static inline unsigned short swapped(unsigned short a)
-@@ -222,7 +223,7 @@ static char *get_spec_by_x(int n, const
- 	return NULL;
- }
- 
--static u_char fromhex(char c)
-+static uint8_t fromhex(char c)
- {
- 	if (isdigit(c))
- 		return (c - '0');
-@@ -234,7 +235,7 @@ static u_char fromhex(char c)
- 
- static char *get_spec_by_uuid(const char *s)
- {
--	u_char uuid[16];
-+	uint8_t uuid[16];
- 	int i;
- 
- 	if (strlen(s) != 36 || s[8] != '-' || s[13] != '-' || s[18] != '-' || s[23] != '-')
-Index: quota-tools/quot.c
-===================================================================
---- quota-tools.orig/quot.c
-+++ quota-tools/quot.c
-@@ -47,6 +47,7 @@
- #include <utmp.h>
- #include <pwd.h>
- #include <grp.h>
-+#include <stdint.h>
- 
- #include "pot.h"
- #include "quot.h"
-@@ -56,8 +57,8 @@
- #include "quotasys.h"
- 
- #define	TSIZE	500
--static __uint64_t sizes[TSIZE];
--static __uint64_t overflow;
-+static uint64_t sizes[TSIZE];
-+static uint64_t overflow;
- 
- static int aflag;
- static int cflag;
-@@ -72,7 +73,7 @@ static time_t now;
- char *progname;
- 
- static void mounttable(void);
--static char *idname(__uint32_t, int);
-+static char *idname(uint32_t, int);
- static void report(const char *, const char *, int);
- static void creport(const char *, const char *);
- 
-@@ -173,7 +174,7 @@ static int qcmp(du_t * p1, du_t * p2)
- static void creport(const char *file, const char *fsdir)
- {
- 	int i;
--	__uint64_t t = 0;
-+	uint64_t t = 0;
- 
- 	printf(_("%s (%s):\n"), file, fsdir);
- 	for (i = 0; i < TSIZE - 1; i++)
-@@ -219,7 +220,7 @@ static void report(const char *file, con
- 	}
- }
- 
--static idcache_t *getnextent(int type, __uint32_t id, int byid)
-+static idcache_t *getnextent(int type, uint32_t id, int byid)
- {
- 	struct passwd *pw;
- 	struct group  *gr;
-@@ -240,7 +241,7 @@ static idcache_t *getnextent(int type, _
- 	return &idc;
- }
- 
--static char *idname(__uint32_t id, int type)
-+static char *idname(uint32_t id, int type)
- {
- 	idcache_t *ncp, *idp;
- 	static idcache_t nc[2][NID];
-@@ -286,8 +287,8 @@ static void acctXFS(xfs_bstat_t *p)
- {
- 	register du_t *dp;
- 	du_t **hp;
--	__uint64_t size;
--	__uint32_t i, id;
-+	uint64_t size;
-+	uint32_t i, id;
- 
- 	if ((p->bs_mode & S_IFMT) == 0)
- 		return;
-Index: quota-tools/quot.h
-===================================================================
---- quota-tools.orig/quot.h
-+++ quota-tools/quot.h
-@@ -35,18 +35,18 @@
- #define	SEC24HR	(60*60*24)	/* seconds per day */
- 
- typedef struct {
--	__uint32_t id;
-+	uint32_t id;
- 	char name[UT_NAMESIZE + 1];
- } idcache_t;
- 
- typedef struct du {
- 	struct du *next;
--	__uint64_t blocks;
--	__uint64_t blocks30;
--	__uint64_t blocks60;
--	__uint64_t blocks90;
--	__uint64_t nfiles;
--	__uint32_t id;
-+	uint64_t blocks;
-+	uint64_t blocks30;
-+	uint64_t blocks60;
-+	uint64_t blocks90;
-+	uint64_t nfiles;
-+	uint32_t id;
- } du_t;
- 
- #define	NDU	60000
-Index: quota-tools/rquota_server.c
-===================================================================
---- quota-tools.orig/rquota_server.c
-+++ quota-tools/rquota_server.c
-@@ -60,7 +60,7 @@ extern char nfs_pseudoroot[PATH_MAX];
-  */
- extern struct authunix_parms *unix_cred;
- 
--int in_group(gid_t * gids, u_int len, gid_t gid)
-+int in_group(gid_t * gids, uint32_t len, gid_t gid)
- {
- 	gid_t *gidsp = gids + len;
- 
diff --git a/poky/meta/recipes-extended/quota/quota/replace_getrpcbynumber_r.patch b/poky/meta/recipes-extended/quota/quota/replace_getrpcbynumber_r.patch
deleted file mode 100644
index 4687ca0..0000000
--- a/poky/meta/recipes-extended/quota/quota/replace_getrpcbynumber_r.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From a3808fd165847298d025971eb3c7be7d11caba9d Mon Sep 17 00:00:00 2001
-From: "Maxin B. John" <maxin.john@intel.com>
-Date: Wed, 8 Nov 2017 11:56:55 +0200
-Subject: [PATCH] Replace getrpcbynumber_r with getrpcbynumber
-
-musl and uclibc dont implement it
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
----
- svc_socket.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/svc_socket.c b/svc_socket.c
-index 8a44604..5bdaaa0 100644
---- a/svc_socket.c
-+++ b/svc_socket.c
-@@ -36,7 +36,8 @@ static int get_service_port(u_long number, const char *proto)
- 	struct servent servbuf, *servp = NULL;
- 	int ret;
- 
--	ret = getrpcbynumber_r(number, &rpcbuf, rpcdata, sizeof(rpcdata), &rpcp);
-+    rpcp = getrpcbynumber(number);
-+    ret = 0;
- 	if (ret == 0 && rpcp != NULL) {
- 		/* First try name */
- 		ret = getservbyname_r(rpcp->r_name, proto, &servbuf, servdata,
--- 
-2.4.0
-
diff --git a/poky/meta/recipes-extended/quota/quota_4.04.bb b/poky/meta/recipes-extended/quota/quota_4.05.bb
similarity index 76%
rename from poky/meta/recipes-extended/quota/quota_4.04.bb
rename to poky/meta/recipes-extended/quota/quota_4.05.bb
index 93f3762..c5da1e7 100644
--- a/poky/meta/recipes-extended/quota/quota_4.04.bb
+++ b/poky/meta/recipes-extended/quota/quota_4.05.bb
@@ -3,18 +3,14 @@
 HOMEPAGE = "http://sourceforge.net/projects/linuxquota/"
 BUGTRACKER = "http://sourceforge.net/tracker/?group_id=18136&atid=118136"
 LICENSE = "BSD & GPLv2+ & LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://quota.c;beginline=1;endline=33;md5=331c7d77744bfe0ad24027f0651028ec \
-                    file://rquota_server.c;beginline=1;endline=20;md5=fe7e0d7e11c6f820f8fa62a5af71230f \
+LIC_FILES_CHKSUM = "file://rquota_server.c;beginline=1;endline=20;md5=fe7e0d7e11c6f820f8fa62a5af71230f \
                     file://svc_socket.c;beginline=1;endline=17;md5=24d5a8792da45910786eeac750be8ceb"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/project/linuxquota/quota-tools/${PV}/quota-${PV}.tar.gz \
            file://fcntl.patch \
-           file://remove_non_posix_types.patch \
           "
-SRC_URI_append_libc-musl = " file://replace_getrpcbynumber_r.patch"
-
-SRC_URI[md5sum] = "f46f3b0b5141f032f25684005dac49d3"
-SRC_URI[sha256sum] = "735be1887e7f51f54165e778ae43fc859c04e44d88834ecb2f470e91d4ef8edf"
+SRC_URI[md5sum] = "1c1dbd2cd3d680ccac661239b067e147"
+SRC_URI[sha256sum] = "ef3b5b5d1014ed1344b46c1826145e20cbef8db967b522403c9a060761cf7ab9"
 
 CVE_PRODUCT = "linux_diskquota"
 
diff --git a/poky/meta/recipes-extended/shadow/files/0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch b/poky/meta/recipes-extended/shadow/files/0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch
new file mode 100644
index 0000000..de0ba3e
--- /dev/null
+++ b/poky/meta/recipes-extended/shadow/files/0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch
@@ -0,0 +1,89 @@
+From fe34a2a0e44bc80ff213bfd185046a5f10c94997 Mon Sep 17 00:00:00 2001
+From: Chris Lamb <chris@chris-lamb.co.uk>
+Date: Wed, 2 Jan 2019 18:06:16 +0000
+Subject: [PATCH 1/2] Make the sp_lstchg shadow field reproducible (re. #71)
+
+From <https://github.com/shadow-maint/shadow/pull/71>:
+
+```
+The third field in the /etc/shadow file (sp_lstchg) contains the date of
+the last password change expressed as the number of days since Jan 1, 1970.
+As this is a relative time, creating a user today will result in:
+
+username:17238:0:99999:7:::
+whilst creating the same user tomorrow will result in:
+
+username:17239:0:99999:7:::
+This has an impact for the Reproducible Builds[0] project where we aim to
+be independent of as many elements the build environment as possible,
+including the current date.
+
+This patch changes the behaviour to use the SOURCE_DATE_EPOCH[1]
+environment variable (instead of Jan 1, 1970) if valid.
+```
+
+This updated PR adds some missing calls to gettime (). This was originally
+filed by Johannes Schauer in Debian as #917773 [2].
+
+[0] https://reproducible-builds.org/
+[1] https://reproducible-builds.org/specs/source-date-epoch/
+[2] https://bugs.debian.org/917773
+
+Upstream-Status: Backport
+Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
+---
+ libmisc/pwd2spwd.c | 3 +--
+ src/pwck.c         | 2 +-
+ src/pwconv.c       | 2 +-
+ 3 files changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/libmisc/pwd2spwd.c b/libmisc/pwd2spwd.c
+index c1b9b29ac873..6799dd50d490 100644
+--- a/libmisc/pwd2spwd.c
++++ b/libmisc/pwd2spwd.c
+@@ -40,7 +40,6 @@
+ #include "prototypes.h"
+ #include "defines.h"
+ #include <pwd.h>
+-extern time_t time (time_t *);
+ 
+ /*
+  * pwd_to_spwd - create entries for new spwd structure
+@@ -66,7 +65,7 @@ struct spwd *pwd_to_spwd (const struct passwd *pw)
+ 		 */
+ 		sp.sp_min = 0;
+ 		sp.sp_max = (10000L * DAY) / SCALE;
+-		sp.sp_lstchg = (long) time ((time_t *) 0) / SCALE;
++		sp.sp_lstchg = (long) gettime () / SCALE;
+ 		if (0 == sp.sp_lstchg) {
+ 			/* Better disable aging than requiring a password
+ 			 * change */
+diff --git a/src/pwck.c b/src/pwck.c
+index 0ffb711efb13..f70071b12500 100644
+--- a/src/pwck.c
++++ b/src/pwck.c
+@@ -609,7 +609,7 @@ static void check_pw_file (int *errors, bool *changed)
+ 					sp.sp_inact  = -1;
+ 					sp.sp_expire = -1;
+ 					sp.sp_flag   = SHADOW_SP_FLAG_UNSET;
+-					sp.sp_lstchg = (long) time ((time_t *) 0) / SCALE;
++					sp.sp_lstchg = (long) gettime () / SCALE;
+ 					if (0 == sp.sp_lstchg) {
+ 						/* Better disable aging than
+ 						 * requiring a password change
+diff --git a/src/pwconv.c b/src/pwconv.c
+index 9c69fa131d8e..f932f266c59c 100644
+--- a/src/pwconv.c
++++ b/src/pwconv.c
+@@ -267,7 +267,7 @@ int main (int argc, char **argv)
+ 			spent.sp_flag   = SHADOW_SP_FLAG_UNSET;
+ 		}
+ 		spent.sp_pwdp = pw->pw_passwd;
+-		spent.sp_lstchg = (long) time ((time_t *) 0) / SCALE;
++		spent.sp_lstchg = (long) gettime () / SCALE;
+ 		if (0 == spent.sp_lstchg) {
+ 			/* Better disable aging than requiring a password
+ 			 * change */
+-- 
+2.17.1
+
diff --git a/poky/meta/recipes-extended/shadow/files/0002-gettime-Use-secure_getenv-over-getenv.patch b/poky/meta/recipes-extended/shadow/files/0002-gettime-Use-secure_getenv-over-getenv.patch
new file mode 100644
index 0000000..8c8234d
--- /dev/null
+++ b/poky/meta/recipes-extended/shadow/files/0002-gettime-Use-secure_getenv-over-getenv.patch
@@ -0,0 +1,71 @@
+From 3d921155e0a761f61c8f1ec37328724aee1e2eda Mon Sep 17 00:00:00 2001
+From: Chris Lamb <chris@chris-lamb.co.uk>
+Date: Sun, 31 Mar 2019 15:59:45 +0100
+Subject: [PATCH 2/2] gettime: Use secure_getenv over getenv.
+
+Upstream-Status: Backport
+Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
+---
+ README            | 1 +
+ configure.ac      | 3 +++
+ lib/defines.h     | 6 ++++++
+ libmisc/gettime.c | 2 +-
+ 4 files changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/README b/README
+index 952ac5787f06..26cfff1e8fa8 100644
+--- a/README
++++ b/README
+@@ -51,6 +51,7 @@ Brian R. Gaeke <brg@dgate.org>
+ Calle Karlsson <ckn@kash.se>
+ Chip Rosenthal <chip@unicom.com>
+ Chris Evans <lady0110@sable.ox.ac.uk>
++Chris Lamb <chris@chris-lamb.co.uk>
+ Cristian Gafton <gafton@sorosis.ro>
+ Dan Walsh <dwalsh@redhat.com>
+ Darcy Boese <possum@chardonnay.niagara.com>
+diff --git a/configure.ac b/configure.ac
+index da236722766b..a738ad662cc3 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -110,6 +110,9 @@ AC_REPLACE_FUNCS(sgetgrent sgetpwent sgetspent)
+ AC_REPLACE_FUNCS(snprintf strcasecmp strdup strerror strstr)
+ 
+ AC_CHECK_FUNC(setpgrp)
++AC_CHECK_FUNC(secure_getenv, [AC_DEFINE(HAS_SECURE_GETENV,
++                                        1,
++                                        [Defined to 1 if you have the declaration of 'secure_getenv'])])
+ 
+ if test "$ac_cv_header_shadow_h" = "yes"; then
+ 	AC_CACHE_CHECK(for working shadow group support,
+diff --git a/lib/defines.h b/lib/defines.h
+index cded1417fd12..2fb1b56eca6b 100644
+--- a/lib/defines.h
++++ b/lib/defines.h
+@@ -382,4 +382,10 @@ extern char *strerror ();
+ # endif
+ #endif
+ 
++#ifdef HAVE_SECURE_GETENV
++#  define shadow_getenv(name) secure_getenv(name)
++# else
++#  define shadow_getenv(name) getenv(name)
++#endif
++
+ #endif				/* _DEFINES_H_ */
+diff --git a/libmisc/gettime.c b/libmisc/gettime.c
+index 53eaf51670bb..0e25a4b75061 100644
+--- a/libmisc/gettime.c
++++ b/libmisc/gettime.c
+@@ -52,7 +52,7 @@
+ 	unsigned long long epoch;
+ 
+ 	fallback = time (NULL);
+-	source_date_epoch = getenv ("SOURCE_DATE_EPOCH");
++	source_date_epoch = shadow_getenv ("SOURCE_DATE_EPOCH");
+ 
+ 	if (!source_date_epoch)
+ 		return fallback;
+-- 
+2.17.1
+
diff --git a/poky/meta/recipes-extended/shadow/shadow.inc b/poky/meta/recipes-extended/shadow/shadow.inc
index 4de21ac..831751d 100644
--- a/poky/meta/recipes-extended/shadow/shadow.inc
+++ b/poky/meta/recipes-extended/shadow/shadow.inc
@@ -11,6 +11,8 @@
 UPSTREAM_CHECK_URI = "https://github.com/shadow-maint/shadow/releases"
 SRC_URI = "https://github.com/shadow-maint/shadow/releases/download/${PV}/${BP}.tar.gz \
            file://shadow-4.1.3-dots-in-usernames.patch \
+           file://0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch  \
+           file://0002-gettime-Use-secure_getenv-over-getenv.patch \
            ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \
            "
 
diff --git a/poky/meta/recipes-extended/sysstat/sysstat.inc b/poky/meta/recipes-extended/sysstat/sysstat.inc
index 0bc7e14..9228fc2 100644
--- a/poky/meta/recipes-extended/sysstat/sysstat.inc
+++ b/poky/meta/recipes-extended/sysstat/sysstat.inc
@@ -10,12 +10,11 @@
           "
 
 UPSTREAM_CHECK_URI = "http://sebastien.godard.pagesperso-orange.fr/download.html"
-UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
 
 DEPENDS += "base-passwd"
 
 # autotools-brokensep as this package doesn't use automake
-inherit autotools-brokensep gettext systemd
+inherit autotools-brokensep gettext systemd upstream-version-is-even
 
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[lm-sensors] = "--enable-sensors,--disable-sensors,lmsensors,lmsensors-libsensors"
diff --git a/poky/meta/recipes-extended/tar/tar_1.31.bb b/poky/meta/recipes-extended/tar/tar_1.32.bb
similarity index 85%
rename from poky/meta/recipes-extended/tar/tar_1.31.bb
rename to poky/meta/recipes-extended/tar/tar_1.32.bb
index a785042..7240fdb 100644
--- a/poky/meta/recipes-extended/tar/tar_1.31.bb
+++ b/poky/meta/recipes-extended/tar/tar_1.32.bb
@@ -11,8 +11,8 @@
            file://musl_dirent.patch \
 "
 
-SRC_URI[md5sum] = "77afa35b696c8d760331fa0e12c2fac9"
-SRC_URI[sha256sum] = "577bd4463eea103bdfc662fc385789e2228dbeb399a1d0b98571ed9ce044f763"
+SRC_URI[md5sum] = "17917356fff5cb4bd3cd5a6c3e727b05"
+SRC_URI[sha256sum] = "e4bb9e08e12e7fa9f11fef544efc85e59ba34538593d9ad38148c7ca2bfbb566"
 
 inherit autotools gettext texinfo
 
@@ -21,7 +21,7 @@
 
 PACKAGECONFIG[acl] = "--with-posix-acls,--without-posix-acls,acl"
 
-EXTRA_OECONF += "DEFAULT_RMT_DIR=${base_sbindir}"
+EXTRA_OECONF += "DEFAULT_RMT_DIR=${sbindir}"
 
 # Let aclocal use the relative path for the m4 file rather than the
 # absolute since tar has a lot of m4 files, otherwise there might
@@ -45,7 +45,7 @@
 
 PACKAGES =+ "${PN}-rmt"
 
-FILES_${PN}-rmt = "${base_sbindir}/rmt*"
+FILES_${PN}-rmt = "${sbindir}/rmt*"
 
 inherit update-alternatives
 
@@ -57,7 +57,7 @@
 ALTERNATIVE_${PN}-rmt_class-nativesdk = ""
 
 ALTERNATIVE_LINK_NAME[tar] = "${base_bindir}/tar"
-ALTERNATIVE_LINK_NAME[rmt] = "${base_sbindir}/rmt"
+ALTERNATIVE_LINK_NAME[rmt] = "${sbindir}/rmt"
 
 PROVIDES_append_class-native = " tar-replacement-native"
 NATIVE_PACKAGE_PATH_SUFFIX = "/${PN}"
diff --git a/poky/meta/recipes-extended/wget/wget_1.20.1.bb b/poky/meta/recipes-extended/wget/wget_1.20.1.bb
deleted file mode 100644
index d176bd0..0000000
--- a/poky/meta/recipes-extended/wget/wget_1.20.1.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-SRC_URI = "${GNU_MIRROR}/wget/wget-${PV}.tar.gz \
-           file://0002-improve-reproducibility.patch \
-          "
-
-SRC_URI[md5sum] = "f6ebe9c7b375fc9832fb1b2028271fb7"
-SRC_URI[sha256sum] = "b783b390cb571c837b392857945f5a1f00ec6b043177cc42abb8ee1b542ee1b3"
-
-require wget.inc
diff --git a/poky/meta/recipes-extended/wget/wget_1.20.3.bb b/poky/meta/recipes-extended/wget/wget_1.20.3.bb
new file mode 100644
index 0000000..4fa273d
--- /dev/null
+++ b/poky/meta/recipes-extended/wget/wget_1.20.3.bb
@@ -0,0 +1,8 @@
+SRC_URI = "${GNU_MIRROR}/wget/wget-${PV}.tar.gz \
+           file://0002-improve-reproducibility.patch \
+          "
+
+SRC_URI[md5sum] = "db4e6dc7977cbddcd543b240079a4899"
+SRC_URI[sha256sum] = "31cccfc6630528db1c8e3a06f6decf2a370060b982841cfab2b8677400a5092e"
+
+require wget.inc
diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_3.30.3.bb b/poky/meta/recipes-gnome/epiphany/epiphany_3.32.1.2.bb
similarity index 80%
rename from poky/meta/recipes-gnome/epiphany/epiphany_3.30.3.bb
rename to poky/meta/recipes-gnome/epiphany/epiphany_3.32.1.2.bb
index a64c82f..ba2e851 100644
--- a/poky/meta/recipes-gnome/epiphany/epiphany_3.30.3.bb
+++ b/poky/meta/recipes-gnome/epiphany/epiphany_3.32.1.2.bb
@@ -13,10 +13,8 @@
 SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \
            file://0002-help-meson.build-disable-the-use-of-yelp.patch \
            "
-SRC_URI[archive.md5sum] = "fd05702b1c9bcb6a0633de54c4a6ccd2"
-SRC_URI[archive.sha256sum] = "76cdb8db6af2da8c3371a73e2dfd5ba64867b5f1e65fa9621f35348a42ff0d17"
-
-EXTRA_OEMESON += " -Ddistributor_name=${DISTRO}"
+SRC_URI[archive.md5sum] = "93faec353e9f62519859e6164350fd5d"
+SRC_URI[archive.sha256sum] = "a8284fb9bbc8b7914a154a8eac1598c8b59ae421e0d685146fb48198427926be"
 
 FILES_${PN} += "${datadir}/dbus-1 ${datadir}/gnome-shell/search-providers ${datadir}/metainfo"
 RDEPENDS_${PN} = "iso-codes adwaita-icon-theme gsettings-desktop-schemas"
diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb
index c5de7a9..7fef697 100644
--- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb
+++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb
@@ -34,19 +34,7 @@
 
 inherit meson pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gtk-doc lib_package
 
-GTKDOC_ENABLE_FLAG = "-Ddocs=true"
-GTKDOC_DISABLE_FLAG = "-Ddocs=false"
-
-GI_ENABLE_FLAG = "-Dgir=true"
-GI_DISABLE_FLAG = "-Dgir=false"
-
-EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}"
-
-EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
-                                                                                       '${GI_DISABLE_FLAG}', d)} "
-
-EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
-                                                                                     '${GTKDOC_DISABLE_FLAG}', d)} "
+GIR_MESON_OPTION = 'gir'
 
 EXTRA_OEMESON_append = " ${@bb.utils.contains('PTEST_ENABLED', '1', '-Dinstalled_tests=true', '-Dinstalled_tests=false', d)}"
 
diff --git a/poky/meta/recipes-gnome/gnome/gnome-doc-utils/0001-glib-gettext.m4-Update-AM_GLIB_GNU_GETTEXT-to-match-.patch b/poky/meta/recipes-gnome/gnome/gnome-doc-utils/0001-glib-gettext.m4-Update-AM_GLIB_GNU_GETTEXT-to-match-.patch
deleted file mode 100644
index 4cfcabd..0000000
--- a/poky/meta/recipes-gnome/gnome/gnome-doc-utils/0001-glib-gettext.m4-Update-AM_GLIB_GNU_GETTEXT-to-match-.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 426e38468463a4abb495cf6a269b9635b2107519 Mon Sep 17 00:00:00 2001
-From: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Date: Tue, 17 May 2016 13:51:24 +0300
-Subject: [PATCH] glib-gettext.m4: Update AM_GLIB_GNU_GETTEXT to match glib
-
-This avoids
-  error: m4_copy: won't overwrite defined macro: glib_DEFUN
-
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Upstream-Status: Inappropriate [No upstream]
----
- m4/glib-gettext.m4 | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/m4/glib-gettext.m4 b/m4/glib-gettext.m4
-index 81f8fd2..e2b142b 100644
---- a/m4/glib-gettext.m4
-+++ b/m4/glib-gettext.m4
-@@ -310,7 +310,7 @@ msgstr ""
- # on various variables needed by the Makefile.in.in installed by
- # glib-gettextize.
- dnl
--glib_DEFUN([GLIB_GNU_GETTEXT],
-+AU_DEFUN([GLIB_GNU_GETTEXT],
-   [AC_REQUIRE([AC_PROG_CC])dnl
-    AC_REQUIRE([AC_HEADER_STDC])dnl
- 
-@@ -381,7 +381,8 @@ glib_DEFUN([GLIB_GNU_GETTEXT],
-    rm -f po/POTFILES
-    sed -e "/^#/d" -e "/^\$/d" -e "s,.*,	$posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
- 	< $srcdir/po/POTFILES.in > po/POTFILES
--  ])
-+  ]
-+  [[$0: This macro is deprecated. You should use upstream gettext instead.]])
- 
- # AX_GLIB_DEFINE_LOCALEDIR(VARIABLE)
- # -------------------------------
--- 
-2.1.4
-
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Port-cross-compilation-support-to-meson.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Port-cross-compilation-support-to-meson.patch
index 80c9e71..5747d61 100644
--- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Port-cross-compilation-support-to-meson.patch
+++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Port-cross-compilation-support-to-meson.patch
@@ -1,4 +1,4 @@
-From ea25a5a755bc839d5b504aac207f860ae68109bc Mon Sep 17 00:00:00 2001
+From 2b3bce1526b538dc2c7fa223eaf9808858aa1b06 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Thu, 15 Nov 2018 15:10:05 +0100
 Subject: [PATCH] Port cross-compilation support to meson
@@ -7,16 +7,16 @@
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
 
 ---
- gir/meson.build   | 59 ++++++++++++++++++++++++++++++++++-------------
- meson.build       |  4 +++-
- meson_options.txt | 20 ++++++++++++++++
- 3 files changed, 66 insertions(+), 17 deletions(-)
+ gir/meson.build   | 62 ++++++++++++++++++++++++++++++++++-------------
+ meson.build       |  4 ++-
+ meson_options.txt | 20 +++++++++++++++
+ 3 files changed, 68 insertions(+), 18 deletions(-)
 
 diff --git a/gir/meson.build b/gir/meson.build
-index 1cb514a..f873068 100644
+index 85ae575..327c134 100644
 --- a/gir/meson.build
 +++ b/gir/meson.build
-@@ -36,15 +36,27 @@ gir_files = [
+@@ -36,16 +36,29 @@ gir_files = [
  typelibdir = join_paths(get_option('libdir'), 'girepository-1.0')
  install_data(gir_files, install_dir: girdir)
  
@@ -25,6 +25,7 @@
 -  girscanner,
 -  '--output=@OUTPUT@',
 -  '--no-libtool',
+-  '--quiet',
 -  '--reparse-validate',
 -  '--add-include-path', join_paths(meson.current_build_dir()),
 -  '--add-include-path', join_paths(meson.current_source_dir()),
@@ -34,6 +35,7 @@
 +      'g-ir-scanner',
 +      '--output=@OUTPUT@',
 +      '--no-libtool',
++      '--quiet',
 +      '--reparse-validate',
 +      '--add-include-path', join_paths(meson.current_build_dir()),
 +      '--add-include-path', join_paths(meson.current_source_dir()),
@@ -44,6 +46,7 @@
 +      girscanner,
 +      '--output=@OUTPUT@',
 +      '--no-libtool',
++      '--quiet',
 +      '--reparse-validate',
 +      '--add-include-path', join_paths(meson.current_build_dir()),
 +      '--add-include-path', join_paths(meson.current_source_dir()),
@@ -53,7 +56,7 @@
  
  dep_type = glib_dep.type_name()
  if dep_type == 'internal'
-@@ -57,6 +69,12 @@ if dep_type == 'internal'
+@@ -58,6 +71,12 @@ if dep_type == 'internal'
                        '--extra-library=glib-2.0', '--extra-library=gobject-2.0']
  endif
  
@@ -66,7 +69,7 @@
  # Take a glob and print to newlines
  globber = '''
  from glob import glob
-@@ -83,8 +101,8 @@ glib_command = scanner_command + [
+@@ -84,8 +103,8 @@ glib_command = scanner_command + [
  
  if dep_type == 'pkgconfig'
    glib_command += ['--external-library', '--pkg=glib-2.0']
@@ -77,7 +80,7 @@
    glib_libincdir = join_paths(glib_libdir, 'glib-2.0', 'include')
    glib_files += join_paths(glib_incdir, 'gobject', 'glib-types.h')
    glib_files += join_paths(glib_libincdir, 'glibconfig.h')
-@@ -338,7 +356,7 @@ endforeach
+@@ -339,7 +358,7 @@ endforeach
  if giounix_dep.found()
    if dep_type == 'pkgconfig'
      gio_command += ['--pkg=gio-unix-2.0']
@@ -86,10 +89,10 @@
      # Get the installed gio-unix header list
      ret = run_command(python, '-c', globber.format(join_paths(giounix_includedir, 'gio', '*.h')))
      if ret.returncode() != 0
-@@ -416,15 +434,24 @@ gir_files += custom_target('gir-girepository',
-   ]
+@@ -422,15 +441,24 @@ gir_files += custom_target('gir-girepository',
  )
  
+ typelibs = []
 +if get_option('enable-gi-cross-wrapper') != ''
 +    gircompiler_command = [get_option('enable-gi-cross-wrapper'), gircompiler.full_path(), '-o', '@OUTPUT@', '@INPUT@',
 +              '--includedir', meson.current_build_dir(),
@@ -103,7 +106,7 @@
 +endif
 +
  foreach gir : gir_files
-   custom_target('generate-typelib-@0@'.format(gir).underscorify(),
+   typelibs += custom_target('generate-typelib-@0@'.format(gir).underscorify(),
      input: gir,
      output: '@BASENAME@.typelib',
      depends: [gobject_gir, ],
@@ -116,10 +119,10 @@
      install_dir: typelibdir,
    )
 diff --git a/meson.build b/meson.build
-index 17acd82..e0bb495 100644
+index 95bbd2b..f7baefd 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -81,7 +81,9 @@ libffi_dep = dependency('libffi',
+@@ -163,7 +163,9 @@ endif
  subdir('girepository')
  subdir('tools')
  subdir('giscanner')
@@ -131,11 +134,11 @@
  subdir('docs')
  subdir('tests')
 diff --git a/meson_options.txt b/meson_options.txt
-index ee6958d..b168142 100644
+index 445a68a..a325511 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
 @@ -25,3 +25,23 @@ option('python', type: 'string', value: 'python3',
- option('gir-dir-prefix', type: 'string',
+ option('gir_dir_prefix', type: 'string',
    description: 'Intermediate prefix for gir installation under ${prefix}'
  )
 +
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch
index a91d22a..a4f45a1 100644
--- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch
+++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch
@@ -1,4 +1,4 @@
-From 7ea8c83d84a05f686128e652a5447fb5f6fb68be Mon Sep 17 00:00:00 2001
+From 8f01066e935a7323ff6e53f27ed1b5fb74fa11eb Mon Sep 17 00:00:00 2001
 From: Sascha Silbe <x-yo17@se-silbe.de>
 Date: Fri, 8 Jun 2018 13:55:10 +0200
 Subject: [PATCH] Relocate the repository directory for native builds
@@ -21,7 +21,7 @@
  2 files changed, 14 insertions(+), 3 deletions(-)
 
 diff --git a/girepository/girepository.c b/girepository/girepository.c
-index c1fa3d3..efa557e 100644
+index ca5dc2b..7a4d17f 100644
 --- a/girepository/girepository.c
 +++ b/girepository/girepository.c
 @@ -21,6 +21,8 @@
@@ -42,7 +42,7 @@
  /**
   * SECTION:girepository
   * @short_description: GObject Introspection repository manager
-@@ -188,9 +192,16 @@ init_globals (void)
+@@ -212,9 +216,16 @@ init_globals (void)
            g_free (custom_dirs);
          }
  
@@ -62,12 +62,12 @@
        typelib_search_path = g_slist_prepend (typelib_search_path, typelib_dir);
  
 diff --git a/girepository/meson.build b/girepository/meson.build
-index 6a8c5b5..8892f2a 100644
+index 0261e1a..4cb646f 100644
 --- a/girepository/meson.build
 +++ b/girepository/meson.build
-@@ -27,7 +27,7 @@ girepo_internals_lib = static_library('girepository-internals',
+@@ -36,7 +36,7 @@ girepo_internals_lib = static_library('girepository-internals',
    ],
-   c_args: gi_hidden_visibility_cflags,
+   c_args: gi_hidden_visibility_cflags + custom_c_args,
    include_directories : configinc,
 -  dependencies: [girepo_gthash_dep, libffi_dep],
 +  dependencies: [girepo_gthash_dep, libffi_dep, cc.find_library('dl')],
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch
index 86cd4ea..d1fdc06 100644
--- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch
+++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Revert-an-incomplete-upstream-attempt-at-cross-compi.patch
@@ -1,4 +1,4 @@
-From ca0fb17e268c176ac89df081b1efa4a42989f014 Mon Sep 17 00:00:00 2001
+From 8a57aa0ac6c2f00b9b7a7fc177431f7643399e70 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Wed, 23 Mar 2016 17:07:28 +0200
 Subject: [PATCH] Revert an incomplete upstream attempt at cross-compile
@@ -13,7 +13,7 @@
  2 files changed, 10 deletions(-)
 
 diff --git a/common.mk b/common.mk
-index b778f7a..e26c637 100644
+index 64fb02f..77e819d 100644
 --- a/common.mk
 +++ b/common.mk
 @@ -24,12 +24,8 @@ INTROSPECTION_SCANNER_ARGS = \
@@ -30,10 +30,10 @@
  
  INTROSPECTION_COMPILER_ARGS = \
 diff --git a/giscanner/gdumpparser.py b/giscanner/gdumpparser.py
-index cd9d94d..b41772c 100644
+index 1730fee..26bab84 100644
 --- a/giscanner/gdumpparser.py
 +++ b/giscanner/gdumpparser.py
-@@ -161,12 +161,6 @@ blob containing data gleaned from GObject's primitive introspection."""
+@@ -156,12 +156,6 @@ blob containing data gleaned from GObject's primitive introspection."""
          out_path = os.path.join(self._binary.tmpdir, 'dump.xml')
  
          args = []
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-configure.ac-make-GIR_DIR-configurable.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-configure.ac-make-GIR_DIR-configurable.patch
deleted file mode 100644
index e0402f8..0000000
--- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-configure.ac-make-GIR_DIR-configurable.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-configure.ac: make GIR_DIR configurable
-
-Some .gir files such as GLib-2.0.gir are arch related which contain such
-as lengths of pointers that they are different for 64 and 32 bit target.
-It causes install file conflicts for multilib when intall
-gobject-introspection and lib32-gobject-introspection both.
-
-Add configure option 'with-gir-dir-prefix' for autotools to make .gir
-could be installed to a configured path such as ${libdir}. And update
-girdir in .pc files as well.
-
-Upstream-Status: Accepted [https://gitlab.gnome.org/GNOME/gobject-introspection/commit/3301c7e]
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
- configure.ac                              | 7 +++++--
- gobject-introspection-1.0.pc.in           | 2 +-
- gobject-introspection-no-export-1.0.pc.in | 2 +-
- 3 files changed, 7 insertions(+), 4 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index b4294c57..60506947 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -114,9 +114,12 @@ GIR_SUFFIX="gir-1.0"
- AC_SUBST(GIR_SUFFIX)
- AC_DEFINE_UNQUOTED(GIR_SUFFIX, "$GIR_SUFFIX", [Name of the gir directory])
- 
--GIR_DIR="$EXPANDED_DATADIR/$GIR_SUFFIX"
-+AC_ARG_WITH([gir-dir-prefix],
-+		[AS_HELP_STRING([--with-gir-dir-prefix], [Directory prefix for gir installation])],
-+		[GIR_DIR_PREFIX="$withval"], [GIR_DIR_PREFIX="$EXPANDED_DATADIR"])
-+GIR_DIR="$GIR_DIR_PREFIX/$GIR_SUFFIX"
- AC_SUBST(GIR_DIR)
--AC_DEFINE_UNQUOTED(GIR_DIR, "$GIR_DIR", [Director prefix for gir installation])
-+AC_DEFINE_UNQUOTED(GIR_DIR, "$GIR_DIR", [Directory prefix for gir installation])
- 
- PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.58.0])
- 
-diff --git a/gobject-introspection-1.0.pc.in b/gobject-introspection-1.0.pc.in
-index a08b5d27..3409856c 100644
---- a/gobject-introspection-1.0.pc.in
-+++ b/gobject-introspection-1.0.pc.in
-@@ -10,7 +10,7 @@ g_ir_scanner=${bindir}/g-ir-scanner
- g_ir_compiler=${bindir}/g-ir-compiler@EXEEXT@
- g_ir_generate=${bindir}/g-ir-generate@EXEEXT@
- gidatadir=${datadir}/gobject-introspection-1.0
--girdir=${datadir}/gir-1.0
-+girdir=@GIR_DIR@
- typelibdir=${libdir}/girepository-1.0
- 
- Cflags: -I${includedir}/gobject-introspection-1.0 @FFI_PC_CFLAGS@
-diff --git a/gobject-introspection-no-export-1.0.pc.in b/gobject-introspection-no-export-1.0.pc.in
-index d214d22d..745aaade 100644
---- a/gobject-introspection-no-export-1.0.pc.in
-+++ b/gobject-introspection-no-export-1.0.pc.in
-@@ -9,7 +9,7 @@ includedir=@includedir@
- g_ir_scanner=${bindir}/g-ir-scanner
- g_ir_compiler=${bindir}/g-ir-compiler@EXEEXT@
- g_ir_generate=${bindir}/g-ir-generate@EXEEXT@
--girdir=${datadir}/gir-1.0
-+girdir=@GIR_DIR@
- typelibdir=${libdir}/girepository-1.0
- 
- Cflags: -I${includedir}/gobject-introspection-1.0 @FFI_PC_CFLAGS@
--- 
-2.17.0
-
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-a-lib-dirs-envvar-option.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-a-lib-dirs-envvar-option.patch
index e9338e9..ddd9553 100644
--- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-a-lib-dirs-envvar-option.patch
+++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-add-a-lib-dirs-envvar-option.patch
@@ -1,4 +1,4 @@
-From 3fea5e83803f4cfef21b2e06e37a6ba56f2bb914 Mon Sep 17 00:00:00 2001
+From 6653c28f0b76aad86e26c512b03efcec6d9d9e95 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Wed, 3 Jan 2018 17:02:01 +0200
 Subject: [PATCH] giscanner: add a --lib-dirs-envvar option
@@ -19,10 +19,10 @@
  3 files changed, 7 insertions(+), 3 deletions(-)
 
 diff --git a/giscanner/ccompiler.py b/giscanner/ccompiler.py
-index c003828..8a8ba2b 100644
+index 32c9296..3fb262b 100644
 --- a/giscanner/ccompiler.py
 +++ b/giscanner/ccompiler.py
-@@ -109,7 +109,7 @@ class CCompiler(object):
+@@ -174,7 +174,7 @@ class CCompiler(object):
  
              self._cflags_no_deprecation_warnings = "-Wno-deprecated-declarations"
  
@@ -31,7 +31,7 @@
          # An "internal" link is where the library to be introspected
          # is being built in the current directory.
  
-@@ -119,7 +119,7 @@ class CCompiler(object):
+@@ -184,7 +184,7 @@ class CCompiler(object):
          if os.name == 'nt':
              runtime_path_envvar = ['LIB', 'PATH']
          else:
@@ -41,10 +41,10 @@
              # (This flag is not supported nor needed for Visual C++)
              args.append('-L.')
 diff --git a/giscanner/dumper.py b/giscanner/dumper.py
-index 2c668f5..2e515a0 100644
+index 2b851a5..10a7c39 100644
 --- a/giscanner/dumper.py
 +++ b/giscanner/dumper.py
-@@ -249,7 +249,8 @@ class DumpCompiler(object):
+@@ -244,7 +244,8 @@ class DumpCompiler(object):
                                                     libtool,
                                                     self._options.libraries,
                                                     self._options.extra_libraries,
@@ -55,10 +55,10 @@
  
          else:
 diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
-index 5cb793e..87227e2 100644
+index 9013562..9c9fe12 100644
 --- a/giscanner/scannermain.py
 +++ b/giscanner/scannermain.py
-@@ -132,6 +132,9 @@ def _get_option_parser():
+@@ -126,6 +126,9 @@ def _get_option_parser():
      parser.add_option("", "--use-ldd-wrapper",
                        action="store", dest="ldd_wrapper", default=None,
                        help="wrapper to use instead of ldd (useful when cross-compiling)")
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch
index 9167f04..b484b5e 100644
--- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch
+++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch
@@ -1,4 +1,4 @@
-From f128cbeead687bfc6532cc1f2cc3e2dc5a2b5b30 Mon Sep 17 00:00:00 2001
+From f742da8b3913f4818d3f419117076afe62f4dbf4 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Wed, 5 Sep 2018 16:46:52 +0200
 Subject: [PATCH] giscanner: ignore error return codes from ldd-wrapper
@@ -8,15 +8,16 @@
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
 ---
  giscanner/shlibs.py | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py
-index 01d21a3..3bd3250 100644
+index d67df95..80352a6 100644
 --- a/giscanner/shlibs.py
 +++ b/giscanner/shlibs.py
-@@ -108,7 +108,7 @@ def _resolve_non_libtool(options, binary, libraries):
+@@ -102,7 +102,7 @@ def _resolve_non_libtool(options, binary, libraries):
              args.extend(['otool', '-L', binary.args[0]])
          else:
              args.extend(['ldd', binary.args[0]])
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-meson.build-disable-tests-when-cross-compiling.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-meson.build-disable-tests-when-cross-compiling.patch
new file mode 100644
index 0000000..c4951b2
--- /dev/null
+++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-meson.build-disable-tests-when-cross-compiling.patch
@@ -0,0 +1,26 @@
+From 2c384187cc22113c0c9b1cd233948118f7c085ef Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 25 Mar 2019 13:28:48 +0100
+Subject: [PATCH] meson.build: disable tests when cross-compiling
+
+Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gobject-introspection/merge_requests/64]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ meson.build | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 2544ff3..4c16fe5 100644
+--- a/meson.build
++++ b/meson.build
+@@ -168,7 +168,9 @@ if get_option('enable-introspection-data') == true
+ endif
+ subdir('examples')
+ subdir('docs')
+-subdir('tests')
++if not meson.is_cross_build()
++    subdir('tests')
++endif
+ 
+ install_data('Makefile.introspection', install_dir: join_paths(get_option('datadir'), 'gobject-introspection-1.0'))
+ install_data('m4/introspection.m4', install_dir: join_paths(get_option('datadir'), 'aclocal'))
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch
index 03ef2b0..e4fffcf 100644
--- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch
+++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-configure.ac-add-host-gi-gi-cross-wrapper-gi-ldd-wra.patch
@@ -1,4 +1,4 @@
-From a28cc8413b68bec5b4cf2ee5f37b40a8965490a5 Mon Sep 17 00:00:00 2001
+From 2335d22e4c64db3d5dfc16ac65468b9dd66db8ac Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Mon, 19 Oct 2015 18:29:21 +0300
 Subject: [PATCH] configure.ac: add host-gi, gi-cross-wrapper, gi-ldd-wrapper
@@ -34,7 +34,7 @@
  4 files changed, 87 insertions(+), 1 deletion(-)
 
 diff --git a/Makefile.am b/Makefile.am
-index 44ed115..2a1fa56 100644
+index 952bf71..797a3bd 100644
 --- a/Makefile.am
 +++ b/Makefile.am
 @@ -21,7 +21,9 @@ include Makefile-cmph.am
@@ -48,7 +48,7 @@
  
  ## Process this file with automake to produce Makefile.in
 diff --git a/common.mk b/common.mk
-index e26c637..9f3a65f 100644
+index 77e819d..379ab53 100644
 --- a/common.mk
 +++ b/common.mk
 @@ -6,6 +6,15 @@
@@ -132,10 +132,10 @@
  INTROSPECTION_DOCTOOL_ARGS = \
      --add-include-path=$(srcdir) \
 diff --git a/configure.ac b/configure.ac
-index d48e6c3..ed5f8a2 100644
+index 885da70..cd8108b 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -367,6 +367,48 @@ dnl
+@@ -383,6 +383,48 @@ dnl
  AM_CONDITIONAL(MSVC_BASE_NO_TOOLSET_SET, [test x$MSVC_BASE_TOOLSET = x])
  AM_CONDITIONAL(MSVC_NO_TOOLSET_SET, [test x$MSVC_TOOLSET = x])
  
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-g-ir-tools-respect-gir_dir_prefix.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-g-ir-tools-respect-gir_dir_prefix.patch
deleted file mode 100644
index 5e41767..0000000
--- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-g-ir-tools-respect-gir_dir_prefix.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-g-ir-tools: respect gir_dir_prefix
-
-Configure option gir_dir_prefix is used to configure install dir for
-.gir files, so add its value to include file search paths.
-
-Upstream-Status: Accepted [https://gitlab.gnome.org/GNOME/gobject-introspection/commit/3fe995a]
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
- Makefile-tools.am           |  2 +-
- giscanner/transformer.py    |  1 +
- tests/warn/warningtester.py |  1 +
- tools/g-ir-tool-template.in | 10 ++++++++++
- 6 files changed, 15 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile-tools.am b/Makefile-tools.am
-index c70d9850..fcaf1e01 100644
---- a/Makefile-tools.am
-+++ b/Makefile-tools.am
-@@ -9,7 +9,7 @@ EXTRA_DIST += 				\
- 	tools/g-ir-tool-template.in \
- 	tools/meson.build
- 
--TOOL_SUBSTITUTIONS = -e s,@libdir\@,$(libdir), -e s,@datarootdir\@,$(datarootdir), -e s,@PYTHON_CMD\@,\/usr\/bin\/env\ $(PYTHON),
-+TOOL_SUBSTITUTIONS = -e s,@libdir\@,$(libdir), -e s,@datarootdir\@,$(datarootdir), -e s,@PYTHON_CMD\@,\/usr\/bin\/env\ $(PYTHON), -e s,@GIR_DIR\@,$(GIR_DIR),g
- 
- g-ir-scanner: tools/g-ir-tool-template.in _giscanner.la Makefile
- 	$(AM_V_GEN) sed $(TOOL_SUBSTITUTIONS) -e s,@TOOL_MODULE\@,scannermain, -e s,@TOOL_FUNCTION\@,scanner_main, $< > $@.tmp && mv $@.tmp $@
-diff --git a/giscanner/transformer.py b/giscanner/transformer.py
-index 335e229f..2c412339 100644
---- a/giscanner/transformer.py
-+++ b/giscanner/transformer.py
-@@ -184,6 +184,7 @@ None."""
-     def _get_gi_data_dirs(self):
-         data_dirs = utils.get_system_data_dirs()
-         data_dirs.append(DATADIR)
-+        data_dirs.append(GIRDIR)
-         if os.name != 'nt':
-             # For backwards compatibility, was always unconditionally added to the list.
-             data_dirs.append('/usr/share')
-diff --git a/tests/warn/warningtester.py b/tests/warn/warningtester.py
-index f17c8889..be5aec13 100644
---- a/tests/warn/warningtester.py
-+++ b/tests/warn/warningtester.py
-@@ -18,6 +18,7 @@ sys.path.insert(0, path)
- 
- # Not correct, but enough to get the tests going uninstalled
- builtins.__dict__['DATADIR'] = path
-+builtins.__dict__['GIRDIR'] = ''
- 
- from giscanner.annotationparser import GtkDocCommentBlockParser
- from giscanner.ast import Include, Namespace
-diff --git a/tools/g-ir-tool-template.in b/tools/g-ir-tool-template.in
-index ed33d16b..b9cf0911 100755
---- a/tools/g-ir-tool-template.in
-+++ b/tools/g-ir-tool-template.in
-@@ -60,6 +60,16 @@ if not os.path.isdir(os.path.join(datadir, 'gir-1.0')):
- 
- builtins.__dict__['DATADIR'] = datadir
- 
-+# Respect gir_dir_prefix for meson and autotools
-+girdir = ''
-+# for meson
-+if '@gir_dir_prefix@' and not '@gir_dir_prefix@'.startswith('@'):
-+    girdir = os.path.abspath(os.path.join(filedir, '..', '@gir_dir_prefix@'))
-+# for autotools
-+elif '@GIR_DIR@' and not '@GIR_DIR@'.startswith('@'):
-+    girdir = os.path.dirname(os.path.abspath('@GIR_DIR@'))
-+builtins.__dict__['GIRDIR'] = girdir
-+
- # Again, relative paths first so that the installation prefix is relocatable
- pylibdir = os.path.abspath(os.path.join(filedir, '..', 'lib', 'gobject-introspection'))
- 
--- 
-2.17.0
-
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0003-giscanner-add-use-binary-wrapper-option.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0003-giscanner-add-use-binary-wrapper-option.patch
index 45fe27a..b954dce 100644
--- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0003-giscanner-add-use-binary-wrapper-option.patch
+++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0003-giscanner-add-use-binary-wrapper-option.patch
@@ -1,4 +1,4 @@
-From 46dbe963aa6435591c87e788cdb54bc0daeac42e Mon Sep 17 00:00:00 2001
+From 5f985fd8a24764ccb38af6335d4584d7e33fc3a1 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Mon, 19 Oct 2015 18:26:40 +0300
 Subject: [PATCH] giscanner: add --use-binary-wrapper option
@@ -16,10 +16,10 @@
  1 file changed, 14 insertions(+)
 
 diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
-index ccb14e9..061def0 100644
+index c004fb1..0b6a2d2 100644
 --- a/giscanner/scannermain.py
 +++ b/giscanner/scannermain.py
-@@ -126,6 +126,9 @@ def _get_option_parser():
+@@ -120,6 +120,9 @@ def _get_option_parser():
      parser.add_option("", "--program",
                        action="store", dest="program", default=None,
                        help="program to execute")
@@ -29,7 +29,7 @@
      parser.add_option("", "--program-arg",
                        action="append", dest="program_args", default=[],
                        help="extra arguments to program")
-@@ -418,6 +421,17 @@ def create_binary(transformer, options, args):
+@@ -417,6 +420,17 @@ def create_binary(transformer, options, args):
                                                gdump_parser.get_error_quark_functions())
  
      shlibs = resolve_shlibs(options, binary, options.libraries)
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0004-giscanner-add-a-use-ldd-wrapper-option.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0004-giscanner-add-a-use-ldd-wrapper-option.patch
index 2e36b64..79264ed 100644
--- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0004-giscanner-add-a-use-ldd-wrapper-option.patch
+++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0004-giscanner-add-a-use-ldd-wrapper-option.patch
@@ -1,4 +1,4 @@
-From eba2b999e81d81b5f43bb1f0ab33881786bebdec Mon Sep 17 00:00:00 2001
+From cba7807888a4a1f1d630d16c51c89859209334b3 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Fri, 30 Oct 2015 16:28:46 +0200
 Subject: [PATCH] giscanner: add a --use-ldd-wrapper option
@@ -15,10 +15,10 @@
  2 files changed, 6 insertions(+), 1 deletion(-)
 
 diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
-index 061def0..5cb793e 100644
+index 0b6a2d2..9013562 100644
 --- a/giscanner/scannermain.py
 +++ b/giscanner/scannermain.py
-@@ -129,6 +129,9 @@ def _get_option_parser():
+@@ -123,6 +123,9 @@ def _get_option_parser():
      parser.add_option("", "--use-binary-wrapper",
                        action="store", dest="wrapper", default=None,
                        help="wrapper to use for running programs (useful when cross-compiling)")
@@ -29,10 +29,10 @@
                        action="append", dest="program_args", default=[],
                        help="extra arguments to program")
 diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py
-index 7b7b2d0..01d21a3 100644
+index 2c61f2f..d67df95 100644
 --- a/giscanner/shlibs.py
 +++ b/giscanner/shlibs.py
-@@ -102,7 +102,9 @@ def _resolve_non_libtool(options, binary, libraries):
+@@ -96,7 +96,9 @@ def _resolve_non_libtool(options, binary, libraries):
              args.extend(libtool)
              args.append('--mode=execute')
          platform_system = platform.system()
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch
index 2a31117..7462268 100644
--- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch
+++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch
@@ -1,4 +1,4 @@
-From a97d060933932e478c03f1de9513b69bc459eefc Mon Sep 17 00:00:00 2001
+From 74dab0fb6104ab6b715a24b783f8e8dfa5f83617 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Thu, 8 Oct 2015 18:30:35 +0300
 Subject: [PATCH] Prefix pkg-config paths with PKG_CONFIG_SYSROOT_DIR
@@ -16,7 +16,7 @@
  2 files changed, 13 insertions(+), 13 deletions(-)
 
 diff --git a/Makefile-gir.am b/Makefile-gir.am
-index 2cd7358..eaf0afd 100644
+index b59b0a6..24a50c2 100644
 --- a/Makefile-gir.am
 +++ b/Makefile-gir.am
 @@ -58,8 +58,8 @@ else
@@ -41,7 +41,7 @@
  
  GOBJECT_LIBRARY=gobject-2.0
  
-@@ -123,8 +123,8 @@ GObject_2_0_gir_FILES = \
+@@ -124,8 +124,8 @@ GObject_2_0_gir_FILES = \
  BUILT_GIRSOURCES += GObject-2.0.gir
  
  # gmodule
@@ -52,7 +52,7 @@
  
  GMODULE_LIBRARY=gmodule-2.0
  
-@@ -149,13 +149,13 @@ GModule_2_0_gir_FILES = $(GLIB_INCLUDEDIR)/gmodule.h \
+@@ -150,13 +150,13 @@ GModule_2_0_gir_FILES = $(GLIB_INCLUDEDIR)/gmodule.h \
  BUILT_GIRSOURCES += GModule-2.0.gir
  
  # gio
@@ -66,7 +66,7 @@
  if HAVE_GIO_UNIX
 -GIO_UNIX_INCLUDEDIR = $(shell "${PKG_CONFIG}" --variable=includedir gio-unix-2.0)/gio-unix-2.0
 +GIO_UNIX_INCLUDEDIR = $(PKG_CONFIG_SYSROOT_DIR)$(shell "${PKG_CONFIG}" --variable=includedir gio-unix-2.0)/gio-unix-2.0
- GIO_UNIX_HDRS = $(GIO_UNIX_INCLUDEDIR)/gio/*.h
+ GIO_UNIX_HDRS = $(wildcard $(GIO_UNIX_INCLUDEDIR)/gio/*.h)
  GIO_UNIX_PACKAGES = gio-unix-2.0
  else
 diff --git a/m4/introspection.m4 b/m4/introspection.m4
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0010-meson-add-option-gir-dir-prefix.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0010-meson-add-option-gir-dir-prefix.patch
deleted file mode 100644
index 8eec5f8..0000000
--- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0010-meson-add-option-gir-dir-prefix.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From bbc34f00fd30a13eafc607a956de60d822260355 Mon Sep 17 00:00:00 2001
-From: Kai Kang <kai.kang@windriver.com>
-Date: Fri, 14 Sep 2018 01:26:38 -0700
-Subject: [PATCH] meson: add option 'gir-dir-prefix'
-
-Add option 'gir-dir-prefix' for meson to make the installation path of
-.gir files could be configured which has been done for autoconf.
-
-Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gobject-introspection/commit/3938b86f5289c2b28a5ec42965b8da4b509445c4]
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
- gir/meson.build   | 1 -
- meson.build       | 8 +++++++-
- meson_options.txt | 4 ++++
- 3 files changed, 11 insertions(+), 2 deletions(-)
-
-diff --git a/gir/meson.build b/gir/meson.build
-index 607bbc4..1cb514a 100644
---- a/gir/meson.build
-+++ b/gir/meson.build
-@@ -34,7 +34,6 @@ gir_files = [
- ]
- 
- typelibdir = join_paths(get_option('libdir'), 'girepository-1.0')
--girdir = join_paths(get_option('datadir'), 'gir-1.0')
- install_data(gir_files, install_dir: girdir)
- 
- scanner_command = [
-diff --git a/meson.build b/meson.build
-index a1432f7..17acd82 100644
---- a/meson.build
-+++ b/meson.build
-@@ -18,7 +18,12 @@ python = pymod.find_installation(get_option('python'))
- cc = meson.get_compiler('c')
- config = configuration_data()
- config.set_quoted('GIR_SUFFIX', 'gir-1.0')
--config.set_quoted('GIR_DIR', join_paths(get_option('prefix'), get_option('datadir'), 'gir-1.0'))
-+gir_dir_prefix = get_option('gir-dir-prefix')
-+if gir_dir_prefix == ''
-+    gir_dir_prefix = get_option('datadir')
-+endif
-+girdir = join_paths(get_option('prefix'), gir_dir_prefix, 'gir-1.0')
-+config.set_quoted('GIR_DIR', girdir)
- config.set_quoted('GOBJECT_INTROSPECTION_LIBDIR', join_paths(get_option('prefix'), get_option('libdir')))
- 
- foreach type : ['char', 'short', 'int', 'long']
-@@ -93,6 +98,7 @@ pkgconfig_conf.set('libdir', join_paths('${prefix}', get_option('libdir')))
- pkgconfig_conf.set('datarootdir', join_paths('${prefix}', get_option('datadir')))
- pkgconfig_conf.set('datadir', '${datarootdir}')
- pkgconfig_conf.set('includedir', join_paths('${prefix}', get_option('includedir')))
-+pkgconfig_conf.set('GIR_DIR', join_paths('${prefix}', gir_dir_prefix, 'gir-1.0'))
- if host_system == 'windows' or host_system == 'cygwin'
-   pkgconfig_conf.set('EXEEXT', '.exe')
- else
-diff --git a/meson_options.txt b/meson_options.txt
-index 49726be..ee6958d 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -21,3 +21,7 @@ option('cairo-libname', type: 'string',
- option('python', type: 'string', value: 'python3',
-   description: 'Path or name of the Python interpreter to build for'
- )
-+
-+option('gir-dir-prefix', type: 'string',
-+  description: 'Intermediate prefix for gir installation under ${prefix}'
-+)
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.3.bb b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.60.1.bb
similarity index 95%
rename from poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.3.bb
rename to poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.60.1.bb
index 4ff9b7b..40beab0 100644
--- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.3.bb
+++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.60.1.bb
@@ -17,19 +17,19 @@
            file://0005-Prefix-pkg-config-paths-with-PKG_CONFIG_SYSROOT_DIR-.patch \
            file://0001-giscanner-add-a-lib-dirs-envvar-option.patch \
            file://0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch \
-           file://0001-configure.ac-make-GIR_DIR-configurable.patch \
-           file://0002-g-ir-tools-respect-gir_dir_prefix.patch \
-           file://0010-meson-add-option-gir-dir-prefix.patch \
            file://0001-Port-cross-compilation-support-to-meson.patch \
+           file://0001-meson.build-disable-tests-when-cross-compiling.patch \
            "
 
-SRC_URI[md5sum] = "182432c1f33886be8f4da073218b597d"
-SRC_URI[sha256sum] = "025b632bbd944dcf11fc50d19a0ca086b83baf92b3e34936d008180d28cdc3c8"
+SRC_URI[md5sum] = "46fc8a98f6563e64947ac3d574632525"
+SRC_URI[sha256sum] = "d844d1499ecd36f3ec8a3573616186d36626ec0c9a7981939e99aa02e9c824b3"
 
 SRC_URI_append_class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch"
 
 inherit meson pkgconfig gtk-doc python3native qemu gobject-introspection-data upstream-version-is-even multilib_script
 
+GTKDOC_MESON_OPTION = "gtk_doc"
+
 MULTILIB_SCRIPTS = "${PN}:${bindir}/g-ir-annotation-tool ${PN}:${bindir}/g-ir-scanner"
 
 DEPENDS_append = " libffi zlib glib-2.0 python3 flex-native bison-native autoconf-archive"
@@ -56,7 +56,7 @@
     -Denable-gi-ldd-wrapper=${B}/g-ir-scanner-lddwrapper \
     -Dpkgconfig-sysroot-path=${PKG_CONFIG_SYSROOT_DIR} \
     ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Denable-introspection-data=true', '-Denable-introspection-data=false', d)} \
-    ${@'-Dgir-dir-prefix=${libdir}' if d.getVar('MULTILIBS') else ''} \
+    ${@'-Dgir_dir_prefix=${libdir}' if d.getVar('MULTILIBS') else ''} \
 "
 
 # Need to ensure ld.so.conf exists so prelink-native works
diff --git a/poky/meta/recipes-gnome/json-glib/json-glib_1.4.4.bb b/poky/meta/recipes-gnome/json-glib/json-glib_1.4.4.bb
index 95f9056..1c663f9 100644
--- a/poky/meta/recipes-gnome/json-glib/json-glib_1.4.4.bb
+++ b/poky/meta/recipes-gnome/json-glib/json-glib_1.4.4.bb
@@ -19,18 +19,6 @@
 
 PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native"
 
-# This builds both API docs (via gtk-doc)
-GTKDOC_ENABLE_FLAG = "-Ddocs=true"
-GTKDOC_DISABLE_FLAG = "-Ddocs=false"
-
-GI_ENABLE_FLAG = "-Dintrospection=true"
-GI_DISABLE_FLAG = "-Dintrospection=false"
-
-EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
-                                                                                    '${GTKDOC_DISABLE_FLAG}', d)} "
-EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
-                                                                                    '${GI_DISABLE_FLAG}', d)} "
-
 do_install_append() {
 	if ! ${@bb.utils.contains('PTEST_ENABLED', '1', 'true', 'false', d)}; then
 		rm -rf ${D}${datadir}/installed-tests ${D}${libexecdir}
diff --git a/poky/meta/recipes-gnome/libdazzle/libdazzle/0001-Add-a-define-so-that-gir-compilation-succeeds.patch b/poky/meta/recipes-gnome/libdazzle/libdazzle/0001-Add-a-define-so-that-gir-compilation-succeeds.patch
deleted file mode 100644
index c959d43..0000000
--- a/poky/meta/recipes-gnome/libdazzle/libdazzle/0001-Add-a-define-so-that-gir-compilation-succeeds.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 546d53c3515e8a488a204763437d1fa0917097e5 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 11 Dec 2018 12:39:30 +0100
-Subject: [PATCH] Add a define so that gir compilation succeeds
-
-For some reason meson 0.49.0 does not anymore pass global arguments to gir compiler.
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- src/meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/meson.build b/src/meson.build
-index 6ff8a6a..f0b2887 100644
---- a/src/meson.build
-+++ b/src/meson.build
-@@ -132,7 +132,7 @@ if get_option('with_introspection')
-         install_dir_gir: girdir,
-     install_dir_typelib: typelibdir,
-         export_packages: libdazzle_package,
--             extra_args: [ '--c-include=dazzle.h', '--quiet' ],
-+             extra_args: [ '--c-include=dazzle.h', '--quiet', '-DDAZZLE_COMPILATION' ],
-   )
- 
-   if get_option('with_vapi')
diff --git a/poky/meta/recipes-gnome/libdazzle/libdazzle_3.30.2.bb b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.30.2.bb
deleted file mode 100644
index 3779b15..0000000
--- a/poky/meta/recipes-gnome/libdazzle/libdazzle_3.30.2.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "The libdazzle library is a companion library to GObject and Gtk+."
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a"
-
-GNOMEBASEBUILDCLASS = "meson"
-inherit gnomebase upstream-version-is-even vala distro_features_check gobject-introspection
-
-DEPENDS = "glib-2.0-native glib-2.0 gtk+3"
-
-SRC_URI += " file://0001-Add-a-define-so-that-gir-compilation-succeeds.patch"
-SRC_URI[archive.md5sum] = "24e2e1b914a34f5b8868a9507d1f3c4c"
-SRC_URI[archive.sha256sum] = "78770eae9fa15ac5acb9c733d29459330b2540affbf72933119e36dbd90b36d5"
-
-GI_ENABLE_FLAG = "-Dwith_introspection=true"
-GI_DISABLE_FLAG = "-Dwith_introspection=false"
-
-ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
-
-EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
-                                                                                       '${GI_DISABLE_FLAG}', d)} "
diff --git a/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.1.bb b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.1.bb
new file mode 100644
index 0000000..dac59f8
--- /dev/null
+++ b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.1.bb
@@ -0,0 +1,15 @@
+SUMMARY = "The libdazzle library is a companion library to GObject and Gtk+."
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a"
+
+GNOMEBASEBUILDCLASS = "meson"
+inherit gnomebase upstream-version-is-even vala distro_features_check gobject-introspection
+
+DEPENDS = "glib-2.0-native glib-2.0 gtk+3"
+
+SRC_URI[archive.md5sum] = "5f6455ebc47e86f63b9579997137f391"
+SRC_URI[archive.sha256sum] = "238da19fdcc3ae9bb0c2d781d099fb8c6ec70c4dd3dffad80d230344ecc3f972"
+
+GIR_MESON_OPTION = 'with_introspection'
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
diff --git a/poky/meta/recipes-gnome/libnotify/libnotify_0.7.7.bb b/poky/meta/recipes-gnome/libnotify/libnotify_0.7.8.bb
similarity index 79%
rename from poky/meta/recipes-gnome/libnotify/libnotify_0.7.7.bb
rename to poky/meta/recipes-gnome/libnotify/libnotify_0.7.8.bb
index 6c299bc..82c137c 100644
--- a/poky/meta/recipes-gnome/libnotify/libnotify_0.7.7.bb
+++ b/poky/meta/recipes-gnome/libnotify/libnotify_0.7.8.bb
@@ -10,8 +10,8 @@
 # depends on gtk+3
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
-SRC_URI[archive.md5sum] = "e9d911f6a22435e0b922f2fe71212b59"
-SRC_URI[archive.sha256sum] = "9cb4ce315b2655860c524d46b56010874214ec27e854086c1a1d0260137efc04"
+SRC_URI[archive.md5sum] = "babb4b07b5f21bef42a386d3d7019599"
+SRC_URI[archive.sha256sum] = "69209e0b663776a00c7b6c0e560302a8dbf66b2551d55616304f240bba66e18c"
 
 # there were times, we had two versions of libnotify (oe-core libnotify:0.6.x /
 # meta-gnome libnotify3: 0.7.x)
diff --git a/poky/meta/recipes-gnome/libsecret/libsecret_0.18.7.bb b/poky/meta/recipes-gnome/libsecret/libsecret_0.18.8.bb
similarity index 81%
rename from poky/meta/recipes-gnome/libsecret/libsecret_0.18.7.bb
rename to poky/meta/recipes-gnome/libsecret/libsecret_0.18.8.bb
index ba38d10..4af47fe 100644
--- a/poky/meta/recipes-gnome/libsecret/libsecret_0.18.7.bb
+++ b/poky/meta/recipes-gnome/libsecret/libsecret_0.18.8.bb
@@ -8,8 +8,8 @@
 
 PACKAGECONFIG[manpages] = "--enable-manpages, --disable-manpages, libxslt-native xmlto-native"
 
-SRC_URI[archive.md5sum] = "376153ece17081eb5410870e0dc5c031"
-SRC_URI[archive.sha256sum] = "0d66fe1fc4561b3e046ee281d7c5a703a9baac88a8c4fb42ebc739d31dabd487"
+SRC_URI[archive.md5sum] = "fee403988442f497f3c1dfe7b128869c"
+SRC_URI[archive.sha256sum] = "3bfa889d260e0dbabcf5b9967f2aae12edcd2ddc9adc365de7a5cc840c311d15"
 
 # http://errors.yoctoproject.org/Errors/Details/20228/
 ARM_INSTRUCTION_SET_armv4 = "arm"
diff --git a/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc b/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc
index 4e82f56..11826a6 100644
--- a/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc
+++ b/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc
@@ -13,19 +13,6 @@
 DEPENDS = "clutter-1.0 gtk+3"
 PACKAGES  =+ "${PN}-examples"
 
-GTKDOC_ENABLE_FLAG = "-Denable_docs=true"
-GTKDOC_DISABLE_FLAG = "-Denable_docs=false"
+GTKDOC_MESON_OPTION = "enable_docs"
 
-GI_ENABLE_FLAG = "-Denable_gi=true"
-GI_DISABLE_FLAG = "-Denable_gi=false"
-
-EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}"
-
-EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
-                                                                                       '${GI_DISABLE_FLAG}', d)} "
-
-EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
-                                                                                     '${GTKDOC_DISABLE_FLAG}', d)} "
-
-
-
+GIR_MESON_OPTION = 'enable_gi'
diff --git a/poky/meta/recipes-graphics/cogl/cogl-1.0.inc b/poky/meta/recipes-graphics/cogl/cogl-1.0.inc
index 7a79aa7..3e392fa 100644
--- a/poky/meta/recipes-graphics/cogl/cogl-1.0.inc
+++ b/poky/meta/recipes-graphics/cogl/cogl-1.0.inc
@@ -31,6 +31,7 @@
 	       	 --disable-gles1		\
 	         --disable-cairo                \
 	    	"
+DEBUG_OPTIMIZATION_append = " -Wno-error=maybe-uninitialized"
 
 # OpenGL/GLX
 PACKAGECONFIG[glx] = "--enable-gl --enable-glx,--disable-gl --disable-glx,${EDEPENDS_GL} ${EDEPENDS_X11},${ERDEPENDS_GL}"
diff --git a/poky/meta/recipes-graphics/cogl/cogl-1.0/0001-Fix-an-incorrect-preprocessor-conditional.patch b/poky/meta/recipes-graphics/cogl/cogl-1.0/0001-Fix-an-incorrect-preprocessor-conditional.patch
deleted file mode 100644
index 2a9d8f8..0000000
--- a/poky/meta/recipes-graphics/cogl/cogl-1.0/0001-Fix-an-incorrect-preprocessor-conditional.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Upstream-Status: Backport
-
-
-Original upstream commit follows:
-
-From b583e21d8698dbd58013320cfb47739102efdea7 Mon Sep 17 00:00:00 2001
-From: Kalev Lember <klember@redhat.com>
-Date: Wed, 19 Oct 2016 23:38:28 +0200
-Subject: [PATCH] Fix an incorrect preprocessor conditional
-
-This fixes the build with wayland wayland egl server support disabled.
----
- cogl/winsys/cogl-winsys-egl.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cogl/winsys/cogl-winsys-egl.c b/cogl/winsys/cogl-winsys-egl.c
-index 39bfd884..4a9f3aa6 100644
---- a/cogl/winsys/cogl-winsys-egl.c
-+++ b/cogl/winsys/cogl-winsys-egl.c
-@@ -1029,7 +1029,7 @@ _cogl_egl_create_image (CoglContext *ctx,
-     egl_ctx = EGL_NO_CONTEXT;
-   else
- #endif
--#if COGL_HAS_WAYLAND_EGL_SERVER_SUPPORT
-+#ifdef COGL_HAS_WAYLAND_EGL_SERVER_SUPPORT
-   /* The WL_bind_wayland_display spec states that EGL_NO_CONTEXT is to be used
-    * in conjunction with the EGL_WAYLAND_BUFFER_WL target */
-   if (target == EGL_WAYLAND_BUFFER_WL)
--- 
-2.11.0
-
diff --git a/poky/meta/recipes-graphics/cogl/cogl-1.0/test-backface-culling.c-fix-may-be-used-uninitialize.patch b/poky/meta/recipes-graphics/cogl/cogl-1.0/test-backface-culling.c-fix-may-be-used-uninitialize.patch
deleted file mode 100644
index 479a0ff..0000000
--- a/poky/meta/recipes-graphics/cogl/cogl-1.0/test-backface-culling.c-fix-may-be-used-uninitialize.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From a51f61d675a0e7d6649182c6a1325ceab8342df2 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Mon, 4 Jan 2016 22:47:29 -0800
-Subject: [PATCH] test-backface-culling.c: fix may be used uninitialized error
-
-Fixed when gcc -O:
-test-backface-culling.c:206:7: error: 'cull_front' may be used uninitialized in this function [-Werror=maybe-uninitialized]
-|        validate_part (framebuffer,
-|        ^
-| cc1: some warnings being treated as errors
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- tests/conform/test-backface-culling.c |    3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/tests/conform/test-backface-culling.c b/tests/conform/test-backface-culling.c
-index e90c2f5..7c45592 100644
---- a/tests/conform/test-backface-culling.c
-+++ b/tests/conform/test-backface-culling.c
-@@ -164,7 +164,8 @@ validate_result (CoglFramebuffer *framebuffer, int y_offset)
- 
-   for (draw_num = 0; draw_num < 16; draw_num++)
-     {
--      CoglBool cull_front, cull_back;
-+      CoglBool cull_front = FALSE;
-+      CoglBool cull_back = FALSE;
-       CoglPipelineCullFaceMode cull_mode;
- 
-       if (USE_LEGACY_STATE (draw_num))
--- 
-1.7.9.5
-
diff --git a/poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.2.bb b/poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.2.bb
deleted file mode 100644
index 5901062..0000000
--- a/poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.2.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require cogl-1.0.inc
-
-SRC_URI += "file://test-backface-culling.c-fix-may-be-used-uninitialize.patch \
-            file://0001-Fix-an-incorrect-preprocessor-conditional.patch"
-SRC_URI[archive.md5sum] = "d53b708ca7c4af03d7254e46945d6b33"
-SRC_URI[archive.sha256sum] = "39a718cdb64ea45225a7e94f88dddec1869ab37a21b339ad058a9d898782c00d"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=1b1a508d91d25ca607c83f92f3e31c84"
diff --git a/poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.4.bb b/poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.4.bb
new file mode 100644
index 0000000..8e61c19
--- /dev/null
+++ b/poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.4.bb
@@ -0,0 +1,6 @@
+require cogl-1.0.inc
+
+SRC_URI[archive.md5sum] = "31755015a865c4af51ac84f6e53af8ab"
+SRC_URI[archive.sha256sum] = "5217bf94cbca3df63268a3b79d017725382b9e592b891d1e7dc6212590ce0de0"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=1b1a508d91d25ca607c83f92f3e31c84"
diff --git a/poky/meta/recipes-graphics/drm/libdrm_2.4.97.bb b/poky/meta/recipes-graphics/drm/libdrm_2.4.98.bb
similarity index 94%
rename from poky/meta/recipes-graphics/drm/libdrm_2.4.97.bb
rename to poky/meta/recipes-graphics/drm/libdrm_2.4.98.bb
index bbe9a33..bed542b 100644
--- a/poky/meta/recipes-graphics/drm/libdrm_2.4.97.bb
+++ b/poky/meta/recipes-graphics/drm/libdrm_2.4.98.bb
@@ -12,8 +12,8 @@
 
 SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.bz2 \
            file://musl-ioctl.patch"
-SRC_URI[md5sum] = "acef22d0c62c89692348c2dd5591393e"
-SRC_URI[sha256sum] = "77d0ccda3e10d6593398edb70b1566bfe1a23a39bd3da98ace2147692eadd123"
+SRC_URI[md5sum] = "1320b43c4bdb8846c308ec2610b62b64"
+SRC_URI[sha256sum] = "8be0edccaca3abde8b6bb1431b46354c7fab46e9b91cc6946ba65b51f56f1894"
 
 inherit meson pkgconfig manpages
 
diff --git a/poky/meta/recipes-graphics/fontconfig/fontconfig/0001-src-fccache.c-Fix-define-for-HAVE_POSIX_FADVISE.patch b/poky/meta/recipes-graphics/fontconfig/fontconfig/0001-src-fccache.c-Fix-define-for-HAVE_POSIX_FADVISE.patch
deleted file mode 100644
index d9bce21..0000000
--- a/poky/meta/recipes-graphics/fontconfig/fontconfig/0001-src-fccache.c-Fix-define-for-HAVE_POSIX_FADVISE.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From ab9522177a8396a51812fdbebb6387df451a8499 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Mon, 24 Dec 2018 11:03:58 +0800
-Subject: [PATCH] src/fccache.c: Fix define for HAVE_POSIX_FADVISE
-
-Otherwise, there would be build errors in the following 2 cases:
-* define HAVE_POSIX_FADVISE
-Or:
-* undef HAVE_POSIX_FADVISE
-
-Upstream-Status: Backport [https://gitlab.freedesktop.org/fontconfig/fontconfig/commit/586e35450e9ca7c1dc647ceb9d75ac8ed08c5c16]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- fccache.c |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/fccache.c b/src/fccache.c
-index 6f3c68a..85cc4b4 100644
---- a/src/fccache.c
-+++ b/src/fccache.c
-@@ -700,7 +700,7 @@ FcDirCacheMapFd (FcConfig *config, int fd, struct stat *fd_stat, struct stat *di
-     {
- #if defined(HAVE_MMAP) || defined(__CYGWIN__)
- 	cache = mmap (0, fd_stat->st_size, PROT_READ, MAP_SHARED, fd, 0);
--#if (HAVE_POSIX_FADVISE) && defined(POSIX_FADV_WILLNEED)
-+#if defined(HAVE_POSIX_FADVISE) && defined(POSIX_FADV_WILLNEED)
- 	posix_fadvise (fd, 0, fd_stat->st_size, POSIX_FADV_WILLNEED);
- #endif
- 	if (cache == MAP_FAILED)
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-graphics/fontconfig/fontconfig/0001-src-fcxml.c-avoid-double-free-of-filename.patch b/poky/meta/recipes-graphics/fontconfig/fontconfig/0001-src-fcxml.c-avoid-double-free-of-filename.patch
deleted file mode 100644
index 3ca9fde..0000000
--- a/poky/meta/recipes-graphics/fontconfig/fontconfig/0001-src-fcxml.c-avoid-double-free-of-filename.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From a163c81ac430cdc292add200f3e6a0c048be4d7e Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 11 Oct 2017 17:40:09 +0300
-Subject: [PATCH] src/fcxml.c: avoid double free() of filename
-
-It's also freed after bail1, so no need to do it here.
-
-Upstream-Status: Submitted [https://bugs.freedesktop.org/show_bug.cgi?id=103221]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- src/fcxml.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/src/fcxml.c b/src/fcxml.c
-index 19ce96a..edb6054 100644
---- a/src/fcxml.c
-+++ b/src/fcxml.c
-@@ -3398,7 +3398,6 @@ FcConfigParseAndLoad (FcConfig	    *config,
- 
-     fd = FcOpen ((char *) filename, O_RDONLY);
-     if (fd == -1) {
--	FcStrFree (filename);
- 	goto bail1;
-     }
- 
--- 
-2.14.1
-
diff --git a/poky/meta/recipes-graphics/fontconfig/fontconfig/revert-static-pkgconfig.patch b/poky/meta/recipes-graphics/fontconfig/fontconfig/revert-static-pkgconfig.patch
index fca1e65..30d6423 100644
--- a/poky/meta/recipes-graphics/fontconfig/fontconfig/revert-static-pkgconfig.patch
+++ b/poky/meta/recipes-graphics/fontconfig/fontconfig/revert-static-pkgconfig.patch
@@ -8,13 +8,13 @@
 Upstream-Status: Inappropriate [OE-Specific]
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 
-Index: fontconfig-2.11.93/fontconfig.pc.in
-===================================================================
---- fontconfig-2.11.93.orig/fontconfig.pc.in
-+++ fontconfig-2.11.93/fontconfig.pc.in
+diff --git a/fontconfig.pc.in b/fontconfig.pc.in
+index 61b35fb..5bc9bab 100644
+--- a/fontconfig.pc.in
++++ b/fontconfig.pc.in
 @@ -15,4 +15,4 @@ Requires: @PKGCONFIG_REQUIRES@
  Requires.private: @PKGCONFIG_REQUIRES_PRIVATELY@
  Libs: -L${libdir} -lfontconfig
- Libs.private: @EXPAT_LIBS@ @FREETYPE_LIBS@ @ICONV_LIBS@ @LIBXML2_LIBS@
--Cflags: -I${includedir} @EXPAT_CFLAGS@ @FREETYPE_CFLAGS@ @ICONV_CFLAGS@ @LIBXML2_CFLAGS@
+ Libs.private: @ICONV_LIBS@ @PKG_EXPAT_LIBS@
+-Cflags: -I${includedir} @ICONV_CFLAGS@ @PKG_EXPAT_CFLAGS@
 +Cflags: -I${includedir}
diff --git a/poky/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb b/poky/meta/recipes-graphics/fontconfig/fontconfig_2.13.1.bb
similarity index 82%
rename from poky/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb
rename to poky/meta/recipes-graphics/fontconfig/fontconfig_2.13.1.bb
index 8fa739d..d0da419 100644
--- a/poky/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb
+++ b/poky/meta/recipes-graphics/fontconfig/fontconfig_2.13.1.bb
@@ -14,20 +14,18 @@
 LICENSE = "MIT-style & MIT & PD"
 LIC_FILES_CHKSUM = "file://COPYING;md5=7a0449e9bc5370402a94c00204beca3d \
                     file://src/fcfreetype.c;endline=45;md5=5d9513e3196a1fbfdfa94051c09dfc84 \
-                    file://src/fccache.c;beginline=1367;endline=1382;md5=0326cfeb4a7333dd4dd25fbbc4b9f27f"
+                    file://src/fccache.c;beginline=1671;endline=1686;md5=0326cfeb4a7333dd4dd25fbbc4b9f27f"
 
 SECTION = "libs"
 
-DEPENDS = "expat freetype zlib gperf-native"
+DEPENDS = "expat freetype zlib gperf-native util-linux"
 
 SRC_URI = "http://fontconfig.org/release/fontconfig-${PV}.tar.gz \
            file://revert-static-pkgconfig.patch \
-           file://0001-src-fcxml.c-avoid-double-free-of-filename.patch \
-           file://0001-src-fccache.c-Fix-define-for-HAVE_POSIX_FADVISE.patch \
            "
 
-SRC_URI[md5sum] = "00e748c67fad11e7057a71ed385e8bdb"
-SRC_URI[sha256sum] = "064b9ebf060c9e77011733ac9dc0e2ce92870b574cca2405e11f5353a683c334"
+SRC_URI[md5sum] = "690c6cb840a92fa8908cdf462d19ec66"
+SRC_URI[sha256sum] = "9f0d852b39d75fc655f9f53850eb32555394f36104a044bb2b2fc9e66dbbfa7f"
 
 UPSTREAM_CHECK_REGEX = "fontconfig-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
 
@@ -50,6 +48,7 @@
 
 PACKAGES =+ "fontconfig-utils"
 FILES_${PN} =+ "${datadir}/xml/*"
+FILES_${PN}-dev += "${datadir}/gettext/*"
 FILES_fontconfig-utils = "${bindir}/* ${libexecdir}/*"
 
 # Work around past breakage in debian.bbclass
@@ -58,7 +57,7 @@
 RCONFLICTS_fontconfig-utils = "libfontconfig-utils"
 DEBIAN_NOAUTONAME_fontconfig-utils = "1"
 
-inherit autotools pkgconfig relative_symlinks
+inherit autotools pkgconfig relative_symlinks gettext
 
 FONTCONFIG_CACHE_DIR ?= "${localstatedir}/cache/fontconfig"
 
diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.3.1.bb b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.4.0.bb
similarity index 88%
rename from poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.3.1.bb
rename to poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.4.0.bb
index 4b292d8..4691d16 100644
--- a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.3.1.bb
+++ b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.4.0.bb
@@ -11,8 +11,8 @@
 DEPENDS = "glib-2.0 cairo fontconfig freetype"
 
 SRC_URI = "http://www.freedesktop.org/software/harfbuzz/release/${BP}.tar.bz2"
-SRC_URI[md5sum] = "531de9df7c8a5405dd9c6a873fcee8c2"
-SRC_URI[sha256sum] = "f205699d5b91374008d6f8e36c59e419ae2d9a7bb8c5d9f34041b9a5abcae468"
+SRC_URI[md5sum] = "49f111f9b52ae3d9b31c1a3631a320bd"
+SRC_URI[sha256sum] = "b470eff9dd5b596edf078596b46a1f83c179449f051a469430afc15869db336f"
 
 inherit autotools pkgconfig lib_package gtk-doc
 
diff --git a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb
index b2dd6b3..513148f 100644
--- a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb
+++ b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb
@@ -6,7 +6,7 @@
 
 LIC_FILES_CHKSUM = "file://kmscube.c;beginline=1;endline=23;md5=8b309d4ee67b7315ff7381270dd631fb"
 
-SRCREV = "d8da3dcfdfe33ee525cf562e928a5266ac69843c"
+SRCREV = "485b385e966a63cecc143765d112d267b299ffe5"
 SRC_URI = "git://anongit.freedesktop.org/mesa/kmscube;branch=master;protocol=git \
     file://detect-gst_bo_map-_unmap-and-use-it-or-avoid-it.patch"
 UPSTREAM_CHECK_COMMITS = "1"
diff --git a/poky/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb b/poky/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb
index 3680ea9..7718d11 100644
--- a/poky/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb
+++ b/poky/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb
@@ -31,6 +31,8 @@
 
 inherit autotools lib_package binconfig-disabled pkgconfig
 
+CVE_PRODUCT = "simple_directmedia_layer sdl"
+
 EXTRA_OECONF = "--disable-static --enable-cdrom --enable-threads --enable-timers \
                 --enable-file --disable-oss --disable-esd --disable-arts \
                 --disable-diskaudio --disable-nas \
diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb
index c741cfb..bac91d3 100644
--- a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb
+++ b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb
@@ -23,6 +23,8 @@
 
 inherit autotools lib_package binconfig pkgconfig
 
+CVE_PRODUCT = "simple_directmedia_layer sdl"
+
 EXTRA_OECONF = "--disable-oss --disable-esd --disable-arts \
                 --disable-diskaudio --disable-nas --disable-esd-shared --disable-esdtest \
                 --disable-video-dummy \
diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_19.0.1.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_19.0.3.bb
similarity index 100%
rename from poky/meta/recipes-graphics/mesa/mesa-gl_19.0.1.bb
rename to poky/meta/recipes-graphics/mesa/mesa-gl_19.0.3.bb
diff --git a/poky/meta/recipes-graphics/mesa/mesa_19.0.1.bb b/poky/meta/recipes-graphics/mesa/mesa_19.0.3.bb
similarity index 85%
rename from poky/meta/recipes-graphics/mesa/mesa_19.0.1.bb
rename to poky/meta/recipes-graphics/mesa/mesa_19.0.3.bb
index d90be8a..585c3ed 100644
--- a/poky/meta/recipes-graphics/mesa/mesa_19.0.1.bb
+++ b/poky/meta/recipes-graphics/mesa/mesa_19.0.3.bb
@@ -7,8 +7,8 @@
            file://0004-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DAT.patch \
 "
 
-SRC_URI[md5sum] = "19636bb3da35c21f43040d31e575d5ce"
-SRC_URI[sha256sum] = "6884163c0ea9e4c98378ab8fecd72fe7b5f437713a14471beda378df247999d4"
+SRC_URI[md5sum] = "d03bf14e42c0e54ebae5730712ccc408"
+SRC_URI[sha256sum] = "f027244e38dc309a4c12db45ef79be81ab62c797a50a88d566e4edb6159fc4d5"
 
 #because we cannot rely on the fact that all apps will use pkgconfig,
 #make eglplatform.h independent of MESA_EGL_NO_X11_HEADER
diff --git a/poky/meta/recipes-graphics/pango/pango_1.42.4.bb b/poky/meta/recipes-graphics/pango/pango_1.42.4.bb
index d3357f8..58e1f41 100644
--- a/poky/meta/recipes-graphics/pango/pango_1.42.4.bb
+++ b/poky/meta/recipes-graphics/pango/pango_1.42.4.bb
@@ -26,19 +26,8 @@
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
 PACKAGECONFIG[x11] = ",,virtual/libx11 libxft"
 
-GTKDOC_ENABLE_FLAG = "-Denable_docs=true"
-GTKDOC_DISABLE_FLAG = "-Denable_docs=false"
-
-GI_ENABLE_FLAG = "-Dgir=true"
-GI_DISABLE_FLAG = "-Dgir=false"
-
-EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}"
-
-EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
-                                                                                       '${GI_DISABLE_FLAG}', d)} "
-
-EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
-                                                                                     '${GTKDOC_DISABLE_FLAG}', d)} "
+GTKDOC_MESON_OPTION = "enable_docs"
+GIR_MESON_OPTION = 'gir'
 
 LEAD_SONAME = "libpango-1.0*"
 LIBV = "1.8.0"
diff --git a/poky/meta/recipes-graphics/piglit/piglit_git.bb b/poky/meta/recipes-graphics/piglit/piglit_git.bb
index 59d1348..b6542a1 100644
--- a/poky/meta/recipes-graphics/piglit/piglit_git.bb
+++ b/poky/meta/recipes-graphics/piglit/piglit_git.bb
@@ -17,11 +17,12 @@
 
 S = "${WORKDIR}/git"
 
-DEPENDS = "libpng virtual/libx11 libxkbcommon libxrender waffle virtual/libgl libglu python3-mako-native python3-numpy-native python3-six-native virtual/egl"
+X11_DEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxrender libglu', '', d)}"
+X11_RDEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa-demos', '', d)}"
+
+DEPENDS = "libpng waffle libxkbcommon virtual/libgl python3-mako-native python3-numpy-native python3-six-native virtual/egl"
 
 inherit cmake pkgconfig python3native distro_features_check bash-completion
-# depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES = "x11"
 
 # depends on virtual/libgl
 REQUIRED_DISTRO_FEATURES += "opengl"
@@ -32,8 +33,10 @@
 export TEMP = "${B}/temp/"
 do_compile[dirs] =+ "${B}/temp/"
 
-PACKAGECONFIG ??= ""
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
 PACKAGECONFIG[freeglut] = "-DPIGLIT_USE_GLUT=1,-DPIGLIT_USE_GLUT=0,freeglut,"
+PACKAGECONFIG[x11] = "-DPIGLIT_BUILD_GL_TESTS=ON,-DPIGLIT_BUILD_GL_TESTS=OFF,${X11_DEPS}, ${X11_RDEPS}"
+
 
 do_configure_prepend() {
    if [ "${@bb.utils.contains('PACKAGECONFIG', 'freeglut', 'yes', 'no', d)}" = "no" ]; then
@@ -48,7 +51,7 @@
 	python3-misc \
 	python3-unixadmin python3-xml python3-multiprocessing \
 	python3-six python3-shell python3-io \
-	python3-netserver mesa-demos bash \
+	python3-netserver bash \
 	"
 
 INSANE_SKIP_${PN} += "dev-so already-stripped"
diff --git a/poky/meta/recipes-graphics/waffle/waffle_1.5.2.bb b/poky/meta/recipes-graphics/waffle/waffle_1.5.2.bb
index 43c3edc..31572f2 100644
--- a/poky/meta/recipes-graphics/waffle/waffle_1.5.2.bb
+++ b/poky/meta/recipes-graphics/waffle/waffle_1.5.2.bb
@@ -15,10 +15,9 @@
 
 # This should be overridden per-machine to reflect the capabilities of the GL
 # stack.
-PACKAGECONFIG ??= "glx"
-
-# libx11 requires x11 in DISTRO_FEATURES.
-REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'glx', 'x11', '', d)}"
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'glx x11-egl', '', d)} \
+                   ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \
+                   gbm"
 
 # virtual/libgl requires opengl in DISTRO_FEATURES.
 REQUIRED_DISTRO_FEATURES += "${@bb.utils.contains('DEPENDS', 'virtual/${MLPREFIX}libgl', 'opengl', '', d)}"
diff --git a/poky/meta/recipes-graphics/wayland/libinput_1.12.6.bb b/poky/meta/recipes-graphics/wayland/libinput_1.13.1.bb
similarity index 84%
rename from poky/meta/recipes-graphics/wayland/libinput_1.12.6.bb
rename to poky/meta/recipes-graphics/wayland/libinput_1.13.1.bb
index 46366b7..5a6dd9a 100644
--- a/poky/meta/recipes-graphics/wayland/libinput_1.12.6.bb
+++ b/poky/meta/recipes-graphics/wayland/libinput_1.13.1.bb
@@ -7,12 +7,12 @@
 
 DEPENDS = "libevdev udev mtdev"
 
-SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \
-           "
-SRC_URI[md5sum] = "8cf10cc0fdfab865b105dd28283fa0fd"
-SRC_URI[sha256sum] = "12b4023a3fc683d3d8127db573bdf925a2ef366615042f69c87e57c32a50f45d"
+SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz"
+SRC_URI[md5sum] = "869a7e68c4290d99868500a369645def"
+SRC_URI[sha256sum] = "e1d487d478ee2bb118890a64211c2b7f2348aaed7363b214bed4d642274841ab"
 
 UPSTREAM_CHECK_REGEX = "libinput-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
+
 inherit meson pkgconfig lib_package
 
 PACKAGECONFIG ??= ""
diff --git a/poky/meta/recipes-graphics/wayland/weston-init/weston-start b/poky/meta/recipes-graphics/wayland/weston-init/weston-start
index e72fbaa..ccc7093 100755
--- a/poky/meta/recipes-graphics/wayland/weston-init/weston-start
+++ b/poky/meta/recipes-graphics/wayland/weston-init/weston-start
@@ -5,8 +5,8 @@
 export PATH="/sbin:/usr/sbin:/bin:/usr/bin"
 
 usage() {
-    cat <<EOF
-    $0 [<openvt arguments>] [-- <weston options>]
+	cat <<EOF
+	$0 [<openvt arguments>] [-- <weston options>]
 EOF
 }
 
@@ -27,10 +27,19 @@
 	echo "ERROR: A Wayland compositor is already running, nested Weston instance is not supported yet."
 	exit 1
 fi
+
+if [ -n "$WESTON_USER" ]; then
+	if [ -z "$WESTON_TTY" ]; then
+		echo "ERROR: If you have WESTON_USER variable set, you also need WESTON_TTY."
+		exit 1
+	fi
+	weston_args_user="-u $WESTON_USER -t $WESTON_TTY"
+fi
+
 if [ -n "$DISPLAY" ]; then
 	launcher="weston"
 else
-	launcher="weston-launch --"
+	launcher="weston-launch $weston_args_user --"
 fi
 
 openvt_args="-s"
@@ -59,11 +68,15 @@
 fi
 
 if test -z "$XDG_RUNTIME_DIR"; then
-    export XDG_RUNTIME_DIR=/run/user/`id -u`
-    if ! test -d "$XDG_RUNTIME_DIR"; then
-        mkdir --parents $XDG_RUNTIME_DIR
-        chmod 0700 $XDG_RUNTIME_DIR
-    fi
+	export XDG_RUNTIME_DIR=/run/user/`id -u ${WESTON_USER}`
+	if ! test -d "$XDG_RUNTIME_DIR"; then
+		mkdir --parents $XDG_RUNTIME_DIR
+		chmod 0700 $XDG_RUNTIME_DIR
+	fi
+	if [ -n "$WESTON_USER" ]
+	then
+		chown $WESTON_USER:$WESTON_USER $XDG_RUNTIME_DIR
+	fi
 fi
 
 exec openvt $openvt_args -- $launcher $weston_args --log=@LOCALSTATEDIR@/log/weston.log
diff --git a/poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch b/poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch
index 09ec155..0eb3d95a 100644
--- a/poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch
+++ b/poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch
@@ -1,4 +1,4 @@
-From ad1d2161c811cff25d1684c33611f300adb753bc Mon Sep 17 00:00:00 2001
+From c4677e155736062e75687f1a655732c8902e912b Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 29 May 2015 20:56:00 -0700
 Subject: [PATCH] make error() portable
@@ -18,12 +18,12 @@
  create mode 100644 libweston/weston-error.h
 
 diff --git a/configure.ac b/configure.ac
-index 7aebbdb..dc9c802 100644
+index c05ad01..6da6e04 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -109,6 +109,8 @@ AC_CHECK_DECL(CLOCK_MONOTONIC,[],
+@@ -126,6 +126,8 @@ AC_CHECK_DECL(CLOCK_MONOTONIC,[],
+ 	      [AC_MSG_ERROR("CLOCK_MONOTONIC is needed to compile weston")],
  	      [[#include <time.h>]])
- AC_CHECK_HEADERS([execinfo.h])
  
 +AC_CHECK_HEADERS([error.h])
 +
@@ -57,7 +57,7 @@
 +#endif
 +
 diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c
-index 1adcf21..166bf3b 100644
+index bf73e0d..9064439 100644
 --- a/libweston/weston-launch.c
 +++ b/libweston/weston-launch.c
 @@ -33,7 +33,6 @@
diff --git a/poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch b/poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
index d648538..a2f61bf 100644
--- a/poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
+++ b/poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
@@ -1,7 +1,8 @@
-From b98b9dbda902225cdd972b5bff6a641c36cc7e90 Mon Sep 17 00:00:00 2001
+From 7d2fea61a95e9498b5a19c8cffcb2ab5631d5685 Mon Sep 17 00:00:00 2001
 From: Tom Hochstein <tom.hochstein@nxp.com>
 Date: Wed, 22 Feb 2017 15:53:30 +0200
-Subject: [PATCH] weston-launch: Provide a default version that doesn't require PAM
+Subject: [PATCH] weston-launch: Provide a default version that doesn't require
+ PAM
 
 weston-launch requires PAM for starting weston as a non-root user.
 
@@ -21,10 +22,10 @@
  2 files changed, 27 insertions(+), 2 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index dc9c802..48cf5cb 100644
+index 6da6e04..681f7c8 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -451,13 +451,17 @@ AC_ARG_ENABLE(resize-optimization,
+@@ -515,13 +515,17 @@ AC_ARG_ENABLE(resize-optimization,
  AS_IF([test "x$enable_resize_optimization" = "xyes"],
        [AC_DEFINE([USE_RESIZE_POOL], [1], [Use resize memory pool as a performance optimization])])
  
@@ -44,7 +45,7 @@
  fi
  
  AM_CONDITIONAL(HAVE_PANGO, test "x$have_pango" = "xyes")
-@@ -702,6 +706,7 @@ AC_MSG_RESULT([
+@@ -767,6 +771,7 @@ AC_MSG_RESULT([
  	Enable developer documentation	${enable_devdocs}
  
  	weston-launch utility		${enable_weston_launch}
@@ -53,7 +54,7 @@
  	systemd notify support		${enable_systemd_notify}
  
 diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c
-index 166bf3b..6fb9232 100644
+index 9064439..c6abe92 100644
 --- a/libweston/weston-launch.c
 +++ b/libweston/weston-launch.c
 @@ -51,7 +51,9 @@
@@ -77,7 +78,7 @@
  	int tty;
  	int ttynr;
  	int sock[2];
-@@ -189,6 +193,7 @@ weston_launch_allowed(struct weston_launch *wl)
+@@ -191,6 +195,7 @@ weston_launch_allowed(struct weston_launch *wl)
  	return false;
  }
  
@@ -85,7 +86,7 @@
  static int
  pam_conversation_fn(int msg_count,
  		    const struct pam_message **messages,
-@@ -229,6 +234,7 @@ setup_pam(struct weston_launch *wl)
+@@ -231,6 +236,7 @@ setup_pam(struct weston_launch *wl)
  
  	return 0;
  }
@@ -93,7 +94,7 @@
  
  static int
  setup_launcher_socket(struct weston_launch *wl)
-@@ -422,6 +428,7 @@ quit(struct weston_launch *wl, int status)
+@@ -424,6 +430,7 @@ quit(struct weston_launch *wl, int status)
  	close(wl->signalfd);
  	close(wl->sock[0]);
  
@@ -101,7 +102,7 @@
  	if (wl->new_user) {
  		err = pam_close_session(wl->ph, 0);
  		if (err)
-@@ -429,6 +436,7 @@ quit(struct weston_launch *wl, int status)
+@@ -431,6 +438,7 @@ quit(struct weston_launch *wl, int status)
  				err, pam_strerror(wl->ph, err));
  		pam_end(wl->ph, err);
  	}
@@ -109,7 +110,7 @@
  
  	if (ioctl(wl->tty, KDSKBMUTE, 0) &&
  	    ioctl(wl->tty, KDSKBMODE, wl->kb_mode))
-@@ -608,6 +616,7 @@ setup_session(struct weston_launch *wl, char **child_argv)
+@@ -610,6 +618,7 @@ setup_session(struct weston_launch *wl, char **child_argv)
  	setenv("HOME", wl->pw->pw_dir, 1);
  	setenv("SHELL", wl->pw->pw_shell, 1);
  
@@ -117,7 +118,7 @@
  	env = pam_getenvlist(wl->ph);
  	if (env) {
  		for (i = 0; env[i]; ++i) {
-@@ -616,6 +625,7 @@ setup_session(struct weston_launch *wl, char **child_argv)
+@@ -618,6 +627,7 @@ setup_session(struct weston_launch *wl, char **child_argv)
  		}
  		free(env);
  	}
@@ -125,7 +126,7 @@
  
  	/*
  	 * We open a new session, so it makes sense
-@@ -683,8 +693,10 @@ static void
+@@ -685,8 +695,10 @@ static void
  help(const char *name)
  {
  	fprintf(stderr, "Usage: %s [args...] [-- [weston args..]]\n", name);
@@ -136,7 +137,7 @@
  	fprintf(stderr, "  -t, --tty       Start session on alternative tty,\n"
  			"                  e.g. -t /dev/tty4, requires -u option.\n");
  	fprintf(stderr, "  -v, --verbose   Be verbose\n");
-@@ -698,7 +710,9 @@ main(int argc, char *argv[])
+@@ -700,7 +712,9 @@ main(int argc, char *argv[])
  	int i, c;
  	char *tty = NULL;
  	struct option opts[] = {
@@ -146,7 +147,7 @@
  		{ "tty",     required_argument, NULL, 't' },
  		{ "verbose", no_argument,       NULL, 'v' },
  		{ "help",    no_argument,       NULL, 'h' },
-@@ -710,9 +724,13 @@ main(int argc, char *argv[])
+@@ -712,9 +726,13 @@ main(int argc, char *argv[])
  	while ((c = getopt_long(argc, argv, "u:t:vh", opts, &i)) != -1) {
  		switch (c) {
  		case 'u':
@@ -160,7 +161,7 @@
  			break;
  		case 't':
  			tty = optarg;
-@@ -753,8 +771,10 @@ main(int argc, char *argv[])
+@@ -755,8 +773,10 @@ main(int argc, char *argv[])
  	if (setup_tty(&wl, tty) < 0)
  		exit(EXIT_FAILURE);
  
diff --git a/poky/meta/recipes-graphics/wayland/weston_5.0.0.bb b/poky/meta/recipes-graphics/wayland/weston_6.0.0.bb
similarity index 96%
rename from poky/meta/recipes-graphics/wayland/weston_5.0.0.bb
rename to poky/meta/recipes-graphics/wayland/weston_6.0.0.bb
index e517109..fa08dac 100644
--- a/poky/meta/recipes-graphics/wayland/weston_5.0.0.bb
+++ b/poky/meta/recipes-graphics/wayland/weston_6.0.0.bb
@@ -12,8 +12,8 @@
            file://xwayland.weston-start \
            file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \
 "
-SRC_URI[md5sum] = "752a04ce3c65af4884cfac4e57231bdb"
-SRC_URI[sha256sum] = "15a23423bcfa45e31e1dedc0cd524ba71e2930df174fde9c99b71a537c4e4caf"
+SRC_URI[md5sum] = "7c634e262f8a464a076c97fd50ad36b3"
+SRC_URI[sha256sum] = "546323a90607b3bd7f48809ea9d76e64cd09718102f2deca6d95aa59a882e612"
 
 UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
 
@@ -28,6 +28,7 @@
 
 EXTRA_OECONF = "--enable-setuid-install \
                 --disable-rdp-compositor \
+                --enable-autotools \
                 "
 PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl', '', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \
diff --git a/poky/meta/recipes-graphics/xorg-app/x11perf_1.6.0.bb b/poky/meta/recipes-graphics/xorg-app/x11perf_1.6.1.bb
similarity index 80%
rename from poky/meta/recipes-graphics/xorg-app/x11perf_1.6.0.bb
rename to poky/meta/recipes-graphics/xorg-app/x11perf_1.6.1.bb
index a06aa26..33c0c8a 100644
--- a/poky/meta/recipes-graphics/xorg-app/x11perf_1.6.0.bb
+++ b/poky/meta/recipes-graphics/xorg-app/x11perf_1.6.1.bb
@@ -19,5 +19,5 @@
 
 FILES_${PN} += "${libdir}/X11/x11perfcomp/*"
 
-SRC_URI[md5sum] = "f0b24e4d8beb622a419e8431e1c03cd7"
-SRC_URI[sha256sum] = "e87098dec1947572d70c62697a7b70bde1ab5668237d4660080eade6bc096751"
+SRC_URI[md5sum] = "e96b56756990c56c24d2d02c2964456b"
+SRC_URI[sha256sum] = "1c7e0b8ffc2794b4ccf11e04d551823abe0ea47b4f7db0637390db6fbe817c34"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcb/gcc-mips-pr68302-mips-workaround.patch b/poky/meta/recipes-graphics/xorg-lib/libxcb/gcc-mips-pr68302-mips-workaround.patch
deleted file mode 100644
index 698d038..0000000
--- a/poky/meta/recipes-graphics/xorg-lib/libxcb/gcc-mips-pr68302-mips-workaround.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Reduce debug info for xcb.c since on mips we run into a gcc5 bug
-
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68302
-
-This patch is a workaround to get past the gcc bug until its resolved.
-it should have minimal impact on libxcb while make it work.
-
-Upstream-Status: Inappropriate [OE-Specific]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: libxcb-1.11.1/src/Makefile.am
-===================================================================
---- libxcb-1.11.1.orig/src/Makefile.am
-+++ libxcb-1.11.1/src/Makefile.am
-@@ -188,6 +188,7 @@ EXTSOURCES += xkb.c
- if BUILD_XKB
- lib_LTLIBRARIES += libxcb-xkb.la
- libxcb_xkb_la_LDFLAGS = -version-info 1:0:0 -no-undefined
-+CFLAGS += -g1
- libxcb_xkb_la_LIBADD = $(XCB_LIBS)
- nodist_libxcb_xkb_la_SOURCES = xkb.c xkb.h
- endif
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcb_1.13.1.bb b/poky/meta/recipes-graphics/xorg-lib/libxcb_1.13.1.bb
index 84303e6..b0afc01 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxcb_1.13.1.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxcb_1.13.1.bb
@@ -12,7 +12,6 @@
 SRC_URI = "http://xcb.freedesktop.org/dist/libxcb-${PV}.tar.bz2 \
            file://xcbincludedir.patch \
            file://disable-check.patch \
-           file://gcc-mips-pr68302-mips-workaround.patch \
           "
 
 SRC_URI[md5sum] = "f33cdfc67346f7217a9326c0d8679975"
@@ -30,7 +29,6 @@
 
 # The libxau and others requires x11 in DISTRO_FEATURES
 REQUIRED_DISTRO_FEATURES = "x11"
-REQUIRED_DISTRO_FEATURES_class-native = ""
 
 export PYTHON = "python3"
 
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.2.bb b/poky/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.3.bb
similarity index 83%
rename from poky/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.2.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.3.bb
index 466f349..d43a146 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.2.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.3.bb
@@ -22,8 +22,8 @@
 
 BBCLASSEXTEND = "native nativesdk"
 
-SRC_URI[md5sum] = "18aa5c1279b01f9d18e3299969665b2e"
-SRC_URI[sha256sum] = "81fe09867918fff258296e1e1e159f0dc639cb30d201c53519f25ab73af4e4e2"
+SRC_URI[md5sum] = "115c5c12ecce0e749cd91d999a5fd160"
+SRC_URI[sha256sum] = "20523b44aaa513e17c009e873ad7bbc301507a3224c232610ce2e099011c6529"
 
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[arc4] = "ac_cv_lib_bsd_arc4random_buf=yes,ac_cv_lib_bsd_arc4random_buf=no,libbsd"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxext_1.3.3.bb b/poky/meta/recipes-graphics/xorg-lib/libxext_1.3.4.bb
similarity index 83%
rename from poky/meta/recipes-graphics/xorg-lib/libxext_1.3.3.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxext_1.3.4.bb
index aae8f2a..9493111 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxext_1.3.3.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxext_1.3.4.bb
@@ -22,5 +22,5 @@
 
 BBCLASSEXTEND = "native nativesdk"
 
-SRC_URI[md5sum] = "52df7c4c1f0badd9f82ab124fb32eb97"
-SRC_URI[sha256sum] = "b518d4d332231f313371fdefac59e3776f4f0823bcb23cf7c7305bfb57b16e35"
+SRC_URI[md5sum] = "f5b48bb76ba327cd2a8dc7a383532a95"
+SRC_URI[sha256sum] = "59ad6fcce98deaecc14d39a672cf218ca37aba617c9a0f691cac3bcd28edf82b"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxft_2.3.2.bb b/poky/meta/recipes-graphics/xorg-lib/libxft_2.3.3.bb
similarity index 87%
rename from poky/meta/recipes-graphics/xorg-lib/libxft_2.3.2.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxft_2.3.3.bb
index 4565ae2..65bd9ae 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxft_2.3.2.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxft_2.3.3.bb
@@ -20,8 +20,8 @@
 
 PE = "1"
 
-SRC_URI[md5sum] = "331b3a2a3a1a78b5b44cfbd43f86fcfe"
-SRC_URI[sha256sum] = "f5a3c824761df351ca91827ac221090943ef28b248573486050de89f4bfcdc4c"
+SRC_URI[md5sum] = "4a433c24627b4ff60a4dd403a0990796"
+SRC_URI[sha256sum] = "225c68e616dd29dbb27809e45e9eadf18e4d74c50be43020ef20015274529216"
 
 XORG_PN = "libXft"
 
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxkbfile_1.0.9.bb b/poky/meta/recipes-graphics/xorg-lib/libxkbfile_1.1.0.bb
similarity index 73%
rename from poky/meta/recipes-graphics/xorg-lib/libxkbfile_1.0.9.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxkbfile_1.1.0.bb
index f5c1860..3a6c50c 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxkbfile_1.0.9.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxkbfile_1.1.0.bb
@@ -14,5 +14,5 @@
 
 BBCLASSEXTEND = "native"
 
-SRC_URI[md5sum] = "4a4cfeaf24dab1b991903455d6d7d404"
-SRC_URI[sha256sum] = "51817e0530961975d9513b773960b4edd275f7d5c72293d5a151ed4f42aeb16a"
+SRC_URI[md5sum] = "dd7e1e946def674e78c0efbc5c7d5b3b"
+SRC_URI[sha256sum] = "758dbdaa20add2db4902df0b1b7c936564b7376c02a0acd1f2a331bd334b38c7"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxmu_1.1.2.bb b/poky/meta/recipes-graphics/xorg-lib/libxmu_1.1.3.bb
similarity index 85%
rename from poky/meta/recipes-graphics/xorg-lib/libxmu_1.1.2.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxmu_1.1.3.bb
index 4740c15..dc3179f 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxmu_1.1.2.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxmu_1.1.3.bb
@@ -7,7 +7,6 @@
 Widgets (libXaw) or X Toolkit Instrinsics (libXt) are provided in a \
 second library, libXmuu."
 
-
 require xorg-lib-common.inc
 
 LICENSE = "MIT & MIT-style"
@@ -28,8 +27,8 @@
 
 BBCLASSEXTEND = "native"
 
-SRC_URI[md5sum] = "41d92ab627dfa06568076043f3e089e4"
-SRC_URI[sha256sum] = "756edc7c383254eef8b4e1b733c3bf1dc061b523c9f9833ac7058378b8349d0b"
+SRC_URI[md5sum] = "ac774cff8b493f566088a255dbf91201"
+SRC_URI[sha256sum] = "9c343225e7c3dc0904f2122b562278da5fed639b1b5e880d25111561bac5b731"
 
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
 PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxrandr_1.5.1.bb b/poky/meta/recipes-graphics/xorg-lib/libxrandr_1.5.2.bb
similarity index 81%
rename from poky/meta/recipes-graphics/xorg-lib/libxrandr_1.5.1.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxrandr_1.5.2.bb
index b90ebc6..53a8335 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxrandr_1.5.1.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxrandr_1.5.2.bb
@@ -19,5 +19,5 @@
 
 BBCLASSEXTEND = "native nativesdk"
 
-SRC_URI[md5sum] = "28e486f1d491b757173dd85ba34ee884"
-SRC_URI[sha256sum] = "1ff9e7fa0e4adea912b16a5f0cfa7c1d35b0dcda0e216831f7715c8a3abcf51a"
+SRC_URI[md5sum] = "18f3b20d522f45e4dadd34afb5bea048"
+SRC_URI[sha256sum] = "8aea0ebe403d62330bb741ed595b53741acf45033d3bda1792f1d4cc3daee023"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxvmc_1.0.10.bb b/poky/meta/recipes-graphics/xorg-lib/libxvmc_1.0.11.bb
similarity index 76%
rename from poky/meta/recipes-graphics/xorg-lib/libxvmc_1.0.10.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxvmc_1.0.11.bb
index 7e49a98..d95f809 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxvmc_1.0.10.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxvmc_1.0.11.bb
@@ -15,5 +15,5 @@
 
 XORG_PN = "libXvMC"
 
-SRC_URI[md5sum] = "4cbe1c1def7a5e1b0ed5fce8e512f4c6"
-SRC_URI[sha256sum] = "e501a079b5dfaef0897c56152770c77e05e362065cec58910289aa567277ee2e"
+SRC_URI[md5sum] = "707175185a2e0490b8173686c657324f"
+SRC_URI[sha256sum] = "4a2e34d444a683a7c010b01b23cefe2b8043a063ce4dc6a9b855836b5262622d"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.4.bb b/poky/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.5.bb
similarity index 76%
rename from poky/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.4.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.5.bb
index 626199e..e1cb345 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.4.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.5.bb
@@ -13,7 +13,7 @@
 
 PE = "1"
 
-SRC_URI[md5sum] = "d7dd9b9df336b7dd4028b6b56542ff2c"
-SRC_URI[sha256sum] = "8eecd4b6c1df9a3704c04733c2f4fa93ef469b55028af5510b25818e2456c77e"
+SRC_URI[md5sum] = "0ddeafc13b33086357cfa96fae41ee8e"
+SRC_URI[sha256sum] = "2b98bc5f506c6140d4eddd3990842d30f5dae733b64f198a504f07461bdb7203"
 
 XORG_PN = "libXxf86dga"
diff --git a/poky/meta/recipes-graphics/xorg-lib/pixman_0.38.0.bb b/poky/meta/recipes-graphics/xorg-lib/pixman_0.38.4.bb
similarity index 91%
rename from poky/meta/recipes-graphics/xorg-lib/pixman_0.38.0.bb
rename to poky/meta/recipes-graphics/xorg-lib/pixman_0.38.4.bb
index 49c3d62..82c2e73 100644
--- a/poky/meta/recipes-graphics/xorg-lib/pixman_0.38.0.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/pixman_0.38.4.bb
@@ -34,7 +34,7 @@
 	    file://0001-test-utils-Check-for-FE_INVALID-definition-before-us.patch \
 "
 
-SRC_URI[md5sum] = "04ecad28edcc14e7eb5f7ed6df29c7a0"
-SRC_URI[sha256sum] = "b768e3f7895ddebdc0f07478729d9cec4fe0a9d2201f828c900d67b0e5b436a8"
+SRC_URI[md5sum] = "16a350a8a40116ddf67632a1d2623711"
+SRC_URI[sha256sum] = "84abb7fa2541af24d9c3b34bf75d6ac60cc94ac4410061bbb295b66a29221550"
 
 REQUIRED_DISTRO_FEATURES = ""
diff --git a/poky/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc b/poky/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc
index 6f4e444..09df010 100644
--- a/poky/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc
+++ b/poky/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc
@@ -24,4 +24,3 @@
 "
 
 REQUIRED_DISTRO_FEATURES ?= "x11"
-REQUIRED_DISTRO_FEATURES_class-native = ""
diff --git a/poky/meta/recipes-graphics/xorg-lib/xtrans_1.3.5.bb b/poky/meta/recipes-graphics/xorg-lib/xtrans_1.4.0.bb
similarity index 83%
rename from poky/meta/recipes-graphics/xorg-lib/xtrans_1.3.5.bb
rename to poky/meta/recipes-graphics/xorg-lib/xtrans_1.4.0.bb
index 200716f..5bf134b 100644
--- a/poky/meta/recipes-graphics/xorg-lib/xtrans_1.3.5.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/xtrans_1.4.0.bb
@@ -22,5 +22,5 @@
 
 BBCLASSEXTEND = "native nativesdk"
 
-SRC_URI[md5sum] = "c5ba432dd1514d858053ffe9f4737dd8"
-SRC_URI[sha256sum] = "adbd3b36932ce4c062cd10f57d78a156ba98d618bdb6f50664da327502bc8301"
+SRC_URI[md5sum] = "ce2fb8100c6647ee81451ebe388b17ad"
+SRC_URI[sha256sum] = "377c4491593c417946efcd2c7600d1e62639f7a8bbca391887e2c4679807d773"
diff --git a/poky/meta/recipes-graphics/xorg-util/makedepend_1.0.5.bb b/poky/meta/recipes-graphics/xorg-util/makedepend_1.0.6.bb
similarity index 82%
rename from poky/meta/recipes-graphics/xorg-util/makedepend_1.0.5.bb
rename to poky/meta/recipes-graphics/xorg-util/makedepend_1.0.6.bb
index 727ab54..2760edd 100644
--- a/poky/meta/recipes-graphics/xorg-util/makedepend_1.0.5.bb
+++ b/poky/meta/recipes-graphics/xorg-util/makedepend_1.0.6.bb
@@ -17,5 +17,5 @@
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=43a6eda34b48ee821b3b66f4f753ce4f"
 
-SRC_URI[md5sum] = "efb2d7c7e22840947863efaedc175747"
-SRC_URI[sha256sum] = "503903d41fb5badb73cb70d7b3740c8b30fe1cc68c504d3b6a85e6644c4e5004"
+SRC_URI[md5sum] = "8a583055c84914060c35b6c2f963fc07"
+SRC_URI[sha256sum] = "845f6708fc850bf53f5b1d0fb4352c4feab3949f140b26f71b22faba354c3365"
diff --git a/poky/meta/recipes-kernel/cryptodev/cryptodev.inc b/poky/meta/recipes-kernel/cryptodev/cryptodev.inc
index 252d39d..9d8ba44 100644
--- a/poky/meta/recipes-kernel/cryptodev/cryptodev.inc
+++ b/poky/meta/recipes-kernel/cryptodev/cryptodev.inc
@@ -3,7 +3,9 @@
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
-SRC_URI = "git://github.com/cryptodev-linux/cryptodev-linux"
+SRC_URI = "git://github.com/cryptodev-linux/cryptodev-linux \
+           file://0001-Fix-module-loading-with-Linux-v5.0-rc5.patch \
+           "
 SRCREV = "fd8b15ef1c8398a69a37932ee48c74ab40329a29"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-kernel/cryptodev/files/0001-Fix-module-loading-with-Linux-v5.0-rc5.patch b/poky/meta/recipes-kernel/cryptodev/files/0001-Fix-module-loading-with-Linux-v5.0-rc5.patch
new file mode 100644
index 0000000..34ec872
--- /dev/null
+++ b/poky/meta/recipes-kernel/cryptodev/files/0001-Fix-module-loading-with-Linux-v5.0-rc5.patch
@@ -0,0 +1,59 @@
+Upstream-Status: Backport [https://github.com/cryptodev-linux/cryptodev-linux/commit/f971e0c]
+
+Backport patch from upstream to fix module cryptodev loading error.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+From f971e0cd4a0ebe59fb2e8e17240399bf6901b09b Mon Sep 17 00:00:00 2001
+From: "Derald D. Woods" <woods.technical@gmail.com>
+Date: Sun, 10 Feb 2019 13:22:19 -0600
+Subject: [PATCH] Fix module loading with Linux v5.0-rc5
+
+This commit fixes this module load error:
+[...]
+[   29.112091] cryptodev: loading out-of-tree module taints kernel.
+[   29.128906] cryptodev: Unknown symbol crypto_givcipher_type (err -2)
+[   29.188842] cryptodev: Unknown symbol crypto_givcipher_type (err -2)
+modprobe: can't load module cryptodev (extra/cryptodev.ko): unknown symbol in module, or unknown parameter
+[...]
+
+Upstream Linux support for unused GIVCIPHER, and others, was dropped here:
+
+c79b411eaa72 (crypto: skcipher - remove remnants of internal IV generators)
+
+Signed-off-by: Derald D. Woods <woods.technical@gmail.com>
+---
+ cryptlib.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/cryptlib.c b/cryptlib.c
+index 6e66698..4a87037 100644
+--- a/cryptlib.c
++++ b/cryptlib.c
+@@ -38,7 +38,9 @@
+ #include "cryptodev_int.h"
+ #include "cipherapi.h"
+ 
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0))
+ extern const struct crypto_type crypto_givcipher_type;
++#endif
+ 
+ static void cryptodev_complete(struct crypto_async_request *req, int err)
+ {
+@@ -157,8 +159,11 @@ int cryptodev_cipher_init(struct cipher_data *out, const char *alg_name,
+ 
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0))
+ 		tfm = crypto_skcipher_tfm(out->async.s);
+-		if ((tfm->__crt_alg->cra_type == &crypto_ablkcipher_type) ||
+-		    (tfm->__crt_alg->cra_type == &crypto_givcipher_type)) {
++		if ((tfm->__crt_alg->cra_type == &crypto_ablkcipher_type)
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0))
++		    || (tfm->__crt_alg->cra_type == &crypto_givcipher_type)
++#endif
++							) {
+ 			struct ablkcipher_alg *alg;
+ 
+ 			alg = &tfm->__crt_alg->cra_ablkcipher;
+-- 
+2.20.0
+
diff --git a/poky/meta/recipes-kernel/dtc/dtc.inc b/poky/meta/recipes-kernel/dtc/dtc.inc
index 7a923bf..0650e3c 100644
--- a/poky/meta/recipes-kernel/dtc/dtc.inc
+++ b/poky/meta/recipes-kernel/dtc/dtc.inc
@@ -12,6 +12,8 @@
 
 EXTRA_OEMAKE='NO_PYTHON=1 PREFIX="${prefix}" LIBDIR="${libdir}" DESTDIR="${D}"'
 
+inherit pkgconfig
+
 S = "${WORKDIR}/git"
 
 do_install () {
diff --git a/poky/meta/recipes-kernel/dtc/dtc_1.4.7.bb b/poky/meta/recipes-kernel/dtc/dtc_1.5.0.bb
similarity index 81%
rename from poky/meta/recipes-kernel/dtc/dtc_1.4.7.bb
rename to poky/meta/recipes-kernel/dtc/dtc_1.5.0.bb
index 6ce462a..a9c1317 100644
--- a/poky/meta/recipes-kernel/dtc/dtc_1.4.7.bb
+++ b/poky/meta/recipes-kernel/dtc/dtc_1.5.0.bb
@@ -3,7 +3,7 @@
 LIC_FILES_CHKSUM = "file://GPL;md5=94d55d512a9ba36caa9b7df079bae19f \
 		    file://libfdt/libfdt.h;beginline=3;endline=52;md5=fb360963151f8ec2d6c06b055bcbb68c"
 
-SRCREV = "88f18909db731a627456f26d779445f84e449536"
+SRCREV = "d37f6b20107e952064e3f77e9d6915a9c09d10a6"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools/0002-powerpc-change-the-memory-size-limit.patch b/poky/meta/recipes-kernel/kexec/kexec-tools/0001-powerpc-change-the-memory-size-limit.patch
similarity index 75%
rename from poky/meta/recipes-kernel/kexec/kexec-tools/0002-powerpc-change-the-memory-size-limit.patch
rename to poky/meta/recipes-kernel/kexec/kexec-tools/0001-powerpc-change-the-memory-size-limit.patch
index dc97d93..029650f 100644
--- a/poky/meta/recipes-kernel/kexec/kexec-tools/0002-powerpc-change-the-memory-size-limit.patch
+++ b/poky/meta/recipes-kernel/kexec/kexec-tools/0001-powerpc-change-the-memory-size-limit.patch
@@ -1,4 +1,4 @@
-From b19b68eab567aa534cf8dec79fe18e3dc0e14043 Mon Sep 17 00:00:00 2001
+From 211cae4b6a02a4d9d37bfcd76f3702696e095fc3 Mon Sep 17 00:00:00 2001
 From: Quanyang Wang <quanyang.wang@windriver.com>
 Date: Tue, 16 Jun 2015 12:59:57 +0800
 Subject: [PATCH] powerpc: change the memory size limit
@@ -20,11 +20,11 @@
  kexec/arch/ppc/kexec-ppc.h | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-Index: kexec-tools-2.0.10/kexec/arch/ppc/kexec-ppc.h
-===================================================================
---- kexec-tools-2.0.10.orig/kexec/arch/ppc/kexec-ppc.h
-+++ kexec-tools-2.0.10/kexec/arch/ppc/kexec-ppc.h
-@@ -42,7 +42,7 @@ void dol_ppc_usage(void);
+diff --git a/kexec/arch/ppc/kexec-ppc.h b/kexec/arch/ppc/kexec-ppc.h
+index 04e728e..6bae9ec 100644
+--- a/kexec/arch/ppc/kexec-ppc.h
++++ b/kexec/arch/ppc/kexec-ppc.h
+@@ -44,7 +44,7 @@ void dol_ppc_usage(void);
   * During inital setup the kernel does not map the whole memory but a part of
   * it. On Book-E that is 64MiB, 601 24MiB or 256MiB (if possible).
   */
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools/0001-purgatory-Pass-r-directly-to-linker.patch b/poky/meta/recipes-kernel/kexec/kexec-tools/0002-purgatory-Pass-r-directly-to-linker.patch
similarity index 83%
rename from poky/meta/recipes-kernel/kexec/kexec-tools/0001-purgatory-Pass-r-directly-to-linker.patch
rename to poky/meta/recipes-kernel/kexec/kexec-tools/0002-purgatory-Pass-r-directly-to-linker.patch
index bfd077d..363d5da 100644
--- a/poky/meta/recipes-kernel/kexec/kexec-tools/0001-purgatory-Pass-r-directly-to-linker.patch
+++ b/poky/meta/recipes-kernel/kexec/kexec-tools/0002-purgatory-Pass-r-directly-to-linker.patch
@@ -1,4 +1,4 @@
-From a1135b3170963ba956f2364c1283864c35541295 Mon Sep 17 00:00:00 2001
+From a04bcf8f683c1a5a7d015920124457ad56fb7cf0 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 7 Sep 2015 07:59:45 +0000
 Subject: [PATCH] purgatory: Pass -r directly to linker
@@ -8,17 +8,17 @@
 unfiltered
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
 
+Upstream-Status: Pending
+---
  purgatory/Makefile | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/purgatory/Makefile b/purgatory/Makefile
-index 2b5c061..b251353 100644
+index 2dd6c47..416e6b9 100644
 --- a/purgatory/Makefile
 +++ b/purgatory/Makefile
-@@ -61,7 +61,7 @@ $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \
+@@ -60,7 +60,7 @@ $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \
  			-I$(shell $(CC) -print-file-name=include)
  $(PURGATORY): LDFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS)\
  			-Wl,--no-undefined -nostartfiles -nostdlib \
@@ -27,6 +27,3 @@
  			-Wl,-Map=$(PURGATORY_MAP)
  
  $(PURGATORY): $(PURGATORY_OBJS)
--- 
-2.5.1
-
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools/0010-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch b/poky/meta/recipes-kernel/kexec/kexec-tools/0003-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch
similarity index 94%
rename from poky/meta/recipes-kernel/kexec/kexec-tools/0010-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch
rename to poky/meta/recipes-kernel/kexec/kexec-tools/0003-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch
index 6c6c66d..832fe67 100644
--- a/poky/meta/recipes-kernel/kexec/kexec-tools/0010-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch
+++ b/poky/meta/recipes-kernel/kexec/kexec-tools/0003-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch
@@ -1,4 +1,4 @@
-From 78e497fb69950665e639cfab8f4fb50cc404a1eb Mon Sep 17 00:00:00 2001
+From 55e583d20651e829afbbc8dba0f8ec3017cda2d5 Mon Sep 17 00:00:00 2001
 From: Haiqing Bai <Haiqing.Bai@windriver.com>
 Date: Mon, 9 Jan 2017 15:26:29 +0800
 Subject: [PATCH] kexec: ARM: Fix add_buffer_phys_virt() align issue
@@ -17,7 +17,7 @@
  1 file changed, 4 insertions(+), 1 deletion(-)
 
 diff --git a/kexec/arch/arm/crashdump-arm.c b/kexec/arch/arm/crashdump-arm.c
-index 245c21a..12139c3 100644
+index daa4788..3f72b38 100644
 --- a/kexec/arch/arm/crashdump-arm.c
 +++ b/kexec/arch/arm/crashdump-arm.c
 @@ -240,6 +240,7 @@ int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline)
@@ -47,6 +47,3 @@
  					  crash_kernel_mem.start,
  					  crash_kernel_mem.end, -1, 0);
  
--- 
-1.9.1
-
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools/0004-x86_64-Add-support-to-build-kexec-tools-with-x32-ABI.patch b/poky/meta/recipes-kernel/kexec/kexec-tools/0004-x86_64-Add-support-to-build-kexec-tools-with-x32-ABI.patch
new file mode 100644
index 0000000..a809d5b
--- /dev/null
+++ b/poky/meta/recipes-kernel/kexec/kexec-tools/0004-x86_64-Add-support-to-build-kexec-tools-with-x32-ABI.patch
@@ -0,0 +1,93 @@
+From 8c9a5076543eb3d497e016b3d7707e93d6311883 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
+Date: Mon, 15 Jul 2013 23:32:36 -0700
+Subject: [PATCH] x86_64: Add support to build kexec-tools with x32 ABI
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Summary of changes,
+
+configure.ac: Add test for detect x32 ABI.
+purgatory/arch/x86_64/Makefile: Not use mcmodel large when
+	x32 ABI is set.
+kexec/arch/x86_64/kexec-elf-rel-x86_64.c: When x32 ABI is set
+	use ELFCLASS32 instead of ELFCLASS64.
+kexec/kexec-syscall.h: Add correct syscall number for x32 ABI.
+
+Upstream-Status: Submitted
+
+Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
+Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
+---
+ configure.ac                             | 9 +++++++++
+ kexec/arch/x86_64/kexec-elf-rel-x86_64.c | 4 ++++
+ kexec/kexec-syscall.h                    | 4 ++++
+ purgatory/arch/x86_64/Makefile           | 4 +++-
+ 4 files changed, 20 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index c2b0c68..60882b8 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -54,6 +54,15 @@ case $target_cpu in
+ 		;;
+ 	ia64|x86_64|alpha|m68k )
+ 		ARCH="$target_cpu"
++
++		dnl ---Test for x32 ABI in x86_64
++		if test "x$ARCH" = "xx86_64" ; then
++			AC_EGREP_CPP(x32_test,
++			[#if defined(__x86_64__) && defined (__ILP32__)
++				x32_test
++			#endif
++			], SUBARCH='x32', SUBARCH='64')
++		fi
+ 		;;
+ 	* )
+ 		AC_MSG_ERROR([unsupported architecture $target_cpu])
+diff --git a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
+index db85b44..0ce1172 100644
+--- a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
++++ b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
+@@ -8,7 +8,11 @@ int machine_verify_elf_rel(struct mem_ehdr *ehdr)
+ 	if (ehdr->ei_data != ELFDATA2LSB) {
+ 		return 0;
+ 	}
++#ifdef __ILP32__
++	if (ehdr->ei_class != ELFCLASS32) {
++#else
+ 	if (ehdr->ei_class != ELFCLASS64) {
++#endif
+ 		return 0;
+ 	}
+ 	if (ehdr->e_machine != EM_X86_64) {
+diff --git a/kexec/kexec-syscall.h b/kexec/kexec-syscall.h
+index dac1c1f..e9479b7 100644
+--- a/kexec/kexec-syscall.h
++++ b/kexec/kexec-syscall.h
+@@ -31,8 +31,12 @@
+ #define __NR_kexec_load		268
+ #endif
+ #ifdef __x86_64__
++#ifdef __ILP32__
++#define __NR_kexec_load		528
++#else
+ #define __NR_kexec_load		246
+ #endif
++#endif
+ #ifdef __s390x__
+ #define __NR_kexec_load		277
+ #endif
+diff --git a/purgatory/arch/x86_64/Makefile b/purgatory/arch/x86_64/Makefile
+index 7300937..4af11e4 100644
+--- a/purgatory/arch/x86_64/Makefile
++++ b/purgatory/arch/x86_64/Makefile
+@@ -23,4 +23,6 @@ x86_64_PURGATORY_SRCS += purgatory/arch/i386/console-x86.c
+ x86_64_PURGATORY_SRCS += purgatory/arch/i386/vga.c
+ x86_64_PURGATORY_SRCS += purgatory/arch/i386/pic.c
+ 
+-x86_64_PURGATORY_EXTRA_CFLAGS = -mcmodel=large
++ifeq ($(SUBARCH),64)
++        x86_64_PURGATORY_EXTRA_CFLAGS = -mcmodel=large
++endif
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools/0001-Disable-PIE-during-link.patch b/poky/meta/recipes-kernel/kexec/kexec-tools/0005-Disable-PIE-during-link.patch
similarity index 88%
rename from poky/meta/recipes-kernel/kexec/kexec-tools/0001-Disable-PIE-during-link.patch
rename to poky/meta/recipes-kernel/kexec/kexec-tools/0005-Disable-PIE-during-link.patch
index 3f2f85e..7a4b854 100644
--- a/poky/meta/recipes-kernel/kexec/kexec-tools/0001-Disable-PIE-during-link.patch
+++ b/poky/meta/recipes-kernel/kexec/kexec-tools/0005-Disable-PIE-during-link.patch
@@ -1,4 +1,4 @@
-From ea7be6d71b85880e8e8a2c8a4f49a696c5f31ae4 Mon Sep 17 00:00:00 2001
+From c54488ad5fd657e0f154d76d7456d9080be24836 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sat, 10 Jun 2017 11:18:49 -0700
 Subject: [PATCH] Disable PIE during link
@@ -14,7 +14,7 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/purgatory/Makefile b/purgatory/Makefile
-index 564bdb7..a08e41f 100644
+index 416e6b9..f00edb4 100644
 --- a/purgatory/Makefile
 +++ b/purgatory/Makefile
 @@ -59,7 +59,7 @@ $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \
@@ -26,6 +26,3 @@
  			-nodefaultlibs -e purgatory_start -Wl,-r \
  			-Wl,-Map=$(PURGATORY_MAP)
  
--- 
-2.13.1
-
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools/kexec-x32.patch b/poky/meta/recipes-kernel/kexec/kexec-tools/kexec-x32.patch
deleted file mode 100644
index 26d18eb..0000000
--- a/poky/meta/recipes-kernel/kexec/kexec-tools/kexec-x32.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-x86_64: Add support to build kexec-tools with x32 ABI
-
-Summary of changes,
-
-configure.ac: Add test for detect x32 ABI.
-purgatory/arch/x86_64/Makefile: Not use mcmodel large when
-	x32 ABI is set.
-kexec/arch/x86_64/kexec-elf-rel-x86_64.c: When x32 ABI is set
-	use ELFCLASS32 instead of ELFCLASS64.
-kexec/kexec-syscall.h: Add correct syscall number for x32 ABI.
-
-Upstream-Status: Submitted
-
-Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
-Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
-
----
- configure.ac                             | 9 +++++++++
- kexec/arch/x86_64/kexec-elf-rel-x86_64.c | 4 ++++
- kexec/kexec-syscall.h                    | 4 ++++
- purgatory/arch/x86_64/Makefile           | 4 +++-
- 4 files changed, 20 insertions(+), 1 deletion(-)
-
-Index: kexec-tools-2.0.10/configure.ac
-===================================================================
---- kexec-tools-2.0.10.orig/configure.ac
-+++ kexec-tools-2.0.10/configure.ac
-@@ -56,6 +56,15 @@ case $target_cpu in
- 		;;
- 	ia64|x86_64|alpha|m68k )
- 		ARCH="$target_cpu"
-+
-+		dnl ---Test for x32 ABI in x86_64
-+		if test "x$ARCH" = "xx86_64" ; then
-+			AC_EGREP_CPP(x32_test,
-+			[#if defined(__x86_64__) && defined (__ILP32__)
-+				x32_test
-+			#endif
-+			], SUBARCH='x32', SUBARCH='64')
-+		fi
- 		;;
- 	* )
- 		AC_MSG_ERROR([unsupported architecture $target_cpu])
-Index: kexec-tools-2.0.10/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
-===================================================================
---- kexec-tools-2.0.10.orig/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
-+++ kexec-tools-2.0.10/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
-@@ -8,7 +8,11 @@ int machine_verify_elf_rel(struct mem_eh
- 	if (ehdr->ei_data != ELFDATA2LSB) {
- 		return 0;
- 	}
-+#ifdef __ILP32__
-+	if (ehdr->ei_class != ELFCLASS32) {
-+#else
- 	if (ehdr->ei_class != ELFCLASS64) {
-+#endif
- 		return 0;
- 	}
- 	if (ehdr->e_machine != EM_X86_64) {
-Index: kexec-tools-2.0.10/kexec/kexec-syscall.h
-===================================================================
---- kexec-tools-2.0.10.orig/kexec/kexec-syscall.h
-+++ kexec-tools-2.0.10/kexec/kexec-syscall.h
-@@ -31,8 +31,12 @@
- #define __NR_kexec_load		268
- #endif
- #ifdef __x86_64__
-+#ifdef __ILP32__
-+#define __NR_kexec_load		528
-+#else
- #define __NR_kexec_load		246
- #endif
-+#endif
- #ifdef __s390x__
- #define __NR_kexec_load		277
- #endif
-Index: kexec-tools-2.0.10/purgatory/arch/x86_64/Makefile
-===================================================================
---- kexec-tools-2.0.10.orig/purgatory/arch/x86_64/Makefile
-+++ kexec-tools-2.0.10/purgatory/arch/x86_64/Makefile
-@@ -23,4 +23,6 @@ x86_64_PURGATORY_SRCS += purgatory/arch/
- x86_64_PURGATORY_SRCS += purgatory/arch/i386/vga.c
- x86_64_PURGATORY_SRCS += purgatory/arch/i386/pic.c
- 
--x86_64_PURGATORY_EXTRA_CFLAGS = -mcmodel=large
-+ifeq ($(SUBARCH),64)
-+        x86_64_PURGATORY_EXTRA_CFLAGS = -mcmodel=large
-+endif
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.19.bb b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.19.bb
index f65cd9f..3439899 100644
--- a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.19.bb
+++ b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.19.bb
@@ -10,15 +10,15 @@
 DEPENDS = "zlib xz"
 
 SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/kexec/kexec-tools-${PV}.tar.gz \
-           file://kdump \
-           file://kdump.conf \
-           file://kdump.service \
-           file://0002-powerpc-change-the-memory-size-limit.patch \
-           file://0001-purgatory-Pass-r-directly-to-linker.patch \
-           file://0010-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch \
-           file://kexec-x32.patch \
-           file://0001-Disable-PIE-during-link.patch \
-           "
+    file://kdump \
+    file://kdump.conf \
+    file://kdump.service \
+    file://0001-powerpc-change-the-memory-size-limit.patch \
+    file://0002-purgatory-Pass-r-directly-to-linker.patch \
+    file://0003-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch \
+    file://0004-x86_64-Add-support-to-build-kexec-tools-with-x32-ABI.patch \
+    file://0005-Disable-PIE-during-link.patch \
+"
 
 SRC_URI[md5sum] = "052458f0a35c2a3b0d2302caa3318e9f"
 SRC_URI[sha256sum] = "913c8dee918e5855a4ba60d609371390978144b4c8d15d6446ca0057b7bc5e58"
diff --git a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
index 69a8eae..5ec5929 100644
--- a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
+++ b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
@@ -228,6 +228,9 @@
 
         # required to build scripts/selinux/genheaders/genheaders
         cp -a --parents security/selinux/include/* $kerneldir/build/
+
+	# copy any localversion files
+	cp -a localversion* $kerneldir/build/ 2>/dev/null || :
     )
 
     # Make sure the Makefile and version.h have a matching timestamp so that
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
index 7a0b723..834b8fc 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb
@@ -11,13 +11,13 @@
         raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
 }
 
-SRCREV_machine ?= "eac4b8fe170fc8745377cb37c5433db69356d6d8"
-SRCREV_meta ?= "55b740965496961a660674aa4e5b8568b1b9fb7e"
+SRCREV_machine ?= "c279a81f1e654023c4cc78afa9f14350ee5f836f"
+SRCREV_meta ?= "9bda6190bfc9e7858c2f7588109a0ec966f37a09"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.19;destsuffix=${KMETA}"
 
-LINUX_VERSION ?= "4.19.30"
+LINUX_VERSION ?= "4.19.34"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb
index adffe4e..54f86da 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb
@@ -11,13 +11,13 @@
         raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
 }
 
-SRCREV_machine ?= "06e1ff79ea9efef052404ee1989cae038b28e954"
-SRCREV_meta ?= "f0b575cda6d03540ff8da2f70421f13a08f34a5e"
+SRCREV_machine ?= "494384666b623a23e19cbbc54574d08e31496a03"
+SRCREV_meta ?= "d26eec23cf1057a715c05777a18f395678fcbf38"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.0;destsuffix=${KMETA}"
 
-LINUX_VERSION ?= "5.0.3"
+LINUX_VERSION ?= "5.0.7"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb
index 84a02af..dea7f2b 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb
@@ -6,7 +6,7 @@
 
 require recipes-kernel/linux/linux-yocto.inc
 
-LINUX_VERSION ?= "4.19.30"
+LINUX_VERSION ?= "4.19.34"
 LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -15,9 +15,9 @@
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "2"
 
-SRCREV_machine_qemuarm ?= "03eb6106990498e86298646c682fce9fc61f2131"
-SRCREV_machine ?= "253c39a252f25843111b7be0c8247eb4bd6c328d"
-SRCREV_meta ?= "55b740965496961a660674aa4e5b8568b1b9fb7e"
+SRCREV_machine_qemuarm ?= "6fbb768bd43d85b2cfd905e431101e214c580634"
+SRCREV_machine ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0"
+SRCREV_meta ?= "9bda6190bfc9e7858c2f7588109a0ec966f37a09"
 
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb
index 49c69c4..7201921 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb
@@ -6,7 +6,7 @@
 
 require recipes-kernel/linux/linux-yocto.inc
 
-LINUX_VERSION ?= "5.0.3"
+LINUX_VERSION ?= "5.0.7"
 LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -15,9 +15,9 @@
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "2"
 
-SRCREV_machine_qemuarm ?= "b0477279877bb2b5cca6ec49c64e931901ff2022"
-SRCREV_machine ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d"
-SRCREV_meta ?= "f0b575cda6d03540ff8da2f70421f13a08f34a5e"
+SRCREV_machine_qemuarm ?= "f07da0a13d6f503b72594776b5e8a9795da6d6a0"
+SRCREV_machine ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382"
+SRCREV_meta ?= "d26eec23cf1057a715c05777a18f395678fcbf38"
 
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb b/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb
index f83a6d6..de4ae92 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb
@@ -11,22 +11,22 @@
 KBRANCH_qemux86-64 ?= "v4.19/standard/base"
 KBRANCH_qemumips64 ?= "v4.19/standard/mti-malta64"
 
-SRCREV_machine_qemuarm ?= "3df49db2ea9b8e800cb30d5d695d4d2a2f8c1bed"
-SRCREV_machine_qemuarm64 ?= "253c39a252f25843111b7be0c8247eb4bd6c328d"
-SRCREV_machine_qemumips ?= "5dc975d0e586edd5d33bce62560f998f9a246be6"
-SRCREV_machine_qemuppc ?= "253c39a252f25843111b7be0c8247eb4bd6c328d"
-SRCREV_machine_qemux86 ?= "253c39a252f25843111b7be0c8247eb4bd6c328d"
-SRCREV_machine_qemux86-64 ?= "253c39a252f25843111b7be0c8247eb4bd6c328d"
-SRCREV_machine_qemumips64 ?= "bb7ae8a8cbe76c9ce2804f651936f059f9f621a2"
-SRCREV_machine ?= "253c39a252f25843111b7be0c8247eb4bd6c328d"
-SRCREV_meta ?= "55b740965496961a660674aa4e5b8568b1b9fb7e"
+SRCREV_machine_qemuarm ?= "b266576aa10e76afeded8e13ffce93c4638b8ddb"
+SRCREV_machine_qemuarm64 ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0"
+SRCREV_machine_qemumips ?= "f6ef1a5233db0a1f569d7d6638fa803ebe5c867b"
+SRCREV_machine_qemuppc ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0"
+SRCREV_machine_qemux86 ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0"
+SRCREV_machine_qemux86-64 ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0"
+SRCREV_machine_qemumips64 ?= "f5b26e4d7a0eee36298d970590c50c26a800b84d"
+SRCREV_machine ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0"
+SRCREV_meta ?= "9bda6190bfc9e7858c2f7588109a0ec966f37a09"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.19;destsuffix=${KMETA} \
           "
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
-LINUX_VERSION ?= "4.19.30"
+LINUX_VERSION ?= "4.19.34"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
 DEPENDS += "openssl-native util-linux-native"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb
index 82bbbd6..ae8f643 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb
@@ -11,15 +11,15 @@
 KBRANCH_qemux86-64 ?= "v5.0/standard/base"
 KBRANCH_qemumips64 ?= "v5.0/standard/mti-malta64"
 
-SRCREV_machine_qemuarm ?= "18a5ffa0e90184c8503ff1df45e4e5e501b1bab3"
-SRCREV_machine_qemuarm64 ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d"
-SRCREV_machine_qemumips ?= "c4d3cd6437329407e2cc7e3e4615769452d426b1"
-SRCREV_machine_qemuppc ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d"
-SRCREV_machine_qemux86 ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d"
-SRCREV_machine_qemux86-64 ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d"
-SRCREV_machine_qemumips64 ?= "2468c20c15477ebe5ecd73c0e0162d7432149318"
-SRCREV_machine ?= "3df4aae6074e94e794e27fe7f17451d9353cdf3d"
-SRCREV_meta ?= "f0b575cda6d03540ff8da2f70421f13a08f34a5e"
+SRCREV_machine_qemuarm ?= "99f3821bdc8718af3ef6e96d594b593d644ab2e4"
+SRCREV_machine_qemuarm64 ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382"
+SRCREV_machine_qemumips ?= "1128cfe6c7915535c4066b75342c952640e65d72"
+SRCREV_machine_qemuppc ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382"
+SRCREV_machine_qemux86 ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382"
+SRCREV_machine_qemux86-64 ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382"
+SRCREV_machine_qemumips64 ?= "55e385d52db438df1ff7ad3845c9076b2bb221eb"
+SRCREV_machine ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382"
+SRCREV_meta ?= "d26eec23cf1057a715c05777a18f395678fcbf38"
 
 # remap qemuarm to qemuarma15 for the 5.0 kernel
 # KMACHINE_qemuarm ?= "qemuarma15"
@@ -28,7 +28,7 @@
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.0;destsuffix=${KMETA}"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
-LINUX_VERSION ?= "5.0.3"
+LINUX_VERSION ?= "5.0.7"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
 DEPENDS += "openssl-native util-linux-native"
@@ -39,6 +39,7 @@
 KCONF_BSP_AUDIT_LEVEL = "2"
 
 KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
+KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
 
 COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
 
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-signal-Distinguish-between-kernel_siginfo-and-si.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-signal-Distinguish-between-kernel_siginfo-and-si.patch
deleted file mode 100644
index 351184d..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-signal-Distinguish-between-kernel_siginfo-and-si.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-From 0a0d736ec89dffdbc83e7181166a99d5563acfe8 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Mon, 5 Nov 2018 11:35:52 -0500
-Subject: [PATCH 1/9] Fix: signal: Distinguish between kernel_siginfo and
- siginfo (v4.20)
-
-See upstream commit :
-
-  commit ae7795bc6187a15ec51cf258abae656a625f9980
-  Author: Eric W. Biederman <ebiederm@xmission.com>
-  Date:   Tue Sep 25 11:27:20 2018 +0200
-
-    signal: Distinguish between kernel_siginfo and siginfo
-
-    Linus recently observed that if we did not worry about the padding
-    member in struct siginfo it is only about 48 bytes, and 48 bytes is
-    much nicer than 128 bytes for allocating on the stack and copying
-    around in the kernel.
-
-    The obvious thing of only adding the padding when userspace is
-    including siginfo.h won't work as there are sigframe definitions in
-    the kernel that embed struct siginfo.
-
-    So split siginfo in two; kernel_siginfo and siginfo.  Keeping the
-    traditional name for the userspace definition.  While the version that
-    is used internally to the kernel and ultimately will not be padded to
-    128 bytes is called kernel_siginfo.
-
-    The definition of struct kernel_siginfo I have put in include/signal_types.h
-
-    A set of buildtime checks has been added to verify the two structures have
-    the same field offsets.
-
-    To make it easy to verify the change kernel_siginfo retains the same
-    size as siginfo.  The reduction in size comes in a following change.
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-
-Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/0a0d736ec89dffdbc83e7181166a99d5563acfe8
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
----
- instrumentation/events/lttng-module/signal.h | 41 ++++++++++++++++++--
- 1 file changed, 37 insertions(+), 4 deletions(-)
-
-diff --git a/instrumentation/events/lttng-module/signal.h b/instrumentation/events/lttng-module/signal.h
-index b3c9126..8783b52 100644
---- a/instrumentation/events/lttng-module/signal.h
-+++ b/instrumentation/events/lttng-module/signal.h
-@@ -35,21 +35,24 @@
-  * SEND_SIG_NOINFO means that si_code is SI_USER, and SEND_SIG_PRIV
-  * means that si_code is SI_KERNEL.
-  */
--#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0))
- LTTNG_TRACEPOINT_EVENT(signal_generate,
- 
--	TP_PROTO(int sig, struct siginfo *info, struct task_struct *task),
-+	TP_PROTO(int sig, struct kernel_siginfo *info, struct task_struct *task,
-+			int group, int result),
- 
--	TP_ARGS(sig, info, task),
-+	TP_ARGS(sig, info, task, group, result),
- 
- 	TP_FIELDS(
- 		ctf_integer(int, sig, sig)
- 		LTTNG_FIELDS_SIGINFO(info)
- 		ctf_array_text(char, comm, task->comm, TASK_COMM_LEN)
- 		ctf_integer(pid_t, pid, task->pid)
-+		ctf_integer(int, group, group)
-+		ctf_integer(int, result, result)
- 	)
- )
--#else
-+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
- LTTNG_TRACEPOINT_EVENT(signal_generate,
- 
- 	TP_PROTO(int sig, struct siginfo *info, struct task_struct *task,
-@@ -66,6 +69,20 @@ LTTNG_TRACEPOINT_EVENT(signal_generate,
- 		ctf_integer(int, result, result)
- 	)
- )
-+#else
-+LTTNG_TRACEPOINT_EVENT(signal_generate,
-+
-+	TP_PROTO(int sig, struct siginfo *info, struct task_struct *task),
-+
-+	TP_ARGS(sig, info, task),
-+
-+	TP_FIELDS(
-+		ctf_integer(int, sig, sig)
-+		LTTNG_FIELDS_SIGINFO(info)
-+		ctf_array_text(char, comm, task->comm, TASK_COMM_LEN)
-+		ctf_integer(pid_t, pid, task->pid)
-+	)
-+)
- #endif
- 
- /**
-@@ -82,6 +99,21 @@ LTTNG_TRACEPOINT_EVENT(signal_generate,
-  * This means, this can show which signals are actually delivered, but
-  * matching generated signals and delivered signals may not be correct.
-  */
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0))
-+LTTNG_TRACEPOINT_EVENT(signal_deliver,
-+
-+	TP_PROTO(int sig, struct kernel_siginfo *info, struct k_sigaction *ka),
-+
-+	TP_ARGS(sig, info, ka),
-+
-+	TP_FIELDS(
-+		ctf_integer(int, sig, sig)
-+		LTTNG_FIELDS_SIGINFO(info)
-+		ctf_integer(unsigned long, sa_handler, (unsigned long) ka->sa.sa_handler)
-+		ctf_integer(unsigned long, sa_flags, ka->sa.sa_flags)
-+	)
-+)
-+#else
- LTTNG_TRACEPOINT_EVENT(signal_deliver,
- 
- 	TP_PROTO(int sig, struct siginfo *info, struct k_sigaction *ka),
-@@ -95,6 +127,7 @@ LTTNG_TRACEPOINT_EVENT(signal_deliver,
- 		ctf_integer(unsigned long, sa_flags, ka->sa.sa_flags)
- 	)
- )
-+#endif
- 
- #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0))
- LTTNG_TRACEPOINT_EVENT_CLASS(signal_queue_overflow,
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-signal-Remove-SEND_SIG_FORCED-v4.20.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-signal-Remove-SEND_SIG_FORCED-v4.20.patch
deleted file mode 100644
index 905b681..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-signal-Remove-SEND_SIG_FORCED-v4.20.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 26bc064a4d4c85e6000393aadb38659f99b59162 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Mon, 5 Nov 2018 11:35:53 -0500
-Subject: [PATCH 2/9] Fix: signal: Remove SEND_SIG_FORCED (v4.20)
-
-See upstream commit :
-
-  commit 4ff4c31a6e85f4c49fbeebeaa28018d002884b5a
-  Author: Eric W. Biederman <ebiederm@xmission.com>
-  Date:   Mon Sep 3 10:39:04 2018 +0200
-
-    signal: Remove SEND_SIG_FORCED
-
-    There are no more users of SEND_SIG_FORCED so it may be safely removed.
-
-    Remove the definition of SEND_SIG_FORCED, it's use in is_si_special,
-    it's use in TP_STORE_SIGINFO, and it's use in __send_signal as without
-    any users the uses of SEND_SIG_FORCED are now unncessary.
-
-    This makes the code simpler, easier to understand and use.  Users of
-    signal sending functions now no longer need to ask themselves do I
-    need to use SEND_SIG_FORCED.
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-
-Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/26bc064a4d4c85e6000393aadb38659f99b59162
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> 
-
----
- instrumentation/events/lttng-module/signal.h | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-diff --git a/instrumentation/events/lttng-module/signal.h b/instrumentation/events/lttng-module/signal.h
-index 8783b52..ad8fe69 100644
---- a/instrumentation/events/lttng-module/signal.h
-+++ b/instrumentation/events/lttng-module/signal.h
-@@ -12,6 +12,17 @@
- #include <linux/signal.h>
- #include <linux/sched.h>
- #undef LTTNG_FIELDS_SIGINFO
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0))
-+#define LTTNG_FIELDS_SIGINFO(info)				\
-+		ctf_integer(int, errno,				\
-+			(info == SEND_SIG_NOINFO || info == SEND_SIG_PRIV) ? \
-+			0 :					\
-+			info->si_errno)				\
-+		ctf_integer(int, code,				\
-+			(info == SEND_SIG_NOINFO) ? 		\
-+			SI_USER : 				\
-+			((info == SEND_SIG_PRIV) ? SI_KERNEL : info->si_code))
-+#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0) */
- #define LTTNG_FIELDS_SIGINFO(info)				\
- 		ctf_integer(int, errno,				\
- 			(info == SEND_SIG_NOINFO || info == SEND_SIG_FORCED || info == SEND_SIG_PRIV) ? \
-@@ -21,6 +32,7 @@
- 			(info == SEND_SIG_NOINFO || info == SEND_SIG_FORCED) ? \
- 			SI_USER : 				\
- 			((info == SEND_SIG_PRIV) ? SI_KERNEL : info->si_code))
-+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0) */
- #endif /* _TRACE_SIGNAL_DEF */
- 
- /**
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-ext4-adjust-reserved-cluster-count-when-removing.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-ext4-adjust-reserved-cluster-count-when-removing.patch
deleted file mode 100644
index 7edffee..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-ext4-adjust-reserved-cluster-count-when-removing.patch
+++ /dev/null
@@ -1,149 +0,0 @@
-From cb9f1a821bcf55cecf3813195fd6d4eff8070927 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Mon, 5 Nov 2018 11:35:54 -0500
-Subject: [PATCH 3/9] Fix: ext4: adjust reserved cluster count when removing
- extents (v4.20)
-
-See upstream commit :
-
-  commit 9fe671496b6c286f9033aedfc1718d67721da0ae
-  Author: Eric Whitney <enwlinux@gmail.com>
-  Date:   Mon Oct 1 14:25:08 2018 -0400
-
-    ext4: adjust reserved cluster count when removing extents
-
-    Modify ext4_ext_remove_space() and the code it calls to correct the
-    reserved cluster count for pending reservations (delayed allocated
-    clusters shared with allocated blocks) when a block range is removed
-    from the extent tree.  Pending reservations may be found for the clusters
-    at the ends of written or unwritten extents when a block range is removed.
-    If a physical cluster at the end of an extent is freed, it's necessary
-    to increment the reserved cluster count to maintain correct accounting
-    if the corresponding logical cluster is shared with at least one
-    delayed and unwritten extent as found in the extents status tree.
-
-    Add a new function, ext4_rereserve_cluster(), to reapply a reservation
-    on a delayed allocated cluster sharing blocks with a freed allocated
-    cluster.  To avoid ENOSPC on reservation, a flag is applied to
-    ext4_free_blocks() to briefly defer updating the freeclusters counter
-    when an allocated cluster is freed.  This prevents another thread
-    from allocating the freed block before the reservation can be reapplied.
-
-    Redefine the partial cluster object as a struct to carry more state
-    information and to clarify the code using it.
-
-    Adjust the conditional code structure in ext4_ext_remove_space to
-    reduce the indentation level in the main body of the code to improve
-    readability.
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-
-Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/cb9f1a821bcf55cecf3813195fd6d4eff8070927
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
-
----
- instrumentation/events/lttng-module/ext4.h | 72 +++++++++++++++++++++-
- 1 file changed, 69 insertions(+), 3 deletions(-)
-
-diff --git a/instrumentation/events/lttng-module/ext4.h b/instrumentation/events/lttng-module/ext4.h
-index fe6f802..83a80ba 100644
---- a/instrumentation/events/lttng-module/ext4.h
-+++ b/instrumentation/events/lttng-module/ext4.h
-@@ -1602,7 +1602,30 @@ LTTNG_TRACEPOINT_EVENT(ext4_ext_show_extent,
- 	)
- )
- 
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0))
-+
-+LTTNG_TRACEPOINT_EVENT(ext4_remove_blocks,
-+	TP_PROTO(struct inode *inode, struct ext4_extent *ex,
-+		 ext4_lblk_t from, ext4_fsblk_t to,
-+		 struct partial_cluster *pc),
-+
-+	TP_ARGS(inode, ex, from, to, pc),
-+
-+	TP_FIELDS(
-+		ctf_integer(dev_t, dev, inode->i_sb->s_dev)
-+		ctf_integer(ino_t, ino, inode->i_ino)
-+		ctf_integer(ext4_lblk_t, from, from)
-+		ctf_integer(ext4_lblk_t, to, to)
-+		ctf_integer(ext4_fsblk_t, ee_pblk, ext4_ext_pblock(ex))
-+		ctf_integer(ext4_lblk_t, ee_lblk, le32_to_cpu(ex->ee_block))
-+		ctf_integer(unsigned short, ee_len, ext4_ext_get_actual_len(ex))
-+		ctf_integer(ext4_fsblk_t, pc_pclu, pc->pclu)
-+		ctf_integer(ext4_lblk_t, pc_lblk, pc->lblk)
-+		ctf_integer(int, pc_state, pc->state)
-+	)
-+)
-+
-+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
- 
- LTTNG_TRACEPOINT_EVENT(ext4_remove_blocks,
- 	    TP_PROTO(struct inode *inode, struct ext4_extent *ex,
-@@ -1646,7 +1669,29 @@ LTTNG_TRACEPOINT_EVENT(ext4_remove_blocks,
- 
- #endif
- 
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0))
-+
-+LTTNG_TRACEPOINT_EVENT(ext4_ext_rm_leaf,
-+	TP_PROTO(struct inode *inode, ext4_lblk_t start,
-+		 struct ext4_extent *ex,
-+		 struct partial_cluster *pc),
-+
-+	TP_ARGS(inode, start, ex, pc),
-+
-+	TP_FIELDS(
-+		ctf_integer(dev_t, dev, inode->i_sb->s_dev)
-+		ctf_integer(ino_t, ino, inode->i_ino)
-+		ctf_integer(ext4_lblk_t, start, start)
-+		ctf_integer(ext4_lblk_t, ee_lblk, le32_to_cpu(ex->ee_block))
-+		ctf_integer(ext4_fsblk_t, ee_pblk, ext4_ext_pblock(ex))
-+		ctf_integer(short, ee_len, ext4_ext_get_actual_len(ex))
-+		ctf_integer(ext4_fsblk_t, pc_pclu, pc->pclu)
-+		ctf_integer(ext4_lblk_t, pc_lblk, pc->lblk)
-+		ctf_integer(int, pc_state, pc->state)
-+	)
-+)
-+
-+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
- 
- LTTNG_TRACEPOINT_EVENT(ext4_ext_rm_leaf,
- 	TP_PROTO(struct inode *inode, ext4_lblk_t start,
-@@ -1733,7 +1778,28 @@ LTTNG_TRACEPOINT_EVENT(ext4_ext_remove_space,
- 
- #endif
- 
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,20,0))
-+
-+LTTNG_TRACEPOINT_EVENT(ext4_ext_remove_space_done,
-+	TP_PROTO(struct inode *inode, ext4_lblk_t start, ext4_lblk_t end,
-+		 int depth, struct partial_cluster *pc, __le16 eh_entries),
-+
-+	TP_ARGS(inode, start, end, depth, pc, eh_entries),
-+
-+	TP_FIELDS(
-+		ctf_integer(dev_t, dev, inode->i_sb->s_dev)
-+		ctf_integer(ino_t, ino, inode->i_ino)
-+		ctf_integer(ext4_lblk_t, start, start)
-+		ctf_integer(ext4_lblk_t, end, end)
-+		ctf_integer(int, depth, depth)
-+		ctf_integer(unsigned short, eh_entries, le16_to_cpu(eh_entries))
-+		ctf_integer(ext4_fsblk_t, pc_pclu, pc->pclu)
-+		ctf_integer(ext4_lblk_t, pc_lblk, pc->lblk)
-+		ctf_integer(int, pc_state, pc->state)
-+	)
-+)
-+
-+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
- 
- LTTNG_TRACEPOINT_EVENT(ext4_ext_remove_space_done,
- 	TP_PROTO(struct inode *inode, ext4_lblk_t start, ext4_lblk_t end,
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-timer-instrumentation-for-RHEL-7.6.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-timer-instrumentation-for-RHEL-7.6.patch
deleted file mode 100644
index b5d50db..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-timer-instrumentation-for-RHEL-7.6.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 4eaeb54a27fbf701c2a4908a6e90a978b93deb06 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Thu, 6 Dec 2018 11:31:51 -0500
-Subject: [PATCH 4/9] Fix: timer instrumentation for RHEL 7.6
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-
-Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/4eaeb54a27fbf701c2a4908a6e90a978b93deb06
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
----
- instrumentation/events/lttng-module/timer.h | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/instrumentation/events/lttng-module/timer.h b/instrumentation/events/lttng-module/timer.h
-index 6f0cb7f..8807ad5 100644
---- a/instrumentation/events/lttng-module/timer.h
-+++ b/instrumentation/events/lttng-module/timer.h
-@@ -44,7 +44,8 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(timer_class, timer_init,
- 	TP_ARGS(timer)
- )
- 
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0) || \
-+	LTTNG_RHEL_KERNEL_RANGE(3,10,0,957,0,0, 3,11,0,0,0,0))
- /**
-  * timer_start - called when the timer is started
-  * @timer:	pointer to struct timer_list
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0005-Fix-Remove-type-argument-from-access_ok-function-v5..patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0005-Fix-Remove-type-argument-from-access_ok-function-v5..patch
deleted file mode 100644
index 2266bbd..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0005-Fix-Remove-type-argument-from-access_ok-function-v5..patch
+++ /dev/null
@@ -1,204 +0,0 @@
-From 0039dbe9891cfdf2c0d04691f83c2f342993dfd7 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Wed, 9 Jan 2019 14:59:15 -0500
-Subject: [PATCH 5/9] Fix: Remove 'type' argument from access_ok() function
- (v5.0)
-
-See upstream commit :
-
-  commit 96d4f267e40f9509e8a66e2b39e8b95655617693
-  Author: Linus Torvalds <torvalds@linux-foundation.org>
-  Date:   Thu Jan 3 18:57:57 2019 -0800
-
-    Remove 'type' argument from access_ok() function
-
-    Nobody has actually used the type (VERIFY_READ vs VERIFY_WRITE) argument
-    of the user address range verification function since we got rid of the
-    old racy i386-only code to walk page tables by hand.
-
-    It existed because the original 80386 would not honor the write protect
-    bit when in kernel mode, so you had to do COW by hand before doing any
-    user access.  But we haven't supported that in a long time, and these
-    days the 'type' argument is a purely historical artifact.
-
-    A discussion about extending 'user_access_begin()' to do the range
-    checking resulted this patch, because there is no way we're going to
-    move the old VERIFY_xyz interface to that model.  And it's best done at
-    the end of the merge window when I've done most of my merges, so let's
-    just get this done once and for all.
-
-    This patch was mostly done with a sed-script, with manual fix-ups for
-    the cases that weren't of the trivial 'access_ok(VERIFY_xyz' form.
-
-    There were a couple of notable cases:
-
-     - csky still had the old "verify_area()" name as an alias.
-
-     - the iter_iov code had magical hardcoded knowledge of the actual
-       values of VERIFY_{READ,WRITE} (not that they mattered, since nothing
-       really used it)
-
-     - microblaze used the type argument for a debug printout
-
-    but other than those oddities this should be a total no-op patch.
-
-    I tried to fix up all architectures, did fairly extensive grepping for
-    access_ok() uses, and the changes are trivial, but I may have missed
-    something.  Any missed conversion should be trivially fixable, though.
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-
-Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/0039dbe9891cfdf2c0d04691f83c2f342993dfd7
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
----
- lib/ringbuffer/backend.h              |  8 ++++----
- lib/ringbuffer/ring_buffer_iterator.c |  3 ++-
- lttng-filter-interpreter.c            |  4 ++--
- probes/lttng-probe-user.c             |  3 ++-
- wrapper/uaccess.h                     | 28 +++++++++++++++++++++++++++
- 5 files changed, 38 insertions(+), 8 deletions(-)
- create mode 100644 wrapper/uaccess.h
-
-diff --git a/lib/ringbuffer/backend.h b/lib/ringbuffer/backend.h
-index 0b75de8..3f8c108 100644
---- a/lib/ringbuffer/backend.h
-+++ b/lib/ringbuffer/backend.h
-@@ -34,7 +34,7 @@
- #include <linux/list.h>
- #include <linux/fs.h>
- #include <linux/mm.h>
--#include <linux/uaccess.h>
-+#include <wrapper/uaccess.h>
- 
- /* Internal helpers */
- #include <wrapper/ringbuffer/backend_internal.h>
-@@ -302,7 +302,7 @@ void lib_ring_buffer_copy_from_user_inatomic(const struct lib_ring_buffer_config
- 
- 	set_fs(KERNEL_DS);
- 	pagefault_disable();
--	if (unlikely(!access_ok(VERIFY_READ, src, len)))
-+	if (unlikely(!lttng_access_ok(VERIFY_READ, src, len)))
- 		goto fill_buffer;
- 
- 	if (likely(pagecpy == len)) {
-@@ -372,7 +372,7 @@ void lib_ring_buffer_strcpy_from_user_inatomic(const struct lib_ring_buffer_conf
- 
- 	set_fs(KERNEL_DS);
- 	pagefault_disable();
--	if (unlikely(!access_ok(VERIFY_READ, src, len)))
-+	if (unlikely(!lttng_access_ok(VERIFY_READ, src, len)))
- 		goto fill_buffer;
- 
- 	if (likely(pagecpy == len)) {
-@@ -462,7 +462,7 @@ unsigned long lib_ring_buffer_copy_from_user_check_nofault(void *dest,
- 	unsigned long ret;
- 	mm_segment_t old_fs;
- 
--	if (!access_ok(VERIFY_READ, src, len))
-+	if (!lttng_access_ok(VERIFY_READ, src, len))
- 		return 1;
- 	old_fs = get_fs();
- 	set_fs(KERNEL_DS);
-diff --git a/lib/ringbuffer/ring_buffer_iterator.c b/lib/ringbuffer/ring_buffer_iterator.c
-index 61eaa5b..9645946 100644
---- a/lib/ringbuffer/ring_buffer_iterator.c
-+++ b/lib/ringbuffer/ring_buffer_iterator.c
-@@ -27,6 +27,7 @@
- 
- #include <wrapper/ringbuffer/iterator.h>
- #include <wrapper/file.h>
-+#include <wrapper/uaccess.h>
- #include <linux/jiffies.h>
- #include <linux/delay.h>
- #include <linux/module.h>
-@@ -621,7 +622,7 @@ ssize_t channel_ring_buffer_file_read(struct file *filp,
- 	ssize_t len;
- 
- 	might_sleep();
--	if (!access_ok(VERIFY_WRITE, user_buf, count))
-+	if (!lttng_access_ok(VERIFY_WRITE, user_buf, count))
- 		return -EFAULT;
- 
- 	/* Finish copy of previous record */
-diff --git a/lttng-filter-interpreter.c b/lttng-filter-interpreter.c
-index e131462..bee2918 100644
---- a/lttng-filter-interpreter.c
-+++ b/lttng-filter-interpreter.c
-@@ -24,7 +24,7 @@
-  * SOFTWARE.
-  */
- 
--#include <linux/uaccess.h>
-+#include <wrapper/uaccess.h>
- #include <wrapper/frame.h>
- #include <wrapper/types.h>
- 
-@@ -46,7 +46,7 @@ char get_char(struct estack_entry *reg, size_t offset)
- 		char c;
- 
- 		/* Handle invalid access as end of string. */
--		if (unlikely(!access_ok(VERIFY_READ,
-+		if (unlikely(!lttng_access_ok(VERIFY_READ,
- 				reg->u.s.user_str + offset,
- 				sizeof(c))))
- 			return '\0';
-diff --git a/probes/lttng-probe-user.c b/probes/lttng-probe-user.c
-index 099a66b..ed566dd 100644
---- a/probes/lttng-probe-user.c
-+++ b/probes/lttng-probe-user.c
-@@ -20,6 +20,7 @@
- 
- #include <linux/uaccess.h>
- #include <linux/module.h>
-+#include <wrapper/uaccess.h>
- #include <probes/lttng-probe-user.h>
- 
- /*
-@@ -43,7 +44,7 @@ long lttng_strlen_user_inatomic(const char *addr)
- 		char v;
- 		unsigned long ret;
- 
--		if (unlikely(!access_ok(VERIFY_READ,
-+		if (unlikely(!lttng_access_ok(VERIFY_READ,
- 				(__force const char __user *) addr,
- 				sizeof(v))))
- 			break;
-diff --git a/wrapper/uaccess.h b/wrapper/uaccess.h
-new file mode 100644
-index 0000000..c56427c
---- /dev/null
-+++ b/wrapper/uaccess.h
-@@ -0,0 +1,28 @@
-+/* SPDX-License-Identifier: (GPL-2.0 or LGPL-2.1)
-+ *
-+ * wrapper/uaccess.h
-+ *
-+ * wrapper around linux/uaccess.h.
-+ *
-+ * Copyright (C) 2019 Michael Jeanson <mjeanson@efficios.com>
-+ */
-+
-+#ifndef _LTTNG_WRAPPER_UACCESS_H
-+#define _LTTNG_WRAPPER_UACCESS_H
-+
-+#include <linux/uaccess.h>
-+#include <lttng-kernel-version.h>
-+
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0))
-+
-+#define VERIFY_READ	0
-+#define VERIFY_WRITE	1
-+#define lttng_access_ok(type, addr, size) access_ok(addr, size)
-+
-+#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0) */
-+
-+#define lttng_access_ok(type, addr, size) access_ok(type, addr, size)
-+
-+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0) */
-+
-+#endif /* _LTTNG_WRAPPER_UACCESS_H */
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0006-Fix-Replace-pointer-values-with-task-tk_pid-and-rpc_.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0006-Fix-Replace-pointer-values-with-task-tk_pid-and-rpc_.patch
deleted file mode 100644
index 089486f..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0006-Fix-Replace-pointer-values-with-task-tk_pid-and-rpc_.patch
+++ /dev/null
@@ -1,186 +0,0 @@
-From 89f0be35e1baf411df6852014013ac64ad1bbcf8 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Wed, 9 Jan 2019 14:59:16 -0500
-Subject: [PATCH 6/9] Fix: Replace pointer values with task->tk_pid and
- rpc_clnt->cl_clid
-
-Introduced in v3.12.
-
-See upstream commit :
-
-  commit 92cb6c5be8134db6f7c38f25f6afd13e444cebaf
-  Author: Trond Myklebust <Trond.Myklebust@netapp.com>
-  Date:   Wed Sep 4 22:09:50 2013 -0400
-
-    SUNRPC: Replace pointer values with task->tk_pid and rpc_clnt->cl_clid
-
-    Instead of the pointer values, use the task and client identifier values
-    for tracing purposes.
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-
-Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/89f0be35e1baf411df6852014013ac64ad1bbcf8
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
----
- instrumentation/events/lttng-module/rpc.h | 108 ++++++++++++++++++++--
- 1 file changed, 102 insertions(+), 6 deletions(-)
-
-diff --git a/instrumentation/events/lttng-module/rpc.h b/instrumentation/events/lttng-module/rpc.h
-index b9e45fe..a4ac557 100644
---- a/instrumentation/events/lttng-module/rpc.h
-+++ b/instrumentation/events/lttng-module/rpc.h
-@@ -8,6 +8,20 @@
- #include <linux/sunrpc/sched.h>
- #include <linux/sunrpc/clnt.h>
- 
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
-+LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
-+
-+	TP_PROTO(struct rpc_task *task),
-+
-+	TP_ARGS(task),
-+
-+	TP_FIELDS(
-+		ctf_integer(unsigned int, task_id, task->tk_pid)
-+		ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
-+		ctf_integer(int, status, task->tk_status)
-+	)
-+)
-+#else
- LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
- 
- 	TP_PROTO(struct rpc_task *task),
-@@ -20,6 +34,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
- 		ctf_integer(int, status, task->tk_status)
- 	)
- )
-+#endif
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_call_status,
- 	TP_PROTO(struct rpc_task *task),
-@@ -40,8 +55,8 @@ LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
- 	TP_ARGS(task),
- 
- 	TP_FIELDS(
--		ctf_integer_hex(const struct rpc_task *, task, task)
--		ctf_integer_hex(const struct rpc_clnt *, clnt, task->tk_client)
-+		ctf_integer(unsigned int, task_id, task->tk_pid)
-+		ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
- 		ctf_integer(int, status, task->tk_status)
- 	)
- )
-@@ -53,8 +68,8 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running,
- 	TP_ARGS(task, action),
- 
- 	TP_FIELDS(
--		ctf_integer_hex(const struct rpc_clnt *, clnt, task->tk_client)
--		ctf_integer_hex(const struct rpc_task *, task, task)
-+		ctf_integer(unsigned int, task_id, task->tk_pid)
-+		ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
- 		ctf_integer_hex(const void *, action, action)
- 		ctf_integer(unsigned long, runstate, task->tk_runstate)
- 		ctf_integer(int, status, task->tk_status)
-@@ -90,8 +105,8 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_queued,
- 	TP_ARGS(task, q),
- 
- 	TP_FIELDS(
--		ctf_integer_hex(const struct rpc_clnt *, clnt, task->tk_client)
--		ctf_integer_hex(const struct rpc_task *, task, task)
-+		ctf_integer(unsigned int, task_id, task->tk_pid)
-+		ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
- 		ctf_integer(unsigned long, timeout, task->tk_timeout)
- 		ctf_integer(unsigned long, runstate, task->tk_runstate)
- 		ctf_integer(int, status, task->tk_status)
-@@ -114,6 +129,87 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_wakeup,
- 	TP_ARGS(task, q)
- )
- 
-+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
-+LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
-+	TP_PROTO(struct rpc_task *task, int status),
-+
-+	TP_ARGS(task, status),
-+
-+	TP_FIELDS(
-+		ctf_integer(unsigned int, task_id, task->tk_pid)
-+		ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
-+		ctf_integer(int, status, status)
-+	)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running,
-+
-+	TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
-+
-+	TP_ARGS(clnt, task, action),
-+
-+	TP_FIELDS(
-+		ctf_integer(unsigned int, task_id, task->tk_pid)
-+		ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
-+		ctf_integer_hex(const void *, action, action)
-+		ctf_integer(unsigned long, runstate, task->tk_runstate)
-+		ctf_integer(int, status, task->tk_status)
-+		ctf_integer(unsigned short, flags, task->tk_flags)
-+	)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_begin,
-+
-+	TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
-+
-+	TP_ARGS(clnt, task, action)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_run_action,
-+
-+	TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
-+
-+	TP_ARGS(clnt, task, action)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running, rpc_task_complete,
-+
-+	TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
-+
-+	TP_ARGS(clnt, task, action)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_queued,
-+
-+	TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q),
-+
-+	TP_ARGS(clnt, task, q),
-+
-+	TP_FIELDS(
-+		ctf_integer(unsigned int, task_id, task->tk_pid)
-+		ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
-+		ctf_integer(unsigned long, timeout, task->tk_timeout)
-+		ctf_integer(unsigned long, runstate, task->tk_runstate)
-+		ctf_integer(int, status, task->tk_status)
-+		ctf_integer(unsigned short, flags, task->tk_flags)
-+		ctf_string(q_name, rpc_qname(q))
-+	)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_sleep,
-+
-+	TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q),
-+
-+	TP_ARGS(clnt, task, q)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_wakeup,
-+
-+	TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const struct rpc_wait_queue *q),
-+
-+	TP_ARGS(clnt, task, q)
-+)
-+
- #else
- LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
- 	TP_PROTO(struct rpc_task *task, int status),
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0007-Fix-SUNRPC-Simplify-defining-common-RPC-trace-events.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0007-Fix-SUNRPC-Simplify-defining-common-RPC-trace-events.patch
deleted file mode 100644
index f367330..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0007-Fix-SUNRPC-Simplify-defining-common-RPC-trace-events.patch
+++ /dev/null
@@ -1,183 +0,0 @@
-From d11b568681f87c2df6ecb0516d3f16d153f24bd2 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Wed, 9 Jan 2019 14:59:17 -0500
-Subject: [PATCH 7/9] Fix: SUNRPC: Simplify defining common RPC trace events
- (v5.0)
-
-See upstream commit :
-
-  commit dc5820bd21d84ee34770b0a1e2fca9378f8f7456
-  Author: Chuck Lever <chuck.lever@oracle.com>
-  Date:   Wed Dec 19 11:00:16 2018 -0500
-
-    SUNRPC: Simplify defining common RPC trace events
-
-    Clean up, no functional change is expected.
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-
-Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/d11b568681f87c2df6ecb0516d3f16d153f24bd2
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
----
- instrumentation/events/lttng-module/rpc.h | 99 ++++++++++++++++-------
- 1 file changed, 72 insertions(+), 27 deletions(-)
-
-diff --git a/instrumentation/events/lttng-module/rpc.h b/instrumentation/events/lttng-module/rpc.h
-index a4ac557..4239280 100644
---- a/instrumentation/events/lttng-module/rpc.h
-+++ b/instrumentation/events/lttng-module/rpc.h
-@@ -8,7 +8,32 @@
- #include <linux/sunrpc/sched.h>
- #include <linux/sunrpc/clnt.h>
- 
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0))
-+LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
-+
-+	TP_PROTO(const struct rpc_task *task),
-+
-+	TP_ARGS(task),
-+
-+	TP_FIELDS(
-+		ctf_integer(unsigned int, task_id, task->tk_pid)
-+		ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
-+		ctf_integer(int, status, task->tk_status)
-+	)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_call_status,
-+	TP_PROTO(const struct rpc_task *task),
-+
-+	TP_ARGS(task)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_bind_status,
-+	TP_PROTO(const struct rpc_task *task),
-+
-+	TP_ARGS(task)
-+)
-+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
- LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
- 
- 	TP_PROTO(struct rpc_task *task),
-@@ -21,6 +46,18 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
- 		ctf_integer(int, status, task->tk_status)
- 	)
- )
-+
-+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_call_status,
-+	TP_PROTO(struct rpc_task *task),
-+
-+	TP_ARGS(task)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_bind_status,
-+	TP_PROTO(struct rpc_task *task),
-+
-+	TP_ARGS(task)
-+)
- #else
- LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
- 
-@@ -34,7 +71,6 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
- 		ctf_integer(int, status, task->tk_status)
- 	)
- )
--#endif
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_call_status,
- 	TP_PROTO(struct rpc_task *task),
-@@ -47,8 +83,15 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_bind_status,
- 
- 	TP_ARGS(task)
- )
-+#endif
- 
--#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0))
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0))
-+LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status, rpc_connect_status,
-+	TP_PROTO(const struct rpc_task *task),
-+
-+	TP_ARGS(task)
-+)
-+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0))
- LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
- 	TP_PROTO(const struct rpc_task *task),
- 
-@@ -60,7 +103,33 @@ LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
- 		ctf_integer(int, status, task->tk_status)
- 	)
- )
-+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
-+LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
-+	TP_PROTO(struct rpc_task *task, int status),
-+
-+	TP_ARGS(task, status),
-+
-+	TP_FIELDS(
-+		ctf_integer(unsigned int, task_id, task->tk_pid)
-+		ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
-+		ctf_integer(int, status, status)
-+	)
-+)
-+#else
-+LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
-+	TP_PROTO(struct rpc_task *task, int status),
-+
-+	TP_ARGS(task, status),
-+
-+	TP_FIELDS(
-+		ctf_integer_hex(const struct rpc_task *, task, task)
-+		ctf_integer_hex(const struct rpc_clnt *, clnt, task->tk_client)
-+		ctf_integer(int, status, status)
-+	)
-+)
-+#endif
- 
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0))
- LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running,
- 
- 	TP_PROTO(const struct rpc_task *task, const void *action),
-@@ -130,18 +199,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_wakeup,
- )
- 
- #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
--LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
--	TP_PROTO(struct rpc_task *task, int status),
--
--	TP_ARGS(task, status),
--
--	TP_FIELDS(
--		ctf_integer(unsigned int, task_id, task->tk_pid)
--		ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
--		ctf_integer(int, status, status)
--	)
--)
--
- LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running,
- 
- 	TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
-@@ -211,18 +268,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued, rpc_task_wakeup,
- )
- 
- #else
--LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
--	TP_PROTO(struct rpc_task *task, int status),
--
--	TP_ARGS(task, status),
--
--	TP_FIELDS(
--		ctf_integer_hex(const struct rpc_task *, task, task)
--		ctf_integer_hex(const struct rpc_clnt *, clnt, task->tk_client)
--		ctf_integer(int, status, status)
--	)
--)
--
- LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running,
- 
- 	TP_PROTO(const struct rpc_clnt *clnt, const struct rpc_task *task, const void *action),
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0008-Fix-btrfs-Remove-fsid-metadata_fsid-fields-from-btrf.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0008-Fix-btrfs-Remove-fsid-metadata_fsid-fields-from-btrf.patch
deleted file mode 100644
index 5f12989..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0008-Fix-btrfs-Remove-fsid-metadata_fsid-fields-from-btrf.patch
+++ /dev/null
@@ -1,341 +0,0 @@
-From 8af8245f6f86370d01cc4acaabafb90de45e143f Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Thu, 10 Jan 2019 14:56:15 -0500
-Subject: [PATCH 8/9] Fix: btrfs: Remove fsid/metadata_fsid fields from
- btrfs_info
-
-Introduced in v5.0.
-
-See upstream commit :
-
-  commit de37aa513105f864d3c21105bf5542d498f21ca2
-  Author: Nikolay Borisov <nborisov@suse.com>
-  Date:   Tue Oct 30 16:43:24 2018 +0200
-
-    btrfs: Remove fsid/metadata_fsid fields from btrfs_info
-
-    Currently btrfs_fs_info structure contains a copy of the
-    fsid/metadata_uuid fields. Same values are also contained in the
-    btrfs_fs_devices structure which fs_info has a reference to. Let's
-    reduce duplication by removing the fields from fs_info and always refer
-    to the ones in fs_devices. No functional changes.
-
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-
-Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/8af8245f6f86370d01cc4acaabafb90de45e143f
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
----
- instrumentation/events/lttng-module/btrfs.h | 100 +++++++++++---------
- 1 file changed, 53 insertions(+), 47 deletions(-)
-
-diff --git a/instrumentation/events/lttng-module/btrfs.h b/instrumentation/events/lttng-module/btrfs.h
-index 4dfbf5b..ec45a1e 100644
---- a/instrumentation/events/lttng-module/btrfs.h
-+++ b/instrumentation/events/lttng-module/btrfs.h
-@@ -32,6 +32,12 @@ struct extent_state;
- 
- #define BTRFS_UUID_SIZE 16
- 
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0))
-+#define lttng_fs_info_fsid fs_info->fs_devices->fsid
-+#else
-+#define lttng_fs_info_fsid fs_info->fsid
-+#endif
-+
- #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
- 	LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
- 	LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
-@@ -629,7 +635,7 @@ LTTNG_TRACEPOINT_EVENT(btrfs_add_block_group,
- 	TP_ARGS(fs_info, block_group, create),
- 
- 	TP_FIELDS(
--		ctf_array(u8, fsid, fs_info->fsid, BTRFS_UUID_SIZE)
-+		ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
- 		ctf_integer(u64, offset, block_group->key.objectid)
- 		ctf_integer(u64, size, block_group->key.offset)
- 		ctf_integer(u64, flags, block_group->flags)
-@@ -647,7 +653,7 @@ LTTNG_TRACEPOINT_EVENT(btrfs_add_block_group,
- 	TP_ARGS(fs_info, block_group, create),
- 
- 	TP_FIELDS(
--		ctf_array(u8, fsid, fs_info->fsid, BTRFS_UUID_SIZE)
-+		ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
- 		ctf_integer(u64, offset, block_group->key.objectid)
- 		ctf_integer(u64, size, block_group->key.offset)
- 		ctf_integer(u64, flags, block_group->flags)
-@@ -1015,18 +1021,18 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__chunk,
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk,  btrfs_chunk_alloc,
- 
--	TP_PROTO(const struct btrfs_fs_info *info, const struct map_lookup *map,
-+	TP_PROTO(const struct btrfs_fs_info *fs_info, const struct map_lookup *map,
- 		 u64 offset, u64 size),
- 
--	TP_ARGS(info, map, offset, size)
-+	TP_ARGS(fs_info, map, offset, size)
- )
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk,  btrfs_chunk_free,
- 
--	TP_PROTO(const struct btrfs_fs_info *info, const struct map_lookup *map,
-+	TP_PROTO(const struct btrfs_fs_info *fs_info, const struct map_lookup *map,
- 		 u64 offset, u64 size),
- 
--	TP_ARGS(info, map, offset, size)
-+	TP_ARGS(fs_info, map, offset, size)
- )
- 
- #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0))
-@@ -1050,18 +1056,18 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__chunk,
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk,  btrfs_chunk_alloc,
- 
--	TP_PROTO(struct btrfs_fs_info *info, struct map_lookup *map,
-+	TP_PROTO(struct btrfs_fs_info *fs_info, struct map_lookup *map,
- 		 u64 offset, u64 size),
- 
--	TP_ARGS(info, map, offset, size)
-+	TP_ARGS(fs_info, map, offset, size)
- )
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk,  btrfs_chunk_free,
- 
--	TP_PROTO(struct btrfs_fs_info *info, struct map_lookup *map,
-+	TP_PROTO(struct btrfs_fs_info *fs_info, struct map_lookup *map,
- 		 u64 offset, u64 size),
- 
--	TP_ARGS(info, map, offset, size)
-+	TP_ARGS(fs_info, map, offset, size)
- )
- 
- #elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
-@@ -1192,7 +1198,7 @@ LTTNG_TRACEPOINT_EVENT(btrfs_space_reservation,
- 	TP_ARGS(fs_info, type, val, bytes, reserve),
- 
- 	TP_FIELDS(
--		ctf_array(u8, fsid, fs_info->fsid, BTRFS_UUID_SIZE)
-+		ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
- 		ctf_string(type, type)
- 		ctf_integer(u64, val, val)
- 		ctf_integer(u64, bytes, bytes)
-@@ -1208,7 +1214,7 @@ LTTNG_TRACEPOINT_EVENT(btrfs_space_reservation,
- 	TP_ARGS(fs_info, type, val, bytes, reserve),
- 
- 	TP_FIELDS(
--		ctf_array(u8, fsid, fs_info->fsid, BTRFS_UUID_SIZE)
-+		ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
- 		ctf_string(type, type)
- 		ctf_integer(u64, val, val)
- 		ctf_integer(u64, bytes, bytes)
-@@ -1221,9 +1227,9 @@ LTTNG_TRACEPOINT_EVENT(btrfs_space_reservation,
- 
- LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent,
- 
--	TP_PROTO(const struct btrfs_fs_info *info, u64 start, u64 len),
-+	TP_PROTO(const struct btrfs_fs_info *fs_info, u64 start, u64 len),
- 
--	TP_ARGS(info, start, len),
-+	TP_ARGS(fs_info, start, len),
- 
- 	TP_FIELDS(
- 		ctf_integer(u64, start, start)
-@@ -1233,25 +1239,25 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent,
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent,  btrfs_reserved_extent_alloc,
- 
--	TP_PROTO(const struct btrfs_fs_info *info, u64 start, u64 len),
-+	TP_PROTO(const struct btrfs_fs_info *fs_info, u64 start, u64 len),
- 
--	TP_ARGS(info, start, len)
-+	TP_ARGS(fs_info, start, len)
- )
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent,  btrfs_reserved_extent_free,
- 
--	TP_PROTO(const struct btrfs_fs_info *info, u64 start, u64 len),
-+	TP_PROTO(const struct btrfs_fs_info *fs_info, u64 start, u64 len),
- 
--	TP_ARGS(info, start, len)
-+	TP_ARGS(fs_info, start, len)
- )
- 
- #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0))
- 
- LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent,
- 
--	TP_PROTO(struct btrfs_fs_info *info, u64 start, u64 len),
-+	TP_PROTO(struct btrfs_fs_info *fs_info, u64 start, u64 len),
- 
--	TP_ARGS(info, start, len),
-+	TP_ARGS(fs_info, start, len),
- 
- 	TP_FIELDS(
- 		ctf_integer(u64, start, start)
-@@ -1261,16 +1267,16 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent,
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent,  btrfs_reserved_extent_alloc,
- 
--	TP_PROTO(struct btrfs_fs_info *info, u64 start, u64 len),
-+	TP_PROTO(struct btrfs_fs_info *fs_info, u64 start, u64 len),
- 
--	TP_ARGS(info, start, len)
-+	TP_ARGS(fs_info, start, len)
- )
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent,  btrfs_reserved_extent_free,
- 
--	TP_PROTO(struct btrfs_fs_info *info, u64 start, u64 len),
-+	TP_PROTO(struct btrfs_fs_info *fs_info, u64 start, u64 len),
- 
--	TP_ARGS(info, start, len)
-+	TP_ARGS(fs_info, start, len)
- )
- 
- #elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
-@@ -1341,13 +1347,13 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
- 
- 	btrfs_find_free_extent,
- 
--	TP_PROTO(const struct btrfs_fs_info *info, u64 num_bytes, u64 empty_size,
-+	TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
- 		 u64 data),
- 
--	TP_ARGS(info, num_bytes, empty_size, data),
-+	TP_ARGS(fs_info, num_bytes, empty_size, data),
- 
- 	TP_FIELDS(
--		ctf_array(u8, fsid, info->fsid, BTRFS_UUID_SIZE)
-+		ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
- 		ctf_integer(u64, num_bytes, num_bytes)
- 		ctf_integer(u64, empty_size, empty_size)
- 		ctf_integer(u64, data, data)
-@@ -1362,7 +1368,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
- 	TP_ARGS(block_group, start, len),
- 
- 	TP_FIELDS(
--		ctf_array(u8, fsid, block_group->fs_info->fsid, BTRFS_UUID_SIZE)
-+		ctf_array(u8, fsid, block_group->lttng_fs_info_fsid, BTRFS_UUID_SIZE)
- 		ctf_integer(u64, bg_objectid, block_group->key.objectid)
- 		ctf_integer(u64, flags, block_group->flags)
- 		ctf_integer(u64, start, start)
-@@ -1391,13 +1397,13 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
- 
- 	btrfs_find_free_extent,
- 
--	TP_PROTO(const struct btrfs_fs_info *info, u64 num_bytes, u64 empty_size,
-+	TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
- 		 u64 data),
- 
--	TP_ARGS(info, num_bytes, empty_size, data),
-+	TP_ARGS(fs_info, num_bytes, empty_size, data),
- 
- 	TP_FIELDS(
--		ctf_array(u8, fsid, info->fsid, BTRFS_UUID_SIZE)
-+		ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
- 		ctf_integer(u64, num_bytes, num_bytes)
- 		ctf_integer(u64, empty_size, empty_size)
- 		ctf_integer(u64, data, data)
-@@ -1406,14 +1412,14 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
- 
- LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
- 
--	TP_PROTO(const struct btrfs_fs_info *info,
-+	TP_PROTO(const struct btrfs_fs_info *fs_info,
- 		 const struct btrfs_block_group_cache *block_group, u64 start,
- 		 u64 len),
- 
--	TP_ARGS(info, block_group, start, len),
-+	TP_ARGS(fs_info, block_group, start, len),
- 
- 	TP_FIELDS(
--		ctf_array(u8, fsid, info->fsid, BTRFS_UUID_SIZE)
-+		ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
- 		ctf_integer(u64, bg_objectid, block_group->key.objectid)
- 		ctf_integer(u64, flags, block_group->flags)
- 		ctf_integer(u64, start, start)
-@@ -1423,20 +1429,20 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent,
- 
--	TP_PROTO(const struct btrfs_fs_info *info,
-+	TP_PROTO(const struct btrfs_fs_info *fs_info,
- 		 const struct btrfs_block_group_cache *block_group, u64 start,
- 		 u64 len),
- 
--	TP_ARGS(info, block_group, start, len)
-+	TP_ARGS(fs_info, block_group, start, len)
- )
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_cluster,
- 
--	TP_PROTO(const struct btrfs_fs_info *info,
-+	TP_PROTO(const struct btrfs_fs_info *fs_info,
- 		 const struct btrfs_block_group_cache *block_group, u64 start,
- 		 u64 len),
- 
--	TP_ARGS(info, block_group, start, len)
-+	TP_ARGS(fs_info, block_group, start, len)
- )
- 
- #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0))
-@@ -1445,13 +1451,13 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
- 
- 	btrfs_find_free_extent,
- 
--	TP_PROTO(struct btrfs_fs_info *info, u64 num_bytes, u64 empty_size,
-+	TP_PROTO(struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
- 		 u64 data),
- 
--	TP_ARGS(info, num_bytes, empty_size, data),
-+	TP_ARGS(fs_info, num_bytes, empty_size, data),
- 
- 	TP_FIELDS(
--		ctf_array(u8, fsid, info->fsid, BTRFS_UUID_SIZE)
-+		ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
- 		ctf_integer(u64, num_bytes, num_bytes)
- 		ctf_integer(u64, empty_size, empty_size)
- 		ctf_integer(u64, data, data)
-@@ -1460,11 +1466,11 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
- 
- LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
- 
--	TP_PROTO(struct btrfs_fs_info *info,
-+	TP_PROTO(struct btrfs_fs_info *fs_info,
- 		 struct btrfs_block_group_cache *block_group, u64 start,
- 		 u64 len),
- 
--	TP_ARGS(info, block_group, start, len),
-+	TP_ARGS(fs_info, block_group, start, len),
- 
- 	TP_FIELDS(
- 		ctf_integer(u64, bg_objectid, block_group->key.objectid)
-@@ -1476,20 +1482,20 @@ LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent,
- 
--	TP_PROTO(struct btrfs_fs_info *info,
-+	TP_PROTO(struct btrfs_fs_info *fs_info,
- 		 struct btrfs_block_group_cache *block_group, u64 start,
- 		 u64 len),
- 
--	TP_ARGS(info, block_group, start, len)
-+	TP_ARGS(fs_info, block_group, start, len)
- )
- 
- LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_cluster,
- 
--	TP_PROTO(struct btrfs_fs_info *info,
-+	TP_PROTO(struct btrfs_fs_info *fs_info,
- 		 struct btrfs_block_group_cache *block_group, u64 start,
- 		 u64 len),
- 
--	TP_ARGS(info, block_group, start, len)
-+	TP_ARGS(fs_info, block_group, start, len)
- )
- #elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
- 	LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0009-Cleanup-tp-mempool-Remove-logically-dead-code.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0009-Cleanup-tp-mempool-Remove-logically-dead-code.patch
deleted file mode 100644
index 4ffe488..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0009-Cleanup-tp-mempool-Remove-logically-dead-code.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 416cee8707053a9015dfec8332e12f8c263098e3 Mon Sep 17 00:00:00 2001
-From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-Date: Thu, 14 Feb 2019 11:40:50 -0500
-Subject: [PATCH 9/9] Cleanup: tp mempool: Remove logically dead code
-
-Found by Coverity:
-CID 1391045 (#1 of 1): Logically dead code (DEADCODE)
-
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-
-Upstream-Status: backport https://github.com/lttng/lttng-modules/commit/416cee8707053a9015dfec8332e12f8c263098e3
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
----
- lttng-tp-mempool.c | 11 ++---------
- 1 file changed, 2 insertions(+), 9 deletions(-)
-
-diff --git a/lttng-tp-mempool.c b/lttng-tp-mempool.c
-index d984bd4..21e8376 100644
---- a/lttng-tp-mempool.c
-+++ b/lttng-tp-mempool.c
-@@ -151,19 +151,12 @@ void lttng_tp_mempool_free(void *ptr)
- 	struct lttng_tp_buf_entry *entry;
- 	struct per_cpu_buf *cpu_buf;
- 
--	if (!ptr) {
-+	if (!ptr)
- 		goto end;
--	}
--
- 	entry = container_of(ptr, struct lttng_tp_buf_entry, buf);
--	if (!entry) {
--		goto end;
--	}
--
- 	cpu_buf = per_cpu_ptr(pool, entry->cpu);
--	if (!cpu_buf) {
-+	if (!cpu_buf)
- 		goto end;
--	}
- 	/* Add it to the free list. */
- 	list_add_tail(&entry->list, &cpu_buf->free_list);
- 
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.8.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.9.bb
similarity index 61%
rename from poky/meta/recipes-kernel/lttng/lttng-modules_2.10.8.bb
rename to poky/meta/recipes-kernel/lttng/lttng-modules_2.10.9.bb
index 15e75e5..70a6843 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.8.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.9.bb
@@ -15,19 +15,10 @@
 SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \
            file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \
            file://BUILD_RUNTIME_BUG_ON-vs-gcc7.patch \
-           file://0001-Fix-signal-Distinguish-between-kernel_siginfo-and-si.patch \
-           file://0002-Fix-signal-Remove-SEND_SIG_FORCED-v4.20.patch \
-           file://0003-Fix-ext4-adjust-reserved-cluster-count-when-removing.patch \
-           file://0004-Fix-timer-instrumentation-for-RHEL-7.6.patch \
-           file://0005-Fix-Remove-type-argument-from-access_ok-function-v5..patch \
-           file://0006-Fix-Replace-pointer-values-with-task-tk_pid-and-rpc_.patch \
-           file://0007-Fix-SUNRPC-Simplify-defining-common-RPC-trace-events.patch \
-           file://0008-Fix-btrfs-Remove-fsid-metadata_fsid-fields-from-btrf.patch \
-           file://0009-Cleanup-tp-mempool-Remove-logically-dead-code.patch \
            "
 
-SRC_URI[md5sum] = "54bd9fca61487bbec1b3fca2f2213c98"
-SRC_URI[sha256sum] = "fe1d269bca723e8948af871c322c37d3900e647cdc5eb3efbe821e434beee44c"
+SRC_URI[md5sum] = "09df0ac2e8f245740a2f32411d10c0d1"
+SRC_URI[sha256sum] = "a1855bbd02d0f71ebd180e9872309862036624f012442ab9cc5852eb60340145"
 
 export INSTALL_MOD_DIR="kernel/lttng-modules"
 
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0006-Tests-check-for-lttng-modules-presence.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0006-Tests-check-for-lttng-modules-presence.patch
index e07c227..30aa66b 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-tools/0006-Tests-check-for-lttng-modules-presence.patch
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0006-Tests-check-for-lttng-modules-presence.patch
@@ -3,7 +3,7 @@
 Date: Mon, 25 Mar 2019 14:24:51 -0400
 Subject: [2/2] tests: check for lttng-modules presence
 
-Upstream-status: Accepted [5da3fc8579a9f93ea4767729a107784bf2d034ae]
+Upstream-Status: Accepted [5da3fc8579a9f93ea4767729a107784bf2d034ae]
 Backported to 2.11 and 2.10
 
 Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch
index 5437de2..a3362ea 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-tools/0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch
@@ -55,6 +55,8 @@
 if we need to warn or not.
 
 Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
+
+Upstream-Status: Submitted [https://patchwork.lttng.org/patch/2314703]
 ---
  src/bin/lttng-consumerd/health-consumerd.c   | 10 ++-
  src/bin/lttng-relayd/health-relayd.c         | 20 ++++--
diff --git a/poky/meta/recipes-kernel/perf/perf.bb b/poky/meta/recipes-kernel/perf/perf.bb
index 5acdcfb..4e603f1 100644
--- a/poky/meta/recipes-kernel/perf/perf.bb
+++ b/poky/meta/recipes-kernel/perf/perf.bb
@@ -238,7 +238,7 @@
 
     # unistd.h can be out of sync between libc-headers and the captured version in the perf source
     # so we copy it from the sysroot unistd.h to the perf unistd.h
-    cp ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/tools/include/uapi/asm-generic/unistd.h
+    install -D -m0644 ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/tools/include/uapi/asm-generic/unistd.h
 }
 
 python do_package_prepend() {
@@ -271,3 +271,4 @@
 
 
 INHIBIT_PACKAGE_DEBUG_SPLIT="1"
+DEBUG_OPTIMIZATION_append = " -Wno-error=maybe-uninitialized"
diff --git a/poky/meta/recipes-kernel/sysprof/sysprof_3.30.2.bb b/poky/meta/recipes-kernel/sysprof/sysprof_3.32.0.bb
similarity index 87%
rename from poky/meta/recipes-kernel/sysprof/sysprof_3.30.2.bb
rename to poky/meta/recipes-kernel/sysprof/sysprof_3.32.0.bb
index 24e49cb..b929338 100644
--- a/poky/meta/recipes-kernel/sysprof/sysprof_3.30.2.bb
+++ b/poky/meta/recipes-kernel/sysprof/sysprof_3.32.0.bb
@@ -9,8 +9,8 @@
 
 DEPENDS = "glib-2.0 libxml2-native glib-2.0-native"
 
-SRC_URI[archive.md5sum] = "80cb47906eced2e7b9976bf00deec323"
-SRC_URI[archive.sha256sum] = "e90878e5a509bd79d170a7a51d47cc5508ab1363afaf0d97654373dfd9c8ba0b"
+SRC_URI[archive.md5sum] = "d1fa9ad216419d722770ca36713ad3af"
+SRC_URI[archive.sha256sum] = "fc22a69e468701c5ec9036e960c6273afa1ed6a89df1f889fed49417add5554d"
 SRC_URI += " \
            file://define-NT_GNU_BUILD_ID.patch \
            file://0001-Do-not-build-anything-in-help-as-it-requires-itstool.patch \
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.1.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.3.bb
similarity index 97%
rename from poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.1.bb
rename to poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.3.bb
index 749b3d0..994a792 100644
--- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.1.bb
+++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.3.bb
@@ -26,8 +26,8 @@
 SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \
            file://mips64_cpu_detection.patch \
            "
-SRC_URI[md5sum] = "720fc84617a2c38aeae79aff3689a567"
-SRC_URI[sha256sum] = "373749824dfd334d84e55dff406729edfd1606575ee44dd485d97d45ea4d2d86"
+SRC_URI[md5sum] = "dcc20dd2682ea01c678b7b8324339d43"
+SRC_URI[sha256sum] = "0c3020452880581a8face91595b239198078645e7d7184273b8bcc7758beb63d"
 
 # Build fails when thumb is enabled: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717
 ARM_INSTRUCTION_SET_armv4 = "arm"
diff --git a/poky/meta/recipes-multimedia/flac/flac_1.3.2.bb b/poky/meta/recipes-multimedia/flac/flac_1.3.2.bb
index 92ef897..e8599f6 100644
--- a/poky/meta/recipes-multimedia/flac/flac_1.3.2.bb
+++ b/poky/meta/recipes-multimedia/flac/flac_1.3.2.bb
@@ -21,7 +21,7 @@
 SRC_URI[md5sum] = "454f1bfa3f93cc708098d7890d0499bd"
 SRC_URI[sha256sum] = "91cfc3ed61dc40f47f050a109b08610667d73477af6ef36dcad31c31a4a8d53f"
 
-CVE_PRODUCT = "libflac"
+CVE_PRODUCT = "libflac flac"
 
 inherit autotools gettext
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.4.bb
index 4987be8..23d093d 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.4.bb
@@ -20,7 +20,7 @@
 
 DEPENDS += "gstreamer1.0-plugins-base"
 
-inherit gettext bluetooth
+inherit gettext bluetooth gobject-introspection
 
 PACKAGECONFIG ??= " \
     ${GSTREAMER_ORC} \
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.4.bb
index 12c9bbc..f3e6daf 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.4.bb
@@ -28,7 +28,7 @@
 
 DEPENDS += "iso-codes util-linux"
 
-inherit gettext
+inherit gettext gobject-introspection
 
 PACKAGES_DYNAMIC =+ "^libgst.*"
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc
index 5906e4a..bc24b05 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc
@@ -7,7 +7,7 @@
 
 SRC_URI_append = " file://gtk-doc-tweaks.patch"
 
-inherit autotools pkgconfig upstream-version-is-even gobject-introspection gtk-doc
+inherit autotools pkgconfig upstream-version-is-even gtk-doc
 
 acpaths = "-I ${S}/common/m4 -I ${S}/m4"
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.14.4.bb
index 8d45ca2..048aaf4 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.14.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.14.4.bb
@@ -16,7 +16,11 @@
 
 S = "${WORKDIR}/${PNREAL}-${PV}"
 
-inherit autotools pkgconfig distutils3-base upstream-version-is-even gobject-introspection
+# gobject-introspection is mandatory and cannot be configured
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
+UNKNOWN_CONFIGURE_WHITELIST_append = " --enable-introspection --disable-introspection"
+
+inherit autotools pkgconfig distutils3-base upstream-version-is-even gobject-introspection distro_features_check
 
 do_install_append() {
     # gstpythonplugin hardcodes the location of the libpython from the build
diff --git a/poky/meta/recipes-multimedia/libpng/libpng/CVE-2019-7317.patch b/poky/meta/recipes-multimedia/libpng/libpng/CVE-2019-7317.patch
deleted file mode 100644
index 6ee1f8d..0000000
--- a/poky/meta/recipes-multimedia/libpng/libpng/CVE-2019-7317.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Use-after-free detected with static analysis.
-
-CVE: CVE-2019-7317
-Upstream-Status: Submitted [https://github.com/glennrp/libpng/issues/275]
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff --git a/png.c b/png.c
-index 9d9926f638..efd1aecfbd 100644
---- a/png.c
-+++ b/png.c
-@@ -4588,8 +4588,7 @@ png_image_free(png_imagep image)
-    if (image != NULL && image->opaque != NULL &&
-       image->opaque->error_buf == NULL)
-    {
--      /* Ignore errors here: */
--      (void)png_safe_execute(image, png_image_free_function, image);
-+      png_image_free_function(image);
-       image->opaque = NULL;
-    }
- }
diff --git a/poky/meta/recipes-multimedia/libpng/libpng_1.6.36.bb b/poky/meta/recipes-multimedia/libpng/libpng_1.6.37.bb
similarity index 70%
rename from poky/meta/recipes-multimedia/libpng/libpng_1.6.36.bb
rename to poky/meta/recipes-multimedia/libpng/libpng_1.6.37.bb
index a586237..66af2f3 100644
--- a/poky/meta/recipes-multimedia/libpng/libpng_1.6.36.bb
+++ b/poky/meta/recipes-multimedia/libpng/libpng_1.6.37.bb
@@ -2,17 +2,16 @@
 HOMEPAGE = "http://www.libpng.org/"
 SECTION = "libs"
 LICENSE = "Libpng"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=12b4ec50384c800bc568f519671b120c \
-                    file://png.h;endline=144;md5=15ae15f53376306868259924a9db4e05 \
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b0085051bf265bac2bfc38bc89f50000\
+                    file://png.h;endline=144;md5=8acd23d544623816b097e07be0139509\
                     "
 DEPENDS = "zlib"
 
 LIBV = "16"
 
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}${LIBV}/${PV}/${BP}.tar.xz \
-           file://CVE-2019-7317.patch"
-SRC_URI[md5sum] = "df2be2d29c40937fe1f5349b16bc2826"
-SRC_URI[sha256sum] = "eceb924c1fa6b79172fdfd008d335f0e59172a86a66481e09d4089df872aa319"
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}${LIBV}/${PV}/${BP}.tar.xz"
+SRC_URI[md5sum] = "015e8e15db1eecde5f2eb9eb5b6e59e9"
+SRC_URI[sha256sum] = "505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca"
 
 MIRRORS += "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}${LIBV}/${PV}/ ${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}${LIBV}/older-releases/${PV}/"
 
diff --git a/poky/meta/recipes-multimedia/mpg123/mpg123/sdl2.patch b/poky/meta/recipes-multimedia/mpg123/mpg123/sdl2.patch
new file mode 100644
index 0000000..9dc9b92
--- /dev/null
+++ b/poky/meta/recipes-multimedia/mpg123/mpg123/sdl2.patch
@@ -0,0 +1,14 @@
+Use libsdl2 instead of libsdl 1.2, which is dead upstream.
+
+Luckily the API that mpg123 use didn't change so this is a trivial change.
+
+Upstream-Status: Submitted [https://sourceforge.net/p/mpg123/bugs/268/]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+diff --git a/configure.ac b/configure.ac
+index 6216d4f..b8d3344 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1694 +1694 @@ do
+-			PKG_CHECK_MODULES(SDL, sdl, output_modules="$output_modules sdl" HAVE_SDL="yes", HAVE_SDL="no" check_failed=yes)
++			PKG_CHECK_MODULES(SDL, sdl2, output_modules="$output_modules sdl" HAVE_SDL="yes", HAVE_SDL="no" check_failed=yes)
diff --git a/poky/meta/recipes-multimedia/mpg123/mpg123_1.25.10.bb b/poky/meta/recipes-multimedia/mpg123/mpg123_1.25.10.bb
index ff2b7d8..dfb10bb 100644
--- a/poky/meta/recipes-multimedia/mpg123/mpg123_1.25.10.bb
+++ b/poky/meta/recipes-multimedia/mpg123/mpg123_1.25.10.bb
@@ -9,7 +9,8 @@
 LICENSE = "LGPLv2.1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=1e86753638d3cf2512528b99079bc4f3"
 
-SRC_URI = "https://www.mpg123.de/download/${BP}.tar.bz2"
+SRC_URI = "https://www.mpg123.de/download/${BP}.tar.bz2 \
+           file://sdl2.patch"
 SRC_URI[md5sum] = "ea32caa61d41d8be797f0b04a1b43ad9"
 SRC_URI[sha256sum] = "6c1337aee2e4bf993299851c70b7db11faec785303cfca3a5c3eb5f329ba7023"
 
@@ -27,7 +28,7 @@
 PACKAGECONFIG[openal] = ",,openal-soft"
 PACKAGECONFIG[portaudio] = ",,portaudio-v19"
 PACKAGECONFIG[pulseaudio] = "--with-default-audio=pulse,,pulseaudio"
-PACKAGECONFIG[sdl] = ",,libsdl"
+PACKAGECONFIG[sdl] = ",,libsdl2"
 
 # Following are possible sound output modules:
 # alsa arts coreaudio dummy esd jack nas openal os2 oss portaudio pulse sdl sndio sun tinyalsa win32 win32_wasapi
diff --git a/poky/meta/recipes-rt/images/core-image-rt-sdk.bb b/poky/meta/recipes-rt/images/core-image-rt-sdk.bb
index 0f7f091..624b7d9 100644
--- a/poky/meta/recipes-rt/images/core-image-rt-sdk.bb
+++ b/poky/meta/recipes-rt/images/core-image-rt-sdk.bb
@@ -11,7 +11,7 @@
 DESCRIPTION = "Small image capable of booting a device with a test suite and \
 tools for real-time use. It includes the full meta-toolchain, development \
 headers and libraries to form a standalone SDK."
-DEPENDS = "linux-yocto-rt"
+DEPENDS += "linux-yocto-rt"
 
 IMAGE_FEATURES += "dev-pkgs tools-sdk tools-debug eclipse-debug tools-profile tools-testapps debug-tweaks"
 
diff --git a/poky/meta/recipes-rt/images/core-image-rt.bb b/poky/meta/recipes-rt/images/core-image-rt.bb
index 9cb93b3..053d232 100644
--- a/poky/meta/recipes-rt/images/core-image-rt.bb
+++ b/poky/meta/recipes-rt/images/core-image-rt.bb
@@ -10,7 +10,7 @@
 
 DESCRIPTION = "A small image just capable of allowing a device to boot plus a \
 real-time test suite and tools appropriate for real-time use."
-DEPENDS = "linux-yocto-rt"
+DEPENDS += "linux-yocto-rt"
 
 IMAGE_INSTALL += "rt-tests hwlatdetect"
 
diff --git a/poky/meta/recipes-sato/images/core-image-sato-ptest-fast.bb b/poky/meta/recipes-sato/images/core-image-sato-ptest-fast.bb
new file mode 100644
index 0000000..b794a7d
--- /dev/null
+++ b/poky/meta/recipes-sato/images/core-image-sato-ptest-fast.bb
@@ -0,0 +1,16 @@
+require core-image-sato-sdk.bb
+require conf/distro/include/ptest-packagelists.inc
+
+IMAGE_INSTALL += "${PTESTS_FAST}"
+
+DESCRIPTION += "Also includes ptest packages with fast execution times to allow for more automated QA."
+
+# This image is sufficiently large (~1.8GB) that it can't actually fit in a live
+# image (which has a 4GB limit), so nullify the overhead factor (1.3x out of the
+# box) and explicitly add just 1500MB.
+# strace-ptest in particular needs more than 500MB
+IMAGE_OVERHEAD_FACTOR = "1.0"
+IMAGE_ROOTFS_EXTRA_SPACE = "1524288"
+
+# ptests need more memory than standard to avoid the OOM killer
+QB_MEM = "-m 1024"
diff --git a/poky/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb b/poky/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb
index 1027ec0..e84beda 100644
--- a/poky/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb
+++ b/poky/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb
@@ -1,15 +1,21 @@
 require core-image-sato-sdk.bb
+require conf/distro/include/ptest-packagelists.inc
 
 DESCRIPTION += "Also includes ptest packages."
 
 IMAGE_FEATURES += "ptest-pkgs"
 
+PROVIDES += "core-image-sato-ptest"
+
+# Also include ptests which may not otherwise be included in a sato image
+IMAGE_INSTALL += "${PTESTS_FAST} ${PTESTS_SLOW}"
+
 # This image is sufficiently large (~1.8GB) that we need to be careful that it fits in a live
 # image (which has a 4GB limit), so nullify the overhead factor (1.3x out of the
-# box) and explicitly add just 1500MB.
+# box) and explicitly add just 1200MB.
 # strace-ptest in particular needs more than 500MB
 IMAGE_OVERHEAD_FACTOR = "1.0"
-IMAGE_ROOTFS_EXTRA_SPACE = "1524288"
+IMAGE_ROOTFS_EXTRA_SPACE = "1224288"
 
 # ptests need more memory than standard to avoid the OOM killer
 QB_MEM = "-m 1024"
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch
index d9a18e0..0c145c7 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch
@@ -1,4 +1,4 @@
-From 322966273a8e085829261a397af37de0fbf51aad Mon Sep 17 00:00:00 2001
+From c4d4d9f1aa74addefdad40294cf16d9e0b3dd6ec Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Fri, 6 Oct 2017 17:00:08 +0300
 Subject: [PATCH] Fix build with musl
@@ -12,7 +12,7 @@
  2 files changed, 6 insertions(+), 6 deletions(-)
 
 diff --git a/Source/JavaScriptCore/runtime/MachineContext.h b/Source/JavaScriptCore/runtime/MachineContext.h
-index 836d755..7665d25 100644
+index 823964c2..00841146 100644
 --- a/Source/JavaScriptCore/runtime/MachineContext.h
 +++ b/Source/JavaScriptCore/runtime/MachineContext.h
 @@ -188,7 +188,7 @@ static inline void*& stackPointerImpl(mcontext_t& machineContext)
@@ -61,12 +61,12 @@
  // The following sequence depends on glibc's sys/ucontext.h.
  #if CPU(X86)
 diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h
-index a841946..1e5c7dd 100644
+index 34f7cb14..32ad9150 100644
 --- a/Source/WTF/wtf/Platform.h
 +++ b/Source/WTF/wtf/Platform.h
-@@ -701,7 +701,7 @@
- #define HAVE_CFNETWORK_STORAGE_PARTITIONING 1
- #endif
+@@ -714,7 +714,7 @@
+ 
+ #endif /* OS(DARWIN) */
  
 -#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || defined(__GLIBC__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS)))
 +#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || defined(__linux__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS)))
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch
index 83fd512..664cea9 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch
@@ -1,8 +1,8 @@
-From 9b09974003097c9a408bbeea568996768efe705b Mon Sep 17 00:00:00 2001
+From d3796ad1a19233ee5d3492a5560d7ede882f89cf Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Thu, 11 Aug 2016 17:13:51 +0300
-Subject: [PATCH 05/10] Tweak gtkdoc settings so that gtkdoc generation works
- under OpenEmbedded build system
+Subject: [PATCH] Tweak gtkdoc settings so that gtkdoc generation works under
+ OpenEmbedded build system
 
 This requires setting a few environment variables so that the transient
 binary is build and linked correctly, and disabling the tweaks to RUN
@@ -12,28 +12,28 @@
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
 
 ---
- Source/PlatformGTK.cmake | 2 +-
- Tools/gtk/gtkdoc.py      | 4 ++--
+ Source/cmake/GtkDoc.cmake | 2 +-
+ Tools/gtkdoc/gtkdoc.py    | 4 ++--
  2 files changed, 3 insertions(+), 3 deletions(-)
 
-diff --git a/Source/PlatformGTK.cmake b/Source/PlatformGTK.cmake
-index 50b5393..7a31db5 100644
---- a/Source/PlatformGTK.cmake
-+++ b/Source/PlatformGTK.cmake
-@@ -24,7 +24,7 @@ macro(ADD_GTKDOC_GENERATOR _stamp_name _extra_args)
+diff --git a/Source/cmake/GtkDoc.cmake b/Source/cmake/GtkDoc.cmake
+index 2ee05550..6cb6313d 100644
+--- a/Source/cmake/GtkDoc.cmake
++++ b/Source/cmake/GtkDoc.cmake
+@@ -4,7 +4,7 @@ macro(ADD_GTKDOC_GENERATOR _stamp_name _extra_args)
      add_custom_command(
          OUTPUT "${CMAKE_BINARY_DIR}/${_stamp_name}"
          DEPENDS ${DocumentationDependencies}
--        COMMAND ${CMAKE_COMMAND} -E env "CC=${CMAKE_C_COMPILER}" "CFLAGS=${CMAKE_C_FLAGS} -Wno-unused-parameter" ${CMAKE_SOURCE_DIR}/Tools/gtk/generate-gtkdoc ${_extra_args}
-+        COMMAND ${CMAKE_COMMAND} -E env "CC=${CMAKE_C_COMPILER}" "CFLAGS=${CMAKE_C_FLAGS} -Wno-unused-parameter" "LD=${CMAKE_C_COMPILER}" "LDFLAGS=${CMAKE_C_LINK_FLAGS}" "RUN=${CMAKE_BINARY_DIR}/gtkdoc-qemuwrapper" ${CMAKE_SOURCE_DIR}/Tools/gtk/generate-gtkdoc -v ${_extra_args}
+-        COMMAND ${CMAKE_COMMAND} -E env "CC=${CMAKE_C_COMPILER}" "CFLAGS=${CMAKE_C_FLAGS} -Wno-unused-parameter" ${CMAKE_SOURCE_DIR}/Tools/gtkdoc/generate-gtkdoc ${_extra_args}
++        COMMAND ${CMAKE_COMMAND} -E env "CC=${CMAKE_C_COMPILER}" "CFLAGS=${CMAKE_C_FLAGS} -Wno-unused-parameter" "LD=${CMAKE_C_COMPILER}" "LDFLAGS=${CMAKE_C_LINK_FLAGS}" "RUN=${CMAKE_BINARY_DIR}/gtkdoc-qemuwrapper" ${CMAKE_SOURCE_DIR}/Tools/gtkdoc/generate-gtkdoc ${_extra_args}
          COMMAND touch ${_stamp_name}
          WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
          VERBATIM
-diff --git a/Tools/gtk/gtkdoc.py b/Tools/gtk/gtkdoc.py
-index 03c8e8e..34fbaff 100644
---- a/Tools/gtk/gtkdoc.py
-+++ b/Tools/gtk/gtkdoc.py
-@@ -318,9 +318,9 @@ class GTKDoc(object):
+diff --git a/Tools/gtkdoc/gtkdoc.py b/Tools/gtkdoc/gtkdoc.py
+index 81ee8cdc..3e11c2f0 100644
+--- a/Tools/gtkdoc/gtkdoc.py
++++ b/Tools/gtkdoc/gtkdoc.py
+@@ -317,9 +317,9 @@ class GTKDoc(object):
                      additional_ldflags = '%s %s' % (additional_ldflags, arg)
              ldflags = ' "-L%s" %s ' % (self.library_path, additional_ldflags) + ldflags
              current_ld_library_path = env.get('LD_LIBRARY_PATH')
@@ -45,6 +45,3 @@
                  env['LD_LIBRARY_PATH'] = self.library_path
  
          if ldflags:
--- 
-2.15.1
-
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch
index b310264..e71905d 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch
@@ -1,4 +1,4 @@
-From e1c6540f7984bd48e1e2d80d965fa82c70de3c20 Mon Sep 17 00:00:00 2001
+From d1634e56a2589ec62325011bf77d480a67123b52 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sun, 17 Apr 2016 12:35:41 -0700
 Subject: [PATCH] WebKitMacros: Append to -I and not to -isystem
@@ -28,10 +28,10 @@
  6 files changed, 8 insertions(+), 8 deletions(-)
 
 diff --git a/Source/JavaScriptCore/shell/CMakeLists.txt b/Source/JavaScriptCore/shell/CMakeLists.txt
-index b3c7e0b..88446de 100644
+index 87153e35..cd0beed4 100644
 --- a/Source/JavaScriptCore/shell/CMakeLists.txt
 +++ b/Source/JavaScriptCore/shell/CMakeLists.txt
-@@ -35,7 +35,7 @@ WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
+@@ -36,7 +36,7 @@ WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
  WEBKIT_WRAP_SOURCELIST(${JSC_SOURCES})
  WEBKIT_WRAP_SOURCELIST(${TESTAPI_SOURCES})
  include_directories(./ ${JavaScriptCore_INCLUDE_DIRECTORIES} ${JavaScriptCore_PRIVATE_INCLUDE_DIRECTORIES})
@@ -41,10 +41,10 @@
  target_link_libraries(jsc ${JSC_LIBRARIES})
  
 diff --git a/Source/WebCore/PlatformGTK.cmake b/Source/WebCore/PlatformGTK.cmake
-index f7d8d70a..3c27b8bc 100644
+index e0dd9cd9..a2997f3e 100644
 --- a/Source/WebCore/PlatformGTK.cmake
 +++ b/Source/WebCore/PlatformGTK.cmake
-@@ -157,7 +157,7 @@ if (ENABLE_PLUGIN_PROCESS_GTK2)
+@@ -164,7 +164,7 @@ if (ENABLE_PLUGIN_PROCESS_GTK2)
      target_include_directories(WebCorePlatformGTK2 PRIVATE
          ${WebCore_INCLUDE_DIRECTORIES}
      )
@@ -53,7 +53,7 @@
          ${WebCore_SYSTEM_INCLUDE_DIRECTORIES}
          ${GTK2_INCLUDE_DIRS}
          ${GDK2_INCLUDE_DIRS}
-@@ -183,7 +183,7 @@ add_dependencies(WebCorePlatformGTK WebCore)
+@@ -190,7 +190,7 @@ add_dependencies(WebCorePlatformGTK WebCore)
  target_include_directories(WebCorePlatformGTK PRIVATE
      ${WebCore_INCLUDE_DIRECTORIES}
  )
@@ -62,7 +62,7 @@
      ${WebCore_SYSTEM_INCLUDE_DIRECTORIES}
      ${GTK_INCLUDE_DIRS}
      ${GDK_INCLUDE_DIRS}
-@@ -199,7 +199,7 @@ include_directories(
+@@ -206,7 +206,7 @@ include_directories(
      "${WEBCORE_DIR}/bindings/gobject/"
  )
  
@@ -72,10 +72,10 @@
  )
  
 diff --git a/Source/WebKit/PlatformGTK.cmake b/Source/WebKit/PlatformGTK.cmake
-index 8c6ebb5..772c243 100644
+index 693bbdfe..20e3802f 100644
 --- a/Source/WebKit/PlatformGTK.cmake
 +++ b/Source/WebKit/PlatformGTK.cmake
-@@ -655,7 +655,7 @@ if (ENABLE_PLUGIN_PROCESS_GTK2)
+@@ -664,7 +664,7 @@ if (ENABLE_PLUGIN_PROCESS_GTK2)
      target_include_directories(WebKitPluginProcess2 PRIVATE
          ${WebKitCommonIncludeDirectories}
      )
@@ -85,10 +85,10 @@
           ${GTK2_INCLUDE_DIRS}
           ${GDK2_INCLUDE_DIRS}
 diff --git a/Source/cmake/WebKitMacros.cmake b/Source/cmake/WebKitMacros.cmake
-index a1e7e8f..ce24274 100644
+index 6d58d57e..976e2362 100644
 --- a/Source/cmake/WebKitMacros.cmake
 +++ b/Source/cmake/WebKitMacros.cmake
-@@ -134,7 +134,7 @@ macro(WEBKIT_FRAMEWORK _target)
+@@ -152,7 +152,7 @@ macro(WEBKIT_FRAMEWORK _target)
          ${${_target}_SOURCES}
      )
      target_include_directories(${_target} PUBLIC "$<BUILD_INTERFACE:${${_target}_INCLUDE_DIRECTORIES}>")
@@ -98,10 +98,10 @@
      target_link_libraries(${_target} ${${_target}_LIBRARIES})
      set_target_properties(${_target} PROPERTIES COMPILE_DEFINITIONS "BUILDING_${_target}")
 diff --git a/Tools/MiniBrowser/gtk/CMakeLists.txt b/Tools/MiniBrowser/gtk/CMakeLists.txt
-index dc2b61e..0128dca 100644
+index a0d32059..f259ade2 100644
 --- a/Tools/MiniBrowser/gtk/CMakeLists.txt
 +++ b/Tools/MiniBrowser/gtk/CMakeLists.txt
-@@ -57,7 +57,7 @@ endif ()
+@@ -59,7 +59,7 @@ endif ()
  add_definitions(-DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_6)
  
  include_directories(${MiniBrowser_INCLUDE_DIRECTORIES})
@@ -111,10 +111,10 @@
  target_link_libraries(MiniBrowser ${MiniBrowser_LIBRARIES})
  
 diff --git a/Tools/TestWebKitAPI/PlatformGTK.cmake b/Tools/TestWebKitAPI/PlatformGTK.cmake
-index 4aef695..a14b163 100644
+index 8dd0e146..d037fc35 100644
 --- a/Tools/TestWebKitAPI/PlatformGTK.cmake
 +++ b/Tools/TestWebKitAPI/PlatformGTK.cmake
-@@ -20,7 +20,7 @@ include_directories(
+@@ -22,7 +22,7 @@ include_directories(
      ${WEBKIT_DIR}/UIProcess/API/gtk
  )
  
@@ -122,4 +122,4 @@
 +include_directories(
      ${GDK3_INCLUDE_DIRS}
      ${GLIB_INCLUDE_DIRS}
-     ${GTK3_INCLUDE_DIRS}
+     ${GSTREAMER_INCLUDE_DIRS}
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/bad_optional_access.patch b/poky/meta/recipes-sato/webkit/webkitgtk/bad_optional_access.patch
deleted file mode 100644
index 9d0d50b..0000000
--- a/poky/meta/recipes-sato/webkit/webkitgtk/bad_optional_access.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-unbreak build with libc++ 7
-
-based on
-https://svnweb.freebsd.org/ports/head/www/webkit2-gtk3/files/patch-Source_WTF_wtf_Optional.h?view=markup&pathrev=477812
-
-Fixes
-
-/usr/include/c++/v1/optional:171:29: error: redefinition of 'bad_optional_access'
-class _LIBCPP_EXCEPTION_ABI bad_optional_access
-                            ^
-DerivedSources/ForwardingHeaders/wtf/Optional.h:295:7: note: previous definition is here
-class bad_optional_access : public std::logic_error {
-      ^
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
---- a/Source/WTF/wtf/Optional.h
-+++ b/Source/WTF/wtf/Optional.h
-@@ -276,14 +276,14 @@ struct nullopt_t
- };
- constexpr nullopt_t nullopt{nullopt_t::init()};
- 
--
-+# if !defined(_LIBCPP_VERSION) || _LIBCPP_VERSION < 7000
- // 20.5.8, class bad_optional_access
- class bad_optional_access : public std::logic_error {
- public:
-   explicit bad_optional_access(const std::string& what_arg) : std::logic_error{what_arg} {}
-   explicit bad_optional_access(const char* what_arg) : std::logic_error{what_arg} {}
- };
--
-+# endif // _LIBCPP_VERSION < 7000
- 
- template <class T>
- union storage_t
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/include_array.patch b/poky/meta/recipes-sato/webkit/webkitgtk/include_array.patch
new file mode 100644
index 0000000..7268b04
--- /dev/null
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/include_array.patch
@@ -0,0 +1,15 @@
+Added missing include for std::array
+
+Upstream-Status: Submitted [https://bugs.webkit.org/show_bug.cgi?id=197085]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- webkitgtk-2.24.0/Source/JavaScriptCore/assembler/PerfLog.cpp.org	2019-04-18 18:03:50.226231691 -0700
++++ webkitgtk-2.24.0/Source/JavaScriptCore/assembler/PerfLog.cpp	2019-04-18 18:07:28.569153989 -0700
+@@ -31,6 +31,7 @@
+ #include <elf.h>
+ #include <fcntl.h>
+ #include <mutex>
++#include <array>
+ #include <sys/mman.h>
+ #include <sys/stat.h>
+ #include <sys/syscall.h>
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/narrowing.patch b/poky/meta/recipes-sato/webkit/webkitgtk/narrowing.patch
new file mode 100644
index 0000000..598b6b5
--- /dev/null
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/narrowing.patch
@@ -0,0 +1,31 @@
+Fix build with clang on arm where char is unsigned
+
+Upstream-Status: Submitted [https://bugs.webkit.org/show_bug.cgi?id=197087]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/Source/WebCore/contentextensions/DFACombiner.cpp
++++ b/Source/WebCore/contentextensions/DFACombiner.cpp
+@@ -37,7 +37,7 @@ namespace WebCore {
+ namespace ContentExtensions {
+ 
+ class DFAMerger {
+-    typedef MutableRangeList<char, uint64_t, 128> CombinedTransitionsMutableRangeList;
++    typedef MutableRangeList<signed char, uint64_t, 128> CombinedTransitionsMutableRangeList;
+ 
+     enum class WhichDFA {
+         A,
+--- a/Source/WebCore/contentextensions/NFAToDFA.cpp
++++ b/Source/WebCore/contentextensions/NFAToDFA.cpp
+@@ -41,9 +41,9 @@ namespace WebCore {
+ 
+ namespace ContentExtensions {
+ 
+-typedef MutableRange<char, NFANodeIndexSet> NFANodeRange;
+-typedef MutableRangeList<char, NFANodeIndexSet> NFANodeRangeList;
+-typedef MutableRangeList<char, NFANodeIndexSet, 128> PreallocatedNFANodeRangeList;
++typedef MutableRange<signed char, NFANodeIndexSet> NFANodeRange;
++typedef MutableRangeList<signed char, NFANodeIndexSet> NFANodeRangeList;
++typedef MutableRangeList<signed char, NFANodeIndexSet, 128> PreallocatedNFANodeRangeList;
+ typedef Vector<uint32_t, 0, ContentExtensionsOverflowHandler> UniqueNodeList;
+ typedef Vector<UniqueNodeList, 0, ContentExtensionsOverflowHandler> NFANodeClosures;
+ 
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/snprintf.patch b/poky/meta/recipes-sato/webkit/webkitgtk/snprintf.patch
new file mode 100644
index 0000000..b1481d7
--- /dev/null
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/snprintf.patch
@@ -0,0 +1,15 @@
+include missing header for snprintf definition
+
+Upstream-Status: Submitted [https://bugs.webkit.org/show_bug.cgi?id=197088]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/Source/WebCore/platform/text/TextCodec.cpp
++++ b/Source/WebCore/platform/text/TextCodec.cpp
+@@ -28,6 +28,7 @@
+ #include "TextCodec.h"
+ 
+ #include <array>
++#include <cstdio>
+ 
+ namespace WebCore {
+ 
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.22.7.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.24.0.bb
similarity index 93%
rename from poky/meta/recipes-sato/webkit/webkitgtk_2.22.7.bb
rename to poky/meta/recipes-sato/webkit/webkitgtk_2.24.0.bb
index 301bf10..96ac5ac 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk_2.22.7.bb
+++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.24.0.bb
@@ -20,16 +20,20 @@
            file://0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch \
            file://0001-Fix-build-with-musl.patch \
            file://detect-gstreamer-gl.patch \
-           file://bad_optional_access.patch \
+           file://include_array.patch \
+           file://narrowing.patch \
+           file://snprintf.patch \
            "
 
-SRC_URI[md5sum] = "47386c10a9c3975f933c85404f35ff3b"
-SRC_URI[sha256sum] = "4be6f7d605cd0a690fd26e8aa83b089a33ad9d419148eafcfb60580dd2af30ff"
+SRC_URI[md5sum] = "576d69c598b3e36c73441052d02466de"
+SRC_URI[sha256sum] = "2e4ad1503fe482ceb5a83cf70ac9cd42f37eb718555a4d6844fe4c59a9214407"
 
 inherit cmake pkgconfig gobject-introspection perlnative distro_features_check upstream-version-is-even gtk-doc
 
 REQUIRED_DISTRO_FEATURES = "x11 opengl"
 
+CVE_PRODUCT = "webkitgtk webkitgtk\+"
+
 DEPENDS = "zlib libsoup-2.4 curl libxml2 cairo libxslt libxt libidn libgcrypt \
            gtk+3 gstreamer1.0 gstreamer1.0-plugins-base flex-native gperf-native sqlite3 \
 	   pango icu bison-native gawk intltool-native libwebp \
@@ -56,6 +60,7 @@
 PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen"
 # Source is at https://github.com/google/woff2
 PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2"
+PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg"
 
 EXTRA_OECMAKE = " \
 		-DPORT=GTK \
@@ -92,8 +97,6 @@
 EXTRA_OECMAKE_append_mipsarch = " -DUSE_LD_GOLD=OFF "
 EXTRA_OECMAKE_append_powerpc = " -DUSE_LD_GOLD=OFF "
 
-EXTRA_OECMAKE_append_aarch64 = " -DWTF_CPU_ARM64_CORTEXA53=ON"
-
 # JIT not supported on MIPS either
 EXTRA_OECMAKE_append_mipsarch = " -DENABLE_JIT=OFF "
 
diff --git a/poky/meta/recipes-support/apr/apr/0006-apr-fix-off_t-size-doesn-t-match-in-glibc-when-cross.patch b/poky/meta/recipes-support/apr/apr/0006-apr-fix-off_t-size-doesn-t-match-in-glibc-when-cross.patch
index 5f5e7ea..d1a2ebe 100644
--- a/poky/meta/recipes-support/apr/apr/0006-apr-fix-off_t-size-doesn-t-match-in-glibc-when-cross.patch
+++ b/poky/meta/recipes-support/apr/apr/0006-apr-fix-off_t-size-doesn-t-match-in-glibc-when-cross.patch
@@ -1,7 +1,7 @@
-From f4d6e45ed5d2ccffd1af4c2ccdf7099ba0dce137 Mon Sep 17 00:00:00 2001
+From 49661ea3858cf8494926cccf57d3e8c6dcb47117 Mon Sep 17 00:00:00 2001
 From: Dengke Du <dengke.du@windriver.com>
 Date: Wed, 14 Dec 2016 18:13:08 +0800
-Subject: [PATCH 6/7] apr: fix off_t size doesn't match in glibc when cross
+Subject: [PATCH] apr: fix off_t size doesn't match in glibc when cross
  compiling
 
 In configure.in, it contains the following:
@@ -29,15 +29,16 @@
 Signed-off-by: Dengke Du <dengke.du@windriver.com>
 
 Upstream-Status: Pending
+
 ---
  configure.in | 8 ++++----
  1 file changed, 4 insertions(+), 4 deletions(-)
 
 diff --git a/configure.in b/configure.in
-index 3b10422..a227e72 100644
+index 27b8539..fb408d1 100644
 --- a/configure.in
 +++ b/configure.in
-@@ -1769,7 +1769,7 @@ else
+@@ -1801,7 +1801,7 @@ else
      socklen_t_value="int"
  fi
  
@@ -46,25 +47,25 @@
  
  if test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_short"; then
      pid_t_fmt='#define APR_PID_T_FMT "hd"'
-@@ -1838,7 +1838,7 @@ APR_CHECK_TYPES_COMPATIBLE(ssize_t, long, [ssize_t_fmt="ld"])
- APR_CHECK_TYPES_COMPATIBLE(size_t, unsigned int, [size_t_fmt="u"])
- APR_CHECK_TYPES_COMPATIBLE(size_t, unsigned long, [size_t_fmt="lu"])
+@@ -1873,7 +1873,7 @@ APR_CHECK_TYPES_FMT_COMPATIBLE(size_t, unsigned long, lu, [size_t_fmt="lu"], [
+ APR_CHECK_TYPES_FMT_COMPATIBLE(size_t, unsigned int, u, [size_t_fmt="u"])
+ ])
  
 -APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>], ssize_t, 8)
 +AC_CHECK_SIZEOF(ssize_t)
  
+ dnl the else cases below should no longer occur;
  AC_MSG_CHECKING([which format to use for apr_ssize_t])
- if test -n "$ssize_t_fmt"; then
-@@ -1855,7 +1855,7 @@ fi
+@@ -1891,7 +1891,7 @@ fi
  
  ssize_t_fmt="#define APR_SSIZE_T_FMT \"$ssize_t_fmt\""
  
 -APR_CHECK_SIZEOF_EXTENDED([#include <stddef.h>], size_t, 8)
 +AC_CHECK_SIZEOF(size_t)
  
+ # else cases below should no longer occur;
  AC_MSG_CHECKING([which format to use for apr_size_t])
- if test -n "$size_t_fmt"; then
-@@ -1872,7 +1872,7 @@ fi
+@@ -1909,7 +1909,7 @@ fi
  
  size_t_fmt="#define APR_SIZE_T_FMT \"$size_t_fmt\""
  
@@ -73,6 +74,3 @@
  
  if test "${ac_cv_sizeof_off_t}${apr_cv_use_lfs64}" = "4yes"; then
      # Enable LFS
--- 
-1.8.3.1
-
diff --git a/poky/meta/recipes-support/apr/apr_1.6.5.bb b/poky/meta/recipes-support/apr/apr_1.7.0.bb
similarity index 96%
rename from poky/meta/recipes-support/apr/apr_1.6.5.bb
rename to poky/meta/recipes-support/apr/apr_1.7.0.bb
index 432e4ed..a58651d 100644
--- a/poky/meta/recipes-support/apr/apr_1.6.5.bb
+++ b/poky/meta/recipes-support/apr/apr_1.7.0.bb
@@ -20,8 +20,8 @@
            file://0007-explicitly-link-libapr-against-phtread-to-make-gold-.patch \
            "
 
-SRC_URI[md5sum] = "ad4add8efdfe87330b88e5e788241775"
-SRC_URI[sha256sum] = "a67ca9fcf9c4ff59bce7f428a323c8b5e18667fdea7b0ebad47d194371b0a105"
+SRC_URI[md5sum] = "7a14a83d664e87599ea25ff4432e48a7"
+SRC_URI[sha256sum] = "e2e148f0b2e99b8e5c6caa09f6d4fb4dd3e83f744aa72a952f94f5a14436f7ea"
 
 inherit autotools-brokensep lib_package binconfig multilib_header ptest
 
diff --git a/poky/meta/recipes-support/atk/at-spi2-core/meson-0.50-fix.patch b/poky/meta/recipes-support/atk/at-spi2-core/meson-0.50-fix.patch
new file mode 100644
index 0000000..fbdf7d0
--- /dev/null
+++ b/poky/meta/recipes-support/atk/at-spi2-core/meson-0.50-fix.patch
@@ -0,0 +1,31 @@
+From 44a812ea51223d82f21a098a2d45fcc5c329ce7a Mon Sep 17 00:00:00 2001
+From: Tobias Stoeckmann <tobias@stoeckmann.org>
+Date: Tue, 12 Mar 2019 11:46:24 +0100
+Subject: [PATCH] Fix meson.build for meson 0.50.0.
+
+Since meson 0.50.0 it is not possible anymore to specify an
+absolute directory for subdir. To keep current functionality,
+use install_dir instead.
+
+atspi/meson.build:60:0: ERROR: Subdir keyword must not be an absolute path.
+
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
+---
+ atspi/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/atspi/meson.build b/atspi/meson.build
+index b7a9357..2a6915d 100644
+--- a/atspi/meson.build
++++ b/atspi/meson.build
+@@ -57,7 +57,7 @@ atspi_headers = [
+ 
+ atspi_includedir = join_paths(get_option('prefix'), get_option('includedir'), 'at-spi-2.0', 'atspi')
+ 
+-install_headers(atspi_headers, subdir: atspi_includedir)
++install_headers(atspi_headers, install_dir: atspi_includedir)
+ 
+ atspi_enums = gnome.mkenums('atspi-enum-types',
+                             sources: [ 'atspi-constants.h', 'atspi-types.h' ],
diff --git a/poky/meta/recipes-support/atk/at-spi2-core_2.30.0.bb b/poky/meta/recipes-support/atk/at-spi2-core_2.30.0.bb
index d0b567a..cfe0dde 100644
--- a/poky/meta/recipes-support/atk/at-spi2-core_2.30.0.bb
+++ b/poky/meta/recipes-support/atk/at-spi2-core_2.30.0.bb
@@ -6,6 +6,7 @@
 MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
 
 SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
+           file://meson-0.50-fix.patch \
            "
 
 SRC_URI[md5sum] = "d4f22c66b3210ffe6b10d01c04e008b5"
@@ -21,17 +22,11 @@
 EXTRA_OEMESON = " -Dsystemd_user_dir=${systemd_user_unitdir} \
                   -Ddbus_daemon=${bindir}/dbus-daemon"
 
-GTKDOC_ENABLE_FLAG = "-Denable_docs=true"
-GTKDOC_DISABLE_FLAG = "-Denable_docs=false"
+GTKDOC_MESON_OPTION = "enable_docs"
 
-GI_ENABLE_FLAG = "-Denable-introspection=yes"
-GI_DISABLE_FLAG = "-Denable-introspection=no"
-
-EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
-                                                                                       '${GI_DISABLE_FLAG}', d)} "
-
-EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
-                                                                                     '${GTKDOC_DISABLE_FLAG}', d)} "
+GIR_MESON_OPTION = 'enable-introspection'
+GIR_MESON_ENABLE_FLAG = 'yes'
+GIR_MESON_DISABLE_FLAG = 'no'
 
 FILES_${PN} += "${datadir}/dbus-1/services/*.service \
                 ${datadir}/dbus-1/accessibility-services/*.service \
diff --git a/poky/meta/recipes-support/atk/atk_2.30.0.bb b/poky/meta/recipes-support/atk/atk_2.30.0.bb
index 4e2dacb..4e22b3f 100644
--- a/poky/meta/recipes-support/atk/atk_2.30.0.bb
+++ b/poky/meta/recipes-support/atk/atk_2.30.0.bb
@@ -14,20 +14,6 @@
 GNOMEBASEBUILDCLASS = "meson"
 inherit gnomebase gtk-doc gettext upstream-version-is-even gobject-introspection
 
-GTKDOC_ENABLE_FLAG = "-Ddocs=true"
-GTKDOC_DISABLE_FLAG = "-Ddocs=false"
-
-GI_ENABLE_FLAG = "-Dintrospection=true"
-GI_DISABLE_FLAG = "-Dintrospection=false"
-
-EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}"
-
-EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
-                                                                                       '${GI_DISABLE_FLAG}', d)} "
-
-EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
-                                                                                     '${GTKDOC_DISABLE_FLAG}', d)} "
-
 SRC_URI_append = " \
                    file://0001-meson.build-enable-introspection-for-cross-compile.patch \
                    file://0001-Switch-from-filename-to-basename.patch \
diff --git a/poky/meta/recipes-support/curl/curl_7.64.0.bb b/poky/meta/recipes-support/curl/curl_7.64.1.bb
similarity index 95%
rename from poky/meta/recipes-support/curl/curl_7.64.0.bb
rename to poky/meta/recipes-support/curl/curl_7.64.1.bb
index a1b5e7d..47c28be 100644
--- a/poky/meta/recipes-support/curl/curl_7.64.0.bb
+++ b/poky/meta/recipes-support/curl/curl_7.64.1.bb
@@ -9,8 +9,8 @@
            file://0001-replace-krb5-config-with-pkg-config.patch \
 "
 
-SRC_URI[md5sum] = "d0bcc586873cfef08b4b9594e5395a33"
-SRC_URI[sha256sum] = "d573ba1c2d1cf9d8533fadcce480d778417964e8d04ccddcc76e591d544cf2eb"
+SRC_URI[md5sum] = "790c101927845208a9d7e8c429ddd1b2"
+SRC_URI[sha256sum] = "4cc7c738b35250d0680f29e93e0820c4cb40035f43514ea3ec8d60322d41a45d"
 
 CVE_PRODUCT = "curl libcurl"
 inherit autotools pkgconfig binconfig multilib_header
diff --git a/poky/meta/recipes-support/gnupg/gnupg/0001-Woverride-init-is-not-needed-with-gcc-9.patch b/poky/meta/recipes-support/gnupg/gnupg/0001-Woverride-init-is-not-needed-with-gcc-9.patch
index 4a280f9..83195b5 100644
--- a/poky/meta/recipes-support/gnupg/gnupg/0001-Woverride-init-is-not-needed-with-gcc-9.patch
+++ b/poky/meta/recipes-support/gnupg/gnupg/0001-Woverride-init-is-not-needed-with-gcc-9.patch
@@ -1,4 +1,4 @@
-From 0df5800cc2e720aad883a517f7d24a9722fe5845 Mon Sep 17 00:00:00 2001
+From e3adc816d2d56dd929016073937ba24e01e03cb8 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 20 Dec 2018 17:37:48 -0800
 Subject: [PATCH] Woverride-init is not needed with gcc 9
@@ -17,15 +17,18 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/dirmngr/dns.h b/dirmngr/dns.h
-index 30d0b45..98fe412 100644
+index 024d6dcc8..c6e141e16 100644
 --- a/dirmngr/dns.h
 +++ b/dirmngr/dns.h
-@@ -154,7 +154,7 @@ DNS_PUBLIC int *dns_debug_p(void);
+@@ -139,7 +139,7 @@ DNS_PUBLIC int *dns_debug_p(void);
+ #define DNS_PRAGMA_QUIET _Pragma("clang diagnostic ignored \"-Winitializer-overrides\"")
+ #define DNS_PRAGMA_POP _Pragma("clang diagnostic pop")
  
- #define dns_quietinit(...) \
- 	DNS_PRAGMA_PUSH DNS_PRAGMA_QUIET __VA_ARGS__ DNS_PRAGMA_POP
 -#elif (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4
 +#elif (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || (__GNUC__ > 4 && __GNUC__ < 9)
  #define DNS_PRAGMA_PUSH _Pragma("GCC diagnostic push")
  #define DNS_PRAGMA_QUIET _Pragma("GCC diagnostic ignored \"-Woverride-init\"")
  #define DNS_PRAGMA_POP _Pragma("GCC diagnostic pop")
+-- 
+2.17.1
+
diff --git a/poky/meta/recipes-support/gnupg/gnupg_2.2.13.bb b/poky/meta/recipes-support/gnupg/gnupg_2.2.15.bb
similarity index 92%
rename from poky/meta/recipes-support/gnupg/gnupg_2.2.13.bb
rename to poky/meta/recipes-support/gnupg/gnupg_2.2.15.bb
index 3ce2a38..06a2573 100644
--- a/poky/meta/recipes-support/gnupg/gnupg_2.2.13.bb
+++ b/poky/meta/recipes-support/gnupg/gnupg_2.2.15.bb
@@ -20,8 +20,8 @@
                                 file://relocate.patch"
 
 
-SRC_URI[md5sum] = "563b959d0c3856e34526e9ca51c80d7b"
-SRC_URI[sha256sum] = "76c787a955f9e6e0ead47c9be700bfb9d454f955a7b7c7e697aa719bac7b11d8"
+SRC_URI[md5sum] = "3ab87e377aa0af2f463649515bf66508"
+SRC_URI[sha256sum] = "cb8ce298d7b36558ffc48aec961b14c830ff1783eef7a623411188b5e0f5d454"
 
 EXTRA_OECONF = "--disable-ldap \
 		--disable-ccid-driver \
diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.6.5.bb b/poky/meta/recipes-support/gnutls/gnutls_3.6.7.bb
similarity index 88%
rename from poky/meta/recipes-support/gnutls/gnutls_3.6.5.bb
rename to poky/meta/recipes-support/gnutls/gnutls_3.6.7.bb
index dfc3507..e05dc2b 100644
--- a/poky/meta/recipes-support/gnutls/gnutls_3.6.5.bb
+++ b/poky/meta/recipes-support/gnutls/gnutls_3.6.7.bb
@@ -9,7 +9,7 @@
 LICENSE_${PN}-openssl = "GPLv3+"
 
 LIC_FILES_CHKSUM = "file://LICENSE;md5=71391c8e0c1cfe68077e7fce3b586283 \
-                    file://doc/COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+                    file://doc/COPYING;md5=c678957b0c8e964aa6c70fd77641a71e \
                     file://doc/COPYING.LESSER;md5=a6f89e2100d9b6cdffcea4f398e37343"
 
 DEPENDS = "nettle gmp virtual/libiconv libunistring"
@@ -21,8 +21,8 @@
            file://arm_eabi.patch \
 "
 
-SRC_URI[md5sum] = "3474849e1bbd4d16403b82ab2579000b"
-SRC_URI[sha256sum] = "073eced3acef49a3883e69ffd5f0f0b5f46e2760ad86eddc6c0866df4e7abb35"
+SRC_URI[md5sum] = "c4ac669c500df939d4fbfea722367929"
+SRC_URI[sha256sum] = "5b3409ad5aaf239808730d1ee12fdcd148c0be00262c7edf157af655a8a188e2"
 
 inherit autotools texinfo pkgconfig gettext lib_package gtk-doc
 
@@ -44,7 +44,6 @@
     --enable-local-libopts \
     --enable-openssl-compatibility \
     --with-libpthread-prefix=${STAGING_DIR_HOST}${prefix} \
-    --without-libunistring-prefix \
 "
 
 LDFLAGS_append_libc-musl = " -largp"
diff --git a/poky/meta/recipes-support/gpgme/gpgme/0001-Revert-build-Make-gpgme.m4-use-gpgrt-config-with-.pc.patch b/poky/meta/recipes-support/gpgme/gpgme/0001-Revert-build-Make-gpgme.m4-use-gpgrt-config-with-.pc.patch
new file mode 100644
index 0000000..0ed4eb6
--- /dev/null
+++ b/poky/meta/recipes-support/gpgme/gpgme/0001-Revert-build-Make-gpgme.m4-use-gpgrt-config-with-.pc.patch
@@ -0,0 +1,134 @@
+From a001b3c23bf80fd752044615b9bba6b926ff9666 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 10 May 2019 14:18:04 +0800
+Subject: [PATCH] Revert "build: Make gpgme.m4 use gpgrt-config with *.pc."
+
+This reverts commit 60828a505a1c74fd34476c181df2a588ea6f9c83.
+
+The oe-core does not support gpgrt-config, so revert it
+
+Upstream-Status: Inappropriate [oe-core specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ src/gpgme.m4 | 58 ++++++++++------------------------------------------------
+ 1 file changed, 10 insertions(+), 48 deletions(-)
+
+diff --git a/src/gpgme.m4 b/src/gpgme.m4
+index 2a72f18..6c2be44 100644
+--- a/src/gpgme.m4
++++ b/src/gpgme.m4
+@@ -1,5 +1,5 @@
+ # gpgme.m4 - autoconf macro to detect GPGME.
+-# Copyright (C) 2002, 2003, 2004, 2014, 2018 g10 Code GmbH
++# Copyright (C) 2002, 2003, 2004, 2014 g10 Code GmbH
+ #
+ # This file is free software; as a special exception the author gives
+ # unlimited permission to copy and/or distribute it, with or without
+@@ -9,7 +9,7 @@
+ # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+ # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ #
+-# Last-changed: 2018-11-12
++# Last-changed: 2014-10-02
+ 
+ 
+ AC_DEFUN([_AM_PATH_GPGME_CONFIG],
+@@ -36,24 +36,10 @@ AC_DEFUN([_AM_PATH_GPGME_CONFIG],
+      fi
+   fi
+ 
+-  use_gpgrt_config=""
+-  if test x"${GPGME_CONFIG}" = x -a x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then
+-    if $GPGRT_CONFIG gpgme --exists; then
+-      GPGME_CONFIG="$GPGRT_CONFIG gpgme"
+-      AC_MSG_NOTICE([Use gpgrt-config as gpgme-config])
+-      use_gpgrt_config=yes
+-    fi
+-  fi
+-  if test -z "$use_gpgrt_config"; then
+-    AC_PATH_PROG(GPGME_CONFIG, gpgme-config, no)
+-  fi
++  AC_PATH_PROG(GPGME_CONFIG, gpgme-config, no)
+ 
+   if test "$GPGME_CONFIG" != "no" ; then
+-    if test -z "$use_gpgrt_config"; then
+-      gpgme_version=`$GPGME_CONFIG --version`
+-    else
+-      gpgme_version=`$GPGME_CONFIG --modversion`
+-    fi
++    gpgme_version=`$GPGME_CONFIG --version`
+   fi
+   gpgme_version_major=`echo $gpgme_version | \
+                sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
+@@ -66,16 +52,12 @@ AC_DEFUN([_AM_PATH_GPGME_CONFIG],
+ 
+ AC_DEFUN([_AM_PATH_GPGME_CONFIG_HOST_CHECK],
+ [
+-    if test -z "$use_gpgrt_config"; then
+-      gpgme_config_host=`$GPGME_CONFIG --host 2>/dev/null || echo none`
+-    else
+-      gpgme_config_host=`$GPGME_CONFIG --variable=host 2>/dev/null || echo none`
+-    fi
++    gpgme_config_host=`$GPGME_CONFIG --host 2>/dev/null || echo none`
+     if test x"$gpgme_config_host" != xnone ; then
+       if test x"$gpgme_config_host" != x"$host" ; then
+   AC_MSG_WARN([[
+ ***
+-*** The config script "$GPGME_CONFIG" was
++*** The config script $GPGME_CONFIG was
+ *** built for $gpgme_config_host and thus may not match the
+ *** used host $host.
+ *** You may want to use the configure option --with-gpgme-prefix
+@@ -136,11 +118,7 @@ AC_DEFUN([AM_PATH_GPGME],
+      # If we have a recent GPGME, we should also check that the
+      # API is compatible.
+      if test "$req_gpgme_api" -gt 0 ; then
+-        if test -z "$use_gpgrt_config"; then
+-          tmp=`$GPGME_CONFIG --api-version 2>/dev/null || echo 0`
+-        else
+-          tmp=`$GPGME_CONFIG --variable=api_version 2>/dev/null || echo 0`
+-        fi
++        tmp=`$GPGME_CONFIG --api-version 2>/dev/null || echo 0`
+         if test "$tmp" -gt 0 ; then
+            if test "$req_gpgme_api" -ne "$tmp" ; then
+              ok=no
+@@ -280,11 +258,7 @@ AC_DEFUN([AM_PATH_GPGME_GLIB],
+      # If we have a recent GPGME, we should also check that the
+      # API is compatible.
+      if test "$req_gpgme_api" -gt 0 ; then
+-        if test -z "$use_gpgrt_config"; then
+-          tmp=`$GPGME_CONFIG --api-version 2>/dev/null || echo 0`
+-        else
+-          tmp=`$GPGME_CONFIG --variable=api_version 2>/dev/null || echo 0`
+-        fi
++        tmp=`$GPGME_CONFIG --api-version 2>/dev/null || echo 0`
+         if test "$tmp" -gt 0 ; then
+            if test "$req_gpgme_api" -ne "$tmp" ; then
+              ok=no
+@@ -293,20 +267,8 @@ AC_DEFUN([AM_PATH_GPGME_GLIB],
+      fi
+   fi
+   if test $ok = yes; then
+-    if test -z "$use_gpgrt_config"; then
+-      GPGME_GLIB_CFLAGS=`$GPGME_CONFIG --glib --cflags`
+-      GPGME_GLIB_LIBS=`$GPGME_CONFIG --glib --libs`
+-    else
+-      if $GPGRT_CONFIG gpgme-glib --exists; then
+-        GPGME_CONFIG="$GPGRT_CONFIG gpgme-glib"
+-        GPGME_GLIB_CFLAGS=`$GPGME_CONFIG --cflags`
+-        GPGME_GLIB_LIBS=`$GPGME_CONFIG --libs`
+-      else
+-        ok = no
+-      fi
+-    fi
+-  fi
+-  if test $ok = yes; then
++    GPGME_GLIB_CFLAGS=`$GPGME_CONFIG --glib --cflags`
++    GPGME_GLIB_LIBS=`$GPGME_CONFIG --glib --libs`
+     AC_MSG_RESULT(yes)
+     ifelse([$2], , :, [$2])
+     _AM_PATH_GPGME_CONFIG_HOST_CHECK
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch b/poky/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch
index 176723c..827d95a 100644
--- a/poky/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch
+++ b/poky/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch
@@ -1,7 +1,7 @@
-From 6492c952d61bb93a8bf8200c093d7e491456aa5a Mon Sep 17 00:00:00 2001
+From 98ce65902b197faa8f660564613ca2e504c2f8f8 Mon Sep 17 00:00:00 2001
 From: Richard Purdie <richard.purdie@linuxfoundation.org>
-Date: Fri, 29 Jun 2018 14:35:41 +0800
-Subject: [PATCH 1/7] pkgconfig
+Date: Fri, 10 May 2019 14:23:55 +0800
+Subject: [PATCH] pkgconfig
 
 Update gpgme to use pkgconfig instead of -config files since its
 simpler and less error prone when cross compiling.
@@ -11,7 +11,7 @@
 
 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
 
-Rebase to 1.11.1
+Rebase to 1.13.0
 
 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
 ---
@@ -19,43 +19,40 @@
  src/Makefile.am         |   4 +-
  src/gpgme-pthread.pc.in |  15 +++++++
  src/gpgme.m4            | 114 ++++--------------------------------------------
- src/gpgme.pc.in         |  15 +++++++
- 5 files changed, 42 insertions(+), 107 deletions(-)
+ src/gpgme.pc.in         |   4 +-
+ 5 files changed, 28 insertions(+), 110 deletions(-)
  create mode 100644 src/gpgme-pthread.pc.in
- create mode 100644 src/gpgme.pc.in
 
 diff --git a/configure.ac b/configure.ac
-index af569ac..865bd10 100644
+index 25184f4..1c0a386 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -895,6 +895,7 @@ AC_CONFIG_FILES(Makefile src/Makefile
-                 src/versioninfo.rc
+@@ -899,6 +899,7 @@ AC_CONFIG_FILES(Makefile src/Makefile
+                 src/gpgme-glib.pc
                  src/gpgme.h)
  AC_CONFIG_FILES(src/gpgme-config, chmod +x src/gpgme-config)
-+AC_CONFIG_FILES(src/gpgme.pc src/gpgme-pthread.pc)
++AC_CONFIG_FILES(src/gpgme-pthread.pc)
  AC_CONFIG_FILES(lang/cpp/Makefile lang/cpp/src/Makefile)
+ AC_CONFIG_FILES(lang/cpp/tests/Makefile)
  AC_CONFIG_FILES(lang/cpp/src/GpgmeppConfig-w32.cmake.in)
- AC_CONFIG_FILES(lang/cpp/src/GpgmeppConfig.cmake.in)
 diff --git a/src/Makefile.am b/src/Makefile.am
-index 1394c02..8451c3a 100644
+index d85a85c..d942f3e 100644
 --- a/src/Makefile.am
 +++ b/src/Makefile.am
-@@ -19,12 +19,14 @@
+@@ -20,11 +20,11 @@
  ## Process this file with automake to produce Makefile.in
  
+ pkgconfigdir = $(libdir)/pkgconfig
+-pkgconfig_DATA = gpgme.pc gpgme-glib.pc
++pkgconfig_DATA = gpgme.pc gpgme-glib.pc gpgme-pthread.pc
+ 
  EXTRA_DIST = gpgme-config.in gpgme.m4 libgpgme.vers ChangeLog-2011 \
--	     gpgme.h.in versioninfo.rc.in gpgme.def
-+	     gpgme.h.in versioninfo.rc.in gpgme.def gpgme.pc.in gpgme-pthread.pc.in
+ 	     gpgme.h.in versioninfo.rc.in gpgme.def \
+-	     gpgme.pc.in gpgme-glib.pc.in
++	     gpgme.pc.in gpgme-glib.pc.in gpgme-pthread.pc.in
  
  bin_SCRIPTS = gpgme-config
  m4datadir = $(datadir)/aclocal
- m4data_DATA = gpgme.m4
- nodist_include_HEADERS = gpgme.h
-+pkgconfigdir = $(libdir)/pkgconfig
-+pkgconfig_DATA = gpgme.pc gpgme-pthread.pc
- 
- bin_PROGRAMS = gpgme-tool gpgme-json
- 
 diff --git a/src/gpgme-pthread.pc.in b/src/gpgme-pthread.pc.in
 new file mode 100644
 index 0000000..074bbf6
@@ -277,27 +274,18 @@
 -  AC_SUBST(GPGME_GLIB_LIBS)
  ])
 diff --git a/src/gpgme.pc.in b/src/gpgme.pc.in
-new file mode 100644
-index 0000000..b69539f
---- /dev/null
+index be288b8..16f56ac 100644
+--- a/src/gpgme.pc.in
 +++ b/src/gpgme.pc.in
-@@ -0,0 +1,15 @@
-+prefix=@prefix@
-+exec_prefix=@exec_prefix@
-+libdir=@libdir@
-+includedir=@includedir@
-+
-+# API info
-+api_version=@GPGME_CONFIG_API_VERSION@
-+host=@GPGME_CONFIG_HOST@
-+
-+Name: gpgme
-+Description: GnuPG Made Easy (GPGME) is a C language library that allows to addsupport for cryptography to a program.
-+Version: @VERSION@
-+Libs: -L${libdir} -lgpgme
+@@ -9,6 +9,6 @@ Name: gpgme
+ Description: GnuPG Made Easy to access GnuPG
+ Requires: gpg-error, libassuan
+ Version: @PACKAGE_VERSION@
+-Cflags: @GPGME_CONFIG_CFLAGS@
+-Libs: @GPGME_CONFIG_LIBS@
 +Cflags: -I${includedir}
-+Requires: libassuan gpg-error
-\ No newline at end of file
++Libs: -L${libdir} -lgpgme
+ URL: https://www.gnupg.org/software/gpgme/index.html
 -- 
 2.7.4
 
diff --git a/poky/meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch b/poky/meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch
index 0d0d0c6..ecd1793 100644
--- a/poky/meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch
+++ b/poky/meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch
@@ -1,6 +1,6 @@
-From 03819ad1270a279223219c0e70ba631bfe517714 Mon Sep 17 00:00:00 2001
+From 52f8fd2010b900c7d382a7c4e6c1a317d8160585 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 17 Oct 2018 23:32:19 +0800
+Date: Fri, 10 May 2019 14:30:36 +0800
 Subject: [PATCH 2/7] gpgme/lang/python: gpg-error-config should not be used
 
 gpg-error-config was modified by OE to always return an error.
@@ -11,39 +11,38 @@
 
 Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
 
-Rebase to 1.12.0
+Rebase to 1.13.0
 
 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
 ---
- lang/python/setup.py.in | 11 +----------
- 1 file changed, 1 insertion(+), 10 deletions(-)
+ lang/python/setup.py.in | 9 +--------
+ 1 file changed, 1 insertion(+), 8 deletions(-)
 
 diff --git a/lang/python/setup.py.in b/lang/python/setup.py.in
-index 65a4be0..11b8413 100755
+index 9785a28..006216d 100755
 --- a/lang/python/setup.py.in
 +++ b/lang/python/setup.py.in
 @@ -30,7 +30,6 @@ import subprocess
  import sys
  
  # Out-of-tree build of the gpg bindings.
--gpg_error_config = ["gpg-error-config"]
- gpgme_config_flags = ["--thread=pthread"]
- gpgme_config = ["gpgme-config"] + gpgme_config_flags
- gpgme_h = ""
-@@ -181,16 +180,8 @@ class BuildExtFirstHack(build):
-         shutil.copy2(source_name, sink_name)
+-gpg_error_config = ['gpg-error-config']
+ gpgme_config_flags = ['--thread=pthread']
+ gpgme_config = ['gpgme-config'] + gpgme_config_flags
+ gpgme_h = ''
+@@ -182,15 +181,9 @@ class BuildExtFirstHack(build):
  
      def _generate_errors_i(self):
--
+ 
 -        try:
 -            subprocess.check_call(
 -                gpg_error_config + ['--version'], stdout=devnull)
 -        except:
--            sys.exit("Could not find gpg-error-config.  " +
--                     "Please install the libgpg-error development package.")
--
+-            sys.exit('Could not find gpg-error-config.  ' +
+-                     'Please install the libgpg-error development package.')
+ 
          gpg_error_content = self._read_header(
--            "gpg-error.h", getconfig("cflags", config=gpg_error_config))
+-            'gpg-error.h', getconfig('cflags', config=gpg_error_config))
 +            "gpg-error.h", os.environ.get('CFLAGS').split())
  
          filter_re = re.compile(r'GPG_ERR_[^ ]* =')
diff --git a/poky/meta/recipes-support/gpgme/gpgme/0008-do-not-auto-check-var-PYTHON.patch b/poky/meta/recipes-support/gpgme/gpgme/0008-do-not-auto-check-var-PYTHON.patch
new file mode 100644
index 0000000..3afbfc8
--- /dev/null
+++ b/poky/meta/recipes-support/gpgme/gpgme/0008-do-not-auto-check-var-PYTHON.patch
@@ -0,0 +1,36 @@
+From fc3d9cc218e60582fd158d21a1cd537a3dc1b007 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 10 May 2019 16:19:54 +0800
+Subject: [PATCH] do not auto check var-PYTHON
+
+Upstream auto check the version of python rather than specify option
+[ff6ff61 python: Auto-check for all installed python versions.]
+
+In oe-core, don't check var-PYTHON, use the setting from recipe,
+only check specific python 2.7 and 3.7
+
+Upstream-Status: Inappropriate [oe-core specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index cb2f073..7d74a6d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -423,8 +423,8 @@ if test "$found_py" = "1"; then
+ 	if test "$found_py" = "1" -o "$found_py3" = "1"; then
+ 	  # Reset everything, so that we can look for another Python.
+           m4_foreach([mym4pythonver],
+-                     [[2.7],[3.4],[3.5],[3.6],[3.7],[3.8],[all]],
+-           [unset PYTHON
++                     [[2.7],[3.7]],
++           [
+ 	    unset PYTHON_VERSION
+ 	    unset PYTHON_CPPFLAGS
+ 	    unset PYTHON_LDFLAGS
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-support/gpgme/gpgme_1.12.0.bb b/poky/meta/recipes-support/gpgme/gpgme_1.13.0.bb
similarity index 87%
rename from poky/meta/recipes-support/gpgme/gpgme_1.12.0.bb
rename to poky/meta/recipes-support/gpgme/gpgme_1.13.0.bb
index b46c5fc..cbd37da 100644
--- a/poky/meta/recipes-support/gpgme/gpgme_1.12.0.bb
+++ b/poky/meta/recipes-support/gpgme/gpgme_1.13.0.bb
@@ -6,11 +6,12 @@
 LICENSE = "GPLv2+ & LGPLv2.1+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
                     file://COPYING.LESSER;md5=bbb461211a33b134d42ed5ee802b37ff \
-                    file://src/gpgme.h.in;endline=23;md5=4d6319e587fd944adfe61a41a8f15b36 \
+                    file://src/gpgme.h.in;endline=23;md5=2f0bf06d1c7dcb28532a9d0f94a7ca1d \
                     file://src/engine.h;endline=22;md5=4b6d8ba313d9b564cc4d4cfb1640af9d"
 
 UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html"
 SRC_URI = "${GNUPG_MIRROR}/gpgme/${BP}.tar.bz2 \
+           file://0001-Revert-build-Make-gpgme.m4-use-gpgrt-config-with-.pc.patch \
            file://0001-pkgconfig.patch \
            file://0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch \
            file://0003-Correctly-install-python-modules.patch \
@@ -18,10 +19,11 @@
            file://0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch \
            file://0006-fix-build-path-issue.patch \
            file://0007-python-Add-variables-to-tests.patch \
+           file://0008-do-not-auto-check-var-PYTHON.patch \
           "
 
-SRC_URI[md5sum] = "902fca3a94907efe4e929b2ade545a7c"
-SRC_URI[sha256sum] = "b4dc951c3743a60e2e120a77892e9e864fb936b2e58e7c77e8581f4d050e8cd8"
+SRC_URI[md5sum] = "e511a0d95c507ab87e713140c82fc7d0"
+SRC_URI[sha256sum] = "d4b23e47a9e784a63e029338cce0464a82ce0ae4af852886afda410f9e39c630"
 
 DEPENDS = "libgpg-error libassuan"
 RDEPENDS_${PN}-cpp += "libstdc++"
@@ -44,9 +46,7 @@
 # support. Since these bindings are currently not needed, we can disable them.
 DEFAULT_LANGUAGES = ""
 DEFAULT_LANGUAGES_class-target = "cpp"
-LANGUAGES ?= "${DEFAULT_LANGUAGES}"
-LANGUAGES .= "${@bb.utils.contains('PACKAGECONFIG', 'python2', ' python2', '', d)}"
-LANGUAGES .= "${@bb.utils.contains('PACKAGECONFIG', 'python3', ' python3', '', d)}"
+LANGUAGES ?= "${DEFAULT_LANGUAGES} python"
 
 PYTHON_INHERIT = "${@bb.utils.contains('PACKAGECONFIG', 'python2', 'pythonnative', '', d)}"
 PYTHON_INHERIT .= "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native', '', d)}"
diff --git a/poky/meta/recipes-support/icu/icu/0001-Fix-big-endian-build.patch b/poky/meta/recipes-support/icu/icu/0001-Fix-big-endian-build.patch
new file mode 100644
index 0000000..efb27ae
--- /dev/null
+++ b/poky/meta/recipes-support/icu/icu/0001-Fix-big-endian-build.patch
@@ -0,0 +1,28 @@
+From 9be0b489a94b57419202c552022f25cb95bfac51 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 17 Apr 2019 16:41:58 +0200
+Subject: [PATCH] Fix big-endian build
+
+Bug-report: https://unicode-org.atlassian.net/browse/ICU-20533
+Patch taken from: https://bugs.gentoo.org/682170
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ data/Makefile.in | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/source/data/Makefile.in b/source/data/Makefile.in
+index 778b6c7..67203e7 100644
+--- a/data/Makefile.in
++++ b/data/Makefile.in
+@@ -148,7 +148,8 @@ ICUDATA_ARCHIVE = $(firstword $(wildcard $(srcdir)/in/$(ICUDATA_BASENAME_VERSION
+ # and convert it to the current type.
+ ifneq ($(ICUDATA_ARCHIVE),)
+ ICUDATA_SOURCE_ARCHIVE = $(OUTDIR)/$(ICUDATA_PLATFORM_NAME).dat
+-$(ICUDATA_SOURCE_ARCHIVE): $(ICUDATA_ARCHIVE) $(OUTDIR)
++$(ICUDATA_SOURCE_ARCHIVE): $(ICUDATA_ARCHIVE)
++	$(MKINSTALLDIRS) $(OUTDIR)
+ 	$(INVOKE) $(TOOLBINDIR)/icupkg -t$(ICUDATA_CHAR) $(ICUDATA_ARCHIVE) $(ICUDATA_SOURCE_ARCHIVE)
+ endif
+ else
diff --git a/poky/meta/recipes-support/icu/icu/0001-icu-Added-armeb-support.patch b/poky/meta/recipes-support/icu/icu/0001-icu-Added-armeb-support.patch
new file mode 100644
index 0000000..299689d
--- /dev/null
+++ b/poky/meta/recipes-support/icu/icu/0001-icu-Added-armeb-support.patch
@@ -0,0 +1,30 @@
+From 500321387ceca48934bb0f323779117cd518bab6 Mon Sep 17 00:00:00 2001
+From: Lei Maohui <leimaohui@cn.fujitsu.com>
+Date: Wed, 8 May 2019 14:42:30 +0900
+Subject: [PATCH] icu: Added armeb support.
+
+Make icu support arm32 BE.
+
+Upstream-Status: Pending
+
+Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
+---
+ i18n/double-conversion-utils.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/i18n/double-conversion-utils.h b/i18n/double-conversion-utils.h
+index 1e44fca..e4f2a8b 100644
+--- a/i18n/double-conversion-utils.h
++++ b/i18n/double-conversion-utils.h
+@@ -92,7 +92,7 @@ int main(int argc, char** argv) {
+ //
+ // If it prints "correct" then the architecture should be here, in the "correct" section.
+ #if defined(_M_X64) || defined(__x86_64__) || \
+-    defined(__ARMEL__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \
++    defined(__arm__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \
+     defined(__hppa__) || defined(__ia64__) || \
+     defined(__mips__) || \
+     defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \
+-- 
+2.7.4
+
diff --git a/poky/meta/recipes-support/icu/icu/0002-Add-ARC-support.patch b/poky/meta/recipes-support/icu/icu/0002-Add-ARC-support.patch
deleted file mode 100644
index 20e3d83..0000000
--- a/poky/meta/recipes-support/icu/icu/0002-Add-ARC-support.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From fcfd57105b4bdb30d906df152ef01748fa95daff Mon Sep 17 00:00:00 2001
-From: Alexey Brodkin <abrodkin@synopsys.com>
-Date: Thu, 13 Sep 2018 17:13:20 +0300
-Subject: [PATCH] icu: Add ARC support
-
-Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
-
-Upstream-Status: Submitted [ https://github.com/unicode-org/icu/pull/149 ]
----
- i18n/double-conversion-utils.h                 | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/i18n/double-conversion-utils.h b/i18n/double-conversion-utils.h
-index 57fc49b231a3..0bd3e8340673 100644
---- a/i18n/double-conversion-utils.h
-+++ b/i18n/double-conversion-utils.h
-@@ -86,7 +86,7 @@ inline void abort_noreturn() { abort(); }
-     defined(__SH4__) || defined(__alpha__) || \
-     defined(_MIPS_ARCH_MIPS32R2) || \
-     defined(__AARCH64EL__) || defined(__aarch64__) || \
--    defined(__riscv)
-+    defined(__riscv) || defined(__arc__)
- #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
- #elif defined(__mc68000__)
- #undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS
-2.17.1
-
diff --git a/poky/meta/recipes-support/icu/icu/CVE-2018-18928.patch b/poky/meta/recipes-support/icu/icu/CVE-2018-18928.patch
deleted file mode 100644
index 19c50e4..0000000
--- a/poky/meta/recipes-support/icu/icu/CVE-2018-18928.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-CVE: CVE-2018-18928
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 53d8c8f3d181d87a6aa925b449b51c4a2c922a51 Mon Sep 17 00:00:00 2001
-From: Shane Carr <shane@unicode.org>
-Date: Mon, 29 Oct 2018 23:52:44 -0700
-Subject: [PATCH] ICU-20246 Fixing another integer overflow in number parsing.
-
----
- i18n/fmtable.cpp                          |  2 +-
- i18n/number_decimalquantity.cpp           |  5 ++++-
- test/intltest/numfmtst.cpp                |  8 ++++++++
- 6 files changed, 31 insertions(+), 4 deletions(-)
-
-diff --git a/i18n/fmtable.cpp b/i18n/fmtable.cpp
-index 45c7024fc29..8601d95f4a6 100644
---- a/i18n/fmtable.cpp
-+++ b/i18n/fmtable.cpp
-@@ -734,7 +734,7 @@ CharString *Formattable::internalGetCharString(UErrorCode &status) {
-       // not print scientific notation for magnitudes greater than -5 and smaller than some amount (+5?).
-       if (fDecimalQuantity->isZero()) {
-         fDecimalStr->append("0", -1, status);
--      } else if (std::abs(fDecimalQuantity->getMagnitude()) < 5) {
-+      } else if (fDecimalQuantity->getMagnitude() != INT32_MIN && std::abs(fDecimalQuantity->getMagnitude()) < 5) {
-         fDecimalStr->appendInvariantChars(fDecimalQuantity->toPlainString(), status);
-       } else {
-         fDecimalStr->appendInvariantChars(fDecimalQuantity->toScientificString(), status);
-diff --git a/i18n/number_decimalquantity.cpp b/i18n/number_decimalquantity.cpp
-index 47b930a564b..d5dd7ae694c 100644
---- a/i18n/number_decimalquantity.cpp
-+++ b/i18n/number_decimalquantity.cpp
-@@ -898,7 +898,10 @@ UnicodeString DecimalQuantity::toScientificString() const {
-     }
-     result.append(u'E');
-     int32_t _scale = upperPos + scale;
--    if (_scale < 0) {
-+    if (_scale == INT32_MIN) {
-+        result.append({u"-2147483648", -1});
-+        return result;
-+    } else if (_scale < 0) {
-         _scale *= -1;
-         result.append(u'-');
-     } else {
-diff --git a/test/intltest/numfmtst.cpp b/test/intltest/numfmtst.cpp
-index 34355939113..8d52dc122bf 100644
---- a/test/intltest/numfmtst.cpp
-+++ b/test/intltest/numfmtst.cpp
-@@ -9226,6 +9226,14 @@ void NumberFormatTest::Test20037_ScientificIntegerOverflow() {
-     assertEquals(u"Should not overflow and should parse only the first exponent",
-                  u"1E-2147483647",
-                  {sp.data(), sp.length(), US_INV});
-+
-+    // Test edge case overflow of exponent
-+    result = Formattable();
-+    nf->parse(u".0003e-2147483644", result, status);
-+    sp = result.getDecimalNumber(status);
-+    assertEquals(u"Should not overflow",
-+                 u"3E-2147483648",
-+                 {sp.data(), sp.length(), US_INV});
- }
- 
- void NumberFormatTest::Test13840_ParseLongStringCrash() {
diff --git a/poky/meta/recipes-support/icu/icu_63.1.bb b/poky/meta/recipes-support/icu/icu_64.2.bb
similarity index 69%
rename from poky/meta/recipes-support/icu/icu_63.1.bb
rename to poky/meta/recipes-support/icu/icu_64.2.bb
index 961f022..10bac7a 100644
--- a/poky/meta/recipes-support/icu/icu_63.1.bb
+++ b/poky/meta/recipes-support/icu/icu_64.2.bb
@@ -1,6 +1,6 @@
 require icu.inc
 
-LIC_FILES_CHKSUM = "file://../LICENSE;md5=63752c57bd0b365c9af9f427ef79c819"
+LIC_FILES_CHKSUM = "file://../LICENSE;md5=8bc5d32052a96f214cbdd1e53dfc935d"
 
 def icu_download_version(d):
     pvsplit = d.getVar('PV').split('.')
@@ -16,15 +16,15 @@
 SRC_URI = "${BASE_SRC_URI} \
            file://icu-pkgdata-large-cmd.patch \
            file://fix-install-manx.patch \
-           file://0002-Add-ARC-support.patch \
-           file://CVE-2018-18928.patch \
+           file://0001-Fix-big-endian-build.patch \
+           file://0001-icu-Added-armeb-support.patch \
            "
 
 SRC_URI_append_class-target = "\
            file://0001-Disable-LDFLAGSICUDT-for-Linux.patch \
           "
-SRC_URI[md5sum] = "9e40f6055294284df958200e308bce50"
-SRC_URI[sha256sum] = "05c490b69454fce5860b7e8e2821231674af0a11d7ef2febea9a32512998cb9d"
+SRC_URI[md5sum] = "a3d18213beec454e3cdec9a3116d6b05"
+SRC_URI[sha256sum] = "627d5d8478e6d96fc8c90fed4851239079a561a6a8b9e48b0892f24e82d31d6c"
 
 UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/"
 UPSTREAM_CHECK_URI = "http://download.icu-project.org/files/icu4c/"
diff --git a/poky/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.8.bb b/poky/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.10.bb
similarity index 82%
rename from poky/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.8.bb
rename to poky/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.10.bb
index 8292c3b..7628eed 100644
--- a/poky/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.8.bb
+++ b/poky/meta/recipes-support/libatomic-ops/libatomic-ops_7.6.10.bb
@@ -10,8 +10,8 @@
 SRC_URI = "https://github.com/ivmai/libatomic_ops/releases/download/v${PV}/libatomic_ops-${PV}.tar.gz"
 UPSTREAM_CHECK_URI = "https://github.com/ivmai/libatomic_ops/releases"
 
-SRC_URI[md5sum] = "99128f05e3e3f4e0cd39aa23f23bbe0c"
-SRC_URI[sha256sum] = "1d6a279edf81767e74d2ad2c9fce09459bc65f12c6525a40b0cb3e53c089f665"
+SRC_URI[md5sum] = "90a78a84d9c28ce11f331c25289bfbd0"
+SRC_URI[sha256sum] = "587edf60817f56daf1e1ab38a4b3c729b8e846ff67b4f62a6157183708f099af"
 
 S = "${WORKDIR}/libatomic_ops-${PV}"
 
diff --git a/poky/meta/recipes-support/libcap/libcap_2.26.bb b/poky/meta/recipes-support/libcap/libcap_2.27.bb
similarity index 92%
rename from poky/meta/recipes-support/libcap/libcap_2.26.bb
rename to poky/meta/recipes-support/libcap/libcap_2.27.bb
index 14841de..4f3bac8 100644
--- a/poky/meta/recipes-support/libcap/libcap_2.26.bb
+++ b/poky/meta/recipes-support/libcap/libcap_2.27.bb
@@ -10,8 +10,8 @@
 SRC_URI = "${KERNELORG_MIRROR}/linux/libs/security/linux-privs/${BPN}2/${BPN}-${PV}.tar.xz \
            file://0001-ensure-the-XATTR_NAME_CAPS-is-defined-when-it-is-use.patch \
            "
-SRC_URI[md5sum] = "968ac4d42a1a71754313527be2ab5df3"
-SRC_URI[sha256sum] = "b630b7c484271b3ba867680d6a14b10a86cfa67247a14631b14c06731d5a458b"
+SRC_URI[md5sum] = "2e8f9fab32eb5ccb37969fe317fd17aa"
+SRC_URI[sha256sum] = "dac1792d0118bee6aae6ba7fb93ff1602c6a9bda812fd63916eee1435b9c486a"
 
 inherit lib_package
 
diff --git a/poky/meta/recipes-support/libcroco/libcroco/CVE-2017-7960.patch b/poky/meta/recipes-support/libcroco/libcroco/CVE-2017-7960.patch
deleted file mode 100644
index f6f43c3..0000000
--- a/poky/meta/recipes-support/libcroco/libcroco/CVE-2017-7960.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-input: check end of input before reading a byte
-
-When reading bytes we weren't check that the index wasn't
-out of bound and this could produce an invalid read which
-could deal to a security bug.
-
-Upstream-Status: Backport[https://gitlab.gnome.org/GNOME/libcroco/
-                 commit/898e3a8c8c0314d2e6b106809a8e3e93cf9d4394]
-
-CVE: CVE-2017-7960 
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-
-diff --git a/src/cr-input.c b/src/cr-input.c
-index 49000b1f5f07fe057135f1b8fc69bdcf9613e300..3b63a88ee3b1c56778e58172d147d958951bf099 100644
---- a/src/cr-input.c
-+++ b/src/cr-input.c
-@@ -256,7 +256,7 @@ cr_input_new_from_uri (const gchar * a_file_uri, enum CREncoding a_enc)
-                  *we should  free buf here because it's own by CRInput.
-                  *(see the last parameter of cr_input_new_from_buf().
-                  */
--                buf = NULL ;
-+                buf = NULL;
-         }
- 
-  cleanup:
-@@ -404,6 +404,8 @@ cr_input_get_nb_bytes_left (CRInput const * a_this)
- enum CRStatus
- cr_input_read_byte (CRInput * a_this, guchar * a_byte)
- {
-+        gulong nb_bytes_left = 0;
-+
-         g_return_val_if_fail (a_this && PRIVATE (a_this)
-                               && a_byte, CR_BAD_PARAM_ERROR);
- 
-@@ -413,6 +415,12 @@ cr_input_read_byte (CRInput * a_this, guchar * a_byte)
-         if (PRIVATE (a_this)->end_of_input == TRUE)
-                 return CR_END_OF_INPUT_ERROR;
- 
-+        nb_bytes_left = cr_input_get_nb_bytes_left (a_this);
-+
-+        if (nb_bytes_left < 1) {
-+                return CR_END_OF_INPUT_ERROR;
-+        }
-+
-         *a_byte = PRIVATE (a_this)->in_buf[PRIVATE (a_this)->next_byte_index];
- 
-         if (PRIVATE (a_this)->nb_bytes -
-@@ -477,7 +485,6 @@ cr_input_read_char (CRInput * a_this, guint32 * a_char)
-                 if (*a_char == '\n') {
-                         PRIVATE (a_this)->end_of_line = TRUE;
-                 }
--
-         }
- 
-         return status;
diff --git a/poky/meta/recipes-support/libcroco/libcroco/CVE-2017-7961.patch b/poky/meta/recipes-support/libcroco/libcroco/CVE-2017-7961.patch
deleted file mode 100644
index 35471ec..0000000
--- a/poky/meta/recipes-support/libcroco/libcroco/CVE-2017-7961.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-CVE: CVE-2017-7961
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 9ad72875e9f08e4c519ef63d44cdbd94aa9504f7 Mon Sep 17 00:00:00 2001
-From: Ignacio Casal Quinteiro <qignacio@amazon.com>
-Date: Sun, 16 Apr 2017 13:56:09 +0200
-Subject: [PATCH] tknzr: support only max long rgb values
-
-This fixes a possible out of bound when reading rgbs which
-are longer than the support MAXLONG
----
- src/cr-tknzr.c | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/src/cr-tknzr.c b/src/cr-tknzr.c
-index 1a7cfeb..1548c35 100644
---- a/src/cr-tknzr.c
-+++ b/src/cr-tknzr.c
-@@ -1279,6 +1279,11 @@ cr_tknzr_parse_rgb (CRTknzr * a_this, CRRgb ** a_rgb)
-         status = cr_tknzr_parse_num (a_this, &num);
-         ENSURE_PARSING_COND ((status == CR_OK) && (num != NULL));
- 
-+        if (num->val > G_MAXLONG) {
-+                status = CR_PARSING_ERROR;
-+                goto error;
-+        }
-+
-         red = num->val;
-         cr_num_destroy (num);
-         num = NULL;
-@@ -1298,6 +1303,11 @@ cr_tknzr_parse_rgb (CRTknzr * a_this, CRRgb ** a_rgb)
-                 status = cr_tknzr_parse_num (a_this, &num);
-                 ENSURE_PARSING_COND ((status == CR_OK) && (num != NULL));
- 
-+                if (num->val > G_MAXLONG) {
-+                        status = CR_PARSING_ERROR;
-+                        goto error;
-+                }
-+
-                 PEEK_BYTE (a_this, 1, &next_bytes[0]);
-                 if (next_bytes[0] == '%') {
-                         SKIP_CHARS (a_this, 1);
--- 
-2.18.1
diff --git a/poky/meta/recipes-support/libcroco/libcroco_0.6.12.bb b/poky/meta/recipes-support/libcroco/libcroco_0.6.13.bb
similarity index 72%
rename from poky/meta/recipes-support/libcroco/libcroco_0.6.12.bb
rename to poky/meta/recipes-support/libcroco/libcroco_0.6.13.bb
index f95a583..9171a9d 100644
--- a/poky/meta/recipes-support/libcroco/libcroco_0.6.12.bb
+++ b/poky/meta/recipes-support/libcroco/libcroco_0.6.13.bb
@@ -16,9 +16,5 @@
 
 inherit gnomebase gtk-doc binconfig-disabled
 
-SRC_URI += "file://CVE-2017-7960.patch \
-            file://CVE-2017-7961.patch \
-            "
-
-SRC_URI[archive.md5sum] = "bc0984fce078ba2ce29f9500c6b9ddce"
-SRC_URI[archive.sha256sum] = "ddc4b5546c9fb4280a5017e2707fbd4839034ed1aba5b7d4372212f34f84f860"
+SRC_URI[archive.md5sum] = "c80c5a8385011a0260dce6bd0da93dce"
+SRC_URI[archive.sha256sum] = "767ec234ae7aa684695b3a735548224888132e063f92db585759b422570621d4"
diff --git a/poky/meta/recipes-support/libgpg-error/libgpg-error_1.35.bb b/poky/meta/recipes-support/libgpg-error/libgpg-error_1.36.bb
similarity index 94%
rename from poky/meta/recipes-support/libgpg-error/libgpg-error_1.35.bb
rename to poky/meta/recipes-support/libgpg-error/libgpg-error_1.36.bb
index 57ac143..2db544a 100644
--- a/poky/meta/recipes-support/libgpg-error/libgpg-error_1.35.bb
+++ b/poky/meta/recipes-support/libgpg-error/libgpg-error_1.36.bb
@@ -16,8 +16,8 @@
            file://pkgconfig.patch \
 	  "
 
-SRC_URI[md5sum] = "2808a9e044f883f7554c5ba6a380b711"
-SRC_URI[sha256sum] = "cbd5ee62a8a8c88d48c158fff4fc9ead4132aacd1b4a56eb791f9f997d07e067"
+SRC_URI[md5sum] = "eff437f397e858a9127b76c0d87fa5ed"
+SRC_URI[sha256sum] = "babd98437208c163175c29453f8681094bcaf92968a15cafb1a276076b33c97c"
 
 BINCONFIG = "${bindir}/gpg-error-config"
 
diff --git a/poky/meta/recipes-support/libpsl/libpsl_0.20.2.bb b/poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb
similarity index 80%
rename from poky/meta/recipes-support/libpsl/libpsl_0.20.2.bb
rename to poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb
index 5cb20d4..f545ba0 100644
--- a/poky/meta/recipes-support/libpsl/libpsl_0.20.2.bb
+++ b/poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb
@@ -5,8 +5,8 @@
                     file://COPYING;md5=f41d10997a12da5ee3c24ceeb0148d18"
 
 SRC_URI = "https://github.com/rockdaboot/${BPN}/releases/download/${BP}/${BP}.tar.gz"
-SRC_URI[md5sum] = "f604f7d30d64bc673870ecf84b860a1e"
-SRC_URI[sha256sum] = "f8fd0aeb66252dfcc638f14d9be1e2362fdaf2ca86bde0444ff4d5cc961b560f"
+SRC_URI[md5sum] = "171e96d887709e36a57f4ee627bf82d2"
+SRC_URI[sha256sum] = "41bd1c75a375b85c337b59783f5deb93dbb443fb0a52d257f403df7bd653ee12"
 
 UPSTREAM_CHECK_URI = "https://github.com/rockdaboot/libpsl/releases"
 
diff --git a/poky/meta/recipes-support/libsoup/libsoup-2.4/0001-Do-not-enforce-no-introspection-when-cross-building.patch b/poky/meta/recipes-support/libsoup/libsoup-2.4/0001-Do-not-enforce-no-introspection-when-cross-building.patch
index 72b029a..cd6de85 100644
--- a/poky/meta/recipes-support/libsoup/libsoup-2.4/0001-Do-not-enforce-no-introspection-when-cross-building.patch
+++ b/poky/meta/recipes-support/libsoup/libsoup-2.4/0001-Do-not-enforce-no-introspection-when-cross-building.patch
@@ -1,24 +1,28 @@
-From 921888affe66953c92a08ae440e911b016b124be Mon Sep 17 00:00:00 2001
+From 85f7b74fc602214297928afe09347c31d696173d Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Fri, 15 Feb 2019 14:21:06 +0100
 Subject: [PATCH] Do not enforce no-introspection when cross-building
 
 Upstream-Status: Pending
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+Signed-off-by: Alistair Francis <alistair@alistair23.me>
 ---
  meson.build | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/meson.build b/meson.build
-index 5a92cda..cfb3520 100644
+index 25887f9..6261a7c 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -262,7 +262,7 @@ enable_gnome = get_option('gnome') and host_machine.system() != 'windows'
- #########################
- # GObject introspection #
- #########################
--enable_introspection = get_option('introspection') and find_program('g-ir-scanner', required: false).found() and not meson.is_cross_build()
-+enable_introspection = get_option('introspection') and find_program('g-ir-scanner', required: false).found()
+@@ -281,7 +281,7 @@ enable_gnome = get_option('gnome') and host_machine.system() != 'windows'
+ # FIXME: once we start to require meson 0.49.0+ and gnome-introspection 1.58.1+
+ # the we can enable the introspection even for the static build. See
+ # https://github.com/mesonbuild/meson/pull/4478.
+-enable_introspection = get_option('introspection') and find_program('g-ir-scanner', required: false).found() and not meson.is_cross_build() and not is_static_library
++enable_introspection = get_option('introspection') and find_program('g-ir-scanner', required: false).found() and not is_static_library
  
  ############
  # Vala API #
+-- 
+2.20.1
+
diff --git a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.64.2.bb b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.1.bb
similarity index 62%
rename from poky/meta/recipes-support/libsoup/libsoup-2.4_2.64.2.bb
rename to poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.1.bb
index ae7c1a6..f0043f8 100644
--- a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.64.2.bb
+++ b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.1.bb
@@ -12,8 +12,8 @@
 SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz \
            file://0001-Do-not-enforce-no-introspection-when-cross-building.patch \
            "
-SRC_URI[md5sum] = "cac755dc6c6acd6e0c70007f547548f5"
-SRC_URI[sha256sum] = "75ddc194a5b1d6f25033bb9d355f04bfe5c03e0e1c71ed0774104457b3a786c6"
+SRC_URI[md5sum] = "5f04c09a06f6dbe4c4d3f003992145ce"
+SRC_URI[sha256sum] = "4a2cb6c1174540af13661636035992c2b179dfcb39f4d3fa7bee3c7e355c43ff"
 
 S = "${WORKDIR}/libsoup-${PV}"
 
@@ -26,20 +26,7 @@
 
 EXTRA_OEMESON_append = " -Dvapi=false"
 
-GTKDOC_ENABLE_FLAG = "-Ddoc=true"
-GTKDOC_DISABLE_FLAG = "-Ddoc=false"
-
-GI_ENABLE_FLAG = "-Dintrospection=true"
-GI_DISABLE_FLAG = "-Dintrospection=false"
-
-EXTRA_OEMESON_append_class-nativesdk = " ${GI_DISABLE_FLAG}"
-
-EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
-                                                                                       '${GI_DISABLE_FLAG}', d)} "
-
-EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
-                                                                                     '${GTKDOC_DISABLE_FLAG}', d)} "
-
+GTKDOC_MESON_OPTION = "doc"
 
 # When built without gnome support, libsoup-2.4 will contain only one shared lib
 # and will therefore become subject to renaming by debian.bbclass. Prevent
diff --git a/poky/meta/recipes-support/libyaml/libyaml_0.2.1.bb b/poky/meta/recipes-support/libyaml/libyaml_0.2.2.bb
similarity index 66%
rename from poky/meta/recipes-support/libyaml/libyaml_0.2.1.bb
rename to poky/meta/recipes-support/libyaml/libyaml_0.2.2.bb
index d778918..fbd19920 100644
--- a/poky/meta/recipes-support/libyaml/libyaml_0.2.1.bb
+++ b/poky/meta/recipes-support/libyaml/libyaml_0.2.2.bb
@@ -5,11 +5,11 @@
 SECTION = "libs/devel"
 
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5591701d32590f9fa94f3bfee820b634"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a76b4c69bfcf82313bbdc0393b04438a"
 
 SRC_URI = "http://pyyaml.org/download/libyaml/yaml-${PV}.tar.gz"
-SRC_URI[md5sum] = "72724b9736923c517e5a8fc6757ef03d"
-SRC_URI[sha256sum] = "78281145641a080fb32d6e7a87b9c0664d611dcb4d542e90baf731f51cbb59cd"
+SRC_URI[md5sum] = "54bf11ccb8bc488b5b3bec931f5b70dc"
+SRC_URI[sha256sum] = "4a9100ab61047fd9bd395bcef3ce5403365cafd55c1e0d0299cde14958e47be9"
 
 S = "${WORKDIR}/yaml-${PV}"
 
diff --git a/poky/meta/recipes-support/lz4/lz4_1.8.3.bb b/poky/meta/recipes-support/lz4/lz4_1.9.0.bb
similarity index 94%
rename from poky/meta/recipes-support/lz4/lz4_1.8.3.bb
rename to poky/meta/recipes-support/lz4/lz4_1.9.0.bb
index 125836f..744a1bf 100644
--- a/poky/meta/recipes-support/lz4/lz4_1.8.3.bb
+++ b/poky/meta/recipes-support/lz4/lz4_1.9.0.bb
@@ -9,7 +9,7 @@
 
 PE = "1"
 
-SRCREV = "641b453d9db536ee020851bfcb1dc39f61006f0a"
+SRCREV = "131896ab9d4fc9b8c606616327ed223d5d86472b"
 
 SRC_URI = "git://github.com/lz4/lz4.git \
            file://run-ptest \
diff --git a/poky/meta/recipes-support/nettle/nettle-3.4.1/dlopen-test.patch b/poky/meta/recipes-support/nettle/nettle-3.4.1/dlopen-test.patch
index c4f0b7e..fea5774 100644
--- a/poky/meta/recipes-support/nettle/nettle-3.4.1/dlopen-test.patch
+++ b/poky/meta/recipes-support/nettle/nettle-3.4.1/dlopen-test.patch
@@ -1,4 +1,4 @@
-Replace relative path of libnettle.so with absolute path so the test
+Remove the relative path for libnettle.so so the test
 program can find it.
 Relative paths are not suitable, as the folder strucure for ptest
 is different from the one expected by the nettle testsuite.
@@ -6,6 +6,7 @@
 Upstream-Status: Inappropriate [embedded specific]
 
 Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
 
 --- a/testsuite/dlopen-test.c	2016-10-01 00:28:38.000000000 -0700
 +++ b/testsuite/dlopen-test.c	2017-10-13 11:08:57.227572860 -0700
@@ -14,7 +15,7 @@
  {
  #if HAVE_LIBDL
 -  void *handle = dlopen ("../libnettle.so", RTLD_NOW);
-+  void *handle = dlopen ("/usr/lib/libnettle.so", RTLD_NOW);
++  void *handle = dlopen ("libnettle.so", RTLD_NOW);
    int (*get_version)(void);
    if (!handle)
      {
diff --git a/poky/meta/recipes-support/nettle/nettle_3.4.1.bb b/poky/meta/recipes-support/nettle/nettle_3.4.1.bb
index dd49c30..cd8024f 100644
--- a/poky/meta/recipes-support/nettle/nettle_3.4.1.bb
+++ b/poky/meta/recipes-support/nettle/nettle_3.4.1.bb
@@ -30,7 +30,7 @@
 EXTRA_AUTORECONF += "--exclude=aclocal"
 
 EXTRA_OECONF = "--disable-openssl"
-CFLAGS_append = " -std=c99"
+CFLAGS_append = " -std=gnu99"
 
 do_compile_ptest() {
         oe_runmake buildtest
@@ -49,4 +49,7 @@
         install ${B}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/
 }
 
+RDEPENDS_${PN}-ptest += "${PN}-dev"
+INSANE_SKIP_${PN}-ptest += "dev-deps"
+
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/nss/nss_3.42.1.bb b/poky/meta/recipes-support/nss/nss_3.43.bb
similarity index 97%
rename from poky/meta/recipes-support/nss/nss_3.42.1.bb
rename to poky/meta/recipes-support/nss/nss_3.43.bb
index b6bbd80..f8cf5a4 100644
--- a/poky/meta/recipes-support/nss/nss_3.42.1.bb
+++ b/poky/meta/recipes-support/nss/nss_3.43.bb
@@ -8,6 +8,9 @@
 HOMEPAGE = "http://www.mozilla.org/projects/security/pki/nss/"
 SECTION = "libs"
 
+DEPENDS = "sqlite3 nspr zlib nss-native"
+DEPENDS_class-native = "sqlite3-native nspr-native zlib-native"
+
 LICENSE = "MPL-2.0 | (MPL-2.0 & GPL-2.0+) | (MPL-2.0 & LGPL-2.1+)"
 
 LIC_FILES_CHKSUM = "file://nss/COPYING;md5=3b1e88e1b9c0b5a4b2881d46cce06a18 \
@@ -30,18 +33,14 @@
            file://system-pkcs11.txt \
            "
 
-SRC_URI[md5sum] = "1f6cc6c702379478a3a72298caaef0a7"
-SRC_URI[sha256sum] = "087db37d38fd49dfd584dd2a8b5baa7fc88de7c9bd97c0c2d5be4abcafc61fc6"
+SRC_URI[md5sum] = "67c8fa282c32cb56117fdd530dd77001"
+SRC_URI[sha256sum] = "f30bc1b7330887b75de9fec37dbc173001758dc43fb095ffbc45dac4093fe2ca"
 
 UPSTREAM_CHECK_URI = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Releases"
 UPSTREAM_CHECK_REGEX = "NSS_(?P<pver>.+)_release_notes"
 
 inherit siteinfo
 
-DEPENDS = "sqlite3 nspr zlib nss-native"
-DEPENDS_class-native = "sqlite3-native nspr-native zlib-native"
-RDEPENDS_${PN}-smime = "perl"
-
 TD = "${S}/tentative-dist"
 TDS = "${S}/tentative-dist-staging"
 
@@ -118,8 +117,8 @@
         OS_TEST=${OS_TEST} \
         RPATH="${RPATH}"
 }
-do_compile[vardepsexclude] += "SITEINFO_BITS"
 
+do_compile[vardepsexclude] += "SITEINFO_BITS"
 
 do_install_prepend_class-nativesdk() {
     export LDFLAGS=""
@@ -195,6 +194,7 @@
         install -m 755 -t ${D}/${bindir} $binary
     done
 }
+
 do_install[vardepsexclude] += "SITEINFO_BITS"
 
 do_install_append() {
@@ -248,17 +248,20 @@
 FILES_${PN}-smime = "\
     ${bindir}/smime \
 "
+
 FILES_${PN} = "\
     ${sysconfdir} \
     ${bindir} \
     ${libdir}/lib*.chk \
     ${libdir}/lib*.so \
     "
+
 FILES_${PN}-dev = "\
     ${libdir}/nss \
     ${libdir}/pkgconfig/* \
     ${includedir}/* \
     "
 
-BBCLASSEXTEND = "native nativesdk"
+RDEPENDS_${PN}-smime = "perl"
 
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/sqlite/sqlite3/CVE-2019-9936.patch b/poky/meta/recipes-support/sqlite/sqlite3/CVE-2019-9936.patch
deleted file mode 100644
index 1b907b9..0000000
--- a/poky/meta/recipes-support/sqlite/sqlite3/CVE-2019-9936.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Running fts5 prefix queries inside a transaction could trigger a heap-based
-buffer over-read in fts5HashEntrySort in sqlite3.c, which may lead to an
-information leak.
-
-CVE: CVE-2019-9936
-Upstream-Status: Backport [https://sqlite.org/src/vpatch?from=45c73deb440496e8&to=b3fa58dd7403dbd4]
-Signed-off-by: Ross Burton <ross.burton@intel.com>
----
- sqlite3.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/sqlite3.c b/sqlite3.c
-index 4729f45..65527d8 100644
---- a/sqlite3.c
-+++ b/sqlite3.c
-@@ -207759,7 +207759,9 @@ static int fts5HashEntrySort(
-   for(iSlot=0; iSlot<pHash->nSlot; iSlot++){
-     Fts5HashEntry *pIter;
-     for(pIter=pHash->aSlot[iSlot]; pIter; pIter=pIter->pHashNext){
--      if( pTerm==0 || 0==memcmp(fts5EntryKey(pIter), pTerm, nTerm) ){
-+      if( pTerm==0
-+       || (pIter->nKey+1>=nTerm && 0==memcmp(fts5EntryKey(pIter), pTerm, nTerm))
-+      ){
-         Fts5HashEntry *pEntry = pIter;
-         pEntry->pScanNext = 0;
-         for(i=0; ap[i]; i++){
--- 
-2.20.1
diff --git a/poky/meta/recipes-support/sqlite/sqlite3/CVE-2019-9937.patch b/poky/meta/recipes-support/sqlite/sqlite3/CVE-2019-9937.patch
deleted file mode 100644
index baa5666..0000000
--- a/poky/meta/recipes-support/sqlite/sqlite3/CVE-2019-9937.patch
+++ /dev/null
@@ -1,187 +0,0 @@
-Interleaving reads and writes in a single transaction with an fts5 virtual table
-will lead to a NULL Pointer Dereference in fts5ChunkIterate in sqlite3.c.
-
-CVE: CVE-2019-9937
-Upstream-Status: Backport [https://sqlite.org/src/vpatch?from=c2f50aa4e7bad882&to=45c73deb440496e8]
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
----
- sqlite3.c | 83 ++++++++++++++++++++++++++++++++++++++-----------------
- 1 file changed, 57 insertions(+), 26 deletions(-)
-
-diff --git a/sqlite3.c b/sqlite3.c
-index 65527d8..b1a8799 100644
---- a/sqlite3.c
-+++ b/sqlite3.c
-@@ -200668,8 +200668,9 @@ static void sqlite3Fts5HashClear(Fts5Hash*);
- 
- static int sqlite3Fts5HashQuery(
-   Fts5Hash*,                      /* Hash table to query */
-+  int nPre,
-   const char *pTerm, int nTerm,   /* Query term */
--  const u8 **ppDoclist,           /* OUT: Pointer to doclist for pTerm */
-+  void **ppObj,			  /* OUT: Pointer to doclist for pTerm */
-   int *pnDoclist                  /* OUT: Size of doclist in bytes */
- );
- 
-@@ -207501,19 +207502,25 @@ static int fts5HashResize(Fts5Hash *pHash){
-   return SQLITE_OK;
- }
- 
--static void fts5HashAddPoslistSize(Fts5Hash *pHash, Fts5HashEntry *p){
-+static int fts5HashAddPoslistSize(
-+  Fts5Hash *pHash,
-+  Fts5HashEntry *p,
-+  Fts5HashEntry *p2
-+){
-+  int nRet = 0;
-   if( p->iSzPoslist ){
--    u8 *pPtr = (u8*)p;
-+    u8 *pPtr = p2 ? (u8*)p2 : (u8*)p;
-+    int nData = p->nData;
-     if( pHash->eDetail==FTS5_DETAIL_NONE ){
--      assert( p->nData==p->iSzPoslist );
-+      assert( nData==p->iSzPosList );
-       if( p->bDel ){
--        pPtr[p->nData++] = 0x00;
-+        pPtr[nData++] = 0x00;
-         if( p->bContent ){
--          pPtr[p->nData++] = 0x00;
-+          pPtr[nData++] = 0x00;
-         }
-       }
-     }else{
--      int nSz = (p->nData - p->iSzPoslist - 1);       /* Size in bytes */
-+      int nSz = (nData - p->iSzPoslist - 1);       /* Size in bytes */
-       int nPos = nSz*2 + p->bDel;                     /* Value of nPos field */
- 
-       assert( p->bDel==0 || p->bDel==1 );
-@@ -207523,14 +207530,19 @@ static void fts5HashAddPoslistSize(Fts5Hash *pHash, Fts5HashEntry *p){
-         int nByte = sqlite3Fts5GetVarintLen((u32)nPos);
-         memmove(&pPtr[p->iSzPoslist + nByte], &pPtr[p->iSzPoslist + 1], nSz);
-         sqlite3Fts5PutVarint(&pPtr[p->iSzPoslist], nPos);
--        p->nData += (nByte-1);
-+        nData += (nByte-1);
-       }
-     }
- 
--    p->iSzPoslist = 0;
--    p->bDel = 0;
--    p->bContent = 0;
-+    nRet = nData - p->nData;
-+    if( p2 == 0 ){
-+      p->iSzPoslist = 0;
-+      p->bDel = 0;
-+      p->bContent = 0;
-+      p->nData = nData;
-+    }
-   }
-+  return nRet;
- }
- 
- /*
-@@ -207642,7 +207654,7 @@ static int sqlite3Fts5HashWrite(
-   /* If this is a new rowid, append the 4-byte size field for the previous
-   ** entry, and the new rowid for this entry.  */
-   if( iRowid!=p->iRowid ){
--    fts5HashAddPoslistSize(pHash, p);
-+    fts5HashAddPoslistSize(pHash, p, 0);
-     p->nData += sqlite3Fts5PutVarint(&pPtr[p->nData], iRowid - p->iRowid);
-     p->iRowid = iRowid;
-     bNew = 1;
-@@ -207789,8 +207801,9 @@ static int fts5HashEntrySort(
- */
- static int sqlite3Fts5HashQuery(
-   Fts5Hash *pHash,                /* Hash table to query */
-+  int nPre,
-   const char *pTerm, int nTerm,   /* Query term */
--  const u8 **ppDoclist,           /* OUT: Pointer to doclist for pTerm */
-+  void **ppOut,			  /* OUT: Pointer to new object */
-   int *pnDoclist                  /* OUT: Size of doclist in bytes */
- ){
-   unsigned int iHash = fts5HashKey(pHash->nSlot, (const u8*)pTerm, nTerm);
-@@ -207804,11 +207817,20 @@ static int sqlite3Fts5HashQuery(
-   }
- 
-   if( p ){
--    fts5HashAddPoslistSize(pHash, p);
--    *ppDoclist = (const u8*)&zKey[nTerm+1];
--    *pnDoclist = p->nData - (sizeof(Fts5HashEntry) + nTerm + 1);
-+    int nHashPre = sizeof(Fts5HashEntry) + nTerm + 1;
-+    int nList = p->nData - nHashPre;
-+    u8 *pRet = (u8*)(*ppOut = sqlite3_malloc64(nPre + nList + 10));
-+    if ( pRet ){
-+       Fts5HashEntry *pFaux = (Fts5HashEntry*)&pRet[nPre-nHashPre];
-+       memcpy(&pRet[nPre], &((u8*)p)[nHashPre], nList);
-+       nList += fts5HashAddPoslistSize(pHash, p, pFaux);
-+       *pnDoclist = nList;
-+    }else{
-+       *pnDoclist = 0;
-+       return SQLITE_NOMEM;
-+    }
-   }else{
--    *ppDoclist = 0;
-+    *ppOut = 0;
-     *pnDoclist = 0;
-   }
- 
-@@ -207841,7 +207863,7 @@ static void sqlite3Fts5HashScanEntry(
-   if( (p = pHash->pScan) ){
-     char *zKey = fts5EntryKey(p);
-     int nTerm = (int)strlen(zKey);
--    fts5HashAddPoslistSize(pHash, p);
-+    fts5HashAddPoslistSize(pHash, p, 0);
-     *pzTerm = zKey;
-     *ppDoclist = (const u8*)&zKey[nTerm+1];
-     *pnDoclist = p->nData - (sizeof(Fts5HashEntry) + nTerm + 1);
-@@ -210311,31 +210333,40 @@ static void fts5SegIterHashInit(
-   int flags,                      /* Mask of FTS5INDEX_XXX flags */
-   Fts5SegIter *pIter              /* Object to populate */
- ){
--  const u8 *pList = 0;
-   int nList = 0;
-   const u8 *z = 0;
-   int n = 0;
-+  Fts5Data *pLeaf = 0;
- 
-   assert( p->pHash );
-   assert( p->rc==SQLITE_OK );
- 
-   if( pTerm==0 || (flags & FTS5INDEX_QUERY_SCAN) ){
-+    const u8 *pList = 0;
-+
-     p->rc = sqlite3Fts5HashScanInit(p->pHash, (const char*)pTerm, nTerm);
-     sqlite3Fts5HashScanEntry(p->pHash, (const char**)&z, &pList, &nList);
-     n = (z ? (int)strlen((const char*)z) : 0);
-+    if ( pList ){
-+      pLeaf = fts5IdxMalloc(p, sizeof(Fts5Data));
-+      if ( pLeaf ){
-+        pLeaf->p = pList;
-+      }
-+    }
-   }else{
--    pIter->flags |= FTS5_SEGITER_ONETERM;
--    sqlite3Fts5HashQuery(p->pHash, (const char*)pTerm, nTerm, &pList, &nList);
-+    p->rc = sqlite3Fts5HashQuery(p->pHash, sizeof(Fts5Data),
-+        (const char*)pTerm, nTerm, (void**)&pLeaf, &nList
-+    );
-+    if( pLeaf ){
-+      pLeaf->p = (u8*)&pLeaf[1];
-+    }
-     z = pTerm;
-     n = nTerm;
-+    pIter->flags |= FTS5_SEGITER_ONETERM;
-   }
- 
--  if( pList ){
--    Fts5Data *pLeaf;
-+  if( pLeaf ){
-     sqlite3Fts5BufferSet(&p->rc, &pIter->term, n, z);
--    pLeaf = fts5IdxMalloc(p, sizeof(Fts5Data));
--    if( pLeaf==0 ) return;
--    pLeaf->p = (u8*)pList;
-     pLeaf->nn = pLeaf->szLeaf = nList;
-     pIter->pLeaf = pLeaf;
-     pIter->iLeafOffset = fts5GetVarint(pLeaf->p, (u64*)&pIter->iRowid);
--- 
-2.20.1
diff --git a/poky/meta/recipes-support/sqlite/sqlite3_3.27.2.bb b/poky/meta/recipes-support/sqlite/sqlite3_3.27.2.bb
deleted file mode 100644
index 4bdb04f..0000000
--- a/poky/meta/recipes-support/sqlite/sqlite3_3.27.2.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require sqlite3.inc
-
-LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66"
-
-SRC_URI = "\
-  http://www.sqlite.org/2019/sqlite-autoconf-${SQLITE_PV}.tar.gz \
-  file://CVE-2019-9936.patch \
-  file://CVE-2019-9937.patch \
-  "
-
-SRC_URI[md5sum] = "1f72631ce6e8efa5b4a6e55a43b3bdc0"
-SRC_URI[sha256sum] = "50c39e85ea28b5ecfdb3f9e860afe9ba606381e21836b2849efca6a0bfe6ef6e"
diff --git a/poky/meta/recipes-support/sqlite/sqlite3_3.28.0.bb b/poky/meta/recipes-support/sqlite/sqlite3_3.28.0.bb
new file mode 100644
index 0000000..438a4ea
--- /dev/null
+++ b/poky/meta/recipes-support/sqlite/sqlite3_3.28.0.bb
@@ -0,0 +1,8 @@
+require sqlite3.inc
+
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66"
+
+SRC_URI = "http://www.sqlite.org/2019/sqlite-autoconf-${SQLITE_PV}.tar.gz"
+SRC_URI[md5sum] = "3c68eb400f8354605736cd55400e1572"
+SRC_URI[sha256sum] = "d61b5286f062adfce5125eaf544d495300656908e61fca143517afcc0a89b7c3"
diff --git a/poky/meta/recipes-support/vim/vim-tiny_8.1.1017.bb b/poky/meta/recipes-support/vim/vim-tiny_8.1.1240.bb
similarity index 79%
rename from poky/meta/recipes-support/vim/vim-tiny_8.1.1017.bb
rename to poky/meta/recipes-support/vim/vim-tiny_8.1.1240.bb
index 8b1fb7b..7446483 100644
--- a/poky/meta/recipes-support/vim/vim-tiny_8.1.1017.bb
+++ b/poky/meta/recipes-support/vim/vim-tiny_8.1.1240.bb
@@ -8,7 +8,7 @@
 PACKAGECONFIG += "tiny"
 
 do_install() {
-    install -D -m 0755 ${S}/vim ${D}/${bindir}/vim.tiny
+    install -D -m 0755 ${S}/src/vim ${D}/${bindir}/vim.tiny
 }
 
 ALTERNATIVE_PRIORITY = "90"
diff --git a/poky/meta/recipes-support/vim/vim_8.1.1017.bb b/poky/meta/recipes-support/vim/vim_8.1.1240.bb
similarity index 82%
rename from poky/meta/recipes-support/vim/vim_8.1.1017.bb
rename to poky/meta/recipes-support/vim/vim_8.1.1240.bb
index 7627d28..f5c7468 100644
--- a/poky/meta/recipes-support/vim/vim_8.1.1017.bb
+++ b/poky/meta/recipes-support/vim/vim_8.1.1240.bb
@@ -6,16 +6,16 @@
 # vimdiff doesn't like busybox diff
 RSUGGESTS_${PN} = "diffutils"
 LICENSE = "vim"
-LIC_FILES_CHKSUM = "file://../runtime/doc/uganda.txt;endline=287;md5=f1f82b42360005c70b8c19b0ef493f72"
+LIC_FILES_CHKSUM = "file://runtime/doc/uganda.txt;endline=287;md5=f1f82b42360005c70b8c19b0ef493f72"
 
 SRC_URI = "git://github.com/vim/vim.git \
-           file://disable_acl_header_check.patch;patchdir=.. \
-           file://vim-add-knob-whether-elf.h-are-checked.patch;patchdir=.. \
-           file://0001-src-Makefile-improve-reproducibility.patch;patchdir=.. \
+           file://disable_acl_header_check.patch \
+           file://vim-add-knob-whether-elf.h-are-checked.patch \
+           file://0001-src-Makefile-improve-reproducibility.patch \
 "
-SRCREV = "493fbe4abee660d30b4f2aef87b754b0a720213c"
+SRCREV = "d96dbd6f95ea22f609042cc9c6272f14a21ff1a5"
 
-S = "${WORKDIR}/git/src"
+S = "${WORKDIR}/git"
 
 VIMDIR = "vim${@d.getVar('PV').split('.')[0]}${@d.getVar('PV').split('.')[1]}"
 
@@ -25,13 +25,25 @@
 
 # vim configure.in contains functions which got 'dropped' by autotools.bbclass
 do_configure () {
+    cd src
     rm -f auto/*
     touch auto/config.mk
     aclocal
     autoconf
+    cd ..
     oe_runconf
-    touch auto/configure
-    touch auto/config.mk auto/config.h
+    touch src/auto/configure
+    touch src/auto/config.mk src/auto/config.h
+}
+
+do_compile() {
+    # We do not support fully / correctly the following locales.  Attempting
+    # to use these with msgfmt in order to update the ".desktop" files exposes
+    # this problem and leads to the compile failing.
+    for LOCALE in cs fr ko pl sk zh_CN zh_TW;do
+        echo -n > src/po/${LOCALE}.po
+    done
+    autotools_do_compile
 }
 
 #Available PACKAGECONFIG options are gtkgui, acl, x11, tiny
@@ -76,7 +88,7 @@
     chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/*.py
 
     # Install example vimrc from runtime files
-    install -m 0644 ../runtime/vimrc_example.vim ${D}/${datadir}/${BPN}/vimrc
+    install -m 0644 runtime/vimrc_example.vim ${D}/${datadir}/${BPN}/vimrc
 
     # we use --with-features=big as default
     mv ${D}${bindir}/${BPN} ${D}${bindir}/${BPN}.${BPN}
diff --git a/poky/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch b/poky/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch
new file mode 100644
index 0000000..0ffd92b
--- /dev/null
+++ b/poky/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch
@@ -0,0 +1,59 @@
+From f78988d3bb5929c857e788a86c7919d6a4ffacc9 Mon Sep 17 00:00:00 2001
+From: Danilo Spinella <danyspin97@protonmail.com>
+Date: Thu, 21 Mar 2019 14:19:26 +0100
+Subject: [PATCH] Add W_EXITCODE macro for non-glibc systems
+
+Upstream-Status: Submitted [1]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+
+[1] https://gitlab.gnome.org/GNOME/vte/issues/72
+
+---
+ src/missing.hh | 21 +++++++++++++++++++++
+ src/widget.cc  |  1 +
+ 2 files changed, 22 insertions(+)
+ create mode 100644 src/missing.hh
+
+diff --git a/src/missing.hh b/src/missing.hh
+new file mode 100644
+index 00000000..1baa993d
+--- /dev/null
++++ b/src/missing.hh
+@@ -0,0 +1,21 @@
++/* Copyright 2019 Danilo Spinella
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Lesser General Public
++ * License as published by the Free Software Foundation; either
++ * version 3 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public
++ * License along with this library; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
++ */
++
++#ifndef W_EXITCODE
++#define W_EXITCODE(ret, sig) ((ret) << 8 | (sig))
++#endif
++
+diff --git a/src/widget.cc b/src/widget.cc
+index 331ddba9..555a4adf 100644
+--- a/src/widget.cc
++++ b/src/widget.cc
+@@ -21,6 +21,7 @@
+ #include "widget.hh"
+ 
+ #include <sys/wait.h> // for W_EXITCODE
++#include "missing.hh" // for W_EXITCODE on non-glibc systems
+ 
+ #include <new>
+ #include <string>
+-- 
+2.21.0
+
diff --git a/poky/meta/recipes-support/vte/vte_0.52.2.bb b/poky/meta/recipes-support/vte/vte_0.56.1.bb
similarity index 72%
rename from poky/meta/recipes-support/vte/vte_0.52.2.bb
rename to poky/meta/recipes-support/vte/vte_0.56.1.bb
index 272ae66..3585e9c 100644
--- a/poky/meta/recipes-support/vte/vte_0.52.2.bb
+++ b/poky/meta/recipes-support/vte/vte_0.56.1.bb
@@ -1,9 +1,15 @@
 SUMMARY = "Virtual terminal emulator GTK+ widget library"
 BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte"
-LICENSE = "LGPLv2.1+"
-DEPENDS = "glib-2.0 gtk+3 libpcre2 intltool-native libxml2-native gperf-native"
+LICENSE = "GPLv3 & LGPLv2.1+"
+LICENSE_libvte = "LGPLv2.1+"
 
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+LIC_FILES_CHKSUM = " \
+    file://COPYING.GPL3;md5=2f31b266d3440dd7ee50f92cf67d8e6c \
+    file://COPYING.LGPL2;md5=4fbd65380cdd255951079008b364516c \
+    file://COPYING.LGPL3;md5=b52f2d57d10c4f7ee67a7eb9615d5d24 \
+"
+
+DEPENDS = "glib-2.0 gtk+3 libpcre2 intltool-native libxml2-native gperf-native"
 
 inherit gnomebase gtk-doc distro_features_check upstream-version-is-even gobject-introspection
 
@@ -11,9 +17,10 @@
 SRC_URI += "file://0001-Don-t-enable-stack-protection-by-default.patch \
            ${@bb.utils.contains('PACKAGECONFIG', 'vala', '', 'file://0001-Add-m4-vapigen.m4.patch', d) } \
            file://0001-app.cc-use-old-school-asignment-to-avoid-gcc-4.8-err.patch \
+           file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch \
            "
-SRC_URI[archive.md5sum] = "de8181350dccb010e915e366bdd06d18"
-SRC_URI[archive.sha256sum] = "0f2657cef52accbfe56feede553155552d7c1984b1291838af3cb8cfc19b26af"
+SRC_URI[archive.md5sum] = "a8984cd5a101dbff0b0c875d1de3f692"
+SRC_URI[archive.sha256sum] = "02fa8ecc02a9332e47f486795494527b5687b3bd448e73e6b67285f2f326dc7c"
 
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
@@ -27,7 +34,7 @@
 
 # Help g-ir-scanner find the .so for linking
 do_compile_prepend() {
-        export GIR_EXTRA_LIBS_PATH="${B}/src/.libs"
+    export GIR_EXTRA_LIBS_PATH="${B}/src/.libs"
 }
 
 # Package additional files
@@ -43,7 +50,8 @@
 # Use libtool-cross (which has a hack to prevent that) instead.
 EXTRA_OEMAKE_class-target = "LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool"
 
-PACKAGES =+ "libvte"
+PACKAGES =+ "libvte ${PN}-prompt"
 FILES_libvte = "${libdir}/*.so.* ${libdir}/girepository-1.0/*"
+FILES_${PN}-prompt = "${sysconfdir}/profile.d"
 
 BBCLASSEXTEND = "native nativesdk"