|
Message-ID: <20170108021007.GH17692@port70.net> Date: Sun, 8 Jan 2017 03:10:07 +0100 From: Szabolcs Nagy <nsz@...t70.net> To: "Matias A. Fonzo" <selk@...gora.org> Cc: dragora-users@...gnu.org, musl@...ts.openwall.com Subject: Re: Darkcrusade 2017Jan05 (cross compiler set) * Matias A. Fonzo <selk@...gora.org> [2017-01-07 19:55:38 -0300]: > On Sat, 7 Jan 2017 15:57:38 +0100 > Szabolcs Nagy <nsz@...t70.net> wrote: > > * Matias A. Fonzo <selk@...gora.org> [2017-01-06 20:31:34 -0300]: > > > Thanks! -- I've removed the target file for armv7hl. > > > > > > > i think you should keep the armv7hl and remove the armv8hl one. > > Are you sure?: > > armv8hl has the following options for GCC: > > "--with-arch=armv7-a --with-float=hard --with-fpu=neon > --with-tune=cortex-a8" > > meanwhile armv7hl was: > > "--with-arch=armv7-a --with-float=hard --with-fpu=neon" > > 'armv8hl' is like "it can run on the armv7-a but armv8-a has the honor". > > This is confusing, so.. only 64bit is capable of armv8-a?. in armvX-a the X is an architecture version (the -a means application profile, there are m and r profiles as well) the latest architecture version is 8 (it has revisions 8.1, 8.2 and 8.3 introducing various extensions) the armv8-a architecture has two execution states: aarch32 and aarch64, the former is 32bit and backward compatible with armv7-a, the later is 64bit. i think an armv8-a implemetation has to support both aarch32 and aarch64 execution states (so an armv8-a core can run 64bit and 32bit binaries, just like a 64bit x86 cpu) the 32bit and 64bit toolchains needed different naming since they are clearly not abi compatible, for 32bit the old scheme was kept: armv8 in a triplet or elf platform string means 32bit, while the 64bit toolchain naming uses aarch64 now (various projects did not like that and call it arm64 which is visually easy to confuse with amd64 and trips up scripts that matched arm* for 32bit arm so there is a lot of mess around naming). cortex-aX is a micro-architecture, it's a cpu core design that conforms to an arm architecture version (designed by arm, there are other cores not desiged by arm), the X is pretty random, cortex-a8 happens to be an old armv7-a core. (cores are usually part of a soc that is designed by some vendor who sells the chip) (older arm cores were called arm7xx, arm8xx,.. arm11xx with random xx to add further confusion when somebody talks about arm7 or arm8 cpus.) so calling a cortex-a8 tuned toolchain armv8hl is misleading (and not very useful to maintain separately if you have a generic armv7-a toolchain anyway: in linux distro land you want a generic toolchain so the built binaries are useful for many devices, in the mobile world binaries are often tuned for a particular microarchitecture because the vendor provides those with the device)
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.