]> Cypherpunks repositories - gostls13.git/commitdiff
gdb: fix "gdb.error: No struct named reflect.rtype."
authorJan Kratochvil <jan.kratochvil@redhat.com>
Sat, 21 Feb 2015 16:35:01 +0000 (17:35 +0100)
committerIan Lance Taylor <iant@golang.org>
Sun, 22 Feb 2015 19:27:07 +0000 (19:27 +0000)
With a trivial Golang-built program loaded in gdb-7.8.90.20150214-7.fc23.x86_64
I get this error:

(gdb) source ./src/runtime/runtime-gdb.py
Loading Go Runtime support.
Traceback (most recent call last):
  File "./src/runtime/runtime-gdb.py", line 230, in <module>
    _rctp_type = gdb.lookup_type("struct reflect.rtype").pointer()
gdb.error: No struct type named reflect.rtype.
(gdb) q

No matter if this struct should or should not be in every Golang-built binary
this change should fix that with no disadvantages.

Change-Id: I0c490d3c9bbe93c65a2183b41bfbdc0c0f405bd1
Reviewed-on: https://go-review.googlesource.com/5521
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/runtime/runtime-gdb.py

index 6076bcb11bcadf1fd7afe4179b4c98a9179c4323..47a28f5ee6eb29ef80d2c2ba829ebdf2dc93cb9e 100644 (file)
@@ -227,8 +227,6 @@ def lookup_type(name):
        except gdb.error:
                pass
 
-_rctp_type = gdb.lookup_type("struct reflect.rtype").pointer()
-
 
 def iface_commontype(obj):
        if is_iface(obj):
@@ -238,7 +236,7 @@ def iface_commontype(obj):
        else:
                return
 
-       return go_type_ptr.cast(_rctp_type).dereference()
+       return go_type_ptr.cast(gdb.lookup_type("struct reflect.rtype").pointer()).dereference()
 
 
 def iface_dtype(obj):