Spłaszczanie kodu wychodzi ładnie jedynie w obrębie funkcji głównej oraz kod niezależny od ABI .
Wystarczy jedno odwołanie do jakiejkolwiek funkcji w przerwaniu i kompilator zrzuca "R0, R1 i R18 do R31" mimo że np. żaden z nich nie zostanie użyty, i to ma być spłaszczanie ?
1. GCC 4.8.1 ma zabugowane -flto, nie wiem czy w nowszych działa. A -fwhole-program to nie jest coś co się używa tak łatwo jak np. -O2
2. callbacki da się używać nawet bez żadnych rejestracji.
3. Zastanówmy się raczej do czego właściwie dążył autor wątku z bezpośrednim doklejaniem bibliotek do innych i do czego by to ostatecznie doprowadziło.
Cytuj:
Pomijam już, sam fakt, że podlinkowywanie innych modułów do bibliotek LCD czy UART może kompletnie nie mieć sensu, bo zwykle robi się to inaczej, aż ciekaw jestem po co ci podlinkować tę bibliotekę do bibliotek