[ROM][Z3][6.0.1_r22][SM-4.9.x] CyanogenMod 13.0 SaberMod Builds [DISCONTINUED]

Search This thread

deepongi

Recognized Developer
Jul 12, 2008
6,075
15,016
40
Portugal
OnePlus 8
OnePlus 9

CXjdJVo.png


Z3/LEO/D6603 CYANOGENMOD 13.0 UNOFFICIAL SABERMOD BUILDS

CURRENT BUILD: 20160403

MARSHMALLOW 6.0.1_r22

DOWNLOAD

ROM CODE COMPILED WITH LATEST SABERMOD ARM-LINUX-ANDROIDEABI 4.9.x (20160402)
KERNEL CODE COMPILED WITH LATEST SABERMOD ARM-EABI 4.9.x (20160402)

SOURCE: https://github.com/infected-mm/android_kernel_sony_msm - 3.10.x

[+] -O3 optimized (arm and thumb)
[+] strict-aliasing
[+] frame-pointers
[+] graphite flags
[+] LinkTimeOptimizations (-flto) flags
[+] cpu arch specific flags (armv7-l)
[+] other flags to optimize even more the code.

NOT WORKING YET: Camera

BUGS REPORT

REPORT BUGS ONLY:

- AFTER A CLEAN INSTALL
- USING STOCK KERNEL
- USING GAPPS FROM SECOND POST
- NO MODS OF ANY SORT

CHANGELOG:

http://www.cmxlog.com/12.1/z3/

BUILDBOT:

