diff options
author | Ben Kohler <bkohler@gentoo.org> | 2021-09-16 09:33:55 -0500 |
---|---|---|
committer | Ben Kohler <bkohler@gentoo.org> | 2021-09-16 09:56:08 -0500 |
commit | 40197d77e025829d1bbfc3bb97cc3a327b81e7f3 (patch) | |
tree | b54a3b57b914d8cba071dfc5fe73f18d98c02a7f /sys-apps | |
parent | package.mask: specify date format (diff) | |
download | gentoo-40197d77e025829d1bbfc3bb97cc3a327b81e7f3.tar.gz gentoo-40197d77e025829d1bbfc3bb97cc3a327b81e7f3.tar.bz2 gentoo-40197d77e025829d1bbfc3bb97cc3a327b81e7f3.zip |
sys-apps/memtest86+: runtime fix for >=gcc-8
Bug: https://bugs.gentoo.org/675270
Package-Manager: Portage-3.0.23, Repoman-3.0.3
Signed-off-by: Ben Kohler <bkohler@gentoo.org>
Diffstat (limited to 'sys-apps')
-rw-r--r-- | sys-apps/memtest86+/files/memtest86+-5.31b-fix-gcc8-freeze-crash.patch | 12 | ||||
-rw-r--r-- | sys-apps/memtest86+/memtest86+-5.31b-r1.ebuild | 114 |
2 files changed, 126 insertions, 0 deletions
diff --git a/sys-apps/memtest86+/files/memtest86+-5.31b-fix-gcc8-freeze-crash.patch b/sys-apps/memtest86+/files/memtest86+-5.31b-fix-gcc8-freeze-crash.patch new file mode 100644 index 000000000000..44d11b76b344 --- /dev/null +++ b/sys-apps/memtest86+/files/memtest86+-5.31b-fix-gcc8-freeze-crash.patch @@ -0,0 +1,12 @@ +diff -ur memtest86+-5.31b/Makefile memtest86+-5.31b.new/Makefile +--- memtest86+-5.31b/Makefile 2021-09-16 09:27:24.401570971 -0500 ++++ memtest86+-5.31b.new/Makefile 2021-09-16 09:30:24.332704245 -0500 +@@ -64,6 +64,9 @@ + memsize.o: memsize.c + $(CC) -Wall -Werror -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC $(SMP_FL) -fno-stack-protector -c -o memsize.o memsize.c + ++test.o: test.c ++test.o: CFLAGS += -fno-strict-overflow ++ + random.o: random.c + random.o: CFLAGS += -O3 -fno-PIC
\ No newline at end of file diff --git a/sys-apps/memtest86+/memtest86+-5.31b-r1.ebuild b/sys-apps/memtest86+/memtest86+-5.31b-r1.ebuild new file mode 100644 index 000000000000..b56de8634e54 --- /dev/null +++ b/sys-apps/memtest86+/memtest86+-5.31b-r1.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit mount-boot toolchain-funcs + +DESCRIPTION="Memory tester based on memtest86" +HOMEPAGE="http://www.memtest.org/" +SRC_URI="http://www.memtest.org/download/${PV}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="+boot floppy iso serial" + +BOOTDIR="/boot/memtest86plus" +QA_PRESTRIPPED="${BOOTDIR#/}/memtest usr/share/${PN}/memtest" +QA_FLAGS_IGNORED="${BOOTDIR#/}/memtest usr/share/${PN}/memtest" + +RDEPEND="floppy? ( sys-fs/mtools )" +DEPEND="${RDEPEND}" +BDEPEND="iso? ( app-cdr/cdrtools )" + +PATCHES=( + "${FILESDIR}/${P}-gcc-473.patch" + "${FILESDIR}/${P}-hardcoded_cc.patch" + "${FILESDIR}/${P}-no-clean.patch" #557890 + "${FILESDIR}/${P}-objcopy.patch" + "${FILESDIR}/${P}-test-random-cflags.patch" #590974 + "${FILESDIR}/${P}-fix-gcc8-freeze-crash.patch" +) + +pkg_pretend() { + use boot && mount-boot_pkg_pretend +} + +src_prepare() { + sed -i -e 's,0x10000,0x100000,' memtest.lds || die + sed -i 's:genisoimage:mkisofs:' makeiso.sh || die + + if use serial ; then + sed -i -e '/^#define SERIAL_CONSOLE_DEFAULT/s:0:1:' \ + config.h || die "sed failed" + fi + default +} + +src_configure() { + tc-ld-disable-gold #580212 + tc-export AS CC LD +} + +src_compile() { + emake OBJCOPY="$(tc-getOBJCOPY)" + if use iso ; then + ./makeiso.sh || die + fi +} + +src_test() { :; } + +src_install() { + if use boot ; then + insinto "${BOOTDIR}" + doins memtest memtest.bin + fi + + insinto /usr/share/${PN} + use iso && newins mt*.iso memtest.iso + doins memtest memtest.bin + + exeinto /etc/grub.d + newexe "${FILESDIR}"/39_${PN}-r1 39_${PN} + + dodoc README README.build-process FAQ changelog + + if use floppy ; then + dobin "${FILESDIR}"/make-memtest86+-boot-floppy + doman "${FILESDIR}"/make-memtest86+-boot-floppy.1 + fi +} + +pkg_preinst() { + use boot && mount-boot_pkg_preinst +} + +pkg_postinst() { + if use boot; then + mount-boot_pkg_postinst + + elog "memtest86+ has been installed in ${BOOTDIR}/" + elog "You may wish to update your bootloader configs by adding these lines:" + elog " - For grub2 just run grub-mkconfig, a configuration file is installed" + elog " as /etc/grub.d/39_${PN}" + elog " - For grub legacy: (replace '?' with correct numbers for your boot partition)" + elog " > title=${PN}" + elog " > root (hd?,?)" + elog " > kernel ${BOOTDIR}/memtest.bin" + elog " - For lilo:" + elog " > image = ${BOOTDIR}/memtest.bin" + elog " > label = ${PN}" + elog "" + elog "Note: For older configs, you might have to change from 'memtest' to 'memtest.bin'." + fi +} + +pkg_prerm() { + use boot && mount-boot_pkg_prerm +} + +pkg_postrm() { + use boot && mount-boot_pkg_postrm +} |