This is the mail archive of the libffi-discuss@sourceware.org mailing list for the libffi 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: documentation patch, oddities, and proposals


Tom> * Require each ABI to have a string name and provide a way to look up
Tom>   ABI by name.
[...]
Tom>   Also, document all ABIs -- not really an ABI problem, but worth
Tom>   pointing out.
Tom>   I suppose this could be added without breaking ABI.

I was taking a stab at this today but I realized I don't fully
understand the PPC ABI stuff.

Unlike the other ports, src/powerpc/ffitarget.h puts a bunch of flags
into the ffi_abi enum.  This is fine (a bit odd maybe), but what I don't
know is whether all possible combinations of flags are valid.

For one host:

  FFI_LINUX = 8,
  /* This and following bits can reuse FFI_COMPAT values.  */
  FFI_LINUX_STRUCT_ALIGN = 1,
  FFI_LINUX_LONG_DOUBLE_128 = 2,

FFI_LINUX is required but can zero or more of the others be added in any
combination?

Another host:

  FFI_SYSV = 8,
  FFI_SYSV_SOFT_FLOAT = 1,
  FFI_SYSV_STRUCT_RET = 2,
  FFI_SYSV_IBM_LONG_DOUBLE = 4,
  FFI_SYSV_LONG_DOUBLE_128 = 16,

Same question here.

If they are all valid then I guess I'll need to rethink my simple naming
scheme, since having 16 different multi-word ABI names seems unpleasant.

Tom


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