Bug#760450: libc6-prof is unusable
control: found -1 760450 libc6-prof/2.11.3-4 On Thu, Sep 04, 2014 at 12:41:06PM +0400, Dmitry Eremin-Solenikov wrote: > Package: libc6-prof > Version: 2.19-10 > Severity: grave > > The library from libc6-prof package is unusable. > > I'm compiling the simple example program: > > int main(void) > { > return sleep(3); > } > > If I follow directly the suggestion from the README.Debian, I get the > following error: > > $ gcc -g -pg test.c -static-libgcc -lc_p > /usr/bin/ld: dynamic STT_GNU_IFUNC symbol `strcmp' with pointer equality > in > `/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libc_p.a(strcmp.op)' > can not be used when making an executable; recompile with -fPIE and > relink with -pie > collect2: error: ld returned 1 exit status The problem seems to be related to the STT_GNU_IFUNC support in glibc. It's something that has been added in Squeeze, and indeed the problem is reproducible there. There might be some way to get it working again, but given there are now better way to do profiling, even without the need to recompile and using the normal debugging symbols, I think it's time to just get rid of of this package. It doesn't seems to be really used anyway [1]. Any thoughts? [1] https://qa.debian.org/popcon.php?package=eglibc -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#760450: libc6-prof is unusable
Package: libc6-prof Version: 2.19-10 Severity: grave The library from libc6-prof package is unusable. I'm compiling the simple example program: int main(void) { return sleep(3); } If I follow directly the suggestion from the README.Debian, I get the following error: $ gcc -g -pg test.c -static-libgcc -lc_p /usr/bin/ld: dynamic STT_GNU_IFUNC symbol `strcmp' with pointer equality in `/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libc_p.a(strcmp.op)' can not be used when making an executable; recompile with -fPIE and relink with -pie collect2: error: ld returned 1 exit status I was able to make executable using one of the following compile lines: $ gcc -g -pg test.c -nodefaultlibs -lc_p -lgcc_eh -lc_p or $ gcc -g -pg test.c -nodefaultlibs -Wl,--start-group -lc_p -lgcc_eh -Wl,--end-group However the resulting executable segfaults: $ ./a.out Segmentation fault $ valgrind --quiet ./a.out ==1440== Invalid read of size 4 ==1440==at 0x459DBB: __mcount_internal (in /tmp/tt/t/a.out) ==1440==by 0x4347D3: mcount (in /tmp/tt/t/a.out) ==1440==by 0x400F48: ??? (in /tmp/tt/t/a.out) ==1440==by 0xFFF000387: ??? ==1440== Address 0x18 is not stack'd, malloc'd or (recently) free'd ==1440== ==1440== ==1440== Process terminating with default action of signal 11 (SIGSEGV) ==1440== Access not within mapped region at address 0x18 ==1440==at 0x459DBB: __mcount_internal (in /tmp/tt/t/a.out) ==1440==by 0x4347D3: mcount (in /tmp/tt/t/a.out) ==1440==by 0x400F48: ??? (in /tmp/tt/t/a.out) ==1440==by 0xFFF000387: ??? ==1440== If you believe this happened as a result of a stack ==1440== overflow in your program's main thread (unlikely but ==1440== possible), you can try to increase the size of the ==1440== main thread stack using the --main-stacksize= flag. ==1440== The main thread stack size used in this run was 8388608. Segmentation fault -- System Information: Debian Release: jessie/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.14-1-amd64 (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 libc6-prof depends on: ii libc6 2.19-10 libc6-prof recommends no packages. libc6-prof suggests no packages. -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org