nano-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]