From 38259e95b66909ea5f2aba5e9c274c2b31816c4a Mon Sep 17 00:00:00 2001 From: nobody <> Date: Thu, 26 Feb 2009 22:07:34 +0000 Subject: [PATCH] This commit was manufactured by cvs2svn to create branch 'binutils- 2_19-branch'. Cherrypick from master 2009-02-26 22:07:33 UTC Peter Bergner 'gas/': gas/testsuite/gas/ppc/power4_32.d gas/testsuite/gas/ppc/power4_32.s gas/testsuite/gas/ppc/vsx.d gas/testsuite/gas/ppc/vsx.s ld/testsuite/ld-elf/linkoncerdiff.d ld/testsuite/ld-elf/linkoncerdiff1.s ld/testsuite/ld-elf/linkoncerdiff2.s ld/testsuite/ld-powerpc/vxworks-relax.rd ld/testsuite/ld-powerpc/vxworks-relax.s --- gas/testsuite/gas/ppc/power4_32.d | 46 ++++++ gas/testsuite/gas/ppc/power4_32.s | 39 +++++ gas/testsuite/gas/ppc/vsx.d | 174 +++++++++++++++++++++++ gas/testsuite/gas/ppc/vsx.s | 166 +++++++++++++++++++++ ld/testsuite/ld-elf/linkoncerdiff.d | 6 + ld/testsuite/ld-elf/linkoncerdiff1.s | 7 + ld/testsuite/ld-elf/linkoncerdiff2.s | 22 +++ ld/testsuite/ld-powerpc/vxworks-relax.rd | 9 ++ ld/testsuite/ld-powerpc/vxworks-relax.s | 13 ++ 9 files changed, 482 insertions(+) create mode 100644 gas/testsuite/gas/ppc/power4_32.d create mode 100644 gas/testsuite/gas/ppc/power4_32.s create mode 100644 gas/testsuite/gas/ppc/vsx.d create mode 100644 gas/testsuite/gas/ppc/vsx.s create mode 100644 ld/testsuite/ld-elf/linkoncerdiff.d create mode 100644 ld/testsuite/ld-elf/linkoncerdiff1.s create mode 100644 ld/testsuite/ld-elf/linkoncerdiff2.s create mode 100644 ld/testsuite/ld-powerpc/vxworks-relax.rd create mode 100644 ld/testsuite/ld-powerpc/vxworks-relax.s diff --git a/gas/testsuite/gas/ppc/power4_32.d b/gas/testsuite/gas/ppc/power4_32.d new file mode 100644 index 00000000000..1f2db94c7ba --- /dev/null +++ b/gas/testsuite/gas/ppc/power4_32.d @@ -0,0 +1,46 @@ +#objdump: -d -Mpower4 +#as: -a32 -mpower4 +#name: Power4 instructions + +.*: +file format elf32-powerpc.* + +Disassembly of section \.text: + +0+00 : + 0: 80 c7 00 00 lwz r6,0\(r7\) + 4: 80 c7 00 10 lwz r6,16\(r7\) + 8: 80 c7 ff f0 lwz r6,-16\(r7\) + c: 80 c7 80 00 lwz r6,-32768\(r7\) + 10: 80 c7 7f f0 lwz r6,32752\(r7\) + 14: 90 c7 00 00 stw r6,0\(r7\) + 18: 90 c7 00 10 stw r6,16\(r7\) + 1c: 90 c7 ff f0 stw r6,-16\(r7\) + 20: 90 c7 80 00 stw r6,-32768\(r7\) + 24: 90 c7 7f f0 stw r6,32752\(r7\) + 28: 00 00 02 00 attn + 2c: 7c 6f f1 20 mtcr r3 + 30: 7c 6f f1 20 mtcr r3 + 34: 7c 68 11 20 mtcrf 129,r3 + 38: 7c 70 11 20 mtocrf 1,r3 + 3c: 7c 70 21 20 mtocrf 2,r3 + 40: 7c 70 41 20 mtocrf 4,r3 + 44: 7c 70 81 20 mtocrf 8,r3 + 48: 7c 71 01 20 mtocrf 16,r3 + 4c: 7c 72 01 20 mtocrf 32,r3 + 50: 7c 74 01 20 mtocrf 64,r3 + 54: 7c 78 01 20 mtocrf 128,r3 + 58: 7c 60 00 26 mfcr r3 + 5c: 7c 70 10 26 mfocrf r3,1 + 60: 7c 70 20 26 mfocrf r3,2 + 64: 7c 70 40 26 mfocrf r3,4 + 68: 7c 70 80 26 mfocrf r3,8 + 6c: 7c 71 00 26 mfocrf r3,16 + 70: 7c 72 00 26 mfocrf r3,32 + 74: 7c 74 00 26 mfocrf r3,64 + 78: 7c 78 00 26 mfocrf r3,128 + 7c: 7c 01 17 ec dcbz r1,r2 + 80: 7c 23 27 ec dcbzl r3,r4 + 84: 7c 05 37 ec dcbz r5,r6 + 88: 7c 05 32 2c dcbt r5,r6 + 8c: 7c 05 32 2c dcbt r5,r6 + 90: 7d 05 32 2c dcbt r5,r6,8 diff --git a/gas/testsuite/gas/ppc/power4_32.s b/gas/testsuite/gas/ppc/power4_32.s new file mode 100644 index 00000000000..a2fd6a6c432 --- /dev/null +++ b/gas/testsuite/gas/ppc/power4_32.s @@ -0,0 +1,39 @@ + .section ".text" +start: + lwz 6,0(7) + lwz 6,16(7) + lwz 6,-16(7) + lwz 6,-32768(7) + lwz 6,32752(7) + stw 6,0(7) + stw 6,16(7) + stw 6,-16(7) + stw 6,-32768(7) + stw 6,32752(7) + attn + mtcr 3 + mtcrf 0xff,3 + mtcrf 0x81,3 + mtcrf 0x01,3 + mtcrf 0x02,3 + mtcrf 0x04,3 + mtcrf 0x08,3 + mtcrf 0x10,3 + mtcrf 0x20,3 + mtcrf 0x40,3 + mtcrf 0x80,3 + mfcr 3 + mfcr 3,0x01 + mfcr 3,0x02 + mfcr 3,0x04 + mfcr 3,0x08 + mfcr 3,0x10 + mfcr 3,0x20 + mfcr 3,0x40 + mfcr 3,0x80 + dcbz 1, 2 + dcbzl 3, 4 + dcbz 5, 6 + dcbt 5,6 + dcbt 5,6,0 + dcbt 5,6,8 diff --git a/gas/testsuite/gas/ppc/vsx.d b/gas/testsuite/gas/ppc/vsx.d new file mode 100644 index 00000000000..b73f47a181e --- /dev/null +++ b/gas/testsuite/gas/ppc/vsx.d @@ -0,0 +1,174 @@ +#as: -mvsx +#objdump: -d -Mvsx +#name: VSX tests + +.*: +file format elf(32)?(64)?-powerpc.* + + +Disassembly of section \.text: + +0+00 : + 0: 7d 0a a4 99 lxsdx vs40,r10,r20 + 4: 7d 0a a4 d9 lxsdux vs40,r10,r20 + 8: 7d 0a a6 99 lxvd2x vs40,r10,r20 + c: 7d 0a a6 d9 lxvd2ux vs40,r10,r20 + 10: 7d 0a a2 99 lxvdsx vs40,r10,r20 + 14: 7d 0a a6 19 lxvw4x vs40,r10,r20 + 18: 7d 0a a6 59 lxvw4ux vs40,r10,r20 + 1c: 7d 0a a5 99 stxsdx vs40,r10,r20 + 20: 7d 0a a5 d9 stxsdux vs40,r10,r20 + 24: 7d 0a a7 99 stxvd2x vs40,r10,r20 + 28: 7d 0a a7 d9 stxvd2ux vs40,r10,r20 + 2c: 7d 0a a7 19 stxvw4x vs40,r10,r20 + 30: 7d 0a a7 59 stxvw4ux vs40,r10,r20 + 34: f1 00 e5 67 xsabsdp vs40,vs60 + 38: f1 12 e1 07 xsadddp vs40,vs50,vs60 + 3c: f0 92 e1 5e xscmpodp cr1,vs50,vs60 + 40: f0 92 e1 1e xscmpudp cr1,vs50,vs60 + 44: f1 12 e5 87 xscpsgndp vs40,vs50,vs60 + 48: f1 00 e4 27 xscvdpsp vs40,vs60 + 4c: f1 00 e5 63 xscvdpsxds vs40,vs60 + 50: f1 00 e1 63 xscvdpsxws vs40,vs60 + 54: f1 00 e5 23 xscvdpuxds vs40,vs60 + 58: f1 00 e1 23 xscvdpuxws vs40,vs60 + 5c: f1 00 e5 27 xscvspdp vs40,vs60 + 60: f1 00 e5 e3 xscvsxddp vs40,vs60 + 64: f1 00 e5 a3 xscvuxddp vs40,vs60 + 68: f1 12 e1 c7 xsdivdp vs40,vs50,vs60 + 6c: f1 12 e1 0f xsmaddadp vs40,vs50,vs60 + 70: f1 12 e1 4f xsmaddmdp vs40,vs50,vs60 + 74: f1 12 e5 07 xsmaxdp vs40,vs50,vs60 + 78: f1 12 e5 47 xsmindp vs40,vs50,vs60 + 7c: f1 12 e1 8f xsmsubadp vs40,vs50,vs60 + 80: f1 12 e1 cf xsmsubmdp vs40,vs50,vs60 + 84: f1 12 e1 87 xsmuldp vs40,vs50,vs60 + 88: f1 00 e5 a7 xsnabsdp vs40,vs60 + 8c: f1 00 e5 e7 xsnegdp vs40,vs60 + 90: f1 12 e5 0f xsnmaddadp vs40,vs50,vs60 + 94: f1 12 e5 4f xsnmaddmdp vs40,vs50,vs60 + 98: f1 12 e5 8f xsnmsubadp vs40,vs50,vs60 + 9c: f1 12 e5 cf xsnmsubmdp vs40,vs50,vs60 + a0: f1 00 e1 27 xsrdpi vs40,vs60 + a4: f1 00 e1 af xsrdpic vs40,vs60 + a8: f1 00 e1 e7 xsrdpim vs40,vs60 + ac: f1 00 e1 a7 xsrdpip vs40,vs60 + b0: f1 00 e1 67 xsrdpiz vs40,vs60 + b4: f1 00 e1 6b xsredp vs40,vs60 + b8: f1 00 e1 2b xsrsqrtedp vs40,vs60 + bc: f1 00 e1 2f xssqrtdp vs40,vs60 + c0: f1 12 e1 47 xssubdp vs40,vs50,vs60 + c4: f0 92 e1 ee xstdivdp cr1,vs50,vs60 + c8: f0 80 e1 aa xstsqrtdp cr1,vs60 + cc: f1 00 e7 67 xvabsdp vs40,vs60 + d0: f1 00 e6 67 xvabssp vs40,vs60 + d4: f1 12 e3 07 xvadddp vs40,vs50,vs60 + d8: f1 12 e2 07 xvaddsp vs40,vs50,vs60 + dc: f1 12 e3 1f xvcmpeqdp vs40,vs50,vs60 + e0: f1 12 e7 1f xvcmpeqdp. vs40,vs50,vs60 + e4: f1 12 e2 1f xvcmpeqsp vs40,vs50,vs60 + e8: f1 12 e6 1f xvcmpeqsp. vs40,vs50,vs60 + ec: f1 12 e3 9f xvcmpgedp vs40,vs50,vs60 + f0: f1 12 e7 9f xvcmpgedp. vs40,vs50,vs60 + f4: f1 12 e2 9f xvcmpgesp vs40,vs50,vs60 + f8: f1 12 e6 9f xvcmpgesp. vs40,vs50,vs60 + fc: f1 12 e3 5f xvcmpgtdp vs40,vs50,vs60 + 100: f1 12 e7 5f xvcmpgtdp. vs40,vs50,vs60 + 104: f1 12 e2 5f xvcmpgtsp vs40,vs50,vs60 + 108: f1 12 e6 5f xvcmpgtsp. vs40,vs50,vs60 + 10c: f1 12 e7 87 xvcpsgndp vs40,vs50,vs60 + 110: f1 1c e7 87 xvmovdp vs40,vs60 + 114: f1 1c e7 87 xvmovdp vs40,vs60 + 118: f1 12 e6 87 xvcpsgnsp vs40,vs50,vs60 + 11c: f1 1c e6 87 xvmovsp vs40,vs60 + 120: f1 1c e6 87 xvmovsp vs40,vs60 + 124: f1 00 e6 27 xvcvdpsp vs40,vs60 + 128: f1 00 e7 63 xvcvdpsxds vs40,vs60 + 12c: f1 00 e3 63 xvcvdpsxws vs40,vs60 + 130: f1 00 e7 23 xvcvdpuxds vs40,vs60 + 134: f1 00 e3 23 xvcvdpuxws vs40,vs60 + 138: f1 00 e7 27 xvcvspdp vs40,vs60 + 13c: f1 00 e6 63 xvcvspsxds vs40,vs60 + 140: f1 00 e2 63 xvcvspsxws vs40,vs60 + 144: f1 00 e6 23 xvcvspuxds vs40,vs60 + 148: f1 00 e2 23 xvcvspuxws vs40,vs60 + 14c: f1 00 e7 e3 xvcvsxddp vs40,vs60 + 150: f1 00 e6 e3 xvcvsxdsp vs40,vs60 + 154: f1 00 e3 e3 xvcvsxwdp vs40,vs60 + 158: f1 00 e2 e3 xvcvsxwsp vs40,vs60 + 15c: f1 00 e7 a3 xvcvuxddp vs40,vs60 + 160: f1 00 e6 a3 xvcvuxdsp vs40,vs60 + 164: f1 00 e3 a3 xvcvuxwdp vs40,vs60 + 168: f1 00 e2 a3 xvcvuxwsp vs40,vs60 + 16c: f1 12 e3 c7 xvdivdp vs40,vs50,vs60 + 170: f1 12 e2 c7 xvdivsp vs40,vs50,vs60 + 174: f1 12 e3 0f xvmaddadp vs40,vs50,vs60 + 178: f1 12 e3 4f xvmaddmdp vs40,vs50,vs60 + 17c: f1 12 e2 0f xvmaddasp vs40,vs50,vs60 + 180: f1 12 e2 4f xvmaddmsp vs40,vs50,vs60 + 184: f1 12 e7 07 xvmaxdp vs40,vs50,vs60 + 188: f1 12 e6 07 xvmaxsp vs40,vs50,vs60 + 18c: f1 12 e7 47 xvmindp vs40,vs50,vs60 + 190: f1 12 e6 47 xvminsp vs40,vs50,vs60 + 194: f1 12 e3 8f xvmsubadp vs40,vs50,vs60 + 198: f1 12 e3 cf xvmsubmdp vs40,vs50,vs60 + 19c: f1 12 e2 8f xvmsubasp vs40,vs50,vs60 + 1a0: f1 12 e2 cf xvmsubmsp vs40,vs50,vs60 + 1a4: f1 12 e3 87 xvmuldp vs40,vs50,vs60 + 1a8: f1 12 e2 87 xvmulsp vs40,vs50,vs60 + 1ac: f1 00 e7 a7 xvnabsdp vs40,vs60 + 1b0: f1 00 e6 a7 xvnabssp vs40,vs60 + 1b4: f1 00 e7 e7 xvnegdp vs40,vs60 + 1b8: f1 00 e6 e7 xvnegsp vs40,vs60 + 1bc: f1 12 e7 0f xvnmaddadp vs40,vs50,vs60 + 1c0: f1 12 e7 4f xvnmaddmdp vs40,vs50,vs60 + 1c4: f1 12 e6 0f xvnmaddasp vs40,vs50,vs60 + 1c8: f1 12 e6 4f xvnmaddmsp vs40,vs50,vs60 + 1cc: f1 12 e7 8f xvnmsubadp vs40,vs50,vs60 + 1d0: f1 12 e7 cf xvnmsubmdp vs40,vs50,vs60 + 1d4: f1 12 e6 8f xvnmsubasp vs40,vs50,vs60 + 1d8: f1 12 e6 cf xvnmsubmsp vs40,vs50,vs60 + 1dc: f1 00 e3 27 xvrdpi vs40,vs60 + 1e0: f1 00 e3 af xvrdpic vs40,vs60 + 1e4: f1 00 e3 e7 xvrdpim vs40,vs60 + 1e8: f1 00 e3 a7 xvrdpip vs40,vs60 + 1ec: f1 00 e3 67 xvrdpiz vs40,vs60 + 1f0: f1 00 e3 6b xvredp vs40,vs60 + 1f4: f1 00 e2 6b xvresp vs40,vs60 + 1f8: f1 00 e2 27 xvrspi vs40,vs60 + 1fc: f1 00 e2 af xvrspic vs40,vs60 + 200: f1 00 e2 e7 xvrspim vs40,vs60 + 204: f1 00 e2 a7 xvrspip vs40,vs60 + 208: f1 00 e2 67 xvrspiz vs40,vs60 + 20c: f1 00 e3 2b xvrsqrtedp vs40,vs60 + 210: f1 00 e2 2b xvrsqrtesp vs40,vs60 + 214: f1 00 e3 2f xvsqrtdp vs40,vs60 + 218: f1 00 e2 2f xvsqrtsp vs40,vs60 + 21c: f1 12 e3 47 xvsubdp vs40,vs50,vs60 + 220: f1 12 e2 47 xvsubsp vs40,vs50,vs60 + 224: f0 92 e3 ee xvtdivdp cr1,vs50,vs60 + 228: f0 92 e2 ee xvtdivsp cr1,vs50,vs60 + 22c: f0 80 e3 aa xvtsqrtdp cr1,vs60 + 230: f0 80 e2 aa xvtsqrtsp cr1,vs60 + 234: f1 12 e4 17 xxland vs40,vs50,vs60 + 238: f1 12 e4 57 xxlandc vs40,vs50,vs60 + 23c: f1 12 e5 17 xxlnor vs40,vs50,vs60 + 240: f1 12 e4 97 xxlor vs40,vs50,vs60 + 244: f1 12 e4 d7 xxlxor vs40,vs50,vs60 + 248: f1 12 e0 97 xxmrghw vs40,vs50,vs60 + 24c: f1 12 e1 97 xxmrglw vs40,vs50,vs60 + 250: f1 12 e0 57 xxmrghd vs40,vs50,vs60 + 254: f1 12 e1 57 xxpermdi vs40,vs50,vs60,1 + 258: f1 12 e2 57 xxpermdi vs40,vs50,vs60,2 + 25c: f1 12 e3 57 xxmrgld vs40,vs50,vs60 + 260: f1 12 90 57 xxspltd vs40,vs50,0 + 264: f1 12 90 57 xxspltd vs40,vs50,0 + 268: f1 12 93 57 xxspltd vs40,vs50,1 + 26c: f1 12 93 57 xxspltd vs40,vs50,1 + 270: f1 12 e0 57 xxmrghd vs40,vs50,vs60 + 274: f1 12 e0 57 xxmrghd vs40,vs50,vs60 + 278: f1 12 e3 57 xxmrgld vs40,vs50,vs60 + 27c: f1 12 92 57 xxswapd vs40,vs50 + 280: f1 12 92 57 xxswapd vs40,vs50 + 284: f1 12 e7 bf xxsel vs40,vs50,vs60,vs62 + 288: f1 12 e2 17 xxsldwi vs40,vs50,vs60,2 + 28c: f1 02 e2 93 xxspltw vs40,vs60,2 diff --git a/gas/testsuite/gas/ppc/vsx.s b/gas/testsuite/gas/ppc/vsx.s new file mode 100644 index 00000000000..c3c3f3a174a --- /dev/null +++ b/gas/testsuite/gas/ppc/vsx.s @@ -0,0 +1,166 @@ + .section ".text" +start: + lxsdx 40,10,20 + lxsdux 40,10,20 + lxvd2x 40,10,20 + lxvd2ux 40,10,20 + lxvdsx 40,10,20 + lxvw4x 40,10,20 + lxvw4ux 40,10,20 + stxsdx 40,10,20 + stxsdux 40,10,20 + stxvd2x 40,10,20 + stxvd2ux 40,10,20 + stxvw4x 40,10,20 + stxvw4ux 40,10,20 + xsabsdp 40,60 + xsadddp 40,50,60 + xscmpodp 1,50,60 + xscmpudp 1,50,60 + xscpsgndp 40,50,60 + xscvdpsp 40,60 + xscvdpsxds 40,60 + xscvdpsxws 40,60 + xscvdpuxds 40,60 + xscvdpuxws 40,60 + xscvspdp 40,60 + xscvsxddp 40,60 + xscvuxddp 40,60 + xsdivdp 40,50,60 + xsmaddadp 40,50,60 + xsmaddmdp 40,50,60 + xsmaxdp 40,50,60 + xsmindp 40,50,60 + xsmsubadp 40,50,60 + xsmsubmdp 40,50,60 + xsmuldp 40,50,60 + xsnabsdp 40,60 + xsnegdp 40,60 + xsnmaddadp 40,50,60 + xsnmaddmdp 40,50,60 + xsnmsubadp 40,50,60 + xsnmsubmdp 40,50,60 + xsrdpi 40,60 + xsrdpic 40,60 + xsrdpim 40,60 + xsrdpip 40,60 + xsrdpiz 40,60 + xsredp 40,60 + xsrsqrtedp 40,60 + xssqrtdp 40,60 + xssubdp 40,50,60 + xstdivdp 1,50,60 + xstsqrtdp 1,60 + xvabsdp 40,60 + xvabssp 40,60 + xvadddp 40,50,60 + xvaddsp 40,50,60 + xvcmpeqdp 40,50,60 + xvcmpeqdp. 40,50,60 + xvcmpeqsp 40,50,60 + xvcmpeqsp. 40,50,60 + xvcmpgedp 40,50,60 + xvcmpgedp. 40,50,60 + xvcmpgesp 40,50,60 + xvcmpgesp. 40,50,60 + xvcmpgtdp 40,50,60 + xvcmpgtdp. 40,50,60 + xvcmpgtsp 40,50,60 + xvcmpgtsp. 40,50,60 + xvcpsgndp 40,50,60 + xvmovdp 40,60 + xvcpsgndp 40,60,60 + xvcpsgnsp 40,50,60 + xvmovsp 40,60 + xvcpsgnsp 40,60,60 + xvcvdpsp 40,60 + xvcvdpsxds 40,60 + xvcvdpsxws 40,60 + xvcvdpuxds 40,60 + xvcvdpuxws 40,60 + xvcvspdp 40,60 + xvcvspsxds 40,60 + xvcvspsxws 40,60 + xvcvspuxds 40,60 + xvcvspuxws 40,60 + xvcvsxddp 40,60 + xvcvsxdsp 40,60 + xvcvsxwdp 40,60 + xvcvsxwsp 40,60 + xvcvuxddp 40,60 + xvcvuxdsp 40,60 + xvcvuxwdp 40,60 + xvcvuxwsp 40,60 + xvdivdp 40,50,60 + xvdivsp 40,50,60 + xvmaddadp 40,50,60 + xvmaddmdp 40,50,60 + xvmaddasp 40,50,60 + xvmaddmsp 40,50,60 + xvmaxdp 40,50,60 + xvmaxsp 40,50,60 + xvmindp 40,50,60 + xvminsp 40,50,60 + xvmsubadp 40,50,60 + xvmsubmdp 40,50,60 + xvmsubasp 40,50,60 + xvmsubmsp 40,50,60 + xvmuldp 40,50,60 + xvmulsp 40,50,60 + xvnabsdp 40,60 + xvnabssp 40,60 + xvnegdp 40,60 + xvnegsp 40,60 + xvnmaddadp 40,50,60 + xvnmaddmdp 40,50,60 + xvnmaddasp 40,50,60 + xvnmaddmsp 40,50,60 + xvnmsubadp 40,50,60 + xvnmsubmdp 40,50,60 + xvnmsubasp 40,50,60 + xvnmsubmsp 40,50,60 + xvrdpi 40,60 + xvrdpic 40,60 + xvrdpim 40,60 + xvrdpip 40,60 + xvrdpiz 40,60 + xvredp 40,60 + xvresp 40,60 + xvrspi 40,60 + xvrspic 40,60 + xvrspim 40,60 + xvrspip 40,60 + xvrspiz 40,60 + xvrsqrtedp 40,60 + xvrsqrtesp 40,60 + xvsqrtdp 40,60 + xvsqrtsp 40,60 + xvsubdp 40,50,60 + xvsubsp 40,50,60 + xvtdivdp 1,50,60 + xvtdivsp 1,50,60 + xvtsqrtdp 1,60 + xvtsqrtsp 1,60 + xxland 40,50,60 + xxlandc 40,50,60 + xxlnor 40,50,60 + xxlor 40,50,60 + xxlxor 40,50,60 + xxmrghw 40,50,60 + xxmrglw 40,50,60 + xxpermdi 40,50,60,0b00 + xxpermdi 40,50,60,0b01 + xxpermdi 40,50,60,0b10 + xxpermdi 40,50,60,0b11 + xxspltd 40,50,0 + xxpermdi 40,50,50,0b00 + xxspltd 40,50,1 + xxpermdi 40,50,50,0b11 + xxmrghd 40,50,60 + xxpermdi 40,50,60,0b00 + xxmrgld 40,50,60 + xxpermdi 40,50,50,0b10 + xxswapd 40,50 + xxsel 40,50,60,62 + xxsldwi 40,50,60,2 + xxspltw 40,60,2 diff --git a/ld/testsuite/ld-elf/linkoncerdiff.d b/ld/testsuite/ld-elf/linkoncerdiff.d new file mode 100644 index 00000000000..8eec3d2ca27 --- /dev/null +++ b/ld/testsuite/ld-elf/linkoncerdiff.d @@ -0,0 +1,6 @@ +#source: linkoncerdiff1.s +#source: linkoncerdiff2.s +#ld: -r +#readelf: -r +There are no relocations in this file. +#pass diff --git a/ld/testsuite/ld-elf/linkoncerdiff1.s b/ld/testsuite/ld-elf/linkoncerdiff1.s new file mode 100644 index 00000000000..9e8e17eca14 --- /dev/null +++ b/ld/testsuite/ld-elf/linkoncerdiff1.s @@ -0,0 +1,7 @@ + .section .gnu.linkonce.t.foo, "a", %progbits + .globl symfoo +symfoo: + + .section .gnu.linkonce.t.bar, "a", %progbits + .globl symbar +symbar: diff --git a/ld/testsuite/ld-elf/linkoncerdiff2.s b/ld/testsuite/ld-elf/linkoncerdiff2.s new file mode 100644 index 00000000000..1e8c2baefd0 --- /dev/null +++ b/ld/testsuite/ld-elf/linkoncerdiff2.s @@ -0,0 +1,22 @@ + .section .gnu.linkonce.t.foo, "a", %progbits +1: + .globl symfoo +symfoo: + .long 0 + + .section .gnu.linkonce.t.bar, "a", %progbits +2: + .globl symbar +symbar: + .long 0 + + .section .gnu.linkonce.r.foo, "a", %progbits + .long 1b + .long symfoo +/* ld currently incorrectly silently discards this relocation. Just such + relocations are never produced by g++-3.4 so this suppressed error message + is not a problem: + #error: `.gnu.linkonce.t.bar' referenced in section `.gnu.linkonce.r.foo' of tmpdir/dump1.o: defined in discarded section `.gnu.linkonce.t.bar' of tmpdir/dump1.o + */ + .long 2b + .long symbar diff --git a/ld/testsuite/ld-powerpc/vxworks-relax.rd b/ld/testsuite/ld-powerpc/vxworks-relax.rd new file mode 100644 index 00000000000..e28094c0c11 --- /dev/null +++ b/ld/testsuite/ld-powerpc/vxworks-relax.rd @@ -0,0 +1,9 @@ + +Relocation section '.rela.text' at offset 0x4010150 contains 6 entries: + Offset Info Type Sym.Value Sym. Name \+ Addend +00080012 00000106 R_PPC_ADDR16_HA 00080000 .text \+ 4000020 +00080016 00000104 R_PPC_ADDR16_LO 00080000 .text \+ 4000020 +00080006 00000106 R_PPC_ADDR16_HA 00080000 .text \+ 4000020 +0008000a 00000104 R_PPC_ADDR16_LO 00080000 .text \+ 4000020 +0408002a 00000306 R_PPC_ADDR16_HA 00080000 _start \+ 0 +0408002e 00000304 R_PPC_ADDR16_LO 00080000 _start \+ 0 diff --git a/ld/testsuite/ld-powerpc/vxworks-relax.s b/ld/testsuite/ld-powerpc/vxworks-relax.s new file mode 100644 index 00000000000..b4ebb9ad5a0 --- /dev/null +++ b/ld/testsuite/ld-powerpc/vxworks-relax.s @@ -0,0 +1,13 @@ + .globl _start +_start: + bl elsewhere + lis 9,elsewhere@ha + la 0,elsewhere@l(9) + + + .section .far,"ax",@progbits +elsewhere: + bl _start + + .section .pad + .space 0x4000000 -- 2.47.2