Re: [klibc 04/31] alpha support for klibc

Richard Henderson
2006-06-28T15:43:21Z

On Tue, Jun 27, 2006 at 10:17:04PM -0700, H. Peter Anvin wrote:
> +# Special CFLAGS for the divide code
> +DIVCFLAGS = $(KLIBCREQFLAGS) $(KLIBCARCHREQFLAGS) \
> + -O3 -fomit-frame-pointer -fcall-saved-1 -fcall-saved-2 \
> + -fcall-saved-3 -fcall-saved-4 -fcall-saved-5 -fcall-saved-6 \
> + -fcall-saved-7 -fcall-saved-8 -ffixed-15 -fcall-saved-16 \
> + -fcall-saved-17 -fcall-saved-18 -fcall-saved-19 -fcall-saved-20 \
> + -fcall-saved-21 -fcall-saved-22 -ffixed-23 -fcall-saved-24 \
> + -ffixed-25 -ffixed-27

These routines absolutely cannot be written in C. The return value
goes in a different register, which you cannot modify via compiler
flags. Please use the hand-coded assembly from linux/arch/alpha/lib/.

r~