[uclibc-ng-devel] [uClibc] ARC: Support syscall ABI v4

Waldemar Brodkorb wbx at uclibc-ng.org
Wed Aug 17 21:22:55 PDT 2016


Hi Vineet,
Vineet Gupta wrote,

> The syscall ABI includes the gcc functional calling ABI since a syscall
> implies userland caller and kernel callee.
> 
> The current gcc ABI (v3) for ARCv2 ISA required 64-bit data be passed in
> even-odd register pairs, (potentially punching reg holes when passing such
> values as args). This was partly driven by the fact that the double-word
> LDD/STD instructions in ARCv2 expect the register alignment and thus gcc
> forcing this avoids extra MOV at the cost of a few unused register (which we
> have plenty anyways).
> 
> This however was rejected as part of upstreaming gcc port to HS. So the new
> ABI v4 doesn't enforce the even-odd reg restriction.
> 
> Do note that for ARCompact ISA builds v3 and v4 are practically the same in
> terms of gcc code generation.
> 
> This change is dormant for now (gcc 4.8.x based tools) and will only kick
> in with switch to gcc 6.x based tools.
> 
> Signed-off-by: Vineet Gupta <vgupta at synopsys.com>

Thanks, applied and pushed,
 Waldemar



More information about the linux-snps-arc mailing list