Mention the NetBSD support in "info proc" documentation
[deliverable/binutils-gdb.git] / gdb / printcmd.c
index 0251d465bd9df922847bfef7b3e34e2e1437444d..de6d3d43bb4983ebdf02ae580461bba865650f06 100644 (file)
@@ -1,6 +1,6 @@
 /* Print values for GNU debugger GDB.
 
-   Copyright (C) 1986-2019 Free Software Foundation, Inc.
+   Copyright (C) 1986-2020 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -321,10 +321,7 @@ print_formatted (struct value *val, int size,
   else
     /* User specified format, so don't look to the type to tell us
        what to do.  */
-    val_print_scalar_formatted (type,
-                               value_embedded_offset (val),
-                               val,
-                               options, size, stream);
+    value_print_scalar_formatted (val, options, size, stream);
 }
 
 /* Return builtin floating point type of same length as TYPE.
@@ -628,9 +625,9 @@ build_address_symbolic (struct gdbarch *gdbarch,
 
       name_location = BLOCK_ENTRY_PC (SYMBOL_BLOCK_VALUE (symbol));
       if (do_demangle || asm_demangle)
-       name_temp = SYMBOL_PRINT_NAME (symbol);
+       name_temp = symbol->print_name ();
       else
-       name_temp = SYMBOL_LINKAGE_NAME (symbol);
+       name_temp = symbol->linkage_name ();
     }
 
   if (msymbol.minsym != NULL
@@ -671,9 +668,9 @@ build_address_symbolic (struct gdbarch *gdbarch,
          symbol = 0;
          name_location = BMSYMBOL_VALUE_ADDRESS (msymbol);
          if (do_demangle || asm_demangle)
-           name_temp = MSYMBOL_PRINT_NAME (msymbol.minsym);
+           name_temp = msymbol.minsym->print_name ();
          else
-           name_temp = MSYMBOL_LINKAGE_NAME (msymbol.minsym);
+           name_temp = msymbol.minsym->linkage_name ();
        }
     }
   if (symbol == NULL && msymbol.minsym == NULL)
@@ -1152,6 +1149,9 @@ print_command_parse_format (const char **expp, const char *cmdname,
 {
   const char *exp = *expp;
 
+  /* opts->raw value might already have been set by 'set print raw-values'
+     or by using 'print -raw-values'.
+     So, do not set opts->raw to 0, only set it to 1 if /r is given.  */
   if (exp && *exp == '/')
     {
       format_data fmt;
@@ -1162,12 +1162,11 @@ print_command_parse_format (const char **expp, const char *cmdname,
       last_format = fmt.format;
 
       opts->format = fmt.format;
-      opts->raw = fmt.raw;
+      opts->raw = opts->raw || fmt.raw;
     }
   else
     {
       opts->format = 0;
-      opts->raw = 0;
     }
 
   *expp = exp;
@@ -1349,7 +1348,7 @@ info_symbol_command (const char *arg, int from_tty)
            offset = sect_addr - MSYMBOL_VALUE_ADDRESS (objfile, msymbol);
            mapped = section_is_mapped (osect) ? _("mapped") : _("unmapped");
            sec_name = osect->the_bfd_section->name;
-           msym_name = MSYMBOL_PRINT_NAME (msymbol);
+           msym_name = msymbol->print_name ();
 
            /* Don't print the offset if it is zero.
               We assume there's no need to handle i18n of "sym + offset".  */
@@ -1365,7 +1364,7 @@ info_symbol_command (const char *arg, int from_tty)
            gdb_assert (osect->objfile && objfile_name (osect->objfile));
            obj_name = objfile_name (osect->objfile);
 
-           if (MULTI_OBJFILE_P ())
+           if (current_program_space->multi_objfile_p ())
              if (pc_in_unmapped_range (addr, osect))
                if (section_is_overlay (osect))
                  printf_filtered (_("%s in load address range of "
@@ -1443,7 +1442,7 @@ info_address_command (const char *exp, int from_tty)
        {
          struct objfile *objfile = msymbol.objfile;
 
-         gdbarch = get_objfile_arch (objfile);
+         gdbarch = objfile->arch ();
          load_addr = BMSYMBOL_VALUE_ADDRESS (msymbol);
 
          printf_filtered ("Symbol \"");
@@ -1472,7 +1471,7 @@ info_address_command (const char *exp, int from_tty)
     }
 
   printf_filtered ("Symbol \"");
-  fprintf_symbol_filtered (gdb_stdout, SYMBOL_PRINT_NAME (sym),
+  fprintf_symbol_filtered (gdb_stdout, sym->print_name (),
                           current_language->la_language, DMGL_ANSI);
   printf_filtered ("\" is ");
   val = SYMBOL_VALUE (sym);
@@ -1592,7 +1591,7 @@ info_address_command (const char *exp, int from_tty)
       {
        struct bound_minimal_symbol msym;
 
-       msym = lookup_bound_minimal_symbol (SYMBOL_LINKAGE_NAME (sym));
+       msym = lookup_bound_minimal_symbol (sym->linkage_name ());
        if (msym.minsym == NULL)
          printf_filtered ("unresolved");
        else
@@ -2214,7 +2213,7 @@ print_variable_and_value (const char *name, struct symbol *var,
 {
 
   if (!name)
-    name = SYMBOL_PRINT_NAME (var);
+    name = var->print_name ();
 
   fprintf_filtered (stream, "%s%ps = ", n_spaces (2 * indent),
                    styled_string (variable_name_style.style (), name));
@@ -2258,7 +2257,8 @@ printf_c_string (struct ui_file *stream, const char *format,
 {
   const gdb_byte *str;
 
-  if (VALUE_LVAL (value) == lval_internalvar
+  if (TYPE_CODE (value_type (value)) != TYPE_CODE_PTR
+      && VALUE_LVAL (value) == lval_internalvar
       && c_is_string_type_p (value_type (value)))
     {
       size_t len = TYPE_LENGTH (value_type (value));
@@ -2326,7 +2326,7 @@ printf_wide_c_string (struct ui_file *stream, const char *format,
   const gdb_byte *str;
   size_t len;
   struct gdbarch *gdbarch = get_type_arch (value_type (value));
-  struct type *wctype = lookup_typename (current_language, gdbarch,
+  struct type *wctype = lookup_typename (current_language,
                                         "wchar_t", NULL, 0);
   int wcwidth = TYPE_LENGTH (wctype);
 
@@ -2601,7 +2601,7 @@ ui_printf (const char *arg, struct ui_file *stream)
            {
              struct gdbarch *gdbarch
                = get_type_arch (value_type (val_args[i]));
-             struct type *wctype = lookup_typename (current_language, gdbarch,
+             struct type *wctype = lookup_typename (current_language,
                                                     "wchar_t", NULL, 0);
              struct type *valtype;
              const gdb_byte *bytes;
@@ -2718,7 +2718,7 @@ printf_command (const char *arg, int from_tty)
   ui_printf (arg, gdb_stdout);
   reset_terminal_style (gdb_stdout);
   wrap_here ("");
-  gdb_flush (gdb_stdout);
+  gdb_stdout->flush ();
 }
 
 /* Implement the "eval" command.  */
@@ -2735,8 +2735,9 @@ eval_command (const char *arg, int from_tty)
   execute_command (expanded.c_str (), from_tty);
 }
 
+void _initialize_printcmd ();
 void
-_initialize_printcmd (void)
+_initialize_printcmd ()
 {
   struct cmd_list_element *c;
 
This page took 0.026777 seconds and 4 git commands to generate.