(intel core i7 [email protected] (1.22v), asus p8z77-v, 16gb corsair vengeance pro 2133mhz cl11 (1.5v), msi nvidia gtx 970, 1x samsung 850 evo 250gb + 1x samsung ssd 840 pro 128gb, 4x western digital wd3200aaks raid 10 array, samsung f1 1tb, seagate 2tb, silverstone olympia 1000w psu, antec 1200 high-tower)
(wc setup: swiftech apogee xt cpu-block, ek coolstream xtx 240 radiator, 2x scythe slipstream 120mm 1900rpm fans, swiftech mcp355 water-pump, danger den 5.25" reservoir bay)

DISCLAIMER:

These builds are freshly compiled/synced from CyanogenMod Rom open-source code:

https://github.com/CyanogenMod

SPECIAL THANKS

CyanogenMod Dev Team = for the source code.

Zb6j03d.png
CxAw1Uv.png
cyanogenmod_full_logo.png
image00.png
mint_debian_logo2_scaled.png
A1bRdbJ.png


XDA:DevDB Information
Z3/Leo/D6603 CyanogenMod 13.0 Sabermod Builds, ROM for the Sony Xperia Z3

Contributors
infected_
Source Code: https://github.com/CyanogenMod

ROM OS Version: 6.0.x Marshmallow
ROM Kernel: Linux 3.10.x
ROM Firmware Required: Latest TWRP recovery and Unlocked Bootloader
Based On: CyanogenMod

Version Information
Status: Nightly

Created 2015-12-21
Last Updated 2016-04-21
 

Attachments

  • Screenshot_20151221-081056.jpg
    Screenshot_20151221-081056.jpg
    136.5 KB · Views: 14,054
  • Screenshot_20151221-081120.png
    Screenshot_20151221-081120.png
    101 KB · Views: 13,887
  • Screenshot_20151221-081129.png
    Screenshot_20151221-081129.png
    98.6 KB · Views: 13,667
  • Screenshot_20151221-081226.jpg
    Screenshot_20151221-081226.jpg
    111.1 KB · Views: 13,177
  • Screenshot_20151221-081245.png
    Screenshot_20151221-081245.png
    126 KB · Views: 13,109
  • Screenshot_20151221-081258.png
    Screenshot_20151221-081258.png
    85.2 KB · Views: 12,972
  • Screenshot_20151221-081319.png
    Screenshot_20151221-081319.png
    88.5 KB · Views: 12,634
  • Screenshot_20151221-081351.png
    Screenshot_20151221-081351.png
    121.6 KB · Views: 12,434
  • Screenshot_20151221-081406.png
    Screenshot_20151221-081406.png
    142 KB · Views: 12,002
  • Screenshot_20151221-081502.png
    Screenshot_20151221-081502.png
    92.4 KB · Views: 11,602
Last edited:

deepongi

Recognized Developer
Jul 12, 2008
6,075
15,016
40
Portugal
OnePlus 8
OnePlus 9
HOW-TO:

* place the phone in fastboot mode.
* grab the boot.img from the latest build and: sudo fastboot flash boot boot.img
* grab latest TWRP for Z3 from here: http://www.infectedbuilds.net/downloads/z3/TWRP/
* flash TWRP: sudo fastboot flash recovery twrp_z3_new_BL_infected_20151220.img
* reboot into recovery.
* wipe/format /system /data /cache /dalvik.
* flash latest available build, and flash gapps.
* reboot and you're done.

GAPPS:

OpenGapps - http://opengapps.org/

Modular Gapps - http://forum.xda-developers.com/android/software/app-minimal-gapps-gapps-lp-20150107-1-t2997368
 
Last edited:

deepongi

Recognized Developer
Jul 12, 2008
6,075
15,016
40
Portugal
OnePlus 8
OnePlus 9
F.A.Q (Frequently Asked Questions)

What is the difference between these builds and the official builds?

These are unofficial builds of CyanogenMod 13.0 for the Xperia Z3 (D6603)

ROM is built using the same source code (github) like the official one but with these following additions:
  • Compiled using sabermod arm-eabi 4.9.4 (kernel code) & sabermod arm-linux-androideabi 4.9.4 (rom code) toolchain compilers
  • May contain some custom cherry-picks. Always see changelog for details.
  • Cross-compiled using those custom toolchains results in a more smoother, faster, and battery friendly ROM

What is Toolchain?

To compile any Android project like a kernel or ROM, developers need to use a toolchain. As per elinux.org, a toolchain is a set of distinct software development tools that are linked (or chained) together by specific stages such as GCC, binutils and glibc (a portion of the GNU Toolchain). Toolchains may contain a debugger or a compiler for a specific programming language as C++ or other. Quite often, the toolchain used for embedded development is a cross toolchain, or more commonly known as a cross compiler. All the programs (like GCC) run on a host system of a specific architecture (such as x86) but produce binary code (executables) to run on a different architecture (e.g. ARM).

The most commonly used toolchain is GCC, initially released almost 20 years ago. A lightly modified GCC is used by Google during the AOSP build process. While Google’s GCC is considered to be the most stable toolchain around, it has some pretty decent competitors like Linaro and SaberMod. These projects are known to boost the overall system performance significantly on many devices. Let’s take a quick look to see the background of these projects.
Source: http://elinux.org

What is SaberMod?

The term "SaberMod" is coming from:

the SaberMod project. Initially the project was used on SaberMod ROM for the Nexus 7 WiFi model (2013). This continued onto the Nexus 4 and Nexus 5 through help of user donations. The toolchains are based on GNU GCC 4.8, 4.9, and 5.0 with AOSP patches forward ported into GNU GCC. SaberMod also provides extra optimization features unlike Google’s toolchain, which gives options for a few amendments in the ROM itself to add more performance gains, such as graphite loop transformation optimizations. SaberMod tracks other utilities from GNU in the toolchain source components that are generally more up to date than AOSP or Linaro toolchains, and almost always tracks the development branches of GNU GCC for the latest patches and bug fixes. The toolchain ecosystem of SaberMod is very different from AOSP, using complex scripts to provide quick, up to date toolchains. Other toolchain sources like the AOSP based toolchain build repository have been heavily modified to work in favor of the way SaberMod toolchains are produced. I have approached some toolchain developers to ask a few questions.
Source: http://www.xda-developers.com/interview-with-developers-of-sabermod-hyper-toolchains/

Optimization Flags in GCC
What are flags?
For compilers such as GCC, flags are essentially options. A flag can enable or disable an option or feature that is used when compiling (building) code.

What are optimizations?
Optimizations, in the context of compiler flags, are flags that improve some aspect of the code, whether it be size, speed, memory use, and debugging, among other possibilities.

General Optimizations
These optimizations are basic flags in GCC, typically implemented into projects to improve an aspect of the final compiled code.

-O1: Optimization level 1, very basic optimizations, rarely used.
-O2: Optimization level 2, basic optimizations, most commonly used.
-O3: Optimization level 3, basic + experimental optimizations. Large performance boost, but can produce bugs.
-Os: Optimize for size. Most of the optimizations from levels 1 and 2, with extras added to decrease the size of code.
-Ofast: All Optimizations from levels 1, 2, and 3, with extra fast math optimizations.
Typically produces the most bugs, with a large performance gain.
-Og: No performance boost, optimizes the debugging experience, making errors and
warnings more informative to help developers.
-g0: Disables all extra debugging, usually makes code faster.
-fomit-frame-pointer: Removes frame pointers when they aren’t needed, streamlining the code.
-fipa-sra: Removes unused parameters/variables and replaces parameters with the called value, streamlining the code.
-fkeep-inline-functions: Emits static inline functions, even after they’ve been called.
-fmodulo-sched: Reorders instructions in loops in the most optimal way.
-fmodulo-sched-allow-regmoves: a more aggressive -fmodulo-sched, optimizing loops further by allowing register moves
-fgcse-sm: Moves stores out of loops to decrease the workload of loops.
-fgcse-las: Removes redundant loads after a store to reduce the workload.
-fgcse-after-reload: Removes redundant loads after a reload.
-funsafe-loop-optimizations: Optimize more by making assumptions, can create bugs from loops overflowing.
-fira-hoist-pressure: Decreases size of the code by evaluating register pressure for hoist expressions.
-fira-loop-pressure: Makes code smaller and faster by evaluating the register pressure of loops.
-DNDEBUG: Passes the variable for no debugging.
-flto: Enables link time optimizations (LTO) for improved library and executable performance.

Graphite Optimizations
Graphite is a project within gcc that uses the integer set library (ISL) and the chunky loop generator (CLooG) to improve memory use and optimize loops.

-fgraphite: Performs basic graphite loop and memory optimizations.
-floop-interchange: Switches two nested loops.
-floop-strip-mine: Splits a complex loop into a set nested loops.
-floop-block: Splits a loop into nested loops so that the memory fits into caches.
-fgraphite-identity: Creates a visual polyhedral representation of certain graphite optimizations. with some optimizations from ISL such as dead code removal.
-floop-nest-optimize: Optimizes the order of nested loops for data-locality and parallelism. This flag is experimental
-floop-unroll-and-jam: Enable unroll and jam for the ISL loop optimizer.
-floop-parallelize-all: Use graphite data to find and parallelize loops that can be.

Multithreading optimizations
Make code run in multiple jobs (threads) to use a multicore cpu to its fullest potential.

-ftree-parallelize-loops=n: Run parallelized loops is n number of threads.
-pthread: Use the posix thread system for multi-threading.
-fopenmp: Use the OpenMP thread system for multithreading. Tends to use less ram than posix.

Sanitizer Flags
These flags use libsanitizer for memory optimizations.

-fsanitize=leak: Sanitize memory leaks to reduce memory use
-fsanitize=address: Sanitize memory addresses to reduce memory use
-fsanitize=thread: Sanitize excess threads to reduce memory/cpu use. Only for 64bit.

Hardware Optimizations
These optimizations optimize code for the targets cpu, gpu, or ram.

-marm: Uses the ARM instruction set for executable code, improving performance.
-mthumb: Uses the Thumb2 instruction set, improving compatibility.
-mthumb-interwork: Improves compatibility between Thumb and ARM code.
-march=X: Optimizes code for your CPU’s arch, such as armv6, armv7-a, etc
-mcpu=X: Optimizes code for your specific CPU such as cortex-a15, cortex-a53, etc.
-mtune=X: Refer to -mcpu
-mfpu=X: Optimizes code for your CPU’s FPU such as vfpv3. vfpv4, neon, etc.
-mabi=X: Optimizes code ABI for your CPU, such as 32 or 64
 
Last edited:

JaseLegenda

Senior Member
Sep 5, 2009
315
62
Vienna
no camera at all.

camera will be working according to a number of variables:
- being fixed on AOSP first
- release of compatible 6.0 blobs
- switch to kernel 3.10.x
- free time from the maintainers

until then, we need to patiently wait.

regards.

ur welcome. .besides camera could be used as a daily driver. small glitch i found is the hotspot icon in quicksettings kept sticking even when deleted. other than that no bugs. can camera from sony concept rom be used in any way?
 

michel300a

Member
Dec 6, 2015
20
2
39
saying "STOCK KERNEL" then do not miss the bootloader is unlocked, because it uses the original kernel of sony.
 

deepongi

Recognized Developer
Jul 12, 2008
6,075
15,016
40
Portugal
OnePlus 8
OnePlus 9
saying "STOCK KERNEL" then do not miss the bootloader is unlocked, because it uses the original kernel of sony.

:confused:

what has Sony stock kernel have to do with CM stock kernel, which is what i am referring to?

ur welcome. .besides camera could be used as a daily driver. small glitch i found is the hotspot icon in quicksettings kept sticking even when deleted. other than that no bugs. can camera from sony concept rom be used in any way?

not it can't.
 

ILikeBubbles

Senior Member
Dec 18, 2010
682
90
34
HOW-TO:

* place the phone in fastboot mode.
* grab the boot.img from the latest build and: sudo fastboot flash boot boot.img
* grab latest TWRP for Z3 from here: http://www.infectedbuilds.net/downloads/z3/TWRP/
* flash TWRP: sudo fastboot flash recovery twrp_z3_new_BL_infected_20151220.img
* reboot into recovery.
* wipe/format /system /data /cache /dalvik.
* flash latest available build, and flash gapps.
* reboot and you're done.

GAPPS:

OpenGapps - http://opengapps.org/

Modular Gapps - http://forum.xda-developers.com/android/software/app-minimal-gapps-gapps-lp-20150107-1-t2997368

Hey I just got my z3 and have been having a hell of a time finding a recovery with it. I HAVE a twrp boot img but it has to be flashed with adb using a fastboot flash boot "img name". Your directions are different, will that work? and will the recovery stay? because i've also noticed that since the recovery is located in the boot (or.. similar. i'm still not very good with this stuff) it gets flashed over when i flash a new rom.. so after i spent 5 hours trying to find the right recovery and flash cm 12.1 i go to update and find i have the (absolutely useless imo) simple CM recovery..

