mirror of
https://github.com/cc65/cc65.git
synced 2025-02-03 22:32:24 +00:00
Fix segfault on 64-bit LLP64 Windows builds
There are many occurrences of unsigned long in codegen.h's function arguments. Changing g_getimmed and g_defdata makes `make` succeed without segfaulting. I don't know if it makes cc65 behave correctly in all cases, or if there are more unsigned long that need to be changed.
This commit is contained in:
parent
10c1b050c7
commit
f36b9b544d
@ -689,7 +689,7 @@ void g_restore_regvars (int StackOffs, int RegOffs, unsigned Bytes)
|
||||
|
||||
|
||||
|
||||
void g_getimmed (unsigned Flags, unsigned long Val, long Offs)
|
||||
void g_getimmed (unsigned Flags, uintptr_t Val, long Offs)
|
||||
/* Load a constant into the primary register */
|
||||
{
|
||||
unsigned char B1, B2, B3, B4;
|
||||
@ -4394,7 +4394,7 @@ void g_res (unsigned n)
|
||||
|
||||
|
||||
|
||||
void g_defdata (unsigned flags, unsigned long val, long offs)
|
||||
void g_defdata (unsigned flags, uintptr_t val, long offs)
|
||||
/* Define data with the size given in flags */
|
||||
{
|
||||
if (flags & CF_CONST) {
|
||||
|
@ -271,7 +271,7 @@ void g_restore_regvars (int StackOffs, int RegOffs, unsigned Bytes);
|
||||
|
||||
|
||||
|
||||
void g_getimmed (unsigned Flags, unsigned long Val, long Offs);
|
||||
void g_getimmed (unsigned Flags, uintptr_t Val, long Offs);
|
||||
/* Load a constant into the primary register */
|
||||
|
||||
void g_getstatic (unsigned Flags, uintptr_t Label, long Offs);
|
||||
@ -461,7 +461,7 @@ void g_ge (unsigned flags, unsigned long val);
|
||||
void g_res (unsigned n);
|
||||
/* Reserve static storage, n bytes */
|
||||
|
||||
void g_defdata (unsigned flags, unsigned long val, long offs);
|
||||
void g_defdata (unsigned flags, uintptr_t val, long offs);
|
||||
/* Define data with the size given in flags */
|
||||
|
||||
void g_defbytes (const void* bytes, unsigned count);
|
||||
|
Loading…
x
Reference in New Issue
Block a user