mirror of
git://sourceware.org/git/glibc.git
synced 2025-02-23 13:09:58 +08:00
aarch64: Add glibc.cpu.aarch64_gcs_policy
policy sets how gcs tunable and gcs marking turns into gcs state: 0: state = tunable 1: state = marking ? tunable : (tunable && dlopen ? err : 0) 2: state = marking ? tunable : (tunable ? err : 0)
This commit is contained in:
parent
8d51bf5658
commit
a4dcf30215
@ -26,5 +26,10 @@ glibc {
|
||||
minval: 0
|
||||
default: 0
|
||||
}
|
||||
aarch64_gcs_policy {
|
||||
type: UINT_64
|
||||
minval: 0
|
||||
default: 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -178,6 +178,11 @@ init_cpu_features (struct cpu_features *cpu_features)
|
||||
cpu_features->mops = GLRO (dl_hwcap2) & HWCAP2_MOPS;
|
||||
|
||||
if (GLRO (dl_hwcap) & HWCAP_GCS)
|
||||
/* GCS status may be updated later by binary compatibility checks. */
|
||||
GL (dl_aarch64_gcs) = TUNABLE_GET (glibc, cpu, aarch64_gcs, uint64_t, 0);
|
||||
{
|
||||
/* GCS status may be updated later by binary compatibility checks. */
|
||||
GL (dl_aarch64_gcs) = TUNABLE_GET (glibc, cpu, aarch64_gcs, uint64_t, 0);
|
||||
/* Fixed GCS policy. */
|
||||
GLRO (dl_aarch64_gcs_policy) =
|
||||
TUNABLE_GET (glibc, cpu, aarch64_gcs_policy, uint64_t, 0);
|
||||
}
|
||||
}
|
||||
|
@ -54,6 +54,19 @@ PROCINFO_CLASS struct cpu_features _dl_aarch64_cpu_features
|
||||
# else
|
||||
,
|
||||
# endif
|
||||
# if !defined PROCINFO_DECL && defined SHARED
|
||||
._dl_aarch64_gcs_policy
|
||||
# else
|
||||
PROCINFO_CLASS uint64_t _dl_aarch64_gcs_policy
|
||||
# endif
|
||||
# ifndef PROCINFO_DECL
|
||||
= 0
|
||||
# endif
|
||||
# if !defined SHARED || defined PROCINFO_DECL
|
||||
;
|
||||
# else
|
||||
,
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Number of HWCAP bits set. */
|
||||
|
Loading…
Reference in New Issue
Block a user