|
Boost : |
From: Rene Rivera (grafik.list_at_[hidden])
Date: 2003-10-09 18:27:15
[2003-10-09] Rene Rivera wrote:
>[2003-10-09] David Abrahams wrote:
>
>>Rene Rivera <grafik.list_at_[hidden]> writes:
>>
>>> And to repay my gratitude I have a variation of your solution which
>doesn't
>>> require patching GCC. Thanks to your discovery of the debug strings
merge
>>> problem, and to Dave G.'s mention of -fwritable-strings, the problem can
>be
>>> fixed by turning off the "readonly" flag for the debug strings section.
>That
>>> prevents the linker from running the n^2 merge algorithm. To do that one
>can
>>> run:
>>>
>>> objcopy --set-section-flags .debug_str=contents,debug some_file.o
>>>
>>> On each compiled file. Normally the flags are contents,readonly,debug -
>so
>>> the above removes the readonly flag and voila, no merging of debug
>symbols
>>> :-) [I have Boost.Build changes to do this if there's interest.]
>>
>>Hooray!!! Yes, please!!! Can we have it be the default for debug mode?
>
>Why yes, that's the way I coded it ;-) I'll put in the changes later today.
OK the changes to gcc-tools.jam are in CVS. I should amend my statement
about when this is enabled... I have it so that it runs the objcopy
post-processing whenever <debug-symbols>on is set. Which means that one
could get this processing if you happen to be generating a non-debug build
that has debugging info in it, for example a profile build.
Enjoy.
-- grafik - Don't Assume Anything
-- rrivera (at) acm.org - grafik (at) redshift-software.com
-- 102708583 (at) icq
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk