aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/gcc-arm-bug-71399.patch
blob: 6f04fece0e25fa979229fe228434fb5ca840cc57 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Revert the following commit to work around a bootstrap comparison failure on
ARMv7, as reported at <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71399>.

commit f6ab85b7049a03962ea98924d00802da357a1ad3
Author: renlin <renlin@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Wed Dec 2 14:06:31 2015 +0000

    [PR67383][ARM][4.9]Backport of "Allow any register for DImode values in Thumb2"
    
    This partially fix PR67383. It allows the reload more flexibility to choose
    spilling pseudo registers.
    
    
    gcc/ChangeLog:
    
    2015-12-02  Renlin Li  <renlin.li@arm.com>
    
            Backport from mainline.
            2014-04-22  Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
    
            * config/arm/arm.c (arm_hard_regno_mode_ok): Loosen
            restrictions on core registers for DImode values in Thumb2.
    
    
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@231177 138bc75d-0d04-0410-961f-82ee72b054a4

diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 8ba6060..d9028a1 100644
--- b/gcc/config/arm/arm.c
+++ a/gcc/config/arm/arm.c
@@ -22624,19 +22624,12 @@
     }
 
   /* We allow almost any value to be stored in the general registers.
-     Restrict doubleword quantities to even register pairs in ARM state
-     so that we can use ldrd.  Do not allow very large Neon structure
-     opaque modes in general registers; they would use too many.  */
+     Restrict doubleword quantities to even register pairs so that we can
+     use ldrd.  Do not allow very large Neon structure opaque modes in
+     general registers; they would use too many.  */
   if (regno <= LAST_ARM_REGNUM)
-    {
-      if (ARM_NUM_REGS (mode) > 4)
-	  return FALSE;
-
-      if (TARGET_THUMB2)
-	return TRUE;
-
-      return !(TARGET_LDRD && GET_MODE_SIZE (mode) > 4 && (regno & 1) != 0);
-    }
+    return !(TARGET_LDRD && GET_MODE_SIZE (mode) > 4 && (regno & 1) != 0)
+      && ARM_NUM_REGS (mode) <= 4;
 
   if (regno == FRAME_POINTER_REGNUM
       || regno == ARG_POINTER_REGNUM)
