Irvanda, Others on this list might have specific knowledge of the objects you listed, but I am going to present a general solution that hopefully will let you find the answers you seek.
If you have libmpi.a build from sources configured with --enable-debug, then the source file information is stored in the object files. You can use gdb to extract this information. I don't have an openmpi-1.6.x build on hand, but here is an example with the current trunk. None of the files you listed are present in this build, so I've picked one of the profiling objects as an example. You should replace "[libdir]" with your actual openmpi installations lib directory. -bash-4.2$ ar x [libdir]/libmpi.a pcart_create.o -bash-4.2$ gdb -q pcart_create.o Reading symbols from /home/phargrov/OMPI/openmpi-trunk-netbsd6-amd64/INST/lib/foo/pcart_create.o...done. (gdb) list 1 pcart_create.c: No such file or directory. in pcart_create.c (gdb) info source Current source file is pcart_create.c Compilation directory is /home/phargrov/OMPI/openmpi-trunk-netbsd6-amd64/BLD/ompi/mpi/c/profile Source language is c. Compiled with DWARF 2 debugging format. Does not include preprocessor macro info. Notice I used 2 commands in gdb: "list" and "info source". The "list" appears to fail because the source directory has been deleted. However, the "list" step is required to make gdb read the source info from the object (or "info source" will fail). The output from the second command, "info source", is the important part: + The first is the name (without directory) of the source file. + The second is the directory in which the .o file was created. That directory (for files generated at build time) or its "twin" in the source tree (for normal source files) are the likely places to find the source file. I hope that helps, -Paul P.S. If others have shorter sequences to get the same debug info from an object, I am curious to hear them. On Wed, Jan 22, 2014 at 8:57 PM, Irvanda Kurniadi <irvand...@gmail.com>wrote: > Hi, > > I'm trying to port openmpi-1.6.5 in l4/fiasco. I checked the libmpi.a. I > did the " ar t libmpi.a " in my terminal. I can't find the source file (.c) > of some object files created in libmpi.a, such as: > ompi_bitmap.o > op_predefined.o > convertor.o > copy_functions.o > copy_functions_heterogeneous.o > datatype_pack.o > datatype_unpack.o > dt_add.o dt_args.o .. dt_sndrcv.o (15 files) > fake_stack.o > position.o > libdatatype_reliable_la-datatype_pack.o > libdatatype_reliable_la-datatype_unpack.o > common_sm_mmap.o > > Can you tell me where is the source of those object files? Because I have > to compile every single .c file in openmpi which is needed to be compiled. > Thanks > > regards, > Irvanda > > > _______________________________________________ > devel mailing list > de...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/devel > -- Paul H. Hargrove phhargr...@lbl.gov Future Technologies Group Computer and Data Sciences Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900