aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTristan Gingold <tristan.gingold@adacore.com>2014-04-09 10:12:45 +0200
committerTristan Gingold <tristan.gingold@adacore.com>2014-04-16 10:04:19 +0200
commit12241a34d72fe9be70e8c7001b05764bb7e9738e (patch)
tree5f522b21c8bffa9ff60e16e1003bdf512db6d38c
parent40fd06d18832d52c9ab08914d8d5428ca68e5726 (diff)
downloadgdb-12241a34d72fe9be70e8c7001b05764bb7e9738e.zip
gdb-12241a34d72fe9be70e8c7001b05764bb7e9738e.tar.gz
gdb-12241a34d72fe9be70e8c7001b05764bb7e9738e.tar.bz2
Mach-O: add cpu and cpusubtype caps.
include/mach-o/ 2014-04-16 Tristan Gingold <gingold@adacore.com> * loader.h (BFD_MACH_O_CPU_ARCH_MASK, BFD_MACH_O_CPU_ARCH_ABI64) (BFD_MACH_O_CPU_SUBTYPE_MASK, BFD_MACH_O_CPU_SUBTYPE_LIB64): Define. bfd/ 2014-04-16 Tristan Gingold <gingold@adacore.com> * mach-o-x86-64.c (bfd_mach_o_x86_64_mkobject): Adjust cpusubtype flag.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/mach-o-x86-64.c3
-rw-r--r--include/mach-o/ChangeLog5
-rw-r--r--include/mach-o/loader.h9
4 files changed, 20 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 99285f3..c9af9da 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2014-04-16 Tristan Gingold <gingold@adacore.com>
+
+ * mach-o-x86-64.c (bfd_mach_o_x86_64_mkobject): Adjust cpusubtype
+ flag.
+
2014-04-16 Alan Modra <amodra@gmail.com>
* elf32-ppc.c (ppc_elf_relocate_section): Fill 476 fixup area
diff --git a/bfd/mach-o-x86-64.c b/bfd/mach-o-x86-64.c
index 221c030..017a6b8 100644
--- a/bfd/mach-o-x86-64.c
+++ b/bfd/mach-o-x86-64.c
@@ -53,7 +53,8 @@ bfd_mach_o_x86_64_mkobject (bfd *abfd)
mdata = bfd_mach_o_get_data (abfd);
mdata->header.magic = BFD_MACH_O_MH_MAGIC_64;
mdata->header.cputype = BFD_MACH_O_CPU_TYPE_X86_64;
- mdata->header.cpusubtype = BFD_MACH_O_CPU_SUBTYPE_X86_ALL;
+ mdata->header.cpusubtype =
+ BFD_MACH_O_CPU_SUBTYPE_X86_ALL | BFD_MACH_O_CPU_SUBTYPE_LIB64;
mdata->header.byteorder = BFD_ENDIAN_LITTLE;
mdata->header.version = 2;
diff --git a/include/mach-o/ChangeLog b/include/mach-o/ChangeLog
index 284e845..0f2721a 100644
--- a/include/mach-o/ChangeLog
+++ b/include/mach-o/ChangeLog
@@ -1,3 +1,8 @@
+2014-04-16 Tristan Gingold <gingold@adacore.com>
+
+ * loader.h (BFD_MACH_O_CPU_ARCH_MASK, BFD_MACH_O_CPU_ARCH_ABI64)
+ (BFD_MACH_O_CPU_SUBTYPE_MASK, BFD_MACH_O_CPU_SUBTYPE_LIB64): Define.
+
2014-04-03 Tristan Gingold <gingold@adacore.com>
* unwind.h (mach_o_compact_unwind_64): Fix typo in personality.
diff --git a/include/mach-o/loader.h b/include/mach-o/loader.h
index 952346d..20cfe42 100644
--- a/include/mach-o/loader.h
+++ b/include/mach-o/loader.h
@@ -32,7 +32,10 @@ typedef enum bfd_mach_o_mach_header_magic
}
bfd_mach_o_mach_header_magic;
-#define BFD_MACH_O_CPU_IS64BIT 0x1000000
+/* Capability bits in cpu type. */
+#define BFD_MACH_O_CPU_ARCH_MASK 0xff000000
+#define BFD_MACH_O_CPU_ARCH_ABI64 0x01000000
+#define BFD_MACH_O_CPU_IS64BIT 0x01000000
typedef enum bfd_mach_o_cpu_type
{
@@ -57,6 +60,10 @@ typedef enum bfd_mach_o_cpu_type
}
bfd_mach_o_cpu_type;
+/* Capability bits in cpu subtype. */
+#define BFD_MACH_O_CPU_SUBTYPE_MASK 0xff000000
+#define BFD_MACH_O_CPU_SUBTYPE_LIB64 0x80000000
+
typedef enum bfd_mach_o_cpu_subtype
{
/* i386. */