Linux equivalent of dumpbin /exports filename.dll ?

Alex Maynard amaynard-vQ8rsROW2HJSpjfjxSPG1fd9D2ou9A/h at public.gmane.org
Mon Aug 15 18:20:03 UTC 2005


On Sat, 13 Aug 2005, Joseph Kubik wrote:

> objdump -t foo.so
> This, or some other option to objdump may help you out.
> Also, 'ldd Guass' will show you what libraries Guass is trying to load.
>
> -Joseph-

Joseph,

Thank you very much for the suggestion. I've tried both objdump -t foo.so
and objdump -Ct foo.so.  I'm not quite sure how to read the output I get.
In other words, I'm not quite sure which name refers to the function. The
orginal function name in the Matlab code was ptv.  The entries in
 objdump -t foo.so that include  the term ptv are:

00000000 l    df *ABS*	00000000              ptv.c
00000000 l    df *ABS*	00000000              ptv_mcc_component_data.c
00001200 g     O .rodata	00000101              __MCC_ptv_session_data
000027b0 g     O .data	00000004              __MCC_ptv_lib_path_data
0000130c g     O .rodata	00000004              __MCC_ptv_lib_path_data_count
000027b8 g     O .data	00000004              __MCC_ptv_mcr_runtime_options
00001310 g     O .rodata	00000004       __MCC_ptv_mcr_application_option_count
00000f38 g     F .text	0000002e              ptvInitialize
000027ac g     O .data	00000004              __MCC_ptv_classpath_data
00002704 g     O .data	00000004              __MCC_ptv_root_data
00000e80 g     F .text	000000b7              ptvInitializeWithHandlers
00000fd0 g     F .text	00000058              mlfPtv
00002700 g     O .data	00000004              __MCC_ptv_name_data
00000f9a g     F .text	00000036              mlxPtv
00002720 g     O .data	0000008c              __MCC_ptv_matlabpath_data
000027b4 g     O .data	00000004              __MCC_ptv_mcr_application_options
00000f66 g     F .text	00000033              ptvTerminate
000010a0 g     O .rodata	00000141       __MCC_ptv_public_data
00001308 g     O .rodata	00000004       __MCC_ptv_classpath_data_count
00001314 g     O .rodata	00000004       __MCC_ptv_mcr_runtime_option_count
00001304 g     O .rodata	00000004        __MCC_ptv_matlabpath_data_count

I have tried some of these out, but so far haven't found the right
function name.

Thanks again very much.

Alex


Below is the full output of objdump.




ptv.so:     file format elf32-i386

