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@xxxxxxxxx http://www.amittai.com