On Wed, Nov 6, 2024 at 6:32 PM Mark Wielaard <m...@klomp.org> wrote:
>
> Hi Aaron,
>
> On Wed, Nov 06, 2024 at 04:15:30PM -0500, Aaron Merey wrote:
> > On Wed, Nov 6, 2024 at 2:35 PM Mark Wielaard <m...@klomp.org> wrote:
> > > >    if (reloc_debug_only)
> > > >      {
> > > > +      if (ehdr->e_type != ET_REL)
> > > > +     {
> > > > +       /* Only ET_REL files should have debug relocations to remove.  
> > > > */
> > > > +       error (0, 0, _("Ignoring --reloc-debug-sections-only for " \
> > > > +                      "non-ET_REL file '%s'"), fname);
> > > > +       goto fail_close;
> > > > +     }
> > >
> > > Do we have to fail here?  I think it is nicer for the user to just
> > > turn this into an warning with
> > >
> > > if (ehdr->e_type != ET_REL) else if (handle_debug_relocs (...))
> >
> > If we don't fail then strip will need to do more work copying sections
> > over to the 'newelf' handle in order to properly overwrite the input file
> > with newelf.
> >
> > Since --reloc-debug-sections-only should be a no-op for non-ET_REL files
> > it makes sense to skip that extra work and avoid overwriting the input file.
>
> Aha, so by not goto done you skip the actual (supposed to do nothing)
> work. goto fail_close isn't so much "failing", but more about closing
> without doing any more work. Which is fine because when
> --reloc-debug-sections-only "No other stripping is performed".
>
> OK. Sorry for being dense.

Thanks Mark, pushed.

Aaron

Reply via email to