amd64 doesn't define __LP64__ in the compiler, but it definately needs
this definition. It fixes gnome for starters. I haven't tried *emacs yet. Like IA64, amd64 uses registers for the first few arguments and then the stack for the rest. This means the 64 bit promotion of the NULL (0) value is lost and its just pushed on as an 'int' in a varargs call. When the consumer walks the list and expects to pull off void * pointers via va_arg, then all hell breaks loose. Marcel: thanks a million for finding this!
This commit is contained in:
parent
ad1c13f493
commit
61cf13a8cf
@ -28,7 +28,7 @@
|
||||
|
||||
#ifndef NULL
|
||||
|
||||
#ifdef __LP64__
|
||||
#if defined(__LP64__) || defined(__amd64__)
|
||||
#define NULL 0L
|
||||
#else
|
||||
#define NULL 0
|
||||
|
Loading…
x
Reference in New Issue
Block a user