Todd Fiala wrote:
Matthew,
Your patch looks good to me. I would like Greg and/or Ed to have a
look at it too. If they don’t object, I can submit it.
I ran tests on Linux and MacOSX with the patch applied (with a slight
indentation fix to the patch to fix some kind of strange spacing in my
Chrome browser with this line:
|arch_spec.GetTriple().setVendorName(Host::GetVendorString().GetCString());
|
The tests came back clean.
Cool, however a better patch may be to prevent
ObjectFileELF::GetArchitecture from calling ParseSectionHeaders again. I
do allude to this in my last email on this thread. I've attached a patch
for doing this. Hopefully we can submit either this or my earlier one.
(But I think this one is best :-).
Matt
Index: source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
===================================================================
--- source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp (revision 212686)
+++ source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp (working copy)
@@ -2569,8 +2569,11 @@
if (!ParseHeader())
return false;
- // Allow elf notes to be parsed which may affect the detected
architecture.
- ParseSectionHeaders();
+ if (m_section_headers.empty())
+ {
+ // Allow elf notes to be parsed which may affect the detected
architecture.
+ ParseSectionHeaders();
+ }
arch = m_arch_spec;
return true;
Member of the CSR plc group of companies. CSR plc registered in England and
Wales, registered number 4187346, registered office Churchill House, Cambridge
Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom
More information can be found at www.csr.com. Keep up to date with CSR on our
technical blog, www.csr.com/blog, CSR people blog, www.csr.com/people, YouTube,
www.youtube.com/user/CSRplc, Facebook,
www.facebook.com/pages/CSR/191038434253534, or follow us on Twitter at
www.twitter.com/CSR_plc.
New for 2014, you can now access the wide range of products powered by aptX at
www.aptx.com.
Index: source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
===================================================================
--- source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp (revision 212686)
+++ source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp (working copy)
@@ -2569,8 +2569,11 @@
if (!ParseHeader())
return false;
- // Allow elf notes to be parsed which may affect the detected architecture.
- ParseSectionHeaders();
+ if (m_section_headers.empty())
+ {
+ // Allow elf notes to be parsed which may affect the detected architecture.
+ ParseSectionHeaders();
+ }
arch = m_arch_spec;
return true;
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits