2004-10-12 Paul Brook <paul@codesourcery.com>
authorPaul Brook <paul@codesourcery.com>
Tue, 12 Oct 2004 14:17:08 +0000 (14:17 +0000)
committerPaul Brook <paul@codesourcery.com>
Tue, 12 Oct 2004 14:17:08 +0000 (14:17 +0000)
bfd/
* elf32-arm.h: Support EABI version 4 objects.
binutils/
* readelf.c (decode_ARM_machine_flags): Support EABI version 4.
gas/
* config/tc-arm.c (md_begin): Change EF_ARM_EABI_VER3 to
EF_ARM_EABI_VER4.
(arm_eabis): Ditto.
* doc/c-arm.texi: Document that we actually support -meabi=4, not
-meabi=3.
include/
* elf/arm.h (EF_ARM_EABI_VER4): Define.

bfd/ChangeLog
bfd/elf32-arm.h
binutils/ChangeLog
binutils/readelf.c
gas/ChangeLog
gas/config/tc-arm.c
gas/doc/c-arm.texi
include/ChangeLog
include/elf/arm.h

index f8b7e6f4c476dc89be3a0283fbedd7ef4088fe70..af51a06822086e1e6c9b4b72cc836633c2aab8b2 100644 (file)
@@ -1,3 +1,7 @@
+2004-10-12  Paul Brook  <paul@codesourcery.com>
+
+       * elf32-arm.h: Support EABI version 4 objects.
+
 2004-10-12  Alan Modra  <amodra@bigpond.net.au>
 
        PR 325
index a0695c1afc344d2ea32c82fe5c86485c2f383e84..a793d0921f8399bed0fd2e21bdfd91aaf1a82552 100644 (file)
@@ -25,9 +25,9 @@
 typedef unsigned long int insn32;
 typedef unsigned short int insn16;
 
-/* In lieu of proper flags, assume all EABIv3 objects are interworkable.  */
+/* In lieu of proper flags, assume all EABIv4 objects are interworkable.  */
 #define INTERWORK_FLAG(abfd)  \
-  (EF_ARM_EABI_VERSION (elf_elfheader (abfd)->e_flags) == EF_ARM_EABI_VER3 \
+  (EF_ARM_EABI_VERSION (elf_elfheader (abfd)->e_flags) == EF_ARM_EABI_VER4 \
   || (elf_elfheader (abfd)->e_flags & EF_ARM_INTERWORK))
 
 /* The linker script knows the section names for placement.
@@ -2705,6 +2705,10 @@ elf32_arm_print_private_bfd_data (bfd *abfd, void * ptr)
 
     case EF_ARM_EABI_VER3:
       fprintf (file, _(" [Version3 EABI]"));
+      break;
+
+    case EF_ARM_EABI_VER4:
+      fprintf (file, _(" [Version4 EABI]"));
 
       if (flags & EF_ARM_BE8)
        fprintf (file, _(" [BE8]"));
index 6310a50ccea369acdc9197f44bed8871a92bb956..f9da6d9ee627f60af859faa48e63afa59071950c 100644 (file)
@@ -1,3 +1,7 @@
+2004-10-12  Paul Brook  <paul@codesourcery.com>
+
+       * readelf.c (decode_ARM_machine_flags): Support EABI version 4.
+
 2004-10-11  Alan Modra  <amodra@bigpond.net.au>
 
        * objdump.c (dump_symbols): Fix thinko last change.  Improve error
index 7f9eaf04f3f7401884c917181930e175949fd22b..6f82f83f874e6fec28816c0b7fcb816b1b74ad5d 100644 (file)
@@ -1767,6 +1767,10 @@ decode_ARM_machine_flags (unsigned e_flags, char buf[])
 
     case EF_ARM_EABI_VER3:
       strcat (buf, ", Version3 EABI");
+      break;
+
+    case EF_ARM_EABI_VER4:
+      strcat (buf, ", Version4 EABI");
       while (e_flags)
        {
          unsigned flag;
index bd4fb11c8d3d01da42fdcc809c563d149a97ca12..1c954b8f5581869f2a2661f906cb583c32b10005 100644 (file)
@@ -1,3 +1,11 @@
+2004-10-12  Paul Brook  <paul@codesourcery.com>
+
+       * config/tc-arm.c (md_begin): Change EF_ARM_EABI_VER3 to
+       EF_ARM_EABI_VER4.
+       (arm_eabis): Ditto.
+       * doc/c-arm.texi: Document that we actually support -meabi=4, not
+       -meabi=3.
+
 2004-10-08  Bob Wilson  <bob.wilson@acm.org>
 
        * doc/as.texinfo (VTableEntry, VTableInherit): Add "directive" to index
index e17b037ecbb02a9210643d55ff00beab020a92ba..8af8593ffd05034dde7a8c2dc5d188cd067daf41 100644 (file)
@@ -11130,7 +11130,7 @@ md_begin (void)
            flags |= EF_ARM_MAVERICK_FLOAT;
        break;
 
-      case EF_ARM_EABI_VER3:
+      case EF_ARM_EABI_VER4:
        /* No additional flags to set.  */
        break;
 
@@ -12901,11 +12901,11 @@ struct arm_eabi_option_table
 };
 
 #ifdef OBJ_ELF
-/* We only know hot to output GNU and ver 3 (AAELF) formats.  */
+/* We only know how to output GNU and ver 4 (AAELF) formats.  */
 static struct arm_eabi_option_table arm_eabis[] =
 {
   {"gnu",      EF_ARM_EABI_UNKNOWN},
-  {"3",                EF_ARM_EABI_VER3},
+  {"4",                EF_ARM_EABI_VER4},
   {NULL, 0}
 };
 #endif
index edd233b854c7b70eff9cf72dfa93428a2a4da081..7c687648d60201377c86a7db6366fea00c245442 100644 (file)
@@ -243,7 +243,7 @@ conform to.
 The following values are recognised:
 @code{gnu}
 and
-@code{3}.
+@code{4}.
 
 @cindex @code{-EB} command line option, ARM
 @item -EB
index a3cbebedd966cf0515f7e39276ffbe2fc26716dc..5f7d3687363e75a571f873f278d04879cbe17d6c 100644 (file)
@@ -1,3 +1,7 @@
+2004-10-12  Paul Brook  <paul@codesourcery.com>
+
+       * elf/arm.h (EF_ARM_EABI_VER4): Define.
+
 2004-10-08  Daniel Jacobowitz  <dan@debian.org>
 
        * elf/common.h (PT_SUNW_EH_FRAME): Define.
index 7b8030823ee867b3eba07c5c4806c019bed8e036..9055f622de115dcb8e0440fb22a0fc36248f50d1 100644 (file)
@@ -51,6 +51,7 @@
 #define EF_ARM_EABI_VER1     0x01000000
 #define EF_ARM_EABI_VER2     0x02000000
 #define EF_ARM_EABI_VER3     0x03000000
+#define EF_ARM_EABI_VER4     0x04000000
 
 /* Local aliases for some flags to match names used by COFF port.  */
 #define F_INTERWORK       EF_ARM_INTERWORK