diff options
author | Ben Kohler <bkohler@gentoo.org> | 2021-12-15 12:58:55 -0600 |
---|---|---|
committer | Ben Kohler <bkohler@gentoo.org> | 2021-12-15 12:59:53 -0600 |
commit | c14a13e3a42edffe77d3472c81ab803f0f203d30 (patch) | |
tree | adfdc891864793d2012262408faf3c7b41581025 /sys-apps/memtest86+ | |
parent | dev-libs/libinput: Bump to version 1.19.3 (diff) | |
download | gentoo-c14a13e3a42edffe77d3472c81ab803f0f203d30.tar.gz gentoo-c14a13e3a42edffe77d3472c81ab803f0f203d30.tar.bz2 gentoo-c14a13e3a42edffe77d3472c81ab803f0f203d30.zip |
sys-apps/memtest86+: add fix from suse
Closes: https://bugs.gentoo.org/339691
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Ben Kohler <bkohler@gentoo.org>
Diffstat (limited to 'sys-apps/memtest86+')
-rw-r--r-- | sys-apps/memtest86+/files/memtest86+-5.31b-discard-note_gnu_property.patch | 23 | ||||
-rw-r--r-- | sys-apps/memtest86+/memtest86+-5.31b-r3.ebuild | 117 |
2 files changed, 140 insertions, 0 deletions
diff --git a/sys-apps/memtest86+/files/memtest86+-5.31b-discard-note_gnu_property.patch b/sys-apps/memtest86+/files/memtest86+-5.31b-discard-note_gnu_property.patch new file mode 100644 index 000000000000..e24ad4318f37 --- /dev/null +++ b/sys-apps/memtest86+/files/memtest86+-5.31b-discard-note_gnu_property.patch @@ -0,0 +1,23 @@ +--- a/Makefile 2021-12-04 15:15:45.845429722 +0100 ++++ b/Makefile 2021-12-04 15:22:51.924755794 +0100 +@@ -11,9 +11,9 @@ + OBJCOPY=objcopy + + CFLAGS= -Wall -Werror -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin \ +- -ffreestanding -fPIC $(SMP_FL) -fno-stack-protector ++ -ffreestanding -fPIC $(SMP_FL) -fno-stack-protector -Wa,-mx86-used-note=no + CPPFLAGS= -m32 +-ASFLAGS= -32 ++ASFLAGS= -32 -mx86-used-note=no + + SELF_TEST_CFLAGS = -Wall -Werror -march=i486 -m32 -O1 -g + +--- a/memtest.bin.lds 2020-04-12 17:14:51.000000000 +0200 ++++ b/memtest.bin.lds 2021-12-04 14:54:33.178625382 +0100 +@@ -11,5 +11,6 @@ + *(.data) + _end = . ; + } ++ /DISCARD/ : { *(.note.gnu.property) } + _syssize = (_end - _start + 15) >> 4; + } diff --git a/sys-apps/memtest86+/memtest86+-5.31b-r3.ebuild b/sys-apps/memtest86+/memtest86+-5.31b-r3.ebuild new file mode 100644 index 000000000000..2b8bb4cbb296 --- /dev/null +++ b/sys-apps/memtest86+/memtest86+-5.31b-r3.ebuild @@ -0,0 +1,117 @@ +# 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" + "${FILESDIR}/${P}-discard-note_gnu_property.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 + #613196 + use amd64 && sed -i -e's,$(LD) -s -T memtest.lds,$(LD) -s -T memtest.lds -z max-page-size=0x1000,' Makefile + 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:" + elog " - For grub2 just re-run grub-mkconfig -o /boot/grub/grub.cfg, since a" + elog " config generator has been installed at /etc/grub.d/39_${PN}" + elog " - For lilo, add the following to /etc/lilo.conf and re-run 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 + + if use boot && [ -e /sys/firmware/efi ]; then + ewarn "WARNING: You appear to be booted in EFI mode but ${PN} is a BIOS-only tool." + fi +} + +pkg_prerm() { + use boot && mount-boot_pkg_prerm +} + +pkg_postrm() { + use boot && mount-boot_pkg_postrm +} |