aboutsummaryrefslogtreecommitdiff
path: root/lib/csu
diff options
context:
space:
mode:
authorEd Maste <emaste@FreeBSD.org>2018-11-20 20:59:49 +0000
committerEd Maste <emaste@FreeBSD.org>2018-11-20 20:59:49 +0000
commitbbce18b8d1f572012c40e77c9d0a6dfd28cd25f3 (patch)
tree996b3e93702b3cbb999bcde147139e2d0496c7f0 /lib/csu
parentc7dc361d6fe8283356fd91cc4f2e3ef786212c80 (diff)
downloadsrc-bbce18b8d1f572012c40e77c9d0a6dfd28cd25f3.tar.gz
src-bbce18b8d1f572012c40e77c9d0a6dfd28cd25f3.zip
Add NT_FREEBSD_FEATURE_CTL ELF note to csu
This note will be used to allow binaries to opt out of, or in to, upcoming vulnerability mitigation and other features. It is not yet connected but being added now to facilitate testing and ensure compatibility with existing kernels and tools. Reviewed by: brooks, jhb, kib, markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D17438
Notes
Notes: svn path=/head/; revision=340701
Diffstat (limited to 'lib/csu')
-rw-r--r--lib/csu/common/crtbrand.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/csu/common/crtbrand.c b/lib/csu/common/crtbrand.c
index c407de435b96..f8fb0024db24 100644
--- a/lib/csu/common/crtbrand.c
+++ b/lib/csu/common/crtbrand.c
@@ -67,3 +67,18 @@ static const struct {
.name = NOTE_FREEBSD_VENDOR,
.desc = __FreeBSD_version
};
+
+static const struct {
+ int32_t namesz;
+ int32_t descsz;
+ int32_t type;
+ char name[sizeof(NOTE_FREEBSD_VENDOR)];
+ uint32_t desc[1];
+} crt_feature_ctl __attribute__ ((section (NOTE_SECTION),
+ aligned(4))) __used = {
+ .namesz = sizeof(NOTE_FREEBSD_VENDOR),
+ .descsz = sizeof(uint32_t),
+ .type = NT_FREEBSD_FEATURE_CTL,
+ .name = NOTE_FREEBSD_VENDOR,
+ .desc = { 0 }
+};