aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1995-10-06 19:49:48 +0000
committerIan Lance Taylor <ian@airs.com>1995-10-06 19:49:48 +0000
commit7860fe38465c4a08977b2b65d142be9ebb0270eb (patch)
tree14d7cd11d9aff7a4dbb8c7c9c8c8391aceee36de
parent13a6c7537424537ed8eca088dacbe11365e992f2 (diff)
downloadgdb-7860fe38465c4a08977b2b65d142be9ebb0270eb.zip
gdb-7860fe38465c4a08977b2b65d142be9ebb0270eb.tar.gz
gdb-7860fe38465c4a08977b2b65d142be9ebb0270eb.tar.bz2
* coffcode.h (coff_write_object_contents): On AIX, clear F_RELFLG
if there are symbols, for native AIX ld compatibility.
-rw-r--r--bfd/ChangeLog3
-rw-r--r--bfd/coffcode.h9
2 files changed, 11 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index c87895d..b4881a8 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -8,6 +8,9 @@ Fri Oct 6 12:24:47 1995 Michael Meissner <meissner@tiktok.cygnus.com>
Fri Oct 6 12:04:02 1995 Ian Lance Taylor <ian@cygnus.com>
+ * 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 327d575..152f6f1 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;