summaryrefslogtreecommitdiff
path: root/gdb/expression.h
diff options
context:
space:
mode:
authorDaniel Jacobowitz <dan@debian.org>2006-10-10 03:17:53 +0000
committerDaniel Jacobowitz <dan@debian.org>2006-10-10 03:17:53 +0000
commite87e493d73ddf98635afb81422f0c56bbff0957a (patch)
tree1b89f2b13a903dbce0d895cbbd63d0d09e47e070 /gdb/expression.h
parent9882179dac6a75ec376faa67e92b5cf269232438 (diff)
downloadgdb-e87e493d73ddf98635afb81422f0c56bbff0957a.tar.gz
2006-10-09 Jan Kratochvil <jan.kratochvil@redhat.com>
Daniel Jacobowitz <dan@codesourcery.com> * Makefile.in (expprint.o, parse.o, target.o): Update. * dwarf2loc.c (dwarf_expr_tls_address): Move body to target_translate_tls_address. Call it. * eval.c (evaluate_subexp_standard): Handle UNOP_MEMVAL_TLS. * expprint.c (print_subexp_standard): Likewise. (op_name_standard, dump_subexp_body_standard): Likewise. * expression.h (enum exp_opcode): Add UNOP_MEMVAL_TLS. (union exp_element): Add objfile. * parse.c (write_exp_elt_objfile): New function. (msym_tls_symbol_type): New. (write_exp_msymbol): Handle TLS. (operator_length_standard): Handle UNOP_MEMVAL_TLS. (build_parse): Initialize msym_tls_symbol_type. * parser-defs.h (write_exp_elt_objfile): New prototype. * target.c (target_translate_tls_address): New. * target.h (target_translate_tls_address): Add prototype. 2006-10-09 Jan Kratochvil <jan.kratochvil@redhat.com> * gdb.threads/tls-nodebug.c, gdb.threads/tls-nodebug.exp: New test.
Diffstat (limited to 'gdb/expression.h')
-rw-r--r--gdb/expression.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/gdb/expression.h b/gdb/expression.h
index dd6184a171f..4d9205d7d85 100644
--- a/gdb/expression.h
+++ b/gdb/expression.h
@@ -234,6 +234,13 @@ enum exp_opcode
following subexpression. */
UNOP_MEMVAL,
+ /* UNOP_MEMVAL_TLS is followed by a `struct objfile' pointer in the next
+ exp_element and a type pointer in the following exp_element.
+ With another UNOP_MEMVAL_TLS at the end, this makes four exp_elements.
+ It casts the contents of the word offsetted by the value of the
+ following subexpression from the TLS specified by `struct objfile'. */
+ UNOP_MEMVAL_TLS,
+
/* UNOP_... operate on one value from a following subexpression
and replace it with a result. They take no immediate arguments. */
@@ -360,6 +367,7 @@ union exp_element
struct type *type;
struct internalvar *internalvar;
struct block *block;
+ struct objfile *objfile;
};
struct expression