Closed Bug 1654221 Opened 2 years ago Closed 1 year ago

Error: selected processor does not support `vmrs r9,FPSCR' in ARM mode


(Core :: JavaScript: WebAssembly, defect, P5)

76 Branch





(Reporter: yugiohjcj, Assigned: lth)




(4 files)

Attached file

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:76.0) Gecko/20100101 Firefox/76.0

Steps to reproduce:

I ran the script (see the attached script) to build Firefox.

  • machine: Raspberry Pi 4 Model B 8 GB (architecture: ARMv8-A, CPU: ARM Cortex-A72 BCM2711)
  • operating system: Slackware ARM 14.2 (soft-float, armv7l-unknown-linux-gnueabi)
  • kernel: Linux rpi4 5.7.7-rpi4 #1 SMP Fri Jul 10 11:40:37 CEST 2020 armv7l BCM2711 GNU/Linux
  • rustc 1.44.1 (installed with rustup, arm-unknown-linux-gnueabi)
  • cargo 1.44.1 (88ba85757 2020-06-11, installed with rustup, arm-unknown-linux-gnueabi)
  • gcc 8.2.0 (armv7l-unknown-linux-gnueabi)

Actual results:

I got the following errors (see the attached file firefox-20200715.txt for the output cut because too long for the terminal buffer and firefox-20200715-last_log.json for the log file) :

229:26.10 {standard input}:42842: Error: selected processor does not support `vmrs r9,FPSCR' in ARM mode
229:26.10 {standard input}:42849: Error: selected processor does not support `vmsr FPSCR,r3' in ARM mode
229:26.11 {standard input}:42961: Error: selected processor does not support `vmsr FPSCR,r9' in ARM mode

Expected results:

No errors.

Attached file firefox-20200715.txt


I do not have right environment set up in order to reproduce this issue but I will set the component for it and maybe one of our developers will be able to reproduce it on their end.

Thanks for the report.

Best regards,


Component: Untriaged → Widget: Gtk
Product: Firefox → Core
Component: Widget: Gtk → Javascript: WebAssembly

This appears to be a gcc problem that people run into when configuring with certain floating point combinations, I see for example this:

The suggestion there is to try a different -mfpu + -mfloat-abi combination.

I seem to remember that -float-abi=hardfp is really the preferred configuration on Linux, but I don't remember where I remember that from. I'd be curious to hear if that helps you any.

Severity: -- → S4
Priority: -- → P5

In the gcc documentation, we can see that there are three possible values for the "-mfloat-abi" option:

  • "soft"
  • "softfp"
  • "hard"

My operating system Slackware ARM 14.2 is Soft Float.
So, "soft" or "softfp" will work but "hard" will not work as you can see here with a simple "hello world" program written in C language:

$ gcc -mfloat-abi=soft main.c
$ ./a.out 
hello world
$ gcc -mfloat-abi=softfp main.c
$ ./a.out 
hello world
$ gcc -mfloat-abi=hard main.c 
cc1: error: -mfloat-abi=hard: selected processor lacks an FPU

All the programs on my operating system are Soft Float.
They are usually built with a gcc Soft Float compiler and linked to a glibc Soft Float library.
So, I need to build Firefox for a Soft Float operating system.
Consequently, your suggestion to use "-mfloat-abi=hard" will not help unfortunately.

I can believe that. At the same time, your hardware does have an FPU, so the gcc error here is probably indicative of the -mfpu switch not being sensible. I interpreted the error you reported originally to also be a gcc error and also to be indicative of the -mfpu selection being questionable in the context.

(The problem might go away if I ever get around to fixing bug 1587757.)

Depends on: 1587757

I doubt I will be able to test this, but with the fix for bug 1587757 imminent I believe the problem is about to go away, as the patch for that bug effectively implements the fix in comment 1.

Assignee: nobody → lhansen

This should now be fixed, after bug 1587757 was fixed.

Closed: 1 year ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.