svn commit: r262484 - head/usr.sbin/btxld
Christian Brueffer
brueffer at FreeBSD.org
Tue Feb 25 17:13:42 UTC 2014
Author: brueffer
Date: Tue Feb 25 17:13:42 2014
New Revision: 262484
URL: http://svnweb.freebsd.org/changeset/base/262484
Log:
In puthdr(), start the ELF .data section on a new page, as this is
what btxldr expects (.set MEM_DATA,start+0x1000 in btxldr.S).
This makes resulting ELF binaries bootable with grub, gptboot and boot2.
PR: 153801
Submitted by: Gleb Kurtsou <gleb.kurtsou at gmail.com>
Tested by: Ruben Kerkhof <ruben at rubenkerkhof.com>
Glanced at by: jhb, peter
MFC after: 1 month
Modified:
head/usr.sbin/btxld/btxld.c
Modified: head/usr.sbin/btxld/btxld.c
==============================================================================
--- head/usr.sbin/btxld/btxld.c Tue Feb 25 17:02:11 2014 (r262483)
+++ head/usr.sbin/btxld/btxld.c Tue Feb 25 17:13:42 2014 (r262484)
@@ -426,7 +426,7 @@ puthdr(int fd, struct hdr *hdr)
le32toh(eh.p[0].p_filesz));
eh.p[1].p_vaddr = eh.p[1].p_paddr =
htole32(align(le32toh(eh.p[0].p_paddr) + le32toh(eh.p[0].p_memsz),
- 4));
+ 4096));
eh.p[1].p_filesz = eh.p[1].p_memsz = htole32(hdr->data);
eh.sh[2].sh_addr = eh.p[0].p_vaddr;
eh.sh[2].sh_offset = eh.p[0].p_offset;
More information about the svn-src-head
mailing list