[1/3] elf: Add hook for checking HWCAP bits after auxiliary vector parsing
Checks
Context |
Check |
Description |
dj/TryBot-apply_patch |
success
|
Patch applied to master at the time it was sent
|
Commit Message
---
elf/dl-sysdep.c | 3 +++
sysdeps/generic/dl-hwcap-check.h | 28 ++++++++++++++++++++++++++++
2 files changed, 31 insertions(+)
create mode 100644 sysdeps/generic/dl-hwcap-check.h
Comments
On 06/05/2021 14:30, Florian Weimer via Libc-alpha wrote:
> ---
> elf/dl-sysdep.c | 3 +++
> sysdeps/generic/dl-hwcap-check.h | 28 ++++++++++++++++++++++++++++
> 2 files changed, 31 insertions(+)
> create mode 100644 sysdeps/generic/dl-hwcap-check.h
>
> diff --git a/elf/dl-sysdep.c b/elf/dl-sysdep.c
> index bd5066fe3b..d47bef1340 100644
> --- a/elf/dl-sysdep.c
> +++ b/elf/dl-sysdep.c
> @@ -46,6 +46,7 @@
>
> #include <dl-tunables.h>
> #include <dl-auxv.h>
> +#include <dl-hwcap-check.h>
>
> extern char **_environ attribute_hidden;
> extern char _end[] attribute_hidden;
> @@ -190,6 +191,8 @@ _dl_sysdep_start (void **start_argptr,
> DL_PLATFORM_AUXV
> }
>
> + dl_hwcap_check ();
> +
OK.
(GLRO(dl_hwcap) is setup with content of AT_HWCAP in the loop above)
> #ifndef HAVE_AUX_SECURE
> if (seen != -1)
> {
> diff --git a/sysdeps/generic/dl-hwcap-check.h b/sysdeps/generic/dl-hwcap-check.h
> new file mode 100644
> index 0000000000..8db7a86256
> --- /dev/null
> +++ b/sysdeps/generic/dl-hwcap-check.h
> @@ -0,0 +1,28 @@
> +/* Check for hardware capabilities after HWCAP parsing. Generic version.
> + Copyright (C) 2021 Free Software Foundation, Inc.
> + This file is part of the GNU C Library.
> +
> + The GNU C Library is free software; you can redistribute it and/or
> + modify it under the terms of the GNU Lesser General Public
> + License as published by the Free Software Foundation; either
> + version 2.1 of the License, or (at your option) any later version.
> +
> + The GNU C Library is distributed in the hope that it will be useful,
> + but WITHOUT ANY WARRANTY; without even the implied warranty of
> + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> + Lesser General Public License for more details.
> +
> + You should have received a copy of the GNU Lesser General Public
> + License along with the GNU C Library; if not, see
> + <https://www.gnu.org/licenses/>. */
> +
> +#ifndef _DL_HWCAP_CHECK_H
> +#define _DL_HWCAP_CHECK_H
> +
> +static inline void
> +dl_hwcap_check (void)
> +{
> + /* The generic implementation does not perform any checks. */
> +}
> +
> +#endif /* _DL_HWCAP_CHECK_H */
>
OK
Reviewed-by: Stefan Liebler <stli@linux.ibm.com>
@@ -46,6 +46,7 @@
#include <dl-tunables.h>
#include <dl-auxv.h>
+#include <dl-hwcap-check.h>
extern char **_environ attribute_hidden;
extern char _end[] attribute_hidden;
@@ -190,6 +191,8 @@ _dl_sysdep_start (void **start_argptr,
DL_PLATFORM_AUXV
}
+ dl_hwcap_check ();
+
#ifndef HAVE_AUX_SECURE
if (seen != -1)
{
new file mode 100644
@@ -0,0 +1,28 @@
+/* Check for hardware capabilities after HWCAP parsing. Generic version.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#ifndef _DL_HWCAP_CHECK_H
+#define _DL_HWCAP_CHECK_H
+
+static inline void
+dl_hwcap_check (void)
+{
+ /* The generic implementation does not perform any checks. */
+}
+
+#endif /* _DL_HWCAP_CHECK_H */