This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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;
      }

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]