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