Merge pull request #66 from ppizarro/master

BlackFin fixes - Fatal error when calling a function defined in a shared library from within the function called by FFI
This commit is contained in:
Anthony Green
2014-02-28 00:56:27 -05:00
3 changed files with 28 additions and 20 deletions

View File

@@ -1,3 +1,8 @@
2014-02-28 Paulo Pizarro <paulo.pizarro@gmail.com>
* src/bfin/sysv.S: Calling functions in shared libraries requires
considering the GOT.
2014-02-28 Josh Triplett <josh@joshtriplett.org>
* src/x86/ffi64.c (classify_argument): Handle case where

View File

@@ -1,5 +1,6 @@
/* -----------------------------------------------------------------------
ffi.c - Copyright (c) 2012 Alexandre K. I. de Mendonca <alexandre.keunecke@gmail.com>
ffi.c - Copyright (c) 2012 Alexandre K. I. de Mendonca <alexandre.keunecke@gmail.com>,
Paulo Pizarro <paulo.pizarro@gmail.com>
Blackfin Foreign Function Interface

View File

@@ -1,5 +1,6 @@
/* -----------------------------------------------------------------------
sysv.S - Copyright (c) 2012 Alexandre K. I. de Mendonca <alexandre.keunecke@gmail.com>
sysv.S - Copyright (c) 2012 Alexandre K. I. de Mendonca <alexandre.keunecke@gmail.com>,
Paulo Pizarro <paulo.pizarro@gmail.com>
Blackfin Foreign Function Interface
@@ -47,6 +48,7 @@
ecif.rvalue = stack (fp+24)
fn = stack (fp+28)
got (fp+32)
There is room for improvement here (we can use temporary registers
instead of saving the values in the memory)
REGS: