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)
> 
> /usr/bin/cc -std=gnu99 -o filter_ar_fast_q12_armv7.o -DNDEBUG -DTRIMMED=1 -D_FILE_OFFSET_BITS=64 -DCHROMIUM_BUILD -DUSE_LIBJPEG_TURBO=1 -DUSE_NSS=1 -DGTK_DISABLE_SINGLE_INCLUDES=1 -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_CONFIGURATION_POLICY -DENABLE_INPUT_SPEECH -DENABLE_NOTIFICATIONS -DENABLE_GPU=1 -DENABLE_EGLIMAGE=1 -DUSE_SKIA=1 -DENABLE_TASK_MANAGER=1 -DENABLE_WEB_INTENTS=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGIN_INSTALLATION=1 -DENABLE_PROTECTOR_SERVICE=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_BACKGROUND=1 -DENABLE_AUTOMATION=1 -DENABLE_PRINTING=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DWEBRTC_RESTRICT_LOGGING -DWEBRTC_MOZILLA_BUILD -DEXPAT_RELATIVE_PATH -DWEBRTC_ARCH_ARM -DWEBRTC_ARCH_ARM_V7 -DWEBRTC_BUILD_NEON_LIBS -DWEBRTC_DETECT_NEON -DWEBRTC_BSD -DWEBRTC_THREAD_RR -DWEBRTC_POSIX -DWEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE -D__STDC_FORMAT_MACROS -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL
> _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:

ifdef ASFILES
# The AS_DASH_C_FLAG is needed cause not all assemblers (Solaris) accept
# a '-c' flag.
$(ASOBJS):
	$(REPORT_BUILD_VERBOSE)
	$(AS) $(ASOUTOPTION)$@ $(ASFLAGS) $($(notdir $<)_FLAGS) $(AS_DASH_C_FLAG) $(_VPATH_SRCS)
endif
. . .
$(SOBJS):
	$(REPORT_BUILD)
	$(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