From owner-freebsd-hackers@FreeBSD.ORG Thu May 12 22:25:06 2011 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EEEC5106564A for ; Thu, 12 May 2011 22:25:06 +0000 (UTC) (envelope-from amitkulz@gmail.com) Received: from mail-ew0-f54.google.com (mail-ew0-f54.google.com [209.85.215.54]) by mx1.freebsd.org (Postfix) with ESMTP id 42B028FC08 for ; Thu, 12 May 2011 22:25:06 +0000 (UTC) Received: by ewy1 with SMTP id 1so776613ewy.13 for ; Thu, 12 May 2011 15:25:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:date:message-id:subject:from:to:cc :content-type; bh=7v8KFcbpxXkwCWnS36cdFeAzroLBruzgWXKYgOF25N0=; b=ip57vPREGduvPpdQpuv9I8OECDWQIKrEIlnNaox5CfBMnX1eXxqa+zajU4U8juAOrL P/4DIbVYg6UOvL1uLAhu+ku1PxGy+cr7bor1bE7U5l0h2z8RxIYRq2cTGPi/aH+d/AM4 3b8MM1e7sgSc1RFvAG8sx8rYi3+WzzV15o5VA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:cc:content-type; b=KJORiDTLKCcuVGORgPUybUFOh0CkAT93uPw7xkFzV9s5BIWh96V1nsxJ+/I+nj4vP4 ORt8+r6ApCQrUYGEeoGwe2jTHZCTLTKOTkjaIQ8JOaHoMO0eSP1X6aZ5XGZAYf2+7nFy q8Cqvl2Dv+KezXkUcyogYHkxCXOgsuAOSgQBE= MIME-Version: 1.0 Received: by 10.14.42.195 with SMTP id j43mr352788eeb.176.1305237628755; Thu, 12 May 2011 15:00:28 -0700 (PDT) Received: by 10.14.53.65 with HTTP; Thu, 12 May 2011 15:00:28 -0700 (PDT) Date: Thu, 12 May 2011 17:00:28 -0500 Message-ID: From: Amit Kulkarni To: lldb-dev@cs.uiuc.edu Content-Type: multipart/mixed; boundary=000e0cd5d0ae35a14204a31b5198 Cc: freebsd-hackers@freebsd.org, matthew@openbsd.org Subject: lldb patches for FreeBSD X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 May 2011 22:25:07 -0000 --000e0cd5d0ae35a14204a31b5198 Content-Type: text/plain; charset=ISO-8859-1 Hi, I installed FreeBSD 8.2 amd64 and trying to see how far lldb compiles, seeing as OpenBSD lacks shm_open/shm_unlink and some posix shared memory functionality right now. Note: FreeBSD 8.2 amd64 has system gcc of 4.2.1, the last GPLv2 gcc with some patches before the switch to GPLv3, if I am not mistaken. It seems FreeBSD is also affected like OpenBSD about the thread id issue discussed a month before in this thread. I am cc'ing matthew@ just to keep him in the loop. http://lists.cs.uiuc.edu/pipermail/lldb-dev/2011-April/000444.html and it was resolved to fix it like so http://lists.cs.uiuc.edu/pipermail/lldb-dev/2011-April/000452.html I don't know what should be the replacement for FreeBSD, as that particular piece of code in lldb/source/Host/common/Host.cpp is a dirty hack to allow compile to proceed. This is not okay to include otherwise. http://svnweb.FreeBSD.org/base/head/lib/libc/include/namespace.h?r1=214093&r2=218414 Can somebody from freebsd-hackers speak up? Or just give the correct diff for FreeBSD? I am stuck in this for now. I will take it up later. /stuff/llvm/tools/lldb/source/Symbol/ClangASTContext.cpp:1471: error: ISO C++ forbids variable-size array 'params' Here's what I got so far, small things all related to compile. Thanks, amit Index: include/lldb/Host/Host.h =================================================================== --- include/lldb/Host/Host.h (revision 131240) +++ include/lldb/Host/Host.h (working copy) @@ -352,6 +352,15 @@ static lldb::pid_t LaunchApplication (const FileSpec &app_file_spec); + static lldb::pid_t + LaunchInNewTerminal (const char *tty_name, + const char **argv, + const char **envp, + const char *working_dir, + const ArchSpec *arch_spec, + bool stop_at_entry, + bool disable_aslr); + static Error LaunchProcess (ProcessLaunchInfo &launch_info); Index: source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h =================================================================== --- source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h (revision 131240) +++ source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h (working copy) @@ -11,6 +11,9 @@ #define liblldb_PlatformRemoteGDBServer_h_ // C Includes +#if defined (__OpenBSD__) + #include +#endif // C++ Includes #include Index: source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h =================================================================== --- source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h (revision 131240) +++ source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h (working copy) @@ -72,7 +72,7 @@ dwarf_ymm4 = dwarf_xmm4, dwarf_ymm5 = dwarf_xmm5, dwarf_ymm6 = dwarf_xmm6, - dwarf_ymm7 = dwarf_xmm7, + dwarf_ymm7 = dwarf_xmm7 }; enum Index: source/Interpreter/OptionGroupFormat.cpp =================================================================== --- source/Interpreter/OptionGroupFormat.cpp (revision 131240) +++ source/Interpreter/OptionGroupFormat.cpp (working copy) @@ -7,7 +7,7 @@ // //===----------------------------------------------------------------------===// -#include "OptionGroupFormat.h" +#include "lldb/Interpreter/OptionGroupFormat.h" // C Includes // C++ Includes Index: source/Interpreter/OptionGroupValueObjectDisplay.cpp =================================================================== --- source/Interpreter/OptionGroupValueObjectDisplay.cpp (revision 131240) +++ source/Interpreter/OptionGroupValueObjectDisplay.cpp (working copy) @@ -7,7 +7,7 @@ // //===----------------------------------------------------------------------===// -#include "OptionGroupValueObjectDisplay.h" +#include "lldb/Interpreter/OptionGroupValueObjectDisplay.h" // C Includes // C++ Includes @@ -123,4 +123,4 @@ // If we don't have any targets, then dynamic values won't do us much good. use_dynamic = lldb::eNoDynamicValues; } -} \ No newline at end of file +} Index: source/Interpreter/OptionGroupUInt64.cpp =================================================================== --- source/Interpreter/OptionGroupUInt64.cpp (revision 131240) +++ source/Interpreter/OptionGroupUInt64.cpp (working copy) @@ -7,7 +7,7 @@ // //===----------------------------------------------------------------------===// -#include "OptionGroupUInt64.h" +#include "lldb/Interpreter/OptionGroupUInt64.h" // C Includes // C++ Includes Index: source/Interpreter/OptionGroupOutputFile.cpp =================================================================== --- source/Interpreter/OptionGroupOutputFile.cpp (revision 131240) +++ source/Interpreter/OptionGroupOutputFile.cpp (working copy) @@ -7,7 +7,7 @@ // //===----------------------------------------------------------------------===// -#include "OptionGroupOutputFile.h" +#include "lldb/Interpreter/OptionGroupOutputFile.h" // C Includes // C++ Includes Index: source/Interpreter/OptionGroupUUID.cpp =================================================================== --- source/Interpreter/OptionGroupUUID.cpp (revision 131240) +++ source/Interpreter/OptionGroupUUID.cpp (working copy) @@ -7,7 +7,7 @@ // //===----------------------------------------------------------------------===// -#include "OptionGroupUUID.h" +#include "lldb/Interpreter/OptionGroupUUID.h" // C Includes // C++ Includes Index: source/Interpreter/OptionGroupBoolean.cpp =================================================================== --- source/Interpreter/OptionGroupBoolean.cpp (revision 131240) +++ source/Interpreter/OptionGroupBoolean.cpp (working copy) @@ -7,7 +7,7 @@ // //===----------------------------------------------------------------------===// -#include "OptionGroupBoolean.h" +#include "lldb/Interpreter/OptionGroupBoolean.h" // C Includes // C++ Includes Index: source/Interpreter/OptionGroupFile.cpp =================================================================== --- source/Interpreter/OptionGroupFile.cpp (revision 131240) +++ source/Interpreter/OptionGroupFile.cpp (working copy) @@ -7,7 +7,7 @@ // //===----------------------------------------------------------------------===// -#include "OptionGroupFile.h" +#include "lldb/Interpreter/OptionGroupFile.h" // C Includes // C++ Includes Index: source/Interpreter/OptionGroupArchitecture.cpp =================================================================== --- source/Interpreter/OptionGroupArchitecture.cpp (revision 131240) +++ source/Interpreter/OptionGroupArchitecture.cpp (working copy) @@ -7,7 +7,7 @@ // //===----------------------------------------------------------------------===// -#include "OptionGroupArchitecture.h" +#include "lldb/Interpreter/OptionGroupArchitecture.h" // C Includes // C++ Includes Index: source/Host/common/Host.cpp =================================================================== --- source/Host/common/Host.cpp (revision 131240) +++ source/Host/common/Host.cpp (working copy) @@ -39,9 +39,10 @@ #include -#elif defined (__linux__) +#elif defined (__linux__) || defined (__OpenBSD__) || defined (__FreeBSD__) #include +#include #endif @@ -410,6 +411,8 @@ { #if defined (__APPLE__) return ::mach_thread_self(); +#elif defined (__OpenBSD__) || defined (__FreeBSD__) + return (uint64_t) (pthread_self()); #else return lldb::tid_t(pthread_self()); #endif Index: source/lldb.cpp =================================================================== --- source/lldb.cpp (revision 131240) +++ source/lldb.cpp (working copy) @@ -85,14 +85,14 @@ UnwindAssemblyInstEmulation::Initialize(); UnwindAssembly_x86::Initialize(); EmulateInstructionARM::Initialize (); - ABIMacOSX_i386::Initialize(); - ABIMacOSX_arm::Initialize(); - ABISysV_x86_64::Initialize(); #if defined (__APPLE__) //---------------------------------------------------------------------- // Apple/Darwin hosted plugins //---------------------------------------------------------------------- + ABIMacOSX_i386::Initialize(); + ABIMacOSX_arm::Initialize(); + ABISysV_x86_64::Initialize(); DynamicLoaderMacOSXDYLD::Initialize(); SymbolFileDWARFDebugMap::Initialize(); ItaniumABILanguageRuntime::Initialize(); @@ -152,11 +152,11 @@ UnwindAssembly_x86::Terminate(); UnwindAssemblyInstEmulation::Terminate(); EmulateInstructionARM::Terminate (); + +#if defined (__APPLE__) ABIMacOSX_i386::Terminate(); ABIMacOSX_arm::Terminate(); ABISysV_x86_64::Terminate(); - -#if defined (__APPLE__) DynamicLoaderMacOSXDYLD::Terminate(); SymbolFileDWARFDebugMap::Terminate(); ItaniumABILanguageRuntime::Terminate(); --000e0cd5d0ae35a14204a31b5198 Content-Type: application/octet-stream; name="lldb.diff" Content-Disposition: attachment; filename="lldb.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gnmj6p2u0 SW5kZXg6IGluY2x1ZGUvbGxkYi9Ib3N0L0hvc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBpbmNsdWRlL2xs ZGIvSG9zdC9Ib3N0LmgJKHJldmlzaW9uIDEzMTI0MCkKKysrIGluY2x1ZGUvbGxkYi9Ib3N0L0hv c3QuaAkod29ya2luZyBjb3B5KQpAQCAtMzUyLDYgKzM1MiwxNSBAQAogICAgIHN0YXRpYyBsbGRi OjpwaWRfdAogICAgIExhdW5jaEFwcGxpY2F0aW9uIChjb25zdCBGaWxlU3BlYyAmYXBwX2ZpbGVf c3BlYyk7CiAKKyAgICBzdGF0aWMgbGxkYjo6cGlkX3QKKyAgICBMYXVuY2hJbk5ld1Rlcm1pbmFs IChjb25zdCBjaGFyICp0dHlfbmFtZSwKKwkJIAljb25zdCBjaGFyICoqYXJndiwKKwkJIAljb25z dCBjaGFyICoqZW52cCwKKwkJIAljb25zdCBjaGFyICp3b3JraW5nX2RpciwKKwkJCWNvbnN0IEFy Y2hTcGVjICphcmNoX3NwZWMsCisJCQlib29sIHN0b3BfYXRfZW50cnksCisJCQlib29sIGRpc2Fi bGVfYXNscik7CisKICAgICBzdGF0aWMgRXJyb3IKICAgICBMYXVuY2hQcm9jZXNzIChQcm9jZXNz TGF1bmNoSW5mbyAmbGF1bmNoX2luZm8pOwogICAgIApJbmRleDogc291cmNlL1BsdWdpbnMvUGxh dGZvcm0vZ2RiLXNlcnZlci9QbGF0Zm9ybVJlbW90ZUdEQlNlcnZlci5oCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t IHNvdXJjZS9QbHVnaW5zL1BsYXRmb3JtL2dkYi1zZXJ2ZXIvUGxhdGZvcm1SZW1vdGVHREJTZXJ2 ZXIuaAkocmV2aXNpb24gMTMxMjQwKQorKysgc291cmNlL1BsdWdpbnMvUGxhdGZvcm0vZ2RiLXNl cnZlci9QbGF0Zm9ybVJlbW90ZUdEQlNlcnZlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMSw2ICsx MSw5IEBACiAjZGVmaW5lIGxpYmxsZGJfUGxhdGZvcm1SZW1vdGVHREJTZXJ2ZXJfaF8KIAogLy8g QyBJbmNsdWRlcworI2lmIGRlZmluZWQgKF9fT3BlbkJTRF9fKQorICAjaW5jbHVkZSA8c3lzL3Bh cmFtLmg+CisjZW5kaWYKIC8vIEMrKyBJbmNsdWRlcwogI2luY2x1ZGUgPHN0cmluZz4KIApJbmRl eDogc291cmNlL1BsdWdpbnMvQUJJL01hY09TWC1pMzg2L0FCSU1hY09TWF9pMzg2LmgKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gc291cmNlL1BsdWdpbnMvQUJJL01hY09TWC1pMzg2L0FCSU1hY09TWF9pMzg2LmgJ KHJldmlzaW9uIDEzMTI0MCkKKysrIHNvdXJjZS9QbHVnaW5zL0FCSS9NYWNPU1gtaTM4Ni9BQklN YWNPU1hfaTM4Ni5oCSh3b3JraW5nIGNvcHkpCkBAIC03Miw3ICs3Miw3IEBACiAgICAgICAgIGR3 YXJmX3ltbTQgPSBkd2FyZl94bW00LAogICAgICAgICBkd2FyZl95bW01ID0gZHdhcmZfeG1tNSwK ICAgICAgICAgZHdhcmZfeW1tNiA9IGR3YXJmX3htbTYsCi0gICAgICAgIGR3YXJmX3ltbTcgPSBk d2FyZl94bW03LAorICAgICAgICBkd2FyZl95bW03ID0gZHdhcmZfeG1tNwogICAgIH07CiAgICAg CiAgICAgZW51bQpJbmRleDogc291cmNlL0ludGVycHJldGVyL09wdGlvbkdyb3VwRm9ybWF0LmNw cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLSBzb3VyY2UvSW50ZXJwcmV0ZXIvT3B0aW9uR3JvdXBGb3JtYXQuY3Bw CShyZXZpc2lvbiAxMzEyNDApCisrKyBzb3VyY2UvSW50ZXJwcmV0ZXIvT3B0aW9uR3JvdXBGb3Jt YXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03LDcgKzcsNyBAQAogLy8KIC8vPT09LS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLT09PS8vCiAKLSNpbmNsdWRlICJPcHRpb25Hcm91cEZvcm1hdC5oIgorI2luY2x1ZGUgImxs ZGIvSW50ZXJwcmV0ZXIvT3B0aW9uR3JvdXBGb3JtYXQuaCIKIAogLy8gQyBJbmNsdWRlcwogLy8g QysrIEluY2x1ZGVzCkluZGV4OiBzb3VyY2UvSW50ZXJwcmV0ZXIvT3B0aW9uR3JvdXBWYWx1ZU9i amVjdERpc3BsYXkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHNvdXJjZS9JbnRlcnByZXRlci9PcHRpb25H cm91cFZhbHVlT2JqZWN0RGlzcGxheS5jcHAJKHJldmlzaW9uIDEzMTI0MCkKKysrIHNvdXJjZS9J bnRlcnByZXRlci9PcHRpb25Hcm91cFZhbHVlT2JqZWN0RGlzcGxheS5jcHAJKHdvcmtpbmcgY29w eSkKQEAgLTcsNyArNyw3IEBACiAvLwogLy89PT0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPT09Ly8KIAotI2luY2x1 ZGUgIk9wdGlvbkdyb3VwVmFsdWVPYmplY3REaXNwbGF5LmgiCisjaW5jbHVkZSAibGxkYi9JbnRl cnByZXRlci9PcHRpb25Hcm91cFZhbHVlT2JqZWN0RGlzcGxheS5oIgogCiAvLyBDIEluY2x1ZGVz CiAvLyBDKysgSW5jbHVkZXMKQEAgLTEyMyw0ICsxMjMsNCBAQAogICAgICAgICAvLyBJZiB3ZSBk b24ndCBoYXZlIGFueSB0YXJnZXRzLCB0aGVuIGR5bmFtaWMgdmFsdWVzIHdvbid0IGRvIHVzIG11 Y2ggZ29vZC4KICAgICAgICAgdXNlX2R5bmFtaWMgPSBsbGRiOjplTm9EeW5hbWljVmFsdWVzOwog ICAgIH0KLX0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9CkluZGV4OiBzb3VyY2UvSW50 ZXJwcmV0ZXIvT3B0aW9uR3JvdXBVSW50NjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHNvdXJjZS9JbnRl cnByZXRlci9PcHRpb25Hcm91cFVJbnQ2NC5jcHAJKHJldmlzaW9uIDEzMTI0MCkKKysrIHNvdXJj ZS9JbnRlcnByZXRlci9PcHRpb25Hcm91cFVJbnQ2NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcs NyArNyw3IEBACiAvLwogLy89PT0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPT09Ly8KIAotI2luY2x1ZGUgIk9wdGlv bkdyb3VwVUludDY0LmgiCisjaW5jbHVkZSAibGxkYi9JbnRlcnByZXRlci9PcHRpb25Hcm91cFVJ bnQ2NC5oIgogCiAvLyBDIEluY2x1ZGVzCiAvLyBDKysgSW5jbHVkZXMKSW5kZXg6IHNvdXJjZS9J bnRlcnByZXRlci9PcHRpb25Hcm91cE91dHB1dEZpbGUuY3BwCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHNvdXJj ZS9JbnRlcnByZXRlci9PcHRpb25Hcm91cE91dHB1dEZpbGUuY3BwCShyZXZpc2lvbiAxMzEyNDAp CisrKyBzb3VyY2UvSW50ZXJwcmV0ZXIvT3B0aW9uR3JvdXBPdXRwdXRGaWxlLmNwcAkod29ya2lu ZyBjb3B5KQpAQCAtNyw3ICs3LDcgQEAKIC8vCiAvLz09PS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS09PT0vLwogCi0j aW5jbHVkZSAiT3B0aW9uR3JvdXBPdXRwdXRGaWxlLmgiCisjaW5jbHVkZSAibGxkYi9JbnRlcnBy ZXRlci9PcHRpb25Hcm91cE91dHB1dEZpbGUuaCIKIAogLy8gQyBJbmNsdWRlcwogLy8gQysrIElu Y2x1ZGVzCkluZGV4OiBzb3VyY2UvSW50ZXJwcmV0ZXIvT3B0aW9uR3JvdXBVVUlELmNwcAo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLSBzb3VyY2UvSW50ZXJwcmV0ZXIvT3B0aW9uR3JvdXBVVUlELmNwcAkocmV2aXNp b24gMTMxMjQwKQorKysgc291cmNlL0ludGVycHJldGVyL09wdGlvbkdyb3VwVVVJRC5jcHAJKHdv cmtpbmcgY29weSkKQEAgLTcsNyArNyw3IEBACiAvLwogLy89PT0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPT09Ly8K IAotI2luY2x1ZGUgIk9wdGlvbkdyb3VwVVVJRC5oIgorI2luY2x1ZGUgImxsZGIvSW50ZXJwcmV0 ZXIvT3B0aW9uR3JvdXBVVUlELmgiCiAKIC8vIEMgSW5jbHVkZXMKIC8vIEMrKyBJbmNsdWRlcwpJ bmRleDogc291cmNlL0ludGVycHJldGVyL09wdGlvbkdyb3VwQm9vbGVhbi5jcHAKPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0gc291cmNlL0ludGVycHJldGVyL09wdGlvbkdyb3VwQm9vbGVhbi5jcHAJKHJldmlzaW9u IDEzMTI0MCkKKysrIHNvdXJjZS9JbnRlcnByZXRlci9PcHRpb25Hcm91cEJvb2xlYW4uY3BwCSh3 b3JraW5nIGNvcHkpCkBAIC03LDcgKzcsNyBAQAogLy8KIC8vPT09LS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT09PS8v CiAKLSNpbmNsdWRlICJPcHRpb25Hcm91cEJvb2xlYW4uaCIKKyNpbmNsdWRlICJsbGRiL0ludGVy cHJldGVyL09wdGlvbkdyb3VwQm9vbGVhbi5oIgogCiAvLyBDIEluY2x1ZGVzCiAvLyBDKysgSW5j bHVkZXMKSW5kZXg6IHNvdXJjZS9JbnRlcnByZXRlci9PcHRpb25Hcm91cEZpbGUuY3BwCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tIHNvdXJjZS9JbnRlcnByZXRlci9PcHRpb25Hcm91cEZpbGUuY3BwCShyZXZpc2lv biAxMzEyNDApCisrKyBzb3VyY2UvSW50ZXJwcmV0ZXIvT3B0aW9uR3JvdXBGaWxlLmNwcAkod29y a2luZyBjb3B5KQpAQCAtNyw3ICs3LDcgQEAKIC8vCiAvLz09PS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS09PT0vLwog Ci0jaW5jbHVkZSAiT3B0aW9uR3JvdXBGaWxlLmgiCisjaW5jbHVkZSAibGxkYi9JbnRlcnByZXRl ci9PcHRpb25Hcm91cEZpbGUuaCIKIAogLy8gQyBJbmNsdWRlcwogLy8gQysrIEluY2x1ZGVzCklu ZGV4OiBzb3VyY2UvSW50ZXJwcmV0ZXIvT3B0aW9uR3JvdXBBcmNoaXRlY3R1cmUuY3BwCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tIHNvdXJjZS9JbnRlcnByZXRlci9PcHRpb25Hcm91cEFyY2hpdGVjdHVyZS5jcHAJ KHJldmlzaW9uIDEzMTI0MCkKKysrIHNvdXJjZS9JbnRlcnByZXRlci9PcHRpb25Hcm91cEFyY2hp dGVjdHVyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcsNyArNyw3IEBACiAvLwogLy89PT0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tPT09Ly8KIAotI2luY2x1ZGUgIk9wdGlvbkdyb3VwQXJjaGl0ZWN0dXJlLmgiCisj aW5jbHVkZSAibGxkYi9JbnRlcnByZXRlci9PcHRpb25Hcm91cEFyY2hpdGVjdHVyZS5oIgogCiAv LyBDIEluY2x1ZGVzCiAvLyBDKysgSW5jbHVkZXMKSW5kZXg6IHNvdXJjZS9Ib3N0L2NvbW1vbi9I b3N0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLSBzb3VyY2UvSG9zdC9jb21tb24vSG9zdC5jcHAJKHJldmlz aW9uIDEzMTI0MCkKKysrIHNvdXJjZS9Ib3N0L2NvbW1vbi9Ib3N0LmNwcAkod29ya2luZyBjb3B5 KQpAQCAtMzksOSArMzksMTAgQEAKICNpbmNsdWRlIDxzeXMvc3lzY3RsLmg+CiAKIAotI2VsaWYg ZGVmaW5lZCAoX19saW51eF9fKQorI2VsaWYgZGVmaW5lZCAoX19saW51eF9fKSB8fCBkZWZpbmVk IChfX09wZW5CU0RfXykgfHwgZGVmaW5lZCAoX19GcmVlQlNEX18pCiAKICNpbmNsdWRlIDxzeXMv d2FpdC5oPgorI2luY2x1ZGUgPHN5cy9zeXNjdGwuaD4KIAogI2VuZGlmCiAKQEAgLTQxMCw2ICs0 MTEsOCBAQAogewogI2lmIGRlZmluZWQgKF9fQVBQTEVfXykKICAgICByZXR1cm4gOjptYWNoX3Ro cmVhZF9zZWxmKCk7CisjZWxpZiBkZWZpbmVkIChfX09wZW5CU0RfXykgfHwgZGVmaW5lZCAoX19G cmVlQlNEX18pCisgICAgcmV0dXJuICh1aW50NjRfdCkgKHB0aHJlYWRfc2VsZigpKTsKICNlbHNl CiAgICAgcmV0dXJuIGxsZGI6OnRpZF90KHB0aHJlYWRfc2VsZigpKTsKICNlbmRpZgpJbmRleDog c291cmNlL2xsZGIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHNvdXJjZS9sbGRiLmNwcAkocmV2aXNpb24g MTMxMjQwKQorKysgc291cmNlL2xsZGIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NSwxNCArODUs MTQgQEAKICAgICAgICAgVW53aW5kQXNzZW1ibHlJbnN0RW11bGF0aW9uOjpJbml0aWFsaXplKCk7 CiAgICAgICAgIFVud2luZEFzc2VtYmx5X3g4Njo6SW5pdGlhbGl6ZSgpOwogICAgICAgICBFbXVs YXRlSW5zdHJ1Y3Rpb25BUk06OkluaXRpYWxpemUgKCk7Ci0gICAgICAgIEFCSU1hY09TWF9pMzg2 OjpJbml0aWFsaXplKCk7Ci0gICAgICAgIEFCSU1hY09TWF9hcm06OkluaXRpYWxpemUoKTsKLSAg ICAgICAgQUJJU3lzVl94ODZfNjQ6OkluaXRpYWxpemUoKTsKIAogI2lmIGRlZmluZWQgKF9fQVBQ TEVfXykKICAgICAgICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgIC8vIEFwcGxlL0RhcndpbiBo b3N0ZWQgcGx1Z2lucwogICAgICAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgICAgQUJJTWFjT1NY X2kzODY6OkluaXRpYWxpemUoKTsKKyAgICAgICAgQUJJTWFjT1NYX2FybTo6SW5pdGlhbGl6ZSgp OworICAgICAgICBBQklTeXNWX3g4Nl82NDo6SW5pdGlhbGl6ZSgpOwogICAgICAgICBEeW5hbWlj TG9hZGVyTWFjT1NYRFlMRDo6SW5pdGlhbGl6ZSgpOwogICAgICAgICBTeW1ib2xGaWxlRFdBUkZE ZWJ1Z01hcDo6SW5pdGlhbGl6ZSgpOwogICAgICAgICBJdGFuaXVtQUJJTGFuZ3VhZ2VSdW50aW1l OjpJbml0aWFsaXplKCk7CkBAIC0xNTIsMTEgKzE1MiwxMSBAQAogICAgIFVud2luZEFzc2VtYmx5 X3g4Njo6VGVybWluYXRlKCk7CiAgICAgVW53aW5kQXNzZW1ibHlJbnN0RW11bGF0aW9uOjpUZXJt aW5hdGUoKTsKICAgICBFbXVsYXRlSW5zdHJ1Y3Rpb25BUk06OlRlcm1pbmF0ZSAoKTsKKworI2lm IGRlZmluZWQgKF9fQVBQTEVfXykKICAgICBBQklNYWNPU1hfaTM4Njo6VGVybWluYXRlKCk7CiAg ICAgQUJJTWFjT1NYX2FybTo6VGVybWluYXRlKCk7CiAgICAgQUJJU3lzVl94ODZfNjQ6OlRlcm1p bmF0ZSgpOwotCi0jaWYgZGVmaW5lZCAoX19BUFBMRV9fKQogICAgIER5bmFtaWNMb2FkZXJNYWNP U1hEWUxEOjpUZXJtaW5hdGUoKTsKICAgICBTeW1ib2xGaWxlRFdBUkZEZWJ1Z01hcDo6VGVybWlu YXRlKCk7CiAgICAgSXRhbml1bUFCSUxhbmd1YWdlUnVudGltZTo6VGVybWluYXRlKCk7Cg== --000e0cd5d0ae35a14204a31b5198--