FS#25048 - [dnsutils] binaries are uselessy enormous
Attached to Project:
Arch Linux
Opened by Kristoffer Tidemann (ktide) - Thursday, 07 July 2011, 00:02 GMT
Last edited by Gaetan Bisson (vesath) - Thursday, 07 July 2011, 02:22 GMT
Opened by Kristoffer Tidemann (ktide) - Thursday, 07 July 2011, 00:02 GMT
Last edited by Gaetan Bisson (vesath) - Thursday, 07 July 2011, 02:22 GMT
|
Details
I suggest doing this in the PKGBUILD:
export CFLAGS="${CFLAGS/-O2} -Os -fdata-sections -ffunction-sections" export LDFLAGS="${LDFLAGS} -Wl,--gc-sections" This will cut the size of each binary by _at least_ 50%. |
This task depends upon
Closed by Gaetan Bisson (vesath)
Thursday, 07 July 2011, 02:22 GMT
Reason for closing: Deferred
Additional comments about closing: Reporter should learn to keep his cool.
Thursday, 07 July 2011, 02:22 GMT
Reason for closing: Deferred
Additional comments about closing: Reporter should learn to keep his cool.
Comment by
Kristoffer Tidemann (ktide) -
Thursday, 07 July 2011, 00:08 GMT
Whoops, this is in [core]
Comment by Gaetan Bisson (vesath) -
Thursday, 07 July 2011, 01:23 GMT
I find it a bit messy to cherry-pick compilation flags per
package: the default values of /etc/makepkg.conf make sense, and
people who value size over speed can always change them and use
the ABS.
Comment by
Kristoffer Tidemann (ktide) -
Thursday, 07 July 2011, 01:35 GMT
You missed the useful part. It's not about -O2 vs -Os but about
removing all the unused crap that's left in these binaries.
Comment by Gaetan Bisson (vesath) -
Thursday, 07 July 2011, 02:01 GMT
My point is to have a somewhat uniform building process across
packages: although here putting data/functions in separate
sections and garbage-collecting them saves space, it wouldn't in
other scenarios, so I don't consider adding those flags a very
clean solution.
Comment by
Kristoffer Tidemann (ktide) -
Thursday, 07 July 2011, 02:13 GMT
How about I start filing bugs against everything that isn't "very
clean" or violates your dream of an "uniform building process"?
This is a non-instrusive fix to a problem while not major is
clearly worth fixing, so fix it.