[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] ARM: refine compiler target architecture
On Wed, 2013-12-18 at 08:48 +0100, Andre Przywara wrote: > But actually the ABI is orthogonal to the -march setting, right? AFAIK > -march just controls which instruction the compiler emits and which > instructions the assembler allows. I thought they were subtly intertwined, even if technically they are orthogonal. > $ arm-linux-gnueabi-gcc -v > Target: arm-linux-gnueabi > ... --with-arch=armv4t ... > > This is pretty conservative, but the compiler is fine and with > -march=armv7-a -mfloat-abi=hard it even generates modern code. I think we can't force float-abi=hard unless the rest of the libraries on the system use it? Which won't be the case on armel. > Are there really people out there still using OABI? I thought the Debian armel port was OABI, it seems I was mistaken, sorry. From the native Debian armel compiler: $ gcc -v [...] Target: arm-linux-gnueabi Configured with: [...] --with-arch=armv4t --with-float=soft --enable-checking=release --build=arm-linux-gnueabi --host=arm-linux-gnueabi --target=arm-linux-gnueabi [...] gcc version 4.8.2 (Debian 4.8.2-7) https://wiki.debian.org/ArmEabiPort confirms that I was wrong. The armhf port is EABI and v7: $ gcc -v [...] Target: arm-linux-gnueabihf Configured with: [...] --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf [...] gcc version 4.6.3 (Debian 4.6.3-14) > Do we care? I care about people not getting confused into think that things will work on such systems when it will not. The bugs resulting from an OABI vs EABI mismatch will likely be quite subtle. I guess this means the original Debian arm (not -el nor -hf) port which I suppose people are less likely to have these days. > Both compilers I tested (Slackware and Debian cross) are purely EABI, > but have less than armv7 as their default. I wonder if we can either add some option which will force EABI and therefore fail to build on an OABI system (maybe march v7 is that test given the age of OABI?) or add a configure check for struct alignment? In any case looking back to the original patch I am now convinced that it would be OK. I'm not sure about for 4.4 though, I'm a bit wary of changing compiler defaults at this stage. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |