Re: where are my symbols?

2004-10-03 Thread Gerrit P. Haase

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?

2004-10-03 Thread Danny Smith

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?

2004-10-03 Thread Gerrit P. Haase
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/