aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2004-10-12 14:17:08 +0000
committerPaul Brook <paul@codesourcery.com>2004-10-12 14:17:08 +0000
commit8cb5156692f0f5bf3a24c5d549462bf3c7c71873 (patch)
tree8324e9ba4463164fe6965b2cd83ae0a471a5b6e4
parent06c2338dfb9f8735e688cad31fb8f4e7a4edc171 (diff)
downloadfsf-binutils-gdb-8cb5156692f0f5bf3a24c5d549462bf3c7c71873.zip
fsf-binutils-gdb-8cb5156692f0f5bf3a24c5d549462bf3c7c71873.tar.gz
fsf-binutils-gdb-8cb5156692f0f5bf3a24c5d549462bf3c7c71873.tar.bz2
2004-10-12 Paul Brook <paul@codesourcery.com>
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.
-rw-r--r--bfd/ChangeLog4
-rw-r--r--bfd/elf32-arm.h8
-rw-r--r--binutils/ChangeLog4
-rw-r--r--binutils/readelf.c4
-rw-r--r--gas/ChangeLog8
-rw-r--r--gas/config/tc-arm.c6
-rw-r--r--gas/doc/c-arm.texi2
-rw-r--r--include/ChangeLog4
-rw-r--r--include/elf/arm.h1
9 files changed, 35 insertions, 6 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index f8b7e6f..af51a06 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -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
diff --git a/bfd/elf32-arm.h b/bfd/elf32-arm.h
index a0695c1..a793d09 100644
--- a/bfd/elf32-arm.h
+++ b/bfd/elf32-arm.h
@@ -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]"));
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 6310a50..f9da6d9 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -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
diff --git a/binutils/readelf.c b/binutils/readelf.c
index 7f9eaf0..6f82f83 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -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;
diff --git a/gas/ChangeLog b/gas/ChangeLog
index bd4fb11..1c954b8 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -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
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index e17b037..8af8593 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -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
diff --git a/gas/doc/c-arm.texi b/gas/doc/c-arm.texi
index edd233b..7c68764 100644
--- a/gas/doc/c-arm.texi
+++ b/gas/doc/c-arm.texi
@@ -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
diff --git a/include/ChangeLog b/include/ChangeLog
index a3cbebe..5f7d368 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -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.
diff --git a/include/elf/arm.h b/include/elf/arm.h
index 7b80308..9055f62 100644
--- a/include/elf/arm.h
+++ b/include/elf/arm.h
@@ -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