diff options
Diffstat (limited to 'documentation')
-rw-r--r-- | documentation/LTO | 11 | ||||
-rw-r--r-- | documentation/Qemu-Bug | 46 | ||||
-rw-r--r-- | documentation/todo | 12 |
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 ((---)) |