This is the mail archive of the
libffi-discuss@sourceware.org
mailing list for the libffi project.
libffi-3.1 on iOS
- From: Ed VanVliet <ed at vvi dot com>
- To: libffi-discuss at sourceware dot org
- Date: Tue, 27 May 2014 12:43:45 -0400
- Subject: libffi-3.1 on iOS
- Authentication-results: sourceware.org; auth=none
Dear libffi crew,
Bug report:
I just tried libffi-3.1 and it produced the issues below.
Can the warnings be eliminated and the link error fixed?
Sincerely,
Ed
---------------------------
Running libffi on iOS (iPhone) simulator works for both 32 and 64 bit simulators using libffi-3.0.14-rc0
But, with libffi-3.1 it works for 64 bit simulator, but fails to link for 32 bit simulator; giving the following:
(null): "_ffi_call_win32", referenced from:
(null): "_ffi_closure_FASTCALL", referenced from:
(null): "_ffi_closure_STDCALL", referenced from:
(null): "_ffi_closure_THISCALL", referenced from:
(null): Linker command failed with exit code 1 (use -v to see invocation)
Also, on both the 32 and 64 bit segments the linker gives this warning:
(null): Could not create compact unwind for .LFB3: non-standard register 5 being saved in prolog
which it gave for both 3.0.14-rc0 and 3.1. However, the warning does not seem to cause a problem.
On the ARM target the linker gives the following warnings:
ld: warning: arm64 function not 4-byte aligned: ltmp0 from /libffi.a(sysv_arm64.o)
ld: warning: arm64 function not 4-byte aligned: _ffi_call_SYSV from /libffi.a(sysv_arm64.o)
ld: warning: arm64 function not 4-byte aligned: _ffi_closure_SYSV from /libffi.a(sysv_arm64.o)
which also do not seem to cause a problem.
It would be nice to fix the build and code so it didn't produce the error and warnings.