Hey Tong,
I think the intent here was simply a mistake of forgetting a reference.
Let's go with a simpler fix:
Index: source/Plugins/Process/Utility/RegisterContextLinux_x86_64.cpp
===================================================================
--- source/Plugins/Process/Utility/RegisterContextLinux_x86_64.cpp (revision
215418)
+++ source/Plugins/Process/Utility/RegisterContextLinux_x86_64.cpp (working
copy)
@@ -90,7 +90,7 @@
static const RegisterInfo *
GetRegisterInfo_i386(const lldb_private::ArchSpec &arch)
{
- static std::vector<lldb_private::RegisterInfo> g_register_infos
(GetPrivateRegisterInfoVector ());
+ std::vector<lldb_private::RegisterInfo> &g_register_infos =
GetPrivateRegisterInfoVector ();
// Allocate RegisterInfo only once
if (g_register_infos.empty())
This removes the need for the global destructor and doesn't pay a price if
that register info type is never hit.
Can you verify if this patch still fixes the issue? If so, I'd rather go
with this.
Thanks!
-Todd
On Mon, Aug 11, 2014 at 3:43 PM, Tong Shen <[email protected]> wrote:
> Hi,
>
> This patch fixes assertion for i386 process on x86_64 linux host.
> Static variables with the same name in different functions are different
> variables.
>
> --
> Best Regards, Tong Shen
>
> _______________________________________________
> lldb-commits mailing list
> [email protected]
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits
>
>
--
Todd Fiala | Software Engineer | [email protected] | 650-943-3180
Index: source/Plugins/Process/Utility/RegisterContextLinux_x86_64.cpp
===================================================================
--- source/Plugins/Process/Utility/RegisterContextLinux_x86_64.cpp
(revision 215418)
+++ source/Plugins/Process/Utility/RegisterContextLinux_x86_64.cpp
(working copy)
@@ -90,7 +90,7 @@
static const RegisterInfo *
GetRegisterInfo_i386(const lldb_private::ArchSpec &arch)
{
- static std::vector<lldb_private::RegisterInfo> g_register_infos
(GetPrivateRegisterInfoVector ());
+ std::vector<lldb_private::RegisterInfo> &g_register_infos =
GetPrivateRegisterInfoVector ();
// Allocate RegisterInfo only once
if (g_register_infos.empty())
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits