* gas/mmix/op-0-1.d, gas/mmix/pushj-c.d, gas/mmix/weak1.d: Add
authorHans-Peter Nilsson <hp@axis.com>
Sat, 18 Oct 2003 16:00:21 +0000 (16:00 +0000)
committerHans-Peter Nilsson <hp@axis.com>
Sat, 18 Oct 2003 16:00:21 +0000 (16:00 +0000)
--no-pushj-stubs option.
* gas/mmix/reloclab-r.d, gas/mmix/reloclab.d: Add --no-stubs
option.
* gas/mmix/reloclab.l: Adjust for PUSHJ stub.
* gas/mmix/pushj-cs.d, gas/mmix/reloclab-s.d, gas/mmix/relax2.s,
gas/mmix/relax2.d, gas/mmix/op-0-1s.d, gas/mmix/reloclab-rs.d,
gas/mmix/weak1-s.d: New tests.

14 files changed:
gas/testsuite/ChangeLog
gas/testsuite/gas/mmix/op-0-1.d
gas/testsuite/gas/mmix/op-0-1s.d [new file with mode: 0644]
gas/testsuite/gas/mmix/pushj-c.d
gas/testsuite/gas/mmix/pushj-cs.d [new file with mode: 0644]
gas/testsuite/gas/mmix/relax2.d [new file with mode: 0644]
gas/testsuite/gas/mmix/relax2.s [new file with mode: 0644]
gas/testsuite/gas/mmix/reloclab-r.d
gas/testsuite/gas/mmix/reloclab-rs.d [new file with mode: 0644]
gas/testsuite/gas/mmix/reloclab-s.d [new file with mode: 0644]
gas/testsuite/gas/mmix/reloclab.d
gas/testsuite/gas/mmix/reloclab.l
gas/testsuite/gas/mmix/weak1-s.d [new file with mode: 0644]
gas/testsuite/gas/mmix/weak1.d

index 22f356393cadea4f36a25bc1aba802c731aa73b4..87e242c24a998f2c79ef729a3b4d8722bd07d44f 100644 (file)
@@ -1,3 +1,14 @@
+2003-10-18  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * gas/mmix/op-0-1.d, gas/mmix/pushj-c.d, gas/mmix/weak1.d: Add
+       --no-pushj-stubs option.
+       * gas/mmix/reloclab-r.d, gas/mmix/reloclab.d: Add --no-stubs
+       option.
+       * gas/mmix/reloclab.l: Adjust for PUSHJ stub.
+       * gas/mmix/pushj-cs.d, gas/mmix/reloclab-s.d, gas/mmix/relax2.s,
+       gas/mmix/relax2.d, gas/mmix/op-0-1s.d, gas/mmix/reloclab-rs.d,
+       gas/mmix/weak1-s.d: New tests.
+
 2003-10-17  Ian Lance Taylor  <ian@wasabisystems.com>
 
        * gas/arm/iwmmxt-bad.s: New file.
index 85791e8caec666eb59e3427a3c6778d325ac49dc..f76f0eace6ac7f7523c6ad1a5cdf7edd8f934a38 100644 (file)
@@ -1,5 +1,5 @@
 #objdump: -srt
-#as: -x
+#as: -x --no-stubs
 
 .*:     file format elf64-mmix
 
diff --git a/gas/testsuite/gas/mmix/op-0-1s.d b/gas/testsuite/gas/mmix/op-0-1s.d
new file mode 100644 (file)
index 0000000..1af0b81
--- /dev/null
@@ -0,0 +1,22 @@
+#objdump: -srt
+#source: op-0-1.s
+#as: -x
+
+.*:     file format elf64-mmix
+SYMBOL TABLE:
+0+ l    d  \.text      0+ 
+0+ l    d  \.data      0+ 
+0+ l    d  \.bss       0+ 
+0+ l       \*ABS\*     0+ zero0
+0+ l       \*ABS\*     0+ zero1
+0+ l       \*ABS\*     0+ zero2
+0+ g     F \.text      0+ Main
+RELOCATION RECORDS FOR \[\.text\]:
+OFFSET           TYPE              VALUE 
+0+ R_MMIX_JMP        \*ABS\*
+0+14 R_MMIX_GETA       \*ABS\*
+0+24 R_MMIX_PUSHJ_STUBBABLE  \*ABS\*
+Contents of section \.text:
+ 0000 f0000000 fd000000 fd000000 fd000000  .*
+ 0010 fd000000 f4070000 fd000000 fd000000  .*
+ 0020 fd000000 f2080000                    .*
index c4c2746d436a7d540a45bc0f5c8ad3d7c84a102c..093466b8b2927e7abf60f2db3f72a71a0d15ac21 100644 (file)
@@ -1,4 +1,4 @@
-#as: -x
+#as: -x --no-pushj-stubs
 #objdump: -tdr
 
 .*:     file format elf64-mmix
diff --git a/gas/testsuite/gas/mmix/pushj-cs.d b/gas/testsuite/gas/mmix/pushj-cs.d
new file mode 100644 (file)
index 0000000..7112c5d
--- /dev/null
@@ -0,0 +1,18 @@
+#as: -x
+#source: pushj-c.s
+#objdump: -tdr
+
+.*:     file format elf64-mmix
+SYMBOL TABLE:
+0+ l    d  .text       0+ 
+0+ l    d  .data       0+ 
+0+ l    d  .bss        0+ 
+ffff0000ffff0000 l       \*ABS\*       0+ i1
+ffff0000ffff0000 l       \*ABS\*       0+ i2
+0+ g     F .text       0+ Main
+Disassembly of section \.text:
+0+ <Main>:
+   0:  f2010000        pushj \$1,0 <Main>
+                       0: R_MMIX_PUSHJ_STUBBABLE       \*ABS\*\+0xffff0000ffff0000
+   4:  f2020000        pushj \$2,4 <Main\+0x4>
+                       4: R_MMIX_PUSHJ_STUBBABLE       i2
diff --git a/gas/testsuite/gas/mmix/relax2.d b/gas/testsuite/gas/mmix/relax2.d
new file mode 100644 (file)
index 0000000..aca89d3
--- /dev/null
@@ -0,0 +1,251 @@
+#objdump: -r
+#as: -x
+
+.*:     file format elf64-mmix
+R.* \[\.text\.a0\]:
+O.*
+0+40004 R_MMIX_PUSHJ      \.text\.a0
+0+40018 R_MMIX_PUSHJ      \.text\.a0\+0x0+4
+R.* \[\.text\.b0\]:
+O.*
+0+40004 R_MMIX_PUSHJ      \.text\.b0
+0+40018 R_MMIX_PUSHJ      \.text\.b0\+0x0+4
+0+4002c R_MMIX_PUSHJ      \.text\.b0\+0x0+8
+R.* \[\.text\.c0\]:
+O.*
+0+ R_MMIX_PUSHJ      ca0
+0+14 R_MMIX_PUSHJ      cb0
+R.* \[\.text\.d0\]:
+O.*
+0+ R_MMIX_PUSHJ      da0
+0+14 R_MMIX_PUSHJ      db0
+0+28 R_MMIX_PUSHJ      dc0
+R.* \[\.text\.a1\]:
+O.*
+0+40004 R_MMIX_PUSHJ      \.text\.a1
+0+40018 R_MMIX_PUSHJ_STUBBABLE  \.text\.a1\+0x0+4
+R.* \[\.text\.b1\]:
+O.*
+0+40004 R_MMIX_PUSHJ      \.text\.b1
+0+40018 R_MMIX_PUSHJ      \.text\.b1\+0x0+4
+0+4002c R_MMIX_PUSHJ_STUBBABLE  \.text\.b1\+0x0+8
+R.* \[\.text\.c1\]:
+O.*
+0+ R_MMIX_PUSHJ      ca1
+0+14 R_MMIX_PUSHJ_STUBBABLE  cb1
+R.* \[\.text\.d1\]:
+O.*
+0+ R_MMIX_PUSHJ      da1
+0+14 R_MMIX_PUSHJ      db1
+0+28 R_MMIX_PUSHJ_STUBBABLE  dc1
+
+# The following shows a limitation of the PUSHJ relaxation code when
+# PUSHJ:s are close, and about 256k away from the section limit: On the
+# first relaxation iteration, the first (or second) PUSHJ looks like it
+# could reach a stub.  However, the last PUSHJ is expanded and on the
+# second iteration, the stubbed PUSHJ has to be expanded too because it
+# can't reach the stubs anymore.  This continues for the next iterations,
+# because the max stub size is five tetrabytes (4-bytes).  At the expense
+# of much more complex relaxation code (including the relaxation machinery
+# in write.c), this is fixable.  Anyway, as long as PUSHJ:s aren't closer
+# than five instructions, the existing code does suffice; we're just here
+# to check that the border case *works* and doesn't generate invalid code.
+
+R.* \[\.text\.a2\]:
+O.*
+0+40004 R_MMIX_PUSHJ      \.text\.a2
+0+40018 R_MMIX_PUSHJ      \.text\.a2\+0x0+4
+R.* \[\.text\.b2\]:
+O.*
+0+40004 R_MMIX_PUSHJ      \.text\.b2
+0+40018 R_MMIX_PUSHJ      \.text\.b2\+0x0+4
+0+4002c R_MMIX_PUSHJ      \.text\.b2\+0x0+8
+R.* \[\.text\.c2\]:
+O.*
+0+ R_MMIX_PUSHJ      ca2
+0+14 R_MMIX_PUSHJ      cb2
+R.* \[\.text\.d2\]:
+O.*
+0+ R_MMIX_PUSHJ      da2
+0+14 R_MMIX_PUSHJ      db2
+0+28 R_MMIX_PUSHJ      dc2
+R.* \[\.text\.a3\]:
+O.*
+0+40004 R_MMIX_PUSHJ      \.text\.a3
+0+40018 R_MMIX_PUSHJ      \.text\.a3\+0x0+4
+R.* \[\.text\.b3\]:
+O.*
+0+40004 R_MMIX_PUSHJ      \.text\.b3
+0+40018 R_MMIX_PUSHJ      \.text\.b3\+0x0+4
+0+4002c R_MMIX_PUSHJ      \.text\.b3\+0x0+8
+R.* \[\.text\.c3\]:
+O.*
+0+ R_MMIX_PUSHJ      ca3
+0+14 R_MMIX_PUSHJ      cb3
+R.* \[\.text\.d3\]:
+O.*
+0+ R_MMIX_PUSHJ      da3
+0+14 R_MMIX_PUSHJ      db3
+0+28 R_MMIX_PUSHJ      dc3
+R.* \[\.text\.a4\]:
+O.*
+0+40004 R_MMIX_PUSHJ      \.text\.a4
+0+40018 R_MMIX_PUSHJ      \.text\.a4\+0x0+4
+R.* \[\.text\.b4\]:
+O.*
+0+40004 R_MMIX_PUSHJ      \.text\.b4
+0+40018 R_MMIX_PUSHJ      \.text\.b4\+0x0+4
+0+4002c R_MMIX_PUSHJ      \.text\.b4\+0x0+8
+R.* \[\.text\.c4\]:
+O.*
+0+ R_MMIX_PUSHJ      ca4
+0+14 R_MMIX_PUSHJ      cb4
+R.* \[\.text\.d4\]:
+O.*
+0+ R_MMIX_PUSHJ      da4
+0+14 R_MMIX_PUSHJ      db4
+0+28 R_MMIX_PUSHJ      dc4
+R.* \[\.text\.a5\]:
+O.*
+0+40004 R_MMIX_PUSHJ      \.text\.a5
+0+40018 R_MMIX_PUSHJ      \.text\.a5\+0x0+4
+R.* \[\.text\.b5\]:
+O.*
+0+40004 R_MMIX_PUSHJ      \.text\.b5
+0+40018 R_MMIX_PUSHJ      \.text\.b5\+0x0+4
+0+4002c R_MMIX_PUSHJ      \.text\.b5\+0x0+8
+R.* \[\.text\.c5\]:
+O.*
+0+ R_MMIX_PUSHJ      ca5
+0+14 R_MMIX_PUSHJ      cb5
+R.* \[\.text\.d5\]:
+O.*
+0+ R_MMIX_PUSHJ      da5
+0+14 R_MMIX_PUSHJ      db5
+0+28 R_MMIX_PUSHJ      dc5
+R.* \[\.text\.a6\]:
+O.*
+0+40004 R_MMIX_PUSHJ_STUBBABLE  \.text\.a6
+0+40008 R_MMIX_PUSHJ_STUBBABLE  \.text\.a6\+0x0+4
+R.* \[\.text\.b6\]:
+O.*
+0+40004 R_MMIX_PUSHJ      \.text\.b6
+0+40018 R_MMIX_PUSHJ      \.text\.b6\+0x0+4
+0+4002c R_MMIX_PUSHJ_STUBBABLE  \.text\.b6\+0x0+8
+R.* \[\.text\.c6\]:
+O.*
+0+ R_MMIX_PUSHJ_STUBBABLE  ca6
+0+4 R_MMIX_PUSHJ_STUBBABLE  cb6
+R.* \[\.text\.d6\]:
+O.*
+0+ R_MMIX_PUSHJ      da6
+0+14 R_MMIX_PUSHJ      db6
+0+28 R_MMIX_PUSHJ_STUBBABLE  dc6
+R.* \[\.text\.a7\]:
+O.*
+0+40004 R_MMIX_PUSHJ_STUBBABLE  \.text\.a7
+0+40008 R_MMIX_PUSHJ_STUBBABLE  \.text\.a7\+0x0+4
+R.* \[\.text\.b7\]:
+O.*
+0+40004 R_MMIX_PUSHJ      \.text\.b7
+0+40018 R_MMIX_PUSHJ      \.text\.b7\+0x0+4
+0+4002c R_MMIX_PUSHJ      \.text\.b7\+0x0+8
+R.* \[\.text\.c7\]:
+O.*
+0+ R_MMIX_PUSHJ_STUBBABLE  ca7
+0+4 R_MMIX_PUSHJ_STUBBABLE  cb7
+R.* \[\.text\.d7\]:
+O.*
+0+ R_MMIX_PUSHJ      da7
+0+14 R_MMIX_PUSHJ      db7
+0+28 R_MMIX_PUSHJ      dc7
+R.* \[\.text\.a8\]:
+O.*
+0+40004 R_MMIX_PUSHJ_STUBBABLE  \.text\.a8
+0+40008 R_MMIX_PUSHJ_STUBBABLE  \.text\.a8\+0x0+4
+R.* \[\.text\.b8\]:
+O.*
+0+40004 R_MMIX_PUSHJ      \.text\.b8
+0+40018 R_MMIX_PUSHJ      \.text\.b8\+0x0+4
+0+4002c R_MMIX_PUSHJ      \.text\.b8\+0x0+8
+R.* \[\.text\.c8\]:
+O.*
+0+ R_MMIX_PUSHJ_STUBBABLE  ca8
+0+4 R_MMIX_PUSHJ_STUBBABLE  cb8
+R.* \[\.text\.d8\]:
+O.*
+0+ R_MMIX_PUSHJ      da8
+0+14 R_MMIX_PUSHJ      db8
+0+28 R_MMIX_PUSHJ      dc8
+R.* \[\.text\.a9\]:
+O.*
+0+40004 R_MMIX_PUSHJ_STUBBABLE  \.text\.a9
+0+40008 R_MMIX_PUSHJ_STUBBABLE  \.text\.a9\+0x0+4
+R.* \[\.text\.b9\]:
+O.*
+0+40004 R_MMIX_PUSHJ      \.text\.b9
+0+40018 R_MMIX_PUSHJ      \.text\.b9\+0x0+4
+0+4002c R_MMIX_PUSHJ      \.text\.b9\+0x0+8
+R.* \[\.text\.c9\]:
+O.*
+0+ R_MMIX_PUSHJ_STUBBABLE  ca9
+0+4 R_MMIX_PUSHJ_STUBBABLE  cb9
+R.* \[\.text\.d9\]:
+O.*
+0+ R_MMIX_PUSHJ      da9
+0+14 R_MMIX_PUSHJ      db9
+0+28 R_MMIX_PUSHJ      dc9
+R.* \[\.text\.a10\]:
+O.*
+0+40004 R_MMIX_PUSHJ_STUBBABLE  \.text\.a10
+0+40008 R_MMIX_PUSHJ_STUBBABLE  \.text\.a10\+0x0+4
+R.* \[\.text\.b10\]:
+O.*
+0+40004 R_MMIX_PUSHJ      \.text\.b10
+0+40018 R_MMIX_PUSHJ      \.text\.b10\+0x0+4
+0+4002c R_MMIX_PUSHJ      \.text\.b10\+0x0+8
+R.* \[\.text\.c10\]:
+O.*
+0+ R_MMIX_PUSHJ_STUBBABLE  ca10
+0+4 R_MMIX_PUSHJ_STUBBABLE  cb10
+R.* \[\.text\.d10\]:
+O.*
+0+ R_MMIX_PUSHJ      da10
+0+14 R_MMIX_PUSHJ      db10
+0+28 R_MMIX_PUSHJ      dc10
+R.* \[\.text\.a11\]:
+O.*
+0+40004 R_MMIX_PUSHJ_STUBBABLE  \.text\.a11
+0+40008 R_MMIX_PUSHJ_STUBBABLE  \.text\.a11\+0x0+4
+R.* \[\.text\.b11\]:
+O.*
+0+40004 R_MMIX_PUSHJ_STUBBABLE  \.text\.b11
+0+40008 R_MMIX_PUSHJ_STUBBABLE  \.text\.b11\+0x0+4
+0+4000c R_MMIX_PUSHJ_STUBBABLE  \.text\.b11\+0x0+8
+R.* \[\.text\.c11\]:
+O.*
+0+ R_MMIX_PUSHJ_STUBBABLE  ca11
+0+4 R_MMIX_PUSHJ_STUBBABLE  cb11
+R.* \[\.text\.d11\]:
+O.*
+0+ R_MMIX_PUSHJ_STUBBABLE  da11
+0+4 R_MMIX_PUSHJ_STUBBABLE  db11
+0+8 R_MMIX_PUSHJ_STUBBABLE  dc11
+R.* \[\.text\.a12\]:
+O.*
+0+40004 R_MMIX_PUSHJ_STUBBABLE  \.text\.a12
+0+40008 R_MMIX_PUSHJ_STUBBABLE  \.text\.a12\+0x0+4
+R.* \[\.text\.b12\]:
+O.*
+0+40004 R_MMIX_PUSHJ_STUBBABLE  \.text\.b12
+0+40008 R_MMIX_PUSHJ_STUBBABLE  \.text\.b12\+0x0+4
+0+4000c R_MMIX_PUSHJ_STUBBABLE  \.text\.b12\+0x0+8
+R.* \[\.text\.c12\]:
+O.*
+0+ R_MMIX_PUSHJ_STUBBABLE  ca12
+0+4 R_MMIX_PUSHJ_STUBBABLE  cb12
+R.* \[\.text\.d12\]:
+O.*
+0+ R_MMIX_PUSHJ_STUBBABLE  da12
+0+4 R_MMIX_PUSHJ_STUBBABLE  db12
+0+8 R_MMIX_PUSHJ_STUBBABLE  dc12
diff --git a/gas/testsuite/gas/mmix/relax2.s b/gas/testsuite/gas/mmix/relax2.s
new file mode 100644 (file)
index 0000000..8db8f1a
--- /dev/null
@@ -0,0 +1,35 @@
+# PUSHJ stub border-cases: two with either or both stubs unreachable,
+# local symbols, ditto non-local labels, similar with three PUSHJs.
+
+Main   SWYM
+
+       .irp x,0,1,2,3,4,5,6,7,8,9,10,11,12
+
+       .section .text.a\x,"ax"
+aa\x:  .space 4,0
+a\x:   .space 65536*4,0
+       PUSHJ $33,aa\x
+       PUSHJ $22,a\x
+       .space 65535*4-4*\x
+
+       .section .text.b\x,"ax"
+bbb\x: .space 4,0
+bb\x:  .space 4,0
+b\x:   .space 65535*4
+       PUSHJ $12,bbb\x
+       PUSHJ $13,bb\x
+       PUSHJ $14,b\x
+       .space 65535*4-4*\x
+
+       .section .text.c\x,"ax"
+c\x:   PUSHJ $100,ca\x
+       PUSHJ $101,cb\x
+       .space 65535*4-4*\x
+
+       .section .text.d\x,"ax"
+d\x:   PUSHJ $99,da\x
+       PUSHJ $98,db\x
+       PUSHJ $97,dc\x
+       .space 65535*4-4*\x
+
+       .endr
index 57798492b88dcd47d0252500e90ccda979550f18..401c498e62e521876653cb71dce97d098ced14e4 100644 (file)
@@ -1,5 +1,5 @@
 #objdump: -dr
-#as: -linkrelax -x
+#as: -linkrelax -x --no-stubs
 #source: reloclab.s
 .*:     file format elf64-mmix
 
diff --git a/gas/testsuite/gas/mmix/reloclab-rs.d b/gas/testsuite/gas/mmix/reloclab-rs.d
new file mode 100644 (file)
index 0000000..f6b7ee1
--- /dev/null
@@ -0,0 +1,42 @@
+#objdump: -dr
+#as: -linkrelax -x
+#source: reloclab.s
+
+.*:     file format elf64-mmix
+Disassembly of section \.text:
+0000000000000000 <Main>:
+   0:  f0000000        jmp 0 <Main>
+                       0: R_MMIX_JMP   foo\+0x8
+   4:  fd000000        swym 0,0,0
+   8:  fd000000        swym 0,0,0
+   c:  fd000000        swym 0,0,0
+  10:  fd000000        swym 0,0,0
+  14:  f0000004        jmp 24 <here>
+                       14: R_MMIX_ADDR27       \.text\+0x24
+  18:  f4080003        geta \$8,24 <here>
+                       18: R_MMIX_ADDR19       \.text\+0x24
+  1c:  46630002        bod \$99,24 <here>
+                       1c: R_MMIX_ADDR19       \.text\+0x24
+  20:  fd000000        swym 0,0,0
+0000000000000024 <here>:
+  24:  42de0000        bz \$222,24 <here>
+                       24: R_MMIX_CBRANCH      bar\+0x10
+  28:  fd000000        swym 0,0,0
+  2c:  fd000000        swym 0,0,0
+  30:  fd000000        swym 0,0,0
+  34:  fd000000        swym 0,0,0
+  38:  fd000000        swym 0,0,0
+000000000000003c <there>:
+  3c:  f4040000        geta \$4,3c <there>
+                       3c: R_MMIX_GETA baz
+  40:  fd000000        swym 0,0,0
+  44:  fd000000        swym 0,0,0
+  48:  fd000000        swym 0,0,0
+  4c:  f2070000        pushj \$7,4c <there\+0x10>
+                       4c: R_MMIX_PUSHJ_STUBBABLE      foobar
+  50:  f1fffffb        jmp 3c <there>
+                       50: R_MMIX_ADDR27       \.text\+0x3c
+  54:  f558fffa        geta \$88,3c <there>
+                       54: R_MMIX_ADDR19       \.text\+0x3c
+  58:  476ffff9        bod \$111,3c <there>
+                       58: R_MMIX_ADDR19       \.text\+0x3c
diff --git a/gas/testsuite/gas/mmix/reloclab-s.d b/gas/testsuite/gas/mmix/reloclab-s.d
new file mode 100644 (file)
index 0000000..98f07cd
--- /dev/null
@@ -0,0 +1,36 @@
+#objdump: -dr
+#source: reloclab.s
+#as: -x
+
+.*:     file format elf64-mmix
+Disassembly of section \.text:
+0000000000000000 <Main>:
+   0:  f0000000        jmp 0 <Main>
+                       0: R_MMIX_JMP   foo\+0x8
+   4:  fd000000        swym 0,0,0
+   8:  fd000000        swym 0,0,0
+   c:  fd000000        swym 0,0,0
+  10:  fd000000        swym 0,0,0
+  14:  f0000004        jmp 24 <here>
+  18:  f4080003        geta \$8,24 <here>
+  1c:  46630002        bod \$99,24 <here>
+  20:  fd000000        swym 0,0,0
+0000000000000024 <here>:
+  24:  42de0000        bz \$222,24 <here>
+                       24: R_MMIX_CBRANCH      bar\+0x10
+  28:  fd000000        swym 0,0,0
+  2c:  fd000000        swym 0,0,0
+  30:  fd000000        swym 0,0,0
+  34:  fd000000        swym 0,0,0
+  38:  fd000000        swym 0,0,0
+000000000000003c <there>:
+  3c:  f4040000        geta \$4,3c <there>
+                       3c: R_MMIX_GETA baz
+  40:  fd000000        swym 0,0,0
+  44:  fd000000        swym 0,0,0
+  48:  fd000000        swym 0,0,0
+  4c:  f2070000        pushj \$7,4c <there\+0x10>
+                       4c: R_MMIX_PUSHJ_STUBBABLE      foobar
+  50:  f1fffffb        jmp 3c <there>
+  54:  f558fffa        geta \$88,3c <there>
+  58:  476ffff9        bod \$111,3c <there>
index a9c72f0689b77a554ce8014c97b44938f6c108c1..2a246c9523429953af6894a39e8e222e246043ae 100644 (file)
@@ -1,5 +1,5 @@
 #objdump: -dr
