Index: bfd/archures.c |
diff --git a/bfd/archures.c b/bfd/archures.c |
index f6095349004c499b9c61f28f94e7c35594634b6d..a23534b346a53fcfe6d02d6e56af8defe528e4b6 100644 |
--- a/bfd/archures.c |
+++ b/bfd/archures.c |
@@ -1,7 +1,7 @@ |
/* BFD library support routines for architectures. |
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, |
- 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 |
- Free Software Foundation, Inc. |
+ 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, |
+ 2012 Free Software Foundation, Inc. |
Hacked by John Gilmore and Steve Chamberlain of Cygnus Support. |
This file is part of BFD, the Binary File Descriptor library. |
@@ -241,7 +241,10 @@ DESCRIPTION |
.#define bfd_mach_ppc_e500 500 |
.#define bfd_mach_ppc_e500mc 5001 |
.#define bfd_mach_ppc_e500mc64 5005 |
+.#define bfd_mach_ppc_e5500 5006 |
+.#define bfd_mach_ppc_e6500 5007 |
.#define bfd_mach_ppc_titan 83 |
+.#define bfd_mach_ppc_vle 84 |
. bfd_arch_rs6000, {* IBM RS/6000 *} |
.#define bfd_mach_rs6k 6000 |
.#define bfd_mach_rs6k_rs1 6001 |
@@ -263,6 +266,8 @@ DESCRIPTION |
.#define bfd_mach_m6812_default 0 |
.#define bfd_mach_m6812 1 |
.#define bfd_mach_m6812s 2 |
+. bfd_arch_m9s12x, {* Freescale S12X *} |
+. bfd_arch_m9s12xg, {* Freescale XGATE *} |
. bfd_arch_z8k, {* Zilog Z8000 *} |
.#define bfd_mach_z8001 1 |
.#define bfd_mach_z8002 2 |
@@ -438,7 +443,9 @@ DESCRIPTION |
. bfd_arch_xc16x, {* Infineon's XC16X Series. *} |
.#define bfd_mach_xc16x 1 |
.#define bfd_mach_xc16xl 2 |
-.#define bfd_mach_xc16xs 3 |
+.#define bfd_mach_xc16xs 3 |
+. bfd_arch_xgate, {* Freescale XGATE *} |
+.#define bfd_mach_xgate 1 |
. bfd_arch_xtensa, {* Tensilica's Xtensa cores. *} |
.#define bfd_mach_xtensa 1 |
. bfd_arch_z80, |
@@ -453,6 +460,7 @@ DESCRIPTION |
. bfd_arch_tilegx, {* Tilera TILE-Gx *} |
.#define bfd_mach_tilepro 1 |
.#define bfd_mach_tilegx 1 |
+.#define bfd_mach_tilegx32 2 |
. bfd_arch_last |
. }; |
*/ |
@@ -485,6 +493,12 @@ DESCRIPTION |
. |
. bfd_boolean (*scan) (const struct bfd_arch_info *, const char *); |
. |
+. {* Allocate via bfd_malloc and return a fill buffer of size COUNT. If |
+. IS_BIGENDIAN is TRUE, the order of bytes is big endian. If CODE is |
+. TRUE, the buffer contains code. *} |
+. void *(*fill) (bfd_size_type count, bfd_boolean is_bigendian, |
+. bfd_boolean code); |
+. |
. const struct bfd_arch_info *next; |
.} |
.bfd_arch_info_type; |
@@ -523,6 +537,8 @@ extern const bfd_arch_info_type bfd_m32c_arch; |
extern const bfd_arch_info_type bfd_m32r_arch; |
extern const bfd_arch_info_type bfd_m68hc11_arch; |
extern const bfd_arch_info_type bfd_m68hc12_arch; |
+extern const bfd_arch_info_type bfd_m9s12x_arch; |
+extern const bfd_arch_info_type bfd_m9s12xg_arch; |
extern const bfd_arch_info_type bfd_m68k_arch; |
extern const bfd_arch_info_type bfd_m88k_arch; |
extern const bfd_arch_info_type bfd_mcore_arch; |
@@ -565,6 +581,7 @@ extern const bfd_arch_info_type bfd_we32k_arch; |
extern const bfd_arch_info_type bfd_xstormy16_arch; |
extern const bfd_arch_info_type bfd_xtensa_arch; |
extern const bfd_arch_info_type bfd_xc16x_arch; |
+extern const bfd_arch_info_type bfd_xgate_arch; |
extern const bfd_arch_info_type bfd_z80_arch; |
extern const bfd_arch_info_type bfd_z8k_arch; |
@@ -605,6 +622,8 @@ static const bfd_arch_info_type * const bfd_archures_list[] = |
&bfd_m32r_arch, |
&bfd_m68hc11_arch, |
&bfd_m68hc12_arch, |
+ &bfd_m9s12x_arch, |
+ &bfd_m9s12xg_arch, |
&bfd_m68k_arch, |
&bfd_m88k_arch, |
&bfd_mcore_arch, |
@@ -644,6 +663,7 @@ static const bfd_arch_info_type * const bfd_archures_list[] = |
&bfd_xstormy16_arch, |
&bfd_xtensa_arch, |
&bfd_xc16x_arch, |
+ &bfd_xgate_arch, |
&bfd_z80_arch, |
&bfd_z8k_arch, |
#endif |
@@ -814,6 +834,7 @@ const bfd_arch_info_type bfd_default_arch_struct = { |
32, 32, 8, bfd_arch_unknown, 0, "unknown", "unknown", 2, TRUE, |
bfd_default_compatible, |
bfd_default_scan, |
+ bfd_arch_default_fill, |
0, |
}; |
@@ -1309,3 +1330,29 @@ bfd_arch_mach_octets_per_byte (enum bfd_architecture arch, |
return ap->bits_per_byte / 8; |
return 1; |
} |
+ |
+/* |
+INTERNAL_FUNCTION |
+ bfd_arch_default_fill |
+ |
+SYNOPSIS |
+ void *bfd_arch_default_fill (bfd_size_type count, |
+ bfd_boolean is_bigendian, |
+ bfd_boolean code); |
+ |
+DESCRIPTION |
+ Allocate via bfd_malloc and return a fill buffer of size COUNT. |
+ If IS_BIGENDIAN is TRUE, the order of bytes is big endian. If |
+ CODE is TRUE, the buffer contains code. |
+*/ |
+ |
+void * |
+bfd_arch_default_fill (bfd_size_type count, |
+ bfd_boolean is_bigendian ATTRIBUTE_UNUSED, |
+ bfd_boolean code ATTRIBUTE_UNUSED) |
+{ |
+ void *fill = bfd_malloc (count); |
+ if (fill != NULL) |
+ memset (fill, 0, count); |
+ return fill; |
+} |