On Mon, Jul 21, 2008 at 4:51 AM, Christian Franke
<[EMAIL PROTECTED]> wrote:
> This adds Cygwin support to kernel sources. It handles the issues introduced
> by PE->ELF conversion and adds support for HAVE_ASM_USCORE.
>
> Christian
>
> 2007-07-20      Christian Franke  <[EMAIL PROTECTED]>
>
>        * include/grub/dl.h: Remove .previous, gas supports this only
>        for ELF format.
>
>        * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
>        Remove .type, gas supports this only for ELF format.
>
>        * kern/dl.c (grub_dl_resolve_symbols): Add check for grub_mod_init
>        and grub_mod_fini for symbols without a type. Handle HAVE_ASM_USCORE
>        case for these symbols.
>        (grub_dl_resolve_dependencies): Add check for trailing nullbytes
>        in symbol table. This fixes an infinite loop if table is zero filled.
>
>        * kern/i386/dl.c [__CYGWIN__] (fix_pc_rel_relocation): New function
>        to fix bad PC relative relocation produced by objcopy.
>        [__CYGWIN__] (grub_arch_dl_relocate_symbols): Add fix of PC relative
> relocation.
>        (grub_arch_dl_relocate_symbols): Abort on unknown relocation type.

Hi,

I'm not fond of fixing elf relocation bug in dl.c. First of all, this
is an objcopy bug, it may be changed in the future, also, it makes
modules compiled by cygwin not compatible with those compiled by elf
gcc.

Perhaps you can write a small tool, which fix various bugs after using
objcopy to generate the module file.

-- 
Bean


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to