Michał Górny
2024-05-08 11:42:35 +02:00
parent 05860c3b55
commit b584dd4922
10 changed files with 0 additions and 369 deletions

View File

@@ -1 +0,0 @@
DIST memtest86-4.3.7-src.tar.gz 125583 BLAKE2B ef74b599f5a0b3a550854c7aba12afcddd9e8115418d60e50aee2b1d83b5a838a7d747039cbdd542e1cc136dd5426e8e803f305147121d38edac1a3de814918f SHA512 f1cee9085e157b399869222310c65e8094c028565d2b21fe40fd485505b988d20cff49b2c56559181ac114c39089b60c6eacb9aa5d7652df78b3f8e7530cb644

View File

@@ -1,69 +0,0 @@
#!/bin/sh
. /usr/share/grub/grub-mkconfig_lib
memtest=/boot/memtest86/memtest.bin
memtestelf=/boot/memtest86/memtest
if [ -f "${memtest}" ] && [ -f "${memtestelf}" ]; then
multiple_memtest=true
fi
submenu_indentation=""
if [ "${multiple_memtest}" = "true" ] && [ "${GRUB_DISABLE_SUBMENU}" != "y" ]; then
submenu_indentation="${grub_tab}"
cat <<EOF
submenu 'Memtest86' {
EOF
fi
if [ -f "${memtest}" ]; then
gettext_printf "Found memtest image: %s\n" "${memtest}" >&2
device="$("${grub_probe}" --target=device "${memtest}")"
path="$(make_system_path_relative_to_its_root "${memtest}")"
cat <<EOF
${submenu_indentation}menuentry 'Memtest86' {
EOF
if [ -n "${submenu_indentation}" ]; then
prepare_grub_to_access_device "${device}" | grub_add_tab | grub_add_tab
else
prepare_grub_to_access_device "${device}" | grub_add_tab
fi
cat <<EOF
${submenu_indentation}linux16 "${path}"
${submenu_indentation}}
EOF
fi
if [ -f "${memtestelf}" ]; then
gettext_printf "Found memtest image: %s\n" "${memtestelf}" >&2
device="$("${grub_probe}" --target=device "${memtestelf}")"
path="$(make_system_path_relative_to_its_root "${memtestelf}")"
cat <<EOF
${submenu_indentation}menuentry 'Memtest86 (ELF)' {
EOF
if [ -n "${submenu_indentation}" ]; then
prepare_grub_to_access_device "${device}" | grub_add_tab | grub_add_tab
else
prepare_grub_to_access_device "${device}" | grub_add_tab
fi
# We use knetbsd as a lazy way of booting an ELF.
# It's not actually related to NetBSD at all.
cat <<EOF
${submenu_indentation}knetbsd "${path}"
${submenu_indentation}}
EOF
fi
if [ "${multiple_memtest}" = "true" ] && [ "${GRUB_DISABLE_SUBMENU}" != "y" ]; then
cat <<EOF
}
EOF
fi

View File

@@ -1,47 +0,0 @@
diff -Naur src.orig/Makefile src/Makefile
--- src.orig/Makefile 2013-10-10 16:52:14.292140058 -0400
+++ src/Makefile 2013-10-10 16:51:37.431138380 -0400
@@ -8,11 +8,9 @@
#
FDISK=/dev/fd0
-AS=as -32
-CC=gcc
+ASFLAGS=-32
-CFLAGS= -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin \
- -ffreestanding -fPIC $(SMP_FL) -fno-stack-protector
+CFLAGS= -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC -fno-stack-protector -fno-pie $(SMP_FL)
OBJS= head.o reloc.o main.o test.o init.o lib.o patn.o screen_buffer.o \
config.o memsize.o error.o smp.o cpuid.o vmem.o random.o
@@ -23,7 +21,7 @@
# symbols and then link it dynamically so I have full
# relocation information
memtest_shared: $(OBJS) memtest_shared.lds Makefile
- $(LD) --warn-constructors --warn-common -static -T memtest_shared.lds \
+ $(LD) --warn-constructors --warn-common -static -T memtest_shared.lds -m elf_i386 \
-o $@ $(OBJS) && \
$(LD) -shared -Bsymbolic -T memtest_shared.lds -o $@ $(OBJS)
@@ -50,10 +48,10 @@
$(CC) -c $(CFLAGS) -fno-strict-aliasing reloc.c
test.o: test.c
- $(CC) -c -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin -ffreestanding test.c
+ $(CC) -c $(CFLAGS:-fPIC=) -o $@ $<
random.o: random.c
- $(CC) -c -Wall -march=i486 -m32 -O3 -fomit-frame-pointer -fno-builtin -ffreestanding random.c
+ $(CC) -c -Wall -march=i486 -m32 -O3 -fomit-frame-pointer -fno-builtin -ffreestanding -fno-stack-protector -fno-pie random.c
clean:
rm -f *.o *.s *.iso memtest.bin memtest memtest_shared \
@@ -72,3 +70,7 @@
dos: all
cat mt86+_loader memtest.bin > memtest.exe
+head.o: head.s
+bootsect.o: bootsect.s
+setup.o: setup.s
+

View File

@@ -1,31 +0,0 @@
https://bugs.gentoo.org/912343
--- a/Makefile
+++ b/Makefile
@@ -21,15 +21,15 @@ all: memtest.bin memtest
# symbols and then link it dynamically so I have full
# relocation information
memtest_shared: $(OBJS) memtest_shared.lds Makefile
- $(LD) --warn-constructors --warn-common -static -T memtest_shared.lds -m elf_i386 \
+ $(LD) --warn-constructors --warn-common -static -z notext --no-warn-rwx-segments -T memtest_shared.lds -m elf_i386 \
-o $@ $(OBJS) && \
- $(LD) -shared -Bsymbolic -T memtest_shared.lds -o $@ $(OBJS)
+ $(LD) -shared -Bsymbolic -z notext --no-warn-rwx-segments -T memtest_shared.lds -o $@ $(OBJS)
memtest_shared.bin: memtest_shared
objcopy -O binary $< memtest_shared.bin
memtest: memtest_shared.bin memtest.lds
- $(LD) -s -T memtest.lds -b binary memtest_shared.bin -o $@
+ $(LD) -s -z notext --no-warn-rwx-segments -T memtest.lds -b binary memtest_shared.bin -o $@
head.s: head.S config.h defs.h test.h
$(CC) -E -traditional $< -o $@
@@ -41,7 +41,7 @@ setup.s: setup.S config.h defs.h
$(CC) -E -traditional $< -o $@
memtest.bin: memtest_shared.bin bootsect.o setup.o memtest.bin.lds
- $(LD) -T memtest.bin.lds bootsect.o setup.o -b binary \
+ $(LD) -z notext --no-warn-rwx-segments -T memtest.bin.lds bootsect.o setup.o -b binary \
memtest_shared.bin -o memtest.bin
reloc.o: reloc.c

View File

