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.
This commit is contained in:
Tristan Gingold 2014-04-09 10:12:45 +02:00
parent 40fd06d188
commit 12241a34d7
4 changed files with 20 additions and 2 deletions

View File

@ -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

View File

@ -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;

View File

@ -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.

View File

@ -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. */