Date: Fri, 12 May 2017 14:36:48 -0700 From: Mark Millard <markmi@dsl-only.net> To: bob prohaska <fbsd@www.zefox.net> Cc: ports@freebsd.org, freebsd-arm <freebsd-arm@freebsd.org> Subject: Re: www/firefox on RPI2: error: instruction requires: armv6t2 Message-ID: <B9B8FF42-BBEE-4E1B-9432-AFDCD88F2CCA@dsl-only.net> In-Reply-To: <20170512193131.GA79348@www.zefox.net> References: <20170509230236.GA69546@www.zefox.net> <CAJwjRmQiON9J8zZyb7ad5YNo7Ccrdwd0W%2B-6rqzwdcZp%2BEXv%2Bw@mail.gmail.com> <20170510151019.GA70628@www.zefox.net> <CAJwjRmTuXTcG2%2Bxm4tEwV6NRec9Y_kP62_Zza1=YQq508d0fFQ@mail.gmail.com> <20170511033754.GA74153@www.zefox.net> <3C56C526-24E4-45D4-B202-562BD7CB22C2@dsl-only.net> <80B1CCCF-A151-40B8-87D5-CADD513CFAAD@dsl-only.net> <20170512014441.GA77264@www.zefox.net> <85B88765-A708-414B-A465-14A044196D3D@dsl-only.net> <FD720BDC-3E69-4FC5-9C64-A46CBED4DB3F@dsl-only.net> <20170512193131.GA79348@www.zefox.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2017-May-12, at 12:31 PM, bob prohaska <fbsd@www.zefox.net> wrote: > On Thu, May 11, 2017 at 08:14:14PM -0700, Mark Millard wrote: >> Having -mcpu=3Dcortex-a7 in ASFLAGS would contribute to >> both of the examples. >>=20 >=20 > Restarting the make with > root@www:/usr/ports/www/firefox # make CFLAGS=3D-mcpu=3Dcortex-a7 = ASFLAGS=3D-mcpu=3Dcortex-a7 -DBATCH > & make.log & Again the commands might be handy, although in this case the source code being assembled looks more interesting. > made considerably more progress, but compilation still stopped with = errors > of the form > = /usr/ports/www/firefox/work/firefox-53.0.2/media/openmax_dl/dl/sp/src/armS= P_FFTInv_CCSToR_F32_preTwiddleRadix2_unsafe_s.S:129:9: error: unknown = directive Looking on the web the line 129 appears to be: .macro FFTSTAGE scaled, inverse, name It looks like /usr/bin/cc 's processing of .S assembler notation does not support .macro (or the later .endm I suppose). This may mean that AS needs to be replaced so that $(AS) picks a tool that has the support of the syntax. Or may be cc needs use of -B to pick up some specific toolchain's utilities that handle the .macro and its use. > = /usr/ports/www/firefox/work/firefox-53.0.2/media/openmax_dl/dl/sp/src/armS= P_FFTInv_CCSToR_F32_preTwiddleRadix2_unsafe_s.S:138:23: error: = unexpected token in operand This one looks to be for a line that looks like: VMOV half, 0.5 where the earlier line 121 had: #define half D13.F32 The normal form of this instruction might be something like: VMOV.F32 D13, #0.5 that encodes the element type/size in the instruction, instead of in the operand. I'm not sure. Also the immediate value might need a # prefix. But such claims may be tied to the parser in the specific assembler-processing that ends up involved. I do not know how standardized the assembler notation(s) are for the context. > = /usr/ports/www/firefox/work/firefox-53.0.2/media/openmax_dl/dl/sp/src/armS= P_FFTInv_CCSToR_F32_preTwiddleRadix2_unsafe_s.S:152:14: error: invalid = operand for instruction This one looks to be for a line looking like: VLD1 dX0,[pSrc],step where prior lines had: #define pSrc r0 . . . #define step r8 . . . #define dX0 D0.F32 The normal form of this instruction might be something like: VLD1.32 D0,[r0],r8 that encodes the element type/size in the instruction (with the interleave pattern: 1) instead of in the operand. I'm not sure. But such claims may be tied to the parser in the specific assembler-processing that ends up involved. I do not know how standardized the assembler notation(s) are for the context. > Make clean has been run and compilation started anew, using the same = make > command line, in the hope the mistake was one of consistency. My guess from the above is that the problem will repeat in this rebuild. =3D=3D=3D Mark Millard markmi at dsl-only.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B9B8FF42-BBEE-4E1B-9432-AFDCD88F2CCA>