Greg is out on vacation for a week. This looks fairly straightforward. There used to be architectures with weird byte sizes like 9 or 12 bits - gdb had some support for this. Choosing to express the number of bits per byte as a multiple of 8 makes it impossible to support this situation. OTOH I'm not sure how much that matters now-a-days.
Jim > On Sep 26, 2014, at 6:33 AM, Matthew Gardiner <[email protected]> wrote: > > Hi clayborg, tfiala, > > This diff contains some initial work in getting lldb to debug non-8-bit byte > architectures (currently only CSRs kalimba 5 architecture). I appreciate that > it won't interest non-CSR people greatly but I thought it polite to place up > for review prior to commit. > > Key points: > * target_byte_size is added to DataExtractor for subsequent use as a > formatting hint > * target_byte_size is added to Section class, since section sizes are in host > bytes, and hence a multiplier is required to calculate correct offsets > * ObjectFileELF.cpp slightly modified to create sections with correct > bytesize (kalimba annoyingly has differing bytesizes in code and data) > * ObjectFile.cpp ReadSection modified regarding bytesizes and offsets > * CommandObjectMemory changed can to allocate larger read buffers for > mentioned architectures and to advise DataExtractor accordingly > * DataExtractor when printing bytes, consume target_byte_size number of bytes > from host buffer for each byte printed. > > Other changes in the diff: > * removal eCore_kalimba enumerant (specify each kalimba variant separately) > * support better recognition of kalimba3/4/5 > * In ArchSpec lie about kalimba 24-bit bytes. Say they are 32-bit since > 24-bit bytes are much harder to express on regular Intel PC platforms etc. > > This diff is very, very minimal regarding getting non-8-bit byte > architectures supported in lldb. However, for me, the only practical way is > to work incrementally - lldb is far too big to change in one go, in this > area. For example, only the count option is currently supported for memory > read, I've not looked in any depth at -f format options. > > http://reviews.llvm.org/D5503 > > Files: > include/lldb/Core/ArchSpec.h > include/lldb/Core/DataExtractor.h > include/lldb/Core/Section.h > source/Commands/CommandObjectMemory.cpp > source/Core/ArchSpec.cpp > source/Core/DataExtractor.cpp > source/Core/Section.cpp > source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp > source/Plugins/Platform/Kalimba/PlatformKalimba.cpp > source/Symbol/ObjectFile.cpp > <D5503.14112.patch>_______________________________________________ > lldb-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits _______________________________________________ lldb-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits
