On Thu, Sep 4, 2008 at 11:27 AM, Christopher Li <sparse@xxxxxxxxxxx> wrote: > On Wed, Sep 3, 2008 at 9:03 PM, Alexey Zaytsev <alexey.zaytsev@xxxxxxxxx> wrote: >> If I understand the question right, no. Every "sparse object" .so has a >> "struct ptr_list *symbols" entry (in fact, the only non-static entry) that >> points to the serialized ptr list of the "struct sold_symbol". The linker >> dlopen()'s the .so and hooks to the entry, for every input object file. >> After that, it simply calls ptr_list_concat() on the opened symbol lists, >> and serializes the resulting combined list. There is of course nothing >> wrong if we modify the data obtained from the .so, as it is cow-mmaped. > ... >> Well, I serialize the data into C, and then compile it into .so, if >> that was the question. You might want to apply the first patch >> and look at the serialization-test output. > > OK. I just realized that you are building a completely different kind > of "linker" than I have in mind. > > Generate C source file and let gcc to compile and link it is an > interesting idea. But I think it is a step back wards. > No, that's not how it works. ;) Please compile and run the code. And look at what is actually generated. Or wait a bit, I'll try to describe the serialization process in more detail. -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html