ack/mach/proto/ncg
George Koehler aa876ff4c2 Fix reglap for procedures that use both sizes of reg_float.
After the RA phase of ego, a procedure may put single-word and
double-word values in the same reg_float.  Then ncg will use both
LOCAL and DLOCAL tokens at the same offset.

I add isregvar_size() to ncg.  It receives the size of the LOCAL or
DLOCAL token, and picks the register of the correct size.  This fixes
a problem where ncg got the wrong-size register and corrupted the
stack.  This problem caused one of my test programs to segfault from
stack underflow.

Also adjust how fixregvars() handles both sizes.
2017-10-15 13:15:03 -04:00
..
assert.h Check in incomplete Linux PowerPC and M68K work. 2013-05-08 00:48:48 +01:00
build.lua Move util/data into modules/src/em_data, for consistency with the other 2016-08-14 14:09:38 +02:00
codegen.c Fix a buffer overrun that was manifesting on OpenBSD; also fix a bounds check and some uninitialised variable problems. 2017-01-16 22:44:37 +01:00
compute.c Add function prototypes to mach/proto/ncg/regvar.c 2017-10-15 11:01:18 -04:00
data.h Rename addr_t to address_t to avoid clashes with the system addr_t. 2016-11-11 20:17:10 +01:00
equiv.c Add enough return types to the K&R C that the ACK builds (on Linux) using clang 2016-11-10 22:04:18 +01:00
equiv.h Header --> Id 1994-06-24 14:02:31 +00:00
extern.h Switch error() and fatal() in mach/proto/ncg to stdarg. 2017-02-16 20:26:53 -05:00
fillem.c Add function prototypes to mach/proto/ncg/regvar.c 2017-10-15 11:01:18 -04:00
gencode.c Rename addr_t to address_t to avoid clashes with the system addr_t. 2016-11-11 20:17:10 +01:00
glosym.c Rationalised use of #includes to be more standards-compliant. 2006-07-18 17:10:29 +00:00
glosym.h Header --> Id 1994-06-24 14:02:31 +00:00
label.c Add enough return types to the K&R C that the ACK builds (on Linux) using clang 2016-11-10 22:04:18 +01:00
label.h Removed a definition of 'struct label' as 'label_t', as it clashes with 2006-07-21 10:35:34 +00:00
main.c Header --> Id 1994-06-24 14:02:31 +00:00
move.c Check in incomplete Linux PowerPC and M68K work. 2013-05-08 00:48:48 +01:00
nextem.c Fix buffer overrun looking up type information for op_lab pseudoops (as 2013-05-16 22:02:59 +01:00
param.h Header --> Id 1994-06-24 14:02:31 +00:00
proto.make Header --> Id 1994-06-24 14:02:31 +00:00
reg.c Check in incomplete Linux PowerPC and M68K work. 2013-05-08 00:48:48 +01:00
regvar.c Fix reglap for procedures that use both sizes of reg_float. 2017-10-15 13:15:03 -04:00
regvar.h Fix reglap for procedures that use both sizes of reg_float. 2017-10-15 13:15:03 -04:00
result.h Rename addr_t to address_t to avoid clashes with the system addr_t. 2016-11-11 20:17:10 +01:00
salloc.c Ensure that memory is zero-initialised. 2017-01-16 22:45:03 +01:00
state.c Add enough return types to the K&R C that the ACK builds (on Linux) using clang 2016-11-10 22:04:18 +01:00
state.h Header --> Id 1994-06-24 14:02:31 +00:00
subr.c Fix reglap for procedures that use both sizes of reg_float. 2017-10-15 13:15:03 -04:00
types.h Header --> Id 1994-06-24 14:02:31 +00:00
var.c Header --> Id 1994-06-24 14:02:31 +00:00