configure: replace -Os with equivalent based on -O2
authorRich Felker <dalias@aerifal.cx>
Sun, 21 May 2023 16:16:11 +0000 (12:16 -0400)
committerRich Felker <dalias@aerifal.cx>
Sun, 21 May 2023 16:16:11 +0000 (12:16 -0400)
commitb90841e2583237a4132bbbd74752e0e9563660cd
treefcbf44dbaeb8471a54a19295b3ac41cb2fb6c1b1
parent718f363bc2067b6487900eddc9180c84e7739f80
configure: replace -Os with equivalent based on -O2

aside from the documented differences, which are the contents of this
patch, GCC's -Os also has hard-coded unwanted behaviors which are
impossible to override, like refusing to strength-reduce division by a
constant to multiplication, presumably because the div saves a couple
bytes of code. for this reason, getting rid of -Os and switching to an
equivalent default optimization profile based on -O2 has been a
long-term goal.

as follow-ups, it may make sense to evaluate which of these variations
from -O2 actually do anything useful, and eliminate the ones which are
not helpful or which throw away performance for insignificant size
savings. but for now, I've replicated -Os as closely as possible to
provide a baseline for such evaluation.
configure