.5-x86_64.conf: New files. * Makefile.am (AUX_FILES): Add them. Leo Famulari 2023-07-23gnu: Remove linux-libre 6.3....This kernel series is no longer supported upstream. * gnu/packages/linux.scm (linux-libre-6.3-version, linux-libre-6.3-gnu-revision, deblob-scripts-6.3, linux-libre-6.3-pristine-source, linux-libre-6.3-source, linux-libre-headers-6.3, linux-libre-6.3): Remove variables. * gnu/packages/aux-files/linux-libre/6.3-arm.conf, gnu/packages/aux-files/linux-libre/6.3-arm64.conf, gnu/packages/aux-files/linux-libre/6.3-i686.conf, gnu/packages/aux-files/linux-libre/6.3-x86_64.conf: Delete files. * Makefile.am (AUX_FILES): Remove them. * gnu/packages/patches/linux-libre-wireguard-postup-privkey.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. Leo Famulari 2023-07-15gnu: Add linux-libre 6.4...* gnu/packages/linux.scm (linux-libre-6.4-version, linux-libre-6.4-gnu-revision, deblob-scripts-6.4, linux-libre-6.4-pristine-source, linux-libre-6.4-source, linux-libre-headers-6.4, linux-libre-6.4: New variables. * gnu/packages/aux-files/linux-libre/6.4-arm.conf, * gnu/packages/aux-files/linux-libre/6.4-arm64.conf, * gnu/packages/aux-files/linux-libre/6.4-i686.conf, * gnu/packages/aux-files/linux-libre/6.4-x86_64.conf: New files. * Makefile.am (AUX_FILES): Add them. Leo Famulari 2023-05-31gnu: Remove linux-libre 6.2....This kernel series is no longer supported upstream. * gnu/packages/linux.scm (linux-libre-6.2-version, linux-libre-6.2-gnu-revision, deblob-scripts-6.2, linux-libre-6.2-pristine-source, linux-libre-6.2-source, linux-libre-headers-6.2, linux-libre-6.2): Remove variables. * gnu/packages/aux-files/linux-libre/6.2-arm.conf, gnu/packages/aux-files/linux-libre/6.2-arm64.conf, gnu/packages/aux-files/linux-libre/6.2-i686.conf, gnu/packages/aux-files/linux-libre/6.2-x86_64.conf: Delete files. * Makefile.am (AUX_FILES): Remove them. Leo Famulari 2023-05-16gnu: Add linux-libre 6.3....* gnu/packages/linux.scm (linux-libre-6.3-version, linux-libre-6.3-gnu-revision, deblob-scripts-6.3, linux-libre-6.3-pristine-source, linux-libre-6.3-source, linux-libre-headers-6.3, linux-libre-6.3): New variables. * gnu/packages/aux-files/linux-libre/6.3-arm.conf, gnu/packages/aux-files/linux-libre/6.3-arm64.conf, gnu/packages/aux-files/linux-libre/6.3-i686.conf, gnu/packages/aux-files/linux-libre/6.3-x86_64.conf: New files. * Makefile.am (AUX_FILES): Add them. Leo Famulari 2023-03-19gnu: linux-libre: Update kernel configs for 6.2.7....* gnu/packages/aux-files/linux-libre/6.2-arm.conf, gnu/packages/aux-files/linux-libre/6.2-arm64.conf, gnu/packages/aux-files/linux-libre/6.2-i686.conf, gnu/packages/aux-files/linux-libre/6.2-x86_64.conf: Set some new configuration options. Leo Famulari 2023-03-06gnu: Add linux-libre 6.2....* gnu/packages/linux.scm (linux-libre-6.2-version, linux-libre-6.2-gnu-revision, deblob-scripts-6.2, linux-libre-6.2-pristine-source, linux-libre-6.2-source, linux-libre-headers-6.2, linux-libre-6.2): New variables. * gnu/packages/aux-files/linux-libre/6.2-arm.conf, gnu/packages/aux-files/linux-libre/6.2-arm64.conf, gnu/packages/aux-files/linux-libre/6.2-i686.conf, gnu/packages/aux-files/linux-libre/6.2-x86_64.conf: New files. * Makefile.am (AUX_FILES): Add them. Leo Famulari 2023-02-19gnu: linux-libre: Consistently provide the drop_monitor module....This is needed by, e.g., <https://github.com/nhorman/dropwatch>. Build it as a module everywhere for consistency. * gnu/packages/aux-files/linux-libre/4.14-i686.conf: Set CONFIG_NET_DROP_MONITOR=m. * gnu/packages/aux-files/linux-libre/4.14-x86_64.conf: Likewise. * gnu/packages/aux-files/linux-libre/4.19-i686.conf: Likewise. * gnu/packages/aux-files/linux-libre/4.19-x86_64.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.10-arm.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.10-arm64.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.10-i686.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.10-x86_64.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.15-arm.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.15-arm64.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.15-i686.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.15-x86_64.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.4-arm.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.4-arm64.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.4-i686.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.4-x86_64.conf: Likewise. * gnu/packages/aux-files/linux-libre/6.1-arm.conf: Likewise. * gnu/packages/aux-files/linux-libre/6.1-arm64.conf: Likewise. * gnu/packages/aux-files/linux-libre/6.1-i686.conf: Likewise. * gnu/packages/aux-files/linux-libre/6.1-x86_64.conf: Likewise. Reported by mirai in #guix. Tobias Geerinckx-Rice 2023-02-12gnu: linux-libre: Disable unprivileged BPF by default....* gnu/packages/aux-files/linux-libre/5.15-arm.conf: Set CONFIG_BPF_UNPRIV_DEFAULT_OFF=y. * gnu/packages/aux-files/linux-libre/5.15-arm64.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.15-i686.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.15-x86_64.conf: Likewise. * gnu/packages/aux-files/linux-libre/6.1-arm.conf: Likewise. * gnu/packages/aux-files/linux-libre/6.1-arm64.conf: Likewise. * gnu/packages/aux-files/linux-libre/6.1-i686.conf: Likewise. * gnu/packages/aux-files/linux-libre/6.1-x86_64.conf: Likewise. Tobias Geerinckx-Rice 2023-01-13gnu: Remove linux-libre 6.0....This kernel series is no longer supported upstream. * gnu/packages/linux.scm (linux-libre-6.0-version, linux-libre-6.0-gnu-revision, deblob-scripts-6.0, linux-libre-6.0-pristine-source, linux-libre-6.0-source, linux-libre-headers-6.0, linux-libre-6.0): Remove variables. * gnu/packages/aux-files/linux-libre/6.0-arm.conf, gnu/packages/aux-files/linux-libre/6.0-arm64.conf, gnu/packages/aux-files/linux-libre/6.0-i686.conf, gnu/packages/aux-files/linux-libre/6.0-x86_64.conf: Delete files. * Makefile.am (AUX_FILES): Remove them. Leo Famulari 2023-01-08gnu: Remove linux-libre 4.9....This kernel series is no longer supported upstream: https://lkml.iu.edu/hypermail/linux/kernel/2301.0/06398.html https://www.kernel.org/category/releases.html * gnu/packages/aux-files/linux-libre/4.9-i686.conf, gnu/packages/aux-files/linux-libre/4.9-x86_64.conf: Delete files. * Makefile.am (AUX_FILES): Remove them. * gnu/packages/linux.scm (linux-libre-4.9-version, linux-libre-4.9-gnu-revision, deblob-scripts-4.9, linux-libre-4.9-pristine-source, linux-libre-4.9-source, linux-libre-headers-4.9, linux-libre-4.9): Remove variables. * gnu/tests/base.scm (%test-linux-libre-4.9): Likewise. Leo Famulari 2023-01-03gnu: Add linux-libre 6.1....* gnu/packages/linux.scm (linux-libre-6.1-version, linux-libre-6.1-gnu-revision, deblob-scripts-6.1, linux-libre-6.1-source, linux-libre-headers-6.1, linux-libre-6.1): New variables. * gnu/packages/aux-files/linux-libre/6.1-arm.conf, gnu/packages/aux-files/linux-libre/6.1-arm64.conf, gnu/packages/aux-files/linux-libre/6.1-i686.conf, gnu/packages/aux-files/linux-libre/6.1-x86_64.conf: New files. * Makefile.am (AUX_FILES): Add them. Leo Famulari