Oops, forget to CC the list. Chris ---------- Forwarded message ---------- From: Chris Li <sparse@xxxxxxxxxxx> Date: Wed, Sep 3, 2008 at 6:08 PM Subject: Re: [PATCH 0/10] Sparse linker To: alexey.zaytsev@xxxxxxxxx On Wed, Sep 3, 2008 at 2:55 PM, <alexey.zaytsev@xxxxxxxxx> wrote: > more on the subject, I now agree that we should include the > intermediate code representation into the object files. Good. > for this is a four byte overhead prepended to every > serializable structure by the allocation wrapper. Also, you I would rather not have that 4 byte prepended to every structure. Serialize is just one short stage of the life cycle of those c structures. Having the permanent extra space for just that is unnecessary. That 4 bytes meta data also limits what C structure you can work on. All you need is being able to map a point into some serialize object to keep track which object is tracked and which one is not. After you serialized the data. The meta data can be drop completely. So the price to pay is for every unknown object pointer, you need to do a dictionary look up. Only during the dumping stage. But that price is actually very small, when you dumping objects. You are mostly limit by the disk any way. The plus side is: you can work with any objects. You don't need to waste extra memory for serialization when you are not doing serialization. You can leave the object allocation code unchanged. > have to use a macro when declaring a serializable structure > (or an array of such) statically. One limitation I was unable > to overcome is the inability to work with structures used both > stand-alone and embedded into bigger ones. Luckily, we have no Like the ctype member inside the "struct symbol"? > list and serializing it [PATCH 07]. The linker needs to dlopen Do you use the stander share library for dlopen and dynamic linking the sparse objects? > the input "sparse objects", merge the symbol lists, and > serialize the result [PATCH 08]. The generated code compilation > is handled by the cgcc, cld and car wrappers [PATCH 09]. To > look up symbols in sparse object files, a simple program is > included [PATCH 10]. Do you dump your sparse object in ELF format? Chris -- 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