diff options
author | Tristan Gingold <gingold@adacore.com> | 2009-09-09 14:58:12 +0000 |
---|---|---|
committer | Tristan Gingold <gingold@adacore.com> | 2009-09-09 14:58:12 +0000 |
commit | ad86f1fb4da4f0b049bfd5f9fb05dcd52124ad33 (patch) | |
tree | dc6b5e64240c09bae289bb9839de5acf0ac40873 /bfd/mach-o.h | |
parent | 22ba0981786d9fc6ab459bc449735d51f437dbe8 (diff) | |
download | gdb-ad86f1fb4da4f0b049bfd5f9fb05dcd52124ad33.zip gdb-ad86f1fb4da4f0b049bfd5f9fb05dcd52124ad33.tar.gz gdb-ad86f1fb4da4f0b049bfd5f9fb05dcd52124ad33.tar.bz2 |
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 0f48324..c1831e4 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; } |