Linux equivalent of dumpbin /exports filename.dll ?
Joseph Kubik
josephkubik-Re5JQEeQqe8AvxtiuMwx3w at public.gmane.org
Mon Aug 15 19:23:09 UTC 2005
The .text lines are functions *most* of the time.
-Joseph-
On 8/15/05, Alex Maynard <amaynard-vQ8rsROW2HJSpjfjxSPG1fd9D2ou9A/h at public.gmane.org> wrote:
>
> 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
>
--
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