aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/i386linux.c20
2 files changed, 25 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 9153cf7..14d2a11 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,10 @@
Wed Jun 15 01:34:07 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+ * i386linux.c (i386linux_write_object_contents): Define; like
+ MY(write_object_contents) in aout-target.h, but set MACHTYPE to
+ M_386. From jrs@world.std.com (Rick Sladkey).
+ (MY_write_object_contents): Define.
+
* aoutx.h (translate_from_native_sym_flags): Treat N_SETV symbols
as N_DATA symbols.
(aout_link_add_symbols): Likewise.
diff --git a/bfd/i386linux.c b/bfd/i386linux.c
index 4e699e3..97fc6a0 100644
--- a/bfd/i386linux.c
+++ b/bfd/i386linux.c
@@ -56,4 +56,24 @@ i386linux_bfd_final_link (abfd, info)
#define MY_bfd_final_link i386linux_bfd_final_link
+/* Set the machine type correctly. */
+
+static boolean
+i386linux_write_object_contents (abfd)
+ bfd *abfd;
+{
+ struct external_exec exec_bytes;
+ struct internal_exec *execp = exec_hdr (abfd);
+
+ N_SET_MACHTYPE (*execp, M_386);
+
+ obj_reloc_entry_size (abfd) = RELOC_STD_SIZE;
+
+ WRITE_HEADERS(abfd, execp);
+
+ return true;
+}
+
+#define MY_write_object_contents i386linux_write_object_contents
+
#include "aout-target.h"