X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fprintcmd.c;h=281ee4d284a740f163dfb7d30c1cd957979fecde;hb=7ef412cf72a197d68e532604cc1fa21351adc858;hp=323a5d05eb7aafc731d56cf4855c77b6333b0dd6;hpb=e06f3d6eba37df8451ecc2ce2ac76cba811e8b35;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/printcmd.c b/gdb/printcmd.c index 323a5d05eb..281ee4d284 100644 --- a/gdb/printcmd.c +++ b/gdb/printcmd.c @@ -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. @@ -356,7 +356,7 @@ print_scalar_formatted (const gdb_byte *valaddr, struct type *type, { struct gdbarch *gdbarch = get_type_arch (type); unsigned int len = TYPE_LENGTH (type); - enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); + enum bfd_endian byte_order = type_byte_order (type); /* String printing should go through val_print_scalar_formatted. */ gdb_assert (options->format != 's'); @@ -628,9 +628,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 +671,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 +1152,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 +1165,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 +1351,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 +1367,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 " @@ -1472,7 +1474,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 +1594,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 +2216,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)); @@ -2326,7 +2328,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 +2603,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;