https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101905
Bug ID: 101905 Summary: Missed debug information for global register variable Product: gcc Version: 9.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: debug Assignee: unassigned at gcc dot gnu.org Reporter: yuri.karlsbrun at broadcom dot com Target Milestone: --- file evi.c: register void* regVar asm ("r15"); int main() { char *str = "Hello"; regVar = str; return 0; } % gcc -v Using built-in specs. COLLECT_GCC=/tools/oss/packages/x86_64-centos7/gcc/9.3.0/bin/gcc COLLECT_LTO_WRAPPER=/tools/oss/packages/x86_64-rhel7/gcc/9.3.0/bin/../libexec/gcc/x86_64-pc-linux-gnu/9.3.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../../gcc-9.3.0/configure --prefix=/tools/oss/packages/x86_64-centos7/gcc/9.3.0 --with-gnu-as --with-as=/tools/bin/as --with-gnu-ld --with-ld=/tools/bin/ld --with-mpc=/tools/oss/packages/x86_64-centos7/mpc/1.0.3 --with-mpfr=/tools/oss/packages/x86_64-centos7/mpfr/3.1.2 --enable-languages=c,c++,objc --enable-symvers=gnu Thread model: posix gcc version 9.3.0 (GCC) % gcc -g3 evi.c -o evi % gdb evi (gdb) list 1 register void* regVar asm ("r15"); 2 int 3 main() 4 { 5 char *str = "Hello"; 6 regVar = str; 7 return 0; 8 } (gdb) b 7 Breakpoint 1 at 0x400502: file evi.c, line 7. (gdb) r Starting program: evi Breakpoint 1, main () at evi.c:7 7 return 0; (gdb) p regVar Missing ELF symbol "regVar". (gdb) p str $1 = 0x400594 "Hello" (gdb) p/x $r15 $2 = 0x400594 (gdb) p (char *)$r15 $3 = 0x400594 "Hello" I tried it for ARM architecture as well with the same result. Thanks, Yuri