diff --git a/cross-aarch64-gcc7.spec b/cross-aarch64-gcc7.spec index 65d42b9..403cb35 100644 --- a/cross-aarch64-gcc7.spec +++ b/cross-aarch64-gcc7.spec @@ -149,6 +149,7 @@ Patch38: gcc7-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch Patch39: gcc7-libgo-don-t-include-linux-fs.h-when-building-gen-sys.patch Patch40: gcc7-pr72764.patch Patch41: gcc7-pr89124.patch +Patch42: libgcc-riscv-div.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -343,6 +344,7 @@ ln -s nvptx-newlib/newlib . %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 %patch51 %patch60 %patch61 @@ -669,6 +671,9 @@ nvptx-none, \ %endif %if "%{TARGET_ARCH}" == "m68k" --disable-multilib \ +%endif +%if "%{TARGET_ARCH}" == "riscv64" + --disable-multilib \ %endif --build=%{GCCDIST} \ --host=%{GCCDIST} diff --git a/cross-arm-gcc7.spec b/cross-arm-gcc7.spec index 56d92ad..b0b5c9c 100644 --- a/cross-arm-gcc7.spec +++ b/cross-arm-gcc7.spec @@ -149,6 +149,7 @@ Patch38: gcc7-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch Patch39: gcc7-libgo-don-t-include-linux-fs.h-when-building-gen-sys.patch Patch40: gcc7-pr72764.patch Patch41: gcc7-pr89124.patch +Patch42: libgcc-riscv-div.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -343,6 +344,7 @@ ln -s nvptx-newlib/newlib . %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 %patch51 %patch60 %patch61 @@ -669,6 +671,9 @@ nvptx-none, \ %endif %if "%{TARGET_ARCH}" == "m68k" --disable-multilib \ +%endif +%if "%{TARGET_ARCH}" == "riscv64" + --disable-multilib \ %endif --build=%{GCCDIST} \ --host=%{GCCDIST} diff --git a/cross-arm-none-gcc7-bootstrap.spec b/cross-arm-none-gcc7-bootstrap.spec index 74fe53d..4f4e776 100644 --- a/cross-arm-none-gcc7-bootstrap.spec +++ b/cross-arm-none-gcc7-bootstrap.spec @@ -150,6 +150,7 @@ Patch38: gcc7-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch Patch39: gcc7-libgo-don-t-include-linux-fs.h-when-building-gen-sys.patch Patch40: gcc7-pr72764.patch Patch41: gcc7-pr89124.patch +Patch42: libgcc-riscv-div.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -344,6 +345,7 @@ ln -s nvptx-newlib/newlib . %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 %patch51 %patch60 %patch61 @@ -670,6 +672,9 @@ nvptx-none, \ %endif %if "%{TARGET_ARCH}" == "m68k" --disable-multilib \ +%endif +%if "%{TARGET_ARCH}" == "riscv64" + --disable-multilib \ %endif --build=%{GCCDIST} \ --host=%{GCCDIST} diff --git a/cross-arm-none-gcc7.spec b/cross-arm-none-gcc7.spec index da0c137..9f7f70d 100644 --- a/cross-arm-none-gcc7.spec +++ b/cross-arm-none-gcc7.spec @@ -149,6 +149,7 @@ Patch38: gcc7-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch Patch39: gcc7-libgo-don-t-include-linux-fs.h-when-building-gen-sys.patch Patch40: gcc7-pr72764.patch Patch41: gcc7-pr89124.patch +Patch42: libgcc-riscv-div.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -343,6 +344,7 @@ ln -s nvptx-newlib/newlib . %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 %patch51 %patch60 %patch61 @@ -669,6 +671,9 @@ nvptx-none, \ %endif %if "%{TARGET_ARCH}" == "m68k" --disable-multilib \ +%endif +%if "%{TARGET_ARCH}" == "riscv64" + --disable-multilib \ %endif --build=%{GCCDIST} \ --host=%{GCCDIST} diff --git a/cross-avr-gcc7-bootstrap.spec b/cross-avr-gcc7-bootstrap.spec index b322adb..11f6db5 100644 --- a/cross-avr-gcc7-bootstrap.spec +++ b/cross-avr-gcc7-bootstrap.spec @@ -149,6 +149,7 @@ Patch38: gcc7-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch Patch39: gcc7-libgo-don-t-include-linux-fs.h-when-building-gen-sys.patch Patch40: gcc7-pr72764.patch Patch41: gcc7-pr89124.patch +Patch42: libgcc-riscv-div.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -343,6 +344,7 @@ ln -s nvptx-newlib/newlib . %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 %patch51 %patch60 %patch61 @@ -669,6 +671,9 @@ nvptx-none, \ %endif %if "%{TARGET_ARCH}" == "m68k" --disable-multilib \ +%endif +%if "%{TARGET_ARCH}" == "riscv64" + --disable-multilib \ %endif --build=%{GCCDIST} \ --host=%{GCCDIST} diff --git a/cross-avr-gcc7.spec b/cross-avr-gcc7.spec index 3a901e9..87dc6c8 100644 --- a/cross-avr-gcc7.spec +++ b/cross-avr-gcc7.spec @@ -149,6 +149,7 @@ Patch38: gcc7-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch Patch39: gcc7-libgo-don-t-include-linux-fs.h-when-building-gen-sys.patch Patch40: gcc7-pr72764.patch Patch41: gcc7-pr89124.patch +Patch42: libgcc-riscv-div.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -343,6 +344,7 @@ ln -s nvptx-newlib/newlib . %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 %patch51 %patch60 %patch61 @@ -669,6 +671,9 @@ nvptx-none, \ %endif %if "%{TARGET_ARCH}" == "m68k" --disable-multilib \ +%endif +%if "%{TARGET_ARCH}" == "riscv64" + --disable-multilib \ %endif --build=%{GCCDIST} \ --host=%{GCCDIST} diff --git a/cross-epiphany-gcc7-bootstrap.spec b/cross-epiphany-gcc7-bootstrap.spec index abb3cba..b4b10cc 100644 --- a/cross-epiphany-gcc7-bootstrap.spec +++ b/cross-epiphany-gcc7-bootstrap.spec @@ -150,6 +150,7 @@ Patch38: gcc7-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch Patch39: gcc7-libgo-don-t-include-linux-fs.h-when-building-gen-sys.patch Patch40: gcc7-pr72764.patch Patch41: gcc7-pr89124.patch +Patch42: libgcc-riscv-div.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -344,6 +345,7 @@ ln -s nvptx-newlib/newlib . %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 %patch51 %patch60 %patch61 @@ -670,6 +672,9 @@ nvptx-none, \ %endif %if "%{TARGET_ARCH}" == "m68k" --disable-multilib \ +%endif +%if "%{TARGET_ARCH}" == "riscv64" + --disable-multilib \ %endif --build=%{GCCDIST} \ --host=%{GCCDIST} diff --git a/cross-epiphany-gcc7.spec b/cross-epiphany-gcc7.spec index 53aefd7..9d9ca31 100644 --- a/cross-epiphany-gcc7.spec +++ b/cross-epiphany-gcc7.spec @@ -149,6 +149,7 @@ Patch38: gcc7-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch Patch39: gcc7-libgo-don-t-include-linux-fs.h-when-building-gen-sys.patch Patch40: gcc7-pr72764.patch Patch41: gcc7-pr89124.patch +Patch42: libgcc-riscv-div.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -343,6 +344,7 @@ ln -s nvptx-newlib/newlib . %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 %patch51 %patch60 %patch61 @@ -669,6 +671,9 @@ nvptx-none, \ %endif %if "%{TARGET_ARCH}" == "m68k" --disable-multilib \ +%endif +%if "%{TARGET_ARCH}" == "riscv64" + --disable-multilib \ %endif --build=%{GCCDIST} \ --host=%{GCCDIST} diff --git a/cross-hppa-gcc7.spec b/cross-hppa-gcc7.spec index 6f68e46..667a86b 100644 --- a/cross-hppa-gcc7.spec +++ b/cross-hppa-gcc7.spec @@ -149,6 +149,7 @@ Patch38: gcc7-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch Patch39: gcc7-libgo-don-t-include-linux-fs.h-when-building-gen-sys.patch Patch40: gcc7-pr72764.patch Patch41: gcc7-pr89124.patch +Patch42: libgcc-riscv-div.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -343,6 +344,7 @@ ln -s nvptx-newlib/newlib . %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 %patch51 %patch60 %patch61 @@ -669,6 +671,9 @@ nvptx-none, \ %endif %if "%{TARGET_ARCH}" == "m68k" --disable-multilib \ +%endif +%if "%{TARGET_ARCH}" == "riscv64" + --disable-multilib \ %endif --build=%{GCCDIST} \ --host=%{GCCDIST} diff --git a/cross-i386-gcc7.spec b/cross-i386-gcc7.spec index 157c943..d9b5551 100644 --- a/cross-i386-gcc7.spec +++ b/cross-i386-gcc7.spec @@ -149,6 +149,7 @@ Patch38: gcc7-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch Patch39: gcc7-libgo-don-t-include-linux-fs.h-when-building-gen-sys.patch Patch40: gcc7-pr72764.patch Patch41: gcc7-pr89124.patch +Patch42: libgcc-riscv-div.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -343,6 +344,7 @@ ln -s nvptx-newlib/newlib . %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 %patch51 %patch60 %patch61 @@ -669,6 +671,9 @@ nvptx-none, \ %endif %if "%{TARGET_ARCH}" == "m68k" --disable-multilib \ +%endif +%if "%{TARGET_ARCH}" == "riscv64" + --disable-multilib \ %endif --build=%{GCCDIST} \ --host=%{GCCDIST} diff --git a/cross-m68k-gcc7.spec b/cross-m68k-gcc7.spec index c22c07a..3d08645 100644 --- a/cross-m68k-gcc7.spec +++ b/cross-m68k-gcc7.spec @@ -149,6 +149,7 @@ Patch38: gcc7-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch Patch39: gcc7-libgo-don-t-include-linux-fs.h-when-building-gen-sys.patch Patch40: gcc7-pr72764.patch Patch41: gcc7-pr89124.patch +Patch42: libgcc-riscv-div.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -343,6 +344,7 @@ ln -s nvptx-newlib/newlib . %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 %patch51 %patch60 %patch61 @@ -669,6 +671,9 @@ nvptx-none, \ %endif %if "%{TARGET_ARCH}" == "m68k" --disable-multilib \ +%endif +%if "%{TARGET_ARCH}" == "riscv64" + --disable-multilib \ %endif --build=%{GCCDIST} \ --host=%{GCCDIST} diff --git a/cross-mips-gcc7.spec b/cross-mips-gcc7.spec index 6e2e0a2..e1b575f 100644 --- a/cross-mips-gcc7.spec +++ b/cross-mips-gcc7.spec @@ -149,6 +149,7 @@ Patch38: gcc7-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch Patch39: gcc7-libgo-don-t-include-linux-fs.h-when-building-gen-sys.patch Patch40: gcc7-pr72764.patch Patch41: gcc7-pr89124.patch +Patch42: libgcc-riscv-div.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -343,6 +344,7 @@ ln -s nvptx-newlib/newlib . %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 %patch51 %patch60 %patch61 @@ -669,6 +671,9 @@ nvptx-none, \ %endif %if "%{TARGET_ARCH}" == "m68k" --disable-multilib \ +%endif +%if "%{TARGET_ARCH}" == "riscv64" + --disable-multilib \ %endif --build=%{GCCDIST} \ --host=%{GCCDIST} diff --git a/cross-nvptx-gcc7.spec b/cross-nvptx-gcc7.spec index 984a9a1..dc991db 100644 --- a/cross-nvptx-gcc7.spec +++ b/cross-nvptx-gcc7.spec @@ -149,6 +149,7 @@ Patch38: gcc7-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch Patch39: gcc7-libgo-don-t-include-linux-fs.h-when-building-gen-sys.patch Patch40: gcc7-pr72764.patch Patch41: gcc7-pr89124.patch +Patch42: libgcc-riscv-div.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -343,6 +344,7 @@ ln -s nvptx-newlib/newlib . %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 %patch51 %patch60 %patch61 @@ -669,6 +671,9 @@ nvptx-none, \ %endif %if "%{TARGET_ARCH}" == "m68k" --disable-multilib \ +%endif +%if "%{TARGET_ARCH}" == "riscv64" + --disable-multilib \ %endif --build=%{GCCDIST} \ --host=%{GCCDIST} diff --git a/cross-ppc64-gcc7.spec b/cross-ppc64-gcc7.spec index d5c8621..f190474 100644 --- a/cross-ppc64-gcc7.spec +++ b/cross-ppc64-gcc7.spec @@ -149,6 +149,7 @@ Patch38: gcc7-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch Patch39: gcc7-libgo-don-t-include-linux-fs.h-when-building-gen-sys.patch Patch40: gcc7-pr72764.patch Patch41: gcc7-pr89124.patch +Patch42: libgcc-riscv-div.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -343,6 +344,7 @@ ln -s nvptx-newlib/newlib . %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 %patch51 %patch60 %patch61 @@ -669,6 +671,9 @@ nvptx-none, \ %endif %if "%{TARGET_ARCH}" == "m68k" --disable-multilib \ +%endif +%if "%{TARGET_ARCH}" == "riscv64" + --disable-multilib \ %endif --build=%{GCCDIST} \ --host=%{GCCDIST} diff --git a/cross-ppc64le-gcc7.spec b/cross-ppc64le-gcc7.spec index 61bd26c..7b439f7 100644 --- a/cross-ppc64le-gcc7.spec +++ b/cross-ppc64le-gcc7.spec @@ -149,6 +149,7 @@ Patch38: gcc7-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch Patch39: gcc7-libgo-don-t-include-linux-fs.h-when-building-gen-sys.patch Patch40: gcc7-pr72764.patch Patch41: gcc7-pr89124.patch +Patch42: libgcc-riscv-div.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -343,6 +344,7 @@ ln -s nvptx-newlib/newlib . %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 %patch51 %patch60 %patch61 @@ -669,6 +671,9 @@ nvptx-none, \ %endif %if "%{TARGET_ARCH}" == "m68k" --disable-multilib \ +%endif +%if "%{TARGET_ARCH}" == "riscv64" + --disable-multilib \ %endif --build=%{GCCDIST} \ --host=%{GCCDIST} diff --git a/cross-rx-gcc7-bootstrap.spec b/cross-rx-gcc7-bootstrap.spec index 1639fc0..d97bcdc 100644 --- a/cross-rx-gcc7-bootstrap.spec +++ b/cross-rx-gcc7-bootstrap.spec @@ -150,6 +150,7 @@ Patch38: gcc7-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch Patch39: gcc7-libgo-don-t-include-linux-fs.h-when-building-gen-sys.patch Patch40: gcc7-pr72764.patch Patch41: gcc7-pr89124.patch +Patch42: libgcc-riscv-div.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -344,6 +345,7 @@ ln -s nvptx-newlib/newlib . %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 %patch51 %patch60 %patch61 @@ -670,6 +672,9 @@ nvptx-none, \ %endif %if "%{TARGET_ARCH}" == "m68k" --disable-multilib \ +%endif +%if "%{TARGET_ARCH}" == "riscv64" + --disable-multilib \ %endif --build=%{GCCDIST} \ --host=%{GCCDIST} diff --git a/cross-rx-gcc7.spec b/cross-rx-gcc7.spec index 2cb47e5..834a077 100644 --- a/cross-rx-gcc7.spec +++ b/cross-rx-gcc7.spec @@ -149,6 +149,7 @@ Patch38: gcc7-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch Patch39: gcc7-libgo-don-t-include-linux-fs.h-when-building-gen-sys.patch Patch40: gcc7-pr72764.patch Patch41: gcc7-pr89124.patch +Patch42: libgcc-riscv-div.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -343,6 +344,7 @@ ln -s nvptx-newlib/newlib . %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 %patch51 %patch60 %patch61 @@ -669,6 +671,9 @@ nvptx-none, \ %endif %if "%{TARGET_ARCH}" == "m68k" --disable-multilib \ +%endif +%if "%{TARGET_ARCH}" == "riscv64" + --disable-multilib \ %endif --build=%{GCCDIST} \ --host=%{GCCDIST} diff --git a/cross-s390x-gcc7.spec b/cross-s390x-gcc7.spec index 2a6957b..d76cea9 100644 --- a/cross-s390x-gcc7.spec +++ b/cross-s390x-gcc7.spec @@ -149,6 +149,7 @@ Patch38: gcc7-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch Patch39: gcc7-libgo-don-t-include-linux-fs.h-when-building-gen-sys.patch Patch40: gcc7-pr72764.patch Patch41: gcc7-pr89124.patch +Patch42: libgcc-riscv-div.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -343,6 +344,7 @@ ln -s nvptx-newlib/newlib . %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 %patch51 %patch60 %patch61 @@ -669,6 +671,9 @@ nvptx-none, \ %endif %if "%{TARGET_ARCH}" == "m68k" --disable-multilib \ +%endif +%if "%{TARGET_ARCH}" == "riscv64" + --disable-multilib \ %endif --build=%{GCCDIST} \ --host=%{GCCDIST} diff --git a/cross-sparc-gcc7.spec b/cross-sparc-gcc7.spec index 5cdcf8d..19f590f 100644 --- a/cross-sparc-gcc7.spec +++ b/cross-sparc-gcc7.spec @@ -149,6 +149,7 @@ Patch38: gcc7-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch Patch39: gcc7-libgo-don-t-include-linux-fs.h-when-building-gen-sys.patch Patch40: gcc7-pr72764.patch Patch41: gcc7-pr89124.patch +Patch42: libgcc-riscv-div.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -343,6 +344,7 @@ ln -s nvptx-newlib/newlib . %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 %patch51 %patch60 %patch61 @@ -669,6 +671,9 @@ nvptx-none, \ %endif %if "%{TARGET_ARCH}" == "m68k" --disable-multilib \ +%endif +%if "%{TARGET_ARCH}" == "riscv64" + --disable-multilib \ %endif --build=%{GCCDIST} \ --host=%{GCCDIST} diff --git a/cross-sparc64-gcc7.spec b/cross-sparc64-gcc7.spec index 14edb2c..095e1fb 100644 --- a/cross-sparc64-gcc7.spec +++ b/cross-sparc64-gcc7.spec @@ -149,6 +149,7 @@ Patch38: gcc7-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch Patch39: gcc7-libgo-don-t-include-linux-fs.h-when-building-gen-sys.patch Patch40: gcc7-pr72764.patch Patch41: gcc7-pr89124.patch +Patch42: libgcc-riscv-div.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -343,6 +344,7 @@ ln -s nvptx-newlib/newlib . %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 %patch51 %patch60 %patch61 @@ -669,6 +671,9 @@ nvptx-none, \ %endif %if "%{TARGET_ARCH}" == "m68k" --disable-multilib \ +%endif +%if "%{TARGET_ARCH}" == "riscv64" + --disable-multilib \ %endif --build=%{GCCDIST} \ --host=%{GCCDIST} diff --git a/cross-x86_64-gcc7.spec b/cross-x86_64-gcc7.spec index 3cbb005..a00e148 100644 --- a/cross-x86_64-gcc7.spec +++ b/cross-x86_64-gcc7.spec @@ -149,6 +149,7 @@ Patch38: gcc7-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch Patch39: gcc7-libgo-don-t-include-linux-fs.h-when-building-gen-sys.patch Patch40: gcc7-pr72764.patch Patch41: gcc7-pr89124.patch +Patch42: libgcc-riscv-div.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -343,6 +344,7 @@ ln -s nvptx-newlib/newlib . %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 %patch51 %patch60 %patch61 @@ -669,6 +671,9 @@ nvptx-none, \ %endif %if "%{TARGET_ARCH}" == "m68k" --disable-multilib \ +%endif +%if "%{TARGET_ARCH}" == "riscv64" + --disable-multilib \ %endif --build=%{GCCDIST} \ --host=%{GCCDIST} diff --git a/gcc.spec.in b/gcc.spec.in index 77320d2..c396587 100644 --- a/gcc.spec.in +++ b/gcc.spec.in @@ -40,7 +40,7 @@ %define tsan_arch x86_64 aarch64 ppc ppc64 ppc64le %define asan_arch x86_64 %ix86 ppc ppc64 ppc64le s390 s390x %sparc %arm aarch64 %define itm_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc -%define atomic_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc m68k ia64 +%define atomic_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc m68k ia64 riscv64 %define lsan_arch x86_64 aarch64 ppc ppc64 ppc64le %define ubsan_arch x86_64 %ix86 ppc ppc64 ppc64le s390 s390x %arm aarch64 %if 0%{?build_libvtv:1} @@ -55,7 +55,11 @@ %define build_fortran 1 %define build_objc 1 %define build_objcp 1 +%ifarch riscv64 +%define build_go 0 +%else %define build_go 1 +%endif %if %{build_objcp} %define build_cp 1 @@ -332,6 +336,7 @@ Patch38: gcc7-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch Patch39: gcc7-libgo-don-t-include-linux-fs.h-when-building-gen-sys.patch Patch40: gcc7-pr72764.patch Patch41: gcc7-pr89124.patch +Patch42 : libgcc-riscv-div.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -1136,6 +1141,7 @@ ln -s nvptx-newlib/newlib . %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 %patch51 %patch60 %patch61 @@ -1462,6 +1468,9 @@ nvptx-none, \ %endif %if "%{TARGET_ARCH}" == "m68k" --disable-multilib \ +%endif +%if "%{TARGET_ARCH}" == "riscv64" + --disable-multilib \ %endif --build=%{GCCDIST} \ --host=%{GCCDIST} diff --git a/gcc7-testresults.spec b/gcc7-testresults.spec index 196ac84..63ed00c 100644 --- a/gcc7-testresults.spec +++ b/gcc7-testresults.spec @@ -59,7 +59,7 @@ %define tsan_arch x86_64 aarch64 ppc ppc64 ppc64le %define asan_arch x86_64 %ix86 ppc ppc64 ppc64le s390 s390x %sparc %arm aarch64 %define itm_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc -%define atomic_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc m68k ia64 +%define atomic_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc m68k ia64 riscv64 %define lsan_arch x86_64 aarch64 ppc ppc64 ppc64le %define ubsan_arch x86_64 %ix86 ppc ppc64 ppc64le s390 s390x %arm aarch64 %if 0%{?build_libvtv:1} @@ -74,7 +74,11 @@ %define build_fortran 1 %define build_objc 1 %define build_objcp 1 +%ifarch riscv64 +%define build_go 0 +%else %define build_go 1 +%endif %if %{build_objcp} %define build_cp 1 @@ -346,6 +350,7 @@ Patch38: gcc7-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch Patch39: gcc7-libgo-don-t-include-linux-fs.h-when-building-gen-sys.patch Patch40: gcc7-pr72764.patch Patch41: gcc7-pr89124.patch +Patch42: libgcc-riscv-div.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -525,6 +530,7 @@ ln -s nvptx-newlib/newlib . %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 %patch51 %patch60 %patch61 @@ -851,6 +857,9 @@ nvptx-none, \ %endif %if "%{TARGET_ARCH}" == "m68k" --disable-multilib \ +%endif +%if "%{TARGET_ARCH}" == "riscv64" + --disable-multilib \ %endif --build=%{GCCDIST} \ --host=%{GCCDIST} diff --git a/gcc7.changes b/gcc7.changes index 705632a..8e58969 100644 --- a/gcc7.changes +++ b/gcc7.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue May 23 13:29:37 UTC 2023 - Andreas Schwab + +- Disable multilib and go on riscv64 +- libgcc-riscv-div.patch: Backport of r12-5799-g45116f342057b7 to fix + build with current binutils + ------------------------------------------------------------------- Tue May 9 13:12:55 UTC 2023 - Richard Biener diff --git a/gcc7.spec b/gcc7.spec index 6263e50..740126f 100644 --- a/gcc7.spec +++ b/gcc7.spec @@ -38,7 +38,7 @@ %define tsan_arch x86_64 aarch64 ppc ppc64 ppc64le %define asan_arch x86_64 %ix86 ppc ppc64 ppc64le s390 s390x %sparc %arm aarch64 %define itm_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc -%define atomic_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc m68k ia64 +%define atomic_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc m68k ia64 riscv64 %define lsan_arch x86_64 aarch64 ppc ppc64 ppc64le %define ubsan_arch x86_64 %ix86 ppc ppc64 ppc64le s390 s390x %arm aarch64 %if 0%{?build_libvtv:1} @@ -53,7 +53,11 @@ %define build_fortran 1 %define build_objc 1 %define build_objcp 1 +%ifarch riscv64 +%define build_go 0 +%else %define build_go 1 +%endif %if %{build_objcp} %define build_cp 1 @@ -325,6 +329,7 @@ Patch38: gcc7-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch Patch39: gcc7-libgo-don-t-include-linux-fs.h-when-building-gen-sys.patch Patch40: gcc7-pr72764.patch Patch41: gcc7-pr89124.patch +Patch42: libgcc-riscv-div.patch # A set of patches from the RH srpm Patch51: gcc41-ppc32-retaddr.patch # Some patches taken from Debian @@ -1862,6 +1867,7 @@ ln -s nvptx-newlib/newlib . %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 %patch51 %patch60 %patch61 @@ -2188,6 +2194,9 @@ nvptx-none, \ %endif %if "%{TARGET_ARCH}" == "m68k" --disable-multilib \ +%endif +%if "%{TARGET_ARCH}" == "riscv64" + --disable-multilib \ %endif --build=%{GCCDIST} \ --host=%{GCCDIST} diff --git a/libgcc-riscv-div.patch b/libgcc-riscv-div.patch new file mode 100644 index 0000000..76fb75d --- /dev/null +++ b/libgcc-riscv-div.patch @@ -0,0 +1,121 @@ +From 485b0a0039a29cf046fe97c7d72aefe49275b141 Mon Sep 17 00:00:00 2001 +From: Nelson Chu +Date: Mon, 29 Nov 2021 04:48:20 -0800 +Subject: [PATCH] RISC-V: jal cannot refer to a default visibility symbol for + shared object. + +This is the original binutils bugzilla report, +https://sourceware.org/bugzilla/show_bug.cgi?id=28509 + +And this is the first version of the proposed binutils patch, +https://sourceware.org/pipermail/binutils/2021-November/118398.html + +After applying the binutils patch, I get the the unexpected error when +building libgcc, + +/scratch/nelsonc/riscv-gnu-toolchain/riscv-gcc/libgcc/config/riscv/div.S:42: +/scratch/nelsonc/build-upstream/rv64gc-linux/build-install/riscv64-unknown-linux-gnu/bin/ld: relocation R_RISCV_JAL against `__udivdi3' which may bind externally can not be used when making a shared object; recompile with -fPIC + +Therefore, this patch add an extra hidden alias symbol for __udivdi3, and +then use HIDDEN_JUMPTARGET to target a non-preemptible symbol instead. +The solution is similar to glibc as follows, +https://sourceware.org/git/?p=glibc.git;a=commit;h=68389203832ab39dd0dbaabbc4059e7fff51c29b + +libgcc/ChangeLog: + + * config/riscv/div.S: Add the hidden alias symbol for __udivdi3, and + then use HIDDEN_JUMPTARGET to target it since it is non-preemptible. + * config/riscv/riscv-asm.h: Added new macros HIDDEN_JUMPTARGET and + HIDDEN_DEF. +--- + libgcc/config/riscv/div.S | 23 ++++++++++++++++------- + 1 file changed, 16 insertions(+), 7 deletions(-) + +diff --git a/libgcc/config/riscv/div.S b/libgcc/config/riscv/div.S +index 63d542e846c..2d43a48a302 100644 +--- a/libgcc/config/riscv/div.S ++++ b/libgcc/config/riscv/div.S +@@ -23,6 +23,14 @@ a copy of the GCC Runtime Library Exception along with this program; + see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + . */ + ++#define FUNC_ALIAS(X,Y) \ ++ .globl X; \ ++ X = Y ++#define CONCAT1(a, b) CONCAT2(a, b) ++#define CONCAT2(a, b) a ## b ++#define HIDDEN_JUMPTARGET(X) CONCAT1(__hidden_, X) ++#define HIDDEN_DEF(X) FUNC_ALIAS(HIDDEN_JUMPTARGET(X), X); \ ++ .hidden HIDDEN_JUMPTARGET(X) + .text + .align 2 + +@@ -39,7 +47,7 @@ __udivsi3: + sll a0, a0, 32 + sll a1, a1, 32 + move t0, ra +- jal __udivdi3 ++ jal HIDDEN_JUMPTARGET(__udivdi3) + sext.w a0, a0 + jr t0 + +@@ -51,7 +59,7 @@ __umodsi3: + srl a0, a0, 32 + srl a1, a1, 32 + move t0, ra +- jal __udivdi3 ++ jal HIDDEN_JUMPTARGET(__udivdi3) + sext.w a0, a1 + jr t0 + +@@ -96,12 +104,13 @@ __udivdi3: + bnez a3, .L3 + .L5: + ret ++HIDDEN_DEF (__udivdi3) + + .globl __umoddi3 + __umoddi3: + /* Call __udivdi3(a0, a1), then return the remainder, which is in a1. */ + move t0, ra +- jal __udivdi3 ++ jal HIDDEN_JUMPTARGET(__udivdi3) + move a0, a1 + jr t0 + +@@ -110,12 +119,12 @@ __umoddi3: + neg a0, a0 + bgez a1, .L12 /* Compute __udivdi3(-a0, a1), then negate the result. */ + neg a1, a1 +- j __udivdi3 /* Compute __udivdi3(-a0, -a1). */ ++ j HIDDEN_JUMPTARGET(__udivdi3) /* Compute __udivdi3(-a0, -a1). */ + .L11: /* Compute __udivdi3(a0, -a1), then negate the result. */ + neg a1, a1 + .L12: + move t0, ra +- jal __udivdi3 ++ jal HIDDEN_JUMPTARGET(__udivdi3) + neg a0, a0 + jr t0 + +@@ -125,7 +134,7 @@ __moddi3: + bltz a1, .L31 + bltz a0, .L32 + .L30: +- jal __udivdi3 /* The dividend is not negative. */ ++ jal HIDDEN_JUMPTARGET(__udivdi3) /* The dividend is not negative. */ + move a0, a1 + jr t0 + .L31: +@@ -133,7 +142,7 @@ __moddi3: + bgez a0, .L30 + .L32: + neg a0, a0 +- jal __udivdi3 /* The dividend is hella negative. */ ++ jal HIDDEN_JUMPTARGET(__udivdi3) /* The dividend is hella negative. */ + neg a0, a1 + jr t0 + +-- +2.40.1 +