From a353091fbe4a2691a74431d17e3fa0e214a0d29b Mon Sep 17 00:00:00 2001 From: John Cortell Date: Fri, 9 Feb 2007 15:03:26 +0000 Subject: [PATCH] Fixed sign extension problem in elf machine comparisons (173636) --- .../utils/org/eclipse/cdt/utils/elf/Elf.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/elf/Elf.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/elf/Elf.java index dc14ecdb500..0ef09c4b363 100644 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/elf/Elf.java +++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/elf/Elf.java @@ -134,6 +134,7 @@ public class Elf { public final static int EM_CYGNUS_FRV = 0x5441; public final static int EM_IQ2000 = 0xFEBA; public static final int EM_XILINX_MICROBLAZE = 0xbaab; + public static final int EM_SDMA = 0xcafe; public byte e_ident[] = new byte[EI_NDENT]; public int e_type; /* file type (Elf32_Half) */ @@ -743,7 +744,7 @@ public class Elf { break; } - switch (ehdr.e_machine) { + switch (ehdr.e_machine & 0xFFFF) { case Elf.ELFhdr.EM_386 : case Elf.ELFhdr.EM_486 : attrib.cpu = "x86"; //$NON-NLS-1$ @@ -848,6 +849,9 @@ public class Elf { case Elf.ELFhdr.EM_BLACKFIN : attrib.cpu = "bfin"; //$NON-NLS-1$ break; + case Elf.ELFhdr.EM_SDMA: + attrib.cpu = "sdma"; //$NON-NLS-1$ + break; case Elf.ELFhdr.EM_NONE : default : attrib.cpu = "none"; //$NON-NLS-1$