diff options
author | nobody <> | 2004-03-21 23:47:55 +0000 |
---|---|---|
committer | nobody <> | 2004-03-21 23:47:55 +0000 |
commit | 86bf824e11c1f0af1db78386725bea8bc83bd64f (patch) | |
tree | f835fc50606121379ae66ab1920e56fd573e3586 | |
parent | bcef353779b8a7b86032c29714c14f76eea2287f (diff) | |
download | binutils-86bf824e11c1f0af1db78386725bea8bc83bd64f.zip binutils-86bf824e11c1f0af1db78386725bea8bc83bd64f.tar.gz binutils-86bf824e11c1f0af1db78386725bea8bc83bd64f.tar.bz2 |
This commit was manufactured by cvs2svn to create branch 'binutils-
2_15-branch'.
Cherrypick from master 2004-03-21 23:47:54 UTC Hans-Peter Nilsson <hp@axis.com> ' * gas/cris/regreg.d: Assemble with --no-mul-bug-abort.':
gas/testsuite/gas/cris/mulbug-err-1.s
gas/testsuite/gas/cris/rd-mulbug-1.d
ld/testsuite/ld-elfvers/vers28a.c
ld/testsuite/ld-elfvers/vers28a.dsym
ld/testsuite/ld-elfvers/vers28a.ver
ld/testsuite/ld-elfvers/vers28b.c
ld/testsuite/ld-elfvers/vers28b.dsym
ld/testsuite/ld-elfvers/vers28b.map
ld/testsuite/ld-elfvers/vers28b.ver
ld/testsuite/ld-elfvers/vers28c.c
ld/testsuite/ld-elfvers/vers28c.dsym
ld/testsuite/ld-elfvers/vers28c.ver
-rw-r--r-- | gas/testsuite/gas/cris/mulbug-err-1.s | 55 | ||||
-rw-r--r-- | gas/testsuite/gas/cris/rd-mulbug-1.d | 24 | ||||
-rw-r--r-- | ld/testsuite/ld-elfvers/vers28a.c | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-elfvers/vers28a.dsym | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-elfvers/vers28a.ver | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-elfvers/vers28b.c | 3 | ||||
-rw-r--r-- | ld/testsuite/ld-elfvers/vers28b.dsym | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-elfvers/vers28b.map | 5 | ||||
-rw-r--r-- | ld/testsuite/ld-elfvers/vers28b.ver | 4 | ||||
-rw-r--r-- | ld/testsuite/ld-elfvers/vers28c.c | 7 | ||||
-rw-r--r-- | ld/testsuite/ld-elfvers/vers28c.dsym | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-elfvers/vers28c.ver | 4 |
12 files changed, 108 insertions, 0 deletions
diff --git a/gas/testsuite/gas/cris/mulbug-err-1.s b/gas/testsuite/gas/cris/mulbug-err-1.s new file mode 100644 index 0000000..fbd8303 --- /dev/null +++ b/gas/testsuite/gas/cris/mulbug-err-1.s @@ -0,0 +1,55 @@ +; Test error message for mul insns at locations likely to trig +; a hardware bug. + +; { dg-do assemble { target cris-*-* } } + + ; First, .text isn't dword-aligned by default. + .text + muls.w $r1,$r4 ; { dg-error "align" } + nop + muls.b $r1,$r4 ; { dg-error "align" } + mulu.d $r1,$r4 ; { dg-error "align" } + +; Neither are other code sections, aligned to word. + .section .text.1,"ax",@progbits + .p2align 1 + muls.w $r1,$r4 ; { dg-error "align" } + nop + mulu.b $r1,$r4 ; { dg-error "align" } + muls.d $r1,$r4 ; { dg-error "align" } + +; Now, a section aligned to dword. Errors for certain relative +; positions only. + .section .text.2,"ax",@progbits + .p2align 2 + mulu.w $r1,$r4 + nop + muls.d $r1,$r4 + mulu.w $r1,$r4 ; { dg-error "align" } + +; For good measure, a cache-line-aligned section. + .section .text.3,"ax",@progbits + .p2align 5 + muls.w $r1,$r4 + mulu.d $r4,$r1 + mulu.b $r1,$r4 + .rept 12 + nop + .endr + mulu.b $r1,$r4 ; { dg-error "align" } + mulu.b $r1,$r4 + +; Last, make sure typical alignment use by a fixed gcc passes. + .section .text.4,"ax",@progbits + .align 1 + moveq 0,$r13 + moveq 1,$r13 + .p2alignw 5,0x050f,2 + muls.d $r1,$r4 + .rept 12 + moveq 2,$r13 + .endr + .p2alignw 5,0x050f,2 + muls.w $r1,$r4 + .p2alignw 5,0x050f,2 + muls.b $r4,$r1 diff --git a/gas/testsuite/gas/cris/rd-mulbug-1.d b/gas/testsuite/gas/cris/rd-mulbug-1.d new file mode 100644 index 0000000..42ac192 --- /dev/null +++ b/gas/testsuite/gas/cris/rd-mulbug-1.d @@ -0,0 +1,24 @@ +#objdump: -s +#source: mulbug-err-1.s +#as: --em=criself --no-mul-bug-abort + +# Check that we don't get any errors or messages with +# "--no-mul-bug-abort". No checking for "--mul-bug-abort", +# though. + +.*: file format .*-cris + +Contents of section \.text: + 0+ 114d0f05 014d2149 .* +Contents of section \.text\.1: + 0+ 114d0f05 0149214d .* +Contents of section \.text\.2: + 0+ 11490f05 214d1149 .* +Contents of section \.text\.3: + 0+ 114d2419 01490f05 0f050f05 0f050f05 .* + 0+10 0f050f05 0f050f05 0f050f05 0f050149 .* + 0+20 0149 .* +Contents of section \.text\.4: + 0+ 40d241d2 214d42d2 42d242d2 42d242d2 .* + 0+10 42d242d2 42d242d2 42d242d2 42d20f05 .* + 0+20 114d041d .* diff --git a/ld/testsuite/ld-elfvers/vers28a.c b/ld/testsuite/ld-elfvers/vers28a.c new file mode 100644 index 0000000..f5be371 --- /dev/null +++ b/ld/testsuite/ld-elfvers/vers28a.c @@ -0,0 +1 @@ +void foo () {} diff --git a/ld/testsuite/ld-elfvers/vers28a.dsym b/ld/testsuite/ld-elfvers/vers28a.dsym new file mode 100644 index 0000000..932b798 --- /dev/null +++ b/ld/testsuite/ld-elfvers/vers28a.dsym @@ -0,0 +1 @@ +# Empty file diff --git a/ld/testsuite/ld-elfvers/vers28a.ver b/ld/testsuite/ld-elfvers/vers28a.ver new file mode 100644 index 0000000..932b798 --- /dev/null +++ b/ld/testsuite/ld-elfvers/vers28a.ver @@ -0,0 +1 @@ +# Empty file diff --git a/ld/testsuite/ld-elfvers/vers28b.c b/ld/testsuite/ld-elfvers/vers28b.c new file mode 100644 index 0000000..8186782 --- /dev/null +++ b/ld/testsuite/ld-elfvers/vers28b.c @@ -0,0 +1,3 @@ +#pragma weak foo + +void foo () {} diff --git a/ld/testsuite/ld-elfvers/vers28b.dsym b/ld/testsuite/ld-elfvers/vers28b.dsym new file mode 100644 index 0000000..e174c91 --- /dev/null +++ b/ld/testsuite/ld-elfvers/vers28b.dsym @@ -0,0 +1,2 @@ +[0]*[ ]+g[ ]+DO[ ]+\*ABS\*[ ]+[0]*[ ]+VERS.0[ ]+VERS.0 +[0-9a-f]*[ ]+w[ ]+DF[ ]+.text[ ]+[0-9a-f]*[ ]+VERS.0[ ]+(0x[0-9a-f]*|)[ ]*foo diff --git a/ld/testsuite/ld-elfvers/vers28b.map b/ld/testsuite/ld-elfvers/vers28b.map new file mode 100644 index 0000000..31bfc76 --- /dev/null +++ b/ld/testsuite/ld-elfvers/vers28b.map @@ -0,0 +1,5 @@ +VERS.0 { + global: + foo; + local: *; +}; diff --git a/ld/testsuite/ld-elfvers/vers28b.ver b/ld/testsuite/ld-elfvers/vers28b.ver new file mode 100644 index 0000000..ab99615 --- /dev/null +++ b/ld/testsuite/ld-elfvers/vers28b.ver @@ -0,0 +1,4 @@ +Version definitions: +1 0x01 0x0659990f vers28b.so +2 0x00 0x05aa7610 VERS.0 + diff --git a/ld/testsuite/ld-elfvers/vers28c.c b/ld/testsuite/ld-elfvers/vers28c.c new file mode 100644 index 0000000..55afb6c --- /dev/null +++ b/ld/testsuite/ld-elfvers/vers28c.c @@ -0,0 +1,7 @@ +extern void foo (); + +void +bar () +{ + foo (); +} diff --git a/ld/testsuite/ld-elfvers/vers28c.dsym b/ld/testsuite/ld-elfvers/vers28c.dsym new file mode 100644 index 0000000..37a1c43 --- /dev/null +++ b/ld/testsuite/ld-elfvers/vers28c.dsym @@ -0,0 +1 @@ +[0-9a-f]*[ ]+DF[ ]+\*UND\*[ ]+[0-9a-f]*[ ]+VERS.0[ ]+(0x[0-9a-f]*|)[ ]*foo diff --git a/ld/testsuite/ld-elfvers/vers28c.ver b/ld/testsuite/ld-elfvers/vers28c.ver new file mode 100644 index 0000000..1462686 --- /dev/null +++ b/ld/testsuite/ld-elfvers/vers28c.ver @@ -0,0 +1,4 @@ +Version References: + required from tmpdir/vers28b.so: + 0x05aa7610 0x00 02 VERS.0 + |