This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Function supposedly in multiple locations


I am using GDB to debug a C program I compiled with GCC 4.6.2.  My program has a function called "foo."  When I insert a breakpoint at foo, GDB reports "2 locations."  On "info break," GDB shows that the two locations are two instruction lines but the same source code line.  When I look at the objdump disassembly of my program, I see that the first of the two locations is the first instruction in foo, while the second instruction is simply another instruction further down in foo.  Why am I seeing this?  I'm presuming that GCC with the -g flag must have inserted two entries for foo, one at its beginning and one at its 23rd instruction 80 bytes later.  If that is correct, why would GDB do this?  Thanks!

Amittai Aviram
PhD Student in Computer Science
Yale University
646 483 2639
amittai.aviram.0@gmail.com
http://www.amittai.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]