S390: Make IPA recognize tdescs with guarded storage
The in-process agent does not handle tdescs with guarded storage yet. This is fixed. gdb/gdbserver/ChangeLog: * linux-s390-ipa.c (get_ipa_tdesc): Add handling for S390_TDESC_GS. * linux-s390-low.c (s390_get_ipa_tdesc_idx): Likewise. (initialize_low_tracepoint): Call init_registers_s390x_gs_linux64 and init_registers_s390_gs_linux64.
This commit is contained in:
parent
c49bd90bdb
commit
ce29f8439f
3 changed files with 23 additions and 2 deletions
|
@ -1,3 +1,11 @@
|
||||||
|
2018-03-21 Andreas Arnez <arnez@linux.vnet.ibm.com>
|
||||||
|
|
||||||
|
* linux-s390-ipa.c (get_ipa_tdesc): Add handling for
|
||||||
|
S390_TDESC_GS.
|
||||||
|
* linux-s390-low.c (s390_get_ipa_tdesc_idx): Likewise.
|
||||||
|
(initialize_low_tracepoint): Call init_registers_s390x_gs_linux64
|
||||||
|
and init_registers_s390_gs_linux64.
|
||||||
|
|
||||||
2018-03-21 Andreas Arnez <arnez@linux.vnet.ibm.com>
|
2018-03-21 Andreas Arnez <arnez@linux.vnet.ibm.com>
|
||||||
|
|
||||||
* linux-s390-low.c (s390_fill_gs): Remove function.
|
* linux-s390-low.c (s390_fill_gs): Remove function.
|
||||||
|
|
|
@ -119,7 +119,7 @@ static const int s390_linux64_ft_collect_regmap[] = {
|
||||||
FT_VR (28), FT_VR (29), FT_VR (30), FT_VR (31),
|
FT_VR (28), FT_VR (29), FT_VR (30), FT_VR (31),
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Used for s390-te-linux64, s390-tevx-linux64. */
|
/* Used for s390-te-linux64, s390-tevx-linux64, and s390-gs-linux64. */
|
||||||
|
|
||||||
static const int s390_te_linux64_ft_collect_regmap[] = {
|
static const int s390_te_linux64_ft_collect_regmap[] = {
|
||||||
/* 32-bit PSWA and PSWM. */
|
/* 32-bit PSWA and PSWM. */
|
||||||
|
@ -207,7 +207,8 @@ static const int s390x_ft_collect_regmap[] = {
|
||||||
FT_VR (28), FT_VR (29), FT_VR (30), FT_VR (31),
|
FT_VR (28), FT_VR (29), FT_VR (30), FT_VR (31),
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Used for s390x-te-linux64, s390x-tevx-linux64. */
|
/* Used for s390x-te-linux64, s390x-tevx-linux64, and
|
||||||
|
s390x-gs-linux64. */
|
||||||
|
|
||||||
static const int s390x_te_ft_collect_regmap[] = {
|
static const int s390x_te_ft_collect_regmap[] = {
|
||||||
/* 64-bit PSWA and PSWM. */
|
/* 64-bit PSWA and PSWM. */
|
||||||
|
@ -335,6 +336,9 @@ get_ipa_tdesc (int idx)
|
||||||
case S390_TDESC_TEVX:
|
case S390_TDESC_TEVX:
|
||||||
SET_REGMAP(s390x_te_ft_collect_regmap, 0);
|
SET_REGMAP(s390x_te_ft_collect_regmap, 0);
|
||||||
return tdesc_s390x_tevx_linux64;
|
return tdesc_s390x_tevx_linux64;
|
||||||
|
case S390_TDESC_GS:
|
||||||
|
SET_REGMAP(s390x_te_ft_collect_regmap, 0);
|
||||||
|
return tdesc_s390x_gs_linux64;
|
||||||
#else
|
#else
|
||||||
case S390_TDESC_32:
|
case S390_TDESC_32:
|
||||||
SET_REGMAP(s390_linux32_ft_collect_regmap, 0);
|
SET_REGMAP(s390_linux32_ft_collect_regmap, 0);
|
||||||
|
@ -363,6 +367,9 @@ get_ipa_tdesc (int idx)
|
||||||
case S390_TDESC_TEVX:
|
case S390_TDESC_TEVX:
|
||||||
SET_REGMAP(s390_te_linux64_ft_collect_regmap, 0);
|
SET_REGMAP(s390_te_linux64_ft_collect_regmap, 0);
|
||||||
return tdesc_s390_tevx_linux64;
|
return tdesc_s390_tevx_linux64;
|
||||||
|
case S390_TDESC_GS:
|
||||||
|
SET_REGMAP(s390_te_ft_collect_regmap, 0);
|
||||||
|
return tdesc_s390_gs_linux64;
|
||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
internal_error (__FILE__, __LINE__,
|
internal_error (__FILE__, __LINE__,
|
||||||
|
@ -440,6 +447,7 @@ initialize_low_tracepoint (void)
|
||||||
init_registers_s390x_te_linux64 ();
|
init_registers_s390x_te_linux64 ();
|
||||||
init_registers_s390x_vx_linux64 ();
|
init_registers_s390x_vx_linux64 ();
|
||||||
init_registers_s390x_tevx_linux64 ();
|
init_registers_s390x_tevx_linux64 ();
|
||||||
|
init_registers_s390x_gs_linux64 ();
|
||||||
#else
|
#else
|
||||||
init_registers_s390_linux32 ();
|
init_registers_s390_linux32 ();
|
||||||
init_registers_s390_linux32v1 ();
|
init_registers_s390_linux32v1 ();
|
||||||
|
@ -450,5 +458,6 @@ initialize_low_tracepoint (void)
|
||||||
init_registers_s390_te_linux64 ();
|
init_registers_s390_te_linux64 ();
|
||||||
init_registers_s390_vx_linux64 ();
|
init_registers_s390_vx_linux64 ();
|
||||||
init_registers_s390_tevx_linux64 ();
|
init_registers_s390_tevx_linux64 ();
|
||||||
|
init_registers_s390_gs_linux64 ();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -1431,6 +1431,8 @@ s390_get_ipa_tdesc_idx (void)
|
||||||
return S390_TDESC_VX;
|
return S390_TDESC_VX;
|
||||||
if (tdesc == tdesc_s390x_tevx_linux64)
|
if (tdesc == tdesc_s390x_tevx_linux64)
|
||||||
return S390_TDESC_TEVX;
|
return S390_TDESC_TEVX;
|
||||||
|
if (tdesc == tdesc_s390x_gs_linux64)
|
||||||
|
return S390_TDESC_GS;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (tdesc == tdesc_s390_linux32)
|
if (tdesc == tdesc_s390_linux32)
|
||||||
|
@ -1451,6 +1453,8 @@ s390_get_ipa_tdesc_idx (void)
|
||||||
return S390_TDESC_VX;
|
return S390_TDESC_VX;
|
||||||
if (tdesc == tdesc_s390_tevx_linux64)
|
if (tdesc == tdesc_s390_tevx_linux64)
|
||||||
return S390_TDESC_TEVX;
|
return S390_TDESC_TEVX;
|
||||||
|
if (tdesc == tdesc_s390_gs_linux64)
|
||||||
|
return S390_TDESC_GS;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue