diff options
-rw-r--r-- | include/coff/ChangeLog | 6 | ||||
-rw-r--r-- | include/coff/ti.h | 16 |
2 files changed, 15 insertions, 7 deletions
diff --git a/include/coff/ChangeLog b/include/coff/ChangeLog index a38228b..4aa9dc1 100644 --- a/include/coff/ChangeLog +++ b/include/coff/ChangeLog @@ -1,5 +1,11 @@ 2009-08-10 Jan Kratochvil <jan.kratochvil@redhat.com> + Fix references past allocated memory for i386-*-go32. + * ti.h (COFF_ADJUST_FILEHDR_IN_POST, COFF_ADJUST_FILEHDR_OUT_POST): + Reference F_TARGET_ID only when !COFF0_P. + +2009-08-10 Jan Kratochvil <jan.kratochvil@redhat.com> + Stop using bfd_usrdata in libbfd. * go32exe.h (struct external_filehdr_go32_exe <stub>, FILHSZ): Replace STUBSIZE by GO32_STUBSIZE. diff --git a/include/coff/ti.h b/include/coff/ti.h index e0e1729..7f3ad7e 100644 --- a/include/coff/ti.h +++ b/include/coff/ti.h @@ -102,19 +102,21 @@ struct external_filehdr #define COFF_ADJUST_FILEHDR_IN_POST(abfd, src, dst) \ do \ { \ - ((struct internal_filehdr *)(dst))->f_target_id = \ - H_GET_16 (abfd, ((FILHDR *)(src))->f_target_id); \ + if (!COFF0_P (abfd)) \ + ((struct internal_filehdr *)(dst))->f_target_id = \ + H_GET_16 (abfd, ((FILHDR *)(src))->f_target_id); \ } \ while (0) #endif #ifndef COFF_ADJUST_FILEHDR_OUT_POST #define COFF_ADJUST_FILEHDR_OUT_POST(abfd, src, dst) \ - do \ - { \ - H_PUT_16 (abfd, ((struct internal_filehdr *)(src))->f_target_id, \ - ((FILHDR *)(dst))->f_target_id); \ - } \ + do \ + { \ + if (!COFF0_P (abfd)) \ + H_PUT_16 (abfd, ((struct internal_filehdr *)(src))->f_target_id, \ + ((FILHDR *)(dst))->f_target_id); \ + } \ while (0) #endif |