From 8cb5156692f0f5bf3a24c5d549462bf3c7c71873 Mon Sep 17 00:00:00 2001 From: Paul Brook Date: Tue, 12 Oct 2004 14:17:08 +0000 Subject: [PATCH] 2004-10-12 Paul Brook 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 | 4 ++++ bfd/elf32-arm.h | 8 ++++++-- binutils/ChangeLog | 4 ++++ binutils/readelf.c | 4 ++++ gas/ChangeLog | 8 ++++++++ gas/config/tc-arm.c | 6 +++--- gas/doc/c-arm.texi | 2 +- include/ChangeLog | 4 ++++ include/elf/arm.h | 1 + 9 files changed, 35 insertions(+), 6 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index f8b7e6f4c47..af51a068220 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,7 @@ +2004-10-12 Paul Brook + + * elf32-arm.h: Support EABI version 4 objects. + 2004-10-12 Alan Modra PR 325 diff --git a/bfd/elf32-arm.h b/bfd/elf32-arm.h index a0695c1afc3..a793d0921f8 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 6310a50ccea..f9da6d9ee62 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,7 @@ +2004-10-12 Paul Brook + + * readelf.c (decode_ARM_machine_flags): Support EABI version 4. + 2004-10-11 Alan Modra * objdump.c (dump_symbols): Fix thinko last change. Improve error diff --git a/binutils/readelf.c b/binutils/readelf.c index 7f9eaf04f3f..6f82f83f874 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 bd4fb11c8d3..1c954b8f558 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,11 @@ +2004-10-12 Paul Brook + + * 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 * doc/as.texinfo (VTableEntry, VTableInherit): Add "directive" to index diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index e17b037ecbb..8af8593ffd0 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 edd233b854c..7c687648d60 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 a3cbebedd96..5f7d3687363 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,7 @@ +2004-10-12 Paul Brook + + * elf/arm.h (EF_ARM_EABI_VER4): Define. + 2004-10-08 Daniel Jacobowitz * elf/common.h (PT_SUNW_EH_FRAME): Define. diff --git a/include/elf/arm.h b/include/elf/arm.h index 7b8030823ee..9055f622de1 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 -- 2.30.2