Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [PATCH 0/5] Remove `...' and related forms of quoting from gdb
@ 2026-08-22 20:30 Tom Tromey
  2026-08-22 20:30 ` [PATCH 1/5] Change `...'-style quoting in gdbsupport Tom Tromey
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Tom Tromey @ 2026-08-22 20:30 UTC (permalink / raw)
  To: gdb-patches; +Cc: Tom Tromey

As part of my ongoing quoting-regularization quest
(https://sourceware.org/bugzilla/show_bug.cgi?id=34044), this changes
gdb and gdbserver to avoid `...' `...`, and ``...'' when quoting
output, preferring double quotes instead.

I wrote this by writing a short script using Pygments to find all
strings in the source using the back-quote character; then fixing all
the relevant ones.

I've also fixed up the test suite, though there are probably tests I
have missed, since I did this primarily by looking at regressions.
(The only exception being s390-multiarch.exp, which I found while
searching for a particular string.)

I think it would also be good to tackle '...' quoting, but I haven't
attempted that yet.

Regression tested on x86-64 Fedora 40.

Signed-off-by: Tom Tromey <tom@tromey.com>
---
Tom Tromey (5):
      Change `...'-style quoting in gdbsupport
      Change `...'-style quoting in gdbserver
      Fix weird quoting in stap-probe.c
      Change `...'-style quoting in gdb
      Fix styling in a few messages

 gdb/aarch64-linux-tdep.c                           |  2 +-
 gdb/ada-lang.c                                     | 19 ++++-----
 gdb/ada-lex.l                                      |  6 +--
 gdb/alpha-tdep.c                                   |  2 +-
 gdb/arch-utils.c                                   |  2 +-
 gdb/arm-linux-tdep.c                               |  2 +-
 gdb/async-event.c                                  | 14 +++----
 gdb/auto-load.c                                    |  6 +--
 gdb/ax-gdb.c                                       | 46 +++++++++++-----------
 gdb/breakpoint.c                                   | 12 +++---
 gdb/build-id.c                                     |  4 +-
 gdb/c-exp.y                                        |  6 +--
 gdb/c-lang.c                                       |  2 +-
 gdb/charset.c                                      | 26 ++++++------
 gdb/cli/cli-cmds.c                                 |  4 +-
 gdb/cli/cli-option.c                               |  2 +-
 gdb/cli/cli-script.c                               | 10 ++---
 gdb/corefile.c                                     |  4 +-
 gdb/corelow.c                                      | 10 ++---
 gdb/cp-namespace.c                                 |  2 +-
 gdb/d-exp.y                                        |  2 +-
 gdb/darwin-nat.c                                   |  4 +-
 gdb/dtrace-probe.c                                 |  2 +-
 gdb/dwarf2/expr.c                                  |  2 +-
 gdb/dwarf2/index-write.c                           | 10 ++---
 gdb/dwarf2/line-header.c                           |  4 +-
 gdb/dwarf2/loc.c                                   |  8 ++--
 gdb/dwarf2/macro.c                                 | 12 +++---
 gdb/eval.c                                         |  6 +--
 gdb/exec.c                                         |  6 +--
 gdb/filesystem.c                                   | 14 +++----
 gdb/findvar.c                                      | 10 ++---
 gdb/gdb-demangle.c                                 |  2 +-
 gdb/gnu-nat.c                                      | 10 ++---
 gdb/gnu-v3-abi.c                                   |  4 +-
 gdb/go-exp.y                                       |  4 +-
 gdb/go32-nat.c                                     |  8 ++--
 gdb/guile/guile.c                                  |  2 +-
 gdb/i386-fbsd-tdep.c                               |  4 +-
 gdb/i386-linux-tdep.c                              |  4 +-
 gdb/i386-tdep.c                                    |  6 +--
 gdb/ia64-tdep.c                                    |  6 +--
 gdb/infcmd.c                                       | 12 +++---
 gdb/infrun.c                                       |  2 +-
 gdb/interps.c                                      |  2 +-
 gdb/language.c                                     |  2 +-
 gdb/m2-lang.c                                      |  2 +-
 gdb/machoread.c                                    |  8 ++--
 gdb/macrocmd.c                                     | 20 +++++-----
 gdb/macroexp.c                                     |  4 +-
 gdb/macroscope.c                                   |  2 +-
 gdb/macrotab.c                                     |  6 +--
 gdb/main.c                                         | 10 ++---
 gdb/maint.c                                        |  2 +-
 gdb/mi/mi-main.c                                   |  2 +-
 gdb/mips-tdep.c                                    |  4 +-
 gdb/objfiles.c                                     |  4 +-
 gdb/p-exp.y                                        |  2 +-
 gdb/parse.c                                        |  4 +-
 gdb/ppc-linux-tdep.c                               |  2 +-
 gdb/printcmd.c                                     |  6 +--
 gdb/probe.c                                        |  6 +--
 gdb/python/py-breakpoint.c                         | 26 ++++++------
 gdb/python/py-finishbreakpoint.c                   |  4 +-
 gdb/python/py-infthread.c                          |  4 +-
 gdb/python/python.c                                | 12 +++---
 gdb/remote-fileio.c                                |  2 +-
 gdb/remote.c                                       | 14 +++----
 gdb/riscv-tdep.c                                   |  2 +-
 gdb/solib-aix.c                                    |  2 +-
 gdb/solib-darwin.c                                 |  2 +-
 gdb/solib-rocm.c                                   | 12 +++---
 gdb/solib.c                                        | 12 +++---
 gdb/source.c                                       |  6 +--
 gdb/stack.c                                        |  6 +--
 gdb/stap-probe.c                                   | 38 +++++++++---------
 gdb/symfile.c                                      | 28 ++++++-------
 gdb/symtab.c                                       | 18 ++++-----
 gdb/target.c                                       | 14 +++----
 gdb/testsuite/gdb.ada/bp_c_mixed_case.exp          |  4 +-
 gdb/testsuite/gdb.ada/catch_ex.exp                 |  4 +-
 gdb/testsuite/gdb.ada/catch_ex_std.exp             |  2 +-
 gdb/testsuite/gdb.ada/excep_handle.exp             |  6 +--
 gdb/testsuite/gdb.ada/limited-length.exp           |  2 +-
 gdb/testsuite/gdb.ada/literals.exp                 |  2 +-
 gdb/testsuite/gdb.ada/mi_catch_ex.exp              |  2 +-
 gdb/testsuite/gdb.ada/mi_catch_ex_hand.exp         |  2 +-
 gdb/testsuite/gdb.ada/mi_ex_cond.exp               |  4 +-
 .../gdb.arch/amd64-stap-optional-prefix.exp        |  4 +-
 gdb/testsuite/gdb.arch/amd64-stap-wrong-subexp.exp |  2 +-
 gdb/testsuite/gdb.arch/s390-multiarch.exp          |  2 +-
 gdb/testsuite/gdb.base/attach.exp                  |  6 +--
 gdb/testsuite/gdb.base/break-unload-file.exp       |  2 +-
 gdb/testsuite/gdb.base/cached-source-file.exp      |  2 +-
 gdb/testsuite/gdb.base/define.exp                  |  4 +-
 gdb/testsuite/gdb.base/exprs.exp                   |  4 +-
 gdb/testsuite/gdb.base/gdb-index-err.exp           |  8 ++--
 gdb/testsuite/gdb.base/help.exp                    |  4 +-
 gdb/testsuite/gdb.base/info-macros.exp             |  4 +-
 gdb/testsuite/gdb.base/jump-inline.exp             |  2 +-
 gdb/testsuite/gdb.base/jump.exp                    |  4 +-
 gdb/testsuite/gdb.base/macscp.exp                  | 20 +++++-----
 gdb/testsuite/gdb.base/maint-info-sections.exp     |  4 +-
 gdb/testsuite/gdb.base/new-ui.exp                  |  2 +-
 gdb/testsuite/gdb.base/options.exp                 |  4 +-
 gdb/testsuite/gdb.base/settings.exp                |  4 +-
 gdb/testsuite/gdb.base/subst.exp                   | 28 ++++++-------
 gdb/testsuite/gdb.base/tls-nothreads.exp           |  4 +-
 gdb/testsuite/gdb.base/watch_thread_num.exp        |  2 +-
 gdb/testsuite/gdb.base/watchpoint.exp              | 20 +++++-----
 gdb/testsuite/gdb.cp/maint.exp                     |  2 +-
 gdb/testsuite/gdb.cp/namespace-enum.exp            |  2 +-
 gdb/testsuite/gdb.cp/overload.exp                  |  2 +-
 gdb/testsuite/gdb.dlang/expression.exp             |  2 +-
 gdb/testsuite/gdb.dwarf2/macro-complaints.exp      | 10 ++---
 gdb/testsuite/gdb.server/bkpt-other-inferior.exp   |  2 +-
 gdb/testsuite/gdb.server/no-thread-db.exp          |  2 +-
 gdb/testsuite/gdb.server/server-exec-info.exp      |  2 +-
 gdb/testsuite/gdb.server/target-exec-file.exp      |  2 +-
 gdb/testsuite/gdb.threads/gcore-stale-thread.exp   |  2 +-
 gdb/testsuite/gdb.trace/actions.exp                |  2 +-
 gdb/testsuite/lib/gdb.exp                          |  2 +-
 gdb/thread.c                                       |  4 +-
 gdb/tracefile-tfile.c                              |  2 +-
 gdb/tracefile.c                                    |  2 +-
 gdb/tracepoint.c                                   | 10 ++---
 gdb/tui/tui-win.c                                  |  2 +-
 gdb/tui/tui-winsource.c                            |  8 ++--
 gdb/utils.c                                        |  8 ++--
 gdb/valarith.c                                     |  2 +-
 gdb/valops.c                                       | 10 ++---
 gdb/value.c                                        |  2 +-
 gdb/windows-nat.c                                  |  5 ++-
 gdb/xml-syscall.c                                  |  8 +++-
 gdb/z80-tdep.c                                     | 10 ++---
 gdbserver/thread-db.cc                             |  4 +-
 gdbserver/tracepoint.cc                            | 12 +++---
 gdbsupport/agent.cc                                |  2 +-
 gdbsupport/event-loop.cc                           |  4 +-
 gdbsupport/format.cc                               |  4 +-
 140 files changed, 458 insertions(+), 452 deletions(-)
---
base-commit: d2102b0d6a95ba3b37204976fb3f6ebd935822fb
change-id: 20260822-no-backquotes-in-strings-65517420b3b1

Best regards,
-- 
Tom Tromey <tom@tromey.com>


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/5] Change `...'-style quoting in gdbsupport
  2026-08-22 20:30 [PATCH 0/5] Remove `...' and related forms of quoting from gdb Tom Tromey
@ 2026-08-22 20:30 ` Tom Tromey
  2026-08-22 20:30 ` [PATCH 2/5] Change `...'-style quoting in gdbserver Tom Tromey
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Tom Tromey @ 2026-08-22 20:30 UTC (permalink / raw)
  To: gdb-patches; +Cc: Tom Tromey

This changes spots in gdbsupport that use `...'-style quoting to use
double quotes instead.  Some spots also use the `...` style; these are
also changed.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=34044
---
 gdbsupport/agent.cc      | 2 +-
 gdbsupport/event-loop.cc | 4 ++--
 gdbsupport/format.cc     | 4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/gdbsupport/agent.cc b/gdbsupport/agent.cc
index 44b6fcdcf5c..92fcf884f73 100644
--- a/gdbsupport/agent.cc
+++ b/gdbsupport/agent.cc
@@ -97,7 +97,7 @@ agent_look_up_symbols (void *arg)
       if (find_minimal_symbol_address (symbol_list[i].name, addrp,
 				       objfile) != 0)
 	{
-	  DEBUG_AGENT ("symbol `%s' not found\n", symbol_list[i].name);
+	  DEBUG_AGENT ("symbol \"%s\" not found\n", symbol_list[i].name);
 	  return -1;
 	}
     }
diff --git a/gdbsupport/event-loop.cc b/gdbsupport/event-loop.cc
index c6e1b5b4634..7ac899dc38d 100644
--- a/gdbsupport/event-loop.cc
+++ b/gdbsupport/event-loop.cc
@@ -521,7 +521,7 @@ handle_file_event (file_handler *file_ptr, int ready_mask)
 	  if (mask & POLLERR)
 	    warning (_("Error detected on fd %d"), file_ptr->fd);
 	  if (mask & POLLNVAL)
-	    warning (_("Invalid or non-`poll'able fd %d"),
+	    warning (_("Invalid or non-\"poll\"able fd %d"),
 		     file_ptr->fd);
 	  file_ptr->error = 1;
 	}
@@ -546,7 +546,7 @@ handle_file_event (file_handler *file_ptr, int ready_mask)
   if (mask != 0)
     {
       event_loop_ui_debug_printf (file_ptr->is_ui,
-				  "invoking fd file handler `%s`",
+				  "invoking fd file handler \"%s\"",
 				  file_ptr->name.c_str ());
       file_ptr->proc (file_ptr->error, file_ptr->client_data);
     }
diff --git a/gdbsupport/format.cc b/gdbsupport/format.cc
index 43995edf453..35e61e43698 100644
--- a/gdbsupport/format.cc
+++ b/gdbsupport/format.cc
@@ -359,10 +359,10 @@ format_pieces::format_pieces (const char **arg, bool gdb_extensions,
 	    break;
 
 	  case '*':
-	    error (_("`*' not supported for precision or width in printf"));
+	    error (_("\"*\" not supported for precision or width in printf"));
 
 	  case 'n':
-	    error (_("Format specifier `n' not supported in printf"));
+	    error (_("Format specifier \"n\" not supported in printf"));
 
 	  case '\0':
 	    error (_("Incomplete format specifier at end of format string"));

-- 
2.49.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 2/5] Change `...'-style quoting in gdbserver
  2026-08-22 20:30 [PATCH 0/5] Remove `...' and related forms of quoting from gdb Tom Tromey
  2026-08-22 20:30 ` [PATCH 1/5] Change `...'-style quoting in gdbsupport Tom Tromey
@ 2026-08-22 20:30 ` Tom Tromey
  2026-08-22 20:30 ` [PATCH 3/5] Fix weird quoting in stap-probe.c Tom Tromey
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Tom Tromey @ 2026-08-22 20:30 UTC (permalink / raw)
  To: gdb-patches; +Cc: Tom Tromey

This changes spots in gdbserver that use `...'-style quoting to use
double quotes instead.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=34044
---
 gdb/testsuite/gdb.server/no-thread-db.exp |  2 +-
 gdbserver/thread-db.cc                    |  4 ++--
 gdbserver/tracepoint.cc                   | 12 ++++++------
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/gdb/testsuite/gdb.server/no-thread-db.exp b/gdb/testsuite/gdb.server/no-thread-db.exp
index 9cbe962bc3c..f1d91e728be 100644
--- a/gdb/testsuite/gdb.server/no-thread-db.exp
+++ b/gdb/testsuite/gdb.server/no-thread-db.exp
@@ -49,7 +49,7 @@ gdbserver_run ""
 
 # Force gdbserver to fail to load libthread_db.
 gdb_test "monitor set libthread-db-search-path ${unresolvable_thread_db_path}" \
-    "libthread-db-search-path set to `${unresolvable_thread_db_path}'" \
+    "libthread-db-search-path set to \"${unresolvable_thread_db_path}\"" \
     "libthread-db is now unresolvable"
 
 # Continue past tls assignment to make sure tls storage is allocated.
diff --git a/gdbserver/thread-db.cc b/gdbserver/thread-db.cc
index af39a58154e..fd3928b7d2c 100644
--- a/gdbserver/thread-db.cc
+++ b/gdbserver/thread-db.cc
@@ -855,9 +855,9 @@ thread_db_handle_monitor_command (const char *mon)
 	cp = LIBTHREAD_DB_SEARCH_PATH;
       libthread_db_search_path = xstrdup (cp);
 
-      monitor_output ("libthread-db-search-path set to `");
+      monitor_output ("libthread-db-search-path set to \"");
       monitor_output (libthread_db_search_path);
-      monitor_output ("'\n");
+      monitor_output ("\"\n");
       return 1;
     }
 
diff --git a/gdbserver/tracepoint.cc b/gdbserver/tracepoint.cc
index 593dca65f76..e1226bf266e 100644
--- a/gdbserver/tracepoint.cc
+++ b/gdbserver/tracepoint.cc
@@ -249,7 +249,7 @@ tracepoint_look_up_symbols (void)
 
       if (look_up_one_symbol (symbol_list[i].name, addrp, 1) == 0)
 	{
-	  threads_debug_printf ("symbol `%s' not found", symbol_list[i].name);
+	  threads_debug_printf ("symbol \"%s\" not found", symbol_list[i].name);
 	  return;
 	}
     }
@@ -5170,23 +5170,23 @@ fast_tracepoint_collecting (CORE_ADDR thread_area,
   if (read_inferior_data_pointer (ipa_sym_addrs.addr_gdb_jump_pad_buffer,
 				  &ipa_gdb_jump_pad_buffer))
     {
-      internal_error ("error extracting `gdb_jump_pad_buffer'");
+      internal_error ("error extracting \"gdb_jump_pad_buffer\"");
     }
   if (read_inferior_data_pointer (ipa_sym_addrs.addr_gdb_jump_pad_buffer_end,
 				  &ipa_gdb_jump_pad_buffer_end))
     {
-      internal_error ("error extracting `gdb_jump_pad_buffer_end'");
+      internal_error ("error extracting \"gdb_jump_pad_buffer_end\"");
     }
 
   if (read_inferior_data_pointer (ipa_sym_addrs.addr_gdb_trampoline_buffer,
 				  &ipa_gdb_trampoline_buffer))
     {
-      internal_error ("error extracting `gdb_trampoline_buffer'");
+      internal_error ("error extracting \"gdb_trampoline_buffer\"");
     }
   if (read_inferior_data_pointer (ipa_sym_addrs.addr_gdb_trampoline_buffer_end,
 				  &ipa_gdb_trampoline_buffer_end))
     {
-      internal_error ("error extracting `gdb_trampoline_buffer_end'");
+      internal_error ("error extracting \"gdb_trampoline_buffer_end\"");
     }
 
   if (ipa_gdb_jump_pad_buffer <= stop_pc
@@ -5768,7 +5768,7 @@ download_tracepoint (struct tracepoint *tpoint)
 				      + offsetof (struct tracepoint, next),
 				      &tp_prev_target_next_addr))
 	{
-	  internal_error ("error reading `tp_prev->next'");
+	  internal_error ("error reading \"tp_prev->next\"");
 	}
 
       /* tpoint->next = tp_prev->next */

-- 
2.49.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 3/5] Fix weird quoting in stap-probe.c
  2026-08-22 20:30 [PATCH 0/5] Remove `...' and related forms of quoting from gdb Tom Tromey
  2026-08-22 20:30 ` [PATCH 1/5] Change `...'-style quoting in gdbsupport Tom Tromey
  2026-08-22 20:30 ` [PATCH 2/5] Change `...'-style quoting in gdbserver Tom Tromey
@ 2026-08-22 20:30 ` Tom Tromey
  2026-08-23  4:31   ` Eli Zaretskii
  2026-08-22 20:30 ` [PATCH 4/5] Change `...'-style quoting in gdb Tom Tromey
  2026-08-22 20:30 ` [PATCH 5/5] Fix styling in a few messages Tom Tromey
  4 siblings, 1 reply; 8+ messages in thread
From: Tom Tromey @ 2026-08-22 20:30 UTC (permalink / raw)
  To: gdb-patches; +Cc: Tom Tromey

I found some code in stap-probe.c that split the quoting in a strange
way:

		warning (_("unrecognized bitness %s%c' for probe `%s'"),
			 got_minus ? "`-" : "`", *cur,

Here the leading ` is not part of the format string.  I found this odd
and so I split this fix out into its own patch.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=34044
---
 gdb/stap-probe.c                                      | 4 ++--
 gdb/testsuite/gdb.arch/amd64-stap-optional-prefix.exp | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/gdb/stap-probe.c b/gdb/stap-probe.c
index 986ff38c586..654a2f7ca45 100644
--- a/gdb/stap-probe.c
+++ b/gdb/stap-probe.c
@@ -1304,8 +1304,8 @@ stap_probe::parse_arguments (struct gdbarch *gdbarch)
 	      {
 		/* We have an error, because we don't expect anything
 		   except 1, 2, 4 and 8.  */
-		warning (_("unrecognized bitness %s%c' for probe `%s'"),
-			 got_minus ? "`-" : "`", *cur,
+		warning (_("unrecognized bitness \"%s%c\" for probe \"%s\""),
+			 got_minus ? "-" : "", *cur,
 			 this->get_name ().c_str ());
 		return;
 	      }
diff --git a/gdb/testsuite/gdb.arch/amd64-stap-optional-prefix.exp b/gdb/testsuite/gdb.arch/amd64-stap-optional-prefix.exp
index 9cd7dec166c..8f26e3fe9bf 100644
--- a/gdb/testsuite/gdb.arch/amd64-stap-optional-prefix.exp
+++ b/gdb/testsuite/gdb.arch/amd64-stap-optional-prefix.exp
@@ -79,7 +79,7 @@ foreach probe_name $normal_probes_names \
 
 with_test_prefix "fail_probe" {
     goto_probe "fail_probe"
-    gdb_test "print \$_probe_arg0" "warning: unrecognized bitness `-7' for probe `fail_probe'\r\nInvalid probe argument 0 -- probe has 0 arguments available"
+    gdb_test "print \$_probe_arg0" "warning: unrecognized bitness \"-7\" for probe \"fail_probe\"\r\nInvalid probe argument 0 -- probe has 0 arguments available"
 }
 
 with_test_prefix "fail2_probe" {

-- 
2.49.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 4/5] Change `...'-style quoting in gdb
  2026-08-22 20:30 [PATCH 0/5] Remove `...' and related forms of quoting from gdb Tom Tromey
                   ` (2 preceding siblings ...)
  2026-08-22 20:30 ` [PATCH 3/5] Fix weird quoting in stap-probe.c Tom Tromey
@ 2026-08-22 20:30 ` Tom Tromey
  2026-08-22 20:30 ` [PATCH 5/5] Fix styling in a few messages Tom Tromey
  4 siblings, 0 replies; 8+ messages in thread
From: Tom Tromey @ 2026-08-22 20:30 UTC (permalink / raw)
  To: gdb-patches; +Cc: Tom Tromey

This changes spots in gdbsupport that use `...'-style quoting to use
double quotes instead.  Some spots also use the `...` or the ``...''
style; these are also changed.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=34044
---
 gdb/aarch64-linux-tdep.c                           |  2 +-
 gdb/ada-lang.c                                     | 16 ++++----
 gdb/ada-lex.l                                      |  6 +--
 gdb/alpha-tdep.c                                   |  2 +-
 gdb/arch-utils.c                                   |  2 +-
 gdb/arm-linux-tdep.c                               |  2 +-
 gdb/async-event.c                                  | 14 +++----
 gdb/auto-load.c                                    |  6 +--
 gdb/ax-gdb.c                                       | 46 +++++++++++-----------
 gdb/breakpoint.c                                   | 12 +++---
 gdb/build-id.c                                     |  4 +-
 gdb/c-exp.y                                        |  6 +--
 gdb/c-lang.c                                       |  2 +-
 gdb/charset.c                                      | 26 ++++++------
 gdb/cli/cli-cmds.c                                 |  4 +-
 gdb/cli/cli-option.c                               |  2 +-
 gdb/cli/cli-script.c                               | 10 ++---
 gdb/corefile.c                                     |  4 +-
 gdb/corelow.c                                      | 10 ++---
 gdb/cp-namespace.c                                 |  2 +-
 gdb/d-exp.y                                        |  2 +-
 gdb/darwin-nat.c                                   |  4 +-
 gdb/dtrace-probe.c                                 |  2 +-
 gdb/dwarf2/expr.c                                  |  2 +-
 gdb/dwarf2/index-write.c                           | 10 ++---
 gdb/dwarf2/line-header.c                           |  4 +-
 gdb/dwarf2/loc.c                                   |  8 ++--
 gdb/dwarf2/macro.c                                 | 12 +++---
 gdb/eval.c                                         |  6 +--
 gdb/exec.c                                         |  6 +--
 gdb/filesystem.c                                   | 14 +++----
 gdb/findvar.c                                      | 10 ++---
 gdb/gdb-demangle.c                                 |  2 +-
 gdb/gnu-nat.c                                      | 10 ++---
 gdb/gnu-v3-abi.c                                   |  4 +-
 gdb/go-exp.y                                       |  4 +-
 gdb/go32-nat.c                                     |  8 ++--
 gdb/guile/guile.c                                  |  2 +-
 gdb/i386-fbsd-tdep.c                               |  4 +-
 gdb/i386-linux-tdep.c                              |  4 +-
 gdb/i386-tdep.c                                    |  6 +--
 gdb/ia64-tdep.c                                    |  6 +--
 gdb/infcmd.c                                       | 12 +++---
 gdb/infrun.c                                       |  2 +-
 gdb/interps.c                                      |  2 +-
 gdb/language.c                                     |  2 +-
 gdb/m2-lang.c                                      |  2 +-
 gdb/machoread.c                                    |  8 ++--
 gdb/macrocmd.c                                     | 20 +++++-----
 gdb/macroexp.c                                     |  4 +-
 gdb/macroscope.c                                   |  2 +-
 gdb/macrotab.c                                     |  6 +--
 gdb/main.c                                         | 10 ++---
 gdb/maint.c                                        |  2 +-
 gdb/mi/mi-main.c                                   |  2 +-
 gdb/mips-tdep.c                                    |  4 +-
 gdb/objfiles.c                                     |  4 +-
 gdb/p-exp.y                                        |  2 +-
 gdb/parse.c                                        |  4 +-
 gdb/ppc-linux-tdep.c                               |  2 +-
 gdb/printcmd.c                                     |  6 +--
 gdb/probe.c                                        |  6 +--
 gdb/python/py-breakpoint.c                         | 26 ++++++------
 gdb/python/py-finishbreakpoint.c                   |  4 +-
 gdb/python/py-infthread.c                          |  4 +-
 gdb/python/python.c                                | 12 +++---
 gdb/remote-fileio.c                                |  2 +-
 gdb/remote.c                                       | 14 +++----
 gdb/riscv-tdep.c                                   |  2 +-
 gdb/solib-aix.c                                    |  2 +-
 gdb/solib-darwin.c                                 |  2 +-
 gdb/solib-rocm.c                                   | 12 +++---
 gdb/solib.c                                        | 12 +++---
 gdb/source.c                                       |  6 +--
 gdb/stack.c                                        |  6 +--
 gdb/stap-probe.c                                   | 34 ++++++++--------
 gdb/symfile.c                                      | 28 ++++++-------
 gdb/symtab.c                                       | 18 ++++-----
 gdb/target.c                                       | 14 +++----
 gdb/testsuite/gdb.ada/bp_c_mixed_case.exp          |  4 +-
 gdb/testsuite/gdb.ada/catch_ex.exp                 |  4 +-
 gdb/testsuite/gdb.ada/catch_ex_std.exp             |  2 +-
 gdb/testsuite/gdb.ada/excep_handle.exp             |  6 +--
 gdb/testsuite/gdb.ada/limited-length.exp           |  2 +-
 gdb/testsuite/gdb.ada/literals.exp                 |  2 +-
 gdb/testsuite/gdb.ada/mi_catch_ex.exp              |  2 +-
 gdb/testsuite/gdb.ada/mi_catch_ex_hand.exp         |  2 +-
 gdb/testsuite/gdb.ada/mi_ex_cond.exp               |  4 +-
 .../gdb.arch/amd64-stap-optional-prefix.exp        |  2 +-
 gdb/testsuite/gdb.arch/amd64-stap-wrong-subexp.exp |  2 +-
 gdb/testsuite/gdb.arch/s390-multiarch.exp          |  2 +-
 gdb/testsuite/gdb.base/attach.exp                  |  6 +--
 gdb/testsuite/gdb.base/break-unload-file.exp       |  2 +-
 gdb/testsuite/gdb.base/cached-source-file.exp      |  2 +-
 gdb/testsuite/gdb.base/define.exp                  |  4 +-
 gdb/testsuite/gdb.base/exprs.exp                   |  4 +-
 gdb/testsuite/gdb.base/gdb-index-err.exp           |  8 ++--
 gdb/testsuite/gdb.base/help.exp                    |  4 +-
 gdb/testsuite/gdb.base/info-macros.exp             |  4 +-
 gdb/testsuite/gdb.base/jump-inline.exp             |  2 +-
 gdb/testsuite/gdb.base/jump.exp                    |  4 +-
 gdb/testsuite/gdb.base/macscp.exp                  | 20 +++++-----
 gdb/testsuite/gdb.base/maint-info-sections.exp     |  4 +-
 gdb/testsuite/gdb.base/new-ui.exp                  |  2 +-
 gdb/testsuite/gdb.base/options.exp                 |  4 +-
 gdb/testsuite/gdb.base/settings.exp                |  4 +-
 gdb/testsuite/gdb.base/subst.exp                   | 28 ++++++-------
 gdb/testsuite/gdb.base/tls-nothreads.exp           |  4 +-
 gdb/testsuite/gdb.base/watch_thread_num.exp        |  2 +-
 gdb/testsuite/gdb.base/watchpoint.exp              | 20 +++++-----
 gdb/testsuite/gdb.cp/maint.exp                     |  2 +-
 gdb/testsuite/gdb.cp/namespace-enum.exp            |  2 +-
 gdb/testsuite/gdb.cp/overload.exp                  |  2 +-
 gdb/testsuite/gdb.dlang/expression.exp             |  2 +-
 gdb/testsuite/gdb.dwarf2/macro-complaints.exp      | 10 ++---
 gdb/testsuite/gdb.server/bkpt-other-inferior.exp   |  2 +-
 gdb/testsuite/gdb.server/server-exec-info.exp      |  2 +-
 gdb/testsuite/gdb.server/target-exec-file.exp      |  2 +-
 gdb/testsuite/gdb.threads/gcore-stale-thread.exp   |  2 +-
 gdb/testsuite/gdb.trace/actions.exp                |  2 +-
 gdb/testsuite/lib/gdb.exp                          |  2 +-
 gdb/thread.c                                       |  4 +-
 gdb/tracefile-tfile.c                              |  2 +-
 gdb/tracefile.c                                    |  2 +-
 gdb/tracepoint.c                                   | 10 ++---
 gdb/tui/tui-win.c                                  |  2 +-
 gdb/tui/tui-winsource.c                            |  8 ++--
 gdb/utils.c                                        |  8 ++--
 gdb/valarith.c                                     |  2 +-
 gdb/valops.c                                       | 10 ++---
 gdb/value.c                                        |  2 +-
 gdb/windows-nat.c                                  |  4 +-
 gdb/xml-syscall.c                                  |  2 +-
 gdb/z80-tdep.c                                     | 10 ++---
 134 files changed, 433 insertions(+), 433 deletions(-)

diff --git a/gdb/aarch64-linux-tdep.c b/gdb/aarch64-linux-tdep.c
index 235b35bcfb4..7677d489656 100644
--- a/gdb/aarch64-linux-tdep.c
+++ b/gdb/aarch64-linux-tdep.c
@@ -1846,7 +1846,7 @@ aarch64_stap_parse_special_token (struct gdbarch *gdbarch,
       std::string regname (start, len);
 
       if (user_reg_map_name_to_regnum (gdbarch, regname) == -1)
-	error (_("Invalid register name `%s' on expression `%s'."),
+	error (_("Invalid register name \"%s\" on expression \"%s\"."),
 	       regname.c_str (), p->saved_arg);
 
       ++tmp;
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
index 174e04af04c..a0781d2d6dd 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -7885,7 +7885,7 @@ ada_template_to_fixed_record_type_1 (struct type *type,
   if (type->length () <= 0)
     {
       if (rtype->name ())
-	warning (_("Invalid type size for `%s' detected: %s."),
+	warning (_("Invalid type size for \"%s\" detected: %s."),
 		 rtype->name (), pulongest (type->length ()));
       else
 	warning (_("Invalid type size for <unnamed> detected: %s."),
@@ -11233,7 +11233,7 @@ ada_funcall_operation::evaluate (struct type *expect_type,
 	  type = ada_check_typedef (type->target_type ());
 	  break;
 	default:
-	  error (_("cannot subscript or call something of type `%s'"),
+	  error (_("cannot subscript or call something of type \"%s\"'"),
 		 ada_type_name (callee->type ()));
 	  break;
 	}
@@ -12427,7 +12427,7 @@ ada_catchpoint::print_one (const bp_location **last_loc) const
       case ada_catch_exception:
 	if (!m_excep_string.empty ())
 	  {
-	    std::string msg = string_printf (_("`%s' Ada exception"),
+	    std::string msg = string_printf (_("\"%s\" Ada exception"),
 					     m_excep_string.c_str ());
 
 	    uiout->field_string ("what", msg);
@@ -12445,7 +12445,7 @@ ada_catchpoint::print_one (const bp_location **last_loc) const
 	if (!m_excep_string.empty ())
 	  {
 	    uiout->field_fmt ("what",
-			      _("`%s' Ada exception handlers"),
+			      _("\"%s\" Ada exception handlers"),
 			      m_excep_string.c_str ());
 	  }
 	else
@@ -12482,7 +12482,7 @@ ada_catchpoint::print_mention () const
       case ada_catch_exception:
 	if (!m_excep_string.empty ())
 	  {
-	    std::string info = string_printf (_("`%s' Ada exception"),
+	    std::string info = string_printf (_("\"%s\" Ada exception"),
 					      m_excep_string.c_str ());
 	    uiout->text (info);
 	  }
@@ -12498,7 +12498,7 @@ ada_catchpoint::print_mention () const
 	if (!m_excep_string.empty ())
 	  {
 	    std::string info
-	      = string_printf (_("`%s' Ada exception handlers"),
+	      = string_printf (_("\"%s\" Ada exception handlers"),
 			       m_excep_string.c_str ());
 	    uiout->text (info);
 	  }
@@ -12595,7 +12595,7 @@ catch_ada_exception_command_split (const char *args,
       args = skip_spaces (args);
 
       if (args[0] == '\0')
-	error (_("Condition missing after `if' keyword"));
+	error (_("Condition missing after \"if\" keyword"));
       *cond_string = args;
 
       args += strlen (args);
@@ -12871,7 +12871,7 @@ catch_ada_assert_command_split (const char *args, std::string &cond_string)
       args += 2;
       args = skip_spaces (args);
       if (args[0] == '\0')
-	error (_("condition missing after `if' keyword"));
+	error (_("condition missing after \"if\" keyword"));
       cond_string.assign (args);
     }
 
diff --git a/gdb/ada-lex.l b/gdb/ada-lex.l
index 65989ebd0a5..e72968ab6ef 100644
--- a/gdb/ada-lex.l
+++ b/gdb/ada-lex.l
@@ -414,7 +414,7 @@ processInt (struct parser_state *par_state, const char *base0,
     {
       int dig = fromhex (*num0);
       if (dig >= base)
-	error (_("Invalid digit `%c' in based literal"), *num0);
+	error (_("Invalid digit \"%c\" in based literal"), *num0);
       result *= base;
       result += dig;
       ++num0;
@@ -714,10 +714,10 @@ processAttribute (const char *str)
 	if (!found.has_value ())
 	  found = item.code;
 	else
-	  error (_("ambiguous attribute name: `%s'"), str);
+	  error (_("ambiguous attribute name: \"%s\""), str);
       }
   if (!found.has_value ())
-    error (_("unrecognized attribute: `%s'"), str);
+    error (_("unrecognized attribute: \"%s\""), str);
 
   return *found;
 }
diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c
index e68d5aee553..a4f7df6c35f 100644
--- a/gdb/alpha-tdep.c
+++ b/gdb/alpha-tdep.c
@@ -1076,7 +1076,7 @@ enclosing function for address %s"), paddress (gdbarch, orig_pc));
 	  gdb_printf (_("\
 This warning occurs if you are debugging a function without any symbols\n\
 (for example, in a stripped executable).  In that case, you may wish to\n\
-increase the size of the search with the `set heuristic-fence-post' command.\n\
+increase the size of the search with the \"set heuristic-fence-post\" command.\n\
 \n\
 Otherwise, you told GDB there was a function where there isn't one, or\n\
 (more likely) you have encountered a bug in GDB.\n"));
diff --git a/gdb/arch-utils.c b/gdb/arch-utils.c
index e959788bd3b..e89597ec5b8 100644
--- a/gdb/arch-utils.c
+++ b/gdb/arch-utils.c
@@ -568,7 +568,7 @@ set_architecture (const char *ignore_args,
 	target_architecture_user = info.bfd_arch_info;
       else
 	gdb_printf (gdb_stderr,
-		    _("Architecture `%s' not recognized.\n"),
+		    _("Architecture \"%s\" not recognized.\n"),
 		    set_architecture_string);
     }
   show_architecture (gdb_stdout, from_tty, NULL, NULL);
diff --git a/gdb/arm-linux-tdep.c b/gdb/arm-linux-tdep.c
index 591e60d5084..54368d255ef 100644
--- a/gdb/arm-linux-tdep.c
+++ b/gdb/arm-linux-tdep.c
@@ -1228,7 +1228,7 @@ arm_stap_parse_special_token (struct gdbarch *gdbarch,
 
       if (user_reg_map_name_to_regnum (gdbarch, { regname, len })
 	  == -1)
-	error (_("Invalid register name `%s' on expression `%s'."),
+	error (_("Invalid register name \"%s\" on expression \"%s\"."),
 	       regname, p->saved_arg);
 
       ++tmp;
diff --git a/gdb/async-event.c b/gdb/async-event.c
index 3f303f572b2..15ae57ea66d 100644
--- a/gdb/async-event.c
+++ b/gdb/async-event.c
@@ -164,13 +164,13 @@ mark_async_signal_handler (async_signal_handler *async_handler_ptr)
       /* This is called by signal handlers, so we print it "by hand" using
 	 the async-signal-safe methods.  */
       const char head[] = ("[event-loop] mark_async_signal_handler: marking"
-			   "async signal handler `");
+			   "async signal handler \"");
       gdb_stdlog->write_async_safe (head, strlen (head));
 
       gdb_stdlog->write_async_safe (async_handler_ptr->name,
 				    strlen (async_handler_ptr->name));
 
-      const char tail[] = "`\n";
+      const char tail[] = "\"\n";
       gdb_stdlog->write_async_safe (tail, strlen (tail));
     }
 
@@ -183,7 +183,7 @@ mark_async_signal_handler (async_signal_handler *async_handler_ptr)
 void
 clear_async_signal_handler (async_signal_handler *async_handler_ptr)
 {
-  event_loop_debug_printf ("clearing async signal handler `%s`",
+  event_loop_debug_printf ("clearing async signal handler \"%s\"",
 			   async_handler_ptr->name);
   async_handler_ptr->ready = 0;
 }
@@ -228,7 +228,7 @@ invoke_async_signal_handlers (void)
       /* Async signal handlers have no connection to whichever was the
 	 current UI, and thus always run on the main one.  */
       current_ui = main_ui;
-      event_loop_debug_printf ("invoking async signal handler `%s`",
+      event_loop_debug_printf ("invoking async signal handler \"%s\"",
 			       async_handler_ptr->name);
       (*async_handler_ptr->proc) (async_handler_ptr->client_data);
     }
@@ -293,7 +293,7 @@ create_async_event_handler (async_event_handler_func *proc,
 void
 mark_async_event_handler (async_event_handler *async_handler_ptr)
 {
-  event_loop_debug_printf ("marking async event handler `%s` "
+  event_loop_debug_printf ("marking async event handler \"%s\" "
 			   "(previous state was %d)",
 			   async_handler_ptr->name,
 			   async_handler_ptr->ready);
@@ -305,7 +305,7 @@ mark_async_event_handler (async_event_handler *async_handler_ptr)
 void
 clear_async_event_handler (async_event_handler *async_handler_ptr)
 {
-  event_loop_debug_printf ("clearing async event handler `%s`",
+  event_loop_debug_printf ("clearing async event handler \"%s\"",
 			   async_handler_ptr->name);
   async_handler_ptr->ready = 0;
 }
@@ -332,7 +332,7 @@ check_async_event_handlers ()
     {
       if (async_handler_ptr->ready)
 	{
-	  event_loop_debug_printf ("invoking async event handler `%s`",
+	  event_loop_debug_printf ("invoking async event handler \"%s\"",
 				   async_handler_ptr->name);
 	  (*async_handler_ptr->proc) (async_handler_ptr->client_data);
 	  return 1;
diff --git a/gdb/auto-load.c b/gdb/auto-load.c
index ccbd091e1c2..a36d7c338a2 100644
--- a/gdb/auto-load.c
+++ b/gdb/auto-load.c
@@ -508,7 +508,7 @@ file_is_auto_load_safe (const char *filename)
     return true;
 
   warning (_("File \"%ps\" auto-loading has been declined by your "
-	     "`auto-load safe-path' set to \"%s\"."),
+	     "\"auto-load safe-path\" set to \"%s\"."),
 	   styled_string (file_name_style.style (), filename_real.get ()),
 	   auto_load_safe_path.c_str ());
 
@@ -1422,7 +1422,7 @@ maybe_print_unsupported_script_warning
       warning (_("\
 Unsupported auto-load script at offset %u in section %s\n\
 of file %ps.\n\
-Use `info auto-load %s-scripts [REGEXP]' to list them."),
+Use \"info auto-load %s-scripts [REGEXP]\" to list them."),
 	       offset, section_name,
 	       styled_string (file_name_style.style (),
 			      objfile_name (objfile)),
@@ -1446,7 +1446,7 @@ maybe_print_script_not_found_warning
       warning (_("\
 Missing auto-load script at offset %u in section %s\n\
 of file %ps.\n\
-Use `info auto-load %s-scripts [REGEXP]' to list them."),
+Use \"info auto-load %s-scripts [REGEXP]\" to list them."),
 	       offset, section_name,
 	       styled_string (file_name_style.style (),
 			      objfile_name (objfile)),
diff --git a/gdb/ax-gdb.c b/gdb/ax-gdb.c
index 498a307c868..bb4edf6c5f4 100644
--- a/gdb/ax-gdb.c
+++ b/gdb/ax-gdb.c
@@ -418,7 +418,7 @@ gen_fetch (struct agent_expr *ax, struct type *type)
       /* Our caller requested us to dereference a pointer from an unsupported
 	 type.  Error out and give callers a chance to handle the failure
 	 gracefully.  */
-      error (_("gen_fetch: Unsupported type code `%s'."),
+      error (_("gen_fetch: Unsupported type code \"%s\"."),
 	     type->name ());
     }
 }
@@ -569,7 +569,7 @@ gen_var_ref (struct agent_expr *ax, struct axs_value *value, struct symbol *var)
       break;
 
     case LOC_TYPEDEF:
-      error (_("Cannot compute value of typedef `%s'."),
+      error (_("Cannot compute value of typedef \"%s\"."),
 	     var->print_name ());
       break;
 
@@ -601,7 +601,7 @@ gen_var_ref (struct agent_expr *ax, struct axs_value *value, struct symbol *var)
 	  = lookup_minimal_symbol (current_program_space,
 				   var->linkage_name ());
 	if (!msym.minsym)
-	  error (_("Couldn't resolve symbol `%s'."), var->print_name ());
+	  error (_("Couldn't resolve symbol \"%s\"."), var->print_name ());
 
 	/* Push the address of the variable.  */
 	ax_const_l (ax, msym.value_address ());
@@ -619,7 +619,7 @@ gen_var_ref (struct agent_expr *ax, struct axs_value *value, struct symbol *var)
       break;
 
     default:
-      error (_("Cannot find value of botched symbol `%s'."),
+      error (_("Cannot find value of botched symbol \"%s\"."),
 	     var->print_name ());
       break;
     }
@@ -1003,7 +1003,7 @@ gen_ptrdiff (struct agent_expr *ax, struct axs_value *value,
   if (value1->type->target_type ()->length ()
       != value2->type->target_type ()->length ())
     error (_("\
-First argument of `-' is a pointer, but second argument is neither\n\
+First argument of \"-\" is a pointer, but second argument is neither\n\
 an integer nor a pointer of the same type."));
 
   ax_simple (ax, aop_sub);
@@ -1073,7 +1073,7 @@ gen_logical_not (struct agent_expr *ax, struct axs_value *value,
   struct type *type = strip_range_type (value->type);
   if (type->code () != TYPE_CODE_INT
       && type->code () != TYPE_CODE_PTR)
-    error (_("Invalid type of operand to `!'."));
+    error (_("Invalid type of operand to \"!\"."));
 
   ax_simple (ax, aop_log_not);
   value->type = result_type;
@@ -1085,7 +1085,7 @@ gen_complement (struct agent_expr *ax, struct axs_value *value)
 {
   struct type *type = strip_range_type (value->type);
   if (type->code () != TYPE_CODE_INT)
-    error (_("Invalid type of operand to `~'."));
+    error (_("Invalid type of operand to \"~\"."));
 
   ax_simple (ax, aop_bit_not);
   gen_extend (ax, type);
@@ -1132,10 +1132,10 @@ gen_address_of (struct axs_value *value)
     switch (value->kind)
       {
       case axs_rvalue:
-	error (_("Operand of `&' is an rvalue, which has no address."));
+	error (_("Operand of \"&\" is an rvalue, which has no address."));
 
       case axs_lvalue_register:
-	error (_("Operand of `&' is in a register, and has no address."));
+	error (_("Operand of \"&\" is in a register, and has no address."));
 
       case axs_lvalue_memory:
 	value->kind = axs_rvalue;
@@ -1355,7 +1355,7 @@ gen_struct_ref_recursive (struct agent_expr *ax, struct axs_value *value,
 		{
 		  gen_static_field (ax, value, type, i);
 		  if (value->optimized_out)
-		    error (_("static field `%s' has been "
+		    error (_("static field \"%s\" has been "
 			     "optimized out, cannot use"),
 			   field);
 		  return 1;
@@ -1414,7 +1414,7 @@ gen_struct_ref (struct agent_expr *ax, struct axs_value *value,
   /* This must yield a structure or a union.  */
   if (type->code () != TYPE_CODE_STRUCT
       && type->code () != TYPE_CODE_UNION)
-    error (_("The left operand of `%s' is not a %s."),
+    error (_("The left operand of \"%s\" is not a %s."),
 	   operator_name, operand_name);
 
   /* And it must be in memory; we don't deal with structure rvalues,
@@ -1426,7 +1426,7 @@ gen_struct_ref (struct agent_expr *ax, struct axs_value *value,
   found = gen_struct_ref_recursive (ax, value, field, 0, type);
 
   if (!found)
-    error (_("Couldn't find member named `%s' in struct/union/class `%s'"),
+    error (_("Couldn't find member named \"%s\" in struct/union/class \"%s\""),
 	   field, type->name ());
 }
 
@@ -1492,7 +1492,7 @@ gen_struct_elt_for_reference (struct agent_expr *ax, struct axs_value *value,
 	    {
 	      gen_static_field (ax, value, t, i);
 	      if (value->optimized_out)
-		error (_("static field `%s' has been "
+		error (_("static field \"%s\" has been "
 			 "optimized out, cannot use"),
 		       fieldname);
 	      return 1;
@@ -1551,7 +1551,7 @@ gen_maybe_namespace_elt (struct agent_expr *ax, struct axs_value *value,
   gen_var_ref (ax, value, sym.symbol);
 
   if (value->optimized_out)
-    error (_("`%s' has been optimized out, cannot use"),
+    error (_("\"%s\" has been optimized out, cannot use"),
 	   sym.symbol->print_name ());
 
   return 1;
@@ -1743,21 +1743,21 @@ repeat_operation::do_generate_ax (struct expression *exp,
      here.  */
   std::get<0> (m_storage)->generate_ax (exp, ax, &value1);
   if (value1.kind != axs_lvalue_memory)
-    error (_("Left operand of `@' must be an object in memory."));
+    error (_("Left operand of \"@\" must be an object in memory."));
 
   /* Evaluate the length; it had better be a constant.  */
   if (!std::get<1> (m_storage)->constant_p ())
-    error (_("Right operand of `@' must be a "
+    error (_("Right operand of \"@\" must be a "
 	     "constant, in agent expressions."));
 
   struct value *v
     = std::get<1> (m_storage)->evaluate (nullptr, exp,
 					 EVAL_AVOID_SIDE_EFFECTS);
   if (v->type ()->code () != TYPE_CODE_INT)
-    error (_("Right operand of `@' must be an integer."));
+    error (_("Right operand of \"@\" must be an integer."));
   int length = value_as_long (v);
   if (length <= 0)
-    error (_("Right operand of `@' must be positive."));
+    error (_("Right operand of \"@\" must be positive."));
 
   /* The top of the stack is already the address of the object, so
      all we need to do is frob the type of the lvalue.  */
@@ -1900,12 +1900,12 @@ op_this_operation::do_generate_ax (struct expression *exp,
 
   sym = lookup_language_this (lang, b).symbol;
   if (!sym)
-    error (_("no `%s' found"), lang->name_of_this ());
+    error (_("no \"%s\" found"), lang->name_of_this ());
 
   gen_var_ref (ax, value, sym);
 
   if (value->optimized_out)
-    error (_("`%s' has been optimized out, cannot use"),
+    error (_("\"%s\" has been optimized out, cannot use"),
 	   sym->print_name ());
 }
 
@@ -2000,7 +2000,7 @@ var_value_operation::do_generate_ax (struct expression *exp,
   gen_var_ref (ax, value, std::get<0> (m_storage).symbol);
 
   if (value->optimized_out)
-    error (_("`%s' has been optimized out, cannot use"),
+    error (_("\"%s\" has been optimized out, cannot use"),
 	   std::get<0> (m_storage).symbol->print_name ());
 
   if (value->type->code () == TYPE_CODE_ERROR)
@@ -2152,7 +2152,7 @@ gen_expr_binop_rest (struct expression *exp,
 		&& type->code () != TYPE_CODE_PTR)
 	      {
 		if (type->name ())
-		  error (_("cannot subscript something of type `%s'"),
+		  error (_("cannot subscript something of type \"%s\""),
 			 type->name ());
 		else
 		  error (_("cannot subscript requested type"));
@@ -2301,7 +2301,7 @@ gen_expr_unop (struct expression *exp,
       lhs->generate_ax (exp, ax, value);
       gen_usual_unary (ax, value);
       if (!value->type->is_pointer_or_reference ())
-	error (_("Argument of unary `*' is not a pointer."));
+	error (_("Argument of unary \"*\" is not a pointer."));
       gen_deref (value);
       break;
 
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index 6ca196133fd..c6c08b03487 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -10473,7 +10473,7 @@ watch_command_1 (const char *arg, int accessflag, int from_tty,
       len = exp_end - exp_start;
       while (len > 0 && c_isspace (exp_start[len - 1]))
 	len--;
-      error (_("Cannot watch constant value `%.*s'."), len, exp_start);
+      error (_("Cannot watch constant value \"%.*s\"."), len, exp_start);
     }
 
   exp_valid_block = tracker.block ();
@@ -14789,14 +14789,14 @@ INIT_GDB_FILE (breakpoint)
 
   add_com ("ignore", class_breakpoint, ignore_command, _("\
 Set ignore-count of breakpoint number N to COUNT.\n\
-Usage is `ignore N COUNT'."));
+Usage is \"ignore N COUNT\"."));
 
   commands_cmd_element = add_com ("commands", class_breakpoint,
 				  commands_command, _("\
 Set commands to be executed when the given breakpoints are hit.\n\
 Give a space-separated breakpoint list as argument after \"commands\".\n\
-A list element can be a breakpoint number (e.g. `5') or a range of numbers\n\
-(e.g. `5-7').\n\
+A list element can be a breakpoint number (e.g. \"5\") or a range of numbers\n\
+(e.g. \"5-7\").\n\
 With no argument, the targeted breakpoint is the last one set.\n\
 The commands themselves follow starting on the next line.\n\
 Type a line containing \"end\" to indicate the end of them.\n\
@@ -14807,7 +14807,7 @@ then no output is printed when it is hit, except what the commands print."));
   static std::string condition_command_help
     = gdb::option::build_help (_("\
 Specify breakpoint number N to break only if COND is true.\n\
-Usage is `condition [OPTION] N COND', where N is an integer and COND\n\
+Usage is \"condition [OPTION] N COND\", where N is an integer and COND\n\
 is an expression to be evaluated whenever breakpoint N is reached.\n\
 \n\
 Options:\n\
@@ -15105,7 +15105,7 @@ LOCATION may be a linespec, explicit, or address location (described below)\n\
 or -m MARKER_ID.\n\n\
 If a marker id is specified, probe the marker with that name.  With\n\
 no LOCATION, uses current execution address of the selected stack frame.\n\
-Static tracepoints accept an extra collect action -- ``collect $_sdata''.\n\
+Static tracepoints accept an extra collect action -- \"collect $_sdata\".\n\
 This collects arbitrary user data passed in the probe point call to the\n\
 tracing library.  You can inspect it when analyzing the trace buffer,\n\
 by printing the $_sdata variable like any other convenience variable.\n\
diff --git a/gdb/build-id.c b/gdb/build-id.c
index 123d87e519c..56b642bfcaf 100644
--- a/gdb/build-id.c
+++ b/gdb/build-id.c
@@ -205,7 +205,7 @@ build_id_to_debug_bfd_1 (const std::string &original_link,
 
       if (debug_bfd == NULL)
 	{
-	  separate_debug_file_debug_printf ("unable to open `%s`", filename);
+	  separate_debug_file_debug_printf ("unable to open \"%s\"", filename);
 	  continue;
 	}
 
@@ -244,7 +244,7 @@ build_id_to_bfd_suffix (size_t build_id_len, const bfd_byte *build_id,
       /* Zero length build-ids are ignored by bfd.  */
       gdb_assert (build_id_len > 0);
       separate_debug_file_debug_printf
-	("Ignoring short build-id `%s' for build-id based lookup",
+	("Ignoring short build-id \"%s\" for build-id based lookup",
 	 bin2hex (build_id, build_id_len).c_str ());
       return {};
     }
diff --git a/gdb/c-exp.y b/gdb/c-exp.y
index e6a82e2aa3c..23c14ed9e8b 100644
--- a/gdb/c-exp.y
+++ b/gdb/c-exp.y
@@ -1120,7 +1120,7 @@ qualified_name:	TYPENAME COLONCOLON name
 			  struct type *type = $1.type;
 			  type = check_typedef (type);
 			  if (!type_aggregate_p (type))
-			    error (_("`%s' is not defined as an aggregate type."),
+			    error (_("\"%s\" is not defined as an aggregate type."),
 				   type->safe_name ());
 
 			  pstate->push_new<scope_operation> (type,
@@ -1132,7 +1132,7 @@ qualified_name:	TYPENAME COLONCOLON name
 
 			  type = check_typedef (type);
 			  if (!type_aggregate_p (type))
-			    error (_("`%s' is not defined as an aggregate type."),
+			    error (_("\"%s\" is not defined as an aggregate type."),
 				   type->safe_name ());
 			  std::string name = "~" + std::string ($4.ptr,
 								$4.length);
@@ -3344,7 +3344,7 @@ handle_qualified_field_name (qualified_name_token token)
 
   type = check_typedef (type);
   if (!type_aggregate_p (type))
-    error (_("`%s' is not defined as an aggregate type."),
+    error (_("\"%s\" is not defined as an aggregate type."),
 	   type->safe_name ());
   if (token.name[0] == '~')
     destructor_name_p (token.name, type);
diff --git a/gdb/c-lang.c b/gdb/c-lang.c
index fdb5be7b2b7..088a2ba679f 100644
--- a/gdb/c-lang.c
+++ b/gdb/c-lang.c
@@ -365,7 +365,7 @@ c_get_string (struct value *value, gdb::unique_xmalloc_ptr<gdb_byte> *buffer,
     std::string type_str = type_to_string (type);
     if (!type_str.empty ())
       {
-	error (_("Trying to read string with inappropriate type `%s'."),
+	error (_("Trying to read string with inappropriate type \"%s\"."),
 	       type_str.c_str ());
       }
     else
diff --git a/gdb/charset.c b/gdb/charset.c
index 1b0725b5078..66199407a1f 100644
--- a/gdb/charset.c
+++ b/gdb/charset.c
@@ -349,13 +349,13 @@ validate (struct gdbarch *gdbarch)
 
   desc = iconv_open (target_wide_cset, host_cset);
   if (desc == (iconv_t) -1)
-    error (_("Cannot convert between character sets `%s' and `%s'"),
+    error (_("Cannot convert between character sets \"%s\" and \"%s\""),
 	   target_wide_cset, host_cset);
   iconv_close (desc);
 
   desc = iconv_open (target_cset, host_cset);
   if (desc == (iconv_t) -1)
-    error (_("Cannot convert between character sets `%s' and `%s'"),
+    error (_("Cannot convert between character sets \"%s\" and \"%s\""),
 	   target_cset, host_cset);
   iconv_close (desc);
 
@@ -547,7 +547,7 @@ convert_between_encodings (const char *from, const char *to,
 		/* Invalid input sequence.  */
 		if (translit == translit_none)
 		  error (_("Could not convert character "
-			   "to `%s' character set"), to);
+			   "to \"%s\" character set"), to);
 
 		/* We emit escape sequence for the bytes, skip them,
 		   and try again.  */
@@ -1044,11 +1044,11 @@ INIT_GDB_FILE (charset)
 			charset_enum, &host_charset_name, _("\
 Set the host and target character sets."), _("\
 Show the host and target character sets."), _("\
-The `host character set' is the one used by the system GDB is running on.\n\
-The `target character set' is the one used by the program being debugged.\n\
+The \"host character set\" is the one used by the system GDB is running on.\n\
+The \"target character set\" is the one used by the program being debugged.\n\
 You may only use supersets of ASCII for your host character set; GDB does\n\
 not support any others.\n\
-To see a list of the character sets GDB supports, type `set charset <TAB>'."),
+To see a list of the character sets GDB supports, type \"set charset <TAB>\"."),
 			/* Note that the sfunc below needs to set
 			   target_charset_name, because the 'set
 			   charset' command sets two variables.  */
@@ -1060,10 +1060,10 @@ To see a list of the character sets GDB supports, type `set charset <TAB>'."),
 			charset_enum, &host_charset_name, _("\
 Set the host character set."), _("\
 Show the host character set."), _("\
-The `host character set' is the one used by the system GDB is running on.\n\
+The \"host character set\" is the one used by the system GDB is running on.\n\
 You may only use supersets of ASCII for your host character set; GDB does\n\
 not support any others.\n\
-To see a list of the character sets GDB supports, type `set host-charset <TAB>'."),
+To see a list of the character sets GDB supports, type \"set host-charset <TAB>\"."),
 			set_host_charset_sfunc,
 			show_host_charset_name,
 			&setlist, &showlist);
@@ -1075,10 +1075,10 @@ To see a list of the character sets GDB supports, type `set host-charset <TAB>'.
 			charset_enum, &target_charset_name, _("\
 Set the target character set."), _("\
 Show the target character set."), _("\
-The `target character set' is the one used by the program being debugged.\n\
+The \"target character set\" is the one used by the program being debugged.\n\
 GDB translates characters and strings between the host and target\n\
 character sets as needed.\n\
-To see a list of the character sets GDB supports, type `set target-charset'<TAB>"),
+To see a list of the character sets GDB supports, type \"set target-charset\"<TAB>"),
 			set_target_charset_sfunc,
 			show_target_charset_name,
 			&setlist, &showlist);
@@ -1091,12 +1091,12 @@ To see a list of the character sets GDB supports, type `set target-charset'<TAB>
 			_("\
 Set the target wide character set."), _("\
 Show the target wide character set."), _("\
-The `target wide character set' is the one used by the program being debugged.\
-\nIn particular it is the encoding used by `wchar_t'.\n\
+The \"target wide character set\" is the one used by the program being debugged.\
+\nIn particular it is the encoding used by \"wchar_t\".\n\
 GDB translates characters and strings between the host and target\n\
 character sets as needed.\n\
 To see a list of the character sets GDB supports, type\n\
-`set target-wide-charset'<TAB>"),
+\"set target-wide-charset\"<TAB>"),
 			set_target_wide_charset_sfunc,
 			show_target_wide_charset_name,
 			&setlist, &showlist);
diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c
index 5348d156d06..ed2e426b709 100644
--- a/gdb/cli/cli-cmds.c
+++ b/gdb/cli/cli-cmds.c
@@ -2961,7 +2961,7 @@ as 0 or -1 depending on the setting."),
 
   add_cmd ("commands", no_set_class, show_commands, _("\
 Show the history of commands you typed.\n\
-You can supply a command number to start with, or a `+' to start after\n\
+You can supply a command number to start with, or a \"+\" to start after\n\
 the previous command number shown."),
 	   &showlist);
 
@@ -3070,7 +3070,7 @@ you must type \"disassemble 'foo.c'::bar\" and not \"disassemble foo.c:bar\"."))
   set_cmd_completer_handle_brkchars (c, disassemble_command_completer);
 
   c = add_com ("make", class_support, make_command, _("\
-Run the ``make'' program using the rest of the line as arguments."));
+Run the \"make\" program using the rest of the line as arguments."));
   set_cmd_completer (c, deprecated_filename_completer);
 
   c = add_cmd ("user", no_class, show_user, _("\
diff --git a/gdb/cli/cli-option.c b/gdb/cli/cli-option.c
index ded79adaa14..435a86efc86 100644
--- a/gdb/cli/cli-option.c
+++ b/gdb/cli/cli-option.c
@@ -315,7 +315,7 @@ parse_option (gdb::array_view<const option_def_group> options_group,
 		  }
 
 		if (have_delimiter)
-		  error (_("Value given for `-%s' is not a boolean: %.*s"),
+		  error (_("Value given for \"-%s\" is not a boolean: %.*s"),
 			 match->name, (int) (end - val_str), val_str);
 		/* The user didn't separate options from operands
 		   using "--", so treat this unrecognized value as the
diff --git a/gdb/cli/cli-script.c b/gdb/cli/cli-script.c
index 0a1208845b4..564b067271b 100644
--- a/gdb/cli/cli-script.c
+++ b/gdb/cli/cli-script.c
@@ -1440,7 +1440,7 @@ do_define_command (const char *comname, int from_tty,
 				/* ignore_help_classes = */ false);
       if (!hookc && commands == nullptr)
 	{
-	  warning (_("Your new `%s' command does not "
+	  warning (_("Your new \"%s\" command does not "
 		     "hook any existing command."),
 		   comfull);
 	  if (!query (_("Proceed? ")))
@@ -1757,14 +1757,14 @@ If the command already exists, it is changed to a prefix command."));
 
   while_cmd_element = add_com ("while", class_support, while_command, _("\
 Execute nested commands WHILE the conditional expression is non zero.\n\
-The conditional expression must follow the word `while' and must in turn be\n\
+The conditional expression must follow the word \"while\" and must in turn be\n\
 followed by a new line.  The nested commands must be entered one per line,\n\
-and should be terminated by the word `end'."));
+and should be terminated by the word \"end\"."));
 
   if_cmd_element = add_com ("if", class_support, if_command, _("\
 Execute nested commands once IF the conditional expression is non zero.\n\
-The conditional expression must follow the word `if' and must in turn be\n\
+The conditional expression must follow the word \"if\" and must in turn be\n\
 followed by a new line.  The nested commands must be entered one per line,\n\
-and should be terminated by the word 'else' or `end'.  If an else clause\n\
+and should be terminated by the word \"else\" or \"end\".  If an else clause\n\
 is used, the same rules apply to its nested commands as to the first ones."));
 }
diff --git a/gdb/corefile.c b/gdb/corefile.c
index 3d0ee961d98..37f04fa7794 100644
--- a/gdb/corefile.c
+++ b/gdb/corefile.c
@@ -399,7 +399,7 @@ INIT_GDB_FILE (core)
 Use FILE as core dump for examining memory and registers.\n\
 Usage: core-file FILE\n\
 No arg means have no core file.  This command has been superseded by the\n\
-`target core' and `detach' commands."), &cmdlist);
+\"target core\" and \"detach\" commands."), &cmdlist);
   set_cmd_completer (core_file_cmd, deprecated_filename_completer);
 
   set_show_commands set_show_gnutarget
@@ -407,7 +407,7 @@ No arg means have no core file.  This command has been superseded by the\n\
 				       &gnutarget_string, _("\
 Set the current BFD target."), _("\
 Show the current BFD target."), _("\
-Use `set gnutarget auto' to specify automatic detection."),
+Use \"set gnutarget auto\" to specify automatic detection."),
 				       set_gnutarget_command,
 				       show_gnutarget_string,
 				       &setlist, &showlist);
diff --git a/gdb/corelow.c b/gdb/corelow.c
index cd36882a12c..49031b29b2e 100644
--- a/gdb/corelow.c
+++ b/gdb/corelow.c
@@ -1198,7 +1198,7 @@ core_target_open (const char *arg, int from_tty)
 
       /* Inform the user of executable and arguments.  */
       const std::string &args = current_inferior ()->args ();
-      gdb_printf (_("Core was generated by `%ps%s%s'.\n"),
+      gdb_printf (_("Core was generated by \"%ps%s%s\".\n"),
 		  styled_string (file_name_style.style (),
 				 ctx.execfn ()),
 		  (args.length () > 0 ? " " : ""), args.c_str ());
@@ -1208,7 +1208,7 @@ core_target_open (const char *arg, int from_tty)
       const char *failing_command
 	= bfd_core_file_failing_command (target->core_bfd ());
       if (failing_command != nullptr)
-	gdb_printf (_("Core was generated by `%s'.\n"),
+	gdb_printf (_("Core was generated by \"%s\".\n"),
 		    failing_command);
     }
 
@@ -1342,13 +1342,13 @@ core_target::get_core_register_section (struct regcache *regcache,
   size = bfd_section_size (section);
   if (size < section_min_size)
     {
-      warning (_("Section `%s' in core file too small."),
+      warning (_("Section \"%s\" in core file too small."),
 	       section_name.c_str ());
       return;
     }
   if (size != section_min_size && !variable_size_section)
     {
-      warning (_("Unexpected size of section `%s' in core file."),
+      warning (_("Unexpected size of section \"%s\" in core file."),
 	       section_name.c_str ());
     }
 
@@ -1356,7 +1356,7 @@ core_target::get_core_register_section (struct regcache *regcache,
   if (!bfd_get_section_contents (this->core_bfd (), section, contents.data (),
 				 (file_ptr) 0, size))
     {
-      warning (_("Couldn't read %s registers from `%s' section in core file."),
+      warning (_("Couldn't read %s registers from \"%s\" section in core file."),
 	       human_name, section_name.c_str ());
       return;
     }
diff --git a/gdb/cp-namespace.c b/gdb/cp-namespace.c
index ce7cba3d264..b8550e63abb 100644
--- a/gdb/cp-namespace.c
+++ b/gdb/cp-namespace.c
@@ -1004,7 +1004,7 @@ cp_lookup_nested_symbol (struct type *parent_type,
 static void
 maintenance_cplus_namespace (const char *args, int from_tty)
 {
-  gdb_printf (_("The `maint namespace' command was removed.\n"));
+  gdb_printf (_("The \"maint namespace\" command was removed.\n"));
 }
 
 INIT_GDB_FILE (cp_namespace)
diff --git a/gdb/d-exp.y b/gdb/d-exp.y
index 1031eb1ecca..6d040e34127 100644
--- a/gdb/d-exp.y
+++ b/gdb/d-exp.y
@@ -503,7 +503,7 @@ PrimaryExpression:
 			      /* Check if the qualified name resolves as a member
 				 of an aggregate or an enum type.  */
 			      if (!type_aggregate_p (type))
-				error (_("`%s' is not defined as an aggregate type."),
+				error (_("\"%s\" is not defined as an aggregate type."),
 				       type->safe_name ());
 
 			      pstate->push_new<scope_operation>
diff --git a/gdb/darwin-nat.c b/gdb/darwin-nat.c
index d9faf503e30..312f67508c8 100644
--- a/gdb/darwin-nat.c
+++ b/gdb/darwin-nat.c
@@ -1939,7 +1939,7 @@ The error was: %s"),
       catch (const gdb_exception_error &ex)
 	{
 	  warning (_("This version of macOS has System Integrity Protection.\n\
-Because `startup-with-shell' is enabled, gdb tried to work around SIP by\n\
+Because \"startup-with-shell\" is enabled, gdb tried to work around SIP by\n\
 caching a copy of your shell.  However, this failed:\n\
 %s\n\
 If you correct the problem, gdb will automatically try again the next time\n\
@@ -1953,7 +1953,7 @@ you \"%ps\".  To prevent these attempts, you can use:\n\
 	}
 
       gdb_printf (_("Note: this version of macOS has System Integrity Protection.\n\
-Because `startup-with-shell' is enabled, gdb has worked around this by\n\
+Because \"startup-with-shell\" is enabled, gdb has worked around this by\n\
 caching a copy of your shell.  The shell used by \"%ps\" is now:\n\
     %s\n"),
 		  styled_string (command_style.style (), "run"),
diff --git a/gdb/dtrace-probe.c b/gdb/dtrace-probe.c
index e69e6f754b4..1f0c4e37e09 100644
--- a/gdb/dtrace-probe.c
+++ b/gdb/dtrace-probe.c
@@ -857,7 +857,7 @@ dtrace_static_probe_ops::get_probes
 				(struct dtrace_dof_hdr *) dof);
 	  else
 	    complaint (_("could not obtain the contents of"
-			 "section '%s' in objfile `%s'."),
+			 "section \"%s\" in objfile \"%s\"."),
 		       bfd_section_name (sect), bfd_get_filename (abfd));
 
 	  xfree (dof);
diff --git a/gdb/dwarf2/expr.c b/gdb/dwarf2/expr.c
index 3a6b8f58199..0c89359f466 100644
--- a/gdb/dwarf2/expr.c
+++ b/gdb/dwarf2/expr.c
@@ -1382,7 +1382,7 @@ dwarf_expr_require_composition (const gdb_byte *op_ptr, const gdb_byte *op_end,
 {
   if (op_ptr != op_end && *op_ptr != DW_OP_piece && *op_ptr != DW_OP_bit_piece
       && *op_ptr != DW_OP_GNU_uninit)
-    error (_("DWARF-2 expression error: `%s' operations must be "
+    error (_("DWARF-2 expression error: \"%s\" operations must be "
 	     "used either alone or in conjunction with DW_OP_piece "
 	     "or DW_OP_bit_piece."),
 	   op_name);
diff --git a/gdb/dwarf2/index-write.c b/gdb/dwarf2/index-write.c
index 2b92b2cae47..9cfd42ed16e 100644
--- a/gdb/dwarf2/index-write.c
+++ b/gdb/dwarf2/index-write.c
@@ -1751,9 +1751,9 @@ struct index_wip_file
     /* Validate DIR is a valid directory.  */
     struct stat buf;
     if (stat (dir, &buf) == -1)
-      perror_with_name (string_printf (_("`%s'"), dir).c_str ());
+      perror_with_name (string_printf (_("\"%s\""), dir).c_str ());
     if ((buf.st_mode & S_IFDIR) != S_IFDIR)
-      error (_("`%s': Is not a directory."), dir);
+      error (_("\"%s\": Is not a directory."), dir);
 
     filename = (std::string (dir) + SLASH_STRING + basename
 		+ suffix);
@@ -1763,13 +1763,13 @@ struct index_wip_file
     scoped_fd out_file_fd = gdb_mkostemp_cloexec (filename_temp.data (),
 						  O_BINARY);
     if (out_file_fd.get () == -1)
-      perror_with_name (string_printf (_("couldn't open `%s'"),
+      perror_with_name (string_printf (_("couldn't open \"%s\""),
 				       filename_temp.data ()).c_str ());
 
     out_file = out_file_fd.to_file ("wb");
 
     if (out_file == nullptr)
-      error (_("Can't open `%s' for writing"), filename_temp.data ());
+      error (_("Can't open \"%s\" for writing"), filename_temp.data ());
 
     unlink_file.emplace (filename_temp.data ());
   }
@@ -1933,7 +1933,7 @@ save_gdb_index_command (const char *args, int from_tty)
 	  catch (const gdb_exception_error &except)
 	    {
 	      exception_fprintf (gdb_stderr, except,
-				 _("Error while writing index for `%s': "),
+				 _("Error while writing index for \"%s\": "),
 				 objfile_name (&objfile));
 	    }
 	}
diff --git a/gdb/dwarf2/line-header.c b/gdb/dwarf2/line-header.c
index f972564f00e..a199d7e1c6b 100644
--- a/gdb/dwarf2/line-header.c
+++ b/gdb/dwarf2/line-header.c
@@ -338,7 +338,7 @@ dwarf_decode_line_header (section_and_offset sect_and_offset,
     {
       lh->maximum_ops_per_instruction = 1;
       complaint (_("invalid maximum_ops_per_instruction "
-		   "in `.debug_line' section"));
+		   "in \".debug_line\" section"));
     }
 
   lh->default_is_stmt = read_1_byte (abfd, line_ptr);
@@ -418,7 +418,7 @@ dwarf_decode_line_header (section_and_offset sect_and_offset,
 
   if (line_ptr > (section->buffer + section->size))
     complaint (_("line number info header doesn't "
-		 "fit in `.debug_line' section"));
+		 "fit in \".debug_line\" section"));
 
   if (line_ptr != lh->statement_program_start)
     error (_("malformed line number program header, advertised length does"
diff --git a/gdb/dwarf2/loc.c b/gdb/dwarf2/loc.c
index 8e2b401ba34..58d8d511b70 100644
--- a/gdb/dwarf2/loc.c
+++ b/gdb/dwarf2/loc.c
@@ -3261,7 +3261,7 @@ locexpr_describe_location_piece (struct symbol *symbol, struct ui_file *stream,
 
       gdb_printf (stream,
 		  _("a thread-local variable at offset 0x%s "
-		    "in the thread-local storage for `%s'"),
+		    "in the thread-local storage for \"%s\""),
 		  phex_nz (offset, addr_size), objfile_name (objfile));
 
       data += 1 + addr_size + 1;
@@ -3288,7 +3288,7 @@ locexpr_describe_location_piece (struct symbol *symbol, struct ui_file *stream,
       offset = (uint64_t) dwarf2_read_addr_index (per_cu, per_objfile, offset);
       gdb_printf (stream,
 		  _("a thread-local variable at offset 0x%s "
-		    "in the thread-local storage for `%s'"),
+		    "in the thread-local storage for \"%s\""),
 		  phex_nz (offset, addr_size), objfile_name (objfile));
       ++data;
     }
@@ -4157,8 +4157,8 @@ function entry point and tail call frames will be printed."),
 
   add_setshow_boolean_cmd ("always-disassemble", class_obscure,
 			   &dwarf_always_disassemble, _("\
-Set whether `info address' always disassembles DWARF expressions."), _("\
-Show whether `info address' always disassembles DWARF expressions."), _("\
+Set whether \"info address\" always disassembles DWARF expressions."), _("\
+Show whether \"info address\" always disassembles DWARF expressions."), _("\
 When enabled, DWARF expressions are always printed in an assembly-like\n\
 syntax.  When disabled, expressions will be printed in a more\n\
 conversational style, when possible."),
diff --git a/gdb/dwarf2/macro.c b/gdb/dwarf2/macro.c
index caf4dcaa72d..176df5458d0 100644
--- a/gdb/dwarf2/macro.c
+++ b/gdb/dwarf2/macro.c
@@ -41,7 +41,7 @@ static void
 dwarf2_macro_malformed_definition_complaint (const char *arg1)
 {
   complaint (_("macro debug info contains a "
-	       "malformed macro definition:\n`%s'"),
+	       "malformed macro definition:\n\"%s\""),
 	     arg1);
 }
 
@@ -91,7 +91,7 @@ consume_improper_spaces (const char *p, const char *body)
   if (*p == ' ')
     {
       complaint (_("macro definition contains spaces "
-		   "in formal argument list:\n`%s'"),
+		   "in formal argument list:\n\"%s\""),
 		 body);
 
       while (*p == ' ')
@@ -297,7 +297,7 @@ skip_form_bytes (bfd *abfd, const gdb_byte *bytes, const gdb_byte *buffer_end,
 
     default:
       {
-	complaint (_("invalid form 0x%x in `%s'"),
+	complaint (_("invalid form 0x%x in \"%s\""),
 		   form, section->get_name ());
 	return NULL;
       }
@@ -369,7 +369,7 @@ dwarf_parse_macro_header (const gdb_byte **opcode_definitions,
       version = read_2_bytes (abfd, mac_ptr);
       if (version != 4 && version != 5)
 	{
-	  complaint (_("unrecognized version `%d' in .debug_macro section"),
+	  complaint (_("unrecognized version \"%d\" in .debug_macro section"),
 		     version);
 	  return NULL;
 	}
@@ -650,7 +650,7 @@ dwarf_decode_macro_bytes (dwarf2_per_objfile *per_objfile,
 	case DW_MACRO_end_file:
 	  if (! current_file)
 	    complaint (_("macro debug info has an unmatched "
-			 "`close_file' directive"));
+			 "\"close_file\" directive"));
 	  else if (current_file->included_by == nullptr
 		   && cu->producer_is_clang ())
 	    {
@@ -688,7 +688,7 @@ dwarf_decode_macro_bytes (dwarf2_per_objfile *per_objfile,
 								  mac_ptr);
 		  if (next_type != 0)
 		    complaint (_("no terminating 0-type entry for "
-				 "macros in `.debug_macinfo' section"));
+				 "macros in \".debug_macinfo\" section"));
 
 		  return;
 		}
diff --git a/gdb/eval.c b/gdb/eval.c
index 6b2218cc629..df89311d1dd 100644
--- a/gdb/eval.c
+++ b/gdb/eval.c
@@ -785,7 +785,7 @@ scope_operation::evaluate_funcall (struct type *expect_type,
 	{
 	  /* For the time being, we don't handle this.  */
 	  error (_("Call to overloaded function %ps requires "
-		   "`this' pointer"),
+		   "\"this\" pointer"),
 		 styled_string (function_name_style.style (),
 				function_name));
 	}
@@ -1426,7 +1426,7 @@ eval_op_subscript (struct type *expect_type, struct expression *exp,
 	  && type->code () != TYPE_CODE_PTR)
 	{
 	  if (type->name ())
-	    error (_("cannot subscript something of type `%s'"),
+	    error (_("cannot subscript something of type \"%s\""),
 		   type->name ());
 	  else
 	    error (_("cannot subscript requested type"));
@@ -1938,7 +1938,7 @@ eval_multi_subscript (struct type *expect_type, struct expression *exp,
 
 	    default:
 	      if (type->name ())
-		error (_("cannot subscript something of type `%s'"),
+		error (_("cannot subscript something of type \"%s\""),
 		       type->name ());
 	      else
 		error (_("cannot subscript requested type"));
diff --git a/gdb/exec.c b/gdb/exec.c
index f4c82519449..806f9b0a67a 100644
--- a/gdb/exec.c
+++ b/gdb/exec.c
@@ -935,7 +935,7 @@ print_section_info (const std::vector<target_section> *t, bfd *abfd)
   /* FIXME: 16 is not wide enough when gdbarch_addr_bit > 64.  */
   int wid = gdbarch_addr_bit (gdbarch) <= 32 ? 8 : 16;
 
-  gdb_printf ("\t`%ps', ",
+  gdb_printf ("\t\"%ps\", ",
 	      styled_string (file_name_style.style (),
 			     bfd_get_filename (abfd)));
   gdb_stdout->wrap_here (8);
@@ -1090,7 +1090,7 @@ INIT_GDB_FILE (exec)
   c = add_cmd ("file", class_files, file_command, _("\
 Use FILE as program to be debugged.\n\
 It is read for its symbols, for getting the contents of pure memory,\n\
-and it is the program executed when you use the `run' command.\n\
+and it is the program executed when you use the \"run\" command.\n\
 If FILE cannot be found as specified, your execution directory path\n\
 ($PATH) is searched for a command of that name.\n\
 No arg means to have no executable file and no symbols."), &cmdlist);
@@ -1108,7 +1108,7 @@ Change the base address of section SECTION of the exec file to ADDR.\n\
 This can be used if the exec file does not contain section addresses,\n\
 (such as in the a.out format), or when the addresses specified in the\n\
 file itself are wrong.  Each section must be changed separately.  The\n\
-``info files'' command lists all the sections and their addresses."));
+\"info files\" command lists all the sections and their addresses."));
 
   add_setshow_boolean_cmd ("write", class_support, &write_files, _("\
 Set writing into executable and core files."), _("\
diff --git a/gdb/filesystem.c b/gdb/filesystem.c
index 82bd664c4b3..4e5ca7c62f6 100644
--- a/gdb/filesystem.c
+++ b/gdb/filesystem.c
@@ -127,13 +127,13 @@ INIT_GDB_FILE (filesystem)
 Set assumed file system kind for target reported file names."), _("\
 Show assumed file system kind for target reported file names."),
 			_("\
-If `unix', target file names (e.g., loaded shared library file names)\n\
-starting the forward slash (`/') character are considered absolute,\n\
-and the directory separator character is the forward slash (`/').  If\n\
-`dos-based', target file names starting with a drive letter followed\n\
-by a colon (e.g., `c:'), are also considered absolute, and the\n\
-backslash (`\\') is also considered a directory separator.  Set to\n\
-`auto' (which is the default), to let GDB decide, based on its\n\
+If \"unix\", target file names (e.g., loaded shared library file names)\n\
+starting the forward slash (\"/\") character are considered absolute,\n\
+and the directory separator character is the forward slash (\"/\").  If\n\
+\"dos-based\", target file names starting with a drive letter followed\n\
+by a colon (e.g., \"c:\"), are also considered absolute, and the\n\
+backslash (\"\\\") is also considered a directory separator.  Set to\n\
+\"auto\" (which is the default), to let GDB decide, based on its\n\
 knowledge of the target operating system."),
 			NULL, /* setfunc */
 			show_target_file_system_kind_command,
diff --git a/gdb/findvar.c b/gdb/findvar.c
index daa4730eb4d..9a7858e4f17 100644
--- a/gdb/findvar.c
+++ b/gdb/findvar.c
@@ -300,7 +300,7 @@ language_defn::read_var_value (struct symbol *var,
   if (sym_need == SYMBOL_NEEDS_FRAME)
     gdb_assert (frame != NULL);
   else if (sym_need == SYMBOL_NEEDS_REGISTERS && !target_has_registers ())
-    error (_("Cannot read `%ps' without registers"),
+    error (_("Cannot read \"%ps\" without registers"),
 	   styled_string (variable_name_style.style (), var->print_name ()));
 
   if (frame != NULL)
@@ -387,7 +387,7 @@ language_defn::read_var_value (struct symbol *var,
     case LOC_ARG:
       addr = get_frame_args_address (frame);
       if (!addr)
-	error (_("Unknown argument list address for `%s'."),
+	error (_("Unknown argument list address for \"%s\"."),
 	       var->print_name ());
       addr += var->value_longest ();
       break;
@@ -399,7 +399,7 @@ language_defn::read_var_value (struct symbol *var,
 
 	argref = get_frame_args_address (frame);
 	if (!argref)
-	  error (_("Unknown argument list address for `%s'."),
+	  error (_("Unknown argument list address for \"%s\"."),
 		 var->print_name ());
 	argref += var->value_longest ();
 	ref = value_at (lookup_pointer_type (type), argref);
@@ -413,7 +413,7 @@ language_defn::read_var_value (struct symbol *var,
       break;
 
     case LOC_TYPEDEF:
-      error (_("Cannot look up value of a typedef `%s'."),
+      error (_("Cannot look up value of a typedef \"%s\"."),
 	     var->print_name ());
       break;
 
@@ -498,7 +498,7 @@ language_defn::read_var_value (struct symbol *var,
       return value::allocate_optimized_out (type);
 
     default:
-      error (_("Cannot look up value of a botched symbol `%s'."),
+      error (_("Cannot look up value of a botched symbol \"%s\"."),
 	     var->print_name ());
       break;
     }
diff --git a/gdb/gdb-demangle.c b/gdb/gdb-demangle.c
index d02b80ab621..a15dec662e6 100644
--- a/gdb/gdb-demangle.c
+++ b/gdb/gdb-demangle.c
@@ -249,7 +249,7 @@ Show demangling of C++/ObjC names in disassembly listings."), NULL,
 			&current_demangling_style_string, _("\
 Set the current C++ demangling style."), _("\
 Show the current C++ demangling style."), _("\
-Use `set demangle-style' without arguments for a list of demangling styles."),
+Use \"set demangle-style\" without arguments for a list of demangling styles."),
 			set_demangling_command,
 			show_demangling_style_names,
 			&setlist, &showlist);
diff --git a/gdb/gnu-nat.c b/gdb/gnu-nat.c
index 4999734b6d9..7cff9c10478 100644
--- a/gdb/gnu-nat.c
+++ b/gdb/gnu-nat.c
@@ -2724,7 +2724,7 @@ static void
 check_empty (const char *args, const char *cmd_prefix)
 {
   if (args)
-    error (_("Garbage after \"%s\" command: `%s'"), cmd_prefix, args);
+    error (_("Garbage after \"%s\" command: \"%s\""), cmd_prefix, args);
 }
 
 /* Returns the alive thread named by INFERIOR_PID, or signals an error.  */
@@ -3234,8 +3234,8 @@ The argument should be the value of the send right in the task."),
      debug running tasks.  */
   add_cmd ("noninvasive", no_class, set_noninvasive_cmd, _("\
 Set task options so that we interfere as little as possible.\n\
-This is the same as setting `task pause', `exceptions', and\n\
-`signals' to the opposite value."),
+This is the same as setting \"task pause\", \"exceptions\", and\n\
+\"signals\" to the opposite value."),
 	   &setlist);
 
   /* Commands to show information about the task's ports.  */
@@ -3406,12 +3406,12 @@ Show whether the current thread is suspended while gdb has control."),
   add_cmd ("detach-suspend-count", class_run, set_thread_detach_sc_cmd, _("\
 Set the suspend count will leave on the thread when detaching.\n\
 Note that this is relative to suspend count when gdb noticed the thread;\n\
-use the `thread takeover-suspend-count' to force it to an absolute value."),
+use the \"thread takeover-suspend-count\" to force it to an absolute value."),
 	   &set_thread_cmd_list);
   add_cmd ("detach-suspend-count", no_class, show_thread_detach_sc_cmd, _("\
 Show the suspend count will leave on the thread when detaching.\n\
 Note that this is relative to suspend count when gdb noticed the thread;\n\
-use the `thread takeover-suspend-count' to force it to an absolute value."),
+use the \"thread takeover-suspend-count\" to force it to an absolute value."),
 	   &show_thread_cmd_list);
 
   cmd_list_element *set_thread_exception_port_cmd_
diff --git a/gdb/gnu-v3-abi.c b/gdb/gnu-v3-abi.c
index 52e31776242..8df8bba5208 100644
--- a/gdb/gnu-v3-abi.c
+++ b/gdb/gnu-v3-abi.c
@@ -347,10 +347,10 @@ gnuv3_rtti_type (struct value *value,
   if (vtable_symbol_name == NULL
       || !startswith (vtable_symbol_name, "vtable for "))
     {
-      warning (_("can't find linker symbol for virtual table for `%s' value"),
+      warning (_("can't find linker symbol for virtual table for \"%s\" value"),
 	       values_type->safe_name ());
       if (vtable_symbol_name)
-	warning (_("  found `%s' instead"), vtable_symbol_name);
+	warning (_("  found \"%s\" instead"), vtable_symbol_name);
       return NULL;
     }
   class_name = vtable_symbol_name + 11;
diff --git a/gdb/go-exp.y b/gdb/go-exp.y
index 289fd81db85..9acbafc71cc 100644
--- a/gdb/go-exp.y
+++ b/gdb/go-exp.y
@@ -564,7 +564,7 @@ variable:	name_not_typename
 			    {
 			      /* TODO(dje): Can we get here?
 				 E.g., via a mix of c++ and go?  */
-			      gdb_assert_not_reached ("go with `this' field");
+			      gdb_assert_not_reached ("go with \"this\" field");
 			    }
 			  else
 			    {
@@ -1308,7 +1308,7 @@ classify_unsafe_function (struct stoken function_name)
       return SIZEOF_KEYWORD;
     }
 
-  error (_("Unknown function in `unsafe' package: %s"), copy.c_str ());
+  error (_("Unknown function in \"unsafe\" package: %s"), copy.c_str ());
 }
 
 /* Classify token(s) "name1.name2" where name1 is known to be a package.
diff --git a/gdb/go32-nat.c b/gdb/go32-nat.c
index 8989a66f903..b3cbfdca09f 100644
--- a/gdb/go32-nat.c
+++ b/gdb/go32-nat.c
@@ -381,7 +381,7 @@ go32_nat_target::attach (const char *args, int from_tty)
 {
   error (_("\
 You cannot attach to a running program on this platform.\n\
-Use the `run' command to run DJGPP programs."));
+Use the \"run\" command to run DJGPP programs."));
 }
 
 static int resume_is_step;
@@ -898,7 +898,7 @@ go32_nat_target::terminal_info (const char *args, int from_tty)
       for (i = 0; i < DBG_HANDLES; i++)
 	{
 	  if (child_cmd.redirection[i]->file_name)
-	    gdb_printf ("\tFile handle %d is redirected to `%s'.\n",
+	    gdb_printf ("\tFile handle %d is redirected to \"%s\".\n",
 			i, child_cmd.redirection[i]->file_name);
 	  else if (_get_dev_info (child_cmd.redirection[i]->inf_handle) == -1)
 	    gdb_printf
@@ -2111,9 +2111,9 @@ The address argument must be a linear address, after adding to\n\
 it the base address of the appropriate segment.\n\
 The base address of variables and functions in the debuggee's data\n\
 or code segment is stored in the variable __djgpp_base_address,\n\
-so use `__djgpp_base_address + (char *)&var' as the argument.\n\
+so use \"__djgpp_base_address + (char *)&var\" as the argument.\n\
 For other segments, look up their base address in the output of\n\
-the `info dos ldt' command."),
+the \"info dos ldt\" command."),
 	   &info_dos_cmdlist);
 }
 
diff --git a/gdb/guile/guile.c b/gdb/guile/guile.c
index ec5f6d08951..eba71426bb0 100644
--- a/gdb/guile/guile.c
+++ b/gdb/guile/guile.c
@@ -525,7 +525,7 @@ print_throw_error (SCM key, SCM args)
   else
     {
       scm_simple_format (scm_current_error_port (),
-			 scm_from_latin1_string (_("Throw to key `~a' with args `~s'.~%")),
+			 scm_from_latin1_string (_("Throw to key \"~a\" with args \"~s\".~%")),
 			 scm_list_2 (key, args));
     }
 }
diff --git a/gdb/i386-fbsd-tdep.c b/gdb/i386-fbsd-tdep.c
index d3bb9a8081a..920edb01dc1 100644
--- a/gdb/i386-fbsd-tdep.c
+++ b/gdb/i386-fbsd-tdep.c
@@ -258,8 +258,8 @@ i386_fbsd_core_read_xsave_info (bfd *abfd, x86_xsave_layout &layout)
   if (! bfd_get_section_contents (abfd, xstate, contents,
 				  I386_FBSD_XSAVE_XCR0_OFFSET, 8))
     {
-      warning (_("Couldn't read `xcr0' bytes from "
-		 "`.reg-xstate' section in core file."));
+      warning (_("Couldn't read \"xcr0\" bytes from "
+		 "\".reg-xstate\" section in core file."));
       return 0;
     }
 
diff --git a/gdb/i386-linux-tdep.c b/gdb/i386-linux-tdep.c
index 4f33766fcdd..3e183874059 100644
--- a/gdb/i386-linux-tdep.c
+++ b/gdb/i386-linux-tdep.c
@@ -1086,8 +1086,8 @@ i386_linux_core_read_xsave_info (bfd *abfd, x86_xsave_layout &layout)
   if (! bfd_get_section_contents (abfd, xstate, contents,
 				  I386_LINUX_XSAVE_XCR0_OFFSET, 8))
     {
-      warning (_("Couldn't read `xcr0' bytes from "
-		 "`.reg-xstate' section in core file."));
+      warning (_("Couldn't read \"xcr0\" bytes from "
+		 "\".reg-xstate\" section in core file."));
       return 0;
     }
 
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
index f69cc2dcc01..2ac96794d6f 100644
--- a/gdb/i386-tdep.c
+++ b/gdb/i386-tdep.c
@@ -3940,7 +3940,7 @@ i386_stap_parse_special_token_triplet (struct gdbarch *gdbarch,
       std::string regname (start, len);
 
       if (user_reg_map_name_to_regnum (gdbarch, regname) == -1)
-	error (_("Invalid register name `%s' on expression `%s'."),
+	error (_("Invalid register name \"%s\" on expression \"%s\"."),
 	       regname.c_str (), p->saved_arg);
 
       LONGEST value = 0;
@@ -4036,7 +4036,7 @@ i386_stap_parse_special_token_three_arg_disp (struct gdbarch *gdbarch,
       std::string base (start, len_base);
 
       if (user_reg_map_name_to_regnum (gdbarch, base) == -1)
-	error (_("Invalid register name `%s' on expression `%s'."),
+	error (_("Invalid register name \"%s\" on expression \"%s\"."),
 	       base.c_str (), p->saved_arg);
 
       s += 2;
@@ -4049,7 +4049,7 @@ i386_stap_parse_special_token_three_arg_disp (struct gdbarch *gdbarch,
       std::string index (start, len_index);
 
       if (user_reg_map_name_to_regnum (gdbarch, index) == -1)
-	error (_("Invalid register name `%s' on expression `%s'."),
+	error (_("Invalid register name \"%s\" on expression \"%s\"."),
 	       index.c_str (), p->saved_arg);
 
       if (*s != ',' && *s != ')')
diff --git a/gdb/ia64-tdep.c b/gdb/ia64-tdep.c
index 43f2f4e10bc..a69f02cbf5e 100644
--- a/gdb/ia64-tdep.c
+++ b/gdb/ia64-tdep.c
@@ -2695,7 +2695,7 @@ get_kernel_table (unw_word_t ip, unw_dyn_info_t *di)
   di->u.ti.table_data = (unw_word_t *) ktab;
 
   if (gdbarch_debug >= 1)
-    gdb_printf (gdb_stdlog, "get_kernel_table: found table `%s': "
+    gdb_printf (gdb_stdlog, "get_kernel_table: found table \"%s\": "
 		"segbase=%s, length=%s, gp=%s\n",
 		(char *) di->u.ti.name_ptr,
 		hex_string (di->u.ti.segbase),
@@ -2802,7 +2802,7 @@ ia64_find_proc_info_x (unw_addr_space_t as, unw_word_t ip, unw_proc_info_t *pi,
 
       if (gdbarch_debug >= 1)
 	gdb_printf (gdb_stdlog, "ia64_find_proc_info_x: %s -> "
-		    "(name=`%s',segbase=%s,start=%s,end=%s,gp=%s,"
+		    "(name=\"%s\",segbase=%s,start=%s,end=%s,gp=%s,"
 		    "length=%s,data=%s)\n",
 		    hex_string (ip), (char *)di.u.ti.name_ptr,
 		    hex_string (di.u.ti.segbase),
@@ -2819,7 +2819,7 @@ ia64_find_proc_info_x (unw_addr_space_t as, unw_word_t ip, unw_proc_info_t *pi,
 
       if (gdbarch_debug >= 1)
 	gdb_printf (gdb_stdlog, "ia64_find_proc_info_x: %s -> "
-		    "(name=`%s',segbase=%s,start=%s,end=%s,gp=%s,"
+		    "(name=\"%s\",segbase=%s,start=%s,end=%s,gp=%s,"
 		    "length=%s,data=%s)\n",
 		    hex_string (ip), (char *)di.u.rti.name_ptr,
 		    hex_string (di.u.rti.segbase),
diff --git a/gdb/infcmd.c b/gdb/infcmd.c
index 3e943123519..34834e15b08 100644
--- a/gdb/infcmd.c
+++ b/gdb/infcmd.c
@@ -816,7 +816,7 @@ continue_command (const char *args, int from_tty)
     }
 
   if (!non_stop && all_threads_p)
-    error (_("`-a' is meaningless in all-stop mode."));
+    error (_("\"-a\" is meaningless in all-stop mode."));
 
   if (args != nullptr && all_threads_p)
     error (_("Can't resume all threads and specify "
@@ -1248,7 +1248,7 @@ jump_command (const char *arg, int from_tty)
   sfn = find_symbol_for_pc_maybe_inline (sal.pc);
   if (fn != nullptr && sfn != fn)
     {
-      if (!query (_("Line %ps is not in `%ps'.  Jump anyway? "),
+      if (!query (_("Line %ps is not in \"%ps\".  Jump anyway? "),
 		  styled_string (line_number_style.style (),
 				 pulongest (sal.line)),
 		  styled_string (function_name_style.style (),
@@ -2616,7 +2616,7 @@ registers_info (const char *addr_exp, bool fpregs)
       }
 
       /* Nothing matched.  */
-      error (_("Invalid register `%.*s'"), (int) (end - start), start);
+      error (_("Invalid register \"%.*s\""), (int) (end - start), start);
     }
 }
 
@@ -3302,7 +3302,7 @@ show_print_finish (struct ui_file *file, int from_tty,
 		   const char *value)
 {
   gdb_printf (file, _("\
-Printing of return value after `finish' is %s.\n"),
+Printing of return value after \"finish\" is %s.\n"),
 	      value);
 }
 
@@ -3667,8 +3667,8 @@ List all available info about the specified process."),
 
   add_setshow_boolean_cmd ("finish", class_support,
 			   &finish_print, _("\
-Set whether `finish' prints the return value."), _("\
-Show whether `finish' prints the return value."), nullptr,
+Set whether \"finish\" prints the return value."), _("\
+Show whether \"finish\" prints the return value."), nullptr,
 			   nullptr,
 			   show_print_finish,
 			   &setprintlist, &showprintlist);
diff --git a/gdb/infrun.c b/gdb/infrun.c
index c0767e7f764..bba623ccb1c 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -10752,7 +10752,7 @@ all signals cumulatively specified."));
 
   stop_command = add_cmd ("stop", class_obscure,
 			  not_just_help_class_command, _("\
-There is no `stop' command, but you can set a hook on `stop'.\n\
+There is no \"stop\" command, but you can set a hook on \"stop\".\n\
 This allows you to set a list of commands to be run each time execution\n\
 of the program stops."), &cmdlist);
 
diff --git a/gdb/interps.c b/gdb/interps.c
index 0b05a3f277d..2f0f03be106 100644
--- a/gdb/interps.c
+++ b/gdb/interps.c
@@ -196,7 +196,7 @@ set_top_level_interpreter (const char *name, bool for_new_ui)
   struct interp *interp = interp_lookup (current_ui, name);
 
   if (interp == NULL)
-    error (_("Interpreter `%s' unrecognized"), name);
+    error (_("Interpreter \"%s\" unrecognized"), name);
   if (for_new_ui && !interp->supports_new_ui ())
     error (_("interpreter '%s' cannot be used with a new UI"), name);
 
diff --git a/gdb/language.c b/gdb/language.c
index 972018e8f7b..0ab27ed16ed 100644
--- a/gdb/language.c
+++ b/gdb/language.c
@@ -232,7 +232,7 @@ set_language (const char *language)
       return;
     }
 
-  internal_error ("Couldn't find language `%s' in known languages list.",
+  internal_error ("Couldn't find language \"%s\" in known languages list.",
 		  language);
 }
 
diff --git a/gdb/m2-lang.c b/gdb/m2-lang.c
index de8edacbdaf..0ea700c2b5b 100644
--- a/gdb/m2-lang.c
+++ b/gdb/m2-lang.c
@@ -98,7 +98,7 @@ eval_op_m2_subscript (struct type *expect_type, struct expression *exp,
     if (type->code () != TYPE_CODE_ARRAY)
       {
 	if (type->name ())
-	  error (_("cannot subscript something of type `%s'"),
+	  error (_("cannot subscript something of type \"%s\""),
 		 type->name ());
 	else
 	  error (_("cannot subscript requested type"));
diff --git a/gdb/machoread.c b/gdb/machoread.c
index d273ec2ef90..7fb5444829c 100644
--- a/gdb/machoread.c
+++ b/gdb/machoread.c
@@ -424,7 +424,7 @@ macho_add_oso_symfile (oso_el *oso, const gdb_bfd_ref_ptr &abfd,
 
   if (!gdb_bfd_check_format (abfd.get (), bfd_object))
     {
-      warning (_("`%s': can't read symbols: %s."), oso->name,
+      warning (_("\"%s\": can't read symbols: %s."), oso->name,
 	       bfd_errmsg (bfd_get_error ()));
       return;
     }
@@ -432,7 +432,7 @@ macho_add_oso_symfile (oso_el *oso, const gdb_bfd_ref_ptr &abfd,
   if (abfd->my_archive == nullptr
       && oso->mtime != gdb_bfd_get_mtime (abfd.get ()))
     {
-      warning (_("`%s': file time stamp mismatch."), oso->name);
+      warning (_("\"%s\": file time stamp mismatch."), oso->name);
       return;
     }
 
@@ -440,7 +440,7 @@ macho_add_oso_symfile (oso_el *oso, const gdb_bfd_ref_ptr &abfd,
 			      sizeof (struct macho_sym_hash_entry),
 			      oso->nbr_syms))
     {
-      warning (_("`%s': can't create hash table"), oso->name);
+      warning (_("\"%s\": can't create hash table"), oso->name);
       return;
     }
 
@@ -694,7 +694,7 @@ macho_symfile_read_all_oso (std::vector<oso_el> *oso_vector_ptr,
 	{
 	  gdb_bfd_ref_ptr abfd (gdb_bfd_open (oso->name, gnutarget));
 	  if (abfd == NULL)
-	    warning (_("`%s': can't open to read symbols: %s."), oso->name,
+	    warning (_("\"%s\": can't open to read symbols: %s."), oso->name,
 		     bfd_errmsg (bfd_get_error ()));
 	  else
 	    macho_add_oso_symfile (oso, abfd, oso->name, main_objfile,
diff --git a/gdb/macrocmd.c b/gdb/macrocmd.c
index c0af31c2b6e..2e96f0ebbcc 100644
--- a/gdb/macrocmd.c
+++ b/gdb/macrocmd.c
@@ -53,7 +53,7 @@ macro_expand_command (const char *exp, int from_tty)
      at the moment, the `print' commands don't save the last expression
      evaluated, just its value.  */
   if (! exp || ! *exp)
-    error (_("You must follow the `macro expand' command with the"
+    error (_("You must follow the \"macro expand\" command with the"
 	   " expression you\n"
 	   "want to expand."));
 
@@ -81,7 +81,7 @@ macro_expand_once_command (const char *exp, int from_tty)
      expression'.  That way, you could just hit return over and over and
      see the expression expanded one level at a time.  */
   if (! exp || ! *exp)
-    error (_("You must follow the `macro expand-once' command with"
+    error (_("You must follow the \"macro expand-once\" command with"
 	   " the expression\n"
 	   "you want to expand."));
 
@@ -196,7 +196,7 @@ info_macro_command (const char *args, int from_tty)
   name = arg_start;
 
   if (! name || ! *name)
-    error (_("You must follow the `info macro' command with the name"
+    error (_("You must follow the \"info macro\" command with the name"
 	     " of the macro\n"
 	     "whose definition you want to see."));
 
@@ -228,7 +228,7 @@ info_macro_command (const char *args, int from_tty)
 	}
       else
 	{
-	  gdb_printf ("The symbol `%s' has no definition as a C/C++"
+	  gdb_printf ("The symbol \"%s\" has no definition as a C/C++"
 		      " preprocessor macro\n"
 		      "at ", name);
 	  show_pp_source_pos (gdb_stdout, ms.file, ms.line);
@@ -428,12 +428,12 @@ Show the expanded expression."),
 Expand C/C++ preprocessor macro invocations appearing directly in EXPRESSION.\n\
 Show the expanded expression.\n\
 \n\
-This command differs from `macro expand' in that it only expands macro\n\
+This command differs from \"macro expand\" in that it only expands macro\n\
 invocations that appear directly in EXPRESSION; if expanding a macro\n\
 introduces further macro invocations, those are left unexpanded.\n\
 \n\
-`macro expand-once' helps you see how a particular macro expands,\n\
-whereas `macro expand' shows you how all the macros involved in an\n\
+\"macro expand-once\" helps you see how a particular macro expands,\n\
+whereas \"macro expand\" shows you how all the macros involved in an\n\
 expression work together to yield a pre-processed expression."),
 	       &macrolist);
   add_alias_cmd ("exp1", macro_expand_once_cmd, no_class, 1, &macrolist);
@@ -453,8 +453,8 @@ Usage: info macros [LINESPEC]"));
 
   add_cmd ("define", no_class, macro_define_command, _("\
 Define a new C/C++ preprocessor macro.\n\
-The GDB command `macro define DEFINITION' is equivalent to placing a\n\
-preprocessor directive of the form `#define DEFINITION' such that the\n\
+The GDB command \"macro define DEFINITION\" is equivalent to placing a\n\
+preprocessor directive of the form \"#define DEFINITION\" such that the\n\
 definition is visible in all the inferior's source files.\n\
 For example:\n\
   (gdb) macro define PI (3.1415926)\n\
@@ -466,6 +466,6 @@ Remove the definition of the C/C++ preprocessor macro with the given name."),
 	   &macrolist);
 
   add_cmd ("list", no_class, macro_list_command,
-	   _("List all the macros defined using the `macro define' command."),
+	   _("List all the macros defined using the \"macro define\" command."),
 	   &macrolist);
 }
diff --git a/gdb/macroexp.c b/gdb/macroexp.c
index 82f1378e153..d6e73f37a79 100644
--- a/gdb/macroexp.c
+++ b/gdb/macroexp.c
@@ -799,7 +799,7 @@ gather_arguments (const char *name, shared_macro_buffer *src, int nargs,
       for (;;)
 	{
 	  if (! get_token (&tok, src))
-	    error (_("Malformed argument list for macro `%s'."), name);
+	    error (_("Malformed argument list for macro \"%s\"."), name);
 
 	  /* Is tok an opening paren?  */
 	  if (tok.len == 1 && tok.text[0] == '(')
@@ -1274,7 +1274,7 @@ expand (const char *id,
 	  else if (! (argv.size () == 1
 		      && argv[0].len == 0
 		      && def->argc == 0))
-	    error (_("Wrong number of arguments to macro `%s' "
+	    error (_("Wrong number of arguments to macro \"%s\" "
 		   "(expected %d, got %d)."),
 		   id, def->argc, int (argv.size ()));
 	}
diff --git a/gdb/macroscope.c b/gdb/macroscope.c
index 6e01301484f..c85b412a6ea 100644
--- a/gdb/macroscope.c
+++ b/gdb/macroscope.c
@@ -78,7 +78,7 @@ sal_macro_scope (struct symtab_and_line sal)
       ms.file = main_file;
       ms.line = -1;
 
-      complaint (_("symtab found for `%s', but that file\n"
+      complaint (_("symtab found for \"%s\", but that file\n"
 		 "is not covered in the compilation unit's macro information"),
 		 symtab_to_filename_for_display (sal.symtab));
     }
diff --git a/gdb/macrotab.c b/gdb/macrotab.c
index 078eb5cb5aa..71abbc789d6 100644
--- a/gdb/macrotab.c
+++ b/gdb/macrotab.c
@@ -477,7 +477,7 @@ macro_include (struct macro_source_file *source,
 
       std::string link_fullname = macro_source_fullname (*link);
       std::string source_fullname = macro_source_fullname (source);
-      complaint (_("both `%s' and `%s' allegedly #included at %s:%d"),
+      complaint (_("both \"%s\" and \"%s\" allegedly #included at %s:%d"),
 		 included, link_fullname.c_str (), source_fullname.c_str (),
 		 line);
 
@@ -728,7 +728,7 @@ check_for_redefinition (macro_source_file *source, int line, const char *name,
 	  std::string source_fullname = macro_source_fullname (source);
 	  std::string found_key_fullname
 	    = macro_source_fullname (found_key->start_file);
-	  complaint (_("macro `%s' redefined at %s:%d; "
+	  complaint (_("macro \"%s\" redefined at %s:%d; "
 		       "original definition at %s:%d"),
 		     name, source_fullname.c_str (), line,
 		     found_key_fullname.c_str (),
@@ -869,7 +869,7 @@ macro_undef (struct macro_source_file *source, int line,
 	 has no macro definition in scope is ignored.  So we should
 	 ignore it too.  */
 #if 0
-      complaint (_("no definition for macro `%s' in scope to #undef at %s:%d"),
+      complaint (_("no definition for macro \"%s\" in scope to #undef at %s:%d"),
 		 name, source->filename, line);
 #endif
     }
diff --git a/gdb/main.c b/gdb/main.c
index f49d5f48c9d..838981d5399 100644
--- a/gdb/main.c
+++ b/gdb/main.c
@@ -968,7 +968,7 @@ captured_main_1 (struct captured_main_args *context)
 	    break;
 	  case 'D':
 	    if (optarg[0] == '\0')
-	      error (_("%s: empty path for `--data-directory'"),
+	      error (_("%s: empty path for \"--data-directory\""),
 		     gdb_program_name);
 	    set_gdb_data_directory (optarg);
 	    gdb_datadir_provided = 1;
@@ -1011,7 +1011,7 @@ captured_main_1 (struct captured_main_args *context)
 
 	      rate = strtol (optarg, &p, 0);
 	      if (rate == 0 && p == optarg)
-		warning (_("could not set baud rate to `%s'."),
+		warning (_("could not set baud rate to \"%s\"."),
 			 optarg);
 	      else
 		baud_rate = rate;
@@ -1024,7 +1024,7 @@ captured_main_1 (struct captured_main_args *context)
 
 	      timeout = strtol (optarg, &p, 0);
 	      if (timeout == 0 && p == optarg)
-		warning (_("could not set timeout limit to `%s'."),
+		warning (_("could not set timeout limit to \"%s\"."),
 			 optarg);
 	      else
 		remote_timeout = timeout;
@@ -1052,7 +1052,7 @@ captured_main_1 (struct captured_main_args *context)
 #endif
 
 	  case '?':
-	    error (_("Use `%s --help' for a complete list of options."),
+	    error (_("Use \"%s --help\" for a complete list of options."),
 		   gdb_program_name);
 	  }
       }
@@ -1107,7 +1107,7 @@ captured_main_1 (struct captured_main_args *context)
 	 inferior.  The first one is the sym/exec file, and the rest
 	 are arguments.  */
       if (optind >= argc)
-	error (_("%s: `--args' specified but no program specified"),
+	error (_("%s: \"--args\" specified but no program specified"),
 	       gdb_program_name);
 
       symarg = argv[optind];
diff --git a/gdb/maint.c b/gdb/maint.c
index 1daa6ce1d2e..e800e3f0e1c 100644
--- a/gdb/maint.c
+++ b/gdb/maint.c
@@ -376,7 +376,7 @@ maint_print_all_sections (const char *header, bfd *abfd, objfile *objfile,
 {
   gdb_puts (header);
   gdb_stdout->wrap_here (8);
-  gdb_printf ("`%s', ", bfd_get_filename (abfd));
+  gdb_printf ("\"%s\", ", bfd_get_filename (abfd));
   gdb_stdout->wrap_here (8);
   gdb_printf (_("file type %s.\n"), bfd_get_target (abfd));
 
diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c
index 8b6da41ffeb..1f462d6dd87 100644
--- a/gdb/mi/mi-main.c
+++ b/gdb/mi/mi-main.c
@@ -1774,7 +1774,7 @@ captured_mi_execute_command (struct mi_interp *mi, struct ui_out *uiout,
       /* A MI command was read from the input stream.  */
       if (mi_debug_p)
 	gdb_printf (gdb_stdlog,
-		    " token=`%s' command=`%s' args=`%s'\n",
+		    " token=\"%s\" command=\"%s\" args=\"%s\"\n",
 		    context->token.c_str (), context->command.get (),
 		    context->args ());
 
diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c
index fe0482fe5bf..ba7bd25d8d0 100644
--- a/gdb/mips-tdep.c
+++ b/gdb/mips-tdep.c
@@ -4297,8 +4297,8 @@ the frames below it.\n\
 stack pointer.\n\
     However, if you think GDB should simply search farther back\n\
 from %s for code which looks like the beginning of a\n\
-function, you can increase the range of the search using the `set\n\
-heuristic-fence-post' command.\n",
+function, you can increase the range of the search using the \"set\n\
+heuristic-fence-post\" command.\n",
 			    paddress (gdbarch, pc), paddress (gdbarch, pc));
 		blurb_printed = 1;
 	      }
diff --git a/gdb/objfiles.c b/gdb/objfiles.c
index 408ddf1ff83..5c2ba18b4da 100644
--- a/gdb/objfiles.c
+++ b/gdb/objfiles.c
@@ -834,8 +834,8 @@ filter_overlapping_sections (struct obj_section **map, int map_size)
 	      struct gdbarch *const gdbarch = objf1->arch ();
 
 	      complaint (_("unexpected overlap between:\n"
-			   " (A) section `%s' from `%s' [%s, %s)\n"
-			   " (B) section `%s' from `%s' [%s, %s).\n"
+			   " (A) section \"%s\" from \"%s\" [%s, %s)\n"
+			   " (B) section \"%s\" from \"%s\" [%s, %s).\n"
 			   "Will ignore section B"),
 			 bfd_section_name (bfds1), objfile_name (objf1),
 			 paddress (gdbarch, sect1_addr),
diff --git a/gdb/p-exp.y b/gdb/p-exp.y
index 1a43837ae33..ca8b239bf4d 100644
--- a/gdb/p-exp.y
+++ b/gdb/p-exp.y
@@ -658,7 +658,7 @@ qualified_name:	typebase COLONCOLON name
 
 			  if (type->code () != TYPE_CODE_STRUCT
 			      && type->code () != TYPE_CODE_UNION)
-			    error (_("`%s' is not defined as an aggregate type."),
+			    error (_("\"%s\" is not defined as an aggregate type."),
 				   type->name ());
 
 			  pstate->push_new<scope_operation>
diff --git a/gdb/parse.c b/gdb/parse.c
index ecb3e30c5cb..46350b05030 100644
--- a/gdb/parse.c
+++ b/gdb/parse.c
@@ -260,10 +260,10 @@ parser_state::parse_error (const char *msg)
     this->lexptr = this->prev_lexptr;
 
   if (*this->lexptr == '\0')
-    error (_("A %s in expression, near the end of `%s'."),
+    error (_("A %s in expression, near the end of \"%s\"."),
 	   msg, this->start_of_input);
   else
-    error (_("A %s in expression, near `%s'."), msg, this->lexptr);
+    error (_("A %s in expression, near \"%s\"."), msg, this->lexptr);
 }
 
 \f
diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c
index b468dbcb62c..d489a67192c 100644
--- a/gdb/ppc-linux-tdep.c
+++ b/gdb/ppc-linux-tdep.c
@@ -1748,7 +1748,7 @@ ppc_stap_parse_special_token (struct gdbarch *gdbarch,
       regname[len] = '\0';
 
       if (user_reg_map_name_to_regnum (gdbarch, { regname, len }) == -1)
-	error (_("Invalid register name `%s' on expression `%s'."),
+	error (_("Invalid register name \"%s\" on expression \"%s\"."),
 	       regname, p->saved_arg);
 
       p->arg = s;
diff --git a/gdb/printcmd.c b/gdb/printcmd.c
index c9e6e4886e3..6e364348a0c 100644
--- a/gdb/printcmd.c
+++ b/gdb/printcmd.c
@@ -1636,9 +1636,9 @@ info_address_command (const char *exp, int from_tty)
 			  current_language->la_language, DMGL_ANSI);
 	  gdb_printf ("\" is a field of the local class variable ");
 	  if (current_language->la_language == language_objc)
-	    gdb_printf ("`self'\n");	/* ObjC equivalent of "this" */
+	    gdb_printf ("\"self\"\n");	/* ObjC equivalent of "this" */
 	  else
-	    gdb_printf ("`this'\n");
+	    gdb_printf ("\"this\"\n");
 	  return;
 	}
 
@@ -1809,7 +1809,7 @@ info_address_command (const char *exp, int from_tty)
 	      {
 		load_addr = CORE_ADDR (msym.minsym->unrelocated_address ());
 		gdb_printf (_("a thread-local variable at offset %s "
-			      "in the thread-local storage for `%s'"),
+			      "in the thread-local storage for \"%s\""),
 			    paddress (gdbarch, load_addr),
 			    objfile_name (section->objfile));
 	      }
diff --git a/gdb/probe.c b/gdb/probe.c
index f9eb94d1882..ee9ad8faf75 100644
--- a/gdb/probe.c
+++ b/gdb/probe.c
@@ -131,7 +131,7 @@ parse_probes (const location_spec *locspec,
   arg = (char *) cs;
   arg = skip_spaces (arg);
   if (!*arg)
-    error (_("argument to `%s' missing"), arg_start);
+    error (_("argument to \"%s\" missing"), arg_start);
 
   arg_end = skip_to_space (arg);
 
@@ -191,7 +191,7 @@ parse_probes (const location_spec *locspec,
   if (result.empty ())
     {
       throw_error (NOT_FOUND_ERROR,
-		   _("No probe matching objfile=`%s', provider=`%s', name=`%s'"),
+		   _("No probe matching objfile=\"%s\", provider=\"%s\", name=\"%s\""),
 		   objfile_namestr ? objfile_namestr : _("<any>"),
 		   provider ? provider : _("<any>"),
 		   name);
@@ -885,7 +885,7 @@ TYPE specifies the type of the probe, and can be one of the following:\n\
   - stap\n\
 If you specify TYPE, there may be additional arguments needed by the\n\
 subcommand.\n\
-If you do not specify any argument, or specify `all', then the command\n\
+If you do not specify any argument, or specify \"all\", then the command\n\
 will show information about all types of probes."),
 		    &info_probes_cmdlist, 0/*allow-unknown*/, &infolist);
 
diff --git a/gdb/python/py-breakpoint.c b/gdb/python/py-breakpoint.c
index ecb42cee5f9..1f0f95556c7 100644
--- a/gdb/python/py-breakpoint.c
+++ b/gdb/python/py-breakpoint.c
@@ -183,14 +183,14 @@ bppy_set_enabled (PyObject *self, PyObject *newvalue, void *closure)
   if (newvalue == NULL)
     {
       PyErr_SetString (PyExc_TypeError,
-		       _("Cannot delete `enabled' attribute."));
+		       _("Cannot delete \"enabled\" attribute."));
 
       return -1;
     }
   else if (! PyBool_Check (newvalue))
     {
       PyErr_SetString (PyExc_TypeError,
-		       _("The value of `enabled' must be a boolean."));
+		       _("The value of \"enabled\" must be a boolean."));
       return -1;
     }
 
@@ -225,13 +225,13 @@ bppy_set_silent (PyObject *self, PyObject *newvalue, void *closure)
   if (newvalue == NULL)
     {
       PyErr_SetString (PyExc_TypeError,
-		       _("Cannot delete `silent' attribute."));
+		       _("Cannot delete \"silent\" attribute."));
       return -1;
     }
   else if (! PyBool_Check (newvalue))
     {
       PyErr_SetString (PyExc_TypeError,
-		       _("The value of `silent' must be a boolean."));
+		       _("The value of \"silent\" must be a boolean."));
       return -1;
     }
 
@@ -256,7 +256,7 @@ bppy_set_thread (PyObject *self, PyObject *newvalue, void *closure)
   if (newvalue == NULL)
     {
       PyErr_SetString (PyExc_TypeError,
-		       _("Cannot delete `thread' attribute."));
+		       _("Cannot delete \"thread\" attribute."));
       return -1;
     }
   else if (PyLong_Check (newvalue))
@@ -283,7 +283,7 @@ bppy_set_thread (PyObject *self, PyObject *newvalue, void *closure)
   else
     {
       PyErr_SetString (PyExc_TypeError,
-		       _("The value of `thread' must be an integer or None."));
+		       _("The value of \"thread\" must be an integer or None."));
       return -1;
     }
 
@@ -379,7 +379,7 @@ bppy_set_task (PyObject *self, PyObject *newvalue, void *closure)
   if (newvalue == NULL)
     {
       PyErr_SetString (PyExc_TypeError,
-		       _("Cannot delete `task' attribute."));
+		       _("Cannot delete \"task\" attribute."));
       return -1;
     }
   else if (PyLong_Check (newvalue))
@@ -416,7 +416,7 @@ bppy_set_task (PyObject *self, PyObject *newvalue, void *closure)
   else
     {
       PyErr_SetString (PyExc_TypeError,
-		       _("The value of `task' must be an integer or None."));
+		       _("The value of \"task\" must be an integer or None."));
       return -1;
     }
 
@@ -462,13 +462,13 @@ bppy_set_ignore_count (PyObject *self, PyObject *newvalue, void *closure)
   if (newvalue == NULL)
     {
       PyErr_SetString (PyExc_TypeError,
-		       _("Cannot delete `ignore_count' attribute."));
+		       _("Cannot delete \"ignore_count\" attribute."));
       return -1;
     }
   else if (!PyLong_Check (newvalue))
     {
       PyErr_SetString (PyExc_TypeError,
-		       _("The value of `ignore_count' must be an integer."));
+		       _("The value of \"ignore_count\" must be an integer."));
       return -1;
     }
 
@@ -501,7 +501,7 @@ bppy_set_hit_count (PyObject *self, PyObject *newvalue, void *closure)
   if (newvalue == NULL)
     {
       PyErr_SetString (PyExc_TypeError,
-		       _("Cannot delete `hit_count' attribute."));
+		       _("Cannot delete \"hit_count\" attribute."));
       return -1;
     }
   else
@@ -514,7 +514,7 @@ bppy_set_hit_count (PyObject *self, PyObject *newvalue, void *closure)
       if (value != 0)
 	{
 	  PyErr_SetString (PyExc_AttributeError,
-			   _("The value of `hit_count' must be zero."));
+			   _("The value of \"hit_count\" must be zero."));
 	  return -1;
 	}
     }
@@ -594,7 +594,7 @@ bppy_set_condition (PyObject *self, PyObject *newvalue, void *closure)
   if (newvalue == NULL)
     {
       PyErr_SetString (PyExc_TypeError,
-		       _("Cannot delete `condition' attribute."));
+		       _("Cannot delete \"condition\" attribute."));
       return -1;
     }
   else if (newvalue == Py_None)
diff --git a/gdb/python/py-finishbreakpoint.c b/gdb/python/py-finishbreakpoint.c
index 49e12c00054..bb614e7b9fe 100644
--- a/gdb/python/py-finishbreakpoint.c
+++ b/gdb/python/py-finishbreakpoint.c
@@ -187,7 +187,7 @@ bpfinishpy_init (PyObject *self, PyObject *args, PyObject *kwargs)
       if (frame == NULL)
 	{
 	  PyErr_SetString (PyExc_ValueError,
-			   _("Invalid ID for the `frame' object."));
+			   _("Invalid ID for the \"frame\" object."));
 	}
       else if (get_frame_type (frame) == INLINE_FRAME)
 	{
@@ -242,7 +242,7 @@ bpfinishpy_init (PyObject *self, PyObject *args, PyObject *kwargs)
       if (internal_bp == -1)
 	{
 	  PyErr_SetString (PyExc_ValueError,
-			   _("The value of `internal' must be a boolean."));
+			   _("The value of \"internal\" must be a boolean."));
 	  return -1;
 	}
     }
diff --git a/gdb/python/py-infthread.c b/gdb/python/py-infthread.c
index 96c736495a8..2c8e63e9ff2 100644
--- a/gdb/python/py-infthread.c
+++ b/gdb/python/py-infthread.c
@@ -125,7 +125,7 @@ thpy_set_name (PyObject *self, PyObject *newvalue, void *ignore)
   if (newvalue == NULL)
     {
       PyErr_SetString (PyExc_TypeError,
-		       _("Cannot delete `name' attribute."));
+		       _("Cannot delete \"name\" attribute."));
       return -1;
     }
   else if (newvalue == Py_None)
@@ -135,7 +135,7 @@ thpy_set_name (PyObject *self, PyObject *newvalue, void *ignore)
   else if (! gdbpy_is_string (newvalue))
     {
       PyErr_SetString (PyExc_TypeError,
-		       _("The value of `name' must be a string."));
+		       _("The value of \"name\" must be a string."));
       return -1;
     }
   else
diff --git a/gdb/python/python.c b/gdb/python/python.c
index 14c243b135e..79f2ab90de2 100644
--- a/gdb/python/python.c
+++ b/gdb/python/python.c
@@ -614,14 +614,14 @@ gdbpy_parameter (PyObject *self, PyObject *args)
 
   if (cmd == CMD_LIST_AMBIGUOUS)
     return PyErr_Format (PyExc_RuntimeError,
-			 _("Parameter `%s' is ambiguous."), arg);
+			 _("Parameter \"%s\" is ambiguous."), arg);
   else if (!found)
     return PyErr_Format (PyExc_RuntimeError,
-			 _("Could not find parameter `%s'."), arg);
+			 _("Could not find parameter \"%s\"."), arg);
 
   if (!cmd->var.has_value ())
     return PyErr_Format (PyExc_RuntimeError,
-			 _("`%s' is not a parameter."), arg);
+			 _("\"%s\" is not a parameter."), arg);
 
   return gdbpy_parameter_value (*cmd->var);
 }
@@ -2941,7 +2941,7 @@ message == an error message without a stack will be printed."),
 Set whether the Python interpreter should ignore environment variables."), _("\
 Show whether the Python interpreter showlist ignore environment variables."), _("\
 When enabled GDB's Python interpreter will ignore any Python related\n\
-flags in the environment.  This is equivalent to passing `-E' to a\n\
+flags in the environment.  This is equivalent to passing \"-E\" to a\n\
 python executable."),
 			   set_python_ignore_environment,
 			   show_python_ignore_environment,
@@ -3038,7 +3038,7 @@ do_initialize (const struct extension_language_defn *extlang)
       /* This is passed in one call to warning so that blank lines aren't
 	 inserted between each line of text.  */
       warning (_("\n"
-		 "Could not load the Python gdb module from `%s'.\n"
+		 "Could not load the Python gdb module from \"%s\".\n"
 		 "Limited Python support is available from the _gdb module.\n"
 		 "Suggest passing --data-directory=/path/to/gdb/data-directory."),
 	       gdb_pythondir.c_str ());
@@ -3189,7 +3189,7 @@ Return a Type corresponding to the given name." },
     "lookup_symbol (name [, block] [, domain]) -> (symbol, is_field_of_this)\n\
 Return a tuple with the symbol corresponding to the given name (or None) and\n\
 a boolean indicating if name is a field of the current implied argument\n\
-`this' (when the current language is object-oriented)."),
+\"this\" (when the current language is object-oriented)."),
   varargs_function<gdbpy_lookup_global_symbol> ("lookup_global_symbol",
     "lookup_global_symbol (name [, domain]) -> symbol\n\
 Return the symbol corresponding to the given name (or None)."),
diff --git a/gdb/remote-fileio.c b/gdb/remote-fileio.c
index a151161371d..e2b98f4e91e 100644
--- a/gdb/remote-fileio.c
+++ b/gdb/remote-fileio.c
@@ -1245,7 +1245,7 @@ static void
 show_system_call_allowed (const char *args, int from_tty)
 {
   if (args)
-    error (_("Garbage after \"%ps\" command: `%s'"),
+    error (_("Garbage after \"%ps\" command: \"%s\""),
 	   styled_string (command_style.style (),
 			  "show remote system-call-allowed"),
 	   args);
diff --git a/gdb/remote.c b/gdb/remote.c
index 194c4cbd9bb..29c0f7ebffe 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -2737,9 +2737,9 @@ add_packet_config_cmd (const unsigned int which_packet, const char *name,
   packet_config *config = &remote_protocol_packets[which_packet];
 
   gdb::unique_xmalloc_ptr<char> set_doc
-    = xstrprintf ("Set use of remote protocol `%s' packet.", name);
+    = xstrprintf ("Set use of remote protocol \"%s\" packet.", name);
   gdb::unique_xmalloc_ptr<char> show_doc
-    = xstrprintf ("Show current use of remote protocol `%s' packet.", name);
+    = xstrprintf ("Show current use of remote protocol \"%s\" packet.", name);
   /* set/show TITLE-packet {auto,on,off} */
   gdb::unique_xmalloc_ptr<char> cmd_name = xstrprintf ("%s-packet", title);
   set_show_commands cmds
@@ -12546,7 +12546,7 @@ remote_target::rcmd (const char *command, struct ui_file *outbuf)
 
   if ((strlen (rs->buf.data ()) + strlen (command) * 2 + 8/*misc*/)
       > get_remote_packet_size ())
-    error (_("\"%ps\" command ``%s'' is too long."),
+    error (_("\"%ps\" command \"%s\" is too long."),
 	   styled_string (command_style.style (), "monitor"),
 	   command);
 
@@ -16707,8 +16707,8 @@ Send an arbitrary packet to a remote target.\n\
    maintenance packet TEXT\n\
 If GDB is talking to an inferior via the GDB serial protocol, then\n\
 this command sends the string TEXT to the inferior, and displays the\n\
-response packet.  GDB supplies the initial `$' character, and the\n\
-terminating `#' character and checksum."),
+response packet.  GDB supplies the initial \"$\" character, and the\n\
+terminating \"#\" character and checksum."),
 	   &maintenancelist);
 
   set_show_commands remotebreak_cmds
@@ -17095,8 +17095,8 @@ Show the maximum size of the address (in bits) in a memory packet."), NULL,
      documentation).  */
   add_setshow_auto_boolean_cmd ("Z-packet", class_obscure,
 				&remote_Z_packet_detect, _("\
-Set use of remote protocol `Z' packets."), _("\
-Show use of remote protocol `Z' packets."), _("\
+Set use of remote protocol \"Z\" packets."), _("\
+Show use of remote protocol \"Z\" packets."), _("\
 When set, GDB will attempt to use the remote breakpoint and watchpoint\n\
 packets."),
 				set_remote_protocol_Z_packet_cmd,
diff --git a/gdb/riscv-tdep.c b/gdb/riscv-tdep.c
index 1751d78a5f3..339692515ed 100644
--- a/gdb/riscv-tdep.c
+++ b/gdb/riscv-tdep.c
@@ -769,7 +769,7 @@ show_riscv_debug_variable (struct ui_file *file, int from_tty,
 			   const char *value)
 {
   gdb_printf (file,
-	      _("RiscV debug variable `%s' is set to: %s\n"),
+	      _("RiscV debug variable \"%s\" is set to: %s\n"),
 	      c->name, value);
 }
 
diff --git a/gdb/solib-aix.c b/gdb/solib-aix.c
index 70576065121..559a622dc57 100644
--- a/gdb/solib-aix.c
+++ b/gdb/solib-aix.c
@@ -541,7 +541,7 @@ aix_solib_ops::bfd_open (const char *pathname) const
 						found_file));
   if (archive_bfd == NULL)
     {
-      warning (_("Could not open `%ps' as an executable file: %s"),
+      warning (_("Could not open \"%ps\" as an executable file: %s"),
 	       styled_string (file_name_style.style (), filename.c_str ()),
 	       bfd_errmsg (bfd_get_error ()));
       return NULL;
diff --git a/gdb/solib-darwin.c b/gdb/solib-darwin.c
index 6e2535ca427..e9537683813 100644
--- a/gdb/solib-darwin.c
+++ b/gdb/solib-darwin.c
@@ -624,7 +624,7 @@ darwin_solib_ops::bfd_open (const char *pathname) const
        (abfd.get (), bfd_object,
 	gdbarch_bfd_arch_info (current_inferior ()->arch ())));
   if (res == NULL)
-    error (_("`%ps': not a shared-library: %s"),
+    error (_("\"%ps\": not a shared-library: %s"),
 	   styled_string (file_name_style.style (),
 			  bfd_get_filename (abfd.get ())),
 	   bfd_errmsg (bfd_get_error ()));
diff --git a/gdb/solib-rocm.c b/gdb/solib-rocm.c
index 73797801d6c..6beb9431ad6 100644
--- a/gdb/solib-rocm.c
+++ b/gdb/solib-rocm.c
@@ -623,7 +623,7 @@ rocm_bfd_iovec_open (bfd *abfd, inferior *inferior)
 	  ULONGEST pid = try_strtoulst (path);
 	  if (pid != inferior->pid)
 	    {
-	      warning (_("`%s': code object is from another inferior"),
+	      warning (_("\"%s\": code object is from another inferior"),
 		       std::string (uri).c_str ());
 	      bfd_set_error (bfd_error_bad_value);
 	      return nullptr;
@@ -640,7 +640,7 @@ rocm_bfd_iovec_open (bfd *abfd, inferior *inferior)
 	  return new rocm_code_object_stream_memory (std::move (buffer));
 	}
 
-      warning (_("`%s': protocol not supported: %s"),
+      warning (_("\"%s\": protocol not supported: %s"),
 	       std::string (uri).c_str (), protocol.c_str ());
       bfd_set_error (bfd_error_bad_value);
       return nullptr;
@@ -673,12 +673,12 @@ rocm_solib_ops::bfd_open (const char *pathname) const
   gdb_bfd_ref_ptr abfd = gdb_bfd_openr_iovec (pathname, "elf64-amdgcn", open);
 
   if (abfd == nullptr)
-    error (_("Could not open `%s' as an executable file: %s"), pathname,
+    error (_("Could not open \"%s\" as an executable file: %s"), pathname,
 	   bfd_errmsg (bfd_get_error ()));
 
   /* Check bfd format.  */
   if (!gdb_bfd_check_format (abfd.get (), bfd_object))
-    error (_("`%s': not in executable format: %s"),
+    error (_("\"%s\": not in executable format: %s"),
 	   bfd_get_filename (abfd.get ()), bfd_errmsg (bfd_get_error ()));
 
   unsigned char osabi = elf_elfheader (abfd)->e_ident[EI_OSABI];
@@ -686,12 +686,12 @@ rocm_solib_ops::bfd_open (const char *pathname) const
 
   /* Check that the code object is using the HSA OS ABI.  */
   if (osabi != ELFOSABI_AMDGPU_HSA)
-    error (_("`%s': ELF file OS ABI is not supported (%d)."),
+    error (_("\"%s\": ELF file OS ABI is not supported (%d)."),
 	   bfd_get_filename (abfd.get ()), osabi);
 
   /* We support HSA code objects V3 and greater.  */
   if (osabiversion < ELFABIVERSION_AMDGPU_HSA_V3)
-    error (_("`%s': ELF file HSA OS ABI version is not supported (%d)."),
+    error (_("\"%s\": ELF file HSA OS ABI version is not supported (%d)."),
 	   bfd_get_filename (abfd.get ()), osabiversion);
 
   /* For GDB to be able to use this solib, the exact AMDGPU processor type
diff --git a/gdb/solib.c b/gdb/solib.c
index 869b769d043..20e314fde90 100644
--- a/gdb/solib.c
+++ b/gdb/solib.c
@@ -388,7 +388,7 @@ solib_bfd_fopen (const char *pathname, int fd)
   gdb_bfd_ref_ptr abfd (gdb_bfd_open (pathname, gnutarget, fd));
 
   if (abfd == NULL)
-    error (_("Could not open `%ps' as an executable file: %s"),
+    error (_("Could not open \"%ps\" as an executable file: %s"),
 	   styled_string (file_name_style.style (), pathname),
 	   bfd_errmsg (bfd_get_error ()));
 
@@ -421,7 +421,7 @@ solib_bfd_open (const char *pathname)
 
   /* Check bfd format.  */
   if (!gdb_bfd_check_format (abfd.get (), bfd_object))
-    error (_("`%ps': not in executable format: %s"),
+    error (_("\"%ps\": not in executable format: %s"),
 	   styled_string (file_name_style.style (),
 			  bfd_get_filename (abfd.get ())),
 	   bfd_errmsg (bfd_get_error ()));
@@ -429,7 +429,7 @@ solib_bfd_open (const char *pathname)
   /* Check bfd arch.  */
   b = gdbarch_bfd_arch_info (current_inferior ()->arch ());
   if (!b->compatible (b, bfd_get_arch_info (abfd.get ())))
-    error (_("`%ps': Shared library architecture %s is not compatible "
+    error (_("\"%ps\": Shared library architecture %s is not compatible "
 	     "with target architecture %s."),
 	   styled_string (file_name_style.style (),
 			  bfd_get_filename (abfd.get ())),
@@ -984,7 +984,7 @@ solib_add (const char *pattern, int from_tty, int readsyms)
       breakpoint_re_set ();
 
     if (from_tty && pattern && !any_matches)
-      gdb_printf ("No loaded shared libraries match the pattern `%s'.\n",
+      gdb_printf ("No loaded shared libraries match the pattern \"%s\".\n",
 		  pattern);
 
     if (loaded_any_symbols)
@@ -1902,7 +1902,7 @@ If \"on\", symbols from all shared object libraries will be loaded\n\
 automatically when the inferior begins execution, when the dynamic linker\n\
 informs gdb that a new library has been loaded, or when attaching to the\n\
 inferior.  Otherwise, symbols must be loaded manually, using \
-`sharedlibrary'."),
+\"sharedlibrary\"."),
 			   NULL, show_auto_solib_add, &setlist, &showlist);
 
   set_show_commands sysroot_cmds
@@ -1914,7 +1914,7 @@ Show the current system root."),
 					 _("\
 The system root is used to load absolute shared library symbol files.\n\
 For other (relative) files, you can add directories using\n\
-`set solib-search-path'."),
+\"set solib-search-path\"."),
 					 gdb_sysroot_changed, NULL, &setlist,
 					 &showlist);
 
diff --git a/gdb/source.c b/gdb/source.c
index 5c7c344a1aa..31a0e5d6f13 100644
--- a/gdb/source.c
+++ b/gdb/source.c
@@ -1731,14 +1731,14 @@ show_substitute_path_command (const char *args, int from_tty)
 
   if (from != NULL)
     gdb_printf
-      (_("Source path substitution rule matching `%s':\n"), from);
+      (_("Source path substitution rule matching \"%s\":\n"), from);
   else
     gdb_printf (_("List of all source path substitution rules:\n"));
 
   for (substitute_path_rule &rule : substitute_path_rules)
     {
       if (from == NULL || substitute_path_rule_matches (&rule, from) != 0)
-	gdb_printf ("  `%s' -> `%s'.\n", rule.from.c_str (),
+	gdb_printf ("  \"%s\" -> \"%s\".\n", rule.from.c_str (),
 		    rule.to.c_str ());
     }
 }
@@ -1789,7 +1789,7 @@ unset_substitute_path_command (const char *args, int from_tty)
 	 we could not find it, then report an error.  */
 
       if (!rule_found)
-	error (_("No substitution rule defined for `%s'"), from);
+	error (_("No substitution rule defined for \"%s\""), from);
     }
 
   forget_cached_source_info ();
diff --git a/gdb/stack.c b/gdb/stack.c
index 954ef6b11a4..9609fffbc93 100644
--- a/gdb/stack.c
+++ b/gdb/stack.c
@@ -918,7 +918,7 @@ print_frame_info_to_print_what (const char *print_frame_info)
     if (print_frame_info == print_frame_info_choices[i])
       return print_frame_info_print_what[i];
 
-  internal_error ("Unexpected print frame-info value `%s'.",
+  internal_error ("Unexpected print frame-info value \"%s\".",
 		  print_frame_info);
 }
 
@@ -3279,7 +3279,7 @@ If an argument is given, it is an expression for the value to return."));
 Select and print stack frame that called this one.\n\
 An argument says how many frames up to go."));
   add_com ("up-silently", class_support, up_silently_command, _("\
-Same as the `up' command, but does not print anything.\n\
+Same as the \"up\" command, but does not print anything.\n\
 This is useful in command scripts."));
 
   cmd_list_element *down_cmd
@@ -3289,7 +3289,7 @@ An argument says how many frames down to go."));
   add_com_alias ("do", down_cmd, class_stack, 1);
   add_com_alias ("dow", down_cmd, class_stack, 1);
   add_com ("down-silently", class_support, down_silently_command, _("\
-Same as the `down' command, but does not print anything.\n\
+Same as the \"down\" command, but does not print anything.\n\
 This is useful in command scripts."));
 
   cmd_list_element *frame_cmd_el
diff --git a/gdb/stap-probe.c b/gdb/stap-probe.c
index 654a2f7ca45..54f9c7c23c4 100644
--- a/gdb/stap-probe.c
+++ b/gdb/stap-probe.c
@@ -422,7 +422,7 @@ stap_get_opcode (const char **s)
       break;
 
     default:
-      error (_("Invalid opcode in expression `%s' for SystemTap"
+      error (_("Invalid opcode in expression \"%s\" for SystemTap"
 	       "probe"), *s);
     }
 
@@ -754,7 +754,7 @@ stap_parse_register_operand (struct stap_parse_info *p)
     }
 
   if (disp_op != nullptr && !indirect_p)
-    error (_("Invalid register displacement syntax on expression `%s'."),
+    error (_("Invalid register displacement syntax on expression \"%s\"."),
 	   p->saved_arg);
 
   /* Getting rid of register prefix.  */
@@ -786,7 +786,7 @@ stap_parse_register_operand (struct stap_parse_info *p)
 
   /* Is this a valid register name?  */
   if (regnum == -1)
-    error (_("Invalid register name `%s' on expression `%s'."),
+    error (_("Invalid register name \"%s\" on expression \"%s\"."),
 	   regname.c_str (), p->saved_arg);
 
   /* Check if there's any special treatment that the arch-specific
@@ -846,7 +846,7 @@ stap_parse_register_operand (struct stap_parse_info *p)
   if (stap_check_register_suffix (gdbarch, p->arg, &reg_suffix))
     p->arg += strlen (reg_suffix);
   else
-    error (_("Missing register name suffix on expression `%s'."),
+    error (_("Missing register name suffix on expression \"%s\"."),
 	   p->saved_arg);
 
   /* Getting rid of the register indirection suffix.  */
@@ -856,7 +856,7 @@ stap_parse_register_operand (struct stap_parse_info *p)
 						  &reg_ind_suffix))
 	p->arg += strlen (reg_ind_suffix);
       else
-	error (_("Missing indirection suffix on expression `%s'."),
+	error (_("Missing indirection suffix on expression \"%s\"."),
 	       p->saved_arg);
     }
 
@@ -935,8 +935,8 @@ stap_parse_single_operand (struct stap_parse_info *p)
 	  /* If we are here, it means it is a displacement.  The only
 	     operations allowed here are `-' and `+'.  */
 	  if (c != '-' && c != '+')
-	    error (_("Invalid operator `%c' for register displacement "
-		     "on expression `%s'."), c, p->saved_arg);
+	    error (_("Invalid operator \"%c\" for register displacement "
+		     "on expression \"%s\"."), c, p->saved_arg);
 
 	  result = stap_parse_register_operand (p);
 	}
@@ -988,13 +988,13 @@ stap_parse_single_operand (struct stap_parse_info *p)
 	  if (stap_check_integer_suffix (gdbarch, p->arg, &int_suffix))
 	    p->arg += strlen (int_suffix);
 	  else
-	    error (_("Invalid constant suffix on expression `%s'."),
+	    error (_("Invalid constant suffix on expression \"%s\"."),
 		   p->saved_arg);
 	}
       else if (stap_is_register_indirection_prefix (gdbarch, tmp, NULL))
 	result = stap_parse_register_operand (p);
       else
-	error (_("Unknown numeric token on expression `%s'."),
+	error (_("Unknown numeric token on expression \"%s\"."),
 	       p->saved_arg);
     }
   else if (stap_is_integer_prefix (gdbarch, p->arg, &int_prefix))
@@ -1013,14 +1013,14 @@ stap_parse_single_operand (struct stap_parse_info *p)
       if (stap_check_integer_suffix (gdbarch, p->arg, &int_suffix))
 	p->arg += strlen (int_suffix);
       else
-	error (_("Invalid constant suffix on expression `%s'."),
+	error (_("Invalid constant suffix on expression \"%s\"."),
 	       p->saved_arg);
     }
   else if (stap_is_register_prefix (gdbarch, p->arg, NULL)
 	   || stap_is_register_indirection_prefix (gdbarch, p->arg, NULL))
     result = stap_parse_register_operand (p);
   else
-    error (_("Operator `%c' not recognized on expression `%s'."),
+    error (_("Operator \"%c\" not recognized on expression \"%s\"."),
 	   *p->arg, p->saved_arg);
 
   return result;
@@ -1055,7 +1055,7 @@ stap_parse_argument_conditionally (struct stap_parse_info *p)
 
       p->arg = skip_spaces (p->arg);
       if (*p->arg != ')')
-	error (_("Missing close-parenthesis on expression `%s'."),
+	error (_("Missing close-parenthesis on expression \"%s\"."),
 	       p->saved_arg);
 
       --p->inside_paren_p;
@@ -1064,7 +1064,7 @@ stap_parse_argument_conditionally (struct stap_parse_info *p)
 	p->arg = skip_spaces (p->arg);
     }
   else
-    error (_("Cannot parse expression `%s'."), p->saved_arg);
+    error (_("Cannot parse expression \"%s\"."), p->saved_arg);
 
   return result;
 }
@@ -1115,7 +1115,7 @@ stap_parse_argument_1 (struct stap_parse_info *p,
       enum stap_operand_prec cur_prec;
 
       if (!stap_is_operator (p->arg))
-	error (_("Invalid operator `%c' on expression `%s'."), *p->arg,
+	error (_("Invalid operator \"%c\" on expression \"%s\"."), *p->arg,
 	       p->saved_arg);
 
       /* We have to save the current value of the expression buffer because
@@ -1571,7 +1571,7 @@ handle_stap_probe (struct objfile *objfile, struct sdt_note *el,
   /* Making sure there is a name.  */
   if (name == NULL)
     {
-      complaint (_("corrupt probe name when reading `%s'"),
+      complaint (_("corrupt probe name when reading \"%s\""),
 		 objfile_name (objfile));
 
       /* There is no way to use a probe without a name or a provider, so
@@ -1607,7 +1607,7 @@ handle_stap_probe (struct objfile *objfile, struct sdt_note *el,
       || (memchr (probe_args, '\0', (char *) el->data + el->size - name)
 	  != el->data + el->size - 1))
     {
-      complaint (_("corrupt probe argument when reading `%s'"),
+      complaint (_("corrupt probe argument when reading \"%s\""),
 		 objfile_name (objfile));
       /* If the argument string is NULL, it means some problem happened with
 	 it.  So we return.  */
@@ -1642,7 +1642,7 @@ get_stap_base_address (bfd *obfd, bfd_vma *base)
   if (ret == NULL)
     {
       complaint (_("could not obtain base address for "
-					"SystemTap section on objfile `%s'."),
+					"SystemTap section on objfile \"%s\"."),
 		 bfd_get_filename (obfd));
       return 0;
     }
diff --git a/gdb/symfile.c b/gdb/symfile.c
index 017f7a49d8d..3500f22d697 100644
--- a/gdb/symfile.c
+++ b/gdb/symfile.c
@@ -1202,7 +1202,7 @@ symbol_file_clear (int from_tty)
        || current_program_space->has_partial_symbols ())
       && from_tty
       && (current_program_space->symfile_object_file
-	  ? !query (_("Discard symbol table from `%s'? "),
+	  ? !query (_("Discard symbol table from \"%s\"? "),
 		    objfile_name (current_program_space->symfile_object_file))
 	  : !query (_("Discard symbol table? "))))
     error (_("Not confirmed."));
@@ -1703,12 +1703,12 @@ symfile_bfd_open (const char *name)
 
   gdb_bfd_ref_ptr sym_bfd (gdb_bfd_open (name, gnutarget, desc));
   if (sym_bfd == NULL)
-    error (_("`%ps': can't open to read symbols: %s."),
+    error (_("\"%ps\": can't open to read symbols: %s."),
 	   styled_string (file_name_style.style (), name),
 	   bfd_errmsg (bfd_get_error ()));
 
   if (!gdb_bfd_check_format (sym_bfd.get (), bfd_object))
-    error (_("`%ps': can't read symbols: %s."),
+    error (_("\"%ps\": can't read symbols: %s."),
 	   styled_string (file_name_style.style (), name),
 	   bfd_errmsg (bfd_get_error ()));
 
@@ -1772,7 +1772,7 @@ find_sym_fns (bfd *abfd)
       iter != symtab_fns.end ())
     return iter->second;
 
-  error (_("Object file %ps could not be read.  Symbol format `%s' unknown."),
+  error (_("Object file %ps could not be read.  Symbol format \"%s\" unknown."),
 	 styled_string (file_name_style.style (), abfd->filename),
 	 bfd_get_target (abfd));
 }
@@ -2500,14 +2500,14 @@ reread_symbols (int from_tty)
 	  else
 	    filename = objfile_name (&objfile);
 
-	  warning (_("`%ps' has disappeared; keeping its symbols."),
+	  warning (_("\"%ps\" has disappeared; keeping its symbols."),
 		   styled_string (file_name_style.style (), filename));
 	  continue;
 	}
       time_t new_modtime = new_statbuf.st_mtime;
       if (new_modtime != objfile.mtime)
 	{
-	  gdb_printf (_("`%ps' has changed; re-reading symbols.\n"),
+	  gdb_printf (_("\"%ps\" has changed; re-reading symbols.\n"),
 		      styled_string (file_name_style.style (),
 				     objfile_name (&objfile)));
 
@@ -3427,8 +3427,8 @@ simple_read_overlay_table (void)
   if (! novlys_msym.minsym)
     {
       error (_("Error reading inferior's overlay table: "
-	     "couldn't find `_novlys' variable\n"
-	     "in inferior.  Use `overlay manual' mode."));
+	     "couldn't find \"_novlys\" variable\n"
+	     "in inferior.  Use \"overlay manual\" mode."));
       return 0;
     }
 
@@ -3437,8 +3437,8 @@ simple_read_overlay_table (void)
   if (! ovly_table_msym.minsym)
     {
       error (_("Error reading inferior's overlay table: couldn't find "
-	     "`_ovly_table' array\n"
-	     "in inferior.  Use `overlay manual' mode."));
+	     "\"_ovly_table\" array\n"
+	     "in inferior.  Use \"overlay manual\" mode."));
       return 0;
     }
 
@@ -3517,8 +3517,8 @@ simple_overlay_update (struct obj_section *osect)
 
 	if (minsym.minsym == NULL)
 	  error (_("Error reading inferior's overlay table: couldn't "
-		   "find `_ovly_table' array\n"
-		   "in inferior.  Use `overlay manual' mode."));
+		   "find \"_ovly_table\" array\n"
+		   "in inferior.  Use \"overlay manual\" mode."));
 
 	if (cache_ovly_table_base == minsym.value_address ())
 	  /* Then go ahead and try to look up this single section in
@@ -3794,7 +3794,7 @@ symbolic debug information."
 Load symbol table from executable file FILE.\n\
 Usage: symbol-file [-readnow | -readnever] [-o OFF] FILE\n\
 OFF is an optional offset which is added to each section address.\n\
-The `file' command can also load symbol tables, as well as setting the file\n\
+The \"file\" command can also load symbol tables, as well as setting the file\n\
 to execute.\n" READNOW_READNEVER_HELP), &cmdlist);
   set_cmd_completer (c, filename_maybe_quoted_completer);
 
@@ -3882,7 +3882,7 @@ Usage: set extension-language .foo bar"),
 Set the directories where separate debug symbols are searched for."), _("\
 Show the directories where separate debug symbols are searched for."), _("\
 Separate debug symbols are first searched for in the same\n\
-directory as the binary, then in the `" DEBUG_SUBDIRECTORY "' subdirectory,\n\
+directory as the binary, then in the \"" DEBUG_SUBDIRECTORY "\" subdirectory,\n\
 and lastly at the path of the directory of the binary with\n\
 each global debug-file-directory component prepended."),
 				     NULL,
diff --git a/gdb/symtab.c b/gdb/symtab.c
index 4c27f3951fd..2de3ee63db0 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -2133,7 +2133,7 @@ lookup_symbol_aux (const char *name, symbol_name_match_type match_type,
 
 	  if (t->code () != TYPE_CODE_STRUCT
 	      && t->code () != TYPE_CODE_UNION)
-	    error (_("Internal error: `%s' is not an aggregate"),
+	    error (_("Internal error: \"%s\" is not an aggregate"),
 		   langdef->name_of_this ());
 
 	  if (check_field (t, name, is_a_field_of_this))
@@ -2364,7 +2364,7 @@ error_in_psymtab_expansion (enum block_enum block_index, const char *name,
 			    struct compunit_symtab *cust)
 {
   error (_("\
-Internal: %s symbol `%s' found in %s psymtab but not in symtab.\n\
+Internal: %s symbol \"%s\" found in %s psymtab but not in symtab.\n\
 %s may be an inlined function, or may be a template function\n	 \
 (if a template, try specifying an instantiation: %s<type>)."),
 	 block_index == GLOBAL_BLOCK ? "global" : "static",
@@ -4216,24 +4216,24 @@ operator_chars (const char *p, const char **end)
 	return p;
       case '(':
 	if (p[1] != ')')
-	  error (_("`operator ()' must be specified "
-		   "without whitespace in `()'"));
+	  error (_("\"operator ()\" must be specified "
+		   "without whitespace in \"()\""));
 	*end = p + 2;
 	return p;
       case '?':
 	if (p[1] != ':')
-	  error (_("`operator ?:' must be specified "
-		   "without whitespace in `?:'"));
+	  error (_("\"operator ?:\" must be specified "
+		   "without whitespace in \"?:\""));
 	*end = p + 2;
 	return p;
       case '[':
 	if (p[1] != ']')
-	  error (_("`operator []' must be specified "
-		   "without whitespace in `[]'"));
+	  error (_("\"operator []\" must be specified "
+		   "without whitespace in \"[]\""));
 	*end = p + 2;
 	return p;
       default:
-	error (_("`operator %s' not supported"), p);
+	error (_("\"operator %s\" not supported"), p);
 	break;
       }
 
diff --git a/gdb/target.c b/gdb/target.c
index 5d937f3ae85..5ab2985dd8e 100644
--- a/gdb/target.c
+++ b/gdb/target.c
@@ -858,7 +858,7 @@ Connect to a target machine or process.\n\
 The first argument is the type or protocol of the target machine.\n\
 Remaining arguments are interpreted by the target protocol.  For more\n\
 information on the arguments for a particular protocol, type\n\
-`help target ' followed by the protocol name."),
+\"help target \" followed by the protocol name."),
 			  &targetlist, 0, &cmdlist);
   c = add_cmd (t.shortname, no_class, t.doc, &targetlist);
   c->set_context ((void *) &t);
@@ -1105,7 +1105,7 @@ target_supports_terminal_ours (void)
 static void
 tcomplain (void)
 {
-  error (_("You can't do that when your target is `%s'"),
+  error (_("You can't do that when your target is \"%s\""),
 	 current_inferior ()->top_target ()->shortname ());
 }
 
@@ -1269,7 +1269,7 @@ target_translate_tls_address (struct objfile *objfile, CORE_ADDR offset,
       if (name == nullptr)
 	error (_("Cannot translate TLS address without registers"));
       else
-	error (_("Cannot find address of TLS symbol `%s' without registers"),
+	error (_("Cannot find address of TLS symbol \"%s\" without registers"),
 	       name);
     }
 
@@ -1314,12 +1314,12 @@ target_translate_tls_address (struct objfile *objfile, CORE_ADDR offset,
 	      break;
 	    case TLS_LOAD_MODULE_NOT_FOUND_ERROR:
 	      if (objfile_is_library)
-		error (_("Cannot find shared library `%ps' in dynamic"
+		error (_("Cannot find shared library \"%ps\" in dynamic"
 			 " linker's load module list"),
 		       styled_string (file_name_style.style (),
 				      objfile_name (objfile)));
 	      else
-		error (_("Cannot find executable file `%ps' in dynamic"
+		error (_("Cannot find executable file \"%ps\" in dynamic"
 			 " linker's load module list"),
 		       styled_string (file_name_style.style (),
 				      objfile_name (objfile)));
@@ -1328,7 +1328,7 @@ target_translate_tls_address (struct objfile *objfile, CORE_ADDR offset,
 	      if (objfile_is_library)
 		error (_("The inferior has not yet allocated storage for"
 			 " thread-local variables in\n"
-			 "the shared library `%ps'\n"
+			 "the shared library \"%ps\"\n"
 			 "for %s"),
 		       styled_string (file_name_style.style (),
 				      objfile_name (objfile)),
@@ -1336,7 +1336,7 @@ target_translate_tls_address (struct objfile *objfile, CORE_ADDR offset,
 	      else
 		error (_("The inferior has not yet allocated storage for"
 			 " thread-local variables in\n"
-			 "the executable `%ps'\n"
+			 "the executable \"%ps\"\n"
 			 "for %s"),
 		       styled_string (file_name_style.style (),
 				      objfile_name (objfile)),
diff --git a/gdb/testsuite/gdb.ada/bp_c_mixed_case.exp b/gdb/testsuite/gdb.ada/bp_c_mixed_case.exp
index d428825e051..322818c3977 100644
--- a/gdb/testsuite/gdb.ada/bp_c_mixed_case.exp
+++ b/gdb/testsuite/gdb.ada/bp_c_mixed_case.exp
@@ -87,11 +87,11 @@ gdb_test "continue" \
 # Try printing again using the "<...>" notation.  This shouldn't work
 # now, since the current frame is a C function.
 gdb_test "p <MixedCaseFunc>" \
-    "A syntax error in expression, near `<MixedCaseFunc>'\\." \
+    "A syntax error in expression, near \"<MixedCaseFunc>\"\\." \
     "p <MixedCaseFunc>, in C"
 
 gdb_test "p <NoDebugMixedCaseFunc>" \
-    "A syntax error in expression, near `<NoDebugMixedCaseFunc>'\\." \
+    "A syntax error in expression, near \"<NoDebugMixedCaseFunc>\"\\." \
     "p <NoDebugMixedCaseFunc>, in C"
 
 set test "break <MixedCaseFunc>, in C"
diff --git a/gdb/testsuite/gdb.ada/catch_ex.exp b/gdb/testsuite/gdb.ada/catch_ex.exp
index dcdebeca3e4..4b6bd8ce132 100644
--- a/gdb/testsuite/gdb.ada/catch_ex.exp
+++ b/gdb/testsuite/gdb.ada/catch_ex.exp
@@ -83,7 +83,7 @@ if {![runto_main]} {
 }
 
 gdb_test "catch exception Program_Error" \
-    "Catchpoint $any_nb: \`Program_Error' Ada exception" \
+    "Catchpoint $any_nb: \"Program_Error\" Ada exception" \
     "insert catchpoint on Program_Error"
 
 gdb_test "catch assert" \
@@ -95,7 +95,7 @@ gdb_test "catch exception unhandled" \
     "insert catchpoint on unhandled exceptions"
 
 set catch_exception_entry \
-    "$any_nb${sp}catchpoint${sp}keep${sp}y${sp}\`Program_Error' Ada exception"
+    "$any_nb${sp}catchpoint${sp}keep${sp}y${sp}\"Program_Error\" Ada exception"
 set catch_assert_entry \
     "$any_nb${sp}catchpoint${sp}keep${sp}y${sp}failed Ada assertions"
 set catch_unhandled_entry \
diff --git a/gdb/testsuite/gdb.ada/catch_ex_std.exp b/gdb/testsuite/gdb.ada/catch_ex_std.exp
index 3fddeab5402..ec02057b91c 100644
--- a/gdb/testsuite/gdb.ada/catch_ex_std.exp
+++ b/gdb/testsuite/gdb.ada/catch_ex_std.exp
@@ -70,7 +70,7 @@ if {![runto_main]} {
 }
 
 gdb_test "catch exception some_kind_of_error" \
-    "Catchpoint ${::decimal}: `some_kind_of_error' Ada exception"
+    "Catchpoint ${::decimal}: \"some_kind_of_error\" Ada exception"
 
 gdb_test "cont" \
     "Catchpoint ${::decimal}, .* at .*foo\\.adb:${::decimal}.*" \
diff --git a/gdb/testsuite/gdb.ada/excep_handle.exp b/gdb/testsuite/gdb.ada/excep_handle.exp
index 763c98ef2b8..32d82a5351b 100644
--- a/gdb/testsuite/gdb.ada/excep_handle.exp
+++ b/gdb/testsuite/gdb.ada/excep_handle.exp
@@ -79,7 +79,7 @@ gdb_test_no_output "delete 2" \
 # Insert a catchpoint on Program_Error Ada exception handlers.
 
 gdb_test "catch handlers Program_Error" \
-    "Catchpoint $decimal: `Program_Error' Ada exception handlers" \
+    "Catchpoint $decimal: \"Program_Error\" Ada exception handlers" \
     "insert catchpoint on Program_Error Ada exception handlers"
 
 # Continue, we should not stop at ABORT_SIGNAL but at Program_Error one.
@@ -95,7 +95,7 @@ gdb_test_no_output \
 # Insert a catchpoint on Storage_Error Ada exception handlers.
 
 gdb_test "catch handlers Storage_Error" \
-    "Catchpoint $decimal: `Storage_Error' Ada exception handlers" \
+    "Catchpoint $decimal: \"Storage_Error\" Ada exception handlers" \
     "insert catchpoint on Storage_Error Ada exception handlers"
 
 # Continue, we should stop at Storage_Error handlers.
@@ -141,7 +141,7 @@ gdb_test_no_output \
 # condition.
 
 gdb_test "catch handlers Program_Error if Global_Var = 4" \
-    "Catchpoint $decimal: `Program_Error' Ada exception handlers" \
+    "Catchpoint $decimal: \"Program_Error\" Ada exception handlers" \
     "insert catchpoint on Program_Error Ada exception handlers with condition"
 
 # Continue, we should not stop at first Program_Error handlers but at
diff --git a/gdb/testsuite/gdb.ada/limited-length.exp b/gdb/testsuite/gdb.ada/limited-length.exp
index 891d430f071..d01ad44086e 100644
--- a/gdb/testsuite/gdb.ada/limited-length.exp
+++ b/gdb/testsuite/gdb.ada/limited-length.exp
@@ -67,7 +67,7 @@ with_test_prefix "with reduced max-value size" {
     # GNAT historically named this type, but as the array type is
     # nameless, this accepts both variants.
     set response \
-	"value (of type `.*' )?requires $decimal bytes, which is more than max-value-size"
+	"value (of type \".*\" )?requires $decimal bytes, which is more than max-value-size"
 
     gdb_test "print Large_1d_Array" $response
     gdb_test "output Large_1d_Array" $response
diff --git a/gdb/testsuite/gdb.ada/literals.exp b/gdb/testsuite/gdb.ada/literals.exp
index 32f41c3d33c..90fca50d3c1 100644
--- a/gdb/testsuite/gdb.ada/literals.exp
+++ b/gdb/testsuite/gdb.ada/literals.exp
@@ -24,7 +24,7 @@ clean_restart
 gdb_test_no_output "set lang ada"
 gdb_test "print 7#10#" " = 7"
 gdb_test "print 77#10#" "Invalid base: 77."
-gdb_test "print 7#8#" "Invalid digit `8' in based literal"
+gdb_test "print 7#8#" "Invalid digit \"8\" in based literal"
 
 gdb_test "print 8e2" " = 800"
 gdb_test "print 9999999999999999999999999999999999999999999999" \
diff --git a/gdb/testsuite/gdb.ada/mi_catch_ex.exp b/gdb/testsuite/gdb.ada/mi_catch_ex.exp
index bf8ee29435b..89a30e541d8 100644
--- a/gdb/testsuite/gdb.ada/mi_catch_ex.exp
+++ b/gdb/testsuite/gdb.ada/mi_catch_ex.exp
@@ -101,7 +101,7 @@ with_test_prefix "scenario 2" {
 }
 
 mi_gdb_test "-catch-exception -e Program_Error" \
-    "\\^done,bkptno=\"$decimal\",bkpt={.*disp=\"keep\",enabled=\"y\",what=\"`Program_Error' Ada exception\",.*}" \
+    "\\^done,bkptno=\"$decimal\",bkpt={.*disp=\"keep\",enabled=\"y\",what=\"\\\\\"Program_Error\\\\\" Ada exception\",.*}" \
     "catch Program_Error"
 
 mi_gdb_test "-catch-assert" \
diff --git a/gdb/testsuite/gdb.ada/mi_catch_ex_hand.exp b/gdb/testsuite/gdb.ada/mi_catch_ex_hand.exp
index bb1113c3b8e..0f2d6f3dde7 100644
--- a/gdb/testsuite/gdb.ada/mi_catch_ex_hand.exp
+++ b/gdb/testsuite/gdb.ada/mi_catch_ex_hand.exp
@@ -91,7 +91,7 @@ with_test_prefix "scenario 2" {
 }
 
 mi_gdb_test "-catch-handlers -e Constraint_Error" \
-    "\\^done,bkptno=\"$decimal\",bkpt={.*disp=\"keep\",enabled=\"y\",what=\"`Constraint_Error' Ada exception handlers\",.*}" \
+    "\\^done,bkptno=\"$decimal\",bkpt={.*disp=\"keep\",enabled=\"y\",what=\"\"Constraint_Error\" Ada exception handlers\",.*}" \
     "catch Constraint_Error"
 
 mi_execute_to "exec-continue" \
diff --git a/gdb/testsuite/gdb.ada/mi_ex_cond.exp b/gdb/testsuite/gdb.ada/mi_ex_cond.exp
index bc1a569bc53..e82b7ff3e68 100644
--- a/gdb/testsuite/gdb.ada/mi_ex_cond.exp
+++ b/gdb/testsuite/gdb.ada/mi_ex_cond.exp
@@ -35,7 +35,7 @@ if {[mi_clean_restart $testfile]} {
 
 mi_gdb_test {-catch-exception -c "the_test_index = 2" -e constraint_error} \
     [quotemeta \
-	 {^done,bkptno="@DECIMAL",bkpt={@...disp="keep",enabled="y",what="`constraint_error' Ada exception",@/(.*,)?/cond="the_test_index = 2",@...}}] \
+	 {^done,bkptno="@DECIMAL",bkpt={@...disp="keep",enabled="y",what="\"constraint_error\" Ada exception",@/(.*,)?/cond="the_test_index = 2",@...}}] \
     "catch C_E if the_test_index = 2"
 
 # It is important that we start the program's execution after having
@@ -58,5 +58,5 @@ mi_expect_stop \
 
 mi_gdb_test "-break-list" \
     [quotemeta \
-	 {^done,@...,what="`constraint_error' Ada exception",@...,cond="the_test_index = 2",@...}] \
+	 {^done,@...,what="\"constraint_error\" Ada exception",@...,cond="the_test_index = 2",@...}] \
     "-break-list"
diff --git a/gdb/testsuite/gdb.arch/amd64-stap-optional-prefix.exp b/gdb/testsuite/gdb.arch/amd64-stap-optional-prefix.exp
index 8f26e3fe9bf..be5f97c1402 100644
--- a/gdb/testsuite/gdb.arch/amd64-stap-optional-prefix.exp
+++ b/gdb/testsuite/gdb.arch/amd64-stap-optional-prefix.exp
@@ -84,5 +84,5 @@ with_test_prefix "fail_probe" {
 
 with_test_prefix "fail2_probe" {
     goto_probe "fail2_probe"
-    gdb_test "print \$_probe_arg0" "Unknown numeric token on expression `23-@\\\$16'."
+    gdb_test "print \$_probe_arg0" "Unknown numeric token on expression \"23-@\\\$16\"."
 }
diff --git a/gdb/testsuite/gdb.arch/amd64-stap-wrong-subexp.exp b/gdb/testsuite/gdb.arch/amd64-stap-wrong-subexp.exp
index e7089c20f48..d975e182c55 100644
--- a/gdb/testsuite/gdb.arch/amd64-stap-wrong-subexp.exp
+++ b/gdb/testsuite/gdb.arch/amd64-stap-wrong-subexp.exp
@@ -28,7 +28,7 @@ proc goto_probe { probe_name } {
 }
 
 goto_probe foo
-gdb_test "print \$_probe_arg0" "Invalid operator `\\\(' on expression .*" \
+gdb_test "print \$_probe_arg0" "Invalid operator \"\\\(\" on expression .*" \
     "print probe foo arg0"
 
 goto_probe bar
diff --git a/gdb/testsuite/gdb.arch/s390-multiarch.exp b/gdb/testsuite/gdb.arch/s390-multiarch.exp
index b0f7d96e3b7..aeb4895cedf 100644
--- a/gdb/testsuite/gdb.arch/s390-multiarch.exp
+++ b/gdb/testsuite/gdb.arch/s390-multiarch.exp
@@ -143,7 +143,7 @@ if { $core64 != "" } {
 }
 
 gdb_test "file" ".*" "discard symbol table" \
-    {Discard symbol table from `.*'\? \(y or n\) } "y"
+    {Discard symbol table from \".*\"\? \(y or n\) } "y"
 
 if { $core31 != "" } {
     test_all_core31 $core31 "no exec"
diff --git a/gdb/testsuite/gdb.base/attach.exp b/gdb/testsuite/gdb.base/attach.exp
index e75dd662203..2cb74b1985f 100644
--- a/gdb/testsuite/gdb.base/attach.exp
+++ b/gdb/testsuite/gdb.base/attach.exp
@@ -160,7 +160,7 @@ proc_with_prefix do_attach_failure_tests {} {
     # Verify that we can't double attach to the process.
 
     gdb_test "attach $testpid" \
-	"Attaching to program.*`?${escapedbinfile}(\.exe)?'?, process $testpid.*main.*at .*$srcfile:.*" \
+	"Attaching to program.*\"?${escapedbinfile}(\.exe)?\"?, process $testpid.*main.*at .*$srcfile:.*" \
 	"first attach"
 
     gdb_test "add-inferior" "Added inferior 2.*" "add empty inferior 2"
@@ -250,7 +250,7 @@ proc_with_prefix do_attach_tests {} {
     }
 
     gdb_test "attach $testpid" \
-	"Attaching to program.*`?${escapedbinfile}(\.exe)?'?, process $testpid.*main.*at .*$srcfile:.*" \
+	"Attaching to program.*\"?${escapedbinfile}(\.exe)?\"?, process $testpid.*main.*at .*$srcfile:.*" \
 	"attach1, after setting file"
 
     # Verify that we can "see" the variable "should_exit" in the
@@ -591,7 +591,7 @@ proc_with_prefix do_attach_exec_mismatch_handling_tests {} {
     set test_spawn_id3 [spawn_wait_for_attach $binfile]
     set testpid3 [spawn_id_get_pid $test_spawn_id3]
 
-    gdb_test "attach $testpid3" "Attaching to program.*attach' has changed; re-reading symbols.*" \
+    gdb_test "attach $testpid3" "Attaching to program.*attach\" has changed; re-reading symbols.*" \
 	"$test attach1 again, after changing exec-file"
     gdb_test "detach" "Detaching from program: .* detached\\\]" "$test detach after attach changed exec-file"
 
diff --git a/gdb/testsuite/gdb.base/break-unload-file.exp b/gdb/testsuite/gdb.base/break-unload-file.exp
index 1b7e8b0a5b0..0c2bc1f8a84 100644
--- a/gdb/testsuite/gdb.base/break-unload-file.exp
+++ b/gdb/testsuite/gdb.base/break-unload-file.exp
@@ -100,7 +100,7 @@ proc test_break { initial_load always_inserted break_command } {
 		send_gdb "y\n"
 		exp_continue
 	    }
-	    -re "Discard symbol table from `.*'? .y or n. $" {
+	    -re "Discard symbol table from \".*\"? .y or n. $" {
 		send_gdb "y\n"
 		exp_continue
 	    }
diff --git a/gdb/testsuite/gdb.base/cached-source-file.exp b/gdb/testsuite/gdb.base/cached-source-file.exp
index ec523b29830..7d2c6a33456 100644
--- a/gdb/testsuite/gdb.base/cached-source-file.exp
+++ b/gdb/testsuite/gdb.base/cached-source-file.exp
@@ -92,7 +92,7 @@ set q \
 set binregex [string_to_regexp $binfile]
 set re \
     [multi_line \
-	 "\\`$binregex\\' has changed; re-reading symbols\\.(" \
+	 "\"$binregex\" has changed; re-reading symbols\\.(" \
 	 "Expanding full symbols from $binfile\\.\\.\\.)?" \
 	 "Starting program: ${binregex}.*"]
 gdb_test "run" $re "rerun program" $q y
diff --git a/gdb/testsuite/gdb.base/define.exp b/gdb/testsuite/gdb.base/define.exp
index e0e440e455c..fb170ba5df7 100644
--- a/gdb/testsuite/gdb.base/define.exp
+++ b/gdb/testsuite/gdb.base/define.exp
@@ -253,12 +253,12 @@ gdb_test "next" "#0\[ \t\]*main.*:$bp_location11.*" \
 gdb_test "define hook-bar" \
     "Not confirmed.*" \
     "define hook undefined command aborted: bar" \
-    "warning: Your new `hook-bar' command does not hook any existing command.\r\nProceed.*y or n. $" \
+    "warning: Your new \"hook-bar\" command does not hook any existing command.\r\nProceed.*y or n. $" \
     "n"
 
 send_gdb "define hook-bar\n"
 gdb_expect {
-  -re "warning: Your new `hook-bar' command does not hook any existing command.\r\nProceed.*y or n. $"\
+  -re "warning: Your new \"hook-bar\" command does not hook any existing command.\r\nProceed.*y or n. $"\
 	  {send_gdb "y\n"
 	   gdb_expect {
 	     -re "Type commands for definition of \"hook-bar\".\r\nEnd with a line saying just \"end\".\r\n>$"\
diff --git a/gdb/testsuite/gdb.base/exprs.exp b/gdb/testsuite/gdb.base/exprs.exp
index efa60bc29ff..05f3ab0a714 100644
--- a/gdb/testsuite/gdb.base/exprs.exp
+++ b/gdb/testsuite/gdb.base/exprs.exp
@@ -276,11 +276,11 @@ gdb_test "print v_short++(97)" \
 
 # Test for a syntax error at the end of an expression.
 gdb_test "print v_short + " \
-    "A syntax error in expression, near the end of `v_short \\+'\\."
+    "A syntax error in expression, near the end of \"v_short \\+\"\\."
 
 # Test for a syntax error in the middle of an expression.
 gdb_test "print v_short =}{= 3" \
-    "A syntax error in expression, near `\\}\\{= 3'\\."
+    "A syntax error in expression, near \"\\}\\{= 3\"\\."
 
 set hs {[^\r\n]}
 set re_debug [string cat $hs* {[Ss]hift} $hs*]
diff --git a/gdb/testsuite/gdb.base/gdb-index-err.exp b/gdb/testsuite/gdb.base/gdb-index-err.exp
index 4e6f15d5d9f..645823e8b90 100644
--- a/gdb/testsuite/gdb.base/gdb-index-err.exp
+++ b/gdb/testsuite/gdb.base/gdb-index-err.exp
@@ -38,7 +38,7 @@ set bad_dir [standard_output_file "non-existent"]
 # Try to write the index into a non-existent directory.
 foreach_with_prefix flag { "" "-dwarf-5" } {
     gdb_test "save gdb-index ${flag} ${bad_dir}" \
-	"Error while writing index for `[string_to_regexp $binfile]': `[string_to_regexp $bad_dir]': No such file or directory\\." \
+	"Error while writing index for \"[string_to_regexp $binfile]\": \"[string_to_regexp $bad_dir]\": No such file or directory\\." \
 	"try to write index to non-existent directory"
 }
 
@@ -51,7 +51,7 @@ close $fd
 # Try to write the index into something that is not a directory.
 foreach_with_prefix flag { "" "-dwarf-5" } {
     gdb_test "save gdb-index ${flag} ${text_file}" \
-	"Error while writing index for `[string_to_regexp $binfile]': `[string_to_regexp $text_file]': Is not a directory\\." \
+	"Error while writing index for \"[string_to_regexp $binfile]\": \"[string_to_regexp $text_file]\": Is not a directory\\." \
 	"try to write index to something that's not a directory"
 }
 
@@ -69,7 +69,7 @@ foreach_with_prefix flag { "" "-dwarf-5" } {
     }
 
     gdb_test "save gdb-index ${flag} ${non_writable_dir}" \
-	"Error while writing index for `[string_to_regexp $binfile]': couldn't open `[string_to_regexp $non_writable_dir]/${gdb_test_file_name}.*': Permission denied\\." \
+	"Error while writing index for \"[string_to_regexp $binfile]\": couldn't open \"[string_to_regexp $non_writable_dir]/${gdb_test_file_name}.*\": Permission denied\\." \
 	$test
 }
 
@@ -98,6 +98,6 @@ foreach_with_prefix flag { "" "-dwarf-5" } {
     # generate and index from it.  This will fail.
     clean_restart $testfile.$extension
     gdb_test "save gdb-index ${flag} $already_indexed_dir" \
-	"Error while writing index for `[string_to_regexp $binfile.$extension]': Cannot use an index to create the index" \
+	"Error while writing index for \"[string_to_regexp $binfile.$extension]\": Cannot use an index to create the index" \
 	"try to generate an index from a binary with an index"
 }
diff --git a/gdb/testsuite/gdb.base/help.exp b/gdb/testsuite/gdb.base/help.exp
index a8c55721ef2..b078c6bcf45 100644
--- a/gdb/testsuite/gdb.base/help.exp
+++ b/gdb/testsuite/gdb.base/help.exp
@@ -81,7 +81,7 @@ gdb_test "help bt" $help_backtrace_text "help backtrace \"bt\" abbreviation"
 gdb_test "help backtrace" $help_backtrace_text
 
 # Test help commands.
-gdb_test "help commands" "Set commands to be executed when the given breakpoints are hit\.\[\r\n\]+Give a space-separated breakpoint list as argument after \"commands\"\.\[\r\n\]+A list element can be a breakpoint number \\(e.g. `5'\\) or a range of numbers\[\r\n\]+\\(e.g. `5-7'\\)\.\[\r\n\]+With no argument, the targeted breakpoint is the last one set\.\[\r\n\]+The commands themselves follow starting on the next line\.\[\r\n\]+Type a line containing \"end\" to indicate the end of them\.\[\r\n\]+Give \"silent\" as the first line to make the breakpoint silent;\[\r\n\]+then no output is printed when it is hit, except what the commands print\."
+gdb_test "help commands" "Set commands to be executed when the given breakpoints are hit\.\[\r\n\]+Give a space-separated breakpoint list as argument after \"commands\"\.\[\r\n\]+A list element can be a breakpoint number \\(e.g. \"5\"\\) or a range of numbers\[\r\n\]+\\(e.g. \"5-7\"\\)\.\[\r\n\]+With no argument, the targeted breakpoint is the last one set\.\[\r\n\]+The commands themselves follow starting on the next line\.\[\r\n\]+Type a line containing \"end\" to indicate the end of them\.\[\r\n\]+Give \"silent\" as the first line to make the breakpoint silent;\[\r\n\]+then no output is printed when it is hit, except what the commands print\."
 
 # Test a prefix command.  "delete" is picked at random.
 # Test help delete "d" abbreviation.
@@ -112,7 +112,7 @@ gdb_test "help show warranty" "Various kinds of warranty you do not have\."
 
 # Test a few other random "help show" commands.
 # Test help show commands.
-gdb_test "help show commands" "Show the history of commands you typed\.\[\r\n\]+You can supply a command number to start with, or a `\[+\]' to start after\[\r\n\]+the previous command number shown\."
+gdb_test "help show commands" "Show the history of commands you typed\.\[\r\n\]+You can supply a command number to start with, or a \"\[+\]\" to start after\[\r\n\]+the previous command number shown\."
 # Test help show confirm.
 gdb_test "help show confirm" "Show whether to confirm potentially dangerous operations\."
 
diff --git a/gdb/testsuite/gdb.base/info-macros.exp b/gdb/testsuite/gdb.base/info-macros.exp
index 1c2fcfb2664..009e0f009e6 100644
--- a/gdb/testsuite/gdb.base/info-macros.exp
+++ b/gdb/testsuite/gdb.base/info-macros.exp
@@ -28,9 +28,9 @@ if {![runto_main]} {
 
 # Test various error messages.
 gdb_test "info macro -- -all" \
-	 "The symbol `-all' has no definition .*\r\nat .*$srcfile:${::decimal}"
+	 "The symbol \"-all\" has no definition .*\r\nat .*$srcfile:${::decimal}"
 gdb_test "info macro  -- -all" \
-	 "The symbol `-all' has no definition .*\r\nat .*$srcfile:${::decimal}"
+	 "The symbol \"-all\" has no definition .*\r\nat .*$srcfile:${::decimal}"
 
 gdb_test "info macro -all --" \
 	 "You must follow.*with the name.*you want to see.*\[^\r\n\]*"
diff --git a/gdb/testsuite/gdb.base/jump-inline.exp b/gdb/testsuite/gdb.base/jump-inline.exp
index 15bc6fa70d7..de8493fcbc0 100644
--- a/gdb/testsuite/gdb.base/jump-inline.exp
+++ b/gdb/testsuite/gdb.base/jump-inline.exp
@@ -33,7 +33,7 @@ set out_func [gdb_get_line_number "out-of-func"]
 gdb_test "jump $out_func" \
     "Not confirmed.*" \
     "aborted jump out of current function" \
-    "Line $out_func is not in `function_inline.*'.  Jump anyway.*y or n. $" \
+    "Line $out_func is not in \"function_inline.*\".  Jump anyway.*y or n. $" \
     "n"
 
 # Test jump in the same inline function.
diff --git a/gdb/testsuite/gdb.base/jump.exp b/gdb/testsuite/gdb.base/jump.exp
index 63b145dbf5e..969fdd931a9 100644
--- a/gdb/testsuite/gdb.base/jump.exp
+++ b/gdb/testsuite/gdb.base/jump.exp
@@ -82,13 +82,13 @@ proc do_tests {} {
     gdb_test "jump $out_line" \
 	"Not confirmed.*" \
 	"aborted jump out of current function" \
-	"Line $out_line is not in `main'.  Jump anyway.*y or n. $" \
+	"Line $out_line is not in \"main\".  Jump anyway.*y or n. $" \
 	"n"
 
     gdb_test "jump $out_line" \
 	"Continuing at.*" \
 	"jump out of current function" \
-	"Line $out_line is not in `main'.  Jump anyway.*y or n. $" \
+	"Line $out_line is not in \"main\".  Jump anyway.*y or n. $" \
 	"y"
 }
 
diff --git a/gdb/testsuite/gdb.base/macscp.exp b/gdb/testsuite/gdb.base/macscp.exp
index e40bfb63337..ac9c21e8d0a 100644
--- a/gdb/testsuite/gdb.base/macscp.exp
+++ b/gdb/testsuite/gdb.base/macscp.exp
@@ -77,7 +77,7 @@ proc info_macro {macro} {
 		set definition {}
 	    }
 	}
-	-re "The symbol `${macro}' has no definition as a C/C\\+\\+ preprocessor macro\[^\r\n\]*\[\r\n\]" {
+	-re "The symbol \"${macro}\" has no definition as a C/C\\+\\+ preprocessor macro\[^\r\n\]*\[\r\n\]" {
 	    # `location' and `definition' should be empty when we see
 	    # this message.
 	    if {[llength $location] == 0 && [llength $definition] == 0} {
@@ -185,7 +185,7 @@ proc check_macro {macro expected where} {
 # expecting the result EXPECTED.
 proc list_and_check_macro {func macro expected} {
     gdb_test "list $func" ".*${func}.*" "list $func for $macro"
-    return [check_macro $macro $expected "after `list $func'"]
+    return [check_macro $macro $expected "after \"list $func\""]
 }
 
 gdb_test "list -q main" ".*main.*" "list main for support check"
@@ -230,31 +230,31 @@ gdb_test "info macro __LINE__" "#define __LINE__ 26" \
 gdb_test "list macscp4_2_from_macscp2" ".*macscp4_2_, MACSCP4_INCLUSION.*"
 switch -exact -- [info_macro WHERE] {
     {macscp4.h macscp2.h macscp1.c {before macscp4_2_..., from macscp2.h}} {
-	pass "info macro WHERE after `list macscp_4_2_from_macscp2'"
+	pass "info macro WHERE after \"list macscp_4_2_from_macscp2\""
     }
     {macscp4.h macscp3.h macscp1.c {before macscp4_2_..., from macscp3.h}} {
 	setup_kfail "gdb/7660" *-*-*
-	fail "info macro WHERE after `list macscp_4_2_from_macscp2' (gdb/7660)"
+	fail "info macro WHERE after \"list macscp_4_2_from_macscp2\" (gdb/7660)"
     }
     timeout {
-	fail "info macro WHERE after `list macscp_4_2_from_macscp2' (timeout)"
+	fail "info macro WHERE after \"list macscp_4_2_from_macscp2\" (timeout)"
     }
-    default { fail "info macro WHERE after `list macscp_4_2_from_macscp2'" }
+    default { fail "info macro WHERE after \"list macscp_4_2_from_macscp2\"" }
 }
 
 gdb_test "list macscp4_2_from_macscp3" ".*macscp4_2_, MACSCP4_INCLUSION.*"
 switch -exact -- [info_macro WHERE] {
     {macscp4.h macscp3.h macscp1.c {before macscp4_2_..., from macscp3.h}} {
-	pass "info macro WHERE after `list macscp_4_2_from_macscp3'"
+	pass "info macro WHERE after \"list macscp_4_2_from_macscp3\""
     }
     {macscp4.h macscp2.h macscp1.c {before macscp4_2_..., from macscp2.h}} {
 	setup_kfail "gdb/7660" *-*-*
-	fail "info macro WHERE after `list macscp_4_2_from_macscp3' (gdb/7660)"
+	fail "info macro WHERE after \"list macscp_4_2_from_macscp3\" (gdb/7660)"
     }
     timeout {
-	fail "info macro WHERE after `list macscp_4_2_from_macscp3' (timeout)"
+	fail "info macro WHERE after \"list macscp_4_2_from_macscp3\" (timeout)"
     }
-    default { fail "info macro WHERE after `list macscp_4_2_from_macscp3'" }
+    default { fail "info macro WHERE after \"list macscp_4_2_from_macscp3\"" }
 }
 
 
diff --git a/gdb/testsuite/gdb.base/maint-info-sections.exp b/gdb/testsuite/gdb.base/maint-info-sections.exp
index ac712137cc6..9b83c397e65 100644
--- a/gdb/testsuite/gdb.base/maint-info-sections.exp
+++ b/gdb/testsuite/gdb.base/maint-info-sections.exp
@@ -95,7 +95,7 @@ proc check_maint_info_target_sections_output {prefix} {
 set seen_header false
 set seen_a_section false
 gdb_test_multiple "maint info sections" "general output check" {
-    -re "Exec file: `\[^'\]+', file type \[^.\]+\.\r\n" {
+    -re "Exec file: \"\[^'\"]+\", file type \[^.\]+\.\r\n" {
 	set seen_header true
 	exp_continue
     }
@@ -207,7 +207,7 @@ gdb_test_no_output "maint info sections" \
 set seen_header false
 set seen_a_section false
 gdb_test_multiple "maint info sections -all-objects" "" {
-    -re "Object file: `${binfile}', file type \[^.\]+\.\r\n" {
+    -re "Object file: \"${binfile}\", file type \[^.\]+\.\r\n" {
 	set seen_header true
 	exp_continue
     }
diff --git a/gdb/testsuite/gdb.base/new-ui.exp b/gdb/testsuite/gdb.base/new-ui.exp
index b5ee322dc04..133c8aa75b5 100644
--- a/gdb/testsuite/gdb.base/new-ui.exp
+++ b/gdb/testsuite/gdb.base/new-ui.exp
@@ -180,7 +180,7 @@ proc_with_prefix do_test_invalid_args {} {
 
     # Test bad interpreter name.
     gdb_test "new-ui bloop $extra_tty_name" \
-	     "Interpreter `bloop' unrecognized" \
+	     "Interpreter \"bloop\" unrecognized" \
 	     "new-ui with bad interpreter name"
 
     # Test that the TUI cannot be used for a new UI.
diff --git a/gdb/testsuite/gdb.base/options.exp b/gdb/testsuite/gdb.base/options.exp
index 35487ead6a7..1ffe803ef21 100644
--- a/gdb/testsuite/gdb.base/options.exp
+++ b/gdb/testsuite/gdb.base/options.exp
@@ -836,9 +836,9 @@ proc_with_prefix test-boolean {variant} {
     gdb_test "$cmd -bool -1 999 --" \
 	"Unrecognized option at: -1 999 --"
     gdb_test "$cmd -bool xxx 999 --" \
-	"Value given for `-bool' is not a boolean: xxx"
+	"Value given for \"-bool\" is not a boolean: xxx"
     gdb_test "$cmd -bool o 999 --" \
-	"Value given for `-bool' is not a boolean: o"
+	"Value given for \"-bool\" is not a boolean: o"
 
     # Completing after a boolean option + "o" does list "on/off",
     # though.
diff --git a/gdb/testsuite/gdb.base/settings.exp b/gdb/testsuite/gdb.base/settings.exp
index 2da8d47405b..764e567d995 100644
--- a/gdb/testsuite/gdb.base/settings.exp
+++ b/gdb/testsuite/gdb.base/settings.exp
@@ -134,11 +134,11 @@ proc test-integer {variant} {
 
     # Valid value followed by garbage.
     gdb_test "$set_cmd 1 1" \
-	"A syntax error in expression, near `1'\\."
+	"A syntax error in expression, near \"1\"\\."
 
     # Valid value followed by garbage.
     gdb_test "$set_cmd 1 x" \
-	"A syntax error in expression, near `x'\\."
+	"A syntax error in expression, near \"x\"\\."
 
     if {$variant == "zuinteger-unlimited"} {
 	# -1 means unlimited.  Other negative values are rejected.  -1
diff --git a/gdb/testsuite/gdb.base/subst.exp b/gdb/testsuite/gdb.base/subst.exp
index 7c5911a469e..a51b6faeda6 100644
--- a/gdb/testsuite/gdb.base/subst.exp
+++ b/gdb/testsuite/gdb.base/subst.exp
@@ -32,7 +32,7 @@ gdb_test "show substitute-path" \
 	 "show substitute-path, no rule entered yet"
 
 gdb_test "show substitute-path from" \
-	 "Source path substitution rule matching `from':" \
+	 "Source path substitution rule matching \"from\":" \
 	 "show substitute-path from, no rule entered yet"
 
 gdb_test "show substitute-path too many" \
@@ -40,14 +40,14 @@ gdb_test "show substitute-path too many" \
 	 "show substitute-path, too many arguments"
 
 gdb_test "unset substitute-path from" \
-	 "No substitution rule defined for `from'" \
+	 "No substitution rule defined for \"from\"" \
 	 "unset substitute-path from, no rule entered yet"
 
 gdb_test_no_output "unset substitute-path" \
 	 "unset substitute-path, no rule entered yet"
 
 gdb_test "unset substitute-path from" \
-	 "No substitution rule defined for `from'" \
+	 "No substitution rule defined for \"from\"" \
 	 "unset substitute-path from, after unset substitute-path"
 
 gdb_test "unset substitute-path from to" \
@@ -82,56 +82,56 @@ gdb_test_no_output "set substitute-path empty ''" \
 	 "add substitution rule to empty string"
 
 gdb_test "show substitute-path" \
-	 "List of all source path substitution rules:\r\n +`from' -> `to'.\r\n +`from1' -> `to1'.\r\n +`source' -> `destination'.\r\n\ +`depuis' -> `vers'.\r\n +`empty' -> `'." \
+	 "List of all source path substitution rules:\r\n +\"from\" -> \"to\".\r\n +\"from1\" -> \"to1\".\r\n +\"source\" -> \"destination\".\r\n\ +\"depuis\" -> \"vers\".\r\n +\"empty\" -> \"\"." \
 	 "show substitute-path after all paths added"
 
 gdb_test "show substitute-path from" \
-	 "Source path substitution rule matching `from':\r\n +`from' -> `to'." \
+	 "Source path substitution rule matching \"from\":\r\n +\"from\" -> \"to\"." \
 	 "show substitute-path from, after all paths added"
 
 gdb_test "show substitute-path depuis" \
-	 "Source path substitution rule matching `depuis':\r\n +`depuis' -> `vers'." \
+	 "Source path substitution rule matching \"depuis\":\r\n +\"depuis\" -> \"vers\"." \
 	 "show substitute-path depuis, after all paths added"
 
 gdb_test "show substitute-path from/path" \
-	 "Source path substitution rule matching `from/path':\r\n +`from' -> `to'." \
+	 "Source path substitution rule matching \"from/path\":\r\n +\"from\" -> \"to\"." \
 	 "show substitute-path from/path, after all paths added"
 
 gdb_test "show substitute-path from_a_bad_path" \
-	 "Source path substitution rule matching `from_a_bad_path':" \
+	 "Source path substitution rule matching \"from_a_bad_path\":" \
 	 "show substitute-path from_a_bad_path, after all paths added"
 
 gdb_test "show substitute-path garbage" \
-	 "Source path substitution rule matching `garbage':" \
+	 "Source path substitution rule matching \"garbage\":" \
 	 "show substitute-path garbage, after all paths added"
 
 gdb_test_no_output "unset substitute-path from" \
 	 "unset substitute-path from"
 
 gdb_test "show substitute-path from" \
-	 "Source path substitution rule matching `from':" \
+	 "Source path substitution rule matching \"from\":" \
 	 "show substitute-path from, after unsetting it"
 
 gdb_test "show substitute-path" \
-	 "List of all source path substitution rules:\r\n +`from1' -> `to1'.\r\n +`source' -> `destination'.\r\n\ +`depuis' -> `vers'.\r\n +`empty' -> `'." \
+	 "List of all source path substitution rules:\r\n +\"from1\" -> \"to1\".\r\n +\"source\" -> \"destination\".\r\n\ +\"depuis\" -> \"vers\".\r\n +\"empty\" -> \"\"." \
 	 "show substitute-path after from rule removed"
 
 gdb_test "unset substitute-path from" \
-	 "No substitution rule defined for `from'" \
+	 "No substitution rule defined for \"from\"" \
 	 "unset substitute-path from after the rule was removed"
 
 gdb_test_no_output "unset substitute-path depuis" \
 	 "unset substitute-path depuis (middle of list)"
 
 gdb_test "show substitute-path" \
-	 "List of all source path substitution rules:\r\n +`from1' -> `to1'.\r\n +`source' -> `destination'.\r\n\ +`empty' -> `'." \
+	 "List of all source path substitution rules:\r\n +\"from1\" -> \"to1\".\r\n +\"source\" -> \"destination\".\r\n\ +\"empty\" -> \"\"." \
 	 "show substitute-path after depuis rule removed"
 
 gdb_test_no_output "unset substitute-path empty" \
 	 "unset substitute-path empty (end of list)"
 
 gdb_test "show substitute-path" \
-	 "List of all source path substitution rules:\r\n +`from1' -> `to1'.\r\n +`source' -> `destination'." \
+	 "List of all source path substitution rules:\r\n +\"from1\" -> \"to1\".\r\n +\"source\" -> \"destination\"." \
 	 "show substitute-path after empty rule removed"
 
 gdb_test_no_output "unset substitute-path" \
diff --git a/gdb/testsuite/gdb.base/tls-nothreads.exp b/gdb/testsuite/gdb.base/tls-nothreads.exp
index b48e99fc408..66662a4351f 100644
--- a/gdb/testsuite/gdb.base/tls-nothreads.exp
+++ b/gdb/testsuite/gdb.base/tls-nothreads.exp
@@ -100,7 +100,7 @@ proc do_tests {force_internal_tls {do_kfail_tls_access 0}} {
     gdb_continue_to_end
     with_test_prefix "after exit" {
 	gdb_test "print tls_tbss_1" \
-	    "Cannot (?:read|find address of TLS symbol) `tls_tbss_1' without registers"
+	    "Cannot (?:read|find address of TLS symbol) \"tls_tbss_1\" without registers"
     }
 
     with_test_prefix "stripped" {
@@ -149,7 +149,7 @@ proc do_tests {force_internal_tls {do_kfail_tls_access 0}} {
 	    # of GDB-internal TLS lookup support.)
 	    with_test_prefix "after exit" {
 		gdb_test "print (int) tls_tbss_1" \
-		    "Cannot find address of TLS symbol `tls_tbss_1' without registers"
+		    "Cannot find address of TLS symbol \"tls_tbss_1\" without registers"
 	    }
 	}
     }
diff --git a/gdb/testsuite/gdb.base/watch_thread_num.exp b/gdb/testsuite/gdb.base/watch_thread_num.exp
index 72436a50a64..e9e1644831d 100644
--- a/gdb/testsuite/gdb.base/watch_thread_num.exp
+++ b/gdb/testsuite/gdb.base/watch_thread_num.exp
@@ -36,7 +36,7 @@ if {![runto_main]} {
 }
 
 gdb_test "watch shared_var thread 0" "Invalid thread ID: 0" "watchpoint on invalid thread"
-gdb_test "watch shared_var thread" "A syntax error in expression, near `thread'\." "invalid watch syntax"
+gdb_test "watch shared_var thread" "A syntax error in expression, near \"thread\"\." "invalid watch syntax"
 
 set bpexitline [gdb_get_line_number "all threads started"]
 gdb_breakpoint "$bpexitline"
diff --git a/gdb/testsuite/gdb.base/watchpoint.exp b/gdb/testsuite/gdb.base/watchpoint.exp
index 741e7e441bf..95bb9143e59 100644
--- a/gdb/testsuite/gdb.base/watchpoint.exp
+++ b/gdb/testsuite/gdb.base/watchpoint.exp
@@ -316,7 +316,7 @@ proc test_stepping {} {
 	    default { fail "back at main from marker1 (timeout)" ; return }
 	}
 
-	gdb_test "next" "for \\(count = 0.*" "next to `for'"
+	gdb_test "next" "for \\(count = 0.*" "next to \"for\""
 
 	# Now test that "until" works.  It's a bit tricky to test
 	# "until", because compilers don't always arrange the code
@@ -593,16 +593,16 @@ proc test_watchpoint_and_breakpoint {} {
 }
 
 proc test_constant_watchpoint {} {
-    gdb_test "watch 5" "Cannot watch constant value `5'." "number is constant"
-    gdb_test "watch (int *)5" "Cannot watch constant value `\\(int \\*\\)5'." \
+    gdb_test "watch 5" "Cannot watch constant value \"5\"." "number is constant"
+    gdb_test "watch (int *)5" "Cannot watch constant value \"\\(int \\*\\)5\"." \
     "number with cast is constant"
-    gdb_test "watch marker1" "Cannot watch constant value `marker1'." \
+    gdb_test "watch marker1" "Cannot watch constant value \"marker1\"." \
     "marker1 is constant"
     gdb_test "watch count + 6" ".*atchpoint ${::decimal}: count \\+ 6"
-    gdb_test_no_output "delete \$bpnum" "delete watchpoint `count + 6'"
+    gdb_test_no_output "delete \$bpnum" "delete watchpoint \"count + 6\""
     gdb_test "watch 7 + count" \
 	"^(?:Hardware w|W)atchpoint $::decimal: 7 \\+ count"
-    gdb_test_no_output "delete \$bpnum" "delete watchpoint `7 + count'"
+    gdb_test_no_output "delete \$bpnum" "delete watchpoint \"7 + count\""
 }
 
 proc test_disable_enable_software_watchpoint {} {
@@ -612,14 +612,14 @@ proc test_disable_enable_software_watchpoint {} {
     # Watch something not memory to force a software watchpoint.
     gdb_test {watch $pc} "^(?:Hardware w|W)atchpoint $::decimal: .pc"
 
-    gdb_test_no_output "disable \$bpnum" "disable watchpoint `\$pc'"
-    gdb_test_no_output "enable \$bpnum" "re-enable watchpoint `\$pc'"
+    gdb_test_no_output "disable \$bpnum" "disable watchpoint \"\$pc\""
+    gdb_test_no_output "enable \$bpnum" "re-enable watchpoint \"\$pc\""
 
     gdb_test "info watchpoint \$bpnum" \
 	".*watchpoint\[ \t\]+keep\[ \t\]+y\[ \t\]+.pc.*" \
-	"watchpoint `\$pc' is enabled"
+	"watchpoint \"\$pc\" is enabled"
 
-    gdb_test_no_output "delete \$bpnum" "delete watchpoint `\$pc'"
+    gdb_test_no_output "delete \$bpnum" "delete watchpoint \"\$pc\""
 }
 
 proc test_watch_location {} {
diff --git a/gdb/testsuite/gdb.cp/maint.exp b/gdb/testsuite/gdb.cp/maint.exp
index 013e0817f3f..234b7dccc5b 100644
--- a/gdb/testsuite/gdb.cp/maint.exp
+++ b/gdb/testsuite/gdb.cp/maint.exp
@@ -107,7 +107,7 @@ proc test_first_component {} {
 }
 
 proc test_namespace {} {
-    gdb_test "maint cp namespace" "The `maint namespace' command was removed."
+    gdb_test "maint cp namespace" "The \"maint namespace\" command was removed."
 }
 
 gdb_exit
diff --git a/gdb/testsuite/gdb.cp/namespace-enum.exp b/gdb/testsuite/gdb.cp/namespace-enum.exp
index 8ccdd320c73..0b12713e5d9 100644
--- a/gdb/testsuite/gdb.cp/namespace-enum.exp
+++ b/gdb/testsuite/gdb.cp/namespace-enum.exp
@@ -20,6 +20,6 @@ if {[prepare_for_testing "failed to prepare" $testfile \
     return
 }
 
-gdb_test "print foo::B::B_B" "`foo::B' is not defined as an aggregate type."
+gdb_test "print foo::B::B_B" "\"foo::B\" is not defined as an aggregate type."
 gdb_test "print foo::B_B" "foo::B_B"
 gdb_test "print A_A" "A_A"
diff --git a/gdb/testsuite/gdb.cp/overload.exp b/gdb/testsuite/gdb.cp/overload.exp
index 9c0149bdfe0..47101d22255 100644
--- a/gdb/testsuite/gdb.cp/overload.exp
+++ b/gdb/testsuite/gdb.cp/overload.exp
@@ -370,7 +370,7 @@ gdb_test "print intToChar(1)" "${::valnum_re} = 297"
 
 # Test expression evaluation with overloaded methods
 gdb_test "print foo::overload1arg" \
-    "non-unique member `overload1arg' requires type instantiation"
+    "non-unique member \"overload1arg\" requires type instantiation"
 
 gdb_test "print foo::overload1arg(char***)" \
     "no member function matches that type instantiation"
diff --git a/gdb/testsuite/gdb.dlang/expression.exp b/gdb/testsuite/gdb.dlang/expression.exp
index a9d222e106e..072aff7aa6a 100644
--- a/gdb/testsuite/gdb.dlang/expression.exp
+++ b/gdb/testsuite/gdb.dlang/expression.exp
@@ -110,7 +110,7 @@ proc test_d_expressions {} {
     # Test expression behavior specific to D.
 
     # Comparison and order expressions have same precedence.
-    gdb_test "print 1 == 2 > 0" "A syntax error in expression, near `> 0'\."
+    gdb_test "print 1 == 2 > 0" "A syntax error in expression, near \"> 0\"\."
     gdb_test "print (1 == 2) > 0" " = false"
 
     # Exponent expressions
diff --git a/gdb/testsuite/gdb.dwarf2/macro-complaints.exp b/gdb/testsuite/gdb.dwarf2/macro-complaints.exp
index 0fd514ac85d..80b510a40b6 100644
--- a/gdb/testsuite/gdb.dwarf2/macro-complaints.exp
+++ b/gdb/testsuite/gdb.dwarf2/macro-complaints.exp
@@ -117,27 +117,27 @@ set re_complaint3 \
 set re_complaint4 \
     [multi_line \
 	 "macro debug info contains a malformed macro definition:" \
-	 "`M1_07_MALFORMED'"]
+	 "\"M1_07_MALFORMED\""]
 
 set re_complaint5 \
     [multi_line \
 	 "macro debug info contains a malformed macro definition:" \
-	 [string_to_regexp "`M1_11_MALFORMED(ARG'"]]
+	 [string_to_regexp "\"M1_11_MALFORMED(ARG\""]]
 
 set re_complaint6 \
     [multi_line \
 	 "macro debug info contains a malformed macro definition:" \
-	 [string_to_regexp "`M1_12_MALFORMED(ARG,'"]]
+	 [string_to_regexp "\"M1_12_MALFORMED(ARG,\""]]
 
 set re_complaint7 \
     [multi_line \
 	 "macro debug info contains a malformed macro definition:" \
-	 [string_to_regexp "`M1_13_MALFORMED(ARG,)'"]]
+	 [string_to_regexp "\"M1_13_MALFORMED(ARG,)\""]]
 
 set re_complaint8 \
     [multi_line \
 	 "macro debug info contains a malformed macro definition:" \
-	 [string_to_regexp "`M1_14_MALFORMED()1'"]]
+	 [string_to_regexp "\"M1_14_MALFORMED()1\""]]
 
 set prefix \
     "During symbol reading"
diff --git a/gdb/testsuite/gdb.server/bkpt-other-inferior.exp b/gdb/testsuite/gdb.server/bkpt-other-inferior.exp
index 5d384cc8042..aec6e29d8ff 100644
--- a/gdb/testsuite/gdb.server/bkpt-other-inferior.exp
+++ b/gdb/testsuite/gdb.server/bkpt-other-inferior.exp
@@ -57,7 +57,7 @@ set test "discard symbol table"
 gdb_test_multiple "file" $test {
     -re "A program is being debugged already..*Are you sure you want to change the file.*y or n. $" {
 	gdb_test "y" ".*" $test \
-	    {Discard symbol table from `.*'\? \(y or n\) } "y"
+	    {Discard symbol table from \".*\"\? \(y or n\) } "y"
     }
 }
 
diff --git a/gdb/testsuite/gdb.server/server-exec-info.exp b/gdb/testsuite/gdb.server/server-exec-info.exp
index 4ef9ede9cec..e711aff565d 100644
--- a/gdb/testsuite/gdb.server/server-exec-info.exp
+++ b/gdb/testsuite/gdb.server/server-exec-info.exp
@@ -34,7 +34,7 @@ gdb_test \
     "Support for the 'qXfer:exec-file:read' packet on future remote targets is set to \"off\"."
 
 gdb_test "file" ".*" "file" \
-	 {Discard symbol table from `.*'\? \(y or n\) } "y"
+	 {Discard symbol table from \".*\"\? \(y or n\) } "y"
 gdbserver_run ""
 gdb_test "set sysroot remote:"
 gdb_test "info files" "\r\nLocal exec file:\r\n\t<no file loaded>"
diff --git a/gdb/testsuite/gdb.server/target-exec-file.exp b/gdb/testsuite/gdb.server/target-exec-file.exp
index a9e6f801165..9e3eeeeca0d 100644
--- a/gdb/testsuite/gdb.server/target-exec-file.exp
+++ b/gdb/testsuite/gdb.server/target-exec-file.exp
@@ -164,7 +164,7 @@ proc start_inferior { testname expect_reread } {
 	    -re "^start\\s*\r\n" {
 		exp_continue
 	    }
-	    -re "^`\[^\r\n\]+' has changed; re-reading symbols\\.\r\n" {
+	    -re "^\"\[^\r\n\]+\" has changed; re-reading symbols\\.\r\n" {
 		set saw_reread true
 		exp_continue
 	    }
diff --git a/gdb/testsuite/gdb.threads/gcore-stale-thread.exp b/gdb/testsuite/gdb.threads/gcore-stale-thread.exp
index d0465c87a4a..05363e5c9fb 100644
--- a/gdb/testsuite/gdb.threads/gcore-stale-thread.exp
+++ b/gdb/testsuite/gdb.threads/gcore-stale-thread.exp
@@ -53,5 +53,5 @@ gdb_gcore_cmd "$corefile" "save a corefile"
 # Do not run "info threads" before "gcore" as it could workaround the bug
 # by discarding non-current exited threads.
 gdb_test "info threads" \
-	 {The current thread <Thread ID 1> has terminated\.  See `help thread'\.} \
+	 {The current thread <Thread ID 1> has terminated\.  See \"help thread\"\.} \
 	 "exited thread is current due to non-stop"
diff --git a/gdb/testsuite/gdb.trace/actions.exp b/gdb/testsuite/gdb.trace/actions.exp
index 2cb53260d34..b58578af3d8 100644
--- a/gdb/testsuite/gdb.trace/actions.exp
+++ b/gdb/testsuite/gdb.trace/actions.exp
@@ -175,7 +175,7 @@ gdb_test "actions [expr {$trcpt2 + $trcpt3}]" \
 gdb_trace_setactions "5.7: invalid action" \
 	"$trcpt1" \
 	"print gdb_c_test" \
-	"`print gdb_c_test' is not a supported tracepoint action"
+	"\"print gdb_c_test\" is not a supported tracepoint action"
 
 # 5.8 help actions (collect, while-stepping, end)
 
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index 1a6438f36a5..0207256789a 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -435,7 +435,7 @@ proc gdb_unload { {msg "file"} } {
 	    exp_continue
 	}
 
-	-re "Discard symbol table from `.*'. .y or n. $" {
+	-re "Discard symbol table from \".*\". .y or n. $" {
 	    send_gdb "y\n" answer
 	    exp_continue
 	}
diff --git a/gdb/thread.c b/gdb/thread.c
index 9571c866276..b00152299db 100644
--- a/gdb/thread.c
+++ b/gdb/thread.c
@@ -1374,11 +1374,11 @@ print_thread_info_1 (struct ui_out *uiout, const char *requested_threads,
 
       if (inferior_ptid != null_ptid && current_exited)
 	uiout->message ("\n\
-The current thread <Thread ID %s> has terminated.  See `help thread'.\n",
+The current thread <Thread ID %s> has terminated.  See \"help thread\".\n",
 			print_thread_id (inferior_thread ()));
       else if (any_thread && inferior_ptid == null_ptid)
 	uiout->message ("\n\
-No selected thread.  See `help thread'.\n");
+No selected thread.  See \"help thread\".\n");
     }
 }
 
diff --git a/gdb/tracefile-tfile.c b/gdb/tracefile-tfile.c
index 289e00ff531..74435600ccd 100644
--- a/gdb/tracefile-tfile.c
+++ b/gdb/tracefile-tfile.c
@@ -630,7 +630,7 @@ tfile_target::close ()
 void
 tfile_target::files_info ()
 {
-  gdb_printf ("\t`%s'\n", trace_filename.get ());
+  gdb_printf ("\t\"%s\"\n", trace_filename.get ());
 }
 
 void
diff --git a/gdb/tracefile.c b/gdb/tracefile.c
index a9921594727..b199c257824 100644
--- a/gdb/tracefile.c
+++ b/gdb/tracefile.c
@@ -334,7 +334,7 @@ tsave_command (const char *args, int from_tty)
       if (streq (*argv, "-r"))
 	target_does_save = 1;
       else if (**argv == '-')
-	error (_("unknown option `%s'"), *argv);
+	error (_("unknown option \"%s\""), *argv);
       else
 	filename = *argv;
     }
diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c
index 932a8f557e4..165fb69e3fa 100644
--- a/gdb/tracepoint.c
+++ b/gdb/tracepoint.c
@@ -646,7 +646,7 @@ validate_actionline (const char *line, tracepoint *t)
 
   c = lookup_cmd (&p, cmdlist, "", NULL, -1, 1);
   if (c == 0)
-    error (_("`%s' is not a tracepoint action, or is ambiguous."), p);
+    error (_("\"%s\" is not a tracepoint action, or is ambiguous."), p);
 
   if (cmd_simple_func_eq (c, collect_pseudocommand))
     {
@@ -691,14 +691,14 @@ validate_actionline (const char *line, tracepoint *t)
 
 		  if (sym->loc_class () == LOC_CONST)
 		    {
-		      error (_("constant `%s' (value %s) "
+		      error (_("constant \"%s\" (value %s) "
 			       "will not be collected."),
 			     sym->print_name (),
 			     plongest (sym->value_longest ()));
 		    }
 		  else if (sym->loc_class () == LOC_OPTIMIZED_OUT)
 		    {
-		      error (_("`%s' is optimized away "
+		      error (_("\"%s\" is optimized away "
 			       "and cannot be collected."),
 			     sym->print_name ());
 		    }
@@ -752,7 +752,7 @@ validate_actionline (const char *line, tracepoint *t)
       p = skip_spaces (p);
       t->step_count = strtol (p, &endp, 0);
       if (endp == p || t->step_count == 0)
-	error (_("while-stepping step count `%s' is malformed."), line);
+	error (_("while-stepping step count \"%s\" is malformed."), line);
       p = endp;
     }
 
@@ -760,7 +760,7 @@ validate_actionline (const char *line, tracepoint *t)
     ;
 
   else
-    error (_("`%s' is not a supported tracepoint action."), line);
+    error (_("\"%s\" is not a supported tracepoint action."), line);
 }
 
 enum {
diff --git a/gdb/tui/tui-win.c b/gdb/tui/tui-win.c
index 7b174b13913..66535751df3 100644
--- a/gdb/tui/tui-win.c
+++ b/gdb/tui/tui-win.c
@@ -1069,7 +1069,7 @@ parse_scrolling_args (const char *arg,
 	      *win_to_scroll = tui_partial_win_by_name (wname);
 
 	      if (*win_to_scroll == NULL)
-		error (_("Unrecognized window `%s'"), wname);
+		error (_("Unrecognized window \"%s\""), wname);
 	      if (!(*win_to_scroll)->is_visible ())
 		error (_("Window is not visible"));
 	      else if (*win_to_scroll == tui_cmd_win ())
diff --git a/gdb/tui/tui-winsource.c b/gdb/tui/tui-winsource.c
index c7149ff7c80..481881433c8 100644
--- a/gdb/tui/tui-winsource.c
+++ b/gdb/tui/tui-winsource.c
@@ -308,7 +308,7 @@ tui_source_window_base::show_source_line (int lineno)
 void
 tui_source_window_base::refresh_window ()
 {
-  TUI_SCOPED_DEBUG_START_END ("window `%s`", name ());
+  TUI_SCOPED_DEBUG_START_END ("window \"%s\"", name ());
 
   gdb_assert (handle != nullptr);
 
@@ -355,7 +355,7 @@ tui_source_window_base::refresh_window ()
 void
 tui_source_window_base::show_source_content ()
 {
-  TUI_SCOPED_DEBUG_START_END ("window `%s`", name ());
+  TUI_SCOPED_DEBUG_START_END ("window \"%s\"", name ());
 
   gdb_assert (!m_content.empty ());
 
@@ -442,7 +442,7 @@ tui_source_window_base::update_tab_width ()
 void
 tui_source_window_base::rerender ()
 {
-  TUI_SCOPED_DEBUG_START_END ("window `%s`", name ());
+  TUI_SCOPED_DEBUG_START_END ("window \"%s\"", name ());
 
   if (!m_content.empty ())
     {
@@ -515,7 +515,7 @@ tui_source_window_base::refill ()
 bool
 tui_source_window_base::validate_scroll_offsets ()
 {
-  TUI_SCOPED_DEBUG_START_END ("window `%s`", name ());
+  TUI_SCOPED_DEBUG_START_END ("window \"%s\"", name ());
 
   int original_pad_offset = m_pad_offset;
 
diff --git a/gdb/utils.c b/gdb/utils.c
index 96c60544213..b8725e96d22 100644
--- a/gdb/utils.c
+++ b/gdb/utils.c
@@ -273,8 +273,8 @@ void
 warn_cant_dump_core (const char *reason)
 {
   gdb_printf (gdb_stderr,
-	      _("%s\nUnable to dump core, use `ulimit -c"
-		" unlimited' before executing GDB next time.\n"),
+	      _("%s\nUnable to dump core, use \"ulimit -c"
+		" unlimited\" before executing GDB next time.\n"),
 	      reason);
 }
 
@@ -1060,8 +1060,8 @@ parse_escape (struct gdbarch *gdbarch, const char **string_ptr)
     }
 
   if (!host_char_to_target (gdbarch, c, &target_char))
-    error (_("The escape sequence `\\%c' is equivalent to plain `%c',"
-	     " which has no equivalent\nin the `%s' character set."),
+    error (_("The escape sequence \"\\%c\" is equivalent to plain \"%c\","
+	     " which has no equivalent\nin the \"%s\" character set."),
 	   c, c, target_charset (gdbarch));
   return target_char;
 }
diff --git a/gdb/valarith.c b/gdb/valarith.c
index 62a35841f1f..0f66207fa17 100644
--- a/gdb/valarith.c
+++ b/gdb/valarith.c
@@ -113,7 +113,7 @@ value_ptrdiff (struct value *arg1, struct value *arg2)
 
   if (check_typedef (type1->target_type ())->length ()
       != check_typedef (type2->target_type ())->length ())
-    error (_("First argument of `-' is a pointer and "
+    error (_("First argument of \"-\" is a pointer and "
 	     "second argument is neither\n"
 	     "an integer nor a pointer of the same type."));
 
diff --git a/gdb/valops.c b/gdb/valops.c
index c478bdc3f15..6122054011d 100644
--- a/gdb/valops.c
+++ b/gdb/valops.c
@@ -831,7 +831,7 @@ value_dynamic_cast (struct type *type, struct value *arg)
     error (_("Argument to dynamic_cast must be a pointer or reference type"));
   if (resolved_type->target_type ()->code () != TYPE_CODE_VOID
       && resolved_type->target_type ()->code () != TYPE_CODE_STRUCT)
-    error (_("Argument to dynamic_cast must be pointer to class or `void *'"));
+    error (_("Argument to dynamic_cast must be pointer to class or \"void *\""));
 
   class_type = check_typedef (resolved_type->target_type ());
   if (resolved_type->code () == TYPE_CODE_PTR)
@@ -2214,7 +2214,7 @@ search_struct_method (const char *name, struct value **arg1p,
 	  name_matched = 1;
 	  if (j > 0 && !args.has_value ())
 	    error (_("cannot resolve overloaded method "
-		     "`%s': no arguments supplied"), name);
+		     "\"%s\": no arguments supplied"), name);
 	  else if (j == 0 && !args.has_value ())
 	    {
 	      v = value_fn_field (arg1p, f, j, type, offset);
@@ -3693,7 +3693,7 @@ value_struct_elt_for_reference (struct type *domain, int offset,
 		  /* Desired method is ambiguous if more than one
 		     method is defined.  */
 		  if (j != -1 && !TYPE_FN_FIELD_ARTIFICIAL (f, j))
-		    error (_("non-unique member `%s' requires "
+		    error (_("non-unique member \"%s\" requires "
 			     "type instantiation"), name);
 
 		  j = ii;
@@ -3983,7 +3983,7 @@ value_of_this (const struct language_defn *lang)
   frame_info_ptr frame;
 
   if (lang->name_of_this () == NULL)
-    error (_("no `this' in current language"));
+    error (_("no \"this\" in current language"));
 
   frame = get_selected_frame (_("no frame selected"));
 
@@ -3991,7 +3991,7 @@ value_of_this (const struct language_defn *lang)
 
   sym = lookup_language_this (lang, b);
   if (sym.symbol == NULL)
-    error (_("current stack frame does not contain a variable named `%ps'"),
+    error (_("current stack frame does not contain a variable named \"%ps\""),
 	   styled_string (variable_name_style.style (),
 			  lang->name_of_this ()));
 
diff --git a/gdb/value.c b/gdb/value.c
index 1f6d7949d4d..c00cf1d7c86 100644
--- a/gdb/value.c
+++ b/gdb/value.c
@@ -816,7 +816,7 @@ check_type_length_before_alloc (const struct type *type)
   if (exceeds_max_value_size (length))
     {
       if (type->name () != NULL)
-	error (_("value of type `%s' requires %s bytes, which is more "
+	error (_("value of type \"%s\" requires %s bytes, which is more "
 		 "than max-value-size"), type->name (), pulongest (length));
       else
 	error (_("value requires %s bytes, which is more than "
diff --git a/gdb/windows-nat.c b/gdb/windows-nat.c
index def8fa606f4..8d50457b55c 100644
--- a/gdb/windows-nat.c
+++ b/gdb/windows-nat.c
@@ -783,7 +783,7 @@ signal_event_command (const char *args, int from_tty)
 
   if ((errno == ERANGE) || (event_id == 0) || (event_id > UINTPTR_MAX) ||
       ((HANDLE) event_id == INVALID_HANDLE_VALUE))
-    error (_("Failed to convert `%s' to event id"), args);
+    error (_("Failed to convert \"%s\" to event id"), args);
 
   SetEvent ((HANDLE) event_id);
   CloseHandle ((HANDLE) event_id);
@@ -2867,7 +2867,7 @@ windows_nat_target::create_inferior (const char *exec_file,
   ensure_only_one_process ();
 
   if (!exec_file)
-    error (_("No executable specified, use `target exec'."));
+    error (_("No executable specified, use \"target exec\"."));
 
   const char *inferior_cwd = current_inferior ()->cwd ().c_str ();
   std::string expanded_infcwd;
diff --git a/gdb/xml-syscall.c b/gdb/xml-syscall.c
index 43305a10446..1fe50acc191 100644
--- a/gdb/xml-syscall.c
+++ b/gdb/xml-syscall.c
@@ -363,7 +363,7 @@ init_syscalls_info (struct gdbarch *gdbarch)
   if (syscalls_info->syscalls.empty ())
     {
       if (xml_syscall_file != NULL)
-	warning (_("Could not load the syscall XML file `%s/%s'."),
+	warning (_("Could not load the syscall XML file \"%s/%s\"."),
 		 gdb_datadir.c_str (), xml_syscall_file);
       else
 	warning (_("There is no XML file to open."));
diff --git a/gdb/z80-tdep.c b/gdb/z80-tdep.c
index 6b995e74d9f..af8a7d1b5ac 100644
--- a/gdb/z80-tdep.c
+++ b/gdb/z80-tdep.c
@@ -744,7 +744,7 @@ z80_breakpoint_kind_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr)
       else
 	{
 	  warning(_("Unable to determine inferior's software breakpoint type: "
-		    "couldn't find `_break_handler' function in inferior. Will "
+		    "couldn't find \"_break_handler\" function in inferior. Will "
 		    "be used default software breakpoint instruction RST 0x08."));
 	  addr = 0x0008;
 	}
@@ -922,8 +922,8 @@ z80_read_overlay_region_table ()
   if (! novly_regions_msym.minsym)
     {
       error (_("Error reading inferior's overlay table: "
-	       "couldn't find `_novly_regions'\n"
-	       "variable in inferior.  Use `overlay manual' mode."));
+	       "couldn't find \"_novly_regions\"\n"
+	       "variable in inferior.  Use \"overlay manual\" mode."));
       return 0;
     }
 
@@ -932,8 +932,8 @@ z80_read_overlay_region_table ()
   if (! ovly_region_table_msym.minsym)
     {
       error (_("Error reading inferior's overlay table: couldn't find "
-	       "`_ovly_region_table'\n"
-	       "array in inferior.  Use `overlay manual' mode."));
+	       "\"_ovly_region_table\"\n"
+	       "array in inferior.  Use \"overlay manual\" mode."));
       return 0;
     }
 

-- 
2.49.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 5/5] Fix styling in a few messages
  2026-08-22 20:30 [PATCH 0/5] Remove `...' and related forms of quoting from gdb Tom Tromey
                   ` (3 preceding siblings ...)
  2026-08-22 20:30 ` [PATCH 4/5] Change `...'-style quoting in gdb Tom Tromey
@ 2026-08-22 20:30 ` Tom Tromey
  4 siblings, 0 replies; 8+ messages in thread
From: Tom Tromey @ 2026-08-22 20:30 UTC (permalink / raw)
  To: gdb-patches; +Cc: Tom Tromey

While working on fixing the `...' quoting, I stumbled across a few
spots that should use CLI styling but currently do not.  This patch
fixes the ones I found.
---
 gdb/ada-lang.c    | 3 ++-
 gdb/windows-nat.c | 3 ++-
 gdb/xml-syscall.c | 8 ++++++--
 3 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
index a0781d2d6dd..9e7dee54908 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -7888,7 +7888,8 @@ ada_template_to_fixed_record_type_1 (struct type *type,
 	warning (_("Invalid type size for \"%s\" detected: %s."),
 		 rtype->name (), pulongest (type->length ()));
       else
-	warning (_("Invalid type size for <unnamed> detected: %s."),
+	warning (_("Invalid type size for %ps detected: %s."),
+		 styled_string (metadata_style.style (), "<unnamed>"),
 		 pulongest (type->length ()));
     }
   else
diff --git a/gdb/windows-nat.c b/gdb/windows-nat.c
index 8d50457b55c..380b30f541f 100644
--- a/gdb/windows-nat.c
+++ b/gdb/windows-nat.c
@@ -2867,7 +2867,8 @@ windows_nat_target::create_inferior (const char *exec_file,
   ensure_only_one_process ();
 
   if (!exec_file)
-    error (_("No executable specified, use \"target exec\"."));
+    error (_("No executable specified, use \"%ps\"."),
+	   styled_string (command_style.style (), "target exec"));
 
   const char *inferior_cwd = current_inferior ()->cwd ().c_str ();
   std::string expanded_infcwd;
diff --git a/gdb/xml-syscall.c b/gdb/xml-syscall.c
index 1fe50acc191..d8a66a6413f 100644
--- a/gdb/xml-syscall.c
+++ b/gdb/xml-syscall.c
@@ -22,6 +22,7 @@
 #include "xml-support.h"
 #include "xml-syscall.h"
 #include "gdbarch.h"
+#include "cli/cli-style.h"
 
 /* For the struct syscall definition.  */
 #include "target.h"
@@ -363,8 +364,11 @@ init_syscalls_info (struct gdbarch *gdbarch)
   if (syscalls_info->syscalls.empty ())
     {
       if (xml_syscall_file != NULL)
-	warning (_("Could not load the syscall XML file \"%s/%s\"."),
-		 gdb_datadir.c_str (), xml_syscall_file);
+	warning (_("Could not load the syscall XML file \"%p[%s/%s%p]\"."),
+		 file_name_style.style ().ptr (),
+		 gdb_datadir.c_str (),
+		 xml_syscall_file,
+		 nullptr);
       else
 	warning (_("There is no XML file to open."));
 

-- 
2.49.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 3/5] Fix weird quoting in stap-probe.c
  2026-08-22 20:30 ` [PATCH 3/5] Fix weird quoting in stap-probe.c Tom Tromey
@ 2026-08-23  4:31   ` Eli Zaretskii
  2026-08-24 18:09     ` Tom de Vries
  0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2026-08-23  4:31 UTC (permalink / raw)
  To: Tom Tromey; +Cc: gdb-patches

> From: Tom Tromey <tom@tromey.com>
> Date: Sat, 22 Aug 2026 14:30:05 -0600
> Cc: Tom Tromey <tom@tromey.com>
> 
> I found some code in stap-probe.c that split the quoting in a strange
> way:
> 
> 		warning (_("unrecognized bitness %s%c' for probe `%s'"),
> 			 got_minus ? "`-" : "`", *cur,
> 
> Here the leading ` is not part of the format string.  I found this odd
> and so I split this fix out into its own patch.

This changes the quoting style of "-7" and the like.  As the test
suite shows, it was previously quoted as `-7'.  Is there a good reason
for this change?  I'm not sure I understand what is weird about this
quoting or ` not being part of the format string.  Is this just a
style-preference thing?

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 3/5] Fix weird quoting in stap-probe.c
  2026-08-23  4:31   ` Eli Zaretskii
@ 2026-08-24 18:09     ` Tom de Vries
  0 siblings, 0 replies; 8+ messages in thread
From: Tom de Vries @ 2026-08-24 18:09 UTC (permalink / raw)
  To: Eli Zaretskii, Tom Tromey; +Cc: gdb-patches

On 8/23/26 6:31 AM, Eli Zaretskii wrote:
>> From: Tom Tromey <tom@tromey.com>
>> Date: Sat, 22 Aug 2026 14:30:05 -0600
>> Cc: Tom Tromey <tom@tromey.com>
>>
>> I found some code in stap-probe.c that split the quoting in a strange
>> way:
>>
>> 		warning (_("unrecognized bitness %s%c' for probe `%s'"),
>> 			 got_minus ? "`-" : "`", *cur,
>>
>> Here the leading ` is not part of the format string.  I found this odd
>> and so I split this fix out into its own patch.
> 
> This changes the quoting style of "-7" and the like.  As the test
> suite shows, it was previously quoted as `-7'.  Is there a good reason
> for this change? 

I googled this a bit, and came across ( 
https://www.gnu.org/prep/standards/html_node/Quote-Characters.html#Quote-Characters 
):
...
Although GNU programs traditionally used 0x60 (‘`’) for opening and 0x27 
(‘'’) for closing quotes, nowadays quotes ‘`like this'’ are typically 
rendered asymmetrically, so quoting ‘"like this"’ or ‘'like this'’ 
typically looks better.
...

> I'm not sure I understand what is weird about this
> quoting or ` not being part of the format string.  Is this just a
> style-preference thing?

If we'd leave the quoting style unchanged, I would have preferred:
...
warning (_("unrecognized bitness `%s%c' for probe `%s'"),
  	 got_minus ? "-" : "", *cur,
...
which I find easier to read.

Thanks,
- Tom

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2026-08-24 18:10 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-22 20:30 [PATCH 0/5] Remove `...' and related forms of quoting from gdb Tom Tromey
2026-08-22 20:30 ` [PATCH 1/5] Change `...'-style quoting in gdbsupport Tom Tromey
2026-08-22 20:30 ` [PATCH 2/5] Change `...'-style quoting in gdbserver Tom Tromey
2026-08-22 20:30 ` [PATCH 3/5] Fix weird quoting in stap-probe.c Tom Tromey
2026-08-23  4:31   ` Eli Zaretskii
2026-08-24 18:09     ` Tom de Vries
2026-08-22 20:30 ` [PATCH 4/5] Change `...'-style quoting in gdb Tom Tromey
2026-08-22 20:30 ` [PATCH 5/5] Fix styling in a few messages Tom Tromey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox