[committed,gdbserver] Fix s390x -m31 gdbserver build

Message ID 20190620093300.GA6338@delia
State New, archived
Headers

Commit Message

Tom de Vries June 20, 2019, 9:33 a.m. UTC
  Hi,

When building gdb on s390x with -m31, we run into this error:
...
gdb/gdbserver/linux-s390-ipa.c: \
  In function 'const target_desc* get_ipa_tdesc(int)':
gdb/gdbserver/linux-s390-ipa.c:371:18: error: 's390_te_ft_collect_regmap' \
  was not declared in this scope
       SET_REGMAP(s390_te_ft_collect_regmap, 0);

The offending line is part of this code snippet:
...
    case S390_TDESC_GS:
      SET_REGMAP(s390_te_ft_collect_regmap, 0);
      return tdesc_s390_gs_linux64;
...
introduced in commit ce29f8439f "S390: Make IPA recognize tdescs with guarded
storage".

The snippet is part of an #ifdef __s390x__ construct, in the false branch, and
in the true branch we find a snippet introduced by the same commit:
...
    case S390_TDESC_GS:
      SET_REGMAP(s390x_te_ft_collect_regmap, 0);
      return tdesc_s390x_gs_linux64;
...
which is paired with a comment update for s390x_te_ft_collect_regmap:
...
-/* 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[] = {
...

A similar comment update is added in the same commit for
s390_te_linux64_ft_collect_regmap:
...
-/* 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[] = {
...
but not paired with any update.

Fix the build breaker by making the offending SET_REGMAP use the regmap
indicated by the comment.
...
-      SET_REGMAP(s390_te_ft_collect_regmap, 0);
+      SET_REGMAP(s390_te_linux64_ft_collect_regmap, 0);
...

Build on s390x-linux with -m31.

Committed to trunk.

Thanks,
- Tom

[gdbserver] Fix s390x -m31 gdbserver build

gdb/gdbserver/ChangeLog:

2019-06-20  Tom de Vries  <tdevries@suse.de>

	* linux-s390-ipa.c (get_ipa_tdesc)[!__s390x__]: Use
	s390_te_linux64_ft_collect_regmap for S390_TDESC_GS.

---
 gdb/gdbserver/linux-s390-ipa.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Patch

diff --git a/gdb/gdbserver/linux-s390-ipa.c b/gdb/gdbserver/linux-s390-ipa.c
index 7697cd9cbd..d01f5c4109 100644
--- a/gdb/gdbserver/linux-s390-ipa.c
+++ b/gdb/gdbserver/linux-s390-ipa.c
@@ -368,7 +368,7 @@  get_ipa_tdesc (int idx)
       SET_REGMAP(s390_te_linux64_ft_collect_regmap, 0);
       return tdesc_s390_tevx_linux64;
     case S390_TDESC_GS:
-      SET_REGMAP(s390_te_ft_collect_regmap, 0);
+      SET_REGMAP(s390_te_linux64_ft_collect_regmap, 0);
       return tdesc_s390_gs_linux64;
 #endif
     default: