aboutsummaryrefslogtreecommitdiff
path: root/gdb/stabsread.c
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>1995-08-12 22:50:04 +0000
committerJeff Law <law@redhat.com>1995-08-12 22:50:04 +0000
commit65eaea2742c1b7b1625e618603436cc3af71074e (patch)
tree398c9c396cf8e21ede64e1317bb96e80a3cb93b7 /gdb/stabsread.c
parent5c6f833bb0a981df13d831932f56a5807f5ef126 (diff)
downloadgdb-65eaea2742c1b7b1625e618603436cc3af71074e.zip
gdb-65eaea2742c1b7b1625e618603436cc3af71074e.tar.gz
gdb-65eaea2742c1b7b1625e618603436cc3af71074e.tar.bz2
* configure.in: Recognize aix4 specially as some aspects
of aix4 need different handling than aix3. * configure: Updated. * config/powerpc/{aix4.mh,aix4.mt,tm-ppc-aix4.h}: New files specific to aix4 support on the power pc. * config/powerpc/tm-ppc-aix.h (DONT_RELOCATE_SYMFILE_OBJFILE): Do not defined. The aix4 specific target files will do that. * config/rs6000/{aix4,mh,aix4,mt,tm-rs6000-aix4.h}: New files specific to aix4 support on the rs6000. * config/rs6000/tm-rs6000.h (CONVERT_FROM_FUNC_PTR_ADDR): Don't do the conversion if the pointer is not a magic aix function pointer. * rs6000-tdep.c: Include objfiles.h and symtab.h. (is_magic_function_pointer): New function. * rs6000-tdep.c (skip_prologue): Refine check for frameless functions. Handle b .+4 emitted by aix4 compilers. Only allow one load of a minimal toc pointer. Handle aix4 compiler's code for alloca. * rs6000-tdep.c (find_toc_address): Report an error if no toc was found rather than possibly core dumping. * partial-stab.h: Handle extra field generated by the aix4 compiler for enumerations. * stabsread.c (read_enum_type): Likewise.
Diffstat (limited to 'gdb/stabsread.c')
-rw-r--r--gdb/stabsread.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/gdb/stabsread.c b/gdb/stabsread.c
index 4130692..9c703e6 100644
--- a/gdb/stabsread.c
+++ b/gdb/stabsread.c
@@ -3073,6 +3073,18 @@ read_enum_type (pp, type, objfile)
return error_type (pp);
}
+ /* The aix4 compiler emits an extra field before the enum members;
+ my guess is it's a type of some sort. Just ignore it. */
+ if (**pp == '-')
+ {
+ /* Skip over the type. */
+ while (**pp != ':')
+ (*pp)++;
+
+ /* Skip over the colon. */
+ (*pp)++;
+ }
+
/* Read the value-names and their values.
The input syntax is NAME:VALUE,NAME:VALUE, and so on.
A semicolon or comma instead of a NAME means the end. */