gdb: remove symbol value macros
authorSimon Marchi <simon.marchi@efficios.com>
Fri, 28 Jan 2022 13:09:50 +0000 (08:09 -0500)
committerSimon Marchi <simon.marchi@efficios.com>
Mon, 11 Apr 2022 14:45:36 +0000 (10:45 -0400)
Remove all macros related to getting and setting some symbol value:

    #define SYMBOL_VALUE(symbol)           (symbol)->value.ivalue
    #define SYMBOL_VALUE_ADDRESS(symbol)                         \
    #define SET_SYMBOL_VALUE_ADDRESS(symbol, new_value)    \
    #define SYMBOL_VALUE_BYTES(symbol)     (symbol)->value.bytes
    #define SYMBOL_VALUE_COMMON_BLOCK(symbol) (symbol)->value.common_block
    #define SYMBOL_BLOCK_VALUE(symbol)     (symbol)->value.block
    #define SYMBOL_VALUE_CHAIN(symbol)     (symbol)->value.chain
    #define MSYMBOL_VALUE(symbol)          (symbol)->value.ivalue
    #define MSYMBOL_VALUE_RAW_ADDRESS(symbol) ((symbol)->value.address + 0)
    #define MSYMBOL_VALUE_ADDRESS(objfile, symbol)                         \
    #define BMSYMBOL_VALUE_ADDRESS(symbol) \
    #define SET_MSYMBOL_VALUE_ADDRESS(symbol, new_value)   \
    #define MSYMBOL_VALUE_BYTES(symbol)    (symbol)->value.bytes
    #define MSYMBOL_BLOCK_VALUE(symbol)    (symbol)->value.block

Replace them with equivalent methods on the appropriate objects.

Change-Id: Iafdab3b8eefc6dc2fd895aa955bf64fafc59ed50

90 files changed:
gdb/ada-exp.y
gdb/ada-lang.c
gdb/ada-tasks.c
gdb/aix-thread.c
gdb/alpha-mdebug-tdep.c
gdb/arc-linux-tdep.c
gdb/arm-tdep.c
gdb/auxv.c
gdb/avr-tdep.c
gdb/ax-gdb.c
gdb/blockframe.c
gdb/breakpoint.c
gdb/bsd-uthread.c
gdb/buildsym.c
gdb/c-exp.y
gdb/c-valprint.c
gdb/coff-pe-read.c
gdb/coffread.c
gdb/compile/compile-c-symbols.c
gdb/compile/compile-cplus-symbols.c
gdb/compile/compile-cplus-types.c
gdb/compile/compile-object-load.c
gdb/compile/compile-object-run.c
gdb/cp-namespace.c
gdb/ctfread.c
gdb/dbxread.c
gdb/dwarf2/loc.c
gdb/dwarf2/read.c
gdb/elfread.c
gdb/f-valprint.c
gdb/fbsd-tdep.c
gdb/findvar.c
gdb/frame.c
gdb/frv-tdep.c
gdb/ft32-tdep.c
gdb/glibc-tdep.c
gdb/gnu-v3-abi.c
gdb/hppa-tdep.c
gdb/infcmd.c
gdb/infrun.c
gdb/inline-frame.c
gdb/jit.c
gdb/linespec.c
gdb/linux-thread-db.c
gdb/m2-exp.y
gdb/m32c-tdep.c
gdb/m32r-tdep.c
gdb/m68hc11-tdep.c
gdb/machoread.c
gdb/maint.c
gdb/mdebugread.c
gdb/mi/mi-symbol-cmds.c
gdb/minsyms.c
gdb/minsyms.h
gdb/mips-fbsd-tdep.c
gdb/mips-linux-tdep.c
gdb/mips-tdep.c
gdb/netbsd-tdep.c
gdb/objc-lang.c
gdb/objfiles.c
gdb/obsd-tdep.c
gdb/p-exp.y
gdb/p-valprint.c
gdb/parse.c
gdb/ppc-linux-tdep.c
gdb/ppc-sysv-tdep.c
gdb/printcmd.c
gdb/proc-service.c
gdb/psympriv.h
gdb/psymtab.c
gdb/ravenscar-thread.c
gdb/remote.c
gdb/sol-thread.c
gdb/sol2-tdep.c
gdb/solib-dsbt.c
gdb/solib-frv.c
gdb/solib-svr4.c
gdb/solib.c
gdb/stabsread.c
gdb/stack.c
gdb/symfile.c
gdb/symmisc.c
gdb/symtab.c
gdb/symtab.h
gdb/tracepoint.c
gdb/tui/tui-disasm.c
gdb/valops.c
gdb/value.c
gdb/xcoffread.c
gdb/z80-tdep.c

index a2755d7501edebb3d6b42a008e587305704da2b4..60a7c1bf91f5304a0f0000e3fe9a9eca74bf178f 100644 (file)
@@ -1382,7 +1382,7 @@ block_lookup (const struct block *context, const char *raw_name)
     {
       if (syms.size () > 1)
        warning (_("Function name \"%s\" ambiguous here"), raw_name);
-      result = SYMBOL_BLOCK_VALUE (syms[0].symbol);
+      result = syms[0].symbol->value_block ();
     }
 
   return result;
index d819038e63b6b328083bb42221010bac82c381a9..29f2a4b255a999b7556575749434d31860aad082 100644 (file)
@@ -819,7 +819,7 @@ ada_main_name (void)
 
   if (msym.minsym != NULL)
     {
-      CORE_ADDR main_program_name_addr = BMSYMBOL_VALUE_ADDRESS (msym);
+      CORE_ADDR main_program_name_addr = msym.value_address ();
       if (main_program_name_addr == 0)
        error (_("Invalid address for Ada main program name."));
 
@@ -4825,7 +4825,7 @@ lesseq_defined_than (struct symbol *sym0, struct symbol *sym1)
                  && startswith (name1 + len0, "___XV")));
       }
     case LOC_CONST:
-      return SYMBOL_VALUE (sym0) == SYMBOL_VALUE (sym1)
+      return sym0->value_longest () == sym1->value_longest ()
        && equiv_types (sym0->type (), sym1->type ());
 
     case LOC_STATIC:
@@ -4833,7 +4833,7 @@ lesseq_defined_than (struct symbol *sym0, struct symbol *sym1)
        const char *name0 = sym0->linkage_name ();
        const char *name1 = sym1->linkage_name ();
        return (strcmp (name0, name1) == 0
-               && SYMBOL_VALUE_ADDRESS (sym0) == SYMBOL_VALUE_ADDRESS (sym1));
+               && sym0->value_address () == sym1->value_address ());
       }
 
     default:
@@ -5003,7 +5003,7 @@ symbols_are_identical_enums (const std::vector<struct block_symbol> &syms)
 
   /* Quick check: They should all have the same value.  */
   for (i = 1; i < syms.size (); i++)
-    if (SYMBOL_VALUE (syms[i].symbol) != SYMBOL_VALUE (syms[0].symbol))
+    if (syms[i].symbol->value_longest () != syms[0].symbol->value_longest ())
       return 0;
 
   /* Quick check: They should all have the same number of enumerals.  */
@@ -5077,8 +5077,8 @@ remove_extra_symbols (std::vector<struct block_symbol> *syms)
                             (*syms)[j].symbol->linkage_name ()) == 0
                  && ((*syms)[i].symbol->aclass ()
                      == (*syms)[j].symbol->aclass ())
-                 && SYMBOL_VALUE_ADDRESS ((*syms)[i].symbol)
-                 == SYMBOL_VALUE_ADDRESS ((*syms)[j].symbol))
+                 && (*syms)[i].symbol->value_address ()
+                 == (*syms)[j].symbol->value_address ())
                remove_p = 1;
            }
        }
@@ -12987,7 +12987,7 @@ ada_add_standard_exceptions (compiled_regex *preg,
          if (msymbol.minsym != NULL)
            {
              struct ada_exc_info info
-               = {name, BMSYMBOL_VALUE_ADDRESS (msymbol)};
+               = {name, msymbol.value_address ()};
 
              exceptions->push_back (info);
            }
@@ -13029,7 +13029,7 @@ ada_add_exceptions_from_frame (compiled_regex *preg,
              if (ada_is_exception_sym (sym))
                {
                  struct ada_exc_info info = {sym->print_name (),
-                                             SYMBOL_VALUE_ADDRESS (sym)};
+                                             sym->value_address ()};
 
                  exceptions->push_back (info);
                }
@@ -13105,7 +13105,7 @@ ada_add_global_exceptions (compiled_regex *preg,
                    && name_matches_regex (sym->natural_name (), preg))
                  {
                    struct ada_exc_info info
-                     = {sym->print_name (), SYMBOL_VALUE_ADDRESS (sym)};
+                     = {sym->print_name (), sym->value_address ()};
 
                    exceptions->push_back (info);
                  }
index 5622772b013ed6aa3e0228dd7f3d320f0e9bc5ea..0043f2999d9d8a9e62f83b46f628d30ae90e4b52 100644 (file)
@@ -574,7 +574,7 @@ ada_get_tcb_types_info (void)
   unsigned int first_id = 0;
   if (first_id_sym.minsym != nullptr)
     {
-      CORE_ADDR addr = BMSYMBOL_VALUE_ADDRESS (first_id_sym);
+      CORE_ADDR addr = first_id_sym.value_address ();
       /* This symbol always has type uint32_t.  */
       struct type *u32type = builtin_type (target_gdbarch ())->builtin_uint32;
       first_id = value_as_long (value_at (u32type, addr));
@@ -896,7 +896,7 @@ ada_tasks_inferior_data_sniffer (struct ada_tasks_inferior_data *data)
   if (msym.minsym != NULL)
     {
       data->known_tasks_kind = ADA_TASKS_ARRAY;
-      data->known_tasks_addr = BMSYMBOL_VALUE_ADDRESS (msym);
+      data->known_tasks_addr = msym.value_address ();
 
       /* Try to get pointer type and array length from the symtab.  */
       sym = lookup_symbol_in_language (KNOWN_TASKS_NAME, NULL, VAR_DOMAIN,
@@ -942,12 +942,12 @@ ada_tasks_inferior_data_sniffer (struct ada_tasks_inferior_data *data)
   if (msym.minsym != NULL)
     {
       data->known_tasks_kind = ADA_TASKS_LIST;
-      data->known_tasks_addr = BMSYMBOL_VALUE_ADDRESS (msym);
+      data->known_tasks_addr = msym.value_address ();
       data->known_tasks_length = 1;
 
       sym = lookup_symbol_in_language (KNOWN_TASKS_LIST, NULL, VAR_DOMAIN,
                                       language_c, NULL).symbol;
-      if (sym != NULL && SYMBOL_VALUE_ADDRESS (sym) != 0)
+      if (sym != NULL && sym->value_address () != 0)
        {
          /* Validate.  */
          struct type *type = check_typedef (sym->type ());
index 85be4c15f1c6b8f92e54427c3708c9b16e9d36e9..4e41cde66945148296c784fa296f9c605c5c0733 100644 (file)
@@ -360,7 +360,7 @@ pdc_symbol_addrs (pthdb_user_t user, pthdb_symbol_t *symbols, int count)
                gdb_printf (gdb_stdlog, " returning PDC_FAILURE\n");
              return PDC_FAILURE;
            }
-         symbols[i].addr = BMSYMBOL_VALUE_ADDRESS (ms);
+         symbols[i].addr = ms->value_address ();
        }
       if (debug_aix_thread)
        gdb_printf (gdb_stdlog, "  symbols[%d].addr = %s\n",
@@ -969,7 +969,7 @@ pd_enable (void)
   ms = lookup_minimal_symbol (stub_name, NULL, NULL);
   if (ms.minsym == NULL)
     return;
-  pd_brk_addr = BMSYMBOL_VALUE_ADDRESS (ms);
+  pd_brk_addr = ms->value_address ();
   if (!create_thread_event_breakpoint (target_gdbarch (), pd_brk_addr))
     return;
 
index ec11bc45423e26da1778a11959ce0db833ec36c3..a8b4bcbea4aaafd7524017d8b39ae1a160ef8fb3 100644 (file)
@@ -114,7 +114,7 @@ find_proc_desc (CORE_ADDR pc)
 
   if (sym)
     {
-      proc_desc = (struct mdebug_extra_func_info *) SYMBOL_VALUE_BYTES (sym);
+      proc_desc = (struct mdebug_extra_func_info *) sym->value_bytes ();
 
       /* Correct incorrect setjmp procedure descriptor from the library
         to make backtrace through setjmp work.  */
index 1744b7544cdc5cc682c8b78d3001c86b5468d459..13595f2e8e9b739d764de0cfca95d15ab3184645 100644 (file)
@@ -509,7 +509,7 @@ arc_linux_skip_solib_resolver (struct gdbarch *gdbarch, CORE_ADDR pc)
     {
       if (resolver.minsym != nullptr)
        {
-         CORE_ADDR res_addr = BMSYMBOL_VALUE_ADDRESS (resolver);
+         CORE_ADDR res_addr = resolver.value_address ();
          arc_linux_debug_printf ("pc = %s, resolver at %s",
                                  print_core_address (gdbarch, pc),
                                  print_core_address (gdbarch, res_addr));
@@ -519,7 +519,7 @@ arc_linux_skip_solib_resolver (struct gdbarch *gdbarch, CORE_ADDR pc)
                                print_core_address (gdbarch, pc));
     }
 
-  if (resolver.minsym != nullptr && BMSYMBOL_VALUE_ADDRESS (resolver) == pc)
+  if (resolver.minsym != nullptr && resolver.value_address () == pc)
     {
       /* Find the return address.  */
       return frame_unwind_caller_pc (get_current_frame ());
index fbc0a38bff3b8cf2d2aae3c99fd9df3163327ddb..7002bcaa279fb75c84c3d89e823784447e78eb4d 100644 (file)
@@ -600,7 +600,7 @@ skip_prologue_function (struct gdbarch *gdbarch, CORE_ADDR pc, int is_thumb)
 
   msym = lookup_minimal_symbol_by_pc (pc);
   if (msym.minsym != NULL
-      && BMSYMBOL_VALUE_ADDRESS (msym) == pc
+      && msym.value_address () == pc
       && msym.minsym->linkage_name () != NULL)
     {
       const char *name = msym.minsym->linkage_name ();
@@ -8521,7 +8521,7 @@ arm_skip_cmse_entry (CORE_ADDR pc, const char *name, struct objfile *objfile)
    = lookup_minimal_symbol (target_name, NULL, objfile);
 
   if (minsym.minsym != nullptr)
-    return BMSYMBOL_VALUE_ADDRESS (minsym);
+    return minsym.value_address ();
 
   return 0;
 }
@@ -8610,7 +8610,7 @@ arm_skip_stub (struct frame_info *frame, CORE_ADDR pc)
       objfile = (sec == NULL) ? NULL : sec->objfile;
       minsym = lookup_minimal_symbol (target_name, NULL, objfile);
       if (minsym.minsym != NULL)
-       return BMSYMBOL_VALUE_ADDRESS (minsym);
+       return minsym.value_address ();
       else
        return 0;
     }
index 840db0257af6da13130a4389bacf91458b624a68..190cd69d6bd8a933741e9317569a4bcd9273b347 100644 (file)
@@ -101,7 +101,7 @@ ld_so_xfer_auxv (gdb_byte *readbuf,
      resides.  DATA_ADDRESS is the inferior value present in
      `_dl_auxv', therefore the real inferior AUXV address.  */
 
-  pointer_address = BMSYMBOL_VALUE_ADDRESS (msym);
+  pointer_address = msym.value_address ();
 
   /* The location of the _dl_auxv symbol may no longer be correct if
      ld.so runs at a different address than the one present in the
index 310c8cf9ca2a82118b231db8fa5e289637c66cf3..9e73c507b2eb534e53920e051d2341fa00a5e5b7 100644 (file)
@@ -664,7 +664,7 @@ avr_scan_prologue (struct gdbarch *gdbarch, CORE_ADDR pc_beg, CORE_ADDR pc_end,
 
       /* Resolve offset (in words) from __prologue_saves__ symbol.
         Which is a pushes count in `-mcall-prologues' mode */
-      num_pushes = AVR_MAX_PUSHES - (i - BMSYMBOL_VALUE_ADDRESS (msymbol)) / 2;
+      num_pushes = AVR_MAX_PUSHES - (i - msymbol.value_address ()) / 2;
 
       if (num_pushes > AVR_MAX_PUSHES)
        {
index be2063f236669ed22571f89364129f2b60c9d7a6..e2e311f9d74a0f277cc91752f831c5aee8fb7c1c 100644 (file)
@@ -499,7 +499,7 @@ gen_offset (struct agent_expr *ax, int offset)
 static void
 gen_sym_offset (struct agent_expr *ax, struct symbol *var)
 {
-  gen_offset (ax, SYMBOL_VALUE (var));
+  gen_offset (ax, var->value_longest ());
 }
 
 
@@ -523,12 +523,12 @@ gen_var_ref (struct agent_expr *ax, struct axs_value *value, struct symbol *var)
   switch (var->aclass ())
     {
     case LOC_CONST:            /* A constant, like an enum value.  */
-      ax_const_l (ax, (LONGEST) SYMBOL_VALUE (var));
+      ax_const_l (ax, (LONGEST) var->value_longest ());
       value->kind = axs_rvalue;
       break;
 
     case LOC_LABEL:            /* A goto label, being used as a value.  */
-      ax_const_l (ax, (LONGEST) SYMBOL_VALUE_ADDRESS (var));
+      ax_const_l (ax, (LONGEST) var->value_address ());
       value->kind = axs_rvalue;
       break;
 
@@ -540,7 +540,7 @@ gen_var_ref (struct agent_expr *ax, struct axs_value *value, struct symbol *var)
       /* Variable at a fixed location in memory.  Easy.  */
     case LOC_STATIC:
       /* Push the address of the variable.  */
-      ax_const_l (ax, SYMBOL_VALUE_ADDRESS (var));
+      ax_const_l (ax, var->value_address ());
       value->kind = axs_lvalue_memory;
       break;
 
@@ -571,7 +571,7 @@ gen_var_ref (struct agent_expr *ax, struct axs_value *value, struct symbol *var)
       break;
 
     case LOC_BLOCK:
-      ax_const_l (ax, BLOCK_ENTRY_PC (SYMBOL_BLOCK_VALUE (var)));
+      ax_const_l (ax, BLOCK_ENTRY_PC (var->value_block ()));
       value->kind = axs_rvalue;
       break;
 
@@ -603,7 +603,7 @@ gen_var_ref (struct agent_expr *ax, struct axs_value *value, struct symbol *var)
          error (_("Couldn't resolve symbol `%s'."), var->print_name ());
 
        /* Push the address of the variable.  */
-       ax_const_l (ax, BMSYMBOL_VALUE_ADDRESS (msym));
+       ax_const_l (ax, msym.value_address ());
        value->kind = axs_lvalue_memory;
       }
       break;
index 50c464f44a24c8931616daec07d3b0a9aec2e43a..df03901b6e796a514c978282fd341c4e75c0f239 100644 (file)
@@ -95,7 +95,7 @@ get_pc_function_start (CORE_ADDR pc)
 
       if (symbol)
        {
-         bl = SYMBOL_BLOCK_VALUE (symbol);
+         bl = symbol->value_block ();
          return BLOCK_ENTRY_PC (bl);
        }
     }
@@ -103,7 +103,7 @@ get_pc_function_start (CORE_ADDR pc)
   msymbol = lookup_minimal_symbol_by_pc (pc);
   if (msymbol.minsym)
     {
-      CORE_ADDR fstart = BMSYMBOL_VALUE_ADDRESS (msymbol);
+      CORE_ADDR fstart = msymbol.value_address ();
 
       if (find_pc_section (fstart))
        return fstart;
@@ -254,10 +254,10 @@ find_pc_partial_function_sym (CORE_ADDR pc,
       f = find_pc_sect_function (mapped_pc, section);
       if (f != NULL
          && (msymbol.minsym == NULL
-             || (BLOCK_ENTRY_PC (SYMBOL_BLOCK_VALUE (f))
-                 >= BMSYMBOL_VALUE_ADDRESS (msymbol))))
+             || (BLOCK_ENTRY_PC (f->value_block ())
+                 >= msymbol.value_address ())))
        {
-         const struct block *b = SYMBOL_BLOCK_VALUE (f);
+         const struct block *b = f->value_block ();
 
          cache_pc_function_sym = f;
          cache_pc_function_section = section;
@@ -326,7 +326,7 @@ find_pc_partial_function_sym (CORE_ADDR pc,
       return false;
     }
 
-  cache_pc_function_low = BMSYMBOL_VALUE_ADDRESS (msymbol);
+  cache_pc_function_low = msymbol.value_address ();
   cache_pc_function_sym = msymbol.minsym;
   cache_pc_function_section = section;
   cache_pc_function_high = minimal_symbol_upper_bound (msymbol);
@@ -425,7 +425,7 @@ find_function_type (CORE_ADDR pc)
 {
   struct symbol *sym = find_pc_function (pc);
 
-  if (sym != NULL && BLOCK_ENTRY_PC (SYMBOL_BLOCK_VALUE (sym)) == pc)
+  if (sym != NULL && BLOCK_ENTRY_PC (sym->value_block ()) == pc)
     return sym->type ();
 
   return NULL;
index b21d83d8019a1654baefdac74c6d74ef6a076953..af7eb6cc1133372e50ca6049cd3ab5dd3a3598ec 100644 (file)
@@ -3256,7 +3256,7 @@ create_overlay_event_breakpoint (void)
          bp_objfile_data->overlay_msym = m;
        }
 
-      addr = BMSYMBOL_VALUE_ADDRESS (bp_objfile_data->overlay_msym);
+      addr = bp_objfile_data->overlay_msym.value_address ();
       b = create_internal_breakpoint (objfile->arch (), addr,
                                      bp_overlay_event,
                                      &internal_breakpoint_ops);
@@ -3366,7 +3366,7 @@ create_longjmp_master_breakpoint_names (objfile *objfile)
          bp_objfile_data->longjmp_msym[i] = m;
        }
 
-      addr = BMSYMBOL_VALUE_ADDRESS (bp_objfile_data->longjmp_msym[i]);
+      addr = bp_objfile_data->longjmp_msym[i].value_address ();
       b = create_internal_breakpoint (gdbarch, addr, bp_longjmp_master,
                                      &internal_breakpoint_ops);
       initialize_explicit_location (&explicit_loc);
@@ -3449,7 +3449,7 @@ create_std_terminate_master_breakpoint (void)
              bp_objfile_data->terminate_msym = m;
            }
 
-         addr = BMSYMBOL_VALUE_ADDRESS (bp_objfile_data->terminate_msym);
+         addr = bp_objfile_data->terminate_msym.value_address ();
          b = create_internal_breakpoint (objfile->arch (), addr,
                                          bp_std_terminate_master,
                                          &internal_breakpoint_ops);
@@ -3547,7 +3547,7 @@ create_exception_master_breakpoint_hook (objfile *objfile)
       bp_objfile_data->exception_msym = debug_hook;
     }
 
-  addr = BMSYMBOL_VALUE_ADDRESS (bp_objfile_data->exception_msym);
+  addr = bp_objfile_data->exception_msym.value_address ();
   addr = gdbarch_convert_from_func_ptr_addr
     (gdbarch, addr, current_inferior ()->top_target ());
   b = create_internal_breakpoint (gdbarch, addr, bp_exception_master,
@@ -4913,8 +4913,7 @@ watchpoint_check (bpstat *bs)
 
          function = get_frame_function (fr);
          if (function == NULL
-             || !contained_in (b->exp_valid_block,
-                               SYMBOL_BLOCK_VALUE (function)))
+             || !contained_in (b->exp_valid_block, function->value_block ()))
            within_current_scope = 0;
        }
 
index d0d9e89e93c18601451d55b46b8c09ca758a0390..759b562cdd009dee148c04b4bdb0b6a2d8ef9beb 100644 (file)
@@ -163,7 +163,7 @@ bsd_uthread_lookup_address (const char *name, struct objfile *objfile)
 
   sym = lookup_minimal_symbol (name, NULL, objfile);
   if (sym.minsym)
-    return BMSYMBOL_VALUE_ADDRESS (sym);
+    return sym.value_address ();
 
   return 0;
 }
index 9a9d3cf74d9b5286fd50c6df7143d172d414c22e..0df355151f451c75ecf6199d8b2fba8ec0103b2a 100644 (file)
@@ -251,7 +251,7 @@ buildsym_compunit::finish_block_internal
     {
       struct type *ftype = symbol->type ();
       struct mdict_iterator miter;
-      SYMBOL_BLOCK_VALUE (symbol) = block;
+      symbol->set_value_block (block);
       BLOCK_FUNCTION (block) = symbol;
 
       if (ftype->num_fields () <= 0)
index 4ed661e587b12a8f9afb7cee33b6d26e874a413b..4fa3f8d2fc48932eb08e7d7da50fd0700479005e 100644 (file)
@@ -1075,7 +1075,7 @@ exp     :       FALSEKEYWORD
 block  :       BLOCKNAME
                        {
                          if ($1.sym.symbol)
-                           $$ = SYMBOL_BLOCK_VALUE ($1.sym.symbol);
+                           $$ = $1.sym.symbol->value_block ();
                          else
                            error (_("No file or function \"%s\"."),
                                   copy_name ($1.stoken).c_str ());
@@ -1096,7 +1096,7 @@ block     :       block COLONCOLON name
                          if (!tem || tem->aclass () != LOC_BLOCK)
                            error (_("No function \"%s\" in specified context."),
                                   copy.c_str ());
-                         $$ = SYMBOL_BLOCK_VALUE (tem); }
+                         $$ = tem->value_block (); }
        ;
 
 variable:      name_not_typename ENTRY
@@ -1239,7 +1239,7 @@ variable: name_not_typename
                              if (alias_target != NULL)
                                {
                                  block_symbol bsym { alias_target,
-                                   SYMBOL_BLOCK_VALUE (alias_target) };
+                                   alias_target->value_block () };
                                  pstate->push_new<var_value_operation> (bsym);
                                }
                              else
index 93e7cfd4254281add1e46fd7840dcc8309511982..bd445588ca08e8d10472c5781e6d5c2d0cb9381e 100644 (file)
@@ -182,7 +182,7 @@ print_unpacked_pointer (struct type *type, struct type *elttype,
       /* If 'symbol_print' is set, we did the work above.  */
       if (!options->symbol_print
          && (msymbol.minsym != NULL)
-         && (vt_address == BMSYMBOL_VALUE_ADDRESS (msymbol)))
+         && (vt_address == msymbol.value_address ()))
        {
          if (want_space)
            gdb_puts (" ", stream);
index 16c1e044794f88c0575ffcbb30f239b63dd49b99..1f11606cdfffbc4da655dda1fdf014a4348de28f 100644 (file)
@@ -244,7 +244,7 @@ add_pe_forwarded_sym (minimal_symbol_reader &reader,
                              " \"%s\" in dll \"%s\", pointing to \"%s\"\n"),
                sym_name, dll_name, forward_qualified_name);
 
-  vma = BMSYMBOL_VALUE_ADDRESS (msymbol);
+  vma = msymbol.value_address ();
   msymtype = MSYMBOL_TYPE (msymbol.minsym);
   section = msymbol.minsym->section_index ();
 
index 253ba9c095f8a63e049f3267cfc5f866b941558d..24dd9b96011348aea1b24a0b25a519cb6355cd03 100644 (file)
@@ -1026,7 +1026,7 @@ coff_symtab_read (minimal_symbol_reader &reader,
 
                sym = process_coff_symbol
                  (cs, &main_aux, objfile);
-               SYMBOL_VALUE (sym) = tmpaddr + offset;
+               sym->set_value_longest (tmpaddr + offset);
                sym->set_section_index (sec);
              }
          }
@@ -1506,29 +1506,21 @@ patch_opaque_types (struct symtab *s)
                  && strcmp (name + 1, sym->linkage_name () + 1) == 0)
                {
                  if (prev)
-                   {
-                     SYMBOL_VALUE_CHAIN (prev) = SYMBOL_VALUE_CHAIN (sym);
-                   }
+                   prev->set_value_chain (sym->value_chain ());
                  else
-                   {
-                     opaque_type_chain[hash] = SYMBOL_VALUE_CHAIN (sym);
-                   }
+                   opaque_type_chain[hash] = sym->value_chain ();
 
                  patch_type (sym->type (), real_sym->type ());
 
                  if (prev)
-                   {
-                     sym = SYMBOL_VALUE_CHAIN (prev);
-                   }
+                   sym = prev->value_chain ();
                  else
-                   {
-                     sym = opaque_type_chain[hash];
-                   }
+                   sym = opaque_type_chain[hash];
                }
              else
                {
                  prev = sym;
-                 sym = SYMBOL_VALUE_CHAIN (sym);
+                 sym->set_value_chain (sym);
                }
            }
        }
