Rockbox open source high quality audio player as a Music Player Daemon
mpris rockbox mpd libadwaita audio rust zig deno
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

Toolchains: Update to GCC 9.5.0

All toolchain dependencies are circa the GCC 9.5.0 release:

GCC 9.5.0, binutils 2.38, gmp 6.2.1, mpfr 4.1.1, mpc 1.2.1, isl 0.18

Native:

* arm - mini2g, nano2g seems to work
- ipod6g boot hang on 9.5.0 (possibly leading to disk corruption)
* mips - xduoox3 seems stable so far
* m68k - binaries untested

Hosted:

* arm - binaries untested
* mips - erosq seems stable so far
* Android NDK - unchanged at GCC 4.9.4

Change-Id: I614f1b198643bfa8c45f68e4d8e15307a4998618

+164 -191
+6 -6
tools/configure
··· 138 138 139 139 findarmgcc() { 140 140 prefixtools arm-elf-eabi- 141 - gccchoice="4.9.4" 141 + gccchoice="9.5.0" 142 142 } 143 143 144 144 # scan the $PATH for the given command ··· 543 543 GCCOPTS="$CCOPTS -mcpu=5249 -malign-int -mstrict-align" 544 544 GCCOPTIMIZE="-fomit-frame-pointer" 545 545 endian="big" 546 - gccchoice="4.9.4" 546 + gccchoice="9.5.0" 547 547 } 548 548 549 549 arm7tdmicc () { ··· 616 616 GCCOPTS="$GCCOPTS -ffunction-sections -msoft-float -G 0 -Wno-parentheses" 617 617 GCCOPTIMIZE="-fomit-frame-pointer" 618 618 endian="little" 619 - gccchoice="4.9.4" 619 + gccchoice="9.5.0" 620 620 } 621 621 622 622 mipsr2elcc () { ··· 626 626 GCCOPTS="$GCCOPTS -ffunction-sections -msoft-float -G 0 -Wno-parentheses" 627 627 GCCOPTIMIZE="-fomit-frame-pointer" 628 628 endian="little" 629 - gccchoice="4.9.4" 629 + gccchoice="9.5.0" 630 630 } 631 631 632 632 maemocc () { ··· 773 773 GCCOPTS="$GCCOPTS -D_GNU_SOURCE=1 -U_FORTIFY_SOURCE -D_REENTRANT" 774 774 775 775 # Set up compiler 776 - gccchoice="4.9.4" 776 + gccchoice="9.5.0" 777 777 prefixtools "arm-rockbox-linux-gnueabi-" 778 778 } 779 779 ··· 953 953 GCCOPTS="$GCCOPTS -D_GNU_SOURCE=1 -U_FORTIFY_SOURCE -D_REENTRANT" 954 954 955 955 # Set up compiler 956 - gccchoice="4.9.4" 956 + gccchoice="9.5.0" 957 957 prefixtools "mipsel-rockbox-linux-gnu-" 958 958 } 959 959
+57 -72
tools/rockboxdev.sh
··· 484 484 cd "$toolname-$version" 485 485 if (echo $needs_libs | grep -q gmp && test ! -d gmp); then 486 486 echo "ROCKBOXDEV: Getting GMP" 487 - getfile "gmp-6.1.2.tar.xz" "$GNU_MIRROR/gmp" 488 - tar xJf $dlwhere/gmp-6.1.2.tar.xz 489 - ln -s gmp-6.1.2 gmp 487 + getfile "gmp-6.2.1.tar.bz2" "$GNU_MIRROR/gmp" 488 + tar xjf $dlwhere/gmp-6.2.1.tar.bz2 489 + ln -s gmp-6.2.1 gmp 490 490 fi 491 491 492 492 if (echo $needs_libs | grep -q mpfr && test ! -d mpfr); then 493 493 echo "ROCKBOXDEV: Getting MPFR" 494 - getfile "mpfr-3.1.6.tar.xz" "$GNU_MIRROR/mpfr" 495 - tar xJf $dlwhere/mpfr-3.1.6.tar.xz 496 - ln -s mpfr-3.1.6 mpfr 494 + getfile "mpfr-4.1.1.tar.xz" "$GNU_MIRROR/mpfr" 495 + tar xJf $dlwhere/mpfr-4.1.1.tar.xz 496 + ln -s mpfr-4.1.1 mpfr 497 497 fi 498 498 499 499 if (echo $needs_libs | grep -q mpc && test ! -d mpc); then 500 500 echo "ROCKBOXDEV: Getting MPC" 501 - getfile "mpc-1.0.1.tar.gz" "http://www.multiprecision.org/downloads" 502 - tar xzf $dlwhere/mpc-1.0.1.tar.gz 503 - ln -s mpc-1.0.1 mpc 501 + getfile "mpc-1.2.1.tar.gz" "http://www.multiprecision.org/downloads" 502 + tar xzf $dlwhere/mpc-1.2.1.tar.gz 503 + ln -s mpc-1.2.1 mpc 504 504 fi 505 505 506 506 if (echo $needs_libs | grep -q isl && test ! -d isl); then 507 507 echo "ROCKBOXDEV: Getting ISL" 508 - getfile "isl-0.15.tar.bz2" "https://gcc.gnu.org/pub/gcc/infrastructure" 509 - tar xjf $dlwhere/isl-0.15.tar.bz2 510 - ln -s isl-0.15 isl 508 + getfile "isl-0.18.tar.bz2" "https://gcc.gnu.org/pub/gcc/infrastructure" 509 + tar xjf $dlwhere/isl-0.18.tar.bz2 510 + ln -s isl-0.18 isl 511 511 fi 512 512 cd $builddir 513 513 fi ··· 562 562 563 563 # check libraries: 564 564 # contrary to other toolchains that rely on a hack to avoid installing 565 - # gmp, mpc and mpfr, we simply require that they are installed on the system 566 - # this is not a huge requirement since virtually all systems these days 567 - # provide dev packages for them 565 + # gmp, mpc, and mpfr, we simply require that they are installed on 566 + # the system this is not a huge requirement since virtually all systems 567 + # these days provide dev packages for them 568 568 # FIXME: maybe add an option to download and install them automatically 569 569 checklib "mpc" "gmp" "mpfr" 570 570 ··· 596 596 extract "linux-$linux_ver" 597 597 extract "glibc-$glibc_ver" 598 598 599 - # do we have a patch? 600 - for p in $glibc_patches; do 601 - echo "ROCKBOXDEV: applying patch $p" 602 - (cd $builddir/glibc-$glibc_ver ; patch -p1 < "$patch_dir/$p") 603 - 604 - # check if the patch applied cleanly 605 - if [ $? -gt 0 ]; then 606 - echo "ROCKBOXDEV: failed to apply patch $p" 607 - exit 608 - fi 609 - done 610 - 611 599 # we make it possible to restart a build on error by using the RBDEV_RESTART 612 600 # variable, the format is RBDEV_RESTART="tool" where tool is the toolname at which 613 601 # to restart (binutils, gcc) ··· 638 626 # build glibc using the first stage cross compiler 639 627 # we need to set the prefix to /usr because the glibc runs on the actual 640 628 # target and is indeed installed in /usr 629 + 630 + for p in $glibc_patches; do 631 + echo "ROCKBOXDEV: applying patch $p" 632 + (cd $builddir/glibc-$glibc_ver ; patch -p1 < "$patch_dir/$p") 633 + 634 + # check if the patch applied cleanly 635 + if [ $? -gt 0 ]; then 636 + echo "ROCKBOXDEV: failed to apply patch $p" 637 + exit 638 + fi 639 + done 640 + 641 641 RESTART_STEP="glibc" \ 642 642 prefix="/usr" \ 643 643 buildtool "glibc" "$glibc_ver" "--target=$target --host=$target --build=$MACHTYPE \ ··· 784 784 echo "" 785 785 case $arch in 786 786 [Ii]) 787 - build "binutils" "mipsel-elf" "2.26.1" "" "--disable-werror" "gmp isl" 788 - build "gcc" "mipsel-elf" "4.9.4" "" "" "gmp mpfr mpc isl" 787 + build "binutils" "mipsel-elf" "2.38" "" "--disable-werror" "gmp isl" 788 + build "gcc" "mipsel-elf" "9.5.0" "" "" "gmp mpfr mpc isl" 789 789 ;; 790 790 791 791 [Mm]) 792 - build "binutils" "m68k-elf" "2.26.1" "" "--disable-werror" "gmp isl" 793 - build "gcc" "m68k-elf" "4.9.4" "" "--with-arch=cf MAKEINFO=missing" "gmp mpfr mpc isl" 792 + build "binutils" "m68k-elf" "2.38" "" "--disable-werror" "gmp isl" 793 + build "gcc" "m68k-elf" "9.5.0" "" "--with-arch=cf MAKEINFO=missing" "gmp mpfr mpc isl" 794 794 ;; 795 795 796 796 [Aa]) 797 797 binopts="" 798 - gccopts="" 798 + gccopts="--with-multilib-list=rmprofile" 799 799 case $system in 800 800 Darwin) 801 801 binopts="--disable-nls" 802 802 gccopts="--disable-nls" 803 803 ;; 804 804 esac 805 - build "binutils" "arm-elf-eabi" "2.26.1" "" "$binopts --disable-werror" "gmp isl" 806 - build "gcc" "arm-elf-eabi" "4.9.4" "rockbox-multilibs-noexceptions-arm-elf-eabi-gcc-4.9.4.diff" "$gccopts MAKEINFO=missing" "gmp mpfr mpc isl" 805 + build "binutils" "arm-elf-eabi" "2.38" "" "$binopts --disable-werror" "gmp isl" 806 + build "gcc" "arm-elf-eabi" "9.5.0" "rockbox-multilibs-noexceptions-arm-elf-eabi-gcc-9.5.0.diff" "$gccopts MAKEINFO=missing" "gmp mpfr mpc isl" 807 807 ;; 808 808 [Xx]) 809 809 # IMPORTANT NOTE ··· 812 812 # 813 813 # Samsung YP-R0/R1: 814 814 # ARM1176JZF-S, softfp EABI 815 - # gcc: 4.9.4 is the latest 4.9.x stable branch, also the only one that 816 - # compiles with GCC >6 817 - # kernel: 2.6.27.59 is the same 2.6.x stable kernel as used by the 818 - # original ct-ng toolchain, the device runs kernel 2.6.24 819 - # glibc: 2.19 is the latest version that supports kernel 2.6.24 which 820 - # is used on the device, but we need to support ABI 2.4 because 821 - # the device uses glibc 2.4.2 822 - # 815 + # kernel: device runs 2.6.24, but oem toolchain is built against 2.6.27.59 816 + # glibc: device runs 2.4.2 817 + # 823 818 # Sony NWZ: 824 - # gcc: 4.9.4 is the latest 4.9.x stable branch, also the only one that 825 - # compiles with GCC >6 826 - # kernel: 2.6.32.68 is the latest 2.6.x stable kernel, the device 827 - # runs kernel 2.6.23 or 2.6.35 or 3.x for the most recent 828 - # glibc: 2.19 is the latest version that supports kernel 2.6.23 which 829 - # is used on many Sony players, but we need to support ABI 2.7 830 - # because the device uses glibc 2.7 819 + # kernel: Varies from device to device; 2.6.23, 2.6.35, and 3.x seen. 820 + # glibc: device runs 2.7 831 821 # 832 - # Thus the lowest common denominator is to use the latest 2.6.x stable 833 - # kernel but compile glibc to support kernel 2.6.23 and glibc 2.4. 834 - # We use a recent 2.26.1 binutils to avoid any build problems and 835 - # avoid patches/bugs. 822 + # Thus the lowest common denominator is to target 2.6.23 and glibc 2.4 823 + # Use a recent 2.6.32 LTS kernel, but glibc 2.20 targeting 2.6.23 and API 2.4 824 + # 836 825 glibcopts="--enable-kernel=2.6.23 --enable-oldest-abi=2.4" 837 - build_linux_toolchain "arm-rockbox-linux-gnueabi" "2.26.1" "" "4.9.4" \ 838 - "$gccopts" "2.6.32.68" "2.19" "$glibcopts" "glibc-220-make44.patch" 826 + build_linux_toolchain "arm-rockbox-linux-gnueabi" "2.38" "" "9.5.0" \ 827 + "$gccopts" "2.6.32.71" "2.20" "$glibcopts" "glibc-220-make44.patch" 839 828 # build alsa-lib 840 829 # we need to set the prefix to how it is on device (/usr) and then 841 830 # tweak install dir at make install step ··· 850 839 # This toolchain must support several targets and thus must support 851 840 # the oldest possible configuration. 852 841 # 853 - # AGPTek Rocker: 854 - # XBurst release 1 (something inbetween mips32r1 and mips32r2) 855 - # gcc: 4.9.4 is the latest 4.9.x stable branch, also the only one that 856 - # compiles with GCC >6 842 + # AGPTek Rocker (and other HibyOS players): 857 843 # kernel: 3.10.14 858 844 # glibc: 2.16 859 845 # alsa: 1.0.29 860 846 # 861 - # FiiO M3K Linux: 847 + # FiiO M3K Linux (Based on Ingenic SDK): 862 848 # kernel: 3.10.14 863 849 # glibc: 2.16 864 850 # alsa: 1.0.26 865 851 # 866 - # To maximize compatibility, we use kernel 3.2.85 which is the lastest 867 - # longterm 3.2 kernel and is supported by the latest glibc, and we 868 - # require support for up to glibc 2.16 869 - # We use a recent 2.26.1 binutils to avoid any build problems and 870 - # avoid patches/bugs. 871 - glibcopts="--enable-kernel=3.2 --enable-oldest-abi=2.16" 872 - # FIXME: maybe add -mhard-float 873 - build_linux_toolchain "mipsel-rockbox-linux-gnu" "2.26.1" "" "4.9.4" \ 874 - "$gccopts" "3.2.85" "2.25" "$glibcopts" "glibc-225-make44.patch" 852 + # Use a recent 3.10 LTS kernel, but glibc 2.27 targeting 3.2.x and API 2.16 853 + # 854 + glibcopts="--enable-kernel=3.2 --enable-oldest-abi=2.16 --disable-werror" 855 + # FIXME: maybe add -mhard-float? 856 + build_linux_toolchain "mipsel-rockbox-linux-gnu" "2.38" "" "9.5.0" \ 857 + "$gccopts" "3.10.108" "2.27" "$glibcopts" "glibc-227-make44.patch" 875 858 # build alsa-lib 876 859 # we need to set the prefix to how it is on device (/usr) and then 877 860 # tweak install dir at make install step ··· 879 862 gettool "alsa-lib" "$alsalib_ver" 880 863 extract "alsa-lib-$alsalib_ver" 881 864 prefix="/usr" buildtool "alsa-lib" "$alsalib_ver" \ 882 - "--host=$target --disable-python" "" "install DESTDIR=$prefix/$target/sysroot" 865 + "--host=$target --disable-python" "" "install DESTDIR=$prefix/$target/sysroot" 866 + 867 + ### Everything below here is needed only for bluetooth support 868 + 883 869 # build libffi 884 870 libffi_ver="3.2.1" 885 871 gettool "libffi" "$libffi_ver" ··· 900 886 gettool "glib" "$glib_ver" 901 887 extract "glib-$glib_ver" 902 888 prefix="/usr" buildtool "glib" "$glib_ver" \ 903 - "--host=$target --with-sysroot=$prefix/$target/sysroot --disable-libelf glib_cv_stack_grows=no glib_cv_uscore=no ac_cv_func_posix_getpwuid_r=yes ac_cv_func_posix_getgrgid_r=yes" "" "install DESTDIR=$prefix/$target/sysroot" 889 + "--host=$target --with-sysroot=$prefix/$target/sysroot --disable-libelf glib_cv_stack_grows=no glib_cv_uscore=no ac_cv_func_posix_getpwuid_r=yes ac_cv_func_posix_getgrgid_r=yes CFLAGS=-Wno-error=format-nonliteral" "" "install DESTDIR=$prefix/$target/sysroot" 904 890 905 891 # build expat 906 892 expat_ver="2.1.0" ··· 915 901 extract "dbus-$dbus_ver" 916 902 prefix="/usr" buildtool "dbus" "$dbus_ver" \ 917 903 "--host=$target --with-sysroot=$prefix/$target/sysroot --includedir=/usr/include --enable-abstract-sockets ac_cv_lib_expat_XML_ParserCreate_MM=yes --disable-systemd --disable-launchd --enable-x11-autolaunch=no --with-x=no -disable-selinux --disable-apparmor --disable-doxygen-docs " "" "install DESTDIR=$prefix/$target/sysroot " 918 - 919 904 920 905 ;; 921 906 *)
+13
tools/toolchain-patches/apple_silicon.patch
··· 1 + diff --git a/gcc/gcc/config/aarch64/aarch64.h b/gcc/gcc/config/aarch64/aarch64.h 2 + index 976f9afae5..736b83ff0b 100644 3 + --- a/gcc/config/aarch64/aarch64.h 4 + +++ b/gcc/config/aarch64/aarch64.h 5 + @@ -1000,7 +1000,7 @@ extern const char *aarch64_rewrite_mcpu (int argc, const char **argv); 6 + #define MCPU_TO_MARCH_SPEC_FUNCTIONS \ 7 + { "rewrite_mcpu", aarch64_rewrite_mcpu }, 8 + 9 + -#if defined(__aarch64__) 10 + +#if defined(__aarch64__) && ! defined(__APPLE__) 11 + extern const char *host_detect_local_cpu (int argc, const char **argv); 12 + #define HAVE_LOCAL_CPU_DETECT 13 + # define EXTRA_SPEC_FUNCTIONS \ 1 14 diff --git a/gcc/gcc/config/host-darwin.c b/gcc/gcc/config/host-darwin.c 2 15 index 8f700eec85..b737abc006 100644 3 16 --- a/gcc/config/host-darwin.c
+45 -57
tools/toolchain-patches/glibc-225-make44.patch tools/toolchain-patches/glibc-227-make44.patch
··· 1 - diff -Naur glibc-2.25/libio/stdio.h glibc-2.25-patched/libio/stdio.h 2 - --- glibc-2.25/libio/stdio.h 2017-02-05 10:28:43.000000000 -0500 3 - +++ glibc-2.25-patched/libio/stdio.h 2023-05-23 15:22:27.482980335 -0400 4 - @@ -154,18 +154,23 @@ 1 + diff -Naur glibc-2.27/libio/stdio.h glibc-2.27-patched/libio/stdio.h 2 + --- glibc-2.27/libio/stdio.h 2018-02-01 11:17:18.000000000 -0500 3 + +++ glibc-2.27-patched/libio/stdio.h 2023-05-23 14:10:06.618633203 -0400 4 + @@ -118,18 +118,23 @@ 5 5 # define P_tmpdir "/tmp" 6 6 #endif 7 7 ··· 32 32 33 33 /* Standard streams. */ 34 34 extern struct _IO_FILE *stdin; /* Standard input stream. */ 35 - diff -Naur glibc-2.25/Makerules glibc-2.25-patched/Makerules 36 - --- glibc-2.25/Makerules 2017-02-05 10:28:43.000000000 -0500 37 - +++ glibc-2.25-patched/Makerules 2023-05-23 15:22:05.594967548 -0400 38 - @@ -1474,55 +1474,7 @@ 39 - endif 35 + diff -Naur glibc-2.27/Makerules glibc-2.27-patched/Makerules 36 + --- glibc-2.27/Makerules 2018-02-01 11:17:18.000000000 -0500 37 + +++ glibc-2.27-patched/Makerules 2023-05-23 14:10:06.617633203 -0400 38 + @@ -1522,46 +1522,6 @@ 40 39 41 40 endif 42 - - 41 + 43 42 -# These will have been set by sysdeps/posix/Makefile. 44 43 -L_tmpnam ?= 1 45 44 -TMP_MAX ?= 0 46 45 -L_ctermid ?= 1 47 46 -L_cuserid ?= 1 48 - 47 + - 49 48 -stdio_lim = $(common-objpfx)bits/stdio_lim.h 50 49 - 51 50 -$(stdio_lim:lim.h=%.h) $(stdio_lim:lim.h=%.d): $(stdio_lim:lim.h=%.st); @: ··· 53 52 - $(common-objpfx)config.make 54 53 - $(make-target-directory) 55 54 - { echo '#include "$(..)posix/bits/posix1_lim.h"'; \ 56 - - echo '#define _LIBC 1'; \ 57 - - echo '#include "$(..)misc/sys/uio.h"'; } | \ 55 + - } | \ 58 56 - $(CC) -E -dM -MD -MP -MF $(@:st=dT) -MT '$(@:st=h) $(@:st=d)' \ 59 57 - $(CPPUNDEFS) $(+includes) -xc - -o $(@:st=hT) 60 58 - sed $(sed-remove-objpfx) $(sed-remove-dotdot) \ ··· 62 60 - mv -f $(@:st=dt) $(@:st=d) 63 61 - fopen_max=`sed -n 's/^#define OPEN_MAX //1p' $(@:st=hT)`; \ 64 62 - filename_max=`sed -n 's/^#define PATH_MAX //1p' $(@:st=hT)`; \ 65 - - iov_max=`sed -n 's/^#define UIO_MAXIOV //p' $(@:st=hT)`; \ 66 63 - fopen_max=$${fopen_max:-16}; \ 67 64 - filename_max=$${filename_max:-1024}; \ 68 - - if [ -z "$$iov_max" ]; then \ 69 - - define_iov_max="# undef IOV_MAX"; \ 70 - - else \ 71 - - define_iov_max="# define IOV_MAX $$iov_max"; \ 72 - - fi; \ 73 65 - sed -e "s/@FOPEN_MAX@/$$fopen_max/" \ 74 66 - -e "s/@FILENAME_MAX@/$$filename_max/" \ 75 67 - -e "s/@L_tmpnam@/$(L_tmpnam)/" \ 76 68 - -e "s/@TMP_MAX@/$(TMP_MAX)/" \ 77 69 - -e "s/@L_ctermid@/$(L_ctermid)/" \ 78 70 - -e "s/@L_cuserid@/$(L_cuserid)/" \ 79 - - -e "s/@define_IOV_MAX@/$$define_iov_max/" \ 80 71 - $< > $(@:st=h.new) 81 72 - $(move-if-change) $(@:st=h.new) $(@:st=h) 82 73 -# Remove these last so that they can be examined if something went wrong. ··· 91 82 FORCE: 92 83 93 84 .PHONY: echo-headers 94 - diff -Naur glibc-2.25/Rules glibc-2.25-patched/Rules 95 - --- glibc-2.25/Rules 2017-02-05 10:28:43.000000000 -0500 96 - +++ glibc-2.25-patched/Rules 2023-05-23 15:22:27.482980335 -0400 85 + diff -Naur glibc-2.27/Rules glibc-2.27-patched/Rules 86 + --- glibc-2.27/Rules 2018-02-01 11:17:18.000000000 -0500 87 + +++ glibc-2.27-patched/Rules 2023-05-23 14:10:06.617633203 -0400 97 88 @@ -60,9 +60,6 @@ 98 89 common-generated := 99 90 endif ··· 104 95 include $(..)Makerules 105 96 106 97 .PHONY: subdir_lib 107 - diff -Naur glibc-2.25/stdio-common/stdio_lim.h.in glibc-2.25-patched/stdio-common/stdio_lim.h.in 108 - --- glibc-2.25/stdio-common/stdio_lim.h.in 2017-02-05 10:28:43.000000000 -0500 109 - +++ glibc-2.25-patched/stdio-common/stdio_lim.h.in 1969-12-31 19:00:00.000000000 -0500 110 - @@ -1,42 +0,0 @@ 111 - -/* Copyright (C) 1994-2017 Free Software Foundation, Inc. 98 + diff -Naur glibc-2.27/stdio-common/stdio_lim.h.in glibc-2.27-patched/stdio-common/stdio_lim.h.in 99 + --- glibc-2.27/stdio-common/stdio_lim.h.in 2018-02-01 11:17:18.000000000 -0500 100 + +++ glibc-2.27-patched/stdio-common/stdio_lim.h.in 1969-12-31 19:00:00.000000000 -0500 101 + @@ -1,39 +0,0 @@ 102 + -/* Copyright (C) 1994-2018 Free Software Foundation, Inc. 112 103 - This file is part of the GNU C Library. 113 104 - 114 105 - The GNU C Library is free software; you can redistribute it and/or ··· 125 116 - License along with the GNU C Library; if not, see 126 117 - <http://www.gnu.org/licenses/>. */ 127 118 - 128 - -#if !defined _STDIO_H && !defined __need_FOPEN_MAX && !defined __need_IOV_MAX 119 + -#ifndef _BITS_STDIO_LIM_H 120 + -#define _BITS_STDIO_LIM_H 1 121 + - 122 + -#ifndef _STDIO_H 129 123 -# error "Never include <bits/stdio_lim.h> directly; use <stdio.h> instead." 130 124 -#endif 131 125 - 132 - -#ifdef _STDIO_H 133 - -# define L_tmpnam @L_tmpnam@ 134 - -# define TMP_MAX @TMP_MAX@ 135 - -# define FILENAME_MAX @FILENAME_MAX@ 126 + -#define L_tmpnam @L_tmpnam@ 127 + -#define TMP_MAX @TMP_MAX@ 128 + -#define FILENAME_MAX @FILENAME_MAX@ 136 129 - 137 - -# ifdef __USE_POSIX 138 - -# define L_ctermid @L_ctermid@ 139 - -# if !defined __USE_XOPEN2K || defined __USE_GNU 140 - -# define L_cuserid @L_cuserid@ 141 - -# endif 130 + -#ifdef __USE_POSIX 131 + -# define L_ctermid @L_ctermid@ 132 + -# if !defined __USE_XOPEN2K || defined __USE_GNU 133 + -# define L_cuserid @L_cuserid@ 142 134 -# endif 143 135 -#endif 144 136 - 145 - -#if defined __need_FOPEN_MAX || defined _STDIO_H 146 - -# undef FOPEN_MAX 147 - -# define FOPEN_MAX @FOPEN_MAX@ 148 - -#endif 137 + -#undef FOPEN_MAX 138 + -#define FOPEN_MAX @FOPEN_MAX@ 149 139 - 150 - -#if defined __need_IOV_MAX && !defined IOV_MAX 151 - -@define_IOV_MAX@ 152 - -#endif 153 - diff -Naur glibc-2.25/sysdeps/mach/hurd/bits/stdio_lim.h glibc-2.25-patched/sysdeps/mach/hurd/bits/stdio_lim.h 154 - --- glibc-2.25/sysdeps/mach/hurd/bits/stdio_lim.h 1969-12-31 19:00:00.000000000 -0500 155 - +++ glibc-2.25-patched/sysdeps/mach/hurd/bits/stdio_lim.h 2023-05-23 15:22:27.483980336 -0400 140 + -#endif /* bits/stdio_lim.h */ 141 + diff -Naur glibc-2.27/sysdeps/mach/hurd/bits/stdio_lim.h glibc-2.27-patched/sysdeps/mach/hurd/bits/stdio_lim.h 142 + --- glibc-2.27/sysdeps/mach/hurd/bits/stdio_lim.h 1969-12-31 19:00:00.000000000 -0500 143 + +++ glibc-2.27-patched/sysdeps/mach/hurd/bits/stdio_lim.h 2023-05-23 14:10:06.618633203 -0400 156 144 @@ -0,0 +1,28 @@ 157 145 +/* System specific stdio.h definitions. Hurd version. 158 146 + Copyright (C) 2023 Free Software Foundation, Inc. ··· 182 170 +#define FILENAME_MAX 1024 183 171 + 184 172 +#endif /* bits/stdio_lim.h */ 185 - diff -Naur glibc-2.25/sysdeps/posix/Makefile glibc-2.25-patched/sysdeps/posix/Makefile 186 - --- glibc-2.25/sysdeps/posix/Makefile 2017-02-05 10:28:43.000000000 -0500 187 - +++ glibc-2.25-patched/sysdeps/posix/Makefile 2023-05-23 15:22:27.483980336 -0400 173 + diff -Naur glibc-2.27/sysdeps/posix/Makefile glibc-2.27-patched/sysdeps/posix/Makefile 174 + --- glibc-2.27/sysdeps/posix/Makefile 2018-02-01 11:17:18.000000000 -0500 175 + +++ glibc-2.27-patched/sysdeps/posix/Makefile 2023-05-23 14:10:06.618633203 -0400 188 176 @@ -1,8 +1,3 @@ 189 177 -# These affect the generated bits/stdio_lim.h file. 190 178 -L_tmpnam = 20 ··· 194 182 195 183 ifeq ($(subdir)|$(have-thread-library),rt|no) 196 184 # With NPTL, this lives in libpthread so it can be used for sem_open too. 197 - diff -Naur glibc-2.25/sysdeps/unix/sysv/linux/bits/stdio_lim.h glibc-2.25-patched/sysdeps/unix/sysv/linux/bits/stdio_lim.h 198 - --- glibc-2.25/sysdeps/unix/sysv/linux/bits/stdio_lim.h 1969-12-31 19:00:00.000000000 -0500 199 - +++ glibc-2.25-patched/sysdeps/unix/sysv/linux/bits/stdio_lim.h 2023-05-23 15:22:27.483980336 -0400 185 + diff -Naur glibc-2.27/sysdeps/unix/sysv/linux/bits/stdio_lim.h glibc-2.27-patched/sysdeps/unix/sysv/linux/bits/stdio_lim.h 186 + --- glibc-2.27/sysdeps/unix/sysv/linux/bits/stdio_lim.h 1969-12-31 19:00:00.000000000 -0500 187 + +++ glibc-2.27-patched/sysdeps/unix/sysv/linux/bits/stdio_lim.h 2023-05-23 14:10:06.618633203 -0400 200 188 @@ -0,0 +1,28 @@ 201 189 +/* System specific stdio.h definitions. Linux version. 202 190 + Copyright (C) 2023 Free Software Foundation, Inc. ··· 219 207 +#ifndef _BITS_STDIO_LIM_H 220 208 +#define _BITS_STDIO_LIM_H 1 221 209 + 222 - +//#ifndef _STDIO_H 223 - +//# error "Never include <bits/stdio_lim.h> directly; use <stdio.h> instead." 224 - +//#endif 210 + +#ifndef _STDIO_H 211 + +# error "Never include <bits/stdio_lim.h> directly; use <stdio.h> instead." 212 + +#endif 225 213 + 226 214 +#define FILENAME_MAX 4096 227 215 +
-56
tools/toolchain-patches/rockbox-multilibs-noexceptions-arm-elf-eabi-gcc-4.9.4.diff
··· 1 - diff -Naur gcc-4.9.4/gcc/config/arm/t-arm-elf gcc-4.9.4-fixed/gcc/config/arm/t-arm-elf 2 - --- gcc-4.9.4/gcc/config/arm/t-arm-elf 2014-01-02 17:23:26.000000000 -0500 3 - +++ gcc-4.9.4-fixed/gcc/config/arm/t-arm-elf 2020-07-01 22:11:01.198403110 -0400 4 - @@ -44,6 +44,11 @@ 5 - #MULTILIB_EXCEPTIONS += *mcpu=fa526/*mfloat-abi=hard* 6 - #MULTILIB_EXCEPTIONS += *mcpu=fa626/*mfloat-abi=hard* 7 - 8 - +# We build a lib for each specific CPU Rockbox targets. If anyone knows a better 9 - +# way to do this, please let us know. 10 - +MULTILIB_OPTIONS += mcpu=arm7tdmi/mcpu=arm9tdmi/mcpu=arm9e/mcpu=arm926ej-s/mcpu=arm1136jf-s 11 - +MULTILIB_DIRNAMES += arm7tdmi arm9tdmi arm9e arm926ej-s arm1136jf-s 12 - + 13 - # MULTILIB_OPTIONS += mcpu=ep9312 14 - # MULTILIB_DIRNAMES += ep9312 15 - # MULTILIB_EXCEPTIONS += *mthumb/*mcpu=ep9312* 16 - @@ -56,8 +61,8 @@ 17 - # MULTILIB_DIRNAMES += fpu soft 18 - # MULTILIB_EXCEPTIONS += *mthumb/*mfloat-abi=hard* 19 - # 20 - -# MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork 21 - -# MULTILIB_DIRNAMES += normal interwork 22 - +MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork 23 - +MULTILIB_DIRNAMES += normal interwork 24 - # 25 - # MULTILIB_OPTIONS += fno-leading-underscore/fleading-underscore 26 - # MULTILIB_DIRNAMES += elf under 27 - diff -Naur gcc-4.9.4/libgcc/config/arm/t-bpabi gcc-4.9.4-fixed/libgcc/config/arm/t-bpabi 28 - --- gcc-4.9.4/libgcc/config/arm/t-bpabi 2012-08-17 11:06:06.000000000 -0400 29 - +++ gcc-4.9.4-fixed/libgcc/config/arm/t-bpabi 2020-07-01 22:13:39.103762818 -0400 30 - @@ -17,4 +17,4 @@ 31 - # On ARM, specifying -fnon-call-exceptions will needlessly pull in 32 - # the unwinder in simple programs which use 64-bit division. Omitting 33 - # the option is safe. 34 - -LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions 35 - +LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions -fno-non-call-exceptions 36 - diff -Naur gcc-4.9.4/libgcc/Makefile.in gcc-4.9.4-fixed/libgcc/Makefile.in 37 - --- gcc-4.9.4/libgcc/Makefile.in 2014-01-08 11:37:08.000000000 -0500 38 - +++ gcc-4.9.4-fixed/libgcc/Makefile.in 2020-07-01 22:11:01.199403087 -0400 39 - @@ -495,7 +495,7 @@ 40 - ifeq ($(LIB2_DIVMOD_EXCEPTION_FLAGS),) 41 - # Provide default flags for compiling divmod functions, if they haven't been 42 - # set already by a target-specific Makefile fragment. 43 - -LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions -fnon-call-exceptions 44 - +LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions -fno-non-call-exceptions 45 - endif 46 - 47 - # Build LIB2_DIVMOD_FUNCS. 48 - @@ -816,7 +816,7 @@ 49 - # libgcc_eh.a, only LIB2ADDEH matters. If we do, only LIB2ADDEHSTATIC and 50 - # LIB2ADDEHSHARED matter. (Usually all three are identical.) 51 - 52 - -c_flags := -fexceptions 53 - +c_flags := -fno-exceptions 54 - 55 - ifeq ($(enable_shared),yes) 56 -
+43
tools/toolchain-patches/rockbox-multilibs-noexceptions-arm-elf-eabi-gcc-9.5.0.diff
··· 1 + diff -aur gcc-8.5.0/gcc/config/arm/t-arm-elf gcc-8.5.0-patched/gcc/config/arm/t-arm-elf 2 + --- gcc-8.5.0/gcc/config/arm/t-arm-elf 2021-05-14 04:42:08.000000000 -0400 3 + +++ gcc-8.5.0-patched/gcc/config/arm/t-arm-elf 2022-11-26 23:16:30.714433566 -0500 4 + @@ -81,6 +81,10 @@ 5 + MULTILIB_REQUIRED += marm/mfpu=auto/march=armv5te+fp/mfloat-abi=hard 6 + MULTILIB_REQUIRED += mthumb/mfpu=auto/march=armv7+fp/mfloat-abi=hard 7 + 8 + +# And we want to be able to disable interworking 9 + +MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork 10 + +MULTILIB_DIRNAMES += normal interwork 11 + + 12 + # PART 3 - Match rules 13 + 14 + # Map all supported FPUs onto mfpu=auto 15 + diff -aur gcc-8.5.0/libgcc/config/arm/t-bpabi gcc-8.5.0-patched/libgcc/config/arm/t-bpabi 16 + --- gcc-8.5.0/libgcc/config/arm/t-bpabi 2021-05-14 04:42:10.000000000 -0400 17 + +++ gcc-8.5.0-patched/libgcc/config/arm/t-bpabi 2022-11-26 23:14:40.938038440 -0500 18 + @@ -17,4 +17,4 @@ 19 + # On ARM, specifying -fnon-call-exceptions will needlessly pull in 20 + # the unwinder in simple programs which use 64-bit division. Omitting 21 + # the option is safe. 22 + -LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions 23 + +LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions -fno-non-call-exceptions 24 + diff -aur gcc-8.5.0/libgcc/Makefile.in gcc-8.5.0-patched/libgcc/Makefile.in 25 + --- gcc-8.5.0/libgcc/Makefile.in 2021-05-14 04:42:10.000000000 -0400 26 + +++ gcc-8.5.0-patched/libgcc/Makefile.in 2022-11-26 23:13:56.781304250 -0500 27 + @@ -530,7 +530,7 @@ 28 + ifeq ($(LIB2_DIVMOD_EXCEPTION_FLAGS),) 29 + # Provide default flags for compiling divmod functions, if they haven't been 30 + # set already by a target-specific Makefile fragment. 31 + -LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions -fnon-call-exceptions 32 + +LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions -fno-non-call-exceptions 33 + endif 34 + 35 + # Build LIB2_DIVMOD_FUNCS. 36 + @@ -851,7 +851,7 @@ 37 + # libgcc_eh.a, only LIB2ADDEH matters. If we do, only LIB2ADDEHSTATIC and 38 + # LIB2ADDEHSHARED matter. (Usually all three are identical.) 39 + 40 + -c_flags := -fexceptions 41 + +c_flags := -fno-exceptions 42 + 43 + ifeq ($(enable_shared),yes)