From: Andrzej O. <an...@ma...> - 2012-02-21 15:51:47
|
Heiko Zuerker wrote: > I just had another thought, maybe one of the glibc patches we're using is > causing the issue. > > You could try building with an empty glibc-patches directory. > After the "make unpack", simply empty the directory before you do the "make > all". Hi Heiko, Yes... I will try this too. But today I had some free time and added to the DL binutils and gdb. In this way I could see make.cifs inside . Well ... See for yourself: > root@DesignerVM32:/var # gdb --args /sbin/mount.cifs //172.27.32.83/RAID /mnt > GNU gdb (GDB) 7.4 > Copyright (C) 2012 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. Type "show copying" > and "show warranty" for details. > This GDB was configured as "i686-pc-linux-gnu". > For bug reporting instructions, please see: > <http://www.gnu.org/software/gdb/bugs/>... > Reading symbols from /sbin/mount.cifs...(no debugging symbols found)...done. > (gdb) b realpath > Breakpoint 1 at 0x17b8 > (gdb) run > Starting program: /sbin/mount.cifs //172.27.32.83/RAID /mnt > [Thread debugging using libthread_db enabled] > Using host libthread_db library "/lib/libthread_db.so.1". > > Breakpoint 1, 0xb7fdaec9 in realpath () from /lib/libsafe.so.2 > (gdb) q As You can see, mount.cifs found realpath not in glibc but in libsafe (!). > root@DesignerVM32:/var # objdump -t /lib/libsafe.so.2|grep realpath > 0000501c l O .bss 00000004 real_realpath.4419 > 00001ec0 g F .text 00000154 realpath Indeed, in libsafe library realpath function is present, perhaps safer because of protecting second argument from overflow, but probably not accepting (at least 32-bit) as the second argument of NULL or has some other defect. So, probably problem is with libsafe, not in glibc. Best regards -- Andrzej Odyniec |