*/
+#ifdef mc68hc11
+# define RANDOM_DATA_SIZE (1024)
+#endif
+
/* Use a character buffer to avoid byte order problems. 48k is
chosen so that the buffer required at least 3 16k packets but
targets often have no more than 64k of data. */
/* If you change this data, you will also have to change the checks
for the data in remote.c */
-unsigned char random_data[3 * 2048 * 8] = {
+#ifndef RANDOM_DATA_SIZE
+# define RANDOM_DATA_SIZE (3 * 2048 * 8)
+# define BIG_RANDOM_DATA
+#endif
+
+unsigned char random_data[RANDOM_DATA_SIZE] = {
60, 74, 216, 38, 149, 49, 207, 44,
124, 38, 93, 125, 232, 67, 228, 56,
161, 146, 85, 26, 128, 145, 218, 10,
196, 13, 161, 122, 145, 141, 102, 233,
227, 112, 121, 67, 111, 148, 160, 32,
199, 117, 223, 105, 184, 131, 119, 182,
+#ifdef BIG_RANDOM_DATA
60, 26, 169, 194, 173, 164, 249, 135,
178, 57, 50, 44, 12, 159, 167, 240,
249, 188, 86, 192, 73, 47, 74, 77,
97, 106, 152, 12, 243, 240, 41, 251,
35, 249, 105, 228, 53, 94, 43, 119,
61, 162, 192, 78, 58, 46, 84, 110,
+#endif
};
int
-# Copyright 1999 Free Software Foundation, Inc.
+# Copyright 1999, 2001 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
return
}
-
set testfile "remote"
set srcfile ${testfile}.c
set binfile ${objdir}/${subdir}/${testfile}
# fall back to the default
gdb_load_timed $binfile 0 "limit" 0
+# Get size of data uploaded
+
+#
+# Query GDB for the size of various types
+#
+
+proc get_sizeof { type default } {
+ global gdb_prompt
+ send_gdb "print/d sizeof (${type})\n"
+ gdb_expect {
+ -re "\\$\[0-9\]* = (\[0-9\]*).*$gdb_prompt $" {
+ set size $expect_out(1,string)
+ pass "get sizeof ${type} ($size)"
+ }
+ timeout {
+ set size ${default}
+ fail "get sizeof ${type} (timeout)"
+ }
+ }
+ return ${size}
+}
+
+# Get the size of random_data table (defaults to 48K).
+set sizeof_random_data [get_sizeof "random_data" 48*1024]
#
# Part THREE: Check the upload behavour
#
+if ![runto_main] then {
+ fail "Cannot run to main"
+}
# Carefully check memory around each of the most common packet edge
# conditions
gdb_test "x/8ub random_data + 400 - 4" \
"<random_data\\+396>:\[ \t\]+185\[ \t\]+255\[ \t\]+50\[ \t\]+140\[ \t\]+237\[ \t\]+172\[ \t\]+143\[ \t\]+93"
-gdb_test "x/8ub random_data + 16384 - 4" \
+if {$sizeof_random_data > 16380 } then {
+ gdb_test "x/8ub random_data + 16384 - 4" \
"<random_data\\+16380>:\[ \t\]+178\[ \t\]+180\[ \t\]+135\[ \t\]+93\[ \t\]+70\[ \t\]+62\[ \t\]+205\[ \t\]+76"
-
+}
# Read a chunk just larger than the packet size (reduce the packet
# size to make life easier)