Page MenuHomeFreeBSD

Fixed bug where elfcopy --add-section needs to be called twice for section to be created
ClosedPublic

Authored by tig_freebsdfoundation.org on Feb 7 2020, 3:56 PM.

Details

Summary

The create_scn() (create section) function wants to place the new section before .shstrtab section but this section is added to the elf later in the main code. Thus it fails the first time and succeed the second time. I added a check so that if .shstrtab is not present the code still calls the insert_section function.
Bugzilla: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=241437

Test Plan

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

Thank you for the investigation and patch. I commented on a few minor items, I will update them before committing to svn (i.e., no need to reupload).

contrib/elftoolchain/elfcopy/sections.c
343 ↗(On Diff #67939)

I'd probably call the new variable sections_added, and we can use C99 bool.

443–444 ↗(On Diff #67939)

style(9) wants the /* on its own line, i.e.

/*
 * Like this
 */
This revision is now accepted and ready to land.Feb 12 2020, 8:21 PM