Dan,

If you are really linking with the .so your file size should fall alot.
Small c++ test programs go from 250k with .a to 14k with .so

Run arm-linux-readelf -d on you executable. If you really linked with
the .so, libstdc++-libc6.1-2.so.3 with be listed as a NEEDED Shared
library. If only libm.so.6 and libc.so.6 are listed as NEEDED then you
linked with the .a

Harris

On Tue, 2001-12-04 at 04:58, Dan ABITBOL wrote:
> Thank you a lot 
> 
> It seems it has work. but it hasn't decreased the size of (my main + 
> libstdc++.so ) compared to (my main + libstdc++.a)
>  
> As to the strip instruction, it was great , it helped me decrease the size 
> very much. Thank you a lot. I just don't understand what strip really does=>
> are there any risks that my main run not well after that ? 
> 
> I did: arm-linux-strip -s mymain
> 
> Thank you Harris, have a good day
> Dan 
> 
> Le Lundi 3 D�cembre 2001 16:22, Harris Landgarten a �crit :
> > Dan,
> >
> > I am doing the same as you. You have to have the gcc-295.3 source to
> > build the shared library. Follow the instructions in Chris Rutters'
> > toolchain faq under building the toolchain. All of these steps were
> > already done in the cross tar you installed but you need the gcc source
> > so you can recompile for g++ with shared libraries. Assuming you have
> > the source installed you have to cd to gcc-2.95.3 directory and
> >
> > ./configure --target=arm-linux --prefix=/usr/local/arm/2.95.3
> > --with-headers=<path to /linux/include> --enable-shared=yes
> > --enable-languages=c++
> >
> > make
> > make install
> >
> > When you are done you should have a libstdc++-3-libc6.1-2-2.10.0.so file
> > in /usr/local/arm/2.95.3/arm-linux/lib
> >
> > Once you do this you normal cross compiles should use the shared
> > library. BTW make sure you strip you program of symbols. You will save
> > alot of space. You have to put the main .so lib on you embedded device
> > in /lib and run ldconfig for your new smaller program to run.
> >
> > On Mon, 2001-12-03 at 03:32, Dan ABITBOL wrote:
> > > Hello Philip, Hello Harris
> > >
> > > In fact , I m cross compiling and cross linking my main programm for an
> > > arm-linux proceessor.
> > > the arm-linux linker links my main with the the static libstdc++ of the
> > > arm-toolchain. its size averages 2.5 Mb
> > >
> > > My work is to downsize my main. So I wanted to link it with the dynamic
> > > version of lthe libstdc++ against the static one .
> > >
> > > So as I had only the static one , I made all I described in my former
> > > emails to have the dynamic one .
> > > So was it the right way ? I dont have ./configure tools ...
> > > How can  I make out ? what shoul  i do to built the dynamic library from
> > > the static one and what do I have to write in my makefile to link my main
> > > with it against the static one that the linker automatically calls ?
> > >
> > > PS: what PDC means ?
> > >
> > > Thank you both for your help and advice .
> > > Dan
> > >
> > > Le Vendredi 30 Novembre 2001 20:36, Philip Blundell a �crit :
> > > > In message <[EMAIL PROTECTED]>, Dan ABITBOL
> > >
> > > writes:
> > > > >4/ then juste make
> > > > >arm-linux-g++ -shared -fpic -ldl -o libstdc++.x.x.x.so *.o
> > > > >the you ll have the shared one ....whic is libstdc++.x.x.x.so
> > > >
> > > > That doesn't create a shared library.  You get a dynamic object, but
> > > > using -fpic during final link doesn't stop everything inside the
> > > > library being PDC.
> > > >
> > > > Incidentally, it isn't necessary to manually unpack the archive.  You
> > > > can just do "gcc -Wl,--whole-archive libxx.a ...".
> > > >
> > > > >Could you also help me? once we have our shared library, how I do to
> > > > > link my main with the dynamic one and prevent the arm-linux-linker
> > > > > from linking with the static one ?
> > > >
> > > > GNU ld should always prefer a shared object if you have one.
> > > >
> > > > p.
> > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm
> > > > Please visit the above address for information on this list.
> >
> > _______________________________________________
> > http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm
> > Please visit the above address for information on this list.



_______________________________________________
http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm
Please visit the above address for information on this list.

Reply via email to