diff options
Diffstat (limited to 'poky')
184 files changed, 2375 insertions, 2624 deletions
diff --git a/poky/bitbake/lib/bb/cookerdata.py b/poky/bitbake/lib/bb/cookerdata.py index 144e803b4f..96a8e6beee 100644 --- a/poky/bitbake/lib/bb/cookerdata.py +++ b/poky/bitbake/lib/bb/cookerdata.py @@ -268,11 +268,11 @@ class CookerDataBuilder(object): def parseBaseConfiguration(self): try: - bb.parse.init_parser(self.basedata) self.data = self.parseConfigurationFiles(self.prefiles, self.postfiles) if self.data.getVar("BB_WORKERCONTEXT", False) is None: bb.fetch.fetcher_init(self.data) + bb.parse.init_parser(self.data) bb.codeparser.parser_cache_init(self.data) bb.event.fire(bb.event.ConfigParsed(), self.data) diff --git a/poky/bitbake/lib/bb/runqueue.py b/poky/bitbake/lib/bb/runqueue.py index 7fa074f679..4f69578e46 100644 --- a/poky/bitbake/lib/bb/runqueue.py +++ b/poky/bitbake/lib/bb/runqueue.py @@ -1711,6 +1711,7 @@ class RunQueueExecute: self.stampcache = {} self.holdoff_tasks = set() + self.holdoff_need_update = True self.sqdone = False self.stats = RunQueueStats(len(self.rqdata.runtaskentries)) @@ -2039,6 +2040,8 @@ class RunQueueExecute: if self.can_start_task(): return True + self.update_holdofftasks() + if not self.sq_live and not self.sqdone and not self.sq_deferred and not self.updated_taskhash_queue and not self.holdoff_tasks: logger.info("Setscene tasks completed") @@ -2157,12 +2160,11 @@ class RunQueueExecute: return True - def filtermcdeps(self, task, deps): + def filtermcdeps(self, task, mc, deps): ret = set() - mainmc = mc_from_tid(task) for dep in deps: - mc = mc_from_tid(dep) - if mc != mainmc: + thismc = mc_from_tid(dep) + if thismc != mc: continue ret.add(dep) return ret @@ -2171,9 +2173,10 @@ class RunQueueExecute: # as most code can't handle them def build_taskdepdata(self, task): taskdepdata = {} + mc = mc_from_tid(task) next = self.rqdata.runtaskentries[task].depends.copy() next.add(task) - next = self.filtermcdeps(task, next) + next = self.filtermcdeps(task, mc, next) while next: additional = [] for revdep in next: @@ -2183,7 +2186,7 @@ class RunQueueExecute: provides = self.rqdata.dataCaches[mc].fn_provides[taskfn] taskhash = self.rqdata.runtaskentries[revdep].hash unihash = self.rqdata.runtaskentries[revdep].unihash - deps = self.filtermcdeps(task, deps) + deps = self.filtermcdeps(task, mc, deps) taskdepdata[revdep] = [pn, taskname, fn, deps, provides, taskhash, unihash] for revdep2 in deps: if revdep2 not in taskdepdata: @@ -2194,6 +2197,32 @@ class RunQueueExecute: return taskdepdata def update_holdofftasks(self): + + if not self.holdoff_need_update: + return + + notcovered = set(self.scenequeue_notcovered) + notcovered |= self.cantskip + for tid in self.scenequeue_notcovered: + notcovered |= self.sqdata.sq_covered_tasks[tid] + notcovered |= self.sqdata.unskippable.difference(self.rqdata.runq_setscene_tids) + notcovered.intersection_update(self.tasks_scenequeue_done) + + covered = set(self.scenequeue_covered) + for tid in self.scenequeue_covered: + covered |= self.sqdata.sq_covered_tasks[tid] + covered.difference_update(notcovered) + covered.intersection_update(self.tasks_scenequeue_done) + + for tid in notcovered | covered: + if len(self.rqdata.runtaskentries[tid].depends) == 0: + self.setbuildable(tid) + elif self.rqdata.runtaskentries[tid].depends.issubset(self.runq_complete): + self.setbuildable(tid) + + self.tasks_covered = covered + self.tasks_notcovered = notcovered + self.holdoff_tasks = set() for tid in self.rqdata.runq_setscene_tids: @@ -2205,6 +2234,8 @@ class RunQueueExecute: if dep not in self.runq_complete: self.holdoff_tasks.add(dep) + self.holdoff_need_update = False + def process_possible_migrations(self): changed = set() @@ -2283,6 +2314,7 @@ class RunQueueExecute: continue self.pending_migrations.remove(tid) + changed = True if tid in self.tasks_scenequeue_done: self.tasks_scenequeue_done.remove(tid) @@ -2323,7 +2355,7 @@ class RunQueueExecute: self.sqdone = False if changed: - self.update_holdofftasks() + self.holdoff_need_update = True def scenequeue_updatecounters(self, task, fail=False): @@ -2350,29 +2382,7 @@ class RunQueueExecute: new.add(dep) next = new - notcovered = set(self.scenequeue_notcovered) - notcovered |= self.cantskip - for tid in self.scenequeue_notcovered: - notcovered |= self.sqdata.sq_covered_tasks[tid] - notcovered |= self.sqdata.unskippable.difference(self.rqdata.runq_setscene_tids) - notcovered.intersection_update(self.tasks_scenequeue_done) - - covered = set(self.scenequeue_covered) - for tid in self.scenequeue_covered: - covered |= self.sqdata.sq_covered_tasks[tid] - covered.difference_update(notcovered) - covered.intersection_update(self.tasks_scenequeue_done) - - for tid in notcovered | covered: - if len(self.rqdata.runtaskentries[tid].depends) == 0: - self.setbuildable(tid) - elif self.rqdata.runtaskentries[tid].depends.issubset(self.runq_complete): - self.setbuildable(tid) - - self.tasks_covered = covered - self.tasks_notcovered = notcovered - - self.update_holdofftasks() + self.holdoff_need_update = True def sq_task_completeoutright(self, task): """ diff --git a/poky/meta-poky/conf/conf-notes.txt b/poky/meta-poky/conf/conf-notes.txt index f1a4f4da14..67c177db40 100644 --- a/poky/meta-poky/conf/conf-notes.txt +++ b/poky/meta-poky/conf/conf-notes.txt @@ -10,3 +10,8 @@ Common targets are: meta-ide-support You can also run generated qemu images with a command like 'runqemu qemux86' + +Other commonly useful commands are: + - 'devtool' and 'recipetool' handle common recipe tasks + - 'bitbake-layers' handles common layer tasks + - 'oe-pkgdata-util' handles common target package tasks diff --git a/poky/meta/classes/libc-package.bbclass b/poky/meta/classes/libc-package.bbclass index 8859dad566..a66e540884 100644 --- a/poky/meta/classes/libc-package.bbclass +++ b/poky/meta/classes/libc-package.bbclass @@ -82,6 +82,9 @@ do_collect_bins_from_locale_tree() { parent=$(dirname ${localedir}) mkdir -p ${PKGD}/$parent tar -cf - -C $treedir/$parent -p $(basename ${localedir}) | tar -xf - -C ${PKGD}$parent + + # Finalize tree by chaning all duplicate files into hard links + cross-localedef-hardlink -c -v ${WORKDIR}/locale-tree } inherit qemu @@ -265,7 +268,7 @@ python package_do_split_gconvs () { bb.error("locale_arch_options not found for target_arch=" + target_arch) bb.fatal("unknown arch:" + target_arch + " for locale_arch_options") - localedef_opts += " --force --no-archive --prefix=%s \ + localedef_opts += " --force --no-hard-links --no-archive --prefix=%s \ --inputfile=%s/%s/i18n/locales/%s --charmap=%s %s/%s" \ % (treedir, treedir, datadir, locale, encoding, outputpath, name) @@ -273,7 +276,7 @@ python package_do_split_gconvs () { (path, i18npath, gconvpath, localedef_opts) else: # earlier slower qemu way qemu = qemu_target_binary(d) - localedef_opts = "--force --no-archive --prefix=%s \ + localedef_opts = "--force --no-hard-links --no-archive --prefix=%s \ --inputfile=%s/i18n/locales/%s --charmap=%s %s" \ % (treedir, datadir, locale, encoding, name) diff --git a/poky/meta/classes/package.bbclass b/poky/meta/classes/package.bbclass index e67bb5bd97..114d6559f5 100644 --- a/poky/meta/classes/package.bbclass +++ b/poky/meta/classes/package.bbclass @@ -2252,14 +2252,18 @@ python do_package_setscene () { } addtask do_package_setscene -do_packagedata () { - : +# Copy from PKGDESTWORK to tempdirectory as tempdirectory can be cleaned at both +# do_package_setscene and do_packagedata_setscene leading to races +python do_packagedata () { + src = d.expand("${PKGDESTWORK}") + dest = d.expand("${WORKDIR}/pkgdata-pdata-input") + oe.path.copyhardlinktree(src, dest) } addtask packagedata before do_build after do_package SSTATETASKS += "do_packagedata" -do_packagedata[sstate-inputdirs] = "${PKGDESTWORK}" +do_packagedata[sstate-inputdirs] = "${WORKDIR}/pkgdata-pdata-input" do_packagedata[sstate-outputdirs] = "${PKGDATA_DIR}" do_packagedata[stamp-extra-info] = "${MACHINE_ARCH}" diff --git a/poky/meta/classes/systemd.bbclass b/poky/meta/classes/systemd.bbclass index d1cb17dc8d..747055b8fa 100644 --- a/poky/meta/classes/systemd.bbclass +++ b/poky/meta/classes/systemd.bbclass @@ -214,7 +214,6 @@ python rm_systemd_unitdir (){ if (os.path.exists(systemd_libdir) and not os.listdir(systemd_libdir)): os.rmdir(systemd_libdir) } -do_install[postfuncs] += "rm_systemd_unitdir " python rm_sysvinit_initddir (){ import shutil @@ -229,4 +228,8 @@ python rm_sysvinit_initddir (){ if (os.path.exists(systemd_system_unitdir) and os.listdir(systemd_system_unitdir)): shutil.rmtree(sysv_initddir) } -do_install[postfuncs] += "rm_sysvinit_initddir " + +do_install[postfuncs] += "${RMINITDIR} " +RMINITDIR_class-target = " rm_sysvinit_initddir rm_systemd_unitdir " +RMINITDIR = "" + diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf index ddcac09c5c..1311e6b5fd 100644 --- a/poky/meta/conf/bitbake.conf +++ b/poky/meta/conf/bitbake.conf @@ -649,7 +649,7 @@ GPE_MIRROR = "http://gpe.linuxtogo.org/download/source" 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" +XORG_MIRROR = "https://www.x.org/releases/" 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" diff --git a/poky/meta/conf/conf-notes.txt b/poky/meta/conf/conf-notes.txt index f1a4f4da14..5af13a8357 100644 --- a/poky/meta/conf/conf-notes.txt +++ b/poky/meta/conf/conf-notes.txt @@ -9,4 +9,9 @@ Common targets are: meta-toolchain meta-ide-support -You can also run generated qemu images with a command like 'runqemu qemux86' +You can also run generated qemu images with a command like 'runqemu qemux86'. + +Other commonly useful commands are: + - 'devtool' and 'recipetool' handle common recipe tasks + - 'bitbake-layers' handles common layer tasks + - 'oe-pkgdata-util' handles common target package tasks diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc index a595507948..6a2308d13c 100644 --- a/poky/meta/conf/distro/include/maintainers.inc +++ b/poky/meta/conf/distro/include/maintainers.inc @@ -200,7 +200,7 @@ RECIPE_MAINTAINER_pn-gcc-crosssdk-initial-${SDK_SYS} = "Khem Raj <raj.khem@gmail 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-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-gcc-source-9.2.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>" diff --git a/poky/meta/conf/distro/include/tcmode-default.inc b/poky/meta/conf/distro/include/tcmode-default.inc index 1966dbd521..c89b8e012d 100644 --- a/poky/meta/conf/distro/include/tcmode-default.inc +++ b/poky/meta/conf/distro/include/tcmode-default.inc @@ -24,7 +24,7 @@ BINUVERSION ?= "2.32%" GDBVERSION ?= "8.3%" GLIBCVERSION ?= "2.30%" LINUXLIBCVERSION ?= "5.0%" -QEMUVERSION ?= "4.0%" +QEMUVERSION ?= "4.1%" GOVERSION ?= "1.12%" # This can not use wildcards like 8.0.% since it is also used in mesa to denote # llvm version being used, so always bump it with llvm recipe version bump diff --git a/poky/meta/conf/machine/include/qemuboot-mips.inc b/poky/meta/conf/machine/include/qemuboot-mips.inc index 75bb98861f..a5f9ed821f 100644 --- a/poky/meta/conf/machine/include/qemuboot-mips.inc +++ b/poky/meta/conf/machine/include/qemuboot-mips.inc @@ -6,4 +6,3 @@ QB_KERNEL_CMDLINE_APPEND = "console=ttyS0 console=tty" QB_OPT_APPEND = "-vga cirrus -show-cursor -usb -device usb-tablet" # Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0" -QB_SYSTEM_NAME = "qemu-system-${TUNE_ARCH}" diff --git a/poky/meta/conf/machine/include/riscv/qemuriscv.inc b/poky/meta/conf/machine/include/riscv/qemuriscv.inc index 84d09fa78e..f1cb62818b 100644 --- a/poky/meta/conf/machine/include/riscv/qemuriscv.inc +++ b/poky/meta/conf/machine/include/riscv/qemuriscv.inc @@ -26,7 +26,7 @@ UBOOT_ENTRYPOINT_riscv64 = "0x80200000" QB_KERNEL_CMDLINE_APPEND = "earlycon=sbi" QB_MEM = "-m 512" QB_MACHINE = "-machine virt" -QB_DEFAULT_KERNEL = "fw_jump.elf" +QB_DEFAULT_BIOS = "fw_jump.elf" QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no" QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@" QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0" diff --git a/poky/meta/conf/machine/qemumips.conf b/poky/meta/conf/machine/qemumips.conf index 48d9f41d9d..31ad754483 100644 --- a/poky/meta/conf/machine/qemumips.conf +++ b/poky/meta/conf/machine/qemumips.conf @@ -10,3 +10,5 @@ KERNEL_IMAGETYPE = "vmlinux" KERNEL_ALT_IMAGETYPE = "vmlinux.bin" SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1" + +QB_SYSTEM_NAME = "qemu-system-mips" diff --git a/poky/meta/conf/machine/qemumips64.conf b/poky/meta/conf/machine/qemumips64.conf index 1872e7b62d..6d5174665f 100644 --- a/poky/meta/conf/machine/qemumips64.conf +++ b/poky/meta/conf/machine/qemumips64.conf @@ -12,3 +12,5 @@ KERNEL_IMAGETYPE = "vmlinux" KERNEL_ALT_IMAGETYPE = "vmlinux.bin" SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1" + +QB_SYSTEM_NAME = "qemu-system-mips64" diff --git a/poky/meta/conf/machine/qemuriscv64.conf b/poky/meta/conf/machine/qemuriscv64.conf index dba8f09e93..99b48b309b 100644 --- a/poky/meta/conf/machine/qemuriscv64.conf +++ b/poky/meta/conf/machine/qemuriscv64.conf @@ -4,8 +4,6 @@ require conf/machine/include/riscv/qemuriscv.inc -QB_OPT_APPEND += "-show-cursor -monitor null -device loader,file=${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE},addr=0x80200000" - EXTRA_IMAGEDEPENDS += "u-boot" UBOOT_MACHINE = "qemu-riscv64_defconfig" UBOOT_ELF = "u-boot" diff --git a/poky/meta/recipes-bsp/acpid/acpid_2.0.31.bb b/poky/meta/recipes-bsp/acpid/acpid_2.0.32.bb index 4074921324..227e4a4675 100644 --- a/poky/meta/recipes-bsp/acpid/acpid_2.0.31.bb +++ b/poky/meta/recipes-bsp/acpid/acpid_2.0.32.bb @@ -3,5 +3,5 @@ require acpid.inc LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \ file://acpid.h;endline=24;md5=324a9cf225ae69ddaad1bf9d942115b5" -SRC_URI[md5sum] = "599dd38681b5917eeeafb58176793952" -SRC_URI[sha256sum] = "fc9dc669ed85d9a1739aa76915e0667c6697c5431160f8dfb253046c6a072cc3" +SRC_URI[md5sum] = "248995264b9d1cd8bdb923d5b190fd44" +SRC_URI[sha256sum] = "f2d2d30b3edc3234bd82f6f7186699a6aa3c85c8d20bc4e30e9b3c68a1ed157e" diff --git a/poky/meta/recipes-bsp/opensbi/opensbi_0.4.bb b/poky/meta/recipes-bsp/opensbi/opensbi_0.4.bb index 382752895c..b030436688 100644 --- a/poky/meta/recipes-bsp/opensbi/opensbi_0.4.bb +++ b/poky/meta/recipes-bsp/opensbi/opensbi_0.4.bb @@ -49,3 +49,5 @@ FILES_${PN} += "/platform/${RISCV_SBI_PLAT}/firmware/fw_dynamic.*" COMPATIBLE_HOST = "(riscv64|riscv32).*" INHIBIT_PACKAGE_STRIP = "1" + +SECURITY_CFLAGS = "" diff --git a/poky/meta/recipes-connectivity/iw/iw_5.0.1.bb b/poky/meta/recipes-connectivity/iw/iw_5.0.1.bb index e127963513..87b21e668d 100644 --- a/poky/meta/recipes-connectivity/iw/iw_5.0.1.bb +++ b/poky/meta/recipes-connectivity/iw/iw_5.0.1.bb @@ -4,7 +4,7 @@ wireless devices. It supports almost all new drivers that have been added \ to the kernel recently. " HOMEPAGE = "http://wireless.kernel.org/en/users/Documentation/iw" SECTION = "base" -LICENSE = "BSD" +LICENSE = "BSD-2-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=878618a5c4af25e9b93ef0be1a93f774" DEPENDS = "libnl" diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service index 3c3a8022ce..c01415de84 100644 --- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service +++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service @@ -11,6 +11,7 @@ ConditionPathExists=@SYSCONFDIR@/exports [Service] EnvironmentFile=-@SYSCONFDIR@/nfs-utils.conf ExecStart=@SBINDIR@/rpc.mountd -F $MOUNTD_OPTS +LimitNOFILE=@HIGH_RLIMIT_NOFILE@ [Install] WantedBy=multi-user.target diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-statd.service b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-statd.service index 6e196b8c8c..4fa64e1998 100644 --- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-statd.service +++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-statd.service @@ -8,6 +8,7 @@ After=network.target nss-lookup.target rpcbind.service [Service] EnvironmentFile=-@SYSCONFDIR@/nfs-utils.conf ExecStart=@SBINDIR@/rpc.statd -F $STATD_OPTS +LimitNOFILE=@HIGH_RLIMIT_NOFILE@ [Install] WantedBy=multi-user.target diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.3.3.bb b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.3.3.bb index ac4437b925..28f98980d4 100644 --- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.3.3.bb +++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.3.3.bb @@ -119,6 +119,9 @@ do_compile_prepend() { make clean } +# Works on systemd only +HIGH_RLIMIT_NOFILE ??= "4096" + do_install_append () { install -d ${D}${sysconfdir}/init.d install -m 0755 ${WORKDIR}/nfsserver ${D}${sysconfdir}/init.d/nfsserver @@ -133,6 +136,7 @@ do_install_append () { install -m 0644 ${WORKDIR}/nfs-statd.service ${D}${systemd_unitdir}/system/ sed -i -e 's,@SBINDIR@,${sbindir},g' \ -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + -e 's,@HIGH_RLIMIT_NOFILE@,${HIGH_RLIMIT_NOFILE},g' \ ${D}${systemd_unitdir}/system/*.service if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then install -m 0644 ${WORKDIR}/proc-fs-nfsd.mount ${D}${systemd_unitdir}/system/ diff --git a/poky/meta/recipes-connectivity/ofono/ofono/0001-Makefile.am-Don-t-overwrite-src_ofonod_DEPENDENCIES.patch b/poky/meta/recipes-connectivity/ofono/ofono/0001-Makefile.am-Don-t-overwrite-src_ofonod_DEPENDENCIES.patch deleted file mode 100644 index 77073ddb1c..0000000000 --- a/poky/meta/recipes-connectivity/ofono/ofono/0001-Makefile.am-Don-t-overwrite-src_ofonod_DEPENDENCIES.patch +++ /dev/null @@ -1,50 +0,0 @@ -From eeaf8dac80f15a2b7c18d1d4ee63106973a6a873 Mon Sep 17 00:00:00 2001 -From: Adrian Bunk <bunk@kernel.org> -Date: Tue, 21 May 2019 14:13:35 +0300 -Subject: Makefile.am: Don't overwrite src_ofonod_DEPENDENCIES - -src_ofonod_DEPENDENCIES did overwrite the dependencies -automatically generated from src_ofonod_LDADD with -incomplete dependencies. - -This fixes the following build error: -... - CCLD src/ofonod -libtool: error: cannot find the library 'gdbus/libgdbus-internal.la' or unhandled argument 'gdbus/libgdbus-internal.la' -make: *** [Makefile:3448: src/ofonod] Error 1 - -Upstream-Status: Submitted -Signed-off-by: Adrian Bunk <bunk@stusta.de> ---- - Makefile.am | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index d2e310d5..5edc4488 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -6,12 +6,10 @@ noinst_LTLIBRARIES = - if EXTERNAL_ELL - ell_cflags = @ELL_CFLAGS@ - ell_ldadd = @ELL_LIBS@ --ell_dependencies = - ell_built_sources = - else - ell_cflags = - ell_ldadd = ell/libell-internal.la --ell_dependencies = $(ell_ldadd) - ell_built_sources = ell/internal ell/ell.h - - noinst_LTLIBRARIES += ell/libell-internal.la -@@ -729,8 +727,6 @@ src_ofonod_LDADD = gdbus/libgdbus-internal.la $(builtin_libadd) $(ell_ldadd) \ - src_ofonod_LDFLAGS = -Wl,--export-dynamic \ - -Wl,--version-script=$(srcdir)/src/ofono.ver - --src_ofonod_DEPENDENCIES = $(ell_dependencies) -- - BUILT_SOURCES = $(local_headers) $(ell_built_sources) src/builtin.h - - CLEANFILES = $(BUILT_SOURCES) $(rules_DATA) --- -2.20.1 - diff --git a/poky/meta/recipes-connectivity/ofono/ofono/0001-build-Add-check-for-explicit_bzero-support.patch b/poky/meta/recipes-connectivity/ofono/ofono/0001-build-Add-check-for-explicit_bzero-support.patch deleted file mode 100644 index 4676bb7668..0000000000 --- a/poky/meta/recipes-connectivity/ofono/ofono/0001-build-Add-check-for-explicit_bzero-support.patch +++ /dev/null @@ -1,27 +0,0 @@ -From dff595671bf5a46f7c9231966a6cd7d2a0183076 Mon Sep 17 00:00:00 2001 -From: Marcel Holtmann <marcel@holtmann.org> -Date: Wed, 15 May 2019 09:39:44 +0200 -Subject: build: Add check for explicit_bzero support - -Upstream-Status: Backport -Signed-off-by: Adrian Bunk <bunk@stusta.de> ---- - configure.ac | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/configure.ac b/configure.ac -index bacb7ac5..cad35c5d 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -54,6 +54,8 @@ AC_ARG_ENABLE(pie, AC_HELP_STRING([--enable-pie], - fi - ]) - -+AC_CHECK_FUNCS(explicit_bzero) -+ - AC_CHECK_FUNC(signalfd, dummy=yes, - AC_MSG_ERROR(signalfd support is required)) - --- -2.20.1 - diff --git a/poky/meta/recipes-connectivity/ofono/ofono/0001-build-Fix-a-race-condition.patch b/poky/meta/recipes-connectivity/ofono/ofono/0001-build-Fix-a-race-condition.patch deleted file mode 100644 index 2e2aa88265..0000000000 --- a/poky/meta/recipes-connectivity/ofono/ofono/0001-build-Fix-a-race-condition.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 3e43e3342f3fada1624a28500a5337019fed7d89 Mon Sep 17 00:00:00 2001 -From: Adrian Bunk <bunk@kernel.org> -Date: Thu, 9 May 2019 12:19:51 +0300 -Subject: build: Fix a race condition - -ell/ell.h was written before ell/ existed - -Upstream-Status: Backport -Signed-off-by: Adrian Bunk <bunk@stusta.de> ---- - Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Makefile.am b/Makefile.am -index a569c4a3..d2e310d5 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -1107,6 +1107,7 @@ ell/internal: Makefile - done > $@ - - ell/ell.h: Makefile -+ $(AM_V_at)$(MKDIR_P) ell - $(AM_V_at)echo -n > $@ - $(AM_V_GEN)for f in $(ell_headers) ; do \ - echo "#include <$$f>" >> $@ ; \ --- -2.20.1 - diff --git a/poky/meta/recipes-connectivity/ofono/ofono/0001-main-Quiet-ld-errors-with-external-ell.patch b/poky/meta/recipes-connectivity/ofono/ofono/0001-main-Quiet-ld-errors-with-external-ell.patch deleted file mode 100644 index f9858e7f20..0000000000 --- a/poky/meta/recipes-connectivity/ofono/ofono/0001-main-Quiet-ld-errors-with-external-ell.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 48e31f9fc3cf3c486c3d27a67b2687f6df0c5c71 Mon Sep 17 00:00:00 2001 -From: Denis Kenzior <denkenz@gmail.com> -Date: Thu, 16 May 2019 15:10:53 -0500 -Subject: main: Quiet ld errors with external ell - -When oFono is built with --enable-external-ell, the compiler for some -reason does not generate a debug section on some systems. This is due -to the fact that l_debug is never called. However, ell also does not -call l_debug, yet when built-in ell is used, the section is created by -the compiler. - -For now work around this by adding a no-op l_debug() call in main.c. -The real fix is to migrate all of the oFono logging functionality to use -ell instead. - -Upstream-Status: Backport -Signed-off-by: Adrian Bunk <bunk@stusta.de> ---- - src/main.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/main.c b/src/main.c -index 8623a060..4529cde1 100644 ---- a/src/main.c -+++ b/src/main.c -@@ -236,6 +236,7 @@ int main(int argc, char **argv) - event_loop = g_main_loop_new(NULL, FALSE); - - l_log_set_stderr(); -+ l_debug(""); - l_debug_enable("*"); - l_main_init(); - --- -2.20.1 - diff --git a/poky/meta/recipes-connectivity/ofono/ofono_1.29.bb b/poky/meta/recipes-connectivity/ofono/ofono_1.29.bb deleted file mode 100644 index 900a6d26d9..0000000000 --- a/poky/meta/recipes-connectivity/ofono/ofono_1.29.bb +++ /dev/null @@ -1,13 +0,0 @@ -require ofono.inc - -SRC_URI = "\ - ${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \ - file://ofono \ - file://0001-build-Fix-a-race-condition.patch \ - file://0001-build-Add-check-for-explicit_bzero-support.patch \ - file://0001-main-Quiet-ld-errors-with-external-ell.patch \ - file://0001-Makefile.am-Don-t-overwrite-src_ofonod_DEPENDENCIES.patch \ - file://0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch \ -" -SRC_URI[md5sum] = "4fa0372630ff03f223452e4d05efa8f8" -SRC_URI[sha256sum] = "67f0f8e5740dea5b46309e40667d1e560be39c90ef08dd01ff9e9ce8e61f0679" diff --git a/poky/meta/recipes-connectivity/ofono/ofono_1.30.bb b/poky/meta/recipes-connectivity/ofono/ofono_1.30.bb new file mode 100644 index 0000000000..c916cb1b22 --- /dev/null +++ b/poky/meta/recipes-connectivity/ofono/ofono_1.30.bb @@ -0,0 +1,9 @@ +require ofono.inc + +SRC_URI = "\ + ${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \ + file://ofono \ + file://0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch \ +" +SRC_URI[md5sum] = "2b1ce11a4db1f4b5c8cd96eb7e96ba0c" +SRC_URI[sha256sum] = "8079735efc5d7f33be9e792e791f2f7ff75c31ce67d477b994673e32319eec5c" diff --git a/poky/meta/recipes-connectivity/openssh/openssh_8.0p1.bb b/poky/meta/recipes-connectivity/openssh/openssh_8.0p1.bb index 35cdf71eb3..01eaecd4ec 100644 --- a/poky/meta/recipes-connectivity/openssh/openssh_8.0p1.bb +++ b/poky/meta/recipes-connectivity/openssh/openssh_8.0p1.bb @@ -5,7 +5,7 @@ Ssh (Secure Shell) is a program for logging into a remote machine \ and for executing commands on a remote machine." HOMEPAGE = "http://www.openssh.com/" SECTION = "console/network" -LICENSE = "BSD" +LICENSE = "BSD & ISC & MIT" LIC_FILES_CHKSUM = "file://LICENCE;md5=429658c6612f3a9b1293782366ab29d8" DEPENDS = "zlib openssl virtual/crypt" diff --git a/poky/meta/recipes-core/dbus/dbus/run-ptest b/poky/meta/recipes-core/dbus/dbus/run-ptest index cf2e68fa02..48535e13da 100755 --- a/poky/meta/recipes-core/dbus/dbus/run-ptest +++ b/poky/meta/recipes-core/dbus/dbus/run-ptest @@ -21,7 +21,8 @@ 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" ] + || [ $i = "test/test-segfault" ] \ + || [ $i = "test/test-bus" ] then continue fi diff --git a/poky/meta/recipes-core/glibc/cross-localedef-native_2.30.bb b/poky/meta/recipes-core/glibc/cross-localedef-native_2.30.bb index e4923c73d5..29cd43e89a 100644 --- a/poky/meta/recipes-core/glibc/cross-localedef-native_2.30.bb +++ b/poky/meta/recipes-core/glibc/cross-localedef-native_2.30.bb @@ -30,6 +30,8 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ file://0022-eglibc-Forward-port-cross-locale-generation-support.patch \ file://0023-Define-DUMMY_LOCALE_T-if-not-defined.patch \ file://0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \ + file://add-cross-localedef-hardlink.patch \ + file://allow-compile-separate-from-util-linux-hardlink.patch \ " # Makes for a rather long rev (22 characters), but... # @@ -43,4 +45,5 @@ CFLAGS += "-fgnu89-inline -std=gnu99 -DIS_IN\(x\)='0'" do_install() { install -d ${D}${bindir} install -m 0755 ${B}/localedef ${D}${bindir}/cross-localedef + install -m 0755 ${B}/cross-localedef-hardlink ${D}${bindir}/cross-localedef-hardlink } diff --git a/poky/meta/recipes-core/glibc/glibc/add-cross-localedef-hardlink.patch b/poky/meta/recipes-core/glibc/glibc/add-cross-localedef-hardlink.patch new file mode 100644 index 0000000000..8471121949 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/add-cross-localedef-hardlink.patch @@ -0,0 +1,1115 @@ +--- + locale/programs/c.h | 407 ++++++++++++++++++++++ + locale/programs/cross-localedef-hardlink.c | 528 +++++++++++++++++++++++++++++ + locale/programs/xalloc.h | 129 +++++++ + localedef/Makefile.in | 8 + 4 files changed, 1071 insertions(+), 1 deletion(-) + +--- /dev/null ++++ b/locale/programs/cross-localedef-hardlink.c +@@ -0,0 +1,528 @@ ++/* ++ * hardlink - consolidate duplicate files via hardlinks ++ * ++ * Copyright (C) 2018 Red Hat, Inc. All rights reserved. ++ * Written by Jakub Jelinek <jakub@redhat.com> ++ * ++ * Copyright (C) 2019 Karel Zak <kzak@redhat.com> ++ * ++ * 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 would 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. ++ */ ++#include <sys/types.h> ++#include <stdlib.h> ++#include <getopt.h> ++#include <stdio.h> ++#include <unistd.h> ++#include <sys/stat.h> ++#include <sys/mman.h> ++#include <string.h> ++#include <dirent.h> ++#include <fcntl.h> ++#include <errno.h> ++#ifdef HAVE_PCRE ++# define PCRE2_CODE_UNIT_WIDTH 8 ++# include <pcre2.h> ++#endif ++ ++#include "c.h" ++#include "xalloc.h" ++#include "nls.h" ++#include "closestream.h" ++ ++#define NHASH (1<<17) /* Must be a power of 2! */ ++#define NBUF 64 ++ ++struct hardlink_file; ++ ++struct hardlink_hash { ++ struct hardlink_hash *next; ++ struct hardlink_file *chain; ++ off_t size; ++ time_t mtime; ++}; ++ ++struct hardlink_dir { ++ struct hardlink_dir *next; ++ char name[]; ++}; ++ ++struct hardlink_file { ++ struct hardlink_file *next; ++ ino_t ino; ++ dev_t dev; ++ unsigned int cksum; ++ char name[]; ++}; ++ ++struct hardlink_dynstr { ++ char *buf; ++ size_t alloc; ++}; ++ ++struct hardlink_ctl { ++ struct hardlink_dir *dirs; ++ struct hardlink_hash *hps[NHASH]; ++ char iobuf1[BUFSIZ]; ++ char iobuf2[BUFSIZ]; ++ /* summary counters */ ++ unsigned long long ndirs; ++ unsigned long long nobjects; ++ unsigned long long nregfiles; ++ unsigned long long ncomp; ++ unsigned long long nlinks; ++ unsigned long long nsaved; ++ /* current device */ ++ dev_t dev; ++ /* flags */ ++ unsigned int verbose; ++ unsigned int ++ no_link:1, ++ content_only:1, ++ force:1; ++}; ++/* ctl is in global scope due use in atexit() */ ++struct hardlink_ctl global_ctl; ++ ++__attribute__ ((always_inline)) ++static inline unsigned int hash(off_t size, time_t mtime) ++{ ++ return (size ^ mtime) & (NHASH - 1); ++} ++ ++__attribute__ ((always_inline)) ++static inline int stcmp(struct stat *st1, struct stat *st2, int content_scope) ++{ ++ if (content_scope) ++ return st1->st_size != st2->st_size; ++ ++ return st1->st_mode != st2->st_mode ++ || st1->st_uid != st2->st_uid ++ || st1->st_gid != st2->st_gid ++ || st1->st_size != st2->st_size ++ || st1->st_mtime != st2->st_mtime; ++} ++ ++static void print_summary(void) ++{ ++ struct hardlink_ctl const *const ctl = &global_ctl; ++ ++ if (!ctl->verbose) ++ return; ++ ++ if (ctl->verbose > 1 && ctl->nlinks) ++ fputc('\n', stdout); ++ ++ printf(_("Directories: %9lld\n"), ctl->ndirs); ++ printf(_("Objects: %9lld\n"), ctl->nobjects); ++ printf(_("Regular files: %9lld\n"), ctl->nregfiles); ++ printf(_("Comparisons: %9lld\n"), ctl->ncomp); ++ printf( "%s%9lld\n", (ctl->no_link ? ++ _("Would link: ") : ++ _("Linked: ")), ctl->nlinks); ++ printf( "%s %9lld\n", (ctl->no_link ? ++ _("Would save: ") : ++ _("Saved: ")), ctl->nsaved); ++} ++ ++static void __attribute__((__noreturn__)) usage(void) ++{ ++ fputs(USAGE_HEADER, stdout); ++ printf(_(" %s [options] directory...\n"), program_invocation_short_name); ++ ++ fputs(USAGE_SEPARATOR, stdout); ++ puts(_("Consolidate duplicate files using hardlinks.")); ++ ++ fputs(USAGE_OPTIONS, stdout); ++ puts(_(" -c, --content compare only contents, ignore permission, etc.")); ++ puts(_(" -n, --dry-run don't actually link anything")); ++ puts(_(" -v, --verbose print summary after hardlinking")); ++ puts(_(" -vv print every hardlinked file and summary")); ++ puts(_(" -f, --force force hardlinking across filesystems")); ++ puts(_(" -x, --exclude <regex> exclude files matching pattern")); ++ ++ fputs(USAGE_SEPARATOR, stdout); ++ printf(USAGE_HELP_OPTIONS(16)); /* char offset to align option descriptions */ ++ printf(USAGE_MAN_TAIL("hardlink(1)")); ++ exit(EXIT_SUCCESS); ++} ++ ++__attribute__ ((always_inline)) ++static inline size_t add2(size_t a, size_t b) ++{ ++ size_t sum = a + b; ++ ++ if (sum < a) ++ errx(EXIT_FAILURE, _("integer overflow")); ++ return sum; ++} ++ ++__attribute__ ((always_inline)) ++static inline size_t add3(size_t a, size_t b, size_t c) ++{ ++ return add2(add2(a, b), c); ++} ++ ++static void growstr(struct hardlink_dynstr *str, size_t newlen) ++{ ++ if (newlen < str->alloc) ++ return; ++ str->buf = xrealloc(str->buf, str->alloc = add2(newlen, 1)); ++} ++ ++static void process_path(struct hardlink_ctl *ctl, const char *name) ++{ ++ struct stat st, st2, st3; ++ const size_t namelen = strlen(name); ++ ++ ctl->nobjects++; ++ if (lstat(name, &st)) ++ return; ++ ++ if (st.st_dev != ctl->dev && !ctl->force) { ++ if (ctl->dev) ++ errx(EXIT_FAILURE, ++ _("%s is on different filesystem than the rest " ++ "(use -f option to override)."), name); ++ ctl->dev = st.st_dev; ++ } ++ if (S_ISDIR(st.st_mode)) { ++ struct hardlink_dir *dp = xmalloc(add3(sizeof(*dp), namelen, 1)); ++ memcpy(dp->name, name, namelen + 1); ++ dp->next = ctl->dirs; ++ ctl->dirs = dp; ++ ++ } else if (S_ISREG(st.st_mode)) { ++ int fd, i; ++ struct hardlink_file *fp, *fp2; ++ struct hardlink_hash *hp; ++ const char *n1, *n2; ++ unsigned int buf[NBUF]; ++ int cksumsize = sizeof(buf); ++ unsigned int cksum; ++ time_t mtime = ctl->content_only ? 0 : st.st_mtime; ++ unsigned int hsh = hash(st.st_size, mtime); ++ off_t fsize; ++ ++ ctl->nregfiles++; ++ if (ctl->verbose > 1) ++ printf("%s\n", name); ++ ++ fd = open(name, O_RDONLY); ++ if (fd < 0) ++ return; ++ ++ if ((size_t)st.st_size < sizeof(buf)) { ++ cksumsize = st.st_size; ++ memset(((char *)buf) + cksumsize, 0, ++ (sizeof(buf) - cksumsize) % sizeof(buf[0])); ++ } ++ if (read(fd, buf, cksumsize) != cksumsize) { ++ close(fd); ++ return; ++ } ++ cksumsize = (cksumsize + sizeof(buf[0]) - 1) / sizeof(buf[0]); ++ for (i = 0, cksum = 0; i < cksumsize; i++) { ++ if (cksum + buf[i] < cksum) ++ cksum += buf[i] + 1; ++ else ++ cksum += buf[i]; ++ } ++ for (hp = ctl->hps[hsh]; hp; hp = hp->next) { ++ if (hp->size == st.st_size && hp->mtime == mtime) ++ break; ++ } ++ if (!hp) { ++ hp = xmalloc(sizeof(*hp)); ++ hp->size = st.st_size; ++ hp->mtime = mtime; ++ hp->chain = NULL; ++ hp->next = ctl->hps[hsh]; ++ ctl->hps[hsh] = hp; ++ } ++ for (fp = hp->chain; fp; fp = fp->next) { ++ if (fp->cksum == cksum) ++ break; ++ } ++ for (fp2 = fp; fp2 && fp2->cksum == cksum; fp2 = fp2->next) { ++ if (fp2->ino == st.st_ino && fp2->dev == st.st_dev) { ++ close(fd); ++ return; ++ } ++ } ++ for (fp2 = fp; fp2 && fp2->cksum == cksum; fp2 = fp2->next) { ++ ++ if (!lstat(fp2->name, &st2) && S_ISREG(st2.st_mode) && ++ !stcmp(&st, &st2, ctl->content_only) && ++ st2.st_ino != st.st_ino && ++ st2.st_dev == st.st_dev) { ++ ++ int fd2 = open(fp2->name, O_RDONLY); ++ if (fd2 < 0) ++ continue; ++ ++ if (fstat(fd2, &st2) || !S_ISREG(st2.st_mode) ++ || st2.st_size == 0) { ++ close(fd2); ++ continue; ++ } ++ ctl->ncomp++; ++ lseek(fd, 0, SEEK_SET); ++ ++ for (fsize = st.st_size; fsize > 0; ++ fsize -= (off_t)sizeof(ctl->iobuf1)) { ++ ssize_t xsz; ++ ssize_t rsize = fsize > (ssize_t) sizeof(ctl->iobuf1) ? ++ (ssize_t) sizeof(ctl->iobuf1) : fsize; ++ ++ if ((xsz = read(fd, ctl->iobuf1, rsize)) != rsize) ++ warn(_("cannot read %s"), name); ++ else if ((xsz = read(fd2, ctl->iobuf2, rsize)) != rsize) ++ warn(_("cannot read %s"), fp2->name); ++ ++ if (xsz != rsize) { ++ close(fd); ++ close(fd2); ++ return; ++ } ++ if (memcmp(ctl->iobuf1, ctl->iobuf2, rsize)) ++ break; ++ } ++ close(fd2); ++ if (fsize > 0) ++ continue; ++ if (lstat(name, &st3)) { ++ warn(_("cannot stat %s"), name); ++ close(fd); ++ return; ++ } ++ st3.st_atime = st.st_atime; ++ if (stcmp(&st, &st3, 0)) { ++ warnx(_("file %s changed underneath us"), name); ++ close(fd); ++ return; ++ } ++ n1 = fp2->name; ++ n2 = name; ++ ++ if (!ctl->no_link) { ++ const char *suffix = ++ ".$$$___cleanit___$$$"; ++ const size_t suffixlen = strlen(suffix); ++ size_t n2len = strlen(n2); ++ struct hardlink_dynstr nam2 = { NULL, 0 }; ++ ++ growstr(&nam2, add2(n2len, suffixlen)); ++ memcpy(nam2.buf, n2, n2len); ++ memcpy(&nam2.buf[n2len], suffix, ++ suffixlen + 1); ++ /* First create a temporary link to n1 under a new name */ ++ if (link(n1, nam2.buf)) { ++ warn(_("failed to hardlink %s to %s (create temporary link as %s failed)"), ++ n1, n2, nam2.buf); ++ free(nam2.buf); ++ continue; ++ } ++ /* Then rename into place over the existing n2 */ ++ if (rename(nam2.buf, n2)) { ++ warn(_("failed to hardlink %s to %s (rename temporary link to %s failed)"), ++ n1, n2, n2); ++ /* Something went wrong, try to remove the now redundant temporary link */ ++ if (unlink(nam2.buf)) ++ warn(_("failed to remove temporary link %s"), nam2.buf); ++ free(nam2.buf); ++ continue; ++ } ++ free(nam2.buf); ++ } ++ ctl->nlinks++; ++ if (st3.st_nlink > 1) { ++ /* We actually did not save anything this time, since the link second argument ++ had some other links as well. */ ++ if (ctl->verbose > 1) ++ printf(_(" %s %s to %s\n"), ++ (ctl->no_link ? _("Would link") : _("Linked")), ++ n1, n2); ++ } else { ++ ctl->nsaved += ((st.st_size + 4095) / 4096) * 4096; ++ if (ctl->verbose > 1) ++ printf(_(" %s %s to %s, %s %jd\n"), ++ (ctl->no_link ? _("Would link") : _("Linked")), ++ n1, n2, ++ (ctl->no_link ? _("would save") : _("saved")), ++ (intmax_t)st.st_size); ++ } ++ close(fd); ++ return; ++ } ++ } ++ fp2 = xmalloc(add3(sizeof(*fp2), namelen, 1)); ++ close(fd); ++ fp2->ino = st.st_ino; ++ fp2->dev = st.st_dev; ++ fp2->cksum = cksum; ++ memcpy(fp2->name, name, namelen + 1); ++ ++ if (fp) { ++ fp2->next = fp->next; ++ fp->next = fp2; ++ } else { ++ fp2->next = hp->chain; ++ hp->chain = fp2; ++ } ++ return; ++ } ++} ++ ++int main(int argc, char **argv) ++{ ++ int ch; ++ int i; ++#ifdef HAVE_PCRE ++ int errornumber; ++ PCRE2_SIZE erroroffset; ++ pcre2_code *re = NULL; ++ PCRE2_SPTR exclude_pattern = NULL; ++ pcre2_match_data *match_data = NULL; ++#endif ++ struct hardlink_dynstr nam1 = { NULL, 0 }; ++ struct hardlink_ctl *ctl = &global_ctl; ++ ++ static const struct option longopts[] = { ++ { "content", no_argument, NULL, 'c' }, ++ { "dry-run", no_argument, NULL, 'n' }, ++ { "exclude", required_argument, NULL, 'x' }, ++ { "force", no_argument, NULL, 'f' }, ++ { "help", no_argument, NULL, 'h' }, ++ { "verbose", no_argument, NULL, 'v' }, ++ { "version", no_argument, NULL, 'V' }, ++ { NULL, 0, NULL, 0 }, ++ }; ++ ++ setlocale(LC_ALL, ""); ++ bindtextdomain(PACKAGE, LOCALEDIR); ++ textdomain(PACKAGE); ++ close_stdout_atexit(); ++ ++ while ((ch = getopt_long(argc, argv, "cnvfx:Vh", longopts, NULL)) != -1) { ++ switch (ch) { ++ case 'n': ++ ctl->no_link = 1; ++ break; ++ case 'v': ++ ctl->verbose++; ++ break; ++ case 'c': ++ ctl->content_only = 1; ++ break; ++ case 'f': ++ ctl->force = 1; ++ break; ++ case 'x': ++#ifdef HAVE_PCRE ++ exclude_pattern = (PCRE2_SPTR) optarg; ++#else ++ errx(EXIT_FAILURE, ++ _("option --exclude not supported (built without pcre2)")); ++#endif ++ break; ++ case 'V': ++ print_version(EXIT_SUCCESS); ++ case 'h': ++ usage(); ++ default: ++ errtryhelp(EXIT_FAILURE); ++ } ++ } ++ ++ if (optind == argc) { ++ warnx(_("no directory specified")); ++ errtryhelp(EXIT_FAILURE); ++ } ++ ++#ifdef HAVE_PCRE ++ if (exclude_pattern) { ++ re = pcre2_compile(exclude_pattern, /* the pattern */ ++ PCRE2_ZERO_TERMINATED, /* indicates pattern is zero-terminate */ ++ 0, /* default options */ ++ &errornumber, &erroroffset, NULL); /* use default compile context */ ++ if (!re) { ++ PCRE2_UCHAR buffer[256]; ++ pcre2_get_error_message(errornumber, buffer, ++ sizeof(buffer)); ++ errx(EXIT_FAILURE, _("pattern error at offset %d: %s"), ++ (int)erroroffset, buffer); ++ } ++ match_data = pcre2_match_data_create_from_pattern(re, NULL); ++ } ++#endif ++ atexit(print_summary); ++ ++ for (i = optind; i < argc; i++) ++ process_path(ctl, argv[i]); ++ ++ while (ctl->dirs) { ++ DIR *dh; ++ struct dirent *di; ++ struct hardlink_dir *dp = ctl->dirs; ++ size_t nam1baselen = strlen(dp->name); ++ ++ ctl->dirs = dp->next; ++ growstr(&nam1, add2(nam1baselen, 1)); ++ memcpy(nam1.buf, dp->name, nam1baselen); ++ free(dp); ++ nam1.buf[nam1baselen++] = '/'; ++ nam1.buf[nam1baselen] = 0; ++ dh = opendir(nam1.buf); ++ ++ if (dh == NULL) ++ continue; ++ ctl->ndirs++; ++ ++ while ((di = readdir(dh)) != NULL) { ++ if (!di->d_name[0]) ++ continue; ++ if (di->d_name[0] == '.') { ++ if (!di->d_name[1] || !strcmp(di->d_name, "..")) ++ continue; ++ } ++#ifdef HAVE_PCRE ++ if (re && pcre2_match(re, /* compiled regex */ ++ (PCRE2_SPTR) di->d_name, strlen(di->d_name), 0, /* start at offset 0 */ ++ 0, /* default options */ ++ match_data, /* block for storing the result */ ++ NULL) /* use default match context */ ++ >=0) { ++ if (ctl->verbose) { ++ nam1.buf[nam1baselen] = 0; ++ printf(_("Skipping %s%s\n"), nam1.buf, di->d_name); ++ } ++ continue; ++ } ++#endif ++ { ++ size_t subdirlen; ++ growstr(&nam1, ++ add2(nam1baselen, subdirlen = ++ strlen(di->d_name))); ++ memcpy(&nam1.buf[nam1baselen], di->d_name, ++ add2(subdirlen, 1)); ++ } ++ process_path(ctl, nam1.buf); ++ } ++ closedir(dh); ++ } ++ ++ return 0; ++} +--- a/localedef/Makefile.in ++++ b/localedef/Makefile.in +@@ -40,6 +40,8 @@ WARNFLAGS = -Wall -Wno-format + FULLCC = $(CC) $(CPPFLAGS) $(CFLAGS) \ + $(DEFINES) $(INCLUDES) $(WARNFLAGS) + ++CROSS_LOCALEDEF_HARDLINK_OBJS = cross-localedef-hardlink.o ++ + LOCALEDEF_OBJS = charmap.o charmap-dir.o ld-address.o ld-collate.o \ + ld-ctype.o ld-identification.o ld-measurement.o \ + ld-messages.o ld-monetary.o ld-name.o ld-numeric.o \ +@@ -54,11 +56,14 @@ LOCALEDEF_OBJS = charmap.o charmap-dir.o + asprintf.o getdelim.o localedef_extra.o \ + obstack_printf.o vasprintf.o + +-all: localedef$(EXEEXT) ++all: localedef$(EXEEXT) cross-localedef-hardlink$(EXEEXT) + + localedef$(EXEEXT): $(LOCALEDEF_OBJS) + $(CC) -o $@ $(LOCALEDEF_OBJS) $(LIBS) + ++cross-localedef-hardlink$(EXEEXT): $(CROSS_LOCALEDEF_HARDLINK_OBJS) ++ $(CC) -o $@ $(CROSS_LOCALEDEF_HARDLINK_OBJS) $(LIBS) ++ + clean: + rm -f locale$(EXEEXT) $(LOCALEDEF_OBJS) + +@@ -77,6 +82,7 @@ clean: + %.o: $(srcdir)/%.c + $(FULLCC) -c -o $@ $< + ++cross-localedef-hardlink.o: glibc/locale/programs/cross-localedef-hardlink.c + charmap.o: glibc/locale/programs/charmap.c + charmap-dir.o: glibc/locale/programs/charmap-dir.c + ld-address.o: glibc/locale/programs/ld-address.c +--- /dev/null ++++ b/locale/programs/c.h +@@ -0,0 +1,407 @@ ++/* ++ * Fundamental C definitions. ++ */ ++ ++#ifndef UTIL_LINUX_C_H ++#define UTIL_LINUX_C_H ++ ++#include <limits.h> ++#include <stddef.h> ++#include <stdint.h> ++#include <stdio.h> ++#include <unistd.h> ++#include <stdarg.h> ++#include <stdlib.h> ++#include <string.h> ++#include <errno.h> ++ ++#include <assert.h> ++ ++#ifdef HAVE_ERR_H ++# include <err.h> ++#endif ++ ++#ifdef HAVE_SYS_SYSMACROS_H ++# include <sys/sysmacros.h> /* for major, minor */ ++#endif ++ ++#ifndef LOGIN_NAME_MAX ++# define LOGIN_NAME_MAX 256 ++#endif ++ ++#ifndef NAME_MAX ++# define NAME_MAX PATH_MAX ++#endif ++ ++/* ++ * __GNUC_PREREQ is deprecated in favour of __has_attribute() and ++ * __has_feature(). The __has macros are supported by clang and gcc>=5. ++ */ ++#ifndef __GNUC_PREREQ ++# if defined __GNUC__ && defined __GNUC_MINOR__ ++# define __GNUC_PREREQ(maj, min) \ ++ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) ++# else ++# define __GNUC_PREREQ(maj, min) 0 ++# endif ++#endif ++ ++#ifdef __GNUC__ ++ ++/* &a[0] degrades to a pointer: a different type from an array */ ++# define __must_be_array(a) \ ++ UL_BUILD_BUG_ON_ZERO(__builtin_types_compatible_p(__typeof__(a), __typeof__(&a[0]))) ++ ++# define ignore_result(x) __extension__ ({ \ ++ __typeof__(x) __dummy __attribute__((__unused__)) = (x); (void) __dummy; \ ++}) ++ ++#else /* !__GNUC__ */ ++# define __must_be_array(a) 0 ++# define __attribute__(_arg_) ++# define ignore_result(x) ((void) (x)) ++#endif /* !__GNUC__ */ ++ ++/* ++ * It evaluates to 1 if the attribute/feature is supported by the current ++ * compilation targed. Fallback for old compilers. ++ */ ++#ifndef __has_attribute ++ #define __has_attribute(x) 0 ++#endif ++ ++#ifndef __has_feature ++ #define __has_feature(x) 0 ++#endif ++ ++/* ++ * Function attributes ++ */ ++#ifndef __ul_alloc_size ++# if (__has_attribute(alloc_size) && __has_attribute(warn_unused_result)) || __GNUC_PREREQ (4, 3) ++# define __ul_alloc_size(s) __attribute__((alloc_size(s), warn_unused_result)) ++# else ++# define __ul_alloc_size(s) ++# endif ++#endif ++ ++#ifndef __ul_calloc_size ++# if (__has_attribute(alloc_size) && __has_attribute(warn_unused_result)) || __GNUC_PREREQ (4, 3) ++# define __ul_calloc_size(n, s) __attribute__((alloc_size(n, s), warn_unused_result)) ++# else ++# define __ul_calloc_size(n, s) ++# endif ++#endif ++ ++#if __has_attribute(returns_nonnull) || __GNUC_PREREQ (4, 9) ++# define __ul_returns_nonnull __attribute__((returns_nonnull)) ++#else ++# define __ul_returns_nonnull ++#endif ++ ++/* ++ * Force a compilation error if condition is true, but also produce a ++ * result (of value 0 and type size_t), so the expression can be used ++ * e.g. in a structure initializer (or wherever else comma expressions ++ * aren't permitted). ++ */ ++#define UL_BUILD_BUG_ON_ZERO(e) __extension__ (sizeof(struct { int:-!!(e); })) ++#define BUILD_BUG_ON_NULL(e) ((void *)sizeof(struct { int:-!!(e); })) ++ ++#ifndef ARRAY_SIZE ++# define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) ++#endif ++ ++#ifndef PATH_MAX ++# define PATH_MAX 4096 ++#endif ++ ++#ifndef TRUE ++# define TRUE 1 ++#endif ++ ++#ifndef FALSE ++# define FALSE 0 ++#endif ++ ++#ifndef min ++# define min(x, y) __extension__ ({ \ ++ __typeof__(x) _min1 = (x); \ ++ __typeof__(y) _min2 = (y); \ ++ (void) (&_min1 == &_min2); \ ++ _min1 < _min2 ? _min1 : _min2; }) ++#endif ++ ++#ifndef max ++# define max(x, y) __extension__ ({ \ ++ __typeof__(x) _max1 = (x); \ ++ __typeof__(y) _max2 = (y); \ ++ (void) (&_max1 == &_max2); \ ++ _max1 > _max2 ? _max1 : _max2; }) ++#endif ++ ++#ifndef cmp_numbers ++# define cmp_numbers(x, y) __extension__ ({ \ ++ __typeof__(x) _a = (x); \ ++ __typeof__(y) _b = (y); \ ++ (void) (&_a == &_b); \ ++ _a == _b ? 0 : _a > _b ? 1 : -1; }) ++#endif ++ ++#ifndef offsetof ++#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) ++#endif ++ ++/* ++ * container_of - cast a member of a structure out to the containing structure ++ * @ptr: the pointer to the member. ++ * @type: the type of the container struct this is embedded in. ++ * @member: the name of the member within the struct. ++ */ ++#ifndef container_of ++#define container_of(ptr, type, member) __extension__ ({ \ ++ const __typeof__( ((type *)0)->member ) *__mptr = (ptr); \ ++ (type *)( (char *)__mptr - offsetof(type,member) );}) ++#endif ++ ++#ifndef HAVE_PROGRAM_INVOCATION_SHORT_NAME ++# ifdef HAVE___PROGNAME ++extern char *__progname; ++# define program_invocation_short_name __progname ++# else ++# ifdef HAVE_GETEXECNAME ++# define program_invocation_short_name \ ++ prog_inv_sh_nm_from_file(getexecname(), 0) ++# else ++# define program_invocation_short_name \ ++ prog_inv_sh_nm_from_file(__FILE__, 1) ++# endif ++static char prog_inv_sh_nm_buf[256]; ++static inline char * ++prog_inv_sh_nm_from_file(char *f, char stripext) ++{ ++ char *t; ++ ++ if ((t = strrchr(f, '/')) != NULL) ++ t++; ++ else ++ t = f; ++ ++ strncpy(prog_inv_sh_nm_buf, t, sizeof(prog_inv_sh_nm_buf) - 1); ++ prog_inv_sh_nm_buf[sizeof(prog_inv_sh_nm_buf) - 1] = '\0'; ++ ++ if (stripext && (t = strrchr(prog_inv_sh_nm_buf, '.')) != NULL) ++ *t = '\0'; ++ ++ return prog_inv_sh_nm_buf; ++} ++# endif ++#endif ++ ++ ++#ifndef HAVE_ERR_H ++static inline void ++errmsg(char doexit, int excode, char adderr, const char *fmt, ...) ++{ ++ fprintf(stderr, "%s: ", program_invocation_short_name); ++ if (fmt != NULL) { ++ va_list argp; ++ va_start(argp, fmt); ++ vfprintf(stderr, fmt, argp); ++ va_end(argp); ++ if (adderr) ++ fprintf(stderr, ": "); ++ } ++ if (adderr) ++ fprintf(stderr, "%m"); ++ fprintf(stderr, "\n"); ++ if (doexit) ++ exit(excode); ++} ++ ++#ifndef HAVE_ERR ++# define err(E, FMT...) errmsg(1, E, 1, FMT) ++#endif ++ ++#ifndef HAVE_ERRX ++# define errx(E, FMT...) errmsg(1, E, 0, FMT) ++#endif ++ ++#ifndef HAVE_WARN ++# define warn(FMT...) errmsg(0, 0, 1, FMT) ++#endif ++ ++#ifndef HAVE_WARNX ++# define warnx(FMT...) errmsg(0, 0, 0, FMT) ++#endif ++#endif /* !HAVE_ERR_H */ ++ ++ ++/* Don't use inline function to avoid '#include "nls.h"' in c.h ++ */ ++#define errtryhelp(eval) __extension__ ({ \ ++ fprintf(stderr, _("Try '%s --help' for more information.\n"), \ ++ program_invocation_short_name); \ ++ exit(eval); \ ++}) ++ ++/* After failed execvp() */ ++#define EX_EXEC_FAILED 126 /* Program located, but not usable. */ ++#define EX_EXEC_ENOENT 127 /* Could not find program to exec. */ ++#define errexec(name) err(errno == ENOENT ? EX_EXEC_ENOENT : EX_EXEC_FAILED, \ ++ _("failed to execute %s"), name) ++ ++ ++static inline __attribute__((const)) int is_power_of_2(unsigned long num) ++{ ++ return (num != 0 && ((num & (num - 1)) == 0)); ++} ++ ++#ifndef HAVE_LOFF_T ++typedef int64_t loff_t; ++#endif ++ ++#if !defined(HAVE_DIRFD) && (!defined(HAVE_DECL_DIRFD) || HAVE_DECL_DIRFD == 0) && defined(HAVE_DIR_DD_FD) ++#include <sys/types.h> ++#include <dirent.h> ++static inline int dirfd(DIR *d) ++{ ++ return d->dd_fd; ++} ++#endif ++ ++/* ++ * Fallback defines for old versions of glibc ++ */ ++#include <fcntl.h> ++ ++#ifdef O_CLOEXEC ++#define UL_CLOEXECSTR "e" ++#else ++#define UL_CLOEXECSTR "" ++#endif ++ ++#ifndef O_CLOEXEC ++#define O_CLOEXEC 0 ++#endif ++ ++#ifdef __FreeBSD_kernel__ ++#ifndef F_DUPFD_CLOEXEC ++#define F_DUPFD_CLOEXEC 17 /* Like F_DUPFD, but FD_CLOEXEC is set */ ++#endif ++#endif ++ ++ ++#ifndef AI_ADDRCONFIG ++#define AI_ADDRCONFIG 0x0020 ++#endif ++ ++#ifndef IUTF8 ++#define IUTF8 0040000 ++#endif ++ ++/* ++ * MAXHOSTNAMELEN replacement ++ */ ++static inline size_t get_hostname_max(void) ++{ ++ long len = sysconf(_SC_HOST_NAME_MAX); ++ ++ if (0 < len) ++ return len; ++ ++#ifdef MAXHOSTNAMELEN ++ return MAXHOSTNAMELEN; ++#elif HOST_NAME_MAX ++ return HOST_NAME_MAX; ++#endif ++ return 64; ++} ++ ++ ++/* ++ * Constant strings for usage() functions. For more info see ++ * Documentation/{howto-usage-function.txt,boilerplate.c} ++ */ ++#define USAGE_HEADER ("\nUsage:\n") ++#define USAGE_OPTIONS ("\nOptions:\n") ++#define USAGE_FUNCTIONS ("\nFunctions:\n") ++#define USAGE_COMMANDS ("\nCommands:\n") ++#define USAGE_COLUMNS ("\nAvailable output columns:\n") ++#define USAGE_SEPARATOR "\n" ++ ++#define USAGE_OPTSTR_HELP ("display this help") ++#define USAGE_OPTSTR_VERSION ("display version") ++ ++#define USAGE_HELP_OPTIONS(marg_dsc) \ ++ "%-" #marg_dsc "s%s\n" \ ++ "%-" #marg_dsc "s%s\n" \ ++ , " -h, --help", USAGE_OPTSTR_HELP \ ++ , " -V, --version", USAGE_OPTSTR_VERSION ++ ++#define USAGE_MAN_TAIL(_man) ("\nFor more details see %s.\n"), _man ++ ++#define UTIL_LINUX_VERSION ("%s from %s\n"), program_invocation_short_name, PACKAGE_STRING ++ ++#define print_version(eval) __extension__ ({ \ ++ printf(UTIL_LINUX_VERSION); \ ++ exit(eval); \ ++}) ++ ++/* ++ * scanf modifiers for "strings allocation" ++ */ ++#ifdef HAVE_SCANF_MS_MODIFIER ++#define UL_SCNsA "%ms" ++#elif defined(HAVE_SCANF_AS_MODIFIER) ++#define UL_SCNsA "%as" ++#endif ++ ++/* ++ * seek stuff ++ */ ++#ifndef SEEK_DATA ++# define SEEK_DATA 3 ++#endif ++#ifndef SEEK_HOLE ++# define SEEK_HOLE 4 ++#endif ++ ++ ++/* ++ * Macros to convert #define'itions to strings, for example ++ * #define XYXXY 42 ++ * printf ("%s=%s\n", stringify(XYXXY), stringify_value(XYXXY)); ++ */ ++#define stringify_value(s) stringify(s) ++#define stringify(s) #s ++ ++/* ++ * UL_ASAN_BLACKLIST is a macro to tell AddressSanitizer (a compile-time ++ * instrumentation shipped with Clang and GCC) to not instrument the ++ * annotated function. Furthermore, it will prevent the compiler from ++ * inlining the function because inlining currently breaks the blacklisting ++ * mechanism of AddressSanitizer. ++ */ ++#if __has_feature(address_sanitizer) && __has_attribute(no_sanitize_memory) && __has_attribute(no_sanitize_address) ++# define UL_ASAN_BLACKLIST __attribute__((noinline)) __attribute__((no_sanitize_memory)) __attribute__((no_sanitize_address)) ++#else ++# define UL_ASAN_BLACKLIST /* nothing */ ++#endif ++ ++/* ++ * Note that sysconf(_SC_GETPW_R_SIZE_MAX) returns *initial* suggested size for ++ * pwd buffer and in some cases it is not large enough. See POSIX and ++ * getpwnam_r man page for more details. ++ */ ++#define UL_GETPW_BUFSIZ (16 * 1024) ++ ++/* ++ * Darwin or other BSDs may only have MAP_ANON. To get it on Darwin we must ++ * define _DARWIN_C_SOURCE before including sys/mman.h. We do this in config.h. ++ */ ++#if !defined MAP_ANONYMOUS && defined MAP_ANON ++# define MAP_ANONYMOUS (MAP_ANON) ++#endif ++ ++#endif /* UTIL_LINUX_C_H */ +--- /dev/null ++++ b/locale/programs/xalloc.h +@@ -0,0 +1,129 @@ ++/* ++ * Copyright (C) 2010 Davidlohr Bueso <dave@gnu.org> ++ * ++ * This file may be redistributed under the terms of the ++ * GNU Lesser General Public License. ++ * ++ * General memory allocation wrappers for malloc, realloc, calloc and strdup ++ */ ++ ++#ifndef UTIL_LINUX_XALLOC_H ++#define UTIL_LINUX_XALLOC_H ++ ++#include <stdlib.h> ++#include <string.h> ++ ++#include "c.h" ++ ++#ifndef XALLOC_EXIT_CODE ++# define XALLOC_EXIT_CODE EXIT_FAILURE ++#endif ++ ++static inline void __attribute__((__noreturn__)) ++__err_oom(const char *file, unsigned int line) ++{ ++ err(XALLOC_EXIT_CODE, "%s: %u: cannot allocate memory", file, line); ++} ++ ++#define err_oom() __err_oom(__FILE__, __LINE__) ++ ++static inline __ul_alloc_size(1) __ul_returns_nonnull ++void *xmalloc(const size_t size) ++{ ++ void *ret = malloc(size); ++ ++ if (!ret && size) ++ err(XALLOC_EXIT_CODE, "cannot allocate %zu bytes", size); ++ return ret; ++} ++ ++static inline __ul_alloc_size(2) __ul_returns_nonnull ++void *xrealloc(void *ptr, const size_t size) ++{ ++ void *ret = realloc(ptr, size); ++ ++ if (!ret && size) ++ err(XALLOC_EXIT_CODE, "cannot allocate %zu bytes", size); ++ return ret; ++} ++ ++static inline __ul_calloc_size(1, 2) __ul_returns_nonnull ++void *xcalloc(const size_t nelems, const size_t size) ++{ ++ void *ret = calloc(nelems, size); ++ ++ if (!ret && size && nelems) ++ err(XALLOC_EXIT_CODE, "cannot allocate %zu bytes", size); ++ return ret; ++} ++ ++static inline char __attribute__((warn_unused_result)) __ul_returns_nonnull ++*xstrdup(const char *str) ++{ ++ char *ret; ++ ++ if (!str) ++ return NULL; ++ ++ ret = strdup(str); ++ ++ if (!ret) ++ err(XALLOC_EXIT_CODE, "cannot duplicate string"); ++ return ret; ++} ++ ++static inline char * __attribute__((warn_unused_result)) __ul_returns_nonnull ++xstrndup(const char *str, size_t size) ++{ ++ char *ret; ++ ++ if (!str) ++ return NULL; ++ ++ ret = strndup(str, size); ++ ++ if (!ret) ++ err(XALLOC_EXIT_CODE, "cannot duplicate string"); ++ return ret; ++} ++ ++ ++static inline int __attribute__ ((__format__(printf, 2, 3))) ++ xasprintf(char **strp, const char *fmt, ...) ++{ ++ int ret; ++ va_list args; ++ va_start(args, fmt); ++ ret = vasprintf(&(*strp), fmt, args); ++ va_end(args); ++ if (ret < 0) ++ err(XALLOC_EXIT_CODE, "cannot allocate string"); ++ return ret; ++} ++ ++static inline int __attribute__ ((__format__(printf, 2, 0))) ++xvasprintf(char **strp, const char *fmt, va_list ap) ++{ ++ int ret = vasprintf(&(*strp), fmt, ap); ++ if (ret < 0) ++ err(XALLOC_EXIT_CODE, "cannot allocate string"); ++ return ret; ++} ++ ++ ++static inline char * __attribute__((warn_unused_result)) xgethostname(void) ++{ ++ char *name; ++ size_t sz = get_hostname_max() + 1; ++ ++ name = xmalloc(sizeof(char) * sz); ++ ++ if (gethostname(name, sz) != 0) { ++ free(name); ++ return NULL; ++ } ++ name[sz - 1] = '\0'; ++ return name; ++} ++ ++#endif diff --git a/poky/meta/recipes-core/glibc/glibc/allow-compile-separate-from-util-linux-hardlink.patch b/poky/meta/recipes-core/glibc/glibc/allow-compile-separate-from-util-linux-hardlink.patch new file mode 100644 index 0000000000..1148ebfcc7 --- /dev/null +++ b/poky/meta/recipes-core/glibc/glibc/allow-compile-separate-from-util-linux-hardlink.patch @@ -0,0 +1,226 @@ +--- + locale/programs/c.h | 2 + locale/programs/cross-localedef-hardlink.c | 79 +++++++++++++---------------- + 2 files changed, 39 insertions(+), 42 deletions(-) + +--- a/locale/programs/cross-localedef-hardlink.c ++++ b/locale/programs/cross-localedef-hardlink.c +@@ -20,6 +20,8 @@ + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ ++ ++#undef HAVE_PCRE + #include <sys/types.h> + #include <stdlib.h> + #include <getopt.h> +@@ -38,8 +40,8 @@ + + #include "c.h" + #include "xalloc.h" +-#include "nls.h" +-#include "closestream.h" ++//#include "nls.h" ++//#include "closestream.h" + + #define NHASH (1<<17) /* Must be a power of 2! */ + #define NBUF 64 +@@ -124,33 +126,33 @@ static void print_summary(void) + if (ctl->verbose > 1 && ctl->nlinks) + fputc('\n', stdout); + +- printf(_("Directories: %9lld\n"), ctl->ndirs); +- printf(_("Objects: %9lld\n"), ctl->nobjects); +- printf(_("Regular files: %9lld\n"), ctl->nregfiles); +- printf(_("Comparisons: %9lld\n"), ctl->ncomp); ++ printf(("Directories: %9lld\n"), ctl->ndirs); ++ printf(("Objects: %9lld\n"), ctl->nobjects); ++ printf(("Regular files: %9lld\n"), ctl->nregfiles); ++ printf(("Comparisons: %9lld\n"), ctl->ncomp); + printf( "%s%9lld\n", (ctl->no_link ? +- _("Would link: ") : +- _("Linked: ")), ctl->nlinks); ++ ("Would link: ") : ++ ("Linked: ")), ctl->nlinks); + printf( "%s %9lld\n", (ctl->no_link ? +- _("Would save: ") : +- _("Saved: ")), ctl->nsaved); ++ ("Would save: ") : ++ ("Saved: ")), ctl->nsaved); + } + + static void __attribute__((__noreturn__)) usage(void) + { + fputs(USAGE_HEADER, stdout); +- printf(_(" %s [options] directory...\n"), program_invocation_short_name); ++ printf((" %s [options] directory...\n"), program_invocation_short_name); + + fputs(USAGE_SEPARATOR, stdout); +- puts(_("Consolidate duplicate files using hardlinks.")); ++ puts(("Consolidate duplicate files using hardlinks.")); + + fputs(USAGE_OPTIONS, stdout); +- puts(_(" -c, --content compare only contents, ignore permission, etc.")); +- puts(_(" -n, --dry-run don't actually link anything")); +- puts(_(" -v, --verbose print summary after hardlinking")); +- puts(_(" -vv print every hardlinked file and summary")); +- puts(_(" -f, --force force hardlinking across filesystems")); +- puts(_(" -x, --exclude <regex> exclude files matching pattern")); ++ puts((" -c, --content compare only contents, ignore permission, etc.")); ++ puts((" -n, --dry-run don't actually link anything")); ++ puts((" -v, --verbose print summary after hardlinking")); ++ puts((" -vv print every hardlinked file and summary")); ++ puts((" -f, --force force hardlinking across filesystems")); ++ puts((" -x, --exclude <regex> exclude files matching pattern")); + + fputs(USAGE_SEPARATOR, stdout); + printf(USAGE_HELP_OPTIONS(16)); /* char offset to align option descriptions */ +@@ -164,7 +166,7 @@ static inline size_t add2(size_t a, size + size_t sum = a + b; + + if (sum < a) +- errx(EXIT_FAILURE, _("integer overflow")); ++ errx(EXIT_FAILURE, ("integer overflow")); + return sum; + } + +@@ -193,7 +195,7 @@ static void process_path(struct hardlink + if (st.st_dev != ctl->dev && !ctl->force) { + if (ctl->dev) + errx(EXIT_FAILURE, +- _("%s is on different filesystem than the rest " ++ ("%s is on different filesystem than the rest " + "(use -f option to override)."), name); + ctl->dev = st.st_dev; + } +@@ -287,9 +289,9 @@ static void process_path(struct hardlink + (ssize_t) sizeof(ctl->iobuf1) : fsize; + + if ((xsz = read(fd, ctl->iobuf1, rsize)) != rsize) +- warn(_("cannot read %s"), name); ++ warn(("cannot read %s"), name); + else if ((xsz = read(fd2, ctl->iobuf2, rsize)) != rsize) +- warn(_("cannot read %s"), fp2->name); ++ warn(("cannot read %s"), fp2->name); + + if (xsz != rsize) { + close(fd); +@@ -303,13 +305,13 @@ static void process_path(struct hardlink + if (fsize > 0) + continue; + if (lstat(name, &st3)) { +- warn(_("cannot stat %s"), name); ++ warn(("cannot stat %s"), name); + close(fd); + return; + } + st3.st_atime = st.st_atime; + if (stcmp(&st, &st3, 0)) { +- warnx(_("file %s changed underneath us"), name); ++ warnx(("file %s changed underneath us"), name); + close(fd); + return; + } +@@ -329,18 +331,18 @@ static void process_path(struct hardlink + suffixlen + 1); + /* First create a temporary link to n1 under a new name */ + if (link(n1, nam2.buf)) { +- warn(_("failed to hardlink %s to %s (create temporary link as %s failed)"), ++ warn(("failed to hardlink %s to %s (create temporary link as %s failed)"), + n1, n2, nam2.buf); + free(nam2.buf); + continue; + } + /* Then rename into place over the existing n2 */ + if (rename(nam2.buf, n2)) { +- warn(_("failed to hardlink %s to %s (rename temporary link to %s failed)"), ++ warn(("failed to hardlink %s to %s (rename temporary link to %s failed)"), + n1, n2, n2); + /* Something went wrong, try to remove the now redundant temporary link */ + if (unlink(nam2.buf)) +- warn(_("failed to remove temporary link %s"), nam2.buf); ++ warn(("failed to remove temporary link %s"), nam2.buf); + free(nam2.buf); + continue; + } +@@ -351,16 +353,16 @@ static void process_path(struct hardlink + /* We actually did not save anything this time, since the link second argument + had some other links as well. */ + if (ctl->verbose > 1) +- printf(_(" %s %s to %s\n"), +- (ctl->no_link ? _("Would link") : _("Linked")), ++ printf((" %s %s to %s\n"), ++ (ctl->no_link ? ("Would link") : ("Linked")), + n1, n2); + } else { + ctl->nsaved += ((st.st_size + 4095) / 4096) * 4096; + if (ctl->verbose > 1) +- printf(_(" %s %s to %s, %s %jd\n"), +- (ctl->no_link ? _("Would link") : _("Linked")), ++ printf((" %s %s to %s, %s %jd\n"), ++ (ctl->no_link ? ("Would link") : ("Linked")), + n1, n2, +- (ctl->no_link ? _("would save") : _("saved")), ++ (ctl->no_link ? ("would save") : ("saved")), + (intmax_t)st.st_size); + } + close(fd); +@@ -410,11 +412,6 @@ int main(int argc, char **argv) + { NULL, 0, NULL, 0 }, + }; + +- setlocale(LC_ALL, ""); +- bindtextdomain(PACKAGE, LOCALEDIR); +- textdomain(PACKAGE); +- close_stdout_atexit(); +- + while ((ch = getopt_long(argc, argv, "cnvfx:Vh", longopts, NULL)) != -1) { + switch (ch) { + case 'n': +@@ -434,7 +431,7 @@ int main(int argc, char **argv) + exclude_pattern = (PCRE2_SPTR) optarg; + #else + errx(EXIT_FAILURE, +- _("option --exclude not supported (built without pcre2)")); ++ ("option --exclude not supported (built without pcre2)")); + #endif + break; + case 'V': +@@ -447,7 +444,7 @@ int main(int argc, char **argv) + } + + if (optind == argc) { +- warnx(_("no directory specified")); ++ warnx(("no directory specified")); + errtryhelp(EXIT_FAILURE); + } + +@@ -461,7 +458,7 @@ int main(int argc, char **argv) + PCRE2_UCHAR buffer[256]; + pcre2_get_error_message(errornumber, buffer, + sizeof(buffer)); +- errx(EXIT_FAILURE, _("pattern error at offset %d: %s"), ++ errx(EXIT_FAILURE, ("pattern error at offset %d: %s"), + (int)erroroffset, buffer); + } + match_data = pcre2_match_data_create_from_pattern(re, NULL); +@@ -506,7 +503,7 @@ int main(int argc, char **argv) + >=0) { + if (ctl->verbose) { + nam1.buf[nam1baselen] = 0; +- printf(_("Skipping %s%s\n"), nam1.buf, di->d_name); ++ printf(("Skipping %s%s\n"), nam1.buf, di->d_name); + } + continue; + } +--- a/locale/programs/c.h ++++ b/locale/programs/c.h +@@ -240,7 +240,7 @@ errmsg(char doexit, int excode, char add + /* Don't use inline function to avoid '#include "nls.h"' in c.h + */ + #define errtryhelp(eval) __extension__ ({ \ +- fprintf(stderr, _("Try '%s --help' for more information.\n"), \ ++ fprintf(stderr, ("Try '%s --help' for more information.\n"), \ + program_invocation_short_name); \ + exit(eval); \ + }) 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 c33cb80321..87b8bfab9c 100644 --- a/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb +++ b/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb @@ -1,6 +1,6 @@ DUMMYARCH = "sdk-provides-dummy-target" -DUMMYPROVIDES = "\ +DUMMYPROVIDES_PACKAGES = "\ busybox \ busybox-dev \ busybox-src \ @@ -42,15 +42,19 @@ DUMMYPROVIDES = "\ perl-module-threads \ perl-module-warnings \ perl-module-warnings-register \ + pkgconfig \ + pkgconfig-dev \ + pkgconfig-src \ +" + +DUMMYPROVIDES = "\ + ${@' '.join([multilib_pkg_extend(d, pkg) for pkg in d.getVar('DUMMYPROVIDES_PACKAGES').split()])} \ /bin/sh \ /bin/bash \ /usr/bin/env \ /usr/bin/perl \ libperl.so.5 \ libperl.so.5()(64bit) \ - pkgconfig \ - pkgconfig-dev \ - pkgconfig-src \ " require dummy-sdk-package.inc diff --git a/poky/meta/recipes-core/musl/musl_git.bb b/poky/meta/recipes-core/musl/musl_git.bb index 6425b5cd36..64aee6c448 100644 --- a/poky/meta/recipes-core/musl/musl_git.bb +++ b/poky/meta/recipes-core/musl/musl_git.bb @@ -4,7 +4,7 @@ require musl.inc inherit linuxloader -SRCREV = "d0b547dfb5f7678cab6bc39dd736ed6454357ca4" +SRCREV = "29e8737f81ccc9fbadcf61a75318aa3d0516aafa" BASEVER = "1.1.23" diff --git a/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb b/poky/meta/recipes-core/ncurses/ncurses_6.1+20190803.bb index ef6ca9879b..a44d78e4fe 100644 --- a/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb +++ b/poky/meta/recipes-core/ncurses/ncurses_6.1+20190803.bb @@ -5,7 +5,7 @@ SRC_URI += "file://0001-tic-hang.patch \ file://config.cache \ " # commit id corresponds to the revision in package version -SRCREV = "7a97a7f937762ba342d5b2fd7cd090885a809835" +SRCREV = "3c9b2677c96c645496997321bf2fe465a5e7e21f" S = "${WORKDIR}/git" EXTRA_OECONF += "--with-abi-version=5 --cache-file=${B}/config.cache" UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+(\+\d+)*)" diff --git a/poky/meta/recipes-core/psplash/files/psplash-init b/poky/meta/recipes-core/psplash/files/psplash-init index fee23e681c..dcb751907f 100755 --- a/poky/meta/recipes-core/psplash/files/psplash-init +++ b/poky/meta/recipes-core/psplash/files/psplash-init @@ -25,7 +25,9 @@ done export TMPDIR=/mnt/.psplash [ -d $TMPDIR ] || mkdir -p $TMPDIR -mount tmpfs -t tmpfs $TMPDIR -o,size=40k +if [ ! mountpoint -q $TMPDIR ]; then + mount tmpfs -t tmpfs $TMPDIR -o,size=40k +fi rotation=0 if [ -e /etc/rotation ]; then diff --git a/poky/meta/recipes-core/systemd/systemd/0001-Use-getenv-when-secure-versions-are-not-available.patch b/poky/meta/recipes-core/systemd/systemd/0001-Use-getenv-when-secure-versions-are-not-available.patch deleted file mode 100644 index 37979755d0..0000000000 --- a/poky/meta/recipes-core/systemd/systemd/0001-Use-getenv-when-secure-versions-are-not-available.patch +++ /dev/null @@ -1,32 +0,0 @@ -From b8055a61b5df6b43b8d3117936587b874b0a339b Mon Sep 17 00:00:00 2001 -From: Chen Qi <Qi.Chen@windriver.com> -Date: Mon, 25 Feb 2019 11:01:18 +0800 -Subject: [PATCH 01/24] Use getenv when secure versions are not available - -musl doesnt implement secure version, so we default -to it if configure does not detect a secure implementation - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Upstream-Status: Denied - -Signed-off-by: Chen Qi <Qi.Chen@windriver.com> ---- - src/basic/missing_stdlib.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h -index 188a8d4..c0ffe86 100644 ---- a/src/basic/missing_stdlib.h -+++ b/src/basic/missing_stdlib.h -@@ -8,6 +8,6 @@ - # if HAVE___SECURE_GETENV - # define secure_getenv __secure_getenv - # else --# error "neither secure_getenv nor __secure_getenv are available" -+# define secure_getenv getenv - # endif - #endif --- -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 df1043b27d..47ee2795a7 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 @@ -76,7 +76,7 @@ Signed-off-by: Andrej Valek <andrej.valek@siemens.com> --- a/src/basic/missing_stdlib.h +++ b/src/basic/missing_stdlib.h @@ -11,3 +11,15 @@ - # define secure_getenv getenv + # error "neither secure_getenv nor __secure_getenv are available" # endif #endif + diff --git a/poky/meta/recipes-core/systemd/systemd_242.bb b/poky/meta/recipes-core/systemd/systemd_242.bb index 1953fef413..b368ca8a2c 100644 --- a/poky/meta/recipes-core/systemd/systemd_242.bb +++ b/poky/meta/recipes-core/systemd/systemd_242.bb @@ -32,7 +32,7 @@ SRC_URI += "file://touchscreen.rules \ # patches needed by musl SRC_URI_append_libc-musl = " ${SRC_URI_MUSL}" -SRC_URI_MUSL = "file://0001-Use-getenv-when-secure-versions-are-not-available.patch \ +SRC_URI_MUSL = "\ file://0002-don-t-use-glibc-specific-qsort_r.patch \ file://0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch \ file://0004-add-fallback-parse_printf_format-implementation.patch \ @@ -126,6 +126,7 @@ PACKAGECONFIG[coredump] = "-Dcoredump=true,-Dcoredump=false" PACKAGECONFIG[cryptsetup] = "-Dlibcryptsetup=true,-Dlibcryptsetup=false,cryptsetup" PACKAGECONFIG[dbus] = "-Ddbus=true,-Ddbus=false,dbus" PACKAGECONFIG[efi] = "-Defi=true,-Defi=false" +PACKAGECONFIG[gnu-efi] = "-Dgnu-efi=true -Defi-libdir=${STAGING_LIBDIR} -Defi-includedir=${STAGING_INCDIR}/efi,-Dgnu-efi=false,gnu-efi" PACKAGECONFIG[elfutils] = "-Delfutils=true,-Delfutils=false,elfutils" PACKAGECONFIG[firstboot] = "-Dfirstboot=true,-Dfirstboot=false" # Sign the journal for anti-tampering diff --git a/poky/meta/recipes-core/util-linux/util-linux.inc b/poky/meta/recipes-core/util-linux/util-linux.inc index 84c7012752..1fa82363b1 100644 --- a/poky/meta/recipes-core/util-linux/util-linux.inc +++ b/poky/meta/recipes-core/util-linux/util-linux.inc @@ -190,20 +190,19 @@ do_install () { echo 'MOUNTALL="-t nonfs,nosmbfs,noncpfs"' > ${D}${sysconfdir}/default/mountall rm -f ${D}${bindir}/chkdupexe +} - if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then +do_install_append_class-target () { + if [ "${@bb.utils.filter('PACKAGECONFIG', 'pam', d)}" ]; then install -d ${D}${sysconfdir}/pam.d install -m 0644 ${WORKDIR}/runuser.pamd ${D}${sysconfdir}/pam.d/runuser install -m 0644 ${WORKDIR}/runuser-l.pamd ${D}${sysconfdir}/pam.d/runuser-l - fi - if [ "${@bb.utils.filter('PACKAGECONFIG', 'pam', d)}" ]; then # Required for "su -" aka "su --login" because # otherwise it uses "other", which has "auth pam_deny.so" # and thus prevents the operation. ln -s su ${D}${sysconfdir}/pam.d/su-l fi } - # nologin causes a conflict with shadow-native # kill causes a conflict with coreutils-native (if ${bindir}==${base_bindir}) do_install_append_class-native () { diff --git a/poky/meta/recipes-devtools/binutils/binutils-2.32.inc b/poky/meta/recipes-devtools/binutils/binutils-2.32.inc index 31c24a37f5..d3c52936d1 100644 --- a/poky/meta/recipes-devtools/binutils/binutils-2.32.inc +++ b/poky/meta/recipes-devtools/binutils/binutils-2.32.inc @@ -50,6 +50,8 @@ SRC_URI = "\ file://CVE-2019-9077.patch \ file://CVE-2019-9071.patch \ file://CVE-2019-12972.patch \ + file://CVE-2019-14250.patch \ + file://CVE-2019-14444.patch \ " S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-14250.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-14250.patch new file mode 100644 index 0000000000..c915a832b0 --- /dev/null +++ b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-14250.patch @@ -0,0 +1,33 @@ +From df78be05daf4eb07f60f50ec1080cb979af32ec0 Mon Sep 17 00:00:00 2001 +From: marxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4> +Date: Tue, 23 Jul 2019 07:33:32 +0000 +Subject: [PATCH] libiberty: Check zero value shstrndx in simple-object-elf.c + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@273718 138bc75d-0d04-0410-961f-82ee72b054a4 + +CVE: CVE-2019-14250 +Upstream-Status: Backport [from gcc: https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=273718] +[Removed Changelog entry] +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- +diff --git a/libiberty/simple-object-elf.c b/libiberty/simple-object-elf.c +index 502388991a08..bdee963634d6 100644 +--- a/libiberty/simple-object-elf.c ++++ b/libiberty/simple-object-elf.c +@@ -548,7 +548,15 @@ simple_object_elf_match (unsigned char header[SIMPLE_OBJECT_MATCH_HEADER_LEN], + XDELETE (eor); + return NULL; + } +- ++ ++ if (eor->shstrndx == 0) ++ { ++ *errmsg = "invalid ELF shstrndx == 0"; ++ *err = 0; ++ XDELETE (eor); ++ return NULL; ++ } ++ + return (void *) eor; + } + diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-14444.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-14444.patch new file mode 100644 index 0000000000..85b9a9f916 --- /dev/null +++ b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-14444.patch @@ -0,0 +1,28 @@ +From e17869db99195849826eaaf5d2d0eb2cfdd7a2a7 Mon Sep 17 00:00:00 2001 +From: Nick Clifton <nickc@redhat.com> +Date: Mon, 5 Aug 2019 10:40:35 +0100 +Subject: [PATCH] Catch potential integer overflow in readelf when processing + corrupt binaries. + + PR 24829 + * readelf.c (apply_relocations): Catch potential integer overflow + whilst checking reloc location against section size. + +CVE: CVE-2019-14444 +Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=e17869db99195849826eaaf5d2d0eb2cfdd7a2a7] +[Removed Changelog entry] +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- +diff --git a/binutils/readelf.c b/binutils/readelf.c +index b896ad9f406..e785fde43e7 100644 +--- a/binutils/readelf.c ++++ b/binutils/readelf.c +@@ -13366,7 +13366,7 @@ apply_relocations (Filedata * filedata, + } + + rloc = start + rp->r_offset; +- if ((rloc + reloc_size) > end || (rloc < start)) ++ if (rloc >= end || (rloc + reloc_size) > end || (rloc < start)) + { + warn (_("skipping invalid relocation offset 0x%lx in section %s\n"), + (unsigned long) rp->r_offset, diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.2.1.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.2.1.bb index 138ec749e7..647516cf92 100644 --- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.2.1.bb +++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.2.1.bb @@ -24,7 +24,8 @@ inherit autotools-brokensep pkgconfig manpages distutils3-base CLEANBROKEN = "1" PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native" -EXTRA_OECONF = " --disable-zstd" +PACKAGECONFIG[zstd] = "--enable-zstd,--disable-zstd,zstd" + EXTRA_OECONF_append_libc-musl = " --disable-backtrace " EXTRA_PYTHON_CFLAGS = "${DEBUG_PREFIX_MAP}" EXTRA_PYTHON_CFLAGS_class-native = "" diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.3.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.0.bb index 22b9f3d3b1..ae0a35da84 100644 --- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.3.bb +++ b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.0.bb @@ -8,7 +8,7 @@ SRC_URI = "git://github.com/rpm-software-management/createrepo_c \ file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ " -SRCREV = "de9d8337885d953baae501cce75decc11d5468dd" +SRCREV = "2077ba104eae04bb819e9e0c906c8c835b62e7a6" S = "${WORKDIR}/git" @@ -17,7 +17,7 @@ DEPENDS_append_class-native = " file-replacement-native" inherit cmake pkgconfig bash-completion distutils3-base -EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3 -DWITH_ZCHUNK=OFF" +EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3 -DWITH_ZCHUNK=OFF -DENABLE_DRPM=OFF" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/desktop-file-utils/desktop-file-utils_0.23.bb b/poky/meta/recipes-devtools/desktop-file-utils/desktop-file-utils_0.24.bb index 6446f47189..aecba07235 100644 --- a/poky/meta/recipes-devtools/desktop-file-utils/desktop-file-utils_0.23.bb +++ b/poky/meta/recipes-devtools/desktop-file-utils/desktop-file-utils_0.24.bb @@ -7,8 +7,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://src/validator.c;beginline=4;endline=27;md5=281e1114ee6c486a1a0a4295986b9416" SRC_URI = "http://freedesktop.org/software/${BPN}/releases/${BP}.tar.xz" -SRC_URI[md5sum] = "599133d51cc9a41bfec186414906b6f1" -SRC_URI[sha256sum] = "6c094031bdec46c9f621708f919084e1cb5294e2c5b1e4c883b3e70cb8903385" +SRC_URI[md5sum] = "9364b82e14cfcad881161aa7ea5257ae" +SRC_URI[sha256sum] = "a1de5da60cbdbe91e5c9c10ac9afee6c3deb019e0cee5fdb9a99dddc245f83d9" DEPENDS = "glib-2.0" @@ -17,3 +17,8 @@ inherit autotools pkgconfig EXTRA_OECONF += "ac_cv_prog_EMACS=no" BBCLASSEXTEND = "native nativesdk" + +do_install_append() { + rm -rf ${D}${datadir}/emacs +} + diff --git a/poky/meta/recipes-devtools/distcc/distcc_3.3.2.bb b/poky/meta/recipes-devtools/distcc/distcc_3.3.3.bb index a93604bc47..7942debec9 100644 --- a/poky/meta/recipes-devtools/distcc/distcc_3.3.2.bb +++ b/poky/meta/recipes-devtools/distcc/distcc_3.3.3.bb @@ -20,7 +20,7 @@ SRC_URI = "git://github.com/distcc/distcc.git \ file://distccmon-gnome.desktop \ file://distcc \ file://distcc.service" -SRCREV = "8600f0857dac55ea393dc11a860948692d215fc8" +SRCREV = "4cde9bcfbda589abd842e3bbc652ce369085eaae" S = "${WORKDIR}/git" inherit autotools pkgconfig update-rc.d useradd systemd diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0021-Ensure-target-gcc-headers-can-be-included.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0021-Ensure-target-gcc-headers-can-be-included.patch index 60d72699d6..58b4d1aa68 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0021-Ensure-target-gcc-headers-can-be-included.patch +++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0021-Ensure-target-gcc-headers-can-be-included.patch @@ -1,4 +1,4 @@ -From 476eda9054df443d094273c8b61fce63d940adfc Mon Sep 17 00:00:00 2001 +From 94cc995cee76a9d59204a900fcaa2afb2eaa75c2 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 21/40] Ensure target gcc headers can be included @@ -23,14 +23,14 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index 71a8275c39f..5ae693fb06c 100644 +index 71a8275c39f..aa4adc3db24 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -614,6 +614,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) ++libsubdir_target = $(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 @@ -94,5 +94,5 @@ index 570cdc00034..3fb64d453f1 100644 #undef MD_EXEC_PREFIX #undef MD_STARTFILE_PREFIX -- -2.21.0 +2.22.1 diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1.inc b/poky/meta/recipes-devtools/gcc/gcc-9.2.inc index 4c648a1694..1c3e200dab 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-9.1.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-9.2.inc @@ -2,13 +2,13 @@ require gcc-common.inc # Third digit in PV should be incremented after a minor release -PV = "9.1.0" +PV = "9.2.0" # BINV should be incremented to a revision after a minor gcc release -BINV = "9.1.0" +BINV = "9.2.0" -FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc-9.1:${FILE_DIRNAME}/gcc-9.1/backport:" +FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc-9.2:${FILE_DIRNAME}/gcc-9.2/backport:" DEPENDS =+ "mpfr gmp libmpc zlib flex-native" NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native flex-native" @@ -33,41 +33,42 @@ SRC_URI = "\ file://0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \ file://0004-64-bit-multilib-hack.patch \ file://0005-optional-libstdc.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 \ + file://0006-COLLECT_GCC_OPTIONS.patch \ + file://0007-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch \ + file://0008-fortran-cross-compile-hack.patch \ + file://0009-cpp-honor-sysroot.patch \ + file://0010-MIPS64-Default-to-N64-ABI.patch \ + file://0011-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch \ + file://0012-gcc-Fix-argument-list-too-long-error.patch \ + file://0013-Disable-sdt.patch \ + file://0014-libtool.patch \ + file://0015-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch \ + file://0016-Use-the-multilib-config-files-from-B-instead-of-usin.patch \ + file://0017-Avoid-using-libdir-from-.la-which-usually-points-to-.patch \ + file://0018-export-CPP.patch \ + file://0019-Ensure-target-gcc-headers-can-be-included.patch \ + file://0020-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch \ + file://0021-Don-t-search-host-directory-during-relink-if-inst_pr.patch \ + file://0022-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch \ + file://0023-aarch64-Add-support-for-musl-ldso.patch \ + file://0024-libcc1-fix-libcc1-s-install-path-and-rpath.patch \ + file://0025-handle-sysroot-support-for-nativesdk-gcc.patch \ + file://0026-Search-target-sysroot-gcc-version-specific-dirs-with.patch \ + file://0027-Fix-various-_FOR_BUILD-and-related-variables.patch \ + file://0028-nios2-Define-MUSL_DYNAMIC_LINKER.patch \ + file://0029-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch \ + file://0030-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch \ + file://0031-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch \ + file://0032-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch \ + file://0033-sync-gcc-stddef.h-with-musl.patch \ + file://0034-fix-segmentation-fault-in-precompiled-header-generat.patch \ + file://0035-Fix-for-testsuite-failure.patch \ + file://0036-Re-introduce-spe-commandline-options.patch \ " -SRC_URI[md5sum] = "6069ae3737cf02bf2cb44a391ef0e937" -SRC_URI[sha256sum] = "79a66834e96a6050d8fe78db2c3b32fb285b230b855d0a66288235bc04b327a0" S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}" +SRC_URI[md5sum] = "3818ad8600447f05349098232c2ddc78" +SRC_URI[sha256sum] = "ea6ef08f121239da5695f76c9b33637a118dcf63e24164422231917fa61fb206" + # For dev release snapshotting #S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/official-gcc-${RELEASE}" #B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}" 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.2/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch index 33c910cc53..9065c304b5 100644 --- 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.2/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch @@ -1,7 +1,7 @@ -From f1f6d84aadc4e3cde707b1ec8490f5dc46d4c8e0 Mon Sep 17 00:00:00 2001 +From 863325ec3c6eb4987be63509ac407b2d13617342 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 +Subject: [PATCH 01/36] gcc-4.3.1: ARCH_FLAGS_FOR_TARGET Signed-off-by: Khem Raj <raj.khem@gmail.com> @@ -12,10 +12,10 @@ Upstream-Status: Inappropriate [embedded specific] 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/configure b/configure -index adf4fda0f69..8a04eea4c71 100755 +index abd93a990a9..b121088d778 100755 --- a/configure +++ b/configure -@@ -7602,7 +7602,7 @@ fi +@@ -7603,7 +7603,7 @@ fi # for target_alias and gcc doesn't manage it consistently. target_configargs="--cache-file=./config.cache ${target_configargs}" @@ -25,10 +25,10 @@ index adf4fda0f69..8a04eea4c71 100755 *" newlib "*) case " $target_configargs " in diff --git a/configure.ac b/configure.ac -index 87f2aee0500..01b46b8bed4 100644 +index 9db4fd14aa2..aad93c4d183 100644 --- a/configure.ac +++ b/configure.ac -@@ -3118,7 +3118,7 @@ fi +@@ -3119,7 +3119,7 @@ fi # for target_alias and gcc doesn't manage it consistently. target_configargs="--cache-file=./config.cache ${target_configargs}" @@ -38,5 +38,5 @@ index 87f2aee0500..01b46b8bed4 100644 *" newlib "*) case " $target_configargs " in -- -2.20.1 +2.22.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.2/0002-gcc-poison-system-directories.patch index 1231567410..a1116e7509 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0002-gcc-poison-system-directories.patch +++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0002-gcc-poison-system-directories.patch @@ -1,7 +1,7 @@ -From 733ca3372e4125170d4531bcd33e48eeb36bfec0 Mon Sep 17 00:00:00 2001 +From 68e78bc15de215fa15c7d8b56bd2e2b0539b34fa 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 +Subject: [PATCH 02/36] 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 @@ -26,7 +26,7 @@ Upstream-Status: Pending 7 files changed, 68 insertions(+) diff --git a/gcc/common.opt b/gcc/common.opt -index 9a5e9af06ca..211f2b2260e 100644 +index d342c4f3749..c64fd4a6c50 100644 --- a/gcc/common.opt +++ b/gcc/common.opt @@ -684,6 +684,10 @@ Wreturn-local-addr @@ -41,7 +41,7 @@ index 9a5e9af06ca..211f2b2260e 100644 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 +index a718ceaf3da..5713342efb1 100644 --- a/gcc/config.in +++ b/gcc/config.in @@ -200,6 +200,12 @@ @@ -58,7 +58,7 @@ index 48a533bf208..fc3043bbdfb 100644 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 +index 481071b4265..a6ea3a8a84c 100755 --- a/gcc/configure +++ b/gcc/configure @@ -995,6 +995,7 @@ with_system_zlib @@ -78,7 +78,7 @@ index d6a48ef76e7..2e08396622e 100755 --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 : +@@ -29750,6 +29753,19 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then : fi @@ -99,10 +99,10 @@ index d6a48ef76e7..2e08396622e 100755 diff --git a/gcc/configure.ac b/gcc/configure.ac -index 78370352938..7d34911573e 100644 +index ce2825580c6..d42bbd4fd1c 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac -@@ -6375,6 +6375,16 @@ AC_ARG_ENABLE(version-specific-runtime-libs, +@@ -6378,6 +6378,16 @@ AC_ARG_ENABLE(version-specific-runtime-libs, [specify that runtime libraries should be installed in a compiler-specific directory])]) @@ -120,10 +120,10 @@ index 78370352938..7d34911573e 100644 AC_SUBST(subdirs) AC_SUBST(srcdir) diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi -index 99fd97404e1..001868e1509 100644 +index 6ef36ce02aa..09414d8cc05 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi -@@ -330,6 +330,7 @@ Objective-C and Objective-C++ Dialects}. +@@ -332,6 +332,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 @@ -131,7 +131,7 @@ index 99fd97404e1..001868e1509 100644 -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 +@@ -6289,6 +6290,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. @@ -147,7 +147,7 @@ index 99fd97404e1..001868e1509 100644 @opindex Wfloat-equal @opindex Wno-float-equal diff --git a/gcc/gcc.c b/gcc/gcc.c -index 797ed36616f..79c38d858d1 100644 +index 4f57765b012..a2601a6bb06 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -1042,6 +1042,8 @@ proper position among the other output files. */ @@ -199,5 +199,5 @@ index bcbe2082905..5752298bbf2 100644 /* Use given -I paths for #include "..." but not #include <...>, and -- -2.20.1 +2.22.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.2/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch index 916c374e3e..23039d2123 100644 --- 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.2/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch @@ -1,7 +1,7 @@ -From 320352cc741c89f1a9b2ee7929193d255e65f27a Mon Sep 17 00:00:00 2001 +From f8d60c4114acb92361c7b2f4a4561d4661e8da9d 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 +Subject: [PATCH 03/36] 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. @@ -26,10 +26,10 @@ Upstream-Status: Pending 1 file changed, 32 insertions(+) diff --git a/configure b/configure -index 8a04eea4c71..3b0eed74847 100755 +index b121088d778..93aae5bb26f 100755 --- a/configure +++ b/configure -@@ -6863,6 +6863,38 @@ fi +@@ -6864,6 +6864,38 @@ fi @@ -69,5 +69,5 @@ index 8a04eea4c71..3b0eed74847 100755 # the named directory are copied to $(tooldir)/sys-include. if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then -- -2.20.1 +2.22.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.2/0004-64-bit-multilib-hack.patch index 137261b86c..a79c40c1aa 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0004-64-bit-multilib-hack.patch +++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0004-64-bit-multilib-hack.patch @@ -1,7 +1,7 @@ -From 150d946082b3e21614d1cd0eb4752871495fe519 Mon Sep 17 00:00:00 2001 +From c2081c51db589471ea713870c72f13999abda815 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. +Subject: [PATCH 04/36] 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 @@ -115,5 +115,5 @@ index f3c6e2be1d9..bd0393155fa 100644 rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c $(COMPILE) $< -- -2.20.1 +2.22.1 diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0005-optional-libstdc.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0005-optional-libstdc.patch index d8e970a1aa..f4fac91467 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0005-optional-libstdc.patch +++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0005-optional-libstdc.patch @@ -1,7 +1,7 @@ -From a3323ea74f0793b35af4a4cdbe5e99fe21e4816b Mon Sep 17 00:00:00 2001 +From e7e504f4a90cfa395e7f8ee779f8c3ed687802ca 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 +Subject: [PATCH 05/36] 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++ @@ -25,10 +25,10 @@ Upstream-Status: Inappropriate [embedded specific] 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 +index 916cc67b453..41619fa591c 100644 --- a/gcc/c-family/c.opt +++ b/gcc/c-family/c.opt -@@ -1948,6 +1948,10 @@ nostdinc++ +@@ -1952,6 +1952,10 @@ nostdinc++ C++ ObjC++ Do not search standard system include directories for C++. @@ -52,10 +52,10 @@ index 6c4574a837d..0e2657f00ee 100644 library = -1; break; diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi -index 001868e1509..4186c2616ab 100644 +index 09414d8cc05..a43969bc9f0 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi -@@ -226,6 +226,9 @@ in the following sections. +@@ -228,6 +228,9 @@ in the following sections. -fno-weak -nostdinc++ @gol -fvisibility-inlines-hidden @gol -fvisibility-ms-compat @gol @@ -65,7 +65,7 @@ index 001868e1509..4186c2616ab 100644 -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}. +@@ -538,7 +541,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 @@ -74,7 +74,7 @@ index 001868e1509..4186c2616ab 100644 -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 +@@ -13312,6 +13315,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. @@ -109,7 +109,7 @@ index 001868e1509..4186c2616ab 100644 @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 +index a2601a6bb06..cd6c6fc95db 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -1052,6 +1052,7 @@ proper position among the other output files. */ @@ -121,5 +121,5 @@ index 79c38d858d1..308872aef5f 100644 #endif -- -2.20.1 +2.22.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.2/0006-COLLECT_GCC_OPTIONS.patch index a522ada448..9f7e603f8c 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0007-COLLECT_GCC_OPTIONS.patch +++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0006-COLLECT_GCC_OPTIONS.patch @@ -1,7 +1,7 @@ -From c7b8c2a6e81daaa50047c336c8ee90086aa4d4d5 Mon Sep 17 00:00:00 2001 +From b9260cd3ac26b0302824ed466a548464c864d95f 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 +Subject: [PATCH 06/36] COLLECT_GCC_OPTIONS This patch adds --sysroot into COLLECT_GCC_OPTIONS which is used to invoke collect2. @@ -14,7 +14,7 @@ Upstream-Status: Pending 1 file changed, 9 insertions(+) diff --git a/gcc/gcc.c b/gcc/gcc.c -index 308872aef5f..30845e5b125 100644 +index cd6c6fc95db..7da9c5d457b 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -4804,6 +4804,15 @@ set_collect_gcc_options (void) @@ -34,5 +34,5 @@ index 308872aef5f..30845e5b125 100644 { const char *const *args; -- -2.20.1 +2.22.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.2/0007-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch index 2ef94a0b85..28f8fc2674 100644 --- 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.2/0007-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch @@ -1,7 +1,7 @@ -From 2f65b8bbf9c7c4bc0b94bb7ba9f6a8eb8675c9ab Mon Sep 17 00:00:00 2001 +From 88e728dad53d48c4a19f15e19f66fd23f4820b4a 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 +Subject: [PATCH 07/36] 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 @@ -27,7 +27,7 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index 508c674cbdc..3ccff1614bb 100644 +index 5f43d9de00e..41f0f592ff4 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -540,7 +540,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@ @@ -40,7 +40,7 @@ index 508c674cbdc..3ccff1614bb 100644 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 +index a6ea3a8a84c..e3bcf8abe9a 100755 --- a/gcc/configure +++ b/gcc/configure @@ -12341,8 +12341,8 @@ for f in $tm_file; do @@ -55,7 +55,7 @@ index d36cb51bc2c..7acc7e487b0 100755 * ) tm_file_list="${tm_file_list} \$(srcdir)/config/$f" diff --git a/gcc/configure.ac b/gcc/configure.ac -index dfa88c35f3f..f5d5e5c16a8 100644 +index d42bbd4fd1c..2ebc377a74d 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -1968,8 +1968,8 @@ for f in $tm_file; do @@ -92,5 +92,5 @@ index 308b87d0cc1..19068cbc24a 100644 # Add multiple inclusion protection guard, part two. -- -2.20.1 +2.22.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.2/0008-fortran-cross-compile-hack.patch index 7959714636..24e3abe0bb 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0009-fortran-cross-compile-hack.patch +++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0008-fortran-cross-compile-hack.patch @@ -1,7 +1,7 @@ -From eda94df7d2389b6c36428e5687d5f0722d3375c3 Mon Sep 17 00:00:00 2001 +From 010f09f2963ede24e85134e5fab2fa627a9afa05 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. +Subject: [PATCH 08/36] 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 @@ -16,10 +16,10 @@ Upstream-Status: Inappropriate [embedded specific] 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libgfortran/configure b/libgfortran/configure -index 487d8c090e2..a02b49293ac 100755 +index 60867b93d0e..3fc9fca5b7b 100755 --- a/libgfortran/configure +++ b/libgfortran/configure -@@ -13056,7 +13056,7 @@ esac +@@ -13071,7 +13071,7 @@ esac # We need gfortran to compile parts of the library #AC_PROG_FC(gfortran) @@ -29,7 +29,7 @@ index 487d8c090e2..a02b49293ac 100755 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 +index 7cfce28ab69..6cd515ee1a4 100644 --- a/libgfortran/configure.ac +++ b/libgfortran/configure.ac @@ -250,7 +250,7 @@ AC_SUBST(enable_static) @@ -42,5 +42,5 @@ index c06db7b1a78..5b4b1b7f1f2 100644 # extra LD Flags which are required for targets -- -2.20.1 +2.22.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.2/0009-cpp-honor-sysroot.patch index b680e6fc38..6af0a0124a 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0010-cpp-honor-sysroot.patch +++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0009-cpp-honor-sysroot.patch @@ -1,7 +1,7 @@ -From c2ec131f19d656fd916c45f51186633c789db6e9 Mon Sep 17 00:00:00 2001 +From 45e9cd39d9c62454d46b9e9473a0c1034ceca15d 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. +Subject: [PATCH 09/36] 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 @@ -37,7 +37,7 @@ index c6e42eda283..e1ddf066467 100644 + " 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 +index 7da9c5d457b..4e7c45b268c 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -1349,7 +1349,7 @@ static const struct compiler default_compilers[] = @@ -50,5 +50,5 @@ index 30845e5b125..cef26c454d7 100644 {"@assembler", "%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0, 0, 0}, -- -2.20.1 +2.22.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.2/0010-MIPS64-Default-to-N64-ABI.patch index d59a31be10..bc0c6d5bed 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0011-MIPS64-Default-to-N64-ABI.patch +++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0010-MIPS64-Default-to-N64-ABI.patch @@ -1,7 +1,7 @@ -From 52b915732de89d8676868641af462df81211bb39 Mon Sep 17 00:00:00 2001 +From 1ff4108d707b34e399e9dc418ad1ecc42f72676d 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 +Subject: [PATCH 10/36] MIPS64: Default to N64 ABI MIPS64 defaults to n32 ABI, this patch makes it so that it defaults to N64 ABI @@ -14,10 +14,10 @@ Upstream-Status: Inappropriate [OE config specific] 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gcc/config.gcc b/gcc/config.gcc -index a189cb19f63..293ed8d585d 100644 +index ddd3b8f4d9d..fdfc0bd3e82 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc -@@ -2267,29 +2267,29 @@ mips*-*-linux*) # Linux MIPS, either endian. +@@ -2282,29 +2282,29 @@ mips*-*-linux*) # Linux MIPS, either endian. default_mips_arch=mips32 ;; mips64el-st-linux-gnu) @@ -53,5 +53,5 @@ index a189cb19f63..293ed8d585d 100644 ;; esac -- -2.20.1 +2.22.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.2/0011-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch index 1ff85c8073..21908bce9b 100644 --- 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.2/0011-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch @@ -1,7 +1,7 @@ -From 0e13b09ae400d8c8755e2869c72a158ed0dbc0b6 Mon Sep 17 00:00:00 2001 +From a93743732b2125aebd9a6d65e999d7506b01d6b3 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 +Subject: [PATCH 11/36] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER relative to SYSTEMLIBS_DIR This patch defines GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER @@ -23,12 +23,11 @@ Upstream-Status: Inappropriate [OE configuration] gcc/config/i386/linux64.h | 6 +++--- gcc/config/linux.h | 8 ++++---- gcc/config/mips/linux.h | 12 ++++++------ - gcc/config/riscv/linux.h | 2 +- gcc/config/rs6000/linux64.h | 15 +++++---------- gcc/config/sh/linux.h | 2 +- gcc/config/sparc/linux.h | 2 +- gcc/config/sparc/linux64.h | 4 ++-- - 12 files changed, 29 insertions(+), 34 deletions(-) + 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 @@ -153,24 +152,11 @@ index 6f79ac9c01a..25de96f9561 100644 #undef MUSL_DYNAMIC_LINKER32 #define MUSL_DYNAMIC_LINKER32 \ -diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h -index 58dd18b89f3..112ba9cd764 100644 ---- a/gcc/config/riscv/linux.h -+++ b/gcc/config/riscv/linux.h -@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3. If not see - GNU_USER_TARGET_OS_CPP_BUILTINS(); \ - } while (0) - --#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-riscv" XLEN_SPEC "-" ABI_SPEC ".so.1" -+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-riscv" XLEN_SPEC "-" ABI_SPEC ".so.1" - - #define MUSL_ABI_SUFFIX \ - "%{mabi=ilp32:-sf}" \ diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h -index 5380f6a6a6f..c0f2dc1f43e 100644 +index 9946d3fed94..45a9a7cae59 100644 --- a/gcc/config/rs6000/linux64.h +++ b/gcc/config/rs6000/linux64.h -@@ -435,24 +435,19 @@ extern int dot_symbols; +@@ -423,24 +423,19 @@ extern int dot_symbols; #undef LINK_OS_DEFAULT_SPEC #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)" @@ -242,5 +228,5 @@ index 789d1df4bd5..b920c680fb1 100644 #ifdef SPARC_BI_ARCH -- -2.20.1 +2.22.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.2/0012-gcc-Fix-argument-list-too-long-error.patch index f853ff90d2..60539795c5 100644 --- 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.2/0012-gcc-Fix-argument-list-too-long-error.patch @@ -1,7 +1,7 @@ -From d8a24eca2d7a222d4910c8a508d75d0d1418e201 Mon Sep 17 00:00:00 2001 +From 2cb227cd8069c73242286f64183fb203f8d2618a 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. +Subject: [PATCH 12/36] 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: @@ -23,10 +23,10 @@ Upstream-Status: Pending 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index 3ccff1614bb..88b1aec732b 100644 +index 41f0f592ff4..0064a282488 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in -@@ -3538,7 +3538,7 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype +@@ -3537,7 +3537,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) @@ -36,5 +36,5 @@ index 3ccff1614bb..88b1aec732b 100644 for file in $$headers; do \ if [ -f $$file ] ; then \ -- -2.20.1 +2.22.1 diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0014-Disable-sdt.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0013-Disable-sdt.patch index 945cf8f8af..a21a63c617 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0014-Disable-sdt.patch +++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0013-Disable-sdt.patch @@ -1,7 +1,7 @@ -From d5e52580314ef6056ca701fcc030c7c884cb1d7f Mon Sep 17 00:00:00 2001 +From aea5ffa9d704f4eb8fa93366884d3c26a1dbec49 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. +Subject: [PATCH 13/36] 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 @@ -25,10 +25,10 @@ Upstream-Status: Inappropriate [hack] 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/gcc/configure b/gcc/configure -index 7acc7e487b0..6a87ab693ea 100755 +index e3bcf8abe9a..1f1d22ca666 100755 --- a/gcc/configure +++ b/gcc/configure -@@ -29292,12 +29292,12 @@ fi +@@ -29332,12 +29332,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 @@ -48,10 +48,10 @@ index 7acc7e487b0..6a87ab693ea 100755 $as_echo "$have_sys_sdt_h" >&6; } diff --git a/gcc/configure.ac b/gcc/configure.ac -index f5d5e5c16a8..a50765171be 100644 +index 2ebc377a74d..ddc85197588 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac -@@ -5985,15 +5985,15 @@ fi +@@ -5995,15 +5995,15 @@ fi AC_SUBST([enable_default_ssp]) # Test for <sys/sdt.h> on the target. @@ -77,10 +77,10 @@ index f5d5e5c16a8..a50765171be 100644 # 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 +index 5acf79cba54..191bc6c5796 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure -@@ -22084,11 +22084,11 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +@@ -22085,11 +22085,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 @@ -96,7 +96,7 @@ index 15848e364ab..8d3da1cc526 100755 $as_echo "$glibcxx_cv_sys_sdt_h" >&6; } diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac -index ad5b4117cfd..2341645ba6f 100644 +index dadd8827b49..6b1ce9957d3 100644 --- a/libstdc++-v3/configure.ac +++ b/libstdc++-v3/configure.ac @@ -230,7 +230,7 @@ GLIBCXX_CHECK_SC_NPROCESSORS_ONLN @@ -109,5 +109,5 @@ index ad5b4117cfd..2341645ba6f 100644 # Check for available headers. AC_CHECK_HEADERS([endian.h execinfo.h float.h fp.h ieeefp.h inttypes.h \ -- -2.20.1 +2.22.1 diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0015-libtool.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0014-libtool.patch index 764460b89e..7a8f3afecf 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0015-libtool.patch +++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0014-libtool.patch @@ -1,7 +1,7 @@ -From d7c605d92094c75dc2717d9dd830e525b2c8b0ff Mon Sep 17 00:00:00 2001 +From 6c4d0c303ebc3e1c7e554d54a8bb807d77ed41fd 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 +Subject: [PATCH 14/36] libtool libstdc++ from gcc-runtime gets created with -rpath=/usr/lib/../lib for qemux86-64 when running on am x86_64 build host. @@ -38,5 +38,5 @@ index 79f9ba89af5..8e222f7c16b 100644 oldlibs= if test -z "$rpath"; then -- -2.20.1 +2.22.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.2/0015-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch index 398074b5cc..d06ae27028 100644 --- 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.2/0015-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch @@ -1,7 +1,7 @@ -From c3addf8bc41190d46d98eb7690ff4583eebd5943 Mon Sep 17 00:00:00 2001 +From c5662ff1e7dea2291b9cb7a83cfff3001dd31f53 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. +Subject: [PATCH 15/36] 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 @@ -39,5 +39,5 @@ index e4ade2e2ab0..108863f69d2 100644 LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC) -- -2.20.1 +2.22.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.2/0016-Use-the-multilib-config-files-from-B-instead-of-usin.patch index 7d5c94a646..310caec4a1 100644 --- 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.2/0016-Use-the-multilib-config-files-from-B-instead-of-usin.patch @@ -1,7 +1,7 @@ -From e1071f4e749586fcb3edcacf43d4dd44081d16ec Mon Sep 17 00:00:00 2001 +From e3b693b9d6dc9496f7c98a13b28182d23084215c 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 +Subject: [PATCH 16/36] 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} @@ -18,7 +18,7 @@ Upstream-Status: Inappropriate [configuration] 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/gcc/configure b/gcc/configure -index 6a87ab693ea..2e822caf66d 100755 +index 1f1d22ca666..911de2cf017 100755 --- a/gcc/configure +++ b/gcc/configure @@ -12321,10 +12321,20 @@ done @@ -58,7 +58,7 @@ index 6a87ab693ea..2e822caf66d 100755 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 +index ddc85197588..b413ae9bf25 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -1948,10 +1948,20 @@ done @@ -98,5 +98,5 @@ index a50765171be..70e7bac78c4 100644 f=`echo $f | sed 's/^..//'` tm_file_list="${tm_file_list} $f" -- -2.20.1 +2.22.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.2/0017-Avoid-using-libdir-from-.la-which-usually-points-to-.patch index 596337bc1f..ad1d1d4eb0 100644 --- 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.2/0017-Avoid-using-libdir-from-.la-which-usually-points-to-.patch @@ -1,7 +1,7 @@ -From 1ffbbb39c9848aa7a04da18fb79b1f0bd7731e00 Mon Sep 17 00:00:00 2001 +From 09d9ccc1d471020949d1285a5276f17504fd60dd 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 +Subject: [PATCH 17/36] Avoid using libdir from .la which usually points to a host path Upstream-Status: Inappropriate [embedded specific] @@ -27,5 +27,5 @@ index 8e222f7c16b..0a93b4e5c3b 100644 absdir="$libdir" fi -- -2.20.1 +2.22.1 diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0019-export-CPP.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0018-export-CPP.patch index 50d17dd962..0f728ec542 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0019-export-CPP.patch +++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0018-export-CPP.patch @@ -1,7 +1,7 @@ -From 5ece023b88eaba16d8744f8f2ff72345ec3b7f92 Mon Sep 17 00:00:00 2001 +From 987338cd847a723de533bb317e452a60b1e52165 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 +Subject: [PATCH 18/36] 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 @@ -37,7 +37,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 1 insertion(+) diff --git a/Makefile.in b/Makefile.in -index 28539a45372..b21e0791f55 100644 +index 64e091ba71d..255822e3f27 100644 --- a/Makefile.in +++ b/Makefile.in @@ -149,6 +149,7 @@ BUILD_EXPORTS = \ @@ -49,5 +49,5 @@ index 28539a45372..b21e0791f55 100644 CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ CXX="$(CXX_FOR_BUILD)"; export CXX; \ -- -2.20.1 +2.22.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.2/0019-Ensure-target-gcc-headers-can-be-included.patch index f37c6f39aa..af0ea5c60a 100644 --- 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.2/0019-Ensure-target-gcc-headers-can-be-included.patch @@ -1,7 +1,7 @@ -From 89f7a8e5c55b31bff011cd7466d78cd84d1eb307 Mon Sep 17 00:00:00 2001 +From d27ba49e2e5c608c43265462d6831363cc7f565b 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 +Subject: [PATCH 19/36] 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 @@ -23,18 +23,18 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index 88b1aec732b..eb1dc304de2 100644 +index 0064a282488..98d1488171f 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) ++libsubdir_target = $(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)\" +@@ -2866,6 +2867,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localedir)\" PREPROCESSOR_DEFINES = \ -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \ @@ -76,7 +76,7 @@ index b7534256119..41ca579b267 100644 + #endif /* ! GCC_DEFAULTS_H */ diff --git a/gcc/gcc.c b/gcc/gcc.c -index cef26c454d7..14b1a6e8c44 100644 +index 4e7c45b268c..1a3704b2763 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -1470,13 +1470,6 @@ static const char *gcc_libexec_prefix; @@ -94,5 +94,5 @@ index cef26c454d7..14b1a6e8c44 100644 #undef MD_EXEC_PREFIX #undef MD_STARTFILE_PREFIX -- -2.20.1 +2.22.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.2/0020-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch index ef985727a6..b0f96d06d4 100644 --- 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.2/0020-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch @@ -1,7 +1,7 @@ -From 2a1895aca3d9020d0d5ac74975221727384ef8a6 Mon Sep 17 00:00:00 2001 +From 83bcd4cc47ae63971c888c117abd00dfd506532c 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 +Subject: [PATCH 20/36] gcc 4.8+ won't build with --disable-dependency-tracking since the *.Ppo files don't get created unless --enable-dependency-tracking is true. @@ -50,5 +50,5 @@ index 29324e3e0ac..d5cdb4259ef 100644 M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT)) M_FILE = $(PAT_BASE)_n.c -- -2.20.1 +2.22.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.2/0021-Don-t-search-host-directory-during-relink-if-inst_pr.patch index 8316c4d814..f36ca29b9e 100644 --- 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.2/0021-Don-t-search-host-directory-during-relink-if-inst_pr.patch @@ -1,7 +1,7 @@ -From 4b9f8cfbfb48a1a9781b7c3a9b867732ef37b7c5 Mon Sep 17 00:00:00 2001 +From 667cc8d43e8fb4ac09654ee408da482f96b09580 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 +Subject: [PATCH 21/36] Don't search host directory during "relink" if $inst_prefix is provided http://lists.gnu.org/archive/html/libtool-patches/2011-01/msg00026.html @@ -34,5 +34,5 @@ index 0a93b4e5c3b..6de6ed2f9a0 100644 esac fi -- -2.20.1 +2.22.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.2/0022-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch index fdea599abd..d5b9150023 100644 --- 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.2/0022-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch @@ -1,7 +1,7 @@ -From 3a554b321250f6ddf1277e5559890ee977e78cb0 Mon Sep 17 00:00:00 2001 +From 279c4de48e3fd61e2f268787ed3f1d69ed9224f8 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 +Subject: [PATCH 22/36] Use SYSTEMLIBS_DIR replacement instead of hardcoding base_libdir Upstream-Status: Pending @@ -12,7 +12,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 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 +index 5e8b34ded03..7e628bf661e 100644 --- a/gcc/config/aarch64/aarch64-linux.h +++ b/gcc/config/aarch64/aarch64-linux.h @@ -21,7 +21,7 @@ @@ -25,5 +25,5 @@ index 9d0292d64f2..51661995fc7 100644 #undef MUSL_DYNAMIC_LINKER #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" -- -2.20.1 +2.22.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.2/0023-aarch64-Add-support-for-musl-ldso.patch index f53c9949c7..f811306c31 100644 --- 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.2/0023-aarch64-Add-support-for-musl-ldso.patch @@ -1,7 +1,7 @@ -From b7001034f35e7e5090fa95cb9a622469300cd45d Mon Sep 17 00:00:00 2001 +From 1277d12058334087443828dfd57d44e3b1dfcc9a 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 +Subject: [PATCH 23/36] aarch64: Add support for musl ldso Upstream-Status: Pending @@ -11,7 +11,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 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 +index 7e628bf661e..1717cbe5471 100644 --- a/gcc/config/aarch64/aarch64-linux.h +++ b/gcc/config/aarch64/aarch64-linux.h @@ -24,7 +24,7 @@ @@ -24,5 +24,5 @@ index 51661995fc7..db687f753f6 100644 #undef ASAN_CC1_SPEC #define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}" -- -2.20.1 +2.22.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.2/0024-libcc1-fix-libcc1-s-install-path-and-rpath.patch index 7b80655b68..298b0962f6 100644 --- 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.2/0024-libcc1-fix-libcc1-s-install-path-and-rpath.patch @@ -1,7 +1,7 @@ -From 4d05ea7a12d1ba4515220c5c16f71ac650219db6 Mon Sep 17 00:00:00 2001 +From 4a0487ad75accd780dd155aa59086cc4b11cfc47 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 +Subject: [PATCH 24/36] libcc1: fix libcc1's install path and rpath * Install libcc1.so and libcc1plugin.so into $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version), as what we @@ -50,5 +50,5 @@ index 7104b649026..2103c477468 100644 @ENABLE_PLUGIN_TRUE@cc1lib_LTLIBRARIES = libcc1.la shared_source = callbacks.cc callbacks.hh connection.cc connection.hh \ -- -2.20.1 +2.22.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.2/0025-handle-sysroot-support-for-nativesdk-gcc.patch index 7062c03197..ba62bc1fd3 100644 --- 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.2/0025-handle-sysroot-support-for-nativesdk-gcc.patch @@ -1,7 +1,7 @@ -From fe175ac845f1ac6965ede0240e9b763ae520614d Mon Sep 17 00:00:00 2001 +From a183c82ea2af934a8d30055a791dc1d80c9067a9 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 +Subject: [PATCH 25/36] 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 @@ -149,7 +149,7 @@ index e2d96f1e760..29fa5f815c8 100644 (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 +index 1a3704b2763..db0e2934038 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -253,6 +253,8 @@ FILE *report_times_to_file = NULL; @@ -209,5 +209,5 @@ index 14b1a6e8c44..857310092d9 100644 value = do_spec_1 (startfile_spec, 0, NULL); if (value != 0) -- -2.20.1 +2.22.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.2/0026-Search-target-sysroot-gcc-version-specific-dirs-with.patch index e3ec943bfe..fde206eb71 100644 --- 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.2/0026-Search-target-sysroot-gcc-version-specific-dirs-with.patch @@ -1,7 +1,7 @@ -From bf07530706382c90fb89f7d8a727eb9aeb29a56a Mon Sep 17 00:00:00 2001 +From dab4db14e319f3239a2b4c7d1fbf2971936e27ba 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 +Subject: [PATCH 26/36] Search target sysroot gcc version specific dirs with multilib. We install the gcc libraries (such as crtbegin.p) into @@ -51,7 +51,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/gcc/gcc.c b/gcc/gcc.c -index 857310092d9..6363e63b8ff 100644 +index db0e2934038..1c21d1b08eb 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -2610,7 +2610,7 @@ for_each_path (const struct path_prefix *paths, @@ -98,5 +98,5 @@ index 857310092d9..6363e63b8ff 100644 ret = callback (path, callback_info); if (ret) -- -2.20.1 +2.22.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.2/0027-Fix-various-_FOR_BUILD-and-related-variables.patch index bdcbd323cb..5d89e8e7e2 100644 --- 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.2/0027-Fix-various-_FOR_BUILD-and-related-variables.patch @@ -1,7 +1,7 @@ -From 16ab14b7221b3491cd43ab745f57b60ca83089df Mon Sep 17 00:00:00 2001 +From 8e84bb09d2b7a60487a30e438bb109f31c2c254b 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 +Subject: [PATCH 27/36] 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 @@ -26,7 +26,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 5 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Makefile.in b/Makefile.in -index b21e0791f55..0e573791202 100644 +index 255822e3f27..9dc0dff0474 100644 --- a/Makefile.in +++ b/Makefile.in @@ -152,6 +152,7 @@ BUILD_EXPORTS = \ @@ -64,7 +64,7 @@ index b21e0791f55..0e573791202 100644 "FLEX=$(FLEX)" \ "INSTALL=$(INSTALL)" \ diff --git a/Makefile.tpl b/Makefile.tpl -index 126296fb49a..15fb236bcc0 100644 +index 41cae58a267..d3f6b79acdc 100644 --- a/Makefile.tpl +++ b/Makefile.tpl @@ -154,6 +154,7 @@ BUILD_EXPORTS = \ @@ -94,7 +94,7 @@ index 126296fb49a..15fb236bcc0 100644 CFLAGS="$(CFLAGS)"; export CFLAGS; \ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index eb1dc304de2..93a43146846 100644 +index 21472745c2c..8c93f03ffdc 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -805,7 +805,7 @@ BUILD_LDFLAGS=@BUILD_LDFLAGS@ @@ -107,7 +107,7 @@ index eb1dc304de2..93a43146846 100644 # 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 +index 911de2cf017..325ace34cdf 100755 --- a/gcc/configure +++ b/gcc/configure @@ -11965,7 +11965,7 @@ else @@ -120,7 +120,7 @@ index 2e822caf66d..2c50676a2bf 100755 --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 +index b413ae9bf25..72a6c95121b 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -1743,7 +1743,7 @@ else @@ -133,5 +133,5 @@ index 70e7bac78c4..d29eb580429 100644 --enable-languages=${enable_languages-all} \ --target=$target_alias --host=$build_alias --build=$build_alias -- -2.20.1 +2.22.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.2/0028-nios2-Define-MUSL_DYNAMIC_LINKER.patch index 08da1ab986..84d92a337e 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0029-nios2-Define-MUSL_DYNAMIC_LINKER.patch +++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0028-nios2-Define-MUSL_DYNAMIC_LINKER.patch @@ -1,7 +1,7 @@ -From e293df9a5734b43cb60cc47a3f5ff9af50fee3aa Mon Sep 17 00:00:00 2001 +From 5647f773e28b528a67800ef06ca44730f9f5dc7e 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 +Subject: [PATCH 28/36] nios2: Define MUSL_DYNAMIC_LINKER Upstream-Status: Pending @@ -24,5 +24,5 @@ index 698734add35..eeee60ecfea 100644 #undef LINK_SPEC #define LINK_SPEC LINK_SPEC_ENDIAN \ -- -2.20.1 +2.22.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.2/0029-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch index 792e852614..d19e5a08b9 100644 --- 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.2/0029-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch @@ -1,7 +1,7 @@ -From 6232013df7fd65c994869789fa4b93c8d2303d1c Mon Sep 17 00:00:00 2001 +From 474043ca7a064ca7b0a32308a0ed6f7c546f17b2 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 +Subject: [PATCH 29/36] 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 @@ -41,10 +41,10 @@ index 4b05d8e93d1..0ca117e2ed4 100644 #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 +index ffceb32bf65..c82cb2ad05b 100644 --- a/gcc/config/rs6000/linux.h +++ b/gcc/config/rs6000/linux.h -@@ -107,6 +107,16 @@ +@@ -94,6 +94,16 @@ " -m elf32ppclinux") #endif @@ -62,10 +62,10 @@ index 96b97877989..0bbde54c844 100644 #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 +index 45a9a7cae59..d1e88a40e82 100644 --- a/gcc/config/rs6000/linux64.h +++ b/gcc/config/rs6000/linux64.h -@@ -461,6 +461,16 @@ extern int dot_symbols; +@@ -456,6 +456,16 @@ extern int dot_symbols; " -m elf64ppc") #endif @@ -83,5 +83,5 @@ index 982ca274621..83c07b275da 100644 %{!static-pie: \ %{rdynamic:-export-dynamic} \ -- -2.20.1 +2.22.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.2/0030-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch index efa40bec5e..f5769bc8e9 100644 --- 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.2/0030-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch @@ -1,7 +1,7 @@ -From 1877b2ee5835a3716e6544706fbccd8c656e0a32 Mon Sep 17 00:00:00 2001 +From baab61ae3938ee2fa9ec03a20793508516a46dae 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 +Subject: [PATCH 30/36] 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 @@ -121,5 +121,5 @@ index 8e96cafdf8b..9247856bf24 100644 [AS_HELP_STRING([--with-aix-soname=aix|svr4|both], [shared library versioning (aka "SONAME") variant to provide on AIX])], -- -2.20.1 +2.22.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.2/0031-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch index 3de8345f93..dc2141d70c 100644 --- 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.2/0031-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch @@ -1,7 +1,7 @@ -From 9d76a765a12677597134953352b25dc16dea721e Mon Sep 17 00:00:00 2001 +From 266dcc78e4d9d38de2809118977d97dc9270cf1f 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 +Subject: [PATCH 31/36] Link libgcc using LDFLAGS, not just SHLIB_LDFLAGS Upstream-Status: Pending @@ -25,5 +25,5 @@ index 099bf23e62f..436b277a79f 100644 $(SHLIB_OBJS) $(SHLIB_LC) && \ rm -f $(SHLIB_DIR)/$(SHLIB_SOLINK) && \ -- -2.20.1 +2.22.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.2/0032-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch index d8cc643211..8dde016ce5 100644 --- 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.2/0032-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch @@ -1,7 +1,7 @@ -From 6c001e08bcd0568367a4aa2f991ab7d85b43a43d Mon Sep 17 00:00:00 2001 +From 9975b6ed3570bbf7c7d2d82f4d5f733d24ccacf5 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 +Subject: [PATCH 32/36] libgcc_s: Use alias for __cpu_indicator_init instead of symver Adapter from @@ -39,10 +39,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 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 +index 2b37296e537..dd380ddba88 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, +@@ -36658,10 +36658,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget, { case IX86_BUILTIN_CPU_INIT: { @@ -82,5 +82,5 @@ index 8506a635790..564296f788e 100644 +HOST_LIBGCC2_CFLAGS += -mlong-double-80 $(CET_FLAGS) CRTSTUFF_T_CFLAGS += $(CET_FLAGS) -- -2.20.1 +2.22.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.2/0033-sync-gcc-stddef.h-with-musl.patch index a2c35ab537..b99ac429a0 100644 --- 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.2/0033-sync-gcc-stddef.h-with-musl.patch @@ -1,7 +1,7 @@ -From 83ba95929c5908ae0f51ce148a30f85b085a178a Mon Sep 17 00:00:00 2001 +From 39e2f61d262f9f6c7a91068998dea80791ef665e 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 +Subject: [PATCH 33/36] 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 @@ -87,5 +87,5 @@ index da692e1c01a..9a00c261adb 100644 #endif /* _STDDEF_H or __need_wchar_t. */ -- -2.20.1 +2.22.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.2/0034-fix-segmentation-fault-in-precompiled-header-generat.patch index ad1f6e7d10..06a3c9f884 100644 --- 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.2/0034-fix-segmentation-fault-in-precompiled-header-generat.patch @@ -1,7 +1,7 @@ -From c4f89e62c56975fee99304c9cbbe5be6e8bc9ed6 Mon Sep 17 00:00:00 2001 +From aaa896a57b0004a74c1d474e74b21f41147a65cb 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 +Subject: [PATCH 34/36] 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 @@ -56,5 +56,5 @@ index eedfcbb3146..15040a1b1f0 100644 buffer = _cpp_spell_ident_ucns (buffer, token->val.node.node); break; -- -2.20.1 +2.22.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.2/0035-Fix-for-testsuite-failure.patch index 4fb0698afc..7470cbfcfc 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0036-Fix-for-testsuite-failure.patch +++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0035-Fix-for-testsuite-failure.patch @@ -1,7 +1,7 @@ -From 8d773b5ba6cf396ca76611963127ba2b516272b3 Mon Sep 17 00:00:00 2001 +From 0f9d449c739df03782ce9d29f6b68d9af976a607 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 +Subject: [PATCH 35/36] Fix for testsuite failure 2017-11-16 Raghunath Lolur <raghunath.lolur@kpit.com> @@ -139,7 +139,7 @@ index ea896b7ebfd..bf15569b826 100644 #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 +index 8561a3c26d6..6377f814645 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 @@ @@ -254,5 +254,5 @@ index 6cda1534311..26e37f5b8ba 100644 __attribute__((vector_size((elcount)*sizeof(type)))) type -- -2.20.1 +2.22.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.2/0036-Re-introduce-spe-commandline-options.patch index 251097e131..4dbcd98945 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0037-Re-introduce-spe-commandline-options.patch +++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0036-Re-introduce-spe-commandline-options.patch @@ -1,7 +1,7 @@ -From 49d3dbe240226206d09ff646499cd398cb60bd12 Mon Sep 17 00:00:00 2001 +From 71e99c2b58a9eb00cdd65a04aeb6fb78227e3297 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 +Subject: [PATCH 36/36] Re-introduce spe commandline options This should ensure that we keep accepting spe options @@ -14,7 +14,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 12 insertions(+) diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt -index 2e90bf37747..ebd297da46b 100644 +index f4b5c91e11f..69869350fce 100644 --- a/gcc/config/rs6000/rs6000.opt +++ b/gcc/config/rs6000/rs6000.opt @@ -345,6 +345,18 @@ mdebug= @@ -37,5 +37,5 @@ index 2e90bf37747..ebd297da46b 100644 Target RejectNegative Var(rs6000_altivec_abi) Save Use the AltiVec ABI extensions. -- -2.20.1 +2.22.1 diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_9.2.bb index bf53c5cd78..bf53c5cd78 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_9.1.bb +++ b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_9.2.bb diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc-cross_9.2.bb index b43cca0c52..b43cca0c52 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-cross_9.1.bb +++ b/poky/meta/recipes-devtools/gcc/gcc-cross_9.2.bb diff --git a/poky/meta/recipes-devtools/gcc/gcc-crosssdk_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc-crosssdk_9.2.bb index 40a6c4feff..40a6c4feff 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-crosssdk_9.1.bb +++ b/poky/meta/recipes-devtools/gcc/gcc-crosssdk_9.2.bb diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc-runtime_9.2.bb index dd430b57eb..dd430b57eb 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-runtime_9.1.bb +++ b/poky/meta/recipes-devtools/gcc/gcc-runtime_9.2.bb diff --git a/poky/meta/recipes-devtools/gcc/gcc-sanitizers_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc-sanitizers_9.2.bb index f3c7058114..f3c7058114 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-sanitizers_9.1.bb +++ b/poky/meta/recipes-devtools/gcc/gcc-sanitizers_9.2.bb diff --git a/poky/meta/recipes-devtools/gcc/gcc-source_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc-source_9.2.bb index b890fa33ea..b890fa33ea 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-source_9.1.bb +++ b/poky/meta/recipes-devtools/gcc/gcc-source_9.2.bb diff --git a/poky/meta/recipes-devtools/gcc/gcc_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc_9.2.bb index 7d93590588..7d93590588 100644 --- a/poky/meta/recipes-devtools/gcc/gcc_9.1.bb +++ b/poky/meta/recipes-devtools/gcc/gcc_9.2.bb diff --git a/poky/meta/recipes-devtools/gcc/libgcc-initial_9.1.bb b/poky/meta/recipes-devtools/gcc/libgcc-initial_9.2.bb index 0c698c26ec..0c698c26ec 100644 --- a/poky/meta/recipes-devtools/gcc/libgcc-initial_9.1.bb +++ b/poky/meta/recipes-devtools/gcc/libgcc-initial_9.2.bb diff --git a/poky/meta/recipes-devtools/gcc/libgcc_9.1.bb b/poky/meta/recipes-devtools/gcc/libgcc_9.2.bb index ea210a1130..ea210a1130 100644 --- a/poky/meta/recipes-devtools/gcc/libgcc_9.1.bb +++ b/poky/meta/recipes-devtools/gcc/libgcc_9.2.bb diff --git a/poky/meta/recipes-devtools/gcc/libgfortran_9.1.bb b/poky/meta/recipes-devtools/gcc/libgfortran_9.2.bb index 71dd8b4bdc..71dd8b4bdc 100644 --- a/poky/meta/recipes-devtools/gcc/libgfortran_9.1.bb +++ b/poky/meta/recipes-devtools/gcc/libgfortran_9.2.bb diff --git a/poky/meta/recipes-devtools/git/git_2.22.1.bb b/poky/meta/recipes-devtools/git/git_2.22.1.bb deleted file mode 100644 index e0ed146b27..0000000000 --- a/poky/meta/recipes-devtools/git/git_2.22.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] = "b379ee9b8c7733d01fc49998148621ef" -SRC_URI[tarball.sha256sum] = "83bf264bfa4573faddb396cbc7f5518db082f9573aa3c8ea08b8a30d23a46adc" -SRC_URI[manpages.md5sum] = "70aaf2da41c21b0864e9b1bb8231172c" -SRC_URI[manpages.sha256sum] = "228da34377a6795619e1822a4fad00c87300135b811643bdb816afe4a92040f9" diff --git a/poky/meta/recipes-devtools/git/git_2.23.0.bb b/poky/meta/recipes-devtools/git/git_2.23.0.bb new file mode 100644 index 0000000000..1539182a90 --- /dev/null +++ b/poky/meta/recipes-devtools/git/git_2.23.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] = "203c238ffdcef76f9bd6c67cfbaf949f" +SRC_URI[tarball.sha256sum] = "e3396c90888111a01bf607346db09b0fbf49a95bc83faf9506b61195936f0cfe" +SRC_URI[manpages.md5sum] = "90a72e553de712d798d68b15b57bc928" +SRC_URI[manpages.sha256sum] = "a5b0998f95c2290386d191d34780d145ea67e527fac98541e0350749bf76be75" diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb index 9ac7e140ab..63d3fad6ab 100644 --- a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb +++ b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb @@ -17,7 +17,7 @@ inherit meson gobject-introspection EXTRA_OEMESON = "-Ddeveloper_build=false -Dbuild_api_v1=true -Dbuild_api_v2=true" -DEPENDS += "glib-2.0 libyaml glib-2.0-native" +DEPENDS += "glib-2.0 libyaml glib-2.0-native python3" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/patch/patch/0001-Don-t-leak-temporary-file-on-failed-ed-style-patch.patch b/poky/meta/recipes-devtools/patch/patch/0001-Don-t-leak-temporary-file-on-failed-ed-style-patch.patch new file mode 100644 index 0000000000..9891526e4e --- /dev/null +++ b/poky/meta/recipes-devtools/patch/patch/0001-Don-t-leak-temporary-file-on-failed-ed-style-patch.patch @@ -0,0 +1,93 @@ +From 7f770b9c20da1a192dad8cb572a6391f2773285a Mon Sep 17 00:00:00 2001 +From: Jean Delvare <jdelvare@suse.de> +Date: Thu, 3 May 2018 14:31:55 +0200 +Subject: [PATCH 1/2] Don't leak temporary file on failed ed-style patch + +Now that we write ed-style patches to a temporary file before we +apply them, we need to ensure that the temporary file is removed +before we leave, even on fatal error. + +* src/pch.c (do_ed_script): Use global TMPEDNAME instead of local + tmpname. Don't unlink the file directly, instead tag it for removal + at exit time. +* src/patch.c (cleanup): Unlink TMPEDNAME at exit. + +This closes bug #53820: +https://savannah.gnu.org/bugs/index.php?53820 + +Fixes: 123eaff0d5d1 ("Fix arbitrary command execution in ed-style patches (CVE-2018-1000156)") + +Upstream-Status: Backport [http://git.savannah.gnu.org/cgit/patch.git/commit/?id=19599883ffb6a450d2884f081f8ecf68edbed7ee] +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + src/common.h | 2 ++ + src/pch.c | 12 +++++------- + 2 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/src/common.h b/src/common.h +index ec50b40..22238b5 100644 +--- a/src/common.h ++++ b/src/common.h +@@ -94,10 +94,12 @@ XTERN char const *origsuff; + XTERN char const * TMPINNAME; + XTERN char const * TMPOUTNAME; + XTERN char const * TMPPATNAME; ++XTERN char const * TMPEDNAME; + + XTERN bool TMPINNAME_needs_removal; + XTERN bool TMPOUTNAME_needs_removal; + XTERN bool TMPPATNAME_needs_removal; ++XTERN bool TMPEDNAME_needs_removal; + + #ifdef DEBUGGING + XTERN int debug; +diff --git a/src/pch.c b/src/pch.c +index 16e001a..c1a62cf 100644 +--- a/src/pch.c ++++ b/src/pch.c +@@ -2392,7 +2392,6 @@ do_ed_script (char const *inname, char const *outname, + file_offset beginning_of_this_line; + size_t chars_read; + FILE *tmpfp = 0; +- char const *tmpname; + int tmpfd; + pid_t pid; + +@@ -2404,12 +2403,13 @@ do_ed_script (char const *inname, char const *outname, + invalid commands and treats the next line as a new command, which + can lead to arbitrary command execution. */ + +- tmpfd = make_tempfile (&tmpname, 'e', NULL, O_RDWR | O_BINARY, 0); ++ tmpfd = make_tempfile (&TMPEDNAME, 'e', NULL, O_RDWR | O_BINARY, 0); + if (tmpfd == -1) +- pfatal ("Can't create temporary file %s", quotearg (tmpname)); ++ pfatal ("Can't create temporary file %s", quotearg (TMPEDNAME)); ++ TMPEDNAME_needs_removal = true; + tmpfp = fdopen (tmpfd, "w+b"); + if (! tmpfp) +- pfatal ("Can't open stream for file %s", quotearg (tmpname)); ++ pfatal ("Can't open stream for file %s", quotearg (TMPEDNAME)); + } + + for (;;) { +@@ -2449,8 +2449,7 @@ do_ed_script (char const *inname, char const *outname, + write_fatal (); + + if (lseek (tmpfd, 0, SEEK_SET) == -1) +- pfatal ("Can't rewind to the beginning of file %s", quotearg (tmpname)); +- ++ pfatal ("Can't rewind to the beginning of file %s", quotearg (TMPEDNAME)); + if (! dry_run && ! skip_rest_of_patch) { + int exclusive = *outname_needs_removal ? 0 : O_EXCL; + *outname_needs_removal = true; +@@ -2482,7 +2481,6 @@ do_ed_script (char const *inname, char const *outname, + } + + fclose (tmpfp); +- safe_unlink (tmpname); + + if (ofp) + { +-- +2.17.0 + diff --git a/poky/meta/recipes-devtools/patch/patch/0001-Don-t-leak-temporary-file-on-failed-multi-file-ed.patch b/poky/meta/recipes-devtools/patch/patch/0001-Don-t-leak-temporary-file-on-failed-multi-file-ed.patch new file mode 100644 index 0000000000..d6a219a1b1 --- /dev/null +++ b/poky/meta/recipes-devtools/patch/patch/0001-Don-t-leak-temporary-file-on-failed-multi-file-ed.patch @@ -0,0 +1,80 @@ +From 369dcccdfa6336e5a873d6d63705cfbe04c55727 Mon Sep 17 00:00:00 2001 +From: Jean Delvare <jdelvare@suse.de> +Date: Mon, 7 May 2018 15:14:45 +0200 +Subject: Don't leak temporary file on failed multi-file ed-style patch + +The previous fix worked fine with single-file ed-style patches, but +would still leak temporary files in the case of multi-file ed-style +patch. Fix that case as well, and extend the test case to check for +it. + +* src/patch.c (main): Unlink TMPEDNAME if needed before moving to + the next file in a patch. + +This closes bug #53820: +https://savannah.gnu.org/bugs/index.php?53820 + +Fixes: 123eaff0d5d1 ("Fix arbitrary command execution in ed-style patches (CVE-2018-1000156)") +Fixes: 19599883ffb6 ("Don't leak temporary file on failed ed-style patch") + +Upstream-Status: Backport [http://git.savannah.gnu.org/cgit/patch.git/commit/?id=369dcccdfa6336e5a873d6d63705cfbe04c55727] +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + src/patch.c | 1 + + tests/ed-style | 31 +++++++++++++++++++++++++++++++ + 2 files changed, 32 insertions(+) + +diff --git a/src/patch.c b/src/patch.c +index 9146597..81c7a02 100644 +--- a/src/patch.c ++++ b/src/patch.c +@@ -236,6 +236,7 @@ main (int argc, char **argv) + } + remove_if_needed (TMPOUTNAME, &TMPOUTNAME_needs_removal); + } ++ remove_if_needed (TMPEDNAME, &TMPEDNAME_needs_removal); + + if (! skip_rest_of_patch && ! file_type) + { +diff --git a/tests/ed-style b/tests/ed-style +index 6b6ef9d..504e6e5 100644 +--- a/tests/ed-style ++++ b/tests/ed-style +@@ -38,3 +38,34 @@ EOF + check 'cat foo' <<EOF + foo + EOF ++ ++# Test the case where one ed-style patch modifies several files ++ ++cat > ed3.diff <<EOF ++--- foo +++++ foo ++1c ++bar ++. ++--- baz +++++ baz ++0a ++baz ++. ++EOF ++ ++# Apparently we can't create a file with such a patch, while it works fine ++# when the file name is provided on the command line ++cat > baz <<EOF ++EOF ++ ++check 'patch -e -i ed3.diff' <<EOF ++EOF ++ ++check 'cat foo' <<EOF ++bar ++EOF ++ ++check 'cat baz' <<EOF ++baz ++EOF +-- +cgit v1.0-41-gc330 + diff --git a/poky/meta/recipes-devtools/patch/patch_2.7.6.bb b/poky/meta/recipes-devtools/patch/patch_2.7.6.bb index 8908910f74..5d7f55f8dc 100644 --- a/poky/meta/recipes-devtools/patch/patch_2.7.6.bb +++ b/poky/meta/recipes-devtools/patch/patch_2.7.6.bb @@ -8,6 +8,8 @@ SRC_URI += "file://0001-Unset-need_charset_alias-when-building-for-musl.patch \ file://0001-Fix-swapping-fake-lines-in-pch_swap.patch \ file://CVE-2019-13636.patch \ file://0001-Invoke-ed-directly-instead-of-using-the-shell.patch \ + file://0001-Don-t-leak-temporary-file-on-failed-ed-style-patch.patch \ + file://0001-Don-t-leak-temporary-file-on-failed-multi-file-ed.patch \ " SRC_URI[md5sum] = "4c68cee989d83c87b00a3860bcd05600" diff --git a/poky/meta/recipes-devtools/python/python-setuptools.inc b/poky/meta/recipes-devtools/python/python-setuptools.inc index f49e078697..322197eed8 100644 --- a/poky/meta/recipes-devtools/python/python-setuptools.inc +++ b/poky/meta/recipes-devtools/python/python-setuptools.inc @@ -10,8 +10,8 @@ inherit pypi SRC_URI_append_class-native = " file://0001-conditionally-do-not-fetch-code-by-easy_install.patch" -SRC_URI[md5sum] = "6404ca798bb9a9073aff3b91b2df35c8" -SRC_URI[sha256sum] = "a222d126f5471598053c9a77f4b5d4f26eaa1f150ad6e01dcf1a42e185d05613" +SRC_URI[md5sum] = "a3470ce184da33f0fa6c9f44f6221bc0" +SRC_URI[sha256sum] = "66b86bbae7cc7ac2e867f52dc08a6bd064d938bac59dfec71b9b565dd36d6012" DEPENDS += "${PYTHON_PN}" diff --git a/poky/meta/recipes-devtools/python/python-setuptools_41.0.1.bb b/poky/meta/recipes-devtools/python/python-setuptools_41.2.0.bb index cf9440495b..cf9440495b 100644 --- a/poky/meta/recipes-devtools/python/python-setuptools_41.0.1.bb +++ b/poky/meta/recipes-devtools/python/python-setuptools_41.2.0.bb diff --git a/poky/meta/recipes-devtools/python/python3-pip_19.2.1.bb b/poky/meta/recipes-devtools/python/python3-pip_19.2.2.bb index ebf1f25c16..faafbc1572 100644 --- a/poky/meta/recipes-devtools/python/python3-pip_19.2.1.bb +++ b/poky/meta/recipes-devtools/python/python3-pip_19.2.2.bb @@ -6,8 +6,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8ba06d529c955048e5ddd7c45459eb2e" DEPENDS += "python3 python3-setuptools-native" -SRC_URI[md5sum] = "e9ac3e030e88b6c076a20ab371a30742" -SRC_URI[sha256sum] = "258d702483dd749400aec59c23d638a5b2249ae28a0f478b6cab12ad45681a80" +SRC_URI[md5sum] = "2ba0a3b76d39ccd90ca22bfa82fc635f" +SRC_URI[sha256sum] = "e05103825871e210d50a44c7e448587b0ed99dd775d3ef586304c58f40224a53" inherit pypi distutils3 diff --git a/poky/meta/recipes-devtools/python/python3-scons-native_3.1.0.bb b/poky/meta/recipes-devtools/python/python3-scons-native_3.1.1.bb index 5cd5956625..5cd5956625 100644 --- a/poky/meta/recipes-devtools/python/python3-scons-native_3.1.0.bb +++ b/poky/meta/recipes-devtools/python/python3-scons-native_3.1.1.bb diff --git a/poky/meta/recipes-devtools/python/python3-scons_3.1.0.bb b/poky/meta/recipes-devtools/python/python3-scons_3.1.1.bb index f1545dade6..0c7aaeaeee 100644 --- a/poky/meta/recipes-devtools/python/python3-scons_3.1.0.bb +++ b/poky/meta/recipes-devtools/python/python3-scons_3.1.1.bb @@ -4,8 +4,8 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=37bb53a08e6beaea0c90e7821d731284" SRC_URI = "${SOURCEFORGE_MIRROR}/scons/scons-${PV}.tar.gz" -SRC_URI[md5sum] = "e2fe9d16f81b0285b969238af4b552ff" -SRC_URI[sha256sum] = "f3f548d738d4a2179123ecd744271ec413b2d55735ea7625a59b1b59e6cd132f" +SRC_URI[md5sum] = "35b2a3993313bbedd221d4d5758fd2fd" +SRC_URI[sha256sum] = "4cea417fdd7499a36f407923d03b4b7000b0f9e8fd7b31b316b9ce7eba9143a5" S = "${WORKDIR}/scons-${PV}" diff --git a/poky/meta/recipes-devtools/python/python3-setuptools_41.0.1.bb b/poky/meta/recipes-devtools/python/python3-setuptools_41.2.0.bb index 0dc1ed8622..0dc1ed8622 100644 --- a/poky/meta/recipes-devtools/python/python3-setuptools_41.0.1.bb +++ b/poky/meta/recipes-devtools/python/python3-setuptools_41.2.0.bb diff --git a/poky/meta/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch b/poky/meta/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch new file mode 100644 index 0000000000..35b7e0c480 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch @@ -0,0 +1,46 @@ +From b94995e0c694ec9561efec0d1a59b323340e6105 Mon Sep 17 00:00:00 2001 +From: Mingli Yu <mingli.yu@windriver.com> +Date: Mon, 5 Aug 2019 15:57:39 +0800 +Subject: [PATCH] test_locale.py: correct the test output format + +Before this patch: + # python3 -m test -v test_locale + [snip] + test_getsetlocale_issue1813 (test.test_locale.TestMiscellaneous) ... testing with ('tr_TR', 'ISO8859-9') ok + [snip] + + After this patch: + # python3 -m test -v test_locale + [snip] + test_getsetlocale_issue1813 (test.test_locale.TestMiscellaneous) ... testing with ('tr_TR', 'ISO8859-9')... ok + [snip] + + Make the test ended with "... ok" is common in python + unittest world, we should make it keep consistent + with other test cases in case it may be ignored to + record in the report if we use the common filter + "... ok". + +Upstream-Status: Submitted [https://github.com/python/cpython/pull/15132] + +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> +--- + Lib/test/test_locale.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Lib/test/test_locale.py b/Lib/test/test_locale.py +index e2c2178..558d63c 100644 +--- a/Lib/test/test_locale.py ++++ b/Lib/test/test_locale.py +@@ -527,7 +527,7 @@ class TestMiscellaneous(unittest.TestCase): + self.skipTest('test needs Turkish locale') + loc = locale.getlocale(locale.LC_CTYPE) + if verbose: +- print('testing with %a' % (loc,), end=' ', flush=True) ++ print('testing with %a...' % (loc,), end=' ', flush=True) + locale.setlocale(locale.LC_CTYPE, loc) + self.assertEqual(loc, locale.getlocale(locale.LC_CTYPE)) + +-- +2.7.4 + diff --git a/poky/meta/recipes-devtools/python/python3_3.7.4.bb b/poky/meta/recipes-devtools/python/python3_3.7.4.bb index 59d7024988..80c9b2919e 100644 --- a/poky/meta/recipes-devtools/python/python3_3.7.4.bb +++ b/poky/meta/recipes-devtools/python/python3_3.7.4.bb @@ -27,6 +27,7 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ file://crosspythonpath.patch \ file://reformat_sysconfig.py \ file://0001-Use-FLAG_REF-always-for-interned-strings.patch \ + file://0001-test_locale.py-correct-the-test-output-format.patch \ " SRC_URI_append_class-native = " \ diff --git a/poky/meta/recipes-devtools/qemu/qemu-native.inc b/poky/meta/recipes-devtools/qemu/qemu-native.inc index c04297cad0..69c2c43e6b 100644 --- a/poky/meta/recipes-devtools/qemu/qemu-native.inc +++ b/poky/meta/recipes-devtools/qemu/qemu-native.inc @@ -3,8 +3,8 @@ inherit native require qemu.inc SRC_URI_append = " \ - file://0011-fix-libcap-header-issue-on-some-distro.patch \ - file://0012-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch \ + file://0010-fix-libcap-header-issue-on-some-distro.patch \ + file://0011-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch \ " EXTRA_OEMAKE_append = " LD='${LD}' AR='${AR}' OBJCOPY='${OBJCOPY}' LDFLAGS='${LDFLAGS}'" diff --git a/poky/meta/recipes-devtools/qemu/qemu-native_4.0.0.bb b/poky/meta/recipes-devtools/qemu/qemu-native_4.1.0.bb index c8acff8e19..c8acff8e19 100644 --- a/poky/meta/recipes-devtools/qemu/qemu-native_4.0.0.bb +++ b/poky/meta/recipes-devtools/qemu/qemu-native_4.1.0.bb diff --git a/poky/meta/recipes-devtools/qemu/qemu-system-native_4.0.0.bb b/poky/meta/recipes-devtools/qemu/qemu-system-native_4.1.0.bb index 964dcee524..d83ee59375 100644 --- a/poky/meta/recipes-devtools/qemu/qemu-system-native_4.0.0.bb +++ b/poky/meta/recipes-devtools/qemu/qemu-system-native_4.1.0.bb @@ -2,7 +2,7 @@ BPN = "qemu" require qemu-native.inc -# As some of the files installed by qemu-native and qemu-system-native +# As some of the files installed by qemu-native and qemu-system-native # are the same, we depend on qemu-native to get the full installation set # and avoid file clashes DEPENDS = "glib-2.0-native zlib-native pixman-native qemu-native bison-native" diff --git a/poky/meta/recipes-devtools/qemu/qemu-targets.inc b/poky/meta/recipes-devtools/qemu/qemu-targets.inc index 550d6f0ab1..8184ef5781 100644 --- a/poky/meta/recipes-devtools/qemu/qemu-targets.inc +++ b/poky/meta/recipes-devtools/qemu/qemu-targets.inc @@ -13,7 +13,7 @@ def get_qemu_target_list(d): softmmuonly += arch + "-softmmu," archs.remove(arch) linuxuseronly = "" - for arch in ['armeb', 'alpha', 'ppc64abi32', 'sparc32plus']: + for arch in ['armeb', 'alpha', 'ppc64abi32', 'sparc32plus', 'aarch64_be']: if arch in archs: linuxuseronly += arch + "-linux-user," archs.remove(arch) diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc index 46c40b7d4f..d2dd2bc9c1 100644 --- a/poky/meta/recipes-devtools/qemu/qemu.inc +++ b/poky/meta/recipes-devtools/qemu/qemu.inc @@ -17,20 +17,16 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \ 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-target-arm-Fix-vector-operation-segfault.patch \ - file://0014-linux-user-fix-to-handle-variably-sized-SIOCGSTAMP-w.patch \ - file://CVE-2019-12155.patch \ + file://0005-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch \ + file://0006-chardev-connect-socket-to-a-spawned-command.patch \ + file://0007-apic-fixup-fallthrough-to-PIC.patch \ + file://0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch \ + file://0009-Fix-webkitgtk-builds.patch \ " UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar" -SRC_URI[md5sum] = "0afeca336fd57ae3d3086ec07f59d708" -SRC_URI[sha256sum] = "13a93dfe75b86734326f8d5b475fde82ec692d5b5a338b4262aeeb6b0fa4e469" +SRC_URI[md5sum] = "cdf2b5ca52b9abac9bacb5842fa420f8" +SRC_URI[sha256sum] = "656e60218689bdeec69903087fd7582d5d3e72238d02f4481d8dc6d79fd909c6" COMPATIBLE_HOST_mipsarchn32 = "null" COMPATIBLE_HOST_mipsarchn64 = "null" @@ -141,7 +137,7 @@ PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses," 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[ssh] = "--enable-libssh,--disable-libssh,libssh," PACKAGECONFIG[gcrypt] = "--enable-gcrypt,--disable-gcrypt,libgcrypt," PACKAGECONFIG[nettle] = "--enable-nettle,--disable-nettle,nettle" PACKAGECONFIG[libusb] = "--enable-libusb,--disable-libusb,libusb1" diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch index 5373915ff0..9478102ae5 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0001-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 1cb804cf0e47116202011f3386b4739af668224a Mon Sep 17 00:00:00 2001 +From 4655dc18074e0be9d239f51dac32b61435da8549 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 @@ -19,10 +19,10 @@ Upstream-Status: Submitted 1 file changed, 93 insertions(+), 1 deletion(-) diff --git a/hw/usb/dev-wacom.c b/hw/usb/dev-wacom.c -index ac0bc83b..6f9b22d4 100644 +index 8c43db93..3ff8ca28 100644 --- a/hw/usb/dev-wacom.c +++ b/hw/usb/dev-wacom.c -@@ -72,6 +72,89 @@ static const USBDescStrings desc_strings = { +@@ -74,6 +74,89 @@ static const USBDescStrings desc_strings = { [STR_SERIALNUMBER] = "1", }; @@ -112,7 +112,7 @@ index ac0bc83b..6f9b22d4 100644 static const USBDescIface desc_iface_wacom = { .bInterfaceNumber = 0, .bNumEndpoints = 1, -@@ -89,7 +172,7 @@ static const USBDescIface desc_iface_wacom = { +@@ -91,7 +174,7 @@ static const USBDescIface desc_iface_wacom = { 0x00, /* u8 country_code */ 0x01, /* u8 num_descriptors */ 0x22, /* u8 type: Report */ @@ -121,7 +121,7 @@ index ac0bc83b..6f9b22d4 100644 }, }, }, -@@ -269,6 +352,15 @@ static void usb_wacom_handle_control(USBDevice *dev, USBPacket *p, +@@ -271,6 +354,15 @@ static void usb_wacom_handle_control(USBDevice *dev, USBPacket *p, } switch (request) { diff --git a/poky/meta/recipes-devtools/qemu/qemu/0002-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 index 7b7c5d71a0..2ccddd53cf 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0002-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 281116b31981b0b9e174bda8abe00f4eaa33c2ae Mon Sep 17 00:00:00 2001 +From 67751f3a23e3db3012f391b3b3b73a4484488ce9 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 @@ Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> 1 file changed, 8 insertions(+) diff --git a/tests/Makefile.include b/tests/Makefile.include -index 36fc73fe..01fecd4d 100644 +index fd7fdb86..83b7f409 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include -@@ -1184,4 +1184,12 @@ all: $(QEMU_IOTESTS_HELPERS-y) +@@ -1183,4 +1183,12 @@ all: $(QEMU_IOTESTS_HELPERS-y) -include $(wildcard tests/*.d) -include $(wildcard tests/libqos/*.d) diff --git a/poky/meta/recipes-devtools/qemu/qemu/0003-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 index 9a18ca18e4..5c42d68030 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0003-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 bf04acef9ec31ddcc18ddbb4ac5b7b1e7368bf7d Mon Sep 17 00:00:00 2001 +From 235b94f1188597873c8776b019fed49947983392 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,7 +19,7 @@ Signed-off-by: Roy Li <rongqing.li@windriver.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c -index 439665ab..285c78ef 100644 +index 20e019bf..d150b01c 100644 --- a/hw/mips/mips_malta.c +++ b/hw/mips/mips_malta.c @@ -60,7 +60,7 @@ diff --git a/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch b/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch index 9e326081f2..0ac4ab40b1 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch @@ -1,4 +1,4 @@ -From e40f797548bc3ff06c71b6cbe042a46406894d18 Mon Sep 17 00:00:00 2001 +From 3ad7a375015d47fdf5016e03e11fa93440d6d8bd 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 @@ Signed-off-by: Ross Burton <ross.burton@intel.com> 1 file changed, 9 deletions(-) diff --git a/configure b/configure -index 1c563a70..eaf9bb5e 100755 +index 714e7fb6..dad4fc59 100755 --- a/configure +++ b/configure -@@ -5311,15 +5311,6 @@ fi +@@ -5335,15 +5335,6 @@ fi # check if we have valgrind/valgrind.h valgrind_h=no diff --git a/poky/meta/recipes-devtools/qemu/qemu/0005-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 deleted file mode 100644 index 819720a3f2..0000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/0005-qemu-Limit-paths-searched-during-user-mode-emulation.patch +++ /dev/null @@ -1,146 +0,0 @@ -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 - -By default qemu builds a complete list of directories within the user -emulation sysroot (-L option). The OE sysroot directory is large and -this is confusing, for example it indexes all pkgdata. In particular this -confuses strace of qemu binaries with tons of irrelevant paths. - -This patch stops the code indexing up front and instead only indexes -things if/as/when it needs to. This drastically reduces the files it -reads and reduces memory usage and cleans up strace. - -It would also avoid the infinite directory traversal bug in [YOCTO #6996] -although the code could still be vulnerable if it parsed those specific -paths. - -RP -2016/3/9 -Upstream-Status: Pending - ---- - util/path.c | 44 ++++++++++++++++++++++---------------------- - 1 file changed, 22 insertions(+), 22 deletions(-) - -diff --git a/util/path.c b/util/path.c -index 7f9fc272..a416cd4a 100644 ---- a/util/path.c -+++ b/util/path.c -@@ -15,6 +15,7 @@ struct pathelem - char *name; - /* Full path name, eg. /usr/gnemul/x86-linux/lib. */ - char *pathname; -+ int populated_entries; - struct pathelem *parent; - /* Children */ - unsigned int num_entries; -@@ -45,6 +46,7 @@ static struct pathelem *new_entry(const char *root, - new->name = g_strdup(name); - new->pathname = g_strdup_printf("%s/%s", root, name); - new->num_entries = 0; -+ new->populated_entries = 0; - return new; - } - -@@ -53,15 +55,16 @@ static struct pathelem *new_entry(const char *root, - /* Not all systems provide this feature */ - #if defined(DT_DIR) && defined(DT_UNKNOWN) && defined(DT_LNK) - # define dirent_type(dirent) ((dirent)->d_type) --# define is_dir_maybe(type) \ -- ((type) == DT_DIR || (type) == DT_UNKNOWN || (type) == DT_LNK) -+# define is_not_dir(type) \ -+ ((type) != DT_DIR && (type) != DT_UNKNOWN && (type) != DT_LNK) - #else - # define dirent_type(dirent) (1) --# define is_dir_maybe(type) (type) -+# define is_not_dir(type) (0) - #endif - - static struct pathelem *add_dir_maybe(struct pathelem *path) - { -+ unsigned int i; - DIR *dir; - - if ((dir = opendir(path->pathname)) != NULL) { -@@ -74,6 +77,11 @@ static struct pathelem *add_dir_maybe(struct pathelem *path) - } - closedir(dir); - } -+ -+ for (i = 0; i < path->num_entries; i++) -+ (path->entries[i])->parent = path; -+ -+ path->populated_entries = 1; - return path; - } - -@@ -89,26 +97,16 @@ static struct pathelem *add_entry(struct pathelem *root, const char *name, - e = &root->entries[root->num_entries-1]; - - *e = new_entry(root->pathname, root, name); -- if (is_dir_maybe(type)) { -- *e = add_dir_maybe(*e); -+ if (is_not_dir(type)) { -+ (*e)->populated_entries = 1; - } - - return root; - } - --/* This needs to be done after tree is stabilized (ie. no more reallocs!). */ --static void set_parents(struct pathelem *child, struct pathelem *parent) --{ -- unsigned int i; -- -- child->parent = parent; -- for (i = 0; i < child->num_entries; i++) -- set_parents(child->entries[i], child); --} -- - /* FIXME: Doesn't handle DIR/.. where DIR is not in emulated dir. */ - static const char * --follow_path(const struct pathelem *cursor, const char *name) -+follow_path(struct pathelem *cursor, struct pathelem **source, const char *name) - { - unsigned int i, namelen; - -@@ -119,14 +117,18 @@ follow_path(const struct pathelem *cursor, const char *name) - return cursor->pathname; - - if (strneq(name, namelen, "..")) -- return follow_path(cursor->parent, name + namelen); -+ return follow_path(cursor->parent, &cursor->parent, name + namelen); - - if (strneq(name, namelen, ".")) -- return follow_path(cursor, name + namelen); -+ return follow_path(cursor, source, name + namelen); -+ -+ if (!cursor->populated_entries) -+ *source = add_dir_maybe(cursor); -+ cursor = *source; - - for (i = 0; i < cursor->num_entries; i++) - if (strneq(name, namelen, cursor->entries[i]->name)) -- return follow_path(cursor->entries[i], name + namelen); -+ return follow_path(cursor->entries[i], &cursor->entries[i], name + namelen); - - /* Not found */ - return NULL; -@@ -160,8 +162,6 @@ void init_paths(const char *prefix) - g_free(base->name); - g_free(base); - base = NULL; -- } else { -- set_parents(base, base); - } - } - -@@ -173,5 +173,5 @@ const char *path(const char *name) - if (!base || !name || name[0] != '/') - return name; - -- return follow_path(base, name) ?: name; -+ return follow_path(base, &base, name) ?: name; - } diff --git a/poky/meta/recipes-devtools/qemu/qemu/0006-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch b/poky/meta/recipes-devtools/qemu/qemu/0005-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch index b62a588c66..a73681510e 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0006-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0005-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch @@ -1,4 +1,4 @@ -From 107fd860529a3c1319d54c3c225758457b0d9394 Mon Sep 17 00:00:00 2001 +From 80e6070bcdfe636b103a13598e6c38ad0d0e7624 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 @@ Upstream-Status: Pending 1 file changed, 4 deletions(-) diff --git a/configure b/configure -index eaf9bb5e..de2933d1 100755 +index dad4fc59..685bbe5e 100755 --- a/configure +++ b/configure -@@ -5928,10 +5928,6 @@ write_c_skeleton +@@ -5971,10 +5971,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/0007-chardev-connect-socket-to-a-spawned-command.patch b/poky/meta/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch index f3f3dc3f5e..a42385530f 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0007-chardev-connect-socket-to-a-spawned-command.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch @@ -1,4 +1,4 @@ -From 136e159482a1bc8676cbe6e767055d0c3fb20065 Mon Sep 17 00:00:00 2001 +From ad853601e75f6d0dd09672bcca05fbe4fac766a4 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 @@ -52,10 +52,10 @@ Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> 3 files changed, 109 insertions(+) diff --git a/chardev/char-socket.c b/chardev/char-socket.c -index 3916505d..a8e9dce8 100644 +index 7ca5d97a..207fae4a 100644 --- a/chardev/char-socket.c +++ b/chardev/char-socket.c -@@ -1273,6 +1273,67 @@ static bool qmp_chardev_validate_socket(ChardevSocket *sock, +@@ -1278,6 +1278,67 @@ static bool qmp_chardev_validate_socket(ChardevSocket *sock, return true; } @@ -123,7 +123,7 @@ index 3916505d..a8e9dce8 100644 static void qmp_chardev_open_socket(Chardev *chr, ChardevBackend *backend, -@@ -1281,6 +1342,9 @@ static void qmp_chardev_open_socket(Chardev *chr, +@@ -1286,6 +1347,9 @@ static void qmp_chardev_open_socket(Chardev *chr, { SocketChardev *s = SOCKET_CHARDEV(chr); ChardevSocket *sock = backend->u.socket.data; @@ -133,7 +133,7 @@ index 3916505d..a8e9dce8 100644 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; -@@ -1346,6 +1410,14 @@ static void qmp_chardev_open_socket(Chardev *chr, +@@ -1351,6 +1415,14 @@ static void qmp_chardev_open_socket(Chardev *chr, update_disconnected_filename(s); @@ -148,7 +148,7 @@ index 3916505d..a8e9dce8 100644 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, +@@ -1370,9 +1442,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"); @@ -175,7 +175,7 @@ index 3916505d..a8e9dce8 100644 if ((!!path + !!fd + !!host) != 1) { error_setg(errp, "Exactly one of 'path', 'fd' or 'host' required"); -@@ -1410,12 +1499,24 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend, +@@ -1415,12 +1504,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")); @@ -201,10 +201,10 @@ index 3916505d..a8e9dce8 100644 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 514cd6b0..36a40d67 100644 +index 7b6b2cb1..0c2ca64b 100644 --- a/chardev/char.c +++ b/chardev/char.c -@@ -835,6 +835,9 @@ QemuOptsList qemu_chardev_opts = { +@@ -837,6 +837,9 @@ QemuOptsList qemu_chardev_opts = { },{ .name = "path", .type = QEMU_OPT_STRING, diff --git a/poky/meta/recipes-devtools/qemu/qemu/0008-apic-fixup-fallthrough-to-PIC.patch b/poky/meta/recipes-devtools/qemu/qemu/0007-apic-fixup-fallthrough-to-PIC.patch index 13037f33f3..b50e8c2545 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0008-apic-fixup-fallthrough-to-PIC.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0007-apic-fixup-fallthrough-to-PIC.patch @@ -1,4 +1,4 @@ -From 1b3f264e2ba18caf658fae27293c426c8366c6a3 Mon Sep 17 00:00:00 2001 +From f51e49e7d7d87b7254242b7360f99c2df94a5a2d 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 @@ Signed-off-by: He Zhe <zhe.he@windriver.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/intc/apic.c b/hw/intc/apic.c -index 6ea619c3..f892811e 100644 +index bce89911..df4b582e 100644 --- a/hw/intc/apic.c +++ b/hw/intc/apic.c -@@ -604,7 +604,7 @@ int apic_accept_pic_intr(DeviceState *dev) +@@ -603,7 +603,7 @@ int apic_accept_pic_intr(DeviceState *dev) APICCommonState *s = APIC(dev); uint32_t lvt0; diff --git a/poky/meta/recipes-devtools/qemu/qemu/0009-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch b/poky/meta/recipes-devtools/qemu/qemu/0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch index c572ff94d0..e562f25bec 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0009-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch @@ -1,4 +1,4 @@ -From a33ae91504ea4d254b5ace64a84791d3c96c9773 Mon Sep 17 00:00:00 2001 +From 25a064f91f73630e5dff2a6aeb23d953c469cea6 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,10 +19,10 @@ Signed-off-by: Alistair Francis <alistair.francis@xilinx.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux-user/main.c b/linux-user/main.c -index a0aba9cb..34c54924 100644 +index 8ffc5251..4067e739 100644 --- a/linux-user/main.c +++ b/linux-user/main.c -@@ -69,7 +69,7 @@ int have_guest_base; +@@ -77,7 +77,7 @@ int have_guest_base; (TARGET_LONG_BITS == 32 || defined(TARGET_ABI32)) /* There are a number of places where we assign reserved_va to a variable of type abi_ulong and expect it to fit. Avoid the last page. */ diff --git a/poky/meta/recipes-devtools/qemu/qemu/0010-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch b/poky/meta/recipes-devtools/qemu/qemu/0009-Fix-webkitgtk-builds.patch index 3418eb7c65..4072d9455f 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0010-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0009-Fix-webkitgtk-builds.patch @@ -1,32 +1,35 @@ -From 2a66bd95c856de6950fbd802c5b99075207c1d76 Mon Sep 17 00:00:00 2001 +From b633b9a1813fcd715dce44659a89293f1c64ae8c 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" +Subject: [PATCH] Fix webkitgtk builds -Causes qemu-i386 to hang during gobject-introspection in webkitgtk build -when musl is used on qemux86 - the same issue as -0010-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch -was fixing in 2.11.0 release, but with this patch the fix no longer worked -as discussed here: -http://lists.openembedded.org/pipermail/openembedded-core/2018-May/150302.html -http://lists.openembedded.org/pipermail/openembedded-core/2018-June/151382.html +This is a partial revert of "linux-user: fix mmap/munmap/mprotect/mremap/shmat". + +This patch fixes qemu-i386 hangs during gobject-introspection in webkitgtk build +when musl is used on qemux86. This is the same issue that +0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch was +fixing in the 2.11 release. + +This patch also fixes a build failure when building webkitgtk for +qemumips. A QEMU assert is seen while building webkitgtk: +page_check_range: Assertion `start < ((target_ulong)1 << L1_MAP_ADDR_SPACE_BITS)' failed. This reverts commit ebf9a3630c911d0cfc9c20f7cafe9ba4f88cf583. Upstream-Status: Pending - +Signed-off-by: Alistair Francis <alistair.francis@wdc.com> --- include/exec/cpu-all.h | 6 +----- - include/exec/cpu_ldst.h | 16 +++++++++------- + include/exec/cpu_ldst.h | 5 ++++- linux-user/mmap.c | 17 ++++------------- linux-user/syscall.c | 5 +---- - 4 files changed, 15 insertions(+), 29 deletions(-) + 4 files changed, 10 insertions(+), 23 deletions(-) diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h -index b16c9ec5..612db6a0 100644 +index 536ea58f81..4c63a6a2e4 100644 --- a/include/exec/cpu-all.h +++ b/include/exec/cpu-all.h -@@ -163,12 +163,8 @@ extern unsigned long guest_base; +@@ -162,12 +162,8 @@ extern unsigned long guest_base; extern int have_guest_base; extern unsigned long reserved_va; @@ -41,37 +44,26 @@ index b16c9ec5..612db6a0 100644 #include "exec/hwaddr.h" diff --git a/include/exec/cpu_ldst.h b/include/exec/cpu_ldst.h -index d78041d7..845639f7 100644 +index 9151fdb042..cb2b8f329f 100644 --- a/include/exec/cpu_ldst.h +++ b/include/exec/cpu_ldst.h -@@ -62,13 +62,15 @@ typedef uint64_t abi_ptr; - /* All direct uses of g2h and h2g need to go away for usermode softmmu. */ - #define g2h(x) ((void *)((unsigned long)(abi_ptr)(x) + guest_base)) - +@@ -65,7 +65,10 @@ typedef uint64_t abi_ptr; + #if HOST_LONG_BITS <= TARGET_VIRT_ADDR_SPACE_BITS + #define guest_addr_valid(x) (1) + #else -#define guest_addr_valid(x) ((x) <= GUEST_ADDR_MAX) --#define h2g_valid(x) guest_addr_valid((unsigned long)(x) - guest_base) -- --static inline int guest_range_valid(unsigned long start, unsigned long len) --{ -- return len - 1 <= GUEST_ADDR_MAX && start <= GUEST_ADDR_MAX - len + 1; --} -+#if HOST_LONG_BITS <= TARGET_VIRT_ADDR_SPACE_BITS -+#define h2g_valid(x) 1 -+#else -+#define h2g_valid(x) ({ \ -+ unsigned long __guest = (unsigned long)(x) - guest_base; \ -+ (__guest < (1ul << TARGET_VIRT_ADDR_SPACE_BITS)) && \ -+ (!reserved_va || (__guest < reserved_va)); \ ++#define guest_addr_valid(x) ({ \ ++ ((x) < (1ul << TARGET_VIRT_ADDR_SPACE_BITS)) && \ ++ (!reserved_va || ((x) < reserved_va)); \ +}) -+#endif + #endif + #define h2g_valid(x) guest_addr_valid((unsigned long)(x) - guest_base) - #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 e0249efe..cfe34b35 100644 +index 46a6e3a761..7735465462 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) +@@ -78,7 +78,7 @@ int target_mprotect(abi_ulong start, abi_ulong len, int prot) return -TARGET_EINVAL; len = TARGET_PAGE_ALIGN(len); end = start + len; @@ -80,7 +72,7 @@ index e0249efe..cfe34b35 100644 return -TARGET_ENOMEM; } prot &= PROT_READ | PROT_WRITE | PROT_EXEC; -@@ -490,8 +490,8 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot, +@@ -495,8 +495,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. */ @@ -91,7 +83,7 @@ index e0249efe..cfe34b35 100644 goto fail; } -@@ -631,10 +631,8 @@ int target_munmap(abi_ulong start, abi_ulong len) +@@ -636,10 +636,8 @@ int target_munmap(abi_ulong start, abi_ulong len) if (start & ~TARGET_PAGE_MASK) return -TARGET_EINVAL; len = TARGET_PAGE_ALIGN(len); @@ -103,7 +95,7 @@ index e0249efe..cfe34b35 100644 mmap_lock(); end = start + len; real_start = start & qemu_host_page_mask; -@@ -689,13 +687,6 @@ abi_long target_mremap(abi_ulong old_addr, abi_ulong old_size, +@@ -694,13 +692,6 @@ abi_long target_mremap(abi_ulong old_addr, abi_ulong old_size, int prot; void *host_addr; @@ -118,10 +110,10 @@ index e0249efe..cfe34b35 100644 if (flags & MREMAP_FIXED) { diff --git a/linux-user/syscall.c b/linux-user/syscall.c -index 96cd4bf8..e6754772 100644 +index 8b41a03901..bc5d85de02 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c -@@ -3860,9 +3860,6 @@ static inline abi_ulong do_shmat(CPUArchState *cpu_env, +@@ -4031,9 +4031,6 @@ static inline abi_ulong do_shmat(CPUArchState *cpu_env, return -TARGET_EINVAL; } } @@ -131,7 +123,7 @@ index 96cd4bf8..e6754772 100644 mmap_lock(); -@@ -6633,7 +6630,7 @@ static int open_self_maps(void *cpu_env, int fd) +@@ -6881,7 +6878,7 @@ static int open_self_maps(void *cpu_env, int fd) } if (h2g_valid(min)) { int flags = page_get_flags(h2g(min)); @@ -140,3 +132,6 @@ index 96cd4bf8..e6754772 100644 if (page_check_range(h2g(min), max - min, flags) == -1) { continue; } +-- +2.22.0 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/0011-fix-libcap-header-issue-on-some-distro.patch b/poky/meta/recipes-devtools/qemu/qemu/0010-fix-libcap-header-issue-on-some-distro.patch index 3a7d7bbd33..3a7d7bbd33 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0011-fix-libcap-header-issue-on-some-distro.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0010-fix-libcap-header-issue-on-some-distro.patch diff --git a/poky/meta/recipes-devtools/qemu/qemu/0012-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch b/poky/meta/recipes-devtools/qemu/qemu/0011-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch index 04664195d1..e5ebfc1267 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0012-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0011-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch @@ -37,7 +37,7 @@ index e83f72b4..e6e2576e 100644 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); ++ cpu_dump_state(cpu, stderr, 0); + backtrace_print(); exit(1); } diff --git a/poky/meta/recipes-devtools/qemu/qemu/0013-target-arm-Fix-vector-operation-segfault.patch b/poky/meta/recipes-devtools/qemu/qemu/0013-target-arm-Fix-vector-operation-segfault.patch deleted file mode 100644 index c1dd957dc9..0000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/0013-target-arm-Fix-vector-operation-segfault.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 2f143d3ad1c05e91cf2cdf5de06d59a80a95e6c8 Mon Sep 17 00:00:00 2001 -From: Alistair Francis <alistair.francis@wdc.com> -Date: Thu, 23 May 2019 14:47:43 +0100 -Subject: [PATCH] target/arm: Fix vector operation segfault -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Commit 89e68b575 "target/arm: Use vector operations for saturation" -causes this abort() when booting QEMU ARM with a Cortex-A15: - -0 0x00007ffff4c2382f in raise () at /usr/lib/libc.so.6 -1 0x00007ffff4c0e672 in abort () at /usr/lib/libc.so.6 -2 0x00005555559c1839 in disas_neon_data_insn (insn=<optimized out>, s=<optimized out>) at ./target/arm/translate.c:6673 -3 0x00005555559c1839 in disas_neon_data_insn (s=<optimized out>, insn=<optimized out>) at ./target/arm/translate.c:6386 -4 0x00005555559cd8a4 in disas_arm_insn (insn=4081107068, s=0x7fffe59a9510) at ./target/arm/translate.c:9289 -5 0x00005555559cd8a4 in arm_tr_translate_insn (dcbase=0x7fffe59a9510, cpu=<optimized out>) at ./target/arm/translate.c:13612 -6 0x00005555558d1d39 in translator_loop (ops=0x5555561cc580 <arm_translator_ops>, db=0x7fffe59a9510, cpu=0x55555686a2f0, tb=<optimized out>, max_insns=<optimized out>) at ./accel/tcg/translator.c:96 -7 0x00005555559d10d4 in gen_intermediate_code (cpu=cpu@entry=0x55555686a2f0, tb=tb@entry=0x7fffd7840080 <code_gen_buffer+126091347>, max_insns=max_insns@entry=512) at ./target/arm/translate.c:13901 -8 0x00005555558d06b9 in tb_gen_code (cpu=cpu@entry=0x55555686a2f0, pc=3067096216, cs_base=0, flags=192, cflags=-16252928, cflags@entry=524288) at ./accel/tcg/translate-all.c:1736 -9 0x00005555558ce467 in tb_find (cf_mask=524288, tb_exit=1, last_tb=0x7fffd783e640 <code_gen_buffer+126084627>, cpu=0x1) at ./accel/tcg/cpu-exec.c:407 -10 0x00005555558ce467 in cpu_exec (cpu=cpu@entry=0x55555686a2f0) at ./accel/tcg/cpu-exec.c:728 -11 0x000055555588b0cf in tcg_cpu_exec (cpu=0x55555686a2f0) at ./cpus.c:1431 -12 0x000055555588d223 in qemu_tcg_cpu_thread_fn (arg=0x55555686a2f0) at ./cpus.c:1735 -13 0x000055555588d223 in qemu_tcg_cpu_thread_fn (arg=arg@entry=0x55555686a2f0) at ./cpus.c:1709 -14 0x0000555555d2629a in qemu_thread_start (args=<optimized out>) at ./util/qemu-thread-posix.c:502 -15 0x00007ffff4db8a92 in start_thread () at /usr/lib/libpthread. - -This patch ensures that we don't hit the abort() in the second switch -case in disas_neon_data_insn() as we will return from the first case. - -Signed-off-by: Alistair Francis <alistair.francis@wdc.com> -Reviewed-by: Richard Henderson <richard.henderson@linaro.org> -Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> -Reviewed-by: Alex Bennée <alex.bennee@linaro.org> -Tested-by: Alex Bennée <alex.bennee@linaro.org> -Message-id: ad91b397f360b2fc7f4087e476f7df5b04d42ddb.1558021877.git.alistair.francis@wdc.com -Signed-off-by: Peter Maydell <peter.maydell@linaro.org> -Upstream-Status: Backport [4.1.0] ---- - target/arm/translate.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/target/arm/translate.c b/target/arm/translate.c -index dd053c80d6..298c262825 100644 ---- a/target/arm/translate.c -+++ b/target/arm/translate.c -@@ -6598,13 +6598,13 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn) - 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; -+ return 0; - - 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; -+ return 0; - - case NEON_3R_VMUL: /* VMUL */ - if (u) { --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/0014-linux-user-fix-to-handle-variably-sized-SIOCGSTAMP-w.patch b/poky/meta/recipes-devtools/qemu/qemu/0014-linux-user-fix-to-handle-variably-sized-SIOCGSTAMP-w.patch deleted file mode 100644 index 7cac8ef3d1..0000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/0014-linux-user-fix-to-handle-variably-sized-SIOCGSTAMP-w.patch +++ /dev/null @@ -1,339 +0,0 @@ -From 8104018ba4c66e568d2583a3a0ee940851ee7471 Mon Sep 17 00:00:00 2001 -From: Daniel P. Berrangé <berrange@redhat.com> -Date: Tue, 23 Jul 2019 17:50:00 +0200 -Subject: [PATCH] linux-user: fix to handle variably sized SIOCGSTAMP with new - kernels -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The SIOCGSTAMP symbol was previously defined in the -asm-generic/sockios.h header file. QEMU sees that header -indirectly via sys/socket.h - -In linux kernel commit 0768e17073dc527ccd18ed5f96ce85f9985e9115 -the asm-generic/sockios.h header no longer defines SIOCGSTAMP. -Instead it provides only SIOCGSTAMP_OLD, which only uses a -32-bit time_t on 32-bit architectures. - -The linux/sockios.h header then defines SIOCGSTAMP using -either SIOCGSTAMP_OLD or SIOCGSTAMP_NEW as appropriate. If -SIOCGSTAMP_NEW is used, then the tv_sec field is 64-bit even -on 32-bit architectures - -To cope with this we must now convert the old and new type from -the target to the host one. - -Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> -Signed-off-by: Laurent Vivier <laurent@vivier.eu> -Reviewed-by: Arnd Bergmann <arnd@arndb.de> -Message-Id: <20190718130641.15294-1-laurent@vivier.eu> -Signed-off-by: Laurent Vivier <laurent@vivier.eu> -Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> ---- -Upstream-Status: Backport [upstream commit: 6d5d5dde9adb5acb32e6b8e3dfbf47fff0f308d2] - - linux-user/ioctls.h | 21 +++++- - linux-user/syscall.c | 140 +++++++++++++++++++++++++++++-------- - linux-user/syscall_defs.h | 30 +++++++- - linux-user/syscall_types.h | 6 -- - 4 files changed, 159 insertions(+), 38 deletions(-) - -diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h -index ae8951625f..e6a27ad9d6 100644 ---- a/linux-user/ioctls.h -+++ b/linux-user/ioctls.h -@@ -219,8 +219,25 @@ - IOCTL(SIOCGRARP, IOC_R, MK_PTR(MK_STRUCT(STRUCT_arpreq))) - IOCTL(SIOCGIWNAME, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_char_ifreq))) - IOCTL(SIOCGPGRP, IOC_R, MK_PTR(TYPE_INT)) /* pid_t */ -- IOCTL(SIOCGSTAMP, IOC_R, MK_PTR(MK_STRUCT(STRUCT_timeval))) -- IOCTL(SIOCGSTAMPNS, IOC_R, MK_PTR(MK_STRUCT(STRUCT_timespec))) -+ -+ /* -+ * We can't use IOCTL_SPECIAL() because it will set -+ * host_cmd to XXX_OLD and XXX_NEW and these macros -+ * are not defined with kernel prior to 5.2. -+ * We must set host_cmd to the same value as in target_cmd -+ * otherwise the consistency check in syscall_init() -+ * will trigger an error. -+ * host_cmd is ignored by the do_ioctl_XXX() helpers. -+ * FIXME: create a macro to define this kind of entry -+ */ -+ { TARGET_SIOCGSTAMP_OLD, TARGET_SIOCGSTAMP_OLD, -+ "SIOCGSTAMP_OLD", IOC_R, do_ioctl_SIOCGSTAMP }, -+ { TARGET_SIOCGSTAMPNS_OLD, TARGET_SIOCGSTAMPNS_OLD, -+ "SIOCGSTAMPNS_OLD", IOC_R, do_ioctl_SIOCGSTAMPNS }, -+ { TARGET_SIOCGSTAMP_NEW, TARGET_SIOCGSTAMP_NEW, -+ "SIOCGSTAMP_NEW", IOC_R, do_ioctl_SIOCGSTAMP }, -+ { TARGET_SIOCGSTAMPNS_NEW, TARGET_SIOCGSTAMPNS_NEW, -+ "SIOCGSTAMPNS_NEW", IOC_R, do_ioctl_SIOCGSTAMPNS }, - - IOCTL(RNDGETENTCNT, IOC_R, MK_PTR(TYPE_INT)) - IOCTL(RNDADDTOENTCNT, IOC_W, MK_PTR(TYPE_INT)) -diff --git a/linux-user/syscall.c b/linux-user/syscall.c -index 96cd4bf86d..6df480e13d 100644 ---- a/linux-user/syscall.c -+++ b/linux-user/syscall.c -@@ -37,6 +37,7 @@ - #include <sched.h> - #include <sys/timex.h> - #include <sys/socket.h> -+#include <linux/sockios.h> - #include <sys/un.h> - #include <sys/uio.h> - #include <poll.h> -@@ -1139,8 +1140,9 @@ static inline abi_long copy_from_user_timeval(struct timeval *tv, - { - struct target_timeval *target_tv; - -- if (!lock_user_struct(VERIFY_READ, target_tv, target_tv_addr, 1)) -+ if (!lock_user_struct(VERIFY_READ, target_tv, target_tv_addr, 1)) { - return -TARGET_EFAULT; -+ } - - __get_user(tv->tv_sec, &target_tv->tv_sec); - __get_user(tv->tv_usec, &target_tv->tv_usec); -@@ -1155,8 +1157,26 @@ static inline abi_long copy_to_user_timeval(abi_ulong target_tv_addr, - { - struct target_timeval *target_tv; - -- if (!lock_user_struct(VERIFY_WRITE, target_tv, target_tv_addr, 0)) -+ if (!lock_user_struct(VERIFY_WRITE, target_tv, target_tv_addr, 0)) { -+ return -TARGET_EFAULT; -+ } -+ -+ __put_user(tv->tv_sec, &target_tv->tv_sec); -+ __put_user(tv->tv_usec, &target_tv->tv_usec); -+ -+ unlock_user_struct(target_tv, target_tv_addr, 1); -+ -+ return 0; -+} -+ -+static inline abi_long copy_to_user_timeval64(abi_ulong target_tv_addr, -+ const struct timeval *tv) -+{ -+ struct target__kernel_sock_timeval *target_tv; -+ -+ if (!lock_user_struct(VERIFY_WRITE, target_tv, target_tv_addr, 0)) { - return -TARGET_EFAULT; -+ } - - __put_user(tv->tv_sec, &target_tv->tv_sec); - __put_user(tv->tv_usec, &target_tv->tv_usec); -@@ -1166,6 +1186,48 @@ static inline abi_long copy_to_user_timeval(abi_ulong target_tv_addr, - return 0; - } - -+static inline abi_long target_to_host_timespec(struct timespec *host_ts, -+ abi_ulong target_addr) -+{ -+ struct target_timespec *target_ts; -+ -+ if (!lock_user_struct(VERIFY_READ, target_ts, target_addr, 1)) { -+ return -TARGET_EFAULT; -+ } -+ __get_user(host_ts->tv_sec, &target_ts->tv_sec); -+ __get_user(host_ts->tv_nsec, &target_ts->tv_nsec); -+ unlock_user_struct(target_ts, target_addr, 0); -+ return 0; -+} -+ -+static inline abi_long host_to_target_timespec(abi_ulong target_addr, -+ struct timespec *host_ts) -+{ -+ struct target_timespec *target_ts; -+ -+ if (!lock_user_struct(VERIFY_WRITE, target_ts, target_addr, 0)) { -+ return -TARGET_EFAULT; -+ } -+ __put_user(host_ts->tv_sec, &target_ts->tv_sec); -+ __put_user(host_ts->tv_nsec, &target_ts->tv_nsec); -+ unlock_user_struct(target_ts, target_addr, 1); -+ return 0; -+} -+ -+static inline abi_long host_to_target_timespec64(abi_ulong target_addr, -+ struct timespec *host_ts) -+{ -+ struct target__kernel_timespec *target_ts; -+ -+ if (!lock_user_struct(VERIFY_WRITE, target_ts, target_addr, 0)) { -+ return -TARGET_EFAULT; -+ } -+ __put_user(host_ts->tv_sec, &target_ts->tv_sec); -+ __put_user(host_ts->tv_nsec, &target_ts->tv_nsec); -+ unlock_user_struct(target_ts, target_addr, 1); -+ return 0; -+} -+ - static inline abi_long copy_from_user_timezone(struct timezone *tz, - abi_ulong target_tz_addr) - { -@@ -4790,6 +4852,54 @@ static abi_long do_ioctl_kdsigaccept(const IOCTLEntry *ie, uint8_t *buf_temp, - return get_errno(safe_ioctl(fd, ie->host_cmd, sig)); - } - -+static abi_long do_ioctl_SIOCGSTAMP(const IOCTLEntry *ie, uint8_t *buf_temp, -+ int fd, int cmd, abi_long arg) -+{ -+ struct timeval tv; -+ abi_long ret; -+ -+ ret = get_errno(safe_ioctl(fd, SIOCGSTAMP, &tv)); -+ if (is_error(ret)) { -+ return ret; -+ } -+ -+ if (cmd == (int)TARGET_SIOCGSTAMP_OLD) { -+ if (copy_to_user_timeval(arg, &tv)) { -+ return -TARGET_EFAULT; -+ } -+ } else { -+ if (copy_to_user_timeval64(arg, &tv)) { -+ return -TARGET_EFAULT; -+ } -+ } -+ -+ return ret; -+} -+ -+static abi_long do_ioctl_SIOCGSTAMPNS(const IOCTLEntry *ie, uint8_t *buf_temp, -+ int fd, int cmd, abi_long arg) -+{ -+ struct timespec ts; -+ abi_long ret; -+ -+ ret = get_errno(safe_ioctl(fd, SIOCGSTAMPNS, &ts)); -+ if (is_error(ret)) { -+ return ret; -+ } -+ -+ if (cmd == (int)TARGET_SIOCGSTAMPNS_OLD) { -+ if (host_to_target_timespec(arg, &ts)) { -+ return -TARGET_EFAULT; -+ } -+ } else{ -+ if (host_to_target_timespec64(arg, &ts)) { -+ return -TARGET_EFAULT; -+ } -+ } -+ -+ return ret; -+} -+ - #ifdef TIOCGPTPEER - static abi_long do_ioctl_tiocgptpeer(const IOCTLEntry *ie, uint8_t *buf_temp, - int fd, int cmd, abi_long arg) -@@ -6160,32 +6270,6 @@ static inline abi_long target_ftruncate64(void *cpu_env, abi_long arg1, - } - #endif - --static inline abi_long target_to_host_timespec(struct timespec *host_ts, -- abi_ulong target_addr) --{ -- struct target_timespec *target_ts; -- -- if (!lock_user_struct(VERIFY_READ, target_ts, target_addr, 1)) -- return -TARGET_EFAULT; -- __get_user(host_ts->tv_sec, &target_ts->tv_sec); -- __get_user(host_ts->tv_nsec, &target_ts->tv_nsec); -- unlock_user_struct(target_ts, target_addr, 0); -- return 0; --} -- --static inline abi_long host_to_target_timespec(abi_ulong target_addr, -- struct timespec *host_ts) --{ -- struct target_timespec *target_ts; -- -- if (!lock_user_struct(VERIFY_WRITE, target_ts, target_addr, 0)) -- return -TARGET_EFAULT; -- __put_user(host_ts->tv_sec, &target_ts->tv_sec); -- __put_user(host_ts->tv_nsec, &target_ts->tv_nsec); -- unlock_user_struct(target_ts, target_addr, 1); -- return 0; --} -- - static inline abi_long target_to_host_itimerspec(struct itimerspec *host_itspec, - abi_ulong target_addr) - { -diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h -index 12c8407144..c918419306 100644 ---- a/linux-user/syscall_defs.h -+++ b/linux-user/syscall_defs.h -@@ -208,16 +208,34 @@ struct target_linger { - abi_int l_linger; /* How long to linger for */ - }; - -+#if defined(TARGET_SPARC64) && !defined(TARGET_ABI32) -+struct target_timeval { -+ abi_long tv_sec; -+ abi_int tv_usec; -+}; -+#define target__kernel_sock_timeval target_timeval -+#else - struct target_timeval { - abi_long tv_sec; - abi_long tv_usec; - }; - -+struct target__kernel_sock_timeval { -+ abi_llong tv_sec; -+ abi_llong tv_usec; -+}; -+#endif -+ - struct target_timespec { - abi_long tv_sec; - abi_long tv_nsec; - }; - -+struct target__kernel_timespec { -+ abi_llong tv_sec; -+ abi_llong tv_nsec; -+}; -+ - struct target_timezone { - abi_int tz_minuteswest; - abi_int tz_dsttime; -@@ -743,8 +761,16 @@ struct target_pollfd { - #define TARGET_SIOCATMARK 0x8905 - #define TARGET_SIOCGPGRP 0x8904 - #endif --#define TARGET_SIOCGSTAMP 0x8906 /* Get stamp (timeval) */ --#define TARGET_SIOCGSTAMPNS 0x8907 /* Get stamp (timespec) */ -+#if defined(TARGET_SH4) -+#define TARGET_SIOCGSTAMP_OLD TARGET_IOR('s', 100, struct target_timeval) -+#define TARGET_SIOCGSTAMPNS_OLD TARGET_IOR('s', 101, struct target_timespec) -+#else -+#define TARGET_SIOCGSTAMP_OLD 0x8906 -+#define TARGET_SIOCGSTAMPNS_OLD 0x8907 -+#endif -+ -+#define TARGET_SIOCGSTAMP_NEW TARGET_IOR(0x89, 0x06, abi_llong[2]) -+#define TARGET_SIOCGSTAMPNS_NEW TARGET_IOR(0x89, 0x07, abi_llong[2]) - - /* Networking ioctls */ - #define TARGET_SIOCADDRT 0x890B /* add routing table entry */ -diff --git a/linux-user/syscall_types.h b/linux-user/syscall_types.h -index b98a23b0f1..4e36983826 100644 ---- a/linux-user/syscall_types.h -+++ b/linux-user/syscall_types.h -@@ -14,12 +14,6 @@ STRUCT(serial_icounter_struct, - STRUCT(sockaddr, - TYPE_SHORT, MK_ARRAY(TYPE_CHAR, 14)) - --STRUCT(timeval, -- MK_ARRAY(TYPE_LONG, 2)) -- --STRUCT(timespec, -- MK_ARRAY(TYPE_LONG, 2)) -- - STRUCT(rtentry, - TYPE_ULONG, MK_STRUCT(STRUCT_sockaddr), MK_STRUCT(STRUCT_sockaddr), MK_STRUCT(STRUCT_sockaddr), - TYPE_SHORT, TYPE_SHORT, TYPE_ULONG, TYPE_PTRVOID, TYPE_SHORT, TYPE_PTRVOID, --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2019-12155.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2019-12155.patch deleted file mode 100644 index c49a5e9a2a..0000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2019-12155.patch +++ /dev/null @@ -1,35 +0,0 @@ -From d52680fc932efb8a2f334cc6993e705ed1e31e99 Mon Sep 17 00:00:00 2001 -From: Prasad J Pandit <pjp@fedoraproject.org> -Date: Thu, 25 Apr 2019 12:05:34 +0530 -Subject: [PATCH] qxl: check release info object - -When releasing spice resources in release_resource() routine, -if release info object 'ext.info' is null, it leads to null -pointer dereference. Add check to avoid it. - -Reported-by: Bugs SysSec <bugs-syssec@rub.de> -Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org> -Message-id: 20190425063534.32747-1-ppandit@redhat.com -Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> - -Upstream-Status: Backport -CVE: CVE-2019-12155 -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> ---- - hw/display/qxl.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/hw/display/qxl.c b/hw/display/qxl.c -index c8ce5781e03..632923add23 100644 ---- a/hw/display/qxl.c -+++ b/hw/display/qxl.c -@@ -777,6 +777,9 @@ static void interface_release_resource(QXLInstance *sin, - QXLReleaseRing *ring; - uint64_t *item, id; - -+ if (!ext.info) { -+ return; -+ } - if (ext.group_id == MEMSLOT_GROUP_HOST) { - /* host group -> vga mode update request */ - QXLCommandExt *cmdext = (void *)(intptr_t)(ext.info->id); diff --git a/poky/meta/recipes-devtools/qemu/qemu_4.0.0.bb b/poky/meta/recipes-devtools/qemu/qemu_4.1.0.bb index 76776098d0..76776098d0 100644 --- a/poky/meta/recipes-devtools/qemu/qemu_4.0.0.bb +++ b/poky/meta/recipes-devtools/qemu/qemu_4.1.0.bb diff --git a/poky/meta/recipes-devtools/quilt/quilt.inc b/poky/meta/recipes-devtools/quilt/quilt.inc index dcba62c84b..433e9b40b7 100644 --- a/poky/meta/recipes-devtools/quilt/quilt.inc +++ b/poky/meta/recipes-devtools/quilt/quilt.inc @@ -78,7 +78,7 @@ FILES_guards = "${bindir}/guards" FILES_${PN}-doc = "${mandir}/man1/quilt.1 ${docdir}/${BPN}" FILES_guards-doc = "${mandir}/man1/guards.1" -RDEPENDS_${PN} = "bash patch diffstat bzip2 util-linux" +RDEPENDS_${PN} = "bash patch diffstat bzip2 util-linux less" RDEPENDS_${PN}_class-native = "diffstat-native patch-native bzip2-native" RDEPENDS_${PN}-ptest = "make file sed gawk diffutils findutils ed perl \ diff --git a/poky/meta/recipes-devtools/quilt/quilt/Makefile b/poky/meta/recipes-devtools/quilt/quilt/Makefile index 7b3ac8a492..1f6cd2479c 100644 --- a/poky/meta/recipes-devtools/quilt/quilt/Makefile +++ b/poky/meta/recipes-devtools/quilt/quilt/Makefile @@ -2,7 +2,8 @@ PATH := $(CURDIR)/bin:$(CURDIR)/compat:$(PATH) QUILT_DIR := $(CURDIR)/quilt QUILTRC := $(CURDIR)/test/test.quiltrc export QUILT_DIR QUILTRC -CHECK_ENV := P=patches/; _P=../patches/; export P _P +CHECK_ENV := P=patches/; _P=../patches/; export P _P; +CHECK_ENV += QUILT_PC=.pc; export QUILT_PC -include test/.depend check-% : test/%.test diff --git a/poky/meta/recipes-devtools/vala/vala_0.44.5.bb b/poky/meta/recipes-devtools/vala/vala_0.44.7.bb index 518c9ebdae..807ca7a213 100644 --- a/poky/meta/recipes-devtools/vala/vala_0.44.5.bb +++ b/poky/meta/recipes-devtools/vala/vala_0.44.7.bb @@ -4,5 +4,5 @@ SRC_URI += "file://0001-git-version-gen-don-t-append-dirty-if-we-re-not-in-g.pat file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch \ " -SRC_URI[md5sum] = "1e8b8595168446c529b11236cf75e328" -SRC_URI[sha256sum] = "bb8f8185b805411511786733c4b769c3ee6af8bc879609bffb6c46b8999bc27f" +SRC_URI[md5sum] = "27fd30535c51af5b87b0e7ffdbd906ef" +SRC_URI[sha256sum] = "bf1ff4f59d5de2d626e98e98ef81cb75dc1e6a27610a7de4133597c430f1bd7c" diff --git a/poky/meta/recipes-extended/at/at/pam.conf.patch b/poky/meta/recipes-extended/at/at/pam.conf.patch index c9f337ede0..38e7fc1b7d 100644 --- a/poky/meta/recipes-extended/at/at/pam.conf.patch +++ b/poky/meta/recipes-extended/at/at/pam.conf.patch @@ -24,7 +24,7 @@ index 3674c0a..2f8d586 100644 -@include common-auth -@include common-account +auth include common-auth -+acount include common-account ++account include common-account session required pam_loginuid.so -@include common-session-noninteractive +session include common-session-noninteractive diff --git a/poky/meta/recipes-extended/cups/cups_2.2.11.bb b/poky/meta/recipes-extended/cups/cups_2.2.11.bb deleted file mode 100644 index aeb2e14e3b..0000000000 --- a/poky/meta/recipes-extended/cups/cups_2.2.11.bb +++ /dev/null @@ -1,6 +0,0 @@ -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/cups/cups_2.2.12.bb b/poky/meta/recipes-extended/cups/cups_2.2.12.bb new file mode 100644 index 0000000000..8e5534a979 --- /dev/null +++ b/poky/meta/recipes-extended/cups/cups_2.2.12.bb @@ -0,0 +1,6 @@ +require cups.inc + +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f212b4338db0da8cb892e94bf2949460" + +SRC_URI[md5sum] = "e763689f7735d3fe95a2943397189e40" +SRC_URI[sha256sum] = "0f61ab449e4748a24c6ab355b481ff7691247a140d327b2b7526fce34b7f9aa8" diff --git a/poky/meta/recipes-extended/libnss-nis/libnss-nis.bb b/poky/meta/recipes-extended/libnss-nis/libnss-nis.bb index 4fbd4b1f6a..a1d914e871 100644 --- a/poky/meta/recipes-extended/libnss-nis/libnss-nis.bb +++ b/poky/meta/recipes-extended/libnss-nis/libnss-nis.bb @@ -13,12 +13,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" SECTION = "libs" DEPENDS += "libtirpc libnsl2" -PV = "3.0+git${SRCPV}" +PV = "3.1+git${SRCPV}" -SRCREV = "d4aea48657a8e90d7922574b8021ee03915a36cb" +SRCREV = "062f31999b35393abf7595cb89dfc9590d5a42ad" SRC_URI = "git://github.com/thkukuk/libnss_nis \ - file://0001-nis-hosts-Remove-use-of-RES_USE_INET6.patch \ " S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-extended/libnss-nis/libnss-nis/0001-nis-hosts-Remove-use-of-RES_USE_INET6.patch b/poky/meta/recipes-extended/libnss-nis/libnss-nis/0001-nis-hosts-Remove-use-of-RES_USE_INET6.patch deleted file mode 100644 index 348c8c94b6..0000000000 --- a/poky/meta/recipes-extended/libnss-nis/libnss-nis/0001-nis-hosts-Remove-use-of-RES_USE_INET6.patch +++ /dev/null @@ -1,162 +0,0 @@ -From e41ddbd89a4bb042ac00469fa5880ba584c25c05 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Thu, 25 Jul 2019 12:10:56 -0700 -Subject: [PATCH] nis-hosts: Remove use of RES_USE_INET6 - -Upstream glibc dropped it starting glibc 2.30 -see -https://sourceware.org/git/?p=glibc.git;a=commit;h=3f8b44be0a658266adff5ece1e4bc3ce097a5dbe - -Fixes issue #6 - -Upstream-Status: Submitted [https://github.com/thkukuk/libnss_nis/pull/7] - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - src/nis-hosts.c | 55 ++++++++++++------------------------------------- - 1 file changed, 13 insertions(+), 42 deletions(-) - -diff --git a/src/nis-hosts.c b/src/nis-hosts.c -index 307b46e..bd3c4ad 100644 ---- a/src/nis-hosts.c -+++ b/src/nis-hosts.c -@@ -35,15 +35,12 @@ - #include "libc-lock.h" - #include "nss-nis.h" - --/* Get implementation for some internal functions. */ --#include "mapv4v6addr.h" -- - #define ENTNAME hostent - #define DATABASE "hosts" - #define NEED_H_ERRNO - --#define EXTRA_ARGS , af, flags --#define EXTRA_ARGS_DECL , int af, int flags -+#define EXTRA_ARGS , af -+#define EXTRA_ARGS_DECL , int af - - #define ENTDATA hostent_data - struct hostent_data -@@ -67,19 +64,8 @@ LINE_PARSER - /* Parse address. */ - if (af != AF_INET6 && inet_pton (AF_INET, addr, entdata->host_addr) > 0) - { -- assert ((flags & AI_V4MAPPED) == 0 || af != AF_UNSPEC); -- if (flags & AI_V4MAPPED) -- { -- map_v4v6_address ((char *) entdata->host_addr, -- (char *) entdata->host_addr); -- result->h_addrtype = AF_INET6; -- result->h_length = IN6ADDRSZ; -- } -- else -- { -- result->h_addrtype = AF_INET; -- result->h_length = INADDRSZ; -- } -+ result->h_addrtype = AF_INET; -+ result->h_length = INADDRSZ; - } - else if (af != AF_INET - && inet_pton (AF_INET6, addr, entdata->host_addr) > 0) -@@ -134,7 +120,7 @@ strong_alias (_nss_nis_sethostent, _nss_nis_endhostent) - static enum nss_status - internal_nis_gethostent_r (struct hostent *host, char *buffer, - size_t buflen, int *errnop, int *h_errnop, -- int af, int flags) -+ int af) - { - char *domain; - if (yp_get_default_domain (&domain)) -@@ -203,7 +189,7 @@ internal_nis_gethostent_r (struct hostent *host, char *buffer, - ++p; - free (result); - -- parse_res = parse_line (p, host, data, buflen, errnop, af, flags); -+ parse_res = parse_line (p, host, data, buflen, errnop, af); - if (parse_res == -1) - { - free (outkey); -@@ -232,8 +218,7 @@ _nss_nis_gethostent_r (struct hostent *host, char *buffer, size_t buflen, - __libc_lock_lock (lock); - - status = internal_nis_gethostent_r (host, buffer, buflen, errnop, h_errnop, -- ((_res.options & RES_USE_INET6) ? AF_INET6 : AF_INET), -- ((_res.options & RES_USE_INET6) ? AI_V4MAPPED : 0 )); -+ AF_INET); - - __libc_lock_unlock (lock); - -@@ -244,7 +229,7 @@ _nss_nis_gethostent_r (struct hostent *host, char *buffer, size_t buflen, - static enum nss_status - internal_gethostbyname2_r (const char *name, int af, struct hostent *host, - char *buffer, size_t buflen, int *errnop, -- int *h_errnop, int flags) -+ int *h_errnop) - { - uintptr_t pad = -(uintptr_t) buffer % __alignof__ (struct parser_data); - buffer += pad; -@@ -318,7 +303,7 @@ internal_gethostbyname2_r (const char *name, int af, struct hostent *host, - ++p; - free (result); - -- int parse_res = parse_line (p, host, data, buflen, errnop, af, flags); -+ int parse_res = parse_line (p, host, data, buflen, errnop, af); - - if (parse_res < 1 || host->h_addrtype != af) - { -@@ -351,8 +336,7 @@ _nss_nis_gethostbyname2_r (const char *name, int af, struct hostent *host, - } - - return internal_gethostbyname2_r (name, af, host, buffer, buflen, errnop, -- h_errnop, -- ((_res.options & RES_USE_INET6) ? AI_V4MAPPED : 0)); -+ h_errnop); - } - - -@@ -360,18 +344,8 @@ enum nss_status - _nss_nis_gethostbyname_r (const char *name, struct hostent *host, char *buffer, - size_t buflen, int *errnop, int *h_errnop) - { -- if (_res.options & RES_USE_INET6) -- { -- enum nss_status status; -- -- status = internal_gethostbyname2_r (name, AF_INET6, host, buffer, buflen, -- errnop, h_errnop, AI_V4MAPPED); -- if (status == NSS_STATUS_SUCCESS) -- return status; -- } -- - return internal_gethostbyname2_r (name, AF_INET, host, buffer, buflen, -- errnop, h_errnop, 0); -+ errnop, h_errnop); - } - - -@@ -433,9 +407,7 @@ _nss_nis_gethostbyaddr_r (const void *addr, socklen_t addrlen, int af, - ++p; - free (result); - -- int parse_res = parse_line (p, host, data, buflen, errnop, af, -- ((_res.options & RES_USE_INET6) -- ? AI_V4MAPPED : 0)); -+ int parse_res = parse_line (p, host, data, buflen, errnop, af); - if (parse_res < 1) - { - if (parse_res == -1) -@@ -532,8 +504,7 @@ _nss_nis_gethostbyname4_r (const char *name, struct gaih_addrtuple **pat, - buflen -= pad; - - struct hostent host; -- int parse_res = parse_line (result, &host, data, buflen, errnop, AF_UNSPEC, -- 0); -+ int parse_res = parse_line (result, &host, data, buflen, errnop, AF_UNSPEC); - if (parse_res < 1) - { - if (parse_res == -1) --- -2.22.0 - diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch b/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch new file mode 100644 index 0000000000..6ea26150fb --- /dev/null +++ b/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch @@ -0,0 +1,75 @@ +From e747d0456adc080a1d31fb653bda9dc491795c80 Mon Sep 17 00:00:00 2001 +From: Jan Stancek <jstancek@redhat.com> +Date: Sun, 16 Jun 2019 11:14:16 +0200 +Subject: [PATCH] syscalls/tgkill03: wait for defunct tid to get detached + +Case where defunct tid is used has been observed to sporadically fail: + tgkill03.c:96: FAIL: Defunct tid should have failed with ESRCH: SUCCESS + +glibc __pthread_timedjoin_ex() waits for CLONE_CHILD_CLEARTID to clear tid, +and then resumes. Kernel clears it (glibc pd->tid) at: + do_exit + exit_mm + mm_release + put_user(0, tsk->clear_child_tid); + +but kernel tid is still valid, presumably until: + release_task + __exit_signal + __unhash_process + detach_pid + +To avoid race wait until /proc/<pid>/task/<tid> disappears. + +Signed-off-by: Jan Stancek <jstancek@redhat.com> +Reviewed-by: Li Wang <liwang@redhat.com> +Acked-by: Sumit Garg <sumit.garg@linaro.org> + +Upstream-Status: Backport +[https://github.com/linux-test-project/ltp/commit/e747d0456adc080a1d31fb653bda9dc491795c80] + +Signed-off-by: He Zhe <zhe.he@windriver.com> +--- + testcases/kernel/syscalls/tgkill/tgkill03.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/testcases/kernel/syscalls/tgkill/tgkill03.c b/testcases/kernel/syscalls/tgkill/tgkill03.c +index f5bbdc5..593a217 100644 +--- a/testcases/kernel/syscalls/tgkill/tgkill03.c ++++ b/testcases/kernel/syscalls/tgkill/tgkill03.c +@@ -7,6 +7,7 @@ + + #include <pthread.h> + #include <pwd.h> ++#include <stdio.h> + #include <sys/types.h> + + #include "tst_safe_pthread.h" +@@ -42,6 +43,7 @@ static void setup(void) + { + sigset_t sigusr1; + pthread_t defunct_thread; ++ char defunct_tid_path[PATH_MAX]; + + sigemptyset(&sigusr1); + sigaddset(&sigusr1, SIGUSR1); +@@ -55,8 +57,9 @@ static void setup(void) + TST_CHECKPOINT_WAIT(0); + + SAFE_PTHREAD_CREATE(&defunct_thread, NULL, defunct_thread_func, NULL); +- + SAFE_PTHREAD_JOIN(defunct_thread, NULL); ++ sprintf(defunct_tid_path, "/proc/%d/task/%d", getpid(), defunct_tid); ++ TST_RETRY_FN_EXP_BACKOFF(access(defunct_tid_path, R_OK), -1, 15); + } + + static void cleanup(void) +@@ -108,4 +111,5 @@ static struct tst_test test = { + .setup = setup, + .cleanup = cleanup, + .test = run, ++ .timeout = 20, + }; +-- +2.7.4 + diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch b/poky/meta/recipes-extended/ltp/ltp/0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch new file mode 100644 index 0000000000..c936b788fe --- /dev/null +++ b/poky/meta/recipes-extended/ltp/ltp/0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch @@ -0,0 +1,36 @@ +From 156776a3e29491b363fdc9811912e1298655d060 Mon Sep 17 00:00:00 2001 +From: Steven Price <steven.price@arm.com> +Date: Fri, 19 Jul 2019 13:48:17 +0100 +Subject: [PATCH] ustat02: Fix EFAULT in 32bit compatibility mode + +The size of dev_t is larger than 32 bits which causes the dev argument +to be passed incorrectly. On Arm this means that the EFAULT test case +actually returns EINVAL because the device number isn't recognised. + +Signed-off-by: Steven Price <steven.price@arm.com> +Acked-by: Li Wang <liwang@redhat.com> + +Upstream-Status: Backport +[https://github.com/linux-test-project/ltp/commit/156776a3e29491b363fdc9811912e1298655d060] + +Signed-off-by: He Zhe <zhe.he@windriver.com> +--- + testcases/kernel/syscalls/ustat/ustat02.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/testcases/kernel/syscalls/ustat/ustat02.c b/testcases/kernel/syscalls/ustat/ustat02.c +index 9bbe4f3..1a0e9e0 100644 +--- a/testcases/kernel/syscalls/ustat/ustat02.c ++++ b/testcases/kernel/syscalls/ustat/ustat02.c +@@ -36,7 +36,7 @@ int TST_TOTAL = ARRAY_SIZE(tc); + + void run(unsigned int test) + { +- TEST(tst_syscall(__NR_ustat, *tc[test].dev, tc[test].buf)); ++ TEST(tst_syscall(__NR_ustat, (unsigned int)*tc[test].dev, tc[test].buf)); + + if ((TST_RET == -1) && (TST_ERR == tc[test].exp_errno)) + tst_res(TPASS | TTERRNO, "ustat(2) expected failure"); +-- +2.7.4 + diff --git a/poky/meta/recipes-extended/ltp/ltp_20190517.bb b/poky/meta/recipes-extended/ltp/ltp_20190517.bb index c62f2618b5..b0e2f969c7 100644 --- a/poky/meta/recipes-extended/ltp/ltp_20190517.bb +++ b/poky/meta/recipes-extended/ltp/ltp_20190517.bb @@ -43,6 +43,8 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git \ file://0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch \ file://0001-Add-configure-time-check-for-getdents-getdents64-API.patch \ file://0002-check-for-RES_USE_INET6-during-configure.patch \ + file://0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch \ + file://0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch \ " S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb b/poky/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb index 18e227144a..7501837937 100644 --- a/poky/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb +++ b/poky/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb @@ -11,6 +11,8 @@ inherit packagegroup VIRTUAL-RUNTIME_vim ?= "vim-tiny" +PACKAGE_ARCH = "${MACHINE_ARCH}" + RDEPENDS_${PN} = "\ base-passwd \ bash \ 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 deleted file mode 100644 index 8c8234d038..0000000000 --- a/poky/meta/recipes-extended/shadow/files/0002-gettime-Use-secure_getenv-over-getenv.patch +++ /dev/null @@ -1,71 +0,0 @@ -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 7f82d20826..7f8ee78717 100644 --- a/poky/meta/recipes-extended/shadow/shadow.inc +++ b/poky/meta/recipes-extended/shadow/shadow.inc @@ -4,7 +4,7 @@ BUGTRACKER = "https://alioth.debian.org/tracker/?group_id=30580" SECTION = "base/utils" LICENSE = "BSD | Artistic-1.0" LIC_FILES_CHKSUM = "file://COPYING;md5=ed80ff1c2b40843cf5768e5229cf16e5 \ - file://src/passwd.c;beginline=8;endline=30;md5=d83888ea14ae61951982d77125947661" + file://src/passwd.c;beginline=2;endline=30;md5=5720ff729a6ff39ecc9f64555d75f4af" DEPENDS = "virtual/crypt" @@ -12,7 +12,6 @@ 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 \ file://0001-configure.ac-fix-configure-error-with-dash.patch \ ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \ " diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng_0.10.00.bb b/poky/meta/recipes-extended/stress-ng/stress-ng_0.10.00.bb index e800040c37..7d194b305e 100644 --- a/poky/meta/recipes-extended/stress-ng/stress-ng_0.10.00.bb +++ b/poky/meta/recipes-extended/stress-ng/stress-ng_0.10.00.bb @@ -14,6 +14,11 @@ SRC_URI[sha256sum] = "d09dd2a1aea549e478995bf9be90b38906a4cdf33ea7b245ef9d46aa52 DEPENDS = "coreutils-native" +PROVIDES = "stress" +RPROVIDES_${PN} = "stress" +RREPLACES_${PN} = "stress" +RCONFLICTS_${PN} = "stress" + inherit bash-completion do_install() { diff --git a/poky/meta/recipes-extended/sudo/sudo.inc b/poky/meta/recipes-extended/sudo/sudo.inc index 90f2039bb8..15075bcefd 100644 --- a/poky/meta/recipes-extended/sudo/sudo.inc +++ b/poky/meta/recipes-extended/sudo/sudo.inc @@ -6,12 +6,12 @@ SECTION = "admin" LICENSE = "ISC & BSD & Zlib" LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=6c76b73603ac7763ab0516ebfbe67b42 \ file://plugins/sudoers/redblack.c;beginline=1;endline=46;md5=4a162fc04b86b03f5632180fe6076cda \ - file://lib/util/reallocarray.c;beginline=3;endline=16;md5=85b0905b795d4d58bf2e00635649eec6 \ + file://lib/util/reallocarray.c;beginline=3;endline=15;md5=b47f1f85a12f05a0744cd8b1b6f41a0d \ file://lib/util/fnmatch.c;beginline=3;endline=27;md5=67f83ee9bd456557397082f8f1be0efd \ - file://lib/util/getcwd.c;beginline=5;endline=27;md5=449af4cc57fc7d46f42090608ba3e681 \ - file://lib/util/glob.c;beginline=6;endline=31;md5=5872733146b9eb0deb79e1f664815b85 \ - file://lib/util/snprintf.c;beginline=6;endline=34;md5=c82c1b3a5c32e08545c9ec5d71e41e50 \ - file://include/sudo_queue.h;beginline=5;endline=27;md5=449af4cc57fc7d46f42090608ba3e681 \ + file://lib/util/getcwd.c;beginline=2;endline=27;md5=09068a19b4f6b6f0a0958655bfe98b63 \ + file://lib/util/glob.c;beginline=2;endline=31;md5=1f2f771c35fb0658d567a7824007e56d \ + file://lib/util/snprintf.c;beginline=3;endline=33;md5=63e48e1b992bce749a19dd9b2256e9a0 \ + file://include/sudo_queue.h;beginline=2;endline=27;md5=082b138b72ba3e568a13a25c3bf254dc \ file://lib/util/inet_pton.c;beginline=3;endline=17;md5=3970ab0518ab79cbd0bafb697f10b33a \ file://lib/util/arc4random.c;beginline=3;endline=20;md5=15bdc89c1b003fa4d7353e6296ebfd68 \ file://lib/util/arc4random_uniform.c;beginline=3;endline=17;md5=31e630ac814d692fd0ab7a942659b46f \ diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_3.32.3.bb b/poky/meta/recipes-gnome/epiphany/epiphany_3.32.4.bb index de1b6e2f84..44af469942 100644 --- a/poky/meta/recipes-gnome/epiphany/epiphany_3.32.3.bb +++ b/poky/meta/recipes-gnome/epiphany/epiphany_3.32.4.bb @@ -13,8 +13,8 @@ REQUIRED_DISTRO_FEATURES = "x11 opengl" 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] = "c4976507bf3de69f27a050ad09531f5a" -SRC_URI[archive.sha256sum] = "3ccb6859a43b839b714aa425cb185056f1e8604adbaab6a1bc179d1ba641a33f" +SRC_URI[archive.md5sum] = "6a5eada8a3870ab4d0fcd5168559776f" +SRC_URI[archive.sha256sum] = "c9a828578301af77ac9f3d3ce253b02f9f3a1561840cc8d74dd5645f92d0a995" 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/gtk-doc/files/0001-highlight.py-correctly-set-permissions-on-file-to-be.patch b/poky/meta/recipes-gnome/gtk-doc/files/0001-highlight.py-correctly-set-permissions-on-file-to-be.patch deleted file mode 100644 index bb8f55c41d..0000000000 --- a/poky/meta/recipes-gnome/gtk-doc/files/0001-highlight.py-correctly-set-permissions-on-file-to-be.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 63bc4cd1ce2d918c6566a4e0c7d830713432fc82 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Fri, 28 Jun 2019 13:08:24 +0200 -Subject: [PATCH] highlight.py: correctly set permissions on file to be written - -Upstream-Status: Backport [https://github.com/GNOME/gtk-doc/commit/12d9a698fb58f3d1a840d3bfc0d15a3a9f57afc1] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - gtkdoc/highlight.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gtkdoc/highlight.py b/gtkdoc/highlight.py -index 8f6e470..82e11e8 100644 ---- a/gtkdoc/highlight.py -+++ b/gtkdoc/highlight.py -@@ -47,6 +47,6 @@ def highlight_code(code, lang='c'): - - - def append_style_defs(css_file_name): -- os.chmod(css_file_name, stat.S_IWRITE) -+ os.chmod(css_file_name, 0o644) - with open(css_file_name, 'at', newline='\n', encoding='utf-8') as css: - css.write(HTML_FORMATTER.get_style_defs()) diff --git a/poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch b/poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch index 5674a38abd..8c9bc95442 100644 --- a/poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch +++ b/poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch @@ -1,4 +1,4 @@ -From 31254fac614bb6ee28cf6fdd514a9563a5d781a8 Mon Sep 17 00:00:00 2001 +From 9537a7998a220b698b26d926a111bb400ff1ce01 Mon Sep 17 00:00:00 2001 From: Ross Burton <ross.burton@intel.com> Date: Mon, 5 Sep 2016 22:25:44 +0100 Subject: [PATCH] Use native pkg-config when looking for gtk-doc. diff --git a/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.30.bb b/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.31.bb index fce0329534..4f97ce0633 100644 --- a/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.30.bb +++ b/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.31.bb @@ -18,13 +18,12 @@ PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "api-documentation", PACKAGECONFIG[working-scripts] = ",,libxslt-native xmlto-native python3-six python3-pygments" PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,glib-2.0" -SRC_URI[archive.md5sum] = "1045ba29ca0693ced2045523407aae4c" -SRC_URI[archive.sha256sum] = "a4f6448eb838ccd30d76a33b1fd095f81aea361f03b12c7b23df181d21b7069e" +SRC_URI[archive.md5sum] = "6239713011369a4fbdc7619350403772" +SRC_URI[archive.sha256sum] = "a51687956d0377ac70904d03fdc73c9e116589b4a01453fa92162442b3657011" SRC_URI += "file://0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch \ file://0001-Do-not-error-out-if-xsltproc-is-not-found.patch \ file://conditionaltests.patch \ file://no-clobber.patch \ - file://0001-highlight.py-correctly-set-permissions-on-file-to-be.patch \ " SRC_URI_append_class-native = " file://pkg-config-native.patch" diff --git a/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.2.bb b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.3.bb index 58e78a5b78..e1a1183007 100644 --- a/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.2.bb +++ b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.3.bb @@ -7,8 +7,8 @@ inherit gnomebase upstream-version-is-even vala distro_features_check gobject-in DEPENDS = "glib-2.0-native glib-2.0 gtk+3" -SRC_URI[archive.md5sum] = "b5c99a8f483a0defe7c7124a3220e412" -SRC_URI[archive.sha256sum] = "413f8dfb8706760e0c649e2994bd10524ac0736601dd03ad2036293bed3bf141" +SRC_URI[archive.md5sum] = "b6da085649dcda2795e6980a84667950" +SRC_URI[archive.sha256sum] = "6c8d9b1514b5f6422107596f4145b89b8f2a99abef6383e086dfcd28c28667e8" GIR_MESON_OPTION = 'with_introspection' diff --git a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb index fd90d20172..2b6837fef6 100644 --- a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb +++ b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb @@ -6,7 +6,7 @@ DEPENDS = "virtual/libgles2 virtual/egl libdrm" LIC_FILES_CHKSUM = "file://kmscube.c;beginline=1;endline=23;md5=8b309d4ee67b7315ff7381270dd631fb" -SRCREV = "e888ea1d233b2639b87a68e099d18d4e919905df" +SRCREV = "f632b23a528ed6b4e1fddd774db005c30ab65568" SRC_URI = "git://gitlab.freedesktop.org/mesa/kmscube;branch=master;protocol=https \ file://detect-gst_bo_map-_unmap-and-use-it-or-avoid-it.patch" UPSTREAM_CHECK_COMMITS = "1" diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc index 60d07f536c..fcd19884f5 100644 --- a/poky/meta/recipes-graphics/mesa/mesa.inc +++ b/poky/meta/recipes-graphics/mesa/mesa.inc @@ -94,10 +94,14 @@ PACKAGECONFIG[egl] = "-Degl=true, -Degl=false" PACKAGECONFIG[etnaviv] = "" PACKAGECONFIG[kmsro] = "" +PACKAGECONFIG[vc4] = "" +PACKAGECONFIG[v3d] = "" GALLIUMDRIVERS = "swrast" GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}" GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'kmsro', ',kmsro', '', d)}" +GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'vc4', ',vc4', '', d)}" +GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '', d)}" # radeonsi requires LLVM GALLIUMDRIVERS_LLVM33 = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',radeonsi', '', d)}" diff --git a/poky/meta/recipes-graphics/mesa/mesa_19.1.1.bb b/poky/meta/recipes-graphics/mesa/mesa_19.1.1.bb index 1a34a6577b..1d5d00f73e 100644 --- a/poky/meta/recipes-graphics/mesa/mesa_19.1.1.bb +++ b/poky/meta/recipes-graphics/mesa/mesa_19.1.1.bb @@ -9,6 +9,8 @@ SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \ SRC_URI[md5sum] = "07cd8cd79de28ec1a374ee3a06e47789" SRC_URI[sha256sum] = "72114b16b4a84373b2acda060fe2bb1d45ea2598efab3ef2d44bdeda74f15581" +UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)" + #because we cannot rely on the fact that all apps will use pkgconfig, #make eglplatform.h independent of MESA_EGL_NO_X11_HEADER do_install_append() { diff --git a/poky/meta/recipes-graphics/pango/pango_1.44.3.bb b/poky/meta/recipes-graphics/pango/pango_1.44.5.bb index 1973c63f82..a143723c7c 100644 --- a/poky/meta/recipes-graphics/pango/pango_1.44.3.bb +++ b/poky/meta/recipes-graphics/pango/pango_1.44.5.bb @@ -15,11 +15,9 @@ GNOMEBASEBUILDCLASS = "meson" inherit gnomebase gtk-doc ptest-gnome upstream-version-is-even gobject-introspection -SRC_URI += "file://run-ptest \ - " - -SRC_URI[archive.md5sum] = "7f91f1b5883ff848b445ab11ebabcf03" -SRC_URI[archive.sha256sum] = "290bb100ca5c7025ec3f97332eaf783b76ba1f444110f06ac5ee3285e3e5aece" +SRC_URI += "file://run-ptest" +SRC_URI[archive.md5sum] = "b6bf689e3ce4f46b0fd887b64c850ea1" +SRC_URI[archive.sha256sum] = "8527dfcbeedb4390149b6f94620c0fa64e26046ab85042c2a7556438847d7fc1" DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi" @@ -38,7 +36,8 @@ LIBV = "1.8.0" FILES_${PN} = "${bindir}/* ${libdir}/libpango*${SOLIBS}" FILES_${PN}-dev += "${libdir}/pango/${LIBV}/modules/*.la" -RDEPENDS_${PN}-ptest += "liberation-fonts cantarell-fonts" +RDEPENDS_${PN}-ptest += "cantarell-fonts" +RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-en-us" RPROVIDES_${PN} += "pango-modules pango-module-indic-lang \ pango-module-basic-fc pango-module-arabic-lang" diff --git a/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb b/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb index 5c1d7f691f..8ca7193c8c 100644 --- a/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb +++ b/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb @@ -1,10 +1,10 @@ SUMMARY = "Tools for managing Yocto Project style branched kernels" LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://git/tools/kgit;beginline=5;endline=9;md5=a6c2fa8aef1bda400e2828845ba0d06c" +LIC_FILES_CHKSUM = "file://git/tools/kgit;beginline=5;endline=9;md5=9c30e971d435e249624278c3e343e501" DEPENDS = "git-native" -SRCREV = "af1a779f662c81da521e4d602f3c6446547d12a2" +SRCREV = "bb6df0ef2365689cd3df6f76a8838cddae0d9343" PR = "r12" PV = "0.2+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/kmod/kmod.inc b/poky/meta/recipes-kernel/kmod/kmod.inc index e68860f6b4..334453838e 100644 --- a/poky/meta/recipes-kernel/kmod/kmod.inc +++ b/poky/meta/recipes-kernel/kmod/kmod.inc @@ -20,6 +20,7 @@ PV = "26" SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git \ file://depmod-search.conf \ + file://0001-build-Stop-using-dolt.patch \ file://avoid_parallel_tests.patch \ " @@ -28,14 +29,8 @@ S = "${WORKDIR}/git" EXTRA_AUTORECONF += "--install --symlink" EXTRA_OECONF +=" --enable-tools --with-zlib" -CACHED_CONFIGUREVARS += "ac_cv_path_DOLT_BASH='/usr/bin/env bash'" - PACKAGECONFIG[debug] = "--enable-debug,--disable-debug" PACKAGECONFIG[logging] = " --enable-logging,--disable-logging" PACKAGECONFIG[manpages] = "--enable-manpages, --disable-manpages, libxslt-native xmlto-native" GTKDOC_DOCDIR = "${S}/libkmod/docs" - -do_configure_append () { - sed -i 's#}libtool#}${TARGET_SYS}-libtool#' ${B}/doltlibtool -} diff --git a/poky/meta/recipes-kernel/kmod/kmod/0001-build-Stop-using-dolt.patch b/poky/meta/recipes-kernel/kmod/kmod/0001-build-Stop-using-dolt.patch new file mode 100644 index 0000000000..c915ad5e8a --- /dev/null +++ b/poky/meta/recipes-kernel/kmod/kmod/0001-build-Stop-using-dolt.patch @@ -0,0 +1,28 @@ +From f8b8d7b330433511d19a936ddfc7b7d1af5490b5 Mon Sep 17 00:00:00 2001 +From: Adrian Bunk <bunk@kernel.org> +Date: Wed, 20 Feb 2019 14:22:04 +0200 +Subject: build: Stop using dolt + +This does regress "make -12" from 0.7s to 0.9s on my +Coffee Lake machine, but even on slower hardware this +will not amount to a noticable slowdown. + +On the other hand using dolt can create problems for +people doing cross-compilation, e.g. Yocto has two +hacks just for dolt in kmod: +https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/recipes-kernel/kmod/kmod.inc?id=a17abae00785c76cfffe5381a22fb2c86b982e82 + +Signed-off-by: Adrian Bunk <bunk@kernel.org> +Upstream-Status: Backport + +--- a/configure.ac ++++ b/configure.ac +@@ -17,7 +17,6 @@ AM_MAINTAINER_MODE([enable]) + AM_INIT_AUTOMAKE([check-news foreign 1.11 silent-rules tar-pax no-dist-gzip dist-xz subdir-objects color-tests parallel-tests]) + AM_SILENT_RULES([yes]) + LT_INIT([disable-static pic-only]) +-DOLT + + AS_IF([test "x$enable_static" = "xyes"], [AC_MSG_ERROR([--enable-static is not supported by kmod])]) + AS_IF([test "x$enable_largefile" = "xno"], [AC_MSG_ERROR([--disable-largefile is not supported by kmod])]) + diff --git a/poky/meta/recipes-kernel/kmod/kmod/avoid_parallel_tests.patch b/poky/meta/recipes-kernel/kmod/kmod/avoid_parallel_tests.patch index 990c338fa9..04a8204815 100644 --- a/poky/meta/recipes-kernel/kmod/kmod/avoid_parallel_tests.patch +++ b/poky/meta/recipes-kernel/kmod/kmod/avoid_parallel_tests.patch @@ -20,7 +20,7 @@ diff --git a/configure.ac b/configure.ac index ee72283..60980c0 100644 --- a/configure.ac +++ b/configure.ac -@@ -14,7 +14,7 @@ AC_USE_SYSTEM_EXTENSIONS +@@ -14,8 +14,8 @@ AC_USE_SYSTEM_EXTENSIONS AC_SYS_LARGEFILE AC_PREFIX_DEFAULT([/usr]) AM_MAINTAINER_MODE([enable]) @@ -28,4 +28,5 @@ index ee72283..60980c0 100644 +AM_INIT_AUTOMAKE([check-news foreign 1.11 silent-rules tar-pax no-dist-gzip dist-xz subdir-objects color-tests serial-tests]) AM_SILENT_RULES([yes]) LT_INIT([disable-static pic-only]) - DOLT + + AS_IF([test "x$enable_static" = "xyes"], [AC_MSG_ERROR([--enable-static is not supported by kmod])]) diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20190618.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20190815.bb index 9afaad73f3..518638806f 100644 --- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20190618.bb +++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20190815.bb @@ -123,7 +123,7 @@ LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \ file://LICENCE.xc4000;md5=0ff51d2dc49fce04814c9155081092f0 \ file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \ file://LICENCE.xc5000c;md5=12b02efa3049db65d524aeb418dd87ca \ - file://WHENCE;md5=55814698bbae7c7dd40c9fbde91af0a8 \ + file://WHENCE;md5=37a01e379219d1e06dbccfa90a8fc0ad \ " # These are not common licenses, set NO_GENERIC_LICENSE for them @@ -192,7 +192,7 @@ NO_GENERIC_LICENSE[WHENCE] = "WHENCE" PE = "1" -SRCREV = "0731d06eadc7d9c52e58f354727101813b8da6ea" +SRCREV = "07b925b450bfb4cf3e141c612ec5b104658cd020" SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git" diff --git a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb index 5ec5929735..3900489ac5 100644 --- a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb +++ b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb @@ -65,7 +65,6 @@ do_install() { ) # then drop all but the needed Makefiles/Kconfig files - rm -rf $kerneldir/build/Documentation rm -rf $kerneldir/build/scripts rm -rf $kerneldir/build/include @@ -205,11 +204,12 @@ do_install() { cp -a --parents arch/x86/purgatory/sha256.c $kerneldir/build/ 2>/dev/null || : cp -a --parents arch/x86/purgatory/stack.S $kerneldir/build/ - cp -a --parents arch/x86/purgatory/string.c $kerneldir/build/ + cp -a --parents arch/x86/purgatory/string.c $kerneldir/build/ 2>/dev/null || : cp -a --parents arch/x86/purgatory/setup-x86_64.S $kerneldir/build/ cp -a --parents arch/x86/purgatory/entry64.S $kerneldir/build/ cp -a --parents arch/x86/boot/string.h $kerneldir/build/ cp -a --parents arch/x86/boot/string.c $kerneldir/build/ + cp -a --parents arch/x86/boot/compressed/string.c $kerneldir/build/ 2>/dev/null || : cp -a --parents arch/x86/boot/ctype.h $kerneldir/build/ fi diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb index 96117ccf3f..2268faf512 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb @@ -46,7 +46,7 @@ KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" # Functionality flags KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc" KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" -KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc" +KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc" KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc" KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "" ,d)}" 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 4013a0c2d0..f431f111dd 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 @@ -12,7 +12,7 @@ python () { } SRCREV_machine ?= "ca2e3322f4c5678eaef6434c808d0842c805d74d" -SRCREV_meta ?= "960be4218436fbbb3500e019f7abf02fa94e6aac" +SRCREV_meta ?= "20a6158aa35dbf11819382ef1eeb28915afea765" 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}" @@ -38,7 +38,7 @@ KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" # Functionality flags KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc" KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" -KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc" +KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc" KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" KERNEL_FEATURES_append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "" ,d)}" 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 9e822f2e7f..22f3bf1951 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,8 +11,8 @@ python () { raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "9c1e84c9b81b6bf1df55f26f2e0517266c37f7eb" -SRCREV_meta ?= "c2e34d9ab2894edc6abc6be9ac89907bf4348447" +SRCREV_machine ?= "e6cb812b5532630b6fc6dfd7778d57a4907d3180" +SRCREV_meta ?= "7f6e97c357746382d4339e7e0463637e715acd4b" 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}" @@ -38,7 +38,7 @@ KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb" # Functionality flags KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc" KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" -KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc" +KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc" KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" KERNEL_FEATURES_append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "" ,d)}" 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 4759d80438..2255a7b959 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 @@ -17,7 +17,7 @@ KCONF_BSP_AUDIT_LEVEL = "2" SRCREV_machine_qemuarm ?= "b5a2efa31290f31384971494031285d394635938" SRCREV_machine ?= "4ec6f255163da37a4c83528e5835b6b9baccee63" -SRCREV_meta ?= "960be4218436fbbb3500e019f7abf02fa94e6aac" +SRCREV_meta ?= "20a6158aa35dbf11819382ef1eeb28915afea765" 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 a1719651b6..33672c6d49 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 @@ -15,9 +15,9 @@ DEPENDS += "openssl-native util-linux-native" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine_qemuarm ?= "fabee455f397ba8054f35a3ad5f2250bbad93bef" -SRCREV_machine ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458" -SRCREV_meta ?= "c2e34d9ab2894edc6abc6be9ac89907bf4348447" +SRCREV_machine_qemuarm ?= "b9001287984b0066814c8739f38d629de73739b7" +SRCREV_machine ?= "55dd15336b7301b686a0c183f5372b49c1003d03" +SRCREV_meta ?= "7f6e97c357746382d4339e7e0463637e715acd4b" 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 cee8af7c99..8f5f711be1 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb @@ -19,7 +19,7 @@ SRCREV_machine_qemux86 ?= "4ec6f255163da37a4c83528e5835b6b9baccee63" SRCREV_machine_qemux86-64 ?= "4ec6f255163da37a4c83528e5835b6b9baccee63" SRCREV_machine_qemumips64 ?= "ca47368b698795cd5cada84dbfcceda1f47da1aa" SRCREV_machine ?= "4ec6f255163da37a4c83528e5835b6b9baccee63" -SRCREV_meta ?= "960be4218436fbbb3500e019f7abf02fa94e6aac" +SRCREV_meta ?= "20a6158aa35dbf11819382ef1eeb28915afea765" 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} \ @@ -43,7 +43,7 @@ COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemum # Functionality flags KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc" KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" -KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc" +KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc" KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "" ,d)}" 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 0e4a372d2d..887e88e087 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb @@ -12,16 +12,16 @@ KBRANCH_qemux86 ?= "v5.0/standard/base" KBRANCH_qemux86-64 ?= "v5.0/standard/base" KBRANCH_qemumips64 ?= "v5.0/standard/mti-malta64" -SRCREV_machine_qemuarm ?= "9161b2fa2f1cec0ba02976c389c788445858e0de" -SRCREV_machine_qemuarm64 ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458" -SRCREV_machine_qemumips ?= "7de9b8f0db98e51a666477c8e2b64f1964b45410" -SRCREV_machine_qemuppc ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458" +SRCREV_machine_qemuarm ?= "d1ed980ad989252d42386c8bc63b2f5f11985ea4" +SRCREV_machine_qemuarm64 ?= "55dd15336b7301b686a0c183f5372b49c1003d03" +SRCREV_machine_qemumips ?= "1520e78195e64f27be46a46a8d6711c8470fb083" +SRCREV_machine_qemuppc ?= "55dd15336b7301b686a0c183f5372b49c1003d03" SRCREV_machine_qemuriscv64 ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458" -SRCREV_machine_qemux86 ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458" -SRCREV_machine_qemux86-64 ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458" -SRCREV_machine_qemumips64 ?= "5a8b27bcc0b16077ab8edfcd3fb25c80dc2c652e" -SRCREV_machine ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458" -SRCREV_meta ?= "c2e34d9ab2894edc6abc6be9ac89907bf4348447" +SRCREV_machine_qemux86 ?= "55dd15336b7301b686a0c183f5372b49c1003d03" +SRCREV_machine_qemux86-64 ?= "55dd15336b7301b686a0c183f5372b49c1003d03" +SRCREV_machine_qemumips64 ?= "9d4105b32cf123a861bc754377d2f2e156278a7e" +SRCREV_machine ?= "55dd15336b7301b686a0c183f5372b49c1003d03" +SRCREV_meta ?= "7f6e97c357746382d4339e7e0463637e715acd4b" # remap qemuarm to qemuarma15 for the 5.0 kernel # KMACHINE_qemuarm ?= "qemuarma15" @@ -47,7 +47,7 @@ COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemum # Functionality flags KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc" KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" -KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc" +KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc" KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "" ,d)}" diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.4.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.2.bb index 884973d237..2d69d8bd72 100644 --- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.4.bb +++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.2.bb @@ -26,8 +26,8 @@ LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \ file://mips64_cpu_detection.patch \ " -SRC_URI[md5sum] = "5307931aeb7aaee5e1509d9996040661" -SRC_URI[sha256sum] = "f1f049a82fcfbf156564e73a3935d7e750891fab2abf302e735104fd4050a7e1" +SRC_URI[md5sum] = "fb33a9110251873002869664686b2a3f" +SRC_URI[sha256sum] = "023f10831a97ad93d798f53a3640e55cd564abfeba807ecbe8524dac4fedecd5" # 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-rt/rt-tests/rt-tests.inc b/poky/meta/recipes-rt/rt-tests/rt-tests.inc index 84a8f67bd4..227eb99b98 100644 --- a/poky/meta/recipes-rt/rt-tests/rt-tests.inc +++ b/poky/meta/recipes-rt/rt-tests/rt-tests.inc @@ -3,8 +3,8 @@ SRCREV = "dff174f994f547a5785d32454865f140daacb0f5" PE = "1" SRC_URI = "git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git" -# 1.2 and 1.3 and 1.4 seem to be development versions -UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>(?!1\.2)(?!1\.3)(?!1\.4)(\d+(\.\d+)+))" +# 1.2 to 1.5 seem to be development versions +UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>(?!1\.[2-5])(\d+(\.\d+)+))" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.24.3.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.24.3.bb index c42c3de69f..0e5ee5ba00 100644 --- a/poky/meta/recipes-sato/webkit/webkitgtk_2.24.3.bb +++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.24.3.bb @@ -88,6 +88,7 @@ EXTRA_OECMAKE_append_armv5 = " -DENABLE_JIT=OFF " EXTRA_OECMAKE_append_armv6 = " -DENABLE_JIT=OFF " EXTRA_OECMAKE_append_armv4 = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE_append_mipsarchn32 = " -DUSE_LD_GOLD=OFF " EXTRA_OECMAKE_append_powerpc = " -DUSE_LD_GOLD=OFF " # JIT not supported on MIPS either diff --git a/poky/meta/recipes-support/gnutls/libtasn1_4.14.bb b/poky/meta/recipes-support/gnutls/libtasn1_4.14.bb index cb7fed4449..7158e483e9 100644 --- a/poky/meta/recipes-support/gnutls/libtasn1_4.14.bb +++ b/poky/meta/recipes-support/gnutls/libtasn1_4.14.bb @@ -20,4 +20,4 @@ SRC_URI[sha256sum] = "9e604ba5c5c8ea403487695c2e407405820d98540d9de884d6e844f9a9 inherit autotools texinfo lib_package gtk-doc -BBCLASSEXTEND = "native" +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/libffi/libffi/0001-New-RISC-V-port-281.patch b/poky/meta/recipes-support/libffi/libffi/0001-New-RISC-V-port-281.patch deleted file mode 100644 index 589c4d3c44..0000000000 --- a/poky/meta/recipes-support/libffi/libffi/0001-New-RISC-V-port-281.patch +++ /dev/null @@ -1,827 +0,0 @@ -From 8ac73103bf12ce4f776940cb17f3ced15a362f23 Mon Sep 17 00:00:00 2001 -From: Stef O'Rear <sorear2@gmail.com> -Date: Sun, 11 Mar 2018 05:55:15 -0700 -Subject: [PATCH] New RISC-V port (#281) - -* Add RISC-V support - -This patch adds support for the RISC-V architecture (https://riscv.org). - -This patch has been tested using QEMU user-mode emulation and GCC 7.2.0 -in the following configurations: - -* -march=rv32imac -mabi=ilp32 -* -march=rv32g -mabi=ilp32d -* -march=rv64imac -mabi=lp64 -* -march=rv64g -mabi=lp64d - -The ABI currently can be found at -https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md . - -* Add RISC-V to README - -* RISC-V: fix configure.host - -Upstream-Status: Backport [https://github.com/libffi/libffi/commit/3840d49aaa831d649b1597518a2903dfed0d57f3] -Signed-off-by: Alistair Francis <alistair.francis@wdc.com> ---- - Makefile.am | 4 + - configure.ac | 5 + - src/riscv/ffi.c | 445 ++++++++++++++++++++++++++++++++++++++++++ - src/riscv/ffitarget.h | 68 +++++++ - src/riscv/sysv.S | 214 ++++++++++++++++++++ - 5 files changed, 736 insertions(+) - create mode 100644 src/riscv/ffi.c - create mode 100644 src/riscv/ffitarget.h - create mode 100644 src/riscv/sysv.S - -diff --git a/Makefile.am b/Makefile.am -index 0e40451..3837650 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -32,6 +32,7 @@ EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj \ - src/powerpc/asm.h src/powerpc/aix.S src/powerpc/darwin.S \ - src/powerpc/aix_closure.S src/powerpc/darwin_closure.S \ - src/powerpc/ffi_darwin.c src/powerpc/ffitarget.h \ -+ src/riscv/ffi.c src/riscv/ffitarget.h src/riscv/sysv.S \ - src/s390/ffi.c src/s390/sysv.S src/s390/ffitarget.h \ - src/sh/ffi.c src/sh/sysv.S src/sh/ffitarget.h src/sh64/ffi.c \ - src/sh64/sysv.S src/sh64/ffitarget.h src/sparc/v8.S \ -@@ -122,6 +123,9 @@ endif - if MIPS - nodist_libffi_la_SOURCES += src/mips/ffi.c src/mips/o32.S src/mips/n32.S - endif -+if RISCV -+nodist_libffi_la_SOURCES += src/riscv/ffi.c src/riscv/sysv.S -+endif - if BFIN - nodist_libffi_la_SOURCES += src/bfin/ffi.c src/bfin/sysv.S - endif -diff --git a/configure.ac b/configure.ac -index ce30853..33375aa 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -226,6 +226,10 @@ case "$host" in - TARGET=MIPS; TARGETDIR=mips - ;; - -+ riscv*-*-*) -+ TARGET=RISCV; TARGETDIR=riscv -+ ;; -+ - nios2*-linux*) - TARGET=NIOS2; TARGETDIR=nios2 - ;; -@@ -298,6 +302,7 @@ if test $TARGETDIR = unknown; then - fi - - AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS) -+AM_CONDITIONAL(RISCV, test x$TARGET = xRISCV) - AM_CONDITIONAL(BFIN, test x$TARGET = xBFIN) - AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC) - AM_CONDITIONAL(X86, test x$TARGET = xX86) -diff --git a/src/riscv/ffi.c b/src/riscv/ffi.c -new file mode 100644 -index 0000000..b744fdd ---- /dev/null -+++ b/src/riscv/ffi.c -@@ -0,0 +1,445 @@ -+/* ----------------------------------------------------------------------- -+ ffi.c - Copyright (c) 2015 Michael Knyszek <mknyszek@berkeley.edu> -+ 2015 Andrew Waterman <waterman@cs.berkeley.edu> -+ 2018 Stef O'Rear <sorear2@gmail.com> -+ Based on MIPS N32/64 port -+ -+ RISC-V Foreign Function Interface -+ -+ Permission is hereby granted, free of charge, to any person obtaining -+ a copy of this software and associated documentation files (the -+ ``Software''), to deal in the Software without restriction, including -+ without limitation the rights to use, copy, modify, merge, publish, -+ distribute, sublicense, and/or sell copies of the Software, and to -+ permit persons to whom the Software is furnished to do so, subject to -+ the following conditions: -+ -+ The above copyright notice and this permission notice shall be included -+ in all copies or substantial portions of the Software. -+ -+ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, -+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -+ DEALINGS IN THE SOFTWARE. -+ ----------------------------------------------------------------------- */ -+ -+#include <ffi.h> -+#include <ffi_common.h> -+ -+#include <stdlib.h> -+#include <stdint.h> -+ -+#if __riscv_float_abi_double -+#define ABI_FLEN 64 -+#define ABI_FLOAT double -+#elif __riscv_float_abi_single -+#define ABI_FLEN 32 -+#define ABI_FLOAT float -+#endif -+ -+#define NARGREG 8 -+#define STKALIGN 16 -+#define MAXCOPYARG (2 * sizeof(double)) -+ -+typedef struct call_context -+{ -+#if ABI_FLEN -+ ABI_FLOAT fa[8]; -+#endif -+ size_t a[8]; -+ /* used by the assembly code to in-place construct its own stack frame */ -+ char frame[16]; -+} call_context; -+ -+typedef struct call_builder -+{ -+ call_context *aregs; -+ int used_integer; -+ int used_float; -+ size_t *used_stack; -+} call_builder; -+ -+/* integer (not pointer) less than ABI XLEN */ -+/* FFI_TYPE_INT does not appear to be used */ -+#if __SIZEOF_POINTER__ == 8 -+#define IS_INT(type) ((type) >= FFI_TYPE_UINT8 && (type) <= FFI_TYPE_SINT64) -+#else -+#define IS_INT(type) ((type) >= FFI_TYPE_UINT8 && (type) <= FFI_TYPE_SINT32) -+#endif -+ -+#if ABI_FLEN -+typedef struct { -+ char as_elements, type1, offset2, type2; -+} float_struct_info; -+ -+#if ABI_FLEN >= 64 -+#define IS_FLOAT(type) ((type) >= FFI_TYPE_FLOAT && (type) <= FFI_TYPE_DOUBLE) -+#else -+#define IS_FLOAT(type) ((type) == FFI_TYPE_FLOAT) -+#endif -+ -+static ffi_type **flatten_struct(ffi_type *in, ffi_type **out, ffi_type **out_end) { -+ int i; -+ if (out == out_end) return out; -+ if (in->type != FFI_TYPE_STRUCT) { -+ *(out++) = in; -+ } else { -+ for (i = 0; in->elements[i]; i++) -+ out = flatten_struct(in->elements[i], out, out_end); -+ } -+ return out; -+} -+ -+/* Structs with at most two fields after flattening, one of which is of -+ floating point type, are passed in multiple registers if sufficient -+ registers are available. */ -+static float_struct_info struct_passed_as_elements(call_builder *cb, ffi_type *top) { -+ float_struct_info ret = {0, 0, 0, 0}; -+ ffi_type *fields[3]; -+ int num_floats, num_ints; -+ int num_fields = flatten_struct(top, fields, fields + 3) - fields; -+ -+ if (num_fields == 1) { -+ if (IS_FLOAT(fields[0]->type)) { -+ ret.as_elements = 1; -+ ret.type1 = fields[0]->type; -+ } -+ } else if (num_fields == 2) { -+ num_floats = IS_FLOAT(fields[0]->type) + IS_FLOAT(fields[1]->type); -+ num_ints = IS_INT(fields[0]->type) + IS_INT(fields[1]->type); -+ if (num_floats == 0 || num_floats + num_ints != 2) -+ return ret; -+ if (cb->used_float + num_floats > NARGREG || cb->used_integer + (2 - num_floats) > NARGREG) -+ return ret; -+ if (!IS_FLOAT(fields[0]->type) && !IS_FLOAT(fields[1]->type)) -+ return ret; -+ -+ ret.type1 = fields[0]->type; -+ ret.type2 = fields[1]->type; -+ ret.offset2 = ALIGN(fields[0]->size, fields[1]->alignment); -+ ret.as_elements = 1; -+ } -+ -+ return ret; -+} -+#endif -+ -+/* allocates a single register, float register, or XLEN-sized stack slot to a datum */ -+static void marshal_atom(call_builder *cb, int type, void *data) { -+ size_t value = 0; -+ switch (type) { -+ case FFI_TYPE_UINT8: value = *(uint8_t *)data; break; -+ case FFI_TYPE_SINT8: value = *(int8_t *)data; break; -+ case FFI_TYPE_UINT16: value = *(uint16_t *)data; break; -+ case FFI_TYPE_SINT16: value = *(int16_t *)data; break; -+ /* 32-bit quantities are always sign-extended in the ABI */ -+ case FFI_TYPE_UINT32: value = *(int32_t *)data; break; -+ case FFI_TYPE_SINT32: value = *(int32_t *)data; break; -+#if __SIZEOF_POINTER__ == 8 -+ case FFI_TYPE_UINT64: value = *(uint64_t *)data; break; -+ case FFI_TYPE_SINT64: value = *(int64_t *)data; break; -+#endif -+ case FFI_TYPE_POINTER: value = *(size_t *)data; break; -+ -+ /* float values may be recoded in an implementation-defined way -+ by hardware conforming to 2.1 or earlier, so use asm to -+ reinterpret floats as doubles */ -+#if ABI_FLEN >= 32 -+ case FFI_TYPE_FLOAT: -+ asm("" : "=f"(cb->aregs->fa[cb->used_float++]) : "0"(*(float *)data)); -+ return; -+#endif -+#if ABI_FLEN >= 64 -+ case FFI_TYPE_DOUBLE: -+ asm("" : "=f"(cb->aregs->fa[cb->used_float++]) : "0"(*(double *)data)); -+ return; -+#endif -+ default: FFI_ASSERT(0); break; -+ } -+ -+ if (cb->used_integer == NARGREG) { -+ *cb->used_stack++ = value; -+ } else { -+ cb->aregs->a[cb->used_integer++] = value; -+ } -+} -+ -+static void unmarshal_atom(call_builder *cb, int type, void *data) { -+ size_t value; -+ switch (type) { -+#if ABI_FLEN >= 32 -+ case FFI_TYPE_FLOAT: -+ asm("" : "=f"(*(float *)data) : "0"(cb->aregs->fa[cb->used_float++])); -+ return; -+#endif -+#if ABI_FLEN >= 64 -+ case FFI_TYPE_DOUBLE: -+ asm("" : "=f"(*(double *)data) : "0"(cb->aregs->fa[cb->used_float++])); -+ return; -+#endif -+ } -+ -+ if (cb->used_integer == NARGREG) { -+ value = *cb->used_stack++; -+ } else { -+ value = cb->aregs->a[cb->used_integer++]; -+ } -+ -+ switch (type) { -+ case FFI_TYPE_UINT8: *(uint8_t *)data = value; break; -+ case FFI_TYPE_SINT8: *(uint8_t *)data = value; break; -+ case FFI_TYPE_UINT16: *(uint16_t *)data = value; break; -+ case FFI_TYPE_SINT16: *(uint16_t *)data = value; break; -+ case FFI_TYPE_UINT32: *(uint32_t *)data = value; break; -+ case FFI_TYPE_SINT32: *(uint32_t *)data = value; break; -+#if __SIZEOF_POINTER__ == 8 -+ case FFI_TYPE_UINT64: *(uint64_t *)data = value; break; -+ case FFI_TYPE_SINT64: *(uint64_t *)data = value; break; -+#endif -+ case FFI_TYPE_POINTER: *(size_t *)data = value; break; -+ default: FFI_ASSERT(0); break; -+ } -+} -+ -+/* adds an argument to a call, or a not by reference return value */ -+static void marshal(call_builder *cb, ffi_type *type, int var, void *data) { -+ size_t realign[2]; -+ -+#if ABI_FLEN -+ if (!var && type->type == FFI_TYPE_STRUCT) { -+ float_struct_info fsi = struct_passed_as_elements(cb, type); -+ if (fsi.as_elements) { -+ marshal_atom(cb, fsi.type1, data); -+ if (fsi.offset2) -+ marshal_atom(cb, fsi.type2, ((char*)data) + fsi.offset2); -+ return; -+ } -+ } -+ -+ if (!var && cb->used_float < NARGREG && IS_FLOAT(type->type)) { -+ marshal_atom(cb, type->type, data); -+ return; -+ } -+#endif -+ -+ if (type->size > 2 * __SIZEOF_POINTER__) { -+ /* pass by reference */ -+ marshal_atom(cb, FFI_TYPE_POINTER, &data); -+ } else if (IS_INT(type->type) || type->type == FFI_TYPE_POINTER) { -+ marshal_atom(cb, type->type, data); -+ } else { -+ /* overlong integers, soft-float floats, and structs without special -+ float handling are treated identically from this point on */ -+ -+ /* variadics are aligned even in registers */ -+ if (type->alignment > __SIZEOF_POINTER__) { -+ if (var) -+ cb->used_integer = ALIGN(cb->used_integer, 2); -+ cb->used_stack = (size_t *)ALIGN(cb->used_stack, 2*__SIZEOF_POINTER__); -+ } -+ -+ memcpy(realign, data, type->size); -+ if (type->size > 0) -+ marshal_atom(cb, FFI_TYPE_POINTER, realign); -+ if (type->size > __SIZEOF_POINTER__) -+ marshal_atom(cb, FFI_TYPE_POINTER, realign + 1); -+ } -+} -+ -+/* for arguments passed by reference returns the pointer, otherwise the arg is copied (up to MAXCOPYARG bytes) */ -+static void *unmarshal(call_builder *cb, ffi_type *type, int var, void *data) { -+ size_t realign[2]; -+ void *pointer; -+ -+#if ABI_FLEN -+ if (!var && type->type == FFI_TYPE_STRUCT) { -+ float_struct_info fsi = struct_passed_as_elements(cb, type); -+ if (fsi.as_elements) { -+ unmarshal_atom(cb, fsi.type1, data); -+ if (fsi.offset2) -+ unmarshal_atom(cb, fsi.type2, ((char*)data) + fsi.offset2); -+ return data; -+ } -+ } -+ -+ if (!var && cb->used_float < NARGREG && IS_FLOAT(type->type)) { -+ unmarshal_atom(cb, type->type, data); -+ return data; -+ } -+#endif -+ -+ if (type->size > 2 * __SIZEOF_POINTER__) { -+ /* pass by reference */ -+ unmarshal_atom(cb, FFI_TYPE_POINTER, (char*)&pointer); -+ return pointer; -+ } else if (IS_INT(type->type) || type->type == FFI_TYPE_POINTER) { -+ unmarshal_atom(cb, type->type, data); -+ return data; -+ } else { -+ /* overlong integers, soft-float floats, and structs without special -+ float handling are treated identically from this point on */ -+ -+ /* variadics are aligned even in registers */ -+ if (type->alignment > __SIZEOF_POINTER__) { -+ if (var) -+ cb->used_integer = ALIGN(cb->used_integer, 2); -+ cb->used_stack = (size_t *)ALIGN(cb->used_stack, 2*__SIZEOF_POINTER__); -+ } -+ -+ if (type->size > 0) -+ unmarshal_atom(cb, FFI_TYPE_POINTER, realign); -+ if (type->size > __SIZEOF_POINTER__) -+ unmarshal_atom(cb, FFI_TYPE_POINTER, realign + 1); -+ memcpy(data, realign, type->size); -+ return data; -+ } -+} -+ -+static int passed_by_ref(call_builder *cb, ffi_type *type, int var) { -+#if ABI_FLEN -+ if (!var && type->type == FFI_TYPE_STRUCT) { -+ float_struct_info fsi = struct_passed_as_elements(cb, type); -+ if (fsi.as_elements) return 0; -+ } -+#endif -+ -+ return type->size > 2 * __SIZEOF_POINTER__; -+} -+ -+/* Perform machine dependent cif processing */ -+ffi_status ffi_prep_cif_machdep(ffi_cif *cif) { -+ cif->riscv_nfixedargs = cif->nargs; -+ return FFI_OK; -+} -+ -+/* Perform machine dependent cif processing when we have a variadic function */ -+ -+ffi_status ffi_prep_cif_machdep_var(ffi_cif *cif, unsigned int nfixedargs, unsigned int ntotalargs) { -+ cif->riscv_nfixedargs = nfixedargs; -+ return FFI_OK; -+} -+ -+/* Low level routine for calling functions */ -+extern void ffi_call_asm(void *stack, struct call_context *regs, void (*fn)(void)) FFI_HIDDEN; -+ -+void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) -+{ -+ /* this is a conservative estimate, assuming a complex return value and -+ that all remaining arguments are long long / __int128 */ -+ size_t arg_bytes = cif->nargs <= 3 ? 0 : -+ ALIGN(2 * sizeof(size_t) * (cif->nargs - 3), STKALIGN); -+ size_t rval_bytes = 0; -+ if (rvalue == NULL && cif->rtype->size > 2*__SIZEOF_POINTER__) -+ rval_bytes = ALIGN(cif->rtype->size, STKALIGN); -+ size_t alloc_size = arg_bytes + rval_bytes + sizeof(call_context); -+ -+ /* the assembly code will deallocate all stack data at lower addresses -+ than the argument region, so we need to allocate the frame and the -+ return value after the arguments in a single allocation */ -+ size_t alloc_base; -+ /* Argument region must be 16-byte aligned */ -+ if (_Alignof(max_align_t) >= STKALIGN) { -+ /* since sizeof long double is normally 16, the compiler will -+ guarantee alloca alignment to at least that much */ -+ alloc_base = (size_t)alloca(alloc_size); -+ } else { -+ alloc_base = ALIGN(alloca(alloc_size + STKALIGN - 1), STKALIGN); -+ } -+ -+ if (rval_bytes) -+ rvalue = (void*)(alloc_base + arg_bytes); -+ -+ call_builder cb; -+ cb.used_float = cb.used_integer = 0; -+ cb.aregs = (call_context*)(alloc_base + arg_bytes + rval_bytes); -+ cb.used_stack = (void*)alloc_base; -+ -+ int return_by_ref = passed_by_ref(&cb, cif->rtype, 0); -+ if (return_by_ref) -+ marshal(&cb, &ffi_type_pointer, 0, &rvalue); -+ -+ int i; -+ for (i = 0; i < cif->nargs; i++) -+ marshal(&cb, cif->arg_types[i], i >= cif->riscv_nfixedargs, avalue[i]); -+ -+ ffi_call_asm((void*)alloc_base, cb.aregs, fn); -+ -+ cb.used_float = cb.used_integer = 0; -+ if (!return_by_ref && rvalue) -+ unmarshal(&cb, cif->rtype, 0, rvalue); -+} -+ -+extern void ffi_closure_asm(void) FFI_HIDDEN; -+ -+ffi_status ffi_prep_closure_loc(ffi_closure *closure, ffi_cif *cif, void (*fun)(ffi_cif*,void*,void**,void*), void *user_data, void *codeloc) -+{ -+ uint32_t *tramp = (uint32_t *) &closure->tramp[0]; -+ uint64_t fn = (uint64_t) (uintptr_t) ffi_closure_asm; -+ -+ if (cif->abi <= FFI_FIRST_ABI || cif->abi >= FFI_LAST_ABI) -+ return FFI_BAD_ABI; -+ -+ /* we will call ffi_closure_inner with codeloc, not closure, but as long -+ as the memory is readable it should work */ -+ -+ tramp[0] = 0x00000317; /* auipc t1, 0 (i.e. t0 <- codeloc) */ -+#if __SIZEOF_POINTER__ == 8 -+ tramp[1] = 0x01033383; /* ld t2, 16(t1) */ -+#else -+ tramp[1] = 0x01032383; /* lw t2, 16(t1) */ -+#endif -+ tramp[2] = 0x00038067; /* jr t2 */ -+ tramp[3] = 0x00000013; /* nop */ -+ tramp[4] = fn; -+ tramp[5] = fn >> 32; -+ -+ closure->cif = cif; -+ closure->fun = fun; -+ closure->user_data = user_data; -+ -+ __builtin___clear_cache(codeloc, codeloc + FFI_TRAMPOLINE_SIZE); -+ -+ return FFI_OK; -+} -+ -+/* Called by the assembly code with aregs pointing to saved argument registers -+ and stack pointing to the stacked arguments. Return values passed in -+ registers will be reloaded from aregs. */ -+void FFI_HIDDEN ffi_closure_inner(size_t *stack, call_context *aregs, ffi_closure *closure) { -+ ffi_cif *cif = closure->cif; -+ void **avalue = alloca(cif->nargs * sizeof(void*)); -+ /* storage for arguments which will be copied by unmarshal(). We could -+ theoretically avoid the copies in many cases and use at most 128 bytes -+ of memory, but allocating disjoint storage for each argument is -+ simpler. */ -+ char *astorage = alloca(cif->nargs * MAXCOPYARG); -+ void *rvalue; -+ call_builder cb; -+ int return_by_ref; -+ int i; -+ -+ cb.aregs = aregs; -+ cb.used_integer = cb.used_float = 0; -+ cb.used_stack = stack; -+ -+ return_by_ref = passed_by_ref(&cb, cif->rtype, 0); -+ if (return_by_ref) -+ unmarshal(&cb, &ffi_type_pointer, 0, &rvalue); -+ else -+ rvalue = alloca(cif->rtype->size); -+ -+ for (i = 0; i < cif->nargs; i++) -+ avalue[i] = unmarshal(&cb, cif->arg_types[i], -+ i >= cif->riscv_nfixedargs, astorage + i*MAXCOPYARG); -+ -+ (closure->fun)(cif, rvalue, avalue, closure->user_data); -+ -+ if (!return_by_ref && cif->rtype->type != FFI_TYPE_VOID) { -+ cb.used_integer = cb.used_float = 0; -+ marshal(&cb, cif->rtype, 0, rvalue); -+ } -+} -diff --git a/src/riscv/ffitarget.h b/src/riscv/ffitarget.h -new file mode 100644 -index 0000000..fcaa899 ---- /dev/null -+++ b/src/riscv/ffitarget.h -@@ -0,0 +1,68 @@ -+/* -----------------------------------------------------------------*-C-*- -+ ffitarget.h - 2014 Michael Knyszek -+ -+ Target configuration macros for RISC-V. -+ -+ Permission is hereby granted, free of charge, to any person obtaining -+ a copy of this software and associated documentation files (the -+ ``Software''), to deal in the Software without restriction, including -+ without limitation the rights to use, copy, modify, merge, publish, -+ distribute, sublicense, and/or sell copies of the Software, and to -+ permit persons to whom the Software is furnished to do so, subject to -+ the following conditions: -+ -+ The above copyright notice and this permission notice shall be included -+ in all copies or substantial portions of the Software. -+ -+ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, -+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -+ DEALINGS IN THE SOFTWARE. -+ -+ ----------------------------------------------------------------------- */ -+ -+#ifndef LIBFFI_TARGET_H -+#define LIBFFI_TARGET_H -+ -+#ifndef LIBFFI_H -+#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." -+#endif -+ -+#ifndef __riscv -+#error "libffi was configured for a RISC-V target but this does not appear to be a RISC-V compiler." -+#endif -+ -+#ifndef LIBFFI_ASM -+ -+typedef unsigned long ffi_arg; -+typedef signed long ffi_sarg; -+ -+/* FFI_UNUSED_NN and riscv_unused are to maintain ABI compatibility with a -+ distributed Berkeley patch from 2014, and can be removed at SONAME bump */ -+typedef enum ffi_abi { -+ FFI_FIRST_ABI = 0, -+ FFI_SYSV, -+ FFI_UNUSED_1, -+ FFI_UNUSED_2, -+ FFI_UNUSED_3, -+ FFI_LAST_ABI, -+ -+ FFI_DEFAULT_ABI = FFI_SYSV -+} ffi_abi; -+ -+#endif /* LIBFFI_ASM */ -+ -+/* ---- Definitions for closures ----------------------------------------- */ -+ -+#define FFI_CLOSURES 1 -+#define FFI_TRAMPOLINE_SIZE 24 -+#define FFI_NATIVE_RAW_API 0 -+#define FFI_EXTRA_CIF_FIELDS unsigned riscv_nfixedargs; unsigned riscv_unused; -+#define FFI_TARGET_SPECIFIC_VARIADIC -+ -+#endif -+ -diff --git a/src/riscv/sysv.S b/src/riscv/sysv.S -new file mode 100644 -index 0000000..2d09865 ---- /dev/null -+++ b/src/riscv/sysv.S -@@ -0,0 +1,214 @@ -+/* ----------------------------------------------------------------------- -+ ffi.c - Copyright (c) 2015 Michael Knyszek <mknyszek@berkeley.edu> -+ 2015 Andrew Waterman <waterman@cs.berkeley.edu> -+ 2018 Stef O'Rear <sorear2@gmail.com> -+ -+ RISC-V Foreign Function Interface -+ -+ Permission is hereby granted, free of charge, to any person obtaining -+ a copy of this software and associated documentation files (the -+ ``Software''), to deal in the Software without restriction, including -+ without limitation the rights to use, copy, modify, merge, publish, -+ distribute, sublicense, and/or sell copies of the Software, and to -+ permit persons to whom the Software is furnished to do so, subject to -+ the following conditions: -+ -+ The above copyright notice and this permission notice shall be included -+ in all copies or substantial portions of the Software. -+ -+ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, -+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -+ DEALINGS IN THE SOFTWARE. -+ ----------------------------------------------------------------------- */ -+ -+#define LIBFFI_ASM -+#include <fficonfig.h> -+#include <ffi.h> -+ -+/* Define aliases so that we can handle all ABIs uniformly */ -+ -+#if __SIZEOF_POINTER__ == 8 -+#define PTRS 8 -+#define LARG ld -+#define SARG sd -+#else -+#define PTRS 4 -+#define LARG lw -+#define SARG sw -+#endif -+ -+#if __riscv_float_abi_double -+#define FLTS 8 -+#define FLARG fld -+#define FSARG fsd -+#elif __riscv_float_abi_single -+#define FLTS 4 -+#define FLARG flw -+#define FSARG fsw -+#else -+#define FLTS 0 -+#endif -+ -+#define fp s0 -+ -+ .text -+ .globl ffi_call_asm -+ .type ffi_call_asm, @function -+ .hidden ffi_call_asm -+/* -+ struct call_context { -+ floatreg fa[8]; -+ intreg a[8]; -+ intreg pad[rv32 ? 2 : 0]; -+ intreg save_fp, save_ra; -+ } -+ void ffi_call_asm(size_t *stackargs, struct call_context *regargs, -+ void (*fn)(void)); -+*/ -+ -+#define FRAME_LEN (8 * FLTS + 8 * PTRS + 16) -+ -+ffi_call_asm: -+ .cfi_startproc -+ -+ /* -+ We are NOT going to set up an ordinary stack frame. In order to pass -+ the stacked args to the called function, we adjust our stack pointer to -+ a0, which is in the _caller's_ alloca area. We establish our own stack -+ frame at the end of the call_context. -+ -+ Anything below the arguments will be freed at this point, although we -+ preserve the call_context so that it can be read back in the caller. -+ */ -+ -+ .cfi_def_cfa 11, FRAME_LEN # interim CFA based on a1 -+ SARG fp, FRAME_LEN - 2*PTRS(a1) -+ .cfi_offset 8, -2*PTRS -+ SARG ra, FRAME_LEN - 1*PTRS(a1) -+ .cfi_offset 1, -1*PTRS -+ -+ addi fp, a1, FRAME_LEN -+ mv sp, a0 -+ .cfi_def_cfa 8, 0 # our frame is fully set up -+ -+ # Load arguments -+ mv t1, a2 -+ -+#if FLTS -+ FLARG fa0, -FRAME_LEN+0*FLTS(fp) -+ FLARG fa1, -FRAME_LEN+1*FLTS(fp) -+ FLARG fa2, -FRAME_LEN+2*FLTS(fp) -+ FLARG fa3, -FRAME_LEN+3*FLTS(fp) -+ FLARG fa4, -FRAME_LEN+4*FLTS(fp) -+ FLARG fa5, -FRAME_LEN+5*FLTS(fp) -+ FLARG fa6, -FRAME_LEN+6*FLTS(fp) -+ FLARG fa7, -FRAME_LEN+7*FLTS(fp) -+#endif -+ -+ LARG a0, -FRAME_LEN+8*FLTS+0*PTRS(fp) -+ LARG a1, -FRAME_LEN+8*FLTS+1*PTRS(fp) -+ LARG a2, -FRAME_LEN+8*FLTS+2*PTRS(fp) -+ LARG a3, -FRAME_LEN+8*FLTS+3*PTRS(fp) -+ LARG a4, -FRAME_LEN+8*FLTS+4*PTRS(fp) -+ LARG a5, -FRAME_LEN+8*FLTS+5*PTRS(fp) -+ LARG a6, -FRAME_LEN+8*FLTS+6*PTRS(fp) -+ LARG a7, -FRAME_LEN+8*FLTS+7*PTRS(fp) -+ -+ /* Call */ -+ jalr t1 -+ -+ /* Save return values - only a0/a1 (fa0/fa1) are used */ -+#if FLTS -+ FSARG fa0, -FRAME_LEN+0*FLTS(fp) -+ FSARG fa1, -FRAME_LEN+1*FLTS(fp) -+#endif -+ -+ SARG a0, -FRAME_LEN+8*FLTS+0*PTRS(fp) -+ SARG a1, -FRAME_LEN+8*FLTS+1*PTRS(fp) -+ -+ /* Restore and return */ -+ addi sp, fp, -FRAME_LEN -+ .cfi_def_cfa 2, FRAME_LEN -+ LARG ra, -1*PTRS(fp) -+ .cfi_restore 1 -+ LARG fp, -2*PTRS(fp) -+ .cfi_restore 8 -+ ret -+ .cfi_endproc -+ .size ffi_call_asm, .-ffi_call_asm -+ -+ -+/* -+ ffi_closure_asm. Expects address of the passed-in ffi_closure in t1. -+ void ffi_closure_inner(size_t *stackargs, struct call_context *regargs, -+ ffi_closure *closure); -+*/ -+ -+ .globl ffi_closure_asm -+ .hidden ffi_closure_asm -+ .type ffi_closure_asm, @function -+ffi_closure_asm: -+ .cfi_startproc -+ -+ addi sp, sp, -FRAME_LEN -+ .cfi_def_cfa_offset FRAME_LEN -+ -+ /* make a frame */ -+ SARG fp, FRAME_LEN - 2*PTRS(sp) -+ .cfi_offset 8, -2*PTRS -+ SARG ra, FRAME_LEN - 1*PTRS(sp) -+ .cfi_offset 1, -1*PTRS -+ addi fp, sp, FRAME_LEN -+ -+ /* save arguments */ -+#if FLTS -+ FSARG fa0, 0*FLTS(sp) -+ FSARG fa1, 1*FLTS(sp) -+ FSARG fa2, 2*FLTS(sp) -+ FSARG fa3, 3*FLTS(sp) -+ FSARG fa4, 4*FLTS(sp) -+ FSARG fa5, 5*FLTS(sp) -+ FSARG fa6, 6*FLTS(sp) -+ FSARG fa7, 7*FLTS(sp) -+#endif -+ -+ SARG a0, 8*FLTS+0*PTRS(sp) -+ SARG a1, 8*FLTS+1*PTRS(sp) -+ SARG a2, 8*FLTS+2*PTRS(sp) -+ SARG a3, 8*FLTS+3*PTRS(sp) -+ SARG a4, 8*FLTS+4*PTRS(sp) -+ SARG a5, 8*FLTS+5*PTRS(sp) -+ SARG a6, 8*FLTS+6*PTRS(sp) -+ SARG a7, 8*FLTS+7*PTRS(sp) -+ -+ /* enter C */ -+ addi a0, sp, FRAME_LEN -+ mv a1, sp -+ mv a2, t1 -+ -+ call ffi_closure_inner -+ -+ /* return values */ -+#if FLTS -+ FLARG fa0, 0*FLTS(sp) -+ FLARG fa1, 1*FLTS(sp) -+#endif -+ -+ LARG a0, 8*FLTS+0*PTRS(sp) -+ LARG a1, 8*FLTS+1*PTRS(sp) -+ -+ /* restore and return */ -+ LARG ra, FRAME_LEN-1*PTRS(sp) -+ .cfi_restore 1 -+ LARG fp, FRAME_LEN-2*PTRS(sp) -+ .cfi_restore 8 -+ addi sp, sp, FRAME_LEN -+ .cfi_def_cfa_offset 0 -+ ret -+ .cfi_endproc -+ .size ffi_closure_asm, .-ffi_closure_asm diff --git a/poky/meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch b/poky/meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch deleted file mode 100644 index 6b167c8421..0000000000 --- a/poky/meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 69c3906c85c791716bf650aa36d9361d22acf3fb Mon Sep 17 00:00:00 2001 -From: sweeaun <swee.aun.khor@intel.com> -Date: Thu, 6 Jul 2017 16:32:46 -0700 -Subject: [PATCH] libffi: Support musl x32 build - -Support libffi build with target musl-x32. - -Upstream-Status: Pending - -Signed-off-by: sweeaun <swee.aun.khor@intel.com> ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index a7bf5ee..8ebe99c 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -177,7 +177,7 @@ case "$host" in - TARGETDIR=x86 - if test $ac_cv_sizeof_size_t = 4; then - case "$host" in -- *-gnux32) -+ *-gnux32 | *-muslx32) - TARGET=X86_64 - ;; - *) --- -2.7.4 - diff --git a/poky/meta/recipes-support/libffi/libffi/0001-mips-Use-compiler-internal-define-for-linux.patch b/poky/meta/recipes-support/libffi/libffi/0001-mips-Use-compiler-internal-define-for-linux.patch deleted file mode 100644 index db96e63547..0000000000 --- a/poky/meta/recipes-support/libffi/libffi/0001-mips-Use-compiler-internal-define-for-linux.patch +++ /dev/null @@ -1,32 +0,0 @@ -From a5efaa96fd934eb245c234a5275fcf62698ef986 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Thu, 2 Apr 2015 21:38:03 -0700 -Subject: [PATCH] mips: Use compiler internal define for linux - -__linux__ is defined by compiler when building for -linux platforms, lets use it - - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - src/mips/ffitarget.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/mips/ffitarget.h b/src/mips/ffitarget.h -index 717d659..6faa358 100644 ---- a/src/mips/ffitarget.h -+++ b/src/mips/ffitarget.h -@@ -32,7 +32,7 @@ - #error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." - #endif - --#ifdef linux -+#ifdef __linux__ - # include <asm/sgidefs.h> - #elif defined(__rtems__) - /* --- -2.1.4 - diff --git a/poky/meta/recipes-support/libffi/libffi/0001-mips-fix-MIPS-softfloat-build-issue.patch b/poky/meta/recipes-support/libffi/libffi/0001-mips-fix-MIPS-softfloat-build-issue.patch deleted file mode 100644 index 61c9eb31d1..0000000000 --- a/poky/meta/recipes-support/libffi/libffi/0001-mips-fix-MIPS-softfloat-build-issue.patch +++ /dev/null @@ -1,177 +0,0 @@ -From 655e82c92d5c3875aee04322f1993d6b0774a7bf Mon Sep 17 00:00:00 2001 -From: Yousong Zhou <yszhou4tech@gmail.com> -Date: Mon, 15 Aug 2016 15:00:13 +0800 -Subject: [PATCH] mips: fix MIPS softfloat build issue - -The patch for o32.S is taken from OpenWrt packages repo 3a7a4bf "libffi: -fix MIPS softfloat build issue with current binutils" - -Signed-off-by: Felix Fietkau <nbd@openwrt.org> -Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com> ---- -Upstream-Status: Backport [https://github.com/libffi/libffi/commit/2ded2a4f494165c93293afc14ab0be1243cf8c49] - src/mips/n32.S | 17 +++++++++++++++++ - src/mips/o32.S | 17 +++++++++++++++++ - 2 files changed, 34 insertions(+) - -diff --git a/src/mips/n32.S b/src/mips/n32.S -index c6985d3..8f25994 100644 ---- a/src/mips/n32.S -+++ b/src/mips/n32.S -@@ -107,6 +107,16 @@ loadregs: - - REG_L t6, 3*FFI_SIZEOF_ARG($fp) # load the flags word into t6. - -+#ifdef __mips_soft_float -+ REG_L a0, 0*FFI_SIZEOF_ARG(t9) -+ REG_L a1, 1*FFI_SIZEOF_ARG(t9) -+ REG_L a2, 2*FFI_SIZEOF_ARG(t9) -+ REG_L a3, 3*FFI_SIZEOF_ARG(t9) -+ REG_L a4, 4*FFI_SIZEOF_ARG(t9) -+ REG_L a5, 5*FFI_SIZEOF_ARG(t9) -+ REG_L a6, 6*FFI_SIZEOF_ARG(t9) -+ REG_L a7, 7*FFI_SIZEOF_ARG(t9) -+#else - and t4, t6, ((1<<FFI_FLAG_BITS)-1) - REG_L a0, 0*FFI_SIZEOF_ARG(t9) - beqz t4, arg1_next -@@ -193,6 +203,7 @@ arg7_next: - arg8_doublep: - l.d $f19, 7*FFI_SIZEOF_ARG(t9) - arg8_next: -+#endif - - callit: - # Load the function pointer -@@ -214,6 +225,7 @@ retint: - b epilogue - - retfloat: -+#ifndef __mips_soft_float - bne t6, FFI_TYPE_FLOAT, retdouble - jal t9 - REG_L t4, 4*FFI_SIZEOF_ARG($fp) -@@ -272,6 +284,7 @@ retstruct_f_d: - s.s $f0, 0(t4) - s.d $f2, 8(t4) - b epilogue -+#endif - - retstruct_d_soft: - bne t6, FFI_TYPE_STRUCT_D_SOFT, retstruct_f_soft -@@ -429,6 +442,7 @@ ffi_closure_N32: - REG_S a6, A6_OFF2($sp) - REG_S a7, A7_OFF2($sp) - -+#ifndef __mips_soft_float - # Store all possible float/double registers. - s.d $f12, F12_OFF2($sp) - s.d $f13, F13_OFF2($sp) -@@ -438,6 +452,7 @@ ffi_closure_N32: - s.d $f17, F17_OFF2($sp) - s.d $f18, F18_OFF2($sp) - s.d $f19, F19_OFF2($sp) -+#endif - - # Call ffi_closure_mips_inner_N32 to do the real work. - LA t9, ffi_closure_mips_inner_N32 -@@ -458,6 +473,7 @@ cls_retint: - b cls_epilogue - - cls_retfloat: -+#ifndef __mips_soft_float - bne v0, FFI_TYPE_FLOAT, cls_retdouble - l.s $f0, V0_OFF2($sp) - b cls_epilogue -@@ -500,6 +516,7 @@ cls_retstruct_f_d: - l.s $f0, V0_OFF2($sp) - l.d $f2, V1_OFF2($sp) - b cls_epilogue -+#endif - - cls_retstruct_small2: - REG_L v0, V0_OFF2($sp) -diff --git a/src/mips/o32.S b/src/mips/o32.S -index eb27981..429dd0a 100644 ---- a/src/mips/o32.S -+++ b/src/mips/o32.S -@@ -82,13 +82,16 @@ sixteen: - - ADDU $sp, 4 * FFI_SIZEOF_ARG # adjust $sp to new args - -+#ifndef __mips_soft_float - bnez t0, pass_d # make it quick for int -+#endif - REG_L a0, 0*FFI_SIZEOF_ARG($sp) # just go ahead and load the - REG_L a1, 1*FFI_SIZEOF_ARG($sp) # four regs. - REG_L a2, 2*FFI_SIZEOF_ARG($sp) - REG_L a3, 3*FFI_SIZEOF_ARG($sp) - b call_it - -+#ifndef __mips_soft_float - pass_d: - bne t0, FFI_ARGS_D, pass_f - l.d $f12, 0*FFI_SIZEOF_ARG($sp) # load $fp regs from args -@@ -130,6 +133,7 @@ pass_f_d: - # bne t0, FFI_ARGS_F_D, call_it - l.s $f12, 0*FFI_SIZEOF_ARG($sp) # load $fp regs from args - l.d $f14, 2*FFI_SIZEOF_ARG($sp) # passing double and float -+#endif - - call_it: - # Load the function pointer -@@ -158,14 +162,23 @@ retfloat: - bne t2, FFI_TYPE_FLOAT, retdouble - jalr t9 - REG_L t0, SIZEOF_FRAME + 4*FFI_SIZEOF_ARG($fp) -+#ifndef __mips_soft_float - s.s $f0, 0(t0) -+#else -+ REG_S v0, 0(t0) -+#endif - b epilogue - - retdouble: - bne t2, FFI_TYPE_DOUBLE, noretval - jalr t9 - REG_L t0, SIZEOF_FRAME + 4*FFI_SIZEOF_ARG($fp) -+#ifndef __mips_soft_float - s.d $f0, 0(t0) -+#else -+ REG_S v1, 4(t0) -+ REG_S v0, 0(t0) -+#endif - b epilogue - - noretval: -@@ -261,9 +274,11 @@ $LCFI7: - li $13, 1 # FFI_O32 - bne $16, $13, 1f # Skip fp save if FFI_O32_SOFT_FLOAT - -+#ifndef __mips_soft_float - # Store all possible float/double registers. - s.d $f12, FA_0_0_OFF2($fp) - s.d $f14, FA_1_0_OFF2($fp) -+#endif - 1: - # Call ffi_closure_mips_inner_O32 to do the work. - la t9, ffi_closure_mips_inner_O32 -@@ -281,6 +296,7 @@ $LCFI7: - li $13, 1 # FFI_O32 - bne $16, $13, 1f # Skip fp restore if FFI_O32_SOFT_FLOAT - -+#ifndef __mips_soft_float - li $9, FFI_TYPE_FLOAT - l.s $f0, V0_OFF2($fp) - beq $8, $9, closure_done -@@ -288,6 +304,7 @@ $LCFI7: - li $9, FFI_TYPE_DOUBLE - l.d $f0, V0_OFF2($fp) - beq $8, $9, closure_done -+#endif - 1: - REG_L $3, V1_OFF2($fp) - REG_L $2, V0_OFF2($fp) --- -2.9.3 - diff --git a/poky/meta/recipes-support/libffi/libffi/not-win32.patch b/poky/meta/recipes-support/libffi/libffi/not-win32.patch index 80c40a4742..86a7fc9e40 100644 --- a/poky/meta/recipes-support/libffi/libffi/not-win32.patch +++ b/poky/meta/recipes-support/libffi/libffi/not-win32.patch @@ -11,12 +11,10 @@ As this block is generally pointless, disable it. Upstream-Status: Inappropriate Signed-off-by: Ross Burton <ross.burton@intel.com> -Index: libffi-3.2.1/configure.ac -=================================================================== ---- libffi-3.2.1.orig/configure.ac -+++ libffi-3.2.1/configure.ac -@@ -592,7 +592,7 @@ AC_ARG_ENABLE(purify-safety, - +--- a/configure.ac ++++ b/configure.ac +@@ -350,7 +350,7 @@ AC_ARG_ENABLE(multi-os-directory, + # These variables are only ever used when we cross-build to X86_WIN32. # And we only support this with GCC, so... -if test "x$GCC" = "xyes"; then diff --git a/poky/meta/recipes-support/libffi/libffi_3.2.1.bb b/poky/meta/recipes-support/libffi/libffi_3.3~rc0.bb index f2c684a7a6..dadde0b2a0 100644 --- a/poky/meta/recipes-support/libffi/libffi_3.2.1.bb +++ b/poky/meta/recipes-support/libffi/libffi_3.3~rc0.bb @@ -10,20 +10,21 @@ A layer must exist above `libffi' that handles type conversions for values passe LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=3610bb17683a0089ed64055416b2ae1b" -SRC_URI = "https://sourceware.org/pub/libffi/${BP}.tar.gz \ +SRC_URI = "https://github.com/libffi/libffi/releases/download/v3.3-rc0/libffi-3.3-rc0.tar.gz \ file://not-win32.patch \ - file://0001-mips-Use-compiler-internal-define-for-linux.patch \ - file://0001-mips-fix-MIPS-softfloat-build-issue.patch \ - file://0001-libffi-Support-musl-x32-build.patch \ - file://0001-New-RISC-V-port-281.patch \ " - -SRC_URI[md5sum] = "83b89587607e3eb65c70d361f13bab43" -SRC_URI[sha256sum] = "d06ebb8e1d9a22d19e38d63fdb83954253f39bedc5d46232a05645685722ca37" +SRC_URI[md5sum] = "8d2a82a78faf10a5e53c27d986e8f04e" +SRC_URI[sha256sum] = "403d67aabf1c05157855ea2b1d9950263fb6316536c8c333f5b9ab1eb2f20ecf" EXTRA_OECONF += "--disable-builddir" EXTRA_OEMAKE_class-target = "LIBTOOLFLAGS='--tag=CC'" -inherit autotools texinfo +inherit autotools texinfo multilib_header + +S = "${WORKDIR}/${BPN}-3.3-rc0" + +do_install_append() { + oe_multilib_header ffi.h +} FILES_${PN}-dev += "${libdir}/libffi-${PV}" diff --git a/poky/meta/recipes-support/libunwind/libunwind.inc b/poky/meta/recipes-support/libunwind/libunwind.inc index 36851d07ed..5726589661 100644 --- a/poky/meta/recipes-support/libunwind/libunwind.inc +++ b/poky/meta/recipes-support/libunwind/libunwind.inc @@ -2,7 +2,7 @@ SUMMARY = "Library for obtaining the call-chain of a program" DESCRIPTION = "a portable and efficient C programming interface (API) to determine the call-chain of a program" HOMEPAGE = "http://www.nongnu.org/libunwind" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;beginline=3;md5=3fced11d6df719b47505837a51c16ae5" +LIC_FILES_CHKSUM = "file://COPYING;md5=2d80c8ed4062b8339b715f90fa68cc9f" DEPENDS += "libatomic-ops" inherit autotools multilib_header diff --git a/poky/meta/recipes-support/lz4/lz4_1.9.1.bb b/poky/meta/recipes-support/lz4/lz4_1.9.2.bb index de1f970247..f0a8416a96 100644 --- a/poky/meta/recipes-support/lz4/lz4_1.9.1.bb +++ b/poky/meta/recipes-support/lz4/lz4_1.9.2.bb @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://lib/LICENSE;md5=ebc2ea4814a64de7708f1571904b32cc \ PE = "1" -SRCREV = "398e36c756a3067de8e2b35dd380baef040dfe0d" +SRCREV = "fdf2ef5809ca875c454510610764d9125ef2ebbd" SRC_URI = "git://github.com/lz4/lz4.git \ file://run-ptest \ diff --git a/poky/scripts/lib/checklayer/__init__.py b/poky/scripts/lib/checklayer/__init__.py index 8244cf0720..5aeec2f00f 100644 --- a/poky/scripts/lib/checklayer/__init__.py +++ b/poky/scripts/lib/checklayer/__init__.py @@ -245,7 +245,7 @@ def get_signatures(builddir, failsafe=False, machine=None): sigs = {} tune2tasks = {} - cmd = '' + cmd = 'BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE BB_SIGNATURE_HANDLER" BB_SIGNATURE_HANDLER="OEBasicHash" ' if machine: cmd += 'MACHINE=%s ' % machine cmd += 'bitbake ' diff --git a/poky/scripts/lib/devtool/build.py b/poky/scripts/lib/devtool/build.py index 7543398d96..935ffab46c 100644 --- a/poky/scripts/lib/devtool/build.py +++ b/poky/scripts/lib/devtool/build.py @@ -11,7 +11,8 @@ import bb import logging import argparse import tempfile -from devtool import exec_build_env_command, check_workspace_recipe, DevtoolError +from devtool import exec_build_env_command, setup_tinfoil, check_workspace_recipe, DevtoolError +from devtool import parse_recipe logger = logging.getLogger('devtool') @@ -43,12 +44,22 @@ def _get_build_tasks(config): def build(args, config, basepath, workspace): """Entry point for the devtool 'build' subcommand""" workspacepn = check_workspace_recipe(workspace, args.recipename, bbclassextend=True) + tinfoil = setup_tinfoil(config_only=False, basepath=basepath) + try: + rd = parse_recipe(config, tinfoil, args.recipename, appends=True, filter_workspace=False) + if not rd: + return 1 + deploytask = 'do_deploy' in rd.getVar('__BBTASKS') + finally: + tinfoil.shutdown() if args.clean: # use clean instead of cleansstate to avoid messing things up in eSDK build_tasks = ['do_clean'] else: build_tasks = _get_build_tasks(config) + if deploytask: + build_tasks.append('do_deploy') bbappend = workspace[workspacepn]['bbappend'] if args.disable_parallel_make: diff --git a/poky/scripts/lib/resulttool/report.py b/poky/scripts/lib/resulttool/report.py index a48c59f632..f706280aa7 100644 --- a/poky/scripts/lib/resulttool/report.py +++ b/poky/scripts/lib/resulttool/report.py @@ -203,8 +203,22 @@ class ResultsTextReport(object): testresults = resultutils.load_resultsdata(source_dir) for testsuite in testresults: for resultid in testresults[testsuite]: + skip = False result = testresults[testsuite][resultid] machine = result['configuration']['MACHINE'] + + # Check to see if there is already results for these kinds of tests for the machine + for key in result['result'].keys(): + testtype = str(key).split('.')[0] + if ((machine in self.ptests and testtype == "ptestresult" and self.ptests[machine]) or + (machine in self.ltptests and testtype == "ltpiresult" and self.ltptests[machine]) or + (machine in self.ltpposixtests and testtype == "ltpposixresult" and self.ltpposixtests[machine])): + print("Already have test results for %s on %s, skipping %s" %(str(key).split('.')[0], machine, resultid)) + skip = True + break + if skip: + break + test_count_report = self.get_aggregated_test_result(logger, result, machine) test_count_report['machine'] = machine test_count_report['testseries'] = result['configuration']['TESTSERIES'] diff --git a/poky/scripts/runqemu b/poky/scripts/runqemu index df3c8aad08..e9b83737cb 100755 --- a/poky/scripts/runqemu +++ b/poky/scripts/runqemu @@ -59,6 +59,7 @@ def print_usage(): Usage: you can run this script with any valid combination of the following environment variables (in any order): KERNEL - the kernel image file to use + BIOS - the bios image file to use ROOTFS - the rootfs image file or nfsroot directory to use DEVICE_TREE - the device tree blob to use MACHINE - the machine name (optional, autodetected from KERNEL filename if unspecified) @@ -77,8 +78,6 @@ of the following environment variables (in any order): audio - enable audio [*/]ovmf* - OVMF firmware file or base name for booting with UEFI tcpserial=<port> - specify tcp serial port number - biosdir=<dir> - specify custom bios dir - biosfilename=<filename> - specify bios filename qemuparams=<xyz> - specify custom parameters to QEMU bootparams=<xyz> - specify custom kernel parameters during boot help, -h, --help: print this text @@ -129,6 +128,7 @@ class BaseConfig(object): self.env_vars = ('MACHINE', 'ROOTFS', 'KERNEL', + 'BIOS', 'DEVICE_TREE', 'DEPLOY_DIR_IMAGE', 'OE_TMPDIR', @@ -155,6 +155,7 @@ class BaseConfig(object): self.qemuboot = '' self.qbconfload = False self.kernel = '' + self.bios = '' self.kernel_cmdline = '' self.kernel_cmdline_script = '' self.bootparams = '' @@ -171,7 +172,6 @@ class BaseConfig(object): self.saved_stty = '' self.audio_enabled = False self.tcpserial_portnum = '' - self.custombiosdir = '' self.taplock = '' self.taplock_descriptor = None self.portlocks = {} @@ -480,10 +480,6 @@ class BaseConfig(object): self.qemu_opt_script += ' -vnc :0' elif arg.startswith('tcpserial='): self.tcpserial_portnum = '%s' % arg[len('tcpserial='):] - elif arg.startswith('biosdir='): - self.custombiosdir = arg[len('biosdir='):] - elif arg.startswith('biosfilename='): - self.qemu_opt_script += ' -bios %s' % arg[len('biosfilename='):] elif arg.startswith('qemuparams='): self.qemuparams = ' %s' % arg[len('qemuparams='):] elif arg.startswith('bootparams='): @@ -725,25 +721,30 @@ class BaseConfig(object): if not os.path.exists(self.dtb): raise RunQemuError('DTB not found: %s, %s or %s' % cmds) - def check_biosdir(self): - """Check custombiosdir""" - if not self.custombiosdir: + def check_bios(self): + """Check and set bios""" + + # See if the user supplied a BIOS option + if self.get('BIOS'): + self.bios = self.get('BIOS') + + # QB_DEFAULT_BIOS is always a full file path + bios_name = os.path.basename(self.get('QB_DEFAULT_BIOS')) + + # The user didn't want a bios to be loaded + if (bios_name == "" or bios_name == "none") and not self.bios: return - biosdir = "" - biosdir_native = "%s/%s" % (self.get('STAGING_DIR_NATIVE'), self.custombiosdir) - biosdir_host = "%s/%s" % (self.get('STAGING_DIR_HOST'), self.custombiosdir) - for i in (self.custombiosdir, biosdir_native, biosdir_host): - if os.path.isdir(i): - biosdir = i - break + if not self.bios: + deploy_dir_image = self.get('DEPLOY_DIR_IMAGE') + self.bios = "%s/%s" % (deploy_dir_image, bios_name) + + if not self.bios: + raise RunQemuError('BIOS not found: %s' % bios_match_name) + + if not os.path.exists(self.bios): + raise RunQemuError("KERNEL %s not found" % self.bios) - if biosdir: - logger.debug("Assuming biosdir is: %s" % biosdir) - self.qemu_opt_script += ' -L %s' % biosdir - else: - logger.error("Custom BIOS directory not found. Tried: %s, %s, and %s" % (self.custombiosdir, biosdir_native, biosdir_host)) - raise RunQemuError("Invalid custombiosdir: %s" % self.custombiosdir) def check_mem(self): """ @@ -811,7 +812,7 @@ class BaseConfig(object): self.check_ovmf() self.check_kernel() self.check_dtb() - self.check_biosdir() + self.check_bios() self.check_mem() self.check_tcpserial() @@ -923,6 +924,8 @@ class BaseConfig(object): logger.info('Continuing with the following parameters:\n') if not self.fstype in self.vmtypes: print('KERNEL: [%s]' % self.kernel) + if self.bios: + print('BIOS: [%s]' % self.bios) if self.dtb: print('DTB: [%s]' % self.dtb) print('MACHINE: [%s]' % self.get('MACHINE')) @@ -1339,6 +1342,8 @@ class BaseConfig(object): kernel_opts = "-kernel %s -append '%s %s %s %s'" % (self.kernel, self.kernel_cmdline, self.kernel_cmdline_script, self.get('QB_KERNEL_CMDLINE_APPEND'), self.bootparams) + if self.bios: + kernel_opts += " -bios %s" % self.bios if self.dtb: kernel_opts += " -dtb %s" % self.dtb else: |