this made me think of finding a custom unofficial rom that maybe had twrp built into the boot img instead. which is how i stumbled upon your rom! I do want to try it.. I probably will this weekend when i have some time but i was just curious if this will be a permanent recovery solution or if i'll still have to reflash the recovery every time i want to boot into TWRP.

Thank you so much for this rom, this kernel, and your help!!
 

deepongi

Recognized Developer
Jul 12, 2008
6,075
15,016
40
Portugal
OnePlus 8
OnePlus 9
Hey I just got my z3 and have been having a hell of a time finding a recovery with it. I HAVE a twrp boot img but it has to be flashed with adb using a fastboot flash boot "img name". Your directions are different, will that work? and will the recovery stay? because i've also noticed that since the recovery is located in the boot (or.. similar. i'm still not very good with this stuff) it gets flashed over when i flash a new rom.. so after i spent 5 hours trying to find the right recovery and flash cm 12.1 i go to update and find i have the (absolutely useless imo) simple CM recovery..

this made me think of finding a custom unofficial rom that maybe had twrp built into the boot img instead. which is how i stumbled upon your rom! I do want to try it.. I probably will this weekend when i have some time but i was just curious if this will be a permanent recovery solution or if i'll still have to reflash the recovery every time i want to boot into TWRP.

Thank you so much for this rom, this kernel, and your help!!

