From: Ian Lance Taylor Date: Fri, 6 Oct 1995 19:49:48 +0000 (+0000) Subject: * coffcode.h (coff_write_object_contents): On AIX, clear F_RELFLG X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7860fe38465c4a08977b2b65d142be9ebb0270eb;p=binutils-gdb.git * coffcode.h (coff_write_object_contents): On AIX, clear F_RELFLG if there are symbols, for native AIX ld compatibility. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index c87895d4dda..b4881a8f0ff 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -8,6 +8,9 @@ Fri Oct 6 12:24:47 1995 Michael Meissner Fri Oct 6 12:04:02 1995 Ian Lance Taylor + * coffcode.h (coff_write_object_contents): On AIX, clear F_RELFLG + if there are symbols, for native AIX ld compatibility. + * coffcode.h (bfd_coff_backend_data): Add new field _bfd_coff_pointerize_aux_hook. (coff_pointerize_aux_hook): Define as a function if RS6000COFF_C diff --git a/bfd/coffcode.h b/bfd/coffcode.h index 327d57590af..152f6f1baef 100644 --- a/bfd/coffcode.h +++ b/bfd/coffcode.h @@ -2072,7 +2072,14 @@ coff_write_object_contents (abfd) backend linker, and obj_raw_syment_count is not valid until after coff_write_symbols is called. */ if (obj_raw_syment_count (abfd) != 0) - internal_f.f_symptr = sym_base; + { + internal_f.f_symptr = sym_base; +#ifdef RS6000COFF_C + /* AIX appears to require that F_RELFLG not be set if there are + local symbols but no relocations. */ + internal_f.f_flags &=~ F_RELFLG; +#endif + } else { internal_f.f_symptr = 0;