Page MenuHomeFreeBSD

Refactor ELF interpreter loading into a separate function.
ClosedPublic

Authored by trasz on Mar 28 2019, 10:22 PM.
Tags
None
Referenced Files
F153798963: D19741.id55566.diff
Thu, Apr 23, 8:26 PM
F153776859: D19741.id55566.diff
Thu, Apr 23, 3:42 PM
F153753644: D19741.id55940.diff
Thu, Apr 23, 11:01 AM
F153748746: D19741.id55670.diff
Thu, Apr 23, 10:09 AM
F153713304: D19741.id55566.diff
Thu, Apr 23, 3:43 AM
Unknown Object (File)
Wed, Apr 22, 10:43 PM
Unknown Object (File)
Tue, Apr 21, 10:22 AM
Unknown Object (File)
Wed, Apr 15, 6:34 PM
Subscribers

Details

Summary

Refactor ELF interpreter loading into a separate function.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 23361
Build 22385: arc lint + arc unit

Event Timeline

sys/kern/imgact_elf.c
981

This block is irrelevant for the task of loading the interpreter. I must not be moved.

sys/kern/imgact_elf.c
961

This block of if() can be naturally moved before calculating newinterp.

971

How could newinterp != NULL and brand_info->interp_path == NULL ?

sys/kern/imgact_elf.c
971

The newinterp comes from brand_info->interp_newpath, not brand_info->interp_path.

More rework - goto is done, as is the 'newinterp' variable.

Looks fine, please test with 32bit binary.

This revision is now accepted and ready to land.Apr 6 2019, 3:07 PM
This revision was automatically updated to reflect the committed changes.