gdb: Update gdbarch.py with latest changes in gdbarch.c
authorThiago Jung Bauermann <thiago.bauermann@linaro.org>
Wed, 11 Jan 2023 16:27:27 +0000 (16:27 +0000)
committerThiago Jung Bauermann <thiago.bauermann@linaro.org>
Wed, 11 Jan 2023 19:41:50 +0000 (19:41 +0000)
Commit 2b16913cdca2 ("gdb: make gdbarch_alloc take ownership of the tdep")
changed gdbarch.c without updating gdbarch.py.  As a result, running
gdbarch.py reverts those changes and causes the build to fail.

So change gdbarch.py to generate the current version of gdbarch.c.

Approved-By: Simon Marchi <simon.marchi@efficios.com>
gdb/gdbarch.py

index d2bf86039d118c62f424886f87793e0ab9b9eee2..7dc79386940f654d4bd1d425593308e7e492f2da 100755 (executable)
@@ -286,7 +286,7 @@ with open("gdbarch.c", "w") as f:
         print(f"  {c.type} {c.name};", file=f)
     print(file=f)
     print("  /* target specific vector.  */", file=f)
-    print("  struct gdbarch_tdep_base *tdep = nullptr;", file=f)
+    print("  gdbarch_tdep_up tdep;", file=f)
     print("  gdbarch_dump_tdep_ftype *dump_tdep = nullptr;", file=f)
     print(file=f)
     print("  /* per-architecture data-pointers.  */", file=f)
@@ -316,13 +316,13 @@ with open("gdbarch.c", "w") as f:
     print(file=f)
     print("struct gdbarch *", file=f)
     print("gdbarch_alloc (const struct gdbarch_info *info,", file=f)
-    print("           struct gdbarch_tdep_base *tdep)", file=f)
+    print("           gdbarch_tdep_up tdep)", file=f)
     print("{", file=f)
     print("  struct gdbarch *gdbarch;", file=f)
     print("", file=f)
     print("  gdbarch = new struct gdbarch;", file=f)
     print(file=f)
-    print("  gdbarch->tdep = tdep;", file=f)
+    print("  gdbarch->tdep = std::move (tdep);", file=f)
     print(file=f)
     for c in filter(info, components):
         print(f"  gdbarch->{c.name} = info->{c.name};", file=f)