Subject: Re: CVS commit: src/sys/arch/vax/boot/common
To: None <dsl@NetBSD.org>
From: None <email@example.com>
Date: 09/04/2003 12:59:06
> Module Name: src
> Committed By: dsl
> Date: Thu Sep 4 10:40:45 UTC 2003
> Modified Files:
> src/sys/arch/vax/boot/common: str.S
> Log Message:
> Add memcmp, memcpy and memset
> Fix strncmp(x, y, 0)
> Use unsigned compares for strcmp and memcmp (and bcmp).
> Compiles but untested
> AFAICT http://h71000.www7.hp.com/doc/72final/4515/4515pro_025.html#4515ch9_146
> cmpc3/5 set %r4 and %r5 to zero, It doesn't look as though the procedure
> call is set to preserve these, and I doubt that gcc is treating them as
> scratch registers - does our vax pcs actually have %r2 and %r3 as scratch regs?
Instructions cmpc3/5 do not touch r4 or r5, you read wrong in the docs.
The calling convention says that r0-r5 are scratch regs; remember that
there are lots of regs on VAXen :-)