679 lines
		
	
	
	
		
			27 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
		
		
			
		
	
	
			679 lines
		
	
	
	
		
			27 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| 
								 | 
							
								<html lang="en">
							 | 
						||
| 
								 | 
							
								<head>
							 | 
						||
| 
								 | 
							
								<title>Architectures - Untitled</title>
							 | 
						||
| 
								 | 
							
								<meta http-equiv="Content-Type" content="text/html">
							 | 
						||
| 
								 | 
							
								<meta name="description" content="Untitled">
							 | 
						||
| 
								 | 
							
								<meta name="generator" content="makeinfo 4.7">
							 | 
						||
| 
								 | 
							
								<link title="Top" rel="start" href="index.html#Top">
							 | 
						||
| 
								 | 
							
								<link rel="up" href="BFD-front-end.html#BFD-front-end" title="BFD front end">
							 | 
						||
| 
								 | 
							
								<link rel="prev" href="Targets.html#Targets" title="Targets">
							 | 
						||
| 
								 | 
							
								<link rel="next" href="Opening-and-Closing.html#Opening-and-Closing" title="Opening and Closing">
							 | 
						||
| 
								 | 
							
								<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
							 | 
						||
| 
								 | 
							
								<!--
							 | 
						||
| 
								 | 
							
								This file documents the BFD library.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Copyright (C) 1991, 2000, 2001, 2003, 2006, 2007 Free Software Foundation, Inc.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Permission is granted to copy, distribute and/or modify this document
							 | 
						||
| 
								 | 
							
								under the terms of the GNU Free Documentation License, Version 1.1 or
							 | 
						||
| 
								 | 
							
								any later version published by the Free Software Foundation; with the
							 | 
						||
| 
								 | 
							
								Invariant Sections being ``GNU General Public License'' and ``Funding
							 | 
						||
| 
								 | 
							
								Free Software'', the Front-Cover texts being (a) (see below), and with
							 | 
						||
| 
								 | 
							
								the Back-Cover Texts being (b) (see below).  A copy of the license is
							 | 
						||
| 
								 | 
							
								included in the section entitled ``GNU Free Documentation License''.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(a) The FSF's Front-Cover Text is:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								     A GNU Manual
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(b) The FSF's Back-Cover Text is:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								     You have freedom to copy and modify this GNU Manual, like GNU
							 | 
						||
| 
								 | 
							
								     software.  Copies published by the Free Software Foundation raise
							 | 
						||
| 
								 | 
							
								     funds for GNU development.-->
							 | 
						||
| 
								 | 
							
								<meta http-equiv="Content-Style-Type" content="text/css">
							 | 
						||
| 
								 | 
							
								<style type="text/css"><!--
							 | 
						||
| 
								 | 
							
								  pre.display { font-family:inherit }
							 | 
						||
| 
								 | 
							
								  pre.format  { font-family:inherit }
							 | 
						||
| 
								 | 
							
								  pre.smalldisplay { font-family:inherit; font-size:smaller }
							 | 
						||
| 
								 | 
							
								  pre.smallformat  { font-family:inherit; font-size:smaller }
							 | 
						||
| 
								 | 
							
								  pre.smallexample { font-size:smaller }
							 | 
						||
| 
								 | 
							
								  pre.smalllisp    { font-size:smaller }
							 | 
						||
| 
								 | 
							
								  span.sc { font-variant:small-caps }
							 | 
						||
| 
								 | 
							
								  span.roman { font-family: serif; font-weight: normal; } 
							 | 
						||
| 
								 | 
							
								--></style>
							 | 
						||
| 
								 | 
							
								</head>
							 | 
						||
| 
								 | 
							
								<body>
							 | 
						||
| 
								 | 
							
								<div class="node">
							 | 
						||
| 
								 | 
							
								<p>
							 | 
						||
| 
								 | 
							
								<a name="Architectures"></a>Next: <a rel="next" accesskey="n" href="Opening-and-Closing.html#Opening-and-Closing">Opening and Closing</a>,
							 | 
						||
| 
								 | 
							
								Previous: <a rel="previous" accesskey="p" href="Targets.html#Targets">Targets</a>,
							 | 
						||
| 
								 | 
							
								Up: <a rel="up" accesskey="u" href="BFD-front-end.html#BFD-front-end">BFD front end</a>
							 | 
						||
| 
								 | 
							
								<hr><br>
							 | 
						||
| 
								 | 
							
								</div>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<h3 class="section">2.13 Architectures</h3>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<p>BFD keeps one atom in a BFD describing the
							 | 
						||
| 
								 | 
							
								architecture of the data attached to the BFD: a pointer to a
							 | 
						||
| 
								 | 
							
								<code>bfd_arch_info_type</code>.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   <p>Pointers to structures can be requested independently of a BFD
							 | 
						||
| 
								 | 
							
								so that an architecture's information can be interrogated
							 | 
						||
| 
								 | 
							
								without access to an open BFD.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   <p>The architecture information is provided by each architecture package. 
							 | 
						||
