summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTristan Gingold <tristan.gingold@adacore.com>2014-04-18 11:03:46 +0200
committerTristan Gingold <tristan.gingold@adacore.com>2014-04-18 11:03:46 +0200
commit1bdad2e0421a56e16c0f4623e6320e1225cbe5ee (patch)
tree95fabe7f4e9c683076656a1e6619aa90e202f02b
parent4384b28422294779be111ac24fb34fb6bfe57b32 (diff)
downloadbinutils-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/ChangeLog5
-rw-r--r--gdb/solib-darwin.c20
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)