rsb and toolchain debug symbols

Michael Davidsaver mdavidsaver at gmail.com
Thu Sep 3 18:47:18 UTC 2020


On 8/30/20 7:07 PM, Chris Johns wrote:
> On 30/8/20 2:17 am, Michael Davidsaver wrote:
>> On 8/27/20 5:31 PM, Chris Johns wrote:
>>> On 28/8/20 5:39 am, Michael Davidsaver wrote:
>>>> Is there a way to ask RSB to either build the toolchain
>>>> (ie. gcc itself) without debug symbols, or to strip them
>>>> prior to install?
>>>
>>> Not at the moment but this would be a nice feature. I can see it being needed.
>>>
>>>>
>>>> https://github.com/mdavidsaver/rsb/releases/
>>>>
>>>> I keep a set of pre-built RTEMS pc*86 toolchains for use
>>>> by CI builders, principally travis-ci.org.  In looking
>>>> at adding RTEMS 5.1 to this I noticed that the resulting
>>>> compressed tar was considerably larger that previously.
>>>> 4.9 or 4.10 for pc386 are ~100MB, while 5.1 for pc686
>>>> is weighing in at 380MB.
>>>>
>>>> Looking into it, most of this size seems to be in debug
>>>> symbols.  eg. "libexec/gcc/i386-rtems5/7.5.0/cc1plus"
>>>> is (uncompressed) 166MB with debug symbols and 26MB without.
>>>
>>> That is a saving. The RSB could scan the tree of files before coping them to the
>>> install point and for any host executable run the host's `strip` command. I
>>> suppose we could also run it on any host archives if there is any easy way to
>>> detect them.
>>
>> strip -d <prefix>/libexec/gcc/*/*/cc1*
>> strip -d <prefix>/bin/*
>>
>> Gives ~50% reduction in compressed and uncompressed sizes without much effort.
>>
> 
> Should the RSB strip host executables by default and provide an option to
> disable stipping?

This seems a reasonable default to me.

> I had not given this topic any consideration before you raised it and I am now
> wondering why I need tools installed with symbols.

The only case I can think of is eg. debugging a GCC crash.
I've have GCC crash on me occasionally, thus far it has
been due to some (reasonably obvious) bad input on my part.

FYI. I have uploaded a build of 5.1 of i386/pc686 for use on travis-ci.org (and potentially others)

https://github.com/mdavidsaver/rsb/releases/tag/20200829

> curl -L "https://github.com/mdavidsaver/rsb/releases/download/20200829/i386-rtems5-bionic-20200829-5.tar.bz2" | sudo tar -C / -xmj

This will unpack as /home/travis/.rtems/


More information about the users mailing list