X-Recipient: archive-cygwin@delorie.com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:message-id:date:from:mime-version:to:subject
	:references:in-reply-to:content-type; q=dns; s=default; b=ofS4a2
	PhV+oF+M0NjJU0uoMM2rHAcXbA0fqvdQoQhm1tZl6Fkz9azuYpnkbZq1hW/dFMgt
	eazzCJNutt3Fj/iN+aqOs6+bRi+QzN5Qw7KRHwTQCzRuIHKnC5oE03K8e4afaOvS
	7lu1k1AyOKDcL8GsDro0nmRiBdeUUcUh0SJ3M=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:message-id:date:from:mime-version:to:subject
	:references:in-reply-to:content-type; s=default; bh=OV4wssqQHR/4
	Znyyylpi1AYJGBA=; b=AROxIrk3wij1i6QJhc7GGFBrZwKQP/nvKCpbORwmBJuA
	eJ4bqLGz474SGb19VsoiV48WRStcjl+ThJ+EOCkCRj89J7cJX5ipu+hpqlvGl0mS
	hvBC7kK9XYs3CWNqcZ2326SjT2Zu7rV6YscvVgubqldDj4zvI1ZMS9UAEN4nArA=
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-0.7 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS,UNSUBSCRIBE_BODY autolearn=no version=3.3.2
X-HELO: mx1.redhat.com
Message-ID: <53172C18.5090906@redhat.com>
Date: Wed, 05 Mar 2014 06:52:24 -0700
From: Eric Blake <eblake@redhat.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0
MIME-Version: 1.0
To: cygwin@cygwin.com
Subject: Re: struct tm problem
References: <CAJoYywWqyBYEJKriugeU0deHm=DsS_LYgHotaX6K=q6TO_tmQQ@mail.gmail.com>	<20140304081928.GF7236@calimero.vinschen.de> <CAJoYywUF2gpX5+-9H3gExyRMYUtJQyi_mHOX42uG9kRfaQ0Nvg@mail.gmail.com>
In-Reply-To: <CAJoYywUF2gpX5+-9H3gExyRMYUtJQyi_mHOX42uG9kRfaQ0Nvg@mail.gmail.com>
OpenPGP: url=http://people.redhat.com/eblake/eblake.gpg
Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="dcjd8JPB8qNAPEdX1sK2epUOcSrFUfsJq"
X-IsSubscribed: yes

--dcjd8JPB8qNAPEdX1sK2epUOcSrFUfsJq
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 03/05/2014 03:45 AM, Irfan Adilovic wrote:
> If it is recognized that the executable was compiled against a
> different sized struct tm, how would you instruct cygwin1.dll code not
> to write to tm_gmtoff?

Linker magic, the same as how we converted to 64-bit stat, and the same
as what we will eventually have to do if we want to convert to 64-bit
time_t.  Basically, we add a new entry point, and alias the public name
to the new entry point.  Any old program is still linked to the old
name, where we know they use the smaller size.  Any new program is
linked to the new name, where we know they use the larger size.  New
programs cannot run against the old dll, but the new dll is able to
handle both old and new apps by virtue of dual entry points.

--=20
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


--dcjd8JPB8qNAPEdX1sK2epUOcSrFUfsJq
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Public key at http://people.redhat.com/eblake/eblake.gpg
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBCAAGBQJTFywYAAoJEKeha0olJ0NqQQ8H/1kSzvpUI14/I5eOwRdh6F7k
Ydi2dxc0CK3AHVNXrtbla50QVhSkqrzbd8bnhExV61jF1684naHCteaE0EQXeNZ0
SzlCN2OF5MlSyrxuI58U09O+iC/mrkKHSK/c0QjAbA4DUJveRsYgN2oRZpZmWIsc
UYJ2CJT6h5H89uUpzgIYfY5q47yY+anB98rKV8N6bj2QBabtltQ3IIl/WTKprw8U
IPp8oUFqCufEXy+PxAIVQ0bXCd2vOCWurxC1XSzTPNSfTxMmuXV3DzZmGDWZWdee
f7Y6m8etfzvh7SmCGDcdUswoJd5A7XnEk13Sa6lqJldC56T8+a/5T401/mDe724=
=TSMA
-----END PGP SIGNATURE-----

--dcjd8JPB8qNAPEdX1sK2epUOcSrFUfsJq--
