Re: where are my symbols?
Danny wrote: > Gerrit wrote: >> Hello, >> >> I see the following: >> >> I link four objects togehter in a DLL: >> gcc -shared -o .libs/cyggconfbackend-oldxml.dll \ >> -Wl,--out-implib,.libs/libgconfbackend-oldxml.dll.a \ >> .libs/xml-cache.o .libs/xml-dir.o .libs/xml-entry.o \ >> .libs/xml-backend.o ${LIBS} >> >> Now I get this in the import library: >> $ nm .libs/libgconfbackend-oldxml.dll.a | grep ' T ' >> T _gconf_backend_get_vtable >> T _g_module_check_init >> > < snip > >> >> It seems that only the symbols from the fourth object have arrived in >> the library. What is going on here and how can I track this down? >> > Are the two symbols in fourth object marked as dllexport. This will > override > --export-all, so you may need to add that switch explicitly. Yep, correct: G_MODULE_EXPORT const gchar* g_module_check_init (GModule *module) { gconf_log(GCL_DEBUG, _("Initializing XML backend module")); LIBXML_TEST_VERSION; xmlKeepBlanksDefault(1); return NULL; } G_MODULE_EXPORT GConfBackendVTable* gconf_backend_get_vtable(void) { return &xml_vtable; } Thank you, Gerrit -- =^..^= -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
Re: [gcc-3.4.1 / binutils] where are my symbols?
Gerrit wrote: > Hello, > > I see the following: > > I link four objects togehter in a DLL: > gcc -shared -o .libs/cyggconfbackend-oldxml.dll \ > -Wl,--out-implib,.libs/libgconfbackend-oldxml.dll.a \ > .libs/xml-cache.o .libs/xml-dir.o .libs/xml-entry.o \ > .libs/xml-backend.o ${LIBS} > > Now I get this in the import library: > $ nm .libs/libgconfbackend-oldxml.dll.a | grep ' T ' > T _gconf_backend_get_vtable > T _g_module_check_init > < snip > > > It seems that only the symbols from the fourth object have arrived in > the library. What is going on here and how can I track this down? > Are the two symbols in fourth object marked as dllexport. This will override --export-all, so you may need to add that switch explicitly. Danny > > Gerrit > -- > =^..^= > -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
[gcc-3.4.1 / binutils] where are my symbols?
Hello, I see the following: I link four objects togehter in a DLL: gcc -shared -o .libs/cyggconfbackend-oldxml.dll \ -Wl,--out-implib,.libs/libgconfbackend-oldxml.dll.a \ .libs/xml-cache.o .libs/xml-dir.o .libs/xml-entry.o \ .libs/xml-backend.o ${LIBS} Now I get this in the import library: $ nm .libs/libgconfbackend-oldxml.dll.a | grep ' T ' T _gconf_backend_get_vtable T _g_module_check_init When I look into my object files I have this: for i in .libs/xml-cache.o \ .libs/xml-dir.o \ .libs/xml-entry.o \ .libs/xml-backend.o ;\ do nm $i | grep T ; \ done 04c0 T _cache_clean T _cache_get 05f0 T _cache_lookup 0310 T _cache_sync 00f0 T _cache_unref 0d10 T _xml_test_cache 00d0 T __gconf_mode_t_to_mode 08b0 T __gconf_parent_dir 1770 T _dir_all_entries 1710 T _dir_all_subdirs 0570 T _dir_child_added 04f0 T _dir_child_removed 0420 T _dir_destroy 0ce0 T _dir_ensure_exists 05d0 T _dir_get_last_access 19d0 T _dir_get_metainfo 05e0 T _dir_get_name 0640 T _dir_get_parent_name 1aa0 T _dir_get_value 07b0 T _dir_last_access 0130 T _dir_load T _dir_new 1360 T _dir_set_schema 1bc0 T _dir_set_value 1cb0 T _dir_sync 04e0 T _dir_sync_pending 1840 T _dir_unset_value 2370 T _xml_test_dir 0090 T _entry_destroy 2d60 T _entry_fill_from_node 0160 T _entry_get_metainfo 0120 T _entry_get_name 0150 T _entry_get_node 0220 T _entry_get_schema_name 3370 T _entry_get_value T _entry_new 0280 T _entry_set_mod_time 02e0 T _entry_set_mod_user 0130 T _entry_set_node 0230 T _entry_set_schema_name 1db0 T _entry_set_value 1950 T _entry_sync_to_node 3090 T _entry_unset_value 0950 T _my_xmlGetProp 0360 T _my_xmlSetProp 35a0 T _xml_test_entry 0960 T _g_module_check_init 09b0 T _gconf_backend_get_vtable It seems that only the symbols from the fourth object have arrived in the library. What is going on here and how can I track this down? Gerrit -- =^..^= -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/