Re: The impossibility of software raid1
On Wed, Aug 29, 2001 at 09:27:42AM +1000, Craig Small wrote:
>
> fffffc00004b2a8c: 00 00 e0 2f unop
> fffffc00004b2a90: 21 01 96 43 subl at,t8,t0
> fffffc00004b2a94: 43 06 18 43 s8addq t10,t10,t2
t10 is never initialised.
> fffffc00004b2a98: 22 05 e1 43 negq t0,t1
> fffffc00004b2a9c: 00 04 f7 47 mov t9,v0
> fffffc00004b2aa0: c2 08 21 44 cmovge t0,t0,t1
> fffffc00004b2aa4: 43 14 60 40 s4addq t2,0,t2
> fffffc00004b2aa8: 10 00 10 23 lda t10,16(a0)
> fffffc00004b2aac: 17 04 f9 47 mov t11,t9
> fffffc00004b2ab0: 16 00 5f 40 addl t1,zero,t8
> fffffc00004b2ab4: 00 00 e0 2f unop
> fffffc00004b2ab8: 1f 04 ff 47 nop
> fffffc00004b2abc: 00 00 e0 2f unop
> fffffc00004b2ac0: 1f 00 e0 ec ble t6,0xfffffc00004b2b40
> fffffc00004b2ac4: dc ff c6 20 lda t5,-36(t5)
> fffffc00004b2ac8: 27 31 e0 40 subl t6,0x1,t6
> fffffc00004b2acc: 00 00 e0 2f unop
> fffffc00004b2ad0: 02 04 06 43 addq t10,t5,t1
> fffffc00004b2ad4: 05 04 06 40 addq v0,t5,t4
> fffffc00004b2ad8: 00 00 22 a0 ldl t0,0(t1)
t10 = &conf[16], t5 is presumably meant to be an offset.
> fffffc00004b2adc: 08 00 20 e4 beq t0,0xfffffc00004b2b00
> fffffc00004b2ae0: e0 03 30 a0 ldl t0,992(a0)
Further down we have,
1160: 10 00 c3 20 lda t5,16(t2)
1164: d8 03 f0 a0 ldl t6,984(a0)
1168: de ff ff c3 br 10e4 <raid1_read_balance+0x164>
Oops, t2 now contains utter crap since it's just been overwritten by the
value from t10 at the top.
> Aug 28 14:25:26 fozzie kernel: t5 = ffff700230baa19c t6 = 0000000000000001 t7 = fffffc0001f94000
t5 is obviously not an offset anymore.
Conclusion: please try the latest gcc-3.0, and if it still generates this
kind of crap, then report a bug.
--
Debian GNU/Linux 2.2 is out! ( http://www.debian.org/ )
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
Reply to: