Package: e2fsprogs
Version: 1.42.1-1
Severity: normal

When investigating why e2resizing a 100G filesystem to 75G takes
several hours of *CPU* time on a Core i7 computer (in the "Scanning
inode table" phase -- you might get a bug report about that later if
turning optimizations on doesn't help very much), I ran into the
following:

The e2fsprogs-dbg package doesn't actually seem to include any debug
information, *except* for e2fsck.static, which I'm at loss to explain,
since I don't see any -g switches passed to gcc in my build logs for
any gcc invokation when building e2fsprogs. Moreover, almost
everything in the package is compiled without optimizations.

(By the way, the e2fsck.static debug info file is in wrong place,
/usr/lib/debug/e2fsck.static instead of
/usr/lib/debug/sbin/e2fsck.static, which causes it to not be found by
various tools...)

After figuring out how to un-hide the relevant information cleverly
hidden from build logs by modifying debian/rules to pass
--enable-verbose-makecmds to configure, a few things jump out from the
build logs. You can get the entire build log from [1]; here's just
some excerpts with line numbers. To summarize:

* I think nothing is being built with -g

* I think that only the BF version, whatever that is (bootfloppies?),
  is being built with -Os; all others are being built without any
  optimization flags at all

* The debug info file for e2fsck.static is installed in a wrong
  directory

[1] http://users.tkk.fi/sliedes/e2fsprogs_1.42.1-1_amd64.build

        Sami


------------------------------------------------------------
  20 dpkg-source: info: building e2fsprogs in e2fsprogs_1.42.1-1.dsc
  21  debian/rules build
  22 /bin/sh: 1: Syntax error: Bad fd number
  23 /bin/sh: 1: Syntax error: Bad fd number
  24 /bin/sh: 1: Syntax error: Bad fd number
------------------------------------------------------------

That's scary...

------------------------------------------------------------
  29 cd /home/sliedes/scratch/rec/e/e2fsprogs-1.42.1/debian/BUILD-STD && 
AWK=/usr/bin/awk \
  30         /home/sliedes/scratch/rec/e/e2fsprogs-1.42.1/configure 
--disable-e2initrd-helper --enable-elf-shlibs --enable-quota 
--infodir=/usr/share/info --enable-verbose-makecmds --disable-fsck 
--disable-libblkid --disable-libuuid --disable-uuidd --enable-symlink-install 
--with-multiarch=x86_64-linux-gnu \
  31         CFLAGS=" -D__NO_STRING_INLINES" CPPFLAGS="" LDFLAGS=""
------------------------------------------------------------

Note the curious CFLAGS passed. No -O, no -g.

------------------------------------------------------------
  1104 /bin/sh: 1: Syntax error: Bad fd number
  1105 /bin/sh: 1: Syntax error: Bad fd number
  1106 /bin/sh: 1: Syntax error: Bad fd number
[...]
  1110 cd /home/sliedes/scratch/rec/e/e2fsprogs-1.42.1/debian/BUILD-BF && 
AWK=/usr/bin/awk \
  1111                 /home/sliedes/scratch/rec/e/e2fsprogs-1.42.1/configure 
--disable-e2initrd-helper --enable-elf-shlibs --enable-quota 
--infodir=/usr/share/info --enable-verbose-makecmds --disable-fsck 
--disable-libblkid --disable-libuuid --disable-uuidd --disable-nls 
--disable-imager --disable-testio-debug --disable-uuidd --disable-tls 
--disable-debugfs \
  1112                 CFLAGS=" -D__NO_STRING_INLINES -Os -fomit-frame-pointer" 
CPPFLAGS="" LDFLAGS=""
------------------------------------------------------------

Scary syntax errors again. This time CFLAGS contains -Os, but no -g.

------------------------------------------------------------
  1983 /bin/sh: 1: Syntax error: Bad fd number
  1984 /bin/sh: 1: Syntax error: Bad fd number
[...]
  1988 if type diet > /dev/null  2>&1 ; then \
  1989                 cd 
/home/sliedes/scratch/rec/e/e2fsprogs-1.42.1/debian/BUILD-STATIC && 
AWK=/usr/bin/awk \
  1990                 /home/sliedes/scratch/rec/e/e2fsprogs-1.42.1/configure 
--disable-nls --disable-imager --disable-uuidd --disable-tls 
--enable-verbose-makecmds \
  1991                 --with-diet-libc CFLAGS=" -D__NO_STRING_INLINES"; \
  1992         else \
  1993                 cd 
/home/sliedes/scratch/rec/e/e2fsprogs-1.42.1/debian/BUILD-STATIC && 
AWK=/usr/bin/awk \
  1994                         
/home/sliedes/scratch/rec/e/e2fsprogs-1.42.1/configure --disable-nls 
--disable-imager --disable-uuidd --disable-tls --enable-verbose-makecmds \
  1995                         CFLAGS=" -D__NO_STRING_INLINES"; \
  1996         fi
------------------------------------------------------------


-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.4 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages e2fsprogs depends on:
ii  e2fslibs    1.42.1-1
ii  libblkid1   2.20.1-1.2
ii  libc6       2.13-26
ii  libcomerr2  1.42.1-1
ii  libss2      1.42.1-1
ii  libuuid1    2.20.1-1.2
ii  util-linux  2.20.1-1.2

e2fsprogs recommends no packages.

Versions of packages e2fsprogs suggests:
ii  e2fsck-static  1.42.1-1
ii  gpart          <none>
ii  parted         2.3-8

-- no debconf information

Attachment: signature.asc
Description: Digital signature

Reply via email to