[patch] ARM Thumb object symbols.

Paul Brook paul@codesourcery.com
Sat Oct 21 02:20:00 GMT 2006


gas currently gives gives non-function symbols declared in thumb code areas 
type STT_ARM_16BIT. The EABI does not define this symbol type, so these 
symbols should be left with their default type (usually STT_NOTYPE).

The patch below implements this.

Tested with cross to arm-none-eabi.
My previous patch to make objdump smarted is required to avoid testsuite 
regressions.
Ok?

Paul

2006-10-20  Paul Brook  <paul@codesourcery.com>

	gas/
	* config/tc-arm.c (arm_adjust_symtab): Don't use STT_ARM_16BIT
	for EABIv4.

Index: gas/config/tc-arm.c
===================================================================
RCS file: /var/cvsroot/src-cvs/src/gas/config/tc-arm.c,v
retrieving revision 1.250.2.37
diff -u -p -r1.250.2.37 tc-arm.c
--- gas/config/tc-arm.c	19 Sep 2006 18:44:37 -0000	1.250.2.37
+++ gas/config/tc-arm.c	18 Oct 2006 20:57:27 -0000
@@ -19075,7 +19075,7 @@ arm_adjust_symtab (void)
 	      if (THUMB_IS_FUNC (sym))
 		elf_sym->internal_elf_sym.st_info =
 		  ELF_ST_INFO (bind, STT_ARM_TFUNC);
-	      else
+	      else if (EF_ARM_EABI_VERSION (meabi_flags) < EF_ARM_EABI_VER4)
 		elf_sym->internal_elf_sym.st_info =
 		  ELF_ST_INFO (bind, STT_ARM_16BIT);
 	    }



More information about the Binutils mailing list