Tristan Gingold wrote:
On Thu, Oct 12, 2006 at 05:32:00PM +0200, Johan Rydberg wrote:
> Tristan Gingold <[EMAIL PROTECTED]> writes:
>
> > On Thu, Oct 12, 2006 at 02:11:57PM +0200, Johan Rydberg wrote:
> >> Tristan Gingold <[EMAIL PROTECTED]> writes:
> >>
> >> >> You're telling me that EFI on your IA-64 system does not relocate the
> >> >> program before start executing it? That sounds strange.
> >> >
> >> > It does relocate EFI PEI images. Unfortunatly there is no tools to
create
> >> > EFI PEI objects on Linux. The gnu efi tools are kludgy: they use
standard
> >> > gcc and ld, create an ELF image and convert it to a PEI image. But the
> >> > relocations are not converted, they are simply put into the data
section.
> >>
> >> How hard would it be to write a converter ourselves, starting with
> >> util/i386/efi/grub-mkimage.c?
> > Not that hard, but
> > * we'd better to have one grub-mkimage.c for all EFI targets
>
> I agree.
>
> > * working on binutils is even better.
>
> The key problem with this as I see it is that it would force people to
> have a cross-compiler suite installed, at least for i386 hosts. Unless
> we can magically get the default installation to include PE-support.
On my debian system, objdump -i:
efi-app-ia32
It's already here!
The binutils issue is mainly for ia64. For i386, grub-mkimage.c works.
Tristan.
On i386 objcopy in binutils can convert ELF format into PE32, but application
need
dynamically relocate itself so that PE32 image can be loaded to any place to
execute.
For grub-mkimage.c application need not because grub-mkimage will generate
dynamic
relocate segment.
Two methods is ok for me, I prefer the easier one :)
thanks
bibo,mao
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel