aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2007-07-05 02:50:02 +0000
committerH.J. Lu <hjl.tools@gmail.com>2007-07-05 02:50:02 +0000
commita93221e521a8b1c5607bb5f10b737cbd33f4bca7 (patch)
tree7710014efe8d6b3a204118cac71ecbf01495028c /bfd
parente4e4a5d1f411ee1b61c975a08661ab24de975f02 (diff)
downloadgdb-a93221e521a8b1c5607bb5f10b737cbd33f4bca7.zip
gdb-a93221e521a8b1c5607bb5f10b737cbd33f4bca7.tar.gz
gdb-a93221e521a8b1c5607bb5f10b737cbd33f4bca7.tar.bz2
2007-07-04 H.J. Lu <hongjiu.lu@intel.com>
* peicode.h (pe_bfd_object_p): Don't check PE vs. EFI target if arch is unknown.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/peicode.h32
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 <hongjiu.lu@intel.com>
+
+ * peicode.h (pe_bfd_object_p): Don't check PE vs. EFI target
+ if arch is unknown.
+
2007-07-04 Nick Clifton <nickc@redhat.com>
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;
+ }
}
}
}