83 int offset2,
int len2)
87 l =
max (offset1, offset2);
88 h =
min (offset1 + len1, offset2 + len2);
356 length * TARGET_CHAR_BIT);
364 return ranges_contain (value->optimized_out, bit_offset, bit_length);
597 length * TARGET_CHAR_BIT);
633 const gdb_byte *ptr2,
size_t offset2_bits,
639 if (offset1_bits % TARGET_CHAR_BIT != 0)
649 gdb_assert (bits <
sizeof (mask) * TARGET_CHAR_BIT);
650 mask = (1 <<
bits) - 1;
652 if (length_bits < bits)
654 mask &= ~(
gdb_byte) ((1 << (bits - length_bits)) - 1);
668 offset1_bits +=
bits;
669 offset2_bits +=
bits;
672 if (length_bits % TARGET_CHAR_BIT != 0)
684 o1 = offset1_bits + length_bits -
bits;
685 o2 = offset2_bits + length_bits -
bits;
687 gdb_assert (bits <
sizeof (mask) * TARGET_CHAR_BIT);
688 mask = ((1 <<
bits) - 1) << (TARGET_CHAR_BIT -
bits);
707 gdb_assert (offset1_bits % TARGET_CHAR_BIT == 0);
708 gdb_assert (offset2_bits % TARGET_CHAR_BIT == 0);
709 gdb_assert (length_bits % TARGET_CHAR_BIT == 0);
711 return memcmp (ptr1 + offset1_bits / TARGET_CHAR_BIT,
712 ptr2 + offset2_bits / TARGET_CHAR_BIT,
713 length_bits / TARGET_CHAR_BIT);
751 if (rp1->idx == -1 && rp2->idx == -1)
757 else if (rp1->idx == -1 || rp2->idx == -1)
775 h2 =
min (offset2 + length, offset2 + r2->
length);
786 if (l1 != l2 || h1 != h2)
804 const struct value *val2,
int offset2,
820 memset (&rp1, 0,
sizeof (rp1));
821 memset (&rp2, 0,
sizeof (rp2));
822 rp1[0].ranges = val1->unavailable;
823 rp2[0].ranges = val2->unavailable;
824 rp1[1].ranges = val1->optimized_out;
825 rp2[1].ranges = val2->optimized_out;
832 for (i = 0; i < 2; i++)
839 offset1, offset2, length,
844 if (i == 0 || l_tmp < l)
866 const struct value *val2,
int offset2,
870 val2, offset2 * TARGET_CHAR_BIT,
871 length * TARGET_CHAR_BIT);
887 #define VALUE_HISTORY_CHUNK 60
925 val = (
struct value *)
xzalloc (
sizeof (
struct value));
980 struct type *array_type
1075 struct value *old = value->
parent;
1107 int *real_type_found)
1110 struct type *result;
1114 if (real_type_found)
1115 *real_type_found = 0;
1126 struct type *real_type;
1131 if (real_type_found)
1132 *real_type_found = 1;
1136 else if (resolve_simple_types)
1138 if (real_type_found)
1139 *real_type_found = 1;
1150 error (
_(
"value has been optimized out"));
1159 error (
_(
"register has not been saved in frame"));
1201 VEC (
range_s) *src_range,
int src_bit_offset,
1216 dst_bit_offset + (l - src_bit_offset),
1226 const struct value *src,
int src_bit_offset,
1230 src->unavailable, src_bit_offset,
1233 src->optimized_out, src_bit_offset,
1249 struct value *src,
int src_offset,
int length)
1253 int src_bit_offset, dst_bit_offset, bit_length;
1280 src, src_bit_offset,
1296 struct value *src,
int src_offset,
int length)
1319 return value->
stack;
1364 length * TARGET_CHAR_BIT);
1430 return &value->
lval;
1446 if (value->
parent != NULL)
1556 for (val = all_values; val && val != mark; val =
next)
1575 for (val = all_values; val; val =
next)
1607 if (all_values == val)
1609 all_values = val->
next;
1615 for (v = all_values; v; v = v->
next)
1648 for (val = next = all_values;
next; next = next->
next)
1650 if (next->
next == mark)
1652 all_values = next->
next;
1762 const struct value *whole)
1820 value_history_chain = newobj;
1823 value_history_chain->
values[i] = val;
1846 error (
_(
"The history is empty."));
1848 error (
_(
"There is only one value in the history."));
1850 error (
_(
"History does not go back to $$%d."), -num);
1852 if (absnum > value_history_count)
1853 error (
_(
"History has not yet reached $%d."), absnum);
1863 chunk = chunk->
next;
1879 if (num_exp[0] !=
'+' || num_exp[1] !=
'\0')
1885 num = value_history_count - 9;
1908 if (from_tty && num_exp)
2005 register struct cleanup *old_chain =
2012 error (
_(
"Init-if-undefined requires an assignment expression."));
2017 error (
_(
"The first parameter to init-if-undefined "
2018 "should be a GDB variable."));
2041 for (var = internalvars; var; var = var->
next)
2042 if (strcmp (var->
name, name) == 0)
2053 complete_internalvar (
const char *
name)
2059 len = strlen (name);
2061 for (var = internalvars; var; var = var->
next)
2062 if (strncmp (var->
name, name, len) == 0)
2064 char *r = xstrdup (var->
name);
2081 var->
name = concat (name, (
char *)NULL);
2271 int bitsize,
struct value *newval)
2301 error (
_(
"Cannot overwrite convenience function %s"), var->
name);
2341 var->
kind = new_kind;
2364 var->
u.
string = xstrdup (
string);
2418 ifn->
name = xstrdup (name);
2440 struct value *
func,
int argc,
struct value **argv)
2466 xfree ((
char *) self->name);
2467 xfree ((
char *) self->doc);
2496 htab_t copied_types)
2511 htab_t copied_types)
2536 htab_t copied_types;
2545 for (cur = value_history_chain; cur; cur = cur->
next)
2550 for (var = internalvars; var; var = var->
next)
2555 htab_delete (copied_types);
2567 for (var = internalvars; var; var = var->
next)
2598 "Convenience variables have "
2599 "names starting with \"$\";\n"
2600 "use \"set\" as in \"set "
2601 "$foo = 5\" to define them.\n"));
2610 if (worker->
value == NULL)
2621 return worker->
value;
2633 argv[0], argv + 1, argc - 1);
2645 argv[0], argv + 1, argc - 1);
2671 error (
_(
"Invalid floating value found in program."));
2835 error (
_(
"Value can't be converted to integer."));
2928 struct value *retval;
2991 int fieldno,
struct type *arg_type)
3023 if ((bitpos % container_bitsize) + v->
bitsize <= container_bitsize
3025 v->
bitpos = bitpos % container_bitsize;
3030 + (bitpos - v->
bitpos) / 8);
3128 memset (&msym, 0,
sizeof (msym));
3187 int bitpos,
int bitsize)
3200 bytes_read = ((bitpos % 8) + bitsize + 7) / 8;
3204 read_offset = bitpos / 8;
3207 bytes_read, byte_order);
3212 lsbcount = (bytes_read * 8 - bitpos % 8 - bitsize);
3214 lsbcount = (bitpos % 8);
3220 if ((bitsize > 0) && (bitsize < 8 * (
int)
sizeof (val)))
3222 valmask = (((
ULONGEST) 1) << bitsize) - 1;
3226 if (val & (valmask ^ (valmask >> 1)))
3243 int embedded_offset,
int fieldno,
3244 const struct value *val,
LONGEST *result)
3286 int bitpos,
int bitsize,
3287 const gdb_byte *valaddr,
int embedded_offset,
3288 const struct value *val)
3290 enum bfd_endian byte_order;
3308 if (byte_order == BFD_ENDIAN_BIG)
3313 val, src_bit_offset, bitsize);
3332 valaddr, embedded_offset, val);
3359 if ((~fieldval & ~(mask >> 1)) == 0)
3363 if (0 != (fieldval & ~mask))
3367 warning (
_(
"Value does not fit in %d bits."), bitsize);
3376 bytesize = (bitpos + bitsize + 7) / 8;
3381 bitpos = bytesize * 8 - bitpos -
bitsize;
3383 oword &= ~(mask <<
bitpos);
3384 oword |= fieldval <<
bitpos;
3418 error (
_(
"Unexpected type (%d) encountered for integer constant."),
3430 enum bfd_endian byte_order;
3454 error (
_(
"Unexpected type (%d) encountered "
3455 "for unsigned integer constant."),
3514 if (valaddr == NULL)
3534 struct type *resolved_type_no_typedef =
check_typedef (resolved_type);
3537 if (valaddr == NULL)
3555 struct value *result;
3574 error (
_(
"Unexpected type encountered for floating constant."));
3606 for (; isdigit (h[len]); len++)
3610 if (h[len] ==
'_' || isalpha (h[len]))
3627 index = -strtol (&h[2], &local_end, 10);
3643 index = strtol (&h[1], &local_end, 10);
3673 struct type *original_type,
3674 struct value *original_value)
3691 struct value *retval;
3692 struct type *enc_type;
3709 value_type_arg_tmp, arg);
3744 error (
_(
"Function return type unknown."));
3835 struct value *new_val = val, *mark =
value_mark ();
3874 _(
"infinite loop while fetching a register"));
3897 "{ value_fetch_lazy "
3898 "(frame=%d,regnum=%d(%s),...) ",
3941 internal_error (__FILE__, __LINE__,
_(
"Unexpected lazy value type."));
3948 static struct value *
3951 void *cookie,
int argc,
struct value **argv)
3956 error (
_(
"You must provide one argument for $_isvoid."));
3967 Debugger convenience (\"$foo\") variables and functions.\n\
3968 Convenience variables are created when you assign them values;\n\
3969 thus, \"set $foo=1\" gives \"$foo\" the value 1. Values may be any type.\n\
3971 A few convenience variables are given values automatically:\n\
3972 \"$_\"holds the last address examined with \"x\" or \"info lines\",\n\
3973 \"$__\" holds the contents of the last address examined with \"x\"."
3976 Convenience functions are defined via the Python API."
3982 Elements of value history around item number IDX (or last ten)."),
3986 Initialize a convenience variable if necessary.\n\
3987 init-if-undefined VARIABLE = EXPRESSION\n\
3988 Set an internal VARIABLE to the result of the EXPRESSION if it does not\n\
3989 exist or does not contain a value. The EXPRESSION is not evaluated if the\n\
3990 VARIABLE is already initialized."));
3993 Placeholder command for showing help on convenience functions."),
3994 &functionlist,
"function ", 0, &
cmdlist);
3997 Check whether an expression is void.\n\
3998 Usage: $_isvoid (expression)\n\
3999 Return 1 if the expression is void, zero otherwise."),
CORE_ADDR gdbarch_integer_to_address(struct gdbarch *gdbarch, struct type *type, const gdb_byte *buf)
struct gdbarch * target_gdbarch(void)
void set_value_bitpos(struct value *value, int bit)
struct frame_info * frame_find_by_id(struct frame_id id)
#define TYPE_FIELD_STATIC_PHYSNAME(thistype, n)
const char * user_reg_map_regnum_to_name(struct gdbarch *gdbarch, int regnum)
ssize_t read(int fd, void *buf, size_t count)
union exp_element elts[1]
ULONGEST extract_unsigned_integer(const gdb_byte *, int, enum bfd_endian)
struct value * value_mark(void)
struct cmd_list_element * add_prefix_cmd(const char *name, enum command_class theclass, cmd_cfunc_ftype *fun, const char *doc, struct cmd_list_element **prefixlist, const char *prefixname, int allow_unknown, struct cmd_list_element **list)
void(* read)(struct value *v)
struct frame_id * deprecated_value_frame_id_hack(struct value *value)
int unpack_value_field_as_long(struct type *type, const gdb_byte *valaddr, int embedded_offset, int fieldno, const struct value *val, LONGEST *result)
struct type * lookup_array_range_type(struct type *element_type, LONGEST low_bound, LONGEST high_bound)
void value_contents_copy_raw(struct value *dst, int dst_offset, struct value *src, int src_offset, int length)
struct internalvar * create_internalvar(const char *name)
CORE_ADDR extract_typed_address(const gdb_byte *buf, struct type *type)
CORE_ADDR value_raw_address(struct value *value)
struct value * value_addr(struct value *arg1)
struct value * value_primitive_field(struct value *arg1, int offset, int fieldno, struct type *arg_type)
static int value_history_count
#define VALUE_FRAME_ID(val)
#define VALUE_HISTORY_CHUNK
struct value * make_cv_value(int cnst, int voltl, struct value *v)
struct value * value_field_bitfield(struct type *type, int fieldno, const gdb_byte *valaddr, int embedded_offset, const struct value *val)
void set_value_initialized(struct value *val, int status)
void value_free_to_mark(struct value *mark)
void value_print(struct value *val, struct ui_file *stream, const struct value_print_options *options)
struct value * value_from_contents_and_address(struct type *type, const gdb_byte *valaddr, CORE_ADDR address)
static void allocate_value_contents(struct value *val)
#define TYPE_N_BASECLASSES(thistype)
struct value *(* make_value)(struct gdbarch *arch, struct internalvar *var, void *data)
void value_contents_copy(struct value *dst, int dst_offset, struct value *src, int src_offset, int length)
internal_function_fn handler
int value_offset(const struct value *value)
struct internalvar ** deprecated_value_internalvar_hack(struct value *value)
int value_entirely_optimized_out(struct value *value)
struct value * value_from_contents(struct type *type, const gdb_byte *contents)
void store_signed_integer(gdb_byte *, int, enum bfd_endian, LONGEST)
CORE_ADDR unpack_pointer(struct type *type, const gdb_byte *valaddr)
LONGEST value_as_long(struct value *val)
#define BMSYMBOL_VALUE_ADDRESS(symbol)
static void show_values(char *, int)
void warning(const char *fmt,...)
static int ranges_contain(VEC(range_s)*ranges, int offset, int length)
struct value * value_coerce_array(struct value *arg1)
enum lval_type * deprecated_value_lval_hack(struct value *value)
struct internalvar * lookup_only_internalvar(const char *name)
void value_incref(struct value *val)
int value_bitpos(const struct value *value)
int compile_internalvar_to_ax(struct internalvar *var, struct agent_expr *expr, struct axs_value *value)
struct value * invoke_xmethod(struct xmethod_worker *worker, struct value *obj, struct value **args, int nargs)
static struct cmd_list_element * functionlist
int get_internalvar_integer(struct internalvar *var, LONGEST *result)
int value_bits_available(const struct value *value, int offset, int length)
struct ui_file * gdb_stdout
struct value * call_xmethod(struct value *method, int argc, struct value **argv)
static void pack_unsigned_long(gdb_byte *buf, struct type *type, ULONGEST num)
struct value * allocate_value_lazy(struct type *type)
void internal_error(const char *file, int line, const char *fmt,...)
const struct frame_id null_frame_id
void * value_computed_closure(const struct value *v)
#define BASETYPE_VIA_VIRTUAL(thistype, index)
struct xmethod_worker * xm_worker
void unpack_value_bitfield(struct value *dest_val, int bitpos, int bitsize, const gdb_byte *valaddr, int embedded_offset, const struct value *val)
#define VALUE_INTERNALVAR(val)
#define VEC_block_remove(T, V, I, L)
struct value * value_coerce_function(struct value *arg1)
struct value * coerce_ref(struct value *arg)
void value_free(struct value *val)
struct value * value_ind(struct value *arg1)
void set_value_lazy(struct value *value, int val)
struct value * value_copy(struct value *arg)
struct value * value_from_contents_and_address_unresolved(struct type *type, const gdb_byte *valaddr, CORE_ADDR address)
void mark_value_bytes_unavailable(struct value *value, int offset, int length)
#define VEC_safe_push(T, V, O)
DOUBLEST unpack_double(struct type *type, const gdb_byte *valaddr, int *invp)
struct cmd_list_element * cmdlist
#define VEC_lower_bound(T, V, O, LT)
struct internalvar * lookup_internalvar(const char *name)
const gdb_byte * value_contents_for_printing(struct value *value)
struct value_history_chunk * next
#define TYPE_DATA_LOCATION_KIND(thistype)
struct value * value_parent(struct value *value)
static int range_lessthan(const range_s *r1, const range_s *r2)
struct value *(* internal_function_fn)(struct gdbarch *gdbarch, const struct language_defn *language, void *cookie, int argc, struct value **argv)
#define bits(obj, st, fn)
int value_bits_any_optimized_out(const struct value *value, int bit_offset, int bit_length)
struct internalvar_data::@179 make_value
struct value * call_internal_function(struct gdbarch *gdbarch, const struct language_defn *language, struct value *func, int argc, struct value **argv)
#define TYPE_FIELD_TYPE(thistype, n)
DOUBLEST extract_typed_floating(const void *addr, const struct type *type)
#define TYPE_DATA_LOCATION(thistype)
const struct internalvar_funcs * functions
struct value * allocate_value(struct type *type)
static void insert_into_bit_range_vector(VEC(range_s)**vectorp, int offset, int length)
struct internalvar * next
int gdbarch_convert_register_p(struct gdbarch *gdbarch, int regnum, struct type *type)
int gdbarch_integer_to_address_p(struct gdbarch *gdbarch)
void store_unsigned_integer(gdb_byte *, int, enum bfd_endian, ULONGEST)
void printf_filtered(const char *format,...)
static struct value_history_chunk * value_history_chain
const char * paddress(struct gdbarch *gdbarch, CORE_ADDR addr)
struct internalvar * internalvar
static void function_destroyer(struct cmd_list_element *self, void *ignore)
struct value * value_release_to_mark(struct value *mark)
void(* compile_to_ax)(struct internalvar *var, struct agent_expr *expr, struct axs_value *value, void *data)
enum lval_type value_lval_const(const struct value *value)
void deprecated_set_value_type(struct value *value, struct type *type)
void set_value_address(struct value *value, CORE_ADDR addr)
struct value * value_non_lval(struct value *arg)
#define target_get_trace_state_variable_value(tsv, val)
struct value * evaluate_expression(struct expression *exp)
void free_value_chain(struct value *v)
int frame_id_eq(struct frame_id l, struct frame_id r)
void val_print_optimized_out(const struct value *val, struct ui_file *stream)
static struct value * isvoid_internal_fn(struct gdbarch *gdbarch, const struct language_defn *language, void *cookie, int argc, struct value **argv)
static void require_not_optimized_out(const struct value *value)
#define TYPE_FN_FIELD_PHYSNAME(thisfn, n)
#define VEC_iterate(T, V, I, P)
struct value * get_frame_register_value(struct frame_info *frame, int regnum)
void preserve_one_value(struct value *value, struct objfile *objfile, htab_t copied_types)
void free_xmethod_worker(struct xmethod_worker *worker)
struct type * check_typedef(struct type *type)
struct type * result_type_of_xmethod(struct value *method, int argc, struct value **argv)
DOUBLEST decimal_to_doublest(const gdb_byte *from, int len, enum bfd_endian byte_order)
const gdb_byte * value_contents(struct value *value)
#define CATCH(EXCEPTION, MASK)
struct value * value_field(struct value *arg1, int fieldno)
static struct internalvar * internalvars
LONGEST unpack_field_as_long(struct type *type, const gdb_byte *valaddr, int fieldno)
static struct value * all_values
struct value * value_from_decfloat(struct type *type, const gdb_byte *dec)
struct target_ops current_target
CORE_ADDR gdbarch_addr_bits_remove(struct gdbarch *gdbarch, CORE_ADDR addr)
int value_lazy(struct value *value)
struct value * allocate_computed_value(struct type *type, const struct lval_funcs *funcs, void *closure)
short * deprecated_value_regnum_hack(struct value *value)
static void value_ranges_copy_adjusted(struct value *dst, int dst_bit_offset, const struct value *src, int src_bit_offset, int bit_length)
struct value * value_static_field(struct type *type, int fieldno)
void fprintf_filtered(struct ui_file *stream, const char *format,...)
int value_bitsize(const struct value *value)
void * xzalloc(size_t size)
void preserve_ext_lang_values(struct objfile *objfile, htab_t copied_types)
void *(* copy_closure)(const struct value *v)
static int memcmp_with_bit_offsets(const gdb_byte *ptr1, size_t offset1_bits, const gdb_byte *ptr2, size_t offset2_bits, size_t length_bits)
void mark_value_bits_unavailable(struct value *value, int offset, int length)
void set_value_enclosing_type(struct value *val, struct type *new_encl_type)
CORE_ADDR gdbarch_convert_from_func_ptr_addr(struct gdbarch *gdbarch, CORE_ADDR addr, struct target_ops *targ)
void fprintf_unfiltered(struct ui_file *stream, const char *format,...)
mach_port_t mach_port_t name mach_port_t mach_port_t name error_t int status
struct internalvar_data::@181 integer
void(* destroyer)(struct cmd_list_element *self, void *context)
int using_struct_return(struct gdbarch *gdbarch, struct value *function, struct type *value_type)
struct cmd_list_element * showlist
void preserve_values(struct objfile *objfile)
const gdb_byte * value_contents_all(struct value *value)
void set_value_parent(struct value *value, struct value *parent)
#define gdb_assert_not_reached(message)
enum internalvar_kind kind
struct cmd_list_element * add_cmd(const char *name, enum command_class theclass, cmd_cfunc_ftype *fun, const char *doc, struct cmd_list_element **list)
void free_current_contents(void *ptr)
static void function_command(char *command, int from_tty)
struct type * value_enclosing_type(struct value *value)
enum bfd_endian gdbarch_byte_order(struct gdbarch *gdbarch)
void set_internalvar(struct internalvar *var, struct value *val)
struct value *(* coerce_ref)(const struct value *value)
struct cleanup * make_cleanup(make_cleanup_ftype *function, void *arg)
struct type * copy_type_recursive(struct objfile *objfile, struct type *type, htab_t copied_types)
static void set_internalvar_function(struct internalvar *var, struct internal_function *f)
struct gdbarch * get_objfile_arch(const struct objfile *objfile)
struct type * get_xmethod_result_type(struct xmethod_worker *worker, struct value *object, struct value **args, int nargs)
static struct internalvar * intvar
struct value * value_of_xmethod(struct xmethod_worker *worker)
#define VALUE_REGNUM(val)
#define VEC_index(T, V, I)
struct value * coerce_ref_if_computed(const struct value *arg)
struct gdbarch * get_type_arch(const struct type *type)
struct gdbarch * get_current_arch(void)
enum return_value_convention gdbarch_return_value(struct gdbarch *gdbarch, struct value *function, struct type *valtype, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf)
gdb_byte * value_contents_writeable(struct value *value)
struct value * coerce_array(struct value *arg)
char * internalvar_name(struct internalvar *var)
struct value * value_from_longest(struct type *type, LONGEST num)
int value_initialized(struct value *val)
htab_t create_copied_types_hash(struct objfile *objfile)
void set_value_offset(struct value *value, int offset)
struct value * value_at_lazy(struct type *type, CORE_ADDR addr)
const gdb_byte * value_contents_for_printing_const(const struct value *value)
struct value * value_cast(struct type *type, struct value *arg2)
struct cmd_list_element * add_alias_cmd(const char *name, const char *oldname, enum command_class theclass, int abbrev_flag, struct cmd_list_element **list)
struct type * value_rtti_indirect_type(struct value *v, int *full, int *top, int *using_enc)
struct value * value_next(struct value *value)
#define TYPE_DATA_LOCATION_ADDR(thistype)
struct internal_function * function
gdb_byte * value_contents_all_raw(struct value *value)
static void init_if_undefined_command(char *args, int from_tty)
int deprecated_value_modifiable(struct value *value)
void printf_unfiltered(const char *format,...)
enum return_value_convention struct_return_convention(struct gdbarch *gdbarch, struct value *function, struct type *value_type)
struct value * value_from_double(struct type *type, DOUBLEST num)
static int value_contents_bits_eq(const struct value *val1, int offset1, const struct value *val2, int offset2, int length)
void set_value_bitsize(struct value *value, int bit)
struct ui_file * gdb_stdlog
int baseclass_offset(struct type *type, int index, const gdb_byte *valaddr, int embedded_offset, CORE_ADDR address, const struct value *val)
struct value * value_full_object(struct value *argp, struct type *rtype, int xfull, int xtop, int xusing_enc)
#define TYPE_FIELD_BITSIZE(thistype, n)
struct expression * parse_expression(const char *)
struct value * value_of_internalvar(struct gdbarch *gdbarch, struct internalvar *var)
LONGEST unpack_long(struct type *type, const gdb_byte *valaddr)
#define TYPE_FIELD_BITPOS(thistype, n)
static int find_first_range_overlap_and_match(struct ranges_and_idx *rp1, struct ranges_and_idx *rp2, int offset1, int offset2, int length, ULONGEST *l, ULONGEST *h)
struct value * value_fn_field(struct value **arg1p, struct fn_field *f, int j, struct type *type, int offset)
int value_bits_synthetic_pointer(const struct value *value, int offset, int length)
PTR xrealloc(PTR ptr, size_t size)
static void show_convenience(char *, int)
const char const char int
void release_value_or_incref(struct value *val)
struct value * values[VALUE_HISTORY_CHUNK]
#define TYPE_FN_FIELD_TYPE(thisfn, n)
void set_internalvar_component(struct internalvar *var, int offset, int bitpos, int bitsize, struct value *newval)
struct value * allocate_repeat_value(struct type *type, int count)
int value_entirely_available(struct value *value)
void free_all_values(void)
struct value * value_from_pointer(struct type *type, CORE_ADDR addr)
static LONGEST read_offset(bfd *, const gdb_byte *, const struct comp_unit_head *, unsigned int *)
struct type * make_cv_type(int cnst, int voltl, struct type *type, struct type **typeptr)
int value_contents_eq(const struct value *val1, int offset1, const struct value *val2, int offset2, int length)
void set_value_embedded_offset(struct value *value, int val)
const struct language_defn * current_language
int value_optimized_out(struct value *value)
#define TYPE_TARGET_TYPE(thistype)
static int find_first_range_overlap(VEC(range_s)*ranges, int pos, int offset, int length)
void value_fetch_lazy(struct value *val)
char * value_internal_function_name(struct value *val)
void set_value_pointed_to_offset(struct value *value, int val)
void mark_value_bytes_optimized_out(struct value *value, int offset, int length)
int frame_relative_level(struct frame_info *fi)
#define SYMBOL_BLOCK_VALUE(symbol)
#define TYPE_CODE(thistype)
void set_internalvar_string(struct internalvar *var, const char *string)
void modify_field(struct type *type, gdb_byte *addr, LONGEST fieldval, int bitpos, int bitsize)
void read_value_memory(struct value *val, int embedded_offset, int stack, CORE_ADDR memaddr, gdb_byte *buffer, size_t length)
struct type * resolve_dynamic_type(struct type *type, const gdb_byte *valaddr, CORE_ADDR addr)
void _initialize_values(void)
int value_pointed_to_offset(struct value *value)
static int value_entirely_covered_by_range_vector(struct value *value, VEC(range_s)**ranges)
void mark_value_bits_optimized_out(struct value *value, int offset, int length)
struct value * value_of_variable(struct symbol *var, const struct block *b)
struct minimal_symbol * minsym
void set_internalvar_integer(struct internalvar *var, LONGEST l)
struct symbol * lookup_symbol(const char *name, const struct block *block, domain_enum domain, struct field_of_this_result *is_a_field_of_this)
void get_user_print_options(struct value_print_options *opts)
struct bound_minimal_symbol lookup_bound_minimal_symbol(const char *name)
struct value * value_cstring(char *ptr, ssize_t len, struct type *char_type)
int value_bytes_available(const struct value *value, int offset, int length)
static struct internal_function * create_internal_function(const char *name, internal_function_fn handler, void *cookie)
void clear_internalvar(struct internalvar *var)
void add_internal_function(const char *name, const char *doc, internal_function_fn handler, void *cookie)
static LONGEST unpack_bits_as_long(struct type *field_type, const gdb_byte *valaddr, int bitpos, int bitsize)
static int get_internalvar_function(struct internalvar *var, struct internal_function **result)
#define CHECK_TYPEDEF(TYPE)
void error_value_optimized_out(void)
int record_latest_value(struct value *val)
void set_value_stack(struct value *value, int val)
const struct lval_funcs * funcs
int gdbarch_bits_big_endian(struct gdbarch *gdbarch)
void(* destroy)(void *data)
unsigned long long ULONGEST
static int ignore(struct target_ops *ops, struct gdbarch *gdbarch, struct bp_target_info *bp_tgt)
int value_embedded_offset(struct value *value)
void release_value(struct value *val)
int register_size(struct gdbarch *gdbarch, int regnum)
void value_force_lval(struct value *v, CORE_ADDR addr)
struct trace_state_variable * find_trace_state_variable(const char *name)
struct type * value_type(const struct value *value)
void(* free_closure)(struct value *v)
struct value * access_value_history(int num)
struct value * value_from_ulongest(struct type *type, ULONGEST num)
CORE_ADDR value_as_address(struct value *val)
struct value::@177::@178 computed
struct value * readjust_indirect_value_type(struct value *value, struct type *enc_type, struct type *original_type, struct value *original_value)
#define TYPE_FIELD_STATIC_PHYSADDR(thistype, n)
gdb_byte * value_contents_raw(struct value *value)
#define VEC_safe_insert(T, V, I, O)
static int ranges_overlap(int offset1, int len1, int offset2, int len2)
#define TYPE_LENGTH(thistype)
void store_typed_address(gdb_byte *buf, struct type *type, CORE_ADDR addr)
static void preserve_one_internalvar(struct internalvar *var, struct objfile *objfile, htab_t copied_types)
int value_stack(struct value *value)
struct value * allocate_optimized_out_value(struct type *type)
LONGEST extract_signed_integer(const gdb_byte *, int, enum bfd_endian)
void write_memory(CORE_ADDR memaddr, const bfd_byte *myaddr, ssize_t len)
struct internalvar_data::@180 fn
#define TYPE_FIELD_LOC_KIND(thistype, n)
CORE_ADDR value_address(const struct value *value)
struct bound_minimal_symbol lookup_minimal_symbol(const char *name, const char *sfile, struct objfile *objf)
void pack_long(gdb_byte *buf, struct type *type, LONGEST num)
enum bfd_endian byte_order
struct internalvar * create_internalvar_type_lazy(const char *name, const struct internalvar_funcs *funcs, void *data)
int value_entirely_unavailable(struct value *value)
struct type * value_actual_type(struct value *value, int resolve_simple_types, int *real_type_found)
void error(const char *fmt,...)
struct value * value_from_history_ref(const char *h, const char **endp)
DOUBLEST value_as_double(struct value *val)
struct cmd_list_element * add_com(const char *name, enum command_class theclass, cmd_cfunc_ftype *fun, const char *doc)
static void require_available(const struct value *value)
void store_typed_floating(void *addr, const struct type *type, DOUBLEST val)
static void ranges_copy_adjusted(VEC(range_s)**dst_range, int dst_bit_offset, VEC(range_s)*src_range, int src_bit_offset, int bit_length)
struct type * lookup_pointer_type(struct type *type)
struct gdbarch * get_frame_arch(struct frame_info *this_frame)
void throw_error(enum errors error, const char *fmt,...)
void do_cleanups(struct cleanup *old_chain)
struct internalvar * internalvar
struct type * enclosing_type
void set_value_component_location(struct value *component, const struct value *whole)
union value::@177 location
const ULONGEST const LONGEST len
const struct floatformat * floatformat_from_type(const struct type *type)
const struct lval_funcs * value_computed_funcs(const struct value *v)
LONGEST parse_and_eval_long(const char *exp)