mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-27 17:40:49 +00:00
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.
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user