mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-19 00:59:15 +08:00
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.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
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>
|
2014-03-27 Tristan Gingold <gingold@adacore.com>
|
||||||
|
|
||||||
* mach-o.h (bfd_mach_o_get_base_address): New prototype.
|
* mach-o.h (bfd_mach_o_get_base_address): New prototype.
|
||||||
|
@ -3149,9 +3149,6 @@ bfd_mach_o_read_dylinker (bfd *abfd, bfd_mach_o_load_command *command)
|
|||||||
struct mach_o_str_command_external raw;
|
struct mach_o_str_command_external raw;
|
||||||
unsigned int nameoff;
|
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
|
if (bfd_seek (abfd, command->offset + BFD_MACH_O_LC_SIZE, SEEK_SET) != 0
|
||||||
|| bfd_bread (&raw, sizeof (raw), abfd) != sizeof (raw))
|
|| bfd_bread (&raw, sizeof (raw), abfd) != sizeof (raw))
|
||||||
return -1;
|
return -1;
|
||||||
@ -3845,6 +3842,7 @@ bfd_mach_o_read_command (bfd *abfd, bfd_mach_o_load_command *command)
|
|||||||
break;
|
break;
|
||||||
case BFD_MACH_O_LC_LOAD_DYLINKER:
|
case BFD_MACH_O_LC_LOAD_DYLINKER:
|
||||||
case BFD_MACH_O_LC_ID_DYLINKER:
|
case BFD_MACH_O_LC_ID_DYLINKER:
|
||||||
|
case BFD_MACH_O_LC_DYLD_ENVIRONMENT:
|
||||||
if (bfd_mach_o_read_dylinker (abfd, command) != 0)
|
if (bfd_mach_o_read_dylinker (abfd, command) != 0)
|
||||||
return -1;
|
return -1;
|
||||||
break;
|
break;
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
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>
|
2014-03-27 Tristan Gingold <gingold@adacore.com>
|
||||||
|
|
||||||
* od-macho.c (OPT_FUNCTION_STARTS): New macro.
|
* od-macho.c (OPT_FUNCTION_STARTS): New macro.
|
||||||
|
@ -1026,6 +1026,10 @@ dump_load_command (bfd *abfd, bfd_mach_o_load_command *cmd,
|
|||||||
case BFD_MACH_O_LC_ID_DYLINKER:
|
case BFD_MACH_O_LC_ID_DYLINKER:
|
||||||
printf (" %s\n", cmd->command.dylinker.name_str);
|
printf (" %s\n", cmd->command.dylinker.name_str);
|
||||||
break;
|
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:
|
case BFD_MACH_O_LC_SYMTAB:
|
||||||
{
|
{
|
||||||
bfd_mach_o_symtab_command *symtab = &cmd->command.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_CODE_SIGNATURE:
|
||||||
case BFD_MACH_O_LC_SEGMENT_SPLIT_INFO:
|
case BFD_MACH_O_LC_SEGMENT_SPLIT_INFO:
|
||||||
case BFD_MACH_O_LC_FUNCTION_STARTS:
|
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;
|
bfd_mach_o_linkedit_command *linkedit = &cmd->command.linkedit;
|
||||||
printf
|
printf
|
||||||
|
Reference in New Issue
Block a user