Commit Graph

10 Commits

Author SHA1 Message Date
50899e30ab Fix stack overwrite on structure return
The common code to move a returned structure packed into
registers into memory on the caller side didn't take the
register size into account when allocating local storage,
so sometimes that lead to stack overwrites (e.g. in 73_arm64.c),
on x86_64.  This fixes it by generally making gfunc_sret also return
the register size.
2015-03-09 00:19:59 +01:00
d73b488401 arm64: Implement __clear_cache.
__clear_cache is defined in lib-arm64.c with a single call to
__arm64_clear_cache, which is the real built-in function and is
turned into inline assembler by gen_clear_cache in arm64-gen.c
2015-03-08 00:10:44 +00:00
d854dede03 arm64: Optimise some integer operations with a constant operand. 2015-03-07 17:42:08 +00:00
9163393476 arm64-gen.c: In load(), do not sign-extend 32-bit VT_CONST. 2015-03-07 17:32:39 +00:00
1706d2254b arm64-gen.c: Improve generation of stack offsets. 2015-03-02 20:51:03 +00:00
1d41da9590 arm64-gen.c: Rename some functions and add comments. 2015-03-02 20:45:58 +00:00
86e8dcd5e2 arm64: Improve constant generation, with tests. 2015-03-02 20:39:28 +00:00
883fd365c7 arm64-gen.c: Better explanation of relocation choice. 2015-03-01 11:31:10 +00:00
a4d43618fb arm64-gen.c: In gen_va_arg, handle the remaining HFA cases. 2015-02-25 22:51:41 +00:00
b14ef0e24b Add arm64 (AArch64) as a target architecture. 2015-02-23 22:51:03 +00:00