> On 15 Dec 2016, at 17:34, Rick Payne <[email protected]> wrote:
>
> LZ loader-stripped.elf
> OBJCOPY loader-stripped.elf.lz -> loader-stripped.elf.lz.o
> LINK lzloader.elf
> ALIGN lzloader.elf
> DD loader.img boot.bin
> DD loader.img lzloader.elf
> IMGEDIT build/release.x64/loader.img
> IMGEDIT build/release.x64/loader.img
> qemu-system-x86_64: -redir tcp:10000::10000: The -redir option is deprecated.
> Please use '-netdev user,hostfwd=...' instead.
>
> Is there any known issue building with gcc/g++ version 6.2.0 20161005? Thats
> the main difference between the machines (other than one is a VM on my laptop
> and the other is a proper intel machine).
In case anyone else runs into this, its a problem with optimisation of lzloader
which causes it to fail to decompress properly. If I compile lzloader without
optimisation, then the build proceeds fine. I’m using this patch:
diff --git a/Makefile b/Makefile
index 3ef3b54..d7e6121 100644
--- a/Makefile
+++ b/Makefile
@@ -462,7 +462,8 @@ $(out)/loader-stripped.elf.lz.o: $(out)/loader-stripped.elf
$(out)/fastlz/lz
$(out)/fastlz/lzloader.o: fastlz/lzloader.cc | generated-headers
$(makedir)
- $(call quiet, $(CXX) $(CXXFLAGS) -O2 -m32 -fno-instrument-functions -o
$@ -c fastlz/lzloader.cc, CXX $<)
+ # $(call quiet, $(CXX) $(CXXFLAGS) -O2 -m32 -fno-instrument-functions
-o $@ -c fastlz/lzloader.cc, CXX $<)
+ $(call quiet, $(CXX) $(CXXFLAGS) -g -m32 -fno-instrument-functions -o
$@ -c fastlz/lzloader.cc, CXX $<)
$(out)/lzloader.elf: $(out)/loader-stripped.elf.lz.o $(out)/fastlz/lzloader.o
arch/x64/lzloader.ld \
$(out)/fastlz/fastlz.o
I’m trying to understand the difference between the optimised and unoptimised
lzloader, but happy that I can at least get some coding done now ;)
Rick
--
You received this message because you are subscribed to the Google Groups "OSv
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.