[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Nano-devel] the compiled size of nano
From: |
Benno Schulenberg |
Subject: |
Re: [Nano-devel] the compiled size of nano |
Date: |
Mon, 08 Feb 2016 21:52:43 +0100 |
On Mon, Feb 8, 2016, at 04:39, Mike Frysinger wrote:
> On 07 Feb 2016 19:51, Benno Schulenberg wrote:
> > On Sun, Feb 7, 2016, at 01:11, Mike Frysinger wrote:
> > > On 06 Feb 2016 19:03, Mike Frysinger wrote:
> > > > On a current Linux system, the size of nano is unchanged.
> > >
> > > i verified this statement after each patch in this series.
> >
> > For me, before the patches, nano was 145480 bytes,
> > after applying all 8 patches, it was 149588 bytes.
> > (Stripped.)
On a newer system (linux 4.1.16, glibc-2.22, gcc-5.3.0)
it is before patches: 163696 bytes,
and after patches: 163276 bytes.
It's slightly smaller after patching. But it surprises me
how much bigger a binary this newer gcc produces. :|
(I always configure with --disable-libmagic and compile with -Os.)
(With -O2, the binary is the same size before and after patching.)
On my old system, the version that uses gnulib definitely
feels slower at startup. I will instrument some timing.
> > > my system:
> > > linux-4.4.0
> > > glibc-2.22
> > > gcc-5.3.0
> >
> > Mine:
> > linux-2.6.32
> > glibc-2.14
> > gcc-4.4.3
>
> well, those versions are old and have known bugs. you'd have to look
> at the configure output to see what's being detected as broken.
Nothing seems to be broken. A full diff of a ./configure on
an old and a new system is pasted at the end.
> you
> can start with the objects actually created under lib/ and the symbols
> each contain.
As far as I can tell it's just getopt.o and mbrtowc.o.
> all in all, i'd say it's WAI.
What's "WAI"? Way after ...?
Benno
@@ -2,9 +2,10 @@
checking host system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
-checking for a thread-safe mkdir -p... /bin/mkdir -p
+checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
+checking whether make supports nested variables... yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
@@ -15,10 +16,11 @@
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
+checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
-checking for grep that handles long lines and -e... /usr/local/bin/grep
-checking for egrep... /usr/local/bin/grep -E
+checking for grep that handles long lines and -e... /usr/bin/grep
+checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
@@ -38,13 +40,16 @@
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
+checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) gcc3
checking for Minix Amsterdam compiler... no
checking for ar... ar
+checking the archiver (ar) interface... ar
+checking for ar... (cached) ar
checking for ranlib... ranlib
-checking whether gcc and cc understand -c and -o together... yes
-checking for gcc option to accept ISO C99... -std=gnu99
-checking for gcc -std=gnu99 option to accept ISO Standard C... (cached)
-std=gnu99
+checking for gcc option to accept ISO C99... none needed
+checking for gcc option to accept ISO Standard C... (cached) none needed
+checking for size_t... yes
checking for working alloca.h... yes
checking for alloca... yes
checking whether <wchar.h> uses 'inline' correctly... yes
@@ -87,7 +92,8 @@
checking for getopt.h... (cached) yes
checking for getopt_long_only... yes
checking whether getopt is POSIX compatible... yes
-checking for working GNU getopt function... no
+checking for working GNU getopt function... yes
+checking for working GNU getopt_long function... yes
checking whether getenv is declared... yes
checking where to find the exponent in a 'double'... word 1 bit 20
checking where to find the exponent in a 'float'... word 0 bit 23
@@ -103,11 +109,11 @@
checking whether towctrans is declared without a macro... yes
checking for working fcntl.h... yes
checking whether getc_unlocked is declared... yes
-checking whether we are using the GNU C Library 2.1 or newer... yes
+checking whether we are using the GNU C Library >= 2.1 or uClibc... yes
checking for wchar_t... yes
-checking for max_align_t... no
+checking for max_align_t... yes
checking whether NULL can be used in arbitrary expressions... yes
-checking for ld used by GCC... /usr/bin/ld
+checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking whether imported symbols can be declared weak... yes
@@ -146,7 +152,6 @@
checking whether printf survives out-of-memory conditions... yes
checking for unsigned long long int... yes
checking for long long int... yes
-checking for size_t... yes
checking for intmax_t... yes
checking for snprintf... (cached) yes
checking for strnlen... yes
@@ -305,7 +310,7 @@
checking whether mbrtowc handles a NULL string argument... guessing yes
checking whether mbrtowc has a correct return value... guessing yes
checking whether mbrtowc returns 0 when parsing a NUL character... guessing yes
-checking whether mbrtowc works on empty input... no
+checking whether mbrtowc works on empty input... yes
checking whether mbrtowc handles incomplete characters... (cached) guessing yes
checking whether mbrtowc works as well as mbtowc... (cached) guessing yes
checking whether YESEXPR works... yes
@@ -332,7 +337,7 @@
checking whether vsnprintf respects a zero size as in C99... yes
checking for ssize_t... yes
checking for va_copy... yes
-checking for max_align_t... (cached) no
+checking for max_align_t... (cached) yes
checking whether NULL can be used in arbitrary expressions... (cached) yes
checking which flavor of printf attribute matches inttypes macros... system
checking whether dprintf is declared without a macro... yes
@@ -341,7 +346,7 @@
checking whether ftello is declared without a macro... yes
checking whether getdelim is declared without a macro... yes
checking whether getline is declared without a macro... yes
-checking whether gets is declared without a macro... yes
+checking whether gets is declared without a macro... no
checking whether pclose is declared without a macro... yes
checking whether popen is declared without a macro... yes
checking whether renameat is declared without a macro... yes
@@ -369,7 +374,7 @@
checking whether random_r is declared without a macro... yes
checking whether realpath is declared without a macro... yes
checking whether rpmatch is declared without a macro... yes
-checking whether secure_getenv is declared without a macro... no
+checking whether secure_getenv is declared without a macro... yes
checking whether setenv is declared without a macro... yes
checking whether setstate is declared without a macro... yes
checking whether setstate_r is declared without a macro... yes
@@ -525,12 +530,7 @@
checking for wcwidth... yes
checking whether C compiler accepts -Wall... yes
checking return type of signal handlers... void
-checking for NCURSESW... no
-checking ncurses.h usability... yes
-checking ncurses.h presence... yes
-checking for ncurses.h... yes
-checking for ncursesw5-config... ncursesw5-config
-checking for get_wch in -lncursesw... yes
+checking for NCURSESW... yes
Using ncursesw as the curses library
checking for use_default_colors in -lncursesw... yes
checking for key_defined in -lncursesw... yes
--
http://www.fastmail.com - The professional email service
- [Nano-devel] [PATCH 8/8] drop wchar.h/wctype.h/stdarg.h checks, (continued)
- [Nano-devel] [PATCH 8/8] drop wchar.h/wctype.h/stdarg.h checks, Mike Frysinger, 2016/02/06
- [Nano-devel] [PATCH 6/8] assume getopt_long support is always available, Mike Frysinger, 2016/02/06
- [Nano-devel] [PATCH 3/8] drop getdelim/getline fallback functions, Mike Frysinger, 2016/02/06
- [Nano-devel] [PATCH 4/8] drop isblank/iswblank fallback functions, Mike Frysinger, 2016/02/06
- [Nano-devel] [PATCH 5/8] assume regex.h support is always available, Mike Frysinger, 2016/02/06
- [Nano-devel] [PATCH 2/8] drop various str fallback functions, Mike Frysinger, 2016/02/06
- [Nano-devel] [PATCH 7/8] drop glib fallback for snprintf/vsnprintf, Mike Frysinger, 2016/02/06
- Re: [Nano-devel] [PATCH 1/8] add support for gnulib, Mike Frysinger, 2016/02/06
Re: [Nano-devel] [PATCH 1/8] add support for gnulib, Benno Schulenberg, 2016/02/07