This is the second patch to improve module loading in a series that started here (where I explain the motivation and solution): https://reviews.llvm.org/D62499
I need to read the aux vector to know where the r_debug map with the loaded libraries are.
We already have a AuxVector class beloging to the POSIX-DYLD plugin but I didn't want to link that lib in. That class also depends on a Process instance which I don't have. I created a new ELFAuxVector that receives a DataExtractor so the data could be really coming from anywhere.
I'm not sure if this is the best way to do this, but I do think that a class that only depends on a DataExtractor makes sense. I can get rid of the AuxVector class and use the ELFAuxVector in the POSIX-DYLD (it's really only used in one place) but that also means that we'll have plugins depending on each other and I'm not sure if that's ok. That's the reason why I haven't done this yet.