mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-01-26 03:27:18 +00:00
gdbserver: Rephrase loops in regsets_fetch/store_inferior_registers
Replace the while-loops in linux-low.c that iterate over regsets by for-loops. This makes it clearer what is iterated over. Also, since "continue" now moves on to the next iteration without having to increment the regset pointer first, the code is slightly reduced. In case of EIO the old code did not increment the regset pointer, but iterated over the same (now disabled) regset again. This extra iteration is now avoided. gdb/gdbserver/ChangeLog: * linux-low.c (regsets_fetch_inferior_registers): Rephrase while-loop as for-loop. (regsets_store_inferior_registers): Likewise.
This commit is contained in:
parent
6cabe1ea46
commit
28eef6727d
@ -1,3 +1,9 @@
|
||||
2014-12-12 Andreas Arnez <arnez@linux.vnet.ibm.com>
|
||||
|
||||
* linux-low.c (regsets_fetch_inferior_registers): Rephrase
|
||||
while-loop as for-loop.
|
||||
(regsets_store_inferior_registers): Likewise.
|
||||
|
||||
2014-11-28 Yao Qi <yao@codesourcery.com>
|
||||
|
||||
* configure.ac(AC_CHECK_FUNCS): Remove readlink.
|
||||
|
@ -4221,19 +4221,14 @@ regsets_fetch_inferior_registers (struct regsets_info *regsets_info,
|
||||
int pid;
|
||||
struct iovec iov;
|
||||
|
||||
regset = regsets_info->regsets;
|
||||
|
||||
pid = lwpid_of (current_thread);
|
||||
while (regset->size >= 0)
|
||||
for (regset = regsets_info->regsets; regset->size >= 0; regset++)
|
||||
{
|
||||
void *buf, *data;
|
||||
int nt_type, res;
|
||||
|
||||
if (regset->size == 0 || regset_disabled (regsets_info, regset))
|
||||
{
|
||||
regset ++;
|
||||
continue;
|
||||
}
|
||||
continue;
|
||||
|
||||
buf = xmalloc (regset->size);
|
||||
|
||||
@ -4274,7 +4269,6 @@ regsets_fetch_inferior_registers (struct regsets_info *regsets_info,
|
||||
else if (regset->type == GENERAL_REGS)
|
||||
saw_general_regs = 1;
|
||||
regset->store_function (regcache, buf);
|
||||
regset ++;
|
||||
free (buf);
|
||||
}
|
||||
if (saw_general_regs)
|
||||
@ -4292,19 +4286,14 @@ regsets_store_inferior_registers (struct regsets_info *regsets_info,
|
||||
int pid;
|
||||
struct iovec iov;
|
||||
|
||||
regset = regsets_info->regsets;
|
||||
|
||||
pid = lwpid_of (current_thread);
|
||||
while (regset->size >= 0)
|
||||
for (regset = regsets_info->regsets; regset->size >= 0; regset++)
|
||||
{
|
||||
void *buf, *data;
|
||||
int nt_type, res;
|
||||
|
||||
if (regset->size == 0 || regset_disabled (regsets_info, regset))
|
||||
{
|
||||
regset ++;
|
||||
continue;
|
||||
}
|
||||
continue;
|
||||
|
||||
buf = xmalloc (regset->size);
|
||||
|
||||
@ -4350,8 +4339,6 @@ regsets_store_inferior_registers (struct regsets_info *regsets_info,
|
||||
/* If we get EIO on a regset, do not try it again for
|
||||
this process mode. */
|
||||
disable_regset (regsets_info, regset);
|
||||
free (buf);
|
||||
continue;
|
||||
}
|
||||
else if (errno == ESRCH)
|
||||
{
|
||||
@ -4369,7 +4356,6 @@ regsets_store_inferior_registers (struct regsets_info *regsets_info,
|
||||
}
|
||||
else if (regset->type == GENERAL_REGS)
|
||||
saw_general_regs = 1;
|
||||
regset ++;
|
||||
free (buf);
|
||||
}
|
||||
if (saw_general_regs)
|
||||
|
Loading…
x
Reference in New Issue
Block a user