Re: [PATCH 2/7] ALPHA: build fixes - force architecture, eliminate wastage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 11, 2007 at 12:28:41PM +0400, Ivan Kokshaysky wrote:
> -		__asm__("ctlz %1, %0" : "=r"(vector) : "r"(mask));
> +		__asm__(".arch ev67; ctlz %1, %0" : "=r"(vector) : "r"(mask));

This should use __kernel_ctlz, and we should use 

#ifdef __alpha_cix__
# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 || __GNUC__ > 3
#  define __kernel_cttz(x)		__builtin_ctzl(x)
# else
#  define __kernel_cttz(x)                                              \
  ({ unsigned long __kir;                                               \
     __asm__("cttz %1,%0" : "=r"(__kir) : "r"(x));                      \
     __kir; })
# endif
#else
# define __kernel_cttz(x)                                               \
  ({ unsigned long __kir;                                               \
     __asm__(".arch ev67; cttz %1,%0" : "=r"(__kir) : "r"(x));          \
     __kir; })
#endif

etc, for the other __kernel_ctlz and __kernel_ctpop definitions.

> -asm(".section .got,\"aws\",@progbits; .align 3; .previous");
> +asm(".section .got,\"aw\",@progbits; .align 3; .previous");

Are you absolutely certain that the got gets put into the correct
spot when you do this?  It really ought to have the SHF_ALPHA_GPREL
bit set, so that the ARCH_SHF_SMALL checks in kernel/module.c do
the correct thing.

I NAK this chunk without further proof.  Anyway, the *proper* fix
is in the assembler; it shouldn't be complaining.


r~
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux