tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: MACHINE_ARCH on NetBSD/evbearmv6hf-el current
> As described in
> http://gnats.netbsd.org/48193
> and
> http://gnats.netbsd.org/48215 .
>
>
> pkg_add on NetBSD/evbearm*hf fails with, for example,
>
> pkg_add: NetBSD/earmv6hf 6.99.23 (pkg) vs. NetBSD/earm 6.99.23 (this host)
>
> error.
>
> What is solution?
> This problem discourages my pkgsrc development on Raspberry Pi.
It was broken by matt@ and no response for a month in recent discussion:
http://mail-index.netbsd.org/tech-userlevel/2013/09/18/msg007954.html
The essencial problem is:
"How to determine whether current environment is hardfloat or softfloat?"
By static MACHINE_ARCH, or dynamic sysctl(3)?
If dynamic sysctl(3) is prefered, which node?
MACHINE_ARCH=earmhf was initially introduced into build.sh and bsd.*.mk:
http://mail-index.netbsd.org/source-changes/2013/02/03/msg041159.html
http://mail-index.netbsd.org/source-changes/2013/02/03/msg041160.html
but there was no changes against MACHINE_ARCH values in <machine/param.h>.
This initially caused the problem mentioned in PR/48193
(i.e. inconsistent MACHINE_ARCH between uname(1) and bsd.own.mk):
http://mail-index.netbsd.org/netbsd-bugs/2013/09/08/msg034148.html
PR/48193 pointed out no hf definitions in MACHINE_ARCH in param.h:
http://mail-index.netbsd.org/netbsd-bugs/2013/09/10/msg034174.html
http://mail-index.netbsd.org/netbsd-bugs/2013/09/14/msg034184.html
After that, exec_elf.h was changed to have machine_arch info in the
ELF note:
http://mail-index.netbsd.org/source-changes/2013/09/10/msg047399.html
http://mail-index.netbsd.org/source-changes/2013/09/10/msg047400.html
http://mail-index.netbsd.org/source-changes/2013/09/10/msg047401.html
And sysctl(9) for machine_arch was introduced to return the value
dynamically instead of static MACHINE_ARCH in <machine/param.h>:
http://mail-index.netbsd.org/source-changes/2013/09/10/msg047416.html
http://mail-index.netbsd.org/netbsd-bugs/2013/09/14/msg034185.html
But there was a report the above sysctl change didn't help the problem:
http://mail-index.netbsd.org/netbsd-bugs/2013/09/14/msg034194.html
Then make(1) was changed to use the sysctl machine_arch instead of
MACHINE_ARCH from <machine/param.h>:
http://mail-index.netbsd.org/source-changes/2013/09/14/msg047577.html
But pkg_add(1) has the same problem as make(1) (i.e. it uses
MACHINE_ARCH from <machine/param.h>):
http://mail-index.netbsd.org/netbsd-bugs/2013/09/16/msg034225.html
matt claimed it was a separate issue and PR/48215 was filed:
http://mail-index.netbsd.org/netbsd-bugs/2013/09/16/msg034226.html
http://mail-index.netbsd.org/netbsd-bugs/2013/09/16/msg034229.html
Then matt also claimed pkg_add(1) problem was a tools issue:
http://mail-index.netbsd.org/netbsd-bugs/2013/09/16/msg034230.html
I asked about the strategy how to determine sf or hf:
http://mail-index.netbsd.org/netbsd-bugs/2013/09/16/msg034234.html
Then matt claimed his changes solved the PR/48193 and further discussion
should go in tech-* lists instead of gnats:
http://mail-index.netbsd.org/netbsd-bugs/2013/09/16/msg034240.html
http://mail-index.netbsd.org/netbsd-bugs/2013/09/16/msg034244.html
After that removal of MACHINE_ARCH was proposed in tech-userlevel:
http://mail-index.netbsd.org/tech-userlevel/2013/09/16/msg007949.html
I replied that it could cause inconsistency (emips is MACHINE_ARCH=mipseb
but softfloat) and it might also require many changes to third party
applications like pkg_add(1):
http://mail-index.netbsd.org/tech-userlevel/2013/09/18/msg007954.html
Then everything stalls.
All these MACHINE_ARCH=earmhf* changes were committed without discussion,
and it looks all changes were introduced without proper considerations.
(though I don't know if changes by core members need prior approvals or not)
---
Izumi Tsutsui
Home |
Main Index |
Thread Index |
Old Index