[Converted from Gnats 1294] If you do info address on a dwarf2 variable that is described by a location expression, (LOC_COMPUTED class, internally to gdb), you get only some vague description of the var's location. When using the old mechanism, gdb was able to tell you much more about the actual location of the variable. See thread: http://sources.redhat.com/ml/gdb/2003-07/msg00242.html (gdb) info address a_thread_local Symbol "a_thread_local" is a variable with complex or multiple locations (DWARF2). Release: unknown
Posted a RFC patch: http://sourceware.org/ml/gdb-patches/2009-09/msg00649.html
Subject: Bug 8399 CVSROOT: /cvs/src Module name: src Changes by: tromey@sourceware.org 2010-09-14 19:39:59 Modified files: gdb : ChangeLog dwarf2loc.c gdb/testsuite : ChangeLog gdb/testsuite/gdb.threads: tls.exp Log message: gdb PR symtab/8399: * dwarf2loc.c (locexpr_describe_location_piece): Don't call error for unrecognized frame base expression. gdb/testsuite PR symtab/8399: * gdb.threads/tls.exp: Remove kfail. Update expected output. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/ChangeLog.diff?cvsroot=src&r1=1.12181&r2=1.12182 http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/dwarf2loc.c.diff?cvsroot=src&r1=1.97&r2=1.98 http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/testsuite/ChangeLog.diff?cvsroot=src&r1=1.2448&r2=1.2449 http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/testsuite/gdb.threads/tls.exp.diff?cvsroot=src&r1=1.13&r2=1.14
Fixed.