diff options
author | Nick Clifton <nickc@redhat.com> | 2016-01-18 15:58:47 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2016-01-18 15:58:47 +0000 |
commit | 9ae678af999b8a692c4e6efbe493f39f0085d149 (patch) | |
tree | 3d66932e9acf44617cdb0cb2fe3c899db344add4 /bfd/coff-rs6000.c | |
parent | f303dbd60d9c7984832446eeb9d4e4d89703c615 (diff) | |
download | gdb-9ae678af999b8a692c4e6efbe493f39f0085d149.zip gdb-9ae678af999b8a692c4e6efbe493f39f0085d149.tar.gz gdb-9ae678af999b8a692c4e6efbe493f39f0085d149.tar.bz2 |
Use a 32-bit value to hold the section number in the internal COFF symbol structure.
PR ld/19440
inc * coff/internal.h (internal_syment): Use int to hold section
number.
(N_UNDEF): Cast to int not short.
(N_ABS): Likewise.
(N_DEBUG): Likewise.
(N_TV): Likewise.
(P_TV): Likewise.
bfd PR ld/19440
* coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
section number into internal section number.
* coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
* coffswap.h (coff_swap_sym_in): Likewise.
* peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
* coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
section number field is big enough to hold the external value.
Diffstat (limited to 'bfd/coff-rs6000.c')
-rw-r--r-- | bfd/coff-rs6000.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/bfd/coff-rs6000.c b/bfd/coff-rs6000.c index ed21a05..e7a215b 100644 --- a/bfd/coff-rs6000.c +++ b/bfd/coff-rs6000.c @@ -420,7 +420,7 @@ _bfd_xcoff_swap_sym_in (bfd *abfd, void * ext1, void * in1) } in->n_value = H_GET_32 (abfd, ext->e_value); - in->n_scnum = H_GET_16 (abfd, ext->e_scnum); + in->n_scnum = (short) H_GET_16 (abfd, ext->e_scnum); in->n_type = H_GET_16 (abfd, ext->e_type); in->n_sclass = H_GET_8 (abfd, ext->e_sclass); in->n_numaux = H_GET_8 (abfd, ext->e_numaux); |