This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi, here is the updated version of my previous patch. Now the problems in explow.c for DARWIN are solved. Some of these patches also eliminate some trailing whitespaces as GNAT wants, therefore sorry about the mess. Also I added the patch for the new pragma command macro_push/macro_pop within this patch, because it is necessary for my to use my headers and crt (an inoffical build, which may is getting merged to MinGW - as I hope). Currently there are two open points for the complete support in gcc. MS passes floating points in XMM and standard register. Currently I pass them just in the standard one. The other open point is, that va-incomings need to copy the register arguments at the stack on to the caller reserved area. But by this version, you are able to build a runtime and translate easy programs (not using va_list). You can build the cross compiler itself, by configuring for this target and using "make all-gcc" "make install-gcc". For the libgcc you need runtime headers, which are hopefull soon available too. Dont miss to use also the patch I posted allready to gcc by subject "Fw: PATCH: Redefining OUTGOING_REG_PARM_STACK_SPACE (sorry to fast sent :))", because this target needs a different handling of the outgoing register parameters as other i386 targets are using. I hope, there is somebody to verify this patch and may commit. Regards, i.A. Kai Tietz ChangeLog: 2007-03-01 Kai Tietz <kai.tietz@onevision.com> * libgcc/config.host: Add support for an x86_64-mingw* target. * gcc/doc/tm.texi: Add comment for HANDLE_PRAGMA_PUSH_POP_MACRO (OUTGOING_REG_PARM_STACK_SPACE): Adjust comment for value * gcc/explow.c: (convert_memory_address) Introduced stack alignment for x86_64-* (for mingw) * gcc/config.gcc: Add support for an x86_64-mingw* target. * gcc/config.host: Likewise * gcc/config/i386/i386.h: (LONG_TYPE_SIZE) x86_64-mingw needs 32-bit size (call_used_regs): Adjustments for target (REGPARM_MAX): Likewise (OUTGOING_REG_PARM_STACK_SPACE): Added conditional target define for x86_64-pc-mingw32 (REG_PARM_STACK_SPACE): Changed for x86_64-pc-mingw32 target (SSE_REGPARM_MAX): Likewise * gcc/config/i386/cygming.h: (DWARF2_DEBUGGING_INFO) for x86_64-mingw needs to be valued 1 (DWARF2_UNWIND_INFO): Likewise (PREFERRED_DEBUGGING_TYPE): for x86_64-mingw it needs to be DWARF2_DEBUG by default (DBX_REGISTER_NUMBER): Have to use dbx64_register_map for x86_64-mingw (SIZE_TYPE): Needs to be "long long unsigned int" for x86_64-mingw (PTRDIFF_TYPE): Needs to be "long long int" for x86_64-mingw (POINTER_SIZE: Needs to be 64 for x86_64-mingw (HANDLE_PRAGMA_PUSH_POP_MACRO): New macro (TARGET_SUBTARGET_DEFAULT): Defined proper for x86_64-mingw * gcc/config/i386/i386.md: (allocate_stack64) New (*movdi_1_rex64): Ensure pushed arguments are 64-bit relocatable for x86_64-mingw required by PE * gcc/config/i386/cygwin.asm: Dummy adjustments for target build of x86_64-mingw * gcc/config/i386/i386.opt: (64BIT_MS_ABI) New * gcc/config/i386/mingw32.h: Adjustments for target x86_64-mingw (EXTRA_OS_CPP_BUILTINS): Added predefined macro _INTEGRAL_MAX_BITS with the value of bitsize of a pointer (WIN64,_WIN64,__MINGW64__): New predefined macros for x86_64-mingw target (STANDARD_INCLUDE_DIR,STANDARD_STARTFILE_PREFIX_1,): Include for x86_64-mingw from different place (HANDLE_PRAGMA_PUSH_POP_MACRO): Introduce to be true for new target * gcc/config/i386/i386.c: x86_64-mingw calling convention and enabling mingw specific code for it. * gcc/config.build: Add x86_64-mingw target * fixincludes/mkfixinc.sh: Add x86_64-mingw target * gcc/unwind-generic.h: Patch for supporting x86_64-pc-mingw32 * gcc/c-pragma.c: Support of pragma macro_push/macro_pop Patches: ---------------------------------------- Kai Tietz - Software engineering OneVision Software Entwicklungs GmbH & Co KG Dr.-Leo-Ritter-Str. 9, 93049 Regensburg, Germany Phone: +49-941-78004-0 FAX: +49-941-78004-489 WWW: http://www.OneVision.com
Attachment:
libgcc_config.host.diff
Description: Binary data
Attachment:
gcc_config.build.diff
Description: Binary data
Attachment:
gcc_config.gcc.diff
Description: Binary data
Attachment:
gcc_config.host.diff
Description: Binary data
Attachment:
gcc_config_i386_cygming.h.diff
Description: Binary data
Attachment:
gcc_config_i386_cygwin.asm.diff
Description: Binary data
Attachment:
gcc_config_i386_i386.c.diff
Description: Binary data
Attachment:
gcc_config_i386_i386.h.diff
Description: Binary data
Attachment:
gcc_config_i386_i386.md.diff
Description: Binary data
Attachment:
gcc_config_i386_i386.opt.diff
Description: Binary data
Attachment:
gcc_config_i386_mingw32.h.diff
Description: Binary data
Attachment:
gcc_c-pragma.c.diff
Description: Binary data
Attachment:
gcc_doc_tm.texi.diff
Description: Binary data
Attachment:
gcc_explow.c.diff
Description: Binary data
Attachment:
gcc_unwind-generice.h.diff
Description: Binary data
Attachment:
fixincludes_mkfixinc.sh.diff
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |