summaryrefslogtreecommitdiff
path: root/bfd/mach-o-target.c
diff options
context:
space:
mode:
authorTristan Gingold <tristan.gingold@adacore.com>2014-04-09 10:10:44 +0200
committerTristan Gingold <tristan.gingold@adacore.com>2014-04-18 10:45:33 +0200
commit4384b28422294779be111ac24fb34fb6bfe57b32 (patch)
tree9399a5bb07f116bd6334cf9cfc8b59e38e8edc05 /bfd/mach-o-target.c
parent452216ab0978a5684aacc76a422efd910d7c15df (diff)
mach-o: add page_size to backend data.
This is preliminary work to layout executables. bfd/ * mach-o.h (bfd_mach_o_backend_data): Add page_size field. * mach-o-target.c: Check TARGET_PAGESIZE is defined. (TARGET_NAME_BACKEND): Add TARGET_PAGESIZE. * mach-o.c (TARGET_PAGESIZE): Define and undefined for each targets declared. * mach-o-x86-64.c (TARGET_PAGESIZE): Define. * mach-o-i386.c (TARGET_PAGESIZE): Define.
Diffstat (limited to 'bfd/mach-o-target.c')
-rw-r--r--bfd/mach-o-target.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/bfd/mach-o-target.c b/bfd/mach-o-target.c
index 65d5118220..00bd586c97 100644
--- a/bfd/mach-o-target.c
+++ b/bfd/mach-o-target.c
@@ -85,6 +85,10 @@
#error TARGET_ARCHIVE must be defined
#endif /* TARGET_ARCHIVE */
+#ifndef TARGET_PAGESIZE
+#error TARGET_PAGESIZE must be defined
+#endif
+
#if ((TARGET_ARCHIVE) && (! TARGET_BIG_ENDIAN))
#error Mach-O fat files must always be big-endian.
#endif /* ((TARGET_ARCHIVE) && (! TARGET_BIG_ENDIAN)) */
@@ -92,6 +96,7 @@
static const bfd_mach_o_backend_data TARGET_NAME_BACKEND =
{
TARGET_ARCHITECTURE,
+ TARGET_PAGESIZE,
bfd_mach_o_swap_reloc_in,
bfd_mach_o_swap_reloc_out,
bfd_mach_o_print_thread,