@@ -1538,7 +1530,7 @@ patch_opaque_types (struct symtab *s)
 static int
 coff_reg_to_regnum (struct symbol *sym, struct gdbarch *gdbarch)
 {
-  return gdbarch_sdb_reg_to_regnum (gdbarch, SYMBOL_VALUE (sym));
+  return gdbarch_sdb_reg_to_regnum (gdbarch, sym->value_longest ());
 }
 
 static const struct symbol_register_ops coff_register_funcs = {
@@ -1564,13 +1556,14 @@ process_coff_symbol (struct coff_symbol *cs,
   sym->compute_and_set_names (name, true, objfile->per_bfd);
 
   /* default assumptions */
-  SYMBOL_VALUE (sym) = cs->c_value;
+  sym->set_value_longest (cs->c_value);
   sym->set_domain (VAR_DOMAIN);
   sym->set_section_index (cs_to_section (cs, objfile));
 
   if (ISFCN (cs->c_type))
     {
-      SYMBOL_VALUE (sym) += objfile->text_section_offset ();
+      sym->set_value_longest
+       (sym->value_longest () + objfile->text_section_offset ());
       sym->set_type
        (lookup_function_type (decode_function_type (cs, cs->c_type,
                                                     aux, objfile)));
@@ -1600,9 +1593,8 @@ process_coff_symbol (struct coff_symbol *cs,
        case C_THUMBEXTFUNC:
        case C_EXT:
          sym->set_aclass_index (LOC_STATIC);
-         SET_SYMBOL_VALUE_ADDRESS (sym,
-                                   (CORE_ADDR) cs->c_value
-                                   + objfile->section_offsets[SECT_OFF_TEXT (objfile)]);
+         sym->set_value_address ((CORE_ADDR) cs->c_value
+                                 + objfile->section_offsets[SECT_OFF_TEXT (objfile)]);
          add_symbol_to_list (sym, get_global_symbols ());
          break;
 
@@ -1610,9 +1602,8 @@ process_coff_symbol (struct coff_symbol *cs,
        case C_THUMBSTATFUNC:
        case C_STAT:
          sym->set_aclass_index (LOC_STATIC);
-         SET_SYMBOL_VALUE_ADDRESS (sym,
-                                   (CORE_ADDR) cs->c_value
-                                   + objfile->section_offsets[SECT_OFF_TEXT (objfile)]);
+         sym->set_value_address ((CORE_ADDR) cs->c_value
+                                 + objfile->section_offsets[SECT_OFF_TEXT (objfile)]);
          if (within_function)
            {
              /* Static symbol of local scope.  */
@@ -1630,7 +1621,7 @@ process_coff_symbol (struct coff_symbol *cs,
 #endif
        case C_REG:
          sym->set_aclass_index (coff_register_index);
-         SYMBOL_VALUE (sym) = cs->c_value;
+         sym->set_value_longest (cs->c_value);
          add_symbol_to_list (sym, get_local_symbols ());
          break;
 
@@ -1647,7 +1638,7 @@ process_coff_symbol (struct coff_symbol *cs,
        case C_REGPARM:
          sym->set_aclass_index (coff_register_index);
          sym->set_is_argument (1);
-         SYMBOL_VALUE (sym) = cs->c_value;
+         sym->set_value_longest (cs->c_value);
          add_symbol_to_list (sym, get_local_symbols ());
          break;
 
@@ -1698,7 +1689,7 @@ process_coff_symbol (struct coff_symbol *cs,
            {
              int i = hashname (sym->linkage_name ());
 
-             SYMBOL_VALUE_CHAIN (sym) = opaque_type_chain[i];
+             sym->set_value_chain (opaque_type_chain[i]);
              opaque_type_chain[i] = sym;
            }
          add_symbol_to_list (sym, get_file_symbols ());
@@ -2100,7 +2091,7 @@ coff_read_enum_type (int index, int length, int lastsym,
          sym->set_linkage_name (name);
          sym->set_aclass_index (LOC_CONST);
          sym->set_domain (VAR_DOMAIN);
-         SYMBOL_VALUE (sym) = ms->c_value;
+         sym->set_value_longest (ms->c_value);
          add_symbol_to_list (sym, symlist);
          nsyms++;
          break;
@@ -2145,8 +2136,8 @@ coff_read_enum_type (int index, int length, int lastsym,
 
          xsym->set_type (type);
          type->field (n).set_name (xsym->linkage_name ());
-         type->field (n).set_loc_enumval (SYMBOL_VALUE (xsym));
-         if (SYMBOL_VALUE (xsym) < 0)
+         type->field (n).set_loc_enumval (xsym->value_longest ());
+         if (xsym->value_longest () < 0)
            unsigned_enum = 0;
          TYPE_FIELD_BITSIZE (type, n) = 0;
        }
index d422c466b5f587d2a5dd204641433454d7bafdce..a50e84d117ac2ea19a25c5e3e75c92c874838dfc 100644 (file)
@@ -88,12 +88,12 @@ convert_one_symbol (compile_c_instance *context,
 
        case LOC_LABEL:
          kind = GCC_C_SYMBOL_LABEL;
-         addr = SYMBOL_VALUE_ADDRESS (sym.symbol);
+         addr = sym.symbol->value_address ();
          break;
 
        case LOC_BLOCK:
          kind = GCC_C_SYMBOL_FUNCTION;
-         addr = BLOCK_ENTRY_PC (SYMBOL_BLOCK_VALUE (sym.symbol));
+         addr = BLOCK_ENTRY_PC (sym.symbol->value_block ());
          if (is_global && sym.symbol->type ()->is_gnu_ifunc ())
            addr = gnu_ifunc_resolve_addr (target_gdbarch (), addr);
          break;
@@ -106,7 +106,7 @@ convert_one_symbol (compile_c_instance *context,
            }
          context->plugin ().build_constant
            (sym_type, sym.symbol->natural_name (),
-            SYMBOL_VALUE (sym.symbol),
+            sym.symbol->value_longest (),
             filename, line);
          return;
 
@@ -179,7 +179,7 @@ convert_one_symbol (compile_c_instance *context,
 
        case LOC_STATIC:
          kind = GCC_C_SYMBOL_VARIABLE;
-         addr = SYMBOL_VALUE_ADDRESS (sym.symbol);
+         addr = sym.symbol->value_address ();
          break;
 
        case LOC_FINAL_VALUE:
@@ -270,7 +270,7 @@ convert_symbol_bmsym (compile_c_instance *context,
   gcc_decl decl;
   CORE_ADDR addr;
 
-  addr = MSYMBOL_VALUE_ADDRESS (objfile, msym);
+  addr = msym->value_address (objfile);
 
   /* Conversion copied from write_exp_msymbol.  */
   switch (MSYMBOL_TYPE (msym))
@@ -404,7 +404,7 @@ gcc_symbol_address (void *datum, struct gcc_c_context *gcc_context,
            gdb_printf (gdb_stdlog,
                        "gcc_symbol_address \"%s\": full symbol\n",
                        identifier);
-         result = BLOCK_ENTRY_PC (SYMBOL_BLOCK_VALUE (sym));
+         result = BLOCK_ENTRY_PC (sym->value_block ());
          if (sym->type ()->is_gnu_ifunc ())
            result = gnu_ifunc_resolve_addr (target_gdbarch (), result);
          found = 1;
@@ -421,7 +421,7 @@ gcc_symbol_address (void *datum, struct gcc_c_context *gcc_context,
                            "gcc_symbol_address \"%s\": minimal "
                            "symbol\n",
                            identifier);
-             result = BMSYMBOL_VALUE_ADDRESS (msym);
+             result = msym.value_address ();
              if (MSYMBOL_TYPE (msym.minsym) == mst_text_gnu_ifunc)
                result = gnu_ifunc_resolve_addr (target_gdbarch (), result);
              found = 1;
index 3657c8453e104d625a86a7e1b230a7c4028cd488..b68184c55f9675dcd353d72d3f3d018cb57459e4 100644 (file)
@@ -81,13 +81,13 @@ convert_one_symbol (compile_cplus_instance *instance,
 
        case LOC_LABEL:
          kind = GCC_CP_SYMBOL_LABEL;
-         addr = SYMBOL_VALUE_ADDRESS (sym.symbol);
+         addr = sym.symbol->value_address ();
          break;
 
        case LOC_BLOCK:
          {
            kind = GCC_CP_SYMBOL_FUNCTION;
-           addr = BLOCK_START (SYMBOL_BLOCK_VALUE (sym.symbol));
+           addr = BLOCK_START (sym.symbol->value_block ());
            if (is_global && sym.symbol->type ()->is_gnu_ifunc ())
              addr = gnu_ifunc_resolve_addr (target_gdbarch (), addr);
          }
@@ -101,7 +101,7 @@ convert_one_symbol (compile_cplus_instance *instance,
            }
          instance->plugin ().build_constant
            (sym_type, sym.symbol->natural_name (),
-            SYMBOL_VALUE (sym.symbol), filename, line);
+            sym.symbol->value_longest (), filename, line);
          return;
 
        case LOC_CONST_BYTES:
@@ -173,7 +173,7 @@ convert_one_symbol (compile_cplus_instance *instance,
 
        case LOC_STATIC:
          kind = GCC_CP_SYMBOL_VARIABLE;
-         addr = SYMBOL_VALUE_ADDRESS (sym.symbol);
+         addr = sym.symbol->value_address ();
          break;
 
        case LOC_FINAL_VALUE:
@@ -281,7 +281,7 @@ convert_symbol_bmsym (compile_cplus_instance *instance,
   gcc_type sym_type;
   CORE_ADDR addr;
 
-  addr = MSYMBOL_VALUE_ADDRESS (objfile, msym);
+  addr = msym->value_address (objfile);
 
   /* Conversion copied from write_exp_msymbol.  */
   switch (MSYMBOL_TYPE (msym))
@@ -441,7 +441,7 @@ gcc_cplus_symbol_address (void *datum, struct gcc_cp_context *gcc_context,
            gdb_printf (gdb_stdlog,
                        "gcc_symbol_address \"%s\": full symbol\n",
                        identifier);
-         result = BLOCK_START (SYMBOL_BLOCK_VALUE (sym));
+         result = BLOCK_START (sym->value_block ());
          if (sym->type ()->is_gnu_ifunc ())
            result = gnu_ifunc_resolve_addr (target_gdbarch (), result);
          found = 1;
@@ -458,7 +458,7 @@ gcc_cplus_symbol_address (void *datum, struct gcc_cp_context *gcc_context,
                            "gcc_symbol_address \"%s\": minimal "
                            "symbol\n",
                            identifier);
-             result = BMSYMBOL_VALUE_ADDRESS (msym);
+             result = msym.value_address ();
              if (MSYMBOL_TYPE (msym.minsym) == mst_text_gnu_ifunc)
                result = gnu_ifunc_resolve_addr (target_gdbarch (), result);
              found = 1;
index 616f2c23980f7af4f9ca7b7d3bdadd78bf727847..cea30304aa241976b01e74599c0fd95b59a2e2f2 100644 (file)
@@ -628,7 +628,7 @@ compile_cplus_convert_struct_or_union_members
                const char *filename = symbol_symtab (sym.symbol)->filename;
                unsigned int line = sym.symbol->line ();
 
-               physaddr = SYMBOL_VALUE_ADDRESS (sym.symbol);
+               physaddr = sym.symbol->value_address ();
                instance->plugin ().build_decl
                  ("field physname", field_name,
                   (GCC_CP_SYMBOL_VARIABLE| get_field_access_flag (type, i)),
@@ -766,7 +766,7 @@ compile_cplus_convert_struct_or_union_methods (compile_cplus_instance *instance,
 
          const char *filename = symbol_symtab (sym.symbol)->filename;
          unsigned int line = sym.symbol->line ();
-         CORE_ADDR address = BLOCK_START (SYMBOL_BLOCK_VALUE (sym.symbol));
+         CORE_ADDR address = BLOCK_START (sym.symbol->value_block ());
          const char *kind;
 
          if (TYPE_FN_FIELD_STATIC_P (methods, j))
index 7364a4ae8b247085390bacb863c4f8bf8c3ebdcb..bfb40c9625cda6356b066c80187268d3f5457e04 100644 (file)
@@ -771,7 +771,7 @@ compile_object_load (const compile_file_names &file_names,
        case mst_text:
        case mst_bss:
        case mst_data:
-         sym->value = BMSYMBOL_VALUE_ADDRESS (bmsym);
+         sym->value = bmsym.value_address ();
          if (compile_debug)
            gdb_printf (gdb_stdlog,
                        "ELF mst_text symbol \"%s\" relocated to %s\n",
@@ -780,7 +780,7 @@ compile_object_load (const compile_file_names &file_names,
          break;
        case mst_text_gnu_ifunc:
          sym->value = gnu_ifunc_resolve_addr (target_gdbarch (),
-                                              BMSYMBOL_VALUE_ADDRESS (bmsym));
+                                              bmsym.value_address ());
          if (compile_debug)
            gdb_printf (gdb_stdlog,
                        "ELF mst_text_gnu_ifunc symbol \"%s\" "
index bce0f82a1ee272a363582418f2af29ee11081143..d5742a5880de324e8ca5d6d85d0e321fd3b92d51 100644 (file)
@@ -145,7 +145,7 @@ compile_object_run (compile_module_up &&module)
 
       gdb_assert (func_type->code () == TYPE_CODE_FUNC);
       func_val = value_from_pointer (lookup_pointer_type (func_type),
-                                  BLOCK_ENTRY_PC (SYMBOL_BLOCK_VALUE (func_sym)));
+                                  BLOCK_ENTRY_PC (func_sym->value_block ()));
 
       vargs = XALLOCAVEC (struct value *, func_type->num_fields ());
       if (func_type->num_fields () >= 1)
index 3ac19fa001ddae63bdec9d40c5a1a916da5e8be6..b0fa33705ee1993bd5904a07787f3dcd31c1f4d3 100644 (file)
@@ -281,7 +281,7 @@ cp_search_static_and_baseclasses (const char *name,
   if ((scope_type->code () == TYPE_CODE_FUNC
        || scope_type->code () == TYPE_CODE_METHOD)
       && domain == VAR_DOMAIN)
-    return lookup_symbol (nested, SYMBOL_BLOCK_VALUE (scope_sym.symbol),
+    return lookup_symbol (nested, scope_sym.symbol->value_block (),
                          VAR_DOMAIN, NULL);
 
   /* Look for a symbol named NESTED in this class/namespace.
index 87147a16bdf488177cdd5b230bf120971dc6fe6c..828f300d29d515cc24c8bc4db6e458ef302ceae5 100644 (file)
@@ -329,7 +329,7 @@ set_symbol_address (struct objfile *of, struct symbol *sym, const char *name)
   msym = lookup_minimal_symbol (name, nullptr, of);
   if (msym.minsym != NULL)
     {
-      SET_SYMBOL_VALUE_ADDRESS (sym, BMSYMBOL_VALUE_ADDRESS (msym));
+      sym->set_value_address (msym.value_address ());
       sym->set_aclass_index (LOC_STATIC);
       sym->set_section_index (msym.minsym->section_index ());
     }
index 49bcebd2a815b1ec6a6a890098307719f31da13d..a536a087c7f3dcd4a94db406528a49bcb095b87b 100644 (file)
@@ -1655,7 +1655,7 @@ read_dbx_symtab (minimal_symbol_reader &reader,
                                          pst ? pst->filename : NULL,
                                          objfile);
                  if (minsym.minsym != NULL)
-                   nlist.n_value = MSYMBOL_VALUE_RAW_ADDRESS (minsym.minsym);
+                   nlist.n_value = minsym.minsym->value_raw_address ();
                }
              if (pst && textlow_not_set
                  && gdbarch_sofun_address_maybe_missing (gdbarch))
@@ -1711,7 +1711,7 @@ read_dbx_symtab (minimal_symbol_reader &reader,
                                          pst ? pst->filename : NULL,
                                          objfile);
                  if (minsym.minsym != NULL)
-                   nlist.n_value = MSYMBOL_VALUE_RAW_ADDRESS (minsym.minsym);
+                   nlist.n_value = minsym.minsym->value_raw_address ();
                }
              if (pst && textlow_not_set
                  && gdbarch_sofun_address_maybe_missing (gdbarch))
@@ -2024,7 +2024,7 @@ dbx_end_psymtab (struct objfile *objfile, psymtab_storage *partial_symtabs,
        }
 
       if (minsym.minsym)
-       pst->set_text_high (MSYMBOL_VALUE_RAW_ADDRESS (minsym.minsym)
+       pst->set_text_high (minsym.minsym->value_raw_address ()
                            + MSYMBOL_SIZE (minsym.minsym));
 
       last_function_name = NULL;
@@ -2791,7 +2791,7 @@ process_one_symbol (int type, int desc, CORE_ADDR valu, const char *name,
                    = find_stab_function (name, get_last_source_file (),
                                          objfile);
                  if (minsym.minsym != NULL)
-                   valu = BMSYMBOL_VALUE_ADDRESS (minsym);
+                   valu = minsym.value_address ();
                }
 
              /* These addresses are absolute.  */
index bb9778d9edde2f595818cf634025ba7709e069a4..ea45475810ec64f7f368ac1ad061522345aef3e1 100644 (file)
@@ -453,7 +453,7 @@ dwarf2_find_location_expression (struct dwarf2_loclist_baton *baton,
          if (pc_block)
            pc_func = block_linkage_function (pc_block);
 
-         if (pc_func && pc == BLOCK_ENTRY_PC (SYMBOL_BLOCK_VALUE (pc_func)))
+         if (pc_func && pc == BLOCK_ENTRY_PC (pc_func->value_block ()))
            {
              *locexpr_length = length;
              return loc_ptr;
@@ -711,7 +711,7 @@ call_site_target::iterate_over_addresses
                          : msym.minsym->print_name ()));
                        
          }
-       callback (BMSYMBOL_VALUE_ADDRESS (msym));
+       callback (msym.value_address ());
       }
       break;
 
@@ -753,7 +753,7 @@ func_addr_to_tail_call_list (struct gdbarch *gdbarch, CORE_ADDR addr)
   struct symbol *sym = find_pc_function (addr);
   struct type *type;
 
-  if (sym == NULL || BLOCK_ENTRY_PC (SYMBOL_BLOCK_VALUE (sym)) != addr)
+  if (sym == NULL || BLOCK_ENTRY_PC (sym->value_block ()) != addr)
     throw_error (NO_ENTRY_VALUE_ERROR,
                 _("DW_TAG_call_site resolving failed to find function "
                   "name for address %s"),
index d8268de8031c9e611b1876fcca2033c173fee647..ac5408f25734067f3b9f44f4768192cdf0e74ea7 100644 (file)
@@ -7951,7 +7951,7 @@ add_partial_symbol (struct partial_die_info *pdi, struct dwarf2_cu *cu)
       psymbol.domain = VAR_DOMAIN;
       psymbol.aclass = LOC_BLOCK;
       psymbol.ginfo.set_section_index (SECT_OFF_TEXT (objfile));
-      psymbol.ginfo.value.address = addr;
+      psymbol.ginfo.set_value_address (addr);
 
       if (pdi->main_subprogram && actual_name != NULL)
        set_objfile_main_name (objfile, actual_name, cu->per_cu->lang);
@@ -7996,7 +7996,7 @@ add_partial_symbol (struct partial_die_info *pdi, struct dwarf2_cu *cu)
              psymbol.domain = VAR_DOMAIN;
              psymbol.aclass = LOC_STATIC;
              psymbol.ginfo.set_section_index (SECT_OFF_TEXT (objfile));
-             psymbol.ginfo.value.address = addr;
+             psymbol.ginfo.set_value_address (addr);
              where = psymbol_placement::GLOBAL;
            }
        }
@@ -8013,7 +8013,7 @@ add_partial_symbol (struct partial_die_info *pdi, struct dwarf2_cu *cu)
          psymbol.aclass = LOC_STATIC;
          psymbol.ginfo.set_section_index (SECT_OFF_TEXT (objfile));
          if (has_loc)
-           psymbol.ginfo.value.address = addr;
+           psymbol.ginfo.set_value_address (addr);
          where = psymbol_placement::STATIC;
        }
       break;
@@ -17025,7 +17025,7 @@ read_common_block (struct die_info *die, struct dwarf2_cu *cu)
        }
 
       sym = new_symbol (die, objfile_type (objfile)->builtin_void, cu);
-      SYMBOL_VALUE_COMMON_BLOCK (sym) = common_block;
+      sym->set_value_common_block (common_block);
     }
 }
 
@@ -21706,19 +21706,16 @@ var_decode_location (struct attribute *attr, struct symbol *sym,
          unsigned int dummy;
 
          if (block->data[0] == DW_OP_addr)
-           SET_SYMBOL_VALUE_ADDRESS
-             (sym, cu->header.read_address (objfile->obfd,
-                                            block->data + 1,
-                                            &dummy));
+           sym->set_value_address
+             (cu->header.read_address (objfile->obfd, block->data + 1,
+                                       &dummy));
          else
-           SET_SYMBOL_VALUE_ADDRESS
-             (sym, read_addr_index_from_leb128 (cu, block->data + 1,
-                                                &dummy));
+           sym->set_value_address
+             (read_addr_index_from_leb128 (cu, block->data + 1, &dummy));
          sym->set_aclass_index (LOC_STATIC);
          fixup_symbol_section (sym, objfile);
-         SET_SYMBOL_VALUE_ADDRESS
-           (sym,
-            SYMBOL_VALUE_ADDRESS (sym)
+         sym->set_value_address
+           (sym->value_address ()
             + objfile->section_offsets[sym->section_index ()]);
          return;
        }
@@ -21841,7 +21838,7 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu,
 
              addr = attr->as_address ();
              addr = gdbarch_adjust_dwarf2_addr (gdbarch, addr + baseaddr);
-             SET_SYMBOL_VALUE_ADDRESS (sym, addr);
+             sym->set_value_address (addr);
              sym->set_aclass_index (LOC_LABEL);
            }
          else
@@ -21927,7 +21924,7 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu,
                attr2 = NULL;
 
              if (sym->aclass () == LOC_STATIC
-                 && SYMBOL_VALUE_ADDRESS (sym) == 0
+                 && sym->value_address () == 0
                  && !per_objfile->per_bfd->has_section_at_zero)
                {
                  /* When a static variable is eliminated by the linker,
@@ -22332,13 +22329,13 @@ dwarf2_const_value (const struct attribute *attr, struct symbol *sym,
       sym->set_aclass_index (dwarf2_locexpr_index);
     }
   else if (bytes != NULL)
-     {
-      SYMBOL_VALUE_BYTES (sym) = bytes;
+    {
+      sym->set_value_bytes (bytes);
       sym->set_aclass_index (LOC_CONST_BYTES);
     }
   else
     {
-      SYMBOL_VALUE (sym) = value;
+      sym->set_value_longest (value);
       sym->set_aclass_index (LOC_CONST);
     }
 }
index fb40032c50513631f45f11dc9bfcd5a14a5aee8f..3f1f87650f2198fe5ec9c1a74f98b984ca8602d8 100644 (file)
@@ -703,7 +703,7 @@ elf_gnu_ifunc_record_cache (const char *name, CORE_ADDR addr)
   msym = lookup_minimal_symbol_by_pc (addr);
   if (msym.minsym == NULL)
     return 0;
-  if (BMSYMBOL_VALUE_ADDRESS (msym) != addr)
+  if (msym.value_address () != addr)
     return 0;
   objfile = msym.objfile;
 
@@ -830,7 +830,7 @@ elf_gnu_ifunc_resolve_by_got (const char *name, CORE_ADDR *addr_p)
        continue;
       if (MSYMBOL_TYPE (msym.minsym) != mst_slot_got_plt)
        continue;
-      pointer_address = BMSYMBOL_VALUE_ADDRESS (msym);
+      pointer_address = msym.value_address ();
 
       plt = bfd_get_section_by_name (obfd, ".plt");
       if (plt == NULL)
index aea01bb7dbc1eab8cc7149e770606db04ba61757..4f95b224d732d0f69976ed9ef7b08708f7688eeb 100644 (file)
@@ -611,7 +611,7 @@ info_common_command_for_block (const struct block *block, const char *comname,
   ALL_BLOCK_SYMBOLS (block, iter, sym)
     if (sym->domain () == COMMON_BLOCK_DOMAIN)
       {
-       const struct common_block *common = SYMBOL_VALUE_COMMON_BLOCK (sym);
+       const struct common_block *common = sym->value_common_block ();
        size_t index;
 
        gdb_assert (sym->aclass () == LOC_COMMON_BLOCK);
index 1b7e36ef8cc7b38406dbabfdd34f6454ab75468c..b241e855bd6f716b36c16703ff764b1aff470599 100644 (file)
@@ -1939,7 +1939,7 @@ fbsd_read_integer_by_name (struct gdbarch *gdbarch, const char *name)
     error (_("Unable to resolve symbol '%s'"), name);
 
   gdb_byte buf[4];
-  if (target_read_memory (BMSYMBOL_VALUE_ADDRESS (ms), buf, sizeof buf) != 0)
+  if (target_read_memory (ms.value_address (), buf, sizeof buf) != 0)
     error (_("Unable to read value of '%s'"), name);
 
   return extract_signed_integer (buf, gdbarch_byte_order (gdbarch));
@@ -2048,7 +2048,7 @@ CORE_ADDR
 fbsd_skip_solib_resolver (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   struct bound_minimal_symbol msym = lookup_bound_minimal_symbol ("_rtld_bind");
-  if (msym.minsym != nullptr && BMSYMBOL_VALUE_ADDRESS (msym) == pc)
+  if (msym.minsym != nullptr && msym.value_address () == pc)
     return frame_unwind_caller_pc (get_current_frame ());
 
   return 0;
index 6660b00679578d5472fa8beec145b877d4cafe1c..ec21c82532b9a56ddfbf62aa9a656915733be467 100644 (file)
@@ -627,8 +627,7 @@ language_defn::read_var_value (struct symbol *var,
       /* Put the constant back in target format. */
       v = allocate_value (type);
       store_signed_integer (value_contents_raw (v).data (), TYPE_LENGTH (type),
-                           type_byte_order (type),
-                           (LONGEST) SYMBOL_VALUE (var));
+                           type_byte_order (type), var->value_longest ());
       VALUE_LVAL (v) = not_lval;
       return v;
 
@@ -638,13 +637,13 @@ language_defn::read_var_value (struct symbol *var,
       if (overlay_debugging)
        {
          struct objfile *var_objfile = symbol_objfile (var);
-         addr = symbol_overlayed_address (SYMBOL_VALUE_ADDRESS (var),
+         addr = symbol_overlayed_address (var->value_address (),
                                           var->obj_section (var_objfile));
          store_typed_address (value_contents_raw (v).data (), type, addr);
        }
       else
        store_typed_address (value_contents_raw (v).data (), type,
-                             SYMBOL_VALUE_ADDRESS (var));
+                             var->value_address ());
       VALUE_LVAL (v) = not_lval;
       return v;
 
@@ -655,7 +654,7 @@ language_defn::read_var_value (struct symbol *var,
          type = resolve_dynamic_type (type, {}, /* Unused address.  */ 0);
        }
       v = allocate_value (type);
-      memcpy (value_contents_raw (v).data (), SYMBOL_VALUE_BYTES (var),
+      memcpy (value_contents_raw (v).data (), var->value_bytes (),
              TYPE_LENGTH (type));
       VALUE_LVAL (v) = not_lval;
       return v;
@@ -663,10 +662,10 @@ language_defn::read_var_value (struct symbol *var,
     case LOC_STATIC:
       if (overlay_debugging)
        addr
-         = symbol_overlayed_address (SYMBOL_VALUE_ADDRESS (var),
+         = symbol_overlayed_address (var->value_address (),
                                      var->obj_section (symbol_objfile (var)));
       else
-       addr = SYMBOL_VALUE_ADDRESS (var);
+       addr = var->value_address ();
       break;
 
     case LOC_ARG:
@@ -674,7 +673,7 @@ language_defn::read_var_value (struct symbol *var,
       if (!addr)
        error (_("Unknown argument list address for `%s'."),
               var->print_name ());
-      addr += SYMBOL_VALUE (var);
+      addr += var->value_longest ();
       break;
 
     case LOC_REF_ARG:
@@ -686,7 +685,7 @@ language_defn::read_var_value (struct symbol *var,
        if (!argref)
          error (_("Unknown argument list address for `%s'."),
                 var->print_name ());
-       argref += SYMBOL_VALUE (var);
+       argref += var->value_longest ();
        ref = value_at (lookup_pointer_type (type), argref);
        addr = value_as_address (ref);
        break;
@@ -694,7 +693,7 @@ language_defn::read_var_value (struct symbol *var,
 
     case LOC_LOCAL:
       addr = get_frame_locals_address (frame);
-      addr += SYMBOL_VALUE (var);
+      addr += var->value_longest ();
       break;
 
     case LOC_TYPEDEF:
@@ -705,10 +704,10 @@ language_defn::read_var_value (struct symbol *var,
     case LOC_BLOCK:
       if (overlay_debugging)
        addr = symbol_overlayed_address
-         (BLOCK_ENTRY_PC (SYMBOL_BLOCK_VALUE (var)),
+         (BLOCK_ENTRY_PC (var->value_block ()),
           var->obj_section (symbol_objfile (var)));
       else
-       addr = BLOCK_ENTRY_PC (SYMBOL_BLOCK_VALUE (var));
+       addr = BLOCK_ENTRY_PC (var->value_block ());
       break;
 
     case LOC_REGISTER:
@@ -778,9 +777,9 @@ language_defn::read_var_value (struct symbol *var,
           a TLS variable. */
        if (obj_section == NULL
            || (obj_section->the_bfd_section->flags & SEC_THREAD_LOCAL) != 0)
-          addr = MSYMBOL_VALUE_RAW_ADDRESS (msym);
+          addr = msym->value_raw_address ();
        else
-          addr = BMSYMBOL_VALUE_ADDRESS (lookup_data.result);
+          addr = lookup_data.result.value_address ();
        if (overlay_debugging)
          addr = symbol_overlayed_address (addr, obj_section);
        /* Determine address of TLS variable. */
index 2b296ed6b961972051903abb2444053f9a8a4436..2e574a2f009c2dc7a10e366d819fd3b4ec047e83 100644 (file)
@@ -2430,12 +2430,12 @@ inside_main_func (frame_info *this_frame)
       if (bs.symbol == nullptr)
        return false;
 
-      const struct block *block = SYMBOL_BLOCK_VALUE (bs.symbol);
+      const struct block *block = bs.symbol->value_block ();
       gdb_assert (block != nullptr);
       sym_addr = BLOCK_START (block);
     }
   else
-    sym_addr = BMSYMBOL_VALUE_ADDRESS (msymbol);
+    sym_addr = msymbol.value_address ();
 
   /* Convert any function descriptor addresses into the actual function
      code address.  */
index 1f291d9117d3ddba2f4cfb9c9ad569438afd8e95..2328791a540b5577f345f5fcfda1568b5b80fa10 100644 (file)
@@ -1384,7 +1384,7 @@ frv_frame_this_id (struct frame_info *this_frame,
 
   /* Check if the stack is empty.  */
   msym_stack = lookup_minimal_symbol ("_stack", NULL, NULL);
-  if (msym_stack.minsym && info->base == BMSYMBOL_VALUE_ADDRESS (msym_stack))
+  if (msym_stack.minsym && info->base == msym_stack.value_address ())
     return;
 
   /* Hopefully the prologue analysis either correctly determined the
index 34703cc3e12542d5074a82fd4e347235c696cb88..f77e313e0dda7d58583e7fe63d39cc535a9dbaeb 100644 (file)
@@ -200,7 +200,7 @@ ft32_analyze_prologue (CORE_ADDR start_addr, CORE_ADDR end_addr,
                regnum);
       msymbol = lookup_minimal_symbol (prolog_symbol, NULL, NULL);
       if (msymbol.minsym)
-       prologs[regnum] = BMSYMBOL_VALUE_ADDRESS (msymbol);
+       prologs[regnum] = msymbol.value_address ();
       else
        prologs[regnum] = 0;
     }
index 19b69fb94dc74ce4f21958adfcb383bd10a79050..7f6c12bc402f0e32a980a5e1fc4c76afb6931a02 100644 (file)
@@ -66,7 +66,7 @@ glibc_skip_solib_resolver (struct gdbarch *gdbarch, CORE_ADDR pc)
       if (! fixup.minsym)
        fixup = lookup_minimal_symbol ("fixup", NULL, resolver.objfile);
 
-      if (fixup.minsym && BMSYMBOL_VALUE_ADDRESS (fixup) == pc)
+      if (fixup.minsym && fixup.value_address () == pc)
        return frame_unwind_caller_pc (get_current_frame ());
     }
 
index baf015b9813d33fd6c790e6db2175ac9f6300573..7aac0ca4f9c206c404b961525de0b3eb92964b72 100644 (file)
@@ -1146,7 +1146,7 @@ gnuv3_get_typeid (struct value *value)
       if (minsym.minsym == NULL)
        error (_("could not find typeinfo symbol for '%s'"), name);
 
-      result = value_at_lazy (typeinfo_type, BMSYMBOL_VALUE_ADDRESS (minsym));
+      result = value_at_lazy (typeinfo_type, minsym.value_address ());
     }
 
   return result;
@@ -1235,7 +1235,7 @@ gnuv3_skip_trampoline (struct frame_info *frame, CORE_ADDR stop_pc)
   if (fn_sym.minsym == NULL)
     return 0;
 
-  method_stop_pc = BMSYMBOL_VALUE_ADDRESS (fn_sym);
+  method_stop_pc = fn_sym.value_address ();
 
   /* Some targets have minimal symbols pointing to function descriptors
      (powerpc 64 for example).  Make sure to retrieve the address
index 576678ae9b2019e61f983be4446fbc268045c4a3..f9ececbb04fc531c0ea5b10a6f5da7584b07ed37 100644 (file)
@@ -197,7 +197,7 @@ hppa_symbol_address(const char *sym)
 
   minsym = lookup_minimal_symbol (sym, NULL, NULL);
   if (minsym.minsym)
-    return BMSYMBOL_VALUE_ADDRESS (minsym);
+    return minsym.value_address ();
   else
     return (CORE_ADDR)-1;
 }
@@ -2528,7 +2528,7 @@ hppa_lookup_stub_minimal_symbol (const char *name,
            {
              struct unwind_table_entry *u;
 
-             u = find_unwind_entry (MSYMBOL_VALUE (msym));
+             u = find_unwind_entry (msym->value_longest ());
              if (u != NULL && u->stub_unwind.stub_type == stub_type)
                {
                  result.objfile = objfile;
index 719bd6888a8c1e884d227f1e30e8c3a549bdd9a2..84eb6e5d79bcdb42c62e3f8593017eb09f4430d3 100644 (file)
@@ -979,7 +979,7 @@ prepare_one_step (thread_info *tp, struct step_command_fsm *sm)
              symbol *sym = inline_skipped_symbol (tp);
              if (sym->aclass () == LOC_BLOCK)
                {
-                 const block *block = SYMBOL_BLOCK_VALUE (sym);
+                 const block *block = sym->value_block ();
                  if (BLOCK_END (block) < tp->control.step_range_end)
                    tp->control.step_range_end = BLOCK_END (block);
                }
@@ -1336,7 +1336,7 @@ until_next_command (int from_tty)
       if (msymbol.minsym == NULL)
        error (_("Execution is not within a known function."));
 
-      tp->control.step_range_start = BMSYMBOL_VALUE_ADDRESS (msymbol);
+      tp->control.step_range_start = msymbol.value_address ();
       /* The upper-bound of step_range is exclusive.  In order to make PC
         within the range, set the step_range_end with PC + 1.  */
       tp->control.step_range_end = pc + 1;
@@ -1345,7 +1345,7 @@ until_next_command (int from_tty)
     {
       sal = find_pc_line (pc, 0);
 
-      tp->control.step_range_start = BLOCK_ENTRY_PC (SYMBOL_BLOCK_VALUE (func));
+      tp->control.step_range_start = BLOCK_ENTRY_PC (func->value_block ());
       tp->control.step_range_end = sal.end;
 
       /* By setting the step_range_end based on the current pc, we are
index 0b88eb8cfdfc24e25a40bdb0cf03501733c755f8..c311240b78cd1f71378a0646ef20b6a307f8767d 100644 (file)
@@ -8090,7 +8090,7 @@ check_exception_resume (struct execution_control_state *ecs,
         cases such as throwing an exception from inside a signal
         handler.  */
 
-      b = SYMBOL_BLOCK_VALUE (func);
+      b = func->value_block ();
       ALL_BLOCK_SYMBOLS (b, iter, sym)
        {
          if (!sym->is_argument ())
index a9006a6c8a3fa4a0096660b6f73ba2c84567b328..bcdf36cd067ec3a026d0d947067f718afdd7177b 100644 (file)
@@ -181,7 +181,7 @@ inline_frame_this_id (struct frame_info *this_frame,
      in the frame ID (and eventually, to set breakpoints).  */
   func = get_frame_function (this_frame);
   gdb_assert (func != NULL);
-  (*this_id).code_addr = BLOCK_ENTRY_PC (SYMBOL_BLOCK_VALUE (func));
+  (*this_id).code_addr = BLOCK_ENTRY_PC (func->value_block ());
   (*this_id).artificial_depth++;
 }
 
@@ -329,7 +329,7 @@ stopped_by_user_bp_inline_frame (const block *frame_block, bpstat *stop_chain)
                 to presenting the stop at the innermost inline
                 function.  */
              if (loc->symbol == nullptr
-                 || frame_block == SYMBOL_BLOCK_VALUE (loc->symbol))
+                 || frame_block == loc->symbol->value_block ())
                return true;
            }
        }
index 342b0d07114f286cce6bb3c981f4cc44e8c3217c..ae679a1f0437b34853dc67741d8decb3a9ecb63d 100644 (file)
--- a/gdb/jit.c
+++ b/gdb/jit.c
@@ -265,7 +265,7 @@ jit_read_descriptor (gdbarch *gdbarch,
   jiter_objfile_data *objf_data = jiter->jiter_data.get ();
   gdb_assert (objf_data != nullptr);
 
-  CORE_ADDR addr = MSYMBOL_VALUE_ADDRESS (jiter, objf_data->descriptor);
+  CORE_ADDR addr = objf_data->descriptor->value_address (jiter);
 
   jit_debug_printf ("descriptor_addr = %s", paddress (gdbarch, addr));
 
@@ -591,7 +591,7 @@ finalize_symtab (struct gdb_symtab *stab, struct objfile *objfile)
       block_name->set_aclass_index (LOC_BLOCK);
       symbol_set_symtab (block_name, filetab);
       block_name->set_type (lookup_function_type (block_type));
-      SYMBOL_BLOCK_VALUE (block_name) = new_block;
+      block_name->set_value_block (new_block);
 
       block_name->m_name = obstack_strdup (&objfile->objfile_obstack,
                                           gdb_block_iter.name.get ());
@@ -887,7 +887,7 @@ jit_breakpoint_re_set_internal (struct gdbarch *gdbarch, program_space *pspace)
       bound_minimal_symbol reg_symbol
        = lookup_minimal_symbol (jit_break_name, nullptr, the_objfile);
       if (reg_symbol.minsym == NULL
-         || BMSYMBOL_VALUE_ADDRESS (reg_symbol) == 0)
+         || reg_symbol.value_address () == 0)
        {
          /* No need to repeat the lookup the next time.  */
          the_objfile->skip_jit_symbol_lookup = true;
@@ -897,7 +897,7 @@ jit_breakpoint_re_set_internal (struct gdbarch *gdbarch, program_space *pspace)
       bound_minimal_symbol desc_symbol
        = lookup_minimal_symbol (jit_descriptor_name, NULL, the_objfile);
       if (desc_symbol.minsym == NULL
-         || BMSYMBOL_VALUE_ADDRESS (desc_symbol) == 0)
+         || desc_symbol.value_address () == 0)
        {
          /* No need to repeat the lookup the next time.  */
          the_objfile->skip_jit_symbol_lookup = true;
@@ -909,9 +909,7 @@ jit_breakpoint_re_set_internal (struct gdbarch *gdbarch, program_space *pspace)
       objf_data->register_code = reg_symbol.minsym;
       objf_data->descriptor = desc_symbol.minsym;
 
-      CORE_ADDR addr = MSYMBOL_VALUE_ADDRESS (the_objfile,
-                                             objf_data->register_code);
-
+      CORE_ADDR addr = objf_data->register_code->value_address (the_objfile);
       jit_debug_printf ("breakpoint_addr = %s", paddress (gdbarch, addr));
 
       /* Check if we need to re-create the breakpoint.  */
index 9d4707cbb4e7a46718239dc52c41048a4ad5c17b..3c176bea94e59e4b562050ca42025fcda49c3a2e 100644 (file)
@@ -2224,14 +2224,14 @@ convert_linespec_to_sals (struct linespec_state *state, linespec *ls)
                   && sym.symbol->aclass () == LOC_BLOCK)
                {
                  const CORE_ADDR addr
-                   = BLOCK_ENTRY_PC (SYMBOL_BLOCK_VALUE (sym.symbol));
+                   = BLOCK_ENTRY_PC (sym.symbol->value_block ());
 
                  for (const auto &elem : ls->minimal_symbols)
                    {
                      if (MSYMBOL_TYPE (elem.minsym) == mst_text_gnu_ifunc
                          || MSYMBOL_TYPE (elem.minsym) == mst_data_gnu_ifunc)
                        {
-                         CORE_ADDR msym_addr = BMSYMBOL_VALUE_ADDRESS (elem);
+                         CORE_ADDR msym_addr = elem.value_address ();
                          if (MSYMBOL_TYPE (elem.minsym) == mst_data_gnu_ifunc)
                            {
                              struct gdbarch *gdbarch
@@ -3986,7 +3986,7 @@ find_label_symbols (struct linespec_state *self,
          fn_sym = elt.symbol;
          set_current_program_space
            (symbol_symtab (fn_sym)->compunit ()->objfile ()->pspace);
-         block = SYMBOL_BLOCK_VALUE (fn_sym);
+         block = fn_sym->value_block ();
 
          find_label_symbols_in_block (block, name, fn_sym, completion_mode,
                                       &result, label_funcs_ret);
@@ -4166,7 +4166,7 @@ minsym_found (struct linespec_state *self, struct objfile *objfile,
       if (is_function)
        sal.pc = func_addr;
       else
-       sal.pc = MSYMBOL_VALUE_ADDRESS (objfile, msymbol);
+       sal.pc = msymbol->value_address (objfile);
       sal.pspace = current_program_space;
     }
 
@@ -4377,13 +4377,13 @@ symbol_to_sal (struct symtab_and_line *result,
     }
   else
     {
-      if (sym->aclass () == LOC_LABEL && SYMBOL_VALUE_ADDRESS (sym) != 0)
+      if (sym->aclass () == LOC_LABEL && sym->value_address () != 0)
        {
          *result = {};
          result->symtab = symbol_symtab (sym);
          result->symbol = sym;
          result->line = sym->line ();
-         result->pc = SYMBOL_VALUE_ADDRESS (sym);
+         result->pc = sym->value_address ();
          result->pspace = result->symtab->compunit ()->objfile ()->pspace;
          result->explicit_pc = 1;
          return 1;
@@ -4399,7 +4399,7 @@ symbol_to_sal (struct symtab_and_line *result,
          result->symtab = symbol_symtab (sym);
          result->symbol = sym;
          result->line = sym->line ();
-         result->pc = SYMBOL_VALUE_ADDRESS (sym);
+         result->pc = sym->value_address ();
          result->pspace = result->symtab->compunit ()->objfile ()->pspace;
          return 1;
        }
index 2837233ac6a90bebc4e09ab9097a355d41f88235..11da82a1abc7c4c321a4f3aae46864587a202113 100644 (file)
@@ -474,7 +474,7 @@ inferior_has_bug (const char *ver_symbol, int ver_major_min, int ver_minor_min)
   if (version_msym.minsym == NULL)
     return 0;
 
-  version_addr = BMSYMBOL_VALUE_ADDRESS (version_msym);
+  version_addr = version_msym.value_address ();
   gdb::unique_xmalloc_ptr<char> version
     = target_read_string (version_addr, 32, &got);
   if (version != nullptr
index 02e3cf1b4e7bd3486a5565dec5321d5b83cdccb5..85bac11b8fb612ae33bb7bdad8e1c98ef0cc5569 100644 (file)
@@ -490,7 +490,7 @@ exp :       STRING
 
 /* This will be used for extensions later.  Like adding modules.  */
 block  :       fblock  
-                       { $$ = SYMBOL_BLOCK_VALUE($1); }
+                       { $$ = $1->value_block (); }
        ;
 
 fblock :       BLOCKNAME
index 55ef5a551f8bb8fef59019d3423c5f27a11eb2a3..4971be796cd352064ed3dfb7b7ce5bd9c54dab73 100644 (file)
@@ -2216,7 +2216,7 @@ m32c_return_value (struct gdbarch *gdbarch,
            error (_("The return value is stored in memory at 'mem0', "
                     "but GDB cannot find\n"
                     "its address."));
-         read_memory (BMSYMBOL_VALUE_ADDRESS (mem0), readbuf, valtype_len);
+         read_memory (mem0.value_address (), readbuf, valtype_len);
        }
     }
 
@@ -2248,7 +2248,7 @@ m32c_return_value (struct gdbarch *gdbarch,
            error (_("The return value is stored in memory at 'mem0', "
                     "but GDB cannot find\n"
                     " its address."));
-         write_memory (BMSYMBOL_VALUE_ADDRESS (mem0), writebuf, valtype_len);
+         write_memory (mem0.value_address (), writebuf, valtype_len);
        }
     }
 
@@ -2473,7 +2473,7 @@ m32c_m16c_address_to_pointer (struct gdbarch *gdbarch,
       else
        {
          /* The trampoline's address is our pointer.  */
-         addr = BMSYMBOL_VALUE_ADDRESS (tramp_msym);
+         addr = tramp_msym.value_address ();
        }
     }
 
@@ -2525,7 +2525,7 @@ m32c_m16c_pointer_to_address (struct gdbarch *gdbarch,
              /* If we do have such a symbol, return its value as the
                 function's true address.  */
              if (func_msym.minsym)
-               ptr = BMSYMBOL_VALUE_ADDRESS (func_msym);
+               ptr = func_msym.value_address ();
            }
        }
       else
index 9c276fb7593cb7111d9932e6ee415c52973e70aa..3ad4c8de6bf2e15284eb7b9ce496f7f8725284c8 100644 (file)
@@ -811,7 +811,7 @@ m32r_frame_this_id (struct frame_info *this_frame,
 
   /* Check if the stack is empty.  */
   msym_stack = lookup_minimal_symbol ("_stack", NULL, NULL);
-  if (msym_stack.minsym && info->base == BMSYMBOL_VALUE_ADDRESS (msym_stack))
+  if (msym_stack.minsym && info->base == msym_stack.value_address ())
     return;
 
   /* Hopefully the prologue analysis either correctly determined the
index 5c1f20415c8c0827730cbd15709465ab0913325d..e82b18a848fc1a818d514476ecb8925eb1fddf03 100644 (file)
@@ -215,7 +215,7 @@ m68hc11_get_register_info (struct m68hc11_soft_reg *reg, const char *name)
   msymbol = lookup_minimal_symbol (name, NULL, NULL);
   if (msymbol.minsym)
     {
-      reg->addr = BMSYMBOL_VALUE_ADDRESS (msymbol);
+      reg->addr = msymbol.value_address ();
       reg->name = xstrdup (name);
 
       /* Keep track of the address range for soft registers.  */
index 14a7428a979308b616f5492fea63d3059abe7426..90f25b3c191211c402f2a478bfce9da51e5e9501 100644 (file)
@@ -404,7 +404,7 @@ macho_resolve_oso_sym_with_minsym (struct objfile *main_objfile, asymbol *sym)
       return 0;
     }
   else
-    return BMSYMBOL_VALUE_ADDRESS (msym);
+    return msym.value_address ();
 }
 
 /* Add oso file OSO/ABFD as a symbol file.  */
index 8cebd6ab5af3866f05aa06dd79e9cd879a91a5bd..3f3dad5bd79424af75056da8fd116b4daf0051aa 100644 (file)
@@ -588,7 +588,7 @@ maintenance_translate_address (const char *arg, int from_tty)
     {
       const char *symbol_name = sym.minsym->print_name ();
       const char *symbol_offset
-       = pulongest (address - BMSYMBOL_VALUE_ADDRESS (sym));
+       = pulongest (address - sym.value_address ());
 
       sect = sym.obj_section ();
       if (sect != NULL)
index 67630b793327ccd6227ed5c0e60158c05c5a5d1d..6dcac13d2c5b69e56a0089f341a01719b43f6633 100644 (file)
@@ -533,7 +533,7 @@ reg_value_complaint (int regnum, int num_regs, const char *sym)
 static int
 mdebug_reg_to_regnum (struct symbol *sym, struct gdbarch *gdbarch)
 {
-  int regno = gdbarch_ecoff_reg_to_regnum (gdbarch, SYMBOL_VALUE (sym));
+  int regno = gdbarch_ecoff_reg_to_regnum (gdbarch, sym->value_longest ());
 
   if (regno < 0 || regno >= gdbarch_num_cooked_regs (gdbarch))
     {
@@ -631,7 +631,7 @@ parse_symbol (SYMR *sh, union aux_ext *ax, char *ext_sh, int bigend,
       b = BLOCKVECTOR_BLOCK (top_stack->cur_st->compunit ()->blockvector (),
                             GLOBAL_BLOCK);
       s = new_symbol (name);
-      SET_SYMBOL_VALUE_ADDRESS (s, (CORE_ADDR) sh->value);
+      s->set_value_address (sh->value);
       add_data_symbol (sh, ax, bigend, s, LOC_STATIC, b, objfile, name);
       break;
 
@@ -644,18 +644,18 @@ parse_symbol (SYMR *sh, union aux_ext *ax, char *ext_sh, int bigend,
             address is not in the symbol; we need to fix it later in
             scan_file_globals.  */
          int bucket = hashname (s->linkage_name ());
-         SYMBOL_VALUE_CHAIN (s) = global_sym_chain[bucket];
+         s->set_value_chain (global_sym_chain[bucket]);
          global_sym_chain[bucket] = s;
        }
       else
-       SET_SYMBOL_VALUE_ADDRESS (s, (CORE_ADDR) sh->value);
+       s->set_value_address (sh->value);
       add_data_symbol (sh, ax, bigend, s, LOC_STATIC, b, objfile, name);
       break;
 
     case stLocal:              /* Local variable, goes into current block.  */
       b = top_stack->cur_block;
       s = new_symbol (name);
-      SYMBOL_VALUE (s) = svalue;
+      s->set_value_longest (svalue);
       if (sh->sc == scRegister)
        add_data_symbol (sh, ax, bigend, s, mdebug_register_index,
                         b, objfile, name);
@@ -696,7 +696,7 @@ parse_symbol (SYMR *sh, union aux_ext *ax, char *ext_sh, int bigend,
          s->set_aclass_index (LOC_ARG);
          break;
        }
-      SYMBOL_VALUE (s) = svalue;
+      s->set_value_longest (svalue);
       s->set_type (parse_type (cur_fd, ax, sh->index, 0, bigend, name));
       add_symbol (s, top_stack->cur_st, top_stack->cur_block);
       break;
@@ -705,7 +705,7 @@ parse_symbol (SYMR *sh, union aux_ext *ax, char *ext_sh, int bigend,
       s = new_symbol (name);
       s->set_domain (VAR_DOMAIN);      /* So that it can be used */
       s->set_aclass_index (LOC_LABEL); /* but not misused.  */
-      SET_SYMBOL_VALUE_ADDRESS (s, (CORE_ADDR) sh->value);
+      s->set_value_address (sh->value);
       s->set_type (objfile_type (objfile)->builtin_int);
       add_symbol (s, top_stack->cur_st, top_stack->cur_block);
       break;
@@ -796,7 +796,7 @@ parse_symbol (SYMR *sh, union aux_ext *ax, char *ext_sh, int bigend,
 
       /* Create and enter a new lexical context.  */
       b = new_block (FUNCTION_BLOCK, s->language ());
-      SYMBOL_BLOCK_VALUE (s) = b;
+      s->set_value_block (b);
       BLOCK_FUNCTION (b) = s;
       BLOCK_START (b) = BLOCK_END (b) = sh->value;
       BLOCK_SUPERBLOCK (b) = top_stack->cur_block;
@@ -1068,8 +1068,8 @@ parse_symbol (SYMR *sh, union aux_ext *ax, char *ext_sh, int bigend,
                enum_sym->set_aclass_index (LOC_CONST);
                enum_sym->set_type (t);
                enum_sym->set_domain (VAR_DOMAIN);
-               SYMBOL_VALUE (enum_sym) = tsym.value;
-               if (SYMBOL_VALUE (enum_sym) < 0)
+               enum_sym->set_value_longest (tsym.value);
+               if (enum_sym->value_longest () < 0)
                  unsigned_enum = 0;
                add_symbol (enum_sym, top_stack->cur_st, top_stack->cur_block);
 
@@ -1099,7 +1099,7 @@ parse_symbol (SYMR *sh, union aux_ext *ax, char *ext_sh, int bigend,
        s = new_symbol (name);
        s->set_domain (STRUCT_DOMAIN);
        s->set_aclass_index (LOC_TYPEDEF);
-       SYMBOL_VALUE (s) = 0;
+       s->set_value_longest (0);
        s->set_type (t);
        add_symbol (s, top_stack->cur_st, top_stack->cur_block);
        break;
@@ -1159,7 +1159,7 @@ parse_symbol (SYMR *sh, union aux_ext *ax, char *ext_sh, int bigend,
          s->set_type (objfile_type (mdebugread_objfile)->builtin_void);
          e = OBSTACK_ZALLOC (&mdebugread_objfile->objfile_obstack,
                              mdebug_extra_func_info);
-         SYMBOL_VALUE_BYTES (s) = (gdb_byte *) e;
+         s->set_value_bytes ((gdb_byte *) e);
          e->numargs = top_stack->numargs;
          e->pdr.framereg = -1;
          add_symbol (s, top_stack->cur_st, top_stack->cur_block);
@@ -1297,7 +1297,7 @@ parse_symbol (SYMR *sh, union aux_ext *ax, char *ext_sh, int bigend,
       s = new_symbol (name);
       s->set_domain (VAR_DOMAIN);
       s->set_aclass_index (LOC_TYPEDEF);
-      SYMBOL_BLOCK_VALUE (s) = top_stack->cur_block;
+      s->set_value_block (top_stack->cur_block);
       s->set_type (t);
       add_symbol (s, top_stack->cur_st, top_stack->cur_block);
 
@@ -1977,7 +1977,7 @@ parse_procedure (PDR *pr, struct compunit_symtab *search_symtab,
 
   if (s != 0)
     {
-      b = SYMBOL_BLOCK_VALUE (s);
+      b = s->value_block ();
     }
   else
     {
@@ -2012,7 +2012,7 @@ parse_procedure (PDR *pr, struct compunit_symtab *search_symtab,
     {
       struct mdebug_extra_func_info *e;
       
-      e = (struct mdebug_extra_func_info *) SYMBOL_VALUE_BYTES (i);
+      e = (struct mdebug_extra_func_info *) i->value_bytes ();
       e->pdr = *pr;
 
       /* GDB expects the absolute function start address for the
@@ -3990,7 +3990,7 @@ mdebug_expand_psymtab (legacy_psymtab *pst, struct objfile *objfile)
                  s->set_domain (LABEL_DOMAIN);
                  s->set_aclass_index (LOC_CONST);
                  s->set_type (objfile_type (objfile)->builtin_void);
-                 SYMBOL_VALUE_BYTES (s) = (gdb_byte *) e;
+                 s->set_value_bytes ((gdb_byte *) e);
                  e->pdr.framereg = -1;
                  add_symbol_to_list (s, get_local_symbols ());
                }
index 5d6d34129291e8ce62eec4850e5b2dde26089876..60321f767962b341790a324434b73ca48b7e7dea 100644 (file)
@@ -100,7 +100,7 @@ output_nondebug_symbol (ui_out *uiout,
   ui_out_emit_tuple tuple_emitter (uiout, NULL);
 
   uiout->field_core_addr ("address", gdbarch,
-                         BMSYMBOL_VALUE_ADDRESS (msymbol));
+                         msymbol.value_address ());
   uiout->field_string ("name", msymbol.minsym->print_name ());
 }
 
index a24930ba9425dc8efcdd160d97eb0342a0d5b7eb..e93cbed86216eb72bf12041ae8476dd0c40d4451 100644 (file)
@@ -113,7 +113,7 @@ bool
 msymbol_is_function (struct objfile *objfile, minimal_symbol *minsym,
                     CORE_ADDR *func_address_p)
 {
-  CORE_ADDR msym_addr = MSYMBOL_VALUE_ADDRESS (objfile, minsym);
+  CORE_ADDR msym_addr = minsym->value_address (objfile);
 
   switch (minsym->type)
     {
@@ -498,7 +498,7 @@ find_minimal_symbol_address (const char *name, CORE_ADDR *addr,
     = lookup_minimal_symbol (name, NULL, objfile);
 
   if (sym.minsym != NULL)
-    *addr = BMSYMBOL_VALUE_ADDRESS (sym);
+    *addr = sym.value_address ();
 
   return sym.minsym == NULL;
 }
@@ -665,7 +665,7 @@ lookup_minimal_symbol_by_pc_name (CORE_ADDR pc, const char *name,
               msymbol != NULL;
               msymbol = msymbol->hash_next)
            {
-             if (MSYMBOL_VALUE_ADDRESS (objfile, msymbol) == pc
+             if (msymbol->value_address (objfile) == pc
                  && strcmp (msymbol->linkage_name (), name) == 0)
                return msymbol;
            }
@@ -799,14 +799,14 @@ lookup_minimal_symbol_by_pc_section (CORE_ADDR pc_in, struct obj_section *sectio
             Warning: this code is trickier than it would appear at first.  */
 
          if (frob_address (objfile, &pc)
-             && pc >= MSYMBOL_VALUE_RAW_ADDRESS (&msymbol[lo]))
+             && pc >= msymbol[lo].value_raw_address ())
            {
-             while (MSYMBOL_VALUE_RAW_ADDRESS (&msymbol[hi]) > pc)
+             while (msymbol[hi].value_raw_address () > pc)
                {
                  /* pc is still strictly less than highest address.  */
                  /* Note "new" will always be >= lo.  */
                  newobj = (lo + hi) / 2;
-                 if ((MSYMBOL_VALUE_RAW_ADDRESS (&msymbol[newobj]) >= pc)
+                 if ((msymbol[newobj].value_raw_address () >= pc)
                      || (lo == newobj))
                    {
                      hi = newobj;
@@ -821,8 +821,8 @@ lookup_minimal_symbol_by_pc_section (CORE_ADDR pc_in, struct obj_section *sectio
                 hi to point to the last one.  That way we can find the
                 right symbol if it has an index greater than hi.  */
              while (hi < objfile->per_bfd->minimal_symbol_count - 1
-                    && (MSYMBOL_VALUE_RAW_ADDRESS (&msymbol[hi])
-                        == MSYMBOL_VALUE_RAW_ADDRESS (&msymbol[hi + 1])))
+                    && (msymbol[hi].value_raw_address ()
+                        == msymbol[hi + 1].value_raw_address ()))
                hi++;
 
              /* Skip various undesirable symbols.  */
@@ -870,8 +870,8 @@ lookup_minimal_symbol_by_pc_section (CORE_ADDR pc_in, struct obj_section *sectio
                      && MSYMBOL_TYPE (&msymbol[hi - 1]) == want_type
                      && (MSYMBOL_SIZE (&msymbol[hi])
                          == MSYMBOL_SIZE (&msymbol[hi - 1]))
-                     && (MSYMBOL_VALUE_RAW_ADDRESS (&msymbol[hi])
-                         == MSYMBOL_VALUE_RAW_ADDRESS (&msymbol[hi - 1]))
+                     && (msymbol[hi].value_raw_address ()
+                         == msymbol[hi - 1].value_raw_address ())
                      && (msymbol[hi].obj_section (objfile)
                          == msymbol[hi - 1].obj_section (objfile)))
                    {
@@ -900,9 +900,9 @@ lookup_minimal_symbol_by_pc_section (CORE_ADDR pc_in, struct obj_section *sectio
                     the cancellable variants, but both have sizes.  */
                  if (hi > 0
                      && MSYMBOL_SIZE (&msymbol[hi]) != 0
-                     && pc >= (MSYMBOL_VALUE_RAW_ADDRESS (&msymbol[hi])
+                     && pc >= (msymbol[hi].value_raw_address ()
                                + MSYMBOL_SIZE (&msymbol[hi]))
-                     && pc < (MSYMBOL_VALUE_RAW_ADDRESS (&msymbol[hi - 1])
+                     && pc < (msymbol[hi - 1].value_raw_address ()
                               + MSYMBOL_SIZE (&msymbol[hi - 1])))
                    {
                      hi--;
@@ -932,7 +932,7 @@ lookup_minimal_symbol_by_pc_section (CORE_ADDR pc_in, struct obj_section *sectio
 
              if (hi >= 0
                  && MSYMBOL_SIZE (&msymbol[hi]) != 0
-                 && pc >= (MSYMBOL_VALUE_RAW_ADDRESS (&msymbol[hi])
+                 && pc >= (msymbol[hi].value_raw_address ()
                            + MSYMBOL_SIZE (&msymbol[hi])))
                {
                  if (best_zero_sized != -1)
@@ -944,9 +944,8 @@ lookup_minimal_symbol_by_pc_section (CORE_ADDR pc_in, struct obj_section *sectio
                      if (previous != nullptr)
                        {
                          if (previous->minsym == nullptr
-                             || (MSYMBOL_VALUE_RAW_ADDRESS (&msymbol[hi])
-                                 > MSYMBOL_VALUE_RAW_ADDRESS
-                                       (previous->minsym)))
+                             || (msymbol[hi].value_raw_address ()
+                                 > previous->minsym->value_raw_address ()))
                            {
                              previous->minsym = &msymbol[hi];
                              previous->objfile = objfile;
@@ -963,8 +962,8 @@ lookup_minimal_symbol_by_pc_section (CORE_ADDR pc_in, struct obj_section *sectio
 
              if (hi >= 0
                  && ((best_symbol == NULL) ||
-                     (MSYMBOL_VALUE_RAW_ADDRESS (best_symbol) <
-                      MSYMBOL_VALUE_RAW_ADDRESS (&msymbol[hi]))))
+                     (best_symbol->value_raw_address () <
+                      msymbol[hi].value_raw_address ())))
                {
                  best_symbol = &msymbol[hi];
                  best_objfile = objfile;
@@ -1209,7 +1208,7 @@ minimal_symbol_reader::record_full (gdb::string_view name,
   else
     msymbol->m_name = name.data ();
 
-  SET_MSYMBOL_VALUE_ADDRESS (msymbol, address);
+  msymbol->set_value_address (address);
   msymbol->set_section_index (section);
 
   MSYMBOL_TYPE (msymbol) = ms_type;
@@ -1233,11 +1232,11 @@ static inline bool
 minimal_symbol_is_less_than (const minimal_symbol &fn1,
                             const minimal_symbol &fn2)
 {
-  if (MSYMBOL_VALUE_RAW_ADDRESS (&fn1) < MSYMBOL_VALUE_RAW_ADDRESS (&fn2))
+  if ((&fn1)->value_raw_address () < (&fn2)->value_raw_address ())
     {
       return true;             /* addr 1 is less than addr 2.  */
     }
-  else if (MSYMBOL_VALUE_RAW_ADDRESS (&fn1) > MSYMBOL_VALUE_RAW_ADDRESS (&fn2))
+  else if ((&fn1)->value_raw_address () > (&fn2)->value_raw_address ())
     {
       return false;            /* addr 1 is greater than addr 2.  */
     }
@@ -1297,8 +1296,8 @@ compact_minimal_symbols (struct minimal_symbol *msymbol, int mcount,
       copyfrom = copyto = msymbol;
       while (copyfrom < msymbol + mcount - 1)
        {
-         if (MSYMBOL_VALUE_RAW_ADDRESS (copyfrom)
-             == MSYMBOL_VALUE_RAW_ADDRESS ((copyfrom + 1))
+         if (copyfrom->value_raw_address ()
+             == (copyfrom + 1)->value_raw_address ()
              && (copyfrom->section_index ()
                  == (copyfrom + 1)->section_index ())
              && strcmp (copyfrom->linkage_name (),
@@ -1596,7 +1595,7 @@ minimal_symbol_upper_bound (struct bound_minimal_symbol minsym)
      of the section, as the end of the function.  */
 
   if (MSYMBOL_SIZE (minsym.minsym) != 0)
-    return BMSYMBOL_VALUE_ADDRESS (minsym) + MSYMBOL_SIZE (minsym.minsym);
+    return minsym.value_address () + MSYMBOL_SIZE (minsym.minsym);
 
   /* Step over other symbols at this same address, and symbols in
      other sections, to find the next symbol in this section with a
@@ -1609,17 +1608,17 @@ minimal_symbol_upper_bound (struct bound_minimal_symbol minsym)
   section = msymbol->section_index ();
   for (iter = msymbol + 1; iter != past_the_end; ++iter)
     {
-      if ((MSYMBOL_VALUE_RAW_ADDRESS (iter)
-          != MSYMBOL_VALUE_RAW_ADDRESS (msymbol))
+      if ((iter->value_raw_address ()
+          != msymbol->value_raw_address ())
          && iter->section_index () == section)
        break;
     }
 
   obj_section = minsym.obj_section ();
   if (iter != past_the_end
-      && (MSYMBOL_VALUE_ADDRESS (minsym.objfile, iter)
+      && (iter->value_address (minsym.objfile)
          < obj_section->endaddr ()))
-    result = MSYMBOL_VALUE_ADDRESS (minsym.objfile, iter);
+    result = iter->value_address (minsym.objfile);
   else
     /* We got the start address from the last msymbol in the objfile.
        So the end address is the end of the section.  */
index 519702494ed57f11d6b07e7646743fdf91ed9a60..296b8cde1ba5785e381f56bcc08e58323742fc28 100644 (file)
@@ -36,6 +36,13 @@ struct bound_minimal_symbol
 
   bound_minimal_symbol () = default;
 
+  /* Return the address of the minimal symbol in the context of the objfile.  */
+
+  CORE_ADDR value_address () const
+  {
+    return this->minsym->value_address (this->objfile);
+  }
+
   /* The minimal symbol that was found, or NULL if no minimal symbol
      was found.  */
 
index e7eeecb2174fba820dbbfb74e4ecb5d2f3ed5ce7..05043d93e745e3c1cb94f66728d2d37d03bd4735 100644 (file)
@@ -470,7 +470,7 @@ mips_fbsd_skip_solib_resolver (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   struct bound_minimal_symbol msym
     = lookup_bound_minimal_symbol ("_mips_rtld_bind");
-  if (msym.minsym != nullptr && BMSYMBOL_VALUE_ADDRESS (msym) == pc)
+  if (msym.minsym != nullptr && msym.value_address () == pc)
     return frame_unwind_caller_pc (get_current_frame ());
 
   return fbsd_skip_solib_resolver (gdbarch, pc);
index 3f4c1b321b3ff4a5446478d249f91c8391d69cc9..d8f90ccf881237660c61e36615f1042e99ab7e32 100644 (file)
@@ -701,7 +701,7 @@ mips_linux_skip_resolver (struct gdbarch *gdbarch, CORE_ADDR pc)
 
   resolver = lookup_minimal_symbol ("__dl_runtime_resolve", NULL, NULL);
 
-  if (resolver.minsym && BMSYMBOL_VALUE_ADDRESS (resolver) == pc)
+  if (resolver.minsym && resolver.value_address () == pc)
     return frame_unwind_caller_pc (get_current_frame ());
 
   return glibc_skip_solib_resolver (gdbarch, pc);
index 9157e9fa143415998a9e761472b41419b5f8c7a9..78e7f5ccf87137f3b115083930bbdd66567a19e8 100644 (file)
@@ -436,12 +436,12 @@ mips_elf_make_msymbol_special (asymbol * sym, struct minimal_symbol *msym)
   if (ELF_ST_IS_MICROMIPS (st_other))
     {
       MSYMBOL_TARGET_FLAG_MICROMIPS (msym) = 1;
-      SET_MSYMBOL_VALUE_ADDRESS (msym, MSYMBOL_VALUE_RAW_ADDRESS (msym) | 1);
+      msym->set_value_address (msym->value_raw_address () | 1);
     }
   else if (ELF_ST_IS_MIPS16 (st_other))
     {
       MSYMBOL_TARGET_FLAG_MIPS16 (msym) = 1;
-      SET_MSYMBOL_VALUE_ADDRESS (msym, MSYMBOL_VALUE_RAW_ADDRESS (msym) | 1);
+      msym->set_value_address (msym->value_raw_address () | 1);
     }
 }
 
@@ -486,7 +486,7 @@ mips_make_symbol_special (struct symbol *sym, struct objfile *objfile)
   if (sym->aclass () == LOC_BLOCK)
     {
       /* We are in symbol reading so it is OK to cast away constness.  */
-      struct block *block = (struct block *) SYMBOL_BLOCK_VALUE (sym);
+      struct block *block = (struct block *) sym->value_block ();
       CORE_ADDR compact_block_start;
       struct bound_minimal_symbol msym;
 
@@ -7830,7 +7830,7 @@ mips_skip_pic_trampoline_code (struct frame_info *frame, CORE_ADDR pc)
      which jumps to foo.  */
   msym = lookup_minimal_symbol_by_pc (pc);
   if (msym.minsym == NULL
-      || BMSYMBOL_VALUE_ADDRESS (msym) != pc
+      || msym.value_address () != pc
       || msym.minsym->linkage_name () == NULL
       || !startswith (msym.minsym->linkage_name (), ".pic."))
     return 0;
index 38b8a195358e561ca6c3804891d6cf2b134c1a8a..fbedb77f46e7dc67b69edf8246e731d118541d75 100644 (file)
@@ -367,7 +367,7 @@ nbsd_skip_solib_resolver (struct gdbarch *gdbarch, CORE_ADDR pc)
   struct bound_minimal_symbol msym;
 
   msym = lookup_minimal_symbol ("_rtld_bind_start", NULL, NULL);
-  if (msym.minsym && BMSYMBOL_VALUE_ADDRESS (msym) == pc)
+  if (msym.minsym && msym.value_address () == pc)
     return frame_unwind_caller_pc (get_current_frame ());
   else
     return find_solib_trampoline_target (get_current_frame (), pc);
index ed13097f7a85db26ca507c3d327fbc7da784e1e2..00c362c5c9c8a370f7b686665701ba2413ba86ba 100644 (file)
@@ -1249,7 +1249,7 @@ find_objc_msgsend (void)
          continue; 
        }
 
-      methcalls[i].begin = BMSYMBOL_VALUE_ADDRESS (func);
+      methcalls[i].begin = func.value_address ();
       methcalls[i].end = minimal_symbol_upper_bound (func);
     }
 }
index ddd94da42a6f5f97392f123a93b0a35b31b8d533..0c71e0bd6a9f0fd494186c1baea626cfc8440d08 100644 (file)
@@ -619,11 +619,8 @@ relocate_one_symbol (struct symbol *sym, struct objfile *objfile,
   if ((sym->aclass () == LOC_LABEL
        || sym->aclass () == LOC_STATIC)
       && sym->section_index () >= 0)
-    {
-      SET_SYMBOL_VALUE_ADDRESS (sym,
-                               SYMBOL_VALUE_ADDRESS (sym)
-                               + delta[sym->section_index ()]);
-    }
+    sym->set_value_address (sym->value_address ()
+                           + delta[sym->section_index ()]);
 }
 
 /* Relocate OBJFILE to NEW_OFFSETS.  There should be OBJFILE->NUM_SECTIONS
index f9b967ac47d7dd45c5986ef8e21280a7d1b45893..eed327bf7a9249b52c48b97adc22918646b8b8d4 100644 (file)
@@ -31,7 +31,7 @@ obsd_skip_solib_resolver (struct gdbarch *gdbarch, CORE_ADDR pc)
   struct bound_minimal_symbol msym;
 
   msym = lookup_minimal_symbol("_dl_bind", NULL, NULL);
-  if (msym.minsym && BMSYMBOL_VALUE_ADDRESS (msym) == pc)
+  if (msym.minsym && msym.value_address () == pc)
     return frame_unwind_caller_pc (get_current_frame ());
   else
     return find_solib_trampoline_target (get_current_frame (), pc);
index 3d1ea722d81d0da067f1361b8fb0785c96be6b95..ffa82f6e42c34f1b0006d259f31150e5856c4f21 100644 (file)
@@ -612,7 +612,7 @@ exp :       THIS
 block  :       BLOCKNAME
                        {
                          if ($1.sym.symbol != 0)
-                             $$ = SYMBOL_BLOCK_VALUE ($1.sym.symbol);
+                             $$ = $1.sym.symbol->value_block ();
                          else
                            {
                              std::string copy = copy_name ($1.stoken);
@@ -639,7 +639,7 @@ block       :       block COLONCOLON name
                          if (!tem || tem->aclass () != LOC_BLOCK)
                            error (_("No function \"%s\" in specified context."),
                                   copy.c_str ());
-                         $$ = SYMBOL_BLOCK_VALUE (tem); }
+                         $$ = tem->value_block (); }
        ;
 
 variable:      block COLONCOLON name
index 427520fa6a077f6fbb9465ce3d143080bbf4df6a..43c286d6472705cd3bfdda9c27a3daaa660faef2 100644 (file)
@@ -228,7 +228,7 @@ pascal_language::value_print_inner (struct value *val,
          /* If 'symbol_print' is set, we did the work above.  */
          if (!options->symbol_print
              && (msymbol.minsym != NULL)
-             && (vt_address == BMSYMBOL_VALUE_ADDRESS (msymbol)))
+             && (vt_address == msymbol.value_address ()))
            {
              if (want_space)
                gdb_puts (" ", stream);
index 6d1b3d9d92387d5b03a4f6c2f37acf8d3d8d65e1..2389dbf0b0f544a02c47981cff42161ca966cbc0 100644 (file)
@@ -115,11 +115,11 @@ find_minsym_type_and_address (minimal_symbol *msymbol,
     {
       /* Addresses of TLS symbols are really offsets into a
         per-objfile/per-thread storage block.  */
-      addr = MSYMBOL_VALUE_RAW_ADDRESS (bound_msym.minsym);
+      addr = bound_msym.minsym->value_raw_address ();
     }
   else if (msymbol_is_function (objfile, msymbol, &addr))
     {
-      if (addr != BMSYMBOL_VALUE_ADDRESS (bound_msym))
+      if (addr != bound_msym.value_address ())
        {
          /* This means we resolved a function descriptor, and we now
             have an address for a code/text symbol instead of a data
@@ -132,7 +132,7 @@ find_minsym_type_and_address (minimal_symbol *msymbol,
        }
     }
   else
-    addr = BMSYMBOL_VALUE_ADDRESS (bound_msym);
+    addr = bound_msym.value_address ();
 
   if (overlay_debugging)
     addr = symbol_overlayed_address (addr, section);
index ece7e76392329b818a55d032a63f0d33f85c69f5..a11f3672393b41454b74cfb617af7a5dcafc34e8 100644 (file)
@@ -1662,9 +1662,9 @@ ppc_elfv2_skip_entrypoint (struct gdbarch *gdbarch, CORE_ADDR pc)
   if (MSYMBOL_TARGET_FLAG_1 (fun.minsym))
     local_entry_offset = 8;
 
-  if (BMSYMBOL_VALUE_ADDRESS (fun) <= pc
-      && pc < BMSYMBOL_VALUE_ADDRESS (fun) + local_entry_offset)
-    return BMSYMBOL_VALUE_ADDRESS (fun) + local_entry_offset;
+  if (fun.value_address () <= pc
+      && pc < fun.value_address () + local_entry_offset)
+    return fun.value_address () + local_entry_offset;
 
   return pc;
 }
index 9a3b02f028d360cf99c974026df2e646541fd1b3..6c2fd1bfc99843b1cb297cb982125d545d88de26 100644 (file)
@@ -1059,7 +1059,7 @@ convert_code_addr_to_desc_addr (CORE_ADDR code_addr, CORE_ADDR *desc_addr)
   if (fn.minsym == NULL)
     return 0;
   /* Found a descriptor.  */
-  (*desc_addr) = BMSYMBOL_VALUE_ADDRESS (fn);
+  (*desc_addr) = fn.value_address ();
   return 1;
 }
 
index 3c78edf7cce0dfd5a426e949b860ed62b9f35422..e870b35cf3875be3602c81266c68e8d800654290 100644 (file)
@@ -645,7 +645,7 @@ build_address_symbolic (struct gdbarch *gdbarch,
         pointer is <function+3>.  This matches the ISA behavior.  */
       addr = gdbarch_addr_bits_remove (gdbarch, addr);
 
-      name_location = BLOCK_ENTRY_PC (SYMBOL_BLOCK_VALUE (symbol));
+      name_location = BLOCK_ENTRY_PC (symbol->value_block ());
       if (do_demangle || asm_demangle)
        name_temp = symbol->print_name ();
       else
@@ -673,7 +673,7 @@ build_address_symbolic (struct gdbarch *gdbarch,
              under consideration.  */
       if (symbol == NULL ||
           (!prefer_sym_over_minsym
-           && BMSYMBOL_VALUE_ADDRESS (msymbol) == addr
+           && msymbol.value_address () == addr
            && name_location != addr))
        {
          /* If this is a function (i.e. a code address), strip out any
@@ -688,7 +688,7 @@ build_address_symbolic (struct gdbarch *gdbarch,
            addr = gdbarch_addr_bits_remove (gdbarch, addr);
 
          symbol = 0;
-         name_location = BMSYMBOL_VALUE_ADDRESS (msymbol);
+         name_location = msymbol.value_address ();
          if (do_demangle || asm_demangle)
            name_temp = msymbol.minsym->print_name ();
          else
@@ -1551,7 +1551,7 @@ info_symbol_command (const char *arg, int from_tty)
            const char *loc_string;
 
            matches = 1;
-           offset = sect_addr - MSYMBOL_VALUE_ADDRESS (objfile, msymbol);
+           offset = sect_addr - msymbol->value_address (objfile);
            mapped = section_is_mapped (osect) ? _("mapped") : _("unmapped");
            sec_name = osect->the_bfd_section->name;
            msym_name = msymbol->print_name ();
@@ -1649,7 +1649,7 @@ info_address_command (const char *exp, int from_tty)
          struct objfile *objfile = msymbol.objfile;
 
          gdbarch = objfile->arch ();
-         load_addr = BMSYMBOL_VALUE_ADDRESS (msymbol);
+         load_addr = msymbol.value_address ();
 
          gdb_printf ("Symbol \"");
          fprintf_symbol (gdb_stdout, exp,
@@ -1679,7 +1679,7 @@ info_address_command (const char *exp, int from_tty)
   gdb_printf ("Symbol \"");
   gdb_puts (sym->print_name ());
   gdb_printf ("\" is ");
-  val = SYMBOL_VALUE (sym);
+  val = sym->value_longest ();
   if (sym->is_objfile_owned ())
     section = sym->obj_section (symbol_objfile (sym));
   else
@@ -1703,7 +1703,7 @@ info_address_command (const char *exp, int from_tty)
 
     case LOC_LABEL:
       gdb_printf ("a label at address ");
-      load_addr = SYMBOL_VALUE_ADDRESS (sym);
+      load_addr = sym->value_address ();
       fputs_styled (paddress (gdbarch, load_addr), address_style.style (),
                    gdb_stdout);
       if (section_is_overlay (section))
@@ -1739,7 +1739,7 @@ info_address_command (const char *exp, int from_tty)
 
     case LOC_STATIC:
       gdb_printf (_("static storage at address "));
-      load_addr = SYMBOL_VALUE_ADDRESS (sym);
+      load_addr = sym->value_address ();
       fputs_styled (paddress (gdbarch, load_addr), address_style.style (),
                    gdb_stdout);
       if (section_is_overlay (section))
@@ -1778,7 +1778,7 @@ info_address_command (const char *exp, int from_tty)
 
     case LOC_BLOCK:
       gdb_printf (_("a function at address "));
-      load_addr = BLOCK_ENTRY_PC (SYMBOL_BLOCK_VALUE (sym));
+      load_addr = BLOCK_ENTRY_PC (sym->value_block ());
       fputs_styled (paddress (gdbarch, load_addr), address_style.style (),
                    gdb_stdout);
       if (section_is_overlay (section))
@@ -1806,7 +1806,7 @@ info_address_command (const char *exp, int from_tty)
            if (section
                && (section->the_bfd_section->flags & SEC_THREAD_LOCAL) != 0)
              {
-               load_addr = MSYMBOL_VALUE_RAW_ADDRESS (msym.minsym);
+               load_addr = msym.minsym->value_raw_address ();
                gdb_printf (_("a thread-local variable at offset %s "
                              "in the thread-local storage for `%s'"),
                            paddress (gdbarch, load_addr),
@@ -1814,7 +1814,7 @@ info_address_command (const char *exp, int from_tty)
              }
            else
              {
-               load_addr = BMSYMBOL_VALUE_ADDRESS (msym);
+               load_addr = msym.value_address ();
                gdb_printf (_("static storage at address "));
                fputs_styled (paddress (gdbarch, load_addr),
                              address_style.style (), gdb_stdout);
index e21ea05872a1773e15e3f08b4834d6216a1a4822..dd3d7c9201e6a03cec3e474baa90e5f8c50db428 100644 (file)
@@ -111,7 +111,7 @@ ps_pglobal_lookup (struct ps_prochandle *ph, const char *obj,
   if (ms.minsym == NULL)
     return PS_NOSYM;
 
-  *sym_addr = core_addr_to_ps_addr (BMSYMBOL_VALUE_ADDRESS (ms));
+  *sym_addr = core_addr_to_ps_addr (ms.value_address ());
   return PS_OK;
 }
 
index eeaf076bf13679b1aad7164d9c022f8735dff053..9964c102403e9f724e9bc5ae20e3e34fa517e5ca 100644 (file)
@@ -46,14 +46,14 @@ struct partial_symbol
   /* Return the unrelocated address of this partial symbol.  */
   CORE_ADDR unrelocated_address () const
   {
-    return ginfo.value.address;
+    return ginfo.value_address ();
   }
 
   /* Return the address of this partial symbol, relocated according to
      the offsets provided in OBJFILE.  */
   CORE_ADDR address (const struct objfile *objfile) const
   {
-    return (ginfo.value.address
+    return (ginfo.value_address ()
            + objfile->section_offsets[ginfo.section_index ()]);
   }
 
@@ -61,7 +61,7 @@ struct partial_symbol
      unrelocated.  */
   void set_unrelocated_address (CORE_ADDR addr)
   {
-    ginfo.value.address = addr;
+    ginfo.set_value_address (addr);
   }
 
   /* Note that partial_symbol does not derive from general_symbol_info
index a26ecd0b4e5edd1bed61eab30b457455d1b3134c..5d9949bca1d9ccd27a8bdfb9fa7c999cbd8b6564 100644 (file)
@@ -134,7 +134,7 @@ find_pc_sect_psymtab_closer (struct objfile *objfile,
             object's symbol table.  */
          p = find_pc_sect_psymbol (objfile, tpst, pc, section);
          if (p != NULL
-             && (p->address (objfile) == BMSYMBOL_VALUE_ADDRESS (msymbol)))
+             && (p->address (objfile) == msymbol.value_address ()))
            return tpst;
 
          /* Also accept the textlow value of a psymtab as a
@@ -211,7 +211,7 @@ psymbol_functions::find_pc_sect_psymtab (struct objfile *objfile,
              p = find_pc_sect_psymbol (objfile, pst, pc, section);
              if (p == NULL
                  || (p->address (objfile)
-                     != BMSYMBOL_VALUE_ADDRESS (msymbol)))
+                     != msymbol.value_address ()))
                goto next;
            }
 
@@ -1287,7 +1287,7 @@ psymbol_bcache::hash (const void *addr, int length)
   unsigned int domain = psymbol->domain;
   unsigned int theclass = psymbol->aclass;
 
-  h = fast_hash (&psymbol->ginfo.value, sizeof (psymbol->ginfo.value), h);
+  h = fast_hash (&psymbol->ginfo.m_value, sizeof (psymbol->ginfo.m_value), h);
   h = fast_hash (&lang, sizeof (unsigned int), h);
   h = fast_hash (&domain, sizeof (unsigned int), h);
   h = fast_hash (&theclass, sizeof (unsigned int), h);
@@ -1306,8 +1306,8 @@ psymbol_bcache::compare (const void *addr1, const void *addr2, int length)
   struct partial_symbol *sym1 = (struct partial_symbol *) addr1;
   struct partial_symbol *sym2 = (struct partial_symbol *) addr2;
 
-  return (memcmp (&sym1->ginfo.value, &sym2->ginfo.value,
-                 sizeof (sym1->ginfo.value)) == 0
+  return (memcmp (&sym1->ginfo.m_value, &sym2->ginfo.m_value,
+                 sizeof (sym1->ginfo.m_value)) == 0
          && sym1->ginfo.language () == sym2->ginfo.language ()
          && sym1->domain == sym2->domain
          && sym1->aclass == sym2->aclass
@@ -1804,7 +1804,7 @@ maintenance_check_psymtabs (const char *ignore, int from_tty)
                  /* Skip symbols for inlined functions without address.  These may
                     or may not have a match in the full symtab.  */
                  if (psym->aclass == LOC_BLOCK
-                     && psym->ginfo.value.address == 0)
+                     && psym->ginfo.value_address () == 0)
                    continue;
 
                  sym = block_lookup_symbol (b, psym->ginfo.search_name (),
index cbc3508756e640b68f0f075ca23ae3692fc88b2e..aae6e397327f601bd4e624b9a16f885ce6481d14 100644 (file)
@@ -361,7 +361,7 @@ get_running_thread_id (int cpu)
     return 0;
 
   object_size = TYPE_LENGTH (builtin_type_void_data_ptr);
-  object_addr = (BMSYMBOL_VALUE_ADDRESS (object_msym)
+  object_addr = (object_msym.value_address ()
                 + (cpu - 1) * object_size);
   buf_size = object_size;
   buf = (gdb_byte *) alloca (buf_size);
index b002f041734ce37fa8911282e69645defdd9633d..75d6bf3919d01cede8dd1d4c4830fb9053f7cb0c 100644 (file)
@@ -5155,7 +5155,7 @@ remote_target::remote_check_symbols ()
       else
        {
          int addr_size = gdbarch_addr_bit (target_gdbarch ()) / 8;
-         CORE_ADDR sym_addr = BMSYMBOL_VALUE_ADDRESS (sym);
+         CORE_ADDR sym_addr = sym.value_address ();
 
          /* If this is a function address, return the start of code
             instead of any data function descriptor.  */
index 2a05026f3d7ff4a323e6db3544f771cb8307ef82..18754f4f93b4d1aba364d5c4aab8865bf58c74b9 100644 (file)
@@ -767,7 +767,7 @@ ps_pglobal_lookup (struct ps_prochandle *ph, const char *ld_object_name,
   if (!ms.minsym)
     return PS_NOSYM;
 
-  *ld_symbol_addr = BMSYMBOL_VALUE_ADDRESS (ms);
+  *ld_symbol_addr = ms.value_address ();
   return PS_OK;
 }
 
index e456c6c9a41a72eb1f4f2dc257a56356ccc49d7a..a7bf8836269fbe196b9ca9bab717b6a90adb3fa6 100644 (file)
@@ -67,7 +67,7 @@ sol2_skip_solib_resolver (struct gdbarch *gdbarch, CORE_ADDR pc)
   struct bound_minimal_symbol msym;
 
   msym = lookup_minimal_symbol("elf_bndr", NULL, NULL);
-  if (msym.minsym && BMSYMBOL_VALUE_ADDRESS (msym) == pc)
+  if (msym.minsym && msym.value_address () == pc)
     return frame_unwind_caller_pc (get_current_frame ());
 
   return 0;
index a0735eafcc6a3c0b4c51c5c24e4f6324f556c8b5..0b03f9446086dd0696ac73dc9ac3f3a9ada3a713 100644 (file)
@@ -459,7 +459,7 @@ lm_base (void)
 
   if (got_sym.minsym != 0)
     {
-      addr = BMSYMBOL_VALUE_ADDRESS (got_sym);
+      addr = got_sym.value_address ();
       if (solib_dsbt_debug)
        gdb_printf (gdb_stdlog,
                    "lm_base: get addr %x by _GLOBAL_OFFSET_TABLE_.\n",
index 925ec717c8e2a4e2917a74b06417cefeedf00e1f..a6d6fe070882e247dfd2ff3f039104ddbd57a135 100644 (file)
@@ -296,7 +296,7 @@ lm_base (void)
       return 0;
     }
 
-  addr = BMSYMBOL_VALUE_ADDRESS (got_sym) + 8;
+  addr = got_sym.value_address () + 8;
 
   if (solib_frv_debug)
     gdb_printf (gdb_stdlog,
@@ -900,7 +900,7 @@ main_got (void)
   if (got_sym.minsym == 0)
     return 0;
 
-  return BMSYMBOL_VALUE_ADDRESS (got_sym);
+  return got_sym.value_address ();
 }
 
 /* Find the global pointer for the given function address ADDR.  */
index ca98a812f3654acaceff7ecad8ff8841457d7e89..2f3e79d200f20524c82d750ab684e72868115543 100644 (file)
@@ -713,7 +713,7 @@ elf_locate_base (void)
   msymbol = lookup_minimal_symbol ("_r_debug", NULL,
                                   current_program_space->symfile_object_file);
   if (msymbol.minsym != NULL)
-    return BMSYMBOL_VALUE_ADDRESS (msymbol);
+    return msymbol.value_address ();
 
   /* DT_DEBUG entry not found.  */
   return 0;
@@ -2369,9 +2369,9 @@ enable_break (struct svr4_info *info, int from_tty)
     {
       msymbol = lookup_minimal_symbol (*bkpt_namep, NULL, objf);
       if ((msymbol.minsym != NULL)
-         && (BMSYMBOL_VALUE_ADDRESS (msymbol) != 0))
+         && (msymbol.value_address () != 0))
        {
-         sym_addr = BMSYMBOL_VALUE_ADDRESS (msymbol);
+         sym_addr = msymbol.value_address ();
          sym_addr = gdbarch_convert_from_func_ptr_addr
            (target_gdbarch (), sym_addr, current_inferior ()->top_target ());
          svr4_create_solib_event_breakpoints (info, target_gdbarch (),
@@ -2386,9 +2386,9 @@ enable_break (struct svr4_info *info, int from_tty)
        {
          msymbol = lookup_minimal_symbol (*bkpt_namep, NULL, objf);
          if ((msymbol.minsym != NULL)
-             && (BMSYMBOL_VALUE_ADDRESS (msymbol) != 0))
+             && (msymbol.value_address () != 0))
            {
-             sym_addr = BMSYMBOL_VALUE_ADDRESS (msymbol);
+             sym_addr = msymbol.value_address ();
              sym_addr = gdbarch_convert_from_func_ptr_addr
                (target_gdbarch (), sym_addr,
                 current_inferior ()->top_target ());
index c64ef8c23b75105886e7de4f734ca6c80c55d88a..0fbf5bc988ddfddc4dea9dc5e01db1b0a602e531 100644 (file)
@@ -1551,9 +1551,9 @@ gdb_bfd_lookup_symbol_from_symtab (bfd *abfd,
                {
                  struct minimal_symbol msym {};
 
-                 SET_MSYMBOL_VALUE_ADDRESS (&msym, symaddr);
+                 msym.set_value_address (symaddr);
                  gdbarch_elf_make_msymbol_special (gdbarch, sym, &msym);
-                 symaddr = MSYMBOL_VALUE_RAW_ADDRESS (&msym);
+                 symaddr = msym.value_raw_address ();
                }
 
              /* BFD symbols are section relative.  */
index 5e85c34303c9c06c7c6fe851cd1d814ad4448753..3f173da71d596bf2178e04c4baee899c5ecf8877 100644 (file)
@@ -623,7 +623,7 @@ symbol_reference_defined (const char **string)
 static int
 stab_reg_to_regnum (struct symbol *sym, struct gdbarch *gdbarch)
 {
-  int regno = gdbarch_stab_reg_to_regnum (gdbarch, SYMBOL_VALUE (sym));
+  int regno = gdbarch_stab_reg_to_regnum (gdbarch, sym->value_longest ());
 
   if (regno < 0 || regno >= gdbarch_num_cooked_regs (gdbarch))
     {
@@ -805,7 +805,7 @@ define_symbol (CORE_ADDR valu, const char *string, int desc, int type,
            target_float_from_string (dbl_valu, dbl_type, std::string (p));
 
            sym->set_type (dbl_type);
-           SYMBOL_VALUE_BYTES (sym) = dbl_valu;
+           sym->set_value_bytes (dbl_valu);
            sym->set_aclass_index (LOC_CONST_BYTES);
          }
          break;
@@ -819,7 +819,7 @@ define_symbol (CORE_ADDR valu, const char *string, int desc, int type,
               unsigned as well as signed constants.  */
 
            sym->set_type (objfile_type (objfile)->builtin_long);
-           SYMBOL_VALUE (sym) = atoi (p);
+           sym->set_value_longest (atoi (p));
            sym->set_aclass_index (LOC_CONST);
          }
          break;
@@ -827,7 +827,7 @@ define_symbol (CORE_ADDR valu, const char *string, int desc, int type,
        case 'c':
          {
            sym->set_type (objfile_type (objfile)->builtin_char);
-           SYMBOL_VALUE (sym) = atoi (p);
+           sym->set_value_longest (atoi (p));
            sym->set_aclass_index (LOC_CONST);
          }
          break;
@@ -888,7 +888,7 @@ define_symbol (CORE_ADDR valu, const char *string, int desc, int type,
            memcpy (string_value, string_local, ind + 1);
            p++;
 
-           SYMBOL_VALUE_BYTES (sym) = string_value;
+           sym->set_value_bytes (string_value);
            sym->set_aclass_index (LOC_CONST_BYTES);
          }
          break;
@@ -915,7 +915,7 @@ define_symbol (CORE_ADDR valu, const char *string, int desc, int type,
               correct.  Ideally, we should be using whatever we have
               available for parsing unsigned and long long values,
               however.  */
-           SYMBOL_VALUE (sym) = atoi (p);
+           sym->set_value_longest (atoi (p));
          }
          break;
        default:
@@ -933,7 +933,7 @@ define_symbol (CORE_ADDR valu, const char *string, int desc, int type,
       sym->set_type (read_type (&p, objfile));
       sym->set_aclass_index (LOC_LABEL);
       sym->set_domain (VAR_DOMAIN);
-      SET_SYMBOL_VALUE_ADDRESS (sym, valu);
+      sym->set_value_address (valu);
       add_symbol_to_list (sym, get_local_symbols ());
       break;
 
@@ -1032,7 +1032,7 @@ define_symbol (CORE_ADDR valu, const char *string, int desc, int type,
       if (sym->linkage_name () && sym->linkage_name ()[0] != '#')
        {
          i = hashname (sym->linkage_name ());
-         SYMBOL_VALUE_CHAIN (sym) = global_sym_chain[i];
+         sym->set_value_chain (global_sym_chain[i]);
          global_sym_chain[i] = sym;
        }
       add_symbol_to_list (sym, get_global_symbols ());
@@ -1045,7 +1045,7 @@ define_symbol (CORE_ADDR valu, const char *string, int desc, int type,
     case 'l':
       sym->set_type (read_type (&p, objfile));
       sym->set_aclass_index (LOC_LOCAL);
-      SYMBOL_VALUE (sym) = valu;
+      sym->set_value_longest (valu);
       sym->set_domain (VAR_DOMAIN);
       add_symbol_to_list (sym, get_local_symbols ());
       break;
@@ -1065,7 +1065,7 @@ define_symbol (CORE_ADDR valu, const char *string, int desc, int type,
        sym->set_type (read_type (&p, objfile));
 
       sym->set_aclass_index (LOC_ARG);
-      SYMBOL_VALUE (sym) = valu;
+      sym->set_value_longest (valu);
       sym->set_domain (VAR_DOMAIN);
       sym->set_is_argument (1);
       add_symbol_to_list (sym, get_local_symbols ());
@@ -1115,7 +1115,7 @@ define_symbol (CORE_ADDR valu, const char *string, int desc, int type,
       sym->set_type (read_type (&p, objfile));
       sym->set_aclass_index (stab_register_index);
       sym->set_is_argument (1);
-      SYMBOL_VALUE (sym) = valu;
+      sym->set_value_longest (valu);
       sym->set_domain (VAR_DOMAIN);
       add_symbol_to_list (sym, get_local_symbols ());
       break;
@@ -1124,7 +1124,7 @@ define_symbol (CORE_ADDR valu, const char *string, int desc, int type,
       /* Register variable (either global or local).  */
       sym->set_type (read_type (&p, objfile));
       sym->set_aclass_index (stab_register_index);
-      SYMBOL_VALUE (sym) = valu;
+      sym->set_value_longest (valu);
       sym->set_domain (VAR_DOMAIN);
       if (within_function)
        {
@@ -1164,7 +1164,7 @@ define_symbol (CORE_ADDR valu, const char *string, int desc, int type,
                  /* Use the type from the LOC_REGISTER; that is the type
                     that is actually in that register.  */
                  prev_sym->set_type (sym->type ());
-                 SYMBOL_VALUE (prev_sym) = SYMBOL_VALUE (sym);
+                 prev_sym->set_value_longest (sym->value_longest ());
                  sym = prev_sym;
                  break;
                }
@@ -1179,7 +1179,7 @@ define_symbol (CORE_ADDR valu, const char *string, int desc, int type,
       /* Static symbol at top level of file.  */
       sym->set_type (read_type (&p, objfile));
       sym->set_aclass_index (LOC_STATIC);
-      SET_SYMBOL_VALUE_ADDRESS (sym, valu);
+      sym->set_value_address (valu);
       sym->set_domain (VAR_DOMAIN);
       add_symbol_to_list (sym, get_file_symbols ());
       break;
@@ -1210,7 +1210,7 @@ define_symbol (CORE_ADDR valu, const char *string, int desc, int type,
        return NULL;
 
       sym->set_aclass_index (LOC_TYPEDEF);
-      SYMBOL_VALUE (sym) = valu;
+      sym->set_value_longest (valu);
       sym->set_domain (VAR_DOMAIN);
       /* C++ vagaries: we may have a type which is derived from
         a base type which did not have its name defined when the
@@ -1287,7 +1287,7 @@ define_symbol (CORE_ADDR valu, const char *string, int desc, int type,
 
          *struct_sym = *sym;
          struct_sym->set_aclass_index (LOC_TYPEDEF);
-         SYMBOL_VALUE (struct_sym) = valu;
+         struct_sym->set_value_longest (valu);
          struct_sym->set_domain (STRUCT_DOMAIN);
          if (sym->type ()->name () == 0)
            sym->type ()->set_name
@@ -1314,7 +1314,7 @@ define_symbol (CORE_ADDR valu, const char *string, int desc, int type,
        return NULL;
 
       sym->set_aclass_index (LOC_TYPEDEF);
-      SYMBOL_VALUE (sym) = valu;
+      sym->set_value_longest (valu);
       sym->set_domain (STRUCT_DOMAIN);
       if (sym->type ()->name () == 0)
        sym->type ()->set_name
@@ -1329,7 +1329,7 @@ define_symbol (CORE_ADDR valu, const char *string, int desc, int type,
 
          *typedef_sym = *sym;
          typedef_sym->set_aclass_index (LOC_TYPEDEF);
-         SYMBOL_VALUE (typedef_sym) = valu;
+         typedef_sym->set_value_longest (valu);
          typedef_sym->set_domain (VAR_DOMAIN);
          if (sym->type ()->name () == 0)
            sym->type ()->set_name
@@ -1343,7 +1343,7 @@ define_symbol (CORE_ADDR valu, const char *string, int desc, int type,
       /* Static symbol of local scope.  */
       sym->set_type (read_type (&p, objfile));
       sym->set_aclass_index (LOC_STATIC);
-      SET_SYMBOL_VALUE_ADDRESS (sym, valu);
+      sym->set_value_address (valu);
       sym->set_domain (VAR_DOMAIN);
       add_symbol_to_list (sym, get_local_symbols ());
       break;
@@ -1353,7 +1353,7 @@ define_symbol (CORE_ADDR valu, const char *string, int desc, int type,
       sym->set_type (read_type (&p, objfile));
       sym->set_aclass_index (LOC_REF_ARG);
       sym->set_is_argument (1);
-      SYMBOL_VALUE (sym) = valu;
+      sym->set_value_longest (valu);
       sym->set_domain (VAR_DOMAIN);
       add_symbol_to_list (sym, get_local_symbols ());
       break;
@@ -1363,7 +1363,7 @@ define_symbol (CORE_ADDR valu, const char *string, int desc, int type,
       sym->set_type (read_type (&p, objfile));
       sym->set_aclass_index (stab_regparm_index);
       sym->set_is_argument (1);
-      SYMBOL_VALUE (sym) = valu;
+      sym->set_value_longest (valu);
       sym->set_domain (VAR_DOMAIN);
       add_symbol_to_list (sym, get_local_symbols ());
       break;
@@ -1375,7 +1375,7 @@ define_symbol (CORE_ADDR valu, const char *string, int desc, int type,
         "x:3" (local symbol) instead.  */
       sym->set_type (read_type (&p, objfile));
       sym->set_aclass_index (LOC_LOCAL);
-      SYMBOL_VALUE (sym) = valu;
+      sym->set_value_longest (valu);
       sym->set_domain (VAR_DOMAIN);
       add_symbol_to_list (sym, get_local_symbols ());
       break;
@@ -1383,7 +1383,7 @@ define_symbol (CORE_ADDR valu, const char *string, int desc, int type,
     default:
       sym->set_type (error_type (&p, objfile));
       sym->set_aclass_index (LOC_CONST);
-      SYMBOL_VALUE (sym) = 0;
+      sym->set_value_longest (0);
       sym->set_domain (VAR_DOMAIN);
       add_symbol_to_list (sym, get_file_symbols ());
       break;
@@ -3594,7 +3594,7 @@ read_enum_type (const char **pp, struct type *type,
                         &objfile->objfile_obstack);
       sym->set_aclass_index (LOC_CONST);
       sym->set_domain (VAR_DOMAIN);
-      SYMBOL_VALUE (sym) = n;
+      sym->set_value_longest (n);
       if (n < 0)
        unsigned_enum = 0;
       add_symbol_to_list (sym, symlist);
@@ -3637,7 +3637,7 @@ read_enum_type (const char **pp, struct type *type,
 
          xsym->set_type (type);
          type->field (n).set_name (xsym->linkage_name ());
-         type->field (n).set_loc_enumval (SYMBOL_VALUE (xsym));
+         type->field (n).set_loc_enumval (xsym->value_longest ());
          TYPE_FIELD_BITSIZE (type, n) = 0;
        }
       if (syms == osyms)
@@ -4287,7 +4287,7 @@ common_block_end (struct objfile *objfile)
      Does it matter?  */
 
   i = hashname (sym->linkage_name ());
-  SYMBOL_VALUE_CHAIN (sym) = global_sym_chain[i];
+  sym->set_value_chain (global_sym_chain[i]);
   global_sym_chain[i] = sym;
   common_block_name = NULL;
 }
@@ -4306,9 +4306,8 @@ fix_common_block (struct symbol *sym, CORE_ADDR valu)
       int j;
 
       for (j = next->nsyms - 1; j >= 0; j--)
-       SET_SYMBOL_VALUE_ADDRESS (next->symbol[j],
-                                 SYMBOL_VALUE_ADDRESS (next->symbol[j])
-                                 + valu);
+       next->symbol[j]->set_value_address
+         (next->symbol[j]->value_address () + valu);
     }
 }
 \f
@@ -4564,11 +4563,11 @@ scan_file_globals (struct objfile *objfile)
                     assign the value we have to it.  */
                  if (prev)
                    {
-                     SYMBOL_VALUE_CHAIN (prev) = SYMBOL_VALUE_CHAIN (sym);
+                     prev->set_value_chain (sym->value_chain ());
                    }
                  else
                    {
-                     global_sym_chain[hash] = SYMBOL_VALUE_CHAIN (sym);
+                     global_sym_chain[hash] = sym->value_chain ();
                    }
 
                  /* Check to see whether we need to fix up a common block.  */
@@ -4577,23 +4576,17 @@ scan_file_globals (struct objfile *objfile)
                  if (sym)
                    {
                      if (sym->aclass () == LOC_BLOCK)
-                       {
-                         fix_common_block (sym,
-                                           MSYMBOL_VALUE_ADDRESS (resolve_objfile,
-                                                                  msymbol));
-                       }
+                       fix_common_block
+                         (sym, msymbol->value_address (resolve_objfile));
                      else
-                       {
-                         SET_SYMBOL_VALUE_ADDRESS
-                           (sym, MSYMBOL_VALUE_ADDRESS (resolve_objfile,
-                                                        msymbol));
-                       }
+                       sym->set_value_address
+                         (msymbol->value_address (resolve_objfile));
                      sym->set_section_index (msymbol->section_index ());
                    }
 
                  if (prev)
                    {
-                     sym = SYMBOL_VALUE_CHAIN (prev);
+                     sym = prev->value_chain ();
                    }
                  else
                    {
@@ -4603,7 +4596,7 @@ scan_file_globals (struct objfile *objfile)
              else
                {
                  prev = sym;
-                 sym = SYMBOL_VALUE_CHAIN (sym);
+                 sym = sym->value_chain ();
                }
            }
        }
@@ -4620,11 +4613,11 @@ scan_file_globals (struct objfile *objfile)
       while (sym)
        {
          prev = sym;
-         sym = SYMBOL_VALUE_CHAIN (sym);
+         sym = sym->value_chain ();
 
          /* Change the symbol address from the misleading chain value
             to address zero.  */
-         SET_SYMBOL_VALUE_ADDRESS (prev, 0);
+         prev->set_value_address (0);
 
          /* Complain about unresolved common block symbols.  */
          if (prev->aclass () == LOC_STATIC)
index 1ccad83a2dda8a3792f95bcfc2dc794694388a87..1229ee6b4921067ac859ebe0c5285cd145b24645 100644 (file)
@@ -750,7 +750,7 @@ print_frame_args (const frame_print_options &fp_opts,
 
   if (func)
     {
-      const struct block *b = SYMBOL_BLOCK_VALUE (func);
+      const struct block *b = func->value_block ();
       struct block_iterator iter;
       struct symbol *sym;
 
@@ -778,7 +778,7 @@ print_frame_args (const frame_print_options &fp_opts,
            case LOC_ARG:
            case LOC_REF_ARG:
              {
-               long current_offset = SYMBOL_VALUE (sym);
+               long current_offset = sym->value_longest ();
                int arg_size = TYPE_LENGTH (sym->type ());
 
                /* Compute address of next argument by adding the size of
@@ -2554,7 +2554,7 @@ print_frame_arg_vars (struct frame_info *frame,
   cb_data.stream = stream;
   cb_data.values_printed = 0;
 
-  iterate_over_block_arg_vars (SYMBOL_BLOCK_VALUE (func), cb_data);
+  iterate_over_block_arg_vars (func->value_block (), cb_data);
 
   /* do_print_variable_and_value invalidates FRAME.  */
   frame = NULL;
index dcd217c0a51c818f2b4b86982d25b47a4dc933d8..6f546f5b0591927a7e637a7c6dc630b15c1458fa 100644 (file)
@@ -3450,11 +3450,11 @@ simple_read_overlay_table (void)
   word_size = gdbarch_long_bit (gdbarch) / TARGET_CHAR_BIT;
   byte_order = gdbarch_byte_order (gdbarch);
 
-  cache_novlys = read_memory_integer (BMSYMBOL_VALUE_ADDRESS (novlys_msym),
+  cache_novlys = read_memory_integer (novlys_msym.value_address (),
                                      4, byte_order);
   cache_ovly_table
     = (unsigned int (*)[4]) xmalloc (cache_novlys * sizeof (*cache_ovly_table));
-  cache_ovly_table_base = BMSYMBOL_VALUE_ADDRESS (ovly_table_msym);
+  cache_ovly_table_base = ovly_table_msym.value_address ();
   read_target_long_array (cache_ovly_table_base,
                          (unsigned int *) cache_ovly_table,
                          cache_novlys * 4, word_size, byte_order);
@@ -3524,7 +3524,7 @@ simple_overlay_update (struct obj_section *osect)
                   "find `_ovly_table' array\n"
                   "in inferior.  Use `overlay manual' mode."));
        
-       if (cache_ovly_table_base == BMSYMBOL_VALUE_ADDRESS (minsym))
+       if (cache_ovly_table_base == minsym.value_address ())
          /* Then go ahead and try to look up this single section in
             the cache.  */
          if (simple_overlay_update_1 (osect))
index 1779816348fc6ff18dcf0fe8262e87b7cd8737dd..1bc5f9f0bd958bca9a508c991ea4c085edb0e0ae 100644 (file)
@@ -201,7 +201,7 @@ dump_msymbols (struct objfile *objfile, struct ui_file *outfile)
 
       /* Use the relocated address as shown in the symbol here -- do
         not try to respect copy relocations.  */
-      CORE_ADDR addr = (msymbol->value.address
+      CORE_ADDR addr = (msymbol->value_raw_address ()
                        + objfile->section_offsets[msymbol->section_index ()]);
       gdb_puts (paddress (gdbarch, addr), outfile);
       gdb_printf (outfile, " %s", msymbol->linkage_name ());
@@ -511,7 +511,7 @@ print_symbol (struct gdbarch *gdbarch, struct symbol *symbol,
   if (symbol->domain () == LABEL_DOMAIN)
     {
       gdb_printf (outfile, "label %s at ", symbol->print_name ());
-      gdb_puts (paddress (gdbarch, SYMBOL_VALUE_ADDRESS (symbol)),
+      gdb_puts (paddress (gdbarch, symbol->value_address ()),
                outfile);
       if (section)
        gdb_printf (outfile, " section %s\n",
@@ -562,8 +562,8 @@ print_symbol (struct gdbarch *gdbarch, struct symbol *symbol,
        {
        case LOC_CONST:
          gdb_printf (outfile, "const %s (%s)",
-                     plongest (SYMBOL_VALUE (symbol)),
-                     hex_string (SYMBOL_VALUE (symbol)));
+                     plongest (symbol->value_longest ()),
+                     hex_string (symbol->value_longest ()));
          break;
 
        case LOC_CONST_BYTES:
@@ -575,14 +575,13 @@ print_symbol (struct gdbarch *gdbarch, struct symbol *symbol,
                        pulongest (TYPE_LENGTH (type)));
            for (i = 0; i < TYPE_LENGTH (type); i++)
              gdb_printf (outfile, " %02x",
-                         (unsigned) SYMBOL_VALUE_BYTES (symbol)[i]);
+                         (unsigned) symbol->value_bytes ()[i]);
          }
          break;
 
        case LOC_STATIC:
          gdb_printf (outfile, "static at ");
-         gdb_puts (paddress (gdbarch, SYMBOL_VALUE_ADDRESS (symbol)),
-                   outfile);
+         gdb_puts (paddress (gdbarch, symbol->value_address ()), outfile);
          if (section)
            gdb_printf (outfile, " section %s",
                        bfd_section_name (section->the_bfd_section));
@@ -591,30 +590,30 @@ print_symbol (struct gdbarch *gdbarch, struct symbol *symbol,
        case LOC_REGISTER:
          if (symbol->is_argument ())
            gdb_printf (outfile, "parameter register %s",
-                       plongest (SYMBOL_VALUE (symbol)));
+                       plongest (symbol->value_longest ()));
          else
            gdb_printf (outfile, "register %s",
-                       plongest (SYMBOL_VALUE (symbol)));
+                       plongest (symbol->value_longest ()));
          break;
 
        case LOC_ARG:
          gdb_printf (outfile, "arg at offset %s",
-                     hex_string (SYMBOL_VALUE (symbol)));
+                     hex_string (symbol->value_longest ()));
          break;
 
        case LOC_REF_ARG:
          gdb_printf (outfile, "reference arg at %s",
-                     hex_string (SYMBOL_VALUE (symbol)));
+                     hex_string (symbol->value_longest ()));
          break;
 
        case LOC_REGPARM_ADDR:
          gdb_printf (outfile, "address parameter register %s",
-                     plongest (SYMBOL_VALUE (symbol)));
+                     plongest (symbol->value_longest ()));
          break;
 
        case LOC_LOCAL:
          gdb_printf (outfile, "local at offset %s",
-                     hex_string (SYMBOL_VALUE (symbol)));
+                     hex_string (symbol->value_longest ()));
          break;
 
        case LOC_TYPEDEF:
@@ -622,8 +621,7 @@ print_symbol (struct gdbarch *gdbarch, struct symbol *symbol,
 
        case LOC_LABEL:
          gdb_printf (outfile, "label at ");
-         gdb_puts (paddress (gdbarch, SYMBOL_VALUE_ADDRESS (symbol)),
-                   outfile);
+         gdb_puts (paddress (gdbarch, symbol->value_address ()), outfile);
          if (section)
            gdb_printf (outfile, " section %s",
                        bfd_section_name (section->the_bfd_section));
@@ -632,9 +630,9 @@ print_symbol (struct gdbarch *gdbarch, struct symbol *symbol,
        case LOC_BLOCK:
          gdb_printf
            (outfile, "block object %s, %s..%s",
-            host_address_to_string (SYMBOL_BLOCK_VALUE (symbol)),
-            paddress (gdbarch, BLOCK_START (SYMBOL_BLOCK_VALUE (symbol))),
-            paddress (gdbarch, BLOCK_END (SYMBOL_BLOCK_VALUE (symbol))));
+            host_address_to_string (symbol->value_block ()),
+            paddress (gdbarch, BLOCK_START (symbol->value_block ())),
+            paddress (gdbarch, BLOCK_END (symbol->value_block ())));
          if (section)
            gdb_printf (outfile, " section %s",
                        bfd_section_name (section->the_bfd_section));
index 3cc2d4f8648cf1ce4479af5f3fdc1112f9e8aea2..d15eec8b6b49c87a3b73ac6ca58eea9bbdee7b12 100644 (file)
@@ -414,6 +414,19 @@ compunit_language (const struct compunit_symtab *cust)
   return symtab->language ();
 }
 
+/* The relocated address of the minimal symbol, using the section
+   offsets from OBJFILE.  */
+
+CORE_ADDR
+minimal_symbol::value_address (objfile *objfile) const
+{
+  if (this->maybe_copied)
+    return get_msymbol_address (objfile, this);
+  else
+    return (this->value_raw_address ()
+           + objfile->section_offsets[this->section_index ()]);
+}
+
 /* See symtab.h.  */
 
 bool
@@ -1805,10 +1818,10 @@ fixup_symbol_section (struct symbol *sym, struct objfile *objfile)
     {
     case LOC_STATIC:
     case LOC_LABEL:
-      addr = SYMBOL_VALUE_ADDRESS (sym);
+      addr = sym->value_address ();
       break;
     case LOC_BLOCK:
-      addr = BLOCK_ENTRY_PC (SYMBOL_BLOCK_VALUE (sym));
+      addr = BLOCK_ENTRY_PC (sym->value_block ());
       break;
 
     default:
@@ -3083,7 +3096,7 @@ find_symbol_at_address (CORE_ADDR address)
          ALL_BLOCK_SYMBOLS (b, iter, sym)
            {
              if (sym->aclass () == LOC_STATIC
-                 && SYMBOL_VALUE_ADDRESS (sym) == addr)
+                 && sym->value_address () == addr)
                return sym;
            }
        }
@@ -3245,8 +3258,8 @@ find_pc_sect_line (CORE_ADDR pc, struct obj_section *section, int notcurrent)
             msymbol->linkage_name ()); */
          ;
        /* fall through */
-       else if (BMSYMBOL_VALUE_ADDRESS (mfunsym)
-                == BMSYMBOL_VALUE_ADDRESS (msymbol))
+       else if (mfunsym.value_address ()
+                == msymbol.value_address ())
          /* Avoid infinite recursion */
          /* See above comment about why warning is commented out.  */
          /* warning ("In stub for %s; unable to find real function/line info",
@@ -3258,12 +3271,12 @@ find_pc_sect_line (CORE_ADDR pc, struct obj_section *section, int notcurrent)
            /* Detect an obvious case of infinite recursion.  If this
               should occur, we'd like to know about it, so error out,
               fatally.  */
-           if (BMSYMBOL_VALUE_ADDRESS (mfunsym) == pc)
+           if (mfunsym.value_address () == pc)
              internal_error (__FILE__, __LINE__,
                _("Infinite recursion detected in find_pc_sect_line;"
                  "please file a bug report"));
 
-           return find_pc_line (BMSYMBOL_VALUE_ADDRESS (mfunsym), 0);
+           return find_pc_line (mfunsym.value_address (), 0);
          }
       }
 
@@ -3766,7 +3779,7 @@ find_function_start_sal (symbol *sym, bool funfirstline)
 {
   fixup_symbol_section (sym, NULL);
   symtab_and_line sal
-    = find_function_start_sal_1 (BLOCK_ENTRY_PC (SYMBOL_BLOCK_VALUE (sym)),
+    = find_function_start_sal_1 (BLOCK_ENTRY_PC (sym->value_block ()),
                                 sym->obj_section (symbol_objfile (sym)),
                                 funfirstline);
   sal.symbol = sym;
@@ -3895,7 +3908,7 @@ skip_prologue_sal (struct symtab_and_line *sal)
       fixup_symbol_section (sym, NULL);
 
       objfile = symbol_objfile (sym);
-      pc = BLOCK_ENTRY_PC (SYMBOL_BLOCK_VALUE (sym));
+      pc = BLOCK_ENTRY_PC (sym->value_block ());
       section = sym->obj_section (objfile);
       name = sym->linkage_name ();
     }
@@ -3908,7 +3921,7 @@ skip_prologue_sal (struct symtab_and_line *sal)
        return;
 
       objfile = msymbol.objfile;
-      pc = BMSYMBOL_VALUE_ADDRESS (msymbol);
+      pc = msymbol.value_address ();
       section = msymbol.minsym->obj_section (objfile);
       name = msymbol.minsym->linkage_name ();
     }
@@ -3971,8 +3984,8 @@ skip_prologue_sal (struct symtab_and_line *sal)
       /* Check if gdbarch_skip_prologue left us in mid-line, and the next
         line is still part of the same function.  */
       if (skip && start_sal.pc != pc
-         && (sym ? (BLOCK_ENTRY_PC (SYMBOL_BLOCK_VALUE (sym)) <= start_sal.end
-                    && start_sal.end < BLOCK_END (SYMBOL_BLOCK_VALUE (sym)))
+         && (sym ? (BLOCK_ENTRY_PC (sym->value_block ()) <= start_sal.end
+                    && start_sal.end < BLOCK_END (sym->value_block ()))
              : (lookup_minimal_symbol_by_pc_section (start_sal.end, section).minsym
                 == lookup_minimal_symbol_by_pc_section (pc, section).minsym)))
        {
@@ -4169,7 +4182,7 @@ find_function_alias_target (bound_minimal_symbol msymbol)
   symbol *sym = find_pc_function (func_addr);
   if (sym != NULL
       && sym->aclass () == LOC_BLOCK
-      && BLOCK_ENTRY_PC (SYMBOL_BLOCK_VALUE (sym)) == func_addr)
+      && BLOCK_ENTRY_PC (sym->value_block ()) == func_addr)
     return sym;
 
   return NULL;
@@ -4822,8 +4835,7 @@ global_symbol_searcher::expand_symtabs
                     the symbols tables are expanded.  */
                  if (kind == FUNCTIONS_DOMAIN
                      ? (find_pc_compunit_symtab
-                        (MSYMBOL_VALUE_ADDRESS (objfile, msymbol))
-                        == NULL)
+                        (msymbol->value_address (objfile)) == NULL)
                      : (lookup_symbol_in_objfile_from_linkage_name
                         (objfile, msymbol->linkage_name (),
                          VAR_DOMAIN)
@@ -4945,8 +4957,7 @@ global_symbol_searcher::add_matching_msymbols
                 symbol might be found via find_pc_symtab.  */
              if (kind != FUNCTIONS_DOMAIN
                  || (find_pc_compunit_symtab
-                     (MSYMBOL_VALUE_ADDRESS (objfile, msymbol))
-                     == NULL))
+                     (msymbol->value_address (objfile)) == NULL))
                {
                  if (lookup_symbol_in_objfile_from_linkage_name
                      (objfile, msymbol->linkage_name (),
@@ -5168,11 +5179,11 @@ print_msymbol_info (struct bound_minimal_symbol msymbol)
   char *tmp;
 
   if (gdbarch_addr_bit (gdbarch) <= 32)
-    tmp = hex_string_custom (BMSYMBOL_VALUE_ADDRESS (msymbol)
+    tmp = hex_string_custom (msymbol.value_address ()
                             & (CORE_ADDR) 0xffffffff,
                             8);
   else
-    tmp = hex_string_custom (BMSYMBOL_VALUE_ADDRESS (msymbol),
+    tmp = hex_string_custom (msymbol.value_address (),
                             16);
 
   ui_file_style sym_style = (msymbol.minsym->text_p ()
@@ -5780,7 +5791,7 @@ find_gnu_ifunc (const symbol *sym)
                                symbol_name_match_type::SEARCH_NAME);
   struct objfile *objfile = symbol_objfile (sym);
 
-  CORE_ADDR address = BLOCK_ENTRY_PC (SYMBOL_BLOCK_VALUE (sym));
+  CORE_ADDR address = BLOCK_ENTRY_PC (sym->value_block ());
   minimal_symbol *ifunc = NULL;
 
   iterate_over_minimal_symbols (objfile, lookup_name,
@@ -5789,7 +5800,7 @@ find_gnu_ifunc (const symbol *sym)
       if (MSYMBOL_TYPE (minsym) == mst_text_gnu_ifunc
          || MSYMBOL_TYPE (minsym) == mst_data_gnu_ifunc)
        {
-         CORE_ADDR msym_addr = MSYMBOL_VALUE_ADDRESS (objfile, minsym);
+         CORE_ADDR msym_addr = minsym->value_address (objfile);
          if (MSYMBOL_TYPE (minsym) == mst_data_gnu_ifunc)
            {
              struct gdbarch *gdbarch = objfile->arch ();
@@ -6634,9 +6645,9 @@ get_symbol_address (const struct symbol *sym)
       bound_minimal_symbol minsym
        = lookup_minimal_symbol_linkage (linkage_name, objfile);
       if (minsym.minsym != nullptr)
-       return BMSYMBOL_VALUE_ADDRESS (minsym);
+       return minsym.value_address ();
     }
-  return sym->value.address;
+  return sym->m_value.address;
 }
 
 /* See symtab.h.  */
@@ -6657,10 +6668,10 @@ get_msymbol_address (struct objfile *objf, const struct minimal_symbol *minsym)
          bound_minimal_symbol found
            = lookup_minimal_symbol_linkage (linkage_name, objfile);
          if (found.minsym != nullptr)
-           return BMSYMBOL_VALUE_ADDRESS (found);
+           return found.value_address ();
        }
     }
-  return (minsym->value.address
+  return (minsym->m_value.address
          + objf->section_offsets[minsym->section_index ()]);
 }
 
index 0df5e23756402495448cf96aad7f63317e9bc78e..390ee9d0d67d5310b03c5a825c1c89b6cacf3063 100644 (file)
@@ -475,6 +475,16 @@ struct general_symbol_info
                              gdb::optional<hashval_t> hash
                                = gdb::optional<hashval_t> ());
 
+  CORE_ADDR value_address () const
+  {
+    return m_value.address;
+  }
+
+  void set_value_address (CORE_ADDR address)
+  {
+    m_value.address = address;
+  }
+
   /* Name of the symbol.  This is a required field.  Storage for the
      name is allocated on the objfile_obstack for the associated
      objfile.  For languages like C++ that make a distinction between
@@ -507,7 +517,7 @@ struct general_symbol_info
 
     struct symbol *chain;
   }
-  value;
+  m_value;
 
   /* Since one and only one language can apply, wrap the language specific
      information inside a union.  */
@@ -573,19 +583,6 @@ extern CORE_ADDR symbol_overlayed_address (CORE_ADDR, struct obj_section *);
 
 extern CORE_ADDR get_symbol_address (const struct symbol *sym);
 
-/* Note that these macros only work with symbol, not partial_symbol.  */
-
-#define SYMBOL_VALUE(symbol)           (symbol)->value.ivalue
-#define SYMBOL_VALUE_ADDRESS(symbol)                         \
-  (((symbol)->maybe_copied) ? get_symbol_address (symbol)     \
-   : ((symbol)->value.address))
-#define SET_SYMBOL_VALUE_ADDRESS(symbol, new_value)    \
-  ((symbol)->value.address = (new_value))
-#define SYMBOL_VALUE_BYTES(symbol)     (symbol)->value.bytes
-#define SYMBOL_VALUE_COMMON_BLOCK(symbol) (symbol)->value.common_block
-#define SYMBOL_BLOCK_VALUE(symbol)     (symbol)->value.block
-#define SYMBOL_VALUE_CHAIN(symbol)     (symbol)->value.chain
-
 /* Try to determine the demangled name for a symbol, based on the
    language of that symbol.  If the language is set to language_auto,
    it will attempt to find any demangling algorithm that works and
@@ -664,6 +661,15 @@ enum minimal_symbol_type
 #define MINSYM_TYPE_BITS 4
 gdb_static_assert (nr_minsym_types <= (1 << MINSYM_TYPE_BITS));
 
+/* Return the address of MINSYM, which comes from OBJF.  The
+   MAYBE_COPIED flag must be set on MINSYM.  If MINSYM appears in the
+   main program's minimal symbols, then that minsym's address is
+   returned; otherwise, MINSYM's address is returned.  This should
+   generally only be used via the MSYMBOL_VALUE_ADDRESS macro.  */
+
+extern CORE_ADDR get_msymbol_address (struct objfile *objf,
+                                     const struct minimal_symbol *minsym);
+
 /* Define a simple structure used to hold some very basic information about
    all defined global symbols (text, data, bss, abs, etc).  The only required
    information is the general_symbol_info.
@@ -678,6 +684,21 @@ gdb_static_assert (nr_minsym_types <= (1 << MINSYM_TYPE_BITS));
 
 struct minimal_symbol : public general_symbol_info
 {
+  LONGEST value_longest () const
+  {
+    return m_value.ivalue;
+  }
+
+  /* The relocated address of the minimal symbol, using the section
+     offsets from OBJFILE.  */
+  CORE_ADDR value_address (objfile *objfile) const;
+
+  /* The unrelocated address of the minimal symbol.  */
+  CORE_ADDR value_raw_address () const
+  {
+    return m_value.address;
+  }
+
   /* Size of this symbol.  dbx_end_psymtab in dbxread.c uses this
      information to calculate the end of the partial symtab based on the
      address of the last symbol plus the size of the last symbol.  */
@@ -735,15 +756,6 @@ struct minimal_symbol : public general_symbol_info
   bool text_p () const;
 };
 
-/* Return the address of MINSYM, which comes from OBJF.  The
-   MAYBE_COPIED flag must be set on MINSYM.  If MINSYM appears in the
-   main program's minimal symbols, then that minsym's address is
-   returned; otherwise, MINSYM's address is returned.  This should
-   generally only be used via the MSYMBOL_VALUE_ADDRESS macro.  */
-
-extern CORE_ADDR get_msymbol_address (struct objfile *objf,
-                                     const struct minimal_symbol *minsym);
-
 #define MSYMBOL_TARGET_FLAG_1(msymbol)  (msymbol)->target_flag_1
 #define MSYMBOL_TARGET_FLAG_2(msymbol)  (msymbol)->target_flag_2
 #define MSYMBOL_SIZE(msymbol)          ((msymbol)->size + 0)
@@ -756,23 +768,6 @@ extern CORE_ADDR get_msymbol_address (struct objfile *objf,
 #define MSYMBOL_HAS_SIZE(msymbol)      ((msymbol)->has_size + 0)
 #define MSYMBOL_TYPE(msymbol)          (msymbol)->type
 
-#define MSYMBOL_VALUE(symbol)          (symbol)->value.ivalue
-/* The unrelocated address of the minimal symbol.  */
-#define MSYMBOL_VALUE_RAW_ADDRESS(symbol) ((symbol)->value.address + 0)
-/* The relocated address of the minimal symbol, using the section
-   offsets from OBJFILE.  */
-#define MSYMBOL_VALUE_ADDRESS(objfile, symbol)                         \
-  (((symbol)->maybe_copied) ? get_msymbol_address (objfile, symbol)    \
-   : ((symbol)->value.address                                          \
-      + (objfile)->section_offsets[(symbol)->section_index ()]))
-/* For a bound minsym, we can easily compute the address directly.  */
-#define BMSYMBOL_VALUE_ADDRESS(symbol) \
-  MSYMBOL_VALUE_ADDRESS ((symbol).objfile, (symbol).minsym)
-#define SET_MSYMBOL_VALUE_ADDRESS(symbol, new_value)   \
-  ((symbol)->value.address = (new_value))
-#define MSYMBOL_VALUE_BYTES(symbol)    (symbol)->value.bytes
-#define MSYMBOL_BLOCK_VALUE(symbol)    (symbol)->value.block
-
 #include "minsyms.h"
 
 \f
@@ -1124,7 +1119,7 @@ struct symbol : public general_symbol_info, public allocate_on_obstack
       /* We can't use an initializer list for members of a base class, and
         general_symbol_info needs to stay a POD type.  */
       m_name = nullptr;
-      value.ivalue = 0;
+      m_value.ivalue = 0;
       language_specific.obstack = nullptr;
       m_language = language_unknown;
       ada_mangled = 0;
@@ -1222,6 +1217,69 @@ struct symbol : public general_symbol_info, public allocate_on_obstack
     m_line = line;
   }
 
+  LONGEST value_longest () const
+  {
+    return m_value.ivalue;
+  }
+
+  void set_value_longest (LONGEST value)
+  {
+    m_value.ivalue = value;
+  }
+
+  CORE_ADDR value_address () const
+  {
+    if (this->maybe_copied)
+      return get_symbol_address (this);
+    else
+      return m_value.address;
+  }
+
+  void set_value_address (CORE_ADDR address)
+  {
+    m_value.address = address;
+  }
+
+  const gdb_byte *value_bytes () const
+  {
+    return m_value.bytes;
+  }
+
+  void set_value_bytes (const gdb_byte *bytes)
+  {
+    m_value.bytes = bytes;
+  }
+
+  const common_block *value_common_block () const
+  {
+    return m_value.common_block;
+  }
+
+  void set_value_common_block (const common_block *common_block)
+  {
+    m_value.common_block = common_block;
+  }
+
+  const block *value_block () const
+  {
+    return m_value.block;
+  }
+
+  void set_value_block (const block *block)
+  {
+    m_value.block = block;
+  }
+
+  symbol *value_chain () const
+  {
+    return m_value.chain;
+  }
+
+  void set_value_chain (symbol *sym)
+  {
+    m_value.chain = sym;
+  }
+
   /* Data type of value */
 
   struct type *m_type = nullptr;
index b45763ec02b8a2bf2117512c666c6bf5bd57c132..5a4048f9078c57001f593cb6b731dea610ee7cf2 100644 (file)
@@ -696,7 +696,7 @@ validate_actionline (const char *line, struct breakpoint *b)
                      error (_("constant `%s' (value %s) "
                               "will not be collected."),
                             sym->print_name (),
-                            plongest (SYMBOL_VALUE (sym)));
+                            plongest (sym->value_longest ()));
                    }
                  else if (sym->aclass () == LOC_OPTIMIZED_OUT)
                    {
@@ -931,10 +931,10 @@ collection_list::collect_symbol (struct symbol *sym,
       break;
     case LOC_CONST:
       gdb_printf ("constant %s (value %s) will not be collected.\n",
-                 sym->print_name (), plongest (SYMBOL_VALUE (sym)));
+                 sym->print_name (), plongest (sym->value_longest ()));
       break;
     case LOC_STATIC:
-      offset = SYMBOL_VALUE_ADDRESS (sym);
+      offset = sym->value_address ();
       if (info_verbose)
        {
          gdb_printf ("LOC_STATIC %s: collect %ld bytes at %s.\n",
@@ -965,7 +965,7 @@ collection_list::collect_symbol (struct symbol *sym,
       break;
     case LOC_ARG:
       reg = frame_regno;
-      offset = frame_offset + SYMBOL_VALUE (sym);
+      offset = frame_offset + sym->value_longest ();
       if (info_verbose)
        {
          gdb_printf ("LOC_LOCAL %s: Collect %ld bytes at offset %s"
@@ -975,7 +975,7 @@ collection_list::collect_symbol (struct symbol *sym,
       add_memrange (gdbarch, reg, offset, len, scope);
       break;
     case LOC_REGPARM_ADDR:
-      reg = SYMBOL_VALUE (sym);
+      reg = sym->value_longest ();
       offset = 0;
       if (info_verbose)
        {
@@ -987,7 +987,7 @@ collection_list::collect_symbol (struct symbol *sym,
       break;
     case LOC_LOCAL:
       reg = frame_regno;
-      offset = frame_offset + SYMBOL_VALUE (sym);
+      offset = frame_offset + sym->value_longest ();
       if (info_verbose)
        {
          gdb_printf ("LOC_LOCAL %s: Collect %ld bytes at offset %s"
@@ -2526,20 +2526,18 @@ info_scope_command (const char *args_in, int from_tty)
                  continue;
                case LOC_CONST:
                  gdb_printf ("a constant with value %s (%s)",
-                             plongest (SYMBOL_VALUE (sym)),
-                             hex_string (SYMBOL_VALUE (sym)));
+                             plongest (sym->value_longest ()),
+                             hex_string (sym->value_longest ()));
                  break;
                case LOC_CONST_BYTES:
                  gdb_printf ("constant bytes: ");
                  if (sym->type ())
                    for (j = 0; j < TYPE_LENGTH (sym->type ()); j++)
-                     gdb_printf (" %02x",
-                                 (unsigned) SYMBOL_VALUE_BYTES (sym)[j]);
+                     gdb_printf (" %02x", (unsigned) sym->value_bytes ()[j]);
                  break;
                case LOC_STATIC:
                  gdb_printf ("in static storage at address ");
-                 gdb_printf ("%s", paddress (gdbarch,
-                                             SYMBOL_VALUE_ADDRESS (sym)));
+                 gdb_printf ("%s", paddress (gdbarch, sym->value_address ()));
                  break;
                case LOC_REGISTER:
                  /* GDBARCH is the architecture associated with the objfile
@@ -2561,15 +2559,15 @@ info_scope_command (const char *args_in, int from_tty)
                  break;
                case LOC_ARG:
                  gdb_printf ("an argument at stack/frame offset %s",
-                             plongest (SYMBOL_VALUE (sym)));
+                             plongest (sym->value_longest ()));
                  break;
                case LOC_LOCAL:
                  gdb_printf ("a local variable at frame offset %s",
-                             plongest (SYMBOL_VALUE (sym)));
+                             plongest (sym->value_longest ()));
                  break;
                case LOC_REF_ARG:
                  gdb_printf ("a reference argument at offset %s",
-                             plongest (SYMBOL_VALUE (sym)));
+                             plongest (sym->value_longest ()));
                  break;
                case LOC_REGPARM_ADDR:
                  /* Note comment at LOC_REGISTER.  */
@@ -2583,13 +2581,13 @@ info_scope_command (const char *args_in, int from_tty)
                  continue;
                case LOC_LABEL:
                  gdb_printf ("a label at address ");
-                 gdb_printf ("%s", paddress (gdbarch,
-                                             SYMBOL_VALUE_ADDRESS (sym)));
+                 gdb_printf ("%s", paddress (gdbarch, sym->value_address ()));
                  break;
                case LOC_BLOCK:
                  gdb_printf ("a function at address ");
                  gdb_printf ("%s",
-                             paddress (gdbarch, BLOCK_ENTRY_PC (SYMBOL_BLOCK_VALUE (sym))));
+                             paddress (gdbarch,
+                                       BLOCK_ENTRY_PC (sym->value_block ())));
                  break;
                case LOC_UNRESOLVED:
                  msym = lookup_minimal_symbol (sym->linkage_name (),
@@ -2600,8 +2598,7 @@ info_scope_command (const char *args_in, int from_tty)
                    {
                      gdb_printf ("static storage at address ");
                      gdb_printf ("%s",
-                                 paddress (gdbarch,
-                                           BMSYMBOL_VALUE_ADDRESS (msym)));
+                                 paddress (gdbarch, msym.value_address ()));
                    }
                  break;
                case LOC_OPTIMIZED_OUT:
index 70f7429d32b44cec0779f0913928554b95dccbbf..2cb9c75ca8dad20f55d798cb13651b7bb9e269b3 100644 (file)
@@ -168,9 +168,9 @@ tui_find_backward_disassembly_start_address (CORE_ADDR addr)
                                              lookup_msym_prefer::TEXT,
                                              &msym_prev);
   if (msym.minsym != nullptr)
-    return BMSYMBOL_VALUE_ADDRESS (msym);
+    return msym.value_address ();
   else if (msym_prev.minsym != nullptr)
-    return BMSYMBOL_VALUE_ADDRESS (msym_prev);
+    return msym_prev.value_address ();
 
   /* Find the section that ADDR is in, and look for the start of the
      section.  */
@@ -404,7 +404,7 @@ tui_get_begin_asm_address (struct gdbarch **gdbarch_p, CORE_ADDR *addr_p)
          struct bound_minimal_symbol main_symbol
            = lookup_minimal_symbol (main_name (), nullptr, nullptr);
          if (main_symbol.minsym != nullptr)
-           addr = BMSYMBOL_VALUE_ADDRESS (main_symbol);
+           addr = main_symbol.value_address ();
        }
     }
   else                         /* The target is executing.  */
index 67209ce6cd8c131f847314e5ed1342c4a1cd3dd2..42a1213b0c55323892c7bd771309756bec722123 100644 (file)
@@ -146,7 +146,7 @@ find_function_in_inferior (const char *name, struct objfile **objf_p)
          type = lookup_pointer_type (builtin_type (gdbarch)->builtin_char);
          type = lookup_function_type (type);
          type = lookup_pointer_type (type);
-         maddr = BMSYMBOL_VALUE_ADDRESS (msymbol);
+         maddr = msymbol.value_address ();
 
          if (objf_p)
            *objf_p = objfile;
index 24f1151c03f0d2fd485a8899773c19f170f6e22f..08cccf711b224b3804b11c97b4bc7a98363c9eef 100644 (file)
@@ -2986,7 +2986,7 @@ value_static_field (struct type *type, int fieldno)
          if (!msym.minsym)
            retval = allocate_optimized_out_value (field_type);
          else
-           retval = value_at_lazy (field_type, BMSYMBOL_VALUE_ADDRESS (msym));
+           retval = value_at_lazy (field_type, msym.value_address ());
        }
       else
        retval = value_of_variable (sym.symbol, sym.block);
@@ -3184,7 +3184,7 @@ value_fn_field (struct value **arg1p, struct fn_field *f,
   VALUE_LVAL (v) = lval_memory;
   if (sym)
     {
-      set_value_address (v, BLOCK_ENTRY_PC (SYMBOL_BLOCK_VALUE (sym)));
+      set_value_address (v, BLOCK_ENTRY_PC (sym->value_block ()));
     }
   else
     {
@@ -3195,7 +3195,7 @@ value_fn_field (struct value **arg1p, struct fn_field *f,
 
       set_value_address (v,
        gdbarch_convert_from_func_ptr_addr
-          (gdbarch, BMSYMBOL_VALUE_ADDRESS (msym),
+          (gdbarch, msym.value_address (),
            current_inferior ()->top_target ()));
     }
 
index e45fa275c095e1005597dbab1f14959fcaad97df..c5d2d0a492f8d4b66f3111029ed7388539f5a5b7 100644 (file)
@@ -1563,7 +1563,7 @@ process_xcoff_symbol (struct coff_symbol *cs, struct objfile *objfile)
     ++name;
 
   /* default assumptions */
-  SET_SYMBOL_VALUE_ADDRESS (sym, cs->c_value + off);
+  sym->set_value_address (cs->c_value + off);
   sym->set_domain (VAR_DOMAIN);
   sym->set_section_index (secnum_to_section (cs->c_secnum, objfile));
 
@@ -1660,9 +1660,8 @@ process_xcoff_symbol (struct coff_symbol *cs, struct objfile *objfile)
                               cs->c_name, 0, 0, objfile);
          if (sym != NULL)
            {
-             SET_SYMBOL_VALUE_ADDRESS (sym,
-                                       SYMBOL_VALUE_ADDRESS (sym)
-                                       + static_block_base);
+             sym->set_value_address
+               (sym->value_address () + static_block_base);
              sym->set_section_index (static_block_section);
            }
          return sym;
index a252574c94e263bee0af2c3883ffcb3c0466b43d..c2d906d1402589586e6c8041b2b43adae364da97 100644 (file)
@@ -360,7 +360,7 @@ z80_scan_prologue (struct gdbarch *gdbarch, CORE_ADDR pc_beg, CORE_ADDR pc_end,
       msymbol = lookup_minimal_symbol ("__sdcc_enter_ix", NULL, NULL);
       if (msymbol.minsym)
        {
-         value = BMSYMBOL_VALUE_ADDRESS (msymbol);
+         value = msymbol.value_address ();
          if (value == extract_unsigned_integer (&prologue[pos+1], addr_len, byte_order))
            {
              pos += 1 + addr_len;
@@ -625,7 +625,7 @@ z80_frame_unwind_cache (struct frame_info *this_frame,
                  msymbol = lookup_minimal_symbol (names[i], NULL, NULL);
                  if (!msymbol.minsym)
                    continue;
-                 if (addr == BMSYMBOL_VALUE_ADDRESS (msymbol))
+                 if (addr == msymbol.value_address ())
                    break;
                }
              if (i >= 0)
@@ -722,7 +722,7 @@ z80_breakpoint_kind_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr)
       struct bound_minimal_symbol bh;
       bh = lookup_minimal_symbol ("_break_handler", NULL, NULL);
       if (bh.minsym)
-       addr = BMSYMBOL_VALUE_ADDRESS (bh);
+       addr = bh.value_address ();
       else
        {
          warning(_("Unable to determine inferior's software breakpoint type: "
@@ -927,14 +927,13 @@ z80_read_overlay_region_table ()
   word_size = gdbarch_long_bit (gdbarch) / TARGET_CHAR_BIT;
   byte_order = gdbarch_byte_order (gdbarch);
 
-  cache_novly_regions = read_memory_integer (
-                               BMSYMBOL_VALUE_ADDRESS (novly_regions_msym),
-                               4, byte_order);
+  cache_novly_regions = read_memory_integer (novly_regions_msym.value_address (),
+                                             4, byte_order);
   cache_ovly_region_table
     = (unsigned int (*)[3]) xmalloc (cache_novly_regions *
                                        sizeof (*cache_ovly_region_table));
   cache_ovly_region_table_base
-    = BMSYMBOL_VALUE_ADDRESS (ovly_region_table_msym);
+    = ovly_region_table_msym.value_address ();
   read_target_long_array (cache_ovly_region_table_base,
                          (unsigned int *) cache_ovly_region_table,
                          cache_novly_regions * 3, word_size, byte_order);