It's a dangerous option and doesn't seem to be necessary.
gcc: don't use -Os and -O3 together.
Contrary to what the documentation says, the last one specified wins, so
the code is compiled -O3 and not -Os. Remove the -Os shrinks the code
considerately.
ld: don't use --no-check-sections
gcc: don't use -Os and -O3 together.