diff options
Diffstat (limited to 'gdb/xcoffread.c')
-rw-r--r-- | gdb/xcoffread.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gdb/xcoffread.c b/gdb/xcoffread.c index addb5cf..3513fe1 100644 --- a/gdb/xcoffread.c +++ b/gdb/xcoffread.c @@ -1092,7 +1092,13 @@ read_xcoff_symtab (objfile, nsyms) symname_alloced = 1; } cs->c_value = symbol->n_value; - cs->c_sclass = symbol->n_sclass & 0xff; + /* n_sclass is signed (FIXME), so we had better not mask off any + high bits it contains, since the values we will be comparing + it to are also signed (FIXME). Defined in <coff/internal.h>. + At this point (3Jun92, gnu@cygnus.com) I think the fix is to + make the fields and values unsigned chars, but changing the next + line is a simple patch late in the release cycle, for now. */ + cs->c_sclass = symbol->n_sclass /* & 0xff */; cs->c_secnum = symbol->n_scnum; cs->c_type = (unsigned)symbol->n_type; |