| 
								 | 
							
								The set of default architectures is selected by the macro
							 | 
						||
| 
								 | 
							
								<code>SELECT_ARCHITECTURES</code>.  This is normally set up in the
							 | 
						||
| 
								 | 
							
								<span class="file">config/</span><var>target</var><span class="file">.mt</span> file of your choice.  If the name is not
							 | 
						||
| 
								 | 
							
								defined, then all the architectures supported are included.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   <p>When BFD starts up, all the architectures are called with an
							 | 
						||
| 
								 | 
							
								initialize method.  It is up to the architecture back end to
							 | 
						||
| 
								 | 
							
								insert as many items into the list of architectures as it wants to;
							 | 
						||
| 
								 | 
							
								generally this would be one for each machine and one for the
							 | 
						||
| 
								 | 
							
								default case (an item with a machine field of 0).
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   <p>BFD's idea of an architecture is implemented in <span class="file">archures.c</span>.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<h4 class="subsection">2.13.1 bfd_architecture</h4>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<p><strong>Description</strong><br>
							 | 
						||
| 
								 | 
							
								This enum gives the object file's CPU architecture, in a
							 | 
						||
| 
								 | 
							
								global sense—i.e., what processor family does it belong to? 
							 | 
						||
| 
								 | 
							
								Another field indicates which processor within
							 | 
						||
| 
								 | 
							
								the family is in use.  The machine gives a number which
							 | 
						||
| 
								 | 
							
								distinguishes different versions of the architecture,
							 | 
						||
| 
								 | 
							
								containing, for example, 2 and 3 for Intel i960 KA and i960 KB,
							 | 
						||
| 
								 | 
							
								and 68020 and 68030 for Motorola 68020 and 68030.
							 | 
						||
| 
								 | 
							
								<pre class="example">     enum bfd_architecture
							 | 
						||
