HomeFreeBSD

Fully support constructors for the purpose of code coverage analysis.

Description

Fully support constructors for the purpose of code coverage analysis.
This involves:

  1. Have the loader pass the start and size of the .ctors section to the kernel in 2 new metadata elements.
  2. Have the linker backends look for and record the start and size of the .ctors section in dynamically loaded modules.
  3. Have the linker backends call the constructors as part of the final work of initializing preloaded or dynamically loaded modules.

Note that LLVM appends the priority of the constructors to the name of
the .ctors section. Not so when compiling with GCC. The code currently
works for GCC and not for LLVM.

Submitted by: Dmitry Mikulin <dmitrym@juniper.net>
Obtained from: Juniper Networks, Inc.

Details

Provenance
marcelAuthored on
Parents
rS273333: Mac OS X 10.10 added.
Branches
Unknown
Tags
Unknown

Event Timeline