Allow the AArch64 architecture's RNG extension to be used without ARMv8.5.

Resolves: #2071038
This commit is contained in:
Nick Clifton 2022-04-05 12:19:42 +01:00
parent 69a88a86eb
commit a48e5d9dc8
2 changed files with 52 additions and 1 deletions

View File

@ -0,0 +1,42 @@
Only in binutils-2.35.2/gas/testsuite/gas/aarch64: rng-1.d
Only in binutils-2.35.2/gas/testsuite/gas/aarch64: rng-1.s
diff -rup binutils.orig/opcodes/aarch64-opc.c binutils-2.35.2/opcodes/aarch64-opc.c
--- binutils.orig/opcodes/aarch64-opc.c 2022-04-05 11:50:10.131798329 +0100
+++ binutils-2.35.2/opcodes/aarch64-opc.c 2022-04-05 11:54:32.596827591 +0100
@@ -3810,9 +3810,6 @@ aarch64_print_operand (char *buf, size_t
#define SR_FEAT(n,e,f,feat) \
SYSREG ((n), (e), (f) | F_ARCHEXT, AARCH64_FEATURE_##feat)
-#define SR_RNG(n,e,f) \
- SYSREG ((n), (e), (f) | F_ARCHEXT, AARCH64_FEATURE_RNG | AARCH64_FEATURE_V8_5)
-
#define SR_V8_1(n,e,f) SR_FEAT (n,e,f,V8_1)
#define SR_V8_2(n,e,f) SR_FEAT (n,e,f,V8_2)
#define SR_V8_3(n,e,f) SR_FEAT (n,e,f,V8_3)
@@ -3820,6 +3817,7 @@ aarch64_print_operand (char *buf, size_t
#define SR_V8_4(n,e,f) SR_FEAT (n,e,f,V8_4)
#define SR_PAN(n,e,f) SR_FEAT (n,e,f,PAN)
#define SR_RAS(n,e,f) SR_FEAT (n,e,f,RAS)
+#define SR_RNG(n,e,f) SR_FEAT (n,e,f,RNG)
#define SR_SSBS(n,e,f) SR_FEAT (n,e,f,SSBS)
#define SR_SVE(n,e,f) SR_FEAT (n,e,f,SVE)
#define SR_ID_PFR2(n,e,f) SR_FEAT (n,e,f,ID_PFR2)
--- /dev/null 2022-04-05 09:32:54.900867346 +0100
+++ binutils-2.35.2/gas/testsuite/gas/aarch64/rng-1.s 2022-04-05 11:55:13.973674567 +0100
@@ -0,0 +1,3 @@
+ .arch armv8.4-a+rng
+ mrs x5, rndr
+ mrs x6, rndrrs
--- /dev/null 2022-04-05 09:32:54.900867346 +0100
+++ binutils-2.35.2/gas/testsuite/gas/aarch64/rng-1.d 2022-04-05 11:55:45.338558554 +0100
@@ -0,0 +1,10 @@
+#source: rng-1.s
+#objdump: -dr
+
+.*: file format .*
+
+Disassembly of section \.text:
+
+0+ <.*>:
+.*: d53b2405 mrs x5, rndr
+.*: d53b2426 mrs x6, rndrrs

View File

@ -39,7 +39,7 @@
Summary: A GNU collection of binary utilities
Name: binutils%{?name_cross}%{?_with_debug:-debug}
Version: 2.35.2
Release: 19%{?dist}
Release: 20%{?dist}
License: GPLv3+
URL: https://sourceware.org/binutils
@ -406,6 +406,10 @@ Patch52: binutils-gas-Use-the-directory-name-in-.file-0.patch
# Lifetime: Who knows.
Patch53: gcc12-libtool-no-rpath.patch
# Purpose: Allow the AArch64 RNG extension to be used wihtout ARMv8.5
# Lifetime: Fixed in 2.39
Patch54: binutils-aarch64-rng.patch
#----------------------------------------------------------------------------
Provides: bundled(libiberty)
@ -976,6 +980,8 @@ exit 0
%{_libdir}/libctf*
%exclude %{_libdir}/libbfd.so
%exclude %{_libdir}/libopcodes.so
%exclude %{_libdir}/libctf.a
%exclude %{_libdir}/libctf-nobfd.a
%endif
%if %{isnative}
@ -997,6 +1003,9 @@ exit 0
#----------------------------------------------------------------------------
%changelog
* Tue Apr 05 2022 Nick Clifton <nickc@redhat.com> - 2.35.2-20
- Allow the AArch64 architecture's RNG extension to be used without ARMv8.5. (#2071038)
* Wed Mar 30 2022 Nick Clifton <nickc@redhat.com> - 2.35.2-19
- NVR bump to allow rebuild. (#2057638)