Bug 714824
| Summary: | bug when linking kernel - debug info for setup_arch not found | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Michael Hebenstreit <michael.hebenstreit> |
| Component: | binutils | Assignee: | Andreas Schwab <schwab> |
| Status: | CLOSED ERRATA | QA Contact: | qe-baseos-tools-bugs |
| Severity: | medium | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 6.1 | CC: | jakub, jan.kratochvil, luyu, mnowak, pmuller, tromey |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | binutils-2.20.51.0.2-5.24.el6 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2011-12-06 17:00:29 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: | |||
Reassigning temporarily to gdb for analysis, this might be a gdb bug but also a gcc bug, though nothing obvious has been spotted in the generated debug info yet. ld.bfd needs a backport: gc-sections and DWARF ranges http://sourceware.org/ml/binutils/2010-10/msg00354.html 9924d284f0f52226a71d52f414640626feb78c24 is the first bad (=good) commit commit 9924d284f0f52226a71d52f414640626feb78c24 Author: Daniel Jacobowitz <dan> Date: Mon Oct 25 15:54:13 2010 +0000 setup_arch which errorneously does not belong into its CU's DW_AT_ranges. <0><13b961>: Abbrev Number: 1 (DW_TAG_compile_unit) <13b967> DW_AT_name : arch/x86/kernel/setup.c <13b96b> DW_AT_comp_dir : /usr/src/debug/kernel-2.6.35.fc14/linux-2.6.35.x86_64 <13b97f> DW_AT_ranges : 0x5700 <1><148a2e>: Abbrev Number: 92 (DW_TAG_subprogram) <148a30> DW_AT_name : setup_arch <148a38> DW_AT_low_pc : 0xffffffff81ba5ed6 <148a40> DW_AT_high_pc : 0xffffffff81ba69bc FAIL: Offset Begin End 00005700 ffffffff8100d6fc ffffffff8100d74e 00005700 ffffffff81ba5dc9 ffffffff81ba5e01 00005700 ffffffff81ba5e01 ffffffff81ba5e49 00005700 <End of list> PASS: 00005700 ffffffff8100d6fc ffffffff8100d74e 00005700 ffffffff819a5dc9 ffffffff819a5e01 00005700 ffffffff819a5e01 ffffffff819a5e49 00005700 0000000000000001 0000000000000001 (start == end) 00005700 ffffffff819a5e49 ffffffff819a5e9f 00005700 ffffffff819a5e9f ffffffff819a5ed6 00005700 ffffffff819a5ed6 ffffffff819a69bc 00005700 <End of list> 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. http://rhn.redhat.com/errata/RHBA-2011-1523.html |
Description of problem: after compiling a kernel from scratch some debug information is missing. Version-Release number of selected component (if applicable): gcc-4.4.5-6.el6.x86_64 libgcc-4.4.5-6.el6.x86_64 binutils-2.20.51.0.2-5.20.el6.x86_64 How reproducible: reproduced with kernel sources for RH6.1 linux-2.6.32-131.0.15.el6.x86_64, and vanilla linux-2.6.32.41 and linux-2.6.39.1; it worked with RH5.4 Steps to Reproduce: 1. take a kernel source 2. set "compile with debug infos", compile, 3. start gdb, try "l setup_arch" Actual results: [mhebenst@et19 linux-2.6.32.41]$ gdb vmlinux GNU gdb (GDB) Red Hat Enterprise Linux (7.2-48.el6) ... Reading symbols from /panfs/panfs2/home2/mhebenst/development/linux-2.6.32.41/vmlinux...done. (gdb) l setup_arch No line number known for setup_arch. Expected results: [mhebenst@eln1 linux-2.6.32.41]$ gdb vmlinux GNU gdb Fedora (6.8-37.el5) ... This GDB was configured as "x86_64-redhat-linux-gnu"... (gdb) l setup_arch 716 * 717 * Note: On x86_64, fixmaps are ready for use even before this is called. 718 */ 719 720 void __init setup_arch(char **cmdline_p) 721 { 722 #ifdef CONFIG_X86_32 723 memcpy(&boot_cpu_data, &new_cpu_data, sizeof(new_cpu_data)); 724 visws_early_detect(); 725 #else (gdb) quit Additional info: as mentioned compiling on RH5.4 does not show this problem; the gdb version is also not the issue - after compiling on RH5.4 both 6.8 and 7.2 versions of gdb see the function correctly