summaryrefslogtreecommitdiff
path: root/data/libffi
diff options
context:
space:
mode:
Diffstat (limited to 'data/libffi')
-rw-r--r--data/libffi/_metadata/description2
l---------data/libffi/_metadata/license1
l---------data/libffi/_metadata/maintainer1
-rw-r--r--data/libffi/_metadata/priority1
-rw-r--r--data/libffi/_metadata/section1
-rw-r--r--data/libffi/_metadata/version1
-rw-r--r--data/libffi/assembler.diff43
-rw-r--r--data/libffi/libffi-130618.tgzbin0 -> 982313 bytes
-rw-r--r--data/libffi/make.sh12
-rw-r--r--data/libffi/private.diff12
10 files changed, 74 insertions, 0 deletions
diff --git a/data/libffi/_metadata/description b/data/libffi/_metadata/description
new file mode 100644
index 000000000..005d9a0c9
--- /dev/null
+++ b/data/libffi/_metadata/description
@@ -0,0 +1,2 @@
+this package isn't described yet
+This package, which I'm certain is incredibly interesting, has yet to be described. This is probably because Jay has spent days getting all kinds of bookkeeping issues, like copyright notifications, all in their correct places, and descriptions just aren't the most important thing he could be working on. If this is a problem, please come back later.
diff --git a/data/libffi/_metadata/license b/data/libffi/_metadata/license
new file mode 120000
index 000000000..9c13a9a0f
--- /dev/null
+++ b/data/libffi/_metadata/license
@@ -0,0 +1 @@
+../../../licenses/gpl-2 \ No newline at end of file
diff --git a/data/libffi/_metadata/maintainer b/data/libffi/_metadata/maintainer
new file mode 120000
index 000000000..0fa66e077
--- /dev/null
+++ b/data/libffi/_metadata/maintainer
@@ -0,0 +1 @@
+../../../people/saurik \ No newline at end of file
diff --git a/data/libffi/_metadata/priority b/data/libffi/_metadata/priority
new file mode 100644
index 000000000..134d9bc32
--- /dev/null
+++ b/data/libffi/_metadata/priority
@@ -0,0 +1 @@
+optional
diff --git a/data/libffi/_metadata/section b/data/libffi/_metadata/section
new file mode 100644
index 000000000..842ba4a9c
--- /dev/null
+++ b/data/libffi/_metadata/section
@@ -0,0 +1 @@
+toolchain
diff --git a/data/libffi/_metadata/version b/data/libffi/_metadata/version
new file mode 100644
index 000000000..d83f6df35
--- /dev/null
+++ b/data/libffi/_metadata/version
@@ -0,0 +1 @@
+130618
diff --git a/data/libffi/assembler.diff b/data/libffi/assembler.diff
new file mode 100644
index 000000000..a6b6c6c18
--- /dev/null
+++ b/data/libffi/assembler.diff
@@ -0,0 +1,43 @@
+Index: src/arm/sysv.S
+===================================================================
+--- libffi/src/arm/sysv.S (revision 130618)
++++ libffi+iPhone/src/arm/sysv.S (working copy)
+@@ -38,7 +38,7 @@
+ #else
+ #define CNAME(x) x
+ #endif
+-#define ENTRY(x) .globl CNAME(x); .type CNAME(x),%function; CNAME(x):
++#define ENTRY(x) .globl CNAME(x); CNAME(x):
+ #endif
+
+ #ifdef __ELF__
+@@ -219,7 +219,7 @@
+
+ .ffi_call_SYSV_end:
+ UNWIND .fnend
+- .size CNAME(ffi_call_SYSV),.ffi_call_SYSV_end-CNAME(ffi_call_SYSV)
++@ .size CNAME(ffi_call_SYSV),.ffi_call_SYSV_end-CNAME(ffi_call_SYSV)
+
+ /*
+ unsigned int FFI_HIDDEN
+@@ -235,11 +235,11 @@
+ stmfd sp!, {ip, lr}
+ UNWIND .save {r0, lr}
+ add r2, sp, #8
+- .pad #16
++@ .pad #16
+ sub sp, sp, #16
+ str sp, [sp, #8]
+ add r1, sp, #8
+- bl ffi_closure_SYSV_inner
++ bl _ffi_closure_SYSV_inner
+ cmp r0, #FFI_TYPE_INT
+ beq .Lretint
+
+@@ -291,5 +291,5 @@
+
+ .ffi_closure_SYSV_end:
+ UNWIND .fnend
+- .size CNAME(ffi_closure_SYSV),.ffi_closure_SYSV_end-CNAME(ffi_closure_SYSV)
++@ .size CNAME(ffi_closure_SYSV),.ffi_closure_SYSV_end-CNAME(ffi_closure_SYSV)
+
diff --git a/data/libffi/libffi-130618.tgz b/data/libffi/libffi-130618.tgz
new file mode 100644
index 000000000..d1d035c7d
--- /dev/null
+++ b/data/libffi/libffi-130618.tgz
Binary files differ
diff --git a/data/libffi/make.sh b/data/libffi/make.sh
new file mode 100644
index 000000000..04d7f7dc2
--- /dev/null
+++ b/data/libffi/make.sh
@@ -0,0 +1,12 @@
+pkg:extract
+cd gcc/libffi
+pkg:patch
+cd ../..
+mkdir build
+cd build
+PKG_CONF=../gcc/libffi/configure
+pkg:configure --with-sysroot="${PKG_ROOT}"
+make
+pkg:install
+pkg: mv /usr/lib/gcc/arm-apple-darwin/include /usr/
+pkg: rm -rfv /usr/lib/gcc
diff --git a/data/libffi/private.diff b/data/libffi/private.diff
new file mode 100644
index 000000000..cd3ee23a7
--- /dev/null
+++ b/data/libffi/private.diff
@@ -0,0 +1,12 @@
+Index: src/arm/ffi.c
+===================================================================
+--- libffi/src/arm/ffi.c (revision 130618)
++++ libffi+iPhone/src/arm/ffi.c (working copy)
+@@ -199,6 +199,7 @@
+
+ /* This function is jumped to by the trampoline */
+
++__private_extern__
+ unsigned int
+ ffi_closure_SYSV_inner (closure, respp, args)
+ ffi_closure *closure;