Use a 32-bit value to hold the section number in the internal COFF symbol structure.
authorNick Clifton <nickc@redhat.com>
Mon, 18 Jan 2016 15:58:47 +0000 (15:58 +0000)
committerNick Clifton <nickc@redhat.com>
Mon, 18 Jan 2016 15:58:47 +0000 (15:58 +0000)
commit9ae678af999b8a692c4e6efbe493f39f0085d149
tree3d66932e9acf44617cdb0cb2fe3c899db344add4
parentf303dbd60d9c7984832446eeb9d4e4d89703c615
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.
bfd/ChangeLog
bfd/coff-rs6000.c
bfd/coff64-rs6000.c
bfd/coffcode.h
bfd/coffswap.h
bfd/peXXigen.c
include/ChangeLog
include/coff/internal.h