Bug 615701 - RHEL 6 beta 2 glibc does not load nosegneg libraries on a 32-bit Xen domU system
Summary: RHEL 6 beta 2 glibc does not load nosegneg libraries on a 32-bit Xen domU system
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: glibc
Version: 6.0
Hardware: All
OS: Linux
Target Milestone: rc
: ---
Assignee: Andreas Schwab
QA Contact: qe-baseos-tools
Keywords: Regression
Depends On:
TreeView+ depends on / blocked
Reported: 2010-07-18 05:10 UTC by Matt Wilson
Modified: 2016-11-24 15:41 UTC (History)
5 users (show)

Clone Of:
Last Closed: 2011-05-19 13:15:51 UTC

Attachments (Terms of Use)

External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2011:0584 normal SHIPPED_LIVE glibc bug fix and enhancement update 2011-05-18 17:56:51 UTC

Description Matt Wilson 2010-07-18 05:10:18 UTC
Description of problem:
When running in a 32-bit Xen domU environment, glibc does not load the nosegneg libraries when "hwcap 1 nosegneg" is in /etc/ld.so.conf.d/nosegneg.conf

Version-Release number of selected component (if applicable): 2.12-1.2.el6

How reproducible: 100%

Steps to Reproduce (on Xen domU):
1. # echo hwcap 1 nosegneg > /etc/ld.so.conf.d/nosegneg.conf
2. # ldconfig
3. # ldd /bin/true
Actual results:
        linux-gate.so.1 =>  (0xb7798000)
        libc.so.6 => /lib/libc.so.6 (0xb76bb000)
        /lib/ld-linux.so.2 (0xb7799000)

Expected results:
        linux-gate.so.1 =>  (0xb7798000)
        libc.so.6 => /lib/i686/nosegneg/libc.so.6 (0xb7624000)
        /lib/ld-linux.so.2 (0xb7799000)

Additional info:

This bug was introduced in http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=7bfa311ff51999f9e92620268e493959a2f7bfb4 

Rolling back this change corrects the behavior.

Comment 2 RHEL Product and Program Management 2010-07-18 05:37:51 UTC
This issue has been proposed when we are only considering blocker
issues in the current Red Hat Enterprise Linux release. It has
been denied for the current Red Hat Enterprise Linux release.

** If you would still like this issue considered for the current
release, ask your support representative to file as a blocker on
your behalf. Otherwise ask that it be considered for the next
Red Hat Enterprise Linux release. **

Comment 3 Roland McGrath 2010-07-19 23:33:25 UTC
Probably fixed by:

diff --git a/elf/dl-sysdep.c b/elf/dl-sysdep.c
index 160503d..75cb310 100644
--- a/elf/dl-sysdep.c
+++ b/elf/dl-sysdep.c
@@ -425,6 +425,7 @@ _dl_important_hwcaps (const char *platform, size_t platform_len, size_t *sz,
       const ElfW(Word) mask = ((const ElfW(Word) *) dsocaps)[-1];
       GLRO(dl_hwcap) |= (uint64_t) mask << _DL_FIRST_EXTRA;
+      GLRO(dl_hwcap_mask) |= (uint64_t) mask << _DL_FIRST_EXTRA;
       size_t len;
       for (const char *p = dsocaps; p < dsocaps + dsocapslen; p += len + 1)

Note this does not permit for LD_HWCAP_MASK environment variable constraining vDSO capabilities used.

Comment 4 Matt Wilson 2010-07-20 00:08:24 UTC
testing a patched glibc now.

Comment 5 Matt Wilson 2010-07-20 18:02:41 UTC
tested this yesterday and forgot to report back. This does seem to fix the problem.

Comment 6 Andreas Schwab 2010-07-28 15:08:32 UTC

Comment 11 errata-xmlrpc 2011-05-19 13:15:51 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.


Note You need to log in before you can comment on or make changes to this bug.