do those exact steps, and twrp recovery will "stick", using CM12.1/CM13.0

regards.
 
  • Like
Reactions: ILikeBubbles

goosebickel

Senior Member
Nov 11, 2010
163
115
Cardiff
Just tried the 19th 3.10 build, still very buggy.
Bluetooth keeps force closing once you try to open it, and then keeps doing that until you factory reset.
Doesn't recognise sim card now, used too on previous build.
Still twitching present on screen.
Not complaining, just letting people know what's going on so far.
Still very much an alpha build.
Did grab a catlog, god knows if it will help anyone.
Thanks very much to infected for posting the builds for everyone to try them out.
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 19

    CXjdJVo.png


    Z3/LEO/D6603 CYANOGENMOD 13.0 UNOFFICIAL SABERMOD BUILDS

    CURRENT BUILD: 20160403

    MARSHMALLOW 6.0.1_r22

    DOWNLOAD

    ROM CODE COMPILED WITH LATEST SABERMOD ARM-LINUX-ANDROIDEABI 4.9.x (20160402)
    KERNEL CODE COMPILED WITH LATEST SABERMOD ARM-EABI 4.9.x (20160402)

    SOURCE: https://github.com/infected-mm/android_kernel_sony_msm - 3.10.x

    [+] -O3 optimized (arm and thumb)
    [+] strict-aliasing
    [+] frame-pointers
    [+] graphite flags
    [+] LinkTimeOptimizations (-flto) flags
    [+] cpu arch specific flags (armv7-l)
    [+] other flags to optimize even more the code.

    NOT WORKING YET: Camera

    BUGS REPORT

    REPORT BUGS ONLY:

    - AFTER A CLEAN INSTALL
    - USING STOCK KERNEL
    - USING GAPPS FROM SECOND POST
    - NO MODS OF ANY SORT

    CHANGELOG:

    http://www.cmxlog.com/12.1/z3/

    BUILDBOT:

    (intel core i7 [email protected] (1.22v), asus p8z77-v, 16gb corsair vengeance pro 2133mhz cl11 (1.5v), msi nvidia gtx 970, 1x samsung 850 evo 250gb + 1x samsung ssd 840 pro 128gb, 4x western digital wd3200aaks raid 10 array, samsung f1 1tb, seagate 2tb, silverstone olympia 1000w psu, antec 1200 high-tower)
    (wc setup: swiftech apogee xt cpu-block, ek coolstream xtx 240 radiator, 2x scythe slipstream 120mm 1900rpm fans, swiftech mcp355 water-pump, danger den 5.25" reservoir bay)

    DISCLAIMER:

    These builds are freshly compiled/synced from CyanogenMod Rom open-source code:

    https://github.com/CyanogenMod

    SPECIAL THANKS

    CyanogenMod Dev Team = for the source code.

    Zb6j03d.png
    CxAw1Uv.png
    cyanogenmod_full_logo.png
    image00.png
    mint_debian_logo2_scaled.png
    A1bRdbJ.png


    XDA:DevDB Information
    Z3/Leo/D6603 CyanogenMod 13.0 Sabermod Builds, ROM for the Sony Xperia Z3

    Contributors
    infected_
    Source Code: https://github.com/CyanogenMod

    ROM OS Version: 6.0.x Marshmallow
    ROM Kernel: Linux 3.10.x
    ROM Firmware Required: Latest TWRP recovery and Unlocked Bootloader
    Based On: CyanogenMod

    Version Information
    Status: Nightly

    Created 2015-12-21
    Last Updated 2016-04-21
    7
    HOW-TO:

    * place the phone in fastboot mode.
    * grab the boot.img from the latest build and: sudo fastboot flash boot boot.img
    * grab latest TWRP for Z3 from here: http://www.infectedbuilds.net/downloads/z3/TWRP/
    * flash TWRP: sudo fastboot flash recovery twrp_z3_new_BL_infected_20151220.img
    * reboot into recovery.
    * wipe/format /system /data /cache /dalvik.
    * flash latest available build, and flash gapps.
    * reboot and you're done.

    GAPPS:

    OpenGapps - http://opengapps.org/

    Modular Gapps - http://forum.xda-developers.com/android/software/app-minimal-gapps-gapps-lp-20150107-1-t2997368
    7
    @_infected as camera is now working, When you will update this one?

    soon. theres still a bit of work ahead, so that cam is fully functional on 3.10.x

    regards.
    6
    F.A.Q (Frequently Asked Questions)

    What is the difference between these builds and the official builds?

    These are unofficial builds of CyanogenMod 13.0 for the Xperia Z3 (D6603)

    ROM is built using the same source code (github) like the official one but with these following additions:
    • Compiled using sabermod arm-eabi 4.9.4 (kernel code) & sabermod arm-linux-androideabi 4.9.4 (rom code) toolchain compilers
    • May contain some custom cherry-picks. Always see changelog for details.
    • Cross-compiled using those custom toolchains results in a more smoother, faster, and battery friendly ROM

    What is Toolchain?

    To compile any Android project like a kernel or ROM, developers need to use a toolchain. As per elinux.org, a toolchain is a set of distinct software development tools that are linked (or chained) together by specific stages such as GCC, binutils and glibc (a portion of the GNU Toolchain). Toolchains may contain a debugger or a compiler for a specific programming language as C++ or other. Quite often, the toolchain used for embedded development is a cross toolchain, or more commonly known as a cross compiler. All the programs (like GCC) run on a host system of a specific architecture (such as x86) but produce binary code (executables) to run on a different architecture (e.g. ARM).

    The most commonly used toolchain is GCC, initially released almost 20 years ago. A lightly modified GCC is used by Google during the AOSP build process. While Google’s GCC is considered to be the most stable toolchain around, it has some pretty decent competitors like Linaro and SaberMod. These projects are known to boost the overall system performance significantly on many devices. Let’s take a quick look to see the background of these projects.
    Source: http://elinux.org

    What is SaberMod?

    The term "SaberMod" is coming from:

    the SaberMod project. Initially the project was used on SaberMod ROM for the Nexus 7 WiFi model (2013). This continued onto the Nexus 4 and Nexus 5 through help of user donations. The toolchains are based on GNU GCC 4.8, 4.9, and 5.0 with AOSP patches forward ported into GNU GCC. SaberMod also provides extra optimization features unlike Google’s toolchain, which gives options for a few amendments in the ROM itself to add more performance gains, such as graphite loop transformation optimizations. SaberMod tracks other utilities from GNU in the toolchain source components that are generally more up to date than AOSP or Linaro toolchains, and almost always tracks the development branches of GNU GCC for the latest patches and bug fixes. The toolchain ecosystem of SaberMod is very different from AOSP, using complex scripts to provide quick, up to date toolchains. Other toolchain sources like the AOSP based toolchain build repository have been heavily modified to work in favor of the way SaberMod toolchains are produced. I have approached some toolchain developers to ask a few questions.
    Source: http://www.xda-developers.com/interview-with-developers-of-sabermod-hyper-toolchains/

    Optimization Flags in GCC
    What are flags?
    For compilers such as GCC, flags are essentially options. A flag can enable or disable an option or feature that is used when compiling (building) code.

    What are optimizations?
    Optimizations, in the context of compiler flags, are flags that improve some aspect of the code, whether it be size, speed, memory use, and debugging, among other possibilities.

    General Optimizations
    These optimizations are basic flags in GCC, typically implemented into projects to improve an aspect of the final compiled code.

    -O1: Optimization level 1, very basic optimizations, rarely used.
    -O2: Optimization level 2, basic optimizations, most commonly used.
    -O3: Optimization level 3, basic + experimental optimizations. Large performance boost, but can produce bugs.
    -Os: Optimize for size. Most of the optimizations from levels 1 and 2, with extras added to decrease the size of code.
    -Ofast: All Optimizations from levels 1, 2, and 3, with extra fast math optimizations.
    Typically produces the most bugs, with a large performance gain.
    -Og: No performance boost, optimizes the debugging experience, making errors and
    warnings more informative to help developers.
    -g0: Disables all extra debugging, usually makes code faster.
    -fomit-frame-pointer: Removes frame pointers when they aren’t needed, streamlining the code.
    -fipa-sra: Removes unused parameters/variables and replaces parameters with the called value, streamlining the code.
    -fkeep-inline-functions: Emits static inline functions, even after they’ve been called.
    -fmodulo-sched: Reorders instructions in loops in the most optimal way.
    -fmodulo-sched-allow-regmoves: a more aggressive -fmodulo-sched, optimizing loops further by allowing register moves
    -fgcse-sm: Moves stores out of loops to decrease the workload of loops.
    -fgcse-las: Removes redundant loads after a store to reduce the workload.
    -fgcse-after-reload: Removes redundant loads after a reload.
    -funsafe-loop-optimizations: Optimize more by making assumptions, can create bugs from loops overflowing.
    -fira-hoist-pressure: Decreases size of the code by evaluating register pressure for hoist expressions.
    -fira-loop-pressure: Makes code smaller and faster by evaluating the register pressure of loops.
    -DNDEBUG: Passes the variable for no debugging.
    -flto: Enables link time optimizations (LTO) for improved library and executable performance.

    Graphite Optimizations
    Graphite is a project within gcc that uses the integer set library (ISL) and the chunky loop generator (CLooG) to improve memory use and optimize loops.

    -fgraphite: Performs basic graphite loop and memory optimizations.
    -floop-interchange: Switches two nested loops.
    -floop-strip-mine: Splits a complex loop into a set nested loops.
    -floop-block: Splits a loop into nested loops so that the memory fits into caches.
    -fgraphite-identity: Creates a visual polyhedral representation of certain graphite optimizations. with some optimizations from ISL such as dead code removal.
    -floop-nest-optimize: Optimizes the order of nested loops for data-locality and parallelism. This flag is experimental
    -floop-unroll-and-jam: Enable unroll and jam for the ISL loop optimizer.
    -floop-parallelize-all: Use graphite data to find and parallelize loops that can be.

    Multithreading optimizations
    Make code run in multiple jobs (threads) to use a multicore cpu to its fullest potential.

    -ftree-parallelize-loops=n: Run parallelized loops is n number of threads.
    -pthread: Use the posix thread system for multi-threading.
    -fopenmp: Use the OpenMP thread system for multithreading. Tends to use less ram than posix.

    Sanitizer Flags
    These flags use libsanitizer for memory optimizations.

    -fsanitize=leak: Sanitize memory leaks to reduce memory use
    -fsanitize=address: Sanitize memory addresses to reduce memory use
    -fsanitize=thread: Sanitize excess threads to reduce memory/cpu use. Only for 64bit.

    Hardware Optimizations
    These optimizations optimize code for the targets cpu, gpu, or ram.

    -marm: Uses the ARM instruction set for executable code, improving performance.
    -mthumb: Uses the Thumb2 instruction set, improving compatibility.
    -mthumb-interwork: Improves compatibility between Thumb and ARM code.
    -march=X: Optimizes code for your CPU’s arch, such as armv6, armv7-a, etc
    -mcpu=X: Optimizes code for your specific CPU such as cortex-a15, cortex-a53, etc.
    -mtune=X: Refer to -mcpu
    -mfpu=X: Optimizes code for your CPU’s FPU such as vfpv3. vfpv4, neon, etc.
    -mabi=X: Optimizes code ABI for your CPU, such as 32 or 64
    6
    new build is up!

    mostly everything works, brightness is fixed, camera is still wip.

    please report bugs after a clean install.

    temporary host for the builds, until server is back on:

    https://s.basketbuild.com/devs/infected_/z3/cm_13_3.10.x

    regards.