This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, testsuite] Don't run SREC, IHEX and TEKHEX tests for MIPS N64.


On 07/02/2013 03:10 PM, Tom Tromey wrote:
It could be, if we can guarantee oddball architectures don't use
pointers and addresses of strange sizes, say, an arch that declares
function pointers of 4 bytes.

Stan> You could test both a function address and a data address, and if either
Stan> is greater than 4 bytes, the old formats can be excluded from testing.

FWIW I'm actually ok with the original patch as well.
So if Stan is happy with it, it is ok.

What about this one?

I feel i repeated myself in the comments a little, in an attempt to make things clear. It may sound like a broken LP. :-)

Luis

2013-07-02  Luis Machado  <lgustavo@codesourcery.com>

	* gdb.base/dump.exp: Update copyright line.
	Remove arch-specific tests and do a generic pointer size
	check to set is64bitonly correctly.

Index: testsuite/gdb.base/dump.exp
===================================================================
--- testsuite/gdb.base/dump.exp	(revision 415809)
+++ testsuite/gdb.base/dump.exp	(working copy)
@@ -1,4 +1,4 @@
-# Copyright 2002, 2004, 2007-2012 Free Software Foundation, Inc.
+# Copyright 2002, 2004, 2007-2013 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
@@ -32,16 +32,6 @@
     lappend options "additional_flags=-Wl,-taso"
 }
 
-if {[istarget "ia64*-*-*"] || [istarget "hppa64-*-*"]} then {
-    set is64bitonly "yes"
-}
-
-if {[istarget "spu*-*-*"]} then {
-    # The internal address format used for the combined Cell/B.E.
-    # debugger requires 64-bit.
-    set is64bitonly "yes"
-}
-
 if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable ${options}] != "" } {
      untested dump.exp
      return -1
@@ -58,6 +48,22 @@
 
 gdb_load ${binfile}
 
+# Decide if we should test SREC, IHEX and TEKHEX formats.
+if {![istarget "alpha*-*-*"]} then {
+    # Check the size of a function pointer and of a data pointer.  If
+    # both are different from 4-bytes, we probably have 64-bit
+    # addresses that are not supported by SREC, IHEX and TEKHEX.  We
+    # skip those tests then.
+    # If we error out below, we use the defaults (8 bytes) and skip
+    # the SREC, IHEX and TEKHEX tests just to be safe.
+
+    set sizeof_function_ptr [get_sizeof "void (*)(void)" 8]
+    set sizeof_data_ptr [get_sizeof "void *" 8]
+    if {${sizeof_function_ptr} != 4 && ${sizeof_data_ptr} != 4} then {
+	set is64bitonly "yes"
+    }
+}
+
 # Clean up any stale output files from previous test runs
 
 remote_exec build "rm -f intarr1.bin intarr1b.bin intarr1.ihex intarr1.srec intarr1.tekhex intarr2.bin intarr2b.bin intarr2.ihex intarr2.srec intarr2.tekhex intstr1.bin intstr1b.bin intstr1.ihex intstr1.srec intstr1.tekhex intstr2.bin intstr2b.bin intstr2.ihex intstr2.srec intstr2.tekhex intarr3.srec"

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]