Summary: | unused argc/argv missing their DW_AT_location | ||
---|---|---|---|
Product: | gcc | Reporter: | Jan Kratochvil <jkratochvil> |
Component: | debug | Assignee: | Not yet assigned to anyone <unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | dodji, gcc-bugs |
Priority: | P3 | ||
Version: | unknown | ||
Target Milestone: | --- | ||
Host: | Target: | i686-pc-linux-gnu | |
Build: | Known to work: | ||
Known to fail: | Last reconfirmed: |
Description
Jan Kratochvil
2006-10-28 20:13:54 UTC
This is caused by the stack realignment in i?86 main, the way it is currently implemented is that address of first argument is loaded into %ecx and then the stack is realigned. The pseudo register which shows in the argument's RTL is that cfun->machine->force_align_arg_pointer (aka %ecx) copied into a pseudo. Hello, I can't reproduce this neither on 4.3 nor trunk branch. In both branch, the variables have the DW_AT_location attribute. Please see below the attached dwarf output. Fedora gcc-4.3.2-6.x86_64 with -m32 is still buggy as described in the Comment 0. But HEAD works OK now (-m32) so closing, thanks for the test: GNU C (GCC) version 4.4.0 20081007 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.4.0 20081007 (experimental), GMP version 4.2.2, MPFR version 2.3.1. |