From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20215 invoked by alias); 11 Apr 2007 15:23:53 -0000 Received: (qmail 20206 invoked by uid 22791); 11 Apr 2007 15:23:52 -0000 X-Spam-Check-By: sourceware.org Received: from outdoor.onevision.de (HELO outdoor.onevision.de) (212.77.172.51) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 11 Apr 2007 16:23:43 +0100 Received: from sanders.onevision.de (moonrace [212.77.172.62]) by outdoor.onevision.de (8.13.7/8.13.7/ROSCH/DDB) with ESMTP id l3BFLLxh010408; Wed, 11 Apr 2007 17:21:26 +0200 In-Reply-To: <20070411150031.GB21844@caradoc.them.org> To: Daniel Jacobowitz Cc: binutils@sources.redhat.com, "H. J. Lu" Subject: Re: PATCH: w64 native support MIME-Version: 1.0 X-Mailer: Lotus Notes Release 7.0.1 January 17, 2006 Message-ID: From: Kai Tietz Date: Wed, 11 Apr 2007 15:24:00 -0000 Content-Type: multipart/mixed; boundary="=_mixed 00545805C12572BA_=" X-IsSubscribed: yes Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org X-SW-Source: 2007-04/txt/msg00130.txt.bz2 --=_mixed 00545805C12572BA_= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Content-length: 2042 RGFuaWVsIEphY29ib3dpdHogPGRyb3dAZmFsc2Uub3JnPiB3cm90ZSBvbiAx MS4wNC4yMDA3IDE3OjAwOjMxOg0KDQo+IE9uIFdlZCwgQXByIDExLCAyMDA3 IGF0IDA0OjE3OjQwUE0gKzAyMDAsIEthaSBUaWV0eiB3cm90ZToNCj4gPiBU aGUgImxvbmcgbG9uZyIgd291bGQgd29yaywgaWYgdGhlcmUgd291bGQgbm90 IGJlIHRoZSAtV2Vycm9yIA0KcGFyYW1ldGVyIA0KPiA+IGZvciBnY2MuIFRo ZSBnY2MgYnViYmxlcyBhIHdhcm5pbmcgYWxzbyBmb3IgdGhlIGNhc2UsIHRo YXQgdGhlIGludGVnZXIgDQoNCj4gPiBjYXN0ZWQgdG8vZnJvbSBhIHBvaW50 ZXIgaXMgYmlnZ2VyIDooLiBUaGlzIHdvdWxkIGJyZWFrIGFuIGNyb3NzIGZy b20gDQo+ID4gMzItYml0IHRvIDY0LWJpdC4NCj4gDQo+IFdlIGFscmVhZHkg aGF2ZSBhbiBhdXRvY29uZiBtYWNybyBpbiB0aGUgdHJlZSB0byBnZW5lcmF0 ZSBhIHN0ZGludC5oLg0KPiBHbnVsaWIgYWxzbyBoYXMgb25lIHRoYXQgd2Ug Y2FuIGltcG9ydC4NCj4gDQo+IEl0J3MgbG9uZyBwYXN0IHRpbWUgdG8gc3Rh cnQgYXNzdW1pbmcgaW50cHRyX3QuDQoNClllcywgaWNlIGFnZXMgLi4uIEl0 IHNlZW1zIHRoYXQgb24gZXZlcnkgcHJvamVjdCBhbmQgbGlicmFyeSB0aGUg c2FtZSBvbGQgDQpzdG9yeSByZWFwcGVhcnMgOykNCkJ1dCBhcyBJIGxlYXJu ZWQsIG5vdCBvbiBldmVyeSBjLXJ1bnRpbWUgbmVjZXNzYXJpbHkgYW4gc3Rk aW50IGhlYWRlciBpcyANCnByZXNlbnQgYW5kL29yIHdhbnQgdG8gYmUgaW5j bHVkZWQgOygpDQoNClJlLWludmVudGluZyB0aGUgd2hlZWwsIG1heSB0aGlz IHBhdGNoIGNvdWxkIHdvcmsgKGJlc2lkZSB0aGUgDQpCRkRfSE9TVFBUUl9U X1BSVF9YKS4NCg0KUmVnYXJkcywNCmkuQS4gS2FpIFRpZXR6DQoNCiANCg0K DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCiAgT25lVmlzaW9uIFNvZnR3YXJlIEVudHdpY2tsdW5ncyBHbWJIICYg Q28uIEtHDQogIERyLi1MZW8tUml0dGVyLVN0cmHDn2UgOSAtIDkzMDQ5IFJl Z2Vuc2J1cmcNCiAgVGVsOiArNDkuKDApOTQxLjc4MDA0LjAgLSBGYXg6ICs0 OS4oMCk5NDEuNzgwMDQuNDg5IC0gd3d3Lk9uZVZpc2lvbi5jb20NCiAgQ29t bWVyemJhbmsgUmVnZW5zYnVyZyAtIEJMWiA3NTAgNDAwIDYyIC0gS29udG8g NjAxMTA1MA0KICBIYW5kZWxzcmVnaXN0ZXI6IEhSQSA2NzQ0LCBBbXRzZ2Vy aWNodCBSZWdlbnNidXJnDQogIEtvbXBsZW1lbnTDpHJpbjogT25lVmlzaW9u IFNvZnR3YXJlIEVudHdpY2tsdW5ncyBWZXJ3YWx0dW5ncyBHbWJIDQogIERy Li1MZW8tUml0dGVyLVN0cmHDn2UgOSDigJMgOTMwNDkgUmVnZW5zYnVyZw0K ICBIYW5kZWxzcmVnaXN0ZXI6IEhSQiA4OTMyLCBBbXRzZ2VyaWNodCBSZWdl bnNidXJnIC0gR2VzY2jDpGZ0c2bDvGhyZXI6IA0KVWxyaWtlIETDtmhsZXIs IE1hbnVlbGEgS2x1Z2VyDQoNCg0K --=_mixed 00545805C12572BA_= Content-Type: text/plain; name="bfd_config.txt" Content-Disposition: attachment; filename="bfd_config.txt" Content-Transfer-Encoding: quoted-printable Content-length: 3255 Index: configure.in =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvs/src/src/bfd/configure.in,v retrieving revision 1.226 diff -b -u -r1.226 configure.in --- configure.in 23 Mar 2007 02:51:30 -0000 1.226 +++ configure.in 11 Apr 2007 15:15:56 -0000 @@ -99,6 +99,7 @@ AC_PROG_INSTALL =20 BFD_HOST_64BIT_LONG=3D0 +BFD_HOST_64BIT_LONG_LONG=3D0 BFD_HOST_LONG_LONG=3D0 BFD_HOST_64_BIT_DEFINED=3D0 BFD_HOST_64_BIT=3D @@ -114,11 +115,20 @@ fi =20 AC_CHECK_SIZEOF(long) +AC_CHECK_SIZEOF(void *) if test "x${ac_cv_sizeof_long}" =3D "x8"; then host64=3Dtrue BFD_HOST_64BIT_LONG=3D1 + if test "x${ac_cv_sizeof_void_p}" =3D "x${ac_cv_sizeof_long_long}"; then + BFD_HOST_64BIT_LONG_LONG=3D1 + fi test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE=3D"long" test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE=3D"unsigned long" +elif test "x${ac_cv_sizeof_void_p}" =3D "x${ac_cv_sizeof_long_long}"; then + host64=3Dtrue + BFD_HOST_64BIT_LONG_LONG=3D1 + test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE=3D"long long" + test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE=3D"unsigned long lon= g" elif test "x${ac_cv_sizeof_long_long}" =3D "x8"; then test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE=3D"long long" test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE=3D"unsigned long lon= g" @@ -131,6 +141,7 @@ fi =20 AC_SUBST(BFD_HOST_64BIT_LONG) +AC_SUBST(BFD_HOST_64BIT_LONG_LONG) AC_SUBST(BFD_HOST_LONG_LONG) AC_SUBST(BFD_HOST_64_BIT_DEFINED) AC_SUBST(BFD_HOST_64_BIT) Index: bfd-in.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvs/src/src/bfd/bfd-in.h,v retrieving revision 1.126 diff -b -u -r1.126 bfd-in.h --- bfd-in.h 20 Mar 2007 20:19:07 -0000 1.126 +++ bfd-in.h 11 Apr 2007 15:16:10 -0000 @@ -76,6 +76,7 @@ #define BFD_DEFAULT_TARGET_SIZE @bfd_default_target_size@ =20 #define BFD_HOST_64BIT_LONG @BFD_HOST_64BIT_LONG@ +#define BFD_HOST_64BIT_LONG_LONG @BFD_HOST_64BIT_LONG_LONG@ #define BFD_HOST_LONG_LONG @BFD_HOST_LONG_LONG@ #if @BFD_HOST_64_BIT_DEFINED@ #define BFD_HOST_64_BIT @BFD_HOST_64_BIT@ @@ -96,6 +97,16 @@ #endif #endif =20 +/* Declaring a type wide enough to hold a host long and a host pointer. */ +#if BFD_HOST_64BIT_LONG_LONG =3D=3D 1 && BFD_HOST_64BIT_LONG =3D=3D 0 +#undef BFD_HOSTPTR_T_PRINT +typedef unsigned long long bfd_hostptr_t; +#define BFD_HOSTPTR_T_PRT_X "%llx" +#else +typedef unsigned long bfd_hostptr_t; +#define BFD_HOSTPTR_T_PRT_X "%lx" +#endif + /* Forward declaration. */ typedef struct bfd bfd; =20 @@ -129,6 +140,9 @@ #if BFD_HOST_64BIT_LONG #define sprintf_vma(s,x) sprintf (s, "%016lx", x) #define fprintf_vma(f,x) fprintf (f, "%016lx", x) +#elif BFD_HOST_64BIT_LONG_LONG +#define sprintf_vma(s,x) sprintf (s, "%016llx", x) +#define fprintf_vma(f,x) fprintf (f, "%016llx", x) #else #define _bfd_int64_low(x) ((unsigned long) (((x) & 0xffffffff))) #define _bfd_int64_high(x) ((unsigned long) (((x) >> 32) & 0xffffffff)) =3D= --=_mixed 00545805C12572BA_=--