This is the mail archive of the mailing list for the GDB project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Harden tests that deal with memory regions

On 01/26/2017 07:17 AM, Pedro Alves wrote:
On 01/23/2017 09:24 PM, Luis Machado wrote:

2017-01-23  Luis Machado  <>

	* lib/gdb-memory.exp: New file.

Do we need "gdb-" in the file name?

What other procedures to you envision being placed here?  Should
this have "regions" in the file name, like "memory-regions.exp"?
The file's intro comment talks about memory regions.

I guess we don't really need the gdb prefix. I originally envisioned this particular file storing all proc's dealing with memory checks and manipulation (though i ended up describing it in a different way).

I wanted to avoid having to add more helper functions to lib/gdb.exp. But maybe it wouldn't be a big problem? My instinct is to modularize it.

Either way is fine with me though, lib/gdb.exp or lib/memory.exp.

	* lib/gdb.exp: Load gdb-memory.exp

Missing period.


--- a/gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp
+++ b/gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp
@@ -137,6 +137,9 @@ if ![get_function_bounds "main" main_lo main_hi] {
     return -1

+# Delete all memory regions.

The comment as-is practically just reads the function name
in English.  The important detail missing here
is "target-supplied".  So:

 # Delete all target-supplied memory regions.

Likewise in the other spot.

On second thought, i've pulled these comments from the test files. The updated proc documentation should be enough. What do you think?

 gdb_test_no_output "mem 0x30 0x0 ro"
 with_test_prefix "0x30 0x0" {
     region_fail "0x20 0x50"
diff --git a/gdb/testsuite/lib/gdb-memory.exp b/gdb/testsuite/lib/gdb-memory.exp
new file mode 100644
index 0000000..3377011
--- /dev/null
+++ b/gdb/testsuite/lib/gdb-memory.exp
@@ -0,0 +1,38 @@
+# Copyright 2017 Free Software Foundation, Inc.

The file's non-boilerplate code is copyright 2012, so
preserve that.  (git show 1591a1e8)


+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# GNU General Public License for more details.
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <>.
+# This file was written by Fred Fish. (

No it wasn't.

+# Generic gdb subroutines that should work for any target.  If these
+# need to be modified for any target, it can be done with a variable
+# or by passing arguments.

Stale comment.

Thanks copy/paste. Fixed.

+# This file holds functions and data dealing with memory regions manipulation.
+# Deletes all the memory regions GDB currently knows about.
+proc delete_memory_regions {} {

I've added the target-supplied bit to this as well.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]