summaryrefslogtreecommitdiff
path: root/bfd/mach-o.h
diff options
context:
space:
mode:
authorTristan Gingold <gingold@adacore.com>2009-09-09 14:58:11 +0000
committerTristan Gingold <gingold@adacore.com>2009-09-09 14:58:11 +0000
commit7b5a7da962b37c24a558b04091a9c80eb7fdf6a2 (patch)
tree37155a410b79527b55fb8573a5628b125404ab09 /bfd/mach-o.h
parent29b96de7ca4bb35713e66b270e915f9adcfa1d74 (diff)
downloadgdb-7b5a7da962b37c24a558b04091a9c80eb7fdf6a2.tar.gz
2009-09-09 Tristan Gingold <gingold@adacore.com>
Handle DYLD_INFO introduced by Darwin10. * mach-o.h (bfd_mach_o_load_command_type): Add BFD_MACH_O_LC_DYLD_INFO. (bfd_mach_o_dyld_info_command): New type. (bfd_mach_o_load_command): Add dyld_info field. * mach-o.c (bfd_mach_o_scan_read_str): Reduce size of buf. (bfd_mach_o_scan_read_dyld_info): New function. (bfd_mach_o_scan_read_command): Handle BFD_MACH_O_LC_DYLD_INFO. (bfd_mach_o_bfd_print_private_bfd_data): Ditto. (bfd_mach_o_load_command_name): AddB FD_MACH_O_LC_DYLD_INFO. (bfd_mach_o_print_dyld_info): New function.
Diffstat (limited to 'bfd/mach-o.h')
-rw-r--r--bfd/mach-o.h28
1 files changed, 27 insertions, 1 deletions
diff --git a/bfd/mach-o.h b/bfd/mach-o.h
index 0f48324f52f..c1831e4bc14 100644
--- a/bfd/mach-o.h
+++ b/bfd/mach-o.h
@@ -132,7 +132,8 @@ typedef enum bfd_mach_o_load_command_type
BFD_MACH_O_LC_SEGMENT_SPLIT_INFO = 0x1e, /* Local of info to split seg. */
BFD_MACH_O_LC_REEXPORT_DYLIB = 0x1f, /* Load and re-export lib. */
BFD_MACH_O_LC_LAZY_LOAD_DYLIB = 0x20, /* Delay load of lib until use. */
- BFD_MACH_O_LC_ENCRYPTION_INFO = 0x21 /* Encrypted segment info. */
+ BFD_MACH_O_LC_ENCRYPTION_INFO = 0x21, /* Encrypted segment info. */
+ BFD_MACH_O_LC_DYLD_INFO = 0x22 /* Compressed dyld information. */
}
bfd_mach_o_load_command_type;
@@ -768,6 +769,30 @@ typedef struct bfd_mach_o_str_command
}
bfd_mach_o_str_command;
+typedef struct bfd_mach_o_dyld_info_command
+{
+ /* File offset and size to rebase info. */
+ unsigned int rebase_off;
+ unsigned int rebase_size;
+
+ /* File offset and size of binding info. */
+ unsigned int bind_off;
+ unsigned int bind_size;
+
+ /* File offset and size of weak binding info. */
+ unsigned int weak_bind_off;
+ unsigned int weak_bind_size;
+
+ /* File offset and size of lazy binding info. */
+ unsigned int lazy_bind_off;
+ unsigned int lazy_bind_size;
+
+ /* File offset and size of export info. */
+ unsigned int export_off;
+ unsigned int export_size;
+}
+bfd_mach_o_dyld_info_command;
+
typedef struct bfd_mach_o_load_command
{
bfd_mach_o_load_command_type type;
@@ -786,6 +811,7 @@ typedef struct bfd_mach_o_load_command
bfd_mach_o_uuid_command uuid;
bfd_mach_o_linkedit_command linkedit;
bfd_mach_o_str_command str;
+ bfd_mach_o_dyld_info_command dyld_info;
}
command;
}