[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: HEADS-UP: Recent atari install floppy overflow
Date: Thu, 13 Sep 2018 11:53:27 +0200
From: Martin Husemann <martin%duskware.de@localhost>
| I prefer this option. The SMALL or TINY shell is still functional, and the
| smaller the better.
For everyone's information ...
text data bss dec hex filename
9213 1394 40 10647 2997 test.current
8566 1394 40 10000 2710 test.old
7568 1314 24 8906 22ca test.small
9329 1394 40 10763 2a0b test.strcmp
7471 1314 24 8809 2269 test.tiny
First, the actual sizes are not relevant, SMALL and TINY versions are only
built as part of /bin/sh (not actually installed as /bin/test) and when
included in sh, the actual code compiled changes a bit (a few functions
are shared, and so omitted from the test compile, and other support stuff
However the differences in the sizes should still apply - allowing for
that these are AMD64 versions, m68k, i386, arm, etc, sizes, and
differences, will all, well, differ...
Also note, that usually for install media, it is the size of the file that
matters, not the size of the running executable, but here, we would be
just adjusting the size of /bin/sh a little, and the file size change is
likely to reflect the binary size change to a degree, whereas the file
size changes of these test binary files are completely irrlevant.
In the list, "test.current" is what is in 8.99.25 right now.
test.old is (I think close enough to) what was in yesterday's HEAD
(it is actually /bin/test from my laptop, which is an older 8.99.xx from
earlier this year, but I don't think there had been any intervening
changes, though maybe gcc has gone up a revision since).
test.small is what I get compiling with -DSMALL, excluding all
of the fallback code.
test.strcmp is an earlier (never saw the light of day) version of test.current
which blindly used strcmp(s, "!") instead of open coding
s == '!' && s == '\0' and similar - when I saw how much bigger that
was, I abandoned that version, but kept the resulting binary ...)
test.tiny is test.small with support for test expressions containing redundant
(meaningless) surrounding parentheses (first and last args) eliminated (thus
no longer POSIX conforming, but not in a way that would really be a
problem for install media.)
ps: I have not yet built /bin/sh in these different forms to see what
difference it makes there, and I'm not sure I know how to do that in
a way that the file size actually included in the install media can be
revealed - and I don't really have the setup which would allow me
to do it for the cases that are most important (eg: for port-atari).
Main Index |
Thread Index |