aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorLifang Xia <lifang_xia@c-sky.com>2021-08-10 11:16:57 +0800
committerLifang Xia <lifang_xia@c-sky.com>2021-08-13 14:13:58 +0800
commit1374be23274d0d569ca160b8172b2c02fc37becc (patch)
tree0fdc9b02fafdfa1bb46b1eb8255ea99aea3491f2 /gas
parentaf29a8abcf50ff9cb465a136c68b06bfc2ca7b75 (diff)
downloadgdb-1374be23274d0d569ca160b8172b2c02fc37becc.zip
gdb-1374be23274d0d569ca160b8172b2c02fc37becc.tar.gz
gdb-1374be23274d0d569ca160b8172b2c02fc37becc.tar.bz2
PR28168: [CSKY] Fix stack overflow in disassembler
PR 28168: Stack overflow with a large float. %f is not a goot choice for this. %f should be replaced with %.7g. gas/ * testsuite/gas/csky/pr28168.d: New testcase for PR 28168. * testsuite/gas/csky/pr28168.s: Likewise. * testsuite/gas/csky/v2_float_part2.d: Following the new format. * opcodes/csky-dis.c (csky_output_operand): %.7g replaces %f.
Diffstat (limited to 'gas')
-rw-r--r--gas/testsuite/gas/csky/pr28168.d12
-rw-r--r--gas/testsuite/gas/csky/pr28168.s1
-rw-r--r--gas/testsuite/gas/csky/v2_float_part2.d16
3 files changed, 21 insertions, 8 deletions
diff --git a/gas/testsuite/gas/csky/pr28168.d b/gas/testsuite/gas/csky/pr28168.d
new file mode 100644
index 0000000..0e7d6da
--- /dev/null
+++ b/gas/testsuite/gas/csky/pr28168.d
@@ -0,0 +1,12 @@
+#as: -mcpu=ck807f
+#objdump: -d
+
+
+.*: +file format .*csky.*
+
+Disassembly of section \.text:
+
+00000000 <\.text>:
+[ ]+[0-9a-f]+:[ ]+f4003910[ ]+flrwd[ ]+fr0, 8\.721012e\+150
+[ ]+[0-9a-f]+:[ ]+417f3259[ ]+\.long[ ]+0x417f3259
+[ ]+[0-9a-f]+:[ ]+5f45504f[ ]+\.long[ ]+0x5f45504f
diff --git a/gas/testsuite/gas/csky/pr28168.s b/gas/testsuite/gas/csky/pr28168.s
new file mode 100644
index 0000000..323eed4
--- /dev/null
+++ b/gas/testsuite/gas/csky/pr28168.s
@@ -0,0 +1 @@
+flrwd fr0, 8.721012e+150
diff --git a/gas/testsuite/gas/csky/v2_float_part2.d b/gas/testsuite/gas/csky/v2_float_part2.d
index 78fa37b..ecb6c15 100644
--- a/gas/testsuite/gas/csky/v2_float_part2.d
+++ b/gas/testsuite/gas/csky/v2_float_part2.d
@@ -6,15 +6,15 @@
Disassembly of section \.text:
#...
-\s*[0-9a-f]*:\s*f4003882\s*flrws\s*fr2,\s*3\.140000
-\s*[0-9a-f]*:\s*f50b1c02\s*fmovis\s*fr2,\s*1\.500000
-\s*[0-9a-f]*:\s*f51b1c02\s*fmovis\s*fr2,\s*-1\.500000
-\s*[0-9a-f]*:\s*f48a1c02\s*fmovis\s*fr2,\s*2\.500000
+\s*[0-9a-f]*:\s*f4003882\s*flrws\s*fr2,\s*3\.14
+\s*[0-9a-f]*:\s*f50b1c02\s*fmovis\s*fr2,\s*1\.5
+\s*[0-9a-f]*:\s*f51b1c02\s*fmovis\s*fr2,\s*-1\.5
+\s*[0-9a-f]*:\s*f48a1c02\s*fmovis\s*fr2,\s*2\.5
#...
-\s*[0-9a-f]*:\s*f4003952\s*flrwd\s*fr2,\s*3\.140000
-\s*[0-9a-f]*:\s*f48a1e02\s*fmovid\s*fr2,\s*2\.500000
-\s*[0-9a-f]*:\s*f49a1e02\s*fmovid\s*fr2,\s*-2\.500000
-\s*[0-9a-f]*:\s*f51b1e02\s*fmovid\s*fr2,\s*-1\.500000
+\s*[0-9a-f]*:\s*f4003952\s*flrwd\s*fr2,\s*3\.14
+\s*[0-9a-f]*:\s*f48a1e02\s*fmovid\s*fr2,\s*2\.5
+\s*[0-9a-f]*:\s*f49a1e02\s*fmovid\s*fr2,\s*-2\.5
+\s*[0-9a-f]*:\s*f51b1e02\s*fmovid\s*fr2,\s*-1\.5
\s*[0-9a-f]*:\s*4048f5c3\s*\.long\s*0x4048f5c3
\s*[0-9a-f]*:\s*51eb851f\s*\.long\s*0x51eb851f
\s*[0-9a-f]*:\s*40091eb8\s*\.long\s*0x40091eb8