mirror of
https://sourceware.org/git/glibc.git
synced 2026-10-24 01:33:52 +03:00
ld.so: Add architecture specific fields
To support Intel Control-flow Enforcement Technology (CET) run-time control: 1. An architecture specific field in the writable ld.so namespace is needed to indicate if CET features are enabled at run-time. 2. An architecture specific field in struct link_map is needed if CET features are enabled in an ELF module. This patch adds dl-procruntime.c to the writable ld.so namespace and link_map.h to struct link_map. Tested with build-many-glibcs.py. * elf/dl-support.c: Include <dl-procruntime.c>. * include/link.h: Include <link_map.h>. * sysdeps/generic/dl-procruntime.c: New file. * sysdeps/generic/link_map.h: Likewise. * sysdeps/generic/ldsodefs.h: Include <dl-procruntime.c> in the writable ld.so namespace.
This commit is contained in:
1
sysdeps/generic/dl-procruntime.c
Normal file
1
sysdeps/generic/dl-procruntime.c
Normal file
@@ -0,0 +1 @@
|
||||
/* No architecture specific definitions. */
|
||||
@@ -373,6 +373,13 @@ struct rtld_global
|
||||
EXTERN void (*_dl_rtld_unlock_recursive) (void *);
|
||||
#endif
|
||||
|
||||
/* Get architecture specific definitions. */
|
||||
#define PROCINFO_DECL
|
||||
#ifndef PROCINFO_CLASS
|
||||
# define PROCINFO_CLASS EXTERN
|
||||
#endif
|
||||
#include <dl-procruntime.c>
|
||||
|
||||
/* If loading a shared object requires that we make the stack executable
|
||||
when it was not, we do it by calling this function.
|
||||
It returns an errno code or zero on success. */
|
||||
@@ -529,10 +536,6 @@ struct rtld_global_ro
|
||||
#endif
|
||||
|
||||
/* Get architecture specific definitions. */
|
||||
#define PROCINFO_DECL
|
||||
#ifndef PROCINFO_CLASS
|
||||
# define PROCINFO_CLASS EXTERN
|
||||
#endif
|
||||
#include <dl-procinfo.c>
|
||||
|
||||
/* Names of shared object for which the RPATH should be ignored. */
|
||||
|
||||
1
sysdeps/generic/link_map.h
Normal file
1
sysdeps/generic/link_map.h
Normal file
@@ -0,0 +1 @@
|
||||
/* No architecture specific definitions. */
|
||||
Reference in New Issue
Block a user