This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH] Recognize new special section types on ARM
- From: Richard Earnshaw <rearnsha at gcc dot gnu dot org>
- To: binutils at sources dot redhat dot com
- Date: Fri, 09 Sep 2005 14:19:02 +0100
- Subject: [PATCH] Recognize new special section types on ARM
The ARM ABI has three special section types, but bfd only recognizes one
of them. The other two would cause the object file to be completely
rejected.
Fixed with:
2005-09-09 Richard Earnshaw <richard.earnshaw@arm.com>
* arm.h (SHT_ARM_PREEMPTMAP, SHT_ARM_ATTRIBUTES): New defines.
2005-09-09 Richard Earnshaw <richard.earnshaw@arm.com>
* elf32-arm.c (elf32_arm_section_from_shdr): Accept SHT_ARM_PREEMPTMAP
and SHT_ARM_ATTRIBUTES.
2005-09-09 Richard Earnshaw <richard.earnshaw@arm.com>
* readelf.c (get_arm_section_type_name): Add SHT_ARM_PREEMPTMAP and
SHT_ARM_ATTRIBUTES.
Index: elf32-arm.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-arm.c,v
retrieving revision 1.54
diff -p -r1.54 elf32-arm.c
*** elf32-arm.c 25 Aug 2005 02:32:09 -0000 1.54
--- elf32-arm.c 9 Sep 2005 13:07:26 -0000
*************** elf32_arm_section_from_shdr (bfd *abfd,
*** 6510,6515 ****
--- 6510,6517 ----
switch (hdr->sh_type)
{
case SHT_ARM_EXIDX:
+ case SHT_ARM_PREEMPTMAP:
+ case SHT_ARM_ATTRIBUTES:
break;
default:
Index: arm.h
===================================================================
RCS file: /cvs/src/src/include/elf/arm.h,v
retrieving revision 1.25
retrieving revision 1.26
diff -p -r1.25 -r1.26
*** arm.h 18 May 2005 16:48:15 -0000 1.25
--- arm.h 9 Sep 2005 13:06:21 -0000 1.26
***************
*** 71,76 ****
--- 71,78 ----
/* Additional section types. */
#define SHT_ARM_EXIDX 0x70000001 /* Section holds ARM unwind info. */
+ #define SHT_ARM_PREEMPTMAP 0x70000002 /* Section pre-emption details. */
+ #define SHT_ARM_ATTRIBUTES 0x70000003 /* Section holds attributes. */
/* ARM-specific values for sh_flags. */
#define SHF_ENTRYSECT 0x10000000 /* Section contains an entry point. */
Index: readelf.c
===================================================================
RCS file: /cvs/src/src/binutils/readelf.c,v
retrieving revision 1.314
diff -p -r1.314 readelf.c
*** readelf.c 7 Sep 2005 16:25:35 -0000 1.314
--- readelf.c 9 Sep 2005 13:10:29 -0000
*************** get_arm_section_type_name (unsigned int
*** 2622,2627 ****
--- 2622,2631 ----
{
case SHT_ARM_EXIDX:
return "ARM_EXIDX";
+ case SHT_ARM_PREEMPTMAP:
+ return "ARM_PREEMPTMAP";
+ case SHT_ARM_ATTRIBUTES:
+ return "ARM_ATTRIBUTES";
default:
break;
}