* somread.c (check_strange_names): Filter names emitted by the HP

compiler when generating PIC code.
This commit is contained in:
Jeff Law
1995-03-03 22:25:27 +00:00
parent 13ffa6bece
commit 2097152a52
2 changed files with 11 additions and 2 deletions

View File

@ -1,5 +1,8 @@
Fri Mar 3 15:12:12 1995 Jeff Law (law@snake.cs.utah.edu) 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 * valops.c (value_struct_elt_for_reference): Work around macro
bugs in HP's compilers. bugs in HP's compilers.
* c-exp.y (block): Likewise. * c-exp.y (block): Likewise.

View File

@ -227,9 +227,15 @@ som_symtab_read (abfd, objfile, section_offsets)
the nasty habit of placing section symbols from the literal the nasty habit of placing section symbols from the literal
subspaces in the middle of the program's text. Filter subspaces in the middle of the program's text. Filter
those out as best we can. Check for first and last character 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] == '$') 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; continue;
break; break;