Project

General

Profile

Actions

Bug #5260

closed

bootloader goes beyond partition size in modern gcc

Added by laforge over 2 years ago. Updated over 1 year ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
firmware
Target version:
-
Start date:
10/13/2021
Due date:
% Done:

100%

Spec Reference:

Description

As we noticed several times now, gcc is becoming more and more inefficient in building our DFU loader, resulting in it no longer fitting the partition on modern compilers.

I think switching to a larger partition is not really an option as it would create a compatibility nightmare with older boards and a lot of fall-out in our user community.

So if we really cannot shrink the bootloader further, then we will have to settle on an old gcc version and create our official DFU loader builds from a specific build slave (or maybe rather docker container).

btw: what about Hoernchen's favorite llvm/clang? Does it generate smaller code for this bare-iron bootloader use case?

Hoernchen, please specify which exact environment shall be built.

osmith can then (After his holidays next week) work on changing our jenkins setup so that the existing simtrace2 firmware job just builds the applications, and create a new job with a docker image containing the specific gcc version required to build all the DFU loaders.


Checklist

  • report this size regression to upstream gcc (Hoernchen)
  • possibly check llvm/clang? (Hoernchen)
  • specify which compiler version on which distro to use (Hoernchen)
  • jenkins/docker/... stuff to build DFU loaders from simtrace2.git in that specific environment (osmith)
Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)