SYMBOL TABLE:
000000b4 l    d  .hash	00000000
00000250 l    d  .dynsym	00000000
00000650 l    d  .dynstr	00000000
00000952 l    d  .gnu.version	00000000
000009d4 l    d  .gnu.version_r	00000000
00000a24 l    d  .rel.dyn	00000000
00000c04 l    d  .rel.plt	00000000
00000c4c l    d  .init	00000000
00000c64 l    d  .plt	00000000
00000d04 l    d  .text	00000000
0000105c l    d  .fini	00000000
00001080 l    d  .rodata	00000000
00001680 l    d  .eh_frame_hdr	00000000
000026e0 l    d  .data	00000000
000027bc l    d  .eh_frame	00000000
00002930 l    d  .dynamic	00000000
00002a08 l    d  .ctors	00000000
00002a10 l    d  .dtors	00000000
00002a18 l    d  .jcr	00000000
00002a1c l    d  .got	00000000
00002a90 l    d  .bss	00000000
00000000 l    d  .comment	00000000
00000000 l    d  .debug_aranges	00000000
00000000 l    d  .debug_info	00000000
00000000 l    d  .debug_abbrev	00000000
00000000 l    d  .debug_line	00000000
00000000 l    d  *ABS*	00000000
00000000 l    d  *ABS*	00000000
00000000 l    d  *ABS*	00000000
00000000 l    df *ABS*	00000000              initfini.c
00000d04 l     F .text	00000000              call_gmon_start
00000000 l    df *ABS*	00000000              crtstuff.c
00002a08 l     O .ctors	00000000              __CTOR_LIST__
00002a10 l     O .dtors	00000000              __DTOR_LIST__
000027bc l     O .eh_frame	00000000              __EH_FRAME_BEGIN__
00002a18 l     O .jcr	00000000              __JCR_LIST__
000026e4 l     O .data	00000000              p.0
00002a90 l     O .bss	00000001              completed.1
00000d28 l     F .text	00000000              __do_global_dtors_aux
00000d90 l     F .text	00000000              frame_dummy
00000000 l    df *ABS*	00000000              crtstuff.c
00002a0c l     O .ctors	00000000              __CTOR_END__
00002a14 l     O .dtors	00000000              __DTOR_END__
0000292c l     O .eh_frame	00000000              __FRAME_END__
00002a18 l     O .jcr	00000000              __JCR_END__
00001028 l     F .text	00000000              __do_global_ctors_aux
00000000 l    df *ABS*	00000000              initfini.c
00000000 l    df *ABS*	00000000              ptv.c
000026e8 l     O .data	00000004              _mcr_inst
00000dd0 l     F .text	0000003b              mclDefaultPrintHandler
00000e0c l     F .text	00000074              mclDefaultErrorHandler
00000000 l    df *ABS*	00000000              ptv_mcc_component_data.c
000026e0 l     O .data	00000000              .hidden __dso_handle
00001200 g     O .rodata	00000101
__MCC_ptv_session_data
000027b0 g     O .data	00000004              __MCC_ptv_lib_path_data
00002930 g     O *ABS*	00000000              _DYNAMIC
0000130c g     O .rodata	00000004
__MCC_ptv_lib_path_data_count
00000000       F *UND*	00000033              mclFeval@@v7.0
000027b8 g     O .data	00000004
__MCC_ptv_mcr_runtime_options
00001310 g     O .rodata	00000004
__MCC_ptv_mcr_application_option_count
00000c4c g     F .init	00000000              _init
00000f38 g     F .text	0000002e              ptvInitialize
000027ac g     O .data	00000004              __MCC_ptv_classpath_data
00002704 g     O .data	00000004              __MCC_ptv_root_data
00000000       O *UND*	00000004              stdout@@GLIBC_2.0
00000000       O *UND*	00000004              stderr@@GLIBC_2.0
00000000       F *UND*	0000005c
mclInitializeComponentInstance@@v7.0
00000000       F *UND*	000000df              mclmcrInitialize@@v7.0
00000e80 g     F .text	000000b7              ptvInitializeWithHandlers
00000000       F *UND*	00000024              mclTerminateInstance@@v7.0
00002a90 g       *ABS*	00000000              __bss_start
00000fd0 g     F .text	00000058              mlfPtv
00002700 g     O .data	00000004              __MCC_ptv_name_data
0000105c g     F .fini	00000000              _fini
00000000       F *UND*	00000037              mclMlfFeval@@v7.0
00000000  w    F *UND*	00000098              __cxa_finalize@@GLIBC_2.1.3
00000f9a g     F .text	00000036              mlxPtv
00002a90 g       *ABS*	00000000              _edata
00002a1c g     O *ABS*	00000000              _GLOBAL_OFFSET_TABLE_
00002a94 g       *ABS*	00000000              _end
00002720 g     O .data	0000008c              __MCC_ptv_matlabpath_data
000027b4 g     O .data	00000004
__MCC_ptv_mcr_application_options
00000f66 g     F .text	00000033              ptvTerminate
000010a0 g     O .rodata	00000141
__MCC_ptv_public_data
00001308 g     O .rodata	00000004
__MCC_ptv_classpath_data_count
00000000       F *UND*	00000171              fwrite@@GLIBC_2.0
00000000  w      *UND*	00000000              _Jv_RegisterClasses
00001314 g     O .rodata	00000004
__MCC_ptv_mcr_runtime_option_count
00001304 g     O .rodata	00000004
__MCC_ptv_matlabpath_data_count
00000000  w      *UND*	00000000              __gmon_start__




>
> On 8/13/05, Alex Maynard <amaynard-vQ8rsROW2HJSpjfjxSPG1fd9D2ou9A/h at public.gmane.org> wrote:
> >
> > Hello All,
> >
> > I know very little about libraries, so I apologize if this
> > this turns out to be a very basic question.
> >
> > I was wondering if any one happens to know the linux equivalent of
> > the following command in windows, used to find the function names in a
> > shared library?:
> >
> > dumpbin /exports filename.dll
> >
> > The problem I'm having is that I have compiled a function to a .so
> > file (using a unix matlab compiler) but have trouble calling it from a
> > second application (Gauss). I found a posting on the web indicating that such
> > functions are often given different names by compilers (the compilers
> > append extra info. to the original name). So to call the function, I need to
> > find out its new name. I found some instructions for doing this in MSDos
> > at:
> > http://www.eco.utexas.edu/cgi-bin/http2gophermail?server=gopher.eco.utexas.edu&request=R97754-102253-/mailing/gaussians.archive.1997
> > which suggest using the dos command: dumpbin /exports filename.dll but
> > haven't figured out how to translate this into linux.
> >
> > Cheers,
> >
> > Alex
> >
> >
> > --
> > The Toronto Linux Users Group.      Meetings: http://tlug.ss.org
> > TLUG requests: Linux topics, No HTML, wrap text below 80 columns
> > How to UNSUBSCRIBE: http://tlug.ss.org/subscribe.shtml
> >
> --
> The Toronto Linux Users Group.      Meetings: http://tlug.ss.org
> TLUG requests: Linux topics, No HTML, wrap text below 80 columns
> How to UNSUBSCRIBE: http://tlug.ss.org/subscribe.shtml
>



--
The Toronto Linux Users Group.      Meetings: http://tlug.ss.org
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://tlug.ss.org/subscribe.shtml





More information about the Legacy mailing list