aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTristan Gingold <tristan.gingold@adacore.com>2014-03-26 10:40:49 +0100
committerTristan Gingold <tristan.gingold@adacore.com>2014-03-27 12:01:58 +0100
commit10be66a4910d39b508002eea2056783e3430af40 (patch)
treee70b76af8338502a63190fa57c604f2ed7c039b1
parentcb580a265c0344b2acfc3059b53689863378f5ed (diff)
downloadgdb-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/ChangeLog5
-rw-r--r--bfd/mach-o.c4
-rw-r--r--binutils/ChangeLog6
-rw-r--r--binutils/od-macho.c6
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