diff options
author | Tristan Gingold <tristan.gingold@adacore.com> | 2014-03-26 10:40:49 +0100 |
---|---|---|
committer | Tristan Gingold <tristan.gingold@adacore.com> | 2014-03-27 12:01:58 +0100 |
commit | 10be66a4910d39b508002eea2056783e3430af40 (patch) | |
tree | e70b76af8338502a63190fa57c604f2ed7c039b1 | |
parent | cb580a265c0344b2acfc3059b53689863378f5ed (diff) | |
download | gdb-10be66a4910d39b508002eea2056783e3430af40.zip gdb-10be66a4910d39b508002eea2056783e3430af40.tar.gz gdb-10be66a4910d39b508002eea2056783e3430af40.tar.bz2 |
Mach-O: disp dyld environment command in objdump -P load.
bfd/
* mach-o.c (bfd_mach_o_read_dylinker): Remove assert.
(bfd_mach_o_read_command): Handle BFD_MACH_O_LC_DYLD_ENVIRONMENT.
binutils/
* od-macho.c (dump_load_command): Display value for
BFD_MACH_O_LC_DYLD_ENVIRONMENT. Handle BFD_MACH_O_LC_DATA_IN_CODE
and BFD_MACH_O_LC_DYLIB_CODE_SIGN_DRS.
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/mach-o.c | 4 | ||||
-rw-r--r-- | binutils/ChangeLog | 6 | ||||
-rw-r--r-- | binutils/od-macho.c | 6 |
4 files changed, 18 insertions, 3 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 54b7834..a7ca2d0 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,10 @@ 2014-03-27 Tristan Gingold <gingold@adacore.com> + * mach-o.c (bfd_mach_o_read_dylinker): Remove assert. + (bfd_mach_o_read_command): Handle BFD_MACH_O_LC_DYLD_ENVIRONMENT. + +2014-03-27 Tristan Gingold <gingold@adacore.com> + * mach-o.h (bfd_mach_o_get_base_address): New prototype. * mach-o.c (bfd_mach_o_write_symtab) (bfd_mach_o_write_contents) diff --git a/bfd/mach-o.c b/bfd/mach-o.c index 8e8842b..ebaa6c7 100644 --- a/bfd/mach-o.c +++ b/bfd/mach-o.c @@ -3149,9 +3149,6 @@ bfd_mach_o_read_dylinker (bfd *abfd, bfd_mach_o_load_command *command) struct mach_o_str_command_external raw; unsigned int nameoff; - BFD_ASSERT ((command->type == BFD_MACH_O_LC_ID_DYLINKER) - || (command->type == BFD_MACH_O_LC_LOAD_DYLINKER)); - if (bfd_seek (abfd, command->offset + BFD_MACH_O_LC_SIZE, SEEK_SET) != 0 || bfd_bread (&raw, sizeof (raw), abfd) != sizeof (raw)) return -1; @@ -3845,6 +3842,7 @@ bfd_mach_o_read_command (bfd *abfd, bfd_mach_o_load_command *command) break; case BFD_MACH_O_LC_LOAD_DYLINKER: case BFD_MACH_O_LC_ID_DYLINKER: + case BFD_MACH_O_LC_DYLD_ENVIRONMENT: if (bfd_mach_o_read_dylinker (abfd, command) != 0) return -1; break; diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 975979d..c69ba99 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,5 +1,11 @@ 2014-03-27 Tristan Gingold <gingold@adacore.com> + * od-macho.c (dump_load_command): Display value for + BFD_MACH_O_LC_DYLD_ENVIRONMENT. Handle BFD_MACH_O_LC_DATA_IN_CODE + and BFD_MACH_O_LC_DYLIB_CODE_SIGN_DRS. + +2014-03-27 Tristan Gingold <gingold@adacore.com> + * od-macho.c (OPT_FUNCTION_STARTS): New macro. (options): Add entry for function_starts. (mach_o_help): Ditto. diff --git a/binutils/od-macho.c b/binutils/od-macho.c index 4733e87..80bf5c2 100644 --- a/binutils/od-macho.c +++ b/binutils/od-macho.c @@ -1026,6 +1026,10 @@ dump_load_command (bfd *abfd, bfd_mach_o_load_command *cmd, case BFD_MACH_O_LC_ID_DYLINKER: printf (" %s\n", cmd->command.dylinker.name_str); break; + case BFD_MACH_O_LC_DYLD_ENVIRONMENT: + putchar ('\n'); + printf (" %s\n", cmd->command.dylinker.name_str); + break; case BFD_MACH_O_LC_SYMTAB: { bfd_mach_o_symtab_command *symtab = &cmd->command.symtab; @@ -1056,6 +1060,8 @@ dump_load_command (bfd *abfd, bfd_mach_o_load_command *cmd, case BFD_MACH_O_LC_CODE_SIGNATURE: case BFD_MACH_O_LC_SEGMENT_SPLIT_INFO: case BFD_MACH_O_LC_FUNCTION_STARTS: + case BFD_MACH_O_LC_DATA_IN_CODE: + case BFD_MACH_O_LC_DYLIB_CODE_SIGN_DRS: { bfd_mach_o_linkedit_command *linkedit = &cmd->command.linkedit; printf |