This is the mail archive of the 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 <>

	* 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.

  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]