From: Simon Marchi Date: Sat, 4 Dec 2021 01:39:57 +0000 (-0500) Subject: gdb: revert one array_view copy change in ada-lang.c X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fb2a515fd07be61a9deda0ebfe9507f8000d93cc;p=binutils-gdb.git gdb: revert one array_view copy change in ada-lang.c Commit 4bce7cdaf481 ("gdbsupport: add array_view copy function") caused an internal error when running gdb.ada/packed_array_assign.exp: print pra(1) := pr^M /home/smarchi/src/binutils-gdb/gdb/../gdbsupport/array-view.h:217: internal-error: copy: Assertion `dest.size () == src.size ()' failed.^M I am not sure what's the root cause of this, whether it is a GDB bug exposed by using the array_view copy function or not. Back out the change that triggers the internal error for now, while we investigate it. Change-Id: I055ab14143e4cfd3ca7ce8f4855c6c3c05db52a7 --- diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index c6cefe9d8e8..f8ba05b4276 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -2586,7 +2586,9 @@ ada_value_assign (struct value *toval, struct value *fromval) write_memory_with_notification (to_addr, buffer, len); val = value_copy (toval); - copy (value_contents (fromval), value_contents_raw (val)); + memcpy (value_contents_raw (val).data (), + value_contents (fromval).data (), + TYPE_LENGTH (type)); deprecated_set_value_type (val, type); return val;