[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ELF bugfixes
From: |
Robert Millan |
Subject: |
Re: ELF bugfixes |
Date: |
Wed, 11 Mar 2009 22:15:41 +0100 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
On Mon, Mar 02, 2009 at 01:35:06AM +0100, phcoder wrote:
> + * include/grub/elf.h: added missing attributes
This should be a bit more descriptive.
> for (i = 0; i < ehdr->e_phnum; i++)
> if (phdr(i)->p_type == PT_LOAD && phdr(i)->p_filesz != 0)
> {
> - if (phdr(i)->p_paddr < phdr(lowest_segment)->p_paddr)
> + if (lowest_segment == -1
> + || phdr(i)->p_paddr < phdr(lowest_segment)->p_paddr)
> lowest_segment = i;
> - if (phdr(i)->p_paddr > phdr(highest_segment)->p_paddr)
> + if (highest_segment == -1
> + || phdr(i)->p_paddr > phdr(highest_segment)->p_paddr)
> highest_segment = i;
> }
Why?
> - grub_multiboot_payload_entry_offset = ehdr->e_entry -
> phdr(lowest_segment)->p_vaddr;
> + grub_multiboot_payload_entry_offset = ehdr->e_entry -
> phdr(lowest_segment)->p_paddr;
Are you sure about this? IIRC e_entry is in the virtual address space. I
think we had some trouble with this (with NetBSD?), which lead to the current
use of p_vaddr in this line.
--
Robert Millan
The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and
how) you may access your data; but nobody's threatening your freedom: we
still allow you to remove your data and not access it at all."
- ELF bugfixes, phcoder, 2009/03/01
- Re: ELF bugfixes,
Robert Millan <=
- Re: ELF bugfixes, phcoder, 2009/03/11
- Re: ELF bugfixes, Robert Millan, 2009/03/13
- Re: ELF bugfixes, phcoder, 2009/03/13
- Re: ELF bugfixes, David Miller, 2009/03/13
- Re: ELF bugfixes, phcoder, 2009/03/13
- Re: ELF bugfixes, Robert Millan, 2009/03/18
- Re: ELF bugfixes, phcoder, 2009/03/18
- Re: ELF bugfixes, Robert Millan, 2009/03/21