www/firefox on RPI2: error: instruction requires: armv6t2

Mark Millard markmi at dsl-only.net
Fri May 12 03:14:18 UTC 2017

On 2017-May-11, at 7:16 PM, Mark Millard <markmi at dsl-only.net> wrote:

> On 2017-May-11, at 6:44 PM, bob prohaska <fbsd at www.zefox.net> wrote:
>> On Thu, May 11, 2017 at 01:53:33PM -0700, Mark Millard wrote:
>>> It would help others help you if the assembler or
>>> compiler command that specifically generated this
>>> error message was also included in the text that
>>> you quote. Then we could see what the command
>>> was and what options had been supplied to it
>>> (and so what had not been supplied as well).
>> If someone can tell me how to capture that information I'll gladly do it; 
>> at this stage I do not know how.
>> The files referenced in the error message have been placed at
>> http://www.zefox.net/~fbsd/rpi2/firefox/assembler_failure/
>> along with a transcript of stdout/stderr in make.log
> The (long) line for processing filter_ar_fast_q12_armv7.S
> was about 19 lines back from the first
> filter_ar_fast_q12_armv7.S error message in that make.log:
> (copy/paste may have split the line into multiple below)
> _LIBXUL -fPIC -Wa,--noexecstack -include /usr/ports/www/firefox/work/firefox-53.0.2/obj-armv6-unknown-freebsd12.0/mozilla-config.h -DMOZILLA_CLIENT    -I/usr/ports/www/firefox/work/firefox-53.0.2/media/webrtc/trunk -I/usr/ports/www/firefox/work/firefox-53.0.2/media/webrtc/trunk/webrtc/common_audio/resampler/include -I/usr/ports/www/firefox/work/firefox-53.0.2/media/webrtc/trunk/webrtc/common_audio/signal_processing/include -I/usr/ports/www/firefox/work/firefox-53.0.2/obj-armv6-unknown-freebsd12.0/ipc/ipdl/_ipdlheaders -I/usr/ports/www/firefox/work/firefox-53.0.2/ipc/chromium/src -I/usr/ports/www/firefox/work/firefox-53.0.2/ipc/glue -c /usr/ports/www/firefox/work/firefox-53.0.2/media/webrtc/trunk/webrtc/common_audio/signal_processing/filter_ar_fast_q12_armv7.S
> As I guessed the string "-mcpu=cortex-a7" does not appear in
> the command.
> But it does indicate that /usr/bin/cc is being used to get to
> the assembler --which I did not guess. If I guessed right
> about part of the rule.mk that processed the .S file then
> the implication would be that: AS=/usr/bin/cc
> So it might be that having ASFLAGS contain -mcpu=cortex-a7
> might propagate through to the underlying assembler
> processing in a way to allow the sbfx instructions by
> telling it the type of cpu to target.

Looks like there are two rule.mk assembler areas:

# The AS_DASH_C_FLAG is needed cause not all assemblers (Solaris) accept
# a '-c' flag.
. . .
	$(AS) -o $@ $(DEFINES) $(ASFLAGS) $($(notdir $<)_FLAGS) $(LOCAL_INCLUDES) -c $<

I had originally only noticed one.

Having -mcpu=cortex-a7 in ASFLAGS would contribute to
both of the examples.

Mark Millard
markmi at dsl-only.net

More information about the freebsd-ports mailing list