mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-23 18:14:13 +08:00
* win32-nat.c (solib_symbols_add): Use one variable for all section address
stuff. Pass variable rather than address of variable to safe_symbol_file_add.
This commit is contained in:
parent
a731b83190
commit
9f476a0143
@ -1,3 +1,9 @@
|
||||
2003-07-06 Christopher Faylor <cgf@redhat.com>
|
||||
|
||||
* win32-nat.c (solib_symbols_add): Use one variable for all section
|
||||
address stuff. Pass variable rather than address of variable to
|
||||
safe_symbol_file_add.
|
||||
|
||||
2003-07-06 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* m68klinux-nat.c (fill_fpregset): Fix use of loop index.
|
||||
|
@ -637,7 +637,7 @@ get_image_name (HANDLE h, void *address, int unicode)
|
||||
|
||||
/* See if we could read the address of a string, and that the
|
||||
address isn't null. */
|
||||
if (!ReadProcessMemory (h, address, &address_ptr, sizeof (address_ptr), &done)
|
||||
if (!ReadProcessMemory (h, address, &address_ptr, sizeof (address_ptr), &done)
|
||||
|| done != sizeof (address_ptr) || !address_ptr)
|
||||
return NULL;
|
||||
|
||||
@ -802,7 +802,7 @@ get_relocated_section_addrs (bfd *abfd, CORE_ADDR text_load)
|
||||
static struct objfile *
|
||||
solib_symbols_add (char *name, int from_tty, CORE_ADDR load_addr)
|
||||
{
|
||||
struct section_addr_info *section_addrs_ptr = NULL;
|
||||
struct section_addr_info *addrs = NULL;
|
||||
static struct objfile *result = NULL;
|
||||
bfd *abfd = NULL;
|
||||
|
||||
@ -825,33 +825,28 @@ solib_symbols_add (char *name, int from_tty, CORE_ADDR load_addr)
|
||||
{
|
||||
if (bfd_check_format (abfd, bfd_object))
|
||||
{
|
||||
section_addrs_ptr = get_relocated_section_addrs (abfd, load_addr);
|
||||
addrs = get_relocated_section_addrs (abfd, load_addr);
|
||||
}
|
||||
|
||||
bfd_close (abfd);
|
||||
}
|
||||
|
||||
if (section_addrs_ptr)
|
||||
if (addrs)
|
||||
{
|
||||
result = safe_symbol_file_add (name, from_tty, section_addrs_ptr,
|
||||
0, OBJF_SHARED);
|
||||
|
||||
free_section_addr_info (section_addrs_ptr);
|
||||
result = safe_symbol_file_add (name, from_tty, addrs, 0, OBJF_SHARED);
|
||||
free_section_addr_info (addrs);
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
/* Fallback on handling just the .text section. */
|
||||
struct section_addr_info *section_addrs;
|
||||
struct cleanup *my_cleanups;
|
||||
|
||||
section_addrs = alloc_section_addr_info (1);
|
||||
my_cleanups = make_cleanup (xfree, section_addrs);
|
||||
section_addrs->other[0].name = ".text";
|
||||
section_addrs->other[0].addr = load_addr;
|
||||
addrs = alloc_section_addr_info (1);
|
||||
my_cleanups = make_cleanup (xfree, addrs);
|
||||
addrs->other[0].name = ".text";
|
||||
addrs->other[0].addr = load_addr;
|
||||
|
||||
result = safe_symbol_file_add (name, from_tty, §ion_addrs,
|
||||
0, OBJF_SHARED);
|
||||
result = safe_symbol_file_add (name, from_tty, addrs, 0, OBJF_SHARED);
|
||||
do_cleanups (my_cleanups);
|
||||
}
|
||||
|
||||
@ -2215,8 +2210,7 @@ typedef struct
|
||||
{
|
||||
struct target_ops *target;
|
||||
bfd_vma addr;
|
||||
}
|
||||
map_code_section_args;
|
||||
} map_code_section_args;
|
||||
|
||||
static void
|
||||
map_single_dll_code_section (bfd * abfd, asection * sect, void *obj)
|
||||
|
@ -637,7 +637,7 @@ get_image_name (HANDLE h, void *address, int unicode)
|
||||
|
||||
/* See if we could read the address of a string, and that the
|
||||
address isn't null. */
|
||||
if (!ReadProcessMemory (h, address, &address_ptr, sizeof (address_ptr), &done)
|
||||
if (!ReadProcessMemory (h, address, &address_ptr, sizeof (address_ptr), &done)
|
||||
|| done != sizeof (address_ptr) || !address_ptr)
|
||||
return NULL;
|
||||
|
||||
@ -802,7 +802,7 @@ get_relocated_section_addrs (bfd *abfd, CORE_ADDR text_load)
|
||||
static struct objfile *
|
||||
solib_symbols_add (char *name, int from_tty, CORE_ADDR load_addr)
|
||||
{
|
||||
struct section_addr_info *section_addrs_ptr = NULL;
|
||||
struct section_addr_info *addrs = NULL;
|
||||
static struct objfile *result = NULL;
|
||||
bfd *abfd = NULL;
|
||||
|
||||
@ -825,33 +825,28 @@ solib_symbols_add (char *name, int from_tty, CORE_ADDR load_addr)
|
||||
{
|
||||
if (bfd_check_format (abfd, bfd_object))
|
||||
{
|
||||
section_addrs_ptr = get_relocated_section_addrs (abfd, load_addr);
|
||||
addrs = get_relocated_section_addrs (abfd, load_addr);
|
||||
}
|
||||
|
||||
bfd_close (abfd);
|
||||
}
|
||||
|
||||
if (section_addrs_ptr)
|
||||
if (addrs)
|
||||
{
|
||||
result = safe_symbol_file_add (name, from_tty, section_addrs_ptr,
|
||||
0, OBJF_SHARED);
|
||||
|
||||
free_section_addr_info (section_addrs_ptr);
|
||||
result = safe_symbol_file_add (name, from_tty, addrs, 0, OBJF_SHARED);
|
||||
free_section_addr_info (addrs);
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
/* Fallback on handling just the .text section. */
|
||||
struct section_addr_info *section_addrs;
|
||||
struct cleanup *my_cleanups;
|
||||
|
||||
section_addrs = alloc_section_addr_info (1);
|
||||
my_cleanups = make_cleanup (xfree, section_addrs);
|
||||
section_addrs->other[0].name = ".text";
|
||||
section_addrs->other[0].addr = load_addr;
|
||||
addrs = alloc_section_addr_info (1);
|
||||
my_cleanups = make_cleanup (xfree, addrs);
|
||||
addrs->other[0].name = ".text";
|
||||
addrs->other[0].addr = load_addr;
|
||||
|
||||
result = safe_symbol_file_add (name, from_tty, §ion_addrs,
|
||||
0, OBJF_SHARED);
|
||||
result = safe_symbol_file_add (name, from_tty, addrs, 0, OBJF_SHARED);
|
||||
do_cleanups (my_cleanups);
|
||||
}
|
||||
|
||||
@ -2215,8 +2210,7 @@ typedef struct
|
||||
{
|
||||
struct target_ops *target;
|
||||
bfd_vma addr;
|
||||
}
|
||||
map_code_section_args;
|
||||
} map_code_section_args;
|
||||
|
||||
static void
|
||||
map_single_dll_code_section (bfd * abfd, asection * sect, void *obj)
|
||||
|
Loading…
Reference in New Issue
Block a user