This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[Mach-O]: Reject 64 bit targets when not configured for
- From: Tristan Gingold <gingold at adacore dot com>
- To: "binutils at sourceware dot org Development" <binutils at sourceware dot org>
- Date: Fri, 4 Apr 2014 14:43:02 +0200
- Subject: [Mach-O]: Reject 64 bit targets when not configured for
- Authentication-results: sourceware.org; auth=none
Hello,
the generic mach-o backend now rejects 64 bit mach-o files if bfd
is not configured for 64 bit targets. That avoids crashes (the first
one I encounter was in the disassembler).
Committed on trunk.
Tristan.
bfd/
* mach-o.c (bfd_mach_o_header_p): Reject 64 bit target when not
configured for.
diff --git a/bfd/mach-o.c b/bfd/mach-o.c
index 5203c0f..50173b9 100644
--- a/bfd/mach-o.c
+++ b/bfd/mach-o.c
@@ -4300,6 +4300,15 @@ bfd_mach_o_header_p (bfd *abfd,
if (header.cputype != cputype)
goto wrong;
}
+ else
+ {
+#ifndef BFD64
+ /* Do not recognize 64 architectures if not configured for 64bit targets.
+ This could happen only for generic targets. */
+ if (mach_o_wide_p (&header))
+ goto wrong;
+#endif
+ }
if (filetype)
{