From 7860fe38465c4a08977b2b65d142be9ebb0270eb Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Fri, 6 Oct 1995 19:49:48 +0000 Subject: [PATCH] * coffcode.h (coff_write_object_contents): On AIX, clear F_RELFLG if there are symbols, for native AIX ld compatibility. --- bfd/ChangeLog | 3 +++ bfd/coffcode.h | 9 ++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index c87895d4dd..b4881a8f0f 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 327d57590a..152f6f1bae 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;