Linux equivalent of dumpbin /exports filename.dll ?
Alex Maynard
amaynard-vQ8rsROW2HJSpjfjxSPG1fd9D2ou9A/h at public.gmane.org
Tue Aug 16 21:53:59 UTC 2005
Thanks very much!
Alex
On Mon, 15 Aug 2005, Joseph Kubik wrote:
> 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
>
--
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