diff options
-rw-r--r-- | bfd/coffcode.h | 4 | ||||
-rw-r--r-- | bfd/coffgen.c | 11 |
2 files changed, 8 insertions, 7 deletions
diff --git a/bfd/coffcode.h b/bfd/coffcode.h index e2b2566..4405c9f 100644 --- a/bfd/coffcode.h +++ b/bfd/coffcode.h @@ -4826,8 +4826,8 @@ coff_slurp_symbol_table (bfd * abfd) /* The value is actually a symbol index. Save a pointer to the symbol instead of the index. FIXME: This should use a union. */ - src->u.syment.n_value = - (long) (intptr_t) (native_symbols + src->u.syment.n_value); + src->u.syment.n_value + = (bfd_hostptr_t) (native_symbols + src->u.syment.n_value); dst->symbol.value = src->u.syment.n_value; src->fix_value = 1; break; diff --git a/bfd/coffgen.c b/bfd/coffgen.c index 5474f6c..5681af1 100644 --- a/bfd/coffgen.c +++ b/bfd/coffgen.c @@ -2130,10 +2130,10 @@ coff_get_symbol_info (bfd *abfd, asymbol *symbol, symbol_info *ret) if (coffsymbol (symbol)->native != NULL && coffsymbol (symbol)->native->fix_value && coffsymbol (symbol)->native->is_sym) - ret->value = - ((coffsymbol (symbol)->native->u.syment.n_value - - (bfd_hostptr_t) obj_raw_syments (abfd)) - / sizeof (combined_entry_type)); + ret->value + = (((bfd_hostptr_t) coffsymbol (symbol)->native->u.syment.n_value + - (bfd_hostptr_t) obj_raw_syments (abfd)) + / sizeof (combined_entry_type)); } /* Print out information about COFF symbol. */ @@ -2181,7 +2181,8 @@ coff_print_symbol (bfd *abfd, if (! combined->fix_value) val = (bfd_vma) combined->u.syment.n_value; else - val = ((combined->u.syment.n_value - (bfd_hostptr_t) root) + val = (((bfd_hostptr_t) combined->u.syment.n_value + - (bfd_hostptr_t) root) / sizeof (combined_entry_type)); fprintf (file, "(sec %2d)(fl 0x%02x)(ty %3x)(scl %3d) (nx %d) 0x", |