From: Jeff Law Date: Fri, 3 Mar 1995 22:25:27 +0000 (+0000) Subject: * somread.c (check_strange_names): Filter names emitted by the HP X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2097152;p=binutils-gdb.git * somread.c (check_strange_names): Filter names emitted by the HP compiler when generating PIC code. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f7ec8a6eabb..0ddfcd342a1 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,8 @@ Fri Mar 3 15:12:12 1995 Jeff Law (law@snake.cs.utah.edu) + * somread.c (check_strange_names): Filter names emitted by the HP + compiler when generating PIC code. + * valops.c (value_struct_elt_for_reference): Work around macro bugs in HP's compilers. * c-exp.y (block): Likewise. diff --git a/gdb/somread.c b/gdb/somread.c index ae04617d3d7..bee059d281a 100644 --- a/gdb/somread.c +++ b/gdb/somread.c @@ -227,9 +227,15 @@ som_symtab_read (abfd, objfile, section_offsets) the nasty habit of placing section symbols from the literal subspaces in the middle of the program's text. Filter those out as best we can. Check for first and last character - being '$'. */ + being '$'. + + And finally, the newer HP compilers emit crud like $PIC_foo$N + in some circumstance (PIC code I guess). It's also claimed + that they emit D$ symbols too. What stupidity. */ if ((symname[0] == 'L' && symname[1] == '$') - || (symname[0] == '$' && symname[strlen(symname) - 1] == '$')) + || (symname[0] == '$' && symname[strlen(symname) - 1] == '$') + || (symname[0] == 'D' && symname[1] == '$') + || (strncmp (symname, "$PIC", 4) == 0)) continue; break;