Message ID | m3wpbjc1l5.fsf@oc1027705133.ibm.com |
---|---|
State | New |
Headers | show |
On 03/20/2017 05:14 PM, Andreas Arnez wrote: > The test case examine-backward.exp issues the command "x/-s" after the end > of the first string in TestStrings, but without making sure that this > string is preceded by a string terminator. Thus GDB may spuriously print > some random characters from before that string, and then the test fails. > > This patch assures that TestStrings is preceded by a string terminator. > Agreed. Looks like I forgot to follow through with: https://sourceware.org/ml/gdb-patches/2016-08/msg00127.html > > +const char Barrier[] = { > + 0x00, > +}; > + OK with a comment. Feel free to steal mine from that url. > const char TestStrings[] = { > 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, > 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, > Thanks, Pedro Alves
On Mon, Mar 20 2017, Pedro Alves wrote: > On 03/20/2017 05:14 PM, Andreas Arnez wrote: >> The test case examine-backward.exp issues the command "x/-s" after the end >> of the first string in TestStrings, but without making sure that this >> string is preceded by a string terminator. Thus GDB may spuriously print >> some random characters from before that string, and then the test fails. >> >> This patch assures that TestStrings is preceded by a string terminator. >> > > Agreed. Looks like I forgot to follow through with: > > https://sourceware.org/ml/gdb-patches/2016-08/msg00127.html Heh, and you even expressed exactly the same thought I had about this: "It's not strictly correct to assume that the linker places the objects consecutively, but it's probably safe in practice." > >> >> +const char Barrier[] = { >> + 0x00, >> +}; >> + > > OK with a comment. Feel free to steal mine from that url. Sure :-) Pushed with that change. Thanks, Andreas
diff --git a/gdb/testsuite/gdb.base/examine-backward.c b/gdb/testsuite/gdb.base/examine-backward.c index 5e9162a..ab04eff 100644 --- a/gdb/testsuite/gdb.base/examine-backward.c +++ b/gdb/testsuite/gdb.base/examine-backward.c @@ -32,6 +32,10 @@ literals. The content of each array is the same as followings: }; */ +const char Barrier[] = { + 0x00, +}; + const char TestStrings[] = { 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,