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> 2014-02-28 Josh Triplett <josh@joshtriplett.org>
* src/x86/ffi64.c (classify_argument): Handle case where * 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 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 Blackfin Foreign Function Interface
@@ -47,6 +48,7 @@
ecif.rvalue = stack (fp+24) ecif.rvalue = stack (fp+24)
fn = stack (fp+28) fn = stack (fp+28)
got (fp+32) got (fp+32)
There is room for improvement here (we can use temporary registers There is room for improvement here (we can use temporary registers
instead of saving the values in the memory) instead of saving the values in the memory)
REGS: REGS: