OLD | NEW |
1 @section Architectures | 1 @section Architectures |
2 BFD keeps one atom in a BFD describing the | 2 BFD keeps one atom in a BFD describing the |
3 architecture of the data attached to the BFD: a pointer to a | 3 architecture of the data attached to the BFD: a pointer to a |
4 @code{bfd_arch_info_type}. | 4 @code{bfd_arch_info_type}. |
5 | 5 |
6 Pointers to structures can be requested independently of a BFD | 6 Pointers to structures can be requested independently of a BFD |
7 so that an architecture's information can be interrogated | 7 so that an architecture's information can be interrogated |
8 without access to an open BFD. | 8 without access to an open BFD. |
9 | 9 |
10 The architecture information is provided by each architecture package. | 10 The architecture information is provided by each architecture package. |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
199 #define bfd_mach_ppc_630 630 | 199 #define bfd_mach_ppc_630 630 |
200 #define bfd_mach_ppc_750 750 | 200 #define bfd_mach_ppc_750 750 |
201 #define bfd_mach_ppc_860 860 | 201 #define bfd_mach_ppc_860 860 |
202 #define bfd_mach_ppc_a35 35 | 202 #define bfd_mach_ppc_a35 35 |
203 #define bfd_mach_ppc_rs64ii 642 | 203 #define bfd_mach_ppc_rs64ii 642 |
204 #define bfd_mach_ppc_rs64iii 643 | 204 #define bfd_mach_ppc_rs64iii 643 |
205 #define bfd_mach_ppc_7400 7400 | 205 #define bfd_mach_ppc_7400 7400 |
206 #define bfd_mach_ppc_e500 500 | 206 #define bfd_mach_ppc_e500 500 |
207 #define bfd_mach_ppc_e500mc 5001 | 207 #define bfd_mach_ppc_e500mc 5001 |
208 #define bfd_mach_ppc_e500mc64 5005 | 208 #define bfd_mach_ppc_e500mc64 5005 |
| 209 #define bfd_mach_ppc_e5500 5006 |
| 210 #define bfd_mach_ppc_e6500 5007 |
209 #define bfd_mach_ppc_titan 83 | 211 #define bfd_mach_ppc_titan 83 |
| 212 #define bfd_mach_ppc_vle 84 |
210 bfd_arch_rs6000, /* IBM RS/6000 */ | 213 bfd_arch_rs6000, /* IBM RS/6000 */ |
211 #define bfd_mach_rs6k 6000 | 214 #define bfd_mach_rs6k 6000 |
212 #define bfd_mach_rs6k_rs1 6001 | 215 #define bfd_mach_rs6k_rs1 6001 |
213 #define bfd_mach_rs6k_rsc 6003 | 216 #define bfd_mach_rs6k_rsc 6003 |
214 #define bfd_mach_rs6k_rs2 6002 | 217 #define bfd_mach_rs6k_rs2 6002 |
215 bfd_arch_hppa, /* HP PA RISC */ | 218 bfd_arch_hppa, /* HP PA RISC */ |
216 #define bfd_mach_hppa10 10 | 219 #define bfd_mach_hppa10 10 |
217 #define bfd_mach_hppa11 11 | 220 #define bfd_mach_hppa11 11 |
218 #define bfd_mach_hppa20 20 | 221 #define bfd_mach_hppa20 20 |
219 #define bfd_mach_hppa20w 25 | 222 #define bfd_mach_hppa20w 25 |
220 bfd_arch_d10v, /* Mitsubishi D10V */ | 223 bfd_arch_d10v, /* Mitsubishi D10V */ |
221 #define bfd_mach_d10v 1 | 224 #define bfd_mach_d10v 1 |
222 #define bfd_mach_d10v_ts2 2 | 225 #define bfd_mach_d10v_ts2 2 |
223 #define bfd_mach_d10v_ts3 3 | 226 #define bfd_mach_d10v_ts3 3 |
224 bfd_arch_d30v, /* Mitsubishi D30V */ | 227 bfd_arch_d30v, /* Mitsubishi D30V */ |
225 bfd_arch_dlx, /* DLX */ | 228 bfd_arch_dlx, /* DLX */ |
226 bfd_arch_m68hc11, /* Motorola 68HC11 */ | 229 bfd_arch_m68hc11, /* Motorola 68HC11 */ |
227 bfd_arch_m68hc12, /* Motorola 68HC12 */ | 230 bfd_arch_m68hc12, /* Motorola 68HC12 */ |
228 #define bfd_mach_m6812_default 0 | 231 #define bfd_mach_m6812_default 0 |
229 #define bfd_mach_m6812 1 | 232 #define bfd_mach_m6812 1 |
230 #define bfd_mach_m6812s 2 | 233 #define bfd_mach_m6812s 2 |
| 234 bfd_arch_m9s12x, /* Freescale S12X */ |
| 235 bfd_arch_m9s12xg, /* Freescale XGATE */ |
231 bfd_arch_z8k, /* Zilog Z8000 */ | 236 bfd_arch_z8k, /* Zilog Z8000 */ |
232 #define bfd_mach_z8001 1 | 237 #define bfd_mach_z8001 1 |
233 #define bfd_mach_z8002 2 | 238 #define bfd_mach_z8002 2 |
234 bfd_arch_h8500, /* Renesas H8/500 (formerly Hitachi H8/500) */ | 239 bfd_arch_h8500, /* Renesas H8/500 (formerly Hitachi H8/500) */ |
235 bfd_arch_sh, /* Renesas / SuperH SH (formerly Hitachi SH) */ | 240 bfd_arch_sh, /* Renesas / SuperH SH (formerly Hitachi SH) */ |
236 #define bfd_mach_sh 1 | 241 #define bfd_mach_sh 1 |
237 #define bfd_mach_sh2 0x20 | 242 #define bfd_mach_sh2 0x20 |
238 #define bfd_mach_sh_dsp 0x2d | 243 #define bfd_mach_sh_dsp 0x2d |
239 #define bfd_mach_sh2a 0x2a | 244 #define bfd_mach_sh2a 0x2a |
240 #define bfd_mach_sh2a_nofpu 0x2b | 245 #define bfd_mach_sh2a_nofpu 0x2b |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
396 #define bfd_mach_msp31 31 | 401 #define bfd_mach_msp31 31 |
397 #define bfd_mach_msp32 32 | 402 #define bfd_mach_msp32 32 |
398 #define bfd_mach_msp33 33 | 403 #define bfd_mach_msp33 33 |
399 #define bfd_mach_msp41 41 | 404 #define bfd_mach_msp41 41 |
400 #define bfd_mach_msp42 42 | 405 #define bfd_mach_msp42 42 |
401 #define bfd_mach_msp43 43 | 406 #define bfd_mach_msp43 43 |
402 #define bfd_mach_msp44 44 | 407 #define bfd_mach_msp44 44 |
403 bfd_arch_xc16x, /* Infineon's XC16X Series. */ | 408 bfd_arch_xc16x, /* Infineon's XC16X Series. */ |
404 #define bfd_mach_xc16x 1 | 409 #define bfd_mach_xc16x 1 |
405 #define bfd_mach_xc16xl 2 | 410 #define bfd_mach_xc16xl 2 |
406 #define bfd_mach_xc16xs 3 | 411 #define bfd_mach_xc16xs 3 |
| 412 bfd_arch_xgate, /* Freescale XGATE */ |
| 413 #define bfd_mach_xgate 1 |
407 bfd_arch_xtensa, /* Tensilica's Xtensa cores. */ | 414 bfd_arch_xtensa, /* Tensilica's Xtensa cores. */ |
408 #define bfd_mach_xtensa 1 | 415 #define bfd_mach_xtensa 1 |
409 bfd_arch_z80, | 416 bfd_arch_z80, |
410 #define bfd_mach_z80strict 1 /* No undocumented opcodes. */ | 417 #define bfd_mach_z80strict 1 /* No undocumented opcodes. */ |
411 #define bfd_mach_z80 3 /* With ixl, ixh, iyl, and iyh. */ | 418 #define bfd_mach_z80 3 /* With ixl, ixh, iyl, and iyh. */ |
412 #define bfd_mach_z80full 7 /* All undocumented instructions. */ | 419 #define bfd_mach_z80full 7 /* All undocumented instructions. */ |
413 #define bfd_mach_r800 11 /* R800: successor with multiplication. */ | 420 #define bfd_mach_r800 11 /* R800: successor with multiplication. */ |
414 bfd_arch_lm32, /* Lattice Mico32 */ | 421 bfd_arch_lm32, /* Lattice Mico32 */ |
415 #define bfd_mach_lm32 1 | 422 #define bfd_mach_lm32 1 |
416 bfd_arch_microblaze,/* Xilinx MicroBlaze. */ | 423 bfd_arch_microblaze,/* Xilinx MicroBlaze. */ |
417 bfd_arch_tilepro, /* Tilera TILEPro */ | 424 bfd_arch_tilepro, /* Tilera TILEPro */ |
418 bfd_arch_tilegx, /* Tilera TILE-Gx */ | 425 bfd_arch_tilegx, /* Tilera TILE-Gx */ |
419 #define bfd_mach_tilepro 1 | 426 #define bfd_mach_tilepro 1 |
420 #define bfd_mach_tilegx 1 | 427 #define bfd_mach_tilegx 1 |
| 428 #define bfd_mach_tilegx32 2 |
421 bfd_arch_last | 429 bfd_arch_last |
422 @}; | 430 @}; |
423 @end example | 431 @end example |
424 | 432 |
425 @subsection bfd_arch_info | 433 @subsection bfd_arch_info |
426 | 434 |
427 | 435 |
428 @strong{Description}@* | 436 @strong{Description}@* |
429 This structure contains information on architectures for use | 437 This structure contains information on architectures for use |
430 within BFD. | 438 within BFD. |
(...skipping 11 matching lines...) Expand all Loading... |
442 unsigned int section_align_power; | 450 unsigned int section_align_power; |
443 /* TRUE if this is the default machine for the architecture. | 451 /* TRUE if this is the default machine for the architecture. |
444 The default arch should be the first entry for an arch so that | 452 The default arch should be the first entry for an arch so that |
445 all the entries for that arch can be accessed via @code{next}. */ | 453 all the entries for that arch can be accessed via @code{next}. */ |
446 bfd_boolean the_default; | 454 bfd_boolean the_default; |
447 const struct bfd_arch_info * (*compatible) | 455 const struct bfd_arch_info * (*compatible) |
448 (const struct bfd_arch_info *a, const struct bfd_arch_info *b); | 456 (const struct bfd_arch_info *a, const struct bfd_arch_info *b); |
449 | 457 |
450 bfd_boolean (*scan) (const struct bfd_arch_info *, const char *); | 458 bfd_boolean (*scan) (const struct bfd_arch_info *, const char *); |
451 | 459 |
| 460 /* Allocate via bfd_malloc and return a fill buffer of size COUNT. If |
| 461 IS_BIGENDIAN is TRUE, the order of bytes is big endian. If CODE is |
| 462 TRUE, the buffer contains code. */ |
| 463 void *(*fill) (bfd_size_type count, bfd_boolean is_bigendian, |
| 464 bfd_boolean code); |
| 465 |
452 const struct bfd_arch_info *next; | 466 const struct bfd_arch_info *next; |
453 @} | 467 @} |
454 bfd_arch_info_type; | 468 bfd_arch_info_type; |
455 | 469 |
456 @end example | 470 @end example |
457 | 471 |
458 @findex bfd_printable_name | 472 @findex bfd_printable_name |
459 @subsubsection @code{bfd_printable_name} | 473 @subsubsection @code{bfd_printable_name} |
460 @strong{Synopsis} | 474 @strong{Synopsis} |
461 @example | 475 @example |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
647 @example | 661 @example |
648 unsigned int bfd_arch_mach_octets_per_byte | 662 unsigned int bfd_arch_mach_octets_per_byte |
649 (enum bfd_architecture arch, unsigned long machine); | 663 (enum bfd_architecture arch, unsigned long machine); |
650 @end example | 664 @end example |
651 @strong{Description}@* | 665 @strong{Description}@* |
652 See bfd_octets_per_byte. | 666 See bfd_octets_per_byte. |
653 | 667 |
654 This routine is provided for those cases where a bfd * is not | 668 This routine is provided for those cases where a bfd * is not |
655 available | 669 available |
656 | 670 |
| 671 @findex bfd_arch_default_fill |
| 672 @subsubsection @code{bfd_arch_default_fill} |
| 673 @strong{Synopsis} |
| 674 @example |
| 675 void *bfd_arch_default_fill (bfd_size_type count, |
| 676 bfd_boolean is_bigendian, |
| 677 bfd_boolean code); |
| 678 @end example |
| 679 @strong{Description}@* |
| 680 Allocate via bfd_malloc and return a fill buffer of size COUNT. |
| 681 If IS_BIGENDIAN is TRUE, the order of bytes is big endian. If |
| 682 CODE is TRUE, the buffer contains code. |
| 683 |
OLD | NEW |