Bug 809179
Summary: | Global variable nested by another dso shows up incorrectly in gdb | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Petr Muller <pmuller> |
Component: | gdb | Assignee: | Sergio Durigan Junior <sergiodj> |
Status: | CLOSED ERRATA | QA Contact: | Miroslav Franc <mfranc> |
Severity: | medium | Docs Contact: | |
Priority: | high | ||
Version: | 7.0 | CC: | choma, gdb-bugs, jan.kratochvil, law, mcermak, mfranc, mnewsome, mpolacek, ohudlick, pmuller, sergiodj |
Target Milestone: | rc | Keywords: | Patch, Reopened |
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: |
Cause: GDB was not correctly handling shared objects that contained identical global variables being exported.
Consequence: When the user tried to inspect the global variable being exported by both shared objects, GDB would display an incorrect value for it.
Fix: GDB now handles correctly different shared objects that export the same global variable.
Result: The user can inspect the global variable without problems.
|
Story Points: | --- |
Clone Of: | 745004 | Environment: | |
Last Closed: | 2015-03-05 09:23:49 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 745004 | ||
Bug Blocks: | 758797, 1113520 |
Comment 2
Petr Muller
2012-04-02 17:05:04 UTC
1) the rejection of bogus options passed to gcc driver when linking is documented: http://gcc.gnu.org/gcc-4.7/porting_to.html 2) I don't see how this testcase is related to PR39563, that PR was about block scope extern decls, there are none in the testcase 3) gcc generates the same debug info (and comparable code) in all versions I've tried (4.1/4.4/4.7/4.8), so if this worked, it would be a gdb change. Try /usr/bin/gdb instead of gdb ? GDB does not support properly copy-relocations and conflicting names. This is: common/.bss variables from shared libraries not displayed correctly http://sourceware.org/bugzilla/show_bug.cgi?id=11717 The possibilities how to fix it were discussed at: gfortran invalid DW_AT_location for overridable variables http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40040 You may get random result depending on which order GDB expands symtabs etc. This is DTS-unrelated, it is a general GDB Bug/FEAT to fix. (In reply to comment #3) > 2) I don't see how this testcase is related to PR39563, that PR was about block > scope extern decls, there are none in the testcase I admit I just used the testcase, saw the reported behavior and reported it for DTS. Sorry. > > 3) gcc generates the same debug info (and comparable code) in all versions I've > tried (4.1/4.4/4.7/4.8), so if this worked, it would be a gdb change. Try > /usr/bin/gdb instead of gdb ? That is weird, because the factor is actually whether I use Toolset gcc or not. If I compile with Toolset gcc, I get '$1 = 0' with both system and Toolset gdb If I compile with system gcc, I get '$1 = 42' with both system and Toolset gdb (In reply to comment #4) > GDB does not support properly copy-relocations and conflicting names. > > This is: > common/.bss variables from shared libraries not displayed correctly > http://sourceware.org/bugzilla/show_bug.cgi?id=11717 > > The possibilities how to fix it were discussed at: > gfortran invalid DW_AT_location for overridable variables > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40040 > > You may get random result depending on which order GDB expands symtabs etc. > > This is DTS-unrelated, it is a general GDB Bug/FEAT to fix. Not sure if this is true - it seems to me that RHEL5/RHEL6 gdb/gcc (or whatever is the cause) is better than the Toolset one. Proposed patch for testing the issue (upstream): https://sourceware.org/ml/gdb-patches/2014-09/msg00136.html Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2015-0404.html |