gcc/libffi Makefile.am Makefile.in configure c ...
amodra@gcc.gnu.org
amodra@gcc.gnu.org
Sat Jan 24 11:08:00 GMT 2004
CVSROOT: /cvs/gcc
Module name: gcc
Branch: hammer-3_3-branch
Changes by: amodra@gcc.gnu.org 2004-01-24 11:08:07
Modified files:
libffi : Makefile.am Makefile.in configure configure.in
fficonfig.h.in
libffi/include : ffi.h.in
libffi/src : ffitest.c prep_cif.c types.c
libffi/src/alpha: osf.S
libffi/src/powerpc: darwin_closure.S ffi.c ppc_closure.S sysv.S
libffi/src/s390: sysv.S
libffi/src/sparc: v8.S v9.S
libffi/src/x86 : sysv.S unix64.S
Added files:
libffi : ChangeLog.hammer
libffi/src/powerpc: linux64.S linux64_closure.S
Log message:
Backport from mainline.
2003-10-14 Alan Modra <amodra@bigpond.net.au>
* src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
and align.
2003-09-12 Alan Modra <amodra@bigpond.net.au>
* src/prep_cif.c (initialize_aggregate): Include tail padding in
structure size.
* src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
placement of float result.
* testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
cast of "resp" for big-endian 64 bit machines.
2003-09-11 Alan Modra <amodra@bigpond.net.au>
* src/types.c (double, longdouble): Merge identical SH and ARM
typedefs, and add POWERPC64.
* src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
struct split over gpr and rest.
(ffi_prep_cif_machdep): Correct intarg_count for structures.
* src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
* src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
passing correctly.
2003-08-02 Alan Modra <amodra@bigpond.net.au>
* src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
structure passing.
(ffi_closure_helper_LINUX64): Likewise.
* src/powerpc/linux64.S: Remove code writing to parm save area.
* src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
address in lr from ffi_closure_helper_LINUX64 call to calculate
table address. Optimize function tail.
2003-05-16 Jakub Jelinek <jakub@redhat.com>
* configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
should be read-only.
* configure: Rebuilt.
* fficonfig.h.in: Rebuilt.
* include/ffi.h.in (EH_FRAME_FLAGS): Define.
* src/alpha/osf.S: Use EH_FRAME_FLAGS.
* src/powerpc/linux64.S: Likewise.
* src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
* src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
if -fpic/-fPIC/-mrelocatable.
* src/powerpc/powerpc_closure.S: Likewise.
* src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
#write in .eh_frame flags.
* src/sparc/v9.S: Likewise.
* src/x86/unix64.S: Use EH_FRAME_FLAGS.
* src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
* src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
2003-04-18 Jakub Jelinek <jakub@redhat.com>
* include/ffi.h.in (POWERPC64): Define if 64-bit.
(enum ffi_abi): Add FFI_LINUX64 on POWERPC.
Make it the default on POWERPC64.
(FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
* configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
* configure: Rebuilt.
* src/powerpc/ffi.c (hidden): Define.
(ffi_prep_args_SYSV): Renamed from
ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
(NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
ASM_NEEDS_REGISTERS64): New.
(ffi_prep_args64): New function.
(ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
(ffi_call): Likewise.
(ffi_prep_closure): Likewise.
(flush_icache): Surround by #ifndef POWERPC64.
(ffi_dblfl): New union type.
(ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
(ffi_closure_helper_LINUX64): New function.
* src/powerpc/ppc_closure.S: Surround whole file by #ifndef
__powerpc64__.
* src/powerpc/sysv.S: Likewise.
(ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
* src/powerpc/linux64.S: New file.
* src/powerpc/linux64_closure.S: New file.
* Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
src/powerpc/linux64_closure.S.
(TARGET_SRC_POWERPC): Likewise.
* src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
closure_test_fn3): Fix result printing on big-endian 64-bit
machines.
(main): Print tst2_arg instead of uninitialized tst2_result.
* src/ffitest.c (main): Hide what closure pointer really points to
from the compiler.
2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
* src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
Backport from gcc-3_3-rhl-branch
2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* src/powerpc/ppc_closure.S: Include ffi.h.
(ffi_closure_SYSV): Make it hidden.
* src/powerpc/sysv.S (ffi_call_SYSV): Make it hidden.
* src/powerpc/ffi.c (ffi_closure_SYSV): Declare hidden.
(ffi_call_SYSV): Likewise.
(ffi_prep_args_SYSV): Make it hidden.
(ffi_closure_helper_SYSV): Likewise.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libffi/ChangeLog.hammer.diff?cvsroot=gcc&only_with_tag=hammer-3_3-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libffi/Makefile.am.diff?cvsroot=gcc&only_with_tag=hammer-3_3-branch&r1=1.23.2.1&r2=1.23.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libffi/Makefile.in.diff?cvsroot=gcc&only_with_tag=hammer-3_3-branch&r1=1.28.2.1&r2=1.28.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libffi/configure.diff?cvsroot=gcc&only_with_tag=hammer-3_3-branch&r1=1.36.2.6&r2=1.36.2.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libffi/configure.in.diff?cvsroot=gcc&only_with_tag=hammer-3_3-branch&r1=1.32.2.6&r2=1.32.2.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libffi/fficonfig.h.in.diff?cvsroot=gcc&only_with_tag=hammer-3_3-branch&r1=1.3.18.1&r2=1.3.18.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libffi/include/ffi.h.in.diff?cvsroot=gcc&only_with_tag=hammer-3_3-branch&r1=1.20.2.4&r2=1.20.2.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libffi/src/ffitest.c.diff?cvsroot=gcc&only_with_tag=hammer-3_3-branch&r1=1.8.2.3&r2=1.8.2.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libffi/src/prep_cif.c.diff?cvsroot=gcc&only_with_tag=hammer-3_3-branch&r1=1.5&r2=1.5.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libffi/src/types.c.diff?cvsroot=gcc&only_with_tag=hammer-3_3-branch&r1=1.7.2.1&r2=1.7.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libffi/src/alpha/osf.S.diff?cvsroot=gcc&only_with_tag=hammer-3_3-branch&r1=1.7&r2=1.7.40.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libffi/src/powerpc/linux64.S.diff?cvsroot=gcc&only_with_tag=hammer-3_3-branch&r1=NONE&r2=1.5.12.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libffi/src/powerpc/linux64_closure.S.diff?cvsroot=gcc&only_with_tag=hammer-3_3-branch&r1=NONE&r2=1.5.12.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libffi/src/powerpc/darwin_closure.S.diff?cvsroot=gcc&only_with_tag=hammer-3_3-branch&r1=1.1.30.2&r2=1.1.30.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libffi/src/powerpc/ffi.c.diff?cvsroot=gcc&only_with_tag=hammer-3_3-branch&r1=1.2.44.1&r2=1.2.44.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libffi/src/powerpc/ppc_closure.S.diff?cvsroot=gcc&only_with_tag=hammer-3_3-branch&r1=1.3.44.1&r2=1.3.44.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libffi/src/powerpc/sysv.S.diff?cvsroot=gcc&only_with_tag=hammer-3_3-branch&r1=1.2&r2=1.2.42.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libffi/src/s390/sysv.S.diff?cvsroot=gcc&only_with_tag=hammer-3_3-branch&r1=1.3.2.2&r2=1.3.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libffi/src/sparc/v8.S.diff?cvsroot=gcc&only_with_tag=hammer-3_3-branch&r1=1.6.18.2&r2=1.6.18.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libffi/src/sparc/v9.S.diff?cvsroot=gcc&only_with_tag=hammer-3_3-branch&r1=1.4.18.1&r2=1.4.18.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libffi/src/x86/sysv.S.diff?cvsroot=gcc&only_with_tag=hammer-3_3-branch&r1=1.5&r2=1.5.12.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libffi/src/x86/unix64.S.diff?cvsroot=gcc&only_with_tag=hammer-3_3-branch&r1=1.1.20.2&r2=1.1.20.3
More information about the Gcc-cvs
mailing list