[lldb-dev] More ELF work.
Greg Clayton
gclayton at apple.com
Tue Jul 13 13:40:06 PDT 2010
On Jul 13, 2010, at 1:36 PM, Stephen Wilson wrote:
> Hi Eli,
>
> Eli Friedman <eli.friedman at gmail.com> writes:
>
>> On Tue, Jul 13, 2010 at 12:39 PM, Stephen Wilson <wilsons at start.ca> wrote:
>>> - ObjectFileELF32 and ObjectFile64 are thin wrappers atop
>>> ObjectFileELF and provide the plugin interface.
>>
>> If the code is all shared, what's the justification at this point for
>> keeping the ELF32 and ELF64 readers as separate plugins? It seems
>> like it would be just as easy to have a unified ELF reader.
>
> There is no technical justification -- just a meta-level "conceptual"
> difference. But I think you are right, will rework the patch to remove
> ObjectFileELF32/64.
That sounds good.
>
>>> - With this patch and LLVM commit r108221 we can remove our local
>>> elf.h.
>>
>> Make sure you don't commit this until the llvm.zip is updated with
>> that commit. Also, the XCode project will need to be updated, but it
>> should be okay to just let someone update that post-commit.
>
> Right. Thanks for the reminder. I can remove reliance an
> llvm/Support/ELF.h for now and use the local elf.h until a new snapshot
> is taken.
No worries, leave this as is and I will update the llvm.zip with a today's llvm sources. Just watch for the llvm.zip file to be updated before you commit your changes (or post your patch if you don't have commit access).
>> +bool
>> +ELFHeader::MagicBytesMatch(const uint8_t *magic)
>> +{
>> + if (magic != NULL)
>> + return memcmp(magic, ElfMagic, strlen(ElfMagic)) == 0;
>> + return false;
>> +}
>>
>> Is it actually possible for magic to be null here?
magic currently should never be NULL when MagicBytesMatch is called.
>> Same applies to ELFHeader::AddressSizeInBytes.
Caller (I assume the only caller is the ELF plug-in itself) would need to verify that magic isn't NULL for this.
>
> I suppose it is possible that the plugin could be passed an empty
> DataBuffer. That being said, this check belongs in the CreateInstance
> function. Will fix.
>
>
> Thanks for looking this over!
>
> Steve
>
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
More information about the lldb-dev
mailing list