Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
78542dee
Commit
78542dee
authored
Jan 01, 2010
by
Anthony Green
Committed by
Anthony Green
Jan 01, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update README for libffi 3.0.9.
From-SVN: r155553
parent
50117ecb
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
60 additions
and
87 deletions
+60
-87
libffi/ChangeLog
+4
-0
libffi/README
+56
-87
No files found.
libffi/ChangeLog
View file @
78542dee
2009-12-31 Anthony Green <green@redhat.com>
* README: Update for libffi 3.0.9.
2009-12-27 Matthias Klose <doko@ubuntu.com>
2009-12-27 Matthias Klose <doko@ubuntu.com>
* configure.ac (HAVE_LONG_DOUBLE): Define for mips when
* configure.ac (HAVE_LONG_DOUBLE): Define for mips when
...
...
libffi/README
View file @
78542dee
...
@@ -4,7 +4,7 @@ shipped with GCC as convenience.
...
@@ -4,7 +4,7 @@ shipped with GCC as convenience.
Status
Status
======
======
libffi-3.0.
8 was released on December 19, 2008
. Check the libffi web
libffi-3.0.
9 was released on December 31, 2009
. Check the libffi web
page for updates: <URL:http://sourceware.org/libffi/>.
page for updates: <URL:http://sourceware.org/libffi/>.
...
@@ -42,41 +42,56 @@ between the two languages.
...
@@ -42,41 +42,56 @@ between the two languages.
Supported Platforms
Supported Platforms
===================
===================
Libffi has been ported to many different platforms, although this
Libffi has been ported to many different platforms.
release was only tested on:
For specific configuration details and testing status, please
refer to the wiki page here:
arm oabi linux
arm eabi linux
http://www.moxielogic.org/wiki/index.php?title=Libffi_3.0.9
hppa linux
mips o32 linux (little endian)
At the time of release, the following basic configurations have been
powerpc darwin
tested:
powerpc freebsd
powerpc64 linux
|--------------+------------------|
sparc solaris
| Architecture | Operating System |
sparc64 freebsd
|--------------+------------------|
sparc64 solaris
| Alpha | Linux |
x86 cygwin
| ARM | Linux |
x86 darwin
| AVR32 | Linux |
x86 freebsd
| HPPA | HPUX |
x86 linux
| IA-64 | Linux |
x86 openbsd
| MIPS | IRIX |
x86 solaris
| MIPS | Linux |
x86-64 mingw
| MIPS64 | Linux |
x86-64 darwin
| PowerPC | Linux |
x86-64 linux
| PowerPC | Mac OSX |
x86-64 OS X
| PowerPC | FreeBSD |
x86-64 freebsd
| PowerPC64 | Linux |
x86-64 solaris
| S390 | Linux |
| S390X | Linux |
| SPARC | Linux |
| SPARC | Solaris |
| SPARC64 | Linux |
| SPARC64 | FreeBSD |
| X86 | FreeBSD |
| X86 | kFreeBSD |
| X86 | Linux |
| X86 | Mac OSX |
| X86 | OpenBSD |
| X86 | Solaris |
| X86 | Windows/Cygwin |
| X86 | Windows/MingW |
| X86-64 | FreeBSD |
| X86-64 | Linux |
| X86-64 | OpenBSD |
|--------------+------------------|
Please send additional platform test results to
Please send additional platform test results to
libffi-discuss@sourceware.org.
libffi-discuss@sourceware.org and feel free to update the wiki page
above.
Installing libffi
Installing libffi
=================
=================
[Note: before actually performing any of these installation steps,
you may wish to read the "Platform Specific Notes" below.]
First you must configure the distribution for your particular
First you must configure the distribution for your particular
system. Go to the directory you wish to build libffi in and run the
system. Go to the directory you wish to build libffi in and run the
"configure" program found in the root directory of the libffi source
"configure" program found in the root directory of the libffi source
...
@@ -106,65 +121,19 @@ This will require that you have DejaGNU installed.
...
@@ -106,65 +121,19 @@ This will require that you have DejaGNU installed.
To install the library and header files, type "make install".
To install the library and header files, type "make install".
Platform Specific Notes
History
=======================
=======
MIPS - Irix 5.3 & 6.x
---------------------
Irix 6.2 and better supports three different calling conventions: o32,
n32 and n64. Currently, libffi only supports both o32 and n32 under
Irix 6.x, but only o32 under Irix 5.3. Libffi will automatically be
configured for whichever calling convention it was built for.
By default, the configure script will try to build libffi with the GNU
development tools. To build libffi with the SGI development tools, set
the environment variable CC to either "cc -32" or "cc -n32" before
running configure under Irix 6.x (depending on whether you want an o32
or n32 library), or just "cc" for Irix 5.3.
With the n32 calling convention, when returning structures smaller
than 16 bytes, be sure to provide an RVALUE that is 8 byte aligned.
Here's one way of forcing this:
double struct_storage[2];
my_small_struct *s = (my_small_struct *) struct_storage;
/* Use s for RVALUE */
If you don't do this you are liable to get spurious bus errors.
"long long" values are not supported yet.
You must use GNU Make to build libffi on SGI platforms.
PowerPC System V ABI
--------------------
There are two `System V ABI's which libffi implements for PowerPC.
They differ only in how small structures are returned from functions.
In the FFI_SYSV version, structures that are 8 bytes or smaller are
returned in registers. This is what GCC does when it is configured
for solaris, and is what the System V ABI I have (dated September
1995) says.
In the FFI_GCC_SYSV version, all structures are returned the same way:
by passing a pointer as the first argument to the function. This is
what GCC does when it is configured for linux or a generic sysv
target.
EGCS 1.0.1 (and probably other versions of EGCS/GCC) also has a
See the ChangeLog files for details.
inconsistency with the SysV ABI: When a procedure is called with many
floating-point arguments, some of them get put on the stack. They are
all supposed to be stored in double-precision format, even if they are
only single-precision, but EGCS stores single-precision arguments as
single-precision anyway. This causes one test to fail (the `many
arguments' test).
3.0.9 Dec-31-09
Add AVR32 and win64 ports. Add ARM softfp support.
Many fixes for AIX, Solaris, HP-UX, *BSD.
Several PowerPC and x86-64 bug fixes.
Build DLL for windows.
History
3.0.8 Dec-19-08
=======
Add *BSD, BeOS, and PA-Linux support.
3.0.7 Nov-11-08
3.0.7 Nov-11-08
Fix for ppc FreeBSD.
Fix for ppc FreeBSD.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment