From: Tristan Gingold Date: Wed, 26 Mar 2014 09:40:49 +0000 (+0100) Subject: Mach-O: disp dyld environment command in objdump -P load. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=10be66a4910d39b508002eea2056783e3430af40;p=binutils-gdb.git 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. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 54b783417e5..a7ca2d08f44 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2014-03-27 Tristan Gingold + + * 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 * mach-o.h (bfd_mach_o_get_base_address): New prototype. diff --git a/bfd/mach-o.c b/bfd/mach-o.c index 8e8842bdb24..ebaa6c7852a 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 975979dcb2b..c69ba99e752 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,9 @@ +2014-03-27 Tristan Gingold + + * 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 * od-macho.c (OPT_FUNCTION_STARTS): New macro. diff --git a/binutils/od-macho.c b/binutils/od-macho.c index 4733e873a64..80bf5c25d37 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