[cfe-commits] [PATCH] fix failling regression tests due to calling convention markers on recent ARM ubuntu platforms

陳韋任 (Wei-Ren Chen) chenwj at iis.sinica.edu.tw
Fri Oct 19 01:14:15 PDT 2012

Hi David,

On Fri, Oct 19, 2012 at 08:51:32AM +0100, David Tweed wrote:
> Hi, I think that I've finally got a "correct" solution for the regression
> tests failing due to the change to gnueabihf in the latest ubuntu which
> implies aapcs-vfp should be the "defaultCC" unless additional command line
> switches are set. (The code in target info somewhat ad hoc dealing with an
> ad hoc reality so it's... challenging to follow but I believe the patch is
> handling things correctly.) It looks like the
> default-from-ambient-environment code hasn't gone beyond the aapcs calling
> convention. This patch makes clang recognise that the defaultCC is aapcs_vfp
> on gnueabihf platforms when no other arguments are specified; I believe it
> doesn't alter behaviour if either explicit arguments are given or we're on a
> gnueabihf platform. This has been tested on x86_64 and on a gnueabihf ubuntu
> Linux pandaboard and it fixes the tests that were failing due to explicit
> calling-convention markers being emitted and confusing FileCheck.
> (Note that in the patch CodeGenOpts.FloatABI can be, eg, "" so that the test
> doesn't contain redundant elements.)
> Please review and, equally usefully, test. If there are no problems I'll
> then commit it.

  Attach is my system parameters, and here is my current configuration,

env CC="ccache /usr/bin/gcc" CXX="ccache /usr/bin/g++" ../llvm/configure -C --disable-bindings \
--build=armv7l-unknown-linux-gnueabi --host=armv7l-unknown-linux-gnueabi --target=armv7l-unknown-linux-gnueabi \
--with-cpu=cortex-a9 --with-fpu=neon --with-abi=aapcs --with-float=hard --enable-assertions \
--with-c-include-dirs=/usr/include/:/usr/include/arm-linux-gnueabihf --enable-optimized

If you're OK with that, I'll apply the patch and run tests.


Wei-Ren Chen (陳韋任)
Computer Systems Lab, Institute of Information Science,
Academia Sinica, Taiwan (R.O.C.)
Tel:886-2-2788-3799 #1667
Homepage: http://people.cs.nctu.edu.tw/~chenwj
-------------- next part --------------
$ uname -a
Linux arm3 3.2.0-1412-omap4 #16-Ubuntu SMP PREEMPT Tue Apr 17 19:38:42 UTC 2012 armv7l armv7l armv7l GNU/Linux
$ gcc -v
Using built-in specs.
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.6.3-1ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --enable-multilib --disable-sjlj-exceptions --with-arch=armv7-a --with-float=hard --with-fpu=vfpv3-d16 --with-mode=thumb --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
Thread model: posix
gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
$ ld -v
GNU gold (GNU Binutils for Ubuntu 2.22) 1.11

More information about the cfe-commits mailing list