aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.reverse/getrandom.c
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2022-07-12 15:15:19 +0200
committerTom de Vries <tdevries@suse.de>2022-07-12 15:15:19 +0200
commit43f074cde435be5d9ee0cf2f264a70cd539c1983 (patch)
tree5fc0ea37fcc3780e3d354a337e0257a10edba1d8 /gdb/testsuite/gdb.reverse/getrandom.c
parent3f6227c2f40a3e6009c60483f464e349d30145bb (diff)
downloadgdb-43f074cde435be5d9ee0cf2f264a70cd539c1983.zip
gdb-43f074cde435be5d9ee0cf2f264a70cd539c1983.tar.gz
gdb-43f074cde435be5d9ee0cf2f264a70cd539c1983.tar.bz2
[gdb/record] Support recording of getrandom
Add missing support for recording of linux syscall getrandom. Tested on x86_64-linux with native and target board unix/-m32. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=22081
Diffstat (limited to 'gdb/testsuite/gdb.reverse/getrandom.c')
-rw-r--r--gdb/testsuite/gdb.reverse/getrandom.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.reverse/getrandom.c b/gdb/testsuite/gdb.reverse/getrandom.c
new file mode 100644
index 0000000..162de6e
--- /dev/null
+++ b/gdb/testsuite/gdb.reverse/getrandom.c
@@ -0,0 +1,41 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2022 Free Software Foundation, Inc.
+
+ 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
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ 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 <http://www.gnu.org/licenses/>. */
+
+#include <sys/random.h>
+
+void
+marker1 (void)
+{
+}
+
+void
+marker2 (void)
+{
+}
+
+unsigned char buf[6];
+
+int
+main (void)
+{
+ buf[0] = 0xff;
+ buf[5] = 0xff;
+ marker1 ();
+ volatile ssize_t r = getrandom (&buf[1], 4, 0);
+ marker2 ();
+ return 0;
+}