Bug#709947: move libunwind7 to / on ia64/wheezy?

2013-05-27 Thread Peter Palfrader
Hi,

in stable, fsck.ext* fails on ia64 when /usr is not on the /
filesystem[0].

One option to fix this would be moving the lib from /usr/lib* to
/lib* on ia64.

If you agree that is a good option, could you, Daigo and/or Matthieu,
prepare an upload for stable and coordinate an update with the stable
release folks?

Cheers,
weasel

0. #709947
-- 
   |  .''`.   ** Debian **
  Peter Palfrader  | : :' :  The  universal
 http://www.palfrader.org/ | `. `'  Operating System
   |   `-http://www.debian.org/


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#708307: Bug#709947: move libunwind7 to / on ia64/wheezy?

2013-05-27 Thread Theodore Ts'o
Just to give a bit more color commentary, the reason for this is
because e2fsck is now using the backtrace(3) function, which is part
of libc on x86.  It's using backtrace() to provide better
debuggability should there be a bug in e2fsck; see the code in
e2fsck/sigcatcher.c.  It's a great way of debugging mysterious crashes
when you have e2fsck installed on hundreds of thousands of production
machines (and you don't have access to the file system images since
that might expose you to privacy- and/or security- sensitive data.)

However, on ia64, gcc is including it silently:

% cat /tmp/foo.c
#include stdio.h
#include unistd.h
#include stdlib.h

int main(int argc, const char **argv)
{
printf(Hello, world\n);
return 0;
}
% cc -c -o /tmp/foo.o /tmp/foo.c
% cc -v -o /tmp/foo /tmp/foo.o
  ...
 /usr/lib/gcc/ia64-linux-gnu/4.6/collect2 --sysroot=/ --build-id 
--no-add-needed --hash-style=both -dynamic-linker /lib/ld-linux-ia64.so.2 -o 
/tmp/foo /usr/lib/gcc/ia64-linux-gnu/4.6/../../../ia64-linux-gnu/crt1.o 
/usr/lib/gcc/ia64-linux-gnu/4.6/../../../ia64-linux-gnu/crti.o 
/usr/lib/gcc/ia64-linux-gnu/4.6/crtbegin.o -L/usr/lib/gcc/ia64-linux-gnu/4.6 
-L/usr/lib/gcc/ia64-linux-gnu/4.6/../../../ia64-linux-gnu 
-L/usr/lib/gcc/ia64-linux-gnu/4.6/../../.. -L/lib/ia64-linux-gnu 
-L/usr/lib/ia64-linux-gnu /tmp/foo.o -lgcc --as-needed -lgcc_s -lunwind 
--no-as-needed -lc -lgcc --as-needed -lgcc_s -lunwind --no-as-needed 
/usr/lib/gcc/ia64-linux-gnu/4.6/crtend.o 
/usr/lib/gcc/ia64-linux-gnu/4.6/../../../ia64-linux-gnu/crtn.o

Note the -lunwind which is included in the link line; it's a free gift which 
is added
by gcc.

The other way of dealing with this is we could add an ia64-specific
hack which forces HAVE_BACKTRACE to be false in the e2fsprogs'
configure script when compiling for debian.  This would be
extraordinarily ugly, and I'd prefer to do this only for ia64, since
as far as I am concerned it's working around an ia64 specific bug in
libc/libunwind.  Still, if it's too hard to move libunwind to the root
partition, this would be another way to solve the problem.

Regards,

- Ted


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org