|
Message-ID: <20170218125301.GK12395@port70.net> Date: Sat, 18 Feb 2017 13:53:01 +0100 From: Szabolcs Nagy <nsz@...t70.net> To: Rob Landley <rlandley@...instruments.com> Cc: musl <musl@...ts.openwall.com> Subject: Re: musl-cross-make build script. * Rob Landley <rlandley@...instruments.com> [2017-02-18 02:45:38 -0600]: > On 02/17/2017 05:53 AM, Szabolcs Nagy wrote: > > i didnt know about -j$(nproc), what does it do? > > You answered your own question, but I note you can go "taskset 1 > ./thingy.sh" to do a single processor build with this. :) nice > >> for i in i686:: \ > >> armv5l:eabihf:--with-arch=armv5t armv7l:eabihf:--with-arch=armv7-a \ > >> "armv7m:eabi:--with-arch=armv7-m --with-mode=thumb --disable-libatomic --enable-default-pie" \ > >> armv7r:eabihf:--with-arch=armv7-r \ > >> armv8l:eabihf:--with-arch=armv8-a i486:: sh2eb:fdpic:--with-cpu=mj2 \ > >> mipsel:: mips:: powerpc:: sh4:: microblaze:: mips64:: powerpc64:: \ > >> s390x:: x86_64:: > > > > aarch64 is missing > > In theory armv8l is what they used to call aaaarrcchh64 before they > decided to stutter and pretend it wasn't arm or whatever that nonsense > is. (I've done my best to ignore it.) > > https://www.arm.com/products/processors/armv8-architecture.php > > In practice I haven't tested that one yet and it looks like it's broken, > have to figure out how to hit it with a rock... > > (The armv7r target is also broken because it's nommu but not pie, need > to tweak that...) > > > (and i don't think it's useful to > > build both armv7l and armv8l toolchains: the former > > can produce binaries for armv8-a targets just fine > > These are not multilib toolchains. If armv7l is 32 bit, armv8l is 64 > bit, they have different libgcc.a and so on... > > > and i don't know about any code in the toolchain target > > libs that would be different on armv8-a, > > One is 32 bit, one is 64 bit? > no, in a triplet "armv8" means the armv8 architecture in 32bit execution state (which arm calls aarch32) and that is backward compatible (and almost identical to) armv7 (at least the -a profile, armv8-m and armv7-m have more differences afaik) in a triplet "aarch64" means the armv8 architecture in 64bit execution state. so if you configure for armv8l-linux-musleabihf you get a toolchain that follows a 32bit arm abi and uses a 32bit arm isa (thumb or arm like with armv7). the 64bit triplet is aarch64-linux-musl (there is no soft float abi nor eabi suffix), there is an ilp32 abi for aarch64 which uses 64bit isa (like x32) which is not supported by musl, and a bigendian variant which can be configured with "aarch64_be" (but not used in practice i think).
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.