From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17893 invoked by alias); 6 Apr 2011 12:45:37 -0000 Received: (qmail 17873 invoked by uid 22791); 6 Apr 2011 12:45:35 -0000 X-SWARE-Spam-Status: No, hits=-1.0 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST,TW_GC,TW_IB X-Spam-Check-By: sourceware.org Received: from mail-qy0-f175.google.com (HELO mail-qy0-f175.google.com) (209.85.216.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 06 Apr 2011 12:45:06 +0000 Received: by qyk35 with SMTP id 35so2670143qyk.20 for ; Wed, 06 Apr 2011 05:45:05 -0700 (PDT) MIME-Version: 1.0 Received: by 10.229.79.196 with SMTP id q4mr746017qck.132.1302093904801; Wed, 06 Apr 2011 05:45:04 -0700 (PDT) Received: by 10.229.97.206 with HTTP; Wed, 6 Apr 2011 05:45:04 -0700 (PDT) In-Reply-To: References: Date: Wed, 06 Apr 2011 12:45:00 -0000 Message-ID: Subject: Re: [patch libjava]: Do some fixes for windows native targets From: Kai Tietz To: Tom Tromey Cc: GCC Patches , Java Patches Content-Type: multipart/mixed; boundary=001636426b41a8f63304a03f5c64 X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2011-04/txt/msg00468.txt.bz2 --001636426b41a8f63304a03f5c64 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 1726 2011/4/5 Tom Tromey : >>>>>> "Kai" =3D=3D Kai Tietz writes: > > Kai> this patch fixes some issues in libjava for windows targets. =A0It > Kai> addresses for now only 32-bit target, but for JNICALL definition I > Kai> introduced already logic for 64-bit windows target too as preparatio= n. > > Most of this seems ok to me. > > Kai> =A0 =A0* java/lang/reflect/Field.h (_Jv_JNI_ToReflectedField): > Kai> =A0 =A0Likewise. > Kai> =A0 =A0* java/lang/reflect/Constructor.h (_Jv_JNI_ToReflectedMethod): > Kai> =A0 =A0Likewise. > > These headers are generated. =A0You have to edit headers.txt and then > rebuild them. > > Tom > Hi Tom, I added to headers.txt the changes and regenerate headers. Btw it is a bit tricky to enable for libjava the maintainer-mode and then have a successful configure for it ... ChangeLog 2011-04-06 Kai Tietz * configure.ac (libgcj_ld_export_all): Set for windows native targets to export-all-symbols. (LIBGCJ_LD_EXPORT_ALL): Export libgcj_ld_export_all. * Makefile.am (libgcj_la_LDFLAGS): Add LIBGCJ_LD_EXPORT_ALL. * sysdep/i386/backtrace.h (MAIN_FUNC): Define for windows native targets to DllMain. * gcj/javaprims.h (JNICALL): Define it dependent for different windows targets. * include/jni_md.h: Likewise. * headers.txt (_Jv_JNI_ToReflectedField): Mark JNICALLS for friends. (_Jv_JNI_ToReflectedMethod): Likewise. * java/lang/Class.h: Regenerated. * java/lang/reflect/Field.h: Regenerated. * java/lang/reflect/Constructor.h: Regenerated. * configure: Regenerated. * Makefile.in: Regenerated. * include/Makefile.in: Regenerated. * testsuite/Makefile.in: Regenerated. * gcj/Makefile.in: Regenerated. Ok for apply? Regards, Kai --001636426b41a8f63304a03f5c64 Content-Type: text/plain; charset=UTF-8; name="java_w32.txt" Content-Disposition: attachment; filename="java_w32.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gm6923bd0 Content-length: 13864 SW5kZXg6IGdjYy1oZWFkL2xpYmphdmEvTWFrZWZpbGUuYW0KPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0gZ2NjLWhlYWQub3JpZy9saWJqYXZhL01ha2Vm aWxlLmFtCisrKyBnY2MtaGVhZC9saWJqYXZhL01ha2VmaWxlLmFtCkBAIC00 OTIsNyArNDkyLDcgQEAgeGxpYl9uYXRfZmlsZXMgPSAkKHhsaWJfbmF0X3Nv dXJjZV9maWxlcwogbGliZ2NqX2xhX0xERkxBR1MgPSAtcnBhdGggJCh0b29s ZXhlY2xpYmRpcikgJChUSFJFQURMREZMQUdTKSAkKGV4dHJhX2xkZmxhZ3Mp ICQoVEhSRUFETElCUykgXAogCSQoTElCTFRETCkgJChTWVNfWkxJQlMpICQo TElCSkFWQV9MREZMQUdTX05PVU5ERUYpIFwKIAktdmVyc2lvbi1pbmZvIGBn cmVwIC12ICdeXCMnICQoc3JjZGlyKS9saWJ0b29sLXZlcnNpb25gIFwKLQkk KExJQkdDSl9MRF9TWU1CT0xJQ19GVU5DVElPTlMpCisJJChMSUJHQ0pfTERf U1lNQk9MSUNfRlVOQ1RJT05TKSAkKExJQkdDSl9MRF9FWFBPUlRfQUxMKQog bGliZ2NqX2xhX0xJQkFERCA9IFwKIAljbGFzc3BhdGgvbmF0aXZlL2ZkbGli bS9saWJmZGxpYm0ubGEgXAogCWphdmEvbGFuZy9PYmplY3QubG8gXApJbmRl eDogZ2NjLWhlYWQvbGliamF2YS9jb25maWd1cmUuYWMKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0gZ2NjLWhlYWQub3JpZy9saWJqYXZhL2NvbmZpZ3Vy ZS5hYworKysgZ2NjLWhlYWQvbGliamF2YS9jb25maWd1cmUuYWMKQEAgLTIx NCw2ICsyMTQsMTYgQEAgaWYgdGVzdCAteiAiJGxpYmdjal9sZF9zeW1ib2xp YyI7IHRoZW4KICAgbGliZ2NqX2xkX3N5bWJvbGljPSRTWU1CT0xJQ19MREZM QUdTCiBmaQogCisjIGZvciB3aW5kb3dzIG5hdGl2ZSB0YXJnZXRzIGVuZm9y Y2UgZXhwb3J0IG9mIGFsbCBzeW1ib2xzIGZvciBzaGFyZWQgbGliZ2NqLgor bGliZ2NqX2xkX2V4cG9ydF9hbGw9CitjYXNlICIkaG9zdCIgaW4KKyAgICAg ICptaW5ndyopCisJbGliZ2NqX2xkX2V4cG9ydF9hbGw9LVdsLC0tZXhwb3J0 LWFsbC1zeW1ib2xzCisJOzsKKyAgICAgICopCisgICAgICAgIDs7Citlc2Fj CisKIExJQkdDSl9DRkxBR1M9IiR7bGliZ2NqX2NmbGFnc30iCiBMSUJHQ0pf Q1hYRkxBR1M9IiR7bGliZ2NqX2N4eGZsYWdzfSIKIExJQkdDSl9KQVZBRkxB R1M9IiR7bGliZ2NqX2phdmFmbGFnc30iCkBAIC0yMjEsNiArMjMxLDcgQEAg TElCR0NKX1NVQkxJQl9MVEZMQUdTPSIke2xpYmdjal9zdWJsaWJfbAogTElC R0NKX1NVQkxJQl9DT1JFX0VYVFJBX0RFUFM9IiR7bGliZ2NqX3N1YmxpYl9j b3JlX2V4dHJhX2RlcHN9IgogTElCR0NKX0xEX1NZTUJPTElDPSIke2xpYmdj al9sZF9zeW1ib2xpY30iCiBMSUJHQ0pfTERfU1lNQk9MSUNfRlVOQ1RJT05T PSIke2xpYmdjal9sZF9zeW1ib2xpY19mdW5jdGlvbnN9IgorTElCR0NKX0xE X0VYUE9SVF9BTEw9IiR7bGliZ2NqX2xkX2V4cG9ydF9hbGx9IgogQUNfU1VC U1QoTElCR0NKX0NGTEFHUykKIEFDX1NVQlNUKExJQkdDSl9DWFhGTEFHUykK IEFDX1NVQlNUKExJQkdDSl9KQVZBRkxBR1MpCkBAIC0yMjgsNiArMjM5LDcg QEAgQUNfU1VCU1QoTElCR0NKX1NVQkxJQl9MVEZMQUdTKQogQUNfU1VCU1Qo TElCR0NKX1NVQkxJQl9DT1JFX0VYVFJBX0RFUFMpCiBBQ19TVUJTVChMSUJH Q0pfTERfU1lNQk9MSUMpCiBBQ19TVUJTVChMSUJHQ0pfTERfU1lNQk9MSUNf RlVOQ1RJT05TKQorQUNfU1VCU1QoTElCR0NKX0xEX0VYUE9SVF9BTEwpCiAK ICMgT25seSB1c2UgbGlibHRkbCBmb3Igbm9uLW5ld2xpYiBidWlsZHMuCiBp ZiB0ZXN0ICJ4JHt3aXRoX25ld2xpYn0iID0gIngiIHx8IHRlc3QgIngke3dp dGhfbmV3bGlifSIgPSAieG5vIjsgdGhlbgpAQCAtOTMwLDYgKzk0Miw5IEBA IGFybSpsaW51eCplYWJpKQogKi0qLWN5Z3dpbikKICAgICBleHRyYV9sZGZs YWdzX2xpYmphdmE9LWxpY29udgogICAgIDs7CisqLSotbWluZ3cqKQorICAg IGV4dHJhX2xkZmxhZ3NfbGliamF2YT0tbHdzMl8zMgorICAgIDs7CiBlc2Fj CiAKIExJQk1BVEhTUEVDPQpJbmRleDogZ2NjLWhlYWQvbGliamF2YS9nY2ov amF2YXByaW1zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ2NjLWhl YWQub3JpZy9saWJqYXZhL2djai9qYXZhcHJpbXMuaAorKysgZ2NjLWhlYWQv bGliamF2YS9nY2ovamF2YXByaW1zLmgKQEAgLTI2LDYgKzI2LDE1IEBAIGRl dGFpbHMuICAqLwogI3VuZGVmIEZBTFNFCiAjZGVmaW5lIEZBTFNFIEZBTFNF CiAKKy8vIEpOSSBjYWxsaW5nIGNvbnZlbnRpb24gYWxzbyBkZWZpbmVkIGlu IGpuaS5oICAqLworI2lmbmRlZiBKTklDQUxMCisgI2lmIChkZWZpbmVkIChf V0lOMzIpIHx8IGRlZmluZWQgKF9fV0lOMzJfXykgfHwgZGVmaW5lZCAoV0lO MzIpKSAmJiAhZGVmaW5lZCAoX1dJTjY0KQorICAjZGVmaW5lIEpOSUNBTEwg X19zdGRjYWxsCisgI2Vsc2UKKyAgI2RlZmluZSBKTklDQUxMCisgI2VuZGlm CisjZW5kaWYKKwogLy8gVG8gZm9yY2Ugc2VsZWN0aW9uIG9mIGNvcnJlY3Qg dHlwZXMgdGhhdCB3aWxsIG1hbmdsZSBjb25zaXN0ZW50bHkKIC8vIGFjcm9z cyBwbGF0Zm9ybXMuCiBleHRlcm4gIkphdmEiCkluZGV4OiBnY2MtaGVhZC9s aWJqYXZhL2hlYWRlcnMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t IGdjYy1oZWFkLm9yaWcvbGliamF2YS9oZWFkZXJzLnR4dAorKysgZ2NjLWhl YWQvbGliamF2YS9oZWFkZXJzLnR4dApAQCAtNDEsMjYgKzQxLDI2IEBAIGZy aWVuZCBqc3RyaW5nICg6Ol9Kdl9BbGxvY1N0cmluZykgKGpzaXoKIAogY2xh c3MgamF2YS9sYW5nL3JlZmxlY3QvQ29uc3RydWN0b3IKIHByZXBlbmQgam1l dGhvZElEIF9Kdl9Gcm9tUmVmbGVjdGVkQ29uc3RydWN0b3IgKGphdmE6Omxh bmc6OnJlZmxlY3Q6OkNvbnN0cnVjdG9yICopOwotcHJlcGVuZCBqb2JqZWN0 IF9Kdl9KTklfVG9SZWZsZWN0ZWRNZXRob2QgKF9Kdl9KTklFbnYgKiwgamNs YXNzLCBqbWV0aG9kSUQsIGpib29sZWFuKTsKK3ByZXBlbmQgam9iamVjdCBK TklDQUxMIF9Kdl9KTklfVG9SZWZsZWN0ZWRNZXRob2QgKF9Kdl9KTklFbnYg KiwgamNsYXNzLCBqbWV0aG9kSUQsIGpib29sZWFuKTsKIGZyaWVuZCBqbWV0 aG9kSUQgKDo6X0p2X0Zyb21SZWZsZWN0ZWRDb25zdHJ1Y3RvcikgKGphdmE6 Omxhbmc6OnJlZmxlY3Q6OkNvbnN0cnVjdG9yICopOwotZnJpZW5kIGpvYmpl Y3QgKDo6X0p2X0pOSV9Ub1JlZmxlY3RlZE1ldGhvZCkgKF9Kdl9KTklFbnYg KiwgamNsYXNzLCBqbWV0aG9kSUQsIGpib29sZWFuKTsKK2ZyaWVuZCBqb2Jq ZWN0IEpOSUNBTEwgKDo6X0p2X0pOSV9Ub1JlZmxlY3RlZE1ldGhvZCkgKF9K dl9KTklFbnYgKiwgamNsYXNzLCBqbWV0aG9kSUQsIGpib29sZWFuKTsKIGZy aWVuZCBjbGFzcyBqYXZhOjpsYW5nOjpDbGFzczsKIAogY2xhc3MgamF2YS9s YW5nL3JlZmxlY3QvRmllbGQKIHByZXBlbmQgamZpZWxkSUQgX0p2X0Zyb21S ZWZsZWN0ZWRGaWVsZCAoamF2YTo6bGFuZzo6cmVmbGVjdDo6RmllbGQgKik7 Ci1wcmVwZW5kIGpvYmplY3QgX0p2X0pOSV9Ub1JlZmxlY3RlZEZpZWxkIChf SnZfSk5JRW52KiwgamNsYXNzLCBqZmllbGRJRCwgamJvb2xlYW4pOworcHJl cGVuZCBqb2JqZWN0IEpOSUNBTEwgX0p2X0pOSV9Ub1JlZmxlY3RlZEZpZWxk IChfSnZfSk5JRW52KiwgamNsYXNzLCBqZmllbGRJRCwgamJvb2xlYW4pOwog cHJlcGVuZCBqb2JqZWN0IF9Kdl9nZXRGaWVsZEludGVybmFsIChqYXZhOjps YW5nOjpyZWZsZWN0OjpGaWVsZCAqZiwgamNsYXNzIGMsIGpvYmplY3Qgbyk7 CiBmcmllbmQgamZpZWxkSUQgKDo6X0p2X0Zyb21SZWZsZWN0ZWRGaWVsZCkg KGphdmE6Omxhbmc6OnJlZmxlY3Q6OkZpZWxkICopOwotZnJpZW5kIGpvYmpl Y3QgKDo6X0p2X0pOSV9Ub1JlZmxlY3RlZEZpZWxkKSAoX0p2X0pOSUVudios IGpjbGFzcywgamZpZWxkSUQsIGpib29sZWFuKTsKK2ZyaWVuZCBqb2JqZWN0 IEpOSUNBTEwgKDo6X0p2X0pOSV9Ub1JlZmxlY3RlZEZpZWxkKSAoX0p2X0pO SUVudiosIGpjbGFzcywgamZpZWxkSUQsIGpib29sZWFuKTsKIGZyaWVuZCBj bGFzcyBqYXZhOjpsYW5nOjpDbGFzczsKIGZyaWVuZCBqb2JqZWN0ICg6Ol9K dl9nZXRGaWVsZEludGVybmFsKSAoamF2YTo6bGFuZzo6cmVmbGVjdDo6Rmll bGQgKmYsIGpjbGFzcyBjLCBqb2JqZWN0IG8pOwogCiBjbGFzcyBqYXZhL2xh bmcvcmVmbGVjdC9NZXRob2QKIHByZXBlbmQgam1ldGhvZElEIF9Kdl9Gcm9t UmVmbGVjdGVkTWV0aG9kIChqYXZhOjpsYW5nOjpyZWZsZWN0OjpNZXRob2Qg Kik7Ci1wcmVwZW5kIGpvYmplY3QgX0p2X0pOSV9Ub1JlZmxlY3RlZE1ldGhv ZCAoX0p2X0pOSUVudiAqLCBqY2xhc3MsIGptZXRob2RJRCwgamJvb2xlYW4p OworcHJlcGVuZCBqb2JqZWN0IEpOSUNBTEwgX0p2X0pOSV9Ub1JlZmxlY3Rl ZE1ldGhvZCAoX0p2X0pOSUVudiAqLCBqY2xhc3MsIGptZXRob2RJRCwgamJv b2xlYW4pOwogcHJlcGVuZCA6OmphdmE6Omxhbmc6OnJlZmxlY3Q6Ok1ldGhv ZCAqX0p2X0dldFJlZmxlY3RlZE1ldGhvZCAoamNsYXNzLCBfSnZfVXRmOENv bnN0KiwgX0p2X1V0ZjhDb25zdCopOwogZnJpZW5kIGptZXRob2RJRCAoOjpf SnZfRnJvbVJlZmxlY3RlZE1ldGhvZCkgKGphdmE6Omxhbmc6OnJlZmxlY3Q6 Ok1ldGhvZCAqKTsKLWZyaWVuZCBqb2JqZWN0ICg6Ol9Kdl9KTklfVG9SZWZs ZWN0ZWRNZXRob2QpIChfSnZfSk5JRW52ICosIGpjbGFzcywgam1ldGhvZElE LCBqYm9vbGVhbik7CitmcmllbmQgam9iamVjdCBKTklDQUxMICg6Ol9Kdl9K TklfVG9SZWZsZWN0ZWRNZXRob2QpIChfSnZfSk5JRW52ICosIGpjbGFzcywg am1ldGhvZElELCBqYm9vbGVhbik7CiBmcmllbmQgY2xhc3MgamF2YTo6bGFu Zzo6Q2xhc3M7CiBmcmllbmQgY2xhc3MgamF2YTo6aW86Ok9iamVjdElucHV0 U3RyZWFtOwogZnJpZW5kIGphdmE6Omxhbmc6OnJlZmxlY3Q6Ok1ldGhvZCog OjpfSnZfR2V0UmVmbGVjdGVkTWV0aG9kIChqY2xhc3MsIF9Kdl9VdGY4Q29u c3QqLCBfSnZfVXRmOENvbnN0Kik7CkluZGV4OiBnY2MtaGVhZC9saWJqYXZh L2luY2x1ZGUvam5pX21kLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g Z2NjLWhlYWQub3JpZy9saWJqYXZhL2luY2x1ZGUvam5pX21kLmgKKysrIGdj Yy1oZWFkL2xpYmphdmEvaW5jbHVkZS9qbmlfbWQuaApAQCAtNjUsNiArNjUs MTUgQEAgdHlwZWRlZiBzdHJ1Y3QgX0p2X0phdmFWTSBKYXZhVk07CiAgICAg IHJldXNlZCBiZXR3ZWVuIG5vbi1uZXN0aW5nIEpOSSBjYWxscy4gICovCQkJ CVwKICAgc3RydWN0IF9Kdl9KTklfTG9jYWxGcmFtZSAqYm90dG9tX2xvY2Fs czsKIAorLyogIEpOSSBjYWxsaW5nIGNvbnZlbnRpb24uICBBbHNvIGRlZmlu ZWQgaW4gamF2YXByaW1zLmguICovCisjaWZuZGVmIEpOSUNBTEwKKyNpZiAo ZGVmaW5lZCAoX1dJTjMyKSB8fCBkZWZpbmVkIChfX1dJTjMyX18pIHx8IGRl ZmluZWQgKFdJTjMyKSkgXAorICAgICYmICFkZWZpbmVkIChfV0lONjQpCisg ICNkZWZpbmUgSk5JQ0FMTCBfX3N0ZGNhbGwKKyAjZWxzZQorICAjZGVmaW5l IEpOSUNBTEwKKyAjZW5kaWYKKyNlbmRpZgogCiAjZWxzZSAvKiBfX0dDSl9K TklfSU1QTF9fICovCiAKQEAgLTExNywxNCArMTI2LDE3IEBAIHR5cGVkZWYg dWludDE2X3QgamNoYXI7CiAKIAogLyogTGlua2FnZSBhbmQgY2FsbGluZyBj b252ZW50aW9ucy4gKi8KLSNpZiBkZWZpbmVkIChfV0lOMzIpIHx8IGRlZmlu ZWQgKF9fV0lOMzJfXykgfHwgZGVmaW5lZCAoV0lOMzIpCisjaWYgKGRlZmlu ZWQgKF9XSU4zMikgfHwgZGVmaW5lZCAoX19XSU4zMl9fKSB8fCBkZWZpbmVk IChXSU4zMikpIFwKKyAgICAmJiAhZGVmaW5lZCAoX1dJTjY0KQogCiAjZGVm aW5lIEpOSUlNUE9SVCAgICAgICAgX19kZWNsc3BlYyhkbGxpbXBvcnQpCiAj ZGVmaW5lIEpOSUVYUE9SVCAgICAgICAgX19kZWNsc3BlYyhkbGxleHBvcnQp CiAKLSNkZWZpbmUgSk5JQ0FMTCAgICAgICAgICBfX3N0ZGNhbGwKKyNpZm5k ZWYgSk5JQ0FMTAorI2RlZmluZSBKTklDQUxMIF9fc3RkY2FsbAorw6RlbmRp ZgogCi0jZWxzZSAvKiAhKCBfV0lOMzIgfHwgX19XSU4zMl9fIHx8IFdJTjMy KSAqLworI2Vsc2UgLyogISggX1dJTjMyIHx8IF9fV0lOMzJfXyB8fCBXSU4z MikgfHwgX1dJTjY0ICovCiAKICNkZWZpbmUgSk5JSU1QT1JUCiAjaWYgZGVm aW5lZChfX0dOVUNfXykgJiYgX19HTlVDX18gPiAzCkBAIC0xMzMsOSArMTQ1 LDExIEBAIHR5cGVkZWYgdWludDE2X3QgamNoYXI7CiAjZGVmaW5lIEpOSUVY UE9SVAogI2VuZGlmCiAKKyNpZm5kZWYgSk5JQ0FMTAogI2RlZmluZSBKTklD QUxMCisjZW5kaWYKIAotI2VuZGlmIC8qICEoIF9XSU4zMiB8fCBfX1dJTjMy X18gfHwgV0lOMzIpICovCisjZW5kaWYgLyogISggX1dJTjMyIHx8IF9fV0lO MzJfXyB8fCBXSU4zMikgfHwgX1dJTjY0ICovCiAKIC8qIFRoZXNlIGRlZmlu ZXMgYXBwbHkgdG8gc3ltYm9scyBpbiBsaWJnY2ogKi8KICNpZmRlZiBfX0dD Sl9ETExfXwpJbmRleDogZ2NjLWhlYWQvbGliamF2YS9qYXZhL2xhbmcvQ2xh c3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnY2MtaGVhZC5vcmln L2xpYmphdmEvamF2YS9sYW5nL0NsYXNzLmgKKysrIGdjYy1oZWFkL2xpYmph dmEvamF2YS9sYW5nL0NsYXNzLmgKQEAgLTI1MSwxMCArMjUxLDEwIEBAIGJv b2wgX0p2X2dldEludGVyZmFjZU1ldGhvZChqY2xhc3MsIGpjbGEKIAkJCSAg ICBjb25zdCBfSnZfVXRmOENvbnN0KiwKIAkJCSAgICBjb25zdCBfSnZfVXRm OENvbnN0Kik7CiAKLWpvYmplY3QgX0p2X0pOSV9Ub1JlZmxlY3RlZEZpZWxk IChfSnZfSk5JRW52ICosIGpjbGFzcywgamZpZWxkSUQsCi0JCQkJICBqYm9v bGVhbik7Ci1qb2JqZWN0IF9Kdl9KTklfVG9SZWZsZWN0ZWRNZXRob2QgKF9K dl9KTklFbnYgKiwgamNsYXNzLCBqbWV0aG9kSUQsCi0JCQkJICAgamJvb2xl YW4pOworam9iamVjdCBKTklDQUxMIF9Kdl9KTklfVG9SZWZsZWN0ZWRGaWVs ZCAoX0p2X0pOSUVudiAqLCBqY2xhc3MsIGpmaWVsZElELAorCQkJCQkgIGpi b29sZWFuKTsKK2pvYmplY3QgSk5JQ0FMTCBfSnZfSk5JX1RvUmVmbGVjdGVk TWV0aG9kIChfSnZfSk5JRW52ICosIGpjbGFzcywgam1ldGhvZElELAorCQkJ CQkgICBqYm9vbGVhbik7CiBqZmllbGRJRCBfSnZfRnJvbVJlZmxlY3RlZEZp ZWxkIChqYXZhOjpsYW5nOjpyZWZsZWN0OjpGaWVsZCAqKTsKIAogam1ldGhv ZElEIF9Kdl9Gcm9tUmVmbGVjdGVkTWV0aG9kIChqYXZhOjpsYW5nOjpyZWZs ZWN0OjpNZXRob2QgKik7CkluZGV4OiBnY2MtaGVhZC9saWJqYXZhL2phdmEv bGFuZy9yZWZsZWN0L0NvbnN0cnVjdG9yLmgKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gZ2NjLWhlYWQub3JpZy9saWJqYXZhL2phdmEvbGFuZy9yZWZs ZWN0L0NvbnN0cnVjdG9yLmgKKysrIGdjYy1oZWFkL2xpYmphdmEvamF2YS9s YW5nL3JlZmxlY3QvQ29uc3RydWN0b3IuaApAQCAtMTEsNyArMTEsNyBAQAog CiAKIGptZXRob2RJRCBfSnZfRnJvbVJlZmxlY3RlZENvbnN0cnVjdG9yIChq YXZhOjpsYW5nOjpyZWZsZWN0OjpDb25zdHJ1Y3RvciAqKTsKLWpvYmplY3Qg X0p2X0pOSV9Ub1JlZmxlY3RlZE1ldGhvZCAoX0p2X0pOSUVudiAqLCBqY2xh c3MsIGptZXRob2RJRCwgamJvb2xlYW4pOworam9iamVjdCBKTklDQUxMIF9K dl9KTklfVG9SZWZsZWN0ZWRNZXRob2QgKF9Kdl9KTklFbnYgKiwgamNsYXNz LCBqbWV0aG9kSUQsIGpib29sZWFuKTsKIAogY2xhc3MgamF2YTo6bGFuZzo6 cmVmbGVjdDo6Q29uc3RydWN0b3IgOiBwdWJsaWMgOjpqYXZhOjpsYW5nOjpy ZWZsZWN0OjpBY2Nlc3NpYmxlT2JqZWN0CiB7CkBAIC01OCw3ICs1OCw3IEBA IHB1YmxpYzoKICAgc3RhdGljIDo6amF2YTo6bGFuZzo6Q2xhc3MgY2xhc3Mk OwogCiAgIGZyaWVuZCBqbWV0aG9kSUQgKDo6X0p2X0Zyb21SZWZsZWN0ZWRD b25zdHJ1Y3RvcikgKGphdmE6Omxhbmc6OnJlZmxlY3Q6OkNvbnN0cnVjdG9y ICopOwotICBmcmllbmQgam9iamVjdCAoOjpfSnZfSk5JX1RvUmVmbGVjdGVk TWV0aG9kKSAoX0p2X0pOSUVudiAqLCBqY2xhc3MsIGptZXRob2RJRCwgamJv b2xlYW4pOworICBmcmllbmQgam9iamVjdCBKTklDQUxMICg6Ol9Kdl9KTklf VG9SZWZsZWN0ZWRNZXRob2QpIChfSnZfSk5JRW52ICosIGpjbGFzcywgam1l dGhvZElELCBqYm9vbGVhbik7CiAgIGZyaWVuZCBjbGFzcyBqYXZhOjpsYW5n OjpDbGFzczsKIH07CiAKSW5kZXg6IGdjYy1oZWFkL2xpYmphdmEvamF2YS9s YW5nL3JlZmxlY3QvRmllbGQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LSBnY2MtaGVhZC5vcmlnL2xpYmphdmEvamF2YS9sYW5nL3JlZmxlY3QvRmll bGQuaAorKysgZ2NjLWhlYWQvbGliamF2YS9qYXZhL2xhbmcvcmVmbGVjdC9G aWVsZC5oCkBAIC0xMSw3ICsxMSw3IEBACiAKIAogamZpZWxkSUQgX0p2X0Zy b21SZWZsZWN0ZWRGaWVsZCAoamF2YTo6bGFuZzo6cmVmbGVjdDo6RmllbGQg Kik7Ci1qb2JqZWN0IF9Kdl9KTklfVG9SZWZsZWN0ZWRGaWVsZCAoX0p2X0pO SUVudiosIGpjbGFzcywgamZpZWxkSUQsIGpib29sZWFuKTsKK2pvYmplY3Qg Sk5JQ0FMTCBfSnZfSk5JX1RvUmVmbGVjdGVkRmllbGQgKF9Kdl9KTklFbnYq LCBqY2xhc3MsIGpmaWVsZElELCBqYm9vbGVhbik7CiBqb2JqZWN0IF9Kdl9n ZXRGaWVsZEludGVybmFsIChqYXZhOjpsYW5nOjpyZWZsZWN0OjpGaWVsZCAq ZiwgamNsYXNzIGMsIGpvYmplY3Qgbyk7CiAKIGNsYXNzIGphdmE6Omxhbmc6 OnJlZmxlY3Q6OkZpZWxkIDogcHVibGljIDo6amF2YTo6bGFuZzo6cmVmbGVj dDo6QWNjZXNzaWJsZU9iamVjdApAQCAtOTAsNyArOTAsNyBAQCBwdWJsaWM6 CiAgIHN0YXRpYyA6OmphdmE6Omxhbmc6OkNsYXNzIGNsYXNzJDsKIAogICBm cmllbmQgamZpZWxkSUQgKDo6X0p2X0Zyb21SZWZsZWN0ZWRGaWVsZCkgKGph dmE6Omxhbmc6OnJlZmxlY3Q6OkZpZWxkICopOwotICBmcmllbmQgam9iamVj dCAoOjpfSnZfSk5JX1RvUmVmbGVjdGVkRmllbGQpIChfSnZfSk5JRW52Kiwg amNsYXNzLCBqZmllbGRJRCwgamJvb2xlYW4pOworICBmcmllbmQgam9iamVj dCBKTklDQUxMICg6Ol9Kdl9KTklfVG9SZWZsZWN0ZWRGaWVsZCkgKF9Kdl9K TklFbnYqLCBqY2xhc3MsIGpmaWVsZElELCBqYm9vbGVhbik7CiAgIGZyaWVu ZCBjbGFzcyBqYXZhOjpsYW5nOjpDbGFzczsKICAgZnJpZW5kIGpvYmplY3Qg KDo6X0p2X2dldEZpZWxkSW50ZXJuYWwpIChqYXZhOjpsYW5nOjpyZWZsZWN0 OjpGaWVsZCAqZiwgamNsYXNzIGMsIGpvYmplY3Qgbyk7CiB9OwpJbmRleDog Z2NjLWhlYWQvbGliamF2YS9zeXNkZXAvaTM4Ni9iYWNrdHJhY2UuaAo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLSBnY2MtaGVhZC5vcmlnL2xpYmphdmEv c3lzZGVwL2kzODYvYmFja3RyYWNlLmgKKysrIGdjYy1oZWFkL2xpYmphdmEv c3lzZGVwL2kzODYvYmFja3RyYWNlLmgKQEAgLTE3LDcgKzE3LDEwIEBAIGRl dGFpbHMuICAqLwogLyogVG8gYWxsb3cgdGhpcyB0byBsaW5rIGFzIGEgRExM LiAgKi8KICNkZWZpbmUgTUFJTl9GVU5DIGRsbF9jcnQwX19GUDExcGVyX3By b2Nlc3MKIGV4dGVybiAiQyIgaW50IE1BSU5fRlVOQyAoKSBfX2RlY2xzcGVj KGRsbGltcG9ydCk7Ci0jZWxzZSAvKiAhX19DWUdXSU5fXyAqLworI2VsaWYg ZGVmaW5lZCAoX1dJTjMyKQorI2RlZmluZSBNQUlOX0ZVTkMgRGxsTWFpbgor ZXh0ZXJuICJDIiBpbnQgX19zdGRjYWxsIE1BSU5fRlVOQyAodm9pZCAqLCB1 bnNpZ25lZCBsb25nLCB2b2lkICopOworI2Vsc2UgLyogIV9fQ1lHV0lOX18g JiYgIV9XSU4zMiAqLwogI2RlZmluZSBNQUlOX0ZVTkMgbWFpbgogZXh0ZXJu IGludCBNQUlOX0ZVTkMgKGludCwgY2hhciAqKik7CiAjZW5kaWYgLyogP19f Q1lHV0lOX18gKi8K --001636426b41a8f63304a03f5c64--