From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31876 invoked by alias); 6 Apr 2011 14:39:18 -0000 Received: (qmail 31854 invoked by uid 22791); 6 Apr 2011 14:39:16 -0000 X-SWARE-Spam-Status: No, hits=0.7 required=5.0 tests=AWL,BAYES_60,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 14:39:11 +0000 Received: by qyk35 with SMTP id 35so2762294qyk.20 for ; Wed, 06 Apr 2011 07:39:10 -0700 (PDT) MIME-Version: 1.0 Received: by 10.229.114.80 with SMTP id d16mr936340qcq.18.1302100749893; Wed, 06 Apr 2011 07:39:09 -0700 (PDT) Received: by 10.229.97.206 with HTTP; Wed, 6 Apr 2011 07:39:09 -0700 (PDT) In-Reply-To: References: Date: Wed, 06 Apr 2011 14:39: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=000e0cd6b216a8c12404a040f4d6 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/msg00474.txt.bz2 --000e0cd6b216a8c12404a040f4d6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 2198 2011/4/6 Kai Tietz : > 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 preparati= on. >> >> 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. =A0Btw it is > a bit tricky to enable for libjava the maintainer-mode and then have a > successful configure for it ... > > ChangeLog > > 2011-04-06 =A0Kai Tietz > > =A0 =A0 =A0 =A0* configure.ac (libgcj_ld_export_all): Set for windows > =A0 =A0 =A0 =A0native targets to export-all-symbols. > =A0 =A0 =A0 =A0(LIBGCJ_LD_EXPORT_ALL): Export libgcj_ld_export_all. > =A0 =A0 =A0 =A0* Makefile.am (libgcj_la_LDFLAGS): Add LIBGCJ_LD_EXPORT_AL= L. > =A0 =A0 =A0 =A0* sysdep/i386/backtrace.h (MAIN_FUNC): Define for windows > =A0 =A0 =A0 =A0native targets to DllMain. > =A0 =A0 =A0 =A0* gcj/javaprims.h (JNICALL): Define it dependent > =A0 =A0 =A0 =A0for different windows targets. > =A0 =A0 =A0 =A0* include/jni_md.h: Likewise. > =A0 =A0 =A0 =A0* headers.txt (_Jv_JNI_ToReflectedField): Mark > =A0 =A0 =A0 =A0JNICALLS for friends. > =A0 =A0 =A0 =A0(_Jv_JNI_ToReflectedMethod): Likewise. > =A0 =A0 =A0 =A0* java/lang/Class.h: Regenerated. > =A0 =A0 =A0 =A0* java/lang/reflect/Field.h: Regenerated. > =A0 =A0 =A0 =A0* java/lang/reflect/Constructor.h: Regenerated. > =A0 =A0 =A0 =A0* configure: Regenerated. > =A0 =A0 =A0 =A0* Makefile.in: Regenerated. > =A0 =A0 =A0 =A0* include/Makefile.in: Regenerated. > =A0 =A0 =A0 =A0* testsuite/Makefile.in: Regenerated. > =A0 =A0 =A0 =A0* gcj/Makefile.in: Regenerated. > > Ok for apply? > > Regards, > Kai > Sorry, found a typo. Updated patch attached. Kai --000e0cd6b216a8c12404a040f4d6 Content-Type: text/plain; charset=US-ASCII; name="java_w32.txt" Content-Disposition: attachment; filename="java_w32.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gm6d5h9b1 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 ZWYgSk5JQ0FMTAorI2RlZmluZSBKTklDQUxMIF9fc3RkY2FsbAorI2VuZGlm CiAKLSNlbHNlIC8qICEoIF9XSU4zMiB8fCBfX1dJTjMyX18gfHwgV0lOMzIp ICovCisjZWxzZSAvKiAhKCBfV0lOMzIgfHwgX19XSU4zMl9fIHx8IFdJTjMy KSB8fCBfV0lONjQgKi8KIAogI2RlZmluZSBKTklJTVBPUlQKICNpZiBkZWZp bmVkKF9fR05VQ19fKSAmJiBfX0dOVUNfXyA+IDMKQEAgLTEzMyw5ICsxNDUs MTEgQEAgdHlwZWRlZiB1aW50MTZfdCBqY2hhcjsKICNkZWZpbmUgSk5JRVhQ T1JUCiAjZW5kaWYKIAorI2lmbmRlZiBKTklDQUxMCiAjZGVmaW5lIEpOSUNB TEwKKyNlbmRpZgogCi0jZW5kaWYgLyogISggX1dJTjMyIHx8IF9fV0lOMzJf XyB8fCBXSU4zMikgKi8KKyNlbmRpZiAvKiAhKCBfV0lOMzIgfHwgX19XSU4z Ml9fIHx8IFdJTjMyKSB8fCBfV0lONjQgKi8KIAogLyogVGhlc2UgZGVmaW5l cyBhcHBseSB0byBzeW1ib2xzIGluIGxpYmdjaiAqLwogI2lmZGVmIF9fR0NK X0RMTF9fCkluZGV4OiBnY2MtaGVhZC9saWJqYXZhL2phdmEvbGFuZy9DbGFz cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGdjYy1oZWFkLm9yaWcv bGliamF2YS9qYXZhL2xhbmcvQ2xhc3MuaAorKysgZ2NjLWhlYWQvbGliamF2 YS9qYXZhL2xhbmcvQ2xhc3MuaApAQCAtMjUxLDEwICsyNTEsMTAgQEAgYm9v bCBfSnZfZ2V0SW50ZXJmYWNlTWV0aG9kKGpjbGFzcywgamNsYQogCQkJICAg IGNvbnN0IF9Kdl9VdGY4Q29uc3QqLAogCQkJICAgIGNvbnN0IF9Kdl9VdGY4 Q29uc3QqKTsKIAotam9iamVjdCBfSnZfSk5JX1RvUmVmbGVjdGVkRmllbGQg KF9Kdl9KTklFbnYgKiwgamNsYXNzLCBqZmllbGRJRCwKLQkJCQkgIGpib29s ZWFuKTsKLWpvYmplY3QgX0p2X0pOSV9Ub1JlZmxlY3RlZE1ldGhvZCAoX0p2 X0pOSUVudiAqLCBqY2xhc3MsIGptZXRob2RJRCwKLQkJCQkgICBqYm9vbGVh bik7Citqb2JqZWN0IEpOSUNBTEwgX0p2X0pOSV9Ub1JlZmxlY3RlZEZpZWxk IChfSnZfSk5JRW52ICosIGpjbGFzcywgamZpZWxkSUQsCisJCQkJCSAgamJv b2xlYW4pOworam9iamVjdCBKTklDQUxMIF9Kdl9KTklfVG9SZWZsZWN0ZWRN ZXRob2QgKF9Kdl9KTklFbnYgKiwgamNsYXNzLCBqbWV0aG9kSUQsCisJCQkJ CSAgIGpib29sZWFuKTsKIGpmaWVsZElEIF9Kdl9Gcm9tUmVmbGVjdGVkRmll bGQgKGphdmE6Omxhbmc6OnJlZmxlY3Q6OkZpZWxkICopOwogCiBqbWV0aG9k SUQgX0p2X0Zyb21SZWZsZWN0ZWRNZXRob2QgKGphdmE6Omxhbmc6OnJlZmxl Y3Q6Ok1ldGhvZCAqKTsKSW5kZXg6IGdjYy1oZWFkL2xpYmphdmEvamF2YS9s YW5nL3JlZmxlY3QvQ29uc3RydWN0b3IuaAo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLSBnY2MtaGVhZC5vcmlnL2xpYmphdmEvamF2YS9sYW5nL3JlZmxl Y3QvQ29uc3RydWN0b3IuaAorKysgZ2NjLWhlYWQvbGliamF2YS9qYXZhL2xh bmcvcmVmbGVjdC9Db25zdHJ1Y3Rvci5oCkBAIC0xMSw3ICsxMSw3IEBACiAK IAogam1ldGhvZElEIF9Kdl9Gcm9tUmVmbGVjdGVkQ29uc3RydWN0b3IgKGph dmE6Omxhbmc6OnJlZmxlY3Q6OkNvbnN0cnVjdG9yICopOwotam9iamVjdCBf SnZfSk5JX1RvUmVmbGVjdGVkTWV0aG9kIChfSnZfSk5JRW52ICosIGpjbGFz cywgam1ldGhvZElELCBqYm9vbGVhbik7Citqb2JqZWN0IEpOSUNBTEwgX0p2 X0pOSV9Ub1JlZmxlY3RlZE1ldGhvZCAoX0p2X0pOSUVudiAqLCBqY2xhc3Ms IGptZXRob2RJRCwgamJvb2xlYW4pOwogCiBjbGFzcyBqYXZhOjpsYW5nOjpy ZWZsZWN0OjpDb25zdHJ1Y3RvciA6IHB1YmxpYyA6OmphdmE6Omxhbmc6OnJl ZmxlY3Q6OkFjY2Vzc2libGVPYmplY3QKIHsKQEAgLTU4LDcgKzU4LDcgQEAg cHVibGljOgogICBzdGF0aWMgOjpqYXZhOjpsYW5nOjpDbGFzcyBjbGFzcyQ7 CiAKICAgZnJpZW5kIGptZXRob2RJRCAoOjpfSnZfRnJvbVJlZmxlY3RlZENv bnN0cnVjdG9yKSAoamF2YTo6bGFuZzo6cmVmbGVjdDo6Q29uc3RydWN0b3Ig Kik7Ci0gIGZyaWVuZCBqb2JqZWN0ICg6Ol9Kdl9KTklfVG9SZWZsZWN0ZWRN ZXRob2QpIChfSnZfSk5JRW52ICosIGpjbGFzcywgam1ldGhvZElELCBqYm9v bGVhbik7CisgIGZyaWVuZCBqb2JqZWN0IEpOSUNBTEwgKDo6X0p2X0pOSV9U b1JlZmxlY3RlZE1ldGhvZCkgKF9Kdl9KTklFbnYgKiwgamNsYXNzLCBqbWV0 aG9kSUQsIGpib29sZWFuKTsKICAgZnJpZW5kIGNsYXNzIGphdmE6Omxhbmc6 OkNsYXNzOwogfTsKIApJbmRleDogZ2NjLWhlYWQvbGliamF2YS9qYXZhL2xh bmcvcmVmbGVjdC9GaWVsZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t IGdjYy1oZWFkLm9yaWcvbGliamF2YS9qYXZhL2xhbmcvcmVmbGVjdC9GaWVs ZC5oCisrKyBnY2MtaGVhZC9saWJqYXZhL2phdmEvbGFuZy9yZWZsZWN0L0Zp ZWxkLmgKQEAgLTExLDcgKzExLDcgQEAKIAogCiBqZmllbGRJRCBfSnZfRnJv bVJlZmxlY3RlZEZpZWxkIChqYXZhOjpsYW5nOjpyZWZsZWN0OjpGaWVsZCAq KTsKLWpvYmplY3QgX0p2X0pOSV9Ub1JlZmxlY3RlZEZpZWxkIChfSnZfSk5J RW52KiwgamNsYXNzLCBqZmllbGRJRCwgamJvb2xlYW4pOworam9iamVjdCBK TklDQUxMIF9Kdl9KTklfVG9SZWZsZWN0ZWRGaWVsZCAoX0p2X0pOSUVudios IGpjbGFzcywgamZpZWxkSUQsIGpib29sZWFuKTsKIGpvYmplY3QgX0p2X2dl dEZpZWxkSW50ZXJuYWwgKGphdmE6Omxhbmc6OnJlZmxlY3Q6OkZpZWxkICpm LCBqY2xhc3MgYywgam9iamVjdCBvKTsKIAogY2xhc3MgamF2YTo6bGFuZzo6 cmVmbGVjdDo6RmllbGQgOiBwdWJsaWMgOjpqYXZhOjpsYW5nOjpyZWZsZWN0 OjpBY2Nlc3NpYmxlT2JqZWN0CkBAIC05MCw3ICs5MCw3IEBAIHB1YmxpYzoK ICAgc3RhdGljIDo6amF2YTo6bGFuZzo6Q2xhc3MgY2xhc3MkOwogCiAgIGZy aWVuZCBqZmllbGRJRCAoOjpfSnZfRnJvbVJlZmxlY3RlZEZpZWxkKSAoamF2 YTo6bGFuZzo6cmVmbGVjdDo6RmllbGQgKik7Ci0gIGZyaWVuZCBqb2JqZWN0 ICg6Ol9Kdl9KTklfVG9SZWZsZWN0ZWRGaWVsZCkgKF9Kdl9KTklFbnYqLCBq Y2xhc3MsIGpmaWVsZElELCBqYm9vbGVhbik7CisgIGZyaWVuZCBqb2JqZWN0 IEpOSUNBTEwgKDo6X0p2X0pOSV9Ub1JlZmxlY3RlZEZpZWxkKSAoX0p2X0pO SUVudiosIGpjbGFzcywgamZpZWxkSUQsIGpib29sZWFuKTsKICAgZnJpZW5k IGNsYXNzIGphdmE6Omxhbmc6OkNsYXNzOwogICBmcmllbmQgam9iamVjdCAo OjpfSnZfZ2V0RmllbGRJbnRlcm5hbCkgKGphdmE6Omxhbmc6OnJlZmxlY3Q6 OkZpZWxkICpmLCBqY2xhc3MgYywgam9iamVjdCBvKTsKIH07CkluZGV4OiBn Y2MtaGVhZC9saWJqYXZhL3N5c2RlcC9pMzg2L2JhY2t0cmFjZS5oCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tIGdjYy1oZWFkLm9yaWcvbGliamF2YS9z eXNkZXAvaTM4Ni9iYWNrdHJhY2UuaAorKysgZ2NjLWhlYWQvbGliamF2YS9z eXNkZXAvaTM4Ni9iYWNrdHJhY2UuaApAQCAtMTcsNyArMTcsMTAgQEAgZGV0 YWlscy4gICovCiAvKiBUbyBhbGxvdyB0aGlzIHRvIGxpbmsgYXMgYSBETEwu ICAqLwogI2RlZmluZSBNQUlOX0ZVTkMgZGxsX2NydDBfX0ZQMTFwZXJfcHJv Y2VzcwogZXh0ZXJuICJDIiBpbnQgTUFJTl9GVU5DICgpIF9fZGVjbHNwZWMo ZGxsaW1wb3J0KTsKLSNlbHNlIC8qICFfX0NZR1dJTl9fICovCisjZWxpZiBk ZWZpbmVkIChfV0lOMzIpCisjZGVmaW5lIE1BSU5fRlVOQyBEbGxNYWluCitl eHRlcm4gIkMiIGludCBfX3N0ZGNhbGwgTUFJTl9GVU5DICh2b2lkICosIHVu c2lnbmVkIGxvbmcsIHZvaWQgKik7CisjZWxzZSAvKiAhX19DWUdXSU5fXyAm JiAhX1dJTjMyICovCiAjZGVmaW5lIE1BSU5fRlVOQyBtYWluCiBleHRlcm4g aW50IE1BSU5fRlVOQyAoaW50LCBjaGFyICoqKTsKICNlbmRpZiAvKiA/X19D WUdXSU5fXyAqLwo= --000e0cd6b216a8c12404a040f4d6--