procfs.c: Move solib_mappings_callback up to avoid compiler warning.
There are currently 2 issues with the placement of this routine: - It's defined after it is being used (causing an implicit declaration); - It looks like it's being defined all the time, whereas it is used only on mips-irix (AFAICT) - shouldn't have this triggered a warning on sparc-solaris, for instance??? In any case, this patch moves this function up, inside the right region, just before the function where it is actually used. gdb/ChangeLog: * procfs.c (solib_mappings_callback): Move function up to avoid a compiler warning.
This commit is contained in:
parent
a223f1e7a0
commit
e294797a88
@ -1,3 +1,8 @@
|
||||
2010-04-20 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* procfs.c (solib_mappings_callback): Move function up to avoid
|
||||
a compiler warning.
|
||||
|
||||
2010-04-20 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* procfs.c (find_signalled_thread, find_stop_signal): Move
|
||||
|
98
gdb/procfs.c
98
gdb/procfs.c
@ -4043,6 +4043,53 @@ insert_dbx_link_bpt_in_file (int fd, CORE_ADDR ignored)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Calls the supplied callback function once for each mapped address
|
||||
space in the process. The callback function receives an open
|
||||
file descriptor for the file corresponding to that mapped
|
||||
address space (if there is one), and the base address of the
|
||||
mapped space. Quit when the callback function returns a
|
||||
nonzero value, or at teh end of the mappings.
|
||||
|
||||
Returns: the first non-zero return value of the callback function,
|
||||
or zero. */
|
||||
|
||||
static int
|
||||
solib_mappings_callback (struct prmap *map, int (*func) (int, CORE_ADDR),
|
||||
void *data)
|
||||
{
|
||||
procinfo *pi = data;
|
||||
int fd;
|
||||
|
||||
#ifdef NEW_PROC_API
|
||||
char name[MAX_PROC_NAME_SIZE + sizeof (map->pr_mapname)];
|
||||
|
||||
if (map->pr_vaddr == 0 && map->pr_size == 0)
|
||||
return -1; /* sanity */
|
||||
|
||||
if (map->pr_mapname[0] == 0)
|
||||
{
|
||||
fd = -1; /* no map file */
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf (name, "/proc/%d/object/%s", pi->pid, map->pr_mapname);
|
||||
/* Note: caller's responsibility to close this fd! */
|
||||
fd = open_with_retry (name, O_RDONLY);
|
||||
/* Note: we don't test the above call for failure;
|
||||
we just pass the FD on as given. Sometimes there is
|
||||
no file, so the open may return failure, but that's
|
||||
not a problem. */
|
||||
}
|
||||
#else
|
||||
fd = ioctl (pi->ctl_fd, PIOCOPENM, &map->pr_vaddr);
|
||||
/* Note: we don't test the above call for failure;
|
||||
we just pass the FD on as given. Sometimes there is
|
||||
no file, so the ioctl may return failure, but that's
|
||||
not a problem. */
|
||||
#endif
|
||||
return (*func) (fd, (CORE_ADDR) map->pr_vaddr);
|
||||
}
|
||||
|
||||
/* If the given memory region MAP contains a symbol named __dbx_link,
|
||||
insert a breakpoint at this location and return nonzero. Return
|
||||
zero otherwise. */
|
||||
@ -5623,57 +5670,6 @@ iterate_over_mappings (procinfo *pi, int (*child_func) (), void *data,
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Function: solib_mappings_callback
|
||||
*
|
||||
* Calls the supplied callback function once for each mapped address
|
||||
* space in the process. The callback function receives an open
|
||||
* file descriptor for the file corresponding to that mapped
|
||||
* address space (if there is one), and the base address of the
|
||||
* mapped space. Quit when the callback function returns a
|
||||
* nonzero value, or at teh end of the mappings.
|
||||
*
|
||||
* Returns: the first non-zero return value of the callback function,
|
||||
* or zero.
|
||||
*/
|
||||
|
||||
int solib_mappings_callback (struct prmap *map,
|
||||
int (*func) (int, CORE_ADDR),
|
||||
void *data)
|
||||
{
|
||||
procinfo *pi = data;
|
||||
int fd;
|
||||
|
||||
#ifdef NEW_PROC_API
|
||||
char name[MAX_PROC_NAME_SIZE + sizeof (map->pr_mapname)];
|
||||
|
||||
if (map->pr_vaddr == 0 && map->pr_size == 0)
|
||||
return -1; /* sanity */
|
||||
|
||||
if (map->pr_mapname[0] == 0)
|
||||
{
|
||||
fd = -1; /* no map file */
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf (name, "/proc/%d/object/%s", pi->pid, map->pr_mapname);
|
||||
/* Note: caller's responsibility to close this fd! */
|
||||
fd = open_with_retry (name, O_RDONLY);
|
||||
/* Note: we don't test the above call for failure;
|
||||
we just pass the FD on as given. Sometimes there is
|
||||
no file, so the open may return failure, but that's
|
||||
not a problem. */
|
||||
}
|
||||
#else
|
||||
fd = ioctl (pi->ctl_fd, PIOCOPENM, &map->pr_vaddr);
|
||||
/* Note: we don't test the above call for failure;
|
||||
we just pass the FD on as given. Sometimes there is
|
||||
no file, so the ioctl may return failure, but that's
|
||||
not a problem. */
|
||||
#endif
|
||||
return (*func) (fd, (CORE_ADDR) map->pr_vaddr);
|
||||
}
|
||||
|
||||
/*
|
||||
* Function: find_memory_regions_callback
|
||||
*
|
||||
|
Loading…
x
Reference in New Issue
Block a user