[llvm-commits] Please allow llvm to support armhf hardware / toolchain

James Molloy james.molloy at arm.com
Thu Jan 19 00:57:14 PST 2012


I'd have thought you'd want to both set the calling convention to
"aapcs-linux" and the floating point mode to "hard".

At this point it might be worthwhile adding predicates to Triple to help (as
we're getting a lot of ARM environments) - something like "isEABILike()" and
"isGNULike()" ?



-----Original Message-----
From: llvm-commits-bounces at cs.uiuc.edu
[mailto:llvm-commits-bounces at cs.uiuc.edu] On Behalf Of Rafael Ávila de
Espíndola
Sent: 18 January 2012 23:40
To: llvm-commits at cs.uiuc.edu
Subject: Re: [llvm-commits] Please allow llvm to support armhf hardware /
toolchain

On 10/01/12 02:24 PM, Sylvestre Ledru wrote:
> Hello,
> 
> It would be nice if you could apply the attached patch. It has been
> generated against the last llvm svn.
> It allows LLVM to run on Arm Hard Float CPU (armhf or called also
> armv7).
> 
> A new gcc triple has been introduced which requires LLVM to be updated.
> 
> It builds without any problem:
>
https://buildd.debian.org/status/fetch.php?pkg=llvm-3.0&arch=armhf&ver=3.0-5
&stamp=1324362164
> 
> More information on the Debian port:
> http://wiki.debian.org/ArmHardFloatPort
> 
> and the impact of this triple on llvm:
> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=642127

The LLVM patch is OK, but you also have to update clang, no? The switch

    // Select the default based on the platform.
    switch(Triple.getEnvironment()) {
    case llvm::Triple::ANDROIDEABI:
    case llvm::Triple::GNUEABI:
      ABIName = "aapcs-linux";
      break;
    case llvm::Triple::EABI:
      ABIName = "aapcs";
      break;
    default:
      ABIName = "apcs-gnu";
    }

now selects apcs-gnu, which is probably not what you want.

> Thanks,
> Sylvestre
> PS: This has been initially reported here:
> http://llvm.org/bugs/show_bug.cgi?id=11670

Cheers,
Rafael
_______________________________________________
llvm-commits mailing list
llvm-commits at cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits








More information about the llvm-commits mailing list