Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 May 2011 17:00:28 -0500
From:      Amit Kulkarni <amitkulz@gmail.com>
To:        lldb-dev@cs.uiuc.edu
Cc:        freebsd-hackers@freebsd.org, matthew@openbsd.org
Subject:   lldb patches for FreeBSD
Message-ID:  <BANLkTimK7=j8UV5XR8kcF8YkXY63ZVmCAw@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
--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 <sys/param.h>
+#endif
 // C++ Includes
 #include <string>

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 <sys/sysctl.h>


-#elif defined (__linux__)
+#elif defined (__linux__) || defined (__OpenBSD__) || defined (__FreeBSD__)

 #include <sys/wait.h>
+#include <sys/sysctl.h>

 #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--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BANLkTimK7=j8UV5XR8kcF8YkXY63ZVmCAw>