* 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.)
This commit is contained in:
John Gilmore 1992-06-04 05:23:08 +00:00
parent 72754842fc
commit 2795260c9e
2 changed files with 15 additions and 1 deletions

View File

@ -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

View File

@ -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;