Rockbox Technical Forums
Third Party => Unsupported Builds => Topic started by: G4Oblivion on April 25, 2016, 07:17:55 PM
-
Summary:
This topic is mainly meant as an info dump for developers. Interested users can test these builds with daily use, benchmark codecs on their devices (http://www.rockbox.org/wiki/CodecPerformanceComparison#Requirements) and report the results.
I have no plans on attempting to debug any issues related to the new toolchain or benchmarking further. Again, this topic is mostly meant as an info dump.
I've been using a custom GCC5 build on my Clip+ without issues for normal use. The only major regression so far is decoding APE files compressed with c3000 and lower compression.
The codec optimization patch simply changes all -O1 to -O2 for ARM. I did not benchmark other flags nor did I benchmark codecs that Rockbox doesn't provide sample files for.
libffmpegFLAC and libmad were tested at -O1, -Os, -O2 and -O3. libffmpegFLAC was changed from -O2 to -O3 along with libmad from -O1 to -O2 due to small gains.
I know little to nothing about GCC so I'm not sure if the multilibs changes need to be updated nor do I know if it's still necessary to be as aggressive with -fno-exceptions.
Builds:
https://www.mediafire.com/folder/tdio0hpa4qixv/ARMGCC5 (https://www.mediafire.com/folder/tdio0hpa4qixv/ARMGCC5)
All builds are based on 18fecd9 (https://github.com/Rockbox/rockbox/commit/18fecd9461cda3eb0bf65b9f00a77a9f2ff79689) and include test plugins.
If your ARM device is not listed, you can post a request and I'll upload a build.
Decoder benchmarks (there's multiple files in the gists):
Clip+ (AMSv2) GCC4.4 vs GCC5: https://gist.github.com/anonymous/5785e4ebd338aca26a8d1da0e0d7a094 (https://gist.github.com/anonymous/5785e4ebd338aca26a8d1da0e0d7a094)
Clip+ (AMSv2) GCC4.4 vs GCC5 vs GCC5 w/ optimized codecs: https://gist.github.com/anonymous/6eb0bc382364415ec09c409b08ef4ef3 (https://gist.github.com/anonymous/6eb0bc382364415ec09c409b08ef4ef3)
Per codec optimization flag benchmarks on Clip+:
APE Tests (https://gist.github.com/anonymous/6c38bc7eb6c7483e58f71d0ccf700e55)
FLAC Tests (https://gist.github.com/anonymous/fe0828f288cdb73c1c2716911a772666)
MP3 Tests (https://gist.github.com/anonymous/8c1e40f1b2e61bf76e6b5e34735f9e2b)
Patches:
rockbox-multilibs-noexceptions.patch (https://gist.github.com/anonymous/d5b5515557b7f9fbdfbbb07c8b209abd)
optimize-codecs.patch (https://gist.github.com/anonymous/97ca39252ee863ff2c05c08b681693aa)
Toolchain information:
Using the Arch Linux arm-none-eabi toolchain:
arm-none-eabi-newlib 2.4.0-1
arm-none-eabi-binutils 2.26-1
arm-none-eabi-gcc 5.3.0-1 w/ rockbox-multilibs-noexceptions.patch (https://gist.github.com/anonymous/d5b5515557b7f9fbdfbbb07c8b209abd) & GCC5-20160419 snapshot