[lldb-dev] [Bug 16526] New: New API to scan executable for architectures before creating a target
Greg Clayton
gclayton at apple.com
Mon Jul 8 10:48:18 PDT 2013
Your change currently allows architectures to be enumerated, but not .o files in a .a file. If you look closely at what the internal code is doing when it enumerates the module specifications, it can get a list of all architectures _and_ all .o files. If we expose this publicly, I would rather see a new SBModuleSpec and SBModuleSpecList class be created, and then we should be able to add a static function to SBModule that returns a SBModuleSpecList:
static SBModuleSpecList
SBModule::GetModuleSpecifications (const char *path);
This way we could take a universal .a file and get back a bunch of SBModuleSpec objects that represent the arch/objects in the .a file. Then we would need to have a function on SBTarget to add a module to a target using a SBModuleSpec.
Greg
On Jul 5, 2013, at 12:31 PM, meeloo at gmail.com wrote:
> Hi,
>
> Is there something I should do to have this patch proposal reviewed?
>
> Thanks,
>
> S.
>
> On Jul 2, 2013, at 19:47 , bugzilla-daemon at llvm.org wrote:
>
>> Bug ID 16526
>> Summary New API to scan executable for architectures before creating a target
>> Product lldb
>> Version unspecified
>> Hardware All
>> OS All
>> Status NEW
>> Severity enhancement
>> Priority P
>> Component All Bugs
>> Assignee lldb-dev at cs.uiuc.edu
>> Reporter meeloo at meeloo.net
>> Classification Unclassified
>>
>> Created attachment 10807 [details]
>>
>> Diff to add lldb::SBDebugger::GetAvailableArchsFromFile
>>
>> As I haven't found a way to scan available architectures from executables I'd
>> like to add that to the API. For now the only way to do somehow do that is to
>> loop over all known archs and try to create the SBTarget. Depending on its
>> success we mark the arch as valid or not. As you can guess this is very slow
>> and can be made mauch better as lldb already has all the code needed to get
>> this information without loading the full target.
>>
>> The public API for this could be added to SBDebugger:
>> static lldb::SBStringList lldb::SBDebugger::GetAvailableArchsFromFile(const
>> char* filename);
>>
>> I have attached a patch implementing this feature.
>>
>> Cheers,
>>
>> S.
>>
>>
>> You are receiving this mail because:
>> • You are the assignee for the bug.
>> _______________________________________________
>> lldb-dev mailing list
>> lldb-dev at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>
> _______________________________________________
> 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