build changes aimed at making Sun tools work

Merge to v5.0
This commit is contained in:
Matthew Flatt 2010-05-28 07:13:28 -06:00
parent b96fd0c468
commit 7f2d57e827
5 changed files with 8 additions and 6 deletions

View File

@ -476,8 +476,8 @@
(define recorded-cpp-in (define recorded-cpp-in
(and precompiled-header (and precompiled-header
(open-input-file (change-suffix precompiled-header #".e")))) (open-input-file (change-suffix precompiled-header #".e"))))
(define re:boring #rx#"^(?:(?:[ \t]*)|(?:# .*)|(?:#line .*)|(?:#pragma implementation.*)|(?:#pragma interface.*)|(?:#pragma once)|(?:#pragma warning.*))$") (define re:boring #rx#"^(?:(?:[ \t]*)|(?:# .*)|(?:#line .*)|(?:#pragma implementation.*)|(?:#pragma interface.*)|(?:#pragma once)|(?:#pragma warning.*)|(?:#ident.*))$")
(define re:uninteresting #rx#"^(?:(?:[ \t]*)|(?:# .*)|(?:#line .*)|(?:#pragma implementation.*)|(?:#pragma interface.*)|(?:#pragma once)|(?:#pragma GCC diagnostic.*)|(?:#pragma warning.*))$") (define re:uninteresting #rx#"^(?:(?:[ \t]*)|(?:# .*)|(?:#line .*)|(?:#pragma implementation.*)|(?:#pragma interface.*)|(?:#pragma once)|(?:#pragma GCC diagnostic.*)|(?:#pragma warning.*)|(?:#ident.*))$")
(define (skip-to-interesting-line p) (define (skip-to-interesting-line p)
(let ([l (read-bytes-line p 'any)]) (let ([l (read-bytes-line p 'any)])
(cond (cond

View File

@ -38,6 +38,8 @@ Local changes:
* Observing ftruncate result in closures.c to remove warning. (commit * Observing ftruncate result in closures.c to remove warning. (commit
b5ee4ac21b1c4d759659 and c64704742c0963310b49) b5ee4ac21b1c4d759659 and c64704742c0963310b49)
* Check for __i368 in addition to __i386__ in ffitarget.h
Note: recreating "configure" with autoconf 2.61 does not work as is, Note: recreating "configure" with autoconf 2.61 does not work as is,
since the scripts require 2.59. To allow this, the two requirements since the scripts require 2.59. To allow this, the two requirements
in "libffi/configure.ac" and "config/override.m4" were temporarily in "libffi/configure.ac" and "config/override.m4" were temporarily

View File

@ -1796,7 +1796,7 @@ static Scheme_Object *foreign_compiler_sizeof(int argc, Scheme_Object *argv[])
else scheme_signal_error(MYNAME": cannot qualify 'char"); else scheme_signal_error(MYNAME": cannot qualify 'char");
break; break;
case 3: /* void */ case 3: /* void */
if (intsize==0 && stars>0) RETSIZE(void); if (intsize==0 && stars>0) RETSIZE(int); /* avoid sizeof(void) */
else if (stars==0) else if (stars==0)
scheme_signal_error(MYNAME": cannot use 'void without a '*"); scheme_signal_error(MYNAME": cannot use 'void without a '*");
else scheme_signal_error(MYNAME": cannot qualify 'void"); else scheme_signal_error(MYNAME": cannot qualify 'void");

View File

@ -1240,7 +1240,7 @@ static void* SCHEME2C(Scheme_Object *type, void *dst, long delta,
else scheme_signal_error(MYNAME": cannot qualify 'char"); else scheme_signal_error(MYNAME": cannot qualify 'char");
break; break;
case 3: /* void */ case 3: /* void */
if (intsize==0 && stars>0) RETSIZE(void); if (intsize==0 && stars>0) RETSIZE(int); /* avoid sizeof(void) */
else if (stars==0) else if (stars==0)
scheme_signal_error(MYNAME": cannot use 'void without a '*"); scheme_signal_error(MYNAME": cannot use 'void without a '*");
else scheme_signal_error(MYNAME": cannot qualify 'void"); else scheme_signal_error(MYNAME": cannot qualify 'void");

View File

@ -53,10 +53,10 @@ typedef enum ffi_abi {
#endif #endif
/* ---- Intel x86 and AMD x86-64 - */ /* ---- Intel x86 and AMD x86-64 - */
#if !defined(X86_WIN32) && (defined(__i386__) || defined(__x86_64__)) #if !defined(X86_WIN32) && (defined(__i386__) || defined(__i386) || defined(__x86_64__))
FFI_SYSV, FFI_SYSV,
FFI_UNIX64, /* Unix variants all use the same ABI for x86-64 */ FFI_UNIX64, /* Unix variants all use the same ABI for x86-64 */
#ifdef __i386__ #if defined(__i386__) || defined(__i386)
FFI_DEFAULT_ABI = FFI_SYSV, FFI_DEFAULT_ABI = FFI_SYSV,
#else #else
FFI_DEFAULT_ABI = FFI_UNIX64, FFI_DEFAULT_ABI = FFI_UNIX64,