Fix stack overwrite on structure return
commit50899e30abf3cbd71a09ecc03b2e172f6ba5d4f4
authorMichael Matz <matz@suse.de>
Sun, 8 Mar 2015 23:19:59 +0000 (9 00:19 +0100)
committerMichael Matz <matz@suse.de>
Sun, 8 Mar 2015 23:19:59 +0000 (9 00:19 +0100)
tree2451264d2ed2950fd232f5d4d4fed8ffe2f6538e
parentd73b48840115f0adc97d6a9e6fe2aeb88fcbfbdd
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.
arm-gen.c
arm64-gen.c
c67-gen.c
i386-gen.c
tcc.h
tccgen.c
x86_64-gen.c