Bug 14557 - __kernel_vsyscall unwind info is incorrect
Summary: __kernel_vsyscall unwind info is incorrect
Status: RESOLVED FIXED
Alias: None
Product: glibc
Classification: Unclassified
Component: nptl (show other bugs)
Version: 2.17
: P2 normal
Target Milestone: 2.17
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-07 17:23 UTC by H.J. Lu
Modified: 2014-06-17 04:41 UTC (History)
1 user (show)

See Also:
Host:
Target: i686
Build:
Last reconfirmed:
fweimer: security-


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description H.J. Lu 2012-09-07 17:23:13 UTC
On i686, these nptl tests failed when linking statically:

make[4]: *** [/export/build/gnu/glibc-32bit-static/build-i686-linux/nptl/tst-mutex8.out] Error 1
make[4]: *** [/export/build/gnu/glibc-32bit-static/build-i686-linux/nptl/tst-mutexpi8.out] Error 1
make[4]: *** [/export/build/gnu/glibc-32bit-static/build-i686-linux/nptl/tst-cond8.out] Error 1
make[4]: *** [/export/build/gnu/glibc-32bit-static/build-i686-linux/nptl/tst-sem11.out] Error 1
make[4]: *** [/export/build/gnu/glibc-32bit-static/build-i686-linux/nptl/tst-sem12.out] Error 1
make[4]: *** [/export/build/gnu/glibc-32bit-static/build-i686-linux/nptl/tst-raise1.out] Error 1
make[4]: *** [/export/build/gnu/glibc-32bit-static/build-i686-linux/nptl/tst-cancel7.out] Error 1
make[4]: *** [/export/build/gnu/glibc-32bit-static/build-i686-linux/nptl/tst-cancel24.out] Error 1
make[4]: *** [/export/build/gnu/glibc-32bit-static/build-i686-linux/nptl/tst-cancelx4.out] Error 1
make[4]: *** [/export/build/gnu/glibc-32bit-static/build-i686-linux/nptl/tst-cancelx5.out] Error 1
make[4]: *** [/export/build/gnu/glibc-32bit-static/build-i686-linux/nptl/tst-cancelx7.out] Error 1
make[4]: *** [/export/build/gnu/glibc-32bit-static/build-i686-linux/nptl/tst-cancelx16.out] Error 1
make[4]: *** [/export/build/gnu/glibc-32bit-static/build-i686-linux/nptl/tst-cancelx20.out] Error 1
make[4]: *** [/export/build/gnu/glibc-32bit-static/build-i686-linux/nptl/tst-cancelx21.out] Error 1
Comment 1 H.J. Lu 2012-09-15 16:25:43 UTC
sysdeps/unix/sysv/linux/i386/i686/pthread_cond_wait.S is
incorrect for libpthread.a.  Remove it fixes nptl/tst-cond8.
Comment 2 H.J. Lu 2012-09-15 17:13:41 UTC
(In reply to comment #1)
> sysdeps/unix/sysv/linux/i386/i686/pthread_cond_wait.S is
> incorrect for libpthread.a.  Remove it fixes nptl/tst-cond8.

I also need to remove sysdeps/unix/sysv/linux/i386/i686/pthread_cond_timedwait.S
to fix nptl/tst-cond8.  It looks like cleanup routines don't work
correctly.
Comment 3 H.J. Lu 2012-09-18 20:54:34 UTC
__kernel_vsyscall unwind info in Linux kernel 3.5 seems
incorrect and we can't unwind through __kernel_vsyscall.
Comment 4 H.J. Lu 2012-09-18 21:43:12 UTC
It looks like we do not load unwind info in vsyscall
page in static executables.