public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] [gdb/testsuite] Fix gdb.ada/float-bits.exp with -m32
@ 2022-04-15 16:00 Tom de Vries
  0 siblings, 0 replies; only message in thread
From: Tom de Vries @ 2022-04-15 16:00 UTC (permalink / raw)
  To: gdb-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=3b9809bc62cd0ff2aff2232b68adc6bb82eee61b

commit 3b9809bc62cd0ff2aff2232b68adc6bb82eee61b
Author: Tom de Vries <tdevries@suse.de>
Date:   Fri Apr 15 18:00:30 2022 +0200

    [gdb/testsuite] Fix gdb.ada/float-bits.exp with -m32
    
    With test-case gdb.ada/float-bits.exp and native we get:
    ...
    (gdb) print 16llf#7FFFF7FF4054A56FA5B99019A5C8#^M
    $9 = 5.0e+25^M
    (gdb) PASS: gdb.ada/float-bits.exp: print 16llf#7FFFF7FF4054A56FA5B99019A5C8#
    ...
    but with target board unix/-m32 we have instead:
    ...
    (gdb) print 16llf#7FFFF7FF4054A56FA5B99019A5C8#^M
    Cannot export value 2596145952482202326224873165792712 as 96-bits \
      unsigned integer (must be between 0 and 79228162514264337593543950335)^M
    (gdb) FAIL: gdb.ada/float-bits.exp: print 16llf#7FFFF7FF4054A56FA5B99019A5C8#
    ...
    
    Fix this by testing whether 16llf is supported by doing ptype long_long_float
    which gets us either:
    ...
    type = <16-byte float>^M
    ...
    or:
    ...
    type = <12-byte float>^M
    ...
    
    Tested on x86_64-linux with native and unix/-m32.
    
    Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29041

Diff:
---
 gdb/testsuite/gdb.ada/float-bits.exp | 27 ++++++++++++++++++++++-----
 1 file changed, 22 insertions(+), 5 deletions(-)

diff --git a/gdb/testsuite/gdb.ada/float-bits.exp b/gdb/testsuite/gdb.ada/float-bits.exp
index c98afb53c06..4ca8dbf88e5 100644
--- a/gdb/testsuite/gdb.ada/float-bits.exp
+++ b/gdb/testsuite/gdb.ada/float-bits.exp
@@ -42,12 +42,29 @@ gdb_test "print val_double := 16lf#bc0d83c94fb6d2ac#" " = -2.0e-19"
 gdb_test "print val_double" " = -2.0e-19" \
     "print val_double after assignment"
 
-gdb_test "print 16llf#7FFFF7FF4054A56FA5B99019A5C8#" " = 5.0e\\+25"
+set 16llf_supported 0
+gdb_test_multiple "ptype long_long_float" "" {
+    -re -wrap "<16-byte float>" {
+	set 16llf_supported 1
+	pass $gdb_test_name
+    }
+    -re -wrap "<\\d+-byte float>" {
+	pass $gdb_test_name
+    }
+}
+
+if { $16llf_supported } {
+    gdb_test "print 16llf#7FFFF7FF4054A56FA5B99019A5C8#" " = 5.0e\\+25"
+}
 gdb_test "print val_long_double" " = 5.0e\\+25"
-gdb_test "print val_long_double := 16llf#7FFFF7FF4054A56FA5B99019A5C8#" \
-    " = 5.0e\\+25"
+if { $16llf_supported } {
+    gdb_test "print val_long_double := 16llf#7FFFF7FF4054A56FA5B99019A5C8#" \
+	" = 5.0e\\+25"
+}
 gdb_test "print val_long_double" " = 5.0e\\+25" \
     "print val_long_double after assignment"
 
-gdb_test "print 16llf#a56fa5b99019a5c800007ffff7ff4054#" \
-    " = <invalid float value>"
+if { $16llf_supported } {
+    gdb_test "print 16llf#a56fa5b99019a5c800007ffff7ff4054#" \
+	" = <invalid float value>"
+}


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-04-15 16:00 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-15 16:00 [binutils-gdb] [gdb/testsuite] Fix gdb.ada/float-bits.exp with -m32 Tom de Vries

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).