aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/testsuite/gdb.base/callfuncs.c14
-rw-r--r--gdb/testsuite/gdb.base/callfwmall.c14
2 files changed, 24 insertions, 4 deletions
diff --git a/gdb/testsuite/gdb.base/callfuncs.c b/gdb/testsuite/gdb.base/callfuncs.c
index 0fdc2fe..9917e78 100644
--- a/gdb/testsuite/gdb.base/callfuncs.c
+++ b/gdb/testsuite/gdb.base/callfuncs.c
@@ -133,7 +133,12 @@ int t_structs_i (struct struct1 tstruct) { return (tstruct.i); }
long t_structs_l (struct struct1 tstruct) { return (tstruct.l); }
float t_structs_f (struct struct1 tstruct) { return (tstruct.f); }
double t_structs_d (struct struct1 tstruct) { return (tstruct.d); }
-char *t_structs_a (struct struct1 tstruct) { return (tstruct.a); }
+char *t_structs_a (struct struct1 tstruct)
+{
+ static char buf[8];
+ strcpy (buf, tstruct.a);
+ return buf;
+}
#else
char t_structs_c (tstruct) struct struct1 tstruct; { return (tstruct.c); }
short t_structs_s (tstruct) struct struct1 tstruct; { return (tstruct.s); }
@@ -141,7 +146,12 @@ int t_structs_i (tstruct) struct struct1 tstruct; { return (tstruct.i); }
long t_structs_l (tstruct) struct struct1 tstruct; { return (tstruct.l); }
float t_structs_f (tstruct) struct struct1 tstruct; { return (tstruct.f); }
double t_structs_d (tstruct) struct struct1 tstruct; { return (tstruct.d); }
-char *t_structs_a (tstruct) struct struct1 tstruct; { return (tstruct.a); }
+char *t_structs_a (tstruct) struct struct1 tstruct;
+{
+ static char buf[8];
+ strcpy (buf, tstruct.a);
+ return buf;
+}
#endif
/* Test that calling functions works if there are a lot of arguments. */
diff --git a/gdb/testsuite/gdb.base/callfwmall.c b/gdb/testsuite/gdb.base/callfwmall.c
index 89e6a77..67edb8b 100644
--- a/gdb/testsuite/gdb.base/callfwmall.c
+++ b/gdb/testsuite/gdb.base/callfwmall.c
@@ -138,7 +138,12 @@ int t_structs_i (struct struct1 tstruct) { return (tstruct.i); }
long t_structs_l (struct struct1 tstruct) { return (tstruct.l); }
float t_structs_f (struct struct1 tstruct) { return (tstruct.f); }
double t_structs_d (struct struct1 tstruct) { return (tstruct.d); }
-char *t_structs_a (struct struct1 tstruct) { return (tstruct.a); }
+char *t_structs_a (struct struct1 tstruct)
+{
+ static char buf[8];
+ strcpy (buf, tstruct.a);
+ return buf;
+}
#else
char t_structs_c (tstruct) struct struct1 tstruct; { return (tstruct.c); }
short t_structs_s (tstruct) struct struct1 tstruct; { return (tstruct.s); }
@@ -146,7 +151,12 @@ int t_structs_i (tstruct) struct struct1 tstruct; { return (tstruct.i); }
long t_structs_l (tstruct) struct struct1 tstruct; { return (tstruct.l); }
float t_structs_f (tstruct) struct struct1 tstruct; { return (tstruct.f); }
double t_structs_d (tstruct) struct struct1 tstruct; { return (tstruct.d); }
-char *t_structs_a (tstruct) struct struct1 tstruct; { return (tstruct.a); }
+char *t_structs_a (tstruct) struct struct1 tstruct;
+{
+ static char buf[8];
+ strcpy (buf, tstruct.a);
+ return buf;
+}
#endif
/* Test that calling functions works if there are a lot of arguments. */