diff options
author | Tristan Gingold <gingold@adacore.com> | 2009-09-09 14:58:11 +0000 |
---|---|---|
committer | Tristan Gingold <gingold@adacore.com> | 2009-09-09 14:58:11 +0000 |
commit | 7b5a7da962b37c24a558b04091a9c80eb7fdf6a2 (patch) | |
tree | 37155a410b79527b55fb8573a5628b125404ab09 /bfd/mach-o.h | |
parent | 29b96de7ca4bb35713e66b270e915f9adcfa1d74 (diff) | |
download | gdb-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.h | 28 |
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; } |