From: John Gilmore Date: Thu, 4 Jun 1992 05:23:08 +0000 (+0000) Subject: * xcoffread.c (read_xcoff_symtab): Set c_sclass from n_sclass X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2795260c9ea7176b33a947d3414d1b3fc771127a;p=binutils-gdb.git * xcoffread.c (read_xcoff_symtab): Set c_sclass from n_sclass without masking, since it is signed and will later be compared against signed quantities. The right fix is probably to make it all unsigned, but this is a small, safe fix for this release. FIXME -- make the real change sometime soon. (Imported from progressive.) --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f299166e5aa..6d39a50e24d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +Wed Jun 3 17:48:04 1992 John Gilmore (gnu@pluto) + + * xcoffread.c (read_xcoff_symtab): Set c_sclass from n_sclass + without masking, since it is signed and will later be compared + against signed quantities. The right fix is probably to make + it all unsigned, but this is a small, safe fix for this release. + FIXME -- make the real change sometime soon. + Mon Jun 1 16:16:12 1992 Michael Tiemann (tiemann@cygnus.com) * remote-vx.c (vx_load_command,add_symbol_stub): Default READNOW diff --git a/gdb/xcoffread.c b/gdb/xcoffread.c index addb5cf303c..3513fe15fc1 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 . + 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;