From 334f0b060942aff8d26badaf7dde7830450dc5da Mon Sep 17 00:00:00 2001 From: green Date: Sun, 29 Nov 1998 16:56:12 +0000 Subject: [PATCH] initial snapshot of documentation --- htdocs/ChangeLog | 4 + htdocs/index.html | 188 +++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 189 insertions(+), 3 deletions(-) create mode 100644 htdocs/ChangeLog diff --git a/htdocs/ChangeLog b/htdocs/ChangeLog new file mode 100644 index 00000000..4215d536 --- /dev/null +++ b/htdocs/ChangeLog @@ -0,0 +1,4 @@ +1998-11-29 Anthony Green + + * index.html: Created (bootstrapped from old web pages). + diff --git a/htdocs/index.html b/htdocs/index.html index 2a8bedd3..407f115b 100644 --- a/htdocs/index.html +++ b/htdocs/index.html @@ -1,4 +1,186 @@ -Hello World -Hello World - \ No newline at end of file + + + +libffi + + + +

The libffi Home Page

+ +libffi-1.20 was released on October 5, 1998. You can ftp it from ftp.cygnus.com:/pub/green/libffi-1.20.tar.gz. + +

+If you wish to be notified of libffi releases by email, fill out this form. + +

What is libffi?

+ +Compilers for high level languages generate code that follow certain +conventions. These conventions are necessary, in part, for separate +compilation to work. One such convention is the "calling +convention". The "calling convention" is essentially a set of +assumptions made by the compiler about where function arguments will +be found on entry to a function. A "calling convention" also specifies +where the return value for a function is found. + +

+ +Some programs may not know at the time of compilation what arguments +are to be passed to a function. For instance, an interpreter may be +told at run-time about the number and types of arguments used to call +a given function. Libffi can be used in such programs to provide a +bridge from the interpreter program to compiled code. + +

+ +The libffi library provides a portable, high level programming +interface to various calling conventions. This allows a programmer to +call any function specified by a call interface description at run-time. + +

+ +Ffi stands for Foreign Function Interface. A foreign function +interface is the popular name for the interface that allows code +written in one language to call code written in another language. The +libffi library really only provides the lowest, machine dependent +layer of a fully featured foreign function interface. A layer must +exist above libffi that handles type conversions for values passed +between the two languages. + +

Supported Platforms and Prerequisites

+ +Libffi has been ported to: + + + +Libffi has been tested with the egcs 1.0.2 gcc compiler. Chances are +that other versions will work. Libffi has also been built and tested +with the SGI compiler tools. + +If you port libffi to another platform, please let me know! I assume +that some will be easy (x86 NetBSD), and others will be more difficult +(HP, AIX). + +

History

+ +
+1.20 Oct-5-98
+	Raffaele Sena produces ARM port.
+
+1.19 Oct-5-98
+	Fixed x86 long double and long long return support.
+	m68k bug fixes from Andreas Schwab.
+	Patch for DU assembler compatibility for the Alpha from Richard
+	Henderson.
+
+1.18 Apr-17-98
+	Bug fixes and MIPS configuration changes.
+
+1.17 Feb-24-98
+	Bug fixes and m68k port from Andreas Schwab. PowerPC port from
+	Geoffrey Keating. Various bug x86, Sparc and MIPS bug fixes.
+
+1.16 Feb-11-98
+	Richard Henderson produces Alpha port.
+
+1.15 Dec-4-97
+	Fixed an n32 ABI bug. New libtool, auto* support.
+
+1.14 May-13-96
+	libtool is now used to generate shared and static libraries.
+	Fixed a minor portability problem reported by Russ McManus
+	<mcmanr@eq.gs.com>.
+
+1.13 Dec-2-96
+	Added --enable-purify-safety to keep Purify from complaining
+	about certain low level code.
+	Sparc fix for calling functions with < 6 args.
+	Linux x86 a.out fix.
+
+1.12 Nov-22-96
+	Added missing ffi_type_void, needed for supporting void return 
+	types. Fixed test case for non MIPS machines. Cygnus Support 
+	is now Cygnus Solutions. 
+
+1.11 Oct-30-96
+	Added notes about GNU make.
+
+1.10 Oct-29-96
+	Added configuration fix for non GNU compilers.
+
+1.09 Oct-29-96
+	Added --enable-debug configure switch. Clean-ups based on LCLint 
+	feedback. ffi_mips.h is always installed. Many configuration 
+	fixes. Fixed ffitest.c for sparc builds.
+
+1.08 Oct-15-96
+	Fixed n32 problem. Many clean-ups.
+
+1.07 Oct-14-96
+	Gordon Irlam rewrites v8.S again. Bug fixes.
+
+1.06 Oct-14-96
+	Gordon Irlam improved the sparc port. 
+
+1.05 Oct-14-96
+	Interface changes based on feedback.
+
+1.04 Oct-11-96
+	Sparc port complete (modulo struct passing bug).
+
+1.03 Oct-10-96
+	Passing struct args, and returning struct values works for
+	all architectures/calling conventions. Expanded tests.
+
+1.02 Oct-9-96
+	Added SGI n32 support. Fixed bugs in both o32 and Linux support.
+	Added "make test".
+
+1.01 Oct-8-96
+	Fixed float passing bug in mips version. Restructured some
+	of the code. Builds cleanly with SGI tools.
+
+1.00 Oct-7-96
+	First release. No public announcement.
+
+ +

Authors & Credits

+ +Libffi was written by Anthony Green. +

+Portions of libffi were derived from Gianni Mariani's free gencall +library for Silicon Graphics machines. +

+The sparc port was derived from code contributed by the fine folks at +Visible Decisions Inc. Further enhancements were made by Gordon Irlam at Cygnus Solutions. +

+The Alpha port was written by Richard Henderson at Cygnus Solutions. +

+Andreas Schwab ported libffi to m68k Linux and provided a number of +bug fixes. +

+Geoffrey Keating ported libffi to the PowerPC. +

+Raffaele Sena ported libffi to the ARM. +

+Jesper Skov and Andrew Haley both did more than their fair share of +stepping through the code and tracking down bugs. +

+Thanks to Tom Tromey for bug fixes and configuration help. +

+Thanks also to Jim Blandy, who provided some useful feedback on the libffi +interface. +

+If you have a problem, or have found a bug, please send a note to +green@cygnus.com. + + +