|
Bugzilla – Full Text Bug Listing |
| Summary: | gcc -g3 generates wrong debug info | ||
|---|---|---|---|
| Product: | [openSUSE] SUSE LINUX 10.0 | Reporter: | Patrick Kirsch <pkirsch> |
| Component: | Development | Assignee: | Michael Matz <matz> |
| Status: | RESOLVED WONTFIX | QA Contact: | E-mail List <qa-bugs> |
| Severity: | Normal | ||
| Priority: | P5 - None | CC: | pth |
| Version: | Preview 4 | ||
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
| Found By: | Other | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
gcc is generating bogus debug info. From fdisk.s (compiled with -dA): .byte 0x3 # Start new file .uleb128 0x12 # Included from line number 18 .file 42 "/usr/include/setjmp.h" .uleb128 0x2b # Filename we just started Apparently the file number counting gets out of sync. Crap. I'll look at the GCC issue. Unfortunately we now have some executables which already contain wrong debug info. Can't we increase the robustness of gdb too, to not segfault on such, but merely ignore this (e.g. as if no file was given)? Andreas, can you try to do this? is this still an issue with gcc41? No feedback, either it's fixed or not important, let's close it as wontfix. |
gdb segfaults on 'break main' on fdisk. steps to reproduce: - compile util-linux with debugging information (option: '-g3') - run 'gdb ./fdisk' - in gdb type 'break main' - return: (gdb) break main Speicherzugriffsfehler output of 'gdb gdb' : with '(gdb) r ./fdisk' and '(gdb) break main' : (gdb) break main Program received signal SIGSEGV, Segmentation fault. 0x1015107c in process_die () (gdb) bt #0 0x1015107c in process_die () #1 0x101518e8 in psymtab_to_symtab_1 () #2 0x10151ac8 in dwarf2_psymtab_to_symtab () #3 0x100f1ef0 in psymtab_to_symtab () #4 0x100ecaa8 in lookup_symbol_aux_psymtabs () #5 0x100ecf88 in lookup_symbol () #6 0x101716e4 in find_imps () #7 0x100fab1c in decode_objc () #8 0x100fbf74 in decode_line_1 () #9 0x100c183c in parse_breakpoint_sals () #10 0x100c18c0 in do_captured_parse_breakpoint () #11 0x10056ba4 in catcher () #12 0x10056cb0 in catch_exceptions_with_msg () #13 0x100c5cfc in break_command_1 () #14 0x10099e00 in do_cfunc () #15 0x1009b128 in cmd_func () #16 0x10057270 in execute_command () #17 0x10114794 in command_handler () #18 0x101158f4 in command_line_handler () #19 0x0ffcdfa4 in rl_callback_read_char () from /lib/libreadline.so.5 #20 0x0ffcdfa4 in rl_callback_read_char () from /lib/libreadline.so.5 #21 0x0ffcdfa4 in rl_callback_read_char () from /lib/libreadline.so.5 #22 0x0ffcdfa4 in rl_callback_read_char () from /lib/libreadline.so.5 #23 0x0ffcdfa4 in rl_callback_read_char () from /lib/libreadline.so.5 #24 0x0ffcdfa4 in rl_callback_read_char () from /lib/libreadline.so.5