mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-03 04:12:10 +08:00
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.
This commit is contained in:
parent
4384b28422
commit
1bdad2e042
@ -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".
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user