From 9e35dae42503f6cef9a1f87e31a6f1111f3cb508 Mon Sep 17 00:00:00 2001 From: Daniel Jacobowitz Date: Tue, 10 Oct 2006 03:17:53 +0000 Subject: 2006-10-09 Jan Kratochvil Daniel Jacobowitz * 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 * gdb.threads/tls-nodebug.c, gdb.threads/tls-nodebug.exp: New test. --- gdb/expression.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'gdb/expression.h') diff --git a/gdb/expression.h b/gdb/expression.h index dd6184a..4d9205d 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 -- cgit v1.1