]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
[gdbserver] Fix s390x -m31 gdbserver build
authorTom de Vries <tdevries@suse.de>
Thu, 20 Jun 2019 09:31:36 +0000 (11:31 +0200)
committerTom de Vries <tdevries@suse.de>
Thu, 20 Jun 2019 09:31:36 +0000 (11:31 +0200)
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.

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/ChangeLog
gdb/gdbserver/linux-s390-ipa.c

index fad8fa50f7409ee6d7b21a3745857ab9a429b5a2..d7094ca3a1a9178f7dabce14009e4f67361f3847 100644 (file)
@@ -1,3 +1,8 @@
+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.
+
 2019-06-19  Tom de Vries  <tdevries@suse.de>
 
        * debug.h (debug_write): Change return type to ssize_t.
index 7697cd9cbd90f790c263c2de55c1fd516d9672f4..d01f5c4109100dcccef7cc6ce04224a1dbe0242f 100644 (file)
@@ -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: