From: Rene Rivera (grafik.list_at_[hidden])
Date: 2004-11-29 12:18:50
Vladimir Prus wrote:
> On Thursday 25 November 2004 02:27, Rene Rivera wrote:
>>...More specifically I mark almost everything as private in the ELF
>>objects and relink to get all those private symbols removed. I don't do
>>that in the debug so I can do symbolic debugging :-) And the regular
>>link tools, as you mention only strip the static symbols.
> Just curious, are you using the "version script" that the linker can use? I've
> used it in past for some special tricks, but exporting C++ symbols was pretty
> hard due to mangling.
No linker script, those things are nasty. It's very similar to what gcc
3.4 currently allows for. I mark the symbols I want to keep with
"__attribute__ ((section (".text.dll")))" in the code. Then use the list
of symbols in that code section to build the list of mangled C++ names
plus vtables and other related items with the binutils "objdump"
program. And I can further use the "objcopy" program to remove the
non-public symbols. I posted a rather long and dense description, with
part of the BBv1 script for doing it at:
Although I've cleaned up the script somewhat since then. This bit of
custom build magic is why I haven't switched to BBv2. If you can show me
how to add such custom link steps to an existing toolset I could then
package this up and add to BBv2.
-- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org - grafik/redshift-software.com - 102708583/icq
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk