I have been working with a large application that makes extensive use of templates. When compiled under Unix (with g++), this sees some rather impressive bloat. I have been trying to make a temporary quick-fix by using the -frepo option, which results in dramatically smaller shared objects, but the executables no longer link. I suspect that collect2 is not being called when the -shared flag is used, which would be the cause of this. Here is a simple example I created:
template.h:
test.h:
test.cpp:
main.cpp:
The command line is then as follows:
I have attempted on Solaris 10 with g++ 3.6.4 and Debian stable with g++ 4.1.1-15 with the same result. I have not been able to find any answers with Google on this, so I am rather hoping someone here can enlighten me. Can I use -frepo with shared objects? If so, what am I doing wrong? If not, will I be able to use the -fexternal-templates option to reduce the size?
I'm runtime linking (dlopen and dlsym) to a shared object (library) I've created and after a number of function calls into the library the program core dumps (Illegal operation). This only occurs during runtime linking. If I use the same library and dynamically link during compile time everything... (3 Replies)
I asked the next question in a former thread :
Can I safely share objects that have virtual functions (i.e. have
virtual function table pointers) between two processes ?
Where will the pointers point to in each process ?
The objects are supposed to reside in shared memory
I received a... (6 Replies)
Hi Friends !
I have a library, say libxyz.a.
To view all the object files in the archive, i issued the command :
ar -t libxyz.a
which displayed all the object files it contains.
Now, I would like to know the functions in each object file.
Is there any such command that displays... (3 Replies)
hi all !
Do I need all the shared objects to be present while compiling my code which has reference to a only one shared object, which in turn refers to another shared object.
for example I want to compile example.c which refers to sample.so
sample.so has refrence to anothersample.so
do... (2 Replies)
Hi. Does anyone know by how much a text size of an executable(on ibm) would grow if you link one shared object(library)? Is it a constant number or it depends on a .so that is linked? (3 Replies)
Hi,
i am trying to debug a binary which is using a shared lib.
but i could not succeed in tracking the code flow in the classes defined
in this library.
i get: class MyClass <opaque> error
i followed the instructions in the link below:... (0 Replies)
I have two envoirmets(Envoirment A and Envoirment B) running on same server(AIX vesion 5.3).Both have different groups.I am facing a strange problem.Shared objects of one envoirment (Envoirment A)are getting loaded into the second(Envoirment B).So the servers that have dependency on shared objects... (2 Replies)
Hi,
I am looking for references about creating and accessing Shared Objects (.so) through C/C++ on Unix / Linux platforms. Is it possible and where can I find the info.
Thanks
Phil (1 Reply)
dear Experts,
please help,
actually i am trying to create a .so(shared object through make file through ld)
i am not understaning how to proceed i have tried like
through command like i can do it in 2 step like
my progam :test2.c
$gcc -fPIC -c test2.c
$ld -shared -soname test2.so -o... (1 Reply)
Hi All......
I have my tool in my one server lets say E1 and same tool I tried to install in E2 server so everything is fine but, while executing the my tool for example...
$ ./batch
At that time Im getting this following error.
./batch: error while loading shared libraries: libqabwvcd.so:... (3 Replies)
Discussion started by: ksrivani
3 Replies
LEARN ABOUT DEBIAN
dtrace
DTRACE(1) General Commands Manual DTRACE(1)NAME
dtrace - Dtrace compatibile user application static probe generation tool.
SYNOPSIS
dtrace -s file [OPTIONS]
DESCRIPTION
The dtrace command converts probe descriptions defined in file.d into a probe header file via the -h option or a probe description file via
the -G option.
OPTIONS -h generate a systemtap header file.
-G generate a systemtap probe definition object file.
-o file
is the name of the output file. If the -G option is given then the output file will be called file.o; if the -h option is given
then the output file will be called file.h.
-C run the cpp preprocessor on the input file when the -h option is given.
-I file
give this include path to cpp when the -C option is given.
-k keep temporary files, for example the C language source for the -G option.
--types
generate probe argument typedef information when the -h option is given.
EXAMPLES
Systemtap is source compatible with dtrace user application static probe support. Given a file test.d containing:
provider sdt_probes
{
probe test_0 (int type);
probe test_1 (struct astruct node);
};
struct astruct {int a; int b;};
Then the command "dtrace -s test.d -G" will create the probe definition file test.o and the command "dtrace -s test.d -h" will create the
probe header file test.h Subsequently the application can define probes using
#include "test.h"
...
struct astruct s;
...
SDT_PROBES_TEST_0(value);
...
SDT_PROBES_TEST_1(s);
The application is linked with "test.o" when it is built.
SEE ALSO stap(1)stappaths(7)DTRACE(1)