Hello, On Fri, Mar 03, 2023 at 12:24:19PM +0000, Nick Clifton wrote: > Hi Mark, > > > > > I am mainly wondering why binutils strip already seems to keep ".ctf" > > > > sections (even without -g). > > > Right. But I am wondering how that mechanism works with binutils strip. > > Apparently we do something different in eu-strip which makes it > > necessary to add a --keep-ctf option based on the section name. It > > would be good if we figured out how/what we can do to keep the > > different strip utilities in sync. > > I think that the function that does this is "is_strip_section_1" in
That's right, this function decided whether the section will be striped out by default, if it has set `SEC_DEBUGGING' in BFD section flags then section is removed by the default. For `.ctf' this flag is not set because in `_bfd_elf_make_section_from_shdr' when BFD sections are building it uses the section's name: ".debug", ".gnu.debuglto_.debug_", ".gnu.linkonce.wi.", ".zdebug", "lines", ".stab", etc, to set `SEC_DEBUGGING' flag. > binutils/objcopy.c. If an input section has the BSF_DEBUGGING flag > set (an internal flag to he BFD library, but basically it should be > set for all debug sections, including .ctf sections I think), then > the basic decision is to keep the section unless -g is used. > > Cheers > Nick > Kind regards, guillermo