From: Tom Tromey Date: Thu, 15 Sep 2022 18:06:02 +0000 (-0600) Subject: Don't let property evaluation affect the current language X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=12bb802fab16b5bf8edc027c247741bd75db1257;p=binutils-gdb.git Don't let property evaluation affect the current language On PPC, we saw that calling an inferior function could sometimes change the current language, because gdb would select the call dummy frame -- associated with _start. This patch changes gdb so that the current language is never affected by DWARF property evaluation. --- diff --git a/gdb/dwarf2/loc.c b/gdb/dwarf2/loc.c index 0acc63805e7..fe91d609f19 100644 --- a/gdb/dwarf2/loc.c +++ b/gdb/dwarf2/loc.c @@ -1641,6 +1641,11 @@ dwarf2_evaluate_property (const struct dynamic_prop *prop, if (prop == NULL) return false; + /* Evaluating a property should not change the current language. + Without this here this could happen if the code below selects a + frame. */ + scoped_restore_current_language save_language; + if (frame == NULL && has_stack_frames ()) frame = get_selected_frame (NULL);