NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: port-arm/47401: armv6 targeted build uses instructions not available on armv6



On Jan 3, 2013, at 5:10 PM, pooka%iki.fi@localhost wrote:

>> Number:         47401
>> Category:       port-arm
>> Synopsis:       armv6 targeted build uses instructions not available on armv6
>> Confidential:   no
>> Severity:       non-critical
>> Priority:       medium
>> Responsible:    port-arm-maintainer
>> State:          open
>> Class:          sw-bug
>> Submitter-Id:   net
>> Arrival-Date:   Fri Jan 04 01:10:00 +0000 2013
>> Originator:     Antti Kantee
>> Release:        
>> Organization:
>> Environment:
>> Description:
> When compiling src/common/lib/libc/arch/arm/atomic with -march=armv6 (gas 
> 2.23), you get e.g. following errors:
> 
> atomic_add_64.S:42: Error: selected processor does not support ARM mode 
> `ldrexd r0,[r4]'
> atomic_add_64.S:45: Error: selected processor does not support ARM mode 
> `strexd ip,r2,[r4]'
> atomic_add_64.S:65: Error: selected processor does not support ARM mode 
> `ldrexd r0,[r4]'
> atomic_add_64.S:68: Error: selected processor does not support ARM mode 
> `strexd ip,r0,[r4]'
> 
> Additionally, at least arm/include/lock.h has uses _ARM_ARCH_6_ in a similar 
> inaccurate fashion with ldrexb.

Note all the arm11 (36,76) supported by NetBSD support those instructions.
You need to -march=armv6z to get gas to shut up.


Home | Main Index | Thread Index | Old Index