From a93221e521a8b1c5607bb5f10b737cbd33f4bca7 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Thu, 5 Jul 2007 02:50:02 +0000 Subject: 2007-07-04 H.J. Lu * peicode.h (pe_bfd_object_p): Don't check PE vs. EFI target if arch is unknown. --- bfd/ChangeLog | 5 +++++ bfd/peicode.h | 32 ++++++++++++++++++-------------- 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 7d88606..57e5eb5 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2007-07-04 H.J. Lu + + * peicode.h (pe_bfd_object_p): Don't check PE vs. EFI target + if arch is unknown. + 2007-07-04 Nick Clifton Import this patch from an internal tree: diff --git a/bfd/peicode.h b/bfd/peicode.h index a6140d7..a64ac1d 100644 --- a/bfd/peicode.h +++ b/bfd/peicode.h @@ -1342,6 +1342,10 @@ pe_bfd_object_p (bfd * abfd) else arch = pe_arch (bfd_target_pei_arch (abfd->xvec)); + /* Don't check PE vs. EFI if arch is unknown. */ + if (arch == arch_type_unknown) + return target; + for (target_ptr = bfd_target_vector; *target_ptr != NULL; target_ptr++) { @@ -1355,13 +1359,13 @@ pe_bfd_object_p (bfd * abfd) if (pe_arch (bfd_target_efi_arch (*target_ptr)) != arch) continue; - if (efi) - { - /* TARGET_PTR is an EFI backend. Don't match - TARGET with a EFI file. */ - bfd_set_error (bfd_error_wrong_format); - return NULL; - } + if (efi) + { + /* TARGET_PTR is an EFI backend. Don't match + TARGET with a EFI file. */ + bfd_set_error (bfd_error_wrong_format); + return NULL; + } } else if (bfd_target_pei_p (*target_ptr)) { @@ -1369,13 +1373,13 @@ pe_bfd_object_p (bfd * abfd) if (pe_arch (bfd_target_pei_arch (*target_ptr)) != arch) continue; - if (!efi) - { - /* TARGET_PTR is a PE backend. Don't match - TARGET with a PE file. */ - bfd_set_error (bfd_error_wrong_format); - return NULL; - } + if (!efi) + { + /* TARGET_PTR is a PE backend. Don't match + TARGET with a PE file. */ + bfd_set_error (bfd_error_wrong_format); + return NULL; + } } } } -- cgit v1.1