Bug 167628 - using prelink prevents valgrind from loading line numbers from stabs.
using prelink prevents valgrind from loading line numbers from stabs.
Status: CLOSED RAWHIDE
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: prelink (Show other bugs)
4.0
i386 Linux
medium Severity low
: ---
: ---
Assigned To: Jakub Jelinek
http://sourceforge.net/mailarchive/fo...
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2005-09-06 09:52 EDT by Ashley Pittman
Modified: 2007-11-30 17:07 EST (History)
0 users

See Also:
Fixed In Version: 0.3.6-1
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2005-09-11 16:49:13 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Patch that fixes the problem (1.01 KB, patch)
2005-09-06 09:56 EDT, Ashley Pittman
no flags Details | Diff

  None (edit)
Description Ashley Pittman 2005-09-06 09:52:45 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.10) Gecko/20050822 Firefox/1.0.6 (Debian package 1.0.6-3)

Description of problem:
When using valgrind to detect errors in library code valgrind is able to extract less information from shared library's that have been prelinked.  In particular some of the N_SLINE entries in the library are changed erronously by prelinking which means valgrind can no longer report memory accesses by line number but instead reports them by library name.

For some (unknown) reason this only seems to happen when using our (www.quadrics.com) libarary's, I believe this is to do with the compile flags used in our releases and the length of functions that we use.

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. prelink -a
2. valgrind tping  

Actual Results:  You see errors listed my shared library name.

Expected Results:  You see errors listed by filename/line number.

Additional info:

You need a copy of our software to verify this as I've not found any default library's that can provoke it.
Comment 1 Ashley Pittman 2005-09-06 09:56:45 EDT
Created attachment 118504 [details]
Patch that fixes the problem

This patch fixes the problem for me and I haven't seen any side effects
although I'm not a stabs expert.
Comment 2 Jakub Jelinek 2005-09-11 16:49:13 EDT
Fix (slightly different) has been included in rawhide prelink.
"For some (unknown) reason this only seems to happen when using our..."
That reason is pretty clear, almost nobody uses Stabs these days, Dwarf3 is
clearly superior and on some RHEL architectures the only one supported.
Plus, all the libraries/binaries in the distro as well as packages built using
rpm by default have debugging info stripped into separate files (*-debuginfo*
subpackages).
BTW, N_SLINE is absolute on some targets and relative on others, which is
what lead to the "I'm not 100% sure about the following 3." comment.
But it seems to be always relative on ELF Linux targets except Alpha (and on
Alpha I think stabs are never used).

If you wish this fix to be backported to RHEL4 U3+, you need to request that
through your support contact, as there are no other prelink changes planned
for RHEL4 U3 ATM.

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