diff options
author | Tristan Gingold <tristan.gingold@adacore.com> | 2014-04-18 11:03:46 +0200 |
---|---|---|
committer | Tristan Gingold <tristan.gingold@adacore.com> | 2014-04-18 11:03:46 +0200 |
commit | 1bdad2e0421a56e16c0f4623e6320e1225cbe5ee (patch) | |
tree | 95fabe7f4e9c683076656a1e6619aa90e202f02b | |
parent | 4384b28422294779be111ac24fb34fb6bfe57b32 (diff) | |
download | binutils-gdb-1bdad2e0421a56e16c0f4623e6320e1225cbe5ee.tar.gz |
solib-darwin: simplify code.
Use bfd_mach_o_get_base_address to extract load address.
gdb/
* solib-darwin.c (darwin_solib_create_inferior_hook): Simplify
code by using bfd_mach_o_get_base_address.
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/solib-darwin.c | 20 |
2 files changed, 7 insertions, 18 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b00cca9ba0a..c9b914ae54e 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2014-04-18 Tristan Gingold <gingold@adacore.com> + + * solib-darwin.c (darwin_solib_create_inferior_hook): Simplify + code by using bfd_mach_o_get_base_address. + 2014-04-17 Ulrich Weigand <uweigand@de.ibm.com> * spu-tdep.c: Include "dwarf2-frame.h" and "ax.h". diff --git a/gdb/solib-darwin.c b/gdb/solib-darwin.c index a9989ea27dc..03b51d5b92c 100644 --- a/gdb/solib-darwin.c +++ b/gdb/solib-darwin.c @@ -524,26 +524,10 @@ darwin_solib_create_inferior_hook (int from_tty) load_addr = darwin_read_exec_load_addr (info); if (load_addr != 0 && symfile_objfile != NULL) { - CORE_ADDR vmaddr = 0; - struct mach_o_data_struct *md = bfd_mach_o_get_data (exec_bfd); - unsigned int i, num; + CORE_ADDR vmaddr; /* Find the base address of the executable. */ - for (i = 0; i < md->header.ncmds; i++) - { - struct bfd_mach_o_load_command *cmd = &md->commands[i]; - - if (cmd->type != BFD_MACH_O_LC_SEGMENT - && cmd->type != BFD_MACH_O_LC_SEGMENT_64) - continue; - if (cmd->command.segment.fileoff == 0 - && cmd->command.segment.vmaddr != 0 - && cmd->command.segment.filesize != 0) - { - vmaddr = cmd->command.segment.vmaddr; - break; - } - } + vmaddr = bfd_mach_o_get_base_address (exec_bfd); /* Relocate. */ if (vmaddr != load_addr) |