At the moment, bp_inlined_func.exp passes for a combined current gcc and
gdb-binutils repos build but fails for a build with system gcc (7.3.1) and
ld (2.29.1).
It checks for 4 breakpoints on read_small:
...
gdb_test "break read_small" \
"Breakpoint $decimal at $hex: read_small\\. \\(4 locations\\)" \
"set breakpoint at read_small"
...
and fails because it gets 5 breakpoint locations instead:
...
(gdb) break read_small
Breakpoint 2 at 0x401f9a: read_small. (5 locations)
(gdb) FAIL: gdb.ada/bp_inlined_func.exp: set breakpoint at read_small
...
The 4 expected breakpoint locations are inlined versions of read_small, and
the 5th breakpoint location has this address:
...
(gdb) info breakpoint
Num Type Disp Enb Address What
1 breakpoint keep y <MULTIPLE>
1.1 y 0x0000000000401f9a in b.read_small
at bp_inlined_func/b.adb:20
...
which is the read_small function itself:
...
(gdb) x 0x0000000000401f9a
0x401f9a <b__read_small+4>: 0x22f8058b
...
This patch updates the test to allow 5 breakpoint locations.
Tested on the configurations mentioned above, on x86_64.
2018-06-18 Tom de Vries <tdevries@suse.de>
* gdb.ada/bp_inlined_func.exp: Allow 5 breakpoint locations.
+2018-06-18 Tom de Vries <tdevries@suse.de>
+
+ * gdb.ada/bp_inlined_func.exp: Allow 5 breakpoint locations.
+
2018-06-16 Andrew Burgess <andrew.burgess@embecosm.com>
Richard Bunt <Richard.Bunt@arm.com>
}
# Check that inserting breakpoint on read_small inlined function inserts
-# 4 breakpoints.
+# 4 breakpoints (or possibly 5, including the read_small function itself).
gdb_test "break read_small" \
- "Breakpoint $decimal at $hex: read_small\\. \\(4 locations\\)" \
+ "Breakpoint $decimal at $hex: read_small\\. \\(\[45\] locations\\)" \
"set breakpoint at read_small"
# We do not verify each breakpoint info, but use continue commands instead