-#as: -x
+#as: -x --no-stubs
 
 .*:     file format elf64-mmix
 
index 1045c5cb4e1cb63ffe3f5fa22543b5f3278c8919..cccf4f199b9c8e31675ecdfb81c94b866027f808 100644 (file)
@@ -24,13 +24,9 @@ GAS for MMIX .*/reloclab\.s                  page 1
   10      FD000000 
   10      FD000000 
   11 004c F2070000             PUSHJ \$7,foobar
-  11      FD000000 
-  11      FD000000 
-  11      FD000000 
-  11      FD000000 
-  12 0060 F1FFFFF7             JMP there
-  13 0064 F558FFF6             GETA \$88,there
-  14 0068 476FFFF5             BOD \$111,there
+  12 0050 F1FFFFFB             JMP there
+  13 0054 F558FFFA             GETA \$88,there
+  14 0058 476FFFF9             BOD \$111,there
 \fGAS for MMIX .*/reloclab\.s                   page 2
 
 
diff --git a/gas/testsuite/gas/mmix/weak1-s.d b/gas/testsuite/gas/mmix/weak1-s.d
new file mode 100644 (file)
index 0000000..a929383
--- /dev/null
@@ -0,0 +1,19 @@
+#as: -x
+#source: weak1.s
+#objdump: -str
+
+# Like weak1, but with PUSHJ stubs.
+
+.*:     file format elf64-mmix
+SYMBOL TABLE:
+0+ l    d  \.text      0+ 
+0+ l    d  \.data      0+ 
+0+ l    d  \.bss       0+ 
+0+  w      \.text      0+ foo
+0+4 g       \.text     0+ main
+RELOCATION RECORDS FOR \[\.text\]:
+OFFSET           TYPE              VALUE 
+0+8 R_MMIX_64         foo
+0+4 R_MMIX_PUSHJ_STUBBABLE  foo
+Contents of section \.text:
+ 0000 f8010000 f20f0000 00000000 00000000  .*
index c51726d4d3d1bb795895cdb092be6322179bb298..dfe6d7c82fdae080cb191527b29066caf008e19c 100644 (file)
@@ -1,4 +1,4 @@
-#as: -x
+#as: -x --no-pushj-stubs
 #objdump: -str
 
 # Relaxation thought a weak symbol was within reach.