[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