NetBSD-Bugs archive

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

port-arm/48193: On NetBSD/evbearmv6hf-el for Raspberry Pi, MACHINE_ARCH returns earm, but *hf* is expected in /usr/share/mk/bsd.own.mk .



>Number:         48193
>Category:       port-arm
>Synopsis:       On NetBSD/evbearmv6hf-el for Raspberry Pi, MACHINE_ARCH 
>returns earm, but *hf is expected in /usr/share/mk/bsd.own.mk .
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    port-arm-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Sep 08 09:55:01 +0000 2013
>Originator:     Ryo ONODERA
>Release:        NetBSD 6.99.23
>Organization:
        
>Environment:
        
        
System: NetBSD silver.elements.tetera.org 6.99.23 NetBSD 6.99.23 (RPINODEBUG) 
#1: Sun Sep  8 09:04:07 UTC 2013  
ryo_on%deuterium.ryoon.net@localhost:/usr/obj/evbearmv6hf-el/sys/arch/evbarm/compile/RPINODEBUG
 evbarm
Architecture: x86_64
Machine: amd64
$ uname -p
earm
$ uname -m
evbarm
>Description:
On NetBSD/evbearmv6hf-el for Raspberry Pi, MACHINE_ARCH is "earm".

$ cd /usr/pkgsrc
$ $ make -V MACHINE_ARCH
earm

But in base's /usr/share/mk/bsd.own.mk, there is the following code.

#
# Default mips64 to softfloat now.
# arm is always softfloat unless it isn't
# emips is always softfloat.
# coldfire is always softfloat
#
.if ${MACHINE_ARCH} == "mips64eb" || ${MACHINE_ARCH} == "mips64el" || \
    (${MACHINE_CPU} == "arm" && ${MACHINE_ARCH:M*hf*} == "") || \
    ${MACHINE_ARCH} == "coldfire" || \
    ${MACHINE} == "emips"
MKSOFTFLOAT?=   yes
.endif

Then softfloat is enabled on evbearmv6hf-el (hardfloat) system.

This inconsistency causes build failure of pkgsrc/sysutils/checkperms,
very essential program for pkgsrc developers (and many programs, I believe).
Error message is the following.

#   compile  checkperms-1.11/checkperms.o
gcc -O2 -msoft-float -std=gnu99  -Wall -Wstrict-prototypes -Wmissing-prototypes 
-Wpointer-arith -Wno-sign-compare  -Wno-traditional  -Wa,--fatal-warnings 
-Wreturn-type -Wswitch -Wshadow -Wcast-qual -Wwrite-strings -Wextra 
-Wno-unused-parameter -Wno-sign-compare -Wsign-compare -Wformat=2   
-Wno-format-zero-length  -Werror     -c    checkperms.c
#      link  checkperms-1.11/checkperms
gcc   -Wl,-R/usr/pkg/lib     -o checkperms  checkperms.o  -Wl,-rpath-link,/lib  
-L=/lib
ld: error: checkperms uses VFP register arguments, checkperms.o does not
ld: failed to merge target specific data of file checkperms.o
*** Error code 1
 

Please fix softfloat/hardfloat detection mechanism on earm.
        
>How-To-Repeat:
See above.
        
>Fix:
        
I have no idea.

>Unformatted:
        
        


Home | Main Index | Thread Index | Old Index