Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Jul 2010 15:07:27 +0200
From:      Pawel Worach <pawel.worach@gmail.com>
To:        Andrew Reilly <areilly@bigpond.net.au>
Cc:        scsi@freebsd.org
Subject:   Re: [patch] fix aicasm build with clang.
Message-ID:  <AE3796D9-8A82-46D3-88F7-3C70D16E21B9@gmail.com>
In-Reply-To: <20100714115731.GA14537@duncan.reilly.home>
References:  <51186C1C-E61D-4A9D-8A78-749F48E89CE0@gmail.com> <20100714115731.GA14537@duncan.reilly.home>

next in thread | previous in thread | raw e-mail | index | archive | help
On Jul 14, 2010, at 13:57, Andrew Reilly wrote:
> On Wed, Jul 14, 2010 at 11:44:57AM +0200, Pawel Worach wrote:
>> sys/dev/aic7xxx/aicasm/aicasm_gram.y:1826:51: error: use of logical =
|| with constant operand; switch to bitwise | or remove constant =
[-Wlogical-bitwise-confusion]
>>        if (opcode =3D=3D AIC_OP_AND || opcode =3D=3D AIC_OP_JNZ || =
AIC_OP_JZ)
>>                                                         ^  ~~~~~~~~~
>>=20
>> Bug ?
>=20
> Looks like one to me.  There's no constant value of AIC_OP_JZ
> that can make its inclusion in that line interesting, as is (it
> is probably non-zero, which means that the if-body is always
> executed.  I think that your patch is almost certainly correct.
>=20
> [What down-stream effect does this bug have on the SCSI
> controller microcode in question?]
>=20

Hmm, it looks like that really broke the assembler...

../aicasm/aicasm: Stopped at file =
/data/buildslave/freebsd-clang-amd64/src-freebsd/sys/modules/aic7xxx/ahc/.=
./../../dev/aic7xxx/aic7xxx.seq, line 103 - Invalid bit(s) 0x1 in =
immediate written to ARG_1
../aicasm/aicasm: Removing aic7xxx_seq.h due to error

--=20
Pawel=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AE3796D9-8A82-46D3-88F7-3C70D16E21B9>