On 11/11/2015 03:34 PM, Mark Hatle wrote:
Also has anyone looked at the .typelib information and determined if any of it is available via direct inspection via readelf, dwarf interpretation or other method that does not require execution? Is there a definition of the .typelib information anywhere and some simple examples of how its generated by the runtime objects? (To pursue this, the way forward is to determine a way to generate the .typelib by reading the chosen binaries in some way -- and then running a 'ptest' like check that the generated and runtime versions result in the same data.)
You can simply take a look at any of the .gir files: they are XMLs that are used to generate typelibs and contain essentially the same information.
I think it's totally unrealistic to extract all the high-level OOP semantics from .so libraries with readelf and friends.
For instance, gstreamer pipelines: <class name="Bin" c:symbol-prefix="bin" c:type="GstBin" parent="Element" glib:type-name="GstBin" glib:get-type="gst_bin_get_type" glib:type-struct="BinClass"> <implements name="ChildProxy"/> <constructor name="new" c:identifier="gst_bin_new"> <return-value transfer-ownership="none"> <type name="Element" c:type="GstElement*"/> </return-value> <parameters> <parameter name="name" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve">the name of the new bin</doc> <type name="utf8" c:type="const gchar*"/> </parameter> </parameters> </constructor> <virtual-method name="add_element"> <return-value transfer-ownership="none"> <type name="gboolean" c:type="gboolean"/> </return-value> <parameters> ... etc etc etc. Alex -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core