OSDN Git Service

Stop objcopy trying to convert endianness.
authornickc <nickc>
Thu, 18 Jan 2001 00:17:43 +0000 (00:17 +0000)
committernickc <nickc>
Thu, 18 Jan 2001 00:17:43 +0000 (00:17 +0000)
binutils/ChangeLog
binutils/objcopy.c

index fe1cdd3..f86805f 100644 (file)
@@ -1,3 +1,10 @@
+2001-01-17  Nick Clifton  <nickc@redhat.com>
+
+       * objcopy.c (copy_object): Fail if attempting to convert the
+       endianness of the input object file.
+
+       * binutils.texi: Explain that objcopy cannot convert endianness.
+       
 2001-01-16  Nick Clifton  <nickc@redhat.com>
 
        * readelf.c (string_table_length): New variable.
index 21f5793..cae66fc 100644 (file)
@@ -1,5 +1,5 @@
 /* objcopy.c -- copy object file from input to output, optionally massaging it.
-   Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000
+   Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001
    Free Software Foundation, Inc.
 
    This file is part of GNU Binutils.
@@ -765,6 +765,13 @@ copy_object (ibfd, obfd)
   long symsize;
   PTR dhandle;
 
+  if (ibfd->xvec->byteorder != obfd->xvec->byteorder
+      && ibfd->xvec->byteorder != BFD_ENDIAN_UNKNOWN
+      && obfd->xvec->byteorder != BFD_ENDIAN_UNKNOWN)
+    {
+      fatal (_("Unable to change endianness of input file(s)"));
+      return;
+    }
 
   if (!bfd_set_format (obfd, bfd_get_format (ibfd)))
     RETURN_NONFATAL (bfd_get_filename (obfd));