Re: ffs() (was: [Linux-NTFS-Dev] SOLVED - Re: PROBLEM: compilingNTFS write support)

From: Szakacsits Szabolcs
Date: Wed May 12 2004 - 07:59:15 EST



On Wed, 12 May 2004, Anton Altaparmakov wrote:
> On Wed, 2004-05-12 at 12:56, andrea.fracasso@xxxxxxxxxxxxxxxx wrote:
> > > On Wed, 2004-05-12 at 11:14, andrea.fracasso@xxxxxxxxxxxxxxxx wrote:
> > >> Hi, I have found a problem compiling te source of kernel 2.6.6, if I
> > >> enable NTFS write support when i run "make" i get this error:
> > >>
> > >> ....
> > >> CC fs/ntfs/inode.o
> > >> CC fs/ntfs/logfile.o
> > >> {standard input}: Assembler messages:
> > >> {standard input}:683: Error: suffix or operands invalid for `bsf'
> > >> make[2]: *** [fs/ntfs/logfile.o] Error 1
> > >> make[1]: *** [fs/ntfs] Error 2
> > >> make: *** [fs] Error 2
> > >>
> > >> my kernel version is:
> > >> Linux version 2.6.5-AS1500 (root@ntb-gozzolox) (gcc version 3.3.2
> > >> 20031022
> > >> (Red Hat Linux 3.3.2-1)) #3 Thu Apr 15 10:13:11 CEST 2004
> >
> > The binutils ver is:
> > binutils-2.14.90.0.6-4
>
> This happens because gcc (wrongly!) optimizes a variable into a constant
> and then ffs() fails to assemble because the bsfl instruction is only
> allowed with memory operands and not constants.

IMHO this should be worked around (fixed) in the inlined __asm__ ffs. Does
it happen only on Opteron or on other platforms as well?

Szaka

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