@@ -1,29 +0,0 @@
the meaning of extern inline changed between standards. use static inline
for these tiny I/O functions everywhere to keep things simple.
--- a/io.h
+++ b/io.h
@@ -31,6 +31,6 @@
*/
#define __OUT1(s,x) \
-extern inline void __out##s(unsigned x value, unsigned short port) {
+static inline void __out##s(unsigned x value, unsigned short port) {
#define __OUT2(s,s1,s2) \
@@ -43,6 +43,6 @@
__OUT1(s##c_p,x) __OUT2(s,s1,"") : : "a" (value), "id" (port)); SLOW_DOWN_IO; }
#define __IN1(s) \
-extern inline RETURN_TYPE __in##s(unsigned short port) { RETURN_TYPE _v;
+static inline RETURN_TYPE __in##s(unsigned short port) { RETURN_TYPE _v;
#define __IN2(s,s1,s2) \
@@ -55,6 +55,6 @@
__IN1(s##c_p) __IN2(s,s1,"") : "=a" (_v) : "id" (port) ,##i ); SLOW_DOWN_IO; return _v; }
#define __OUTS(s) \
-extern inline void outs##s(unsigned short port, const void * addr, unsigned long count) \
+static inline void outs##s(unsigned short port, const void * addr, unsigned long count) \
{ __asm__ __volatile__ ("cld ; rep ; outs" #s \
: "=S" (addr), "=c" (count) : "d" (port),"0" (addr),"1" (count)); }

View File

@@ -1,16 +0,0 @@
don't run the clean target when building all as we run into parallel races:
- memtest kicks off building of a bunch of .o files
- clean runs in parallel which runs `rm` and deletes some of the new .o
- memtest goes to link and fails because objects are missing
--- a/Makefile
+++ b/Makefile
@@ -19,7 +19,7 @@
OBJS= head.o reloc.o main.o test.o init.o lib.o patn.o screen_buffer.o \
config.o memsize.o error.o smp.o cpuid.o vmem.o random.o
-all: clean memtest.bin memtest
+all: memtest.bin memtest
# Link it statically once so I know I don't have undefined
# symbols and then link it dynamically so I have full

View File

@@ -1,13 +0,0 @@
the reboot func is used elsewhere, so don't mark it inline
--- a/lib.c
+++ b/lib.c
@@ -33,7 +33,7 @@ struct ascii_map_str {
int keycode;
};
-inline void reboot(void)
+void reboot(void)
{
/* tell the BIOS to do a cold start */

View File

@@ -1,76 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
inherit mount-boot toolchain-funcs
DESCRIPTION="A stand alone memory test for x86 computers"
HOMEPAGE="https://www.memtest86.com/"
SRC_URI="https://www.memtest86.com/downloads/${P}-src.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="-* amd64 x86"
IUSE="serial"
PATCHES=(
"${FILESDIR}"/${PN}-4.3.3-build-nopie.patch #66630 + #206726
"${FILESDIR}"/${PN}-4.3.7-io-extern-inline.patch #548312 #568292
"${FILESDIR}"/${PN}-4.3.7-reboot-def.patch #548312 #568292
"${FILESDIR}"/${PN}-4.3.7-no-clean.patch #557890
"${FILESDIR}"/${PN}-4.3.7-binutils-2.41-textrels.patch #912343
)
S="${WORKDIR}/src"
BOOTDIR="/boot/memtest86"
QA_PRESTRIPPED="${BOOTDIR}/memtest"
QA_FLAGS_IGNORED="${BOOTDIR}/memtest"
src_prepare() {
default
sed -i -e 's,0x10000,0x100000,' memtest.lds || die
if use serial ; then
sed -i \
-e '/^#define SERIAL_CONSOLE_DEFAULT/s:0:1:' \
config.h \
|| die "sed failed"
fi
}
src_configure() {
tc-export AS CC LD
}
src_test() { :; }
src_install() {
insinto "${BOOTDIR}"
doins memtest memtest.bin
exeinto /etc/grub.d
newexe "${FILESDIR}"/39_${PN}-r1 39_${PN}
dodoc README README.build-process README.background
}
pkg_postinst() {
mount-boot_pkg_postinst
elog "${PN} 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'."
}

View File

@@ -1,76 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit mount-boot toolchain-funcs
DESCRIPTION="Stand alone memory test for x86 computers"
HOMEPAGE="https://www.memtest86.com/"
SRC_URI="https://www.memtest86.com/downloads/${P}-src.tar.gz"
S="${WORKDIR}/src"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="-* amd64 x86"
IUSE="serial"
PATCHES=(
"${FILESDIR}"/${PN}-4.3.3-build-nopie.patch #66630 + #206726
"${FILESDIR}"/${PN}-4.3.7-io-extern-inline.patch #548312 #568292
"${FILESDIR}"/${PN}-4.3.7-reboot-def.patch #548312 #568292
"${FILESDIR}"/${PN}-4.3.7-no-clean.patch #557890
"${FILESDIR}"/${PN}-4.3.7-binutils-2.41-textrels.patch #912343
)
BOOTDIR="/boot/memtest86"
QA_PRESTRIPPED="${BOOTDIR}/memtest"
QA_FLAGS_IGNORED="${BOOTDIR}/memtest"
src_prepare() {
default
sed -i -e 's,0x10000,0x100000,' memtest.lds || die
sed -i -e "s|objcopy|$(tc-getOBJCOPY)|" Makefile || die
if use serial ; then
sed -i \
-e '/^#define SERIAL_CONSOLE_DEFAULT/s:0:1:' \
config.h \
|| die "sed failed"
fi
}
src_configure() {
tc-export AS CC LD
}
src_test() { :; }
src_install() {
insinto "${BOOTDIR}"
doins memtest memtest.bin
exeinto /etc/grub.d
newexe "${FILESDIR}"/39_${PN}-r1 39_${PN}
dodoc README README.build-process README.background
}
pkg_postinst() {
mount-boot_pkg_postinst
elog "${PN} 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'."
}

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
<name>Gentoo Base System</name>
</maintainer>
<use>
<flag name="serial">Compile with serial console support</flag>
</use>
</pkgmetadata>