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.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Sep 21, 5:48 AM
Unknown Object (File)
Sun, Sep 14, 3:20 AM
Unknown Object (File)
Tue, Aug 26, 6:00 PM
Unknown Object (File)
Tue, Aug 26, 6:00 PM
Unknown Object (File)
Tue, Aug 26, 5:49 PM
Unknown Object (File)
Tue, Aug 26, 5:41 PM
Unknown Object (File)
Tue, Aug 26, 5:40 PM
Unknown Object (File)
Tue, Aug 26, 6:43 AM
Subscribers

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

image.png (885×650 px, 82 KB)

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

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

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

443–444

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