summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
authorRegia König2022-03-10 14:51:02 +0100
committerRegia König2022-03-10 14:51:02 +0100
commite97baaaa249e922a15b586d10a340c8e1076ad6d (patch)
tree76098632d8a8bb965963cbe5675fd00318d0b3ff /documentation
parentAdd stuff (diff)
downloadmemtest86-e97baaaa249e922a15b586d10a340c8e1076ad6d.tar.gz
memtest86-e97baaaa249e922a15b586d10a340c8e1076ad6d.tar.xz
memtest86-e97baaaa249e922a15b586d10a340c8e1076ad6d.zip
Split build process into debug build and release build (gdb vs lto)
Diffstat (limited to 'documentation')
-rw-r--r--documentation/LTO11
-rw-r--r--documentation/Qemu-Bug46
-rw-r--r--documentation/todo12
3 files changed, 69 insertions, 0 deletions
diff --git a/documentation/LTO b/documentation/LTO
new file mode 100644
index 0000000..6bb3a18
--- /dev/null
+++ b/documentation/LTO
@@ -0,0 +1,11 @@
+To enable LTO, follow these simple steps:
+
+ Add option -flto to the invocation of compiler.
+ Add option -flto to the invocation of the linker. Additionally, you need
+ to add all options from the compiler invocations to the invocation of
+ the linker. So if you called your compiler with
+ “-march=i486 -O3 -fno-stack-protector“,
+ you will need to pass the same options to the linker.
+
+
+Note: LTO performs heavy memory optimizations that break debugging, so we recommend using it only with the release profile, not debugging and develop.
diff --git a/documentation/Qemu-Bug b/documentation/Qemu-Bug
new file mode 100644
index 0000000..7c2dab0
--- /dev/null
+++ b/documentation/Qemu-Bug
@@ -0,0 +1,46 @@
+7.3.22 - Bug #1605 -
+MemtestEfi crashes when it is not freshly built
+===============================================================================
+
+!!!! X64 Exception Type - 06(#UD - Invalid Opcode) CPU Apic ID - 00000000 !!!!
+RIP - 00000000000E0000, CS - 0000000000000038, RFLAGS - 0000000000010282
+RAX - 0000000000000004, RCX - 0000000000000000, RDX - 0000000000000033
+RBX - 0000000000000008, RSP - 0000000007E9B468, RBP - 0000000006629FB2
+RSI - 0000000000000029, RDI - 0000000000000008
+R8 - 000000000000000A, R9 - 0000000006680598, R10 - 0000000000000000
+R11 - 0000000000000002, R12 - 0000000000000029, R13 - 0000000000000000
+R14 - 0000000007E9B492, R15 - 00000000065D6201
+DS - 0000000000000030, ES - 0000000000000030, FS - 0000000000000030
+GS - 0000000000000030, SS - 0000000000000030
+CR0 - 0000000080010033, CR2 - 0000000000000000, CR3 - 0000000007C01000
+CR4 - 0000000000000668, CR8 - 0000000000000000
+DR0 - 0000000000000000, DR1 - 0000000000000000, DR2 - 0000000000000000
+DR3 - 0000000000000000, DR6 - 00000000FFFF0FF0, DR7 - 0000000000000400
+GDTR - 00000000079DE000 0000000000000047, LDTR - 0000000000000000
+IDTR - 000000000758A018 0000000000000FFF, TR - 0000000000000000
+FXSAVE_STATE - 0000000007E9B0C0
+!!!! Can't find image information. !!!!
+
+===============================================================================
+
+
+
+
+===============================================================================
+
+./run.sh
+vvfat hda-contents chs 1024,16,63
+vvfat hdb-contents chs 1024,16,63
+QEMU 2.11.1 monitor - type 'help' for more information
+(qemu) **
+ERROR:/build/qemu-CsbAwl/qemu-2.11+dfsg/qom/object.c:1631:object_get_canonical_path_component: assertion failed: (obj->parent != NULL)
+./run.sh: line 15: 11105 Aborted sudo kvm -bios $OVMF --drive file=fat:rw:hda-contents,index=0,media=disk,format=raw --drive file=fat:rw:hdb-contents,index=1,media=disk,format=raw -net none -cpu host -d guest_errors -monitor stdio -D ./qemu_log.txt
+
+
+================================================================================
+
+Seems, that these are the sections which are needed in the binary file
+%.efi: %.so
+ objcopy -j .text -j .sdata -j .data -j .dynamic \
+ -j .dynsym -j .rel -j .rela -j .reloc \
+ --target=efi-app-$(ARCH) $^ $@
diff --git a/documentation/todo b/documentation/todo
new file mode 100644
index 0000000..5238731
--- /dev/null
+++ b/documentation/todo
@@ -0,0 +1,12 @@
+
+- gdb breakpoint
+
+- debug Symbole Memtest
+
+- AddressSanitizer
+
+- make vs make run
+
+- plugin to handle lto object
+
+- debug information by DEBUG ((---))