Sorted out CMake on x86-64 and fixed silly XMM# bug introduced when working on Win64 stdargs.

I removed the XMM6/7 registers from the register list because they are not used
on Win64 however they are necessary for parameter passing on x86-64. I have now
restored them but not marked them with RC_FLOAT so they will not be used except
for parameter passing.
This commit is contained in:
James Lyon
2013-04-25 22:30:53 +01:00
parent e7a7efed11
commit 1caee8ab3b
10 changed files with 110 additions and 38 deletions

View File

@ -607,9 +607,16 @@ unsigned long long __fixunsxfdi (long double a1)
#if defined(__x86_64__) && !defined(_WIN64)
#ifndef __TINYC__
#include <stdlib.h>
#include <stdio.h>
#else
/* Avoid including stdlib.h because it is not easily available when
cross compiling */
extern void *malloc(unsigned long long);
extern void free(void*);
extern void abort(void);
#endif
enum __va_arg_type {
__va_gen_reg, __va_float_reg, __va_stack