[Mach-O]: Reject 64 bit targets when not configured for
Tristan Gingold
gingold@adacore.com
Fri Apr 4 12:43:00 GMT 2014
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)
{
More information about the Binutils
mailing list