New compile error on ARM
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
binutils |
Confirmed
|
Medium
|
|||
binutils (Ubuntu) |
Fix Released
|
Undecided
|
Matthias Klose |
Bug Description
I have the following compile error with gcc-4.7 version 4.7.2-23ubuntu2:
/bin/bash ../libtool --mode=compile --tag=CC ../mpn/m4-ccas --m4="m4" gcc -std=gnu99 -c -DHAVE_CONFIG_H -O2 -fomit-
libtool: compile: ../mpn/m4-ccas --m4=m4 gcc -std=gnu99 -c -DHAVE_CONFIG_H -O2 -fomit-
m4 -DHAVE_CONFIG_H -D__GMP_WITHIN_GMP -DOPERATION_udiv -DPIC udiv.asm >tmp-udiv.s
gcc -std=gnu99 -c -DHAVE_CONFIG_H -O2 -fomit-
tmp-udiv.s: Assembler messages:
tmp-udiv.s:83: Error: ARM register expected -- `str r1,[ r0 ]'
tmp-udiv.s:134: Error: ARM register expected -- `str r1,[ r0 ]'
make[2]: *** [udiv.lo] Error 1
The problem occurs trying to compile either mpir (upstream 2.6.0 or upstream trunk), or the ubuntu source package for libgmp10. The source file triggering the problem is in fact mostly the same.
I think I can blame gcc rather than that source file because it used to compile when my toshiba ac100 was still running precise, then quantal.
Related branches
Changed in binutils (Ubuntu): | |
assignee: | nobody → Matthias Klose (doko) |
Changed in binutils: | |
importance: | Unknown → Medium |
status: | Unknown → Confirmed |
We are now regressing on arm and getting the above error after this commit
This happens on both master as well as 2.23 branch
commit 65faec7cb829c58 b20a5f26ee2908a c35165fc58
Author: Roland McGrath <email address hidden>
Date: Tue Nov 20 17:58:28 2012 +0000
gas/
* config/tc-arm.c (arm_symbol_chars): New variable.
* config/tc-arm.h (tc_symbol_chars): New macro, defined to that.
gas/testsuite/ macro-pld. s: New file. macro-pld. d: New file.
* gas/arm/
* gas/arm/
Test case is below
a.s
====
.text
str r1,[ r0 ]
$ ./gas/as-new a.s
/home/kraj/a.s: Assembler messages:
/home/kraj/a.s:2: Error: ARM register expected -- `str r1,[ r0 ]'
If I remove spaces before and after r0 the errors goes away. Testcase works well on 2.22 branch and without the above commit.