This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
I've added support to OpenBSD for a new OS-specific segment type
PT_OPENBSD_RANDOMIZE. This segment indicates that the system is
responsible for initializing the specified memory range with random
data after loading the object into memory and before relocation
processing is applied.
Additionally, I modified OpenBSD's version of binutils to understand
the PT_OPENBSD_RANDOMIZE segment type and to emit a
PT_OPENBSD_RANDOMIZE segment when linking an ELF output that contains
a .openbsd.randomdata section. (This allows code like "long
__stack_chk_guard __attribute__((section(".openbsd.randomdata")));" to
initialize a variable with random data without requiring any
constructor methods.)
Mark Kettenis thought that the binutils project might at least be
interested in the bits to make readelf understand PT_OPENBSD_RANDOMIZE
segments, so I ported the diff to latest GNU binutils. See attached.
Cheers!
Attachment:
openbsd-randomize.diff
Description: Binary data
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |