Your program works fine for me on:
native i686-pc-linux-gnu
red hat 8.0
gcc 3.3.4
binutils 2.15
gdb 6.2
I also tested with gcc 3.4.1 and gcc 3.5.0 20040811 (experimental).
All worked fine.
However I see the bad breakpoint on Fred.cpp:12 with
native i686-pc-linux-gnu
red hat 8.0
gcc 3.2-7-rh
binutils 2.13.90.0.2-2-rh
gdb 6.2
(gdb) break Ethel.cpp:12
Breakpoint 1 at 0x80488b5: file Ethel.cpp, line 12.
(gdb) break Fred.cpp:12
Note: breakpoint -1 (disabled) also set at pc 0x0.
Breakpoint 2 at 0x0: file Fred.cpp, line 12.
Can you report:
output of "gdb --version"
output of "gcc -v"
(or if the C++ compiler is not gcc, the equivalent)
your os name and version number
I think you will have to install a newer gcc.
It's not hard, if you use the "--prefix" option to build gcc.
Michael C