[patch] add EFI "boot services" and "runtime services" driver format
Nick Clifton
nickc@redhat.com
Thu Feb 14 15:20:00 GMT 2008
Hi Peter,
> +2008-02-08 Peter Jones <pjones@redhat.com>
> +
> + * efi-rtdrv-ia32.c: New file.
> + * efi-bsdrv-ia32.c: New file.
> + * efi-rtdrv-ia64.c: New file.
> + * efi-bsdrv-ia64.c: New file.
> + * efi-rtdrv-x86_64.c: New file.
> + * efi-bsdrv-x86_64.c: New file.
> + * peicode.h (pe_bfd_object_p): Add support for boot service and
> + runtime service drivers.
> + * libpei.h: Add macros for EFI formats, and rename the efi application
> + format macros to disambiguate.
> + * targets.c: Add bfd_target _vec externs.
> + (_bfd_tar): Add EFI _vec entries.
> + * config.bfd: Add EFI vectors into the selection routines.
> + * configure.in: add EFI _vec entries.
> + * configure: Regenerate.
> + * Makefile.am: Add EFI files.
> + * Makefile.in: Regenerate.
I have applied this patch. There was one mistake which I encountered:
> /* Macro: Returns true if the bfd is a PE executable as opposed to a
> PE object file. */
> #define bfd_pe_executable_p(abfd) \
> (bfd_target_pei_p ((abfd)->xvec) \
> - || bfd_target_efi_p ((abfd)->xvec))
> + || bfd_target_efi_app_p ((abfd)->xvec) \
> + || bfd_target_efi_bsdrv_p ((abfd)->xvec)) \
> + || bfd_target_efi_rtdrv_p ((abfd)->xvec)
The closing parenthesis for this macro is one line too early...
Cheers
Nick
More information about the Binutils
mailing list