From owner-freebsd-toolchain@freebsd.org Thu Jan 26 15:59:13 2017 Return-Path: Delivered-To: freebsd-toolchain@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 35730CC273B for ; Thu, 26 Jan 2017 15:59:13 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from outbound1a.eu.mailhop.org (outbound1a.eu.mailhop.org [52.58.109.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C6296868 for ; Thu, 26 Jan 2017 15:59:12 +0000 (UTC) (envelope-from ian@freebsd.org) X-MHO-User: 5f73f5e4-e3e0-11e6-95b5-6dfd7dbb0ee5 X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 73.78.92.27 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (unknown [73.78.92.27]) by outbound1.eu.mailhop.org (Halon) with ESMTPSA id 5f73f5e4-e3e0-11e6-95b5-6dfd7dbb0ee5; Thu, 26 Jan 2017 15:59:10 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.15.2) with ESMTP id v0QFx4eE003821; Thu, 26 Jan 2017 08:59:04 -0700 (MST) (envelope-from ian@freebsd.org) Message-ID: <1485446344.30533.72.camel@freebsd.org> Subject: Re: =mcpu=cortex-a7 buildlworld (for example) vs. __aeabi_uidiv use in ports from pkg From: Ian Lepore To: Mark Millard , FreeBSD Toolchain , freebsd-arm Date: Thu, 26 Jan 2017 08:59:04 -0700 In-Reply-To: <15C25780-588B-43EF-8DAC-000C301018BE@dsl-only.net> References: <15C25780-588B-43EF-8DAC-000C301018BE@dsl-only.net> Content-Type: text/plain; charset="ISO-8859-1" X-Mailer: Evolution 3.18.5.1 FreeBSD GNOME Team Port Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Jan 2017 15:59:13 -0000 On Thu, 2017-01-26 at 02:10 -0800, Mark Millard wrote: > If I buildworld buildkernel for arm.armv6 with the likes of: > > CFLAGS+= =mcpu=cortex-a7 > CXXFLAGS+= =mcpu=cortex-a7 > CPPFLAGS+= =mcpu=cortex-a7 > > (say for targeting a bpim3 or rpi2) then what package > installs for that context tends to report: > > Undefined symbol "__aeabi_uidiv" > > In other words __aeabi_uidiv is only implemented > for armv6 buildworld, not if one explicitly targets > armv7. (armv7 has instruction support but that does > not make software built to support other processor > variants that are without instruction support also > work unless the routine is still provided.) > > Note: I normally build ports from source anyway > so this is just an FYI in case the lack of > __aeabi_uidiv was not deliberate. > > === > Mark Millard > markmi at dsl-only.net I believe problems like this will not go away unless we stop trying to pretend that armv6 and armv7 are the same thing, and actually start treating armv7 as its own arch, especially for the purpose of packages and ports. I've said/suggested this more than once, and every time it gets shot down by the people who actually understand what it takes to create a new arch (if I knew how to do it, I would have, long ago).  As near as I can tell, the argument against doing it is essentially "because it's hard". So I guess... don't expect it to get better any time soon. -- Ian