| 
								 | 
							
								     {
							 | 
						||
| 
								 | 
							
								       bfd_arch_unknown,   /* File arch not known.  */
							 | 
						||
| 
								 | 
							
								       bfd_arch_obscure,   /* Arch known, not one of these.  */
							 | 
						||
| 
								 | 
							
								       bfd_arch_m68k,      /* Motorola 68xxx */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_m68000 1
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_m68008 2
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_m68010 3
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_m68020 4
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_m68030 5
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_m68040 6
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_m68060 7
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_cpu32  8
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_fido   9
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mcf_isa_a_nodiv 10
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mcf_isa_a 11
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mcf_isa_a_mac 12
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mcf_isa_a_emac 13
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mcf_isa_aplus 14
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mcf_isa_aplus_mac 15
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mcf_isa_aplus_emac 16
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mcf_isa_b_nousp 17
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mcf_isa_b_nousp_mac 18
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mcf_isa_b_nousp_emac 19
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mcf_isa_b 20
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mcf_isa_b_mac 21
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mcf_isa_b_emac 22
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mcf_isa_b_float 23
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mcf_isa_b_float_mac 24
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mcf_isa_b_float_emac 25
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mcf_isa_c 26
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mcf_isa_c_mac 27
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mcf_isa_c_emac 28
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mcf_isa_c_nodiv 29
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mcf_isa_c_nodiv_mac 30
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mcf_isa_c_nodiv_emac 31
							 | 
						||
| 
								 | 
							
								       bfd_arch_vax,       /* DEC Vax */
							 | 
						||
| 
								 | 
							
								       bfd_arch_i960,      /* Intel 960 */
							 | 
						||
| 
								 | 
							
								         /* The order of the following is important.
							 | 
						||
| 
								 | 
							
								            lower number indicates a machine type that
							 | 
						||
| 
								 | 
							
								            only accepts a subset of the instructions
							 | 
						||
| 
								 | 
							
								            available to machines with higher numbers.
							 | 
						||
| 
								 | 
							
								            The exception is the "ca", which is
							 | 
						||
| 
								 | 
							
								            incompatible with all other machines except
							 | 
						||
| 
								 | 
							
								            "core".  */
							 | 
						||
| 
								 | 
							
								     
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_i960_core      1
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_i960_ka_sa     2
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_i960_kb_sb     3
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_i960_mc        4
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_i960_xa        5
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_i960_ca        6
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_i960_jx        7
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_i960_hx        8
							 | 
						||
| 
								 | 
							
								     
							 | 
						||
| 
								 | 
							
								       bfd_arch_or32,      /* OpenRISC 32 */
							 | 
						||
| 
								 | 
							
								     
							 | 
						||
| 
								 | 
							
								       bfd_arch_sparc,     /* SPARC */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sparc                 1
							 | 
						||
| 
								 | 
							
								     /* The difference between v8plus and v9 is that v9 is a true 64 bit env.  */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sparc_sparclet        2
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sparc_sparclite       3
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sparc_v8plus          4
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sparc_v8plusa         5 /* with ultrasparc add'ns.  */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sparc_sparclite_le    6
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sparc_v9              7
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sparc_v9a             8 /* with ultrasparc add'ns.  */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sparc_v8plusb         9 /* with cheetah add'ns.  */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sparc_v9b             10 /* with cheetah add'ns.  */
							 | 
						||
| 
								 | 
							
								     /* Nonzero if MACH has the v9 instruction set.  */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sparc_v9_p(mach) \
							 | 
						||
| 
								 | 
							
								       ((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9b \
							 | 
						||
| 
								 | 
							
								        && (mach) != bfd_mach_sparc_sparclite_le)
							 | 
						||
| 
								 | 
							
								     /* Nonzero if MACH is a 64 bit sparc architecture.  */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sparc_64bit_p(mach) \
							 | 
						||
| 
								 | 
							
								       ((mach) >= bfd_mach_sparc_v9 && (mach) != bfd_mach_sparc_v8plusb)
							 | 
						||
| 
								 | 
							
								       bfd_arch_spu,       /* PowerPC SPU */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_spu           256
							 | 
						||
| 
								 | 
							
								       bfd_arch_mips,      /* MIPS Rxxxx */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mips3000              3000
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mips3900              3900
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mips4000              4000
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mips4010              4010
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mips4100              4100
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mips4111              4111
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mips4120              4120
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mips4300              4300
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mips4400              4400
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mips4600              4600
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mips4650              4650
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mips5000              5000
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mips5400              5400
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mips5500              5500
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mips6000              6000
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mips7000              7000
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mips8000              8000
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mips9000              9000
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mips10000             10000
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mips12000             12000
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mips16                16
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mips5                 5
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mips_loongson_2e      3001
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mips_loongson_2f      3002
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mips_sb1              12310201 /* octal 'SB', 01 */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mips_octeon           6501
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mipsisa32             32
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mipsisa32r2           33
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mipsisa64             64
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mipsisa64r2           65
							 | 
						||
| 
								 | 
							
								       bfd_arch_i386,      /* Intel 386 */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_i386_i386 1
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_i386_i8086 2
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_i386_i386_intel_syntax 3
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_x86_64 64
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_x86_64_intel_syntax 65
							 | 
						||
| 
								 | 
							
								       bfd_arch_we32k,     /* AT&T WE32xxx */
							 | 
						||
| 
								 | 
							
								       bfd_arch_tahoe,     /* CCI/Harris Tahoe */
							 | 
						||
| 
								 | 
							
								       bfd_arch_i860,      /* Intel 860 */
							 | 
						||
| 
								 | 
							
								       bfd_arch_i370,      /* IBM 360/370 Mainframes */
							 | 
						||
| 
								 | 
							
								       bfd_arch_romp,      /* IBM ROMP PC/RT */
							 | 
						||
| 
								 | 
							
								       bfd_arch_convex,    /* Convex */
							 | 
						||
| 
								 | 
							
								       bfd_arch_m88k,      /* Motorola 88xxx */
							 | 
						||
| 
								 | 
							
								       bfd_arch_m98k,      /* Motorola 98xxx */
							 | 
						||
| 
								 | 
							
								       bfd_arch_pyramid,   /* Pyramid Technology */
							 | 
						||
| 
								 | 
							
								       bfd_arch_h8300,     /* Renesas H8/300 (formerly Hitachi H8/300) */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_h8300    1
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_h8300h   2
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_h8300s   3
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_h8300hn  4
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_h8300sn  5
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_h8300sx  6
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_h8300sxn 7
							 | 
						||
| 
								 | 
							
								       bfd_arch_pdp11,     /* DEC PDP-11 */
							 | 
						||
| 
								 | 
							
								       bfd_arch_powerpc,   /* PowerPC */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_ppc           32
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_ppc64         64
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_ppc_403       403
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_ppc_403gc     4030
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_ppc_505       505
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_ppc_601       601
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_ppc_602       602
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_ppc_603       603
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_ppc_ec603e    6031
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_ppc_604       604
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_ppc_620       620
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_ppc_630       630
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_ppc_750       750
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_ppc_860       860
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_ppc_a35       35
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_ppc_rs64ii    642
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_ppc_rs64iii   643
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_ppc_7400      7400
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_ppc_e500      500
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_ppc_e500mc    5001
							 | 
						||
| 
								 | 
							
								       bfd_arch_rs6000,    /* IBM RS/6000 */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_rs6k          6000
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_rs6k_rs1      6001
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_rs6k_rsc      6003
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_rs6k_rs2      6002
							 | 
						||
| 
								 | 
							
								       bfd_arch_hppa,      /* HP PA RISC */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_hppa10        10
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_hppa11        11
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_hppa20        20
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_hppa20w       25
							 | 
						||
| 
								 | 
							
								       bfd_arch_d10v,      /* Mitsubishi D10V */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_d10v          1
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_d10v_ts2      2
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_d10v_ts3      3
							 | 
						||
| 
								 | 
							
								       bfd_arch_d30v,      /* Mitsubishi D30V */
							 | 
						||
| 
								 | 
							
								       bfd_arch_dlx,       /* DLX */
							 | 
						||
| 
								 | 
							
								       bfd_arch_m68hc11,   /* Motorola 68HC11 */
							 | 
						||
| 
								 | 
							
								       bfd_arch_m68hc12,   /* Motorola 68HC12 */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_m6812_default 0
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_m6812         1
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_m6812s        2
							 | 
						||
| 
								 | 
							
								       bfd_arch_z8k,       /* Zilog Z8000 */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_z8001         1
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_z8002         2
							 | 
						||
| 
								 | 
							
								       bfd_arch_h8500,     /* Renesas H8/500 (formerly Hitachi H8/500) */
							 | 
						||
| 
								 | 
							
								       bfd_arch_sh,        /* Renesas / SuperH SH (formerly Hitachi SH) */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sh            1
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sh2        0x20
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sh_dsp     0x2d
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sh2a       0x2a
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sh2a_nofpu 0x2b
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sh2a_nofpu_or_sh4_nommu_nofpu 0x2a1
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sh2a_nofpu_or_sh3_nommu 0x2a2
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sh2a_or_sh4  0x2a3
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sh2a_or_sh3e 0x2a4
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sh2e       0x2e
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sh3        0x30
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sh3_nommu  0x31
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sh3_dsp    0x3d
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sh3e       0x3e
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sh4        0x40
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sh4_nofpu  0x41
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sh4_nommu_nofpu  0x42
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sh4a       0x4a
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sh4a_nofpu 0x4b
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sh4al_dsp  0x4d
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_sh5        0x50
							 | 
						||
| 
								 | 
							
								       bfd_arch_alpha,     /* Dec Alpha */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_alpha_ev4  0x10
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_alpha_ev5  0x20
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_alpha_ev6  0x30
							 | 
						||
| 
								 | 
							
								       bfd_arch_arm,       /* Advanced Risc Machines ARM.  */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_arm_unknown   0
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_arm_2         1
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_arm_2a        2
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_arm_3         3
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_arm_3M        4
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_arm_4         5
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_arm_4T        6
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_arm_5         7
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_arm_5T        8
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_arm_5TE       9
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_arm_XScale    10
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_arm_ep9312    11
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_arm_iWMMXt    12
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_arm_iWMMXt2   13
							 | 
						||
| 
								 | 
							
								       bfd_arch_ns32k,     /* National Semiconductors ns32000 */
							 | 
						||
| 
								 | 
							
								       bfd_arch_w65,       /* WDC 65816 */
							 | 
						||
| 
								 | 
							
								       bfd_arch_tic30,     /* Texas Instruments TMS320C30 */
							 | 
						||
| 
								 | 
							
								       bfd_arch_tic4x,     /* Texas Instruments TMS320C3X/4X */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_tic3x         30
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_tic4x         40
							 | 
						||
| 
								 | 
							
								       bfd_arch_tic54x,    /* Texas Instruments TMS320C54X */
							 | 
						||
| 
								 | 
							
								       bfd_arch_tic80,     /* TI TMS320c80 (MVP) */
							 | 
						||
| 
								 | 
							
								       bfd_arch_v850,      /* NEC V850 */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_v850          1
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_v850e         'E'
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_v850e1        '1'
							 | 
						||
| 
								 | 
							
								       bfd_arch_arc,       /* ARC Cores */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_arc_5         5
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_arc_6         6
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_arc_7         7
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_arc_8         8
							 | 
						||
| 
								 | 
							
								      bfd_arch_m32c,     /* Renesas M16C/M32C.  */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_m16c        0x75
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_m32c        0x78
							 | 
						||
| 
								 | 
							
								       bfd_arch_m32r,      /* Renesas M32R (formerly Mitsubishi M32R/D) */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_m32r          1 /* For backwards compatibility.  */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_m32rx         'x'
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_m32r2         '2'
							 | 
						||
| 
								 | 
							
								       bfd_arch_mn10200,   /* Matsushita MN10200 */
							 | 
						||
| 
								 | 
							
								       bfd_arch_mn10300,   /* Matsushita MN10300 */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mn10300               300
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_am33          330
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_am33_2        332
							 | 
						||
| 
								 | 
							
								       bfd_arch_fr30,
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_fr30          0x46523330
							 | 
						||
| 
								 | 
							
								       bfd_arch_frv,
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_frv           1
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_frvsimple     2
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_fr300         300
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_fr400         400
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_fr450         450
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_frvtomcat     499     /* fr500 prototype */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_fr500         500
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_fr550         550
							 | 
						||
| 
								 | 
							
								       bfd_arch_mcore,
							 | 
						||
| 
								 | 
							
								       bfd_arch_mep,
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mep           1
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mep_h1        0x6831
							 | 
						||
| 
								 | 
							
								       bfd_arch_ia64,      /* HP/Intel ia64 */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_ia64_elf64    64
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_ia64_elf32    32
							 | 
						||
| 
								 | 
							
								       bfd_arch_ip2k,      /* Ubicom IP2K microcontrollers. */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_ip2022        1
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_ip2022ext     2
							 | 
						||
| 
								 | 
							
								      bfd_arch_iq2000,     /* Vitesse IQ2000.  */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_iq2000        1
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_iq10          2
							 | 
						||
| 
								 | 
							
								       bfd_arch_mt,
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_ms1           1
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_mrisc2        2
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_ms2           3
							 | 
						||
| 
								 | 
							
								       bfd_arch_pj,
							 | 
						||
| 
								 | 
							
								       bfd_arch_avr,       /* Atmel AVR microcontrollers.  */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_avr1          1
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_avr2          2
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_avr25         25
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_avr3          3
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_avr31         31
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_avr35         35
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_avr4          4
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_avr5          5
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_avr51         51
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_avr6          6
							 | 
						||
| 
								 | 
							
								       bfd_arch_bfin,        /* ADI Blackfin */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_bfin          1
							 | 
						||
| 
								 | 
							
								       bfd_arch_cr16,       /* National Semiconductor CompactRISC (ie CR16). */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_cr16          1
							 | 
						||
| 
								 | 
							
								       bfd_arch_cr16c,       /* National Semiconductor CompactRISC. */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_cr16c         1
							 | 
						||
| 
								 | 
							
								       bfd_arch_crx,       /*  National Semiconductor CRX.  */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_crx           1
							 | 
						||
| 
								 | 
							
								       bfd_arch_cris,      /* Axis CRIS */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_cris_v0_v10   255
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_cris_v32      32
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_cris_v10_v32  1032
							 | 
						||
| 
								 | 
							
								       bfd_arch_s390,      /* IBM s390 */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_s390_31       31
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_s390_64       64
							 | 
						||
| 
								 | 
							
								       bfd_arch_score,     /* Sunplus score */
							 | 
						||
| 
								 | 
							
								       bfd_arch_openrisc,  /* OpenRISC */
							 | 
						||
| 
								 | 
							
								       bfd_arch_mmix,      /* Donald Knuth's educational processor.  */
							 | 
						||
| 
								 | 
							
								       bfd_arch_xstormy16,
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_xstormy16     1
							 | 
						||
| 
								 | 
							
								       bfd_arch_msp430,    /* Texas Instruments MSP430 architecture.  */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_msp11          11
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_msp110         110
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_msp12          12
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_msp13          13
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_msp14          14
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_msp15          15
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_msp16          16
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_msp21          21
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_msp31          31
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_msp32          32
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_msp33          33
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_msp41          41
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_msp42          42
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_msp43          43
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_msp44          44
							 | 
						||
| 
								 | 
							
								       bfd_arch_xc16x,     /* Infineon's XC16X Series.               */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_xc16x         1
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_xc16xl        2
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_xc16xs         3
							 | 
						||
| 
								 | 
							
								       bfd_arch_xtensa,    /* Tensilica's Xtensa cores.  */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_xtensa        1
							 | 
						||
| 
								 | 
							
								        bfd_arch_maxq,     /* Dallas MAXQ 10/20 */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_maxq10    10
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_maxq20    20
							 | 
						||
| 
								 | 
							
								       bfd_arch_z80,
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_z80strict      1 /* No undocumented opcodes.  */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_z80            3 /* With ixl, ixh, iyl, and iyh.  */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_z80full        7 /* All undocumented instructions.  */
							 | 
						||
| 
								 | 
							
								     #define bfd_mach_r800           11 /* R800: successor with multiplication.  */
							 | 
						||
| 
								 | 
							
								       bfd_arch_last
							 | 
						||
| 
								 | 
							
								       };
							 | 
						||
| 
								 | 
							
								</pre>
							 | 
						||
| 
								 | 
							
								   <h4 class="subsection">2.13.2 bfd_arch_info</h4>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<p><strong>Description</strong><br>
							 | 
						||
| 
								 | 
							
								This structure contains information on architectures for use
							 | 
						||
| 
								 | 
							
								within BFD.
							 | 
						||
| 
								 | 
							
								<pre class="example">     
							 | 
						||
| 
								 | 
							
								     typedef struct bfd_arch_info
							 | 
						||
| 
								 | 
							
								     {
							 | 
						||
| 
								 | 
							
								       int bits_per_word;
							 | 
						||
| 
								 | 
							
								       int bits_per_address;
							 | 
						||
| 
								 | 
							
								       int bits_per_byte;
							 | 
						||
| 
								 | 
							
								       enum bfd_architecture arch;
							 | 
						||
| 
								 | 
							
								       unsigned long mach;
							 | 
						||
| 
								 | 
							
								       const char *arch_name;
							 | 
						||
| 
								 | 
							
								       const char *printable_name;
							 | 
						||
| 
								 | 
							
								       unsigned int section_align_power;
							 | 
						||
| 
								 | 
							
								       /* TRUE if this is the default machine for the architecture.
							 | 
						||
| 
								 | 
							
								          The default arch should be the first entry for an arch so that
							 | 
						||
| 
								 | 
							
								          all the entries for that arch can be accessed via <code>next</code>.  */
							 | 
						||
| 
								 | 
							
								       bfd_boolean the_default;
							 | 
						||
| 
								 | 
							
								       const struct bfd_arch_info * (*compatible)
							 | 
						||
| 
								 | 
							
								         (const struct bfd_arch_info *a, const struct bfd_arch_info *b);
							 | 
						||
| 
								 | 
							
								     
							 | 
						||
| 
								 | 
							
								       bfd_boolean (*scan) (const struct bfd_arch_info *, const char *);
							 | 
						||
| 
								 | 
							
								     
							 | 
						||
| 
								 | 
							
								       const struct bfd_arch_info *next;
							 | 
						||
| 
								 | 
							
								     }
							 | 
						||
| 
								 | 
							
								     bfd_arch_info_type;
							 | 
						||
| 
								 | 
							
								     
							 | 
						||
| 
								 | 
							
								</pre>
							 | 
						||
| 
								 | 
							
								   <p><a name="index-bfd_005fprintable_005fname-1319"></a>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<h5 class="subsubsection">2.13.2.1 <code>bfd_printable_name</code></h5>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<p><strong>Synopsis</strong>
							 | 
						||
| 
								 | 
							
								<pre class="example">     const char *bfd_printable_name (bfd *abfd);
							 | 
						||
| 
								 | 
							
								</pre>
							 | 
						||
| 
								 | 
							
								   <p><strong>Description</strong><br>
							 | 
						||
| 
								 | 
							
								Return a printable string representing the architecture and machine
							 | 
						||
| 
								 | 
							
								from the pointer to the architecture info structure.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   <p><a name="index-bfd_005fscan_005farch-1320"></a>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<h5 class="subsubsection">2.13.2.2 <code>bfd_scan_arch</code></h5>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<p><strong>Synopsis</strong>
							 | 
						||
| 
								 | 
							
								<pre class="example">     const bfd_arch_info_type *bfd_scan_arch (const char *string);
							 | 
						||
| 
								 | 
							
								</pre>
							 | 
						||
| 
								 | 
							
								   <p><strong>Description</strong><br>
							 | 
						||
| 
								 | 
							
								Figure out if BFD supports any cpu which could be described with
							 | 
						||
| 
								 | 
							
								the name <var>string</var>.  Return a pointer to an <code>arch_info</code>
							 | 
						||
| 
								 | 
							
								structure if a machine is found, otherwise NULL.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   <p><a name="index-bfd_005farch_005flist-1321"></a>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<h5 class="subsubsection">2.13.2.3 <code>bfd_arch_list</code></h5>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<p><strong>Synopsis</strong>
							 | 
						||
| 
								 | 
							
								<pre class="example">     const char **bfd_arch_list (void);
							 | 
						||
| 
								 | 
							
								</pre>
							 | 
						||
| 
								 | 
							
								   <p><strong>Description</strong><br>
							 | 
						||
| 
								 | 
							
								Return a freshly malloced NULL-terminated vector of the names
							 | 
						||
| 
								 | 
							
								of all the valid BFD architectures.  Do not modify the names.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   <p><a name="index-bfd_005farch_005fget_005fcompatible-1322"></a>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<h5 class="subsubsection">2.13.2.4 <code>bfd_arch_get_compatible</code></h5>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<p><strong>Synopsis</strong>
							 | 
						||
| 
								 | 
							
								<pre class="example">     const bfd_arch_info_type *bfd_arch_get_compatible
							 | 
						||
| 
								 | 
							
								        (const bfd *abfd, const bfd *bbfd, bfd_boolean accept_unknowns);
							 | 
						||
| 
								 | 
							
								</pre>
							 | 
						||
| 
								 | 
							
								   <p><strong>Description</strong><br>
							 | 
						||
| 
								 | 
							
								Determine whether two BFDs' architectures and machine types
							 | 
						||
| 
								 | 
							
								are compatible.  Calculates the lowest common denominator
							 | 
						||
| 
								 | 
							
								between the two architectures and machine types implied by
							 | 
						||
| 
								 | 
							
								the BFDs and returns a pointer to an <code>arch_info</code> structure
							 | 
						||
| 
								 | 
							
								describing the compatible machine.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   <p><a name="index-bfd_005fdefault_005farch_005fstruct-1323"></a>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<h5 class="subsubsection">2.13.2.5 <code>bfd_default_arch_struct</code></h5>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<p><strong>Description</strong><br>
							 | 
						||
| 
								 | 
							
								The <code>bfd_default_arch_struct</code> is an item of
							 | 
						||
| 
								 | 
							
								<code>bfd_arch_info_type</code> which has been initialized to a fairly
							 | 
						||
| 
								 | 
							
								generic state.  A BFD starts life by pointing to this
							 | 
						||
| 
								 | 
							
								structure, until the correct back end has determined the real
							 | 
						||
| 
								 | 
							
								architecture of the file.
							 | 
						||
| 
								 | 
							
								<pre class="example">     extern const bfd_arch_info_type bfd_default_arch_struct;
							 | 
						||
| 
								 | 
							
								</pre>
							 | 
						||
| 
								 | 
							
								   <p><a name="index-bfd_005fset_005farch_005finfo-1324"></a>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<h5 class="subsubsection">2.13.2.6 <code>bfd_set_arch_info</code></h5>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<p><strong>Synopsis</strong>
							 | 
						||
| 
								 | 
							
								<pre class="example">     void bfd_set_arch_info (bfd *abfd, const bfd_arch_info_type *arg);
							 | 
						||
| 
								 | 
							
								</pre>
							 | 
						||
| 
								 | 
							
								   <p><strong>Description</strong><br>
							 | 
						||
| 
								 | 
							
								Set the architecture info of <var>abfd</var> to <var>arg</var>.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   <p><a name="index-bfd_005fdefault_005fset_005farch_005fmach-1325"></a>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<h5 class="subsubsection">2.13.2.7 <code>bfd_default_set_arch_mach</code></h5>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<p><strong>Synopsis</strong>
							 | 
						||
| 
								 | 
							
								<pre class="example">     bfd_boolean bfd_default_set_arch_mach
							 | 
						||
| 
								 | 
							
								        (bfd *abfd, enum bfd_architecture arch, unsigned long mach);
							 | 
						||
| 
								 | 
							
								</pre>
							 | 
						||
| 
								 | 
							
								   <p><strong>Description</strong><br>
							 | 
						||
| 
								 | 
							
								Set the architecture and machine type in BFD <var>abfd</var>
							 | 
						||
| 
								 | 
							
								to <var>arch</var> and <var>mach</var>.  Find the correct
							 | 
						||
| 
								 | 
							
								pointer to a structure and insert it into the <code>arch_info</code>
							 | 
						||
| 
								 | 
							
								pointer.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   <p><a name="index-bfd_005fget_005farch-1326"></a>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<h5 class="subsubsection">2.13.2.8 <code>bfd_get_arch</code></h5>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<p><strong>Synopsis</strong>
							 | 
						||
| 
								 | 
							
								<pre class="example">     enum bfd_architecture bfd_get_arch (bfd *abfd);
							 | 
						||
| 
								 | 
							
								</pre>
							 | 
						||
| 
								 | 
							
								   <p><strong>Description</strong><br>
							 | 
						||
| 
								 | 
							
								Return the enumerated type which describes the BFD <var>abfd</var>'s
							 | 
						||
| 
								 | 
							
								architecture.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   <p><a name="index-bfd_005fget_005fmach-1327"></a>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<h5 class="subsubsection">2.13.2.9 <code>bfd_get_mach</code></h5>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<p><strong>Synopsis</strong>
							 | 
						||
| 
								 | 
							
								<pre class="example">     unsigned long bfd_get_mach (bfd *abfd);
							 | 
						||
| 
								 | 
							
								</pre>
							 | 
						||
| 
								 | 
							
								   <p><strong>Description</strong><br>
							 | 
						||
| 
								 | 
							
								Return the long type which describes the BFD <var>abfd</var>'s
							 | 
						||
| 
								 | 
							
								machine.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   <p><a name="index-bfd_005farch_005fbits_005fper_005fbyte-1328"></a>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<h5 class="subsubsection">2.13.2.10 <code>bfd_arch_bits_per_byte</code></h5>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<p><strong>Synopsis</strong>
							 | 
						||
| 
								 | 
							
								<pre class="example">     unsigned int bfd_arch_bits_per_byte (bfd *abfd);
							 | 
						||
| 
								 | 
							
								</pre>
							 | 
						||
| 
								 | 
							
								   <p><strong>Description</strong><br>
							 | 
						||
| 
								 | 
							
								Return the number of bits in one of the BFD <var>abfd</var>'s
							 | 
						||
| 
								 | 
							
								architecture's bytes.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   <p><a name="index-bfd_005farch_005fbits_005fper_005faddress-1329"></a>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<h5 class="subsubsection">2.13.2.11 <code>bfd_arch_bits_per_address</code></h5>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<p><strong>Synopsis</strong>
							 | 
						||
| 
								 | 
							
								<pre class="example">     unsigned int bfd_arch_bits_per_address (bfd *abfd);
							 | 
						||
| 
								 | 
							
								</pre>
							 | 
						||
| 
								 | 
							
								   <p><strong>Description</strong><br>
							 | 
						||
| 
								 | 
							
								Return the number of bits in one of the BFD <var>abfd</var>'s
							 | 
						||
| 
								 | 
							
								architecture's addresses.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   <p><a name="index-bfd_005fdefault_005fcompatible-1330"></a>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<h5 class="subsubsection">2.13.2.12 <code>bfd_default_compatible</code></h5>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<p><strong>Synopsis</strong>
							 | 
						||
| 
								 | 
							
								<pre class="example">     const bfd_arch_info_type *bfd_default_compatible
							 | 
						||
| 
								 | 
							
								        (const bfd_arch_info_type *a, const bfd_arch_info_type *b);
							 | 
						||
| 
								 | 
							
								</pre>
							 | 
						||
| 
								 | 
							
								   <p><strong>Description</strong><br>
							 | 
						||
| 
								 | 
							
								The default function for testing for compatibility.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   <p><a name="index-bfd_005fdefault_005fscan-1331"></a>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<h5 class="subsubsection">2.13.2.13 <code>bfd_default_scan</code></h5>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<p><strong>Synopsis</strong>
							 | 
						||
| 
								 | 
							
								<pre class="example">     bfd_boolean bfd_default_scan
							 | 
						||
| 
								 | 
							
								        (const struct bfd_arch_info *info, const char *string);
							 | 
						||
| 
								 | 
							
								</pre>
							 | 
						||
| 
								 | 
							
								   <p><strong>Description</strong><br>
							 | 
						||
| 
								 | 
							
								The default function for working out whether this is an
							 | 
						||
| 
								 | 
							
								architecture hit and a machine hit.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   <p><a name="index-bfd_005fget_005farch_005finfo-1332"></a>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<h5 class="subsubsection">2.13.2.14 <code>bfd_get_arch_info</code></h5>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<p><strong>Synopsis</strong>
							 | 
						||
| 
								 | 
							
								<pre class="example">     const bfd_arch_info_type *bfd_get_arch_info (bfd *abfd);
							 | 
						||
| 
								 | 
							
								</pre>
							 | 
						||
| 
								 | 
							
								   <p><strong>Description</strong><br>
							 | 
						||
| 
								 | 
							
								Return the architecture info struct in <var>abfd</var>.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   <p><a name="index-bfd_005flookup_005farch-1333"></a>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<h5 class="subsubsection">2.13.2.15 <code>bfd_lookup_arch</code></h5>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<p><strong>Synopsis</strong>
							 | 
						||
| 
								 | 
							
								<pre class="example">     const bfd_arch_info_type *bfd_lookup_arch
							 | 
						||
| 
								 | 
							
								        (enum bfd_architecture arch, unsigned long machine);
							 | 
						||
| 
								 | 
							
								</pre>
							 | 
						||
| 
								 | 
							
								   <p><strong>Description</strong><br>
							 | 
						||
| 
								 | 
							
								Look for the architecture info structure which matches the
							 | 
						||
| 
								 | 
							
								arguments <var>arch</var> and <var>machine</var>. A machine of 0 matches the
							 | 
						||
| 
								 | 
							
								machine/architecture structure which marks itself as the
							 | 
						||
| 
								 | 
							
								default.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   <p><a name="index-bfd_005fprintable_005farch_005fmach-1334"></a>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<h5 class="subsubsection">2.13.2.16 <code>bfd_printable_arch_mach</code></h5>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<p><strong>Synopsis</strong>
							 | 
						||
| 
								 | 
							
								<pre class="example">     const char *bfd_printable_arch_mach
							 | 
						||
| 
								 | 
							
								        (enum bfd_architecture arch, unsigned long machine);
							 | 
						||
| 
								 | 
							
								</pre>
							 | 
						||
| 
								 | 
							
								   <p><strong>Description</strong><br>
							 | 
						||
| 
								 | 
							
								Return a printable string representing the architecture and
							 | 
						||
| 
								 | 
							
								machine type.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   <p>This routine is depreciated.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   <p><a name="index-bfd_005foctets_005fper_005fbyte-1335"></a>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<h5 class="subsubsection">2.13.2.17 <code>bfd_octets_per_byte</code></h5>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<p><strong>Synopsis</strong>
							 | 
						||
| 
								 | 
							
								<pre class="example">     unsigned int bfd_octets_per_byte (bfd *abfd);
							 | 
						||
| 
								 | 
							
								</pre>
							 | 
						||
| 
								 | 
							
								   <p><strong>Description</strong><br>
							 | 
						||
| 
								 | 
							
								Return the number of octets (8-bit quantities) per target byte
							 | 
						||
| 
								 | 
							
								(minimum addressable unit).  In most cases, this will be one, but some
							 | 
						||
| 
								 | 
							
								DSP targets have 16, 32, or even 48 bits per byte.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   <p><a name="index-bfd_005farch_005fmach_005foctets_005fper_005fbyte-1336"></a>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<h5 class="subsubsection">2.13.2.18 <code>bfd_arch_mach_octets_per_byte</code></h5>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<p><strong>Synopsis</strong>
							 | 
						||
| 
								 | 
							
								<pre class="example">     unsigned int bfd_arch_mach_octets_per_byte
							 | 
						||
| 
								 | 
							
								        (enum bfd_architecture arch, unsigned long machine);
							 | 
						||
| 
								 | 
							
								</pre>
							 | 
						||
| 
								 | 
							
								   <p><strong>Description</strong><br>
							 | 
						||
| 
								 | 
							
								See bfd_octets_per_byte.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   <p>This routine is provided for those cases where a bfd * is not
							 | 
						||
| 
								 | 
							
								available
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   </body></html>
							 | 
						||
| 
								 | 
							
								
							 |