diff options
author | John Gilmore <gnu@cygnus> | 1992-06-04 05:23:08 +0000 |
---|---|---|
committer | John Gilmore <gnu@cygnus> | 1992-06-04 05:23:08 +0000 |
commit | 2795260c9ea7176b33a947d3414d1b3fc771127a (patch) | |
tree | e5a4ca706672d9c76da9345beccc83d50a06e422 /gdb | |
parent | 72754842fc5897eb86df018a7c67c5bd762804ca (diff) | |
download | gdb-2795260c9ea7176b33a947d3414d1b3fc771127a.zip gdb-2795260c9ea7176b33a947d3414d1b3fc771127a.tar.gz gdb-2795260c9ea7176b33a947d3414d1b3fc771127a.tar.bz2 |
* 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.)
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/xcoffread.c | 8 |
2 files changed, 15 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f299166..6d39a50 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 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; |