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]

Re: [patch]: Sandro's GCJ on Darwin/i386 patches pt.2



On 16/set/2006, at 21:20, Geoffrey Keating wrote:


Hi Jack,

2006-03-28 Sandro Tolaini <tolaini@libero.it>

	* configure.ac: Enable Darwin/i386 as a supported target
	* src/x86/ffi.c: Port to Darwin/i386
	* src/x86/sysv.S: Likewise
	* src/prep_cif.c: Likewise

The ChangeLog entry for prep_fic.c should specify which routine is
being altered.

I think this patch needs some re-work to ensure it doesn't affect
other platforms.  The prep_cif change looks like it would affect
powerpc-darwin; is this intentional?  The sysv.S changes look, in
part, like they would affect all x86 platforms.  It also looks like
the sysv.S changes need a corresponding change to the DWARF
information, do they?

The affected function in prep_cif.c is ffi_prep_cif. You are right: the change would affect PPX/Darwin. Attached is the modified patch.


The sysv.S changes that are not platform specific are needed because the original source had a bug in passing structs smaller than 4 bytes in a reg instead of on the stack. The bug never show up on other platforms because only x86/Darwin use this modification to the original SYSV specs. Other platform should not be affected because they never get the FFI_TYPE_SINT* tyep value, only FFI_TYPE_STRUCT.

About exception unwinding DWARF infos, there should be no needed changes IMHO.

Cheers,
  Sandro Tolaini

Attachment: libffi.patch
Description: Binary data



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]