HomeFreeBSD

rtld: Support multiple PT_GNU_RELRO program headers

Description

rtld: Support multiple PT_GNU_RELRO program headers

Iterate over all the program headers in obj_remap_relro and remove the
relro fields from Obj_Entry.

Skip the call to obj_enforce_relro() in relocate_object() for the rtld
object as well as the main program object. obj_enforce_relro() is
called later when it safe to reference globals such as page_size.

Reviewed by: kib
Obtained from: CheriBSD
Sponsored by: AFRL, DARPA
Differential Revision: https://reviews.freebsd.org/D47884

Details

Provenance
jhbAuthored on Dec 6 2024, 10:37 PM
Reviewer
kib
Differential Revision
D47884: rtld: Support multiple PT_GNU_RELRO program headers
Parents
rG34f5de82e8fc: bus_delayed_attach_children: Switch return type to void
Branches
Unknown
Tags
Unknown