Hi Christian,
On 04/03/2016 06:54 PM, Christian Seiler wrote:
Is there another way to test it?
Well, you can just compile any number of standard programs (that don't
require external libraries) with it. Just use diet in front of gcc, e.g.
Right. This is working fine. No problem found running the static binaries
generated.
If you want to try a real world use cases, you could try building mksh
from sid with dietlibc-dev installed (you will need to update the
Build-Depends in debian/control and add ppc64el to the list if you use
an autobuilder). Then you could try running the statically linked mksh
variant (/bin/mksh-static in the package) and doing a few things in
the shell...
Yea. Static mksh is running fine also. I tested it in normal mode and in
the restricted mode.
Warning: mksh will try to link mksh-static against something else if
dietlibc fails, so check the build logs. (There's a summary at the
end.)
Right. The build seems to happen properly, and I can see:
cp builddir/static/mksh debian/mksh/bin/mksh-static
..
Dependencies:
| dietlibc-dev 0.34~cvs20160402.1-1~exp2+ppc64el.1
....
Build information for static mksh
set -A check_categories -- shell:legacy-no int:32 smksh binsh convfds
no-histfile
gcc (Debian 5.3.1-13) 5.3.1 20160323
Result: regressed (broken<firstbuilt<checked<unattended<regressed)
Regression test results:
| Total failed: 0
| Total passed: 506
Variables used:
| CC='klcc'
| CFLAGS='-fstack-protector-strong -Wformat -Werror=format-security -Wall
-Wextra -fno-stack-protector -Os -g'
| CPPFLAGS='-Wdate-time -D_FORTIFY_SOURCE=2 -DMKSH_BINSHPOSIX
-DMKSH_BINSHREDUCED -DMKSH_SMALL -DMKSH_SMALL_BUT_FAST'
| LDFLAGS='-Wl,-z,relro -Wl,-z,now -Wl,--as-needed'
| LDSTATIC='-static'
| LIBS=''
Resulting binary:
| text data bss dec hex filename
| 206646 9776 6440 222862 3668e builddir/static/mksh
----
Or, you could manually compile something without external deps such as
pwgen. (apt-get source pwgen; cd pwgen-*; ./configure CC="diet gcc";
make; ./pwgen to test it.)
Package pwgen is also working fine. No error on compiling or testing it.
Thank you!