mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-27 17:40:49 +00:00
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.
This commit is contained in:
@@ -5759,6 +5759,7 @@ coff_bigobj_swap_sym_in (bfd * abfd, void * ext1, void * in1)
|
||||
}
|
||||
|
||||
in->n_value = H_GET_32 (abfd, ext->e_value);
|
||||
BFD_ASSERT (sizeof (in->n_scnum) >= 4);
|
||||
in->n_scnum = H_GET_32 (abfd, ext->e_scnum);
|
||||
in->n_type = H_GET_16 (abfd, ext->e_type);
|
||||
in->n_sclass = H_GET_8 (abfd, ext->e_sclass);
|
||||
|
||||
Reference in New Issue
Block a user