diff options
-rw-r--r-- | gas/testsuite/ChangeLog | 11 | ||||
-rw-r--r-- | gas/testsuite/gas/mmix/op-0-1.d | 2 | ||||
-rw-r--r-- | gas/testsuite/gas/mmix/op-0-1s.d | 22 | ||||
-rw-r--r-- | gas/testsuite/gas/mmix/pushj-c.d | 2 | ||||
-rw-r--r-- | gas/testsuite/gas/mmix/pushj-cs.d | 18 | ||||
-rw-r--r-- | gas/testsuite/gas/mmix/relax2.d | 251 | ||||
-rw-r--r-- | gas/testsuite/gas/mmix/relax2.s | 35 | ||||
-rw-r--r-- | gas/testsuite/gas/mmix/reloclab-r.d | 2 | ||||
-rw-r--r-- | gas/testsuite/gas/mmix/reloclab-rs.d | 42 | ||||
-rw-r--r-- | gas/testsuite/gas/mmix/reloclab-s.d | 36 | ||||
-rw-r--r-- | gas/testsuite/gas/mmix/reloclab.d | 2 | ||||
-rw-r--r-- | gas/testsuite/gas/mmix/reloclab.l | 10 | ||||
-rw-r--r-- | gas/testsuite/gas/mmix/weak1-s.d | 19 | ||||
-rw-r--r-- | gas/testsuite/gas/mmix/weak1.d | 2 |
14 files changed, 442 insertions, 12 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 22f3563..87e242c 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -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. diff --git a/gas/testsuite/gas/mmix/op-0-1.d b/gas/testsuite/gas/mmix/op-0-1.d index 85791e8..f76f0ea 100644 --- a/gas/testsuite/gas/mmix/op-0-1.d +++ b/gas/testsuite/gas/mmix/op-0-1.d @@ -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 index 0000000..1af0b81 --- /dev/null +++ b/gas/testsuite/gas/mmix/op-0-1s.d @@ -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 .* diff --git a/gas/testsuite/gas/mmix/pushj-c.d b/gas/testsuite/gas/mmix/pushj-c.d index c4c2746..093466b 100644 --- a/gas/testsuite/gas/mmix/pushj-c.d +++ b/gas/testsuite/gas/mmix/pushj-c.d @@ -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 index 0000000..7112c5d --- /dev/null +++ b/gas/testsuite/gas/mmix/pushj-cs.d @@ -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 index 0000000..aca89d3 --- /dev/null +++ b/gas/testsuite/gas/mmix/relax2.d @@ -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 index 0000000..8db8f1a --- /dev/null +++ b/gas/testsuite/gas/mmix/relax2.s @@ -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 diff --git a/gas/testsuite/gas/mmix/reloclab-r.d b/gas/testsuite/gas/mmix/reloclab-r.d index 5779849..401c498 100644 --- a/gas/testsuite/gas/mmix/reloclab-r.d +++ b/gas/testsuite/gas/mmix/reloclab-r.d @@ -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 index 0000000..f6b7ee1 --- /dev/null +++ b/gas/testsuite/gas/mmix/reloclab-rs.d @@ -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 index 0000000..98f07cd --- /dev/null +++ b/gas/testsuite/gas/mmix/reloclab-s.d @@ -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> diff --git a/gas/testsuite/gas/mmix/reloclab.d b/gas/testsuite/gas/mmix/reloclab.d index a9c72f0..2a246c9 100644 --- a/gas/testsuite/gas/mmix/reloclab.d +++ b/gas/testsuite/gas/mmix/reloclab.d @@ -1,5 +1,5 @@ #objdump: -dr -#as: -x +#as: -x --no-stubs .*: file format elf64-mmix diff --git a/gas/testsuite/gas/mmix/reloclab.l b/gas/testsuite/gas/mmix/reloclab.l index 1045c5c..cccf4f1 100644 --- a/gas/testsuite/gas/mmix/reloclab.l +++ b/gas/testsuite/gas/mmix/reloclab.l @@ -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 GAS 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 index 0000000..a929383 --- /dev/null +++ b/gas/testsuite/gas/mmix/weak1-s.d @@ -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 .* diff --git a/gas/testsuite/gas/mmix/weak1.d b/gas/testsuite/gas/mmix/weak1.d index c51726d..dfe6d7c 100644 --- a/gas/testsuite/gas/mmix/weak1.d +++ b/gas/testsuite/gas/mmix/weak1.d @@ -1,4 +1,4 @@ -#as: -x +#as: -x --no-pushj-stubs #objdump: -str # Relaxation thought a weak symbol was within reach. |