17.03.2016 23:56, Jiri B пишет: >>>> [...] >>>> Well, your compiler managed to create shared library instead of >>>> executable file: >>>> >>>> bor@bor-Latitude-E5450:~$ LANG=C objdump -f Загрузки/lzma_decompress.image >>>> >>>> Загрузки/lzma_decompress.image: file format elf32-i386 >>>> architecture: i386, flags 0x00000050: >>>> HAS_SYMS, DYNAMIC >>>> start address 0x00008200 >>>> >>>> I get the same if I explicitly add -shared to linker flags. >>>> >>>> Could you test with >>>> >>>> ./configure TARGET_LDFLAGS=-static > > TARGET_LDFLAGS=-static caused no difference. But... While being > a little bit desperate I had a look at grub 0.9.x in OpenBSD ports > and there was > > CFLAGS=-ftrampolines -fno-stack-protector -fno-pie -nopie > > So I gave it a try and it seems better (?) > > $ ls -l > /home/jirib/openbsd/pobj/grub-2.02-beta3/fake-amd64/usr/local/lib/grub/i386-pc/lzma_decompress.im* > -rwxr-xr-x 1 jirib wheel 3068 Mar 17 21:45 > /home/jirib/openbsd/pobj/grub-2.02-beta3/fake-amd64/usr/local/lib/grub/i386-pc/lzma_decompress.image* > -rw-r--r-- 1 jirib wheel 2832 Mar 17 21:45 > /home/jirib/openbsd/pobj/grub-2.02-beta3/fake-amd64/usr/local/lib/grub/i386-pc/lzma_decompress.img > > $ objdump -f > /home/jirib/openbsd/pobj/grub-2.02-beta3/fake-amd64/usr/local/lib/grub/i386-pc/lzma_decompress.image > > /home/jirib/openbsd/pobj/grub-2.02-beta3/fake-amd64/usr/local/lib/grub/i386-pc/lzma_decompress.image: > file format elf32-i386 > architecture: i386, flags 0x00000002: > EXEC_P > start address 0x00008200 > > It is OK? >
It certainly looks better than before. Does it actually work? We aready use -fno-PIE, looks like we need to explicitly check for -fno-pie as well. > grub 0.9.x in OpenBSD ports is for i386 arch only (not for 64bit one). > I have no idea why, I'll ask on ports@ list some OpenBSD porters. > > j. > _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel