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

Mark Millard markmi at dsl-only.net
Fri May 12 02:16:11 UTC 2017

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.

Mark Millard
markmi at dsl-only.net

More information about the freebsd-ports mailing list