xtensa: Properly strdup string when building reggroup
I noticed this while looking at the reggroup intializations. It seems for xtensa the "cpN" reggroup->name is getting assigned to the same text pointer for each iteration of XTENSA_MAX_COPROCESSOR. Note, internally reggroup_new() does not do any xstrdup(). gdb/ChangeLog: 2017-08-15 Stafford Horne <shorne@gmail.com> * xtensa-tdep.c (xtensa_init_reggroups): Use xstrdup for cpname.
This commit is contained in:
parent
206726fbfd
commit
9c3cc99930
@ -1,3 +1,7 @@
|
||||
2017-08-15 Stafford Horne <shorne@gmail.com>
|
||||
|
||||
* xtensa-tdep.c (xtensa_init_reggroups): Use xstrdup for cpname.
|
||||
|
||||
2017-08-15 Sergio Durigan Junior <sergiodj@redhat.com>
|
||||
|
||||
PR gdb/21954
|
||||
|
@ -740,17 +740,13 @@ static void
|
||||
xtensa_init_reggroups (void)
|
||||
{
|
||||
int i;
|
||||
char cpname[] = "cp0";
|
||||
|
||||
xtensa_ar_reggroup = reggroup_new ("ar", USER_REGGROUP);
|
||||
xtensa_user_reggroup = reggroup_new ("user", USER_REGGROUP);
|
||||
xtensa_vectra_reggroup = reggroup_new ("vectra", USER_REGGROUP);
|
||||
|
||||
for (i = 0; i < XTENSA_MAX_COPROCESSOR; i++)
|
||||
{
|
||||
cpname[2] = '0' + i;
|
||||
xtensa_cp[i] = reggroup_new (cpname, USER_REGGROUP);
|
||||
}
|
||||
xtensa_cp[i] = reggroup_new (xstrprintf ("cp%d", i), USER_REGGROUP);
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user