This is bfd.info, produced by makeinfo version 4.8 from
-/home/dougkwan/android-tool-src/toolchain/android-toolchain/gdb-6.6/bfd/doc/bfd.texinfo.
+/home/dougkwan/android-tool-src/toolchain/android-toolchain/binutils-2.19/bfd/doc/bfd.texinfo.
START-INFO-DIR-ENTRY
* Bfd: (bfd). The Binary File Descriptor library.
This file documents the BFD library.
- Copyright (C) 1991, 2000, 2001, 2003, 2006 Free Software Foundation,
-Inc.
+ 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 no Invariant Sections, with no Front-Cover Texts, and with no
- Back-Cover Texts. A copy of the license is included in the
-section entitled "GNU Free Documentation License".
+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.
\1f
File: bfd.info, Node: Top, Next: Overview, Prev: (dir), Up: (dir)
void *iostream;
const struct bfd_iovec *iovec;
- /* Is the file descriptor being cached? That is, can it be closed as
- needed, and re-opened when accessed later? */
- bfd_boolean cacheable;
-
- /* Marks whether there was a default target specified when the
- BFD was opened. This is used to select which matching algorithm
- to use to choose the back end. */
- bfd_boolean target_defaulted;
-
/* The caching routines use these to maintain a
least-recently-used list of BFDs. */
struct bfd *lru_prev, *lru_next;
state information on the file here... */
ufile_ptr where;
- /* ... and here: (``once'' means at least once). */
- bfd_boolean opened_once;
-
- /* Set if we have a locally maintained mtime value, rather than
- getting it from the file each time. */
- bfd_boolean mtime_set;
-
/* File modified time, if mtime_set is TRUE. */
long mtime;
/* Format_specific flags. */
flagword flags;
+ /* Values that may appear in the flags field of a BFD. These also
+ appear in the object_flags field of the bfd_target structure, where
+ they indicate the set of flags used by that backend (not all flags
+ are meaningful for all object file formats) (FIXME: at the moment,
+ the object_flags values have mostly just been copied from backend
+ to another, and are not necessarily correct). */
+
+ #define BFD_NO_FLAGS 0x00
+
+ /* BFD contains relocation entries. */
+ #define HAS_RELOC 0x01
+
+ /* BFD is directly executable. */
+ #define EXEC_P 0x02
+
+ /* BFD has line number information (basically used for F_LNNO in a
+ COFF header). */
+ #define HAS_LINENO 0x04
+
+ /* BFD has debugging information. */
+ #define HAS_DEBUG 0x08
+
+ /* BFD has symbols. */
+ #define HAS_SYMS 0x10
+
+ /* BFD has local symbols (basically used for F_LSYMS in a COFF
+ header). */
+ #define HAS_LOCALS 0x20
+
+ /* BFD is a dynamic object. */
+ #define DYNAMIC 0x40
+
+ /* Text section is write protected (if D_PAGED is not set, this is
+ like an a.out NMAGIC file) (the linker sets this by default, but
+ clears it for -r or -N). */
+ #define WP_TEXT 0x80
+
+ /* BFD is dynamically paged (this is like an a.out ZMAGIC file) (the
+ linker sets this by default, but clears it for -r or -n or -N). */
+ #define D_PAGED 0x100
+
+ /* BFD is relaxable (this means that bfd_relax_section may be able to
+ do something) (sometimes bfd_relax_section can do something even if
+ this is not set). */
+ #define BFD_IS_RELAXABLE 0x200
+
+ /* This may be set before writing out a BFD to request using a
+ traditional format. For example, this is used to request that when
+ writing out an a.out object the symbols not be hashed to eliminate
+ duplicates. */
+ #define BFD_TRADITIONAL_FORMAT 0x400
+
+ /* This flag indicates that the BFD contents are actually cached
+ in memory. If this is set, iostream points to a bfd_in_memory
+ struct. */
+ #define BFD_IN_MEMORY 0x800
+
+ /* The sections in this BFD specify a memory page. */
+ #define HAS_LOAD_PAGE 0x1000
+
+ /* This BFD has been created by the linker and doesn't correspond
+ to any input file. */
+ #define BFD_LINKER_CREATED 0x2000
+
/* Currently my_archive is tested before adding origin to
anything. I believe that this can become always an add of
origin, with origin set to 0 for non archive files. */
ufile_ptr origin;
- /* Remember when output has begun, to stop strange things
- from happening. */
- bfd_boolean output_has_begun;
+ /* The origin in the archive of the proxy entry. This will
+ normally be the same as origin, except for thin archives,
+ when it will contain the current offset of the proxy in the
+ thin archive rather than the offset of the bfd in its actual
+ container. */
+ ufile_ptr proxy_origin;
/* A hash table for section names. */
struct bfd_hash_table section_htab;
/* Used for input and output. */
unsigned int symcount;
- /* Symbol table for output BFD (with symcount entries). */
+ /* Symbol table for output BFD (with symcount entries).
+ Also used by the linker to cache input BFD symbols. */
struct bfd_symbol **outsymbols;
/* Used for slurped dynamic symbol tables. */
/* Pointer to structure which contains architecture information. */
const struct bfd_arch_info *arch_info;
- /* Flag set if symbols from this BFD should not be exported. */
- bfd_boolean no_export;
-
/* Stuff only useful for archives. */
void *arelt_data;
struct bfd *my_archive; /* The containing archive BFD. */
- struct bfd *next; /* The next BFD in the archive. */
+ struct bfd *archive_next; /* The next BFD in the archive. */
struct bfd *archive_head; /* The first BFD in the archive. */
- bfd_boolean has_armap;
+ struct bfd *nested_archives; /* List of nested archive in a flattened
+ thin archive. */
/* A chain of BFD structures involved in a link. */
struct bfd *link_next;
struct objalloc *, but we use void * to avoid requiring the inclusion
of objalloc.h. */
void *memory;
+
+ /* Is the file descriptor being cached? That is, can it be closed as
+ needed, and re-opened when accessed later? */
+ unsigned int cacheable : 1;
+
+ /* Marks whether there was a default target specified when the
+ BFD was opened. This is used to select which matching algorithm
+ to use to choose the back end. */
+ unsigned int target_defaulted : 1;
+
+ /* ... and here: (``once'' means at least once). */
+ unsigned int opened_once : 1;
+
+ /* Set if we have a locally maintained mtime value, rather than
+ getting it from the file each time. */
+ unsigned int mtime_set : 1;
+
+ /* Flag set if symbols from this BFD should not be exported. */
+ unsigned int no_export : 1;
+
+ /* Remember when output has begun, to stop strange things
+ from happening. */
+ unsigned int output_has_begun : 1;
+
+ /* Have archive map. */
+ unsigned int has_armap : 1;
+
+ /* Set if this is a thin archive. */
+ unsigned int is_thin_archive : 1;
};
2.2 Error reporting
For ELF, set the common page size for the emulation. It is a no-op for
other formats.
-2.3.1.24 `struct bfd_iovec'
+2.3.1.24 `bfd_demangle'
+.......................
+
+*Synopsis*
+ char *bfd_demangle (bfd *, const char *, int);
+ *Description*
+Wrapper around cplus_demangle. Strips leading underscores and other
+such chars that would otherwise confuse the demangler. If passed a g++
+v3 ABI mangled name, returns a buffer allocated with malloc holding the
+demangled name. Returns NULL otherwise and on memory alloc failure.
+
+2.3.1.25 `struct bfd_iovec'
...........................
*Description*
int (*bstat) (struct bfd *abfd, struct stat *sb);
};
-2.3.1.25 `bfd_get_mtime'
+2.3.1.26 `bfd_get_mtime'
........................
*Synopsis*
Return the file modification time (as read from the file system, or
from the archive header for archive members).
-2.3.1.26 `bfd_get_size'
+2.3.1.27 `bfd_get_size'
.......................
*Synopsis*
- long bfd_get_size (bfd *abfd);
+ file_ptr bfd_get_size (bfd *abfd);
*Description*
Return the file size (as read from file system) for the file associated
with BFD ABFD.
/* If SEC_LINK_ONCE is set, this bitfield describes how the linker
should handle duplicate sections. */
- #define SEC_LINK_DUPLICATES 0x40000
+ #define SEC_LINK_DUPLICATES 0xc0000
/* This value for SEC_LINK_DUPLICATES means that duplicate
sections with the same name should simply be discarded. */
/* This value for SEC_LINK_DUPLICATES means that the linker
should warn if there are any duplicate sections, although
it should still only link one copy. */
- #define SEC_LINK_DUPLICATES_ONE_ONLY 0x80000
+ #define SEC_LINK_DUPLICATES_ONE_ONLY 0x40000
/* This value for SEC_LINK_DUPLICATES means that the linker
should warn if any duplicate sections are a different size. */
- #define SEC_LINK_DUPLICATES_SAME_SIZE 0x100000
+ #define SEC_LINK_DUPLICATES_SAME_SIZE 0x80000
/* This value for SEC_LINK_DUPLICATES means that the linker
should warn if any duplicate sections contain different
relocation or other arcane processing. It is skipped when
going through the first-pass output, trusting that someone
else up the line will take care of it later. */
- #define SEC_LINKER_CREATED 0x200000
+ #define SEC_LINKER_CREATED 0x100000
/* This section should not be subject to garbage collection.
Also set to inform the linker that this section should not be
listed in the link map as discarded. */
- #define SEC_KEEP 0x400000
+ #define SEC_KEEP 0x200000
/* This section contains "short" data, and should be placed
"near" the GP. */
- #define SEC_SMALL_DATA 0x800000
+ #define SEC_SMALL_DATA 0x400000
/* Attempt to merge identical entities in the section.
Entity size is given in the entsize field. */
- #define SEC_MERGE 0x1000000
+ #define SEC_MERGE 0x800000
/* If given with SEC_MERGE, entities to merge are zero terminated
strings where entsize specifies character size instead of fixed
size entries. */
- #define SEC_STRINGS 0x2000000
+ #define SEC_STRINGS 0x1000000
/* This section contains data about section groups. */
- #define SEC_GROUP 0x4000000
+ #define SEC_GROUP 0x2000000
/* The section is a COFF shared library section. This flag is
only for the linker. If this type of section appears in
might be cleaner to have some more general mechanism to
allow the back end to control what the linker does with
sections. */
- #define SEC_COFF_SHARED_LIBRARY 0x10000000
+ #define SEC_COFF_SHARED_LIBRARY 0x4000000
/* This section contains data which may be shared with other
executables or shared objects. This is for COFF only. */
- #define SEC_COFF_SHARED 0x20000000
+ #define SEC_COFF_SHARED 0x8000000
/* When a section with this flag is being linked, then if the size of
the input section is less than a page, it should not cross a page
boundary. If the size of the input section is one page or more,
it should be aligned on a page boundary. This is for TI
TMS320C54X only. */
- #define SEC_TIC54X_BLOCK 0x40000000
+ #define SEC_TIC54X_BLOCK 0x10000000
/* Conditionally link this section; do not link if there are no
references found to any symbol in the section. This is for TI
TMS320C54X only. */
- #define SEC_TIC54X_CLINK 0x80000000
+ #define SEC_TIC54X_CLINK 0x20000000
/* End of section flags. */
output sections that have an input section. */
unsigned int linker_has_input : 1;
- /* Mark flags used by some linker backends for garbage collection. */
+ /* Mark flag used by some linker backends for garbage collection. */
unsigned int gc_mark : 1;
- unsigned int gc_mark_from_eh : 1;
/* The following flags are used by the ELF linker. */
bfd_size_type size;
/* For input sections, the original size on disk of the section, in
- octets. This field is used by the linker relaxation code. It is
- currently only set for sections where the linker relaxation scheme
- doesn't cache altered section and reloc contents (stabs, eh_frame,
- SEC_MERGE, some coff relaxing targets), and thus the original size
- needs to be kept to read the section multiple times.
- For output sections, rawsize holds the section size calculated on
- a previous linker relaxation pass. */
+ octets. This field should be set for any section whose size is
+ changed by linker relaxation. It is required for sections where
+ the linker relaxation scheme doesn't cache altered section and
+ reloc contents (stabs, eh_frame, SEC_MERGE, some coff relaxing
+ targets), and thus the original size needs to be kept to read the
+ section multiple times. For output sections, rawsize holds the
+ section size calculated on a previous linker relaxation pass. */
bfd_size_type rawsize;
/* If this section is going to be output, then this value is the
/* name, id, index, next, prev, flags, user_set_vma, */ \
{ NAME, IDX, 0, NULL, NULL, FLAGS, 0, \
\
- /* linker_mark, linker_has_input, gc_mark, gc_mark_from_eh, */ \
- 0, 0, 1, 0, \
+ /* linker_mark, linker_has_input, gc_mark, */ \
+ 0, 0, 1, \
\
/* segment_mark, sec_info_type, use_rela_p, has_tls_reloc, */ \
0, 0, 0, 0, \
/* This symbol is thread local. Used in ELF. */
#define BSF_THREAD_LOCAL 0x40000
+ /* This symbol represents a complex relocation expression,
+ with the expression tree serialized in the symbol name. */
+ #define BSF_RELC 0x80000
+
+ /* This symbol represents a signed complex relocation expression,
+ with the expression tree serialized in the symbol name. */
+ #define BSF_SRELC 0x100000
+
+ /* This symbol was created by bfd_get_synthetic_symtab. */
+ #define BSF_SYNTHETIC 0x200000
+
flagword flags;
/* A pointer to the section to which this symbol is
-- : BFD_RELOC_SPARC_UA16
-- : BFD_RELOC_SPARC_UA32
-- : BFD_RELOC_SPARC_UA64
+ -- : BFD_RELOC_SPARC_GOTDATA_HIX22
+ -- : BFD_RELOC_SPARC_GOTDATA_LOX10
+ -- : BFD_RELOC_SPARC_GOTDATA_OP_HIX22
+ -- : BFD_RELOC_SPARC_GOTDATA_OP_LOX10
+ -- : BFD_RELOC_SPARC_GOTDATA_OP
SPARC ELF relocations. There is probably some overlap with other
relocation types already defined.
-- : BFD_RELOC_SPU_PCREL16
-- : BFD_RELOC_SPU_LO16
-- : BFD_RELOC_SPU_HI16
+ -- : BFD_RELOC_SPU_PPU32
+ -- : BFD_RELOC_SPU_PPU64
SPU Relocations.
-- : BFD_RELOC_ALPHA_GPDISP_HI16
-- : BFD_RELOC_LO16_PCREL
Low 16 bits of pc-relative value
+ -- : BFD_RELOC_MIPS16_GOT16
+ -- : BFD_RELOC_MIPS16_CALL16
+ Equivalent of BFD_RELOC_MIPS_*, but with the MIPS16 layout of
+ 16-bit immediate fields
+
-- : BFD_RELOC_MIPS16_HI16
MIPS16 high 16 bits of 32-bit value.
-- : BFD_RELOC_MIPS_COPY
-- : BFD_RELOC_MIPS_JUMP_SLOT
- MIPS ELF relocations (VxWorks extensions).
+ MIPS ELF relocations (VxWorks and PLT extensions).
-- : BFD_RELOC_FRV_LABEL16
-- : BFD_RELOC_FRV_LABEL24
-- : BFD_RELOC_MN10300_RELATIVE
Adjust by program base.
+ -- : BFD_RELOC_MN10300_SYM_DIFF
+ Together with another reloc targeted at the same location, allows
+ for a value that is the difference of two symbols in the same
+ section.
+
+ -- : BFD_RELOC_MN10300_ALIGN
+ The addend of this reloc is an alignment power that must be
+ honoured at the offset's location, regardless of linker relaxation.
+
-- : BFD_RELOC_386_GOT32
-- : BFD_RELOC_386_PLT32
-- : BFD_RELOC_386_COPY
-- : BFD_RELOC_ARM_LDC_SB_G2
ARM group relocations.
+ -- : BFD_RELOC_ARM_V4BX
+ Annotation of BX instructions.
+
-- : BFD_RELOC_ARM_IMMEDIATE
-- : BFD_RELOC_ARM_ADRL_IMMEDIATE
-- : BFD_RELOC_ARM_T32_IMMEDIATE
-- : BFD_RELOC_MCORE_RVA
Motorola Mcore relocations.
+ -- : BFD_RELOC_MEP_8
+ -- : BFD_RELOC_MEP_16
+ -- : BFD_RELOC_MEP_32
+ -- : BFD_RELOC_MEP_PCREL8A2
+ -- : BFD_RELOC_MEP_PCREL12A2
+ -- : BFD_RELOC_MEP_PCREL17A2
+ -- : BFD_RELOC_MEP_PCREL24A2
+ -- : BFD_RELOC_MEP_PCABS24A2
+ -- : BFD_RELOC_MEP_LOW16
+ -- : BFD_RELOC_MEP_HI16U
+ -- : BFD_RELOC_MEP_HI16S
+ -- : BFD_RELOC_MEP_GPREL
+ -- : BFD_RELOC_MEP_TPREL
+ -- : BFD_RELOC_MEP_TPREL7
+ -- : BFD_RELOC_MEP_TPREL7A2
+ -- : BFD_RELOC_MEP_TPREL7A4
+ -- : BFD_RELOC_MEP_UIMM24
+ -- : BFD_RELOC_MEP_ADDR24A4
+ -- : BFD_RELOC_MEP_GNU_VTINHERIT
+ -- : BFD_RELOC_MEP_GNU_VTENTRY
+ Toshiba Media Processor Relocations.
+
-- : BFD_RELOC_MMIX_GETA
-- : BFD_RELOC_MMIX_GETA_1
-- : BFD_RELOC_MMIX_GETA_2
-- : BFD_RELOC_16C_IMM32_C
NS CR16C Relocations.
+ -- : BFD_RELOC_CR16_NUM8
+ -- : BFD_RELOC_CR16_NUM16
+ -- : BFD_RELOC_CR16_NUM32
+ -- : BFD_RELOC_CR16_NUM32a
+ -- : BFD_RELOC_CR16_REGREL0
+ -- : BFD_RELOC_CR16_REGREL4
+ -- : BFD_RELOC_CR16_REGREL4a
+ -- : BFD_RELOC_CR16_REGREL14
+ -- : BFD_RELOC_CR16_REGREL14a
+ -- : BFD_RELOC_CR16_REGREL16
+ -- : BFD_RELOC_CR16_REGREL20
+ -- : BFD_RELOC_CR16_REGREL20a
+ -- : BFD_RELOC_CR16_ABS20
+ -- : BFD_RELOC_CR16_ABS24
+ -- : BFD_RELOC_CR16_IMM4
+ -- : BFD_RELOC_CR16_IMM8
+ -- : BFD_RELOC_CR16_IMM16
+ -- : BFD_RELOC_CR16_IMM20
+ -- : BFD_RELOC_CR16_IMM24
+ -- : BFD_RELOC_CR16_IMM32
+ -- : BFD_RELOC_CR16_IMM32a
+ -- : BFD_RELOC_CR16_DISP4
+ -- : BFD_RELOC_CR16_DISP8
+ -- : BFD_RELOC_CR16_DISP16
+ -- : BFD_RELOC_CR16_DISP20
+ -- : BFD_RELOC_CR16_DISP24
+ -- : BFD_RELOC_CR16_DISP24a
+ -- : BFD_RELOC_CR16_SWITCH8
+ -- : BFD_RELOC_CR16_SWITCH16
+ -- : BFD_RELOC_CR16_SWITCH32
+ NS CR16 Relocations.
+
-- : BFD_RELOC_CRX_REL4
-- : BFD_RELOC_CRX_REL8
-- : BFD_RELOC_CRX_REL8_CMP
-- : BFD_RELOC_XSTORMY16_FPTR16
Sony Xstormy16 Relocations.
+ -- : BFD_RELOC_RELC
+ Self-describing complex relocations.
+
-- : BFD_RELOC_XC16X_PAG
-- : BFD_RELOC_XC16X_POF
-- : BFD_RELOC_XC16X_SEG
assembler-expanded instructions. This is commonly used internally
by the linker after analysis of a BFD_RELOC_XTENSA_ASM_EXPAND.
+ -- : BFD_RELOC_XTENSA_TLSDESC_FN
+ -- : BFD_RELOC_XTENSA_TLSDESC_ARG
+ -- : BFD_RELOC_XTENSA_TLS_DTPOFF
+ -- : BFD_RELOC_XTENSA_TLS_TPOFF
+ -- : BFD_RELOC_XTENSA_TLS_FUNC
+ -- : BFD_RELOC_XTENSA_TLS_ARG
+ -- : BFD_RELOC_XTENSA_TLS_CALL
+ Xtensa TLS relocations.
+
-- : BFD_RELOC_Z80_DISP8
8 bit signed offset in (ix+d) or (iy+d).
*Synopsis*
reloc_howto_type *bfd_reloc_type_lookup
(bfd *abfd, bfd_reloc_code_real_type code);
+ reloc_howto_type *bfd_reloc_name_lookup
+ (bfd *abfd, const char *reloc_name);
*Description*
Return a pointer to a howto structure which, when invoked, will perform
the relocation CODE on data from the architecture noted.
#define BFD_JUMP_TABLE_RELOCS(NAME) \
NAME##_get_reloc_upper_bound, \
NAME##_canonicalize_reloc, \
- NAME##_bfd_reloc_type_lookup
+ NAME##_bfd_reloc_type_lookup, \
+ NAME##_bfd_reloc_name_lookup
long (*_get_reloc_upper_bound) (bfd *, sec_ptr);
long (*_bfd_canonicalize_reloc)
/* See documentation on reloc types. */
reloc_howto_type *
(*reloc_type_lookup) (bfd *, bfd_reloc_code_real_type);
+ reloc_howto_type *
+ (*reloc_name_lookup) (bfd *, const char *);
+
/* Routines used when writing an object file. */
#define BFD_JUMP_TABLE_WRITE(NAME) \
#define bfd_mach_m68040 6
#define bfd_mach_m68060 7
#define bfd_mach_cpu32 8
- #define bfd_mach_mcf_isa_a_nodiv 9
- #define bfd_mach_mcf_isa_a 10
- #define bfd_mach_mcf_isa_a_mac 11
- #define bfd_mach_mcf_isa_a_emac 12
- #define bfd_mach_mcf_isa_aplus 13
- #define bfd_mach_mcf_isa_aplus_mac 14
- #define bfd_mach_mcf_isa_aplus_emac 15
- #define bfd_mach_mcf_isa_b_nousp 16
- #define bfd_mach_mcf_isa_b_nousp_mac 17
- #define bfd_mach_mcf_isa_b_nousp_emac 18
- #define bfd_mach_mcf_isa_b 19
- #define bfd_mach_mcf_isa_b_mac 20
- #define bfd_mach_mcf_isa_b_emac 21
- #define bfd_mach_mcf_isa_b_float 22
- #define bfd_mach_mcf_isa_b_float_mac 23
- #define bfd_mach_mcf_isa_b_float_emac 24
+ #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.
#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_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_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_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. */
file_ptr nbytes,
file_ptr offset),
int (*close) (struct bfd *nbfd,
- void *stream));
+ void *stream),
+ int (*stat) (struct bfd *abfd,
+ void *stream,
+ struct stat *sb));
*Description*
Create and return a BFD backed by a read-only STREAM. The STREAM is
created using OPEN, accessed using PREAD and destroyed using CLOSE.
either succeeds returning 0, or fails returning -1 (setting
`bfd_error').
+ Calls STAT to fill in a stat structure for bfd_stat, bfd_get_size,
+and bfd_get_mtime calls. STAT returns 0 on success, or returns -1 on
+failure (setting `bfd_error').
+
If `bfd_openr_iovec' returns `NULL' then an error has occurred.
Possible errors are `bfd_error_no_memory', `bfd_error_invalid_target'
and `bfd_error_system_call'.
Sometimes the `_bfd_link_add_symbols' function must store some
information in the hash table entry to be used by the `_bfd_final_link'
-function. In such a case the `creator' field of the hash table must be
-checked to make sure that the hash table was created by an object file
-of the same format.
+function. In such a case the output bfd xvec must be checked to make
+sure that the hash table was created by an object file of the same
+format.
The `_bfd_final_link' routine must be prepared to handle a hash
entry without any extra information added by the
the hash table entry initialization function.
See `ecoff_link_add_externals' for an example of how to check the
-`creator' field before saving information (in this case, the ECOFF
-external symbol debugging information) in a hash table entry.
+output bfd before saving information (in this case, the ECOFF external
+symbol debugging information) in a hash table entry.
\1f
File: bfd.info, Node: Adding symbols from an object file, Next: Adding symbols from an archive, Prev: Differing file formats, Up: Adding Symbols to the Hash Table
bfd_boolean (*_bfd_coff_final_link_postscript)
(bfd *, struct coff_final_link_info *);
+ bfd_boolean (*_bfd_coff_print_pdata)
+ (bfd *, void *);
+
} bfd_coff_backend_data;
#define coff_backend_info(abfd) \
#define bfd_coff_final_link_postscript(a,p) \
((coff_backend_info (a)->_bfd_coff_final_link_postscript) (a, p))
+ #define bfd_coff_have_print_pdata(a) \
+ (coff_backend_info (a)->_bfd_coff_print_pdata)
+ #define bfd_coff_print_pdata(a,p) \
+ ((coff_backend_info (a)->_bfd_coff_print_pdata) (a, p))
+
3.3.2.7 Writing relocations
...........................
* BFD: Overview. (line 6)
* BFD canonical format: Canonical format. (line 11)
* bfd_alloc: Opening and Closing.
- (line 203)
+ (line 210)
* bfd_alloc2: Opening and Closing.
- (line 212)
-* bfd_alt_mach_code: BFD front end. (line 602)
-* bfd_arch_bits_per_address: Architectures. (line 481)
-* bfd_arch_bits_per_byte: Architectures. (line 473)
-* bfd_arch_get_compatible: Architectures. (line 416)
-* bfd_arch_list: Architectures. (line 407)
-* bfd_arch_mach_octets_per_byte: Architectures. (line 550)
-* BFD_ARELOC_BFIN_ADD: howto manager. (line 942)
-* BFD_ARELOC_BFIN_ADDR: howto manager. (line 993)
-* BFD_ARELOC_BFIN_AND: howto manager. (line 963)
-* BFD_ARELOC_BFIN_COMP: howto manager. (line 984)
-* BFD_ARELOC_BFIN_CONST: howto manager. (line 939)
-* BFD_ARELOC_BFIN_DIV: howto manager. (line 951)
-* BFD_ARELOC_BFIN_HWPAGE: howto manager. (line 990)
-* BFD_ARELOC_BFIN_LAND: howto manager. (line 972)
-* BFD_ARELOC_BFIN_LEN: howto manager. (line 978)
-* BFD_ARELOC_BFIN_LOR: howto manager. (line 975)
-* BFD_ARELOC_BFIN_LSHIFT: howto manager. (line 957)
-* BFD_ARELOC_BFIN_MOD: howto manager. (line 954)
-* BFD_ARELOC_BFIN_MULT: howto manager. (line 948)
-* BFD_ARELOC_BFIN_NEG: howto manager. (line 981)
-* BFD_ARELOC_BFIN_OR: howto manager. (line 966)
-* BFD_ARELOC_BFIN_PAGE: howto manager. (line 987)
-* BFD_ARELOC_BFIN_PUSH: howto manager. (line 936)
-* BFD_ARELOC_BFIN_RSHIFT: howto manager. (line 960)
-* BFD_ARELOC_BFIN_SUB: howto manager. (line 945)
-* BFD_ARELOC_BFIN_XOR: howto manager. (line 969)
+ (line 219)
+* bfd_alt_mach_code: BFD front end. (line 681)
+* bfd_arch_bits_per_address: Architectures. (line 501)
+* bfd_arch_bits_per_byte: Architectures. (line 493)
+* bfd_arch_get_compatible: Architectures. (line 436)
+* bfd_arch_list: Architectures. (line 427)
+* bfd_arch_mach_octets_per_byte: Architectures. (line 570)
+* BFD_ARELOC_BFIN_ADD: howto manager. (line 966)
+* BFD_ARELOC_BFIN_ADDR: howto manager. (line 1017)
+* BFD_ARELOC_BFIN_AND: howto manager. (line 987)
+* BFD_ARELOC_BFIN_COMP: howto manager. (line 1008)
+* BFD_ARELOC_BFIN_CONST: howto manager. (line 963)
+* BFD_ARELOC_BFIN_DIV: howto manager. (line 975)
+* BFD_ARELOC_BFIN_HWPAGE: howto manager. (line 1014)
+* BFD_ARELOC_BFIN_LAND: howto manager. (line 996)
+* BFD_ARELOC_BFIN_LEN: howto manager. (line 1002)
+* BFD_ARELOC_BFIN_LOR: howto manager. (line 999)
+* BFD_ARELOC_BFIN_LSHIFT: howto manager. (line 981)
+* BFD_ARELOC_BFIN_MOD: howto manager. (line 978)
+* BFD_ARELOC_BFIN_MULT: howto manager. (line 972)
+* BFD_ARELOC_BFIN_NEG: howto manager. (line 1005)
+* BFD_ARELOC_BFIN_OR: howto manager. (line 990)
+* BFD_ARELOC_BFIN_PAGE: howto manager. (line 1011)
+* BFD_ARELOC_BFIN_PUSH: howto manager. (line 960)
+* BFD_ARELOC_BFIN_RSHIFT: howto manager. (line 984)
+* BFD_ARELOC_BFIN_SUB: howto manager. (line 969)
+* BFD_ARELOC_BFIN_XOR: howto manager. (line 993)
* bfd_cache_close: File Caching. (line 26)
* bfd_cache_close_all: File Caching. (line 39)
* bfd_cache_init: File Caching. (line 18)
* bfd_calc_gnu_debuglink_crc32: Opening and Closing.
- (line 239)
-* bfd_canonicalize_reloc: BFD front end. (line 321)
+ (line 246)
+* bfd_canonicalize_reloc: BFD front end. (line 400)
* bfd_canonicalize_symtab: symbol handling functions.
(line 50)
* bfd_check_format: Formats. (line 21)
* bfd_check_format_matches: Formats. (line 52)
* bfd_check_overflow: typedef arelent. (line 351)
* bfd_close: Opening and Closing.
- (line 128)
+ (line 135)
* bfd_close_all_done: Opening and Closing.
- (line 146)
+ (line 153)
* bfd_coff_backend_data: coff. (line 246)
-* bfd_copy_private_bfd_data: BFD front end. (line 460)
-* bfd_copy_private_header_data: BFD front end. (line 442)
+* bfd_copy_private_bfd_data: BFD front end. (line 539)
+* bfd_copy_private_header_data: BFD front end. (line 521)
* bfd_copy_private_section_data: section prototypes. (line 255)
* bfd_copy_private_symbol_data: symbol handling functions.
(line 140)
* bfd_core_file_failing_command: Core Files. (line 12)
* bfd_core_file_failing_signal: Core Files. (line 21)
* bfd_create: Opening and Closing.
- (line 165)
+ (line 172)
* bfd_create_gnu_debuglink_section: Opening and Closing.
- (line 305)
+ (line 312)
* bfd_decode_symclass: symbol handling functions.
(line 111)
-* bfd_default_arch_struct: Architectures. (line 428)
-* bfd_default_compatible: Architectures. (line 490)
-* bfd_default_reloc_type_lookup: howto manager. (line 2023)
-* bfd_default_scan: Architectures. (line 499)
-* bfd_default_set_arch_mach: Architectures. (line 446)
+* bfd_default_arch_struct: Architectures. (line 448)
+* bfd_default_compatible: Architectures. (line 510)
+* bfd_default_reloc_type_lookup: howto manager. (line 2115)
+* bfd_default_scan: Architectures. (line 519)
+* bfd_default_set_arch_mach: Architectures. (line 466)
+* bfd_demangle: BFD front end. (line 779)
* bfd_elf_find_section: elf. (line 13)
-* bfd_emul_get_commonpagesize: BFD front end. (line 680)
-* bfd_emul_get_maxpagesize: BFD front end. (line 660)
-* bfd_emul_set_commonpagesize: BFD front end. (line 691)
-* bfd_emul_set_maxpagesize: BFD front end. (line 671)
-* bfd_errmsg: BFD front end. (line 246)
+* bfd_emul_get_commonpagesize: BFD front end. (line 759)
+* bfd_emul_get_maxpagesize: BFD front end. (line 739)
+* bfd_emul_set_commonpagesize: BFD front end. (line 770)
+* bfd_emul_set_maxpagesize: BFD front end. (line 750)
+* bfd_errmsg: BFD front end. (line 325)
* bfd_fdopenr: Opening and Closing.
(line 46)
* bfd_fill_in_gnu_debuglink_section: Opening and Closing.
- (line 319)
-* bfd_find_target: bfd_target. (line 435)
+ (line 326)
+* bfd_find_target: bfd_target. (line 439)
* bfd_follow_gnu_debuglink: Opening and Closing.
- (line 284)
+ (line 291)
* bfd_fopen: Opening and Closing.
(line 9)
* bfd_format_string: Formats. (line 79)
* bfd_generic_discard_group: section prototypes. (line 281)
-* bfd_generic_gc_sections: howto manager. (line 2054)
-* bfd_generic_get_relocated_section_contents: howto manager. (line 2074)
+* bfd_generic_gc_sections: howto manager. (line 2146)
+* bfd_generic_get_relocated_section_contents: howto manager. (line 2166)
* bfd_generic_is_group_section: section prototypes. (line 273)
-* bfd_generic_merge_sections: howto manager. (line 2064)
-* bfd_generic_relax_section: howto manager. (line 2041)
-* bfd_get_arch: Architectures. (line 457)
-* bfd_get_arch_info: Architectures. (line 509)
-* bfd_get_arch_size: BFD front end. (line 365)
-* bfd_get_error: BFD front end. (line 227)
-* bfd_get_error_handler: BFD front end. (line 297)
-* bfd_get_gp_size: BFD front end. (line 406)
-* bfd_get_mach: Architectures. (line 465)
-* bfd_get_mtime: BFD front end. (line 730)
+* bfd_generic_merge_sections: howto manager. (line 2156)
+* bfd_generic_relax_section: howto manager. (line 2133)
+* bfd_get_arch: Architectures. (line 477)
+* bfd_get_arch_info: Architectures. (line 529)
+* bfd_get_arch_size: BFD front end. (line 444)
+* bfd_get_error: BFD front end. (line 306)
+* bfd_get_error_handler: BFD front end. (line 376)
+* bfd_get_gp_size: BFD front end. (line 485)
+* bfd_get_mach: Architectures. (line 485)
+* bfd_get_mtime: BFD front end. (line 820)
* bfd_get_next_mapent: Archives. (line 52)
-* bfd_get_reloc_code_name: howto manager. (line 2032)
+* bfd_get_reloc_code_name: howto manager. (line 2124)
* bfd_get_reloc_size: typedef arelent. (line 330)
-* bfd_get_reloc_upper_bound: BFD front end. (line 311)
+* bfd_get_reloc_upper_bound: BFD front end. (line 390)
* bfd_get_section_by_name: section prototypes. (line 17)
* bfd_get_section_by_name_if: section prototypes. (line 31)
* bfd_get_section_contents: section prototypes. (line 228)
-* bfd_get_sign_extend_vma: BFD front end. (line 378)
-* bfd_get_size <1>: BFD front end. (line 739)
-* bfd_get_size: Internal. (line 25)
+* bfd_get_sign_extend_vma: BFD front end. (line 457)
+* bfd_get_size <1>: Internal. (line 25)
+* bfd_get_size: BFD front end. (line 829)
* bfd_get_symtab_upper_bound: symbol handling functions.
(line 6)
* bfd_get_unique_section_name: section prototypes. (line 50)
* bfd_link_split_section: Writing the symbol table.
(line 44)
* bfd_log2: Internal. (line 164)
-* bfd_lookup_arch: Architectures. (line 517)
+* bfd_lookup_arch: Architectures. (line 537)
* bfd_make_debug_symbol: symbol handling functions.
(line 102)
* bfd_make_empty_symbol: symbol handling functions.
(line 78)
* bfd_make_readable: Opening and Closing.
- (line 189)
+ (line 196)
* bfd_make_section: section prototypes. (line 129)
* bfd_make_section_anyway: section prototypes. (line 100)
* bfd_make_section_anyway_with_flags: section prototypes. (line 82)
* bfd_make_section_old_way: section prototypes. (line 62)
* bfd_make_section_with_flags: section prototypes. (line 116)
* bfd_make_writable: Opening and Closing.
- (line 175)
+ (line 182)
* bfd_malloc_and_get_section: section prototypes. (line 245)
* bfd_map_over_sections: section prototypes. (line 155)
-* bfd_merge_private_bfd_data: BFD front end. (line 476)
-* bfd_octets_per_byte: Architectures. (line 540)
+* bfd_merge_private_bfd_data: BFD front end. (line 555)
+* bfd_octets_per_byte: Architectures. (line 560)
* bfd_open_file: File Caching. (line 52)
* bfd_openr: Opening and Closing.
(line 30)
* bfd_openstreamr: Opening and Closing.
(line 67)
* bfd_openw: Opening and Closing.
- (line 116)
+ (line 123)
* bfd_perform_relocation: typedef arelent. (line 367)
-* bfd_perror: BFD front end. (line 255)
-* bfd_preserve_finish: BFD front end. (line 650)
-* bfd_preserve_restore: BFD front end. (line 640)
-* bfd_preserve_save: BFD front end. (line 624)
+* bfd_perror: BFD front end. (line 334)
+* bfd_preserve_finish: BFD front end. (line 729)
+* bfd_preserve_restore: BFD front end. (line 719)
+* bfd_preserve_save: BFD front end. (line 703)
* bfd_print_symbol_vandf: symbol handling functions.
(line 70)
-* bfd_printable_arch_mach: Architectures. (line 528)
-* bfd_printable_name: Architectures. (line 388)
+* bfd_printable_arch_mach: Architectures. (line 548)
+* bfd_printable_name: Architectures. (line 408)
* bfd_put_size: Internal. (line 22)
* BFD_RELOC_12_PCREL: howto manager. (line 39)
* BFD_RELOC_14: howto manager. (line 31)
* BFD_RELOC_16_PCREL_S2: howto manager. (line 92)
* BFD_RELOC_16_PLT_PCREL: howto manager. (line 63)
* BFD_RELOC_16_PLTOFF: howto manager. (line 67)
-* BFD_RELOC_16C_ABS20: howto manager. (line 1747)
-* BFD_RELOC_16C_ABS20_C: howto manager. (line 1748)
-* BFD_RELOC_16C_ABS24: howto manager. (line 1749)
-* BFD_RELOC_16C_ABS24_C: howto manager. (line 1750)
-* BFD_RELOC_16C_DISP04: howto manager. (line 1727)
-* BFD_RELOC_16C_DISP04_C: howto manager. (line 1728)
-* BFD_RELOC_16C_DISP08: howto manager. (line 1729)
-* BFD_RELOC_16C_DISP08_C: howto manager. (line 1730)
-* BFD_RELOC_16C_DISP16: howto manager. (line 1731)
-* BFD_RELOC_16C_DISP16_C: howto manager. (line 1732)
-* BFD_RELOC_16C_DISP24: howto manager. (line 1733)
-* BFD_RELOC_16C_DISP24_C: howto manager. (line 1734)
-* BFD_RELOC_16C_DISP24a: howto manager. (line 1735)
-* BFD_RELOC_16C_DISP24a_C: howto manager. (line 1736)
-* BFD_RELOC_16C_IMM04: howto manager. (line 1751)
-* BFD_RELOC_16C_IMM04_C: howto manager. (line 1752)
-* BFD_RELOC_16C_IMM16: howto manager. (line 1753)
-* BFD_RELOC_16C_IMM16_C: howto manager. (line 1754)
-* BFD_RELOC_16C_IMM20: howto manager. (line 1755)
-* BFD_RELOC_16C_IMM20_C: howto manager. (line 1756)
-* BFD_RELOC_16C_IMM24: howto manager. (line 1757)
-* BFD_RELOC_16C_IMM24_C: howto manager. (line 1758)
-* BFD_RELOC_16C_IMM32: howto manager. (line 1759)
-* BFD_RELOC_16C_IMM32_C: howto manager. (line 1760)
-* BFD_RELOC_16C_NUM08: howto manager. (line 1721)
-* BFD_RELOC_16C_NUM08_C: howto manager. (line 1722)
-* BFD_RELOC_16C_NUM16: howto manager. (line 1723)
-* BFD_RELOC_16C_NUM16_C: howto manager. (line 1724)
-* BFD_RELOC_16C_NUM32: howto manager. (line 1725)
-* BFD_RELOC_16C_NUM32_C: howto manager. (line 1726)
-* BFD_RELOC_16C_REG04: howto manager. (line 1737)
-* BFD_RELOC_16C_REG04_C: howto manager. (line 1738)
-* BFD_RELOC_16C_REG04a: howto manager. (line 1739)
-* BFD_RELOC_16C_REG04a_C: howto manager. (line 1740)
-* BFD_RELOC_16C_REG14: howto manager. (line 1741)
-* BFD_RELOC_16C_REG14_C: howto manager. (line 1742)
-* BFD_RELOC_16C_REG16: howto manager. (line 1743)
-* BFD_RELOC_16C_REG16_C: howto manager. (line 1744)
-* BFD_RELOC_16C_REG20: howto manager. (line 1745)
-* BFD_RELOC_16C_REG20_C: howto manager. (line 1746)
+* BFD_RELOC_16C_ABS20: howto manager. (line 1793)
+* BFD_RELOC_16C_ABS20_C: howto manager. (line 1794)
+* BFD_RELOC_16C_ABS24: howto manager. (line 1795)
+* BFD_RELOC_16C_ABS24_C: howto manager. (line 1796)
+* BFD_RELOC_16C_DISP04: howto manager. (line 1773)
+* BFD_RELOC_16C_DISP04_C: howto manager. (line 1774)
+* BFD_RELOC_16C_DISP08: howto manager. (line 1775)
+* BFD_RELOC_16C_DISP08_C: howto manager. (line 1776)
+* BFD_RELOC_16C_DISP16: howto manager. (line 1777)
+* BFD_RELOC_16C_DISP16_C: howto manager. (line 1778)
+* BFD_RELOC_16C_DISP24: howto manager. (line 1779)
+* BFD_RELOC_16C_DISP24_C: howto manager. (line 1780)
+* BFD_RELOC_16C_DISP24a: howto manager. (line 1781)
+* BFD_RELOC_16C_DISP24a_C: howto manager. (line 1782)
+* BFD_RELOC_16C_IMM04: howto manager. (line 1797)
+* BFD_RELOC_16C_IMM04_C: howto manager. (line 1798)
+* BFD_RELOC_16C_IMM16: howto manager. (line 1799)
+* BFD_RELOC_16C_IMM16_C: howto manager. (line 1800)
+* BFD_RELOC_16C_IMM20: howto manager. (line 1801)
+* BFD_RELOC_16C_IMM20_C: howto manager. (line 1802)
+* BFD_RELOC_16C_IMM24: howto manager. (line 1803)
+* BFD_RELOC_16C_IMM24_C: howto manager. (line 1804)
+* BFD_RELOC_16C_IMM32: howto manager. (line 1805)
+* BFD_RELOC_16C_IMM32_C: howto manager. (line 1806)
+* BFD_RELOC_16C_NUM08: howto manager. (line 1767)
+* BFD_RELOC_16C_NUM08_C: howto manager. (line 1768)
+* BFD_RELOC_16C_NUM16: howto manager. (line 1769)
+* BFD_RELOC_16C_NUM16_C: howto manager. (line 1770)
+* BFD_RELOC_16C_NUM32: howto manager. (line 1771)
+* BFD_RELOC_16C_NUM32_C: howto manager. (line 1772)
+* BFD_RELOC_16C_REG04: howto manager. (line 1783)
+* BFD_RELOC_16C_REG04_C: howto manager. (line 1784)
+* BFD_RELOC_16C_REG04a: howto manager. (line 1785)
+* BFD_RELOC_16C_REG04a_C: howto manager. (line 1786)
+* BFD_RELOC_16C_REG14: howto manager. (line 1787)
+* BFD_RELOC_16C_REG14_C: howto manager. (line 1788)
+* BFD_RELOC_16C_REG16: howto manager. (line 1789)
+* BFD_RELOC_16C_REG16_C: howto manager. (line 1790)
+* BFD_RELOC_16C_REG20: howto manager. (line 1791)
+* BFD_RELOC_16C_REG20_C: howto manager. (line 1792)
* BFD_RELOC_23_PCREL_S2: howto manager. (line 93)
* BFD_RELOC_24: howto manager. (line 29)
* BFD_RELOC_24_PCREL: howto manager. (line 37)
* BFD_RELOC_32_PLT_PCREL: howto manager. (line 61)
* BFD_RELOC_32_PLTOFF: howto manager. (line 66)
* BFD_RELOC_32_SECREL: howto manager. (line 48)
-* BFD_RELOC_386_COPY: howto manager. (line 449)
-* BFD_RELOC_386_GLOB_DAT: howto manager. (line 450)
-* BFD_RELOC_386_GOT32: howto manager. (line 447)
-* BFD_RELOC_386_GOTOFF: howto manager. (line 453)
-* BFD_RELOC_386_GOTPC: howto manager. (line 454)
-* BFD_RELOC_386_JUMP_SLOT: howto manager. (line 451)
-* BFD_RELOC_386_PLT32: howto manager. (line 448)
-* BFD_RELOC_386_RELATIVE: howto manager. (line 452)
-* BFD_RELOC_386_TLS_DESC: howto manager. (line 469)
-* BFD_RELOC_386_TLS_DESC_CALL: howto manager. (line 468)
-* BFD_RELOC_386_TLS_DTPMOD32: howto manager. (line 464)
-* BFD_RELOC_386_TLS_DTPOFF32: howto manager. (line 465)
-* BFD_RELOC_386_TLS_GD: howto manager. (line 459)
-* BFD_RELOC_386_TLS_GOTDESC: howto manager. (line 467)
-* BFD_RELOC_386_TLS_GOTIE: howto manager. (line 457)
-* BFD_RELOC_386_TLS_IE: howto manager. (line 456)
-* BFD_RELOC_386_TLS_IE_32: howto manager. (line 462)
-* BFD_RELOC_386_TLS_LDM: howto manager. (line 460)
-* BFD_RELOC_386_TLS_LDO_32: howto manager. (line 461)
-* BFD_RELOC_386_TLS_LE: howto manager. (line 458)
-* BFD_RELOC_386_TLS_LE_32: howto manager. (line 463)
-* BFD_RELOC_386_TLS_TPOFF: howto manager. (line 455)
-* BFD_RELOC_386_TLS_TPOFF32: howto manager. (line 466)
-* BFD_RELOC_390_12: howto manager. (line 1413)
-* BFD_RELOC_390_20: howto manager. (line 1513)
-* BFD_RELOC_390_COPY: howto manager. (line 1422)
-* BFD_RELOC_390_GLOB_DAT: howto manager. (line 1425)
-* BFD_RELOC_390_GOT12: howto manager. (line 1416)
-* BFD_RELOC_390_GOT16: howto manager. (line 1437)
-* BFD_RELOC_390_GOT20: howto manager. (line 1514)
-* BFD_RELOC_390_GOT64: howto manager. (line 1455)
-* BFD_RELOC_390_GOTENT: howto manager. (line 1461)
-* BFD_RELOC_390_GOTOFF64: howto manager. (line 1464)
-* BFD_RELOC_390_GOTPC: howto manager. (line 1434)
-* BFD_RELOC_390_GOTPCDBL: howto manager. (line 1452)
-* BFD_RELOC_390_GOTPLT12: howto manager. (line 1467)
-* BFD_RELOC_390_GOTPLT16: howto manager. (line 1470)
-* BFD_RELOC_390_GOTPLT20: howto manager. (line 1515)
-* BFD_RELOC_390_GOTPLT32: howto manager. (line 1473)
-* BFD_RELOC_390_GOTPLT64: howto manager. (line 1476)
-* BFD_RELOC_390_GOTPLTENT: howto manager. (line 1479)
-* BFD_RELOC_390_JMP_SLOT: howto manager. (line 1428)
-* BFD_RELOC_390_PC16DBL: howto manager. (line 1440)
-* BFD_RELOC_390_PC32DBL: howto manager. (line 1446)
-* BFD_RELOC_390_PLT16DBL: howto manager. (line 1443)
-* BFD_RELOC_390_PLT32: howto manager. (line 1419)
-* BFD_RELOC_390_PLT32DBL: howto manager. (line 1449)
-* BFD_RELOC_390_PLT64: howto manager. (line 1458)
-* BFD_RELOC_390_PLTOFF16: howto manager. (line 1482)
-* BFD_RELOC_390_PLTOFF32: howto manager. (line 1485)
-* BFD_RELOC_390_PLTOFF64: howto manager. (line 1488)
-* BFD_RELOC_390_RELATIVE: howto manager. (line 1431)
-* BFD_RELOC_390_TLS_DTPMOD: howto manager. (line 1508)
-* BFD_RELOC_390_TLS_DTPOFF: howto manager. (line 1509)
-* BFD_RELOC_390_TLS_GD32: howto manager. (line 1494)
-* BFD_RELOC_390_TLS_GD64: howto manager. (line 1495)
-* BFD_RELOC_390_TLS_GDCALL: howto manager. (line 1492)
-* BFD_RELOC_390_TLS_GOTIE12: howto manager. (line 1496)
-* BFD_RELOC_390_TLS_GOTIE20: howto manager. (line 1516)
-* BFD_RELOC_390_TLS_GOTIE32: howto manager. (line 1497)
-* BFD_RELOC_390_TLS_GOTIE64: howto manager. (line 1498)
-* BFD_RELOC_390_TLS_IE32: howto manager. (line 1501)
-* BFD_RELOC_390_TLS_IE64: howto manager. (line 1502)
-* BFD_RELOC_390_TLS_IEENT: howto manager. (line 1503)
-* BFD_RELOC_390_TLS_LDCALL: howto manager. (line 1493)
-* BFD_RELOC_390_TLS_LDM32: howto manager. (line 1499)
-* BFD_RELOC_390_TLS_LDM64: howto manager. (line 1500)
-* BFD_RELOC_390_TLS_LDO32: howto manager. (line 1506)
-* BFD_RELOC_390_TLS_LDO64: howto manager. (line 1507)
-* BFD_RELOC_390_TLS_LE32: howto manager. (line 1504)
-* BFD_RELOC_390_TLS_LE64: howto manager. (line 1505)
-* BFD_RELOC_390_TLS_LOAD: howto manager. (line 1491)
-* BFD_RELOC_390_TLS_TPOFF: howto manager. (line 1510)
+* BFD_RELOC_386_COPY: howto manager. (line 470)
+* BFD_RELOC_386_GLOB_DAT: howto manager. (line 471)
+* BFD_RELOC_386_GOT32: howto manager. (line 468)
+* BFD_RELOC_386_GOTOFF: howto manager. (line 474)
+* BFD_RELOC_386_GOTPC: howto manager. (line 475)
+* BFD_RELOC_386_JUMP_SLOT: howto manager. (line 472)
+* BFD_RELOC_386_PLT32: howto manager. (line 469)
+* BFD_RELOC_386_RELATIVE: howto manager. (line 473)
+* BFD_RELOC_386_TLS_DESC: howto manager. (line 490)
+* BFD_RELOC_386_TLS_DESC_CALL: howto manager. (line 489)
+* BFD_RELOC_386_TLS_DTPMOD32: howto manager. (line 485)
+* BFD_RELOC_386_TLS_DTPOFF32: howto manager. (line 486)
+* BFD_RELOC_386_TLS_GD: howto manager. (line 480)
+* BFD_RELOC_386_TLS_GOTDESC: howto manager. (line 488)
+* BFD_RELOC_386_TLS_GOTIE: howto manager. (line 478)
+* BFD_RELOC_386_TLS_IE: howto manager. (line 477)
+* BFD_RELOC_386_TLS_IE_32: howto manager. (line 483)
+* BFD_RELOC_386_TLS_LDM: howto manager. (line 481)
+* BFD_RELOC_386_TLS_LDO_32: howto manager. (line 482)
+* BFD_RELOC_386_TLS_LE: howto manager. (line 479)
+* BFD_RELOC_386_TLS_LE_32: howto manager. (line 484)
+* BFD_RELOC_386_TLS_TPOFF: howto manager. (line 476)
+* BFD_RELOC_386_TLS_TPOFF32: howto manager. (line 487)
+* BFD_RELOC_390_12: howto manager. (line 1459)
+* BFD_RELOC_390_20: howto manager. (line 1559)
+* BFD_RELOC_390_COPY: howto manager. (line 1468)
+* BFD_RELOC_390_GLOB_DAT: howto manager. (line 1471)
+* BFD_RELOC_390_GOT12: howto manager. (line 1462)
+* BFD_RELOC_390_GOT16: howto manager. (line 1483)
+* BFD_RELOC_390_GOT20: howto manager. (line 1560)
+* BFD_RELOC_390_GOT64: howto manager. (line 1501)
+* BFD_RELOC_390_GOTENT: howto manager. (line 1507)
+* BFD_RELOC_390_GOTOFF64: howto manager. (line 1510)
+* BFD_RELOC_390_GOTPC: howto manager. (line 1480)
+* BFD_RELOC_390_GOTPCDBL: howto manager. (line 1498)
+* BFD_RELOC_390_GOTPLT12: howto manager. (line 1513)
+* BFD_RELOC_390_GOTPLT16: howto manager. (line 1516)
+* BFD_RELOC_390_GOTPLT20: howto manager. (line 1561)
+* BFD_RELOC_390_GOTPLT32: howto manager. (line 1519)
+* BFD_RELOC_390_GOTPLT64: howto manager. (line 1522)
+* BFD_RELOC_390_GOTPLTENT: howto manager. (line 1525)
+* BFD_RELOC_390_JMP_SLOT: howto manager. (line 1474)
+* BFD_RELOC_390_PC16DBL: howto manager. (line 1486)
+* BFD_RELOC_390_PC32DBL: howto manager. (line 1492)
+* BFD_RELOC_390_PLT16DBL: howto manager. (line 1489)
+* BFD_RELOC_390_PLT32: howto manager. (line 1465)
+* BFD_RELOC_390_PLT32DBL: howto manager. (line 1495)
+* BFD_RELOC_390_PLT64: howto manager. (line 1504)
+* BFD_RELOC_390_PLTOFF16: howto manager. (line 1528)
+* BFD_RELOC_390_PLTOFF32: howto manager. (line 1531)
+* BFD_RELOC_390_PLTOFF64: howto manager. (line 1534)
+* BFD_RELOC_390_RELATIVE: howto manager. (line 1477)
+* BFD_RELOC_390_TLS_DTPMOD: howto manager. (line 1554)
+* BFD_RELOC_390_TLS_DTPOFF: howto manager. (line 1555)
+* BFD_RELOC_390_TLS_GD32: howto manager. (line 1540)
+* BFD_RELOC_390_TLS_GD64: howto manager. (line 1541)
+* BFD_RELOC_390_TLS_GDCALL: howto manager. (line 1538)
+* BFD_RELOC_390_TLS_GOTIE12: howto manager. (line 1542)
+* BFD_RELOC_390_TLS_GOTIE20: howto manager. (line 1562)
+* BFD_RELOC_390_TLS_GOTIE32: howto manager. (line 1543)
+* BFD_RELOC_390_TLS_GOTIE64: howto manager. (line 1544)
+* BFD_RELOC_390_TLS_IE32: howto manager. (line 1547)
+* BFD_RELOC_390_TLS_IE64: howto manager. (line 1548)
+* BFD_RELOC_390_TLS_IEENT: howto manager. (line 1549)
+* BFD_RELOC_390_TLS_LDCALL: howto manager. (line 1539)
+* BFD_RELOC_390_TLS_LDM32: howto manager. (line 1545)
+* BFD_RELOC_390_TLS_LDM64: howto manager. (line 1546)
+* BFD_RELOC_390_TLS_LDO32: howto manager. (line 1552)
+* BFD_RELOC_390_TLS_LDO64: howto manager. (line 1553)
+* BFD_RELOC_390_TLS_LE32: howto manager. (line 1550)
+* BFD_RELOC_390_TLS_LE64: howto manager. (line 1551)
+* BFD_RELOC_390_TLS_LOAD: howto manager. (line 1537)
+* BFD_RELOC_390_TLS_TPOFF: howto manager. (line 1556)
* BFD_RELOC_64: howto manager. (line 26)
* BFD_RELOC_64_PCREL: howto manager. (line 35)
* BFD_RELOC_64_PLT_PCREL: howto manager. (line 60)
* BFD_RELOC_68K_JMP_SLOT: howto manager. (line 75)
* BFD_RELOC_68K_RELATIVE: howto manager. (line 76)
* BFD_RELOC_8: howto manager. (line 32)
-* BFD_RELOC_860_COPY: howto manager. (line 1826)
-* BFD_RELOC_860_GLOB_DAT: howto manager. (line 1827)
-* BFD_RELOC_860_HAGOT: howto manager. (line 1852)
-* BFD_RELOC_860_HAGOTOFF: howto manager. (line 1853)
-* BFD_RELOC_860_HAPC: howto manager. (line 1854)
-* BFD_RELOC_860_HIGH: howto manager. (line 1855)
-* BFD_RELOC_860_HIGHADJ: howto manager. (line 1851)
-* BFD_RELOC_860_HIGOT: howto manager. (line 1856)
-* BFD_RELOC_860_HIGOTOFF: howto manager. (line 1857)
-* BFD_RELOC_860_JUMP_SLOT: howto manager. (line 1828)
-* BFD_RELOC_860_LOGOT0: howto manager. (line 1840)
-* BFD_RELOC_860_LOGOT1: howto manager. (line 1842)
-* BFD_RELOC_860_LOGOTOFF0: howto manager. (line 1844)
-* BFD_RELOC_860_LOGOTOFF1: howto manager. (line 1846)
-* BFD_RELOC_860_LOGOTOFF2: howto manager. (line 1848)
-* BFD_RELOC_860_LOGOTOFF3: howto manager. (line 1849)
-* BFD_RELOC_860_LOPC: howto manager. (line 1850)
-* BFD_RELOC_860_LOW0: howto manager. (line 1833)
-* BFD_RELOC_860_LOW1: howto manager. (line 1835)
-* BFD_RELOC_860_LOW2: howto manager. (line 1837)
-* BFD_RELOC_860_LOW3: howto manager. (line 1839)
-* BFD_RELOC_860_PC16: howto manager. (line 1832)
-* BFD_RELOC_860_PC26: howto manager. (line 1830)
-* BFD_RELOC_860_PLT26: howto manager. (line 1831)
-* BFD_RELOC_860_RELATIVE: howto manager. (line 1829)
-* BFD_RELOC_860_SPGOT0: howto manager. (line 1841)
-* BFD_RELOC_860_SPGOT1: howto manager. (line 1843)
-* BFD_RELOC_860_SPGOTOFF0: howto manager. (line 1845)
-* BFD_RELOC_860_SPGOTOFF1: howto manager. (line 1847)
-* BFD_RELOC_860_SPLIT0: howto manager. (line 1834)
-* BFD_RELOC_860_SPLIT1: howto manager. (line 1836)
-* BFD_RELOC_860_SPLIT2: howto manager. (line 1838)
+* BFD_RELOC_860_COPY: howto manager. (line 1904)
+* BFD_RELOC_860_GLOB_DAT: howto manager. (line 1905)
+* BFD_RELOC_860_HAGOT: howto manager. (line 1930)
+* BFD_RELOC_860_HAGOTOFF: howto manager. (line 1931)
+* BFD_RELOC_860_HAPC: howto manager. (line 1932)
+* BFD_RELOC_860_HIGH: howto manager. (line 1933)
+* BFD_RELOC_860_HIGHADJ: howto manager. (line 1929)
+* BFD_RELOC_860_HIGOT: howto manager. (line 1934)
+* BFD_RELOC_860_HIGOTOFF: howto manager. (line 1935)
+* BFD_RELOC_860_JUMP_SLOT: howto manager. (line 1906)
+* BFD_RELOC_860_LOGOT0: howto manager. (line 1918)
+* BFD_RELOC_860_LOGOT1: howto manager. (line 1920)
+* BFD_RELOC_860_LOGOTOFF0: howto manager. (line 1922)
+* BFD_RELOC_860_LOGOTOFF1: howto manager. (line 1924)
+* BFD_RELOC_860_LOGOTOFF2: howto manager. (line 1926)
+* BFD_RELOC_860_LOGOTOFF3: howto manager. (line 1927)
+* BFD_RELOC_860_LOPC: howto manager. (line 1928)
+* BFD_RELOC_860_LOW0: howto manager. (line 1911)
+* BFD_RELOC_860_LOW1: howto manager. (line 1913)
+* BFD_RELOC_860_LOW2: howto manager. (line 1915)
+* BFD_RELOC_860_LOW3: howto manager. (line 1917)
+* BFD_RELOC_860_PC16: howto manager. (line 1910)
+* BFD_RELOC_860_PC26: howto manager. (line 1908)
+* BFD_RELOC_860_PLT26: howto manager. (line 1909)
+* BFD_RELOC_860_RELATIVE: howto manager. (line 1907)
+* BFD_RELOC_860_SPGOT0: howto manager. (line 1919)
+* BFD_RELOC_860_SPGOT1: howto manager. (line 1921)
+* BFD_RELOC_860_SPGOTOFF0: howto manager. (line 1923)
+* BFD_RELOC_860_SPGOTOFF1: howto manager. (line 1925)
+* BFD_RELOC_860_SPLIT0: howto manager. (line 1912)
+* BFD_RELOC_860_SPLIT1: howto manager. (line 1914)
+* BFD_RELOC_860_SPLIT2: howto manager. (line 1916)
* BFD_RELOC_8_BASEREL: howto manager. (line 84)
* BFD_RELOC_8_FFnn: howto manager. (line 88)
* BFD_RELOC_8_GOT_PCREL: howto manager. (line 53)
* BFD_RELOC_8_PCREL: howto manager. (line 40)
* BFD_RELOC_8_PLT_PCREL: howto manager. (line 64)
* BFD_RELOC_8_PLTOFF: howto manager. (line 71)
-* BFD_RELOC_ALPHA_BRSGP: howto manager. (line 273)
-* BFD_RELOC_ALPHA_CODEADDR: howto manager. (line 264)
-* BFD_RELOC_ALPHA_DTPMOD64: howto manager. (line 280)
-* BFD_RELOC_ALPHA_DTPREL16: howto manager. (line 285)
-* BFD_RELOC_ALPHA_DTPREL64: howto manager. (line 282)
-* BFD_RELOC_ALPHA_DTPREL_HI16: howto manager. (line 283)
-* BFD_RELOC_ALPHA_DTPREL_LO16: howto manager. (line 284)
-* BFD_RELOC_ALPHA_ELF_LITERAL: howto manager. (line 229)
-* BFD_RELOC_ALPHA_GOTDTPREL16: howto manager. (line 281)
-* BFD_RELOC_ALPHA_GOTTPREL16: howto manager. (line 286)
-* BFD_RELOC_ALPHA_GPDISP: howto manager. (line 223)
-* BFD_RELOC_ALPHA_GPDISP_HI16: howto manager. (line 209)
-* BFD_RELOC_ALPHA_GPDISP_LO16: howto manager. (line 217)
-* BFD_RELOC_ALPHA_GPREL_HI16: howto manager. (line 268)
-* BFD_RELOC_ALPHA_GPREL_LO16: howto manager. (line 269)
-* BFD_RELOC_ALPHA_HINT: howto manager. (line 255)
-* BFD_RELOC_ALPHA_LINKAGE: howto manager. (line 260)
-* BFD_RELOC_ALPHA_LITERAL: howto manager. (line 228)
-* BFD_RELOC_ALPHA_LITUSE: howto manager. (line 230)
-* BFD_RELOC_ALPHA_TLSGD: howto manager. (line 278)
-* BFD_RELOC_ALPHA_TLSLDM: howto manager. (line 279)
-* BFD_RELOC_ALPHA_TPREL16: howto manager. (line 290)
-* BFD_RELOC_ALPHA_TPREL64: howto manager. (line 287)
-* BFD_RELOC_ALPHA_TPREL_HI16: howto manager. (line 288)
-* BFD_RELOC_ALPHA_TPREL_LO16: howto manager. (line 289)
-* BFD_RELOC_ARC_B22_PCREL: howto manager. (line 871)
-* BFD_RELOC_ARC_B26: howto manager. (line 876)
-* BFD_RELOC_ARM_ADR_IMM: howto manager. (line 764)
-* BFD_RELOC_ARM_ADRL_IMMEDIATE: howto manager. (line 751)
-* BFD_RELOC_ARM_ALU_PC_G0: howto manager. (line 721)
-* BFD_RELOC_ARM_ALU_PC_G0_NC: howto manager. (line 720)
-* BFD_RELOC_ARM_ALU_PC_G1: howto manager. (line 723)
-* BFD_RELOC_ARM_ALU_PC_G1_NC: howto manager. (line 722)
-* BFD_RELOC_ARM_ALU_PC_G2: howto manager. (line 724)
-* BFD_RELOC_ARM_ALU_SB_G0: howto manager. (line 735)
-* BFD_RELOC_ARM_ALU_SB_G0_NC: howto manager. (line 734)
-* BFD_RELOC_ARM_ALU_SB_G1: howto manager. (line 737)
-* BFD_RELOC_ARM_ALU_SB_G1_NC: howto manager. (line 736)
-* BFD_RELOC_ARM_ALU_SB_G2: howto manager. (line 738)
-* BFD_RELOC_ARM_CP_OFF_IMM: howto manager. (line 760)
-* BFD_RELOC_ARM_CP_OFF_IMM_S2: howto manager. (line 761)
-* BFD_RELOC_ARM_GLOB_DAT: howto manager. (line 702)
-* BFD_RELOC_ARM_GOT32: howto manager. (line 703)
-* BFD_RELOC_ARM_GOTOFF: howto manager. (line 706)
-* BFD_RELOC_ARM_GOTPC: howto manager. (line 707)
-* BFD_RELOC_ARM_HWLITERAL: howto manager. (line 771)
-* BFD_RELOC_ARM_IMMEDIATE: howto manager. (line 750)
-* BFD_RELOC_ARM_IN_POOL: howto manager. (line 767)
-* BFD_RELOC_ARM_JUMP_SLOT: howto manager. (line 701)
-* BFD_RELOC_ARM_LDC_PC_G0: howto manager. (line 731)
-* BFD_RELOC_ARM_LDC_PC_G1: howto manager. (line 732)
-* BFD_RELOC_ARM_LDC_PC_G2: howto manager. (line 733)
-* BFD_RELOC_ARM_LDC_SB_G0: howto manager. (line 745)
-* BFD_RELOC_ARM_LDC_SB_G1: howto manager. (line 746)
-* BFD_RELOC_ARM_LDC_SB_G2: howto manager. (line 747)
-* BFD_RELOC_ARM_LDR_IMM: howto manager. (line 765)
-* BFD_RELOC_ARM_LDR_PC_G0: howto manager. (line 725)
-* BFD_RELOC_ARM_LDR_PC_G1: howto manager. (line 726)
-* BFD_RELOC_ARM_LDR_PC_G2: howto manager. (line 727)
-* BFD_RELOC_ARM_LDR_SB_G0: howto manager. (line 739)
-* BFD_RELOC_ARM_LDR_SB_G1: howto manager. (line 740)
-* BFD_RELOC_ARM_LDR_SB_G2: howto manager. (line 741)
-* BFD_RELOC_ARM_LDRS_PC_G0: howto manager. (line 728)
-* BFD_RELOC_ARM_LDRS_PC_G1: howto manager. (line 729)
-* BFD_RELOC_ARM_LDRS_PC_G2: howto manager. (line 730)
-* BFD_RELOC_ARM_LDRS_SB_G0: howto manager. (line 742)
-* BFD_RELOC_ARM_LDRS_SB_G1: howto manager. (line 743)
-* BFD_RELOC_ARM_LDRS_SB_G2: howto manager. (line 744)
-* BFD_RELOC_ARM_LITERAL: howto manager. (line 766)
-* BFD_RELOC_ARM_MOVT: howto manager. (line 692)
-* BFD_RELOC_ARM_MOVT_PCREL: howto manager. (line 694)
-* BFD_RELOC_ARM_MOVW: howto manager. (line 691)
-* BFD_RELOC_ARM_MOVW_PCREL: howto manager. (line 693)
-* BFD_RELOC_ARM_MULTI: howto manager. (line 759)
-* BFD_RELOC_ARM_OFFSET_IMM: howto manager. (line 665)
-* BFD_RELOC_ARM_OFFSET_IMM8: howto manager. (line 768)
-* BFD_RELOC_ARM_PCREL_BLX: howto manager. (line 636)
-* BFD_RELOC_ARM_PCREL_BRANCH: howto manager. (line 632)
-* BFD_RELOC_ARM_PCREL_CALL: howto manager. (line 646)
-* BFD_RELOC_ARM_PCREL_JUMP: howto manager. (line 650)
-* BFD_RELOC_ARM_PLT32: howto manager. (line 704)
-* BFD_RELOC_ARM_PREL31: howto manager. (line 688)
-* BFD_RELOC_ARM_RELATIVE: howto manager. (line 705)
-* BFD_RELOC_ARM_ROSEGREL32: howto manager. (line 677)
-* BFD_RELOC_ARM_SBREL32: howto manager. (line 680)
-* BFD_RELOC_ARM_SHIFT_IMM: howto manager. (line 756)
-* BFD_RELOC_ARM_SMC: howto manager. (line 757)
-* BFD_RELOC_ARM_SWI: howto manager. (line 758)
-* BFD_RELOC_ARM_T32_ADD_IMM: howto manager. (line 753)
-* BFD_RELOC_ARM_T32_ADD_PC12: howto manager. (line 755)
-* BFD_RELOC_ARM_T32_CP_OFF_IMM: howto manager. (line 762)
-* BFD_RELOC_ARM_T32_CP_OFF_IMM_S2: howto manager. (line 763)
-* BFD_RELOC_ARM_T32_IMM12: howto manager. (line 754)
-* BFD_RELOC_ARM_T32_IMMEDIATE: howto manager. (line 752)
-* BFD_RELOC_ARM_T32_OFFSET_IMM: howto manager. (line 770)
-* BFD_RELOC_ARM_T32_OFFSET_U8: howto manager. (line 769)
-* BFD_RELOC_ARM_TARGET1: howto manager. (line 673)
-* BFD_RELOC_ARM_TARGET2: howto manager. (line 683)
-* BFD_RELOC_ARM_THUMB_ADD: howto manager. (line 772)
-* BFD_RELOC_ARM_THUMB_IMM: howto manager. (line 773)
-* BFD_RELOC_ARM_THUMB_MOVT: howto manager. (line 696)
-* BFD_RELOC_ARM_THUMB_MOVT_PCREL: howto manager. (line 698)
-* BFD_RELOC_ARM_THUMB_MOVW: howto manager. (line 695)
-* BFD_RELOC_ARM_THUMB_MOVW_PCREL: howto manager. (line 697)
-* BFD_RELOC_ARM_THUMB_OFFSET: howto manager. (line 669)
-* BFD_RELOC_ARM_THUMB_SHIFT: howto manager. (line 774)
-* BFD_RELOC_ARM_TLS_DTPMOD32: howto manager. (line 714)
-* BFD_RELOC_ARM_TLS_DTPOFF32: howto manager. (line 713)
-* BFD_RELOC_ARM_TLS_GD32: howto manager. (line 710)
-* BFD_RELOC_ARM_TLS_IE32: howto manager. (line 716)
-* BFD_RELOC_ARM_TLS_LDM32: howto manager. (line 712)
-* BFD_RELOC_ARM_TLS_LDO32: howto manager. (line 711)
-* BFD_RELOC_ARM_TLS_LE32: howto manager. (line 717)
-* BFD_RELOC_ARM_TLS_TPOFF32: howto manager. (line 715)
-* BFD_RELOC_AVR_13_PCREL: howto manager. (line 1314)
-* BFD_RELOC_AVR_16_PM: howto manager. (line 1318)
-* BFD_RELOC_AVR_6: howto manager. (line 1405)
-* BFD_RELOC_AVR_6_ADIW: howto manager. (line 1409)
-* BFD_RELOC_AVR_7_PCREL: howto manager. (line 1310)
-* BFD_RELOC_AVR_CALL: howto manager. (line 1397)
-* BFD_RELOC_AVR_HH8_LDI: howto manager. (line 1330)
-* BFD_RELOC_AVR_HH8_LDI_NEG: howto manager. (line 1349)
-* BFD_RELOC_AVR_HH8_LDI_PM: howto manager. (line 1378)
-* BFD_RELOC_AVR_HH8_LDI_PM_NEG: howto manager. (line 1392)
-* BFD_RELOC_AVR_HI8_LDI: howto manager. (line 1326)
-* BFD_RELOC_AVR_HI8_LDI_GS: howto manager. (line 1372)
-* BFD_RELOC_AVR_HI8_LDI_NEG: howto manager. (line 1344)
-* BFD_RELOC_AVR_HI8_LDI_PM: howto manager. (line 1368)
-* BFD_RELOC_AVR_HI8_LDI_PM_NEG: howto manager. (line 1387)
-* BFD_RELOC_AVR_LDI: howto manager. (line 1401)
-* BFD_RELOC_AVR_LO8_LDI: howto manager. (line 1322)
-* BFD_RELOC_AVR_LO8_LDI_GS: howto manager. (line 1362)
-* BFD_RELOC_AVR_LO8_LDI_NEG: howto manager. (line 1339)
-* BFD_RELOC_AVR_LO8_LDI_PM: howto manager. (line 1358)
-* BFD_RELOC_AVR_LO8_LDI_PM_NEG: howto manager. (line 1383)
-* BFD_RELOC_AVR_MS8_LDI: howto manager. (line 1335)
-* BFD_RELOC_AVR_MS8_LDI_NEG: howto manager. (line 1354)
-* BFD_RELOC_BFIN_10_PCREL: howto manager. (line 896)
-* BFD_RELOC_BFIN_11_PCREL: howto manager. (line 899)
-* BFD_RELOC_BFIN_12_PCREL_JUMP: howto manager. (line 902)
-* BFD_RELOC_BFIN_12_PCREL_JUMP_S: howto manager. (line 905)
-* BFD_RELOC_BFIN_16_HIGH: howto manager. (line 884)
-* BFD_RELOC_BFIN_16_IMM: howto manager. (line 881)
-* BFD_RELOC_BFIN_16_LOW: howto manager. (line 893)
-* BFD_RELOC_BFIN_24_PCREL_CALL_X: howto manager. (line 908)
-* BFD_RELOC_BFIN_24_PCREL_JUMP_L: howto manager. (line 911)
-* BFD_RELOC_BFIN_4_PCREL: howto manager. (line 887)
-* BFD_RELOC_BFIN_5_PCREL: howto manager. (line 890)
-* BFD_RELOC_BFIN_FUNCDESC: howto manager. (line 917)
-* BFD_RELOC_BFIN_FUNCDESC_GOT17M4: howto manager. (line 918)
-* BFD_RELOC_BFIN_FUNCDESC_GOTHI: howto manager. (line 919)
-* BFD_RELOC_BFIN_FUNCDESC_GOTLO: howto manager. (line 920)
-* BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4: howto manager. (line 922)
-* BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI: howto manager. (line 923)
-* BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO: howto manager. (line 924)
-* BFD_RELOC_BFIN_FUNCDESC_VALUE: howto manager. (line 921)
-* BFD_RELOC_BFIN_GOT: howto manager. (line 930)
-* BFD_RELOC_BFIN_GOT17M4: howto manager. (line 914)
-* BFD_RELOC_BFIN_GOTHI: howto manager. (line 915)
-* BFD_RELOC_BFIN_GOTLO: howto manager. (line 916)
-* BFD_RELOC_BFIN_GOTOFF17M4: howto manager. (line 925)
-* BFD_RELOC_BFIN_GOTOFFHI: howto manager. (line 926)
-* BFD_RELOC_BFIN_GOTOFFLO: howto manager. (line 927)
-* BFD_RELOC_BFIN_PLTPC: howto manager. (line 933)
+* BFD_RELOC_ALPHA_BRSGP: howto manager. (line 280)
+* BFD_RELOC_ALPHA_CODEADDR: howto manager. (line 271)
+* BFD_RELOC_ALPHA_DTPMOD64: howto manager. (line 287)
+* BFD_RELOC_ALPHA_DTPREL16: howto manager. (line 292)
+* BFD_RELOC_ALPHA_DTPREL64: howto manager. (line 289)
+* BFD_RELOC_ALPHA_DTPREL_HI16: howto manager. (line 290)
+* BFD_RELOC_ALPHA_DTPREL_LO16: howto manager. (line 291)
+* BFD_RELOC_ALPHA_ELF_LITERAL: howto manager. (line 236)
+* BFD_RELOC_ALPHA_GOTDTPREL16: howto manager. (line 288)
+* BFD_RELOC_ALPHA_GOTTPREL16: howto manager. (line 293)
+* BFD_RELOC_ALPHA_GPDISP: howto manager. (line 230)
+* BFD_RELOC_ALPHA_GPDISP_HI16: howto manager. (line 216)
+* BFD_RELOC_ALPHA_GPDISP_LO16: howto manager. (line 224)
+* BFD_RELOC_ALPHA_GPREL_HI16: howto manager. (line 275)
+* BFD_RELOC_ALPHA_GPREL_LO16: howto manager. (line 276)
+* BFD_RELOC_ALPHA_HINT: howto manager. (line 262)
+* BFD_RELOC_ALPHA_LINKAGE: howto manager. (line 267)
+* BFD_RELOC_ALPHA_LITERAL: howto manager. (line 235)
+* BFD_RELOC_ALPHA_LITUSE: howto manager. (line 237)
+* BFD_RELOC_ALPHA_TLSGD: howto manager. (line 285)
+* BFD_RELOC_ALPHA_TLSLDM: howto manager. (line 286)
+* BFD_RELOC_ALPHA_TPREL16: howto manager. (line 297)
+* BFD_RELOC_ALPHA_TPREL64: howto manager. (line 294)
+* BFD_RELOC_ALPHA_TPREL_HI16: howto manager. (line 295)
+* BFD_RELOC_ALPHA_TPREL_LO16: howto manager. (line 296)
+* BFD_RELOC_ARC_B22_PCREL: howto manager. (line 895)
+* BFD_RELOC_ARC_B26: howto manager. (line 900)
+* BFD_RELOC_ARM_ADR_IMM: howto manager. (line 788)
+* BFD_RELOC_ARM_ADRL_IMMEDIATE: howto manager. (line 775)
+* BFD_RELOC_ARM_ALU_PC_G0: howto manager. (line 742)
+* BFD_RELOC_ARM_ALU_PC_G0_NC: howto manager. (line 741)
+* BFD_RELOC_ARM_ALU_PC_G1: howto manager. (line 744)
+* BFD_RELOC_ARM_ALU_PC_G1_NC: howto manager. (line 743)
+* BFD_RELOC_ARM_ALU_PC_G2: howto manager. (line 745)
+* BFD_RELOC_ARM_ALU_SB_G0: howto manager. (line 756)
+* BFD_RELOC_ARM_ALU_SB_G0_NC: howto manager. (line 755)
+* BFD_RELOC_ARM_ALU_SB_G1: howto manager. (line 758)
+* BFD_RELOC_ARM_ALU_SB_G1_NC: howto manager. (line 757)
+* BFD_RELOC_ARM_ALU_SB_G2: howto manager. (line 759)
+* BFD_RELOC_ARM_CP_OFF_IMM: howto manager. (line 784)
+* BFD_RELOC_ARM_CP_OFF_IMM_S2: howto manager. (line 785)
+* BFD_RELOC_ARM_GLOB_DAT: howto manager. (line 723)
+* BFD_RELOC_ARM_GOT32: howto manager. (line 724)
+* BFD_RELOC_ARM_GOTOFF: howto manager. (line 727)
+* BFD_RELOC_ARM_GOTPC: howto manager. (line 728)
+* BFD_RELOC_ARM_HWLITERAL: howto manager. (line 795)
+* BFD_RELOC_ARM_IMMEDIATE: howto manager. (line 774)
+* BFD_RELOC_ARM_IN_POOL: howto manager. (line 791)
+* BFD_RELOC_ARM_JUMP_SLOT: howto manager. (line 722)
+* BFD_RELOC_ARM_LDC_PC_G0: howto manager. (line 752)
+* BFD_RELOC_ARM_LDC_PC_G1: howto manager. (line 753)
+* BFD_RELOC_ARM_LDC_PC_G2: howto manager. (line 754)
+* BFD_RELOC_ARM_LDC_SB_G0: howto manager. (line 766)
+* BFD_RELOC_ARM_LDC_SB_G1: howto manager. (line 767)
+* BFD_RELOC_ARM_LDC_SB_G2: howto manager. (line 768)
+* BFD_RELOC_ARM_LDR_IMM: howto manager. (line 789)
+* BFD_RELOC_ARM_LDR_PC_G0: howto manager. (line 746)
+* BFD_RELOC_ARM_LDR_PC_G1: howto manager. (line 747)
+* BFD_RELOC_ARM_LDR_PC_G2: howto manager. (line 748)
+* BFD_RELOC_ARM_LDR_SB_G0: howto manager. (line 760)
+* BFD_RELOC_ARM_LDR_SB_G1: howto manager. (line 761)
+* BFD_RELOC_ARM_LDR_SB_G2: howto manager. (line 762)
+* BFD_RELOC_ARM_LDRS_PC_G0: howto manager. (line 749)
+* BFD_RELOC_ARM_LDRS_PC_G1: howto manager. (line 750)
+* BFD_RELOC_ARM_LDRS_PC_G2: howto manager. (line 751)
+* BFD_RELOC_ARM_LDRS_SB_G0: howto manager. (line 763)
+* BFD_RELOC_ARM_LDRS_SB_G1: howto manager. (line 764)
+* BFD_RELOC_ARM_LDRS_SB_G2: howto manager. (line 765)
+* BFD_RELOC_ARM_LITERAL: howto manager. (line 790)
+* BFD_RELOC_ARM_MOVT: howto manager. (line 713)
+* BFD_RELOC_ARM_MOVT_PCREL: howto manager. (line 715)
+* BFD_RELOC_ARM_MOVW: howto manager. (line 712)
+* BFD_RELOC_ARM_MOVW_PCREL: howto manager. (line 714)
+* BFD_RELOC_ARM_MULTI: howto manager. (line 783)
+* BFD_RELOC_ARM_OFFSET_IMM: howto manager. (line 686)
+* BFD_RELOC_ARM_OFFSET_IMM8: howto manager. (line 792)
+* BFD_RELOC_ARM_PCREL_BLX: howto manager. (line 657)
+* BFD_RELOC_ARM_PCREL_BRANCH: howto manager. (line 653)
+* BFD_RELOC_ARM_PCREL_CALL: howto manager. (line 667)
+* BFD_RELOC_ARM_PCREL_JUMP: howto manager. (line 671)
+* BFD_RELOC_ARM_PLT32: howto manager. (line 725)
+* BFD_RELOC_ARM_PREL31: howto manager. (line 709)
+* BFD_RELOC_ARM_RELATIVE: howto manager. (line 726)
+* BFD_RELOC_ARM_ROSEGREL32: howto manager. (line 698)
+* BFD_RELOC_ARM_SBREL32: howto manager. (line 701)
+* BFD_RELOC_ARM_SHIFT_IMM: howto manager. (line 780)
+* BFD_RELOC_ARM_SMC: howto manager. (line 781)
+* BFD_RELOC_ARM_SWI: howto manager. (line 782)
+* BFD_RELOC_ARM_T32_ADD_IMM: howto manager. (line 777)
+* BFD_RELOC_ARM_T32_ADD_PC12: howto manager. (line 779)
+* BFD_RELOC_ARM_T32_CP_OFF_IMM: howto manager. (line 786)
+* BFD_RELOC_ARM_T32_CP_OFF_IMM_S2: howto manager. (line 787)
+* BFD_RELOC_ARM_T32_IMM12: howto manager. (line 778)
+* BFD_RELOC_ARM_T32_IMMEDIATE: howto manager. (line 776)
+* BFD_RELOC_ARM_T32_OFFSET_IMM: howto manager. (line 794)
+* BFD_RELOC_ARM_T32_OFFSET_U8: howto manager. (line 793)
+* BFD_RELOC_ARM_TARGET1: howto manager. (line 694)
+* BFD_RELOC_ARM_TARGET2: howto manager. (line 704)
+* BFD_RELOC_ARM_THUMB_ADD: howto manager. (line 796)
+* BFD_RELOC_ARM_THUMB_IMM: howto manager. (line 797)
+* BFD_RELOC_ARM_THUMB_MOVT: howto manager. (line 717)
+* BFD_RELOC_ARM_THUMB_MOVT_PCREL: howto manager. (line 719)
+* BFD_RELOC_ARM_THUMB_MOVW: howto manager. (line 716)
+* BFD_RELOC_ARM_THUMB_MOVW_PCREL: howto manager. (line 718)
+* BFD_RELOC_ARM_THUMB_OFFSET: howto manager. (line 690)
+* BFD_RELOC_ARM_THUMB_SHIFT: howto manager. (line 798)
+* BFD_RELOC_ARM_TLS_DTPMOD32: howto manager. (line 735)
+* BFD_RELOC_ARM_TLS_DTPOFF32: howto manager. (line 734)
+* BFD_RELOC_ARM_TLS_GD32: howto manager. (line 731)
+* BFD_RELOC_ARM_TLS_IE32: howto manager. (line 737)
+* BFD_RELOC_ARM_TLS_LDM32: howto manager. (line 733)
+* BFD_RELOC_ARM_TLS_LDO32: howto manager. (line 732)
+* BFD_RELOC_ARM_TLS_LE32: howto manager. (line 738)
+* BFD_RELOC_ARM_TLS_TPOFF32: howto manager. (line 736)
+* BFD_RELOC_ARM_V4BX: howto manager. (line 771)
+* BFD_RELOC_AVR_13_PCREL: howto manager. (line 1360)
+* BFD_RELOC_AVR_16_PM: howto manager. (line 1364)
+* BFD_RELOC_AVR_6: howto manager. (line 1451)
+* BFD_RELOC_AVR_6_ADIW: howto manager. (line 1455)
+* BFD_RELOC_AVR_7_PCREL: howto manager. (line 1356)
+* BFD_RELOC_AVR_CALL: howto manager. (line 1443)
+* BFD_RELOC_AVR_HH8_LDI: howto manager. (line 1376)
+* BFD_RELOC_AVR_HH8_LDI_NEG: howto manager. (line 1395)
+* BFD_RELOC_AVR_HH8_LDI_PM: howto manager. (line 1424)
+* BFD_RELOC_AVR_HH8_LDI_PM_NEG: howto manager. (line 1438)
+* BFD_RELOC_AVR_HI8_LDI: howto manager. (line 1372)
+* BFD_RELOC_AVR_HI8_LDI_GS: howto manager. (line 1418)
+* BFD_RELOC_AVR_HI8_LDI_NEG: howto manager. (line 1390)
+* BFD_RELOC_AVR_HI8_LDI_PM: howto manager. (line 1414)
+* BFD_RELOC_AVR_HI8_LDI_PM_NEG: howto manager. (line 1433)
+* BFD_RELOC_AVR_LDI: howto manager. (line 1447)
+* BFD_RELOC_AVR_LO8_LDI: howto manager. (line 1368)
+* BFD_RELOC_AVR_LO8_LDI_GS: howto manager. (line 1408)
+* BFD_RELOC_AVR_LO8_LDI_NEG: howto manager. (line 1385)
+* BFD_RELOC_AVR_LO8_LDI_PM: howto manager. (line 1404)
+* BFD_RELOC_AVR_LO8_LDI_PM_NEG: howto manager. (line 1429)
+* BFD_RELOC_AVR_MS8_LDI: howto manager. (line 1381)
+* BFD_RELOC_AVR_MS8_LDI_NEG: howto manager. (line 1400)
+* BFD_RELOC_BFIN_10_PCREL: howto manager. (line 920)
+* BFD_RELOC_BFIN_11_PCREL: howto manager. (line 923)
+* BFD_RELOC_BFIN_12_PCREL_JUMP: howto manager. (line 926)
+* BFD_RELOC_BFIN_12_PCREL_JUMP_S: howto manager. (line 929)
+* BFD_RELOC_BFIN_16_HIGH: howto manager. (line 908)
+* BFD_RELOC_BFIN_16_IMM: howto manager. (line 905)
+* BFD_RELOC_BFIN_16_LOW: howto manager. (line 917)
+* BFD_RELOC_BFIN_24_PCREL_CALL_X: howto manager. (line 932)
+* BFD_RELOC_BFIN_24_PCREL_JUMP_L: howto manager. (line 935)
+* BFD_RELOC_BFIN_4_PCREL: howto manager. (line 911)
+* BFD_RELOC_BFIN_5_PCREL: howto manager. (line 914)
+* BFD_RELOC_BFIN_FUNCDESC: howto manager. (line 941)
+* BFD_RELOC_BFIN_FUNCDESC_GOT17M4: howto manager. (line 942)
+* BFD_RELOC_BFIN_FUNCDESC_GOTHI: howto manager. (line 943)
+* BFD_RELOC_BFIN_FUNCDESC_GOTLO: howto manager. (line 944)
+* BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4: howto manager. (line 946)
+* BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI: howto manager. (line 947)
+* BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO: howto manager. (line 948)
+* BFD_RELOC_BFIN_FUNCDESC_VALUE: howto manager. (line 945)
+* BFD_RELOC_BFIN_GOT: howto manager. (line 954)
+* BFD_RELOC_BFIN_GOT17M4: howto manager. (line 938)
+* BFD_RELOC_BFIN_GOTHI: howto manager. (line 939)
+* BFD_RELOC_BFIN_GOTLO: howto manager. (line 940)
+* BFD_RELOC_BFIN_GOTOFF17M4: howto manager. (line 949)
+* BFD_RELOC_BFIN_GOTOFFHI: howto manager. (line 950)
+* BFD_RELOC_BFIN_GOTOFFLO: howto manager. (line 951)
+* BFD_RELOC_BFIN_PLTPC: howto manager. (line 957)
* bfd_reloc_code_type: howto manager. (line 10)
-* BFD_RELOC_CRIS_16_GOT: howto manager. (line 1807)
-* BFD_RELOC_CRIS_16_GOTPLT: howto manager. (line 1813)
-* BFD_RELOC_CRIS_32_GOT: howto manager. (line 1804)
-* BFD_RELOC_CRIS_32_GOTPLT: howto manager. (line 1810)
-* BFD_RELOC_CRIS_32_GOTREL: howto manager. (line 1816)
-* BFD_RELOC_CRIS_32_PLT_GOTREL: howto manager. (line 1819)
-* BFD_RELOC_CRIS_32_PLT_PCREL: howto manager. (line 1822)
-* BFD_RELOC_CRIS_BDISP8: howto manager. (line 1785)
-* BFD_RELOC_CRIS_COPY: howto manager. (line 1798)
-* BFD_RELOC_CRIS_GLOB_DAT: howto manager. (line 1799)
-* BFD_RELOC_CRIS_JUMP_SLOT: howto manager. (line 1800)
-* BFD_RELOC_CRIS_LAPCQ_OFFSET: howto manager. (line 1793)
-* BFD_RELOC_CRIS_RELATIVE: howto manager. (line 1801)
-* BFD_RELOC_CRIS_SIGNED_16: howto manager. (line 1791)
-* BFD_RELOC_CRIS_SIGNED_6: howto manager. (line 1787)
-* BFD_RELOC_CRIS_SIGNED_8: howto manager. (line 1789)
-* BFD_RELOC_CRIS_UNSIGNED_16: howto manager. (line 1792)
-* BFD_RELOC_CRIS_UNSIGNED_4: howto manager. (line 1794)
-* BFD_RELOC_CRIS_UNSIGNED_5: howto manager. (line 1786)
-* BFD_RELOC_CRIS_UNSIGNED_6: howto manager. (line 1788)
-* BFD_RELOC_CRIS_UNSIGNED_8: howto manager. (line 1790)
-* BFD_RELOC_CRX_ABS16: howto manager. (line 1773)
-* BFD_RELOC_CRX_ABS32: howto manager. (line 1774)
-* BFD_RELOC_CRX_IMM16: howto manager. (line 1778)
-* BFD_RELOC_CRX_IMM32: howto manager. (line 1779)
-* BFD_RELOC_CRX_NUM16: howto manager. (line 1776)
-* BFD_RELOC_CRX_NUM32: howto manager. (line 1777)
-* BFD_RELOC_CRX_NUM8: howto manager. (line 1775)
-* BFD_RELOC_CRX_REGREL12: howto manager. (line 1769)
-* BFD_RELOC_CRX_REGREL22: howto manager. (line 1770)
-* BFD_RELOC_CRX_REGREL28: howto manager. (line 1771)
-* BFD_RELOC_CRX_REGREL32: howto manager. (line 1772)
-* BFD_RELOC_CRX_REL16: howto manager. (line 1766)
-* BFD_RELOC_CRX_REL24: howto manager. (line 1767)
-* BFD_RELOC_CRX_REL32: howto manager. (line 1768)
-* BFD_RELOC_CRX_REL4: howto manager. (line 1763)
-* BFD_RELOC_CRX_REL8: howto manager. (line 1764)
-* BFD_RELOC_CRX_REL8_CMP: howto manager. (line 1765)
-* BFD_RELOC_CRX_SWITCH16: howto manager. (line 1781)
-* BFD_RELOC_CRX_SWITCH32: howto manager. (line 1782)
-* BFD_RELOC_CRX_SWITCH8: howto manager. (line 1780)
-* BFD_RELOC_CTOR: howto manager. (line 626)
-* BFD_RELOC_D10V_10_PCREL_L: howto manager. (line 1000)
-* BFD_RELOC_D10V_10_PCREL_R: howto manager. (line 996)
-* BFD_RELOC_D10V_18: howto manager. (line 1005)
-* BFD_RELOC_D10V_18_PCREL: howto manager. (line 1008)
-* BFD_RELOC_D30V_15: howto manager. (line 1023)
-* BFD_RELOC_D30V_15_PCREL: howto manager. (line 1027)
-* BFD_RELOC_D30V_15_PCREL_R: howto manager. (line 1031)
-* BFD_RELOC_D30V_21: howto manager. (line 1036)
-* BFD_RELOC_D30V_21_PCREL: howto manager. (line 1040)
-* BFD_RELOC_D30V_21_PCREL_R: howto manager. (line 1044)
-* BFD_RELOC_D30V_32: howto manager. (line 1049)
-* BFD_RELOC_D30V_32_PCREL: howto manager. (line 1052)
-* BFD_RELOC_D30V_6: howto manager. (line 1011)
-* BFD_RELOC_D30V_9_PCREL: howto manager. (line 1014)
-* BFD_RELOC_D30V_9_PCREL_R: howto manager. (line 1018)
-* BFD_RELOC_DLX_HI16_S: howto manager. (line 1055)
-* BFD_RELOC_DLX_JMP26: howto manager. (line 1061)
-* BFD_RELOC_DLX_LO16: howto manager. (line 1058)
-* BFD_RELOC_FR30_10_IN_8: howto manager. (line 1240)
-* BFD_RELOC_FR30_12_PCREL: howto manager. (line 1248)
-* BFD_RELOC_FR30_20: howto manager. (line 1224)
-* BFD_RELOC_FR30_48: howto manager. (line 1221)
-* BFD_RELOC_FR30_6_IN_4: howto manager. (line 1228)
-* BFD_RELOC_FR30_8_IN_8: howto manager. (line 1232)
-* BFD_RELOC_FR30_9_IN_8: howto manager. (line 1236)
-* BFD_RELOC_FR30_9_PCREL: howto manager. (line 1244)
-* BFD_RELOC_FRV_FUNCDESC: howto manager. (line 391)
-* BFD_RELOC_FRV_FUNCDESC_GOT12: howto manager. (line 392)
-* BFD_RELOC_FRV_FUNCDESC_GOTHI: howto manager. (line 393)
-* BFD_RELOC_FRV_FUNCDESC_GOTLO: howto manager. (line 394)
-* BFD_RELOC_FRV_FUNCDESC_GOTOFF12: howto manager. (line 396)
-* BFD_RELOC_FRV_FUNCDESC_GOTOFFHI: howto manager. (line 397)
-* BFD_RELOC_FRV_FUNCDESC_GOTOFFLO: howto manager. (line 398)
-* BFD_RELOC_FRV_FUNCDESC_VALUE: howto manager. (line 395)
-* BFD_RELOC_FRV_GETTLSOFF: howto manager. (line 402)
-* BFD_RELOC_FRV_GETTLSOFF_RELAX: howto manager. (line 415)
-* BFD_RELOC_FRV_GOT12: howto manager. (line 388)
-* BFD_RELOC_FRV_GOTHI: howto manager. (line 389)
-* BFD_RELOC_FRV_GOTLO: howto manager. (line 390)
-* BFD_RELOC_FRV_GOTOFF12: howto manager. (line 399)
-* BFD_RELOC_FRV_GOTOFFHI: howto manager. (line 400)
-* BFD_RELOC_FRV_GOTOFFLO: howto manager. (line 401)
-* BFD_RELOC_FRV_GOTTLSDESC12: howto manager. (line 404)
-* BFD_RELOC_FRV_GOTTLSDESCHI: howto manager. (line 405)
-* BFD_RELOC_FRV_GOTTLSDESCLO: howto manager. (line 406)
-* BFD_RELOC_FRV_GOTTLSOFF12: howto manager. (line 410)
-* BFD_RELOC_FRV_GOTTLSOFFHI: howto manager. (line 411)
-* BFD_RELOC_FRV_GOTTLSOFFLO: howto manager. (line 412)
-* BFD_RELOC_FRV_GPREL12: howto manager. (line 383)
-* BFD_RELOC_FRV_GPREL32: howto manager. (line 385)
-* BFD_RELOC_FRV_GPRELHI: howto manager. (line 386)
-* BFD_RELOC_FRV_GPRELLO: howto manager. (line 387)
-* BFD_RELOC_FRV_GPRELU12: howto manager. (line 384)
-* BFD_RELOC_FRV_HI16: howto manager. (line 382)
-* BFD_RELOC_FRV_LABEL16: howto manager. (line 379)
-* BFD_RELOC_FRV_LABEL24: howto manager. (line 380)
-* BFD_RELOC_FRV_LO16: howto manager. (line 381)
-* BFD_RELOC_FRV_TLSDESC_RELAX: howto manager. (line 414)
-* BFD_RELOC_FRV_TLSDESC_VALUE: howto manager. (line 403)
-* BFD_RELOC_FRV_TLSMOFF: howto manager. (line 417)
-* BFD_RELOC_FRV_TLSMOFF12: howto manager. (line 407)
-* BFD_RELOC_FRV_TLSMOFFHI: howto manager. (line 408)
-* BFD_RELOC_FRV_TLSMOFFLO: howto manager. (line 409)
-* BFD_RELOC_FRV_TLSOFF: howto manager. (line 413)
-* BFD_RELOC_FRV_TLSOFF_RELAX: howto manager. (line 416)
+* BFD_RELOC_CR16_ABS20: howto manager. (line 1821)
+* BFD_RELOC_CR16_ABS24: howto manager. (line 1822)
+* BFD_RELOC_CR16_DISP16: howto manager. (line 1832)
+* BFD_RELOC_CR16_DISP20: howto manager. (line 1833)
+* BFD_RELOC_CR16_DISP24: howto manager. (line 1834)
+* BFD_RELOC_CR16_DISP24a: howto manager. (line 1835)
+* BFD_RELOC_CR16_DISP4: howto manager. (line 1830)
+* BFD_RELOC_CR16_DISP8: howto manager. (line 1831)
+* BFD_RELOC_CR16_IMM16: howto manager. (line 1825)
+* BFD_RELOC_CR16_IMM20: howto manager. (line 1826)
+* BFD_RELOC_CR16_IMM24: howto manager. (line 1827)
+* BFD_RELOC_CR16_IMM32: howto manager. (line 1828)
+* BFD_RELOC_CR16_IMM32a: howto manager. (line 1829)
+* BFD_RELOC_CR16_IMM4: howto manager. (line 1823)
+* BFD_RELOC_CR16_IMM8: howto manager. (line 1824)
+* BFD_RELOC_CR16_NUM16: howto manager. (line 1810)
+* BFD_RELOC_CR16_NUM32: howto manager. (line 1811)
+* BFD_RELOC_CR16_NUM32a: howto manager. (line 1812)
+* BFD_RELOC_CR16_NUM8: howto manager. (line 1809)
+* BFD_RELOC_CR16_REGREL0: howto manager. (line 1813)
+* BFD_RELOC_CR16_REGREL14: howto manager. (line 1816)
+* BFD_RELOC_CR16_REGREL14a: howto manager. (line 1817)
+* BFD_RELOC_CR16_REGREL16: howto manager. (line 1818)
+* BFD_RELOC_CR16_REGREL20: howto manager. (line 1819)
+* BFD_RELOC_CR16_REGREL20a: howto manager. (line 1820)
+* BFD_RELOC_CR16_REGREL4: howto manager. (line 1814)
+* BFD_RELOC_CR16_REGREL4a: howto manager. (line 1815)
+* BFD_RELOC_CR16_SWITCH16: howto manager. (line 1837)
+* BFD_RELOC_CR16_SWITCH32: howto manager. (line 1838)
+* BFD_RELOC_CR16_SWITCH8: howto manager. (line 1836)
+* BFD_RELOC_CRIS_16_GOT: howto manager. (line 1885)
+* BFD_RELOC_CRIS_16_GOTPLT: howto manager. (line 1891)
+* BFD_RELOC_CRIS_32_GOT: howto manager. (line 1882)
+* BFD_RELOC_CRIS_32_GOTPLT: howto manager. (line 1888)
+* BFD_RELOC_CRIS_32_GOTREL: howto manager. (line 1894)
+* BFD_RELOC_CRIS_32_PLT_GOTREL: howto manager. (line 1897)
+* BFD_RELOC_CRIS_32_PLT_PCREL: howto manager. (line 1900)
+* BFD_RELOC_CRIS_BDISP8: howto manager. (line 1863)
+* BFD_RELOC_CRIS_COPY: howto manager. (line 1876)
+* BFD_RELOC_CRIS_GLOB_DAT: howto manager. (line 1877)
+* BFD_RELOC_CRIS_JUMP_SLOT: howto manager. (line 1878)
+* BFD_RELOC_CRIS_LAPCQ_OFFSET: howto manager. (line 1871)
+* BFD_RELOC_CRIS_RELATIVE: howto manager. (line 1879)
+* BFD_RELOC_CRIS_SIGNED_16: howto manager. (line 1869)
+* BFD_RELOC_CRIS_SIGNED_6: howto manager. (line 1865)
+* BFD_RELOC_CRIS_SIGNED_8: howto manager. (line 1867)
+* BFD_RELOC_CRIS_UNSIGNED_16: howto manager. (line 1870)
+* BFD_RELOC_CRIS_UNSIGNED_4: howto manager. (line 1872)
+* BFD_RELOC_CRIS_UNSIGNED_5: howto manager. (line 1864)
+* BFD_RELOC_CRIS_UNSIGNED_6: howto manager. (line 1866)
+* BFD_RELOC_CRIS_UNSIGNED_8: howto manager. (line 1868)
+* BFD_RELOC_CRX_ABS16: howto manager. (line 1851)
+* BFD_RELOC_CRX_ABS32: howto manager. (line 1852)
+* BFD_RELOC_CRX_IMM16: howto manager. (line 1856)
+* BFD_RELOC_CRX_IMM32: howto manager. (line 1857)
+* BFD_RELOC_CRX_NUM16: howto manager. (line 1854)
+* BFD_RELOC_CRX_NUM32: howto manager. (line 1855)
+* BFD_RELOC_CRX_NUM8: howto manager. (line 1853)
+* BFD_RELOC_CRX_REGREL12: howto manager. (line 1847)
+* BFD_RELOC_CRX_REGREL22: howto manager. (line 1848)
+* BFD_RELOC_CRX_REGREL28: howto manager. (line 1849)
+* BFD_RELOC_CRX_REGREL32: howto manager. (line 1850)
+* BFD_RELOC_CRX_REL16: howto manager. (line 1844)
+* BFD_RELOC_CRX_REL24: howto manager. (line 1845)
+* BFD_RELOC_CRX_REL32: howto manager. (line 1846)
+* BFD_RELOC_CRX_REL4: howto manager. (line 1841)
+* BFD_RELOC_CRX_REL8: howto manager. (line 1842)
+* BFD_RELOC_CRX_REL8_CMP: howto manager. (line 1843)
+* BFD_RELOC_CRX_SWITCH16: howto manager. (line 1859)
+* BFD_RELOC_CRX_SWITCH32: howto manager. (line 1860)
+* BFD_RELOC_CRX_SWITCH8: howto manager. (line 1858)
+* BFD_RELOC_CTOR: howto manager. (line 647)
+* BFD_RELOC_D10V_10_PCREL_L: howto manager. (line 1024)
+* BFD_RELOC_D10V_10_PCREL_R: howto manager. (line 1020)
+* BFD_RELOC_D10V_18: howto manager. (line 1029)
+* BFD_RELOC_D10V_18_PCREL: howto manager. (line 1032)
+* BFD_RELOC_D30V_15: howto manager. (line 1047)
+* BFD_RELOC_D30V_15_PCREL: howto manager. (line 1051)
+* BFD_RELOC_D30V_15_PCREL_R: howto manager. (line 1055)
+* BFD_RELOC_D30V_21: howto manager. (line 1060)
+* BFD_RELOC_D30V_21_PCREL: howto manager. (line 1064)
+* BFD_RELOC_D30V_21_PCREL_R: howto manager. (line 1068)
+* BFD_RELOC_D30V_32: howto manager. (line 1073)
+* BFD_RELOC_D30V_32_PCREL: howto manager. (line 1076)
+* BFD_RELOC_D30V_6: howto manager. (line 1035)
+* BFD_RELOC_D30V_9_PCREL: howto manager. (line 1038)
+* BFD_RELOC_D30V_9_PCREL_R: howto manager. (line 1042)
+* BFD_RELOC_DLX_HI16_S: howto manager. (line 1079)
+* BFD_RELOC_DLX_JMP26: howto manager. (line 1085)
+* BFD_RELOC_DLX_LO16: howto manager. (line 1082)
+* BFD_RELOC_FR30_10_IN_8: howto manager. (line 1264)
+* BFD_RELOC_FR30_12_PCREL: howto manager. (line 1272)
+* BFD_RELOC_FR30_20: howto manager. (line 1248)
+* BFD_RELOC_FR30_48: howto manager. (line 1245)
+* BFD_RELOC_FR30_6_IN_4: howto manager. (line 1252)
+* BFD_RELOC_FR30_8_IN_8: howto manager. (line 1256)
+* BFD_RELOC_FR30_9_IN_8: howto manager. (line 1260)
+* BFD_RELOC_FR30_9_PCREL: howto manager. (line 1268)
+* BFD_RELOC_FRV_FUNCDESC: howto manager. (line 403)
+* BFD_RELOC_FRV_FUNCDESC_GOT12: howto manager. (line 404)
+* BFD_RELOC_FRV_FUNCDESC_GOTHI: howto manager. (line 405)
+* BFD_RELOC_FRV_FUNCDESC_GOTLO: howto manager. (line 406)
+* BFD_RELOC_FRV_FUNCDESC_GOTOFF12: howto manager. (line 408)
+* BFD_RELOC_FRV_FUNCDESC_GOTOFFHI: howto manager. (line 409)
+* BFD_RELOC_FRV_FUNCDESC_GOTOFFLO: howto manager. (line 410)
+* BFD_RELOC_FRV_FUNCDESC_VALUE: howto manager. (line 407)
+* BFD_RELOC_FRV_GETTLSOFF: howto manager. (line 414)
+* BFD_RELOC_FRV_GETTLSOFF_RELAX: howto manager. (line 427)
+* BFD_RELOC_FRV_GOT12: howto manager. (line 400)
+* BFD_RELOC_FRV_GOTHI: howto manager. (line 401)
+* BFD_RELOC_FRV_GOTLO: howto manager. (line 402)
+* BFD_RELOC_FRV_GOTOFF12: howto manager. (line 411)
+* BFD_RELOC_FRV_GOTOFFHI: howto manager. (line 412)
+* BFD_RELOC_FRV_GOTOFFLO: howto manager. (line 413)
+* BFD_RELOC_FRV_GOTTLSDESC12: howto manager. (line 416)
+* BFD_RELOC_FRV_GOTTLSDESCHI: howto manager. (line 417)
+* BFD_RELOC_FRV_GOTTLSDESCLO: howto manager. (line 418)
+* BFD_RELOC_FRV_GOTTLSOFF12: howto manager. (line 422)
+* BFD_RELOC_FRV_GOTTLSOFFHI: howto manager. (line 423)
+* BFD_RELOC_FRV_GOTTLSOFFLO: howto manager. (line 424)
+* BFD_RELOC_FRV_GPREL12: howto manager. (line 395)
+* BFD_RELOC_FRV_GPREL32: howto manager. (line 397)
+* BFD_RELOC_FRV_GPRELHI: howto manager. (line 398)
+* BFD_RELOC_FRV_GPRELLO: howto manager. (line 399)
+* BFD_RELOC_FRV_GPRELU12: howto manager. (line 396)
+* BFD_RELOC_FRV_HI16: howto manager. (line 394)
+* BFD_RELOC_FRV_LABEL16: howto manager. (line 391)
+* BFD_RELOC_FRV_LABEL24: howto manager. (line 392)
+* BFD_RELOC_FRV_LO16: howto manager. (line 393)
+* BFD_RELOC_FRV_TLSDESC_RELAX: howto manager. (line 426)
+* BFD_RELOC_FRV_TLSDESC_VALUE: howto manager. (line 415)
+* BFD_RELOC_FRV_TLSMOFF: howto manager. (line 429)
+* BFD_RELOC_FRV_TLSMOFF12: howto manager. (line 419)
+* BFD_RELOC_FRV_TLSMOFFHI: howto manager. (line 420)
+* BFD_RELOC_FRV_TLSMOFFLO: howto manager. (line 421)
+* BFD_RELOC_FRV_TLSOFF: howto manager. (line 425)
+* BFD_RELOC_FRV_TLSOFF_RELAX: howto manager. (line 428)
* BFD_RELOC_GPREL16: howto manager. (line 106)
* BFD_RELOC_GPREL32: howto manager. (line 107)
-* BFD_RELOC_H8_DIR16A8: howto manager. (line 1864)
-* BFD_RELOC_H8_DIR16R8: howto manager. (line 1865)
-* BFD_RELOC_H8_DIR24A8: howto manager. (line 1866)
-* BFD_RELOC_H8_DIR24R8: howto manager. (line 1867)
-* BFD_RELOC_H8_DIR32A16: howto manager. (line 1868)
-* BFD_RELOC_HI16: howto manager. (line 303)
+* BFD_RELOC_H8_DIR16A8: howto manager. (line 1942)
+* BFD_RELOC_H8_DIR16R8: howto manager. (line 1943)
+* BFD_RELOC_H8_DIR24A8: howto manager. (line 1944)
+* BFD_RELOC_H8_DIR24R8: howto manager. (line 1945)
+* BFD_RELOC_H8_DIR32A16: howto manager. (line 1946)
+* BFD_RELOC_HI16: howto manager. (line 310)
* BFD_RELOC_HI16_BASEREL: howto manager. (line 82)
* BFD_RELOC_HI16_GOTOFF: howto manager. (line 57)
-* BFD_RELOC_HI16_PCREL: howto manager. (line 315)
+* BFD_RELOC_HI16_PCREL: howto manager. (line 322)
* BFD_RELOC_HI16_PLTOFF: howto manager. (line 69)
-* BFD_RELOC_HI16_S: howto manager. (line 306)
+* BFD_RELOC_HI16_S: howto manager. (line 313)
* BFD_RELOC_HI16_S_BASEREL: howto manager. (line 83)
* BFD_RELOC_HI16_S_GOTOFF: howto manager. (line 58)
-* BFD_RELOC_HI16_S_PCREL: howto manager. (line 318)
+* BFD_RELOC_HI16_S_PCREL: howto manager. (line 325)
* BFD_RELOC_HI16_S_PLTOFF: howto manager. (line 70)
* BFD_RELOC_HI22: howto manager. (line 101)
-* BFD_RELOC_I370_D12: howto manager. (line 623)
+* BFD_RELOC_I370_D12: howto manager. (line 644)
* BFD_RELOC_I960_CALLJ: howto manager. (line 113)
-* BFD_RELOC_IA64_COPY: howto manager. (line 1657)
-* BFD_RELOC_IA64_DIR32LSB: howto manager. (line 1602)
-* BFD_RELOC_IA64_DIR32MSB: howto manager. (line 1601)
-* BFD_RELOC_IA64_DIR64LSB: howto manager. (line 1604)
-* BFD_RELOC_IA64_DIR64MSB: howto manager. (line 1603)
-* BFD_RELOC_IA64_DTPMOD64LSB: howto manager. (line 1667)
-* BFD_RELOC_IA64_DTPMOD64MSB: howto manager. (line 1666)
-* BFD_RELOC_IA64_DTPREL14: howto manager. (line 1669)
-* BFD_RELOC_IA64_DTPREL22: howto manager. (line 1670)
-* BFD_RELOC_IA64_DTPREL32LSB: howto manager. (line 1673)
-* BFD_RELOC_IA64_DTPREL32MSB: howto manager. (line 1672)
-* BFD_RELOC_IA64_DTPREL64I: howto manager. (line 1671)
-* BFD_RELOC_IA64_DTPREL64LSB: howto manager. (line 1675)
-* BFD_RELOC_IA64_DTPREL64MSB: howto manager. (line 1674)
-* BFD_RELOC_IA64_FPTR32LSB: howto manager. (line 1619)
-* BFD_RELOC_IA64_FPTR32MSB: howto manager. (line 1618)
-* BFD_RELOC_IA64_FPTR64I: howto manager. (line 1617)
-* BFD_RELOC_IA64_FPTR64LSB: howto manager. (line 1621)
-* BFD_RELOC_IA64_FPTR64MSB: howto manager. (line 1620)
-* BFD_RELOC_IA64_GPREL22: howto manager. (line 1605)
-* BFD_RELOC_IA64_GPREL32LSB: howto manager. (line 1608)
-* BFD_RELOC_IA64_GPREL32MSB: howto manager. (line 1607)
-* BFD_RELOC_IA64_GPREL64I: howto manager. (line 1606)
-* BFD_RELOC_IA64_GPREL64LSB: howto manager. (line 1610)
-* BFD_RELOC_IA64_GPREL64MSB: howto manager. (line 1609)
-* BFD_RELOC_IA64_IMM14: howto manager. (line 1598)
-* BFD_RELOC_IA64_IMM22: howto manager. (line 1599)
-* BFD_RELOC_IA64_IMM64: howto manager. (line 1600)
-* BFD_RELOC_IA64_IPLTLSB: howto manager. (line 1656)
-* BFD_RELOC_IA64_IPLTMSB: howto manager. (line 1655)
-* BFD_RELOC_IA64_LDXMOV: howto manager. (line 1659)
-* BFD_RELOC_IA64_LTOFF22: howto manager. (line 1611)
-* BFD_RELOC_IA64_LTOFF22X: howto manager. (line 1658)
-* BFD_RELOC_IA64_LTOFF64I: howto manager. (line 1612)
-* BFD_RELOC_IA64_LTOFF_DTPMOD22: howto manager. (line 1668)
-* BFD_RELOC_IA64_LTOFF_DTPREL22: howto manager. (line 1676)
-* BFD_RELOC_IA64_LTOFF_FPTR22: howto manager. (line 1633)
-* BFD_RELOC_IA64_LTOFF_FPTR32LSB: howto manager. (line 1636)
-* BFD_RELOC_IA64_LTOFF_FPTR32MSB: howto manager. (line 1635)
-* BFD_RELOC_IA64_LTOFF_FPTR64I: howto manager. (line 1634)
-* BFD_RELOC_IA64_LTOFF_FPTR64LSB: howto manager. (line 1638)
-* BFD_RELOC_IA64_LTOFF_FPTR64MSB: howto manager. (line 1637)
-* BFD_RELOC_IA64_LTOFF_TPREL22: howto manager. (line 1665)
-* BFD_RELOC_IA64_LTV32LSB: howto manager. (line 1652)
-* BFD_RELOC_IA64_LTV32MSB: howto manager. (line 1651)
-* BFD_RELOC_IA64_LTV64LSB: howto manager. (line 1654)
-* BFD_RELOC_IA64_LTV64MSB: howto manager. (line 1653)
-* BFD_RELOC_IA64_PCREL21B: howto manager. (line 1622)
-* BFD_RELOC_IA64_PCREL21BI: howto manager. (line 1623)
-* BFD_RELOC_IA64_PCREL21F: howto manager. (line 1625)
-* BFD_RELOC_IA64_PCREL21M: howto manager. (line 1624)
-* BFD_RELOC_IA64_PCREL22: howto manager. (line 1626)
-* BFD_RELOC_IA64_PCREL32LSB: howto manager. (line 1630)
-* BFD_RELOC_IA64_PCREL32MSB: howto manager. (line 1629)
-* BFD_RELOC_IA64_PCREL60B: howto manager. (line 1627)
-* BFD_RELOC_IA64_PCREL64I: howto manager. (line 1628)
-* BFD_RELOC_IA64_PCREL64LSB: howto manager. (line 1632)
-* BFD_RELOC_IA64_PCREL64MSB: howto manager. (line 1631)
-* BFD_RELOC_IA64_PLTOFF22: howto manager. (line 1613)
-* BFD_RELOC_IA64_PLTOFF64I: howto manager. (line 1614)
-* BFD_RELOC_IA64_PLTOFF64LSB: howto manager. (line 1616)
-* BFD_RELOC_IA64_PLTOFF64MSB: howto manager. (line 1615)
-* BFD_RELOC_IA64_REL32LSB: howto manager. (line 1648)
-* BFD_RELOC_IA64_REL32MSB: howto manager. (line 1647)
-* BFD_RELOC_IA64_REL64LSB: howto manager. (line 1650)
-* BFD_RELOC_IA64_REL64MSB: howto manager. (line 1649)
-* BFD_RELOC_IA64_SECREL32LSB: howto manager. (line 1644)
-* BFD_RELOC_IA64_SECREL32MSB: howto manager. (line 1643)
-* BFD_RELOC_IA64_SECREL64LSB: howto manager. (line 1646)
-* BFD_RELOC_IA64_SECREL64MSB: howto manager. (line 1645)
-* BFD_RELOC_IA64_SEGREL32LSB: howto manager. (line 1640)
-* BFD_RELOC_IA64_SEGREL32MSB: howto manager. (line 1639)
-* BFD_RELOC_IA64_SEGREL64LSB: howto manager. (line 1642)
-* BFD_RELOC_IA64_SEGREL64MSB: howto manager. (line 1641)
-* BFD_RELOC_IA64_TPREL14: howto manager. (line 1660)
-* BFD_RELOC_IA64_TPREL22: howto manager. (line 1661)
-* BFD_RELOC_IA64_TPREL64I: howto manager. (line 1662)
-* BFD_RELOC_IA64_TPREL64LSB: howto manager. (line 1664)
-* BFD_RELOC_IA64_TPREL64MSB: howto manager. (line 1663)
-* BFD_RELOC_IP2K_ADDR16CJP: howto manager. (line 1550)
-* BFD_RELOC_IP2K_BANK: howto manager. (line 1547)
-* BFD_RELOC_IP2K_EX8DATA: howto manager. (line 1558)
-* BFD_RELOC_IP2K_FR9: howto manager. (line 1544)
-* BFD_RELOC_IP2K_FR_OFFSET: howto manager. (line 1571)
-* BFD_RELOC_IP2K_HI8DATA: howto manager. (line 1557)
-* BFD_RELOC_IP2K_HI8INSN: howto manager. (line 1562)
-* BFD_RELOC_IP2K_LO8DATA: howto manager. (line 1556)
-* BFD_RELOC_IP2K_LO8INSN: howto manager. (line 1561)
-* BFD_RELOC_IP2K_PAGE3: howto manager. (line 1553)
-* BFD_RELOC_IP2K_PC_SKIP: howto manager. (line 1565)
-* BFD_RELOC_IP2K_TEXT: howto manager. (line 1568)
-* BFD_RELOC_IQ2000_OFFSET_16: howto manager. (line 1915)
-* BFD_RELOC_IQ2000_OFFSET_21: howto manager. (line 1916)
-* BFD_RELOC_IQ2000_UHI16: howto manager. (line 1917)
+* BFD_RELOC_IA64_COPY: howto manager. (line 1703)
+* BFD_RELOC_IA64_DIR32LSB: howto manager. (line 1648)
+* BFD_RELOC_IA64_DIR32MSB: howto manager. (line 1647)
+* BFD_RELOC_IA64_DIR64LSB: howto manager. (line 1650)
+* BFD_RELOC_IA64_DIR64MSB: howto manager. (line 1649)
+* BFD_RELOC_IA64_DTPMOD64LSB: howto manager. (line 1713)
+* BFD_RELOC_IA64_DTPMOD64MSB: howto manager. (line 1712)
+* BFD_RELOC_IA64_DTPREL14: howto manager. (line 1715)
+* BFD_RELOC_IA64_DTPREL22: howto manager. (line 1716)
+* BFD_RELOC_IA64_DTPREL32LSB: howto manager. (line 1719)
+* BFD_RELOC_IA64_DTPREL32MSB: howto manager. (line 1718)
+* BFD_RELOC_IA64_DTPREL64I: howto manager. (line 1717)
+* BFD_RELOC_IA64_DTPREL64LSB: howto manager. (line 1721)
+* BFD_RELOC_IA64_DTPREL64MSB: howto manager. (line 1720)
+* BFD_RELOC_IA64_FPTR32LSB: howto manager. (line 1665)
+* BFD_RELOC_IA64_FPTR32MSB: howto manager. (line 1664)
+* BFD_RELOC_IA64_FPTR64I: howto manager. (line 1663)
+* BFD_RELOC_IA64_FPTR64LSB: howto manager. (line 1667)
+* BFD_RELOC_IA64_FPTR64MSB: howto manager. (line 1666)
+* BFD_RELOC_IA64_GPREL22: howto manager. (line 1651)
+* BFD_RELOC_IA64_GPREL32LSB: howto manager. (line 1654)
+* BFD_RELOC_IA64_GPREL32MSB: howto manager. (line 1653)
+* BFD_RELOC_IA64_GPREL64I: howto manager. (line 1652)
+* BFD_RELOC_IA64_GPREL64LSB: howto manager. (line 1656)
+* BFD_RELOC_IA64_GPREL64MSB: howto manager. (line 1655)
+* BFD_RELOC_IA64_IMM14: howto manager. (line 1644)
+* BFD_RELOC_IA64_IMM22: howto manager. (line 1645)
+* BFD_RELOC_IA64_IMM64: howto manager. (line 1646)
+* BFD_RELOC_IA64_IPLTLSB: howto manager. (line 1702)
+* BFD_RELOC_IA64_IPLTMSB: howto manager. (line 1701)
+* BFD_RELOC_IA64_LDXMOV: howto manager. (line 1705)
+* BFD_RELOC_IA64_LTOFF22: howto manager. (line 1657)
+* BFD_RELOC_IA64_LTOFF22X: howto manager. (line 1704)
+* BFD_RELOC_IA64_LTOFF64I: howto manager. (line 1658)
+* BFD_RELOC_IA64_LTOFF_DTPMOD22: howto manager. (line 1714)
+* BFD_RELOC_IA64_LTOFF_DTPREL22: howto manager. (line 1722)
+* BFD_RELOC_IA64_LTOFF_FPTR22: howto manager. (line 1679)
+* BFD_RELOC_IA64_LTOFF_FPTR32LSB: howto manager. (line 1682)
+* BFD_RELOC_IA64_LTOFF_FPTR32MSB: howto manager. (line 1681)
+* BFD_RELOC_IA64_LTOFF_FPTR64I: howto manager. (line 1680)
+* BFD_RELOC_IA64_LTOFF_FPTR64LSB: howto manager. (line 1684)
+* BFD_RELOC_IA64_LTOFF_FPTR64MSB: howto manager. (line 1683)
+* BFD_RELOC_IA64_LTOFF_TPREL22: howto manager. (line 1711)
+* BFD_RELOC_IA64_LTV32LSB: howto manager. (line 1698)
+* BFD_RELOC_IA64_LTV32MSB: howto manager. (line 1697)
+* BFD_RELOC_IA64_LTV64LSB: howto manager. (line 1700)
+* BFD_RELOC_IA64_LTV64MSB: howto manager. (line 1699)
+* BFD_RELOC_IA64_PCREL21B: howto manager. (line 1668)
+* BFD_RELOC_IA64_PCREL21BI: howto manager. (line 1669)
+* BFD_RELOC_IA64_PCREL21F: howto manager. (line 1671)
+* BFD_RELOC_IA64_PCREL21M: howto manager. (line 1670)
+* BFD_RELOC_IA64_PCREL22: howto manager. (line 1672)
+* BFD_RELOC_IA64_PCREL32LSB: howto manager. (line 1676)
+* BFD_RELOC_IA64_PCREL32MSB: howto manager. (line 1675)
+* BFD_RELOC_IA64_PCREL60B: howto manager. (line 1673)
+* BFD_RELOC_IA64_PCREL64I: howto manager. (line 1674)
+* BFD_RELOC_IA64_PCREL64LSB: howto manager. (line 1678)
+* BFD_RELOC_IA64_PCREL64MSB: howto manager. (line 1677)
+* BFD_RELOC_IA64_PLTOFF22: howto manager. (line 1659)
+* BFD_RELOC_IA64_PLTOFF64I: howto manager. (line 1660)
+* BFD_RELOC_IA64_PLTOFF64LSB: howto manager. (line 1662)
+* BFD_RELOC_IA64_PLTOFF64MSB: howto manager. (line 1661)
+* BFD_RELOC_IA64_REL32LSB: howto manager. (line 1694)
+* BFD_RELOC_IA64_REL32MSB: howto manager. (line 1693)
+* BFD_RELOC_IA64_REL64LSB: howto manager. (line 1696)
+* BFD_RELOC_IA64_REL64MSB: howto manager. (line 1695)
+* BFD_RELOC_IA64_SECREL32LSB: howto manager. (line 1690)
+* BFD_RELOC_IA64_SECREL32MSB: howto manager. (line 1689)
+* BFD_RELOC_IA64_SECREL64LSB: howto manager. (line 1692)
+* BFD_RELOC_IA64_SECREL64MSB: howto manager. (line 1691)
+* BFD_RELOC_IA64_SEGREL32LSB: howto manager. (line 1686)
+* BFD_RELOC_IA64_SEGREL32MSB: howto manager. (line 1685)
+* BFD_RELOC_IA64_SEGREL64LSB: howto manager. (line 1688)
+* BFD_RELOC_IA64_SEGREL64MSB: howto manager. (line 1687)
+* BFD_RELOC_IA64_TPREL14: howto manager. (line 1706)
+* BFD_RELOC_IA64_TPREL22: howto manager. (line 1707)
+* BFD_RELOC_IA64_TPREL64I: howto manager. (line 1708)
+* BFD_RELOC_IA64_TPREL64LSB: howto manager. (line 1710)
+* BFD_RELOC_IA64_TPREL64MSB: howto manager. (line 1709)
+* BFD_RELOC_IP2K_ADDR16CJP: howto manager. (line 1596)
+* BFD_RELOC_IP2K_BANK: howto manager. (line 1593)
+* BFD_RELOC_IP2K_EX8DATA: howto manager. (line 1604)
+* BFD_RELOC_IP2K_FR9: howto manager. (line 1590)
+* BFD_RELOC_IP2K_FR_OFFSET: howto manager. (line 1617)
+* BFD_RELOC_IP2K_HI8DATA: howto manager. (line 1603)
+* BFD_RELOC_IP2K_HI8INSN: howto manager. (line 1608)
+* BFD_RELOC_IP2K_LO8DATA: howto manager. (line 1602)
+* BFD_RELOC_IP2K_LO8INSN: howto manager. (line 1607)
+* BFD_RELOC_IP2K_PAGE3: howto manager. (line 1599)
+* BFD_RELOC_IP2K_PC_SKIP: howto manager. (line 1611)
+* BFD_RELOC_IP2K_TEXT: howto manager. (line 1614)
+* BFD_RELOC_IQ2000_OFFSET_16: howto manager. (line 1996)
+* BFD_RELOC_IQ2000_OFFSET_21: howto manager. (line 1997)
+* BFD_RELOC_IQ2000_UHI16: howto manager. (line 1998)
* BFD_RELOC_LO10: howto manager. (line 102)
-* BFD_RELOC_LO16: howto manager. (line 312)
+* BFD_RELOC_LO16: howto manager. (line 319)
* BFD_RELOC_LO16_BASEREL: howto manager. (line 81)
* BFD_RELOC_LO16_GOTOFF: howto manager. (line 56)
-* BFD_RELOC_LO16_PCREL: howto manager. (line 321)
+* BFD_RELOC_LO16_PCREL: howto manager. (line 328)
* BFD_RELOC_LO16_PLTOFF: howto manager. (line 68)
-* BFD_RELOC_M32C_HI8: howto manager. (line 1064)
-* BFD_RELOC_M32C_RL_1ADDR: howto manager. (line 1066)
-* BFD_RELOC_M32C_RL_2ADDR: howto manager. (line 1067)
-* BFD_RELOC_M32C_RL_JUMP: howto manager. (line 1065)
-* BFD_RELOC_M32R_10_PCREL: howto manager. (line 1074)
-* BFD_RELOC_M32R_18_PCREL: howto manager. (line 1078)
-* BFD_RELOC_M32R_24: howto manager. (line 1070)
-* BFD_RELOC_M32R_26_PCREL: howto manager. (line 1081)
-* BFD_RELOC_M32R_26_PLTREL: howto manager. (line 1100)
-* BFD_RELOC_M32R_COPY: howto manager. (line 1101)
-* BFD_RELOC_M32R_GLOB_DAT: howto manager. (line 1102)
-* BFD_RELOC_M32R_GOT16_HI_SLO: howto manager. (line 1111)
-* BFD_RELOC_M32R_GOT16_HI_ULO: howto manager. (line 1110)
-* BFD_RELOC_M32R_GOT16_LO: howto manager. (line 1112)
-* BFD_RELOC_M32R_GOT24: howto manager. (line 1099)
-* BFD_RELOC_M32R_GOTOFF: howto manager. (line 1105)
-* BFD_RELOC_M32R_GOTOFF_HI_SLO: howto manager. (line 1107)
-* BFD_RELOC_M32R_GOTOFF_HI_ULO: howto manager. (line 1106)
-* BFD_RELOC_M32R_GOTOFF_LO: howto manager. (line 1108)
-* BFD_RELOC_M32R_GOTPC24: howto manager. (line 1109)
-* BFD_RELOC_M32R_GOTPC_HI_SLO: howto manager. (line 1114)
-* BFD_RELOC_M32R_GOTPC_HI_ULO: howto manager. (line 1113)
-* BFD_RELOC_M32R_GOTPC_LO: howto manager. (line 1115)
-* BFD_RELOC_M32R_HI16_SLO: howto manager. (line 1088)
-* BFD_RELOC_M32R_HI16_ULO: howto manager. (line 1084)
-* BFD_RELOC_M32R_JMP_SLOT: howto manager. (line 1103)
-* BFD_RELOC_M32R_LO16: howto manager. (line 1092)
-* BFD_RELOC_M32R_RELATIVE: howto manager. (line 1104)
-* BFD_RELOC_M32R_SDA16: howto manager. (line 1095)
-* BFD_RELOC_M68HC11_24: howto manager. (line 1712)
-* BFD_RELOC_M68HC11_3B: howto manager. (line 1687)
-* BFD_RELOC_M68HC11_HI8: howto manager. (line 1679)
-* BFD_RELOC_M68HC11_LO16: howto manager. (line 1701)
-* BFD_RELOC_M68HC11_LO8: howto manager. (line 1683)
-* BFD_RELOC_M68HC11_PAGE: howto manager. (line 1707)
-* BFD_RELOC_M68HC11_RL_GROUP: howto manager. (line 1696)
-* BFD_RELOC_M68HC11_RL_JUMP: howto manager. (line 1690)
-* BFD_RELOC_M68HC12_5B: howto manager. (line 1718)
-* BFD_RELOC_MCORE_PCREL_32: howto manager. (line 1255)
-* BFD_RELOC_MCORE_PCREL_IMM11BY2: howto manager. (line 1253)
-* BFD_RELOC_MCORE_PCREL_IMM4BY2: howto manager. (line 1254)
-* BFD_RELOC_MCORE_PCREL_IMM8BY4: howto manager. (line 1252)
-* BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2: howto manager. (line 1256)
-* BFD_RELOC_MCORE_RVA: howto manager. (line 1257)
-* BFD_RELOC_MIPS16_GPREL: howto manager. (line 300)
-* BFD_RELOC_MIPS16_HI16: howto manager. (line 324)
-* BFD_RELOC_MIPS16_HI16_S: howto manager. (line 327)
-* BFD_RELOC_MIPS16_JMP: howto manager. (line 297)
-* BFD_RELOC_MIPS16_LO16: howto manager. (line 333)
-* BFD_RELOC_MIPS_CALL16: howto manager. (line 340)
-* BFD_RELOC_MIPS_CALL_HI16: howto manager. (line 343)
-* BFD_RELOC_MIPS_CALL_LO16: howto manager. (line 344)
-* BFD_RELOC_MIPS_COPY: howto manager. (line 375)
-* BFD_RELOC_MIPS_DELETE: howto manager. (line 353)
-* BFD_RELOC_MIPS_GOT16: howto manager. (line 339)
-* BFD_RELOC_MIPS_GOT_DISP: howto manager. (line 348)
-* BFD_RELOC_MIPS_GOT_HI16: howto manager. (line 341)
-* BFD_RELOC_MIPS_GOT_LO16: howto manager. (line 342)
-* BFD_RELOC_MIPS_GOT_OFST: howto manager. (line 347)
-* BFD_RELOC_MIPS_GOT_PAGE: howto manager. (line 346)
-* BFD_RELOC_MIPS_HIGHER: howto manager. (line 355)
-* BFD_RELOC_MIPS_HIGHEST: howto manager. (line 354)
-* BFD_RELOC_MIPS_INSERT_A: howto manager. (line 351)
-* BFD_RELOC_MIPS_INSERT_B: howto manager. (line 352)
-* BFD_RELOC_MIPS_JALR: howto manager. (line 359)
-* BFD_RELOC_MIPS_JMP: howto manager. (line 293)
-* BFD_RELOC_MIPS_JUMP_SLOT: howto manager. (line 376)
-* BFD_RELOC_MIPS_LITERAL: howto manager. (line 336)
-* BFD_RELOC_MIPS_REL16: howto manager. (line 357)
-* BFD_RELOC_MIPS_RELGOT: howto manager. (line 358)
-* BFD_RELOC_MIPS_SCN_DISP: howto manager. (line 356)
-* BFD_RELOC_MIPS_SHIFT5: howto manager. (line 349)
-* BFD_RELOC_MIPS_SHIFT6: howto manager. (line 350)
-* BFD_RELOC_MIPS_SUB: howto manager. (line 345)
-* BFD_RELOC_MIPS_TLS_DTPMOD32: howto manager. (line 360)
-* BFD_RELOC_MIPS_TLS_DTPMOD64: howto manager. (line 362)
-* BFD_RELOC_MIPS_TLS_DTPREL32: howto manager. (line 361)
-* BFD_RELOC_MIPS_TLS_DTPREL64: howto manager. (line 363)
-* BFD_RELOC_MIPS_TLS_DTPREL_HI16: howto manager. (line 366)
-* BFD_RELOC_MIPS_TLS_DTPREL_LO16: howto manager. (line 367)
-* BFD_RELOC_MIPS_TLS_GD: howto manager. (line 364)
-* BFD_RELOC_MIPS_TLS_GOTTPREL: howto manager. (line 368)
-* BFD_RELOC_MIPS_TLS_LDM: howto manager. (line 365)
-* BFD_RELOC_MIPS_TLS_TPREL32: howto manager. (line 369)
-* BFD_RELOC_MIPS_TLS_TPREL64: howto manager. (line 370)
-* BFD_RELOC_MIPS_TLS_TPREL_HI16: howto manager. (line 371)
-* BFD_RELOC_MIPS_TLS_TPREL_LO16: howto manager. (line 372)
-* BFD_RELOC_MMIX_ADDR19: howto manager. (line 1286)
-* BFD_RELOC_MMIX_ADDR27: howto manager. (line 1290)
-* BFD_RELOC_MMIX_BASE_PLUS_OFFSET: howto manager. (line 1302)
-* BFD_RELOC_MMIX_CBRANCH: howto manager. (line 1266)
-* BFD_RELOC_MMIX_CBRANCH_1: howto manager. (line 1268)
-* BFD_RELOC_MMIX_CBRANCH_2: howto manager. (line 1269)
-* BFD_RELOC_MMIX_CBRANCH_3: howto manager. (line 1270)
-* BFD_RELOC_MMIX_CBRANCH_J: howto manager. (line 1267)
-* BFD_RELOC_MMIX_GETA: howto manager. (line 1260)
-* BFD_RELOC_MMIX_GETA_1: howto manager. (line 1261)
-* BFD_RELOC_MMIX_GETA_2: howto manager. (line 1262)
-* BFD_RELOC_MMIX_GETA_3: howto manager. (line 1263)
-* BFD_RELOC_MMIX_JMP: howto manager. (line 1280)
-* BFD_RELOC_MMIX_JMP_1: howto manager. (line 1281)
-* BFD_RELOC_MMIX_JMP_2: howto manager. (line 1282)
-* BFD_RELOC_MMIX_JMP_3: howto manager. (line 1283)
-* BFD_RELOC_MMIX_LOCAL: howto manager. (line 1306)
-* BFD_RELOC_MMIX_PUSHJ: howto manager. (line 1273)
-* BFD_RELOC_MMIX_PUSHJ_1: howto manager. (line 1274)
-* BFD_RELOC_MMIX_PUSHJ_2: howto manager. (line 1275)
-* BFD_RELOC_MMIX_PUSHJ_3: howto manager. (line 1276)
-* BFD_RELOC_MMIX_PUSHJ_STUBBABLE: howto manager. (line 1277)
-* BFD_RELOC_MMIX_REG: howto manager. (line 1298)
-* BFD_RELOC_MMIX_REG_OR_BYTE: howto manager. (line 1294)
-* BFD_RELOC_MN10300_16_PCREL: howto manager. (line 1190)
-* BFD_RELOC_MN10300_32_PCREL: howto manager. (line 1186)
-* BFD_RELOC_MN10300_COPY: howto manager. (line 435)
-* BFD_RELOC_MN10300_GLOB_DAT: howto manager. (line 438)
-* BFD_RELOC_MN10300_GOT16: howto manager. (line 431)
-* BFD_RELOC_MN10300_GOT24: howto manager. (line 427)
-* BFD_RELOC_MN10300_GOT32: howto manager. (line 423)
-* BFD_RELOC_MN10300_GOTOFF24: howto manager. (line 420)
-* BFD_RELOC_MN10300_JMP_SLOT: howto manager. (line 441)
-* BFD_RELOC_MN10300_RELATIVE: howto manager. (line 444)
-* BFD_RELOC_MSP430_10_PCREL: howto manager. (line 1906)
-* BFD_RELOC_MSP430_16: howto manager. (line 1908)
-* BFD_RELOC_MSP430_16_BYTE: howto manager. (line 1910)
-* BFD_RELOC_MSP430_16_PCREL: howto manager. (line 1907)
-* BFD_RELOC_MSP430_16_PCREL_BYTE: howto manager. (line 1909)
-* BFD_RELOC_MSP430_2X_PCREL: howto manager. (line 1911)
-* BFD_RELOC_MSP430_RL_PCREL: howto manager. (line 1912)
-* BFD_RELOC_MT_GNU_VTENTRY: howto manager. (line 1900)
-* BFD_RELOC_MT_GNU_VTINHERIT: howto manager. (line 1897)
-* BFD_RELOC_MT_HI16: howto manager. (line 1891)
-* BFD_RELOC_MT_LO16: howto manager. (line 1894)
-* BFD_RELOC_MT_PC16: howto manager. (line 1888)
-* BFD_RELOC_MT_PCINSN8: howto manager. (line 1903)
+* BFD_RELOC_M32C_HI8: howto manager. (line 1088)
+* BFD_RELOC_M32C_RL_1ADDR: howto manager. (line 1090)
+* BFD_RELOC_M32C_RL_2ADDR: howto manager. (line 1091)
+* BFD_RELOC_M32C_RL_JUMP: howto manager. (line 1089)
+* BFD_RELOC_M32R_10_PCREL: howto manager. (line 1098)
+* BFD_RELOC_M32R_18_PCREL: howto manager. (line 1102)
+* BFD_RELOC_M32R_24: howto manager. (line 1094)
+* BFD_RELOC_M32R_26_PCREL: howto manager. (line 1105)
+* BFD_RELOC_M32R_26_PLTREL: howto manager. (line 1124)
+* BFD_RELOC_M32R_COPY: howto manager. (line 1125)
+* BFD_RELOC_M32R_GLOB_DAT: howto manager. (line 1126)
+* BFD_RELOC_M32R_GOT16_HI_SLO: howto manager. (line 1135)
+* BFD_RELOC_M32R_GOT16_HI_ULO: howto manager. (line 1134)
+* BFD_RELOC_M32R_GOT16_LO: howto manager. (line 1136)
+* BFD_RELOC_M32R_GOT24: howto manager. (line 1123)
+* BFD_RELOC_M32R_GOTOFF: howto manager. (line 1129)
+* BFD_RELOC_M32R_GOTOFF_HI_SLO: howto manager. (line 1131)
+* BFD_RELOC_M32R_GOTOFF_HI_ULO: howto manager. (line 1130)
+* BFD_RELOC_M32R_GOTOFF_LO: howto manager. (line 1132)
+* BFD_RELOC_M32R_GOTPC24: howto manager. (line 1133)
+* BFD_RELOC_M32R_GOTPC_HI_SLO: howto manager. (line 1138)
+* BFD_RELOC_M32R_GOTPC_HI_ULO: howto manager. (line 1137)
+* BFD_RELOC_M32R_GOTPC_LO: howto manager. (line 1139)
+* BFD_RELOC_M32R_HI16_SLO: howto manager. (line 1112)
+* BFD_RELOC_M32R_HI16_ULO: howto manager. (line 1108)
+* BFD_RELOC_M32R_JMP_SLOT: howto manager. (line 1127)
+* BFD_RELOC_M32R_LO16: howto manager. (line 1116)
+* BFD_RELOC_M32R_RELATIVE: howto manager. (line 1128)
+* BFD_RELOC_M32R_SDA16: howto manager. (line 1119)
+* BFD_RELOC_M68HC11_24: howto manager. (line 1758)
+* BFD_RELOC_M68HC11_3B: howto manager. (line 1733)
+* BFD_RELOC_M68HC11_HI8: howto manager. (line 1725)
+* BFD_RELOC_M68HC11_LO16: howto manager. (line 1747)
+* BFD_RELOC_M68HC11_LO8: howto manager. (line 1729)
+* BFD_RELOC_M68HC11_PAGE: howto manager. (line 1753)
+* BFD_RELOC_M68HC11_RL_GROUP: howto manager. (line 1742)
+* BFD_RELOC_M68HC11_RL_JUMP: howto manager. (line 1736)
+* BFD_RELOC_M68HC12_5B: howto manager. (line 1764)
+* BFD_RELOC_MCORE_PCREL_32: howto manager. (line 1279)
+* BFD_RELOC_MCORE_PCREL_IMM11BY2: howto manager. (line 1277)
+* BFD_RELOC_MCORE_PCREL_IMM4BY2: howto manager. (line 1278)
+* BFD_RELOC_MCORE_PCREL_IMM8BY4: howto manager. (line 1276)
+* BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2: howto manager. (line 1280)
+* BFD_RELOC_MCORE_RVA: howto manager. (line 1281)
+* BFD_RELOC_MEP_16: howto manager. (line 1285)
+* BFD_RELOC_MEP_32: howto manager. (line 1286)
+* BFD_RELOC_MEP_8: howto manager. (line 1284)
+* BFD_RELOC_MEP_ADDR24A4: howto manager. (line 1301)
+* BFD_RELOC_MEP_GNU_VTENTRY: howto manager. (line 1303)
+* BFD_RELOC_MEP_GNU_VTINHERIT: howto manager. (line 1302)
+* BFD_RELOC_MEP_GPREL: howto manager. (line 1295)
+* BFD_RELOC_MEP_HI16S: howto manager. (line 1294)
+* BFD_RELOC_MEP_HI16U: howto manager. (line 1293)
+* BFD_RELOC_MEP_LOW16: howto manager. (line 1292)
+* BFD_RELOC_MEP_PCABS24A2: howto manager. (line 1291)
+* BFD_RELOC_MEP_PCREL12A2: howto manager. (line 1288)
+* BFD_RELOC_MEP_PCREL17A2: howto manager. (line 1289)
+* BFD_RELOC_MEP_PCREL24A2: howto manager. (line 1290)
+* BFD_RELOC_MEP_PCREL8A2: howto manager. (line 1287)
+* BFD_RELOC_MEP_TPREL: howto manager. (line 1296)
+* BFD_RELOC_MEP_TPREL7: howto manager. (line 1297)
+* BFD_RELOC_MEP_TPREL7A2: howto manager. (line 1298)
+* BFD_RELOC_MEP_TPREL7A4: howto manager. (line 1299)
+* BFD_RELOC_MEP_UIMM24: howto manager. (line 1300)
+* BFD_RELOC_MIPS16_CALL16: howto manager. (line 332)
+* BFD_RELOC_MIPS16_GOT16: howto manager. (line 331)
+* BFD_RELOC_MIPS16_GPREL: howto manager. (line 307)
+* BFD_RELOC_MIPS16_HI16: howto manager. (line 336)
+* BFD_RELOC_MIPS16_HI16_S: howto manager. (line 339)
+* BFD_RELOC_MIPS16_JMP: howto manager. (line 304)
+* BFD_RELOC_MIPS16_LO16: howto manager. (line 345)
+* BFD_RELOC_MIPS_CALL16: howto manager. (line 352)
+* BFD_RELOC_MIPS_CALL_HI16: howto manager. (line 355)
+* BFD_RELOC_MIPS_CALL_LO16: howto manager. (line 356)
+* BFD_RELOC_MIPS_COPY: howto manager. (line 387)
+* BFD_RELOC_MIPS_DELETE: howto manager. (line 365)
+* BFD_RELOC_MIPS_GOT16: howto manager. (line 351)
+* BFD_RELOC_MIPS_GOT_DISP: howto manager. (line 360)
+* BFD_RELOC_MIPS_GOT_HI16: howto manager. (line 353)
+* BFD_RELOC_MIPS_GOT_LO16: howto manager. (line 354)
+* BFD_RELOC_MIPS_GOT_OFST: howto manager. (line 359)
+* BFD_RELOC_MIPS_GOT_PAGE: howto manager. (line 358)
+* BFD_RELOC_MIPS_HIGHER: howto manager. (line 367)
+* BFD_RELOC_MIPS_HIGHEST: howto manager. (line 366)
+* BFD_RELOC_MIPS_INSERT_A: howto manager. (line 363)
+* BFD_RELOC_MIPS_INSERT_B: howto manager. (line 364)
+* BFD_RELOC_MIPS_JALR: howto manager. (line 371)
+* BFD_RELOC_MIPS_JMP: howto manager. (line 300)
+* BFD_RELOC_MIPS_JUMP_SLOT: howto manager. (line 388)
+* BFD_RELOC_MIPS_LITERAL: howto manager. (line 348)
+* BFD_RELOC_MIPS_REL16: howto manager. (line 369)
+* BFD_RELOC_MIPS_RELGOT: howto manager. (line 370)
+* BFD_RELOC_MIPS_SCN_DISP: howto manager. (line 368)
+* BFD_RELOC_MIPS_SHIFT5: howto manager. (line 361)
+* BFD_RELOC_MIPS_SHIFT6: howto manager. (line 362)
+* BFD_RELOC_MIPS_SUB: howto manager. (line 357)
+* BFD_RELOC_MIPS_TLS_DTPMOD32: howto manager. (line 372)
+* BFD_RELOC_MIPS_TLS_DTPMOD64: howto manager. (line 374)
+* BFD_RELOC_MIPS_TLS_DTPREL32: howto manager. (line 373)
+* BFD_RELOC_MIPS_TLS_DTPREL64: howto manager. (line 375)
+* BFD_RELOC_MIPS_TLS_DTPREL_HI16: howto manager. (line 378)
+* BFD_RELOC_MIPS_TLS_DTPREL_LO16: howto manager. (line 379)
+* BFD_RELOC_MIPS_TLS_GD: howto manager. (line 376)
+* BFD_RELOC_MIPS_TLS_GOTTPREL: howto manager. (line 380)
+* BFD_RELOC_MIPS_TLS_LDM: howto manager. (line 377)
+* BFD_RELOC_MIPS_TLS_TPREL32: howto manager. (line 381)
+* BFD_RELOC_MIPS_TLS_TPREL64: howto manager. (line 382)
+* BFD_RELOC_MIPS_TLS_TPREL_HI16: howto manager. (line 383)
+* BFD_RELOC_MIPS_TLS_TPREL_LO16: howto manager. (line 384)
+* BFD_RELOC_MMIX_ADDR19: howto manager. (line 1332)
+* BFD_RELOC_MMIX_ADDR27: howto manager. (line 1336)
+* BFD_RELOC_MMIX_BASE_PLUS_OFFSET: howto manager. (line 1348)
+* BFD_RELOC_MMIX_CBRANCH: howto manager. (line 1312)
+* BFD_RELOC_MMIX_CBRANCH_1: howto manager. (line 1314)
+* BFD_RELOC_MMIX_CBRANCH_2: howto manager. (line 1315)
+* BFD_RELOC_MMIX_CBRANCH_3: howto manager. (line 1316)
+* BFD_RELOC_MMIX_CBRANCH_J: howto manager. (line 1313)
+* BFD_RELOC_MMIX_GETA: howto manager. (line 1306)
+* BFD_RELOC_MMIX_GETA_1: howto manager. (line 1307)
+* BFD_RELOC_MMIX_GETA_2: howto manager. (line 1308)
+* BFD_RELOC_MMIX_GETA_3: howto manager. (line 1309)
+* BFD_RELOC_MMIX_JMP: howto manager. (line 1326)
+* BFD_RELOC_MMIX_JMP_1: howto manager. (line 1327)
+* BFD_RELOC_MMIX_JMP_2: howto manager. (line 1328)
+* BFD_RELOC_MMIX_JMP_3: howto manager. (line 1329)
+* BFD_RELOC_MMIX_LOCAL: howto manager. (line 1352)
+* BFD_RELOC_MMIX_PUSHJ: howto manager. (line 1319)
+* BFD_RELOC_MMIX_PUSHJ_1: howto manager. (line 1320)
+* BFD_RELOC_MMIX_PUSHJ_2: howto manager. (line 1321)
+* BFD_RELOC_MMIX_PUSHJ_3: howto manager. (line 1322)
+* BFD_RELOC_MMIX_PUSHJ_STUBBABLE: howto manager. (line 1323)
+* BFD_RELOC_MMIX_REG: howto manager. (line 1344)
+* BFD_RELOC_MMIX_REG_OR_BYTE: howto manager. (line 1340)
+* BFD_RELOC_MN10300_16_PCREL: howto manager. (line 1214)
+* BFD_RELOC_MN10300_32_PCREL: howto manager. (line 1210)
+* BFD_RELOC_MN10300_ALIGN: howto manager. (line 464)
+* BFD_RELOC_MN10300_COPY: howto manager. (line 447)
+* BFD_RELOC_MN10300_GLOB_DAT: howto manager. (line 450)
+* BFD_RELOC_MN10300_GOT16: howto manager. (line 443)
+* BFD_RELOC_MN10300_GOT24: howto manager. (line 439)
+* BFD_RELOC_MN10300_GOT32: howto manager. (line 435)
+* BFD_RELOC_MN10300_GOTOFF24: howto manager. (line 432)
+* BFD_RELOC_MN10300_JMP_SLOT: howto manager. (line 453)
+* BFD_RELOC_MN10300_RELATIVE: howto manager. (line 456)
+* BFD_RELOC_MN10300_SYM_DIFF: howto manager. (line 459)
+* BFD_RELOC_MSP430_10_PCREL: howto manager. (line 1987)
+* BFD_RELOC_MSP430_16: howto manager. (line 1989)
+* BFD_RELOC_MSP430_16_BYTE: howto manager. (line 1991)
+* BFD_RELOC_MSP430_16_PCREL: howto manager. (line 1988)
+* BFD_RELOC_MSP430_16_PCREL_BYTE: howto manager. (line 1990)
+* BFD_RELOC_MSP430_2X_PCREL: howto manager. (line 1992)
+* BFD_RELOC_MSP430_RL_PCREL: howto manager. (line 1993)
+* BFD_RELOC_MT_GNU_VTENTRY: howto manager. (line 1981)
+* BFD_RELOC_MT_GNU_VTINHERIT: howto manager. (line 1978)
+* BFD_RELOC_MT_HI16: howto manager. (line 1972)
+* BFD_RELOC_MT_LO16: howto manager. (line 1975)
+* BFD_RELOC_MT_PC16: howto manager. (line 1969)
+* BFD_RELOC_MT_PCINSN8: howto manager. (line 1984)
* BFD_RELOC_NONE: howto manager. (line 116)
-* BFD_RELOC_NS32K_DISP_16: howto manager. (line 507)
-* BFD_RELOC_NS32K_DISP_16_PCREL: howto manager. (line 510)
-* BFD_RELOC_NS32K_DISP_32: howto manager. (line 508)
-* BFD_RELOC_NS32K_DISP_32_PCREL: howto manager. (line 511)
-* BFD_RELOC_NS32K_DISP_8: howto manager. (line 506)
-* BFD_RELOC_NS32K_DISP_8_PCREL: howto manager. (line 509)
-* BFD_RELOC_NS32K_IMM_16: howto manager. (line 501)
-* BFD_RELOC_NS32K_IMM_16_PCREL: howto manager. (line 504)
-* BFD_RELOC_NS32K_IMM_32: howto manager. (line 502)
-* BFD_RELOC_NS32K_IMM_32_PCREL: howto manager. (line 505)
-* BFD_RELOC_NS32K_IMM_8: howto manager. (line 500)
-* BFD_RELOC_NS32K_IMM_8_PCREL: howto manager. (line 503)
-* BFD_RELOC_OPENRISC_ABS_26: howto manager. (line 1860)
-* BFD_RELOC_OPENRISC_REL_26: howto manager. (line 1861)
-* BFD_RELOC_PDP11_DISP_6_PCREL: howto manager. (line 515)
-* BFD_RELOC_PDP11_DISP_8_PCREL: howto manager. (line 514)
-* BFD_RELOC_PJ_CODE_DIR16: howto manager. (line 520)
-* BFD_RELOC_PJ_CODE_DIR32: howto manager. (line 521)
-* BFD_RELOC_PJ_CODE_HI16: howto manager. (line 518)
-* BFD_RELOC_PJ_CODE_LO16: howto manager. (line 519)
-* BFD_RELOC_PJ_CODE_REL16: howto manager. (line 522)
-* BFD_RELOC_PJ_CODE_REL32: howto manager. (line 523)
-* BFD_RELOC_PPC64_ADDR16_DS: howto manager. (line 568)
-* BFD_RELOC_PPC64_ADDR16_LO_DS: howto manager. (line 569)
-* BFD_RELOC_PPC64_DTPREL16_DS: howto manager. (line 615)
-* BFD_RELOC_PPC64_DTPREL16_HIGHER: howto manager. (line 617)
-* BFD_RELOC_PPC64_DTPREL16_HIGHERA: howto manager. (line 618)
-* BFD_RELOC_PPC64_DTPREL16_HIGHEST: howto manager. (line 619)
-* BFD_RELOC_PPC64_DTPREL16_HIGHESTA: howto manager. (line 620)
-* BFD_RELOC_PPC64_DTPREL16_LO_DS: howto manager. (line 616)
-* BFD_RELOC_PPC64_GOT16_DS: howto manager. (line 570)
-* BFD_RELOC_PPC64_GOT16_LO_DS: howto manager. (line 571)
-* BFD_RELOC_PPC64_HIGHER: howto manager. (line 556)
-* BFD_RELOC_PPC64_HIGHER_S: howto manager. (line 557)
-* BFD_RELOC_PPC64_HIGHEST: howto manager. (line 558)
-* BFD_RELOC_PPC64_HIGHEST_S: howto manager. (line 559)
-* BFD_RELOC_PPC64_PLT16_LO_DS: howto manager. (line 572)
-* BFD_RELOC_PPC64_PLTGOT16: howto manager. (line 564)
-* BFD_RELOC_PPC64_PLTGOT16_DS: howto manager. (line 577)
-* BFD_RELOC_PPC64_PLTGOT16_HA: howto manager. (line 567)
-* BFD_RELOC_PPC64_PLTGOT16_HI: howto manager. (line 566)
-* BFD_RELOC_PPC64_PLTGOT16_LO: howto manager. (line 565)
-* BFD_RELOC_PPC64_PLTGOT16_LO_DS: howto manager. (line 578)
-* BFD_RELOC_PPC64_SECTOFF_DS: howto manager. (line 573)
-* BFD_RELOC_PPC64_SECTOFF_LO_DS: howto manager. (line 574)
-* BFD_RELOC_PPC64_TOC: howto manager. (line 563)
-* BFD_RELOC_PPC64_TOC16_DS: howto manager. (line 575)
-* BFD_RELOC_PPC64_TOC16_HA: howto manager. (line 562)
-* BFD_RELOC_PPC64_TOC16_HI: howto manager. (line 561)
-* BFD_RELOC_PPC64_TOC16_LO: howto manager. (line 560)
-* BFD_RELOC_PPC64_TOC16_LO_DS: howto manager. (line 576)
-* BFD_RELOC_PPC64_TPREL16_DS: howto manager. (line 609)
-* BFD_RELOC_PPC64_TPREL16_HIGHER: howto manager. (line 611)
-* BFD_RELOC_PPC64_TPREL16_HIGHERA: howto manager. (line 612)
-* BFD_RELOC_PPC64_TPREL16_HIGHEST: howto manager. (line 613)
-* BFD_RELOC_PPC64_TPREL16_HIGHESTA: howto manager. (line 614)
-* BFD_RELOC_PPC64_TPREL16_LO_DS: howto manager. (line 610)
-* BFD_RELOC_PPC_B16: howto manager. (line 529)
-* BFD_RELOC_PPC_B16_BRNTAKEN: howto manager. (line 531)
-* BFD_RELOC_PPC_B16_BRTAKEN: howto manager. (line 530)
-* BFD_RELOC_PPC_B26: howto manager. (line 526)
-* BFD_RELOC_PPC_BA16: howto manager. (line 532)
-* BFD_RELOC_PPC_BA16_BRNTAKEN: howto manager. (line 534)
-* BFD_RELOC_PPC_BA16_BRTAKEN: howto manager. (line 533)
-* BFD_RELOC_PPC_BA26: howto manager. (line 527)
-* BFD_RELOC_PPC_COPY: howto manager. (line 535)
-* BFD_RELOC_PPC_DTPMOD: howto manager. (line 582)
-* BFD_RELOC_PPC_DTPREL: howto manager. (line 592)
-* BFD_RELOC_PPC_DTPREL16: howto manager. (line 588)
-* BFD_RELOC_PPC_DTPREL16_HA: howto manager. (line 591)
-* BFD_RELOC_PPC_DTPREL16_HI: howto manager. (line 590)
-* BFD_RELOC_PPC_DTPREL16_LO: howto manager. (line 589)
-* BFD_RELOC_PPC_EMB_BIT_FLD: howto manager. (line 554)
-* BFD_RELOC_PPC_EMB_MRKREF: howto manager. (line 549)
-* BFD_RELOC_PPC_EMB_NADDR16: howto manager. (line 541)
-* BFD_RELOC_PPC_EMB_NADDR16_HA: howto manager. (line 544)
-* BFD_RELOC_PPC_EMB_NADDR16_HI: howto manager. (line 543)
-* BFD_RELOC_PPC_EMB_NADDR16_LO: howto manager. (line 542)
-* BFD_RELOC_PPC_EMB_NADDR32: howto manager. (line 540)
-* BFD_RELOC_PPC_EMB_RELSDA: howto manager. (line 555)
-* BFD_RELOC_PPC_EMB_RELSEC16: howto manager. (line 550)
-* BFD_RELOC_PPC_EMB_RELST_HA: howto manager. (line 553)
-* BFD_RELOC_PPC_EMB_RELST_HI: howto manager. (line 552)
-* BFD_RELOC_PPC_EMB_RELST_LO: howto manager. (line 551)
-* BFD_RELOC_PPC_EMB_SDA21: howto manager. (line 548)
-* BFD_RELOC_PPC_EMB_SDA2I16: howto manager. (line 546)
-* BFD_RELOC_PPC_EMB_SDA2REL: howto manager. (line 547)
-* BFD_RELOC_PPC_EMB_SDAI16: howto manager. (line 545)
-* BFD_RELOC_PPC_GLOB_DAT: howto manager. (line 536)
-* BFD_RELOC_PPC_GOT_DTPREL16: howto manager. (line 605)
-* BFD_RELOC_PPC_GOT_DTPREL16_HA: howto manager. (line 608)
-* BFD_RELOC_PPC_GOT_DTPREL16_HI: howto manager. (line 607)
-* BFD_RELOC_PPC_GOT_DTPREL16_LO: howto manager. (line 606)
-* BFD_RELOC_PPC_GOT_TLSGD16: howto manager. (line 593)
-* BFD_RELOC_PPC_GOT_TLSGD16_HA: howto manager. (line 596)
-* BFD_RELOC_PPC_GOT_TLSGD16_HI: howto manager. (line 595)
-* BFD_RELOC_PPC_GOT_TLSGD16_LO: howto manager. (line 594)
-* BFD_RELOC_PPC_GOT_TLSLD16: howto manager. (line 597)
-* BFD_RELOC_PPC_GOT_TLSLD16_HA: howto manager. (line 600)
-* BFD_RELOC_PPC_GOT_TLSLD16_HI: howto manager. (line 599)
-* BFD_RELOC_PPC_GOT_TLSLD16_LO: howto manager. (line 598)
-* BFD_RELOC_PPC_GOT_TPREL16: howto manager. (line 601)
-* BFD_RELOC_PPC_GOT_TPREL16_HA: howto manager. (line 604)
-* BFD_RELOC_PPC_GOT_TPREL16_HI: howto manager. (line 603)
-* BFD_RELOC_PPC_GOT_TPREL16_LO: howto manager. (line 602)
-* BFD_RELOC_PPC_JMP_SLOT: howto manager. (line 537)
-* BFD_RELOC_PPC_LOCAL24PC: howto manager. (line 539)
-* BFD_RELOC_PPC_RELATIVE: howto manager. (line 538)
-* BFD_RELOC_PPC_TLS: howto manager. (line 581)
-* BFD_RELOC_PPC_TOC16: howto manager. (line 528)
-* BFD_RELOC_PPC_TPREL: howto manager. (line 587)
-* BFD_RELOC_PPC_TPREL16: howto manager. (line 583)
-* BFD_RELOC_PPC_TPREL16_HA: howto manager. (line 586)
-* BFD_RELOC_PPC_TPREL16_HI: howto manager. (line 585)
-* BFD_RELOC_PPC_TPREL16_LO: howto manager. (line 584)
+* BFD_RELOC_NS32K_DISP_16: howto manager. (line 528)
+* BFD_RELOC_NS32K_DISP_16_PCREL: howto manager. (line 531)
+* BFD_RELOC_NS32K_DISP_32: howto manager. (line 529)
+* BFD_RELOC_NS32K_DISP_32_PCREL: howto manager. (line 532)
+* BFD_RELOC_NS32K_DISP_8: howto manager. (line 527)
+* BFD_RELOC_NS32K_DISP_8_PCREL: howto manager. (line 530)
+* BFD_RELOC_NS32K_IMM_16: howto manager. (line 522)
+* BFD_RELOC_NS32K_IMM_16_PCREL: howto manager. (line 525)
+* BFD_RELOC_NS32K_IMM_32: howto manager. (line 523)
+* BFD_RELOC_NS32K_IMM_32_PCREL: howto manager. (line 526)
+* BFD_RELOC_NS32K_IMM_8: howto manager. (line 521)
+* BFD_RELOC_NS32K_IMM_8_PCREL: howto manager. (line 524)
+* BFD_RELOC_OPENRISC_ABS_26: howto manager. (line 1938)
+* BFD_RELOC_OPENRISC_REL_26: howto manager. (line 1939)
+* BFD_RELOC_PDP11_DISP_6_PCREL: howto manager. (line 536)
+* BFD_RELOC_PDP11_DISP_8_PCREL: howto manager. (line 535)
+* BFD_RELOC_PJ_CODE_DIR16: howto manager. (line 541)
+* BFD_RELOC_PJ_CODE_DIR32: howto manager. (line 542)
+* BFD_RELOC_PJ_CODE_HI16: howto manager. (line 539)
+* BFD_RELOC_PJ_CODE_LO16: howto manager. (line 540)
+* BFD_RELOC_PJ_CODE_REL16: howto manager. (line 543)
+* BFD_RELOC_PJ_CODE_REL32: howto manager. (line 544)
+* BFD_RELOC_PPC64_ADDR16_DS: howto manager. (line 589)
+* BFD_RELOC_PPC64_ADDR16_LO_DS: howto manager. (line 590)
+* BFD_RELOC_PPC64_DTPREL16_DS: howto manager. (line 636)
+* BFD_RELOC_PPC64_DTPREL16_HIGHER: howto manager. (line 638)
+* BFD_RELOC_PPC64_DTPREL16_HIGHERA: howto manager. (line 639)
+* BFD_RELOC_PPC64_DTPREL16_HIGHEST: howto manager. (line 640)
+* BFD_RELOC_PPC64_DTPREL16_HIGHESTA: howto manager. (line 641)
+* BFD_RELOC_PPC64_DTPREL16_LO_DS: howto manager. (line 637)
+* BFD_RELOC_PPC64_GOT16_DS: howto manager. (line 591)
+* BFD_RELOC_PPC64_GOT16_LO_DS: howto manager. (line 592)
+* BFD_RELOC_PPC64_HIGHER: howto manager. (line 577)
+* BFD_RELOC_PPC64_HIGHER_S: howto manager. (line 578)
+* BFD_RELOC_PPC64_HIGHEST: howto manager. (line 579)
+* BFD_RELOC_PPC64_HIGHEST_S: howto manager. (line 580)
+* BFD_RELOC_PPC64_PLT16_LO_DS: howto manager. (line 593)
+* BFD_RELOC_PPC64_PLTGOT16: howto manager. (line 585)
+* BFD_RELOC_PPC64_PLTGOT16_DS: howto manager. (line 598)
+* BFD_RELOC_PPC64_PLTGOT16_HA: howto manager. (line 588)
+* BFD_RELOC_PPC64_PLTGOT16_HI: howto manager. (line 587)
+* BFD_RELOC_PPC64_PLTGOT16_LO: howto manager. (line 586)
+* BFD_RELOC_PPC64_PLTGOT16_LO_DS: howto manager. (line 599)
+* BFD_RELOC_PPC64_SECTOFF_DS: howto manager. (line 594)
+* BFD_RELOC_PPC64_SECTOFF_LO_DS: howto manager. (line 595)
+* BFD_RELOC_PPC64_TOC: howto manager. (line 584)
+* BFD_RELOC_PPC64_TOC16_DS: howto manager. (line 596)
+* BFD_RELOC_PPC64_TOC16_HA: howto manager. (line 583)
+* BFD_RELOC_PPC64_TOC16_HI: howto manager. (line 582)
+* BFD_RELOC_PPC64_TOC16_LO: howto manager. (line 581)
+* BFD_RELOC_PPC64_TOC16_LO_DS: howto manager. (line 597)
+* BFD_RELOC_PPC64_TPREL16_DS: howto manager. (line 630)
+* BFD_RELOC_PPC64_TPREL16_HIGHER: howto manager. (line 632)
+* BFD_RELOC_PPC64_TPREL16_HIGHERA: howto manager. (line 633)
+* BFD_RELOC_PPC64_TPREL16_HIGHEST: howto manager. (line 634)
+* BFD_RELOC_PPC64_TPREL16_HIGHESTA: howto manager. (line 635)
+* BFD_RELOC_PPC64_TPREL16_LO_DS: howto manager. (line 631)
+* BFD_RELOC_PPC_B16: howto manager. (line 550)
+* BFD_RELOC_PPC_B16_BRNTAKEN: howto manager. (line 552)
+* BFD_RELOC_PPC_B16_BRTAKEN: howto manager. (line 551)
+* BFD_RELOC_PPC_B26: howto manager. (line 547)
+* BFD_RELOC_PPC_BA16: howto manager. (line 553)
+* BFD_RELOC_PPC_BA16_BRNTAKEN: howto manager. (line 555)
+* BFD_RELOC_PPC_BA16_BRTAKEN: howto manager. (line 554)
+* BFD_RELOC_PPC_BA26: howto manager. (line 548)
+* BFD_RELOC_PPC_COPY: howto manager. (line 556)
+* BFD_RELOC_PPC_DTPMOD: howto manager. (line 603)
+* BFD_RELOC_PPC_DTPREL: howto manager. (line 613)
+* BFD_RELOC_PPC_DTPREL16: howto manager. (line 609)
+* BFD_RELOC_PPC_DTPREL16_HA: howto manager. (line 612)
+* BFD_RELOC_PPC_DTPREL16_HI: howto manager. (line 611)
+* BFD_RELOC_PPC_DTPREL16_LO: howto manager. (line 610)
+* BFD_RELOC_PPC_EMB_BIT_FLD: howto manager. (line 575)
+* BFD_RELOC_PPC_EMB_MRKREF: howto manager. (line 570)
+* BFD_RELOC_PPC_EMB_NADDR16: howto manager. (line 562)
+* BFD_RELOC_PPC_EMB_NADDR16_HA: howto manager. (line 565)
+* BFD_RELOC_PPC_EMB_NADDR16_HI: howto manager. (line 564)
+* BFD_RELOC_PPC_EMB_NADDR16_LO: howto manager. (line 563)
+* BFD_RELOC_PPC_EMB_NADDR32: howto manager. (line 561)
+* BFD_RELOC_PPC_EMB_RELSDA: howto manager. (line 576)
+* BFD_RELOC_PPC_EMB_RELSEC16: howto manager. (line 571)
+* BFD_RELOC_PPC_EMB_RELST_HA: howto manager. (line 574)
+* BFD_RELOC_PPC_EMB_RELST_HI: howto manager. (line 573)
+* BFD_RELOC_PPC_EMB_RELST_LO: howto manager. (line 572)
+* BFD_RELOC_PPC_EMB_SDA21: howto manager. (line 569)
+* BFD_RELOC_PPC_EMB_SDA2I16: howto manager. (line 567)
+* BFD_RELOC_PPC_EMB_SDA2REL: howto manager. (line 568)
+* BFD_RELOC_PPC_EMB_SDAI16: howto manager. (line 566)
+* BFD_RELOC_PPC_GLOB_DAT: howto manager. (line 557)
+* BFD_RELOC_PPC_GOT_DTPREL16: howto manager. (line 626)
+* BFD_RELOC_PPC_GOT_DTPREL16_HA: howto manager. (line 629)
+* BFD_RELOC_PPC_GOT_DTPREL16_HI: howto manager. (line 628)
+* BFD_RELOC_PPC_GOT_DTPREL16_LO: howto manager. (line 627)
+* BFD_RELOC_PPC_GOT_TLSGD16: howto manager. (line 614)
+* BFD_RELOC_PPC_GOT_TLSGD16_HA: howto manager. (line 617)
+* BFD_RELOC_PPC_GOT_TLSGD16_HI: howto manager. (line 616)
+* BFD_RELOC_PPC_GOT_TLSGD16_LO: howto manager. (line 615)
+* BFD_RELOC_PPC_GOT_TLSLD16: howto manager. (line 618)
+* BFD_RELOC_PPC_GOT_TLSLD16_HA: howto manager. (line 621)
+* BFD_RELOC_PPC_GOT_TLSLD16_HI: howto manager. (line 620)
+* BFD_RELOC_PPC_GOT_TLSLD16_LO: howto manager. (line 619)
+* BFD_RELOC_PPC_GOT_TPREL16: howto manager. (line 622)
+* BFD_RELOC_PPC_GOT_TPREL16_HA: howto manager. (line 625)
+* BFD_RELOC_PPC_GOT_TPREL16_HI: howto manager. (line 624)
+* BFD_RELOC_PPC_GOT_TPREL16_LO: howto manager. (line 623)
+* BFD_RELOC_PPC_JMP_SLOT: howto manager. (line 558)
+* BFD_RELOC_PPC_LOCAL24PC: howto manager. (line 560)
+* BFD_RELOC_PPC_RELATIVE: howto manager. (line 559)
+* BFD_RELOC_PPC_TLS: howto manager. (line 602)
+* BFD_RELOC_PPC_TOC16: howto manager. (line 549)
+* BFD_RELOC_PPC_TPREL: howto manager. (line 608)
+* BFD_RELOC_PPC_TPREL16: howto manager. (line 604)
+* BFD_RELOC_PPC_TPREL16_HA: howto manager. (line 607)
+* BFD_RELOC_PPC_TPREL16_HI: howto manager. (line 606)
+* BFD_RELOC_PPC_TPREL16_LO: howto manager. (line 605)
+* BFD_RELOC_RELC: howto manager. (line 1955)
* BFD_RELOC_RVA: howto manager. (line 85)
-* BFD_RELOC_SCORE16_BRANCH: howto manager. (line 1535)
-* BFD_RELOC_SCORE16_JMP: howto manager. (line 1532)
-* BFD_RELOC_SCORE_BRANCH: howto manager. (line 1529)
-* BFD_RELOC_SCORE_CALL15: howto manager. (line 1540)
-* BFD_RELOC_SCORE_DUMMY1: howto manager. (line 1519)
-* BFD_RELOC_SCORE_DUMMY2: howto manager. (line 1525)
-* BFD_RELOC_SCORE_DUMMY_HI16: howto manager. (line 1541)
-* BFD_RELOC_SCORE_GOT15: howto manager. (line 1538)
-* BFD_RELOC_SCORE_GOT_LO16: howto manager. (line 1539)
-* BFD_RELOC_SCORE_GPREL15: howto manager. (line 1522)
-* BFD_RELOC_SCORE_JMP: howto manager. (line 1526)
-* BFD_RELOC_SH_ALIGN: howto manager. (line 800)
-* BFD_RELOC_SH_CODE: howto manager. (line 801)
-* BFD_RELOC_SH_COPY: howto manager. (line 806)
-* BFD_RELOC_SH_COPY64: howto manager. (line 831)
-* BFD_RELOC_SH_COUNT: howto manager. (line 799)
-* BFD_RELOC_SH_DATA: howto manager. (line 802)
-* BFD_RELOC_SH_DISP12: howto manager. (line 782)
-* BFD_RELOC_SH_DISP12BY2: howto manager. (line 783)
-* BFD_RELOC_SH_DISP12BY4: howto manager. (line 784)
-* BFD_RELOC_SH_DISP12BY8: howto manager. (line 785)
-* BFD_RELOC_SH_DISP20: howto manager. (line 786)
-* BFD_RELOC_SH_DISP20BY8: howto manager. (line 787)
-* BFD_RELOC_SH_GLOB_DAT: howto manager. (line 807)
-* BFD_RELOC_SH_GLOB_DAT64: howto manager. (line 832)
-* BFD_RELOC_SH_GOT10BY4: howto manager. (line 835)
-* BFD_RELOC_SH_GOT10BY8: howto manager. (line 836)
-* BFD_RELOC_SH_GOT_HI16: howto manager. (line 814)
-* BFD_RELOC_SH_GOT_LOW16: howto manager. (line 811)
-* BFD_RELOC_SH_GOT_MEDHI16: howto manager. (line 813)
-* BFD_RELOC_SH_GOT_MEDLOW16: howto manager. (line 812)
-* BFD_RELOC_SH_GOTOFF_HI16: howto manager. (line 826)
-* BFD_RELOC_SH_GOTOFF_LOW16: howto manager. (line 823)
-* BFD_RELOC_SH_GOTOFF_MEDHI16: howto manager. (line 825)
-* BFD_RELOC_SH_GOTOFF_MEDLOW16: howto manager. (line 824)
-* BFD_RELOC_SH_GOTPC: howto manager. (line 810)
-* BFD_RELOC_SH_GOTPC_HI16: howto manager. (line 830)
-* BFD_RELOC_SH_GOTPC_LOW16: howto manager. (line 827)
-* BFD_RELOC_SH_GOTPC_MEDHI16: howto manager. (line 829)
-* BFD_RELOC_SH_GOTPC_MEDLOW16: howto manager. (line 828)
-* BFD_RELOC_SH_GOTPLT10BY4: howto manager. (line 837)
-* BFD_RELOC_SH_GOTPLT10BY8: howto manager. (line 838)
-* BFD_RELOC_SH_GOTPLT32: howto manager. (line 839)
-* BFD_RELOC_SH_GOTPLT_HI16: howto manager. (line 818)
-* BFD_RELOC_SH_GOTPLT_LOW16: howto manager. (line 815)
-* BFD_RELOC_SH_GOTPLT_MEDHI16: howto manager. (line 817)
-* BFD_RELOC_SH_GOTPLT_MEDLOW16: howto manager. (line 816)
-* BFD_RELOC_SH_IMM3: howto manager. (line 780)
-* BFD_RELOC_SH_IMM3U: howto manager. (line 781)
-* BFD_RELOC_SH_IMM4: howto manager. (line 788)
-* BFD_RELOC_SH_IMM4BY2: howto manager. (line 789)
-* BFD_RELOC_SH_IMM4BY4: howto manager. (line 790)
-* BFD_RELOC_SH_IMM8: howto manager. (line 791)
-* BFD_RELOC_SH_IMM8BY2: howto manager. (line 792)
-* BFD_RELOC_SH_IMM8BY4: howto manager. (line 793)
-* BFD_RELOC_SH_IMM_HI16: howto manager. (line 857)
-* BFD_RELOC_SH_IMM_HI16_PCREL: howto manager. (line 858)
-* BFD_RELOC_SH_IMM_LOW16: howto manager. (line 851)
-* BFD_RELOC_SH_IMM_LOW16_PCREL: howto manager. (line 852)
-* BFD_RELOC_SH_IMM_MEDHI16: howto manager. (line 855)
-* BFD_RELOC_SH_IMM_MEDHI16_PCREL: howto manager. (line 856)
-* BFD_RELOC_SH_IMM_MEDLOW16: howto manager. (line 853)
-* BFD_RELOC_SH_IMM_MEDLOW16_PCREL: howto manager. (line 854)
-* BFD_RELOC_SH_IMMS10: howto manager. (line 845)
-* BFD_RELOC_SH_IMMS10BY2: howto manager. (line 846)
-* BFD_RELOC_SH_IMMS10BY4: howto manager. (line 847)
-* BFD_RELOC_SH_IMMS10BY8: howto manager. (line 848)
-* BFD_RELOC_SH_IMMS16: howto manager. (line 849)
-* BFD_RELOC_SH_IMMS6: howto manager. (line 842)
-* BFD_RELOC_SH_IMMS6BY32: howto manager. (line 843)
-* BFD_RELOC_SH_IMMU16: howto manager. (line 850)
-* BFD_RELOC_SH_IMMU5: howto manager. (line 841)
-* BFD_RELOC_SH_IMMU6: howto manager. (line 844)
-* BFD_RELOC_SH_JMP_SLOT: howto manager. (line 808)
-* BFD_RELOC_SH_JMP_SLOT64: howto manager. (line 833)
-* BFD_RELOC_SH_LABEL: howto manager. (line 803)
-* BFD_RELOC_SH_LOOP_END: howto manager. (line 805)
-* BFD_RELOC_SH_LOOP_START: howto manager. (line 804)
-* BFD_RELOC_SH_PCDISP12BY2: howto manager. (line 779)
-* BFD_RELOC_SH_PCDISP8BY2: howto manager. (line 778)
-* BFD_RELOC_SH_PCRELIMM8BY2: howto manager. (line 794)
-* BFD_RELOC_SH_PCRELIMM8BY4: howto manager. (line 795)
-* BFD_RELOC_SH_PLT_HI16: howto manager. (line 822)
-* BFD_RELOC_SH_PLT_LOW16: howto manager. (line 819)
-* BFD_RELOC_SH_PLT_MEDHI16: howto manager. (line 821)
-* BFD_RELOC_SH_PLT_MEDLOW16: howto manager. (line 820)
-* BFD_RELOC_SH_PT_16: howto manager. (line 859)
-* BFD_RELOC_SH_RELATIVE: howto manager. (line 809)
-* BFD_RELOC_SH_RELATIVE64: howto manager. (line 834)
-* BFD_RELOC_SH_SHMEDIA_CODE: howto manager. (line 840)
-* BFD_RELOC_SH_SWITCH16: howto manager. (line 796)
-* BFD_RELOC_SH_SWITCH32: howto manager. (line 797)
-* BFD_RELOC_SH_TLS_DTPMOD32: howto manager. (line 865)
-* BFD_RELOC_SH_TLS_DTPOFF32: howto manager. (line 866)
-* BFD_RELOC_SH_TLS_GD_32: howto manager. (line 860)
-* BFD_RELOC_SH_TLS_IE_32: howto manager. (line 863)
-* BFD_RELOC_SH_TLS_LD_32: howto manager. (line 861)
-* BFD_RELOC_SH_TLS_LDO_32: howto manager. (line 862)
-* BFD_RELOC_SH_TLS_LE_32: howto manager. (line 864)
-* BFD_RELOC_SH_TLS_TPOFF32: howto manager. (line 867)
-* BFD_RELOC_SH_USES: howto manager. (line 798)
+* BFD_RELOC_SCORE16_BRANCH: howto manager. (line 1581)
+* BFD_RELOC_SCORE16_JMP: howto manager. (line 1578)
+* BFD_RELOC_SCORE_BRANCH: howto manager. (line 1575)
+* BFD_RELOC_SCORE_CALL15: howto manager. (line 1586)
+* BFD_RELOC_SCORE_DUMMY1: howto manager. (line 1565)
+* BFD_RELOC_SCORE_DUMMY2: howto manager. (line 1571)
+* BFD_RELOC_SCORE_DUMMY_HI16: howto manager. (line 1587)
+* BFD_RELOC_SCORE_GOT15: howto manager. (line 1584)
+* BFD_RELOC_SCORE_GOT_LO16: howto manager. (line 1585)
+* BFD_RELOC_SCORE_GPREL15: howto manager. (line 1568)
+* BFD_RELOC_SCORE_JMP: howto manager. (line 1572)
+* BFD_RELOC_SH_ALIGN: howto manager. (line 824)
+* BFD_RELOC_SH_CODE: howto manager. (line 825)
+* BFD_RELOC_SH_COPY: howto manager. (line 830)
+* BFD_RELOC_SH_COPY64: howto manager. (line 855)
+* BFD_RELOC_SH_COUNT: howto manager. (line 823)
+* BFD_RELOC_SH_DATA: howto manager. (line 826)
+* BFD_RELOC_SH_DISP12: howto manager. (line 806)
+* BFD_RELOC_SH_DISP12BY2: howto manager. (line 807)
+* BFD_RELOC_SH_DISP12BY4: howto manager. (line 808)
+* BFD_RELOC_SH_DISP12BY8: howto manager. (line 809)
+* BFD_RELOC_SH_DISP20: howto manager. (line 810)
+* BFD_RELOC_SH_DISP20BY8: howto manager. (line 811)
+* BFD_RELOC_SH_GLOB_DAT: howto manager. (line 831)
+* BFD_RELOC_SH_GLOB_DAT64: howto manager. (line 856)
+* BFD_RELOC_SH_GOT10BY4: howto manager. (line 859)
+* BFD_RELOC_SH_GOT10BY8: howto manager. (line 860)
+* BFD_RELOC_SH_GOT_HI16: howto manager. (line 838)
+* BFD_RELOC_SH_GOT_LOW16: howto manager. (line 835)
+* BFD_RELOC_SH_GOT_MEDHI16: howto manager. (line 837)
+* BFD_RELOC_SH_GOT_MEDLOW16: howto manager. (line 836)
+* BFD_RELOC_SH_GOTOFF_HI16: howto manager. (line 850)
+* BFD_RELOC_SH_GOTOFF_LOW16: howto manager. (line 847)
+* BFD_RELOC_SH_GOTOFF_MEDHI16: howto manager. (line 849)
+* BFD_RELOC_SH_GOTOFF_MEDLOW16: howto manager. (line 848)
+* BFD_RELOC_SH_GOTPC: howto manager. (line 834)
+* BFD_RELOC_SH_GOTPC_HI16: howto manager. (line 854)
+* BFD_RELOC_SH_GOTPC_LOW16: howto manager. (line 851)
+* BFD_RELOC_SH_GOTPC_MEDHI16: howto manager. (line 853)
+* BFD_RELOC_SH_GOTPC_MEDLOW16: howto manager. (line 852)
+* BFD_RELOC_SH_GOTPLT10BY4: howto manager. (line 861)
+* BFD_RELOC_SH_GOTPLT10BY8: howto manager. (line 862)
+* BFD_RELOC_SH_GOTPLT32: howto manager. (line 863)
+* BFD_RELOC_SH_GOTPLT_HI16: howto manager. (line 842)
+* BFD_RELOC_SH_GOTPLT_LOW16: howto manager. (line 839)
+* BFD_RELOC_SH_GOTPLT_MEDHI16: howto manager. (line 841)
+* BFD_RELOC_SH_GOTPLT_MEDLOW16: howto manager. (line 840)
+* BFD_RELOC_SH_IMM3: howto manager. (line 804)
+* BFD_RELOC_SH_IMM3U: howto manager. (line 805)
+* BFD_RELOC_SH_IMM4: howto manager. (line 812)
+* BFD_RELOC_SH_IMM4BY2: howto manager. (line 813)
+* BFD_RELOC_SH_IMM4BY4: howto manager. (line 814)
+* BFD_RELOC_SH_IMM8: howto manager. (line 815)
+* BFD_RELOC_SH_IMM8BY2: howto manager. (line 816)
+* BFD_RELOC_SH_IMM8BY4: howto manager. (line 817)
+* BFD_RELOC_SH_IMM_HI16: howto manager. (line 881)
+* BFD_RELOC_SH_IMM_HI16_PCREL: howto manager. (line 882)
+* BFD_RELOC_SH_IMM_LOW16: howto manager. (line 875)
+* BFD_RELOC_SH_IMM_LOW16_PCREL: howto manager. (line 876)
+* BFD_RELOC_SH_IMM_MEDHI16: howto manager. (line 879)
+* BFD_RELOC_SH_IMM_MEDHI16_PCREL: howto manager. (line 880)
+* BFD_RELOC_SH_IMM_MEDLOW16: howto manager. (line 877)
+* BFD_RELOC_SH_IMM_MEDLOW16_PCREL: howto manager. (line 878)
+* BFD_RELOC_SH_IMMS10: howto manager. (line 869)
+* BFD_RELOC_SH_IMMS10BY2: howto manager. (line 870)
+* BFD_RELOC_SH_IMMS10BY4: howto manager. (line 871)
+* BFD_RELOC_SH_IMMS10BY8: howto manager. (line 872)
+* BFD_RELOC_SH_IMMS16: howto manager. (line 873)
+* BFD_RELOC_SH_IMMS6: howto manager. (line 866)
+* BFD_RELOC_SH_IMMS6BY32: howto manager. (line 867)
+* BFD_RELOC_SH_IMMU16: howto manager. (line 874)
+* BFD_RELOC_SH_IMMU5: howto manager. (line 865)
+* BFD_RELOC_SH_IMMU6: howto manager. (line 868)
+* BFD_RELOC_SH_JMP_SLOT: howto manager. (line 832)
+* BFD_RELOC_SH_JMP_SLOT64: howto manager. (line 857)
+* BFD_RELOC_SH_LABEL: howto manager. (line 827)
+* BFD_RELOC_SH_LOOP_END: howto manager. (line 829)
+* BFD_RELOC_SH_LOOP_START: howto manager. (line 828)
+* BFD_RELOC_SH_PCDISP12BY2: howto manager. (line 803)
+* BFD_RELOC_SH_PCDISP8BY2: howto manager. (line 802)
+* BFD_RELOC_SH_PCRELIMM8BY2: howto manager. (line 818)
+* BFD_RELOC_SH_PCRELIMM8BY4: howto manager. (line 819)
+* BFD_RELOC_SH_PLT_HI16: howto manager. (line 846)
+* BFD_RELOC_SH_PLT_LOW16: howto manager. (line 843)
+* BFD_RELOC_SH_PLT_MEDHI16: howto manager. (line 845)
+* BFD_RELOC_SH_PLT_MEDLOW16: howto manager. (line 844)
+* BFD_RELOC_SH_PT_16: howto manager. (line 883)
+* BFD_RELOC_SH_RELATIVE: howto manager. (line 833)
+* BFD_RELOC_SH_RELATIVE64: howto manager. (line 858)
+* BFD_RELOC_SH_SHMEDIA_CODE: howto manager. (line 864)
+* BFD_RELOC_SH_SWITCH16: howto manager. (line 820)
+* BFD_RELOC_SH_SWITCH32: howto manager. (line 821)
+* BFD_RELOC_SH_TLS_DTPMOD32: howto manager. (line 889)
+* BFD_RELOC_SH_TLS_DTPOFF32: howto manager. (line 890)
+* BFD_RELOC_SH_TLS_GD_32: howto manager. (line 884)
+* BFD_RELOC_SH_TLS_IE_32: howto manager. (line 887)
+* BFD_RELOC_SH_TLS_LD_32: howto manager. (line 885)
+* BFD_RELOC_SH_TLS_LDO_32: howto manager. (line 886)
+* BFD_RELOC_SH_TLS_LE_32: howto manager. (line 888)
+* BFD_RELOC_SH_TLS_TPOFF32: howto manager. (line 891)
+* BFD_RELOC_SH_USES: howto manager. (line 822)
* BFD_RELOC_SPARC13: howto manager. (line 119)
* BFD_RELOC_SPARC22: howto manager. (line 118)
-* BFD_RELOC_SPARC_10: howto manager. (line 141)
-* BFD_RELOC_SPARC_11: howto manager. (line 142)
-* BFD_RELOC_SPARC_5: howto manager. (line 154)
-* BFD_RELOC_SPARC_6: howto manager. (line 153)
-* BFD_RELOC_SPARC_64: howto manager. (line 140)
-* BFD_RELOC_SPARC_7: howto manager. (line 152)
-* BFD_RELOC_SPARC_BASE13: howto manager. (line 136)
-* BFD_RELOC_SPARC_BASE22: howto manager. (line 137)
+* BFD_RELOC_SPARC_10: howto manager. (line 146)
+* BFD_RELOC_SPARC_11: howto manager. (line 147)
+* BFD_RELOC_SPARC_5: howto manager. (line 159)
+* BFD_RELOC_SPARC_6: howto manager. (line 158)
+* BFD_RELOC_SPARC_64: howto manager. (line 145)
+* BFD_RELOC_SPARC_7: howto manager. (line 157)
+* BFD_RELOC_SPARC_BASE13: howto manager. (line 141)
+* BFD_RELOC_SPARC_BASE22: howto manager. (line 142)
* BFD_RELOC_SPARC_COPY: howto manager. (line 126)
-* BFD_RELOC_SPARC_DISP64: howto manager. (line 155)
+* BFD_RELOC_SPARC_DISP64: howto manager. (line 160)
* BFD_RELOC_SPARC_GLOB_DAT: howto manager. (line 127)
* BFD_RELOC_SPARC_GOT10: howto manager. (line 120)
* BFD_RELOC_SPARC_GOT13: howto manager. (line 121)
* BFD_RELOC_SPARC_GOT22: howto manager. (line 122)
-* BFD_RELOC_SPARC_H44: howto manager. (line 160)
-* BFD_RELOC_SPARC_HH22: howto manager. (line 144)
-* BFD_RELOC_SPARC_HIX22: howto manager. (line 158)
-* BFD_RELOC_SPARC_HM10: howto manager. (line 145)
+* BFD_RELOC_SPARC_GOTDATA_HIX22: howto manager. (line 133)
+* BFD_RELOC_SPARC_GOTDATA_LOX10: howto manager. (line 134)
+* BFD_RELOC_SPARC_GOTDATA_OP: howto manager. (line 137)
+* BFD_RELOC_SPARC_GOTDATA_OP_HIX22: howto manager. (line 135)
+* BFD_RELOC_SPARC_GOTDATA_OP_LOX10: howto manager. (line 136)
+* BFD_RELOC_SPARC_H44: howto manager. (line 165)
+* BFD_RELOC_SPARC_HH22: howto manager. (line 149)
+* BFD_RELOC_SPARC_HIX22: howto manager. (line 163)
+* BFD_RELOC_SPARC_HM10: howto manager. (line 150)
* BFD_RELOC_SPARC_JMP_SLOT: howto manager. (line 128)
-* BFD_RELOC_SPARC_L44: howto manager. (line 162)
-* BFD_RELOC_SPARC_LM22: howto manager. (line 146)
-* BFD_RELOC_SPARC_LOX10: howto manager. (line 159)
-* BFD_RELOC_SPARC_M44: howto manager. (line 161)
-* BFD_RELOC_SPARC_OLO10: howto manager. (line 143)
+* BFD_RELOC_SPARC_L44: howto manager. (line 167)
+* BFD_RELOC_SPARC_LM22: howto manager. (line 151)
+* BFD_RELOC_SPARC_LOX10: howto manager. (line 164)
+* BFD_RELOC_SPARC_M44: howto manager. (line 166)
+* BFD_RELOC_SPARC_OLO10: howto manager. (line 148)
* BFD_RELOC_SPARC_PC10: howto manager. (line 123)
* BFD_RELOC_SPARC_PC22: howto manager. (line 124)
-* BFD_RELOC_SPARC_PC_HH22: howto manager. (line 147)
-* BFD_RELOC_SPARC_PC_HM10: howto manager. (line 148)
-* BFD_RELOC_SPARC_PC_LM22: howto manager. (line 149)
-* BFD_RELOC_SPARC_PLT32: howto manager. (line 156)
-* BFD_RELOC_SPARC_PLT64: howto manager. (line 157)
-* BFD_RELOC_SPARC_REGISTER: howto manager. (line 163)
+* BFD_RELOC_SPARC_PC_HH22: howto manager. (line 152)
+* BFD_RELOC_SPARC_PC_HM10: howto manager. (line 153)
+* BFD_RELOC_SPARC_PC_LM22: howto manager. (line 154)
+* BFD_RELOC_SPARC_PLT32: howto manager. (line 161)
+* BFD_RELOC_SPARC_PLT64: howto manager. (line 162)
+* BFD_RELOC_SPARC_REGISTER: howto manager. (line 168)
* BFD_RELOC_SPARC_RELATIVE: howto manager. (line 129)
-* BFD_RELOC_SPARC_REV32: howto manager. (line 166)
-* BFD_RELOC_SPARC_TLS_DTPMOD32: howto manager. (line 187)
-* BFD_RELOC_SPARC_TLS_DTPMOD64: howto manager. (line 188)
-* BFD_RELOC_SPARC_TLS_DTPOFF32: howto manager. (line 189)
-* BFD_RELOC_SPARC_TLS_DTPOFF64: howto manager. (line 190)
-* BFD_RELOC_SPARC_TLS_GD_ADD: howto manager. (line 171)
-* BFD_RELOC_SPARC_TLS_GD_CALL: howto manager. (line 172)
-* BFD_RELOC_SPARC_TLS_GD_HI22: howto manager. (line 169)
-* BFD_RELOC_SPARC_TLS_GD_LO10: howto manager. (line 170)
-* BFD_RELOC_SPARC_TLS_IE_ADD: howto manager. (line 184)
-* BFD_RELOC_SPARC_TLS_IE_HI22: howto manager. (line 180)
-* BFD_RELOC_SPARC_TLS_IE_LD: howto manager. (line 182)
-* BFD_RELOC_SPARC_TLS_IE_LDX: howto manager. (line 183)
-* BFD_RELOC_SPARC_TLS_IE_LO10: howto manager. (line 181)
-* BFD_RELOC_SPARC_TLS_LDM_ADD: howto manager. (line 175)
-* BFD_RELOC_SPARC_TLS_LDM_CALL: howto manager. (line 176)
-* BFD_RELOC_SPARC_TLS_LDM_HI22: howto manager. (line 173)
-* BFD_RELOC_SPARC_TLS_LDM_LO10: howto manager. (line 174)
-* BFD_RELOC_SPARC_TLS_LDO_ADD: howto manager. (line 179)
-* BFD_RELOC_SPARC_TLS_LDO_HIX22: howto manager. (line 177)
-* BFD_RELOC_SPARC_TLS_LDO_LOX10: howto manager. (line 178)
-* BFD_RELOC_SPARC_TLS_LE_HIX22: howto manager. (line 185)
-* BFD_RELOC_SPARC_TLS_LE_LOX10: howto manager. (line 186)
-* BFD_RELOC_SPARC_TLS_TPOFF32: howto manager. (line 191)
-* BFD_RELOC_SPARC_TLS_TPOFF64: howto manager. (line 192)
+* BFD_RELOC_SPARC_REV32: howto manager. (line 171)
+* BFD_RELOC_SPARC_TLS_DTPMOD32: howto manager. (line 192)
+* BFD_RELOC_SPARC_TLS_DTPMOD64: howto manager. (line 193)
+* BFD_RELOC_SPARC_TLS_DTPOFF32: howto manager. (line 194)
+* BFD_RELOC_SPARC_TLS_DTPOFF64: howto manager. (line 195)
+* BFD_RELOC_SPARC_TLS_GD_ADD: howto manager. (line 176)
+* BFD_RELOC_SPARC_TLS_GD_CALL: howto manager. (line 177)
+* BFD_RELOC_SPARC_TLS_GD_HI22: howto manager. (line 174)
+* BFD_RELOC_SPARC_TLS_GD_LO10: howto manager. (line 175)
+* BFD_RELOC_SPARC_TLS_IE_ADD: howto manager. (line 189)
+* BFD_RELOC_SPARC_TLS_IE_HI22: howto manager. (line 185)
+* BFD_RELOC_SPARC_TLS_IE_LD: howto manager. (line 187)
+* BFD_RELOC_SPARC_TLS_IE_LDX: howto manager. (line 188)
+* BFD_RELOC_SPARC_TLS_IE_LO10: howto manager. (line 186)
+* BFD_RELOC_SPARC_TLS_LDM_ADD: howto manager. (line 180)
+* BFD_RELOC_SPARC_TLS_LDM_CALL: howto manager. (line 181)
+* BFD_RELOC_SPARC_TLS_LDM_HI22: howto manager. (line 178)
+* BFD_RELOC_SPARC_TLS_LDM_LO10: howto manager. (line 179)
+* BFD_RELOC_SPARC_TLS_LDO_ADD: howto manager. (line 184)
+* BFD_RELOC_SPARC_TLS_LDO_HIX22: howto manager. (line 182)
+* BFD_RELOC_SPARC_TLS_LDO_LOX10: howto manager. (line 183)
+* BFD_RELOC_SPARC_TLS_LE_HIX22: howto manager. (line 190)
+* BFD_RELOC_SPARC_TLS_LE_LOX10: howto manager. (line 191)
+* BFD_RELOC_SPARC_TLS_TPOFF32: howto manager. (line 196)
+* BFD_RELOC_SPARC_TLS_TPOFF64: howto manager. (line 197)
* BFD_RELOC_SPARC_UA16: howto manager. (line 130)
* BFD_RELOC_SPARC_UA32: howto manager. (line 131)
* BFD_RELOC_SPARC_UA64: howto manager. (line 132)
-* BFD_RELOC_SPARC_WDISP16: howto manager. (line 150)
-* BFD_RELOC_SPARC_WDISP19: howto manager. (line 151)
+* BFD_RELOC_SPARC_WDISP16: howto manager. (line 155)
+* BFD_RELOC_SPARC_WDISP19: howto manager. (line 156)
* BFD_RELOC_SPARC_WDISP22: howto manager. (line 117)
* BFD_RELOC_SPARC_WPLT30: howto manager. (line 125)
-* BFD_RELOC_SPU_HI16: howto manager. (line 206)
-* BFD_RELOC_SPU_IMM10: howto manager. (line 197)
-* BFD_RELOC_SPU_IMM10W: howto manager. (line 198)
-* BFD_RELOC_SPU_IMM16: howto manager. (line 199)
-* BFD_RELOC_SPU_IMM16W: howto manager. (line 200)
-* BFD_RELOC_SPU_IMM18: howto manager. (line 201)
-* BFD_RELOC_SPU_IMM7: howto manager. (line 195)
-* BFD_RELOC_SPU_IMM8: howto manager. (line 196)
-* BFD_RELOC_SPU_LO16: howto manager. (line 205)
-* BFD_RELOC_SPU_PCREL16: howto manager. (line 204)
-* BFD_RELOC_SPU_PCREL9a: howto manager. (line 202)
-* BFD_RELOC_SPU_PCREL9b: howto manager. (line 203)
-* BFD_RELOC_THUMB_PCREL_BLX: howto manager. (line 641)
-* BFD_RELOC_THUMB_PCREL_BRANCH12: howto manager. (line 655)
-* BFD_RELOC_THUMB_PCREL_BRANCH20: howto manager. (line 656)
-* BFD_RELOC_THUMB_PCREL_BRANCH23: howto manager. (line 657)
-* BFD_RELOC_THUMB_PCREL_BRANCH25: howto manager. (line 658)
-* BFD_RELOC_THUMB_PCREL_BRANCH7: howto manager. (line 653)
-* BFD_RELOC_THUMB_PCREL_BRANCH9: howto manager. (line 654)
-* BFD_RELOC_TIC30_LDP: howto manager. (line 1194)
-* BFD_RELOC_TIC54X_16_OF_23: howto manager. (line 1212)
-* BFD_RELOC_TIC54X_23: howto manager. (line 1209)
-* BFD_RELOC_TIC54X_MS7_OF_23: howto manager. (line 1217)
-* BFD_RELOC_TIC54X_PARTLS7: howto manager. (line 1199)
-* BFD_RELOC_TIC54X_PARTMS9: howto manager. (line 1204)
-* bfd_reloc_type_lookup: howto manager. (line 2012)
-* BFD_RELOC_V850_22_PCREL: howto manager. (line 1121)
-* BFD_RELOC_V850_9_PCREL: howto manager. (line 1118)
-* BFD_RELOC_V850_ALIGN: howto manager. (line 1179)
-* BFD_RELOC_V850_CALLT_16_16_OFFSET: howto manager. (line 1170)
-* BFD_RELOC_V850_CALLT_6_7_OFFSET: howto manager. (line 1167)
-* BFD_RELOC_V850_LO16_SPLIT_OFFSET: howto manager. (line 1182)
-* BFD_RELOC_V850_LONGCALL: howto manager. (line 1173)
-* BFD_RELOC_V850_LONGJUMP: howto manager. (line 1176)
-* BFD_RELOC_V850_SDA_15_16_OFFSET: howto manager. (line 1127)
-* BFD_RELOC_V850_SDA_16_16_OFFSET: howto manager. (line 1124)
-* BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET: howto manager. (line 1159)
-* BFD_RELOC_V850_TDA_16_16_OFFSET: howto manager. (line 1149)
-* BFD_RELOC_V850_TDA_4_4_OFFSET: howto manager. (line 1156)
-* BFD_RELOC_V850_TDA_4_5_OFFSET: howto manager. (line 1152)
-* BFD_RELOC_V850_TDA_6_8_OFFSET: howto manager. (line 1138)
-* BFD_RELOC_V850_TDA_7_7_OFFSET: howto manager. (line 1146)
-* BFD_RELOC_V850_TDA_7_8_OFFSET: howto manager. (line 1142)
-* BFD_RELOC_V850_ZDA_15_16_OFFSET: howto manager. (line 1134)
-* BFD_RELOC_V850_ZDA_16_16_OFFSET: howto manager. (line 1131)
-* BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET: howto manager. (line 1163)
-* BFD_RELOC_VAX_GLOB_DAT: howto manager. (line 1883)
-* BFD_RELOC_VAX_JMP_SLOT: howto manager. (line 1884)
-* BFD_RELOC_VAX_RELATIVE: howto manager. (line 1885)
-* BFD_RELOC_VPE4KMATH_DATA: howto manager. (line 1574)
-* BFD_RELOC_VPE4KMATH_INSN: howto manager. (line 1575)
-* BFD_RELOC_VTABLE_ENTRY: howto manager. (line 1579)
-* BFD_RELOC_VTABLE_INHERIT: howto manager. (line 1578)
-* BFD_RELOC_X86_64_32S: howto manager. (line 479)
-* BFD_RELOC_X86_64_COPY: howto manager. (line 474)
-* BFD_RELOC_X86_64_DTPMOD64: howto manager. (line 480)
-* BFD_RELOC_X86_64_DTPOFF32: howto manager. (line 485)
-* BFD_RELOC_X86_64_DTPOFF64: howto manager. (line 481)
-* BFD_RELOC_X86_64_GLOB_DAT: howto manager. (line 475)
-* BFD_RELOC_X86_64_GOT32: howto manager. (line 472)
-* BFD_RELOC_X86_64_GOT64: howto manager. (line 490)
-* BFD_RELOC_X86_64_GOTOFF64: howto manager. (line 488)
-* BFD_RELOC_X86_64_GOTPC32: howto manager. (line 489)
-* BFD_RELOC_X86_64_GOTPC32_TLSDESC: howto manager. (line 495)
-* BFD_RELOC_X86_64_GOTPC64: howto manager. (line 492)
-* BFD_RELOC_X86_64_GOTPCREL: howto manager. (line 478)
-* BFD_RELOC_X86_64_GOTPCREL64: howto manager. (line 491)
-* BFD_RELOC_X86_64_GOTPLT64: howto manager. (line 493)
-* BFD_RELOC_X86_64_GOTTPOFF: howto manager. (line 486)
-* BFD_RELOC_X86_64_JUMP_SLOT: howto manager. (line 476)
-* BFD_RELOC_X86_64_PLT32: howto manager. (line 473)
-* BFD_RELOC_X86_64_PLTOFF64: howto manager. (line 494)
-* BFD_RELOC_X86_64_RELATIVE: howto manager. (line 477)
-* BFD_RELOC_X86_64_TLSDESC: howto manager. (line 497)
-* BFD_RELOC_X86_64_TLSDESC_CALL: howto manager. (line 496)
-* BFD_RELOC_X86_64_TLSGD: howto manager. (line 483)
-* BFD_RELOC_X86_64_TLSLD: howto manager. (line 484)
-* BFD_RELOC_X86_64_TPOFF32: howto manager. (line 487)
-* BFD_RELOC_X86_64_TPOFF64: howto manager. (line 482)
-* BFD_RELOC_XC16X_PAG: howto manager. (line 1877)
-* BFD_RELOC_XC16X_POF: howto manager. (line 1878)
-* BFD_RELOC_XC16X_SEG: howto manager. (line 1879)
-* BFD_RELOC_XC16X_SOF: howto manager. (line 1880)
-* BFD_RELOC_XSTORMY16_12: howto manager. (line 1872)
-* BFD_RELOC_XSTORMY16_24: howto manager. (line 1873)
-* BFD_RELOC_XSTORMY16_FPTR16: howto manager. (line 1874)
-* BFD_RELOC_XSTORMY16_REL_12: howto manager. (line 1871)
-* BFD_RELOC_XTENSA_ASM_EXPAND: howto manager. (line 1989)
-* BFD_RELOC_XTENSA_ASM_SIMPLIFY: howto manager. (line 1994)
-* BFD_RELOC_XTENSA_DIFF16: howto manager. (line 1936)
-* BFD_RELOC_XTENSA_DIFF32: howto manager. (line 1937)
-* BFD_RELOC_XTENSA_DIFF8: howto manager. (line 1935)
-* BFD_RELOC_XTENSA_GLOB_DAT: howto manager. (line 1925)
-* BFD_RELOC_XTENSA_JMP_SLOT: howto manager. (line 1926)
-* BFD_RELOC_XTENSA_OP0: howto manager. (line 1983)
-* BFD_RELOC_XTENSA_OP1: howto manager. (line 1984)
-* BFD_RELOC_XTENSA_OP2: howto manager. (line 1985)
-* BFD_RELOC_XTENSA_PLT: howto manager. (line 1930)
-* BFD_RELOC_XTENSA_RELATIVE: howto manager. (line 1927)
-* BFD_RELOC_XTENSA_RTLD: howto manager. (line 1920)
-* BFD_RELOC_XTENSA_SLOT0_ALT: howto manager. (line 1965)
-* BFD_RELOC_XTENSA_SLOT0_OP: howto manager. (line 1945)
-* BFD_RELOC_XTENSA_SLOT10_ALT: howto manager. (line 1975)
-* BFD_RELOC_XTENSA_SLOT10_OP: howto manager. (line 1955)
-* BFD_RELOC_XTENSA_SLOT11_ALT: howto manager. (line 1976)
-* BFD_RELOC_XTENSA_SLOT11_OP: howto manager. (line 1956)
-* BFD_RELOC_XTENSA_SLOT12_ALT: howto manager. (line 1977)
-* BFD_RELOC_XTENSA_SLOT12_OP: howto manager. (line 1957)
-* BFD_RELOC_XTENSA_SLOT13_ALT: howto manager. (line 1978)
-* BFD_RELOC_XTENSA_SLOT13_OP: howto manager. (line 1958)
-* BFD_RELOC_XTENSA_SLOT14_ALT: howto manager. (line 1979)
-* BFD_RELOC_XTENSA_SLOT14_OP: howto manager. (line 1959)
-* BFD_RELOC_XTENSA_SLOT1_ALT: howto manager. (line 1966)
-* BFD_RELOC_XTENSA_SLOT1_OP: howto manager. (line 1946)
-* BFD_RELOC_XTENSA_SLOT2_ALT: howto manager. (line 1967)
-* BFD_RELOC_XTENSA_SLOT2_OP: howto manager. (line 1947)
-* BFD_RELOC_XTENSA_SLOT3_ALT: howto manager. (line 1968)
-* BFD_RELOC_XTENSA_SLOT3_OP: howto manager. (line 1948)
-* BFD_RELOC_XTENSA_SLOT4_ALT: howto manager. (line 1969)
-* BFD_RELOC_XTENSA_SLOT4_OP: howto manager. (line 1949)
-* BFD_RELOC_XTENSA_SLOT5_ALT: howto manager. (line 1970)
-* BFD_RELOC_XTENSA_SLOT5_OP: howto manager. (line 1950)
-* BFD_RELOC_XTENSA_SLOT6_ALT: howto manager. (line 1971)
-* BFD_RELOC_XTENSA_SLOT6_OP: howto manager. (line 1951)
-* BFD_RELOC_XTENSA_SLOT7_ALT: howto manager. (line 1972)
-* BFD_RELOC_XTENSA_SLOT7_OP: howto manager. (line 1952)
-* BFD_RELOC_XTENSA_SLOT8_ALT: howto manager. (line 1973)
-* BFD_RELOC_XTENSA_SLOT8_OP: howto manager. (line 1953)
-* BFD_RELOC_XTENSA_SLOT9_ALT: howto manager. (line 1974)
-* BFD_RELOC_XTENSA_SLOT9_OP: howto manager. (line 1954)
-* BFD_RELOC_Z80_DISP8: howto manager. (line 1999)
-* BFD_RELOC_Z8K_CALLR: howto manager. (line 2005)
-* BFD_RELOC_Z8K_DISP7: howto manager. (line 2002)
-* BFD_RELOC_Z8K_IMM4L: howto manager. (line 2008)
-* bfd_scan_arch: Architectures. (line 397)
-* bfd_scan_vma: BFD front end. (line 426)
-* bfd_seach_for_target: bfd_target. (line 460)
+* BFD_RELOC_SPU_HI16: howto manager. (line 211)
+* BFD_RELOC_SPU_IMM10: howto manager. (line 202)
+* BFD_RELOC_SPU_IMM10W: howto manager. (line 203)
+* BFD_RELOC_SPU_IMM16: howto manager. (line 204)
+* BFD_RELOC_SPU_IMM16W: howto manager. (line 205)
+* BFD_RELOC_SPU_IMM18: howto manager. (line 206)
+* BFD_RELOC_SPU_IMM7: howto manager. (line 200)
+* BFD_RELOC_SPU_IMM8: howto manager. (line 201)
+* BFD_RELOC_SPU_LO16: howto manager. (line 210)
+* BFD_RELOC_SPU_PCREL16: howto manager. (line 209)
+* BFD_RELOC_SPU_PCREL9a: howto manager. (line 207)
+* BFD_RELOC_SPU_PCREL9b: howto manager. (line 208)
+* BFD_RELOC_SPU_PPU32: howto manager. (line 212)
+* BFD_RELOC_SPU_PPU64: howto manager. (line 213)
+* BFD_RELOC_THUMB_PCREL_BLX: howto manager. (line 662)
+* BFD_RELOC_THUMB_PCREL_BRANCH12: howto manager. (line 676)
+* BFD_RELOC_THUMB_PCREL_BRANCH20: howto manager. (line 677)
+* BFD_RELOC_THUMB_PCREL_BRANCH23: howto manager. (line 678)
+* BFD_RELOC_THUMB_PCREL_BRANCH25: howto manager. (line 679)
+* BFD_RELOC_THUMB_PCREL_BRANCH7: howto manager. (line 674)
+* BFD_RELOC_THUMB_PCREL_BRANCH9: howto manager. (line 675)
+* BFD_RELOC_TIC30_LDP: howto manager. (line 1218)
+* BFD_RELOC_TIC54X_16_OF_23: howto manager. (line 1236)
+* BFD_RELOC_TIC54X_23: howto manager. (line 1233)
+* BFD_RELOC_TIC54X_MS7_OF_23: howto manager. (line 1241)
+* BFD_RELOC_TIC54X_PARTLS7: howto manager. (line 1223)
+* BFD_RELOC_TIC54X_PARTMS9: howto manager. (line 1228)
+* bfd_reloc_type_lookup: howto manager. (line 2102)
+* BFD_RELOC_V850_22_PCREL: howto manager. (line 1145)
+* BFD_RELOC_V850_9_PCREL: howto manager. (line 1142)
+* BFD_RELOC_V850_ALIGN: howto manager. (line 1203)
+* BFD_RELOC_V850_CALLT_16_16_OFFSET: howto manager. (line 1194)
+* BFD_RELOC_V850_CALLT_6_7_OFFSET: howto manager. (line 1191)
+* BFD_RELOC_V850_LO16_SPLIT_OFFSET: howto manager. (line 1206)
+* BFD_RELOC_V850_LONGCALL: howto manager. (line 1197)
+* BFD_RELOC_V850_LONGJUMP: howto manager. (line 1200)
+* BFD_RELOC_V850_SDA_15_16_OFFSET: howto manager. (line 1151)
+* BFD_RELOC_V850_SDA_16_16_OFFSET: howto manager. (line 1148)
+* BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET: howto manager. (line 1183)
+* BFD_RELOC_V850_TDA_16_16_OFFSET: howto manager. (line 1173)
+* BFD_RELOC_V850_TDA_4_4_OFFSET: howto manager. (line 1180)
+* BFD_RELOC_V850_TDA_4_5_OFFSET: howto manager. (line 1176)
+* BFD_RELOC_V850_TDA_6_8_OFFSET: howto manager. (line 1162)
+* BFD_RELOC_V850_TDA_7_7_OFFSET: howto manager. (line 1170)
+* BFD_RELOC_V850_TDA_7_8_OFFSET: howto manager. (line 1166)
+* BFD_RELOC_V850_ZDA_15_16_OFFSET: howto manager. (line 1158)
+* BFD_RELOC_V850_ZDA_16_16_OFFSET: howto manager. (line 1155)
+* BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET: howto manager. (line 1187)
+* BFD_RELOC_VAX_GLOB_DAT: howto manager. (line 1964)
+* BFD_RELOC_VAX_JMP_SLOT: howto manager. (line 1965)
+* BFD_RELOC_VAX_RELATIVE: howto manager. (line 1966)
+* BFD_RELOC_VPE4KMATH_DATA: howto manager. (line 1620)
+* BFD_RELOC_VPE4KMATH_INSN: howto manager. (line 1621)
+* BFD_RELOC_VTABLE_ENTRY: howto manager. (line 1625)
+* BFD_RELOC_VTABLE_INHERIT: howto manager. (line 1624)
+* BFD_RELOC_X86_64_32S: howto manager. (line 500)
+* BFD_RELOC_X86_64_COPY: howto manager. (line 495)
+* BFD_RELOC_X86_64_DTPMOD64: howto manager. (line 501)
+* BFD_RELOC_X86_64_DTPOFF32: howto manager. (line 506)
+* BFD_RELOC_X86_64_DTPOFF64: howto manager. (line 502)
+* BFD_RELOC_X86_64_GLOB_DAT: howto manager. (line 496)
+* BFD_RELOC_X86_64_GOT32: howto manager. (line 493)
+* BFD_RELOC_X86_64_GOT64: howto manager. (line 511)
+* BFD_RELOC_X86_64_GOTOFF64: howto manager. (line 509)
+* BFD_RELOC_X86_64_GOTPC32: howto manager. (line 510)
+* BFD_RELOC_X86_64_GOTPC32_TLSDESC: howto manager. (line 516)
+* BFD_RELOC_X86_64_GOTPC64: howto manager. (line 513)
+* BFD_RELOC_X86_64_GOTPCREL: howto manager. (line 499)
+* BFD_RELOC_X86_64_GOTPCREL64: howto manager. (line 512)
+* BFD_RELOC_X86_64_GOTPLT64: howto manager. (line 514)
+* BFD_RELOC_X86_64_GOTTPOFF: howto manager. (line 507)
+* BFD_RELOC_X86_64_JUMP_SLOT: howto manager. (line 497)
+* BFD_RELOC_X86_64_PLT32: howto manager. (line 494)
+* BFD_RELOC_X86_64_PLTOFF64: howto manager. (line 515)
+* BFD_RELOC_X86_64_RELATIVE: howto manager. (line 498)
+* BFD_RELOC_X86_64_TLSDESC: howto manager. (line 518)
+* BFD_RELOC_X86_64_TLSDESC_CALL: howto manager. (line 517)
+* BFD_RELOC_X86_64_TLSGD: howto manager. (line 504)
+* BFD_RELOC_X86_64_TLSLD: howto manager. (line 505)
+* BFD_RELOC_X86_64_TPOFF32: howto manager. (line 508)
+* BFD_RELOC_X86_64_TPOFF64: howto manager. (line 503)
+* BFD_RELOC_XC16X_PAG: howto manager. (line 1958)
+* BFD_RELOC_XC16X_POF: howto manager. (line 1959)
+* BFD_RELOC_XC16X_SEG: howto manager. (line 1960)
+* BFD_RELOC_XC16X_SOF: howto manager. (line 1961)
+* BFD_RELOC_XSTORMY16_12: howto manager. (line 1950)
+* BFD_RELOC_XSTORMY16_24: howto manager. (line 1951)
+* BFD_RELOC_XSTORMY16_FPTR16: howto manager. (line 1952)
+* BFD_RELOC_XSTORMY16_REL_12: howto manager. (line 1949)
+* BFD_RELOC_XTENSA_ASM_EXPAND: howto manager. (line 2070)
+* BFD_RELOC_XTENSA_ASM_SIMPLIFY: howto manager. (line 2075)
+* BFD_RELOC_XTENSA_DIFF16: howto manager. (line 2017)
+* BFD_RELOC_XTENSA_DIFF32: howto manager. (line 2018)
+* BFD_RELOC_XTENSA_DIFF8: howto manager. (line 2016)
+* BFD_RELOC_XTENSA_GLOB_DAT: howto manager. (line 2006)
+* BFD_RELOC_XTENSA_JMP_SLOT: howto manager. (line 2007)
+* BFD_RELOC_XTENSA_OP0: howto manager. (line 2064)
+* BFD_RELOC_XTENSA_OP1: howto manager. (line 2065)
+* BFD_RELOC_XTENSA_OP2: howto manager. (line 2066)
+* BFD_RELOC_XTENSA_PLT: howto manager. (line 2011)
+* BFD_RELOC_XTENSA_RELATIVE: howto manager. (line 2008)
+* BFD_RELOC_XTENSA_RTLD: howto manager. (line 2001)
+* BFD_RELOC_XTENSA_SLOT0_ALT: howto manager. (line 2046)
+* BFD_RELOC_XTENSA_SLOT0_OP: howto manager. (line 2026)
+* BFD_RELOC_XTENSA_SLOT10_ALT: howto manager. (line 2056)
+* BFD_RELOC_XTENSA_SLOT10_OP: howto manager. (line 2036)
+* BFD_RELOC_XTENSA_SLOT11_ALT: howto manager. (line 2057)
+* BFD_RELOC_XTENSA_SLOT11_OP: howto manager. (line 2037)
+* BFD_RELOC_XTENSA_SLOT12_ALT: howto manager. (line 2058)
+* BFD_RELOC_XTENSA_SLOT12_OP: howto manager. (line 2038)
+* BFD_RELOC_XTENSA_SLOT13_ALT: howto manager. (line 2059)
+* BFD_RELOC_XTENSA_SLOT13_OP: howto manager. (line 2039)
+* BFD_RELOC_XTENSA_SLOT14_ALT: howto manager. (line 2060)
+* BFD_RELOC_XTENSA_SLOT14_OP: howto manager. (line 2040)
+* BFD_RELOC_XTENSA_SLOT1_ALT: howto manager. (line 2047)
+* BFD_RELOC_XTENSA_SLOT1_OP: howto manager. (line 2027)
+* BFD_RELOC_XTENSA_SLOT2_ALT: howto manager. (line 2048)
+* BFD_RELOC_XTENSA_SLOT2_OP: howto manager. (line 2028)
+* BFD_RELOC_XTENSA_SLOT3_ALT: howto manager. (line 2049)
+* BFD_RELOC_XTENSA_SLOT3_OP: howto manager. (line 2029)
+* BFD_RELOC_XTENSA_SLOT4_ALT: howto manager. (line 2050)
+* BFD_RELOC_XTENSA_SLOT4_OP: howto manager. (line 2030)
+* BFD_RELOC_XTENSA_SLOT5_ALT: howto manager. (line 2051)
+* BFD_RELOC_XTENSA_SLOT5_OP: howto manager. (line 2031)
+* BFD_RELOC_XTENSA_SLOT6_ALT: howto manager. (line 2052)
+* BFD_RELOC_XTENSA_SLOT6_OP: howto manager. (line 2032)
+* BFD_RELOC_XTENSA_SLOT7_ALT: howto manager. (line 2053)
+* BFD_RELOC_XTENSA_SLOT7_OP: howto manager. (line 2033)
+* BFD_RELOC_XTENSA_SLOT8_ALT: howto manager. (line 2054)
+* BFD_RELOC_XTENSA_SLOT8_OP: howto manager. (line 2034)
+* BFD_RELOC_XTENSA_SLOT9_ALT: howto manager. (line 2055)
+* BFD_RELOC_XTENSA_SLOT9_OP: howto manager. (line 2035)
+* BFD_RELOC_XTENSA_TLS_ARG: howto manager. (line 2085)
+* BFD_RELOC_XTENSA_TLS_CALL: howto manager. (line 2086)
+* BFD_RELOC_XTENSA_TLS_DTPOFF: howto manager. (line 2082)
+* BFD_RELOC_XTENSA_TLS_FUNC: howto manager. (line 2084)
+* BFD_RELOC_XTENSA_TLS_TPOFF: howto manager. (line 2083)
+* BFD_RELOC_XTENSA_TLSDESC_ARG: howto manager. (line 2081)
+* BFD_RELOC_XTENSA_TLSDESC_FN: howto manager. (line 2080)
+* BFD_RELOC_Z80_DISP8: howto manager. (line 2089)
+* BFD_RELOC_Z8K_CALLR: howto manager. (line 2095)
+* BFD_RELOC_Z8K_DISP7: howto manager. (line 2092)
+* BFD_RELOC_Z8K_IMM4L: howto manager. (line 2098)
+* bfd_scan_arch: Architectures. (line 417)
+* bfd_scan_vma: BFD front end. (line 505)
+* bfd_seach_for_target: bfd_target. (line 464)
* bfd_section_already_linked: Writing the symbol table.
(line 55)
* bfd_section_list_clear: section prototypes. (line 8)
* bfd_sections_find_if: section prototypes. (line 176)
-* bfd_set_arch_info: Architectures. (line 438)
+* bfd_set_arch_info: Architectures. (line 458)
* bfd_set_archive_head: Archives. (line 69)
-* bfd_set_default_target: bfd_target. (line 425)
-* bfd_set_error: BFD front end. (line 236)
-* bfd_set_error_handler: BFD front end. (line 278)
-* bfd_set_error_program_name: BFD front end. (line 287)
-* bfd_set_file_flags: BFD front end. (line 346)
+* bfd_set_default_target: bfd_target. (line 429)
+* bfd_set_error: BFD front end. (line 315)
+* bfd_set_error_handler: BFD front end. (line 357)
+* bfd_set_error_program_name: BFD front end. (line 366)
+* bfd_set_file_flags: BFD front end. (line 425)
* bfd_set_format: Formats. (line 68)
-* bfd_set_gp_size: BFD front end. (line 416)
-* bfd_set_private_flags: BFD front end. (line 493)
-* bfd_set_reloc: BFD front end. (line 336)
+* bfd_set_gp_size: BFD front end. (line 495)
+* bfd_set_private_flags: BFD front end. (line 572)
+* bfd_set_reloc: BFD front end. (line 415)
* bfd_set_section_contents: section prototypes. (line 207)
* bfd_set_section_flags: section prototypes. (line 140)
* bfd_set_section_size: section prototypes. (line 193)
-* bfd_set_start_address: BFD front end. (line 395)
+* bfd_set_start_address: BFD front end. (line 474)
* bfd_set_symtab: symbol handling functions.
(line 60)
* bfd_symbol_info: symbol handling functions.
(line 130)
-* bfd_target_list: bfd_target. (line 451)
+* bfd_target_list: bfd_target. (line 455)
* bfd_write_bigendian_4byte_int: Internal. (line 13)
* bfd_zalloc: Opening and Closing.
- (line 221)
+ (line 228)
* bfd_zalloc2: Opening and Closing.
- (line 230)
+ (line 237)
* coff_symbol_type: coff. (line 186)
* core_file_matches_executable_p: Core Files. (line 30)
* find_separate_debug_file: Opening and Closing.
- (line 272)
+ (line 279)
* generic_core_file_matches_executable_p: Core Files. (line 40)
* get_debug_link_info: Opening and Closing.
- (line 253)
+ (line 260)
* Hash tables: Hash Tables. (line 6)
* internal object-file format: Canonical format. (line 11)
* Linker: Linker Functions. (line 6)
-* Other functions: BFD front end. (line 508)
+* Other functions: BFD front end. (line 587)
* separate_debug_file_exists: Opening and Closing.
- (line 263)
-* struct bfd_iovec: BFD front end. (line 700)
+ (line 270)
+* struct bfd_iovec: BFD front end. (line 790)
* target vector (_bfd_final_link): Performing the Final Link.
(line 6)
* target vector (_bfd_link_add_symbols): Adding Symbols to the Hash Table.
\1f
Tag Table:
-Node: Top\7f774
-Node: Overview\7f1113
-Node: History\7f2164
-Node: How It Works\7f3110
-Node: What BFD Version 2 Can Do\7f4653
-Node: BFD information loss\7f5968
-Node: Canonical format\7f8500
-Node: BFD front end\7f12872
-Node: Memory Usage\7f39792
-Node: Initialization\7f41020
-Node: Sections\7f41479
-Node: Section Input\7f41962
-Node: Section Output\7f43327
-Node: typedef asection\7f45813
-Node: section prototypes\7f70414
-Node: Symbols\7f80094
-Node: Reading Symbols\7f81689
-Node: Writing Symbols\7f82796
-Node: Mini Symbols\7f84505
-Node: typedef asymbol\7f85479
-Node: symbol handling functions\7f90397
-Node: Archives\7f95739
-Node: Formats\7f99465
-Node: Relocations\7f102413
-Node: typedef arelent\7f103140
-Node: howto manager\7f118951
-Node: Core Files\7f184046
-Node: Targets\7f185863
-Node: bfd_target\7f187833
-Node: Architectures\7f208009
-Node: Opening and Closing\7f229650
-Node: Internal\7f240652
-Node: File Caching\7f246985
-Node: Linker Functions\7f248899
-Node: Creating a Linker Hash Table\7f250572
-Node: Adding Symbols to the Hash Table\7f252310
-Node: Differing file formats\7f253210
-Node: Adding symbols from an object file\7f254958
-Node: Adding symbols from an archive\7f257109
-Node: Performing the Final Link\7f259523
-Node: Information provided by the linker\7f260765
-Node: Relocating the section contents\7f261919
-Node: Writing the symbol table\7f263670
-Node: Hash Tables\7f266712
-Node: Creating and Freeing a Hash Table\7f267910
-Node: Looking Up or Entering a String\7f269160
-Node: Traversing a Hash Table\7f270413
-Node: Deriving a New Hash Table Type\7f271202
-Node: Define the Derived Structures\7f272268
-Node: Write the Derived Creation Routine\7f273349
-Node: Write Other Derived Routines\7f275973
-Node: BFD back ends\7f277288
-Node: What to Put Where\7f277558
-Node: aout\7f277738
-Node: coff\7f284056
-Node: elf\7f308533
-Node: mmo\7f309396
-Node: File layout\7f310324
-Node: Symbol-table\7f315971
-Node: mmo section mapping\7f319740
-Node: GNU Free Documentation License\7f323392
-Node: BFD Index\7f343121
+Node: Top\7f1127
+Node: Overview\7f1466
+Node: History\7f2517
+Node: How It Works\7f3463
+Node: What BFD Version 2 Can Do\7f5006
+Node: BFD information loss\7f6321
+Node: Canonical format\7f8853
+Node: BFD front end\7f13225
+Node: Memory Usage\7f43732
+Node: Initialization\7f44960
+Node: Sections\7f45419
+Node: Section Input\7f45902
+Node: Section Output\7f47267
+Node: typedef asection\7f49753
+Node: section prototypes\7f74334
+Node: Symbols\7f84014
+Node: Reading Symbols\7f85609
+Node: Writing Symbols\7f86716
+Node: Mini Symbols\7f88425
+Node: typedef asymbol\7f89399
+Node: symbol handling functions\7f94764
+Node: Archives\7f100106
+Node: Formats\7f103832
+Node: Relocations\7f106780
+Node: typedef arelent\7f107507
+Node: howto manager\7f123318
+Node: Core Files\7f191114
+Node: Targets\7f192931
+Node: bfd_target\7f194901
+Node: Architectures\7f215206
+Node: Opening and Closing\7f237689
+Node: Internal\7f248953
+Node: File Caching\7f255286
+Node: Linker Functions\7f257200
+Node: Creating a Linker Hash Table\7f258873
+Node: Adding Symbols to the Hash Table\7f260611
+Node: Differing file formats\7f261511
+Node: Adding symbols from an object file\7f263236
+Node: Adding symbols from an archive\7f265387
+Node: Performing the Final Link\7f267801
+Node: Information provided by the linker\7f269043
+Node: Relocating the section contents\7f270197
+Node: Writing the symbol table\7f271948
+Node: Hash Tables\7f274990
+Node: Creating and Freeing a Hash Table\7f276188
+Node: Looking Up or Entering a String\7f277438
+Node: Traversing a Hash Table\7f278691
+Node: Deriving a New Hash Table Type\7f279480
+Node: Define the Derived Structures\7f280546
+Node: Write the Derived Creation Routine\7f281627
+Node: Write Other Derived Routines\7f284251
+Node: BFD back ends\7f285566
+Node: What to Put Where\7f285836
+Node: aout\7f286016
+Node: coff\7f292334
+Node: elf\7f317085
+Node: mmo\7f317948
+Node: File layout\7f318876
+Node: Symbol-table\7f324523
+Node: mmo section mapping\7f328292
+Node: GNU Free Documentation License\7f331944
+Node: BFD Index\7f351673
\1f
End Tag Table
This is standards.info, produced by makeinfo version 4.8 from
.././etc/standards.texi.
+INFO-DIR-SECTION GNU organization
START-INFO-DIR-ENTRY
-* Standards: (standards). GNU coding standards.
+* Standards: (standards). GNU coding standards.
END-INFO-DIR-ENTRY
- GNU Coding Standards Copyright (C) 1992, 1993, 1994, 1995, 1996,
-1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+ The GNU coding standards, last updated July 22, 2007.
+
+ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 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
+under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the section entitled "GNU
Version
*******
-Last updated February 14, 2002.
+The GNU coding standards, last updated July 22, 2007.
+
+ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 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.2 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License".
* Menu:
-* Preface:: About the GNU Coding Standards
-* Legal Issues:: Keeping Free Software Free
-* Design Advice:: General Program Design
-* Program Behavior:: Program Behavior for All Programs
-* Writing C:: Making The Best Use of C
-* Documentation:: Documenting Programs
-* Managing Releases:: The Release Process
-* References:: References to Non-Free Software or Documentation
-* Copying This Manual:: How to Make Copies of This Manual
+* Preface:: About the GNU Coding Standards.
+* Legal Issues:: Keeping free software free.
+* Design Advice:: General program design.
+* Program Behavior:: Program behavior for all programs
+* Writing C:: Making the best use of C.
+* Documentation:: Documenting programs.
+* Managing Releases:: The release process.
+* References:: Mentioning non-free software or documentation.
+* GNU Free Documentation License:: Copying and sharing this manual.
* Index::
\1f
even if you write in another programming language. The rules often
state reasons for writing in a certain way.
- This release of the GNU Coding Standards was last updated February
-14, 2002.
+ This release of the GNU Coding Standards was last updated July 22,
+2007.
If you did not obtain this file directly from the GNU project and
-recently, please check for a newer version. You can ftp the GNU Coding
-Standards from any GNU FTP host in the directory `/pub/gnu/standards/'.
-The GNU Coding Standards are available there in several different
-formats: `standards.text', `standards.info', and `standards.dvi', as
-well as the Texinfo "source" which is divided in two files:
-`standards.texi' and `make-stds.texi'. The GNU Coding Standards are
-also available on the GNU World Wide Web server:
-`http://www.gnu.org/prep/standards_toc.html'.
+recently, please check for a newer version. You can get the GNU Coding
+Standards from the GNU web server in many different formats, including
+the Texinfo source, PDF, HTML, DVI, plain text, and more, at:
+`http://www.gnu.org/prep/standards/'.
Corrections or suggestions for this document should be sent to
<bug-standards@gnu.org>. If you make a suggestion, please include a
don't have those files, please mail your suggestion anyway.
These standards cover the minimum of what is important when writing a
-GNU package. Likely, the needs for additional standards will come up.
+GNU package. Likely, the need for additional standards will come up.
Sometimes, you might suggest that such standards be added to this
document. If you think your standards would be generally useful, please
do suggest them.
to document them as much as possible. That way, your program will be
more maintainable by others.
+ The GNU Hello program serves as an example of how to follow the GNU
+coding standards for a trivial program.
+`http://www.gnu.org/software/hello/hello.html'.
+
\1f
File: standards.info, Node: Legal Issues, Next: Design Advice, Prev: Preface, Up: Top
2 Keeping Free Software Free
****************************
-This node discusses how you can make sure that GNU software avoids
+This chapter discusses how you can make sure that GNU software avoids
legal difficulties, and other related issues.
* Menu:
-* Reading Non-Free Code:: Referring to Proprietary Programs
-* Contributions:: Accepting Contributions
-* Trademarks:: How We Deal with Trademark Issues
+* Reading Non-Free Code:: Referring to proprietary programs.
+* Contributions:: Accepting contributions.
+* Trademarks:: How we deal with trademark issues.
\1f
File: standards.info, Node: Reading Non-Free Code, Next: Contributions, Up: Legal Issues
For example, Unix utilities were generally optimized to minimize
memory use; if you go for speed instead, your program will be very
-different. You could keep the entire input file in core and scan it
+different. You could keep the entire input file in memory and scan it
there instead of using stdio. Use a smarter algorithm discovered more
recently than the Unix program. Eliminate use of temporary files. Do
it in one pass instead of two (we did this in the assembler).
You don't need papers for changes of a few lines here or there, since
they are not significant for copyright purposes. Also, you don't need
papers if all you get from the suggestion is some ideas, not actual code
-which you use. For example, if someone send you one implementation, but
+which you use. For example, if someone sent you one implementation, but
you write a different implementation of the same idea, you don't need to
get papers.
We have more detailed advice for maintainers of programs; if you have
reached the stage of actually maintaining a program for GNU (whether
-released or not), please ask us for a copy.
+released or not), please ask us for a copy. It is also available
+online for your perusal: `http://www.gnu.org/prep/maintain/'.
\1f
File: standards.info, Node: Trademarks, Prev: Contributions, Up: Legal Issues
Trademark acknowledgements are the statements that such-and-such is a
trademark of so-and-so. The GNU Project has no objection to the basic
-idea of trademarks, but these acknowledgements feel like kowtowing, so
-we don't use them. There is no legal requirement for them.
+idea of trademarks, but these acknowledgements feel like kowtowing, and
+there is no legal requirement for them, so we don't use them.
What is legally required, as regards other people's trademarks, is to
-avoid using them in ways which a reader might read as naming or labeling
-our own programs or activities. For example, since "Objective C" is
-(or at least was) a trademark, we made sure to say that we provide a
-"compiler for the Objective C language" rather than an "Objective C
-compiler". The latter is meant to be short for the former, but it does
-not explicitly state the relationship, so it could be misinterpreted as
-using "Objective C" as a label for the compiler rather than for the
-language.
+avoid using them in ways which a reader might reasonably understand as
+naming or labeling our own programs or activities. For example, since
+"Objective C" is (or at least was) a trademark, we made sure to say
+that we provide a "compiler for the Objective C language" rather than
+an "Objective C compiler". The latter would have been meant as a
+shorter way of saying the former, but it does not explicitly state the
+relationship, so it could be misinterpreted as using "Objective C" as a
+label for the compiler rather than for the language.
+
+ Please don't use "win" as an abbreviation for Microsoft Windows in
+GNU software or documentation. In hacker terminology, calling
+something a "win" is a form of praise. If you wish to praise Microsoft
+Windows when speaking on your own, by all means do so, but not in GNU
+software. Usually we write the name "Windows" in full, but when
+brevity is very important (as in file names and sometimes symbol
+names), we abbreviate it to "w". For instance, the files and functions
+in Emacs that deal with Windows start with `w32'.
\1f
File: standards.info, Node: Design Advice, Next: Program Behavior, Prev: Legal Issues, Up: Top
3 General Program Design
************************
-This node discusses some of the issues you should take into account
+This chapter discusses some of the issues you should take into account
when designing your program.
* Menu:
-* Source Language:: Which languges to use.
-* Compatibility:: Compatibility with other implementations
-* Using Extensions:: Using non-standard features
-* Standard C:: Using Standard C features
-* Conditional Compilation:: Compiling Code Only If A Conditional is True
+* Source Language:: Which languages to use.
+* Compatibility:: Compatibility with other implementations.
+* Using Extensions:: Using non-standard features.
+* Standard C:: Using standard C features.
+* Conditional Compilation:: Compiling code only if a conditional is true.
\1f
File: standards.info, Node: Source Language, Next: Compatibility, Up: Design Advice
the program is written in that language, too. The Emacs editor
pioneered this technique.
- The standard extensibility interpreter for GNU software is GUILE,
-which implements the language Scheme (an especially clean and simple
-dialect of Lisp). `http://www.gnu.org/software/guile/'. We don't
+ The standard extensibility interpreter for GNU software is GUILE
+(`http://www.gnu.org/software/guile/'), which implements the language
+Scheme (an especially clean and simple dialect of Lisp). We don't
reject programs written in other "scripting languages" such as Perl and
-Python, but using GUILE is very important for the overall consistency of
-the GNU system.
+Python, but using GUILE is very important for the overall consistency
+of the GNU system.
\1f
File: standards.info, Node: Compatibility, Next: Using Extensions, Prev: Source Language, Up: Design Advice
else
...
- instead of:
+instead of:
#ifdef HAS_FOO
...
A modern compiler such as GCC will generate exactly the same code in
both cases, and we have been using similar techniques with good success
-in several projects.
+in several projects. Of course, the former method assumes that
+`HAS_FOO' is defined as either 0 or 1.
While this is not a silver bullet solving all portability problems,
-following this policy would have saved the GCC project alone many person
-hours if not days per year.
+and is not always appropriate, following this policy would have saved
+GCC developers many hours, or even days, per year.
In the case of function-like macros like `REVERSIBLE_CC_MODE' in GCC
which cannot be simply used in `if( ...)' statements, there is an easy
4 Program Behavior for All Programs
***********************************
-This node describes conventions for writing robust software. It also
-describes general standards for error messages, the command line
+This chapter describes conventions for writing robust software. It
+also describes general standards for error messages, the command line
interface, and how libraries should behave.
* Menu:
-* Semantics:: Writing robust programs
-* Libraries:: Library behavior
-* Errors:: Formatting error messages
-* User Interfaces:: Standards about interfaces generally
-* Graphical Interfaces:: Standards for graphical interfaces
-* Command-Line Interfaces:: Standards for command line interfaces
-* Option Table:: Table of long options
-* Memory Usage:: When and how to care about memory needs
-* File Usage:: Which files to use, and where
+* Non-GNU Standards:: We consider standards such as POSIX;
+ we don't "obey" them.
+* Semantics:: Writing robust programs.
+* Libraries:: Library behavior.
+* Errors:: Formatting error messages.
+* User Interfaces:: Standards about interfaces generally.
+* Graphical Interfaces:: Standards for graphical interfaces.
+* Command-Line Interfaces:: Standards for command line interfaces.
+* Option Table:: Table of long options.
+* Memory Usage:: When and how to care about memory needs.
+* File Usage:: Which files to use, and where.
+
+\1f
+File: standards.info, Node: Non-GNU Standards, Next: Semantics, Up: Program Behavior
+
+4.1 Non-GNU Standards
+=====================
+
+The GNU Project regards standards published by other organizations as
+suggestions, not orders. We consider those standards, but we do not
+"obey" them. In developing a GNU program, you should implement an
+outside standard's specifications when that makes the GNU system better
+overall in an objective sense. When it doesn't, you shouldn't.
+
+ In most cases, following published standards is convenient for
+users--it means that their programs or scripts will work more portably.
+For instance, GCC implements nearly all the features of Standard C as
+specified by that standard. C program developers would be unhappy if
+it did not. And GNU utilities mostly follow specifications of POSIX.2;
+shell script writers and users would be unhappy if our programs were
+incompatible.
+
+ But we do not follow either of these specifications rigidly, and
+there are specific points on which we decided not to follow them, so as
+to make the GNU system better for users.
+
+ For instance, Standard C says that nearly all extensions to C are
+prohibited. How silly! GCC implements many extensions, some of which
+were later adopted as part of the standard. If you want these
+constructs to give an error message as "required" by the standard, you
+must specify `--pedantic', which was implemented only so that we can
+say "GCC is a 100% implementation of the standard," not because there
+is any reason to actually use it.
+
+ POSIX.2 specifies that `df' and `du' must output sizes by default in
+units of 512 bytes. What users want is units of 1k, so that is what we
+do by default. If you want the ridiculous behavior "required" by
+POSIX, you must set the environment variable `POSIXLY_CORRECT' (which
+was originally going to be named `POSIX_ME_HARDER').
+
+ GNU utilities also depart from the letter of the POSIX.2
+specification when they support long-named command-line options, and
+intermixing options with ordinary arguments. This minor
+incompatibility with POSIX is never a problem in practice, and it is
+very useful.
+
+ In particular, don't reject a new feature, or remove an old one,
+merely because a standard says it is "forbidden" or "deprecated."
\1f
-File: standards.info, Node: Semantics, Next: Libraries, Up: Program Behavior
+File: standards.info, Node: Semantics, Next: Libraries, Prev: Non-GNU Standards, Up: Program Behavior
-4.1 Writing Robust Programs
+4.2 Writing Robust Programs
===========================
Avoid arbitrary limits on the length or number of _any_ data structure,
\1f
File: standards.info, Node: Libraries, Next: Errors, Prev: Semantics, Up: Program Behavior
-4.2 Library Behavior
+4.3 Library Behavior
====================
Try to make library functions reentrant. If they need to do dynamic
\1f
File: standards.info, Node: Errors, Next: User Interfaces, Prev: Libraries, Up: Program Behavior
-4.3 Formatting Error Messages
+4.4 Formatting Error Messages
=============================
Error messages from compilers should look like this:
SOURCE-FILE-NAME:LINENO: MESSAGE
-If you want to mention the column number, use this format:
+If you want to mention the column number, use one of these formats:
SOURCE-FILE-NAME:LINENO:COLUMN: MESSAGE
+ SOURCE-FILE-NAME:LINENO.COLUMN: MESSAGE
Line numbers should start from 1 at the beginning of the file, and
column numbers should start from 1 at the beginning of the line. (Both
numbers assuming that space and all ASCII printing characters have
equal width, and assuming tab stops every 8 columns.
+ The error message can also give both the starting and ending
+positions of the erroneous text. There are several formats so that you
+can avoid redundant information such as a duplicate line number. Here
+are the possible formats:
+
+ SOURCE-FILE-NAME:LINENO-1.COLUMN-1-LINENO-2.COLUMN-2: MESSAGE
+ SOURCE-FILE-NAME:LINENO-1.COLUMN-1-COLUMN-2: MESSAGE
+ SOURCE-FILE-NAME:LINENO-1-LINENO-2: MESSAGE
+
+When an error is spread over several files, you can use this format:
+
+ FILE-1:LINENO-1.COLUMN-1-FILE-2:LINENO-2.COLUMN-2: MESSAGE
+
Error messages from other noninteractive programs should look like
this:
would do best to print error messages using the noninteractive style.)
The string MESSAGE should not begin with a capital letter when it
-follows a program name and/or file name. Also, it should not end with
-a period.
+follows a program name and/or file name, because that isn't the
+beginning of a sentence. (The sentence conceptually starts at the
+beginning of the line.) Also, it should not end with a period.
Error messages from interactive programs, and other messages such as
usage messages, should start with a capital letter. But they should not
\1f
File: standards.info, Node: User Interfaces, Next: Graphical Interfaces, Prev: Errors, Up: Program Behavior
-4.4 Standards for Interfaces Generally
+4.5 Standards for Interfaces Generally
======================================
Please don't make the behavior of a utility depend on the name used to
\1f
File: standards.info, Node: Graphical Interfaces, Next: Command-Line Interfaces, Prev: User Interfaces, Up: Program Behavior
-4.5 Standards for Graphical Interfaces
+4.6 Standards for Graphical Interfaces
======================================
When you write a program that provides a graphical user interface,
-please make it work with X Windows and the GTK toolkit unless the
+please make it work with X Windows and the GTK+ toolkit unless the
functionality specifically requires some alternative (for example,
"displaying jpeg images while in console mode").
\1f
File: standards.info, Node: Command-Line Interfaces, Next: Option Table, Prev: Graphical Interfaces, Up: Program Behavior
-4.6 Standards for Command Line Interfaces
+4.7 Standards for Command Line Interfaces
=========================================
It is a good idea to follow the POSIX guidelines for the command-line
options (preferably `-o' or `--output'). Even if you allow an output
file name as an ordinary argument for compatibility, try to provide an
option as another way to specify it. This will lead to more consistency
-among GNU utilities, and fewer idiosyncracies for users to remember.
+among GNU utilities, and fewer idiosyncrasies for users to remember.
All programs should support two standard options: `--version' and
-`--help'.
-
-`--version'
- This option should direct the program to print information about
- its name, version, origin and legal status, all on standard
- output, and then exit successfully. Other options and arguments
- should be ignored once this is seen, and the program should not
- perform its normal function.
-
- The first line is meant to be easy for a program to parse; the
- version number proper starts after the last space. In addition,
- it contains the canonical name for this program, in this format:
-
- GNU Emacs 19.30
-
- The program's name should be a constant string; _don't_ compute it
- from `argv[0]'. The idea is to state the standard or canonical
- name for the program, not its file name. There are other ways to
- find out the precise file name where a command is found in `PATH'.
-
- If the program is a subsidiary part of a larger package, mention
- the package name in parentheses, like this:
-
- emacsserver (GNU Emacs) 19.30
-
- If the package has a version number which is different from this
- program's version number, you can mention the package version
- number just before the close-parenthesis.
-
- If you *need* to mention the version numbers of libraries which
- are distributed separately from the package which contains this
- program, you can do so by printing an additional line of version
- info for each library you want to mention. Use the same format
- for these lines as for the first line.
-
- Please do not mention all of the libraries that the program uses
- "just for completeness"--that would produce a lot of unhelpful
- clutter. Please mention library version numbers only if you find
- in practice that they are very important to you in debugging.
-
- The following line, after the version number line or lines, should
- be a copyright notice. If more than one copyright notice is
- called for, put each on a separate line.
-
- Next should follow a brief statement that the program is free
- software, and that users are free to copy and change it on certain
- conditions. If the program is covered by the GNU GPL, say so
- here. Also mention that there is no warranty, to the extent
- permitted by law.
-
- It is ok to finish the output with a list of the major authors of
- the program, as a way of giving credit.
-
- Here's an example of output that follows these rules:
-
- GNU Emacs 19.34.5
- Copyright (C) 1996 Free Software Foundation, Inc.
- GNU Emacs comes with NO WARRANTY,
- to the extent permitted by law.
- You may redistribute copies of GNU Emacs
- under the terms of the GNU General Public License.
- For more information about these matters,
- see the files named COPYING.
-
- You should adapt this to your program, of course, filling in the
- proper year, copyright holder, name of program, and the references
- to distribution terms, and changing the rest of the wording as
- necessary.
-
- This copyright notice only needs to mention the most recent year in
- which changes were made--there's no need to list the years for
- previous versions' changes. You don't have to mention the name of
- the program in these notices, if that is inconvenient, since it
- appeared in the first line.
-
- Translations of the above lines must preserve the validity of the
- copyright notices (*note Internationalization::). If the
- translation's character set supports it, the `(C)' should be
- replaced with the copyright symbol, as follows:
-
- (the official copyright symbol, which is the letter C in a circle);
-
- Write the word "Copyright" exactly like that, in English. Do not
- translate it into another language. International treaties
- recognize the English word "Copyright"; translations into other
- languages do not have legal significance.
-
-`--help'
- This option should output brief documentation for how to invoke the
- program, on standard output, then exit successfully. Other
- options and arguments should be ignored once this is seen, and the
- program should not perform its normal function.
-
- Near the end of the `--help' option's output there should be a line
- that says where to mail bug reports. It should have this format:
-
- Report bugs to MAILING-ADDRESS.
+`--help'. CGI programs should accept these as command-line options,
+and also if given as the `PATH_INFO'; for instance, visiting
+`http://example.org/p.cgi/--help' in a browser should output the same
+information as invoking `p.cgi --help' from the command line.
+
+* Menu:
+
+* --version:: The standard output for --version.
+* --help:: The standard output for --help.
+
+\1f
+File: standards.info, Node: --version, Next: --help, Up: Command-Line Interfaces
+
+4.7.1 `--version'
+-----------------
+
+The standard `--version' option should direct the program to print
+information about its name, version, origin and legal status, all on
+standard output, and then exit successfully. Other options and
+arguments should be ignored once this is seen, and the program should
+not perform its normal function.
+
+ The first line is meant to be easy for a program to parse; the
+version number proper starts after the last space. In addition, it
+contains the canonical name for this program, in this format:
+
+ GNU Emacs 19.30
+
+The program's name should be a constant string; _don't_ compute it from
+`argv[0]'. The idea is to state the standard or canonical name for the
+program, not its file name. There are other ways to find out the
+precise file name where a command is found in `PATH'.
+
+ If the program is a subsidiary part of a larger package, mention the
+package name in parentheses, like this:
+
+ emacsserver (GNU Emacs) 19.30
+
+If the package has a version number which is different from this
+program's version number, you can mention the package version number
+just before the close-parenthesis.
+
+ If you _need_ to mention the version numbers of libraries which are
+distributed separately from the package which contains this program,
+you can do so by printing an additional line of version info for each
+library you want to mention. Use the same format for these lines as for
+the first line.
+
+ Please do not mention all of the libraries that the program uses
+"just for completeness"--that would produce a lot of unhelpful clutter.
+Please mention library version numbers only if you find in practice that
+they are very important to you in debugging.
+
+ The following line, after the version number line or lines, should
+be a copyright notice. If more than one copyright notice is called
+for, put each on a separate line.
+
+ Next should follow a line stating the license, preferably using one
+of abbrevations below, and a brief statement that the program is free
+software, and that users are free to copy and change it. Also mention
+that there is no warranty, to the extent permitted by law. See
+recommended wording below.
+
+ It is ok to finish the output with a list of the major authors of the
+program, as a way of giving credit.
+
+ Here's an example of output that follows these rules:
+
+ GNU hello 2.3
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
+ This is free software: you are free to change and redistribute it.
+ There is NO WARRANTY, to the extent permitted by law.
+
+ You should adapt this to your program, of course, filling in the
+proper year, copyright holder, name of program, and the references to
+distribution terms, and changing the rest of the wording as necessary.
+
+ This copyright notice only needs to mention the most recent year in
+which changes were made--there's no need to list the years for previous
+versions' changes. You don't have to mention the name of the program in
+these notices, if that is inconvenient, since it appeared in the first
+line. (The rules are different for copyright notices in source files;
+*note Copyright Notices: (maintain)Copyright Notices.)
+
+ Translations of the above lines must preserve the validity of the
+copyright notices (*note Internationalization::). If the translation's
+character set supports it, the `(C)' should be replaced with the
+copyright symbol, as follows:
+
+ (the official copyright symbol, which is the letter C in a circle);
+
+ Write the word "Copyright" exactly like that, in English. Do not
+translate it into another language. International treaties recognize
+the English word "Copyright"; translations into other languages do not
+have legal significance.
+
+ Finally, here is the table of our suggested license abbreviations.
+Any abbreviation can be followed by `vVERSION[+]', meaning that
+particular version, or later versions with the `+', as shown above.
+
+ In the case of exceptions for extra permissions with the GPL, we use
+`/' for a separator; the version number can follow the license
+abbreviation as usual, as in the examples below.
+
+GPL
+ GNU General Public License, `http://www.gnu.org/licenses/gpl.html'.
+
+LGPL
+ GNU Lesser General Public License,
+ `http://www.gnu.org/licenses/lgpl.html'.
+
+GPL/Guile
+ GNU GPL with the exception for Guile; for example, GPLv3+/Guile
+ means the GNU GPL version 3 or later, with the extra exception for
+ Guile.
+
+ GNU GPL with the exception for Ada.
+
+Apache
+ The Apache Software Foundation license,
+ `http://www.apache.org/licenses'.
+
+Artistic
+ The Artistic license used for Perl,
+ `http://www.perlfoundation.org/legal'.
+
+Expat
+ The Expat license, `http://www.jclark.com/xml/copying.txt'.
+
+MPL
+ The Mozilla Public License, `http://www.mozilla.org/MPL/'.
+
+OBSD
+ The original (4-clause) BSD license, incompatible with the GNU GPL
+ `http://www.xfree86.org/3.3.6/COPYRIGHT2.html#6'.
+
+PHP
+ The license used for PHP, `http://www.php.net/license/'.
+
+public domain
+ The non-license that is being in the public domain,
+ `http://www.gnu.org/licenses/license-list.html#PublicDomain'.
+
+Python
+ The license for Python, `http://www.python.org/2.0.1/license.html'.
+
+RBSD
+ The revised (3-clause) BSD, compatible with the GNU GPL,
+ `http://www.xfree86.org/3.3.6/COPYRIGHT2.html#5'.
+
+X11
+ The simple non-copyleft license used for most versions of the X
+ Window system, `http://www.xfree86.org/3.3.6/COPYRIGHT2.html#3'.
+
+Zlib
+ The license for Zlib, `http://www.gzip.org/zlib/zlib_license.html'.
+
+
+ More information about these licenses and many more are on the GNU
+licensing web pages, `http://www.gnu.org/licenses/license-list.html'.
+
+\1f
+File: standards.info, Node: --help, Prev: --version, Up: Command-Line Interfaces
+
+4.7.2 `--help'
+--------------
+
+The standard `--help' option should output brief documentation for how
+to invoke the program, on standard output, then exit successfully.
+Other options and arguments should be ignored once this is seen, and
+the program should not perform its normal function.
+
+ Near the end of the `--help' option's output there should be a line
+that says where to mail bug reports. It should have this format:
+
+ Report bugs to MAILING-ADDRESS.
\1f
File: standards.info, Node: Option Table, Next: Memory Usage, Prev: Command-Line Interfaces, Up: Program Behavior
-4.7 Table of Long Options
+4.8 Table of Long Options
=========================
Here is a table of long options used by GNU programs. It is surely
Used in `su'.
`machine'
- No listing of which programs already use this; someone should
- check to see if any actually do, and tell <gnu@gnu.org>.
+ Used in `uname'.
`macro-name'
`-M' in `ptx'.
`no-sort'
`-p' in `nm'.
+`no-splash'
+ Don't print a startup splash screen.
+
`no-split'
Used in `makeinfo'.
`-q' in Make.
`quiet'
- Used in many programs to inhibit the usual output. *Note_* every
- program accepting `--quiet' should accept `--silent' as a synonym.
+ Used in many programs to inhibit the usual output. Every program
+ accepting `--quiet' should accept `--silent' as a synonym.
`quiet-unshar'
`-Q' in `shar'
`-T' in `cat'.
`silent'
- Used in many programs to inhibit the usual output. *Note_* every
- program accepting `--silent' should accept `--quiet' as a synonym.
+ Used in many programs to inhibit the usual output. Every program
+ accepting `--silent' should accept `--quiet' as a synonym.
`size'
`-s' in `ls'.
`socket'
Specify a file descriptor for a network server to use for its
socket, instead of opening and binding a new socket. This
- provides a way to run, in a nonpriveledged process, a server that
+ provides a way to run, in a non-privileged process, a server that
normally needs a reserved port number.
`sort'
\1f
File: standards.info, Node: Memory Usage, Next: File Usage, Prev: Option Table, Up: Program Behavior
-4.8 Memory Usage
+4.9 Memory Usage
================
If a program typically uses just a few meg of memory, don't bother
making any effort to reduce memory usage. For example, if it is
impractical for other reasons to operate on files more than a few meg
-long, it is reasonable to read entire input files into core to operate
-on them.
+long, it is reasonable to read entire input files into memory to
+operate on them.
However, for programs such as `cat' or `tail', that can usefully
operate on very large files, it is important to avoid using a technique
program works by lines and could be applied to arbitrary user-supplied
input files, it should keep only a line in memory, because this is not
very hard and users will want to be able to operate on input files that
-are bigger than will fit in core all at once.
+are bigger than will fit in memory all at once.
If your program creates complicated data structures, just make them
-in core and give a fatal error if `malloc' returns zero.
+in memory and give a fatal error if `malloc' returns zero.
\1f
File: standards.info, Node: File Usage, Prev: Memory Usage, Up: Program Behavior
-4.9 File Usage
-==============
+4.10 File Usage
+===============
Programs should be prepared to operate when `/usr' and `/etc' are
read-only file systems. Thus, if the program manages log files, lock
5 Making The Best Use of C
**************************
-This node provides advice on how best to use the C language when
+This chapter provides advice on how best to use the C language when
writing GNU software.
* Menu:
-* Formatting:: Formatting Your Source Code
-* Comments:: Commenting Your Work
-* Syntactic Conventions:: Clean Use of C Constructs
-* Names:: Naming Variables, Functions, and Files
-* System Portability:: Portability between different operating systems
-* CPU Portability:: Supporting the range of CPU types
-* System Functions:: Portability and ``standard'' library functions
-* Internationalization:: Techniques for internationalization
+* Formatting:: Formatting your source code.
+* Comments:: Commenting your work.
+* Syntactic Conventions:: Clean use of C constructs.
+* Names:: Naming variables, functions, and files.
+* System Portability:: Portability among different operating systems.
+* CPU Portability:: Supporting the range of CPU types.
+* System Functions:: Portability and ``standard'' library functions.
+* Internationalization:: Techniques for internationalization.
+* Character Set:: Use ASCII by default.
+* Quote Characters:: Use `...' in the C locale.
* Mmap:: How you can safely use `mmap'.
\1f
===============================
It is important to put the open-brace that starts the body of a C
-function in column zero, and avoid putting any other open-brace or
-open-parenthesis or open-bracket in column zero. Several tools look
-for open-braces in column zero to find the beginnings of C functions.
-These tools will not work on code not formatted that way.
+function in column one, so that they will start a defun. Several tools
+look for open-braces in column one to find the beginnings of C
+functions. These tools will not work on code not formatted that way.
+
+ Avoid putting open-brace, open-parenthesis or open-bracket in column
+one when they are inside a function, so that they won't start a defun.
+The open-brace that starts a `struct' body can go in column one if you
+find it useful to treat that definition as a defun.
It is also important for function definitions to start the name of
-the function in column zero. This helps people to search for function
-definitions, and may also help certain tools recognize them. Thus, the
-proper format is this:
+the function in column one. This helps people to search for function
+definitions, and may also help certain tools recognize them. Thus,
+using Standard C syntax, the format is this:
static char *
- concat (s1, s2) /* Name starts in column zero here */
- char *s1, *s2;
- { /* Open brace in column zero here */
+ concat (char *s1, char *s2)
+ {
...
}
-or, if you want to use Standard C syntax, format the definition like
+or, if you want to use traditional C syntax, format the definition like
this:
static char *
- concat (char *s1, char *s2)
- {
+ concat (s1, s2) /* Name starts in column one here */
+ char *s1, *s2;
+ { /* Open brace in column one here */
...
}
========================
Every program should start with a comment saying briefly what it is for.
-Example: `fmt - filter for simple filling of text'.
+Example: `fmt - filter for simple filling of text'. This comment
+should be at the top of the source file containing the `main' function
+of the program.
+
+ Also, please write a brief comment at the start of each source file,
+with the file name and a line or two about the overall purpose of the
+file.
Please write the comments in a GNU program in English, because
English is the one language that nearly all programmers in all
It used to be common practice to use the same local variables (with
names like `tem') over and over for different values within one
-function. Instead of doing this, it is better declare a separate local
-variable for each distinct purpose, and give it a name which is
+function. Instead of doing this, it is better to declare a separate
+local variable for each distinct purpose, and give it a name which is
meaningful. This not only makes programs easier to understand, it also
facilitates optimization by good compilers. You can also move the
declaration of each local variable into the smallest scope that includes
same declaration. Instead, declare the structure tag separately and
then use it to declare the variables or typedefs.
- Try to avoid assignments inside `if'-conditions. For example, don't
-write this:
+ Try to avoid assignments inside `if'-conditions (assignments inside
+`while'-conditions are ok). For example, don't write this:
if ((foo = (char *) malloc (sizeof *foo)) == 0)
fatal ("virtual memory exhausted");
`enum' rather than `#define'. GDB knows about enumeration constants.
You might want to make sure that none of the file names would
-conflict the files were loaded onto an MS-DOS file system which
+conflict if the files were loaded onto an MS-DOS file system which
shortens the names. You can use the program `doschk' to test for this.
Some GNU programs were designed to limit themselves to file names of
Avoid using the format of semi-internal data bases (e.g.,
directories) when there is a higher-level alternative (`readdir').
- As for systems that are not like Unix, such as MSDOS, Windows, the
-Macintosh, VMS, and MVS, supporting them is often a lot of work. When
-that is the case, it is better to spend your time adding features that
-will be useful on GNU and GNU/Linux, rather than on supporting other
-incompatible systems.
+ As for systems that are not like Unix, such as MSDOS, Windows, VMS,
+MVS, and older Macintosh systems, supporting them is often a lot of
+work. When that is the case, it is better to spend your time adding
+features that will be useful on GNU and GNU/Linux, rather than on
+supporting other incompatible systems.
+
+ If you do support Windows, please do not abbreviate it as "win". In
+hacker terminology, calling something a "win" is a form of praise.
+You're free to praise Microsoft Windows on your own if you want, but
+please don't do this in GNU packages. Instead of abbreviating
+"Windows" to "un", you can write it in full or abbreviate it to "woe"
+or "w". In GNU Emacs, for instance, we use `w32' in file names of
+Windows-specific files, but the macro for Windows conditionals is
+called `WINDOWSNT'.
It is a good idea to define the "feature test macro" `_GNU_SOURCE'
when compiling your C files. When you compile on GNU or GNU/Linux,
printf ("diff = %ld\n", (long) (pointer2 - pointer1));
1989 Standard C requires this to work, and we know of only one
-counterexample: 64-bit programs on Microsoft Windows IA-64. We will
-leave it to those who want to port GNU programs to that environment to
-figure out how to do it.
+counterexample: 64-bit programs on Microsoft Windows. We will leave it
+to those who want to port GNU programs to that environment to figure
+out how to do it.
Predefined file-size types like `off_t' are an exception: they are
longer than `long' on many platforms, so code like the above won't work
int c;
...
- while ((c = getchar()) != EOF)
- write(file_descriptor, &c, 1);
-
- When calling functions, you need not worry about the difference
-between pointers of various types, or between pointers and integers.
-On most machines, there's no difference anyway. As for the few
-machines where there is a difference, all of them support Standard C
-prototypes, so you can use prototypes (perhaps conditionalized to be
-active only in Standard C) to make the code work on those systems.
-
- In certain cases, it is ok to pass integer and pointer arguments
-indiscriminately to the same function, and use no prototype on any
-system. For example, many GNU programs have error-reporting functions
-that pass their arguments along to `printf' and friends:
-
- error (s, a1, a2, a3)
- char *s;
- char *a1, *a2, *a3;
- {
- fprintf (stderr, "error: ");
- fprintf (stderr, s, a1, a2, a3);
- }
+ while ((c = getchar ()) != EOF)
+ write (file_descriptor, &c, 1);
-In practice, this works on all machines, since a pointer is generally
-the widest possible kind of argument; it is much simpler than any
-"correct" alternative. Be sure _not_ to use a prototype for such
-functions.
+Instead, use `unsigned char' as follows. (The `unsigned' is for
+portability to unusual systems where `char' is signed and where there
+is integer overflow checking.)
+
+ int c;
+ while ((c = getchar ()) != EOF)
+ {
+ unsigned char u = c;
+ write (file_descriptor, &u, 1);
+ }
+
+ It used to be ok to not worry about the difference between pointers
+and integers when passing arguments to functions. However, on most
+modern 64-bit machines pointers are wider than `int'. Conversely,
+integer types like `long long int' and `off_t' are wider than pointers
+on most modern 32-bit machines. Hence it's often better nowadays to
+use prototypes to define functions whose argument types are not trivial.
+
+ In particular, if functions accept varying argument counts or types
+they should be declared using prototypes containing `...' and defined
+using `stdarg.h'. For an example of this, please see the Gnulib
+(http://www.gnu.org/software/gnulib/) error module, which declares and
+defines the following function:
+
+ /* Print a message with `fprintf (stderr, FORMAT, ...)';
+ if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM).
+ If STATUS is nonzero, terminate the program with `exit (STATUS)'. */
- If you have decided to use Standard C, then you can instead define
-`error' using `stdarg.h', and pass the arguments along to `vfprintf'.
+ void error (int status, int errnum, const char *format, ...);
+
+ A simple way to use the Gnulib error module is to obtain the two
+source files `error.c' and `error.h' from the Gnulib library source
+code repository at
+`http://savannah.gnu.org/cgi-bin/viewcvs/gnulib/gnulib/lib/'. Here's a
+sample use:
+
+ #include "error.h"
+ #include <errno.h>
+ #include <stdio.h>
+
+ char *program_name = "myprogram";
+
+ FILE *
+ xfopen (char const *name)
+ {
+ FILE *fp = fopen (name, "r");
+ if (! fp)
+ error (1, errno, "cannot read %s", name);
+ return fp;
+ }
Avoid casting pointers to integers if you can. Such casts greatly
reduce portability, and in most programs they are easy to avoid. In the
get them properly defined is to use Autoconf.
\1f
-File: standards.info, Node: Internationalization, Next: Mmap, Prev: System Functions, Up: Writing C
+File: standards.info, Node: Internationalization, Next: Character Set, Prev: System Functions, Up: Writing C
5.8 Internationalization
========================
name" for the package. The text domain name is used to separate the
translations for this package from the translations for other packages.
Normally, the text domain name should be the same as the name of the
-package--for example, `fileutils' for the GNU file utilities.
+package--for example, `coreutils' for the GNU core utilities.
To enable gettext to work well, avoid writing code that makes
assumptions about the structure of words or sentences. When you want
Here is an example of what not to do:
- printf ("%d file%s processed", nfiles,
- nfiles != 1 ? "s" : "");
+ printf ("%s is full", capacity > 5000000 ? "disk" : "floppy disk");
-The problem with that example is that it assumes that plurals are made
-by adding `s'. If you apply gettext to the format string, like this,
+ If you apply gettext to all strings, like this,
- printf (gettext ("%d file%s processed"), nfiles,
- nfiles != 1 ? "s" : "");
+ printf (gettext ("%s is full"),
+ capacity > 5000000 ? gettext ("disk") : gettext ("floppy disk"));
-the message can use different words, but it will still be forced to use
-`s' for the plural. Here is a better way:
+the translator will hardly know that "disk" and "floppy disk" are meant
+to be substituted in the other string. Worse, in some languages (like
+French) the construction will not work: the translation of the word
+"full" depends on the gender of the first part of the sentence; it
+happens to be not the same for "disk" as for "floppy disk".
- printf ((nfiles != 1 ? "%d files processed"
- : "%d file processed"),
- nfiles);
+ Complete sentences can be translated without problems:
-This way, you can apply gettext to each of the two strings
-independently:
-
- printf ((nfiles != 1 ? gettext ("%d files processed")
- : gettext ("%d file processed")),
- nfiles);
-
-This can be any method of forming the plural of the word for "file", and
-also handles languages that require agreement in the word for
-"processed".
+ printf (capacity > 5000000 ? gettext ("disk is full")
+ : gettext ("floppy disk is full"));
A similar problem appears at the level of sentence structure with
this code:
Adding `gettext' calls to this code cannot give correct results for all
languages, because negation in some languages requires adding words at
more than one place in the sentence. By contrast, adding `gettext'
-calls does the job straightfowardly if the code starts out like this:
+calls does the job straightforwardly if the code starts out like this:
printf (f->tried_implicit
? "# Implicit rule search has been done.\n",
: "# Implicit rule search has not been done.\n");
+ Another example is this one:
+
+ printf ("%d file%s processed", nfiles,
+ nfiles != 1 ? "s" : "");
+
+The problem with this example is that it assumes that plurals are made
+by adding `s'. If you apply gettext to the format string, like this,
+
+ printf (gettext ("%d file%s processed"), nfiles,
+ nfiles != 1 ? "s" : "");
+
+the message can use different words, but it will still be forced to use
+`s' for the plural. Here is a better way, with gettext being applied to
+the two strings independently:
+
+ printf ((nfiles != 1 ? gettext ("%d files processed")
+ : gettext ("%d file processed")),
+ nfiles);
+
+But this still doesn't work for languages like Polish, which has three
+plural forms: one for nfiles == 1, one for nfiles == 2, 3, 4, 22, 23,
+24, ... and one for the rest. The GNU `ngettext' function solves this
+problem:
+
+ printf (ngettext ("%d files processed", "%d file processed", nfiles),
+ nfiles);
+
+\1f
+File: standards.info, Node: Character Set, Next: Quote Characters, Prev: Internationalization, Up: Writing C
+
+5.9 Character Set
+=================
+
+Sticking to the ASCII character set (plain text, 7-bit characters) is
+preferred in GNU source code comments, text documents, and other
+contexts, unless there is good reason to do something else because of
+the application domain. For example, if source code deals with the
+French Revolutionary calendar, it is OK if its literal strings contain
+accented characters in month names like "Flore'al". Also, it is OK to
+use non-ASCII characters to represent proper names of contributors in
+change logs (*note Change Logs::).
+
+ If you need to use non-ASCII characters, you should normally stick
+with one encoding, as one cannot in general mix encodings reliably.
+
+\1f
+File: standards.info, Node: Quote Characters, Next: Mmap, Prev: Character Set, Up: Writing C
+
+5.10 Quote Characters
+=====================
+
+In the C locale, GNU programs should stick to plain ASCII for quotation
+characters in messages to users: preferably 0x60 (``') for left quotes
+and 0x27 (`'') for right quotes. It is ok, but not required, to use
+locale-specific quotes in other locales.
+
+ The Gnulib (http://www.gnu.org/software/gnulib/) `quote' and
+`quotearg' modules provide a reasonably straightforward way to support
+locale-specific quote characters, as well as taking care of other
+issues, such as quoting a filename that itself contains a quote
+character. See the Gnulib documentation for usage details.
+
+ In any case, the documentation for your program should clearly
+specify how it does quoting, if different than the preferred method of
+``' and `''. This is especially important if the output of your
+program is ever likely to be parsed by another program.
+
+ Quotation characters are a difficult area in the computing world at
+this time: there are no true left or right quote characters in Latin1;
+the ``' character we use was standardized there as a grave accent.
+Moreover, Latin1 is still not universally usable.
+
+ Unicode contains the unambiguous quote characters required, and its
+common encoding UTF-8 is upward compatible with Latin1. However,
+Unicode and UTF-8 are not universally well-supported, either.
+
+ This may change over the next few years, and then we will revisit
+this.
+
\1f
-File: standards.info, Node: Mmap, Prev: Internationalization, Up: Writing C
+File: standards.info, Node: Mmap, Prev: Quote Characters, Up: Writing C
-5.9 Mmap
-========
+5.11 Mmap
+=========
Don't assume that `mmap' either works on all files or fails for all
files. It may work on some files and fail on others.
* Manual Credits:: Giving credit to documentation contributors.
* Printed Manuals:: Mentioning the printed manual.
* NEWS File:: NEWS files supplement manuals.
-* Change Logs:: Recording Changes
+* Change Logs:: Recording changes.
* Man Pages:: Man pages are secondary.
* Reading other Manuals:: How far you can go in learning
from other manuals.
converted automatically into Texinfo. It is ok to produce the Texinfo
documentation by conversion this way, as long as it gives good results.
- Programmers often find it most natural to structure the documentation
-following the structure of the implementation, which they know. But
-this structure is not necessarily good for explaining how to use the
-program; it may be irrelevant and confusing for a user.
-
- At every level, from the sentences in a paragraph to the grouping of
-topics into separate manuals, the right way to structure documentation
-is according to the concepts and questions that a user will have in mind
-when reading it. Sometimes this structure of ideas matches the
+ Make sure your manual is clear to a reader who knows nothing about
+the topic and reads it straight through. This means covering basic
+topics at the beginning, and advanced topics only later. This also
+means defining every specialized term when it is first used.
+
+ Programmers tend to carry over the structure of the program as the
+structure for its documentation. But this structure is not necessarily
+good for explaining how to use the program; it may be irrelevant and
+confusing for a user.
+
+ Instead, the right way to structure documentation is according to the
+concepts and questions that a user will have in mind when reading it.
+This principle applies at every level, from the lowest (ordering
+sentences in a paragraph) to the highest (ordering of chapter topics
+within the manual). Sometimes this structure of ideas matches the
structure of the implementation of the software being documented--but
-often they are different. Often the most important part of learning to
-write good documentation is learning to notice when you are structuring
-the documentation like the implementation, and think about better
-alternatives.
+often they are different. An important part of learning to write good
+documentation is to learn to notice when you have unthinkingly
+structured the documentation like the implementation, stop yourself,
+and look for better alternatives.
For example, each program in the GNU system probably ought to be
documented in one manual; but this does not mean each program should
give examples of their use. But don't organize the manual as a list of
features. Instead, organize it logically, by subtopics. Address the
questions that a user will ask when thinking about the job that the
-program does.
+program does. Don't just tell the reader what each feature can do--say
+what jobs it is good for, and show how to use it for those jobs.
+Explain what is recommended usage, and what kinds of usage users should
+avoid.
In general, a GNU manual should serve both as tutorial and reference.
It should be set up for convenient access to each topic through Info,
which is different from what we use in GNU manuals.
Please include an email address in the manual for where to report
-bugs _in the manual_.
+bugs _in the text of the manual_.
Please do not use the term "pathname" that is used in Unix
documentation; use "file name" (two words) instead. We use the term
"path" only for search paths, which are lists of directory names.
- Please do not use the term "illegal" to refer to erroneous input to a
-computer program. Please use "invalid" for this, and reserve the term
-"illegal" for activities punishable by law.
+ Please do not use the term "illegal" to refer to erroneous input to
+a computer program. Please use "invalid" for this, and reserve the
+term "illegal" for activities prohibited by law.
+
+ Please do not write `()' after a function name just to indicate it
+is a function. `foo ()' is not a function, it is a function call with
+no arguments.
\1f
File: standards.info, Node: Doc Strings and Manuals, Next: Manual Structure Details, Prev: GNU Manuals, Up: Documentation
variables. The previous descriptions of functions and variables in the
section will also have given information about the topic. A description
written to stand alone would repeat some of that information; this
-redundance looks bad. Meanwhile, the informality that is acceptable in
+redundancy looks bad. Meanwhile, the informality that is acceptable in
a documentation string is totally unacceptable in a manual.
The only good way to use documentation strings in writing a good
`PROGRAM Invocation' or `Invoking PROGRAM'. This node (together with
its subnodes, if any) should describe the program's command line
arguments and how to run it (the sort of information people would look
-in a man page for). Start with an `@example' containing a template for
+for in a man page). Start with an `@example' containing a template for
all the options and arguments that the program uses.
Alternatively, put a menu item in some menu whose item name fits one
change log when you add a function, because there should be a comment
before the function definition to explain what it does.
+ In the past, we recommended not mentioning changes in non-software
+files (manuals, help files, etc.) in change logs. However, we've been
+advised that it is a good idea to include them, for the sake of
+copyright records.
+
However, sometimes it is useful to write one line to describe the
overall purpose of a batch of changes.
--------------------------
Here are some simple examples of change log entries, starting with the
-header line that says who made the change and when, followed by
-descriptions of specific changes. (These examples are drawn from Emacs
-and GCC.)
+header line that says who made the change and when it was installed,
+followed by descriptions of specific changes. (These examples are
+drawn from Emacs and GCC.)
1998-08-17 Richard Stallman <rms@gnu.org>
* keyboard.c (menu_bar_items, tool_bar_items)
(Fexecute_extended_command): Deal with `keymap' property.
+ When you install someone else's changes, put the contributor's name
+in the change log entry rather than in the text of the entry. In other
+words, write this:
+
+ 2002-07-14 John Doe <jdoe@gnu.org>
+
+ * sewing.c: Make it sew.
+
+rather than this:
+
+ 2002-07-14 Usual Maintainer <usual@gnu.org>
+
+ * sewing.c: Make it sew. Patch by jdoe@gnu.org.
+
+ As for the date, that should be the date you applied the change.
+
\1f
File: standards.info, Node: Simple Changes, Next: Conditional Changes, Prev: Style of Change Logs, Up: Change Logs
an entry for the file, without mentioning the functions. Just "Doc
fixes" is enough for the change log.
- There's no need to make change log entries for documentation files.
-This is because documentation is not susceptible to bugs that are hard
-to fix. Documentation does not consist of parts that must interact in a
-precisely engineered fashion. To correct an error, you need not know
-the history of the erroneous passage; it is enough to compare what the
-documentation says with the way the program actually works.
+ There's no technical need to make change log entries for
+documentation files. This is because documentation is not susceptible
+to bugs that are hard to fix. Documentation does not consist of parts
+that must interact in a precisely engineered fashion. To correct an
+error, you need not know the history of the erroneous passage; it is
+enough to compare what the documentation says with the way the program
+actually works.
+
+ However, you should keep change logs for documentation files when the
+project gets copyright assignments from its contributors, so as to make
+the records of authorship more accurate.
\1f
File: standards.info, Node: Conditional Changes, Next: Indicating the Part Changed, Prev: Simple Changes, Up: Change Logs
is more authoritative. The note should say how to access the Texinfo
documentation.
+ Be sure that man pages include a copyright statement and free
+license. The simple all-permissive license is appropriate for simple
+man pages:
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved.
+
+ For long man pages, with enough explanation and documentation that
+they can be considered true manuals, use the GFDL (*note License for
+Manuals::).
+
+ Finally, the GNU help2man program
+(`http://www.gnu.org/software/help2man/') is one way to automate
+generation of a man page, in this case from `--help' output. This is
+sufficient in many cases.
+
\1f
File: standards.info, Node: Reading other Manuals, Prev: Man Pages, Up: Documentation
* Menu:
-* Configuration:: How Configuration Should Work
-* Makefile Conventions:: Makefile Conventions
-* Releases:: Making Releases
+* Configuration:: How configuration of GNU packages should work.
+* Makefile Conventions:: Makefile conventions.
+* Releases:: Making releases
\1f
File: standards.info, Node: Configuration, Next: Makefile Conventions, Up: Managing Releases
CPU-COMPANY-SYSTEM
- For example, a Sun 3 might be `m68k-sun-sunos4.1'.
+ For example, an Athlon-based GNU/Linux system might be
+`i686-pc-linux-gnu'.
The `configure' script needs to be able to decode all plausible
-alternatives for how to describe a machine. Thus, `sun3-sunos4.1'
-would be a valid alias. For many programs, `vax-dec-ultrix' would be
-an alias for `vax-dec-bsd', simply because the differences between
-Ultrix and BSD are rarely noticeable, but a few programs might need to
-distinguish them.
-
- There is a shell script called `config.sub' that you can use as a
-subroutine to validate system types and canonicalize aliases.
+alternatives for how to describe a machine. Thus,
+`athlon-pc-gnu/linux' would be a valid alias. There is a shell script
+called `config.sub'
+(http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub)
+that you can use as a subroutine to validate system types and
+canonicalize aliases.
+
+ The `configure' script should also take the option
+`--build=BUILDTYPE', which should be equivalent to a plain BUILDTYPE
+argument. For example, `configure --build=i686-pc-linux-gnu' is
+equivalent to `configure i686-pc-linux-gnu'. When the build type is
+not specified by an option or argument, the `configure' script should
+normally guess it using the shell script `config.guess'
+(http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess).
Other options are permitted to specify in more detail the software
-or hardware present on the machine, and include or exclude optional
-parts of the package:
+or hardware present on the machine, to include or exclude optional parts
+of the package, or to adjust the name of some tools or arguments to
+them:
`--enable-FEATURE[=PARAMETER]'
Configure the package to build and install an optional user-level
find certain files. That is outside the scope of what `--with'
options are for.
- All `configure' scripts should accept all of these "detail" options,
-whether or not they make any difference to the particular package at
-hand. In particular, they should accept any option that starts with
-`--with-' or `--enable-'. This is so users will be able to configure
-an entire GNU source tree at once with a single set of options.
+`VARIABLE=VALUE'
+ Set the value of the variable VARIABLE to VALUE. This is used to
+ override the default values of commands or arguments in the build
+ process. For example, the user could issue `configure CFLAGS=-g
+ CXXFLAGS=-g' to build with debugging information and without the
+ default optimization.
+
+ Specifying variables as arguments to `configure', like this:
+ ./configure CC=gcc
+ is preferable to setting them in environment variables:
+ CC=gcc ./configure
+ as it helps to recreate the same configuration later with
+ `config.status'.
+
+ All `configure' scripts should accept all of the "detail" options
+and the variable settings, whether or not they make any difference to
+the particular package at hand. In particular, they should accept any
+option that starts with `--with-' or `--enable-'. This is so users
+will be able to configure an entire GNU source tree at once with a
+single set of options.
You will note that the categories `--with-' and `--enable-' are
narrow: they *do not* provide a place for any sort of option you might
system as both the host and the target, thus producing a program which
works for the same type of machine that it runs on.
+ To compile a program to run on a host type that differs from the
+build type, use the configure option `--host=HOSTTYPE', where HOSTTYPE
+uses the same syntax as BUILDTYPE. The host type normally defaults to
+the build type.
+
To configure a cross-compiler, cross-assembler, or what have you, you
should specify a target different from the host, using the configure
option `--target=TARGETTYPE'. The syntax for TARGETTYPE is the same as
for the host type. So the command would look like this:
- ./configure HOSTTYPE --target=TARGETTYPE
-
- Programs for which cross-operation is not meaningful need not accept
-the `--target' option, because configuring an entire operating system
-for cross-operation is not a meaningful operation.
+ ./configure --host=HOSTTYPE --target=TARGETTYPE
- Bootstrapping a cross-compiler requires compiling it on a machine
-other than the host it will run on. Compilation packages accept a
-configuration option `--build=BUILDTYPE' for specifying the
-configuration on which you will compile them, but the configure script
-should normally guess the build machine type (using `config.guess'), so
-this option is probably not necessary. The host and target types
-normally default from the build type, so in bootstrapping a
-cross-compiler you must specify them both explicitly.
+ The target type normally defaults to the host type. Programs for
+which cross-operation is not meaningful need not accept the `--target'
+option, because configuring an entire operating system for
+cross-operation is not a meaningful operation.
Some programs have ways of configuring themselves automatically. If
your program is set up to do this, your `configure' script can simply
* Menu:
-* Makefile Basics:: General Conventions for Makefiles
-* Utilities in Makefiles:: Utilities in Makefiles
-* Command Variables:: Variables for Specifying Commands
-* Directory Variables:: Variables for Installation Directories
-* Standard Targets:: Standard Targets for Users
+* Makefile Basics:: General conventions for Makefiles.
+* Utilities in Makefiles:: Utilities to be used in Makefiles.
+* Command Variables:: Variables for specifying commands.
+* DESTDIR:: Supporting staged installs.
+* Directory Variables:: Variables for installation directories.
+* Standard Targets:: Standard targets for users.
* Install Command Categories:: Three categories of commands in the `install'
rule: normal, pre-install and post-install.
exist.
\1f
-File: standards.info, Node: Command Variables, Next: Directory Variables, Prev: Utilities in Makefiles, Up: Makefile Conventions
+File: standards.info, Node: Command Variables, Next: DESTDIR, Prev: Utilities in Makefiles, Up: Makefile Conventions
7.2.3 Variables for Specifying Commands
---------------------------------------
and `INSTALL_DATA'. (The default for `INSTALL_PROGRAM' should be
`$(INSTALL)'; the default for `INSTALL_DATA' should be `${INSTALL} -m
644'.) Then it should use those variables as the commands for actual
-installation, for executables and nonexecutables respectively. Use
-these variables as follows:
+installation, for executables and non-executables respectively.
+Minimal use of these variables is as follows:
$(INSTALL_PROGRAM) foo $(bindir)/foo
$(INSTALL_DATA) libfoo.a $(libdir)/libfoo.a
- Optionally, you may prepend the value of `DESTDIR' to the target
-filename. Doing this allows the installer to create a snapshot of the
-installation to be copied onto the real target filesystem later. Do not
-set the value of `DESTDIR' in your Makefile, and do not include it in
-any installed files. With support for `DESTDIR', the above examples
-become:
-
- $(INSTALL_PROGRAM) foo $(DESTDIR)$(bindir)/foo
- $(INSTALL_DATA) libfoo.a $(DESTDIR)$(libdir)/libfoo.a
+ However, it is preferable to support a `DESTDIR' prefix on the
+target files, as explained in the next section.
Always use a file name, not a directory name, as the second argument of
the installation commands. Use a separate command for each file to be
installed.
\1f
-File: standards.info, Node: Directory Variables, Next: Standard Targets, Prev: Command Variables, Up: Makefile Conventions
+File: standards.info, Node: DESTDIR, Next: Directory Variables, Prev: Command Variables, Up: Makefile Conventions
+
+7.2.4 `DESTDIR': support for staged installs
+--------------------------------------------
+
+`DESTDIR' is a variable prepended to each installed target file, like
+this:
+
+ $(INSTALL_PROGRAM) foo $(DESTDIR)$(bindir)/foo
+ $(INSTALL_DATA) libfoo.a $(DESTDIR)$(libdir)/libfoo.a
+
+ The `DESTDIR' variable is specified by the user on the `make'
+command line. For example:
+
+ make DESTDIR=/tmp/stage install
+
+`DESTDIR' should be supported only in the `install*' and `uninstall*'
+targets, as those are the only targets where it is useful.
+
+ If your installation step would normally install
+`/usr/local/bin/foo' and `/usr/local/lib/libfoo.a', then an
+installation invoked as in the example above would install
+`/tmp/stage/usr/local/bin/foo' and `/tmp/stage/usr/local/lib/libfoo.a'
+instead.
+
+ Prepending the variable `DESTDIR' to each target in this way
+provides for "staged installs", where the installed files are not
+placed directly into their expected location but are instead copied
+into a temporary location (`DESTDIR'). However, installed files
+maintain their relative directory structure and any embedded file names
+will not be modified.
+
+ You should not set the value of `DESTDIR' in your `Makefile' at all;
+then the files are installed into their expected locations by default.
+Also, specifying `DESTDIR' should not change the operation of the
+software in any way, so its value should not be included in any file
+contents.
+
+ `DESTDIR' support is commonly used in package creation. It is also
+helpful to users who want to understand what a given package will
+install where, and to allow users who don't normally have permissions
+to install into protected areas to build and install before gaining
+those permissions. Finally, it can be useful with tools such as
+`stow', where code is installed in one place but made to appear to be
+installed somewhere else using symbolic links or special mount
+operations. So, we strongly recommend GNU packages support `DESTDIR',
+though it is not an absolute requirement.
+
+\1f
+File: standards.info, Node: Directory Variables, Next: Standard Targets, Prev: DESTDIR, Up: Makefile Conventions
-7.2.4 Variables for Installation Directories
+7.2.5 Variables for Installation Directories
--------------------------------------------
Installation directories should always be named by variables, so it is
easy to install in a nonstandard place. The standard names for these
-variables are described below. They are based on a standard filesystem
-layout; variants of it are used in SVR4, 4.4BSD, GNU/Linux, Ultrix v4,
-and other modern operating systems.
-
- These two variables set the root for the installation. All the other
-installation directories should be subdirectories of one of these two,
-and nothing should be directly installed into these two directories.
+variables and the values they should have in GNU packages are described
+below. They are based on a standard file system layout; variants of it
+are used in GNU/Linux and other modern operating systems.
+
+ Installers are expected to override these values when calling `make'
+(e.g., `make prefix=/usr install' or `configure' (e.g., `configure
+--prefix=/usr'). GNU packages should not try to guess which value
+should be appropriate for these variables on the system they are being
+installed onto: use the default settings specified here so that all GNU
+packages behave identically, allowing the installer to achieve any
+desired layout.
+
+ These first two variables set the root for the installation. All the
+other installation directories should be subdirectories of one of these
+two, and nothing should be directly installed into these two
+directories.
`prefix'
A prefix used in constructing the default values of the variables
`/usr/local/libexec', but write it as `$(exec_prefix)/libexec'.
(If you are using Autoconf, write it as `@libexecdir@'.)
+ The definition of `libexecdir' is the same for all packages, so
+ you should install your data in a subdirectory thereof. Most
+ packages install their data under `$(libexecdir)/PACKAGE-NAME/',
+ possibly within additional subdirectories thereof, such as
+ `$(libexecdir)/PACKAGE-NAME/MACHINE/VERSION'.
+
Data files used by the program during its execution are divided into
categories in two ways.
files and libraries. It is much cleaner to make other data files
architecture-independent, and it is generally not hard.
- Therefore, here are the variables Makefiles should use to specify
-directories:
+ Here are the variables Makefiles should use to specify directories
+to put these various kinds of files in:
+
+`datarootdir'
+ The root of the directory tree for read-only
+ architecture-independent data files. This should normally be
+ `/usr/local/share', but write it as `$(prefix)/share'. (If you
+ are using Autoconf, write it as `@datarootdir@'.) `datadir''s
+ default value is based on this variable; so are `infodir',
+ `mandir', and others.
`datadir'
- The directory for installing read-only architecture independent
- data files. This should normally be `/usr/local/share', but write
- it as `$(prefix)/share'. (If you are using Autoconf, write it as
- `@datadir@'.) As a special exception, see `$(infodir)' and
- `$(includedir)' below.
+ The directory for installing idiosyncratic read-only
+ architecture-independent data files for this program. This is
+ usually the same place as `datarootdir', but we use the two
+ separate variables so that you can move these program-specific
+ files without altering the location for Info files, man pages, etc.
+
+ This should normally be `/usr/local/share', but write it as
+ `$(datarootdir)'. (If you are using Autoconf, write it as
+ `@datadir@'.)
+
+ The definition of `datadir' is the same for all packages, so you
+ should install your data in a subdirectory thereof. Most packages
+ install their data under `$(datadir)/PACKAGE-NAME/'.
`sysconfdir'
The directory for installing read-only data files that pertain to a
it as `$(prefix)/var'. (If you are using Autoconf, write it as
`@localstatedir@'.)
-`libdir'
- The directory for object files and libraries of object code. Do
- not install executables here, they probably ought to go in
- `$(libexecdir)' instead. The value of `libdir' should normally be
- `/usr/local/lib', but write it as `$(exec_prefix)/lib'. (If you
- are using Autoconf, write it as `@libdir@'.)
-
-`infodir'
- The directory for installing the Info files for this package. By
- default, it should be `/usr/local/info', but it should be written
- as `$(prefix)/info'. (If you are using Autoconf, write it as
- `@infodir@'.)
-
-`lispdir'
- The directory for installing any Emacs Lisp files in this package.
- By default, it should be `/usr/local/share/emacs/site-lisp', but
- it should be written as `$(prefix)/share/emacs/site-lisp'.
-
- If you are using Autoconf, write the default as `@lispdir@'. In
- order to make `@lispdir@' work, you need the following lines in
- your `configure.in' file:
-
- lispdir='${datadir}/emacs/site-lisp'
- AC_SUBST(lispdir)
+ These variables specify the directory for installing certain specific
+types of files, if your program has them. Every GNU package should
+have Info files, so every program needs `infodir', but not all need
+`libdir' or `lispdir'.
`includedir'
The directory for installing header files to be included by user
To tell whether `foo.h' came from the Foo package, put a magic
string in the file--part of a comment--and `grep' for that string.
+`docdir'
+ The directory for installing documentation files (other than Info)
+ for this package. By default, it should be
+ `/usr/local/share/doc/YOURPKG', but it should be written as
+ `$(datarootdir)/doc/YOURPKG'. (If you are using Autoconf, write
+ it as `@docdir@'.) The YOURPKG subdirectory, which may include a
+ version number, prevents collisions among files with common names,
+ such as `README'.
+
+`infodir'
+ The directory for installing the Info files for this package. By
+ default, it should be `/usr/local/share/info', but it should be
+ written as `$(datarootdir)/info'. (If you are using Autoconf,
+ write it as `@infodir@'.) `infodir' is separate from `docdir' for
+ compatibility with existing practice.
+
+`htmldir'
+`dvidir'
+`pdfdir'
+`psdir'
+ Directories for installing documentation files in the particular
+ format. They should all be set to `$(docdir)' by default. (If
+ you are using Autoconf, write them as `@htmldir@', `@dvidir@',
+ etc.) Packages which supply several translations of their
+ documentation should install them in `$(htmldir)/'LL,
+ `$(pdfdir)/'LL, etc. where LL is a locale abbreviation such as
+ `en' or `pt_BR'.
+
+`libdir'
+ The directory for object files and libraries of object code. Do
+ not install executables here, they probably ought to go in
+ `$(libexecdir)' instead. The value of `libdir' should normally be
+ `/usr/local/lib', but write it as `$(exec_prefix)/lib'. (If you
+ are using Autoconf, write it as `@libdir@'.)
+
+`lispdir'
+ The directory for installing any Emacs Lisp files in this package.
+ By default, it should be `/usr/local/share/emacs/site-lisp', but
+ it should be written as `$(datarootdir)/emacs/site-lisp'.
+
+ If you are using Autoconf, write the default as `@lispdir@'. In
+ order to make `@lispdir@' work, you need the following lines in
+ your `configure.in' file:
+
+ lispdir='${datarootdir}/emacs/site-lisp'
+ AC_SUBST(lispdir)
+
+`localedir'
+ The directory for installing locale-specific message catalogs for
+ this package. By default, it should be `/usr/local/share/locale',
+ but it should be written as `$(datarootdir)/locale'. (If you are
+ using Autoconf, write it as `@localedir@'.) This directory
+ usually has a subdirectory per locale.
+
Unix-style man pages are installed in one of the following:
`mandir'
The top-level directory for installing the man pages (if any) for
- this package. It will normally be `/usr/local/man', but you should
- write it as `$(prefix)/man'. (If you are using Autoconf, write it
- as `@mandir@'.)
+ this package. It will normally be `/usr/local/share/man', but you
+ should write it as `$(datarootdir)/man'. (If you are using
+ Autoconf, write it as `@mandir@'.)
`man1dir'
The directory for installing section 1 man pages. Write it as
`srcdir'
The directory for the sources being compiled. The value of this
variable is normally inserted by the `configure' shell script.
- (If you are using Autconf, use `srcdir = @srcdir@'.)
+ (If you are using Autoconf, use `srcdir = @srcdir@'.)
For example:
# Common prefix for installation directories.
# NOTE: This directory must exist when you start the install.
prefix = /usr/local
+ datarootdir = $(prefix)/share
+ datadir = $(datarootdir)
exec_prefix = $(prefix)
# Where to put the executable for the command `gcc'.
bindir = $(exec_prefix)/bin
# Where to put the directories used by the compiler.
libexecdir = $(exec_prefix)/libexec
# Where to put the Info files.
- infodir = $(prefix)/info
+ infodir = $(datarootdir)/info
If your program installs a large number of files into one of the
standard user-specified directories, it might be useful to group them
order for this to be useful, all the packages must be designed so that
they will work sensibly when the user does so.
+ At times, not all of these variables may be implemented in the
+current release of Autoconf and/or Automake; but as of Autoconf 2.60, we
+believe all of them are. When any are missing, the descriptions here
+serve as specifications for what Autoconf will implement. As a
+programmer, you can either use a development version of Autoconf or
+avoid using these variables until a stable release is made which
+supports them.
+
\1f
File: standards.info, Node: Standard Targets, Next: Install Command Categories, Prev: Directory Variables, Up: Makefile Conventions
-7.2.5 Standard Targets for Users
+7.2.6 Standard Targets for Users
--------------------------------
All GNU programs should have the following targets in their Makefiles:
`all'
Compile the entire program. This should be the default target.
This target need not rebuild any documentation files; Info files
- should normally be included in the distribution, and DVI files
- should be made only when explicitly asked for.
+ should normally be included in the distribution, and DVI (and other
+ documentation format) files should be made only when explicitly
+ asked for.
By default, the Make rules should compile and link with `-g', so
that executable programs have debugging symbols. Users who don't
commands and "post-installation" commands. *Note Install Command
Categories::.
+`install-html'
+`install-dvi'
+`install-pdf'
+`install-ps'
+ These targets install documentation in formats other than Info;
+ they're intended to be called explicitly by the person installing
+ the package, if that format is desired. GNU prefers Info files,
+ so these must be installed by the `install' target.
+
+ When you have many documentation files to install, we recommend
+ that you avoid collisions and clutter by arranging for these
+ targets to install in subdirectories of the appropriate
+ installation directory, such as `htmldir'. As one example, if
+ your package has multiple manuals, and you wish to install HTML
+ documentation with many files (such as the "split" mode output by
+ `makeinfo --html'), you'll certainly want to use subdirectories,
+ or two nodes with the same name in different manuals will
+ overwrite each other.
+
+ Please make these `install-FORMAT' targets invoke the commands for
+ the FORMAT target, for example, by making FORMAT a dependency.
+
`uninstall'
- Delete all the installed files--the copies that the `install'
- target creates.
+ Delete all the installed files--the copies that the `install' and
+ `install-*' targets create.
This rule should not modify the directories where compilation is
done, only the directories where files are installed.
the unstripped executable elsewhere in case there is a bug.
`clean'
- Delete all files from the current directory that are normally
- created by building the program. Don't delete the files that
- record the configuration. Also preserve files that could be made
- by building, but normally aren't because the distribution comes
- with them.
+ Delete all files in the current directory that are normally
+ created by building the program. Also delete files in other
+ directories if they are created by this makefile. However, don't
+ delete the files that record the configuration. Also preserve
+ files that could be made by building, but normally aren't because
+ the distribution comes with them. There is no need to delete
+ parent directories that were created with `mkdir -p', since they
+ could have existed anyway.
Delete `.dvi' files here if they are not part of the distribution.
`distclean'
- Delete all files from the current directory that are created by
- configuring or building the program. If you have unpacked the
- source and built the program without creating any other files,
- `make distclean' should leave only the files that were in the
- distribution.
+ Delete all files in the current directory (or created by this
+ makefile) that are created by configuring or building the program.
+ If you have unpacked the source and built the program without
+ creating any other files, `make distclean' should leave only the
+ files that were in the distribution. However, there is no need to
+ delete parent directories that were created with `mkdir -p', since
+ they could have existed anyway.
`mostlyclean'
Like `clean', but may refrain from deleting a few files that people
is rarely necessary and takes a lot of time.
`maintainer-clean'
- Delete almost everything from the current directory that can be
- reconstructed with this Makefile. This typically includes
- everything deleted by `distclean', plus more: C source files
- produced by Bison, tags tables, Info files, and so on.
+ Delete almost everything that can be reconstructed with this
+ Makefile. This typically includes everything deleted by
+ `distclean', plus more: C source files produced by Bison, tags
+ tables, Info files, and so on.
The reason we say "almost everything" is that running the command
`make maintainer-clean' should not delete `configure' even if
`configure' can be remade using a rule in the Makefile. More
generally, `make maintainer-clean' should not delete anything that
needs to exist in order to run `configure' and then begin to build
- the program. This is the only exception; `maintainer-clean' should
+ the program. Also, there is no need to delete parent directories
+ that were created with `mkdir -p', since they could have existed
+ anyway. These are the only exceptions; `maintainer-clean' should
delete everything else that can be rebuilt.
The `maintainer-clean' target is intended to be used by a
update the Info files because they will already be up to date.
`dvi'
- Generate DVI files for all Texinfo documentation. For example:
+`html'
+`pdf'
+`ps'
+ Generate documentation files in the given format. These targets
+ should always exist, but any or all can be a no-op if the given
+ output format cannot be generated. These targets should not be
+ dependencies of the `all' target; the user must manually invoke
+ them.
+
+ Here's an example rule for generating DVI files from Texinfo:
dvi: foo.dvi
distribution.(1) Alternatively, write just the dependencies, and
allow GNU `make' to provide the command.
+ Here's another example, this one for generating HTML from Texinfo:
+
+ html: foo.html
+
+ foo.html: foo.texi chap1.texi chap2.texi
+ $(TEXI2HTML) $(srcdir)/foo.texi
+
+ Again, you would define the variable `TEXI2HTML' in the Makefile;
+ for example, it might run `makeinfo --no-split --html' (`makeinfo'
+ is part of the Texinfo distribution).
+
`dist'
Create a distribution tar file for this program. The tar file
should be set up so that the file names in the tar file start with
\1f
File: standards.info, Node: Install Command Categories, Prev: Standard Targets, Up: Makefile Conventions
-7.2.6 Install Command Categories
+7.2.7 Install Command Categories
--------------------------------
When writing the `install' target, you must classify all the commands
Programs to build binary packages work by extracting the
pre-installation and post-installation commands. Here is one way of
-extracting the pre-installation commands:
+extracting the pre-installation commands (the `-s' option to `make' is
+needed to silence messages about entering subdirectories):
- make -n install -o all \
+ make -s -n install -o all \
PRE_INSTALL=pre-install \
POST_INSTALL=post-install \
NORMAL_INSTALL=normal-install \
where the file `pre-install.awk' could contain this:
- $0 ~ /^\t[ \t]*(normal_install|post_install)[ \t]*$/ {on = 0}
+ $0 ~ /^(normal-install|post-install)[ \t]*$/ {on = 0}
on {print $0}
- $0 ~ /^\t[ \t]*pre_install[ \t]*$/ {on = 1}
-
- The resulting file of pre-installation commands is executed as a
-shell script as part of installing the binary package.
+ $0 ~ /^pre-install[ \t]*$/ {on = 1}
\1f
File: standards.info, Node: Releases, Prev: Makefile Conventions, Up: Managing Releases
7.3 Making Releases
===================
-Package the distribution of `Foo version 69.96' up in a gzipped tar
+You should identify each release with a pair of version numbers, a
+major version and a minor. We have no objection to using more than two
+numbers, but it is very unlikely that you really need them.
+
+ Package the distribution of `Foo version 69.96' up in a gzipped tar
file with the name `foo-69.96.tar.gz'. It should unpack into a
subdirectory named `foo-69.96'.
Make sure that all the files in the distribution are world-readable.
- Make sure that no file name in the distribution is more than 14
-characters long. Likewise, no file created by building the program
-should have a name longer than 14 characters. The reason for this is
-that some systems adhere to a foolish interpretation of the POSIX
-standard, and refuse to open a longer name, rather than truncating as
-they did in the past.
-
Don't include any symbolic links in the distribution itself. If the
tar file contains symbolic links, then people cannot even unpack it on
systems that don't support symbolic links. Also, don't use multiple
know what other files to get.
\1f
-File: standards.info, Node: References, Next: Copying This Manual, Prev: Managing Releases, Up: Top
+File: standards.info, Node: References, Next: GNU Free Documentation License, Prev: Managing Releases, Up: Top
8 References to Non-Free Software and Documentation
***************************************************
A GNU program should not recommend use of any non-free program. We
can't stop some people from writing proprietary programs, or stop other
-people from using them, but we can and should avoid helping to
-advertise them to new potential customers. Proprietary software is a
-social and ethical problem, and the point of GNU is to solve that
-problem.
+people from using them, but we can and should refuse to advertise them
+to new potential customers. Proprietary software is a social and
+ethical problem, and the point of GNU is to solve that problem.
+
+ The GNU definition of free software is found on the GNU web site at
+`http://www.gnu.org/philosophy/free-sw.html', and the definition of
+free documentation is found at
+`http://www.gnu.org/philosophy/free-doc.html'. A list of important
+licenses and whether they qualify as free is in
+`http://www.gnu.org/licenses/license-list.html'. The terms "free" and
+"non-free", used in this document, refer to that definition. If it is
+not clear whether a license qualifies as free under this definition,
+please ask the GNU Project by writing to <licensing@gnu.org>. We will
+answer, and if the license is an important one, we will add it to the
+list.
When a non-free program or system is well known, you can mention it
in passing--that is harmless, since users who might want to use it
probably already know about it. For instance, it is fine to explain
-how to build your package on top of some non-free operating system, or
-how to use it together with some widely used non-free program.
+how to build your package on top of some widely used non-free operating
+system, or how to use it together with some widely used non-free
+program.
However, you should give only the necessary information to help those
who already use the non-free program to use your program with it--don't
program, and don't imply that the proprietary program enhances your
program, or that its existence is in any way a good thing. The goal
should be that people already using the proprietary program will get
-the advice they need about how to use your free program, while people
-who don't already use the proprietary program will not see anything to
-lead them to take an interest in it.
+the advice they need about how to use your free program with it, while
+people who don't already use the proprietary program will not see
+anything to lead them to take an interest in it.
If a non-free program or system is obscure in your program's domain,
your program should not mention or support it at all, since doing so
your program. (You cannot hope to find many additional users among the
users of Foobar if the users of Foobar are few.)
+ Sometimes a program is free software in itself but depends on a
+non-free platform in order to run. For instance, many Java programs
+depend on the parts of Sun's Java implementation which are not yet free
+software, and won't run on the GNU Java Compiler (which does not yet
+have all the features) or won't run with the GNU Java libraries. We
+hope this particular problem will be gone in a few months, when Sun
+makes the standard Java libraries free software, but of course the
+general principle remains: you should not recommend programs that
+depend on non-free software to run.
+
+ Some free programs encourage the use of non-free software. A typical
+example is `mplayer'. It is free software in itself, and the free code
+can handle some kinds of files. However, `mplayer' recommends use of
+non-free codecs for other kinds of files, and users that install
+`mplayer' are very likely to install those codecs along with it. To
+recommend `mplayer' is, in effect, to recommend the non-free codecs.
+We must not do that, so we cannot recommend `mplayer' either.
+
+ In general, you should also not recommend programs that themselves
+strongly recommend the use of non-free software.
+
A GNU package should not refer the user to any non-free documentation
for free software. Free documentation that can be included in free
-operating systems is essential for completing the GNU system, so it is
-a major focus of the GNU Project; to recommend use of documentation
-that we are not allowed to use in GNU would undermine the efforts to
-get documentation that we can include. So GNU packages should never
-recommend non-free documentation.
-
-\1f
-File: standards.info, Node: Copying This Manual, Next: Index, Prev: References, Up: Top
-
-Appendix A Copying This Manual
-******************************
-
-* Menu:
+operating systems is essential for completing the GNU system, or any
+free operating system, so it is a major focus of the GNU Project; to
+recommend use of documentation that we are not allowed to use in GNU
+would weaken the impetus for the community to produce documentation
+that we can include. So GNU packages should never recommend non-free
+documentation.
-* GNU Free Documentation License:: License for copying this manual
+ By contrast, it is ok to refer to journal articles and textbooks in
+the comments of a program for explanation of how it functions, even
+though they be non-free. This is because we don't include such things
+in the GNU system even if we are allowed to--they are outside the scope
+of an operating system project.
+
+ Referring to a web site that describes or recommends a non-free
+program is in effect promoting that software, so please do not make
+links (or mention by name) web sites that contain such material. This
+policy is relevant particularly for the web pages for a GNU package.
+
+ Following links from nearly any web site can lead to non-free
+software; this is an inescapable aspect of the nature of the web, and
+in itself is no objection to linking to a site. As long as the site
+does not itself recommend a non-free program, there is no need be
+concerned about the sites it links to for other reasons.
+
+ Thus, for example, you should not make a link to AT&T's web site,
+because that recommends AT&T's non-free software packages; you should
+not make a link to a site that links to AT&T's site saying it is a
+place to get a non-free program; but if a site you want to link to
+refers to AT&T's web site in some other context (such as long-distance
+telephone service), that is not a problem.
\1f
-File: standards.info, Node: GNU Free Documentation License, Up: Copying This Manual
+File: standards.info, Node: GNU Free Documentation License, Next: Index, Prev: References, Up: Top
-Appendix B GNU Free Documentation License
+Appendix A GNU Free Documentation License
*****************************************
- Version 1.1, March 2000
+ Version 1.2, November 2002
- Copyright (C) 2000 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
-
0. PREAMBLE
The purpose of this License is to make a manual, textbook, or other
- written document "free" in the sense of freedom: to assure everyone
- the effective freedom to copy and redistribute it, with or without
- modifying it, either commercially or noncommercially. Secondarily,
- this License preserves for the author and publisher a way to get
- credit for their work, while not being considered responsible for
- modifications made by others.
+ functional and useful document "free" in the sense of freedom: to
+ assure everyone the effective freedom to copy and redistribute it,
+ with or without modifying it, either commercially or
+ noncommercially. Secondarily, this License preserves for the
+ author and publisher a way to get credit for their work, while not
+ being considered responsible for modifications made by others.
This License is a kind of "copyleft", which means that derivative
works of the document must themselves be free in the same sense.
We recommend this License principally for works whose purpose is
instruction or reference.
-
1. APPLICABILITY AND DEFINITIONS
- This License applies to any manual or other work that contains a
- notice placed by the copyright holder saying it can be distributed
- under the terms of this License. The "Document", below, refers to
- any such manual or work. Any member of the public is a licensee,
- and is addressed as "you."
+ This License applies to any manual or other work, in any medium,
+ that contains a notice placed by the copyright holder saying it
+ can be distributed under the terms of this License. Such a notice
+ grants a world-wide, royalty-free license, unlimited in duration,
+ to use that work under the conditions stated herein. The
+ "Document", below, refers to any such manual or work. Any member
+ of the public is a licensee, and is addressed as "you". You
+ accept the license if you copy, modify or distribute the work in a
+ way requiring permission under copyright law.
A "Modified Version" of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.
- A "Secondary Section" is a named appendix or a front-matter
- section of the Document that deals exclusively with the
- relationship of the publishers or authors of the Document to the
- Document's overall subject (or to related matters) and contains
- nothing that could fall directly within that overall subject.
- (For example, if the Document is in part a textbook of
- mathematics, a Secondary Section may not explain any mathematics.)
- The relationship could be a matter of historical connection with
- the subject or with related matters, or of legal, commercial,
- philosophical, ethical or political position regarding them.
+ A "Secondary Section" is a named appendix or a front-matter section
+ of the Document that deals exclusively with the relationship of the
+ publishers or authors of the Document to the Document's overall
+ subject (or to related matters) and contains nothing that could
+ fall directly within that overall subject. (Thus, if the Document
+ is in part a textbook of mathematics, a Secondary Section may not
+ explain any mathematics.) The relationship could be a matter of
+ historical connection with the subject or with related matters, or
+ of legal, commercial, philosophical, ethical or political position
+ regarding them.
The "Invariant Sections" are certain Secondary Sections whose
titles are designated, as being those of Invariant Sections, in
the notice that says that the Document is released under this
- License.
+ License. If a section does not fit the above definition of
+ Secondary then it is not allowed to be designated as Invariant.
+ The Document may contain zero Invariant Sections. If the Document
+ does not identify any Invariant Sections then there are none.
The "Cover Texts" are certain short passages of text that are
listed, as Front-Cover Texts or Back-Cover Texts, in the notice
- that says that the Document is released under this License.
+ that says that the Document is released under this License. A
+ Front-Cover Text may be at most 5 words, and a Back-Cover Text may
+ be at most 25 words.
A "Transparent" copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
- general public, whose contents can be viewed and edited directly
- and straightforwardly with generic text editors or (for images
+ general public, that is suitable for revising the document
+ straightforwardly with generic text editors or (for images
composed of pixels) generic paint programs or (for drawings) some
widely available drawing editor, and that is suitable for input to
text formatters or for automatic translation to a variety of
formats suitable for input to text formatters. A copy made in an
- otherwise Transparent file format whose markup has been designed
- to thwart or discourage subsequent modification by readers is not
- Transparent. A copy that is not "Transparent" is called "Opaque."
+ otherwise Transparent file format whose markup, or absence of
+ markup, has been arranged to thwart or discourage subsequent
+ modification by readers is not Transparent. An image format is
+ not Transparent if used for any substantial amount of text. A
+ copy that is not "Transparent" is called "Opaque".
Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, LaTeX input format,
SGML or XML using a publicly available DTD, and
- standard-conforming simple HTML designed for human modification.
- Opaque formats include PostScript, PDF, proprietary formats that
- can be read and edited only by proprietary word processors, SGML
- or XML for which the DTD and/or processing tools are not generally
- available, and the machine-generated HTML produced by some word
- processors for output purposes only.
+ standard-conforming simple HTML, PostScript or PDF designed for
+ human modification. Examples of transparent image formats include
+ PNG, XCF and JPG. Opaque formats include proprietary formats that
+ can be read and edited only by proprietary word processors, SGML or
+ XML for which the DTD and/or processing tools are not generally
+ available, and the machine-generated HTML, PostScript or PDF
+ produced by some word processors for output purposes only.
The "Title Page" means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the
Page" means the text near the most prominent appearance of the
work's title, preceding the beginning of the body of the text.
+ A section "Entitled XYZ" means a named subunit of the Document
+ whose title either is precisely XYZ or contains XYZ in parentheses
+ following text that translates XYZ in another language. (Here XYZ
+ stands for a specific section name mentioned below, such as
+ "Acknowledgements", "Dedications", "Endorsements", or "History".)
+ To "Preserve the Title" of such a section when you modify the
+ Document means that it remains a section "Entitled XYZ" according
+ to this definition.
+
+ The Document may include Warranty Disclaimers next to the notice
+ which states that this License applies to the Document. These
+ Warranty Disclaimers are considered to be included by reference in
+ this License, but only as regards disclaiming warranties: any other
+ implication that these Warranty Disclaimers may have is void and
+ has no effect on the meaning of this License.
+
2. VERBATIM COPYING
You may copy and distribute the Document in any medium, either
3. COPYING IN QUANTITY
- If you publish printed copies of the Document numbering more than
- 100, and the Document's license notice requires Cover Texts, you
- must enclose the copies in covers that carry, clearly and legibly,
- all these Cover Texts: Front-Cover Texts on the front cover, and
+ If you publish printed copies (or copies in media that commonly
+ have printed covers) of the Document, numbering more than 100, and
+ the Document's license notice requires Cover Texts, you must
+ enclose the copies in covers that carry, clearly and legibly, all
+ these Cover Texts: Front-Cover Texts on the front cover, and
Back-Cover Texts on the back cover. Both covers must also clearly
and legibly identify you as the publisher of these copies. The
front cover must present the full title with all words of the
If you publish or distribute Opaque copies of the Document
numbering more than 100, you must either include a
machine-readable Transparent copy along with each Opaque copy, or
- state in or with each Opaque copy a publicly-accessible
- computer-network location containing a complete Transparent copy
- of the Document, free of added material, which the general
- network-using public has access to download anonymously at no
- charge using public-standard network protocols. If you use the
+ state in or with each Opaque copy a computer-network location from
+ which the general network-using public has access to download
+ using public-standard network protocols a complete Transparent
+ copy of the Document, free of added material. If you use the
latter option, you must take reasonably prudent steps, when you
begin distribution of Opaque copies in quantity, to ensure that
this Transparent copy will remain thus accessible at the stated
whoever possesses a copy of it. In addition, you must do these
things in the Modified Version:
- A. Use in the Title Page (and on the covers, if any) a title
- distinct from that of the Document, and from those of previous
- versions (which should, if there were any, be listed in the
- History section of the Document). You may use the same title
- as a previous version if the original publisher of that version
- gives permission.
- B. List on the Title Page, as authors, one or more persons or
- entities responsible for authorship of the modifications in the
- Modified Version, together with at least five of the principal
- authors of the Document (all of its principal authors, if it
- has less than five).
- C. State on the Title page the name of the publisher of the
- Modified Version, as the publisher.
- D. Preserve all the copyright notices of the Document.
- E. Add an appropriate copyright notice for your modifications
- adjacent to the other copyright notices.
- F. Include, immediately after the copyright notices, a license
- notice giving the public permission to use the Modified Version
- under the terms of this License, in the form shown in the
- Addendum below.
- G. Preserve in that license notice the full lists of Invariant
- Sections and required Cover Texts given in the Document's
- license notice.
- H. Include an unaltered copy of this License.
- I. Preserve the section entitled "History", and its title, and add
- to it an item stating at least the title, year, new authors, and
- publisher of the Modified Version as given on the Title Page.
- If there is no section entitled "History" in the Document,
- create one stating the title, year, authors, and publisher of
- the Document as given on its Title Page, then add an item
- describing the Modified Version as stated in the previous
- sentence.
- J. Preserve the network location, if any, given in the Document for
- public access to a Transparent copy of the Document, and
- likewise the network locations given in the Document for
- previous versions it was based on. These may be placed in the
- "History" section. You may omit a network location for a work
- that was published at least four years before the Document
- itself, or if the original publisher of the version it refers
- to gives permission.
- K. In any section entitled "Acknowledgements" or "Dedications",
- preserve the section's title, and preserve in the section all the
- substance and tone of each of the contributor acknowledgements
- and/or dedications given therein.
- L. Preserve all the Invariant Sections of the Document,
- unaltered in their text and in their titles. Section numbers
- or the equivalent are not considered part of the section titles.
- M. Delete any section entitled "Endorsements." Such a section
- may not be included in the Modified Version.
- N. Do not retitle any existing section as "Endorsements" or to
- conflict in title with any Invariant Section.
+ A. Use in the Title Page (and on the covers, if any) a title
+ distinct from that of the Document, and from those of
+ previous versions (which should, if there were any, be listed
+ in the History section of the Document). You may use the
+ same title as a previous version if the original publisher of
+ that version gives permission.
+
+ B. List on the Title Page, as authors, one or more persons or
+ entities responsible for authorship of the modifications in
+ the Modified Version, together with at least five of the
+ principal authors of the Document (all of its principal
+ authors, if it has fewer than five), unless they release you
+ from this requirement.
+
+ C. State on the Title page the name of the publisher of the
+ Modified Version, as the publisher.
+
+ D. Preserve all the copyright notices of the Document.
+
+ E. Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+
+ F. Include, immediately after the copyright notices, a license
+ notice giving the public permission to use the Modified
+ Version under the terms of this License, in the form shown in
+ the Addendum below.
+
+ G. Preserve in that license notice the full lists of Invariant
+ Sections and required Cover Texts given in the Document's
+ license notice.
+
+ H. Include an unaltered copy of this License.
+
+ I. Preserve the section Entitled "History", Preserve its Title,
+ and add to it an item stating at least the title, year, new
+ authors, and publisher of the Modified Version as given on
+ the Title Page. If there is no section Entitled "History" in
+ the Document, create one stating the title, year, authors,
+ and publisher of the Document as given on its Title Page,
+ then add an item describing the Modified Version as stated in
+ the previous sentence.
+
+ J. Preserve the network location, if any, given in the Document
+ for public access to a Transparent copy of the Document, and
+ likewise the network locations given in the Document for
+ previous versions it was based on. These may be placed in
+ the "History" section. You may omit a network location for a
+ work that was published at least four years before the
+ Document itself, or if the original publisher of the version
+ it refers to gives permission.
+
+ K. For any section Entitled "Acknowledgements" or "Dedications",
+ Preserve the Title of the section, and preserve in the
+ section all the substance and tone of each of the contributor
+ acknowledgements and/or dedications given therein.
+
+ L. Preserve all the Invariant Sections of the Document,
+ unaltered in their text and in their titles. Section numbers
+ or the equivalent are not considered part of the section
+ titles.
+
+ M. Delete any section Entitled "Endorsements". Such a section
+ may not be included in the Modified Version.
+
+ N. Do not retitle any existing section to be Entitled
+ "Endorsements" or to conflict in title with any Invariant
+ Section.
+
+ O. Preserve any Warranty Disclaimers.
If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no
Version's license notice. These titles must be distinct from any
other section titles.
- You may add a section entitled "Endorsements", provided it contains
+ You may add a section Entitled "Endorsements", provided it contains
nothing but endorsements of your Modified Version by various
- parties-for example, statements of peer review or that the text has
- been approved by an organization as the authoritative definition
- of a standard.
+ parties--for example, statements of peer review or that the text
+ has been approved by an organization as the authoritative
+ definition of a standard.
You may add a passage of up to five words as a Front-Cover Text,
and a passage of up to 25 words as a Back-Cover Text, to the end
modified versions, provided that you include in the combination
all of the Invariant Sections of all of the original documents,
unmodified, and list them all as Invariant Sections of your
- combined work in its license notice.
+ combined work in its license notice, and that you preserve all
+ their Warranty Disclaimers.
The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single
the list of Invariant Sections in the license notice of the
combined work.
- In the combination, you must combine any sections entitled
+ In the combination, you must combine any sections Entitled
"History" in the various original documents, forming one section
- entitled "History"; likewise combine any sections entitled
- "Acknowledgements", and any sections entitled "Dedications." You
- must delete all sections entitled "Endorsements."
+ Entitled "History"; likewise combine any sections Entitled
+ "Acknowledgements", and any sections Entitled "Dedications". You
+ must delete all sections Entitled "Endorsements."
6. COLLECTIONS OF DOCUMENTS
A compilation of the Document or its derivatives with other
separate and independent documents or works, in or on a volume of
- a storage or distribution medium, does not as a whole count as a
- Modified Version of the Document, provided no compilation
- copyright is claimed for the compilation. Such a compilation is
- called an "aggregate", and this License does not apply to the
- other self-contained works thus compiled with the Document, on
- account of their being thus compiled, if they are not themselves
- derivative works of the Document.
+ a storage or distribution medium, is called an "aggregate" if the
+ copyright resulting from the compilation is not used to limit the
+ legal rights of the compilation's users beyond what the individual
+ works permit. When the Document is included in an aggregate, this
+ License does not apply to the other works in the aggregate which
+ are not themselves derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these
- copies of the Document, then if the Document is less than one
- quarter of the entire aggregate, the Document's Cover Texts may be
- placed on covers that surround only the Document within the
- aggregate. Otherwise they must appear on covers around the whole
- aggregate.
+ copies of the Document, then if the Document is less than one half
+ of the entire aggregate, the Document's Cover Texts may be placed
+ on covers that bracket the Document within the aggregate, or the
+ electronic equivalent of covers if the Document is in electronic
+ form. Otherwise they must appear on printed covers that bracket
+ the whole aggregate.
8. TRANSLATION
permission from their copyright holders, but you may include
translations of some or all Invariant Sections in addition to the
original versions of these Invariant Sections. You may include a
- translation of this License provided that you also include the
- original English version of this License. In case of a
- disagreement between the translation and the original English
- version of this License, the original English version will prevail.
+ translation of this License, and all the license notices in the
+ Document, and any Warranty Disclaimers, provided that you also
+ include the original English version of this License and the
+ original versions of those notices and disclaimers. In case of a
+ disagreement between the translation and the original version of
+ this License or a notice or disclaimer, the original version will
+ prevail.
+
+ If a section in the Document is Entitled "Acknowledgements",
+ "Dedications", or "History", the requirement (section 4) to
+ Preserve its Title (section 1) will typically require changing the
+ actual title.
9. TERMINATION
the GNU Free Documentation License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See
- http://www.gnu.org/copyleft/.
+ `http://www.gnu.org/copyleft/'.
Each version of the License is given a distinguishing version
number. If the Document specifies that a particular numbered
you may choose any version ever published (not as a draft) by the
Free Software Foundation.
-
ADDENDUM: How to use this License for your documents
====================================================
the License in the document and put the following copyright and license
notices just after the title page:
- Copyright (C) YEAR YOUR NAME.
- 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 LIST THEIR TITLES, with the
- Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
- A copy of the license is included in the section entitled "GNU
- Free Documentation License."
+ Copyright (C) YEAR YOUR NAME.
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.2
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
+ Texts. A copy of the license is included in the section entitled ``GNU
+ Free Documentation License''.
+
+ If you have Invariant Sections, Front-Cover Texts and Back-Cover
+Texts, replace the "with...Texts." line with this:
- If you have no Invariant Sections, write "with no Invariant Sections"
-instead of saying which ones are invariant. If you have no Front-Cover
-Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being
-LIST"; likewise for Back-Cover Texts.
+ with the Invariant Sections being LIST THEIR TITLES, with
+ the Front-Cover Texts being LIST, and with the Back-Cover Texts
+ being LIST.
+
+ If you have Invariant Sections without Cover Texts, or some other
+combination of the three, merge those two alternatives to suit the
+situation.
If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of
permit their use in free software.
\1f
-File: standards.info, Node: Index, Prev: Copying This Manual, Up: Top
+File: standards.info, Node: Index, Prev: GNU Free Documentation License, Up: Top
Index
*****
\0\b[index\0\b]
* Menu:
-* #endif, commenting: Comments. (line 54)
-* --help option: Command-Line Interfaces.
- (line 119)
-* --version option: Command-Line Interfaces.
- (line 34)
+* #endif, commenting: Comments. (line 60)
+* --help output: --help. (line 6)
+* --version output: --version. (line 6)
* -Wall compiler option: Syntactic Conventions.
(line 10)
* accepting contributions: Contributions. (line 6)
-* address for bug reports: Command-Line Interfaces.
- (line 125)
+* address for bug reports: --help. (line 11)
* ANSI C standard: Standard C. (line 6)
* arbitrary limits on data: Semantics. (line 6)
+* ASCII characters: Character Set. (line 6)
* autoconf: System Portability. (line 23)
* avoiding proprietary code: Reading Non-Free Code.
(line 6)
* behavior, dependent on program's name: User Interfaces. (line 6)
* binary packages: Install Command Categories.
(line 80)
-* bindir: Directory Variables. (line 45)
+* bindir: Directory Variables. (line 54)
* braces, in C source: Formatting. (line 6)
-* bug reports: Command-Line Interfaces.
- (line 125)
-* canonical name of a program: Command-Line Interfaces.
- (line 41)
-* casting pointers to integers: CPU Portability. (line 67)
+* bug reports: --help. (line 11)
+* canonical name of a program: --version. (line 12)
+* casting pointers to integers: CPU Portability. (line 90)
+* CGI programs, standard options for: Command-Line Interfaces.
+ (line 31)
* change logs: Change Logs. (line 6)
* change logs, conditional changes: Conditional Changes. (line 6)
* change logs, style: Style of Change Logs.
(line 6)
+* character set: Character Set. (line 6)
* command-line arguments, decoding: Semantics. (line 46)
* command-line interface: Command-Line Interfaces.
(line 6)
* compiler warnings: Syntactic Conventions.
(line 10)
* conditional changes, and change logs: Conditional Changes. (line 6)
-* conditionals, comments for: Comments. (line 54)
+* conditionals, comments for: Comments. (line 60)
* configure: Configuration. (line 6)
-* control-L: Formatting. (line 114)
+* control-L: Formatting. (line 118)
* conventions for makefiles: Makefile Conventions.
(line 6)
* corba: Graphical Interfaces.
* credits for manuals: Manual Credits. (line 6)
* data types, and portability: CPU Portability. (line 6)
* declaration for system functions: System Functions. (line 21)
+* DESTDIR: DESTDIR. (line 6)
* documentation: Documentation. (line 6)
* doschk: Names. (line 38)
* downloading this manual: Preface. (line 17)
+* encodings: Character Set. (line 6)
* error messages: Semantics. (line 19)
* error messages, formatting: Errors. (line 6)
-* exec_prefix: Directory Variables. (line 27)
-* expressions, splitting: Formatting. (line 77)
+* exec_prefix: Directory Variables. (line 36)
+* expressions, splitting: Formatting. (line 81)
+* FDL, GNU Free Documentation License: GNU Free Documentation License.
+ (line 6)
* file usage: File Usage. (line 6)
* file-name limitations: Names. (line 38)
* formatting error messages: Errors. (line 6)
* formatting source code: Formatting. (line 6)
-* formfeed: Formatting. (line 114)
+* formfeed: Formatting. (line 118)
* function argument, declaring: Syntactic Conventions.
(line 6)
* function prototypes: Standard C. (line 17)
(line 16)
* graphical user interface: Graphical Interfaces.
(line 6)
-* gtk: Graphical Interfaces.
+* grave accent: Quote Characters. (line 6)
+* gtk+: Graphical Interfaces.
(line 6)
* GUILE: Source Language. (line 38)
* implicit int: Syntactic Conventions.
(line 6)
* impossible conditions: Semantics. (line 70)
+* installations, staged: DESTDIR. (line 6)
* internationalization: Internationalization.
(line 6)
+* left quote: Quote Characters. (line 6)
* legal aspects: Legal Issues. (line 6)
* legal papers: Contributions. (line 6)
-* libexecdir: Directory Variables. (line 58)
+* libexecdir: Directory Variables. (line 67)
* libraries: Libraries. (line 6)
* library functions, and portability: System Functions. (line 6)
* license for manuals: License for Manuals. (line 6)
* lint: Syntactic Conventions.
(line 109)
+* locale-specific quote characters: Quote Characters. (line 6)
* long option names: Option Table. (line 6)
* long-named options: Command-Line Interfaces.
(line 12)
(line 35)
* names of variables, functions, and files: Names. (line 6)
* NEWS file: NEWS File. (line 6)
+* non-ASCII characters: Character Set. (line 6)
* non-POSIX systems, and portability: System Portability. (line 32)
* non-standard extensions: Using Extensions. (line 6)
* NUL characters: Semantics. (line 11)
* open brace: Formatting. (line 6)
-* optional features, configure-time: Configuration. (line 76)
+* optional features, configure-time: Configuration. (line 83)
* options for compatibility: Compatibility. (line 14)
+* options, standard command-line: Command-Line Interfaces.
+ (line 31)
* output device and program's behavior: User Interfaces. (line 13)
* packaging: Releases. (line 6)
+* PATH_INFO, specifying standard options as: Command-Line Interfaces.
+ (line 31)
* portability, and data types: CPU Portability. (line 6)
* portability, and library functions: System Functions. (line 6)
* portability, between system types: System Portability. (line 6)
(line 6)
* pre-installation commands: Install Command Categories.
(line 6)
-* prefix: Directory Variables. (line 17)
+* prefix: Directory Variables. (line 26)
* program configuration: Configuration. (line 6)
* program design: Design Advice. (line 6)
* program name and its behavior: User Interfaces. (line 6)
-* program's canonical name: Command-Line Interfaces.
- (line 41)
-* programming languges: Source Language. (line 6)
+* program's canonical name: --version. (line 12)
+* programming languages: Source Language. (line 6)
* proprietary programs: Reading Non-Free Code.
(line 6)
-* README file: Releases. (line 17)
+* quote characters: Quote Characters. (line 6)
+* README file: Releases. (line 21)
* references to non-free material: References. (line 6)
* releasing: Managing Releases. (line 6)
-* sbindir: Directory Variables. (line 51)
+* sbindir: Directory Variables. (line 60)
* signal handling: Semantics. (line 59)
-* spaces before open-paren: Formatting. (line 71)
+* spaces before open-paren: Formatting. (line 75)
+* staged installs: DESTDIR. (line 6)
* standard command-line options: Command-Line Interfaces.
(line 31)
* standards for makefiles: Makefile Conventions.
* temporary files: Semantics. (line 84)
* temporary variables: Syntactic Conventions.
(line 23)
-* texinfo.tex, in a distribution: Releases. (line 73)
+* texinfo.tex, in a distribution: Releases. (line 70)
* TMPDIR environment variable: Semantics. (line 84)
* trademarks: Trademarks. (line 6)
* where to obtain standards.texi: Preface. (line 17)
\1f
Tag Table:
-Node: Top\7f696
-Node: Preface\7f1396
-Node: Legal Issues\7f3616
-Node: Reading Non-Free Code\7f4080
-Node: Contributions\7f5808
-Node: Trademarks\7f7962
-Node: Design Advice\7f9025
-Node: Source Language\7f9609
-Node: Compatibility\7f11621
-Node: Using Extensions\7f13249
-Node: Standard C\7f14825
-Node: Conditional Compilation\7f17228
-Node: Program Behavior\7f18527
-Node: Semantics\7f19446
-Node: Libraries\7f24139
-Node: Errors\7f25384
-Node: User Interfaces\7f27165
-Node: Graphical Interfaces\7f28770
-Node: Command-Line Interfaces\7f29805
-Node: Option Table\7f35876
-Node: Memory Usage\7f50885
-Node: File Usage\7f51910
-Node: Writing C\7f52658
-Node: Formatting\7f53508
-Node: Comments\7f57571
-Node: Syntactic Conventions\7f60873
-Node: Names\7f64285
-Node: System Portability\7f66494
-Node: CPU Portability\7f68879
-Node: System Functions\7f72135
-Node: Internationalization\7f77332
-Node: Mmap\7f80485
-Node: Documentation\7f81195
-Node: GNU Manuals\7f82300
-Node: Doc Strings and Manuals\7f87357
-Node: Manual Structure Details\7f88910
-Node: License for Manuals\7f90328
-Node: Manual Credits\7f91302
-Node: Printed Manuals\7f91695
-Node: NEWS File\7f92381
-Node: Change Logs\7f93059
-Node: Change Log Concepts\7f93813
-Node: Style of Change Logs\7f95677
-Node: Simple Changes\7f97712
-Node: Conditional Changes\7f98956
-Node: Indicating the Part Changed\7f100378
-Node: Man Pages\7f100905
-Node: Reading other Manuals\7f102529
-Node: Managing Releases\7f103320
-Node: Configuration\7f104083
-Node: Makefile Conventions\7f110988
-Node: Makefile Basics\7f111794
-Node: Utilities in Makefiles\7f114968
-Node: Command Variables\7f117113
-Node: Directory Variables\7f120690
-Node: Standard Targets\7f131584
-Ref: Standard Targets-Footnote-1\7f142824
-Node: Install Command Categories\7f142924
-Node: Releases\7f147506
-Node: References\7f151594
-Node: Copying This Manual\7f153879
-Node: GNU Free Documentation License\7f154115
-Node: Index\7f173816
+Node: Top\7f804
+Node: Preface\7f2060
+Node: Legal Issues\7f4175
+Node: Reading Non-Free Code\7f4645
+Node: Contributions\7f6375
+Node: Trademarks\7f8613
+Node: Design Advice\7f10248
+Node: Source Language\7f10840
+Node: Compatibility\7f12852
+Node: Using Extensions\7f14480
+Node: Standard C\7f16056
+Node: Conditional Compilation\7f18459
+Node: Program Behavior\7f19857
+Node: Non-GNU Standards\7f20913
+Node: Semantics\7f23194
+Node: Libraries\7f27913
+Node: Errors\7f29158
+Node: User Interfaces\7f31651
+Node: Graphical Interfaces\7f33256
+Node: Command-Line Interfaces\7f34292
+Node: --version\7f36324
+Node: --help\7f42217
+Node: Option Table\7f42771
+Node: Memory Usage\7f57712
+Node: File Usage\7f58743
+Node: Writing C\7f59493
+Node: Formatting\7f60465
+Node: Comments\7f64754
+Node: Syntactic Conventions\7f68306
+Node: Names\7f71768
+Node: System Portability\7f73980
+Node: CPU Portability\7f76870
+Node: System Functions\7f80782
+Node: Internationalization\7f85979
+Node: Character Set\7f89973
+Node: Quote Characters\7f90786
+Node: Mmap\7f92306
+Node: Documentation\7f93014
+Node: GNU Manuals\7f94120
+Node: Doc Strings and Manuals\7f99858
+Node: Manual Structure Details\7f101411
+Node: License for Manuals\7f102829
+Node: Manual Credits\7f103803
+Node: Printed Manuals\7f104196
+Node: NEWS File\7f104882
+Node: Change Logs\7f105560
+Node: Change Log Concepts\7f106314
+Node: Style of Change Logs\7f108403
+Node: Simple Changes\7f110903
+Node: Conditional Changes\7f112345
+Node: Indicating the Part Changed\7f113767
+Node: Man Pages\7f114294
+Node: Reading other Manuals\7f116606
+Node: Managing Releases\7f117397
+Node: Configuration\7f118178
+Node: Makefile Conventions\7f125898
+Node: Makefile Basics\7f126780
+Node: Utilities in Makefiles\7f129954
+Node: Command Variables\7f132099
+Node: DESTDIR\7f135321
+Node: Directory Variables\7f137470
+Node: Standard Targets\7f151963
+Ref: Standard Targets-Footnote-1\7f165478
+Node: Install Command Categories\7f165578
+Node: Releases\7f170111
+Node: References\7f174038
+Node: GNU Free Documentation License\7f179533
+Node: Index\7f201965
\1f
End Tag Table
This is bfd.info, produced by makeinfo version 4.8 from
-/home/dougkwan/android-tool-src/toolchain/android-toolchain/gdb-6.6/bfd/doc/bfd.texinfo.
+/home/dougkwan/android-tool-src/toolchain/android-toolchain/binutils-2.19/bfd/doc/bfd.texinfo.
START-INFO-DIR-ENTRY
* Bfd: (bfd). The Binary File Descriptor library.
This file documents the BFD library.
- Copyright (C) 1991, 2000, 2001, 2003, 2006 Free Software Foundation,
-Inc.
+ 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 no Invariant Sections, with no Front-Cover Texts, and with no
- Back-Cover Texts. A copy of the license is included in the
-section entitled "GNU Free Documentation License".
+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.
\1f
File: bfd.info, Node: Top, Next: Overview, Prev: (dir), Up: (dir)
void *iostream;
const struct bfd_iovec *iovec;
- /* Is the file descriptor being cached? That is, can it be closed as
- needed, and re-opened when accessed later? */
- bfd_boolean cacheable;
-
- /* Marks whether there was a default target specified when the
- BFD was opened. This is used to select which matching algorithm
- to use to choose the back end. */
- bfd_boolean target_defaulted;
-
/* The caching routines use these to maintain a
least-recently-used list of BFDs. */
struct bfd *lru_prev, *lru_next;
state information on the file here... */
ufile_ptr where;
- /* ... and here: (``once'' means at least once). */
- bfd_boolean opened_once;
-
- /* Set if we have a locally maintained mtime value, rather than
- getting it from the file each time. */
- bfd_boolean mtime_set;
-
/* File modified time, if mtime_set is TRUE. */
long mtime;
/* Format_specific flags. */
flagword flags;
+ /* Values that may appear in the flags field of a BFD. These also
+ appear in the object_flags field of the bfd_target structure, where
+ they indicate the set of flags used by that backend (not all flags
+ are meaningful for all object file formats) (FIXME: at the moment,
+ the object_flags values have mostly just been copied from backend
+ to another, and are not necessarily correct). */
+
+ #define BFD_NO_FLAGS 0x00
+
+ /* BFD contains relocation entries. */
+ #define HAS_RELOC 0x01
+
+ /* BFD is directly executable. */
+ #define EXEC_P 0x02
+
+ /* BFD has line number information (basically used for F_LNNO in a
+ COFF header). */
+ #define HAS_LINENO 0x04
+
+ /* BFD has debugging information. */
+ #define HAS_DEBUG 0x08
+
+ /* BFD has symbols. */
+ #define HAS_SYMS 0x10
+
+ /* BFD has local symbols (basically used for F_LSYMS in a COFF
+ header). */
+ #define HAS_LOCALS 0x20
+
+ /* BFD is a dynamic object. */
+ #define DYNAMIC 0x40
+
+ /* Text section is write protected (if D_PAGED is not set, this is
+ like an a.out NMAGIC file) (the linker sets this by default, but
+ clears it for -r or -N). */
+ #define WP_TEXT 0x80
+
+ /* BFD is dynamically paged (this is like an a.out ZMAGIC file) (the
+ linker sets this by default, but clears it for -r or -n or -N). */
+ #define D_PAGED 0x100
+
+ /* BFD is relaxable (this means that bfd_relax_section may be able to
+ do something) (sometimes bfd_relax_section can do something even if
+ this is not set). */
+ #define BFD_IS_RELAXABLE 0x200
+
+ /* This may be set before writing out a BFD to request using a
+ traditional format. For example, this is used to request that when
+ writing out an a.out object the symbols not be hashed to eliminate
+ duplicates. */
+ #define BFD_TRADITIONAL_FORMAT 0x400
+
+ /* This flag indicates that the BFD contents are actually cached
+ in memory. If this is set, iostream points to a bfd_in_memory
+ struct. */
+ #define BFD_IN_MEMORY 0x800
+
+ /* The sections in this BFD specify a memory page. */
+ #define HAS_LOAD_PAGE 0x1000
+
+ /* This BFD has been created by the linker and doesn't correspond
+ to any input file. */
+ #define BFD_LINKER_CREATED 0x2000
+
/* Currently my_archive is tested before adding origin to
anything. I believe that this can become always an add of
origin, with origin set to 0 for non archive files. */
ufile_ptr origin;
- /* Remember when output has begun, to stop strange things
- from happening. */
- bfd_boolean output_has_begun;
+ /* The origin in the archive of the proxy entry. This will
+ normally be the same as origin, except for thin archives,
+ when it will contain the current offset of the proxy in the
+ thin archive rather than the offset of the bfd in its actual
+ container. */
+ ufile_ptr proxy_origin;
/* A hash table for section names. */
struct bfd_hash_table section_htab;
/* Used for input and output. */
unsigned int symcount;
- /* Symbol table for output BFD (with symcount entries). */
+ /* Symbol table for output BFD (with symcount entries).
+ Also used by the linker to cache input BFD symbols. */
struct bfd_symbol **outsymbols;
/* Used for slurped dynamic symbol tables. */
/* Pointer to structure which contains architecture information. */
const struct bfd_arch_info *arch_info;
- /* Flag set if symbols from this BFD should not be exported. */
- bfd_boolean no_export;
-
/* Stuff only useful for archives. */
void *arelt_data;
struct bfd *my_archive; /* The containing archive BFD. */
- struct bfd *next; /* The next BFD in the archive. */
+ struct bfd *archive_next; /* The next BFD in the archive. */
struct bfd *archive_head; /* The first BFD in the archive. */
- bfd_boolean has_armap;
+ struct bfd *nested_archives; /* List of nested archive in a flattened
+ thin archive. */
/* A chain of BFD structures involved in a link. */
struct bfd *link_next;
struct objalloc *, but we use void * to avoid requiring the inclusion
of objalloc.h. */
void *memory;
+
+ /* Is the file descriptor being cached? That is, can it be closed as
+ needed, and re-opened when accessed later? */
+ unsigned int cacheable : 1;
+
+ /* Marks whether there was a default target specified when the
+ BFD was opened. This is used to select which matching algorithm
+ to use to choose the back end. */
+ unsigned int target_defaulted : 1;
+
+ /* ... and here: (``once'' means at least once). */
+ unsigned int opened_once : 1;
+
+ /* Set if we have a locally maintained mtime value, rather than
+ getting it from the file each time. */
+ unsigned int mtime_set : 1;
+
+ /* Flag set if symbols from this BFD should not be exported. */
+ unsigned int no_export : 1;
+
+ /* Remember when output has begun, to stop strange things
+ from happening. */
+ unsigned int output_has_begun : 1;
+
+ /* Have archive map. */
+ unsigned int has_armap : 1;
+
+ /* Set if this is a thin archive. */
+ unsigned int is_thin_archive : 1;
};
2.2 Error reporting
For ELF, set the common page size for the emulation. It is a no-op for
other formats.
-2.3.1.24 `struct bfd_iovec'
+2.3.1.24 `bfd_demangle'
+.......................
+
+*Synopsis*
+ char *bfd_demangle (bfd *, const char *, int);
+ *Description*
+Wrapper around cplus_demangle. Strips leading underscores and other
+such chars that would otherwise confuse the demangler. If passed a g++
+v3 ABI mangled name, returns a buffer allocated with malloc holding the
+demangled name. Returns NULL otherwise and on memory alloc failure.
+
+2.3.1.25 `struct bfd_iovec'
...........................
*Description*
int (*bstat) (struct bfd *abfd, struct stat *sb);
};
-2.3.1.25 `bfd_get_mtime'
+2.3.1.26 `bfd_get_mtime'
........................
*Synopsis*
Return the file modification time (as read from the file system, or
from the archive header for archive members).
-2.3.1.26 `bfd_get_size'
+2.3.1.27 `bfd_get_size'
.......................
*Synopsis*
- long bfd_get_size (bfd *abfd);
+ file_ptr bfd_get_size (bfd *abfd);
*Description*
Return the file size (as read from file system) for the file associated
with BFD ABFD.
/* If SEC_LINK_ONCE is set, this bitfield describes how the linker
should handle duplicate sections. */
- #define SEC_LINK_DUPLICATES 0x40000
+ #define SEC_LINK_DUPLICATES 0xc0000
/* This value for SEC_LINK_DUPLICATES means that duplicate
sections with the same name should simply be discarded. */
/* This value for SEC_LINK_DUPLICATES means that the linker
should warn if there are any duplicate sections, although
it should still only link one copy. */
- #define SEC_LINK_DUPLICATES_ONE_ONLY 0x80000
+ #define SEC_LINK_DUPLICATES_ONE_ONLY 0x40000
/* This value for SEC_LINK_DUPLICATES means that the linker
should warn if any duplicate sections are a different size. */
- #define SEC_LINK_DUPLICATES_SAME_SIZE 0x100000
+ #define SEC_LINK_DUPLICATES_SAME_SIZE 0x80000
/* This value for SEC_LINK_DUPLICATES means that the linker
should warn if any duplicate sections contain different
relocation or other arcane processing. It is skipped when
going through the first-pass output, trusting that someone
else up the line will take care of it later. */
- #define SEC_LINKER_CREATED 0x200000
+ #define SEC_LINKER_CREATED 0x100000
/* This section should not be subject to garbage collection.
Also set to inform the linker that this section should not be
listed in the link map as discarded. */
- #define SEC_KEEP 0x400000
+ #define SEC_KEEP 0x200000
/* This section contains "short" data, and should be placed
"near" the GP. */
- #define SEC_SMALL_DATA 0x800000
+ #define SEC_SMALL_DATA 0x400000
/* Attempt to merge identical entities in the section.
Entity size is given in the entsize field. */
- #define SEC_MERGE 0x1000000
+ #define SEC_MERGE 0x800000
/* If given with SEC_MERGE, entities to merge are zero terminated
strings where entsize specifies character size instead of fixed
size entries. */
- #define SEC_STRINGS 0x2000000
+ #define SEC_STRINGS 0x1000000
/* This section contains data about section groups. */
- #define SEC_GROUP 0x4000000
+ #define SEC_GROUP 0x2000000
/* The section is a COFF shared library section. This flag is
only for the linker. If this type of section appears in
might be cleaner to have some more general mechanism to
allow the back end to control what the linker does with
sections. */
- #define SEC_COFF_SHARED_LIBRARY 0x10000000
+ #define SEC_COFF_SHARED_LIBRARY 0x4000000
/* This section contains data which may be shared with other
executables or shared objects. This is for COFF only. */
- #define SEC_COFF_SHARED 0x20000000
+ #define SEC_COFF_SHARED 0x8000000
/* When a section with this flag is being linked, then if the size of
the input section is less than a page, it should not cross a page
boundary. If the size of the input section is one page or more,
it should be aligned on a page boundary. This is for TI
TMS320C54X only. */
- #define SEC_TIC54X_BLOCK 0x40000000
+ #define SEC_TIC54X_BLOCK 0x10000000
/* Conditionally link this section; do not link if there are no
references found to any symbol in the section. This is for TI
TMS320C54X only. */
- #define SEC_TIC54X_CLINK 0x80000000
+ #define SEC_TIC54X_CLINK 0x20000000
/* End of section flags. */
output sections that have an input section. */
unsigned int linker_has_input : 1;
- /* Mark flags used by some linker backends for garbage collection. */
+ /* Mark flag used by some linker backends for garbage collection. */
unsigned int gc_mark : 1;
- unsigned int gc_mark_from_eh : 1;
/* The following flags are used by the ELF linker. */
bfd_size_type size;
/* For input sections, the original size on disk of the section, in
- octets. This field is used by the linker relaxation code. It is
- currently only set for sections where the linker relaxation scheme
- doesn't cache altered section and reloc contents (stabs, eh_frame,
- SEC_MERGE, some coff relaxing targets), and thus the original size
- needs to be kept to read the section multiple times.
- For output sections, rawsize holds the section size calculated on
- a previous linker relaxation pass. */
+ octets. This field should be set for any section whose size is
+ changed by linker relaxation. It is required for sections where
+ the linker relaxation scheme doesn't cache altered section and
+ reloc contents (stabs, eh_frame, SEC_MERGE, some coff relaxing
+ targets), and thus the original size needs to be kept to read the
+ section multiple times. For output sections, rawsize holds the
+ section size calculated on a previous linker relaxation pass. */
bfd_size_type rawsize;
/* If this section is going to be output, then this value is the
/* name, id, index, next, prev, flags, user_set_vma, */ \
{ NAME, IDX, 0, NULL, NULL, FLAGS, 0, \
\
- /* linker_mark, linker_has_input, gc_mark, gc_mark_from_eh, */ \
- 0, 0, 1, 0, \
+ /* linker_mark, linker_has_input, gc_mark, */ \
+ 0, 0, 1, \
\
/* segment_mark, sec_info_type, use_rela_p, has_tls_reloc, */ \
0, 0, 0, 0, \
/* This symbol is thread local. Used in ELF. */
#define BSF_THREAD_LOCAL 0x40000
+ /* This symbol represents a complex relocation expression,
+ with the expression tree serialized in the symbol name. */
+ #define BSF_RELC 0x80000
+
+ /* This symbol represents a signed complex relocation expression,
+ with the expression tree serialized in the symbol name. */
+ #define BSF_SRELC 0x100000
+
+ /* This symbol was created by bfd_get_synthetic_symtab. */
+ #define BSF_SYNTHETIC 0x200000
+
flagword flags;
/* A pointer to the section to which this symbol is
-- : BFD_RELOC_SPARC_UA16
-- : BFD_RELOC_SPARC_UA32
-- : BFD_RELOC_SPARC_UA64
+ -- : BFD_RELOC_SPARC_GOTDATA_HIX22
+ -- : BFD_RELOC_SPARC_GOTDATA_LOX10
+ -- : BFD_RELOC_SPARC_GOTDATA_OP_HIX22
+ -- : BFD_RELOC_SPARC_GOTDATA_OP_LOX10
+ -- : BFD_RELOC_SPARC_GOTDATA_OP
SPARC ELF relocations. There is probably some overlap with other
relocation types already defined.
-- : BFD_RELOC_SPU_PCREL16
-- : BFD_RELOC_SPU_LO16
-- : BFD_RELOC_SPU_HI16
+ -- : BFD_RELOC_SPU_PPU32
+ -- : BFD_RELOC_SPU_PPU64
SPU Relocations.
-- : BFD_RELOC_ALPHA_GPDISP_HI16
-- : BFD_RELOC_LO16_PCREL
Low 16 bits of pc-relative value
+ -- : BFD_RELOC_MIPS16_GOT16
+ -- : BFD_RELOC_MIPS16_CALL16
+ Equivalent of BFD_RELOC_MIPS_*, but with the MIPS16 layout of
+ 16-bit immediate fields
+
-- : BFD_RELOC_MIPS16_HI16
MIPS16 high 16 bits of 32-bit value.
-- : BFD_RELOC_MIPS_COPY
-- : BFD_RELOC_MIPS_JUMP_SLOT
- MIPS ELF relocations (VxWorks extensions).
+ MIPS ELF relocations (VxWorks and PLT extensions).
-- : BFD_RELOC_FRV_LABEL16
-- : BFD_RELOC_FRV_LABEL24
-- : BFD_RELOC_MN10300_RELATIVE
Adjust by program base.
+ -- : BFD_RELOC_MN10300_SYM_DIFF
+ Together with another reloc targeted at the same location, allows
+ for a value that is the difference of two symbols in the same
+ section.
+
+ -- : BFD_RELOC_MN10300_ALIGN
+ The addend of this reloc is an alignment power that must be
+ honoured at the offset's location, regardless of linker relaxation.
+
-- : BFD_RELOC_386_GOT32
-- : BFD_RELOC_386_PLT32
-- : BFD_RELOC_386_COPY
-- : BFD_RELOC_ARM_LDC_SB_G2
ARM group relocations.
+ -- : BFD_RELOC_ARM_V4BX
+ Annotation of BX instructions.
+
-- : BFD_RELOC_ARM_IMMEDIATE
-- : BFD_RELOC_ARM_ADRL_IMMEDIATE
-- : BFD_RELOC_ARM_T32_IMMEDIATE
-- : BFD_RELOC_MCORE_RVA
Motorola Mcore relocations.
+ -- : BFD_RELOC_MEP_8
+ -- : BFD_RELOC_MEP_16
+ -- : BFD_RELOC_MEP_32
+ -- : BFD_RELOC_MEP_PCREL8A2
+ -- : BFD_RELOC_MEP_PCREL12A2
+ -- : BFD_RELOC_MEP_PCREL17A2
+ -- : BFD_RELOC_MEP_PCREL24A2
+ -- : BFD_RELOC_MEP_PCABS24A2
+ -- : BFD_RELOC_MEP_LOW16
+ -- : BFD_RELOC_MEP_HI16U
+ -- : BFD_RELOC_MEP_HI16S
+ -- : BFD_RELOC_MEP_GPREL
+ -- : BFD_RELOC_MEP_TPREL
+ -- : BFD_RELOC_MEP_TPREL7
+ -- : BFD_RELOC_MEP_TPREL7A2
+ -- : BFD_RELOC_MEP_TPREL7A4
+ -- : BFD_RELOC_MEP_UIMM24
+ -- : BFD_RELOC_MEP_ADDR24A4
+ -- : BFD_RELOC_MEP_GNU_VTINHERIT
+ -- : BFD_RELOC_MEP_GNU_VTENTRY
+ Toshiba Media Processor Relocations.
+
-- : BFD_RELOC_MMIX_GETA
-- : BFD_RELOC_MMIX_GETA_1
-- : BFD_RELOC_MMIX_GETA_2
-- : BFD_RELOC_16C_IMM32_C
NS CR16C Relocations.
+ -- : BFD_RELOC_CR16_NUM8
+ -- : BFD_RELOC_CR16_NUM16
+ -- : BFD_RELOC_CR16_NUM32
+ -- : BFD_RELOC_CR16_NUM32a
+ -- : BFD_RELOC_CR16_REGREL0
+ -- : BFD_RELOC_CR16_REGREL4
+ -- : BFD_RELOC_CR16_REGREL4a
+ -- : BFD_RELOC_CR16_REGREL14
+ -- : BFD_RELOC_CR16_REGREL14a
+ -- : BFD_RELOC_CR16_REGREL16
+ -- : BFD_RELOC_CR16_REGREL20
+ -- : BFD_RELOC_CR16_REGREL20a
+ -- : BFD_RELOC_CR16_ABS20
+ -- : BFD_RELOC_CR16_ABS24
+ -- : BFD_RELOC_CR16_IMM4
+ -- : BFD_RELOC_CR16_IMM8
+ -- : BFD_RELOC_CR16_IMM16
+ -- : BFD_RELOC_CR16_IMM20
+ -- : BFD_RELOC_CR16_IMM24
+ -- : BFD_RELOC_CR16_IMM32
+ -- : BFD_RELOC_CR16_IMM32a
+ -- : BFD_RELOC_CR16_DISP4
+ -- : BFD_RELOC_CR16_DISP8
+ -- : BFD_RELOC_CR16_DISP16
+ -- : BFD_RELOC_CR16_DISP20
+ -- : BFD_RELOC_CR16_DISP24
+ -- : BFD_RELOC_CR16_DISP24a
+ -- : BFD_RELOC_CR16_SWITCH8
+ -- : BFD_RELOC_CR16_SWITCH16
+ -- : BFD_RELOC_CR16_SWITCH32
+ NS CR16 Relocations.
+
-- : BFD_RELOC_CRX_REL4
-- : BFD_RELOC_CRX_REL8
-- : BFD_RELOC_CRX_REL8_CMP
-- : BFD_RELOC_XSTORMY16_FPTR16
Sony Xstormy16 Relocations.
+ -- : BFD_RELOC_RELC
+ Self-describing complex relocations.
+
-- : BFD_RELOC_XC16X_PAG
-- : BFD_RELOC_XC16X_POF
-- : BFD_RELOC_XC16X_SEG
assembler-expanded instructions. This is commonly used internally
by the linker after analysis of a BFD_RELOC_XTENSA_ASM_EXPAND.
+ -- : BFD_RELOC_XTENSA_TLSDESC_FN
+ -- : BFD_RELOC_XTENSA_TLSDESC_ARG
+ -- : BFD_RELOC_XTENSA_TLS_DTPOFF
+ -- : BFD_RELOC_XTENSA_TLS_TPOFF
+ -- : BFD_RELOC_XTENSA_TLS_FUNC
+ -- : BFD_RELOC_XTENSA_TLS_ARG
+ -- : BFD_RELOC_XTENSA_TLS_CALL
+ Xtensa TLS relocations.
+
-- : BFD_RELOC_Z80_DISP8
8 bit signed offset in (ix+d) or (iy+d).
*Synopsis*
reloc_howto_type *bfd_reloc_type_lookup
(bfd *abfd, bfd_reloc_code_real_type code);
+ reloc_howto_type *bfd_reloc_name_lookup
+ (bfd *abfd, const char *reloc_name);
*Description*
Return a pointer to a howto structure which, when invoked, will perform
the relocation CODE on data from the architecture noted.
#define BFD_JUMP_TABLE_RELOCS(NAME) \
NAME##_get_reloc_upper_bound, \
NAME##_canonicalize_reloc, \
- NAME##_bfd_reloc_type_lookup
+ NAME##_bfd_reloc_type_lookup, \
+ NAME##_bfd_reloc_name_lookup
long (*_get_reloc_upper_bound) (bfd *, sec_ptr);
long (*_bfd_canonicalize_reloc)
/* See documentation on reloc types. */
reloc_howto_type *
(*reloc_type_lookup) (bfd *, bfd_reloc_code_real_type);
+ reloc_howto_type *
+ (*reloc_name_lookup) (bfd *, const char *);
+
/* Routines used when writing an object file. */
#define BFD_JUMP_TABLE_WRITE(NAME) \
#define bfd_mach_m68040 6
#define bfd_mach_m68060 7
#define bfd_mach_cpu32 8
- #define bfd_mach_mcf_isa_a_nodiv 9
- #define bfd_mach_mcf_isa_a 10
- #define bfd_mach_mcf_isa_a_mac 11
- #define bfd_mach_mcf_isa_a_emac 12
- #define bfd_mach_mcf_isa_aplus 13
- #define bfd_mach_mcf_isa_aplus_mac 14
- #define bfd_mach_mcf_isa_aplus_emac 15
- #define bfd_mach_mcf_isa_b_nousp 16
- #define bfd_mach_mcf_isa_b_nousp_mac 17
- #define bfd_mach_mcf_isa_b_nousp_emac 18
- #define bfd_mach_mcf_isa_b 19
- #define bfd_mach_mcf_isa_b_mac 20
- #define bfd_mach_mcf_isa_b_emac 21
- #define bfd_mach_mcf_isa_b_float 22
- #define bfd_mach_mcf_isa_b_float_mac 23
- #define bfd_mach_mcf_isa_b_float_emac 24
+ #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.
#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_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_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_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. */
file_ptr nbytes,
file_ptr offset),
int (*close) (struct bfd *nbfd,
- void *stream));
+ void *stream),
+ int (*stat) (struct bfd *abfd,
+ void *stream,
+ struct stat *sb));
*Description*
Create and return a BFD backed by a read-only STREAM. The STREAM is
created using OPEN, accessed using PREAD and destroyed using CLOSE.
either succeeds returning 0, or fails returning -1 (setting
`bfd_error').
+ Calls STAT to fill in a stat structure for bfd_stat, bfd_get_size,
+and bfd_get_mtime calls. STAT returns 0 on success, or returns -1 on
+failure (setting `bfd_error').
+
If `bfd_openr_iovec' returns `NULL' then an error has occurred.
Possible errors are `bfd_error_no_memory', `bfd_error_invalid_target'
and `bfd_error_system_call'.
Sometimes the `_bfd_link_add_symbols' function must store some
information in the hash table entry to be used by the `_bfd_final_link'
-function. In such a case the `creator' field of the hash table must be
-checked to make sure that the hash table was created by an object file
-of the same format.
+function. In such a case the output bfd xvec must be checked to make
+sure that the hash table was created by an object file of the same
+format.
The `_bfd_final_link' routine must be prepared to handle a hash
entry without any extra information added by the
the hash table entry initialization function.
See `ecoff_link_add_externals' for an example of how to check the
-`creator' field before saving information (in this case, the ECOFF
-external symbol debugging information) in a hash table entry.
+output bfd before saving information (in this case, the ECOFF external
+symbol debugging information) in a hash table entry.
\1f
File: bfd.info, Node: Adding symbols from an object file, Next: Adding symbols from an archive, Prev: Differing file formats, Up: Adding Symbols to the Hash Table
bfd_boolean (*_bfd_coff_final_link_postscript)
(bfd *, struct coff_final_link_info *);
+ bfd_boolean (*_bfd_coff_print_pdata)
+ (bfd *, void *);
+
} bfd_coff_backend_data;
#define coff_backend_info(abfd) \
#define bfd_coff_final_link_postscript(a,p) \
((coff_backend_info (a)->_bfd_coff_final_link_postscript) (a, p))
+ #define bfd_coff_have_print_pdata(a) \
+ (coff_backend_info (a)->_bfd_coff_print_pdata)
+ #define bfd_coff_print_pdata(a,p) \
+ ((coff_backend_info (a)->_bfd_coff_print_pdata) (a, p))
+
3.3.2.7 Writing relocations
...........................
* BFD: Overview. (line 6)
* BFD canonical format: Canonical format. (line 11)
* bfd_alloc: Opening and Closing.
- (line 203)
+ (line 210)
* bfd_alloc2: Opening and Closing.
- (line 212)
-* bfd_alt_mach_code: BFD front end. (line 602)
-* bfd_arch_bits_per_address: Architectures. (line 481)
-* bfd_arch_bits_per_byte: Architectures. (line 473)
-* bfd_arch_get_compatible: Architectures. (line 416)
-* bfd_arch_list: Architectures. (line 407)
-* bfd_arch_mach_octets_per_byte: Architectures. (line 550)
-* BFD_ARELOC_BFIN_ADD: howto manager. (line 942)
-* BFD_ARELOC_BFIN_ADDR: howto manager. (line 993)
-* BFD_ARELOC_BFIN_AND: howto manager. (line 963)
-* BFD_ARELOC_BFIN_COMP: howto manager. (line 984)
-* BFD_ARELOC_BFIN_CONST: howto manager. (line 939)
-* BFD_ARELOC_BFIN_DIV: howto manager. (line 951)
-* BFD_ARELOC_BFIN_HWPAGE: howto manager. (line 990)
-* BFD_ARELOC_BFIN_LAND: howto manager. (line 972)
-* BFD_ARELOC_BFIN_LEN: howto manager. (line 978)
-* BFD_ARELOC_BFIN_LOR: howto manager. (line 975)
-* BFD_ARELOC_BFIN_LSHIFT: howto manager. (line 957)
-* BFD_ARELOC_BFIN_MOD: howto manager. (line 954)
-* BFD_ARELOC_BFIN_MULT: howto manager. (line 948)
-* BFD_ARELOC_BFIN_NEG: howto manager. (line 981)
-* BFD_ARELOC_BFIN_OR: howto manager. (line 966)
-* BFD_ARELOC_BFIN_PAGE: howto manager. (line 987)
-* BFD_ARELOC_BFIN_PUSH: howto manager. (line 936)
-* BFD_ARELOC_BFIN_RSHIFT: howto manager. (line 960)
-* BFD_ARELOC_BFIN_SUB: howto manager. (line 945)
-* BFD_ARELOC_BFIN_XOR: howto manager. (line 969)
+ (line 219)
+* bfd_alt_mach_code: BFD front end. (line 681)
+* bfd_arch_bits_per_address: Architectures. (line 501)
+* bfd_arch_bits_per_byte: Architectures. (line 493)
+* bfd_arch_get_compatible: Architectures. (line 436)
+* bfd_arch_list: Architectures. (line 427)
+* bfd_arch_mach_octets_per_byte: Architectures. (line 570)
+* BFD_ARELOC_BFIN_ADD: howto manager. (line 966)
+* BFD_ARELOC_BFIN_ADDR: howto manager. (line 1017)
+* BFD_ARELOC_BFIN_AND: howto manager. (line 987)
+* BFD_ARELOC_BFIN_COMP: howto manager. (line 1008)
+* BFD_ARELOC_BFIN_CONST: howto manager. (line 963)
+* BFD_ARELOC_BFIN_DIV: howto manager. (line 975)
+* BFD_ARELOC_BFIN_HWPAGE: howto manager. (line 1014)
+* BFD_ARELOC_BFIN_LAND: howto manager. (line 996)
+* BFD_ARELOC_BFIN_LEN: howto manager. (line 1002)
+* BFD_ARELOC_BFIN_LOR: howto manager. (line 999)
+* BFD_ARELOC_BFIN_LSHIFT: howto manager. (line 981)
+* BFD_ARELOC_BFIN_MOD: howto manager. (line 978)
+* BFD_ARELOC_BFIN_MULT: howto manager. (line 972)
+* BFD_ARELOC_BFIN_NEG: howto manager. (line 1005)
+* BFD_ARELOC_BFIN_OR: howto manager. (line 990)
+* BFD_ARELOC_BFIN_PAGE: howto manager. (line 1011)
+* BFD_ARELOC_BFIN_PUSH: howto manager. (line 960)
+* BFD_ARELOC_BFIN_RSHIFT: howto manager. (line 984)
+* BFD_ARELOC_BFIN_SUB: howto manager. (line 969)
+* BFD_ARELOC_BFIN_XOR: howto manager. (line 993)
* bfd_cache_close: File Caching. (line 26)
* bfd_cache_close_all: File Caching. (line 39)
* bfd_cache_init: File Caching. (line 18)
* bfd_calc_gnu_debuglink_crc32: Opening and Closing.
- (line 239)
-* bfd_canonicalize_reloc: BFD front end. (line 321)
+ (line 246)
+* bfd_canonicalize_reloc: BFD front end. (line 400)
* bfd_canonicalize_symtab: symbol handling functions.
(line 50)
* bfd_check_format: Formats. (line 21)
* bfd_check_format_matches: Formats. (line 52)
* bfd_check_overflow: typedef arelent. (line 351)
* bfd_close: Opening and Closing.
- (line 128)
+ (line 135)
* bfd_close_all_done: Opening and Closing.
- (line 146)
+ (line 153)
* bfd_coff_backend_data: coff. (line 246)
-* bfd_copy_private_bfd_data: BFD front end. (line 460)
-* bfd_copy_private_header_data: BFD front end. (line 442)
+* bfd_copy_private_bfd_data: BFD front end. (line 539)
+* bfd_copy_private_header_data: BFD front end. (line 521)
* bfd_copy_private_section_data: section prototypes. (line 255)
* bfd_copy_private_symbol_data: symbol handling functions.
(line 140)
* bfd_core_file_failing_command: Core Files. (line 12)
* bfd_core_file_failing_signal: Core Files. (line 21)
* bfd_create: Opening and Closing.
- (line 165)
+ (line 172)
* bfd_create_gnu_debuglink_section: Opening and Closing.
- (line 305)
+ (line 312)
* bfd_decode_symclass: symbol handling functions.
(line 111)
-* bfd_default_arch_struct: Architectures. (line 428)
-* bfd_default_compatible: Architectures. (line 490)
-* bfd_default_reloc_type_lookup: howto manager. (line 2023)
-* bfd_default_scan: Architectures. (line 499)
-* bfd_default_set_arch_mach: Architectures. (line 446)
+* bfd_default_arch_struct: Architectures. (line 448)
+* bfd_default_compatible: Architectures. (line 510)
+* bfd_default_reloc_type_lookup: howto manager. (line 2115)
+* bfd_default_scan: Architectures. (line 519)
+* bfd_default_set_arch_mach: Architectures. (line 466)
+* bfd_demangle: BFD front end. (line 779)
* bfd_elf_find_section: elf. (line 13)
-* bfd_emul_get_commonpagesize: BFD front end. (line 680)
-* bfd_emul_get_maxpagesize: BFD front end. (line 660)
-* bfd_emul_set_commonpagesize: BFD front end. (line 691)
-* bfd_emul_set_maxpagesize: BFD front end. (line 671)
-* bfd_errmsg: BFD front end. (line 246)
+* bfd_emul_get_commonpagesize: BFD front end. (line 759)
+* bfd_emul_get_maxpagesize: BFD front end. (line 739)
+* bfd_emul_set_commonpagesize: BFD front end. (line 770)
+* bfd_emul_set_maxpagesize: BFD front end. (line 750)
+* bfd_errmsg: BFD front end. (line 325)
* bfd_fdopenr: Opening and Closing.
(line 46)
* bfd_fill_in_gnu_debuglink_section: Opening and Closing.
- (line 319)
-* bfd_find_target: bfd_target. (line 435)
+ (line 326)
+* bfd_find_target: bfd_target. (line 439)
* bfd_follow_gnu_debuglink: Opening and Closing.
- (line 284)
+ (line 291)
* bfd_fopen: Opening and Closing.
(line 9)
* bfd_format_string: Formats. (line 79)
* bfd_generic_discard_group: section prototypes. (line 281)
-* bfd_generic_gc_sections: howto manager. (line 2054)
-* bfd_generic_get_relocated_section_contents: howto manager. (line 2074)
+* bfd_generic_gc_sections: howto manager. (line 2146)
+* bfd_generic_get_relocated_section_contents: howto manager. (line 2166)
* bfd_generic_is_group_section: section prototypes. (line 273)
-* bfd_generic_merge_sections: howto manager. (line 2064)
-* bfd_generic_relax_section: howto manager. (line 2041)
-* bfd_get_arch: Architectures. (line 457)
-* bfd_get_arch_info: Architectures. (line 509)
-* bfd_get_arch_size: BFD front end. (line 365)
-* bfd_get_error: BFD front end. (line 227)
-* bfd_get_error_handler: BFD front end. (line 297)
-* bfd_get_gp_size: BFD front end. (line 406)
-* bfd_get_mach: Architectures. (line 465)
-* bfd_get_mtime: BFD front end. (line 730)
+* bfd_generic_merge_sections: howto manager. (line 2156)
+* bfd_generic_relax_section: howto manager. (line 2133)
+* bfd_get_arch: Architectures. (line 477)
+* bfd_get_arch_info: Architectures. (line 529)
+* bfd_get_arch_size: BFD front end. (line 444)
+* bfd_get_error: BFD front end. (line 306)
+* bfd_get_error_handler: BFD front end. (line 376)
+* bfd_get_gp_size: BFD front end. (line 485)
+* bfd_get_mach: Architectures. (line 485)
+* bfd_get_mtime: BFD front end. (line 820)
* bfd_get_next_mapent: Archives. (line 52)
-* bfd_get_reloc_code_name: howto manager. (line 2032)
+* bfd_get_reloc_code_name: howto manager. (line 2124)
* bfd_get_reloc_size: typedef arelent. (line 330)
-* bfd_get_reloc_upper_bound: BFD front end. (line 311)
+* bfd_get_reloc_upper_bound: BFD front end. (line 390)
* bfd_get_section_by_name: section prototypes. (line 17)
* bfd_get_section_by_name_if: section prototypes. (line 31)
* bfd_get_section_contents: section prototypes. (line 228)
-* bfd_get_sign_extend_vma: BFD front end. (line 378)
+* bfd_get_sign_extend_vma: BFD front end. (line 457)
* bfd_get_size <1>: Internal. (line 25)
-* bfd_get_size: BFD front end. (line 739)
+* bfd_get_size: BFD front end. (line 829)
* bfd_get_symtab_upper_bound: symbol handling functions.
(line 6)
* bfd_get_unique_section_name: section prototypes. (line 50)
* bfd_link_split_section: Writing the symbol table.
(line 44)
* bfd_log2: Internal. (line 164)
-* bfd_lookup_arch: Architectures. (line 517)
+* bfd_lookup_arch: Architectures. (line 537)
* bfd_make_debug_symbol: symbol handling functions.
(line 102)
* bfd_make_empty_symbol: symbol handling functions.
(line 78)
* bfd_make_readable: Opening and Closing.
- (line 189)
+ (line 196)
* bfd_make_section: section prototypes. (line 129)
* bfd_make_section_anyway: section prototypes. (line 100)
* bfd_make_section_anyway_with_flags: section prototypes. (line 82)
* bfd_make_section_old_way: section prototypes. (line 62)
* bfd_make_section_with_flags: section prototypes. (line 116)
* bfd_make_writable: Opening and Closing.
- (line 175)
+ (line 182)
* bfd_malloc_and_get_section: section prototypes. (line 245)
* bfd_map_over_sections: section prototypes. (line 155)
-* bfd_merge_private_bfd_data: BFD front end. (line 476)
-* bfd_octets_per_byte: Architectures. (line 540)
+* bfd_merge_private_bfd_data: BFD front end. (line 555)
+* bfd_octets_per_byte: Architectures. (line 560)
* bfd_open_file: File Caching. (line 52)
* bfd_openr: Opening and Closing.
(line 30)
* bfd_openstreamr: Opening and Closing.
(line 67)
* bfd_openw: Opening and Closing.
- (line 116)
+ (line 123)
* bfd_perform_relocation: typedef arelent. (line 367)
-* bfd_perror: BFD front end. (line 255)
-* bfd_preserve_finish: BFD front end. (line 650)
-* bfd_preserve_restore: BFD front end. (line 640)
-* bfd_preserve_save: BFD front end. (line 624)
+* bfd_perror: BFD front end. (line 334)
+* bfd_preserve_finish: BFD front end. (line 729)
+* bfd_preserve_restore: BFD front end. (line 719)
+* bfd_preserve_save: BFD front end. (line 703)
* bfd_print_symbol_vandf: symbol handling functions.
(line 70)
-* bfd_printable_arch_mach: Architectures. (line 528)
-* bfd_printable_name: Architectures. (line 388)
+* bfd_printable_arch_mach: Architectures. (line 548)
+* bfd_printable_name: Architectures. (line 408)
* bfd_put_size: Internal. (line 22)
* BFD_RELOC_12_PCREL: howto manager. (line 39)
* BFD_RELOC_14: howto manager. (line 31)
* BFD_RELOC_16_PCREL_S2: howto manager. (line 92)
* BFD_RELOC_16_PLT_PCREL: howto manager. (line 63)
* BFD_RELOC_16_PLTOFF: howto manager. (line 67)
-* BFD_RELOC_16C_ABS20: howto manager. (line 1747)
-* BFD_RELOC_16C_ABS20_C: howto manager. (line 1748)
-* BFD_RELOC_16C_ABS24: howto manager. (line 1749)
-* BFD_RELOC_16C_ABS24_C: howto manager. (line 1750)
-* BFD_RELOC_16C_DISP04: howto manager. (line 1727)
-* BFD_RELOC_16C_DISP04_C: howto manager. (line 1728)
-* BFD_RELOC_16C_DISP08: howto manager. (line 1729)
-* BFD_RELOC_16C_DISP08_C: howto manager. (line 1730)
-* BFD_RELOC_16C_DISP16: howto manager. (line 1731)
-* BFD_RELOC_16C_DISP16_C: howto manager. (line 1732)
-* BFD_RELOC_16C_DISP24: howto manager. (line 1733)
-* BFD_RELOC_16C_DISP24_C: howto manager. (line 1734)
-* BFD_RELOC_16C_DISP24a: howto manager. (line 1735)
-* BFD_RELOC_16C_DISP24a_C: howto manager. (line 1736)
-* BFD_RELOC_16C_IMM04: howto manager. (line 1751)
-* BFD_RELOC_16C_IMM04_C: howto manager. (line 1752)
-* BFD_RELOC_16C_IMM16: howto manager. (line 1753)
-* BFD_RELOC_16C_IMM16_C: howto manager. (line 1754)
-* BFD_RELOC_16C_IMM20: howto manager. (line 1755)
-* BFD_RELOC_16C_IMM20_C: howto manager. (line 1756)
-* BFD_RELOC_16C_IMM24: howto manager. (line 1757)
-* BFD_RELOC_16C_IMM24_C: howto manager. (line 1758)
-* BFD_RELOC_16C_IMM32: howto manager. (line 1759)
-* BFD_RELOC_16C_IMM32_C: howto manager. (line 1760)
-* BFD_RELOC_16C_NUM08: howto manager. (line 1721)
-* BFD_RELOC_16C_NUM08_C: howto manager. (line 1722)
-* BFD_RELOC_16C_NUM16: howto manager. (line 1723)
-* BFD_RELOC_16C_NUM16_C: howto manager. (line 1724)
-* BFD_RELOC_16C_NUM32: howto manager. (line 1725)
-* BFD_RELOC_16C_NUM32_C: howto manager. (line 1726)
-* BFD_RELOC_16C_REG04: howto manager. (line 1737)
-* BFD_RELOC_16C_REG04_C: howto manager. (line 1738)
-* BFD_RELOC_16C_REG04a: howto manager. (line 1739)
-* BFD_RELOC_16C_REG04a_C: howto manager. (line 1740)
-* BFD_RELOC_16C_REG14: howto manager. (line 1741)
-* BFD_RELOC_16C_REG14_C: howto manager. (line 1742)
-* BFD_RELOC_16C_REG16: howto manager. (line 1743)
-* BFD_RELOC_16C_REG16_C: howto manager. (line 1744)
-* BFD_RELOC_16C_REG20: howto manager. (line 1745)
-* BFD_RELOC_16C_REG20_C: howto manager. (line 1746)
+* BFD_RELOC_16C_ABS20: howto manager. (line 1793)
+* BFD_RELOC_16C_ABS20_C: howto manager. (line 1794)
+* BFD_RELOC_16C_ABS24: howto manager. (line 1795)
+* BFD_RELOC_16C_ABS24_C: howto manager. (line 1796)
+* BFD_RELOC_16C_DISP04: howto manager. (line 1773)
+* BFD_RELOC_16C_DISP04_C: howto manager. (line 1774)
+* BFD_RELOC_16C_DISP08: howto manager. (line 1775)
+* BFD_RELOC_16C_DISP08_C: howto manager. (line 1776)
+* BFD_RELOC_16C_DISP16: howto manager. (line 1777)
+* BFD_RELOC_16C_DISP16_C: howto manager. (line 1778)
+* BFD_RELOC_16C_DISP24: howto manager. (line 1779)
+* BFD_RELOC_16C_DISP24_C: howto manager. (line 1780)
+* BFD_RELOC_16C_DISP24a: howto manager. (line 1781)
+* BFD_RELOC_16C_DISP24a_C: howto manager. (line 1782)
+* BFD_RELOC_16C_IMM04: howto manager. (line 1797)
+* BFD_RELOC_16C_IMM04_C: howto manager. (line 1798)
+* BFD_RELOC_16C_IMM16: howto manager. (line 1799)
+* BFD_RELOC_16C_IMM16_C: howto manager. (line 1800)
+* BFD_RELOC_16C_IMM20: howto manager. (line 1801)
+* BFD_RELOC_16C_IMM20_C: howto manager. (line 1802)
+* BFD_RELOC_16C_IMM24: howto manager. (line 1803)
+* BFD_RELOC_16C_IMM24_C: howto manager. (line 1804)
+* BFD_RELOC_16C_IMM32: howto manager. (line 1805)
+* BFD_RELOC_16C_IMM32_C: howto manager. (line 1806)
+* BFD_RELOC_16C_NUM08: howto manager. (line 1767)
+* BFD_RELOC_16C_NUM08_C: howto manager. (line 1768)
+* BFD_RELOC_16C_NUM16: howto manager. (line 1769)
+* BFD_RELOC_16C_NUM16_C: howto manager. (line 1770)
+* BFD_RELOC_16C_NUM32: howto manager. (line 1771)
+* BFD_RELOC_16C_NUM32_C: howto manager. (line 1772)
+* BFD_RELOC_16C_REG04: howto manager. (line 1783)
+* BFD_RELOC_16C_REG04_C: howto manager. (line 1784)
+* BFD_RELOC_16C_REG04a: howto manager. (line 1785)
+* BFD_RELOC_16C_REG04a_C: howto manager. (line 1786)
+* BFD_RELOC_16C_REG14: howto manager. (line 1787)
+* BFD_RELOC_16C_REG14_C: howto manager. (line 1788)
+* BFD_RELOC_16C_REG16: howto manager. (line 1789)
+* BFD_RELOC_16C_REG16_C: howto manager. (line 1790)
+* BFD_RELOC_16C_REG20: howto manager. (line 1791)
+* BFD_RELOC_16C_REG20_C: howto manager. (line 1792)
* BFD_RELOC_23_PCREL_S2: howto manager. (line 93)
* BFD_RELOC_24: howto manager. (line 29)
* BFD_RELOC_24_PCREL: howto manager. (line 37)
* BFD_RELOC_32_PLT_PCREL: howto manager. (line 61)
* BFD_RELOC_32_PLTOFF: howto manager. (line 66)
* BFD_RELOC_32_SECREL: howto manager. (line 48)
-* BFD_RELOC_386_COPY: howto manager. (line 449)
-* BFD_RELOC_386_GLOB_DAT: howto manager. (line 450)
-* BFD_RELOC_386_GOT32: howto manager. (line 447)
-* BFD_RELOC_386_GOTOFF: howto manager. (line 453)
-* BFD_RELOC_386_GOTPC: howto manager. (line 454)
-* BFD_RELOC_386_JUMP_SLOT: howto manager. (line 451)
-* BFD_RELOC_386_PLT32: howto manager. (line 448)
-* BFD_RELOC_386_RELATIVE: howto manager. (line 452)
-* BFD_RELOC_386_TLS_DESC: howto manager. (line 469)
-* BFD_RELOC_386_TLS_DESC_CALL: howto manager. (line 468)
-* BFD_RELOC_386_TLS_DTPMOD32: howto manager. (line 464)
-* BFD_RELOC_386_TLS_DTPOFF32: howto manager. (line 465)
-* BFD_RELOC_386_TLS_GD: howto manager. (line 459)
-* BFD_RELOC_386_TLS_GOTDESC: howto manager. (line 467)
-* BFD_RELOC_386_TLS_GOTIE: howto manager. (line 457)
-* BFD_RELOC_386_TLS_IE: howto manager. (line 456)
-* BFD_RELOC_386_TLS_IE_32: howto manager. (line 462)
-* BFD_RELOC_386_TLS_LDM: howto manager. (line 460)
-* BFD_RELOC_386_TLS_LDO_32: howto manager. (line 461)
-* BFD_RELOC_386_TLS_LE: howto manager. (line 458)
-* BFD_RELOC_386_TLS_LE_32: howto manager. (line 463)
-* BFD_RELOC_386_TLS_TPOFF: howto manager. (line 455)
-* BFD_RELOC_386_TLS_TPOFF32: howto manager. (line 466)
-* BFD_RELOC_390_12: howto manager. (line 1413)
-* BFD_RELOC_390_20: howto manager. (line 1513)
-* BFD_RELOC_390_COPY: howto manager. (line 1422)
-* BFD_RELOC_390_GLOB_DAT: howto manager. (line 1425)
-* BFD_RELOC_390_GOT12: howto manager. (line 1416)
-* BFD_RELOC_390_GOT16: howto manager. (line 1437)
-* BFD_RELOC_390_GOT20: howto manager. (line 1514)
-* BFD_RELOC_390_GOT64: howto manager. (line 1455)
-* BFD_RELOC_390_GOTENT: howto manager. (line 1461)
-* BFD_RELOC_390_GOTOFF64: howto manager. (line 1464)
-* BFD_RELOC_390_GOTPC: howto manager. (line 1434)
-* BFD_RELOC_390_GOTPCDBL: howto manager. (line 1452)
-* BFD_RELOC_390_GOTPLT12: howto manager. (line 1467)
-* BFD_RELOC_390_GOTPLT16: howto manager. (line 1470)
-* BFD_RELOC_390_GOTPLT20: howto manager. (line 1515)
-* BFD_RELOC_390_GOTPLT32: howto manager. (line 1473)
-* BFD_RELOC_390_GOTPLT64: howto manager. (line 1476)
-* BFD_RELOC_390_GOTPLTENT: howto manager. (line 1479)
-* BFD_RELOC_390_JMP_SLOT: howto manager. (line 1428)
-* BFD_RELOC_390_PC16DBL: howto manager. (line 1440)
-* BFD_RELOC_390_PC32DBL: howto manager. (line 1446)
-* BFD_RELOC_390_PLT16DBL: howto manager. (line 1443)
-* BFD_RELOC_390_PLT32: howto manager. (line 1419)
-* BFD_RELOC_390_PLT32DBL: howto manager. (line 1449)
-* BFD_RELOC_390_PLT64: howto manager. (line 1458)
-* BFD_RELOC_390_PLTOFF16: howto manager. (line 1482)
-* BFD_RELOC_390_PLTOFF32: howto manager. (line 1485)
-* BFD_RELOC_390_PLTOFF64: howto manager. (line 1488)
-* BFD_RELOC_390_RELATIVE: howto manager. (line 1431)
-* BFD_RELOC_390_TLS_DTPMOD: howto manager. (line 1508)
-* BFD_RELOC_390_TLS_DTPOFF: howto manager. (line 1509)
-* BFD_RELOC_390_TLS_GD32: howto manager. (line 1494)
-* BFD_RELOC_390_TLS_GD64: howto manager. (line 1495)
-* BFD_RELOC_390_TLS_GDCALL: howto manager. (line 1492)
-* BFD_RELOC_390_TLS_GOTIE12: howto manager. (line 1496)
-* BFD_RELOC_390_TLS_GOTIE20: howto manager. (line 1516)
-* BFD_RELOC_390_TLS_GOTIE32: howto manager. (line 1497)
-* BFD_RELOC_390_TLS_GOTIE64: howto manager. (line 1498)
-* BFD_RELOC_390_TLS_IE32: howto manager. (line 1501)
-* BFD_RELOC_390_TLS_IE64: howto manager. (line 1502)
-* BFD_RELOC_390_TLS_IEENT: howto manager. (line 1503)
-* BFD_RELOC_390_TLS_LDCALL: howto manager. (line 1493)
-* BFD_RELOC_390_TLS_LDM32: howto manager. (line 1499)
-* BFD_RELOC_390_TLS_LDM64: howto manager. (line 1500)
-* BFD_RELOC_390_TLS_LDO32: howto manager. (line 1506)
-* BFD_RELOC_390_TLS_LDO64: howto manager. (line 1507)
-* BFD_RELOC_390_TLS_LE32: howto manager. (line 1504)
-* BFD_RELOC_390_TLS_LE64: howto manager. (line 1505)
-* BFD_RELOC_390_TLS_LOAD: howto manager. (line 1491)
-* BFD_RELOC_390_TLS_TPOFF: howto manager. (line 1510)
+* BFD_RELOC_386_COPY: howto manager. (line 470)
+* BFD_RELOC_386_GLOB_DAT: howto manager. (line 471)
+* BFD_RELOC_386_GOT32: howto manager. (line 468)
+* BFD_RELOC_386_GOTOFF: howto manager. (line 474)
+* BFD_RELOC_386_GOTPC: howto manager. (line 475)
+* BFD_RELOC_386_JUMP_SLOT: howto manager. (line 472)
+* BFD_RELOC_386_PLT32: howto manager. (line 469)
+* BFD_RELOC_386_RELATIVE: howto manager. (line 473)
+* BFD_RELOC_386_TLS_DESC: howto manager. (line 490)
+* BFD_RELOC_386_TLS_DESC_CALL: howto manager. (line 489)
+* BFD_RELOC_386_TLS_DTPMOD32: howto manager. (line 485)
+* BFD_RELOC_386_TLS_DTPOFF32: howto manager. (line 486)
+* BFD_RELOC_386_TLS_GD: howto manager. (line 480)
+* BFD_RELOC_386_TLS_GOTDESC: howto manager. (line 488)
+* BFD_RELOC_386_TLS_GOTIE: howto manager. (line 478)
+* BFD_RELOC_386_TLS_IE: howto manager. (line 477)
+* BFD_RELOC_386_TLS_IE_32: howto manager. (line 483)
+* BFD_RELOC_386_TLS_LDM: howto manager. (line 481)
+* BFD_RELOC_386_TLS_LDO_32: howto manager. (line 482)
+* BFD_RELOC_386_TLS_LE: howto manager. (line 479)
+* BFD_RELOC_386_TLS_LE_32: howto manager. (line 484)
+* BFD_RELOC_386_TLS_TPOFF: howto manager. (line 476)
+* BFD_RELOC_386_TLS_TPOFF32: howto manager. (line 487)
+* BFD_RELOC_390_12: howto manager. (line 1459)
+* BFD_RELOC_390_20: howto manager. (line 1559)
+* BFD_RELOC_390_COPY: howto manager. (line 1468)
+* BFD_RELOC_390_GLOB_DAT: howto manager. (line 1471)
+* BFD_RELOC_390_GOT12: howto manager. (line 1462)
+* BFD_RELOC_390_GOT16: howto manager. (line 1483)
+* BFD_RELOC_390_GOT20: howto manager. (line 1560)
+* BFD_RELOC_390_GOT64: howto manager. (line 1501)
+* BFD_RELOC_390_GOTENT: howto manager. (line 1507)
+* BFD_RELOC_390_GOTOFF64: howto manager. (line 1510)
+* BFD_RELOC_390_GOTPC: howto manager. (line 1480)
+* BFD_RELOC_390_GOTPCDBL: howto manager. (line 1498)
+* BFD_RELOC_390_GOTPLT12: howto manager. (line 1513)
+* BFD_RELOC_390_GOTPLT16: howto manager. (line 1516)
+* BFD_RELOC_390_GOTPLT20: howto manager. (line 1561)
+* BFD_RELOC_390_GOTPLT32: howto manager. (line 1519)
+* BFD_RELOC_390_GOTPLT64: howto manager. (line 1522)
+* BFD_RELOC_390_GOTPLTENT: howto manager. (line 1525)
+* BFD_RELOC_390_JMP_SLOT: howto manager. (line 1474)
+* BFD_RELOC_390_PC16DBL: howto manager. (line 1486)
+* BFD_RELOC_390_PC32DBL: howto manager. (line 1492)
+* BFD_RELOC_390_PLT16DBL: howto manager. (line 1489)
+* BFD_RELOC_390_PLT32: howto manager. (line 1465)
+* BFD_RELOC_390_PLT32DBL: howto manager. (line 1495)
+* BFD_RELOC_390_PLT64: howto manager. (line 1504)
+* BFD_RELOC_390_PLTOFF16: howto manager. (line 1528)
+* BFD_RELOC_390_PLTOFF32: howto manager. (line 1531)
+* BFD_RELOC_390_PLTOFF64: howto manager. (line 1534)
+* BFD_RELOC_390_RELATIVE: howto manager. (line 1477)
+* BFD_RELOC_390_TLS_DTPMOD: howto manager. (line 1554)
+* BFD_RELOC_390_TLS_DTPOFF: howto manager. (line 1555)
+* BFD_RELOC_390_TLS_GD32: howto manager. (line 1540)
+* BFD_RELOC_390_TLS_GD64: howto manager. (line 1541)
+* BFD_RELOC_390_TLS_GDCALL: howto manager. (line 1538)
+* BFD_RELOC_390_TLS_GOTIE12: howto manager. (line 1542)
+* BFD_RELOC_390_TLS_GOTIE20: howto manager. (line 1562)
+* BFD_RELOC_390_TLS_GOTIE32: howto manager. (line 1543)
+* BFD_RELOC_390_TLS_GOTIE64: howto manager. (line 1544)
+* BFD_RELOC_390_TLS_IE32: howto manager. (line 1547)
+* BFD_RELOC_390_TLS_IE64: howto manager. (line 1548)
+* BFD_RELOC_390_TLS_IEENT: howto manager. (line 1549)
+* BFD_RELOC_390_TLS_LDCALL: howto manager. (line 1539)
+* BFD_RELOC_390_TLS_LDM32: howto manager. (line 1545)
+* BFD_RELOC_390_TLS_LDM64: howto manager. (line 1546)
+* BFD_RELOC_390_TLS_LDO32: howto manager. (line 1552)
+* BFD_RELOC_390_TLS_LDO64: howto manager. (line 1553)
+* BFD_RELOC_390_TLS_LE32: howto manager. (line 1550)
+* BFD_RELOC_390_TLS_LE64: howto manager. (line 1551)
+* BFD_RELOC_390_TLS_LOAD: howto manager. (line 1537)
+* BFD_RELOC_390_TLS_TPOFF: howto manager. (line 1556)
* BFD_RELOC_64: howto manager. (line 26)
* BFD_RELOC_64_PCREL: howto manager. (line 35)
* BFD_RELOC_64_PLT_PCREL: howto manager. (line 60)
* BFD_RELOC_68K_JMP_SLOT: howto manager. (line 75)
* BFD_RELOC_68K_RELATIVE: howto manager. (line 76)
* BFD_RELOC_8: howto manager. (line 32)
-* BFD_RELOC_860_COPY: howto manager. (line 1826)
-* BFD_RELOC_860_GLOB_DAT: howto manager. (line 1827)
-* BFD_RELOC_860_HAGOT: howto manager. (line 1852)
-* BFD_RELOC_860_HAGOTOFF: howto manager. (line 1853)
-* BFD_RELOC_860_HAPC: howto manager. (line 1854)
-* BFD_RELOC_860_HIGH: howto manager. (line 1855)
-* BFD_RELOC_860_HIGHADJ: howto manager. (line 1851)
-* BFD_RELOC_860_HIGOT: howto manager. (line 1856)
-* BFD_RELOC_860_HIGOTOFF: howto manager. (line 1857)
-* BFD_RELOC_860_JUMP_SLOT: howto manager. (line 1828)
-* BFD_RELOC_860_LOGOT0: howto manager. (line 1840)
-* BFD_RELOC_860_LOGOT1: howto manager. (line 1842)
-* BFD_RELOC_860_LOGOTOFF0: howto manager. (line 1844)
-* BFD_RELOC_860_LOGOTOFF1: howto manager. (line 1846)
-* BFD_RELOC_860_LOGOTOFF2: howto manager. (line 1848)
-* BFD_RELOC_860_LOGOTOFF3: howto manager. (line 1849)
-* BFD_RELOC_860_LOPC: howto manager. (line 1850)
-* BFD_RELOC_860_LOW0: howto manager. (line 1833)
-* BFD_RELOC_860_LOW1: howto manager. (line 1835)
-* BFD_RELOC_860_LOW2: howto manager. (line 1837)
-* BFD_RELOC_860_LOW3: howto manager. (line 1839)
-* BFD_RELOC_860_PC16: howto manager. (line 1832)
-* BFD_RELOC_860_PC26: howto manager. (line 1830)
-* BFD_RELOC_860_PLT26: howto manager. (line 1831)
-* BFD_RELOC_860_RELATIVE: howto manager. (line 1829)
-* BFD_RELOC_860_SPGOT0: howto manager. (line 1841)
-* BFD_RELOC_860_SPGOT1: howto manager. (line 1843)
-* BFD_RELOC_860_SPGOTOFF0: howto manager. (line 1845)
-* BFD_RELOC_860_SPGOTOFF1: howto manager. (line 1847)
-* BFD_RELOC_860_SPLIT0: howto manager. (line 1834)
-* BFD_RELOC_860_SPLIT1: howto manager. (line 1836)
-* BFD_RELOC_860_SPLIT2: howto manager. (line 1838)
+* BFD_RELOC_860_COPY: howto manager. (line 1904)
+* BFD_RELOC_860_GLOB_DAT: howto manager. (line 1905)
+* BFD_RELOC_860_HAGOT: howto manager. (line 1930)
+* BFD_RELOC_860_HAGOTOFF: howto manager. (line 1931)
+* BFD_RELOC_860_HAPC: howto manager. (line 1932)
+* BFD_RELOC_860_HIGH: howto manager. (line 1933)
+* BFD_RELOC_860_HIGHADJ: howto manager. (line 1929)
+* BFD_RELOC_860_HIGOT: howto manager. (line 1934)
+* BFD_RELOC_860_HIGOTOFF: howto manager. (line 1935)
+* BFD_RELOC_860_JUMP_SLOT: howto manager. (line 1906)
+* BFD_RELOC_860_LOGOT0: howto manager. (line 1918)
+* BFD_RELOC_860_LOGOT1: howto manager. (line 1920)
+* BFD_RELOC_860_LOGOTOFF0: howto manager. (line 1922)
+* BFD_RELOC_860_LOGOTOFF1: howto manager. (line 1924)
+* BFD_RELOC_860_LOGOTOFF2: howto manager. (line 1926)
+* BFD_RELOC_860_LOGOTOFF3: howto manager. (line 1927)
+* BFD_RELOC_860_LOPC: howto manager. (line 1928)
+* BFD_RELOC_860_LOW0: howto manager. (line 1911)
+* BFD_RELOC_860_LOW1: howto manager. (line 1913)
+* BFD_RELOC_860_LOW2: howto manager. (line 1915)
+* BFD_RELOC_860_LOW3: howto manager. (line 1917)
+* BFD_RELOC_860_PC16: howto manager. (line 1910)
+* BFD_RELOC_860_PC26: howto manager. (line 1908)
+* BFD_RELOC_860_PLT26: howto manager. (line 1909)
+* BFD_RELOC_860_RELATIVE: howto manager. (line 1907)
+* BFD_RELOC_860_SPGOT0: howto manager. (line 1919)
+* BFD_RELOC_860_SPGOT1: howto manager. (line 1921)
+* BFD_RELOC_860_SPGOTOFF0: howto manager. (line 1923)
+* BFD_RELOC_860_SPGOTOFF1: howto manager. (line 1925)
+* BFD_RELOC_860_SPLIT0: howto manager. (line 1912)
+* BFD_RELOC_860_SPLIT1: howto manager. (line 1914)
+* BFD_RELOC_860_SPLIT2: howto manager. (line 1916)
* BFD_RELOC_8_BASEREL: howto manager. (line 84)
* BFD_RELOC_8_FFnn: howto manager. (line 88)
* BFD_RELOC_8_GOT_PCREL: howto manager. (line 53)
* BFD_RELOC_8_PCREL: howto manager. (line 40)
* BFD_RELOC_8_PLT_PCREL: howto manager. (line 64)
* BFD_RELOC_8_PLTOFF: howto manager. (line 71)
-* BFD_RELOC_ALPHA_BRSGP: howto manager. (line 273)
-* BFD_RELOC_ALPHA_CODEADDR: howto manager. (line 264)
-* BFD_RELOC_ALPHA_DTPMOD64: howto manager. (line 280)
-* BFD_RELOC_ALPHA_DTPREL16: howto manager. (line 285)
-* BFD_RELOC_ALPHA_DTPREL64: howto manager. (line 282)
-* BFD_RELOC_ALPHA_DTPREL_HI16: howto manager. (line 283)
-* BFD_RELOC_ALPHA_DTPREL_LO16: howto manager. (line 284)
-* BFD_RELOC_ALPHA_ELF_LITERAL: howto manager. (line 229)
-* BFD_RELOC_ALPHA_GOTDTPREL16: howto manager. (line 281)
-* BFD_RELOC_ALPHA_GOTTPREL16: howto manager. (line 286)
-* BFD_RELOC_ALPHA_GPDISP: howto manager. (line 223)
-* BFD_RELOC_ALPHA_GPDISP_HI16: howto manager. (line 209)
-* BFD_RELOC_ALPHA_GPDISP_LO16: howto manager. (line 217)
-* BFD_RELOC_ALPHA_GPREL_HI16: howto manager. (line 268)
-* BFD_RELOC_ALPHA_GPREL_LO16: howto manager. (line 269)
-* BFD_RELOC_ALPHA_HINT: howto manager. (line 255)
-* BFD_RELOC_ALPHA_LINKAGE: howto manager. (line 260)
-* BFD_RELOC_ALPHA_LITERAL: howto manager. (line 228)
-* BFD_RELOC_ALPHA_LITUSE: howto manager. (line 230)
-* BFD_RELOC_ALPHA_TLSGD: howto manager. (line 278)
-* BFD_RELOC_ALPHA_TLSLDM: howto manager. (line 279)
-* BFD_RELOC_ALPHA_TPREL16: howto manager. (line 290)
-* BFD_RELOC_ALPHA_TPREL64: howto manager. (line 287)
-* BFD_RELOC_ALPHA_TPREL_HI16: howto manager. (line 288)
-* BFD_RELOC_ALPHA_TPREL_LO16: howto manager. (line 289)
-* BFD_RELOC_ARC_B22_PCREL: howto manager. (line 871)
-* BFD_RELOC_ARC_B26: howto manager. (line 876)
-* BFD_RELOC_ARM_ADR_IMM: howto manager. (line 764)
-* BFD_RELOC_ARM_ADRL_IMMEDIATE: howto manager. (line 751)
-* BFD_RELOC_ARM_ALU_PC_G0: howto manager. (line 721)
-* BFD_RELOC_ARM_ALU_PC_G0_NC: howto manager. (line 720)
-* BFD_RELOC_ARM_ALU_PC_G1: howto manager. (line 723)
-* BFD_RELOC_ARM_ALU_PC_G1_NC: howto manager. (line 722)
-* BFD_RELOC_ARM_ALU_PC_G2: howto manager. (line 724)
-* BFD_RELOC_ARM_ALU_SB_G0: howto manager. (line 735)
-* BFD_RELOC_ARM_ALU_SB_G0_NC: howto manager. (line 734)
-* BFD_RELOC_ARM_ALU_SB_G1: howto manager. (line 737)
-* BFD_RELOC_ARM_ALU_SB_G1_NC: howto manager. (line 736)
-* BFD_RELOC_ARM_ALU_SB_G2: howto manager. (line 738)
-* BFD_RELOC_ARM_CP_OFF_IMM: howto manager. (line 760)
-* BFD_RELOC_ARM_CP_OFF_IMM_S2: howto manager. (line 761)
-* BFD_RELOC_ARM_GLOB_DAT: howto manager. (line 702)
-* BFD_RELOC_ARM_GOT32: howto manager. (line 703)
-* BFD_RELOC_ARM_GOTOFF: howto manager. (line 706)
-* BFD_RELOC_ARM_GOTPC: howto manager. (line 707)
-* BFD_RELOC_ARM_HWLITERAL: howto manager. (line 771)
-* BFD_RELOC_ARM_IMMEDIATE: howto manager. (line 750)
-* BFD_RELOC_ARM_IN_POOL: howto manager. (line 767)
-* BFD_RELOC_ARM_JUMP_SLOT: howto manager. (line 701)
-* BFD_RELOC_ARM_LDC_PC_G0: howto manager. (line 731)
-* BFD_RELOC_ARM_LDC_PC_G1: howto manager. (line 732)
-* BFD_RELOC_ARM_LDC_PC_G2: howto manager. (line 733)
-* BFD_RELOC_ARM_LDC_SB_G0: howto manager. (line 745)
-* BFD_RELOC_ARM_LDC_SB_G1: howto manager. (line 746)
-* BFD_RELOC_ARM_LDC_SB_G2: howto manager. (line 747)
-* BFD_RELOC_ARM_LDR_IMM: howto manager. (line 765)
-* BFD_RELOC_ARM_LDR_PC_G0: howto manager. (line 725)
-* BFD_RELOC_ARM_LDR_PC_G1: howto manager. (line 726)
-* BFD_RELOC_ARM_LDR_PC_G2: howto manager. (line 727)
-* BFD_RELOC_ARM_LDR_SB_G0: howto manager. (line 739)
-* BFD_RELOC_ARM_LDR_SB_G1: howto manager. (line 740)
-* BFD_RELOC_ARM_LDR_SB_G2: howto manager. (line 741)
-* BFD_RELOC_ARM_LDRS_PC_G0: howto manager. (line 728)
-* BFD_RELOC_ARM_LDRS_PC_G1: howto manager. (line 729)
-* BFD_RELOC_ARM_LDRS_PC_G2: howto manager. (line 730)
-* BFD_RELOC_ARM_LDRS_SB_G0: howto manager. (line 742)
-* BFD_RELOC_ARM_LDRS_SB_G1: howto manager. (line 743)
-* BFD_RELOC_ARM_LDRS_SB_G2: howto manager. (line 744)
-* BFD_RELOC_ARM_LITERAL: howto manager. (line 766)
-* BFD_RELOC_ARM_MOVT: howto manager. (line 692)
-* BFD_RELOC_ARM_MOVT_PCREL: howto manager. (line 694)
-* BFD_RELOC_ARM_MOVW: howto manager. (line 691)
-* BFD_RELOC_ARM_MOVW_PCREL: howto manager. (line 693)
-* BFD_RELOC_ARM_MULTI: howto manager. (line 759)
-* BFD_RELOC_ARM_OFFSET_IMM: howto manager. (line 665)
-* BFD_RELOC_ARM_OFFSET_IMM8: howto manager. (line 768)
-* BFD_RELOC_ARM_PCREL_BLX: howto manager. (line 636)
-* BFD_RELOC_ARM_PCREL_BRANCH: howto manager. (line 632)
-* BFD_RELOC_ARM_PCREL_CALL: howto manager. (line 646)
-* BFD_RELOC_ARM_PCREL_JUMP: howto manager. (line 650)
-* BFD_RELOC_ARM_PLT32: howto manager. (line 704)
-* BFD_RELOC_ARM_PREL31: howto manager. (line 688)
-* BFD_RELOC_ARM_RELATIVE: howto manager. (line 705)
-* BFD_RELOC_ARM_ROSEGREL32: howto manager. (line 677)
-* BFD_RELOC_ARM_SBREL32: howto manager. (line 680)
-* BFD_RELOC_ARM_SHIFT_IMM: howto manager. (line 756)
-* BFD_RELOC_ARM_SMC: howto manager. (line 757)
-* BFD_RELOC_ARM_SWI: howto manager. (line 758)
-* BFD_RELOC_ARM_T32_ADD_IMM: howto manager. (line 753)
-* BFD_RELOC_ARM_T32_ADD_PC12: howto manager. (line 755)
-* BFD_RELOC_ARM_T32_CP_OFF_IMM: howto manager. (line 762)
-* BFD_RELOC_ARM_T32_CP_OFF_IMM_S2: howto manager. (line 763)
-* BFD_RELOC_ARM_T32_IMM12: howto manager. (line 754)
-* BFD_RELOC_ARM_T32_IMMEDIATE: howto manager. (line 752)
-* BFD_RELOC_ARM_T32_OFFSET_IMM: howto manager. (line 770)
-* BFD_RELOC_ARM_T32_OFFSET_U8: howto manager. (line 769)
-* BFD_RELOC_ARM_TARGET1: howto manager. (line 673)
-* BFD_RELOC_ARM_TARGET2: howto manager. (line 683)
-* BFD_RELOC_ARM_THUMB_ADD: howto manager. (line 772)
-* BFD_RELOC_ARM_THUMB_IMM: howto manager. (line 773)
-* BFD_RELOC_ARM_THUMB_MOVT: howto manager. (line 696)
-* BFD_RELOC_ARM_THUMB_MOVT_PCREL: howto manager. (line 698)
-* BFD_RELOC_ARM_THUMB_MOVW: howto manager. (line 695)
-* BFD_RELOC_ARM_THUMB_MOVW_PCREL: howto manager. (line 697)
-* BFD_RELOC_ARM_THUMB_OFFSET: howto manager. (line 669)
-* BFD_RELOC_ARM_THUMB_SHIFT: howto manager. (line 774)
-* BFD_RELOC_ARM_TLS_DTPMOD32: howto manager. (line 714)
-* BFD_RELOC_ARM_TLS_DTPOFF32: howto manager. (line 713)
-* BFD_RELOC_ARM_TLS_GD32: howto manager. (line 710)
-* BFD_RELOC_ARM_TLS_IE32: howto manager. (line 716)
-* BFD_RELOC_ARM_TLS_LDM32: howto manager. (line 712)
-* BFD_RELOC_ARM_TLS_LDO32: howto manager. (line 711)
-* BFD_RELOC_ARM_TLS_LE32: howto manager. (line 717)
-* BFD_RELOC_ARM_TLS_TPOFF32: howto manager. (line 715)
-* BFD_RELOC_AVR_13_PCREL: howto manager. (line 1314)
-* BFD_RELOC_AVR_16_PM: howto manager. (line 1318)
-* BFD_RELOC_AVR_6: howto manager. (line 1405)
-* BFD_RELOC_AVR_6_ADIW: howto manager. (line 1409)
-* BFD_RELOC_AVR_7_PCREL: howto manager. (line 1310)
-* BFD_RELOC_AVR_CALL: howto manager. (line 1397)
-* BFD_RELOC_AVR_HH8_LDI: howto manager. (line 1330)
-* BFD_RELOC_AVR_HH8_LDI_NEG: howto manager. (line 1349)
-* BFD_RELOC_AVR_HH8_LDI_PM: howto manager. (line 1378)
-* BFD_RELOC_AVR_HH8_LDI_PM_NEG: howto manager. (line 1392)
-* BFD_RELOC_AVR_HI8_LDI: howto manager. (line 1326)
-* BFD_RELOC_AVR_HI8_LDI_GS: howto manager. (line 1372)
-* BFD_RELOC_AVR_HI8_LDI_NEG: howto manager. (line 1344)
-* BFD_RELOC_AVR_HI8_LDI_PM: howto manager. (line 1368)
-* BFD_RELOC_AVR_HI8_LDI_PM_NEG: howto manager. (line 1387)
-* BFD_RELOC_AVR_LDI: howto manager. (line 1401)
-* BFD_RELOC_AVR_LO8_LDI: howto manager. (line 1322)
-* BFD_RELOC_AVR_LO8_LDI_GS: howto manager. (line 1362)
-* BFD_RELOC_AVR_LO8_LDI_NEG: howto manager. (line 1339)
-* BFD_RELOC_AVR_LO8_LDI_PM: howto manager. (line 1358)
-* BFD_RELOC_AVR_LO8_LDI_PM_NEG: howto manager. (line 1383)
-* BFD_RELOC_AVR_MS8_LDI: howto manager. (line 1335)
-* BFD_RELOC_AVR_MS8_LDI_NEG: howto manager. (line 1354)
-* BFD_RELOC_BFIN_10_PCREL: howto manager. (line 896)
-* BFD_RELOC_BFIN_11_PCREL: howto manager. (line 899)
-* BFD_RELOC_BFIN_12_PCREL_JUMP: howto manager. (line 902)
-* BFD_RELOC_BFIN_12_PCREL_JUMP_S: howto manager. (line 905)
-* BFD_RELOC_BFIN_16_HIGH: howto manager. (line 884)
-* BFD_RELOC_BFIN_16_IMM: howto manager. (line 881)
-* BFD_RELOC_BFIN_16_LOW: howto manager. (line 893)
-* BFD_RELOC_BFIN_24_PCREL_CALL_X: howto manager. (line 908)
-* BFD_RELOC_BFIN_24_PCREL_JUMP_L: howto manager. (line 911)
-* BFD_RELOC_BFIN_4_PCREL: howto manager. (line 887)
-* BFD_RELOC_BFIN_5_PCREL: howto manager. (line 890)
-* BFD_RELOC_BFIN_FUNCDESC: howto manager. (line 917)
-* BFD_RELOC_BFIN_FUNCDESC_GOT17M4: howto manager. (line 918)
-* BFD_RELOC_BFIN_FUNCDESC_GOTHI: howto manager. (line 919)
-* BFD_RELOC_BFIN_FUNCDESC_GOTLO: howto manager. (line 920)
-* BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4: howto manager. (line 922)
-* BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI: howto manager. (line 923)
-* BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO: howto manager. (line 924)
-* BFD_RELOC_BFIN_FUNCDESC_VALUE: howto manager. (line 921)
-* BFD_RELOC_BFIN_GOT: howto manager. (line 930)
-* BFD_RELOC_BFIN_GOT17M4: howto manager. (line 914)
-* BFD_RELOC_BFIN_GOTHI: howto manager. (line 915)
-* BFD_RELOC_BFIN_GOTLO: howto manager. (line 916)
-* BFD_RELOC_BFIN_GOTOFF17M4: howto manager. (line 925)
-* BFD_RELOC_BFIN_GOTOFFHI: howto manager. (line 926)
-* BFD_RELOC_BFIN_GOTOFFLO: howto manager. (line 927)
-* BFD_RELOC_BFIN_PLTPC: howto manager. (line 933)
+* BFD_RELOC_ALPHA_BRSGP: howto manager. (line 280)
+* BFD_RELOC_ALPHA_CODEADDR: howto manager. (line 271)
+* BFD_RELOC_ALPHA_DTPMOD64: howto manager. (line 287)
+* BFD_RELOC_ALPHA_DTPREL16: howto manager. (line 292)
+* BFD_RELOC_ALPHA_DTPREL64: howto manager. (line 289)
+* BFD_RELOC_ALPHA_DTPREL_HI16: howto manager. (line 290)
+* BFD_RELOC_ALPHA_DTPREL_LO16: howto manager. (line 291)
+* BFD_RELOC_ALPHA_ELF_LITERAL: howto manager. (line 236)
+* BFD_RELOC_ALPHA_GOTDTPREL16: howto manager. (line 288)
+* BFD_RELOC_ALPHA_GOTTPREL16: howto manager. (line 293)
+* BFD_RELOC_ALPHA_GPDISP: howto manager. (line 230)
+* BFD_RELOC_ALPHA_GPDISP_HI16: howto manager. (line 216)
+* BFD_RELOC_ALPHA_GPDISP_LO16: howto manager. (line 224)
+* BFD_RELOC_ALPHA_GPREL_HI16: howto manager. (line 275)
+* BFD_RELOC_ALPHA_GPREL_LO16: howto manager. (line 276)
+* BFD_RELOC_ALPHA_HINT: howto manager. (line 262)
+* BFD_RELOC_ALPHA_LINKAGE: howto manager. (line 267)
+* BFD_RELOC_ALPHA_LITERAL: howto manager. (line 235)
+* BFD_RELOC_ALPHA_LITUSE: howto manager. (line 237)
+* BFD_RELOC_ALPHA_TLSGD: howto manager. (line 285)
+* BFD_RELOC_ALPHA_TLSLDM: howto manager. (line 286)
+* BFD_RELOC_ALPHA_TPREL16: howto manager. (line 297)
+* BFD_RELOC_ALPHA_TPREL64: howto manager. (line 294)
+* BFD_RELOC_ALPHA_TPREL_HI16: howto manager. (line 295)
+* BFD_RELOC_ALPHA_TPREL_LO16: howto manager. (line 296)
+* BFD_RELOC_ARC_B22_PCREL: howto manager. (line 895)
+* BFD_RELOC_ARC_B26: howto manager. (line 900)
+* BFD_RELOC_ARM_ADR_IMM: howto manager. (line 788)
+* BFD_RELOC_ARM_ADRL_IMMEDIATE: howto manager. (line 775)
+* BFD_RELOC_ARM_ALU_PC_G0: howto manager. (line 742)
+* BFD_RELOC_ARM_ALU_PC_G0_NC: howto manager. (line 741)
+* BFD_RELOC_ARM_ALU_PC_G1: howto manager. (line 744)
+* BFD_RELOC_ARM_ALU_PC_G1_NC: howto manager. (line 743)
+* BFD_RELOC_ARM_ALU_PC_G2: howto manager. (line 745)
+* BFD_RELOC_ARM_ALU_SB_G0: howto manager. (line 756)
+* BFD_RELOC_ARM_ALU_SB_G0_NC: howto manager. (line 755)
+* BFD_RELOC_ARM_ALU_SB_G1: howto manager. (line 758)
+* BFD_RELOC_ARM_ALU_SB_G1_NC: howto manager. (line 757)
+* BFD_RELOC_ARM_ALU_SB_G2: howto manager. (line 759)
+* BFD_RELOC_ARM_CP_OFF_IMM: howto manager. (line 784)
+* BFD_RELOC_ARM_CP_OFF_IMM_S2: howto manager. (line 785)
+* BFD_RELOC_ARM_GLOB_DAT: howto manager. (line 723)
+* BFD_RELOC_ARM_GOT32: howto manager. (line 724)
+* BFD_RELOC_ARM_GOTOFF: howto manager. (line 727)
+* BFD_RELOC_ARM_GOTPC: howto manager. (line 728)
+* BFD_RELOC_ARM_HWLITERAL: howto manager. (line 795)
+* BFD_RELOC_ARM_IMMEDIATE: howto manager. (line 774)
+* BFD_RELOC_ARM_IN_POOL: howto manager. (line 791)
+* BFD_RELOC_ARM_JUMP_SLOT: howto manager. (line 722)
+* BFD_RELOC_ARM_LDC_PC_G0: howto manager. (line 752)
+* BFD_RELOC_ARM_LDC_PC_G1: howto manager. (line 753)
+* BFD_RELOC_ARM_LDC_PC_G2: howto manager. (line 754)
+* BFD_RELOC_ARM_LDC_SB_G0: howto manager. (line 766)
+* BFD_RELOC_ARM_LDC_SB_G1: howto manager. (line 767)
+* BFD_RELOC_ARM_LDC_SB_G2: howto manager. (line 768)
+* BFD_RELOC_ARM_LDR_IMM: howto manager. (line 789)
+* BFD_RELOC_ARM_LDR_PC_G0: howto manager. (line 746)
+* BFD_RELOC_ARM_LDR_PC_G1: howto manager. (line 747)
+* BFD_RELOC_ARM_LDR_PC_G2: howto manager. (line 748)
+* BFD_RELOC_ARM_LDR_SB_G0: howto manager. (line 760)
+* BFD_RELOC_ARM_LDR_SB_G1: howto manager. (line 761)
+* BFD_RELOC_ARM_LDR_SB_G2: howto manager. (line 762)
+* BFD_RELOC_ARM_LDRS_PC_G0: howto manager. (line 749)
+* BFD_RELOC_ARM_LDRS_PC_G1: howto manager. (line 750)
+* BFD_RELOC_ARM_LDRS_PC_G2: howto manager. (line 751)
+* BFD_RELOC_ARM_LDRS_SB_G0: howto manager. (line 763)
+* BFD_RELOC_ARM_LDRS_SB_G1: howto manager. (line 764)
+* BFD_RELOC_ARM_LDRS_SB_G2: howto manager. (line 765)
+* BFD_RELOC_ARM_LITERAL: howto manager. (line 790)
+* BFD_RELOC_ARM_MOVT: howto manager. (line 713)
+* BFD_RELOC_ARM_MOVT_PCREL: howto manager. (line 715)
+* BFD_RELOC_ARM_MOVW: howto manager. (line 712)
+* BFD_RELOC_ARM_MOVW_PCREL: howto manager. (line 714)
+* BFD_RELOC_ARM_MULTI: howto manager. (line 783)
+* BFD_RELOC_ARM_OFFSET_IMM: howto manager. (line 686)
+* BFD_RELOC_ARM_OFFSET_IMM8: howto manager. (line 792)
+* BFD_RELOC_ARM_PCREL_BLX: howto manager. (line 657)
+* BFD_RELOC_ARM_PCREL_BRANCH: howto manager. (line 653)
+* BFD_RELOC_ARM_PCREL_CALL: howto manager. (line 667)
+* BFD_RELOC_ARM_PCREL_JUMP: howto manager. (line 671)
+* BFD_RELOC_ARM_PLT32: howto manager. (line 725)
+* BFD_RELOC_ARM_PREL31: howto manager. (line 709)
+* BFD_RELOC_ARM_RELATIVE: howto manager. (line 726)
+* BFD_RELOC_ARM_ROSEGREL32: howto manager. (line 698)
+* BFD_RELOC_ARM_SBREL32: howto manager. (line 701)
+* BFD_RELOC_ARM_SHIFT_IMM: howto manager. (line 780)
+* BFD_RELOC_ARM_SMC: howto manager. (line 781)
+* BFD_RELOC_ARM_SWI: howto manager. (line 782)
+* BFD_RELOC_ARM_T32_ADD_IMM: howto manager. (line 777)
+* BFD_RELOC_ARM_T32_ADD_PC12: howto manager. (line 779)
+* BFD_RELOC_ARM_T32_CP_OFF_IMM: howto manager. (line 786)
+* BFD_RELOC_ARM_T32_CP_OFF_IMM_S2: howto manager. (line 787)
+* BFD_RELOC_ARM_T32_IMM12: howto manager. (line 778)
+* BFD_RELOC_ARM_T32_IMMEDIATE: howto manager. (line 776)
+* BFD_RELOC_ARM_T32_OFFSET_IMM: howto manager. (line 794)
+* BFD_RELOC_ARM_T32_OFFSET_U8: howto manager. (line 793)
+* BFD_RELOC_ARM_TARGET1: howto manager. (line 694)
+* BFD_RELOC_ARM_TARGET2: howto manager. (line 704)
+* BFD_RELOC_ARM_THUMB_ADD: howto manager. (line 796)
+* BFD_RELOC_ARM_THUMB_IMM: howto manager. (line 797)
+* BFD_RELOC_ARM_THUMB_MOVT: howto manager. (line 717)
+* BFD_RELOC_ARM_THUMB_MOVT_PCREL: howto manager. (line 719)
+* BFD_RELOC_ARM_THUMB_MOVW: howto manager. (line 716)
+* BFD_RELOC_ARM_THUMB_MOVW_PCREL: howto manager. (line 718)
+* BFD_RELOC_ARM_THUMB_OFFSET: howto manager. (line 690)
+* BFD_RELOC_ARM_THUMB_SHIFT: howto manager. (line 798)
+* BFD_RELOC_ARM_TLS_DTPMOD32: howto manager. (line 735)
+* BFD_RELOC_ARM_TLS_DTPOFF32: howto manager. (line 734)
+* BFD_RELOC_ARM_TLS_GD32: howto manager. (line 731)
+* BFD_RELOC_ARM_TLS_IE32: howto manager. (line 737)
+* BFD_RELOC_ARM_TLS_LDM32: howto manager. (line 733)
+* BFD_RELOC_ARM_TLS_LDO32: howto manager. (line 732)
+* BFD_RELOC_ARM_TLS_LE32: howto manager. (line 738)
+* BFD_RELOC_ARM_TLS_TPOFF32: howto manager. (line 736)
+* BFD_RELOC_ARM_V4BX: howto manager. (line 771)
+* BFD_RELOC_AVR_13_PCREL: howto manager. (line 1360)
+* BFD_RELOC_AVR_16_PM: howto manager. (line 1364)
+* BFD_RELOC_AVR_6: howto manager. (line 1451)
+* BFD_RELOC_AVR_6_ADIW: howto manager. (line 1455)
+* BFD_RELOC_AVR_7_PCREL: howto manager. (line 1356)
+* BFD_RELOC_AVR_CALL: howto manager. (line 1443)
+* BFD_RELOC_AVR_HH8_LDI: howto manager. (line 1376)
+* BFD_RELOC_AVR_HH8_LDI_NEG: howto manager. (line 1395)
+* BFD_RELOC_AVR_HH8_LDI_PM: howto manager. (line 1424)
+* BFD_RELOC_AVR_HH8_LDI_PM_NEG: howto manager. (line 1438)
+* BFD_RELOC_AVR_HI8_LDI: howto manager. (line 1372)
+* BFD_RELOC_AVR_HI8_LDI_GS: howto manager. (line 1418)
+* BFD_RELOC_AVR_HI8_LDI_NEG: howto manager. (line 1390)
+* BFD_RELOC_AVR_HI8_LDI_PM: howto manager. (line 1414)
+* BFD_RELOC_AVR_HI8_LDI_PM_NEG: howto manager. (line 1433)
+* BFD_RELOC_AVR_LDI: howto manager. (line 1447)
+* BFD_RELOC_AVR_LO8_LDI: howto manager. (line 1368)
+* BFD_RELOC_AVR_LO8_LDI_GS: howto manager. (line 1408)
+* BFD_RELOC_AVR_LO8_LDI_NEG: howto manager. (line 1385)
+* BFD_RELOC_AVR_LO8_LDI_PM: howto manager. (line 1404)
+* BFD_RELOC_AVR_LO8_LDI_PM_NEG: howto manager. (line 1429)
+* BFD_RELOC_AVR_MS8_LDI: howto manager. (line 1381)
+* BFD_RELOC_AVR_MS8_LDI_NEG: howto manager. (line 1400)
+* BFD_RELOC_BFIN_10_PCREL: howto manager. (line 920)
+* BFD_RELOC_BFIN_11_PCREL: howto manager. (line 923)
+* BFD_RELOC_BFIN_12_PCREL_JUMP: howto manager. (line 926)
+* BFD_RELOC_BFIN_12_PCREL_JUMP_S: howto manager. (line 929)
+* BFD_RELOC_BFIN_16_HIGH: howto manager. (line 908)
+* BFD_RELOC_BFIN_16_IMM: howto manager. (line 905)
+* BFD_RELOC_BFIN_16_LOW: howto manager. (line 917)
+* BFD_RELOC_BFIN_24_PCREL_CALL_X: howto manager. (line 932)
+* BFD_RELOC_BFIN_24_PCREL_JUMP_L: howto manager. (line 935)
+* BFD_RELOC_BFIN_4_PCREL: howto manager. (line 911)
+* BFD_RELOC_BFIN_5_PCREL: howto manager. (line 914)
+* BFD_RELOC_BFIN_FUNCDESC: howto manager. (line 941)
+* BFD_RELOC_BFIN_FUNCDESC_GOT17M4: howto manager. (line 942)
+* BFD_RELOC_BFIN_FUNCDESC_GOTHI: howto manager. (line 943)
+* BFD_RELOC_BFIN_FUNCDESC_GOTLO: howto manager. (line 944)
+* BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4: howto manager. (line 946)
+* BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI: howto manager. (line 947)
+* BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO: howto manager. (line 948)
+* BFD_RELOC_BFIN_FUNCDESC_VALUE: howto manager. (line 945)
+* BFD_RELOC_BFIN_GOT: howto manager. (line 954)
+* BFD_RELOC_BFIN_GOT17M4: howto manager. (line 938)
+* BFD_RELOC_BFIN_GOTHI: howto manager. (line 939)
+* BFD_RELOC_BFIN_GOTLO: howto manager. (line 940)
+* BFD_RELOC_BFIN_GOTOFF17M4: howto manager. (line 949)
+* BFD_RELOC_BFIN_GOTOFFHI: howto manager. (line 950)
+* BFD_RELOC_BFIN_GOTOFFLO: howto manager. (line 951)
+* BFD_RELOC_BFIN_PLTPC: howto manager. (line 957)
* bfd_reloc_code_type: howto manager. (line 10)
-* BFD_RELOC_CRIS_16_GOT: howto manager. (line 1807)
-* BFD_RELOC_CRIS_16_GOTPLT: howto manager. (line 1813)
-* BFD_RELOC_CRIS_32_GOT: howto manager. (line 1804)
-* BFD_RELOC_CRIS_32_GOTPLT: howto manager. (line 1810)
-* BFD_RELOC_CRIS_32_GOTREL: howto manager. (line 1816)
-* BFD_RELOC_CRIS_32_PLT_GOTREL: howto manager. (line 1819)
-* BFD_RELOC_CRIS_32_PLT_PCREL: howto manager. (line 1822)
-* BFD_RELOC_CRIS_BDISP8: howto manager. (line 1785)
-* BFD_RELOC_CRIS_COPY: howto manager. (line 1798)
-* BFD_RELOC_CRIS_GLOB_DAT: howto manager. (line 1799)
-* BFD_RELOC_CRIS_JUMP_SLOT: howto manager. (line 1800)
-* BFD_RELOC_CRIS_LAPCQ_OFFSET: howto manager. (line 1793)
-* BFD_RELOC_CRIS_RELATIVE: howto manager. (line 1801)
-* BFD_RELOC_CRIS_SIGNED_16: howto manager. (line 1791)
-* BFD_RELOC_CRIS_SIGNED_6: howto manager. (line 1787)
-* BFD_RELOC_CRIS_SIGNED_8: howto manager. (line 1789)
-* BFD_RELOC_CRIS_UNSIGNED_16: howto manager. (line 1792)
-* BFD_RELOC_CRIS_UNSIGNED_4: howto manager. (line 1794)
-* BFD_RELOC_CRIS_UNSIGNED_5: howto manager. (line 1786)
-* BFD_RELOC_CRIS_UNSIGNED_6: howto manager. (line 1788)
-* BFD_RELOC_CRIS_UNSIGNED_8: howto manager. (line 1790)
-* BFD_RELOC_CRX_ABS16: howto manager. (line 1773)
-* BFD_RELOC_CRX_ABS32: howto manager. (line 1774)
-* BFD_RELOC_CRX_IMM16: howto manager. (line 1778)
-* BFD_RELOC_CRX_IMM32: howto manager. (line 1779)
-* BFD_RELOC_CRX_NUM16: howto manager. (line 1776)
-* BFD_RELOC_CRX_NUM32: howto manager. (line 1777)
-* BFD_RELOC_CRX_NUM8: howto manager. (line 1775)
-* BFD_RELOC_CRX_REGREL12: howto manager. (line 1769)
-* BFD_RELOC_CRX_REGREL22: howto manager. (line 1770)
-* BFD_RELOC_CRX_REGREL28: howto manager. (line 1771)
-* BFD_RELOC_CRX_REGREL32: howto manager. (line 1772)
-* BFD_RELOC_CRX_REL16: howto manager. (line 1766)
-* BFD_RELOC_CRX_REL24: howto manager. (line 1767)
-* BFD_RELOC_CRX_REL32: howto manager. (line 1768)
-* BFD_RELOC_CRX_REL4: howto manager. (line 1763)
-* BFD_RELOC_CRX_REL8: howto manager. (line 1764)
-* BFD_RELOC_CRX_REL8_CMP: howto manager. (line 1765)
-* BFD_RELOC_CRX_SWITCH16: howto manager. (line 1781)
-* BFD_RELOC_CRX_SWITCH32: howto manager. (line 1782)
-* BFD_RELOC_CRX_SWITCH8: howto manager. (line 1780)
-* BFD_RELOC_CTOR: howto manager. (line 626)
-* BFD_RELOC_D10V_10_PCREL_L: howto manager. (line 1000)
-* BFD_RELOC_D10V_10_PCREL_R: howto manager. (line 996)
-* BFD_RELOC_D10V_18: howto manager. (line 1005)
-* BFD_RELOC_D10V_18_PCREL: howto manager. (line 1008)
-* BFD_RELOC_D30V_15: howto manager. (line 1023)
-* BFD_RELOC_D30V_15_PCREL: howto manager. (line 1027)
-* BFD_RELOC_D30V_15_PCREL_R: howto manager. (line 1031)
-* BFD_RELOC_D30V_21: howto manager. (line 1036)
-* BFD_RELOC_D30V_21_PCREL: howto manager. (line 1040)
-* BFD_RELOC_D30V_21_PCREL_R: howto manager. (line 1044)
-* BFD_RELOC_D30V_32: howto manager. (line 1049)
-* BFD_RELOC_D30V_32_PCREL: howto manager. (line 1052)
-* BFD_RELOC_D30V_6: howto manager. (line 1011)
-* BFD_RELOC_D30V_9_PCREL: howto manager. (line 1014)
-* BFD_RELOC_D30V_9_PCREL_R: howto manager. (line 1018)
-* BFD_RELOC_DLX_HI16_S: howto manager. (line 1055)
-* BFD_RELOC_DLX_JMP26: howto manager. (line 1061)
-* BFD_RELOC_DLX_LO16: howto manager. (line 1058)
-* BFD_RELOC_FR30_10_IN_8: howto manager. (line 1240)
-* BFD_RELOC_FR30_12_PCREL: howto manager. (line 1248)
-* BFD_RELOC_FR30_20: howto manager. (line 1224)
-* BFD_RELOC_FR30_48: howto manager. (line 1221)
-* BFD_RELOC_FR30_6_IN_4: howto manager. (line 1228)
-* BFD_RELOC_FR30_8_IN_8: howto manager. (line 1232)
-* BFD_RELOC_FR30_9_IN_8: howto manager. (line 1236)
-* BFD_RELOC_FR30_9_PCREL: howto manager. (line 1244)
-* BFD_RELOC_FRV_FUNCDESC: howto manager. (line 391)
-* BFD_RELOC_FRV_FUNCDESC_GOT12: howto manager. (line 392)
-* BFD_RELOC_FRV_FUNCDESC_GOTHI: howto manager. (line 393)
-* BFD_RELOC_FRV_FUNCDESC_GOTLO: howto manager. (line 394)
-* BFD_RELOC_FRV_FUNCDESC_GOTOFF12: howto manager. (line 396)
-* BFD_RELOC_FRV_FUNCDESC_GOTOFFHI: howto manager. (line 397)
-* BFD_RELOC_FRV_FUNCDESC_GOTOFFLO: howto manager. (line 398)
-* BFD_RELOC_FRV_FUNCDESC_VALUE: howto manager. (line 395)
-* BFD_RELOC_FRV_GETTLSOFF: howto manager. (line 402)
-* BFD_RELOC_FRV_GETTLSOFF_RELAX: howto manager. (line 415)
-* BFD_RELOC_FRV_GOT12: howto manager. (line 388)
-* BFD_RELOC_FRV_GOTHI: howto manager. (line 389)
-* BFD_RELOC_FRV_GOTLO: howto manager. (line 390)
-* BFD_RELOC_FRV_GOTOFF12: howto manager. (line 399)
-* BFD_RELOC_FRV_GOTOFFHI: howto manager. (line 400)
-* BFD_RELOC_FRV_GOTOFFLO: howto manager. (line 401)
-* BFD_RELOC_FRV_GOTTLSDESC12: howto manager. (line 404)
-* BFD_RELOC_FRV_GOTTLSDESCHI: howto manager. (line 405)
-* BFD_RELOC_FRV_GOTTLSDESCLO: howto manager. (line 406)
-* BFD_RELOC_FRV_GOTTLSOFF12: howto manager. (line 410)
-* BFD_RELOC_FRV_GOTTLSOFFHI: howto manager. (line 411)
-* BFD_RELOC_FRV_GOTTLSOFFLO: howto manager. (line 412)
-* BFD_RELOC_FRV_GPREL12: howto manager. (line 383)
-* BFD_RELOC_FRV_GPREL32: howto manager. (line 385)
-* BFD_RELOC_FRV_GPRELHI: howto manager. (line 386)
-* BFD_RELOC_FRV_GPRELLO: howto manager. (line 387)
-* BFD_RELOC_FRV_GPRELU12: howto manager. (line 384)
-* BFD_RELOC_FRV_HI16: howto manager. (line 382)
-* BFD_RELOC_FRV_LABEL16: howto manager. (line 379)
-* BFD_RELOC_FRV_LABEL24: howto manager. (line 380)
-* BFD_RELOC_FRV_LO16: howto manager. (line 381)
-* BFD_RELOC_FRV_TLSDESC_RELAX: howto manager. (line 414)
-* BFD_RELOC_FRV_TLSDESC_VALUE: howto manager. (line 403)
-* BFD_RELOC_FRV_TLSMOFF: howto manager. (line 417)
-* BFD_RELOC_FRV_TLSMOFF12: howto manager. (line 407)
-* BFD_RELOC_FRV_TLSMOFFHI: howto manager. (line 408)
-* BFD_RELOC_FRV_TLSMOFFLO: howto manager. (line 409)
-* BFD_RELOC_FRV_TLSOFF: howto manager. (line 413)
-* BFD_RELOC_FRV_TLSOFF_RELAX: howto manager. (line 416)
+* BFD_RELOC_CR16_ABS20: howto manager. (line 1821)
+* BFD_RELOC_CR16_ABS24: howto manager. (line 1822)
+* BFD_RELOC_CR16_DISP16: howto manager. (line 1832)
+* BFD_RELOC_CR16_DISP20: howto manager. (line 1833)
+* BFD_RELOC_CR16_DISP24: howto manager. (line 1834)
+* BFD_RELOC_CR16_DISP24a: howto manager. (line 1835)
+* BFD_RELOC_CR16_DISP4: howto manager. (line 1830)
+* BFD_RELOC_CR16_DISP8: howto manager. (line 1831)
+* BFD_RELOC_CR16_IMM16: howto manager. (line 1825)
+* BFD_RELOC_CR16_IMM20: howto manager. (line 1826)
+* BFD_RELOC_CR16_IMM24: howto manager. (line 1827)
+* BFD_RELOC_CR16_IMM32: howto manager. (line 1828)
+* BFD_RELOC_CR16_IMM32a: howto manager. (line 1829)
+* BFD_RELOC_CR16_IMM4: howto manager. (line 1823)
+* BFD_RELOC_CR16_IMM8: howto manager. (line 1824)
+* BFD_RELOC_CR16_NUM16: howto manager. (line 1810)
+* BFD_RELOC_CR16_NUM32: howto manager. (line 1811)
+* BFD_RELOC_CR16_NUM32a: howto manager. (line 1812)
+* BFD_RELOC_CR16_NUM8: howto manager. (line 1809)
+* BFD_RELOC_CR16_REGREL0: howto manager. (line 1813)
+* BFD_RELOC_CR16_REGREL14: howto manager. (line 1816)
+* BFD_RELOC_CR16_REGREL14a: howto manager. (line 1817)
+* BFD_RELOC_CR16_REGREL16: howto manager. (line 1818)
+* BFD_RELOC_CR16_REGREL20: howto manager. (line 1819)
+* BFD_RELOC_CR16_REGREL20a: howto manager. (line 1820)
+* BFD_RELOC_CR16_REGREL4: howto manager. (line 1814)
+* BFD_RELOC_CR16_REGREL4a: howto manager. (line 1815)
+* BFD_RELOC_CR16_SWITCH16: howto manager. (line 1837)
+* BFD_RELOC_CR16_SWITCH32: howto manager. (line 1838)
+* BFD_RELOC_CR16_SWITCH8: howto manager. (line 1836)
+* BFD_RELOC_CRIS_16_GOT: howto manager. (line 1885)
+* BFD_RELOC_CRIS_16_GOTPLT: howto manager. (line 1891)
+* BFD_RELOC_CRIS_32_GOT: howto manager. (line 1882)
+* BFD_RELOC_CRIS_32_GOTPLT: howto manager. (line 1888)
+* BFD_RELOC_CRIS_32_GOTREL: howto manager. (line 1894)
+* BFD_RELOC_CRIS_32_PLT_GOTREL: howto manager. (line 1897)
+* BFD_RELOC_CRIS_32_PLT_PCREL: howto manager. (line 1900)
+* BFD_RELOC_CRIS_BDISP8: howto manager. (line 1863)
+* BFD_RELOC_CRIS_COPY: howto manager. (line 1876)
+* BFD_RELOC_CRIS_GLOB_DAT: howto manager. (line 1877)
+* BFD_RELOC_CRIS_JUMP_SLOT: howto manager. (line 1878)
+* BFD_RELOC_CRIS_LAPCQ_OFFSET: howto manager. (line 1871)
+* BFD_RELOC_CRIS_RELATIVE: howto manager. (line 1879)
+* BFD_RELOC_CRIS_SIGNED_16: howto manager. (line 1869)
+* BFD_RELOC_CRIS_SIGNED_6: howto manager. (line 1865)
+* BFD_RELOC_CRIS_SIGNED_8: howto manager. (line 1867)
+* BFD_RELOC_CRIS_UNSIGNED_16: howto manager. (line 1870)
+* BFD_RELOC_CRIS_UNSIGNED_4: howto manager. (line 1872)
+* BFD_RELOC_CRIS_UNSIGNED_5: howto manager. (line 1864)
+* BFD_RELOC_CRIS_UNSIGNED_6: howto manager. (line 1866)
+* BFD_RELOC_CRIS_UNSIGNED_8: howto manager. (line 1868)
+* BFD_RELOC_CRX_ABS16: howto manager. (line 1851)
+* BFD_RELOC_CRX_ABS32: howto manager. (line 1852)
+* BFD_RELOC_CRX_IMM16: howto manager. (line 1856)
+* BFD_RELOC_CRX_IMM32: howto manager. (line 1857)
+* BFD_RELOC_CRX_NUM16: howto manager. (line 1854)
+* BFD_RELOC_CRX_NUM32: howto manager. (line 1855)
+* BFD_RELOC_CRX_NUM8: howto manager. (line 1853)
+* BFD_RELOC_CRX_REGREL12: howto manager. (line 1847)
+* BFD_RELOC_CRX_REGREL22: howto manager. (line 1848)
+* BFD_RELOC_CRX_REGREL28: howto manager. (line 1849)
+* BFD_RELOC_CRX_REGREL32: howto manager. (line 1850)
+* BFD_RELOC_CRX_REL16: howto manager. (line 1844)
+* BFD_RELOC_CRX_REL24: howto manager. (line 1845)
+* BFD_RELOC_CRX_REL32: howto manager. (line 1846)
+* BFD_RELOC_CRX_REL4: howto manager. (line 1841)
+* BFD_RELOC_CRX_REL8: howto manager. (line 1842)
+* BFD_RELOC_CRX_REL8_CMP: howto manager. (line 1843)
+* BFD_RELOC_CRX_SWITCH16: howto manager. (line 1859)
+* BFD_RELOC_CRX_SWITCH32: howto manager. (line 1860)
+* BFD_RELOC_CRX_SWITCH8: howto manager. (line 1858)
+* BFD_RELOC_CTOR: howto manager. (line 647)
+* BFD_RELOC_D10V_10_PCREL_L: howto manager. (line 1024)
+* BFD_RELOC_D10V_10_PCREL_R: howto manager. (line 1020)
+* BFD_RELOC_D10V_18: howto manager. (line 1029)
+* BFD_RELOC_D10V_18_PCREL: howto manager. (line 1032)
+* BFD_RELOC_D30V_15: howto manager. (line 1047)
+* BFD_RELOC_D30V_15_PCREL: howto manager. (line 1051)
+* BFD_RELOC_D30V_15_PCREL_R: howto manager. (line 1055)
+* BFD_RELOC_D30V_21: howto manager. (line 1060)
+* BFD_RELOC_D30V_21_PCREL: howto manager. (line 1064)
+* BFD_RELOC_D30V_21_PCREL_R: howto manager. (line 1068)
+* BFD_RELOC_D30V_32: howto manager. (line 1073)
+* BFD_RELOC_D30V_32_PCREL: howto manager. (line 1076)
+* BFD_RELOC_D30V_6: howto manager. (line 1035)
+* BFD_RELOC_D30V_9_PCREL: howto manager. (line 1038)
+* BFD_RELOC_D30V_9_PCREL_R: howto manager. (line 1042)
+* BFD_RELOC_DLX_HI16_S: howto manager. (line 1079)
+* BFD_RELOC_DLX_JMP26: howto manager. (line 1085)
+* BFD_RELOC_DLX_LO16: howto manager. (line 1082)
+* BFD_RELOC_FR30_10_IN_8: howto manager. (line 1264)
+* BFD_RELOC_FR30_12_PCREL: howto manager. (line 1272)
+* BFD_RELOC_FR30_20: howto manager. (line 1248)
+* BFD_RELOC_FR30_48: howto manager. (line 1245)
+* BFD_RELOC_FR30_6_IN_4: howto manager. (line 1252)
+* BFD_RELOC_FR30_8_IN_8: howto manager. (line 1256)
+* BFD_RELOC_FR30_9_IN_8: howto manager. (line 1260)
+* BFD_RELOC_FR30_9_PCREL: howto manager. (line 1268)
+* BFD_RELOC_FRV_FUNCDESC: howto manager. (line 403)
+* BFD_RELOC_FRV_FUNCDESC_GOT12: howto manager. (line 404)
+* BFD_RELOC_FRV_FUNCDESC_GOTHI: howto manager. (line 405)
+* BFD_RELOC_FRV_FUNCDESC_GOTLO: howto manager. (line 406)
+* BFD_RELOC_FRV_FUNCDESC_GOTOFF12: howto manager. (line 408)
+* BFD_RELOC_FRV_FUNCDESC_GOTOFFHI: howto manager. (line 409)
+* BFD_RELOC_FRV_FUNCDESC_GOTOFFLO: howto manager. (line 410)
+* BFD_RELOC_FRV_FUNCDESC_VALUE: howto manager. (line 407)
+* BFD_RELOC_FRV_GETTLSOFF: howto manager. (line 414)
+* BFD_RELOC_FRV_GETTLSOFF_RELAX: howto manager. (line 427)
+* BFD_RELOC_FRV_GOT12: howto manager. (line 400)
+* BFD_RELOC_FRV_GOTHI: howto manager. (line 401)
+* BFD_RELOC_FRV_GOTLO: howto manager. (line 402)
+* BFD_RELOC_FRV_GOTOFF12: howto manager. (line 411)
+* BFD_RELOC_FRV_GOTOFFHI: howto manager. (line 412)
+* BFD_RELOC_FRV_GOTOFFLO: howto manager. (line 413)
+* BFD_RELOC_FRV_GOTTLSDESC12: howto manager. (line 416)
+* BFD_RELOC_FRV_GOTTLSDESCHI: howto manager. (line 417)
+* BFD_RELOC_FRV_GOTTLSDESCLO: howto manager. (line 418)
+* BFD_RELOC_FRV_GOTTLSOFF12: howto manager. (line 422)
+* BFD_RELOC_FRV_GOTTLSOFFHI: howto manager. (line 423)
+* BFD_RELOC_FRV_GOTTLSOFFLO: howto manager. (line 424)
+* BFD_RELOC_FRV_GPREL12: howto manager. (line 395)
+* BFD_RELOC_FRV_GPREL32: howto manager. (line 397)
+* BFD_RELOC_FRV_GPRELHI: howto manager. (line 398)
+* BFD_RELOC_FRV_GPRELLO: howto manager. (line 399)
+* BFD_RELOC_FRV_GPRELU12: howto manager. (line 396)
+* BFD_RELOC_FRV_HI16: howto manager. (line 394)
+* BFD_RELOC_FRV_LABEL16: howto manager. (line 391)
+* BFD_RELOC_FRV_LABEL24: howto manager. (line 392)
+* BFD_RELOC_FRV_LO16: howto manager. (line 393)
+* BFD_RELOC_FRV_TLSDESC_RELAX: howto manager. (line 426)
+* BFD_RELOC_FRV_TLSDESC_VALUE: howto manager. (line 415)
+* BFD_RELOC_FRV_TLSMOFF: howto manager. (line 429)
+* BFD_RELOC_FRV_TLSMOFF12: howto manager. (line 419)
+* BFD_RELOC_FRV_TLSMOFFHI: howto manager. (line 420)
+* BFD_RELOC_FRV_TLSMOFFLO: howto manager. (line 421)
+* BFD_RELOC_FRV_TLSOFF: howto manager. (line 425)
+* BFD_RELOC_FRV_TLSOFF_RELAX: howto manager. (line 428)
* BFD_RELOC_GPREL16: howto manager. (line 106)
* BFD_RELOC_GPREL32: howto manager. (line 107)
-* BFD_RELOC_H8_DIR16A8: howto manager. (line 1864)
-* BFD_RELOC_H8_DIR16R8: howto manager. (line 1865)
-* BFD_RELOC_H8_DIR24A8: howto manager. (line 1866)
-* BFD_RELOC_H8_DIR24R8: howto manager. (line 1867)
-* BFD_RELOC_H8_DIR32A16: howto manager. (line 1868)
-* BFD_RELOC_HI16: howto manager. (line 303)
+* BFD_RELOC_H8_DIR16A8: howto manager. (line 1942)
+* BFD_RELOC_H8_DIR16R8: howto manager. (line 1943)
+* BFD_RELOC_H8_DIR24A8: howto manager. (line 1944)
+* BFD_RELOC_H8_DIR24R8: howto manager. (line 1945)
+* BFD_RELOC_H8_DIR32A16: howto manager. (line 1946)
+* BFD_RELOC_HI16: howto manager. (line 310)
* BFD_RELOC_HI16_BASEREL: howto manager. (line 82)
* BFD_RELOC_HI16_GOTOFF: howto manager. (line 57)
-* BFD_RELOC_HI16_PCREL: howto manager. (line 315)
+* BFD_RELOC_HI16_PCREL: howto manager. (line 322)
* BFD_RELOC_HI16_PLTOFF: howto manager. (line 69)
-* BFD_RELOC_HI16_S: howto manager. (line 306)
+* BFD_RELOC_HI16_S: howto manager. (line 313)
* BFD_RELOC_HI16_S_BASEREL: howto manager. (line 83)
* BFD_RELOC_HI16_S_GOTOFF: howto manager. (line 58)
-* BFD_RELOC_HI16_S_PCREL: howto manager. (line 318)
+* BFD_RELOC_HI16_S_PCREL: howto manager. (line 325)
* BFD_RELOC_HI16_S_PLTOFF: howto manager. (line 70)
* BFD_RELOC_HI22: howto manager. (line 101)
-* BFD_RELOC_I370_D12: howto manager. (line 623)
+* BFD_RELOC_I370_D12: howto manager. (line 644)
* BFD_RELOC_I960_CALLJ: howto manager. (line 113)
-* BFD_RELOC_IA64_COPY: howto manager. (line 1657)
-* BFD_RELOC_IA64_DIR32LSB: howto manager. (line 1602)
-* BFD_RELOC_IA64_DIR32MSB: howto manager. (line 1601)
-* BFD_RELOC_IA64_DIR64LSB: howto manager. (line 1604)
-* BFD_RELOC_IA64_DIR64MSB: howto manager. (line 1603)
-* BFD_RELOC_IA64_DTPMOD64LSB: howto manager. (line 1667)
-* BFD_RELOC_IA64_DTPMOD64MSB: howto manager. (line 1666)
-* BFD_RELOC_IA64_DTPREL14: howto manager. (line 1669)
-* BFD_RELOC_IA64_DTPREL22: howto manager. (line 1670)
-* BFD_RELOC_IA64_DTPREL32LSB: howto manager. (line 1673)
-* BFD_RELOC_IA64_DTPREL32MSB: howto manager. (line 1672)
-* BFD_RELOC_IA64_DTPREL64I: howto manager. (line 1671)
-* BFD_RELOC_IA64_DTPREL64LSB: howto manager. (line 1675)
-* BFD_RELOC_IA64_DTPREL64MSB: howto manager. (line 1674)
-* BFD_RELOC_IA64_FPTR32LSB: howto manager. (line 1619)
-* BFD_RELOC_IA64_FPTR32MSB: howto manager. (line 1618)
-* BFD_RELOC_IA64_FPTR64I: howto manager. (line 1617)
-* BFD_RELOC_IA64_FPTR64LSB: howto manager. (line 1621)
-* BFD_RELOC_IA64_FPTR64MSB: howto manager. (line 1620)
-* BFD_RELOC_IA64_GPREL22: howto manager. (line 1605)
-* BFD_RELOC_IA64_GPREL32LSB: howto manager. (line 1608)
-* BFD_RELOC_IA64_GPREL32MSB: howto manager. (line 1607)
-* BFD_RELOC_IA64_GPREL64I: howto manager. (line 1606)
-* BFD_RELOC_IA64_GPREL64LSB: howto manager. (line 1610)
-* BFD_RELOC_IA64_GPREL64MSB: howto manager. (line 1609)
-* BFD_RELOC_IA64_IMM14: howto manager. (line 1598)
-* BFD_RELOC_IA64_IMM22: howto manager. (line 1599)
-* BFD_RELOC_IA64_IMM64: howto manager. (line 1600)
-* BFD_RELOC_IA64_IPLTLSB: howto manager. (line 1656)
-* BFD_RELOC_IA64_IPLTMSB: howto manager. (line 1655)
-* BFD_RELOC_IA64_LDXMOV: howto manager. (line 1659)
-* BFD_RELOC_IA64_LTOFF22: howto manager. (line 1611)
-* BFD_RELOC_IA64_LTOFF22X: howto manager. (line 1658)
-* BFD_RELOC_IA64_LTOFF64I: howto manager. (line 1612)
-* BFD_RELOC_IA64_LTOFF_DTPMOD22: howto manager. (line 1668)
-* BFD_RELOC_IA64_LTOFF_DTPREL22: howto manager. (line 1676)
-* BFD_RELOC_IA64_LTOFF_FPTR22: howto manager. (line 1633)
-* BFD_RELOC_IA64_LTOFF_FPTR32LSB: howto manager. (line 1636)
-* BFD_RELOC_IA64_LTOFF_FPTR32MSB: howto manager. (line 1635)
-* BFD_RELOC_IA64_LTOFF_FPTR64I: howto manager. (line 1634)
-* BFD_RELOC_IA64_LTOFF_FPTR64LSB: howto manager. (line 1638)
-* BFD_RELOC_IA64_LTOFF_FPTR64MSB: howto manager. (line 1637)
-* BFD_RELOC_IA64_LTOFF_TPREL22: howto manager. (line 1665)
-* BFD_RELOC_IA64_LTV32LSB: howto manager. (line 1652)
-* BFD_RELOC_IA64_LTV32MSB: howto manager. (line 1651)
-* BFD_RELOC_IA64_LTV64LSB: howto manager. (line 1654)
-* BFD_RELOC_IA64_LTV64MSB: howto manager. (line 1653)
-* BFD_RELOC_IA64_PCREL21B: howto manager. (line 1622)
-* BFD_RELOC_IA64_PCREL21BI: howto manager. (line 1623)
-* BFD_RELOC_IA64_PCREL21F: howto manager. (line 1625)
-* BFD_RELOC_IA64_PCREL21M: howto manager. (line 1624)
-* BFD_RELOC_IA64_PCREL22: howto manager. (line 1626)
-* BFD_RELOC_IA64_PCREL32LSB: howto manager. (line 1630)
-* BFD_RELOC_IA64_PCREL32MSB: howto manager. (line 1629)
-* BFD_RELOC_IA64_PCREL60B: howto manager. (line 1627)
-* BFD_RELOC_IA64_PCREL64I: howto manager. (line 1628)
-* BFD_RELOC_IA64_PCREL64LSB: howto manager. (line 1632)
-* BFD_RELOC_IA64_PCREL64MSB: howto manager. (line 1631)
-* BFD_RELOC_IA64_PLTOFF22: howto manager. (line 1613)
-* BFD_RELOC_IA64_PLTOFF64I: howto manager. (line 1614)
-* BFD_RELOC_IA64_PLTOFF64LSB: howto manager. (line 1616)
-* BFD_RELOC_IA64_PLTOFF64MSB: howto manager. (line 1615)
-* BFD_RELOC_IA64_REL32LSB: howto manager. (line 1648)
-* BFD_RELOC_IA64_REL32MSB: howto manager. (line 1647)
-* BFD_RELOC_IA64_REL64LSB: howto manager. (line 1650)
-* BFD_RELOC_IA64_REL64MSB: howto manager. (line 1649)
-* BFD_RELOC_IA64_SECREL32LSB: howto manager. (line 1644)
-* BFD_RELOC_IA64_SECREL32MSB: howto manager. (line 1643)
-* BFD_RELOC_IA64_SECREL64LSB: howto manager. (line 1646)
-* BFD_RELOC_IA64_SECREL64MSB: howto manager. (line 1645)
-* BFD_RELOC_IA64_SEGREL32LSB: howto manager. (line 1640)
-* BFD_RELOC_IA64_SEGREL32MSB: howto manager. (line 1639)
-* BFD_RELOC_IA64_SEGREL64LSB: howto manager. (line 1642)
-* BFD_RELOC_IA64_SEGREL64MSB: howto manager. (line 1641)
-* BFD_RELOC_IA64_TPREL14: howto manager. (line 1660)
-* BFD_RELOC_IA64_TPREL22: howto manager. (line 1661)
-* BFD_RELOC_IA64_TPREL64I: howto manager. (line 1662)
-* BFD_RELOC_IA64_TPREL64LSB: howto manager. (line 1664)
-* BFD_RELOC_IA64_TPREL64MSB: howto manager. (line 1663)
-* BFD_RELOC_IP2K_ADDR16CJP: howto manager. (line 1550)
-* BFD_RELOC_IP2K_BANK: howto manager. (line 1547)
-* BFD_RELOC_IP2K_EX8DATA: howto manager. (line 1558)
-* BFD_RELOC_IP2K_FR9: howto manager. (line 1544)
-* BFD_RELOC_IP2K_FR_OFFSET: howto manager. (line 1571)
-* BFD_RELOC_IP2K_HI8DATA: howto manager. (line 1557)
-* BFD_RELOC_IP2K_HI8INSN: howto manager. (line 1562)
-* BFD_RELOC_IP2K_LO8DATA: howto manager. (line 1556)
-* BFD_RELOC_IP2K_LO8INSN: howto manager. (line 1561)
-* BFD_RELOC_IP2K_PAGE3: howto manager. (line 1553)
-* BFD_RELOC_IP2K_PC_SKIP: howto manager. (line 1565)
-* BFD_RELOC_IP2K_TEXT: howto manager. (line 1568)
-* BFD_RELOC_IQ2000_OFFSET_16: howto manager. (line 1915)
-* BFD_RELOC_IQ2000_OFFSET_21: howto manager. (line 1916)
-* BFD_RELOC_IQ2000_UHI16: howto manager. (line 1917)
+* BFD_RELOC_IA64_COPY: howto manager. (line 1703)
+* BFD_RELOC_IA64_DIR32LSB: howto manager. (line 1648)
+* BFD_RELOC_IA64_DIR32MSB: howto manager. (line 1647)
+* BFD_RELOC_IA64_DIR64LSB: howto manager. (line 1650)
+* BFD_RELOC_IA64_DIR64MSB: howto manager. (line 1649)
+* BFD_RELOC_IA64_DTPMOD64LSB: howto manager. (line 1713)
+* BFD_RELOC_IA64_DTPMOD64MSB: howto manager. (line 1712)
+* BFD_RELOC_IA64_DTPREL14: howto manager. (line 1715)
+* BFD_RELOC_IA64_DTPREL22: howto manager. (line 1716)
+* BFD_RELOC_IA64_DTPREL32LSB: howto manager. (line 1719)
+* BFD_RELOC_IA64_DTPREL32MSB: howto manager. (line 1718)
+* BFD_RELOC_IA64_DTPREL64I: howto manager. (line 1717)
+* BFD_RELOC_IA64_DTPREL64LSB: howto manager. (line 1721)
+* BFD_RELOC_IA64_DTPREL64MSB: howto manager. (line 1720)
+* BFD_RELOC_IA64_FPTR32LSB: howto manager. (line 1665)
+* BFD_RELOC_IA64_FPTR32MSB: howto manager. (line 1664)
+* BFD_RELOC_IA64_FPTR64I: howto manager. (line 1663)
+* BFD_RELOC_IA64_FPTR64LSB: howto manager. (line 1667)
+* BFD_RELOC_IA64_FPTR64MSB: howto manager. (line 1666)
+* BFD_RELOC_IA64_GPREL22: howto manager. (line 1651)
+* BFD_RELOC_IA64_GPREL32LSB: howto manager. (line 1654)
+* BFD_RELOC_IA64_GPREL32MSB: howto manager. (line 1653)
+* BFD_RELOC_IA64_GPREL64I: howto manager. (line 1652)
+* BFD_RELOC_IA64_GPREL64LSB: howto manager. (line 1656)
+* BFD_RELOC_IA64_GPREL64MSB: howto manager. (line 1655)
+* BFD_RELOC_IA64_IMM14: howto manager. (line 1644)
+* BFD_RELOC_IA64_IMM22: howto manager. (line 1645)
+* BFD_RELOC_IA64_IMM64: howto manager. (line 1646)
+* BFD_RELOC_IA64_IPLTLSB: howto manager. (line 1702)
+* BFD_RELOC_IA64_IPLTMSB: howto manager. (line 1701)
+* BFD_RELOC_IA64_LDXMOV: howto manager. (line 1705)
+* BFD_RELOC_IA64_LTOFF22: howto manager. (line 1657)
+* BFD_RELOC_IA64_LTOFF22X: howto manager. (line 1704)
+* BFD_RELOC_IA64_LTOFF64I: howto manager. (line 1658)
+* BFD_RELOC_IA64_LTOFF_DTPMOD22: howto manager. (line 1714)
+* BFD_RELOC_IA64_LTOFF_DTPREL22: howto manager. (line 1722)
+* BFD_RELOC_IA64_LTOFF_FPTR22: howto manager. (line 1679)
+* BFD_RELOC_IA64_LTOFF_FPTR32LSB: howto manager. (line 1682)
+* BFD_RELOC_IA64_LTOFF_FPTR32MSB: howto manager. (line 1681)
+* BFD_RELOC_IA64_LTOFF_FPTR64I: howto manager. (line 1680)
+* BFD_RELOC_IA64_LTOFF_FPTR64LSB: howto manager. (line 1684)
+* BFD_RELOC_IA64_LTOFF_FPTR64MSB: howto manager. (line 1683)
+* BFD_RELOC_IA64_LTOFF_TPREL22: howto manager. (line 1711)
+* BFD_RELOC_IA64_LTV32LSB: howto manager. (line 1698)
+* BFD_RELOC_IA64_LTV32MSB: howto manager. (line 1697)
+* BFD_RELOC_IA64_LTV64LSB: howto manager. (line 1700)
+* BFD_RELOC_IA64_LTV64MSB: howto manager. (line 1699)
+* BFD_RELOC_IA64_PCREL21B: howto manager. (line 1668)
+* BFD_RELOC_IA64_PCREL21BI: howto manager. (line 1669)
+* BFD_RELOC_IA64_PCREL21F: howto manager. (line 1671)
+* BFD_RELOC_IA64_PCREL21M: howto manager. (line 1670)
+* BFD_RELOC_IA64_PCREL22: howto manager. (line 1672)
+* BFD_RELOC_IA64_PCREL32LSB: howto manager. (line 1676)
+* BFD_RELOC_IA64_PCREL32MSB: howto manager. (line 1675)
+* BFD_RELOC_IA64_PCREL60B: howto manager. (line 1673)
+* BFD_RELOC_IA64_PCREL64I: howto manager. (line 1674)
+* BFD_RELOC_IA64_PCREL64LSB: howto manager. (line 1678)
+* BFD_RELOC_IA64_PCREL64MSB: howto manager. (line 1677)
+* BFD_RELOC_IA64_PLTOFF22: howto manager. (line 1659)
+* BFD_RELOC_IA64_PLTOFF64I: howto manager. (line 1660)
+* BFD_RELOC_IA64_PLTOFF64LSB: howto manager. (line 1662)
+* BFD_RELOC_IA64_PLTOFF64MSB: howto manager. (line 1661)
+* BFD_RELOC_IA64_REL32LSB: howto manager. (line 1694)
+* BFD_RELOC_IA64_REL32MSB: howto manager. (line 1693)
+* BFD_RELOC_IA64_REL64LSB: howto manager. (line 1696)
+* BFD_RELOC_IA64_REL64MSB: howto manager. (line 1695)
+* BFD_RELOC_IA64_SECREL32LSB: howto manager. (line 1690)
+* BFD_RELOC_IA64_SECREL32MSB: howto manager. (line 1689)
+* BFD_RELOC_IA64_SECREL64LSB: howto manager. (line 1692)
+* BFD_RELOC_IA64_SECREL64MSB: howto manager. (line 1691)
+* BFD_RELOC_IA64_SEGREL32LSB: howto manager. (line 1686)
+* BFD_RELOC_IA64_SEGREL32MSB: howto manager. (line 1685)
+* BFD_RELOC_IA64_SEGREL64LSB: howto manager. (line 1688)
+* BFD_RELOC_IA64_SEGREL64MSB: howto manager. (line 1687)
+* BFD_RELOC_IA64_TPREL14: howto manager. (line 1706)
+* BFD_RELOC_IA64_TPREL22: howto manager. (line 1707)
+* BFD_RELOC_IA64_TPREL64I: howto manager. (line 1708)
+* BFD_RELOC_IA64_TPREL64LSB: howto manager. (line 1710)
+* BFD_RELOC_IA64_TPREL64MSB: howto manager. (line 1709)
+* BFD_RELOC_IP2K_ADDR16CJP: howto manager. (line 1596)
+* BFD_RELOC_IP2K_BANK: howto manager. (line 1593)
+* BFD_RELOC_IP2K_EX8DATA: howto manager. (line 1604)
+* BFD_RELOC_IP2K_FR9: howto manager. (line 1590)
+* BFD_RELOC_IP2K_FR_OFFSET: howto manager. (line 1617)
+* BFD_RELOC_IP2K_HI8DATA: howto manager. (line 1603)
+* BFD_RELOC_IP2K_HI8INSN: howto manager. (line 1608)
+* BFD_RELOC_IP2K_LO8DATA: howto manager. (line 1602)
+* BFD_RELOC_IP2K_LO8INSN: howto manager. (line 1607)
+* BFD_RELOC_IP2K_PAGE3: howto manager. (line 1599)
+* BFD_RELOC_IP2K_PC_SKIP: howto manager. (line 1611)
+* BFD_RELOC_IP2K_TEXT: howto manager. (line 1614)
+* BFD_RELOC_IQ2000_OFFSET_16: howto manager. (line 1996)
+* BFD_RELOC_IQ2000_OFFSET_21: howto manager. (line 1997)
+* BFD_RELOC_IQ2000_UHI16: howto manager. (line 1998)
* BFD_RELOC_LO10: howto manager. (line 102)
-* BFD_RELOC_LO16: howto manager. (line 312)
+* BFD_RELOC_LO16: howto manager. (line 319)
* BFD_RELOC_LO16_BASEREL: howto manager. (line 81)
* BFD_RELOC_LO16_GOTOFF: howto manager. (line 56)
-* BFD_RELOC_LO16_PCREL: howto manager. (line 321)
+* BFD_RELOC_LO16_PCREL: howto manager. (line 328)
* BFD_RELOC_LO16_PLTOFF: howto manager. (line 68)
-* BFD_RELOC_M32C_HI8: howto manager. (line 1064)
-* BFD_RELOC_M32C_RL_1ADDR: howto manager. (line 1066)
-* BFD_RELOC_M32C_RL_2ADDR: howto manager. (line 1067)
-* BFD_RELOC_M32C_RL_JUMP: howto manager. (line 1065)
-* BFD_RELOC_M32R_10_PCREL: howto manager. (line 1074)
-* BFD_RELOC_M32R_18_PCREL: howto manager. (line 1078)
-* BFD_RELOC_M32R_24: howto manager. (line 1070)
-* BFD_RELOC_M32R_26_PCREL: howto manager. (line 1081)
-* BFD_RELOC_M32R_26_PLTREL: howto manager. (line 1100)
-* BFD_RELOC_M32R_COPY: howto manager. (line 1101)
-* BFD_RELOC_M32R_GLOB_DAT: howto manager. (line 1102)
-* BFD_RELOC_M32R_GOT16_HI_SLO: howto manager. (line 1111)
-* BFD_RELOC_M32R_GOT16_HI_ULO: howto manager. (line 1110)
-* BFD_RELOC_M32R_GOT16_LO: howto manager. (line 1112)
-* BFD_RELOC_M32R_GOT24: howto manager. (line 1099)
-* BFD_RELOC_M32R_GOTOFF: howto manager. (line 1105)
-* BFD_RELOC_M32R_GOTOFF_HI_SLO: howto manager. (line 1107)
-* BFD_RELOC_M32R_GOTOFF_HI_ULO: howto manager. (line 1106)
-* BFD_RELOC_M32R_GOTOFF_LO: howto manager. (line 1108)
-* BFD_RELOC_M32R_GOTPC24: howto manager. (line 1109)
-* BFD_RELOC_M32R_GOTPC_HI_SLO: howto manager. (line 1114)
-* BFD_RELOC_M32R_GOTPC_HI_ULO: howto manager. (line 1113)
-* BFD_RELOC_M32R_GOTPC_LO: howto manager. (line 1115)
-* BFD_RELOC_M32R_HI16_SLO: howto manager. (line 1088)
-* BFD_RELOC_M32R_HI16_ULO: howto manager. (line 1084)
-* BFD_RELOC_M32R_JMP_SLOT: howto manager. (line 1103)
-* BFD_RELOC_M32R_LO16: howto manager. (line 1092)
-* BFD_RELOC_M32R_RELATIVE: howto manager. (line 1104)
-* BFD_RELOC_M32R_SDA16: howto manager. (line 1095)
-* BFD_RELOC_M68HC11_24: howto manager. (line 1712)
-* BFD_RELOC_M68HC11_3B: howto manager. (line 1687)
-* BFD_RELOC_M68HC11_HI8: howto manager. (line 1679)
-* BFD_RELOC_M68HC11_LO16: howto manager. (line 1701)
-* BFD_RELOC_M68HC11_LO8: howto manager. (line 1683)
-* BFD_RELOC_M68HC11_PAGE: howto manager. (line 1707)
-* BFD_RELOC_M68HC11_RL_GROUP: howto manager. (line 1696)
-* BFD_RELOC_M68HC11_RL_JUMP: howto manager. (line 1690)
-* BFD_RELOC_M68HC12_5B: howto manager. (line 1718)
-* BFD_RELOC_MCORE_PCREL_32: howto manager. (line 1255)
-* BFD_RELOC_MCORE_PCREL_IMM11BY2: howto manager. (line 1253)
-* BFD_RELOC_MCORE_PCREL_IMM4BY2: howto manager. (line 1254)
-* BFD_RELOC_MCORE_PCREL_IMM8BY4: howto manager. (line 1252)
-* BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2: howto manager. (line 1256)
-* BFD_RELOC_MCORE_RVA: howto manager. (line 1257)
-* BFD_RELOC_MIPS16_GPREL: howto manager. (line 300)
-* BFD_RELOC_MIPS16_HI16: howto manager. (line 324)
-* BFD_RELOC_MIPS16_HI16_S: howto manager. (line 327)
-* BFD_RELOC_MIPS16_JMP: howto manager. (line 297)
-* BFD_RELOC_MIPS16_LO16: howto manager. (line 333)
-* BFD_RELOC_MIPS_CALL16: howto manager. (line 340)
-* BFD_RELOC_MIPS_CALL_HI16: howto manager. (line 343)
-* BFD_RELOC_MIPS_CALL_LO16: howto manager. (line 344)
-* BFD_RELOC_MIPS_COPY: howto manager. (line 375)
-* BFD_RELOC_MIPS_DELETE: howto manager. (line 353)
-* BFD_RELOC_MIPS_GOT16: howto manager. (line 339)
-* BFD_RELOC_MIPS_GOT_DISP: howto manager. (line 348)
-* BFD_RELOC_MIPS_GOT_HI16: howto manager. (line 341)
-* BFD_RELOC_MIPS_GOT_LO16: howto manager. (line 342)
-* BFD_RELOC_MIPS_GOT_OFST: howto manager. (line 347)
-* BFD_RELOC_MIPS_GOT_PAGE: howto manager. (line 346)
-* BFD_RELOC_MIPS_HIGHER: howto manager. (line 355)
-* BFD_RELOC_MIPS_HIGHEST: howto manager. (line 354)
-* BFD_RELOC_MIPS_INSERT_A: howto manager. (line 351)
-* BFD_RELOC_MIPS_INSERT_B: howto manager. (line 352)
-* BFD_RELOC_MIPS_JALR: howto manager. (line 359)
-* BFD_RELOC_MIPS_JMP: howto manager. (line 293)
-* BFD_RELOC_MIPS_JUMP_SLOT: howto manager. (line 376)
-* BFD_RELOC_MIPS_LITERAL: howto manager. (line 336)
-* BFD_RELOC_MIPS_REL16: howto manager. (line 357)
-* BFD_RELOC_MIPS_RELGOT: howto manager. (line 358)
-* BFD_RELOC_MIPS_SCN_DISP: howto manager. (line 356)
-* BFD_RELOC_MIPS_SHIFT5: howto manager. (line 349)
-* BFD_RELOC_MIPS_SHIFT6: howto manager. (line 350)
-* BFD_RELOC_MIPS_SUB: howto manager. (line 345)
-* BFD_RELOC_MIPS_TLS_DTPMOD32: howto manager. (line 360)
-* BFD_RELOC_MIPS_TLS_DTPMOD64: howto manager. (line 362)
-* BFD_RELOC_MIPS_TLS_DTPREL32: howto manager. (line 361)
-* BFD_RELOC_MIPS_TLS_DTPREL64: howto manager. (line 363)
-* BFD_RELOC_MIPS_TLS_DTPREL_HI16: howto manager. (line 366)
-* BFD_RELOC_MIPS_TLS_DTPREL_LO16: howto manager. (line 367)
-* BFD_RELOC_MIPS_TLS_GD: howto manager. (line 364)
-* BFD_RELOC_MIPS_TLS_GOTTPREL: howto manager. (line 368)
-* BFD_RELOC_MIPS_TLS_LDM: howto manager. (line 365)
-* BFD_RELOC_MIPS_TLS_TPREL32: howto manager. (line 369)
-* BFD_RELOC_MIPS_TLS_TPREL64: howto manager. (line 370)
-* BFD_RELOC_MIPS_TLS_TPREL_HI16: howto manager. (line 371)
-* BFD_RELOC_MIPS_TLS_TPREL_LO16: howto manager. (line 372)
-* BFD_RELOC_MMIX_ADDR19: howto manager. (line 1286)
-* BFD_RELOC_MMIX_ADDR27: howto manager. (line 1290)
-* BFD_RELOC_MMIX_BASE_PLUS_OFFSET: howto manager. (line 1302)
-* BFD_RELOC_MMIX_CBRANCH: howto manager. (line 1266)
-* BFD_RELOC_MMIX_CBRANCH_1: howto manager. (line 1268)
-* BFD_RELOC_MMIX_CBRANCH_2: howto manager. (line 1269)
-* BFD_RELOC_MMIX_CBRANCH_3: howto manager. (line 1270)
-* BFD_RELOC_MMIX_CBRANCH_J: howto manager. (line 1267)
-* BFD_RELOC_MMIX_GETA: howto manager. (line 1260)
-* BFD_RELOC_MMIX_GETA_1: howto manager. (line 1261)
-* BFD_RELOC_MMIX_GETA_2: howto manager. (line 1262)
-* BFD_RELOC_MMIX_GETA_3: howto manager. (line 1263)
-* BFD_RELOC_MMIX_JMP: howto manager. (line 1280)
-* BFD_RELOC_MMIX_JMP_1: howto manager. (line 1281)
-* BFD_RELOC_MMIX_JMP_2: howto manager. (line 1282)
-* BFD_RELOC_MMIX_JMP_3: howto manager. (line 1283)
-* BFD_RELOC_MMIX_LOCAL: howto manager. (line 1306)
-* BFD_RELOC_MMIX_PUSHJ: howto manager. (line 1273)
-* BFD_RELOC_MMIX_PUSHJ_1: howto manager. (line 1274)
-* BFD_RELOC_MMIX_PUSHJ_2: howto manager. (line 1275)
-* BFD_RELOC_MMIX_PUSHJ_3: howto manager. (line 1276)
-* BFD_RELOC_MMIX_PUSHJ_STUBBABLE: howto manager. (line 1277)
-* BFD_RELOC_MMIX_REG: howto manager. (line 1298)
-* BFD_RELOC_MMIX_REG_OR_BYTE: howto manager. (line 1294)
-* BFD_RELOC_MN10300_16_PCREL: howto manager. (line 1190)
-* BFD_RELOC_MN10300_32_PCREL: howto manager. (line 1186)
-* BFD_RELOC_MN10300_COPY: howto manager. (line 435)
-* BFD_RELOC_MN10300_GLOB_DAT: howto manager. (line 438)
-* BFD_RELOC_MN10300_GOT16: howto manager. (line 431)
-* BFD_RELOC_MN10300_GOT24: howto manager. (line 427)
-* BFD_RELOC_MN10300_GOT32: howto manager. (line 423)
-* BFD_RELOC_MN10300_GOTOFF24: howto manager. (line 420)
-* BFD_RELOC_MN10300_JMP_SLOT: howto manager. (line 441)
-* BFD_RELOC_MN10300_RELATIVE: howto manager. (line 444)
-* BFD_RELOC_MSP430_10_PCREL: howto manager. (line 1906)
-* BFD_RELOC_MSP430_16: howto manager. (line 1908)
-* BFD_RELOC_MSP430_16_BYTE: howto manager. (line 1910)
-* BFD_RELOC_MSP430_16_PCREL: howto manager. (line 1907)
-* BFD_RELOC_MSP430_16_PCREL_BYTE: howto manager. (line 1909)
-* BFD_RELOC_MSP430_2X_PCREL: howto manager. (line 1911)
-* BFD_RELOC_MSP430_RL_PCREL: howto manager. (line 1912)
-* BFD_RELOC_MT_GNU_VTENTRY: howto manager. (line 1900)
-* BFD_RELOC_MT_GNU_VTINHERIT: howto manager. (line 1897)
-* BFD_RELOC_MT_HI16: howto manager. (line 1891)
-* BFD_RELOC_MT_LO16: howto manager. (line 1894)
-* BFD_RELOC_MT_PC16: howto manager. (line 1888)
-* BFD_RELOC_MT_PCINSN8: howto manager. (line 1903)
+* BFD_RELOC_M32C_HI8: howto manager. (line 1088)
+* BFD_RELOC_M32C_RL_1ADDR: howto manager. (line 1090)
+* BFD_RELOC_M32C_RL_2ADDR: howto manager. (line 1091)
+* BFD_RELOC_M32C_RL_JUMP: howto manager. (line 1089)
+* BFD_RELOC_M32R_10_PCREL: howto manager. (line 1098)
+* BFD_RELOC_M32R_18_PCREL: howto manager. (line 1102)
+* BFD_RELOC_M32R_24: howto manager. (line 1094)
+* BFD_RELOC_M32R_26_PCREL: howto manager. (line 1105)
+* BFD_RELOC_M32R_26_PLTREL: howto manager. (line 1124)
+* BFD_RELOC_M32R_COPY: howto manager. (line 1125)
+* BFD_RELOC_M32R_GLOB_DAT: howto manager. (line 1126)
+* BFD_RELOC_M32R_GOT16_HI_SLO: howto manager. (line 1135)
+* BFD_RELOC_M32R_GOT16_HI_ULO: howto manager. (line 1134)
+* BFD_RELOC_M32R_GOT16_LO: howto manager. (line 1136)
+* BFD_RELOC_M32R_GOT24: howto manager. (line 1123)
+* BFD_RELOC_M32R_GOTOFF: howto manager. (line 1129)
+* BFD_RELOC_M32R_GOTOFF_HI_SLO: howto manager. (line 1131)
+* BFD_RELOC_M32R_GOTOFF_HI_ULO: howto manager. (line 1130)
+* BFD_RELOC_M32R_GOTOFF_LO: howto manager. (line 1132)
+* BFD_RELOC_M32R_GOTPC24: howto manager. (line 1133)
+* BFD_RELOC_M32R_GOTPC_HI_SLO: howto manager. (line 1138)
+* BFD_RELOC_M32R_GOTPC_HI_ULO: howto manager. (line 1137)
+* BFD_RELOC_M32R_GOTPC_LO: howto manager. (line 1139)
+* BFD_RELOC_M32R_HI16_SLO: howto manager. (line 1112)
+* BFD_RELOC_M32R_HI16_ULO: howto manager. (line 1108)
+* BFD_RELOC_M32R_JMP_SLOT: howto manager. (line 1127)
+* BFD_RELOC_M32R_LO16: howto manager. (line 1116)
+* BFD_RELOC_M32R_RELATIVE: howto manager. (line 1128)
+* BFD_RELOC_M32R_SDA16: howto manager. (line 1119)
+* BFD_RELOC_M68HC11_24: howto manager. (line 1758)
+* BFD_RELOC_M68HC11_3B: howto manager. (line 1733)
+* BFD_RELOC_M68HC11_HI8: howto manager. (line 1725)
+* BFD_RELOC_M68HC11_LO16: howto manager. (line 1747)
+* BFD_RELOC_M68HC11_LO8: howto manager. (line 1729)
+* BFD_RELOC_M68HC11_PAGE: howto manager. (line 1753)
+* BFD_RELOC_M68HC11_RL_GROUP: howto manager. (line 1742)
+* BFD_RELOC_M68HC11_RL_JUMP: howto manager. (line 1736)
+* BFD_RELOC_M68HC12_5B: howto manager. (line 1764)
+* BFD_RELOC_MCORE_PCREL_32: howto manager. (line 1279)
+* BFD_RELOC_MCORE_PCREL_IMM11BY2: howto manager. (line 1277)
+* BFD_RELOC_MCORE_PCREL_IMM4BY2: howto manager. (line 1278)
+* BFD_RELOC_MCORE_PCREL_IMM8BY4: howto manager. (line 1276)
+* BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2: howto manager. (line 1280)
+* BFD_RELOC_MCORE_RVA: howto manager. (line 1281)
+* BFD_RELOC_MEP_16: howto manager. (line 1285)
+* BFD_RELOC_MEP_32: howto manager. (line 1286)
+* BFD_RELOC_MEP_8: howto manager. (line 1284)
+* BFD_RELOC_MEP_ADDR24A4: howto manager. (line 1301)
+* BFD_RELOC_MEP_GNU_VTENTRY: howto manager. (line 1303)
+* BFD_RELOC_MEP_GNU_VTINHERIT: howto manager. (line 1302)
+* BFD_RELOC_MEP_GPREL: howto manager. (line 1295)
+* BFD_RELOC_MEP_HI16S: howto manager. (line 1294)
+* BFD_RELOC_MEP_HI16U: howto manager. (line 1293)
+* BFD_RELOC_MEP_LOW16: howto manager. (line 1292)
+* BFD_RELOC_MEP_PCABS24A2: howto manager. (line 1291)
+* BFD_RELOC_MEP_PCREL12A2: howto manager. (line 1288)
+* BFD_RELOC_MEP_PCREL17A2: howto manager. (line 1289)
+* BFD_RELOC_MEP_PCREL24A2: howto manager. (line 1290)
+* BFD_RELOC_MEP_PCREL8A2: howto manager. (line 1287)
+* BFD_RELOC_MEP_TPREL: howto manager. (line 1296)
+* BFD_RELOC_MEP_TPREL7: howto manager. (line 1297)
+* BFD_RELOC_MEP_TPREL7A2: howto manager. (line 1298)
+* BFD_RELOC_MEP_TPREL7A4: howto manager. (line 1299)
+* BFD_RELOC_MEP_UIMM24: howto manager. (line 1300)
+* BFD_RELOC_MIPS16_CALL16: howto manager. (line 332)
+* BFD_RELOC_MIPS16_GOT16: howto manager. (line 331)
+* BFD_RELOC_MIPS16_GPREL: howto manager. (line 307)
+* BFD_RELOC_MIPS16_HI16: howto manager. (line 336)
+* BFD_RELOC_MIPS16_HI16_S: howto manager. (line 339)
+* BFD_RELOC_MIPS16_JMP: howto manager. (line 304)
+* BFD_RELOC_MIPS16_LO16: howto manager. (line 345)
+* BFD_RELOC_MIPS_CALL16: howto manager. (line 352)
+* BFD_RELOC_MIPS_CALL_HI16: howto manager. (line 355)
+* BFD_RELOC_MIPS_CALL_LO16: howto manager. (line 356)
+* BFD_RELOC_MIPS_COPY: howto manager. (line 387)
+* BFD_RELOC_MIPS_DELETE: howto manager. (line 365)
+* BFD_RELOC_MIPS_GOT16: howto manager. (line 351)
+* BFD_RELOC_MIPS_GOT_DISP: howto manager. (line 360)
+* BFD_RELOC_MIPS_GOT_HI16: howto manager. (line 353)
+* BFD_RELOC_MIPS_GOT_LO16: howto manager. (line 354)
+* BFD_RELOC_MIPS_GOT_OFST: howto manager. (line 359)
+* BFD_RELOC_MIPS_GOT_PAGE: howto manager. (line 358)
+* BFD_RELOC_MIPS_HIGHER: howto manager. (line 367)
+* BFD_RELOC_MIPS_HIGHEST: howto manager. (line 366)
+* BFD_RELOC_MIPS_INSERT_A: howto manager. (line 363)
+* BFD_RELOC_MIPS_INSERT_B: howto manager. (line 364)
+* BFD_RELOC_MIPS_JALR: howto manager. (line 371)
+* BFD_RELOC_MIPS_JMP: howto manager. (line 300)
+* BFD_RELOC_MIPS_JUMP_SLOT: howto manager. (line 388)
+* BFD_RELOC_MIPS_LITERAL: howto manager. (line 348)
+* BFD_RELOC_MIPS_REL16: howto manager. (line 369)
+* BFD_RELOC_MIPS_RELGOT: howto manager. (line 370)
+* BFD_RELOC_MIPS_SCN_DISP: howto manager. (line 368)
+* BFD_RELOC_MIPS_SHIFT5: howto manager. (line 361)
+* BFD_RELOC_MIPS_SHIFT6: howto manager. (line 362)
+* BFD_RELOC_MIPS_SUB: howto manager. (line 357)
+* BFD_RELOC_MIPS_TLS_DTPMOD32: howto manager. (line 372)
+* BFD_RELOC_MIPS_TLS_DTPMOD64: howto manager. (line 374)
+* BFD_RELOC_MIPS_TLS_DTPREL32: howto manager. (line 373)
+* BFD_RELOC_MIPS_TLS_DTPREL64: howto manager. (line 375)
+* BFD_RELOC_MIPS_TLS_DTPREL_HI16: howto manager. (line 378)
+* BFD_RELOC_MIPS_TLS_DTPREL_LO16: howto manager. (line 379)
+* BFD_RELOC_MIPS_TLS_GD: howto manager. (line 376)
+* BFD_RELOC_MIPS_TLS_GOTTPREL: howto manager. (line 380)
+* BFD_RELOC_MIPS_TLS_LDM: howto manager. (line 377)
+* BFD_RELOC_MIPS_TLS_TPREL32: howto manager. (line 381)
+* BFD_RELOC_MIPS_TLS_TPREL64: howto manager. (line 382)
+* BFD_RELOC_MIPS_TLS_TPREL_HI16: howto manager. (line 383)
+* BFD_RELOC_MIPS_TLS_TPREL_LO16: howto manager. (line 384)
+* BFD_RELOC_MMIX_ADDR19: howto manager. (line 1332)
+* BFD_RELOC_MMIX_ADDR27: howto manager. (line 1336)
+* BFD_RELOC_MMIX_BASE_PLUS_OFFSET: howto manager. (line 1348)
+* BFD_RELOC_MMIX_CBRANCH: howto manager. (line 1312)
+* BFD_RELOC_MMIX_CBRANCH_1: howto manager. (line 1314)
+* BFD_RELOC_MMIX_CBRANCH_2: howto manager. (line 1315)
+* BFD_RELOC_MMIX_CBRANCH_3: howto manager. (line 1316)
+* BFD_RELOC_MMIX_CBRANCH_J: howto manager. (line 1313)
+* BFD_RELOC_MMIX_GETA: howto manager. (line 1306)
+* BFD_RELOC_MMIX_GETA_1: howto manager. (line 1307)
+* BFD_RELOC_MMIX_GETA_2: howto manager. (line 1308)
+* BFD_RELOC_MMIX_GETA_3: howto manager. (line 1309)
+* BFD_RELOC_MMIX_JMP: howto manager. (line 1326)
+* BFD_RELOC_MMIX_JMP_1: howto manager. (line 1327)
+* BFD_RELOC_MMIX_JMP_2: howto manager. (line 1328)
+* BFD_RELOC_MMIX_JMP_3: howto manager. (line 1329)
+* BFD_RELOC_MMIX_LOCAL: howto manager. (line 1352)
+* BFD_RELOC_MMIX_PUSHJ: howto manager. (line 1319)
+* BFD_RELOC_MMIX_PUSHJ_1: howto manager. (line 1320)
+* BFD_RELOC_MMIX_PUSHJ_2: howto manager. (line 1321)
+* BFD_RELOC_MMIX_PUSHJ_3: howto manager. (line 1322)
+* BFD_RELOC_MMIX_PUSHJ_STUBBABLE: howto manager. (line 1323)
+* BFD_RELOC_MMIX_REG: howto manager. (line 1344)
+* BFD_RELOC_MMIX_REG_OR_BYTE: howto manager. (line 1340)
+* BFD_RELOC_MN10300_16_PCREL: howto manager. (line 1214)
+* BFD_RELOC_MN10300_32_PCREL: howto manager. (line 1210)
+* BFD_RELOC_MN10300_ALIGN: howto manager. (line 464)
+* BFD_RELOC_MN10300_COPY: howto manager. (line 447)
+* BFD_RELOC_MN10300_GLOB_DAT: howto manager. (line 450)
+* BFD_RELOC_MN10300_GOT16: howto manager. (line 443)
+* BFD_RELOC_MN10300_GOT24: howto manager. (line 439)
+* BFD_RELOC_MN10300_GOT32: howto manager. (line 435)
+* BFD_RELOC_MN10300_GOTOFF24: howto manager. (line 432)
+* BFD_RELOC_MN10300_JMP_SLOT: howto manager. (line 453)
+* BFD_RELOC_MN10300_RELATIVE: howto manager. (line 456)
+* BFD_RELOC_MN10300_SYM_DIFF: howto manager. (line 459)
+* BFD_RELOC_MSP430_10_PCREL: howto manager. (line 1987)
+* BFD_RELOC_MSP430_16: howto manager. (line 1989)
+* BFD_RELOC_MSP430_16_BYTE: howto manager. (line 1991)
+* BFD_RELOC_MSP430_16_PCREL: howto manager. (line 1988)
+* BFD_RELOC_MSP430_16_PCREL_BYTE: howto manager. (line 1990)
+* BFD_RELOC_MSP430_2X_PCREL: howto manager. (line 1992)
+* BFD_RELOC_MSP430_RL_PCREL: howto manager. (line 1993)
+* BFD_RELOC_MT_GNU_VTENTRY: howto manager. (line 1981)
+* BFD_RELOC_MT_GNU_VTINHERIT: howto manager. (line 1978)
+* BFD_RELOC_MT_HI16: howto manager. (line 1972)
+* BFD_RELOC_MT_LO16: howto manager. (line 1975)
+* BFD_RELOC_MT_PC16: howto manager. (line 1969)
+* BFD_RELOC_MT_PCINSN8: howto manager. (line 1984)
* BFD_RELOC_NONE: howto manager. (line 116)
-* BFD_RELOC_NS32K_DISP_16: howto manager. (line 507)
-* BFD_RELOC_NS32K_DISP_16_PCREL: howto manager. (line 510)
-* BFD_RELOC_NS32K_DISP_32: howto manager. (line 508)
-* BFD_RELOC_NS32K_DISP_32_PCREL: howto manager. (line 511)
-* BFD_RELOC_NS32K_DISP_8: howto manager. (line 506)
-* BFD_RELOC_NS32K_DISP_8_PCREL: howto manager. (line 509)
-* BFD_RELOC_NS32K_IMM_16: howto manager. (line 501)
-* BFD_RELOC_NS32K_IMM_16_PCREL: howto manager. (line 504)
-* BFD_RELOC_NS32K_IMM_32: howto manager. (line 502)
-* BFD_RELOC_NS32K_IMM_32_PCREL: howto manager. (line 505)
-* BFD_RELOC_NS32K_IMM_8: howto manager. (line 500)
-* BFD_RELOC_NS32K_IMM_8_PCREL: howto manager. (line 503)
-* BFD_RELOC_OPENRISC_ABS_26: howto manager. (line 1860)
-* BFD_RELOC_OPENRISC_REL_26: howto manager. (line 1861)
-* BFD_RELOC_PDP11_DISP_6_PCREL: howto manager. (line 515)
-* BFD_RELOC_PDP11_DISP_8_PCREL: howto manager. (line 514)
-* BFD_RELOC_PJ_CODE_DIR16: howto manager. (line 520)
-* BFD_RELOC_PJ_CODE_DIR32: howto manager. (line 521)
-* BFD_RELOC_PJ_CODE_HI16: howto manager. (line 518)
-* BFD_RELOC_PJ_CODE_LO16: howto manager. (line 519)
-* BFD_RELOC_PJ_CODE_REL16: howto manager. (line 522)
-* BFD_RELOC_PJ_CODE_REL32: howto manager. (line 523)
-* BFD_RELOC_PPC64_ADDR16_DS: howto manager. (line 568)
-* BFD_RELOC_PPC64_ADDR16_LO_DS: howto manager. (line 569)
-* BFD_RELOC_PPC64_DTPREL16_DS: howto manager. (line 615)
-* BFD_RELOC_PPC64_DTPREL16_HIGHER: howto manager. (line 617)
-* BFD_RELOC_PPC64_DTPREL16_HIGHERA: howto manager. (line 618)
-* BFD_RELOC_PPC64_DTPREL16_HIGHEST: howto manager. (line 619)
-* BFD_RELOC_PPC64_DTPREL16_HIGHESTA: howto manager. (line 620)
-* BFD_RELOC_PPC64_DTPREL16_LO_DS: howto manager. (line 616)
-* BFD_RELOC_PPC64_GOT16_DS: howto manager. (line 570)
-* BFD_RELOC_PPC64_GOT16_LO_DS: howto manager. (line 571)
-* BFD_RELOC_PPC64_HIGHER: howto manager. (line 556)
-* BFD_RELOC_PPC64_HIGHER_S: howto manager. (line 557)
-* BFD_RELOC_PPC64_HIGHEST: howto manager. (line 558)
-* BFD_RELOC_PPC64_HIGHEST_S: howto manager. (line 559)
-* BFD_RELOC_PPC64_PLT16_LO_DS: howto manager. (line 572)
-* BFD_RELOC_PPC64_PLTGOT16: howto manager. (line 564)
-* BFD_RELOC_PPC64_PLTGOT16_DS: howto manager. (line 577)
-* BFD_RELOC_PPC64_PLTGOT16_HA: howto manager. (line 567)
-* BFD_RELOC_PPC64_PLTGOT16_HI: howto manager. (line 566)
-* BFD_RELOC_PPC64_PLTGOT16_LO: howto manager. (line 565)
-* BFD_RELOC_PPC64_PLTGOT16_LO_DS: howto manager. (line 578)
-* BFD_RELOC_PPC64_SECTOFF_DS: howto manager. (line 573)
-* BFD_RELOC_PPC64_SECTOFF_LO_DS: howto manager. (line 574)
-* BFD_RELOC_PPC64_TOC: howto manager. (line 563)
-* BFD_RELOC_PPC64_TOC16_DS: howto manager. (line 575)
-* BFD_RELOC_PPC64_TOC16_HA: howto manager. (line 562)
-* BFD_RELOC_PPC64_TOC16_HI: howto manager. (line 561)
-* BFD_RELOC_PPC64_TOC16_LO: howto manager. (line 560)
-* BFD_RELOC_PPC64_TOC16_LO_DS: howto manager. (line 576)
-* BFD_RELOC_PPC64_TPREL16_DS: howto manager. (line 609)
-* BFD_RELOC_PPC64_TPREL16_HIGHER: howto manager. (line 611)
-* BFD_RELOC_PPC64_TPREL16_HIGHERA: howto manager. (line 612)
-* BFD_RELOC_PPC64_TPREL16_HIGHEST: howto manager. (line 613)
-* BFD_RELOC_PPC64_TPREL16_HIGHESTA: howto manager. (line 614)
-* BFD_RELOC_PPC64_TPREL16_LO_DS: howto manager. (line 610)
-* BFD_RELOC_PPC_B16: howto manager. (line 529)
-* BFD_RELOC_PPC_B16_BRNTAKEN: howto manager. (line 531)
-* BFD_RELOC_PPC_B16_BRTAKEN: howto manager. (line 530)
-* BFD_RELOC_PPC_B26: howto manager. (line 526)
-* BFD_RELOC_PPC_BA16: howto manager. (line 532)
-* BFD_RELOC_PPC_BA16_BRNTAKEN: howto manager. (line 534)
-* BFD_RELOC_PPC_BA16_BRTAKEN: howto manager. (line 533)
-* BFD_RELOC_PPC_BA26: howto manager. (line 527)
-* BFD_RELOC_PPC_COPY: howto manager. (line 535)
-* BFD_RELOC_PPC_DTPMOD: howto manager. (line 582)
-* BFD_RELOC_PPC_DTPREL: howto manager. (line 592)
-* BFD_RELOC_PPC_DTPREL16: howto manager. (line 588)
-* BFD_RELOC_PPC_DTPREL16_HA: howto manager. (line 591)
-* BFD_RELOC_PPC_DTPREL16_HI: howto manager. (line 590)
-* BFD_RELOC_PPC_DTPREL16_LO: howto manager. (line 589)
-* BFD_RELOC_PPC_EMB_BIT_FLD: howto manager. (line 554)
-* BFD_RELOC_PPC_EMB_MRKREF: howto manager. (line 549)
-* BFD_RELOC_PPC_EMB_NADDR16: howto manager. (line 541)
-* BFD_RELOC_PPC_EMB_NADDR16_HA: howto manager. (line 544)
-* BFD_RELOC_PPC_EMB_NADDR16_HI: howto manager. (line 543)
-* BFD_RELOC_PPC_EMB_NADDR16_LO: howto manager. (line 542)
-* BFD_RELOC_PPC_EMB_NADDR32: howto manager. (line 540)
-* BFD_RELOC_PPC_EMB_RELSDA: howto manager. (line 555)
-* BFD_RELOC_PPC_EMB_RELSEC16: howto manager. (line 550)
-* BFD_RELOC_PPC_EMB_RELST_HA: howto manager. (line 553)
-* BFD_RELOC_PPC_EMB_RELST_HI: howto manager. (line 552)
-* BFD_RELOC_PPC_EMB_RELST_LO: howto manager. (line 551)
-* BFD_RELOC_PPC_EMB_SDA21: howto manager. (line 548)
-* BFD_RELOC_PPC_EMB_SDA2I16: howto manager. (line 546)
-* BFD_RELOC_PPC_EMB_SDA2REL: howto manager. (line 547)
-* BFD_RELOC_PPC_EMB_SDAI16: howto manager. (line 545)
-* BFD_RELOC_PPC_GLOB_DAT: howto manager. (line 536)
-* BFD_RELOC_PPC_GOT_DTPREL16: howto manager. (line 605)
-* BFD_RELOC_PPC_GOT_DTPREL16_HA: howto manager. (line 608)
-* BFD_RELOC_PPC_GOT_DTPREL16_HI: howto manager. (line 607)
-* BFD_RELOC_PPC_GOT_DTPREL16_LO: howto manager. (line 606)
-* BFD_RELOC_PPC_GOT_TLSGD16: howto manager. (line 593)
-* BFD_RELOC_PPC_GOT_TLSGD16_HA: howto manager. (line 596)
-* BFD_RELOC_PPC_GOT_TLSGD16_HI: howto manager. (line 595)
-* BFD_RELOC_PPC_GOT_TLSGD16_LO: howto manager. (line 594)
-* BFD_RELOC_PPC_GOT_TLSLD16: howto manager. (line 597)
-* BFD_RELOC_PPC_GOT_TLSLD16_HA: howto manager. (line 600)
-* BFD_RELOC_PPC_GOT_TLSLD16_HI: howto manager. (line 599)
-* BFD_RELOC_PPC_GOT_TLSLD16_LO: howto manager. (line 598)
-* BFD_RELOC_PPC_GOT_TPREL16: howto manager. (line 601)
-* BFD_RELOC_PPC_GOT_TPREL16_HA: howto manager. (line 604)
-* BFD_RELOC_PPC_GOT_TPREL16_HI: howto manager. (line 603)
-* BFD_RELOC_PPC_GOT_TPREL16_LO: howto manager. (line 602)
-* BFD_RELOC_PPC_JMP_SLOT: howto manager. (line 537)
-* BFD_RELOC_PPC_LOCAL24PC: howto manager. (line 539)
-* BFD_RELOC_PPC_RELATIVE: howto manager. (line 538)
-* BFD_RELOC_PPC_TLS: howto manager. (line 581)
-* BFD_RELOC_PPC_TOC16: howto manager. (line 528)
-* BFD_RELOC_PPC_TPREL: howto manager. (line 587)
-* BFD_RELOC_PPC_TPREL16: howto manager. (line 583)
-* BFD_RELOC_PPC_TPREL16_HA: howto manager. (line 586)
-* BFD_RELOC_PPC_TPREL16_HI: howto manager. (line 585)
-* BFD_RELOC_PPC_TPREL16_LO: howto manager. (line 584)
+* BFD_RELOC_NS32K_DISP_16: howto manager. (line 528)
+* BFD_RELOC_NS32K_DISP_16_PCREL: howto manager. (line 531)
+* BFD_RELOC_NS32K_DISP_32: howto manager. (line 529)
+* BFD_RELOC_NS32K_DISP_32_PCREL: howto manager. (line 532)
+* BFD_RELOC_NS32K_DISP_8: howto manager. (line 527)
+* BFD_RELOC_NS32K_DISP_8_PCREL: howto manager. (line 530)
+* BFD_RELOC_NS32K_IMM_16: howto manager. (line 522)
+* BFD_RELOC_NS32K_IMM_16_PCREL: howto manager. (line 525)
+* BFD_RELOC_NS32K_IMM_32: howto manager. (line 523)
+* BFD_RELOC_NS32K_IMM_32_PCREL: howto manager. (line 526)
+* BFD_RELOC_NS32K_IMM_8: howto manager. (line 521)
+* BFD_RELOC_NS32K_IMM_8_PCREL: howto manager. (line 524)
+* BFD_RELOC_OPENRISC_ABS_26: howto manager. (line 1938)
+* BFD_RELOC_OPENRISC_REL_26: howto manager. (line 1939)
+* BFD_RELOC_PDP11_DISP_6_PCREL: howto manager. (line 536)
+* BFD_RELOC_PDP11_DISP_8_PCREL: howto manager. (line 535)
+* BFD_RELOC_PJ_CODE_DIR16: howto manager. (line 541)
+* BFD_RELOC_PJ_CODE_DIR32: howto manager. (line 542)
+* BFD_RELOC_PJ_CODE_HI16: howto manager. (line 539)
+* BFD_RELOC_PJ_CODE_LO16: howto manager. (line 540)
+* BFD_RELOC_PJ_CODE_REL16: howto manager. (line 543)
+* BFD_RELOC_PJ_CODE_REL32: howto manager. (line 544)
+* BFD_RELOC_PPC64_ADDR16_DS: howto manager. (line 589)
+* BFD_RELOC_PPC64_ADDR16_LO_DS: howto manager. (line 590)
+* BFD_RELOC_PPC64_DTPREL16_DS: howto manager. (line 636)
+* BFD_RELOC_PPC64_DTPREL16_HIGHER: howto manager. (line 638)
+* BFD_RELOC_PPC64_DTPREL16_HIGHERA: howto manager. (line 639)
+* BFD_RELOC_PPC64_DTPREL16_HIGHEST: howto manager. (line 640)
+* BFD_RELOC_PPC64_DTPREL16_HIGHESTA: howto manager. (line 641)
+* BFD_RELOC_PPC64_DTPREL16_LO_DS: howto manager. (line 637)
+* BFD_RELOC_PPC64_GOT16_DS: howto manager. (line 591)
+* BFD_RELOC_PPC64_GOT16_LO_DS: howto manager. (line 592)
+* BFD_RELOC_PPC64_HIGHER: howto manager. (line 577)
+* BFD_RELOC_PPC64_HIGHER_S: howto manager. (line 578)
+* BFD_RELOC_PPC64_HIGHEST: howto manager. (line 579)
+* BFD_RELOC_PPC64_HIGHEST_S: howto manager. (line 580)
+* BFD_RELOC_PPC64_PLT16_LO_DS: howto manager. (line 593)
+* BFD_RELOC_PPC64_PLTGOT16: howto manager. (line 585)
+* BFD_RELOC_PPC64_PLTGOT16_DS: howto manager. (line 598)
+* BFD_RELOC_PPC64_PLTGOT16_HA: howto manager. (line 588)
+* BFD_RELOC_PPC64_PLTGOT16_HI: howto manager. (line 587)
+* BFD_RELOC_PPC64_PLTGOT16_LO: howto manager. (line 586)
+* BFD_RELOC_PPC64_PLTGOT16_LO_DS: howto manager. (line 599)
+* BFD_RELOC_PPC64_SECTOFF_DS: howto manager. (line 594)
+* BFD_RELOC_PPC64_SECTOFF_LO_DS: howto manager. (line 595)
+* BFD_RELOC_PPC64_TOC: howto manager. (line 584)
+* BFD_RELOC_PPC64_TOC16_DS: howto manager. (line 596)
+* BFD_RELOC_PPC64_TOC16_HA: howto manager. (line 583)
+* BFD_RELOC_PPC64_TOC16_HI: howto manager. (line 582)
+* BFD_RELOC_PPC64_TOC16_LO: howto manager. (line 581)
+* BFD_RELOC_PPC64_TOC16_LO_DS: howto manager. (line 597)
+* BFD_RELOC_PPC64_TPREL16_DS: howto manager. (line 630)
+* BFD_RELOC_PPC64_TPREL16_HIGHER: howto manager. (line 632)
+* BFD_RELOC_PPC64_TPREL16_HIGHERA: howto manager. (line 633)
+* BFD_RELOC_PPC64_TPREL16_HIGHEST: howto manager. (line 634)
+* BFD_RELOC_PPC64_TPREL16_HIGHESTA: howto manager. (line 635)
+* BFD_RELOC_PPC64_TPREL16_LO_DS: howto manager. (line 631)
+* BFD_RELOC_PPC_B16: howto manager. (line 550)
+* BFD_RELOC_PPC_B16_BRNTAKEN: howto manager. (line 552)
+* BFD_RELOC_PPC_B16_BRTAKEN: howto manager. (line 551)
+* BFD_RELOC_PPC_B26: howto manager. (line 547)
+* BFD_RELOC_PPC_BA16: howto manager. (line 553)
+* BFD_RELOC_PPC_BA16_BRNTAKEN: howto manager. (line 555)
+* BFD_RELOC_PPC_BA16_BRTAKEN: howto manager. (line 554)
+* BFD_RELOC_PPC_BA26: howto manager. (line 548)
+* BFD_RELOC_PPC_COPY: howto manager. (line 556)
+* BFD_RELOC_PPC_DTPMOD: howto manager. (line 603)
+* BFD_RELOC_PPC_DTPREL: howto manager. (line 613)
+* BFD_RELOC_PPC_DTPREL16: howto manager. (line 609)
+* BFD_RELOC_PPC_DTPREL16_HA: howto manager. (line 612)
+* BFD_RELOC_PPC_DTPREL16_HI: howto manager. (line 611)
+* BFD_RELOC_PPC_DTPREL16_LO: howto manager. (line 610)
+* BFD_RELOC_PPC_EMB_BIT_FLD: howto manager. (line 575)
+* BFD_RELOC_PPC_EMB_MRKREF: howto manager. (line 570)
+* BFD_RELOC_PPC_EMB_NADDR16: howto manager. (line 562)
+* BFD_RELOC_PPC_EMB_NADDR16_HA: howto manager. (line 565)
+* BFD_RELOC_PPC_EMB_NADDR16_HI: howto manager. (line 564)
+* BFD_RELOC_PPC_EMB_NADDR16_LO: howto manager. (line 563)
+* BFD_RELOC_PPC_EMB_NADDR32: howto manager. (line 561)
+* BFD_RELOC_PPC_EMB_RELSDA: howto manager. (line 576)
+* BFD_RELOC_PPC_EMB_RELSEC16: howto manager. (line 571)
+* BFD_RELOC_PPC_EMB_RELST_HA: howto manager. (line 574)
+* BFD_RELOC_PPC_EMB_RELST_HI: howto manager. (line 573)
+* BFD_RELOC_PPC_EMB_RELST_LO: howto manager. (line 572)
+* BFD_RELOC_PPC_EMB_SDA21: howto manager. (line 569)
+* BFD_RELOC_PPC_EMB_SDA2I16: howto manager. (line 567)
+* BFD_RELOC_PPC_EMB_SDA2REL: howto manager. (line 568)
+* BFD_RELOC_PPC_EMB_SDAI16: howto manager. (line 566)
+* BFD_RELOC_PPC_GLOB_DAT: howto manager. (line 557)
+* BFD_RELOC_PPC_GOT_DTPREL16: howto manager. (line 626)
+* BFD_RELOC_PPC_GOT_DTPREL16_HA: howto manager. (line 629)
+* BFD_RELOC_PPC_GOT_DTPREL16_HI: howto manager. (line 628)
+* BFD_RELOC_PPC_GOT_DTPREL16_LO: howto manager. (line 627)
+* BFD_RELOC_PPC_GOT_TLSGD16: howto manager. (line 614)
+* BFD_RELOC_PPC_GOT_TLSGD16_HA: howto manager. (line 617)
+* BFD_RELOC_PPC_GOT_TLSGD16_HI: howto manager. (line 616)
+* BFD_RELOC_PPC_GOT_TLSGD16_LO: howto manager. (line 615)
+* BFD_RELOC_PPC_GOT_TLSLD16: howto manager. (line 618)
+* BFD_RELOC_PPC_GOT_TLSLD16_HA: howto manager. (line 621)
+* BFD_RELOC_PPC_GOT_TLSLD16_HI: howto manager. (line 620)
+* BFD_RELOC_PPC_GOT_TLSLD16_LO: howto manager. (line 619)
+* BFD_RELOC_PPC_GOT_TPREL16: howto manager. (line 622)
+* BFD_RELOC_PPC_GOT_TPREL16_HA: howto manager. (line 625)
+* BFD_RELOC_PPC_GOT_TPREL16_HI: howto manager. (line 624)
+* BFD_RELOC_PPC_GOT_TPREL16_LO: howto manager. (line 623)
+* BFD_RELOC_PPC_JMP_SLOT: howto manager. (line 558)
+* BFD_RELOC_PPC_LOCAL24PC: howto manager. (line 560)
+* BFD_RELOC_PPC_RELATIVE: howto manager. (line 559)
+* BFD_RELOC_PPC_TLS: howto manager. (line 602)
+* BFD_RELOC_PPC_TOC16: howto manager. (line 549)
+* BFD_RELOC_PPC_TPREL: howto manager. (line 608)
+* BFD_RELOC_PPC_TPREL16: howto manager. (line 604)
+* BFD_RELOC_PPC_TPREL16_HA: howto manager. (line 607)
+* BFD_RELOC_PPC_TPREL16_HI: howto manager. (line 606)
+* BFD_RELOC_PPC_TPREL16_LO: howto manager. (line 605)
+* BFD_RELOC_RELC: howto manager. (line 1955)
* BFD_RELOC_RVA: howto manager. (line 85)
-* BFD_RELOC_SCORE16_BRANCH: howto manager. (line 1535)
-* BFD_RELOC_SCORE16_JMP: howto manager. (line 1532)
-* BFD_RELOC_SCORE_BRANCH: howto manager. (line 1529)
-* BFD_RELOC_SCORE_CALL15: howto manager. (line 1540)
-* BFD_RELOC_SCORE_DUMMY1: howto manager. (line 1519)
-* BFD_RELOC_SCORE_DUMMY2: howto manager. (line 1525)
-* BFD_RELOC_SCORE_DUMMY_HI16: howto manager. (line 1541)
-* BFD_RELOC_SCORE_GOT15: howto manager. (line 1538)
-* BFD_RELOC_SCORE_GOT_LO16: howto manager. (line 1539)
-* BFD_RELOC_SCORE_GPREL15: howto manager. (line 1522)
-* BFD_RELOC_SCORE_JMP: howto manager. (line 1526)
-* BFD_RELOC_SH_ALIGN: howto manager. (line 800)
-* BFD_RELOC_SH_CODE: howto manager. (line 801)
-* BFD_RELOC_SH_COPY: howto manager. (line 806)
-* BFD_RELOC_SH_COPY64: howto manager. (line 831)
-* BFD_RELOC_SH_COUNT: howto manager. (line 799)
-* BFD_RELOC_SH_DATA: howto manager. (line 802)
-* BFD_RELOC_SH_DISP12: howto manager. (line 782)
-* BFD_RELOC_SH_DISP12BY2: howto manager. (line 783)
-* BFD_RELOC_SH_DISP12BY4: howto manager. (line 784)
-* BFD_RELOC_SH_DISP12BY8: howto manager. (line 785)
-* BFD_RELOC_SH_DISP20: howto manager. (line 786)
-* BFD_RELOC_SH_DISP20BY8: howto manager. (line 787)
-* BFD_RELOC_SH_GLOB_DAT: howto manager. (line 807)
-* BFD_RELOC_SH_GLOB_DAT64: howto manager. (line 832)
-* BFD_RELOC_SH_GOT10BY4: howto manager. (line 835)
-* BFD_RELOC_SH_GOT10BY8: howto manager. (line 836)
-* BFD_RELOC_SH_GOT_HI16: howto manager. (line 814)
-* BFD_RELOC_SH_GOT_LOW16: howto manager. (line 811)
-* BFD_RELOC_SH_GOT_MEDHI16: howto manager. (line 813)
-* BFD_RELOC_SH_GOT_MEDLOW16: howto manager. (line 812)
-* BFD_RELOC_SH_GOTOFF_HI16: howto manager. (line 826)
-* BFD_RELOC_SH_GOTOFF_LOW16: howto manager. (line 823)
-* BFD_RELOC_SH_GOTOFF_MEDHI16: howto manager. (line 825)
-* BFD_RELOC_SH_GOTOFF_MEDLOW16: howto manager. (line 824)
-* BFD_RELOC_SH_GOTPC: howto manager. (line 810)
-* BFD_RELOC_SH_GOTPC_HI16: howto manager. (line 830)
-* BFD_RELOC_SH_GOTPC_LOW16: howto manager. (line 827)
-* BFD_RELOC_SH_GOTPC_MEDHI16: howto manager. (line 829)
-* BFD_RELOC_SH_GOTPC_MEDLOW16: howto manager. (line 828)
-* BFD_RELOC_SH_GOTPLT10BY4: howto manager. (line 837)
-* BFD_RELOC_SH_GOTPLT10BY8: howto manager. (line 838)
-* BFD_RELOC_SH_GOTPLT32: howto manager. (line 839)
-* BFD_RELOC_SH_GOTPLT_HI16: howto manager. (line 818)
-* BFD_RELOC_SH_GOTPLT_LOW16: howto manager. (line 815)
-* BFD_RELOC_SH_GOTPLT_MEDHI16: howto manager. (line 817)
-* BFD_RELOC_SH_GOTPLT_MEDLOW16: howto manager. (line 816)
-* BFD_RELOC_SH_IMM3: howto manager. (line 780)
-* BFD_RELOC_SH_IMM3U: howto manager. (line 781)
-* BFD_RELOC_SH_IMM4: howto manager. (line 788)
-* BFD_RELOC_SH_IMM4BY2: howto manager. (line 789)
-* BFD_RELOC_SH_IMM4BY4: howto manager. (line 790)
-* BFD_RELOC_SH_IMM8: howto manager. (line 791)
-* BFD_RELOC_SH_IMM8BY2: howto manager. (line 792)
-* BFD_RELOC_SH_IMM8BY4: howto manager. (line 793)
-* BFD_RELOC_SH_IMM_HI16: howto manager. (line 857)
-* BFD_RELOC_SH_IMM_HI16_PCREL: howto manager. (line 858)
-* BFD_RELOC_SH_IMM_LOW16: howto manager. (line 851)
-* BFD_RELOC_SH_IMM_LOW16_PCREL: howto manager. (line 852)
-* BFD_RELOC_SH_IMM_MEDHI16: howto manager. (line 855)
-* BFD_RELOC_SH_IMM_MEDHI16_PCREL: howto manager. (line 856)
-* BFD_RELOC_SH_IMM_MEDLOW16: howto manager. (line 853)
-* BFD_RELOC_SH_IMM_MEDLOW16_PCREL: howto manager. (line 854)
-* BFD_RELOC_SH_IMMS10: howto manager. (line 845)
-* BFD_RELOC_SH_IMMS10BY2: howto manager. (line 846)
-* BFD_RELOC_SH_IMMS10BY4: howto manager. (line 847)
-* BFD_RELOC_SH_IMMS10BY8: howto manager. (line 848)
-* BFD_RELOC_SH_IMMS16: howto manager. (line 849)
-* BFD_RELOC_SH_IMMS6: howto manager. (line 842)
-* BFD_RELOC_SH_IMMS6BY32: howto manager. (line 843)
-* BFD_RELOC_SH_IMMU16: howto manager. (line 850)
-* BFD_RELOC_SH_IMMU5: howto manager. (line 841)
-* BFD_RELOC_SH_IMMU6: howto manager. (line 844)
-* BFD_RELOC_SH_JMP_SLOT: howto manager. (line 808)
-* BFD_RELOC_SH_JMP_SLOT64: howto manager. (line 833)
-* BFD_RELOC_SH_LABEL: howto manager. (line 803)
-* BFD_RELOC_SH_LOOP_END: howto manager. (line 805)
-* BFD_RELOC_SH_LOOP_START: howto manager. (line 804)
-* BFD_RELOC_SH_PCDISP12BY2: howto manager. (line 779)
-* BFD_RELOC_SH_PCDISP8BY2: howto manager. (line 778)
-* BFD_RELOC_SH_PCRELIMM8BY2: howto manager. (line 794)
-* BFD_RELOC_SH_PCRELIMM8BY4: howto manager. (line 795)
-* BFD_RELOC_SH_PLT_HI16: howto manager. (line 822)
-* BFD_RELOC_SH_PLT_LOW16: howto manager. (line 819)
-* BFD_RELOC_SH_PLT_MEDHI16: howto manager. (line 821)
-* BFD_RELOC_SH_PLT_MEDLOW16: howto manager. (line 820)
-* BFD_RELOC_SH_PT_16: howto manager. (line 859)
-* BFD_RELOC_SH_RELATIVE: howto manager. (line 809)
-* BFD_RELOC_SH_RELATIVE64: howto manager. (line 834)
-* BFD_RELOC_SH_SHMEDIA_CODE: howto manager. (line 840)
-* BFD_RELOC_SH_SWITCH16: howto manager. (line 796)
-* BFD_RELOC_SH_SWITCH32: howto manager. (line 797)
-* BFD_RELOC_SH_TLS_DTPMOD32: howto manager. (line 865)
-* BFD_RELOC_SH_TLS_DTPOFF32: howto manager. (line 866)
-* BFD_RELOC_SH_TLS_GD_32: howto manager. (line 860)
-* BFD_RELOC_SH_TLS_IE_32: howto manager. (line 863)
-* BFD_RELOC_SH_TLS_LD_32: howto manager. (line 861)
-* BFD_RELOC_SH_TLS_LDO_32: howto manager. (line 862)
-* BFD_RELOC_SH_TLS_LE_32: howto manager. (line 864)
-* BFD_RELOC_SH_TLS_TPOFF32: howto manager. (line 867)
-* BFD_RELOC_SH_USES: howto manager. (line 798)
+* BFD_RELOC_SCORE16_BRANCH: howto manager. (line 1581)
+* BFD_RELOC_SCORE16_JMP: howto manager. (line 1578)
+* BFD_RELOC_SCORE_BRANCH: howto manager. (line 1575)
+* BFD_RELOC_SCORE_CALL15: howto manager. (line 1586)
+* BFD_RELOC_SCORE_DUMMY1: howto manager. (line 1565)
+* BFD_RELOC_SCORE_DUMMY2: howto manager. (line 1571)
+* BFD_RELOC_SCORE_DUMMY_HI16: howto manager. (line 1587)
+* BFD_RELOC_SCORE_GOT15: howto manager. (line 1584)
+* BFD_RELOC_SCORE_GOT_LO16: howto manager. (line 1585)
+* BFD_RELOC_SCORE_GPREL15: howto manager. (line 1568)
+* BFD_RELOC_SCORE_JMP: howto manager. (line 1572)
+* BFD_RELOC_SH_ALIGN: howto manager. (line 824)
+* BFD_RELOC_SH_CODE: howto manager. (line 825)
+* BFD_RELOC_SH_COPY: howto manager. (line 830)
+* BFD_RELOC_SH_COPY64: howto manager. (line 855)
+* BFD_RELOC_SH_COUNT: howto manager. (line 823)
+* BFD_RELOC_SH_DATA: howto manager. (line 826)
+* BFD_RELOC_SH_DISP12: howto manager. (line 806)
+* BFD_RELOC_SH_DISP12BY2: howto manager. (line 807)
+* BFD_RELOC_SH_DISP12BY4: howto manager. (line 808)
+* BFD_RELOC_SH_DISP12BY8: howto manager. (line 809)
+* BFD_RELOC_SH_DISP20: howto manager. (line 810)
+* BFD_RELOC_SH_DISP20BY8: howto manager. (line 811)
+* BFD_RELOC_SH_GLOB_DAT: howto manager. (line 831)
+* BFD_RELOC_SH_GLOB_DAT64: howto manager. (line 856)
+* BFD_RELOC_SH_GOT10BY4: howto manager. (line 859)
+* BFD_RELOC_SH_GOT10BY8: howto manager. (line 860)
+* BFD_RELOC_SH_GOT_HI16: howto manager. (line 838)
+* BFD_RELOC_SH_GOT_LOW16: howto manager. (line 835)
+* BFD_RELOC_SH_GOT_MEDHI16: howto manager. (line 837)
+* BFD_RELOC_SH_GOT_MEDLOW16: howto manager. (line 836)
+* BFD_RELOC_SH_GOTOFF_HI16: howto manager. (line 850)
+* BFD_RELOC_SH_GOTOFF_LOW16: howto manager. (line 847)
+* BFD_RELOC_SH_GOTOFF_MEDHI16: howto manager. (line 849)
+* BFD_RELOC_SH_GOTOFF_MEDLOW16: howto manager. (line 848)
+* BFD_RELOC_SH_GOTPC: howto manager. (line 834)
+* BFD_RELOC_SH_GOTPC_HI16: howto manager. (line 854)
+* BFD_RELOC_SH_GOTPC_LOW16: howto manager. (line 851)
+* BFD_RELOC_SH_GOTPC_MEDHI16: howto manager. (line 853)
+* BFD_RELOC_SH_GOTPC_MEDLOW16: howto manager. (line 852)
+* BFD_RELOC_SH_GOTPLT10BY4: howto manager. (line 861)
+* BFD_RELOC_SH_GOTPLT10BY8: howto manager. (line 862)
+* BFD_RELOC_SH_GOTPLT32: howto manager. (line 863)
+* BFD_RELOC_SH_GOTPLT_HI16: howto manager. (line 842)
+* BFD_RELOC_SH_GOTPLT_LOW16: howto manager. (line 839)
+* BFD_RELOC_SH_GOTPLT_MEDHI16: howto manager. (line 841)
+* BFD_RELOC_SH_GOTPLT_MEDLOW16: howto manager. (line 840)
+* BFD_RELOC_SH_IMM3: howto manager. (line 804)
+* BFD_RELOC_SH_IMM3U: howto manager. (line 805)
+* BFD_RELOC_SH_IMM4: howto manager. (line 812)
+* BFD_RELOC_SH_IMM4BY2: howto manager. (line 813)
+* BFD_RELOC_SH_IMM4BY4: howto manager. (line 814)
+* BFD_RELOC_SH_IMM8: howto manager. (line 815)
+* BFD_RELOC_SH_IMM8BY2: howto manager. (line 816)
+* BFD_RELOC_SH_IMM8BY4: howto manager. (line 817)
+* BFD_RELOC_SH_IMM_HI16: howto manager. (line 881)
+* BFD_RELOC_SH_IMM_HI16_PCREL: howto manager. (line 882)
+* BFD_RELOC_SH_IMM_LOW16: howto manager. (line 875)
+* BFD_RELOC_SH_IMM_LOW16_PCREL: howto manager. (line 876)
+* BFD_RELOC_SH_IMM_MEDHI16: howto manager. (line 879)
+* BFD_RELOC_SH_IMM_MEDHI16_PCREL: howto manager. (line 880)
+* BFD_RELOC_SH_IMM_MEDLOW16: howto manager. (line 877)
+* BFD_RELOC_SH_IMM_MEDLOW16_PCREL: howto manager. (line 878)
+* BFD_RELOC_SH_IMMS10: howto manager. (line 869)
+* BFD_RELOC_SH_IMMS10BY2: howto manager. (line 870)
+* BFD_RELOC_SH_IMMS10BY4: howto manager. (line 871)
+* BFD_RELOC_SH_IMMS10BY8: howto manager. (line 872)
+* BFD_RELOC_SH_IMMS16: howto manager. (line 873)
+* BFD_RELOC_SH_IMMS6: howto manager. (line 866)
+* BFD_RELOC_SH_IMMS6BY32: howto manager. (line 867)
+* BFD_RELOC_SH_IMMU16: howto manager. (line 874)
+* BFD_RELOC_SH_IMMU5: howto manager. (line 865)
+* BFD_RELOC_SH_IMMU6: howto manager. (line 868)
+* BFD_RELOC_SH_JMP_SLOT: howto manager. (line 832)
+* BFD_RELOC_SH_JMP_SLOT64: howto manager. (line 857)
+* BFD_RELOC_SH_LABEL: howto manager. (line 827)
+* BFD_RELOC_SH_LOOP_END: howto manager. (line 829)
+* BFD_RELOC_SH_LOOP_START: howto manager. (line 828)
+* BFD_RELOC_SH_PCDISP12BY2: howto manager. (line 803)
+* BFD_RELOC_SH_PCDISP8BY2: howto manager. (line 802)
+* BFD_RELOC_SH_PCRELIMM8BY2: howto manager. (line 818)
+* BFD_RELOC_SH_PCRELIMM8BY4: howto manager. (line 819)
+* BFD_RELOC_SH_PLT_HI16: howto manager. (line 846)
+* BFD_RELOC_SH_PLT_LOW16: howto manager. (line 843)
+* BFD_RELOC_SH_PLT_MEDHI16: howto manager. (line 845)
+* BFD_RELOC_SH_PLT_MEDLOW16: howto manager. (line 844)
+* BFD_RELOC_SH_PT_16: howto manager. (line 883)
+* BFD_RELOC_SH_RELATIVE: howto manager. (line 833)
+* BFD_RELOC_SH_RELATIVE64: howto manager. (line 858)
+* BFD_RELOC_SH_SHMEDIA_CODE: howto manager. (line 864)
+* BFD_RELOC_SH_SWITCH16: howto manager. (line 820)
+* BFD_RELOC_SH_SWITCH32: howto manager. (line 821)
+* BFD_RELOC_SH_TLS_DTPMOD32: howto manager. (line 889)
+* BFD_RELOC_SH_TLS_DTPOFF32: howto manager. (line 890)
+* BFD_RELOC_SH_TLS_GD_32: howto manager. (line 884)
+* BFD_RELOC_SH_TLS_IE_32: howto manager. (line 887)
+* BFD_RELOC_SH_TLS_LD_32: howto manager. (line 885)
+* BFD_RELOC_SH_TLS_LDO_32: howto manager. (line 886)
+* BFD_RELOC_SH_TLS_LE_32: howto manager. (line 888)
+* BFD_RELOC_SH_TLS_TPOFF32: howto manager. (line 891)
+* BFD_RELOC_SH_USES: howto manager. (line 822)
* BFD_RELOC_SPARC13: howto manager. (line 119)
* BFD_RELOC_SPARC22: howto manager. (line 118)
-* BFD_RELOC_SPARC_10: howto manager. (line 141)
-* BFD_RELOC_SPARC_11: howto manager. (line 142)
-* BFD_RELOC_SPARC_5: howto manager. (line 154)
-* BFD_RELOC_SPARC_6: howto manager. (line 153)
-* BFD_RELOC_SPARC_64: howto manager. (line 140)
-* BFD_RELOC_SPARC_7: howto manager. (line 152)
-* BFD_RELOC_SPARC_BASE13: howto manager. (line 136)
-* BFD_RELOC_SPARC_BASE22: howto manager. (line 137)
+* BFD_RELOC_SPARC_10: howto manager. (line 146)
+* BFD_RELOC_SPARC_11: howto manager. (line 147)
+* BFD_RELOC_SPARC_5: howto manager. (line 159)
+* BFD_RELOC_SPARC_6: howto manager. (line 158)
+* BFD_RELOC_SPARC_64: howto manager. (line 145)
+* BFD_RELOC_SPARC_7: howto manager. (line 157)
+* BFD_RELOC_SPARC_BASE13: howto manager. (line 141)
+* BFD_RELOC_SPARC_BASE22: howto manager. (line 142)
* BFD_RELOC_SPARC_COPY: howto manager. (line 126)
-* BFD_RELOC_SPARC_DISP64: howto manager. (line 155)
+* BFD_RELOC_SPARC_DISP64: howto manager. (line 160)
* BFD_RELOC_SPARC_GLOB_DAT: howto manager. (line 127)
* BFD_RELOC_SPARC_GOT10: howto manager. (line 120)
* BFD_RELOC_SPARC_GOT13: howto manager. (line 121)
* BFD_RELOC_SPARC_GOT22: howto manager. (line 122)
-* BFD_RELOC_SPARC_H44: howto manager. (line 160)
-* BFD_RELOC_SPARC_HH22: howto manager. (line 144)
-* BFD_RELOC_SPARC_HIX22: howto manager. (line 158)
-* BFD_RELOC_SPARC_HM10: howto manager. (line 145)
+* BFD_RELOC_SPARC_GOTDATA_HIX22: howto manager. (line 133)
+* BFD_RELOC_SPARC_GOTDATA_LOX10: howto manager. (line 134)
+* BFD_RELOC_SPARC_GOTDATA_OP: howto manager. (line 137)
+* BFD_RELOC_SPARC_GOTDATA_OP_HIX22: howto manager. (line 135)
+* BFD_RELOC_SPARC_GOTDATA_OP_LOX10: howto manager. (line 136)
+* BFD_RELOC_SPARC_H44: howto manager. (line 165)
+* BFD_RELOC_SPARC_HH22: howto manager. (line 149)
+* BFD_RELOC_SPARC_HIX22: howto manager. (line 163)
+* BFD_RELOC_SPARC_HM10: howto manager. (line 150)
* BFD_RELOC_SPARC_JMP_SLOT: howto manager. (line 128)
-* BFD_RELOC_SPARC_L44: howto manager. (line 162)
-* BFD_RELOC_SPARC_LM22: howto manager. (line 146)
-* BFD_RELOC_SPARC_LOX10: howto manager. (line 159)
-* BFD_RELOC_SPARC_M44: howto manager. (line 161)
-* BFD_RELOC_SPARC_OLO10: howto manager. (line 143)
+* BFD_RELOC_SPARC_L44: howto manager. (line 167)
+* BFD_RELOC_SPARC_LM22: howto manager. (line 151)
+* BFD_RELOC_SPARC_LOX10: howto manager. (line 164)
+* BFD_RELOC_SPARC_M44: howto manager. (line 166)
+* BFD_RELOC_SPARC_OLO10: howto manager. (line 148)
* BFD_RELOC_SPARC_PC10: howto manager. (line 123)
* BFD_RELOC_SPARC_PC22: howto manager. (line 124)
-* BFD_RELOC_SPARC_PC_HH22: howto manager. (line 147)
-* BFD_RELOC_SPARC_PC_HM10: howto manager. (line 148)
-* BFD_RELOC_SPARC_PC_LM22: howto manager. (line 149)
-* BFD_RELOC_SPARC_PLT32: howto manager. (line 156)
-* BFD_RELOC_SPARC_PLT64: howto manager. (line 157)
-* BFD_RELOC_SPARC_REGISTER: howto manager. (line 163)
+* BFD_RELOC_SPARC_PC_HH22: howto manager. (line 152)
+* BFD_RELOC_SPARC_PC_HM10: howto manager. (line 153)
+* BFD_RELOC_SPARC_PC_LM22: howto manager. (line 154)
+* BFD_RELOC_SPARC_PLT32: howto manager. (line 161)
+* BFD_RELOC_SPARC_PLT64: howto manager. (line 162)
+* BFD_RELOC_SPARC_REGISTER: howto manager. (line 168)
* BFD_RELOC_SPARC_RELATIVE: howto manager. (line 129)
-* BFD_RELOC_SPARC_REV32: howto manager. (line 166)
-* BFD_RELOC_SPARC_TLS_DTPMOD32: howto manager. (line 187)
-* BFD_RELOC_SPARC_TLS_DTPMOD64: howto manager. (line 188)
-* BFD_RELOC_SPARC_TLS_DTPOFF32: howto manager. (line 189)
-* BFD_RELOC_SPARC_TLS_DTPOFF64: howto manager. (line 190)
-* BFD_RELOC_SPARC_TLS_GD_ADD: howto manager. (line 171)
-* BFD_RELOC_SPARC_TLS_GD_CALL: howto manager. (line 172)
-* BFD_RELOC_SPARC_TLS_GD_HI22: howto manager. (line 169)
-* BFD_RELOC_SPARC_TLS_GD_LO10: howto manager. (line 170)
-* BFD_RELOC_SPARC_TLS_IE_ADD: howto manager. (line 184)
-* BFD_RELOC_SPARC_TLS_IE_HI22: howto manager. (line 180)
-* BFD_RELOC_SPARC_TLS_IE_LD: howto manager. (line 182)
-* BFD_RELOC_SPARC_TLS_IE_LDX: howto manager. (line 183)
-* BFD_RELOC_SPARC_TLS_IE_LO10: howto manager. (line 181)
-* BFD_RELOC_SPARC_TLS_LDM_ADD: howto manager. (line 175)
-* BFD_RELOC_SPARC_TLS_LDM_CALL: howto manager. (line 176)
-* BFD_RELOC_SPARC_TLS_LDM_HI22: howto manager. (line 173)
-* BFD_RELOC_SPARC_TLS_LDM_LO10: howto manager. (line 174)
-* BFD_RELOC_SPARC_TLS_LDO_ADD: howto manager. (line 179)
-* BFD_RELOC_SPARC_TLS_LDO_HIX22: howto manager. (line 177)
-* BFD_RELOC_SPARC_TLS_LDO_LOX10: howto manager. (line 178)
-* BFD_RELOC_SPARC_TLS_LE_HIX22: howto manager. (line 185)
-* BFD_RELOC_SPARC_TLS_LE_LOX10: howto manager. (line 186)
-* BFD_RELOC_SPARC_TLS_TPOFF32: howto manager. (line 191)
-* BFD_RELOC_SPARC_TLS_TPOFF64: howto manager. (line 192)
+* BFD_RELOC_SPARC_REV32: howto manager. (line 171)
+* BFD_RELOC_SPARC_TLS_DTPMOD32: howto manager. (line 192)
+* BFD_RELOC_SPARC_TLS_DTPMOD64: howto manager. (line 193)
+* BFD_RELOC_SPARC_TLS_DTPOFF32: howto manager. (line 194)
+* BFD_RELOC_SPARC_TLS_DTPOFF64: howto manager. (line 195)
+* BFD_RELOC_SPARC_TLS_GD_ADD: howto manager. (line 176)
+* BFD_RELOC_SPARC_TLS_GD_CALL: howto manager. (line 177)
+* BFD_RELOC_SPARC_TLS_GD_HI22: howto manager. (line 174)
+* BFD_RELOC_SPARC_TLS_GD_LO10: howto manager. (line 175)
+* BFD_RELOC_SPARC_TLS_IE_ADD: howto manager. (line 189)
+* BFD_RELOC_SPARC_TLS_IE_HI22: howto manager. (line 185)
+* BFD_RELOC_SPARC_TLS_IE_LD: howto manager. (line 187)
+* BFD_RELOC_SPARC_TLS_IE_LDX: howto manager. (line 188)
+* BFD_RELOC_SPARC_TLS_IE_LO10: howto manager. (line 186)
+* BFD_RELOC_SPARC_TLS_LDM_ADD: howto manager. (line 180)
+* BFD_RELOC_SPARC_TLS_LDM_CALL: howto manager. (line 181)
+* BFD_RELOC_SPARC_TLS_LDM_HI22: howto manager. (line 178)
+* BFD_RELOC_SPARC_TLS_LDM_LO10: howto manager. (line 179)
+* BFD_RELOC_SPARC_TLS_LDO_ADD: howto manager. (line 184)
+* BFD_RELOC_SPARC_TLS_LDO_HIX22: howto manager. (line 182)
+* BFD_RELOC_SPARC_TLS_LDO_LOX10: howto manager. (line 183)
+* BFD_RELOC_SPARC_TLS_LE_HIX22: howto manager. (line 190)
+* BFD_RELOC_SPARC_TLS_LE_LOX10: howto manager. (line 191)
+* BFD_RELOC_SPARC_TLS_TPOFF32: howto manager. (line 196)
+* BFD_RELOC_SPARC_TLS_TPOFF64: howto manager. (line 197)
* BFD_RELOC_SPARC_UA16: howto manager. (line 130)
* BFD_RELOC_SPARC_UA32: howto manager. (line 131)
* BFD_RELOC_SPARC_UA64: howto manager. (line 132)
-* BFD_RELOC_SPARC_WDISP16: howto manager. (line 150)
-* BFD_RELOC_SPARC_WDISP19: howto manager. (line 151)
+* BFD_RELOC_SPARC_WDISP16: howto manager. (line 155)
+* BFD_RELOC_SPARC_WDISP19: howto manager. (line 156)
* BFD_RELOC_SPARC_WDISP22: howto manager. (line 117)
* BFD_RELOC_SPARC_WPLT30: howto manager. (line 125)
-* BFD_RELOC_SPU_HI16: howto manager. (line 206)
-* BFD_RELOC_SPU_IMM10: howto manager. (line 197)
-* BFD_RELOC_SPU_IMM10W: howto manager. (line 198)
-* BFD_RELOC_SPU_IMM16: howto manager. (line 199)
-* BFD_RELOC_SPU_IMM16W: howto manager. (line 200)
-* BFD_RELOC_SPU_IMM18: howto manager. (line 201)
-* BFD_RELOC_SPU_IMM7: howto manager. (line 195)
-* BFD_RELOC_SPU_IMM8: howto manager. (line 196)
-* BFD_RELOC_SPU_LO16: howto manager. (line 205)
-* BFD_RELOC_SPU_PCREL16: howto manager. (line 204)
-* BFD_RELOC_SPU_PCREL9a: howto manager. (line 202)
-* BFD_RELOC_SPU_PCREL9b: howto manager. (line 203)
-* BFD_RELOC_THUMB_PCREL_BLX: howto manager. (line 641)
-* BFD_RELOC_THUMB_PCREL_BRANCH12: howto manager. (line 655)
-* BFD_RELOC_THUMB_PCREL_BRANCH20: howto manager. (line 656)
-* BFD_RELOC_THUMB_PCREL_BRANCH23: howto manager. (line 657)
-* BFD_RELOC_THUMB_PCREL_BRANCH25: howto manager. (line 658)
-* BFD_RELOC_THUMB_PCREL_BRANCH7: howto manager. (line 653)
-* BFD_RELOC_THUMB_PCREL_BRANCH9: howto manager. (line 654)
-* BFD_RELOC_TIC30_LDP: howto manager. (line 1194)
-* BFD_RELOC_TIC54X_16_OF_23: howto manager. (line 1212)
-* BFD_RELOC_TIC54X_23: howto manager. (line 1209)
-* BFD_RELOC_TIC54X_MS7_OF_23: howto manager. (line 1217)
-* BFD_RELOC_TIC54X_PARTLS7: howto manager. (line 1199)
-* BFD_RELOC_TIC54X_PARTMS9: howto manager. (line 1204)
-* bfd_reloc_type_lookup: howto manager. (line 2012)
-* BFD_RELOC_V850_22_PCREL: howto manager. (line 1121)
-* BFD_RELOC_V850_9_PCREL: howto manager. (line 1118)
-* BFD_RELOC_V850_ALIGN: howto manager. (line 1179)
-* BFD_RELOC_V850_CALLT_16_16_OFFSET: howto manager. (line 1170)
-* BFD_RELOC_V850_CALLT_6_7_OFFSET: howto manager. (line 1167)
-* BFD_RELOC_V850_LO16_SPLIT_OFFSET: howto manager. (line 1182)
-* BFD_RELOC_V850_LONGCALL: howto manager. (line 1173)
-* BFD_RELOC_V850_LONGJUMP: howto manager. (line 1176)
-* BFD_RELOC_V850_SDA_15_16_OFFSET: howto manager. (line 1127)
-* BFD_RELOC_V850_SDA_16_16_OFFSET: howto manager. (line 1124)
-* BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET: howto manager. (line 1159)
-* BFD_RELOC_V850_TDA_16_16_OFFSET: howto manager. (line 1149)
-* BFD_RELOC_V850_TDA_4_4_OFFSET: howto manager. (line 1156)
-* BFD_RELOC_V850_TDA_4_5_OFFSET: howto manager. (line 1152)
-* BFD_RELOC_V850_TDA_6_8_OFFSET: howto manager. (line 1138)
-* BFD_RELOC_V850_TDA_7_7_OFFSET: howto manager. (line 1146)
-* BFD_RELOC_V850_TDA_7_8_OFFSET: howto manager. (line 1142)
-* BFD_RELOC_V850_ZDA_15_16_OFFSET: howto manager. (line 1134)
-* BFD_RELOC_V850_ZDA_16_16_OFFSET: howto manager. (line 1131)
-* BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET: howto manager. (line 1163)
-* BFD_RELOC_VAX_GLOB_DAT: howto manager. (line 1883)
-* BFD_RELOC_VAX_JMP_SLOT: howto manager. (line 1884)
-* BFD_RELOC_VAX_RELATIVE: howto manager. (line 1885)
-* BFD_RELOC_VPE4KMATH_DATA: howto manager. (line 1574)
-* BFD_RELOC_VPE4KMATH_INSN: howto manager. (line 1575)
-* BFD_RELOC_VTABLE_ENTRY: howto manager. (line 1579)
-* BFD_RELOC_VTABLE_INHERIT: howto manager. (line 1578)
-* BFD_RELOC_X86_64_32S: howto manager. (line 479)
-* BFD_RELOC_X86_64_COPY: howto manager. (line 474)
-* BFD_RELOC_X86_64_DTPMOD64: howto manager. (line 480)
-* BFD_RELOC_X86_64_DTPOFF32: howto manager. (line 485)
-* BFD_RELOC_X86_64_DTPOFF64: howto manager. (line 481)
-* BFD_RELOC_X86_64_GLOB_DAT: howto manager. (line 475)
-* BFD_RELOC_X86_64_GOT32: howto manager. (line 472)
-* BFD_RELOC_X86_64_GOT64: howto manager. (line 490)
-* BFD_RELOC_X86_64_GOTOFF64: howto manager. (line 488)
-* BFD_RELOC_X86_64_GOTPC32: howto manager. (line 489)
-* BFD_RELOC_X86_64_GOTPC32_TLSDESC: howto manager. (line 495)
-* BFD_RELOC_X86_64_GOTPC64: howto manager. (line 492)
-* BFD_RELOC_X86_64_GOTPCREL: howto manager. (line 478)
-* BFD_RELOC_X86_64_GOTPCREL64: howto manager. (line 491)
-* BFD_RELOC_X86_64_GOTPLT64: howto manager. (line 493)
-* BFD_RELOC_X86_64_GOTTPOFF: howto manager. (line 486)
-* BFD_RELOC_X86_64_JUMP_SLOT: howto manager. (line 476)
-* BFD_RELOC_X86_64_PLT32: howto manager. (line 473)
-* BFD_RELOC_X86_64_PLTOFF64: howto manager. (line 494)
-* BFD_RELOC_X86_64_RELATIVE: howto manager. (line 477)
-* BFD_RELOC_X86_64_TLSDESC: howto manager. (line 497)
-* BFD_RELOC_X86_64_TLSDESC_CALL: howto manager. (line 496)
-* BFD_RELOC_X86_64_TLSGD: howto manager. (line 483)
-* BFD_RELOC_X86_64_TLSLD: howto manager. (line 484)
-* BFD_RELOC_X86_64_TPOFF32: howto manager. (line 487)
-* BFD_RELOC_X86_64_TPOFF64: howto manager. (line 482)
-* BFD_RELOC_XC16X_PAG: howto manager. (line 1877)
-* BFD_RELOC_XC16X_POF: howto manager. (line 1878)
-* BFD_RELOC_XC16X_SEG: howto manager. (line 1879)
-* BFD_RELOC_XC16X_SOF: howto manager. (line 1880)
-* BFD_RELOC_XSTORMY16_12: howto manager. (line 1872)
-* BFD_RELOC_XSTORMY16_24: howto manager. (line 1873)
-* BFD_RELOC_XSTORMY16_FPTR16: howto manager. (line 1874)
-* BFD_RELOC_XSTORMY16_REL_12: howto manager. (line 1871)
-* BFD_RELOC_XTENSA_ASM_EXPAND: howto manager. (line 1989)
-* BFD_RELOC_XTENSA_ASM_SIMPLIFY: howto manager. (line 1994)
-* BFD_RELOC_XTENSA_DIFF16: howto manager. (line 1936)
-* BFD_RELOC_XTENSA_DIFF32: howto manager. (line 1937)
-* BFD_RELOC_XTENSA_DIFF8: howto manager. (line 1935)
-* BFD_RELOC_XTENSA_GLOB_DAT: howto manager. (line 1925)
-* BFD_RELOC_XTENSA_JMP_SLOT: howto manager. (line 1926)
-* BFD_RELOC_XTENSA_OP0: howto manager. (line 1983)
-* BFD_RELOC_XTENSA_OP1: howto manager. (line 1984)
-* BFD_RELOC_XTENSA_OP2: howto manager. (line 1985)
-* BFD_RELOC_XTENSA_PLT: howto manager. (line 1930)
-* BFD_RELOC_XTENSA_RELATIVE: howto manager. (line 1927)
-* BFD_RELOC_XTENSA_RTLD: howto manager. (line 1920)
-* BFD_RELOC_XTENSA_SLOT0_ALT: howto manager. (line 1965)
-* BFD_RELOC_XTENSA_SLOT0_OP: howto manager. (line 1945)
-* BFD_RELOC_XTENSA_SLOT10_ALT: howto manager. (line 1975)
-* BFD_RELOC_XTENSA_SLOT10_OP: howto manager. (line 1955)
-* BFD_RELOC_XTENSA_SLOT11_ALT: howto manager. (line 1976)
-* BFD_RELOC_XTENSA_SLOT11_OP: howto manager. (line 1956)
-* BFD_RELOC_XTENSA_SLOT12_ALT: howto manager. (line 1977)
-* BFD_RELOC_XTENSA_SLOT12_OP: howto manager. (line 1957)
-* BFD_RELOC_XTENSA_SLOT13_ALT: howto manager. (line 1978)
-* BFD_RELOC_XTENSA_SLOT13_OP: howto manager. (line 1958)
-* BFD_RELOC_XTENSA_SLOT14_ALT: howto manager. (line 1979)
-* BFD_RELOC_XTENSA_SLOT14_OP: howto manager. (line 1959)
-* BFD_RELOC_XTENSA_SLOT1_ALT: howto manager. (line 1966)
-* BFD_RELOC_XTENSA_SLOT1_OP: howto manager. (line 1946)
-* BFD_RELOC_XTENSA_SLOT2_ALT: howto manager. (line 1967)
-* BFD_RELOC_XTENSA_SLOT2_OP: howto manager. (line 1947)
-* BFD_RELOC_XTENSA_SLOT3_ALT: howto manager. (line 1968)
-* BFD_RELOC_XTENSA_SLOT3_OP: howto manager. (line 1948)
-* BFD_RELOC_XTENSA_SLOT4_ALT: howto manager. (line 1969)
-* BFD_RELOC_XTENSA_SLOT4_OP: howto manager. (line 1949)
-* BFD_RELOC_XTENSA_SLOT5_ALT: howto manager. (line 1970)
-* BFD_RELOC_XTENSA_SLOT5_OP: howto manager. (line 1950)
-* BFD_RELOC_XTENSA_SLOT6_ALT: howto manager. (line 1971)
-* BFD_RELOC_XTENSA_SLOT6_OP: howto manager. (line 1951)
-* BFD_RELOC_XTENSA_SLOT7_ALT: howto manager. (line 1972)
-* BFD_RELOC_XTENSA_SLOT7_OP: howto manager. (line 1952)
-* BFD_RELOC_XTENSA_SLOT8_ALT: howto manager. (line 1973)
-* BFD_RELOC_XTENSA_SLOT8_OP: howto manager. (line 1953)
-* BFD_RELOC_XTENSA_SLOT9_ALT: howto manager. (line 1974)
-* BFD_RELOC_XTENSA_SLOT9_OP: howto manager. (line 1954)
-* BFD_RELOC_Z80_DISP8: howto manager. (line 1999)
-* BFD_RELOC_Z8K_CALLR: howto manager. (line 2005)
-* BFD_RELOC_Z8K_DISP7: howto manager. (line 2002)
-* BFD_RELOC_Z8K_IMM4L: howto manager. (line 2008)
-* bfd_scan_arch: Architectures. (line 397)
-* bfd_scan_vma: BFD front end. (line 426)
-* bfd_seach_for_target: bfd_target. (line 460)
+* BFD_RELOC_SPU_HI16: howto manager. (line 211)
+* BFD_RELOC_SPU_IMM10: howto manager. (line 202)
+* BFD_RELOC_SPU_IMM10W: howto manager. (line 203)
+* BFD_RELOC_SPU_IMM16: howto manager. (line 204)
+* BFD_RELOC_SPU_IMM16W: howto manager. (line 205)
+* BFD_RELOC_SPU_IMM18: howto manager. (line 206)
+* BFD_RELOC_SPU_IMM7: howto manager. (line 200)
+* BFD_RELOC_SPU_IMM8: howto manager. (line 201)
+* BFD_RELOC_SPU_LO16: howto manager. (line 210)
+* BFD_RELOC_SPU_PCREL16: howto manager. (line 209)
+* BFD_RELOC_SPU_PCREL9a: howto manager. (line 207)
+* BFD_RELOC_SPU_PCREL9b: howto manager. (line 208)
+* BFD_RELOC_SPU_PPU32: howto manager. (line 212)
+* BFD_RELOC_SPU_PPU64: howto manager. (line 213)
+* BFD_RELOC_THUMB_PCREL_BLX: howto manager. (line 662)
+* BFD_RELOC_THUMB_PCREL_BRANCH12: howto manager. (line 676)
+* BFD_RELOC_THUMB_PCREL_BRANCH20: howto manager. (line 677)
+* BFD_RELOC_THUMB_PCREL_BRANCH23: howto manager. (line 678)
+* BFD_RELOC_THUMB_PCREL_BRANCH25: howto manager. (line 679)
+* BFD_RELOC_THUMB_PCREL_BRANCH7: howto manager. (line 674)
+* BFD_RELOC_THUMB_PCREL_BRANCH9: howto manager. (line 675)
+* BFD_RELOC_TIC30_LDP: howto manager. (line 1218)
+* BFD_RELOC_TIC54X_16_OF_23: howto manager. (line 1236)
+* BFD_RELOC_TIC54X_23: howto manager. (line 1233)
+* BFD_RELOC_TIC54X_MS7_OF_23: howto manager. (line 1241)
+* BFD_RELOC_TIC54X_PARTLS7: howto manager. (line 1223)
+* BFD_RELOC_TIC54X_PARTMS9: howto manager. (line 1228)
+* bfd_reloc_type_lookup: howto manager. (line 2102)
+* BFD_RELOC_V850_22_PCREL: howto manager. (line 1145)
+* BFD_RELOC_V850_9_PCREL: howto manager. (line 1142)
+* BFD_RELOC_V850_ALIGN: howto manager. (line 1203)
+* BFD_RELOC_V850_CALLT_16_16_OFFSET: howto manager. (line 1194)
+* BFD_RELOC_V850_CALLT_6_7_OFFSET: howto manager. (line 1191)
+* BFD_RELOC_V850_LO16_SPLIT_OFFSET: howto manager. (line 1206)
+* BFD_RELOC_V850_LONGCALL: howto manager. (line 1197)
+* BFD_RELOC_V850_LONGJUMP: howto manager. (line 1200)
+* BFD_RELOC_V850_SDA_15_16_OFFSET: howto manager. (line 1151)
+* BFD_RELOC_V850_SDA_16_16_OFFSET: howto manager. (line 1148)
+* BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET: howto manager. (line 1183)
+* BFD_RELOC_V850_TDA_16_16_OFFSET: howto manager. (line 1173)
+* BFD_RELOC_V850_TDA_4_4_OFFSET: howto manager. (line 1180)
+* BFD_RELOC_V850_TDA_4_5_OFFSET: howto manager. (line 1176)
+* BFD_RELOC_V850_TDA_6_8_OFFSET: howto manager. (line 1162)
+* BFD_RELOC_V850_TDA_7_7_OFFSET: howto manager. (line 1170)
+* BFD_RELOC_V850_TDA_7_8_OFFSET: howto manager. (line 1166)
+* BFD_RELOC_V850_ZDA_15_16_OFFSET: howto manager. (line 1158)
+* BFD_RELOC_V850_ZDA_16_16_OFFSET: howto manager. (line 1155)
+* BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET: howto manager. (line 1187)
+* BFD_RELOC_VAX_GLOB_DAT: howto manager. (line 1964)
+* BFD_RELOC_VAX_JMP_SLOT: howto manager. (line 1965)
+* BFD_RELOC_VAX_RELATIVE: howto manager. (line 1966)
+* BFD_RELOC_VPE4KMATH_DATA: howto manager. (line 1620)
+* BFD_RELOC_VPE4KMATH_INSN: howto manager. (line 1621)
+* BFD_RELOC_VTABLE_ENTRY: howto manager. (line 1625)
+* BFD_RELOC_VTABLE_INHERIT: howto manager. (line 1624)
+* BFD_RELOC_X86_64_32S: howto manager. (line 500)
+* BFD_RELOC_X86_64_COPY: howto manager. (line 495)
+* BFD_RELOC_X86_64_DTPMOD64: howto manager. (line 501)
+* BFD_RELOC_X86_64_DTPOFF32: howto manager. (line 506)
+* BFD_RELOC_X86_64_DTPOFF64: howto manager. (line 502)
+* BFD_RELOC_X86_64_GLOB_DAT: howto manager. (line 496)
+* BFD_RELOC_X86_64_GOT32: howto manager. (line 493)
+* BFD_RELOC_X86_64_GOT64: howto manager. (line 511)
+* BFD_RELOC_X86_64_GOTOFF64: howto manager. (line 509)
+* BFD_RELOC_X86_64_GOTPC32: howto manager. (line 510)
+* BFD_RELOC_X86_64_GOTPC32_TLSDESC: howto manager. (line 516)
+* BFD_RELOC_X86_64_GOTPC64: howto manager. (line 513)
+* BFD_RELOC_X86_64_GOTPCREL: howto manager. (line 499)
+* BFD_RELOC_X86_64_GOTPCREL64: howto manager. (line 512)
+* BFD_RELOC_X86_64_GOTPLT64: howto manager. (line 514)
+* BFD_RELOC_X86_64_GOTTPOFF: howto manager. (line 507)
+* BFD_RELOC_X86_64_JUMP_SLOT: howto manager. (line 497)
+* BFD_RELOC_X86_64_PLT32: howto manager. (line 494)
+* BFD_RELOC_X86_64_PLTOFF64: howto manager. (line 515)
+* BFD_RELOC_X86_64_RELATIVE: howto manager. (line 498)
+* BFD_RELOC_X86_64_TLSDESC: howto manager. (line 518)
+* BFD_RELOC_X86_64_TLSDESC_CALL: howto manager. (line 517)
+* BFD_RELOC_X86_64_TLSGD: howto manager. (line 504)
+* BFD_RELOC_X86_64_TLSLD: howto manager. (line 505)
+* BFD_RELOC_X86_64_TPOFF32: howto manager. (line 508)
+* BFD_RELOC_X86_64_TPOFF64: howto manager. (line 503)
+* BFD_RELOC_XC16X_PAG: howto manager. (line 1958)
+* BFD_RELOC_XC16X_POF: howto manager. (line 1959)
+* BFD_RELOC_XC16X_SEG: howto manager. (line 1960)
+* BFD_RELOC_XC16X_SOF: howto manager. (line 1961)
+* BFD_RELOC_XSTORMY16_12: howto manager. (line 1950)
+* BFD_RELOC_XSTORMY16_24: howto manager. (line 1951)
+* BFD_RELOC_XSTORMY16_FPTR16: howto manager. (line 1952)
+* BFD_RELOC_XSTORMY16_REL_12: howto manager. (line 1949)
+* BFD_RELOC_XTENSA_ASM_EXPAND: howto manager. (line 2070)
+* BFD_RELOC_XTENSA_ASM_SIMPLIFY: howto manager. (line 2075)
+* BFD_RELOC_XTENSA_DIFF16: howto manager. (line 2017)
+* BFD_RELOC_XTENSA_DIFF32: howto manager. (line 2018)
+* BFD_RELOC_XTENSA_DIFF8: howto manager. (line 2016)
+* BFD_RELOC_XTENSA_GLOB_DAT: howto manager. (line 2006)
+* BFD_RELOC_XTENSA_JMP_SLOT: howto manager. (line 2007)
+* BFD_RELOC_XTENSA_OP0: howto manager. (line 2064)
+* BFD_RELOC_XTENSA_OP1: howto manager. (line 2065)
+* BFD_RELOC_XTENSA_OP2: howto manager. (line 2066)
+* BFD_RELOC_XTENSA_PLT: howto manager. (line 2011)
+* BFD_RELOC_XTENSA_RELATIVE: howto manager. (line 2008)
+* BFD_RELOC_XTENSA_RTLD: howto manager. (line 2001)
+* BFD_RELOC_XTENSA_SLOT0_ALT: howto manager. (line 2046)
+* BFD_RELOC_XTENSA_SLOT0_OP: howto manager. (line 2026)
+* BFD_RELOC_XTENSA_SLOT10_ALT: howto manager. (line 2056)
+* BFD_RELOC_XTENSA_SLOT10_OP: howto manager. (line 2036)
+* BFD_RELOC_XTENSA_SLOT11_ALT: howto manager. (line 2057)
+* BFD_RELOC_XTENSA_SLOT11_OP: howto manager. (line 2037)
+* BFD_RELOC_XTENSA_SLOT12_ALT: howto manager. (line 2058)
+* BFD_RELOC_XTENSA_SLOT12_OP: howto manager. (line 2038)
+* BFD_RELOC_XTENSA_SLOT13_ALT: howto manager. (line 2059)
+* BFD_RELOC_XTENSA_SLOT13_OP: howto manager. (line 2039)
+* BFD_RELOC_XTENSA_SLOT14_ALT: howto manager. (line 2060)
+* BFD_RELOC_XTENSA_SLOT14_OP: howto manager. (line 2040)
+* BFD_RELOC_XTENSA_SLOT1_ALT: howto manager. (line 2047)
+* BFD_RELOC_XTENSA_SLOT1_OP: howto manager. (line 2027)
+* BFD_RELOC_XTENSA_SLOT2_ALT: howto manager. (line 2048)
+* BFD_RELOC_XTENSA_SLOT2_OP: howto manager. (line 2028)
+* BFD_RELOC_XTENSA_SLOT3_ALT: howto manager. (line 2049)
+* BFD_RELOC_XTENSA_SLOT3_OP: howto manager. (line 2029)
+* BFD_RELOC_XTENSA_SLOT4_ALT: howto manager. (line 2050)
+* BFD_RELOC_XTENSA_SLOT4_OP: howto manager. (line 2030)
+* BFD_RELOC_XTENSA_SLOT5_ALT: howto manager. (line 2051)
+* BFD_RELOC_XTENSA_SLOT5_OP: howto manager. (line 2031)
+* BFD_RELOC_XTENSA_SLOT6_ALT: howto manager. (line 2052)
+* BFD_RELOC_XTENSA_SLOT6_OP: howto manager. (line 2032)
+* BFD_RELOC_XTENSA_SLOT7_ALT: howto manager. (line 2053)
+* BFD_RELOC_XTENSA_SLOT7_OP: howto manager. (line 2033)
+* BFD_RELOC_XTENSA_SLOT8_ALT: howto manager. (line 2054)
+* BFD_RELOC_XTENSA_SLOT8_OP: howto manager. (line 2034)
+* BFD_RELOC_XTENSA_SLOT9_ALT: howto manager. (line 2055)
+* BFD_RELOC_XTENSA_SLOT9_OP: howto manager. (line 2035)
+* BFD_RELOC_XTENSA_TLS_ARG: howto manager. (line 2085)
+* BFD_RELOC_XTENSA_TLS_CALL: howto manager. (line 2086)
+* BFD_RELOC_XTENSA_TLS_DTPOFF: howto manager. (line 2082)
+* BFD_RELOC_XTENSA_TLS_FUNC: howto manager. (line 2084)
+* BFD_RELOC_XTENSA_TLS_TPOFF: howto manager. (line 2083)
+* BFD_RELOC_XTENSA_TLSDESC_ARG: howto manager. (line 2081)
+* BFD_RELOC_XTENSA_TLSDESC_FN: howto manager. (line 2080)
+* BFD_RELOC_Z80_DISP8: howto manager. (line 2089)
+* BFD_RELOC_Z8K_CALLR: howto manager. (line 2095)
+* BFD_RELOC_Z8K_DISP7: howto manager. (line 2092)
+* BFD_RELOC_Z8K_IMM4L: howto manager. (line 2098)
+* bfd_scan_arch: Architectures. (line 417)
+* bfd_scan_vma: BFD front end. (line 505)
+* bfd_seach_for_target: bfd_target. (line 464)
* bfd_section_already_linked: Writing the symbol table.
(line 55)
* bfd_section_list_clear: section prototypes. (line 8)
* bfd_sections_find_if: section prototypes. (line 176)
-* bfd_set_arch_info: Architectures. (line 438)
+* bfd_set_arch_info: Architectures. (line 458)
* bfd_set_archive_head: Archives. (line 69)
-* bfd_set_default_target: bfd_target. (line 425)
-* bfd_set_error: BFD front end. (line 236)
-* bfd_set_error_handler: BFD front end. (line 278)
-* bfd_set_error_program_name: BFD front end. (line 287)
-* bfd_set_file_flags: BFD front end. (line 346)
+* bfd_set_default_target: bfd_target. (line 429)
+* bfd_set_error: BFD front end. (line 315)
+* bfd_set_error_handler: BFD front end. (line 357)
+* bfd_set_error_program_name: BFD front end. (line 366)
+* bfd_set_file_flags: BFD front end. (line 425)
* bfd_set_format: Formats. (line 68)
-* bfd_set_gp_size: BFD front end. (line 416)
-* bfd_set_private_flags: BFD front end. (line 493)
-* bfd_set_reloc: BFD front end. (line 336)
+* bfd_set_gp_size: BFD front end. (line 495)
+* bfd_set_private_flags: BFD front end. (line 572)
+* bfd_set_reloc: BFD front end. (line 415)
* bfd_set_section_contents: section prototypes. (line 207)
* bfd_set_section_flags: section prototypes. (line 140)
* bfd_set_section_size: section prototypes. (line 193)
-* bfd_set_start_address: BFD front end. (line 395)
+* bfd_set_start_address: BFD front end. (line 474)
* bfd_set_symtab: symbol handling functions.
(line 60)
* bfd_symbol_info: symbol handling functions.
(line 130)
-* bfd_target_list: bfd_target. (line 451)
+* bfd_target_list: bfd_target. (line 455)
* bfd_write_bigendian_4byte_int: Internal. (line 13)
* bfd_zalloc: Opening and Closing.
- (line 221)
+ (line 228)
* bfd_zalloc2: Opening and Closing.
- (line 230)
+ (line 237)
* coff_symbol_type: coff. (line 186)
* core_file_matches_executable_p: Core Files. (line 30)
* find_separate_debug_file: Opening and Closing.
- (line 272)
+ (line 279)
* generic_core_file_matches_executable_p: Core Files. (line 40)
* get_debug_link_info: Opening and Closing.
- (line 253)
+ (line 260)
* Hash tables: Hash Tables. (line 6)
* internal object-file format: Canonical format. (line 11)
* Linker: Linker Functions. (line 6)
-* Other functions: BFD front end. (line 508)
+* Other functions: BFD front end. (line 587)
* separate_debug_file_exists: Opening and Closing.
- (line 263)
-* struct bfd_iovec: BFD front end. (line 700)
+ (line 270)
+* struct bfd_iovec: BFD front end. (line 790)
* target vector (_bfd_final_link): Performing the Final Link.
(line 6)
* target vector (_bfd_link_add_symbols): Adding Symbols to the Hash Table.
\1f
Tag Table:
-Node: Top\7f774
-Node: Overview\7f1113
-Node: History\7f2164
-Node: How It Works\7f3110
-Node: What BFD Version 2 Can Do\7f4653
-Node: BFD information loss\7f5968
-Node: Canonical format\7f8500
-Node: BFD front end\7f12872
-Node: Memory Usage\7f39792
-Node: Initialization\7f41020
-Node: Sections\7f41479
-Node: Section Input\7f41962
-Node: Section Output\7f43327
-Node: typedef asection\7f45813
-Node: section prototypes\7f70414
-Node: Symbols\7f80094
-Node: Reading Symbols\7f81689
-Node: Writing Symbols\7f82796
-Node: Mini Symbols\7f84505
-Node: typedef asymbol\7f85479
-Node: symbol handling functions\7f90397
-Node: Archives\7f95739
-Node: Formats\7f99465
-Node: Relocations\7f102413
-Node: typedef arelent\7f103140
-Node: howto manager\7f118951
-Node: Core Files\7f184046
-Node: Targets\7f185863
-Node: bfd_target\7f187833
-Node: Architectures\7f208009
-Node: Opening and Closing\7f229650
-Node: Internal\7f240652
-Node: File Caching\7f246985
-Node: Linker Functions\7f248899
-Node: Creating a Linker Hash Table\7f250572
-Node: Adding Symbols to the Hash Table\7f252310
-Node: Differing file formats\7f253210
-Node: Adding symbols from an object file\7f254958
-Node: Adding symbols from an archive\7f257109
-Node: Performing the Final Link\7f259523
-Node: Information provided by the linker\7f260765
-Node: Relocating the section contents\7f261919
-Node: Writing the symbol table\7f263670
-Node: Hash Tables\7f266712
-Node: Creating and Freeing a Hash Table\7f267910
-Node: Looking Up or Entering a String\7f269160
-Node: Traversing a Hash Table\7f270413
-Node: Deriving a New Hash Table Type\7f271202
-Node: Define the Derived Structures\7f272268
-Node: Write the Derived Creation Routine\7f273349
-Node: Write Other Derived Routines\7f275973
-Node: BFD back ends\7f277288
-Node: What to Put Where\7f277558
-Node: aout\7f277738
-Node: coff\7f284056
-Node: elf\7f308533
-Node: mmo\7f309396
-Node: File layout\7f310324
-Node: Symbol-table\7f315971
-Node: mmo section mapping\7f319740
-Node: GNU Free Documentation License\7f323392
-Node: BFD Index\7f343121
+Node: Top\7f1127
+Node: Overview\7f1466
+Node: History\7f2517
+Node: How It Works\7f3463
+Node: What BFD Version 2 Can Do\7f5006
+Node: BFD information loss\7f6321
+Node: Canonical format\7f8853
+Node: BFD front end\7f13225
+Node: Memory Usage\7f43732
+Node: Initialization\7f44960
+Node: Sections\7f45419
+Node: Section Input\7f45902
+Node: Section Output\7f47267
+Node: typedef asection\7f49753
+Node: section prototypes\7f74334
+Node: Symbols\7f84014
+Node: Reading Symbols\7f85609
+Node: Writing Symbols\7f86716
+Node: Mini Symbols\7f88425
+Node: typedef asymbol\7f89399
+Node: symbol handling functions\7f94764
+Node: Archives\7f100106
+Node: Formats\7f103832
+Node: Relocations\7f106780
+Node: typedef arelent\7f107507
+Node: howto manager\7f123318
+Node: Core Files\7f191114
+Node: Targets\7f192931
+Node: bfd_target\7f194901
+Node: Architectures\7f215206
+Node: Opening and Closing\7f237689
+Node: Internal\7f248953
+Node: File Caching\7f255286
+Node: Linker Functions\7f257200
+Node: Creating a Linker Hash Table\7f258873
+Node: Adding Symbols to the Hash Table\7f260611
+Node: Differing file formats\7f261511
+Node: Adding symbols from an object file\7f263236
+Node: Adding symbols from an archive\7f265387
+Node: Performing the Final Link\7f267801
+Node: Information provided by the linker\7f269043
+Node: Relocating the section contents\7f270197
+Node: Writing the symbol table\7f271948
+Node: Hash Tables\7f274990
+Node: Creating and Freeing a Hash Table\7f276188
+Node: Looking Up or Entering a String\7f277438
+Node: Traversing a Hash Table\7f278691
+Node: Deriving a New Hash Table Type\7f279480
+Node: Define the Derived Structures\7f280546
+Node: Write the Derived Creation Routine\7f281627
+Node: Write Other Derived Routines\7f284251
+Node: BFD back ends\7f285566
+Node: What to Put Where\7f285836
+Node: aout\7f286016
+Node: coff\7f292334
+Node: elf\7f317085
+Node: mmo\7f317948
+Node: File layout\7f318876
+Node: Symbol-table\7f324523
+Node: mmo section mapping\7f328292
+Node: GNU Free Documentation License\7f331944
+Node: BFD Index\7f351673
\1f
End Tag Table
This is configure.info, produced by makeinfo version 4.8 from
-/home/dougkwan/android-tool-src/toolchain/android-toolchain/gdb-6.6/etc/configure.texi.
+/home/dougkwan/android-tool-src/toolchain/android-toolchain/binutils-2.19/etc/configure.texi.
INFO-DIR-SECTION GNU admin
START-INFO-DIR-ENTRY
\1f
Tag Table:
-Node: Top\7f1041
-Node: Introduction\7f1569
-Node: Goals\7f2651
-Node: Tools\7f3375
-Node: History\7f4369
-Node: Building\7f7367
-Node: Getting Started\7f10630
-Node: Write configure.in\7f11143
-Node: Write Makefile.am\7f18394
-Node: Write acconfig.h\7f21571
-Node: Generate files\7f23108
-Node: Getting Started Example\7f25074
-Node: Getting Started Example 1\7f25829
-Node: Getting Started Example 2\7f27750
-Node: Getting Started Example 3\7f30745
-Node: Generate Files in Example\7f33109
-Node: Files\7f34199
-Node: Developer Files\7f34810
-Node: Developer Files Picture\7f35190
-Node: Written Developer Files\7f36478
-Node: Generated Developer Files\7f39030
-Node: Build Files\7f42174
-Node: Build Files Picture\7f42835
-Node: Build Files Description\7f43599
-Node: Support Files\7f45605
-Node: Configuration Names\7f48487
-Node: Configuration Name Definition\7f48987
-Node: Using Configuration Names\7f51310
-Node: Cross Compilation Tools\7f53280
-Node: Cross Compilation Concepts\7f53971
-Node: Host and Target\7f54939
-Node: Using the Host Type\7f56440
-Node: Specifying the Target\7f57789
-Node: Using the Target Type\7f58578
-Node: Cross Tools in the Cygnus Tree\7f62009
-Node: Host and Target Libraries\7f63066
-Node: Target Library Configure Scripts\7f66815
-Node: Make Targets in Cygnus Tree\7f69907
-Node: Target libiberty\7f71255
-Node: Canadian Cross\7f72642
-Node: Canadian Cross Example\7f73483
-Node: Canadian Cross Concepts\7f74602
-Node: Build Cross Host Tools\7f76114
-Node: Build and Host Options\7f77066
-Node: CCross not in Cygnus Tree\7f78852
-Node: CCross in Cygnus Tree\7f79830
-Node: Standard Cygnus CCross\7f80251
-Node: Cross Cygnus CCross\7f81615
-Node: Supporting Canadian Cross\7f84415
-Node: CCross in Configure\7f85030
-Node: CCross in Make\7f88198
-Node: Cygnus Configure\7f89801
-Node: Cygnus Configure Basics\7f90636
-Node: Cygnus Configure in C++ Libraries\7f95314
-Node: Multilibs\7f96321
-Node: Multilibs in gcc\7f97366
-Node: Multilibs in Target Libraries\7f98444
-Node: FAQ\7f102635
-Node: Index\7f106735
+Node: Top\7f1047
+Node: Introduction\7f1575
+Node: Goals\7f2657
+Node: Tools\7f3381
+Node: History\7f4375
+Node: Building\7f7373
+Node: Getting Started\7f10636
+Node: Write configure.in\7f11149
+Node: Write Makefile.am\7f18400
+Node: Write acconfig.h\7f21577
+Node: Generate files\7f23114
+Node: Getting Started Example\7f25080
+Node: Getting Started Example 1\7f25835
+Node: Getting Started Example 2\7f27756
+Node: Getting Started Example 3\7f30751
+Node: Generate Files in Example\7f33115
+Node: Files\7f34205
+Node: Developer Files\7f34816
+Node: Developer Files Picture\7f35196
+Node: Written Developer Files\7f36484
+Node: Generated Developer Files\7f39036
+Node: Build Files\7f42180
+Node: Build Files Picture\7f42841
+Node: Build Files Description\7f43605
+Node: Support Files\7f45611
+Node: Configuration Names\7f48493
+Node: Configuration Name Definition\7f48993
+Node: Using Configuration Names\7f51316
+Node: Cross Compilation Tools\7f53286
+Node: Cross Compilation Concepts\7f53977
+Node: Host and Target\7f54945
+Node: Using the Host Type\7f56446
+Node: Specifying the Target\7f57795
+Node: Using the Target Type\7f58584
+Node: Cross Tools in the Cygnus Tree\7f62015
+Node: Host and Target Libraries\7f63072
+Node: Target Library Configure Scripts\7f66821
+Node: Make Targets in Cygnus Tree\7f69913
+Node: Target libiberty\7f71261
+Node: Canadian Cross\7f72648
+Node: Canadian Cross Example\7f73489
+Node: Canadian Cross Concepts\7f74608
+Node: Build Cross Host Tools\7f76120
+Node: Build and Host Options\7f77072
+Node: CCross not in Cygnus Tree\7f78858
+Node: CCross in Cygnus Tree\7f79836
+Node: Standard Cygnus CCross\7f80257
+Node: Cross Cygnus CCross\7f81621
+Node: Supporting Canadian Cross\7f84421
+Node: CCross in Configure\7f85036
+Node: CCross in Make\7f88204
+Node: Cygnus Configure\7f89807
+Node: Cygnus Configure Basics\7f90642
+Node: Cygnus Configure in C++ Libraries\7f95320
+Node: Multilibs\7f96327
+Node: Multilibs in gcc\7f97372
+Node: Multilibs in Target Libraries\7f98450
+Node: FAQ\7f102641
+Node: Index\7f106741
\1f
End Tag Table
This is standards.info, produced by makeinfo version 4.8 from
-/home/dougkwan/android-tool-src/toolchain/android-toolchain/gdb-6.6/etc/standards.texi.
+/home/dougkwan/android-tool-src/toolchain/android-toolchain/binutils-2.19/etc/standards.texi.
+INFO-DIR-SECTION GNU organization
START-INFO-DIR-ENTRY
-* Standards: (standards). GNU coding standards.
+* Standards: (standards). GNU coding standards.
END-INFO-DIR-ENTRY
- GNU Coding Standards Copyright (C) 1992, 1993, 1994, 1995, 1996,
-1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+ The GNU coding standards, last updated July 22, 2007.
+
+ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 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
+under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the section entitled "GNU
Version
*******
-Last updated February 14, 2002.
+The GNU coding standards, last updated July 22, 2007.
+
+ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 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.2 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the section entitled "GNU
+Free Documentation License".
* Menu:
-* Preface:: About the GNU Coding Standards
-* Legal Issues:: Keeping Free Software Free
-* Design Advice:: General Program Design
-* Program Behavior:: Program Behavior for All Programs
-* Writing C:: Making The Best Use of C
-* Documentation:: Documenting Programs
-* Managing Releases:: The Release Process
-* References:: References to Non-Free Software or Documentation
-* Copying This Manual:: How to Make Copies of This Manual
+* Preface:: About the GNU Coding Standards.
+* Legal Issues:: Keeping free software free.
+* Design Advice:: General program design.
+* Program Behavior:: Program behavior for all programs
+* Writing C:: Making the best use of C.
+* Documentation:: Documenting programs.
+* Managing Releases:: The release process.
+* References:: Mentioning non-free software or documentation.
+* GNU Free Documentation License:: Copying and sharing this manual.
* Index::
\1f
even if you write in another programming language. The rules often
state reasons for writing in a certain way.
- This release of the GNU Coding Standards was last updated February
-14, 2002.
+ This release of the GNU Coding Standards was last updated July 22,
+2007.
If you did not obtain this file directly from the GNU project and
-recently, please check for a newer version. You can ftp the GNU Coding
-Standards from any GNU FTP host in the directory `/pub/gnu/standards/'.
-The GNU Coding Standards are available there in several different
-formats: `standards.text', `standards.info', and `standards.dvi', as
-well as the Texinfo "source" which is divided in two files:
-`standards.texi' and `make-stds.texi'. The GNU Coding Standards are
-also available on the GNU World Wide Web server:
-`http://www.gnu.org/prep/standards_toc.html'.
+recently, please check for a newer version. You can get the GNU Coding
+Standards from the GNU web server in many different formats, including
+the Texinfo source, PDF, HTML, DVI, plain text, and more, at:
+`http://www.gnu.org/prep/standards/'.
Corrections or suggestions for this document should be sent to
<bug-standards@gnu.org>. If you make a suggestion, please include a
don't have those files, please mail your suggestion anyway.
These standards cover the minimum of what is important when writing a
-GNU package. Likely, the needs for additional standards will come up.
+GNU package. Likely, the need for additional standards will come up.
Sometimes, you might suggest that such standards be added to this
document. If you think your standards would be generally useful, please
do suggest them.
to document them as much as possible. That way, your program will be
more maintainable by others.
+ The GNU Hello program serves as an example of how to follow the GNU
+coding standards for a trivial program.
+`http://www.gnu.org/software/hello/hello.html'.
+
\1f
File: standards.info, Node: Legal Issues, Next: Design Advice, Prev: Preface, Up: Top
2 Keeping Free Software Free
****************************
-This node discusses how you can make sure that GNU software avoids
+This chapter discusses how you can make sure that GNU software avoids
legal difficulties, and other related issues.
* Menu:
-* Reading Non-Free Code:: Referring to Proprietary Programs
-* Contributions:: Accepting Contributions
-* Trademarks:: How We Deal with Trademark Issues
+* Reading Non-Free Code:: Referring to proprietary programs.
+* Contributions:: Accepting contributions.
+* Trademarks:: How we deal with trademark issues.
\1f
File: standards.info, Node: Reading Non-Free Code, Next: Contributions, Up: Legal Issues
For example, Unix utilities were generally optimized to minimize
memory use; if you go for speed instead, your program will be very
-different. You could keep the entire input file in core and scan it
+different. You could keep the entire input file in memory and scan it
there instead of using stdio. Use a smarter algorithm discovered more
recently than the Unix program. Eliminate use of temporary files. Do
it in one pass instead of two (we did this in the assembler).
You don't need papers for changes of a few lines here or there, since
they are not significant for copyright purposes. Also, you don't need
papers if all you get from the suggestion is some ideas, not actual code
-which you use. For example, if someone send you one implementation, but
+which you use. For example, if someone sent you one implementation, but
you write a different implementation of the same idea, you don't need to
get papers.
We have more detailed advice for maintainers of programs; if you have
reached the stage of actually maintaining a program for GNU (whether
-released or not), please ask us for a copy.
+released or not), please ask us for a copy. It is also available
+online for your perusal: `http://www.gnu.org/prep/maintain/'.
\1f
File: standards.info, Node: Trademarks, Prev: Contributions, Up: Legal Issues
Trademark acknowledgements are the statements that such-and-such is a
trademark of so-and-so. The GNU Project has no objection to the basic
-idea of trademarks, but these acknowledgements feel like kowtowing, so
-we don't use them. There is no legal requirement for them.
+idea of trademarks, but these acknowledgements feel like kowtowing, and
+there is no legal requirement for them, so we don't use them.
What is legally required, as regards other people's trademarks, is to
-avoid using them in ways which a reader might read as naming or labeling
-our own programs or activities. For example, since "Objective C" is
-(or at least was) a trademark, we made sure to say that we provide a
-"compiler for the Objective C language" rather than an "Objective C
-compiler". The latter is meant to be short for the former, but it does
-not explicitly state the relationship, so it could be misinterpreted as
-using "Objective C" as a label for the compiler rather than for the
-language.
+avoid using them in ways which a reader might reasonably understand as
+naming or labeling our own programs or activities. For example, since
+"Objective C" is (or at least was) a trademark, we made sure to say
+that we provide a "compiler for the Objective C language" rather than
+an "Objective C compiler". The latter would have been meant as a
+shorter way of saying the former, but it does not explicitly state the
+relationship, so it could be misinterpreted as using "Objective C" as a
+label for the compiler rather than for the language.
+
+ Please don't use "win" as an abbreviation for Microsoft Windows in
+GNU software or documentation. In hacker terminology, calling
+something a "win" is a form of praise. If you wish to praise Microsoft
+Windows when speaking on your own, by all means do so, but not in GNU
+software. Usually we write the name "Windows" in full, but when
+brevity is very important (as in file names and sometimes symbol
+names), we abbreviate it to "w". For instance, the files and functions
+in Emacs that deal with Windows start with `w32'.
\1f
File: standards.info, Node: Design Advice, Next: Program Behavior, Prev: Legal Issues, Up: Top
3 General Program Design
************************
-This node discusses some of the issues you should take into account
+This chapter discusses some of the issues you should take into account
when designing your program.
* Menu:
-* Source Language:: Which languges to use.
-* Compatibility:: Compatibility with other implementations
-* Using Extensions:: Using non-standard features
-* Standard C:: Using Standard C features
-* Conditional Compilation:: Compiling Code Only If A Conditional is True
+* Source Language:: Which languages to use.
+* Compatibility:: Compatibility with other implementations.
+* Using Extensions:: Using non-standard features.
+* Standard C:: Using standard C features.
+* Conditional Compilation:: Compiling code only if a conditional is true.
\1f
File: standards.info, Node: Source Language, Next: Compatibility, Up: Design Advice
the program is written in that language, too. The Emacs editor
pioneered this technique.
- The standard extensibility interpreter for GNU software is GUILE,
-which implements the language Scheme (an especially clean and simple
-dialect of Lisp). `http://www.gnu.org/software/guile/'. We don't
+ The standard extensibility interpreter for GNU software is GUILE
+(`http://www.gnu.org/software/guile/'), which implements the language
+Scheme (an especially clean and simple dialect of Lisp). We don't
reject programs written in other "scripting languages" such as Perl and
-Python, but using GUILE is very important for the overall consistency of
-the GNU system.
+Python, but using GUILE is very important for the overall consistency
+of the GNU system.
\1f
File: standards.info, Node: Compatibility, Next: Using Extensions, Prev: Source Language, Up: Design Advice
else
...
- instead of:
+instead of:
#ifdef HAS_FOO
...
A modern compiler such as GCC will generate exactly the same code in
both cases, and we have been using similar techniques with good success
-in several projects.
+in several projects. Of course, the former method assumes that
+`HAS_FOO' is defined as either 0 or 1.
While this is not a silver bullet solving all portability problems,
-following this policy would have saved the GCC project alone many person
-hours if not days per year.
+and is not always appropriate, following this policy would have saved
+GCC developers many hours, or even days, per year.
In the case of function-like macros like `REVERSIBLE_CC_MODE' in GCC
which cannot be simply used in `if( ...)' statements, there is an easy
4 Program Behavior for All Programs
***********************************
-This node describes conventions for writing robust software. It also
-describes general standards for error messages, the command line
+This chapter describes conventions for writing robust software. It
+also describes general standards for error messages, the command line
interface, and how libraries should behave.
* Menu:
-* Semantics:: Writing robust programs
-* Libraries:: Library behavior
-* Errors:: Formatting error messages
-* User Interfaces:: Standards about interfaces generally
-* Graphical Interfaces:: Standards for graphical interfaces
-* Command-Line Interfaces:: Standards for command line interfaces
-* Option Table:: Table of long options
-* Memory Usage:: When and how to care about memory needs
-* File Usage:: Which files to use, and where
+* Non-GNU Standards:: We consider standards such as POSIX;
+ we don't "obey" them.
+* Semantics:: Writing robust programs.
+* Libraries:: Library behavior.
+* Errors:: Formatting error messages.
+* User Interfaces:: Standards about interfaces generally.
+* Graphical Interfaces:: Standards for graphical interfaces.
+* Command-Line Interfaces:: Standards for command line interfaces.
+* Option Table:: Table of long options.
+* Memory Usage:: When and how to care about memory needs.
+* File Usage:: Which files to use, and where.
+
+\1f
+File: standards.info, Node: Non-GNU Standards, Next: Semantics, Up: Program Behavior
+
+4.1 Non-GNU Standards
+=====================
+
+The GNU Project regards standards published by other organizations as
+suggestions, not orders. We consider those standards, but we do not
+"obey" them. In developing a GNU program, you should implement an
+outside standard's specifications when that makes the GNU system better
+overall in an objective sense. When it doesn't, you shouldn't.
+
+ In most cases, following published standards is convenient for
+users--it means that their programs or scripts will work more portably.
+For instance, GCC implements nearly all the features of Standard C as
+specified by that standard. C program developers would be unhappy if
+it did not. And GNU utilities mostly follow specifications of POSIX.2;
+shell script writers and users would be unhappy if our programs were
+incompatible.
+
+ But we do not follow either of these specifications rigidly, and
+there are specific points on which we decided not to follow them, so as
+to make the GNU system better for users.
+
+ For instance, Standard C says that nearly all extensions to C are
+prohibited. How silly! GCC implements many extensions, some of which
+were later adopted as part of the standard. If you want these
+constructs to give an error message as "required" by the standard, you
+must specify `--pedantic', which was implemented only so that we can
+say "GCC is a 100% implementation of the standard," not because there
+is any reason to actually use it.
+
+ POSIX.2 specifies that `df' and `du' must output sizes by default in
+units of 512 bytes. What users want is units of 1k, so that is what we
+do by default. If you want the ridiculous behavior "required" by
+POSIX, you must set the environment variable `POSIXLY_CORRECT' (which
+was originally going to be named `POSIX_ME_HARDER').
+
+ GNU utilities also depart from the letter of the POSIX.2
+specification when they support long-named command-line options, and
+intermixing options with ordinary arguments. This minor
+incompatibility with POSIX is never a problem in practice, and it is
+very useful.
+
+ In particular, don't reject a new feature, or remove an old one,
+merely because a standard says it is "forbidden" or "deprecated."
\1f
-File: standards.info, Node: Semantics, Next: Libraries, Up: Program Behavior
+File: standards.info, Node: Semantics, Next: Libraries, Prev: Non-GNU Standards, Up: Program Behavior
-4.1 Writing Robust Programs
+4.2 Writing Robust Programs
===========================
Avoid arbitrary limits on the length or number of _any_ data structure,
\1f
File: standards.info, Node: Libraries, Next: Errors, Prev: Semantics, Up: Program Behavior
-4.2 Library Behavior
+4.3 Library Behavior
====================
Try to make library functions reentrant. If they need to do dynamic
\1f
File: standards.info, Node: Errors, Next: User Interfaces, Prev: Libraries, Up: Program Behavior
-4.3 Formatting Error Messages
+4.4 Formatting Error Messages
=============================
Error messages from compilers should look like this:
SOURCE-FILE-NAME:LINENO: MESSAGE
-If you want to mention the column number, use this format:
+If you want to mention the column number, use one of these formats:
SOURCE-FILE-NAME:LINENO:COLUMN: MESSAGE
+ SOURCE-FILE-NAME:LINENO.COLUMN: MESSAGE
Line numbers should start from 1 at the beginning of the file, and
column numbers should start from 1 at the beginning of the line. (Both
numbers assuming that space and all ASCII printing characters have
equal width, and assuming tab stops every 8 columns.
+ The error message can also give both the starting and ending
+positions of the erroneous text. There are several formats so that you
+can avoid redundant information such as a duplicate line number. Here
+are the possible formats:
+
+ SOURCE-FILE-NAME:LINENO-1.COLUMN-1-LINENO-2.COLUMN-2: MESSAGE
+ SOURCE-FILE-NAME:LINENO-1.COLUMN-1-COLUMN-2: MESSAGE
+ SOURCE-FILE-NAME:LINENO-1-LINENO-2: MESSAGE
+
+When an error is spread over several files, you can use this format:
+
+ FILE-1:LINENO-1.COLUMN-1-FILE-2:LINENO-2.COLUMN-2: MESSAGE
+
Error messages from other noninteractive programs should look like
this:
would do best to print error messages using the noninteractive style.)
The string MESSAGE should not begin with a capital letter when it
-follows a program name and/or file name. Also, it should not end with
-a period.
+follows a program name and/or file name, because that isn't the
+beginning of a sentence. (The sentence conceptually starts at the
+beginning of the line.) Also, it should not end with a period.
Error messages from interactive programs, and other messages such as
usage messages, should start with a capital letter. But they should not
\1f
File: standards.info, Node: User Interfaces, Next: Graphical Interfaces, Prev: Errors, Up: Program Behavior
-4.4 Standards for Interfaces Generally
+4.5 Standards for Interfaces Generally
======================================
Please don't make the behavior of a utility depend on the name used to
\1f
File: standards.info, Node: Graphical Interfaces, Next: Command-Line Interfaces, Prev: User Interfaces, Up: Program Behavior
-4.5 Standards for Graphical Interfaces
+4.6 Standards for Graphical Interfaces
======================================
When you write a program that provides a graphical user interface,
-please make it work with X Windows and the GTK toolkit unless the
+please make it work with X Windows and the GTK+ toolkit unless the
functionality specifically requires some alternative (for example,
"displaying jpeg images while in console mode").
\1f
File: standards.info, Node: Command-Line Interfaces, Next: Option Table, Prev: Graphical Interfaces, Up: Program Behavior
-4.6 Standards for Command Line Interfaces
+4.7 Standards for Command Line Interfaces
=========================================
It is a good idea to follow the POSIX guidelines for the command-line
options (preferably `-o' or `--output'). Even if you allow an output
file name as an ordinary argument for compatibility, try to provide an
option as another way to specify it. This will lead to more consistency
-among GNU utilities, and fewer idiosyncracies for users to remember.
+among GNU utilities, and fewer idiosyncrasies for users to remember.
All programs should support two standard options: `--version' and
-`--help'.
-
-`--version'
- This option should direct the program to print information about
- its name, version, origin and legal status, all on standard
- output, and then exit successfully. Other options and arguments
- should be ignored once this is seen, and the program should not
- perform its normal function.
-
- The first line is meant to be easy for a program to parse; the
- version number proper starts after the last space. In addition,
- it contains the canonical name for this program, in this format:
-
- GNU Emacs 19.30
-
- The program's name should be a constant string; _don't_ compute it
- from `argv[0]'. The idea is to state the standard or canonical
- name for the program, not its file name. There are other ways to
- find out the precise file name where a command is found in `PATH'.
-
- If the program is a subsidiary part of a larger package, mention
- the package name in parentheses, like this:
-
- emacsserver (GNU Emacs) 19.30
-
- If the package has a version number which is different from this
- program's version number, you can mention the package version
- number just before the close-parenthesis.
-
- If you *need* to mention the version numbers of libraries which
- are distributed separately from the package which contains this
- program, you can do so by printing an additional line of version
- info for each library you want to mention. Use the same format
- for these lines as for the first line.
-
- Please do not mention all of the libraries that the program uses
- "just for completeness"--that would produce a lot of unhelpful
- clutter. Please mention library version numbers only if you find
- in practice that they are very important to you in debugging.
-
- The following line, after the version number line or lines, should
- be a copyright notice. If more than one copyright notice is
- called for, put each on a separate line.
-
- Next should follow a brief statement that the program is free
- software, and that users are free to copy and change it on certain
- conditions. If the program is covered by the GNU GPL, say so
- here. Also mention that there is no warranty, to the extent
- permitted by law.
-
- It is ok to finish the output with a list of the major authors of
- the program, as a way of giving credit.
-
- Here's an example of output that follows these rules:
-
- GNU Emacs 19.34.5
- Copyright (C) 1996 Free Software Foundation, Inc.
- GNU Emacs comes with NO WARRANTY,
- to the extent permitted by law.
- You may redistribute copies of GNU Emacs
- under the terms of the GNU General Public License.
- For more information about these matters,
- see the files named COPYING.
-
- You should adapt this to your program, of course, filling in the
- proper year, copyright holder, name of program, and the references
- to distribution terms, and changing the rest of the wording as
- necessary.
-
- This copyright notice only needs to mention the most recent year in
- which changes were made--there's no need to list the years for
- previous versions' changes. You don't have to mention the name of
- the program in these notices, if that is inconvenient, since it
- appeared in the first line.
-
- Translations of the above lines must preserve the validity of the
- copyright notices (*note Internationalization::). If the
- translation's character set supports it, the `(C)' should be
- replaced with the copyright symbol, as follows:
-
- (the official copyright symbol, which is the letter C in a circle);
-
- Write the word "Copyright" exactly like that, in English. Do not
- translate it into another language. International treaties
- recognize the English word "Copyright"; translations into other
- languages do not have legal significance.
-
-`--help'
- This option should output brief documentation for how to invoke the
- program, on standard output, then exit successfully. Other
- options and arguments should be ignored once this is seen, and the
- program should not perform its normal function.
-
- Near the end of the `--help' option's output there should be a line
- that says where to mail bug reports. It should have this format:
-
- Report bugs to MAILING-ADDRESS.
+`--help'. CGI programs should accept these as command-line options,
+and also if given as the `PATH_INFO'; for instance, visiting
+`http://example.org/p.cgi/--help' in a browser should output the same
+information as invoking `p.cgi --help' from the command line.
+
+* Menu:
+
+* --version:: The standard output for --version.
+* --help:: The standard output for --help.
+
+\1f
+File: standards.info, Node: --version, Next: --help, Up: Command-Line Interfaces
+
+4.7.1 `--version'
+-----------------
+
+The standard `--version' option should direct the program to print
+information about its name, version, origin and legal status, all on
+standard output, and then exit successfully. Other options and
+arguments should be ignored once this is seen, and the program should
+not perform its normal function.
+
+ The first line is meant to be easy for a program to parse; the
+version number proper starts after the last space. In addition, it
+contains the canonical name for this program, in this format:
+
+ GNU Emacs 19.30
+
+The program's name should be a constant string; _don't_ compute it from
+`argv[0]'. The idea is to state the standard or canonical name for the
+program, not its file name. There are other ways to find out the
+precise file name where a command is found in `PATH'.
+
+ If the program is a subsidiary part of a larger package, mention the
+package name in parentheses, like this:
+
+ emacsserver (GNU Emacs) 19.30
+
+If the package has a version number which is different from this
+program's version number, you can mention the package version number
+just before the close-parenthesis.
+
+ If you _need_ to mention the version numbers of libraries which are
+distributed separately from the package which contains this program,
+you can do so by printing an additional line of version info for each
+library you want to mention. Use the same format for these lines as for
+the first line.
+
+ Please do not mention all of the libraries that the program uses
+"just for completeness"--that would produce a lot of unhelpful clutter.
+Please mention library version numbers only if you find in practice that
+they are very important to you in debugging.
+
+ The following line, after the version number line or lines, should
+be a copyright notice. If more than one copyright notice is called
+for, put each on a separate line.
+
+ Next should follow a line stating the license, preferably using one
+of abbrevations below, and a brief statement that the program is free
+software, and that users are free to copy and change it. Also mention
+that there is no warranty, to the extent permitted by law. See
+recommended wording below.
+
+ It is ok to finish the output with a list of the major authors of the
+program, as a way of giving credit.
+
+ Here's an example of output that follows these rules:
+
+ GNU hello 2.3
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
+ This is free software: you are free to change and redistribute it.
+ There is NO WARRANTY, to the extent permitted by law.
+
+ You should adapt this to your program, of course, filling in the
+proper year, copyright holder, name of program, and the references to
+distribution terms, and changing the rest of the wording as necessary.
+
+ This copyright notice only needs to mention the most recent year in
+which changes were made--there's no need to list the years for previous
+versions' changes. You don't have to mention the name of the program in
+these notices, if that is inconvenient, since it appeared in the first
+line. (The rules are different for copyright notices in source files;
+*note Copyright Notices: (maintain)Copyright Notices.)
+
+ Translations of the above lines must preserve the validity of the
+copyright notices (*note Internationalization::). If the translation's
+character set supports it, the `(C)' should be replaced with the
+copyright symbol, as follows:
+
+ (the official copyright symbol, which is the letter C in a circle);
+
+ Write the word "Copyright" exactly like that, in English. Do not
+translate it into another language. International treaties recognize
+the English word "Copyright"; translations into other languages do not
+have legal significance.
+
+ Finally, here is the table of our suggested license abbreviations.
+Any abbreviation can be followed by `vVERSION[+]', meaning that
+particular version, or later versions with the `+', as shown above.
+
+ In the case of exceptions for extra permissions with the GPL, we use
+`/' for a separator; the version number can follow the license
+abbreviation as usual, as in the examples below.
+
+GPL
+ GNU General Public License, `http://www.gnu.org/licenses/gpl.html'.
+
+LGPL
+ GNU Lesser General Public License,
+ `http://www.gnu.org/licenses/lgpl.html'.
+
+GPL/Guile
+ GNU GPL with the exception for Guile; for example, GPLv3+/Guile
+ means the GNU GPL version 3 or later, with the extra exception for
+ Guile.
+
+ GNU GPL with the exception for Ada.
+
+Apache
+ The Apache Software Foundation license,
+ `http://www.apache.org/licenses'.
+
+Artistic
+ The Artistic license used for Perl,
+ `http://www.perlfoundation.org/legal'.
+
+Expat
+ The Expat license, `http://www.jclark.com/xml/copying.txt'.
+
+MPL
+ The Mozilla Public License, `http://www.mozilla.org/MPL/'.
+
+OBSD
+ The original (4-clause) BSD license, incompatible with the GNU GPL
+ `http://www.xfree86.org/3.3.6/COPYRIGHT2.html#6'.
+
+PHP
+ The license used for PHP, `http://www.php.net/license/'.
+
+public domain
+ The non-license that is being in the public domain,
+ `http://www.gnu.org/licenses/license-list.html#PublicDomain'.
+
+Python
+ The license for Python, `http://www.python.org/2.0.1/license.html'.
+
+RBSD
+ The revised (3-clause) BSD, compatible with the GNU GPL,
+ `http://www.xfree86.org/3.3.6/COPYRIGHT2.html#5'.
+
+X11
+ The simple non-copyleft license used for most versions of the X
+ Window system, `http://www.xfree86.org/3.3.6/COPYRIGHT2.html#3'.
+
+Zlib
+ The license for Zlib, `http://www.gzip.org/zlib/zlib_license.html'.
+
+
+ More information about these licenses and many more are on the GNU
+licensing web pages, `http://www.gnu.org/licenses/license-list.html'.
+
+\1f
+File: standards.info, Node: --help, Prev: --version, Up: Command-Line Interfaces
+
+4.7.2 `--help'
+--------------
+
+The standard `--help' option should output brief documentation for how
+to invoke the program, on standard output, then exit successfully.
+Other options and arguments should be ignored once this is seen, and
+the program should not perform its normal function.
+
+ Near the end of the `--help' option's output there should be a line
+that says where to mail bug reports. It should have this format:
+
+ Report bugs to MAILING-ADDRESS.
\1f
File: standards.info, Node: Option Table, Next: Memory Usage, Prev: Command-Line Interfaces, Up: Program Behavior
-4.7 Table of Long Options
+4.8 Table of Long Options
=========================
Here is a table of long options used by GNU programs. It is surely
Used in `su'.
`machine'
- No listing of which programs already use this; someone should
- check to see if any actually do, and tell <gnu@gnu.org>.
+ Used in `uname'.
`macro-name'
`-M' in `ptx'.
`no-sort'
`-p' in `nm'.
+`no-splash'
+ Don't print a startup splash screen.
+
`no-split'
Used in `makeinfo'.
`-q' in Make.
`quiet'
- Used in many programs to inhibit the usual output. *Note_* every
- program accepting `--quiet' should accept `--silent' as a synonym.
+ Used in many programs to inhibit the usual output. Every program
+ accepting `--quiet' should accept `--silent' as a synonym.
`quiet-unshar'
`-Q' in `shar'
`-T' in `cat'.
`silent'
- Used in many programs to inhibit the usual output. *Note_* every
- program accepting `--silent' should accept `--quiet' as a synonym.
+ Used in many programs to inhibit the usual output. Every program
+ accepting `--silent' should accept `--quiet' as a synonym.
`size'
`-s' in `ls'.
`socket'
Specify a file descriptor for a network server to use for its
socket, instead of opening and binding a new socket. This
- provides a way to run, in a nonpriveledged process, a server that
+ provides a way to run, in a non-privileged process, a server that
normally needs a reserved port number.
`sort'
\1f
File: standards.info, Node: Memory Usage, Next: File Usage, Prev: Option Table, Up: Program Behavior
-4.8 Memory Usage
+4.9 Memory Usage
================
If a program typically uses just a few meg of memory, don't bother
making any effort to reduce memory usage. For example, if it is
impractical for other reasons to operate on files more than a few meg
-long, it is reasonable to read entire input files into core to operate
-on them.
+long, it is reasonable to read entire input files into memory to
+operate on them.
However, for programs such as `cat' or `tail', that can usefully
operate on very large files, it is important to avoid using a technique
program works by lines and could be applied to arbitrary user-supplied
input files, it should keep only a line in memory, because this is not
very hard and users will want to be able to operate on input files that
-are bigger than will fit in core all at once.
+are bigger than will fit in memory all at once.
If your program creates complicated data structures, just make them
-in core and give a fatal error if `malloc' returns zero.
+in memory and give a fatal error if `malloc' returns zero.
\1f
File: standards.info, Node: File Usage, Prev: Memory Usage, Up: Program Behavior
-4.9 File Usage
-==============
+4.10 File Usage
+===============
Programs should be prepared to operate when `/usr' and `/etc' are
read-only file systems. Thus, if the program manages log files, lock
5 Making The Best Use of C
**************************
-This node provides advice on how best to use the C language when
+This chapter provides advice on how best to use the C language when
writing GNU software.
* Menu:
-* Formatting:: Formatting Your Source Code
-* Comments:: Commenting Your Work
-* Syntactic Conventions:: Clean Use of C Constructs
-* Names:: Naming Variables, Functions, and Files
-* System Portability:: Portability between different operating systems
-* CPU Portability:: Supporting the range of CPU types
-* System Functions:: Portability and ``standard'' library functions
-* Internationalization:: Techniques for internationalization
+* Formatting:: Formatting your source code.
+* Comments:: Commenting your work.
+* Syntactic Conventions:: Clean use of C constructs.
+* Names:: Naming variables, functions, and files.
+* System Portability:: Portability among different operating systems.
+* CPU Portability:: Supporting the range of CPU types.
+* System Functions:: Portability and ``standard'' library functions.
+* Internationalization:: Techniques for internationalization.
+* Character Set:: Use ASCII by default.
+* Quote Characters:: Use `...' in the C locale.
* Mmap:: How you can safely use `mmap'.
\1f
===============================
It is important to put the open-brace that starts the body of a C
-function in column zero, and avoid putting any other open-brace or
-open-parenthesis or open-bracket in column zero. Several tools look
-for open-braces in column zero to find the beginnings of C functions.
-These tools will not work on code not formatted that way.
+function in column one, so that they will start a defun. Several tools
+look for open-braces in column one to find the beginnings of C
+functions. These tools will not work on code not formatted that way.
+
+ Avoid putting open-brace, open-parenthesis or open-bracket in column
+one when they are inside a function, so that they won't start a defun.
+The open-brace that starts a `struct' body can go in column one if you
+find it useful to treat that definition as a defun.
It is also important for function definitions to start the name of
-the function in column zero. This helps people to search for function
-definitions, and may also help certain tools recognize them. Thus, the
-proper format is this:
+the function in column one. This helps people to search for function
+definitions, and may also help certain tools recognize them. Thus,
+using Standard C syntax, the format is this:
static char *
- concat (s1, s2) /* Name starts in column zero here */
- char *s1, *s2;
- { /* Open brace in column zero here */
+ concat (char *s1, char *s2)
+ {
...
}
-or, if you want to use Standard C syntax, format the definition like
+or, if you want to use traditional C syntax, format the definition like
this:
static char *
- concat (char *s1, char *s2)
- {
+ concat (s1, s2) /* Name starts in column one here */
+ char *s1, *s2;
+ { /* Open brace in column one here */
...
}
========================
Every program should start with a comment saying briefly what it is for.
-Example: `fmt - filter for simple filling of text'.
+Example: `fmt - filter for simple filling of text'. This comment
+should be at the top of the source file containing the `main' function
+of the program.
+
+ Also, please write a brief comment at the start of each source file,
+with the file name and a line or two about the overall purpose of the
+file.
Please write the comments in a GNU program in English, because
English is the one language that nearly all programmers in all
It used to be common practice to use the same local variables (with
names like `tem') over and over for different values within one
-function. Instead of doing this, it is better declare a separate local
-variable for each distinct purpose, and give it a name which is
+function. Instead of doing this, it is better to declare a separate
+local variable for each distinct purpose, and give it a name which is
meaningful. This not only makes programs easier to understand, it also
facilitates optimization by good compilers. You can also move the
declaration of each local variable into the smallest scope that includes
same declaration. Instead, declare the structure tag separately and
then use it to declare the variables or typedefs.
- Try to avoid assignments inside `if'-conditions. For example, don't
-write this:
+ Try to avoid assignments inside `if'-conditions (assignments inside
+`while'-conditions are ok). For example, don't write this:
if ((foo = (char *) malloc (sizeof *foo)) == 0)
fatal ("virtual memory exhausted");
`enum' rather than `#define'. GDB knows about enumeration constants.
You might want to make sure that none of the file names would
-conflict the files were loaded onto an MS-DOS file system which
+conflict if the files were loaded onto an MS-DOS file system which
shortens the names. You can use the program `doschk' to test for this.
Some GNU programs were designed to limit themselves to file names of
Avoid using the format of semi-internal data bases (e.g.,
directories) when there is a higher-level alternative (`readdir').
- As for systems that are not like Unix, such as MSDOS, Windows, the
-Macintosh, VMS, and MVS, supporting them is often a lot of work. When
-that is the case, it is better to spend your time adding features that
-will be useful on GNU and GNU/Linux, rather than on supporting other
-incompatible systems.
+ As for systems that are not like Unix, such as MSDOS, Windows, VMS,
+MVS, and older Macintosh systems, supporting them is often a lot of
+work. When that is the case, it is better to spend your time adding
+features that will be useful on GNU and GNU/Linux, rather than on
+supporting other incompatible systems.
+
+ If you do support Windows, please do not abbreviate it as "win". In
+hacker terminology, calling something a "win" is a form of praise.
+You're free to praise Microsoft Windows on your own if you want, but
+please don't do this in GNU packages. Instead of abbreviating
+"Windows" to "un", you can write it in full or abbreviate it to "woe"
+or "w". In GNU Emacs, for instance, we use `w32' in file names of
+Windows-specific files, but the macro for Windows conditionals is
+called `WINDOWSNT'.
It is a good idea to define the "feature test macro" `_GNU_SOURCE'
when compiling your C files. When you compile on GNU or GNU/Linux,
printf ("diff = %ld\n", (long) (pointer2 - pointer1));
1989 Standard C requires this to work, and we know of only one
-counterexample: 64-bit programs on Microsoft Windows IA-64. We will
-leave it to those who want to port GNU programs to that environment to
-figure out how to do it.
+counterexample: 64-bit programs on Microsoft Windows. We will leave it
+to those who want to port GNU programs to that environment to figure
+out how to do it.
Predefined file-size types like `off_t' are an exception: they are
longer than `long' on many platforms, so code like the above won't work
int c;
...
- while ((c = getchar()) != EOF)
- write(file_descriptor, &c, 1);
-
- When calling functions, you need not worry about the difference
-between pointers of various types, or between pointers and integers.
-On most machines, there's no difference anyway. As for the few
-machines where there is a difference, all of them support Standard C
-prototypes, so you can use prototypes (perhaps conditionalized to be
-active only in Standard C) to make the code work on those systems.
-
- In certain cases, it is ok to pass integer and pointer arguments
-indiscriminately to the same function, and use no prototype on any
-system. For example, many GNU programs have error-reporting functions
-that pass their arguments along to `printf' and friends:
-
- error (s, a1, a2, a3)
- char *s;
- char *a1, *a2, *a3;
- {
- fprintf (stderr, "error: ");
- fprintf (stderr, s, a1, a2, a3);
- }
+ while ((c = getchar ()) != EOF)
+ write (file_descriptor, &c, 1);
-In practice, this works on all machines, since a pointer is generally
-the widest possible kind of argument; it is much simpler than any
-"correct" alternative. Be sure _not_ to use a prototype for such
-functions.
+Instead, use `unsigned char' as follows. (The `unsigned' is for
+portability to unusual systems where `char' is signed and where there
+is integer overflow checking.)
+
+ int c;
+ while ((c = getchar ()) != EOF)
+ {
+ unsigned char u = c;
+ write (file_descriptor, &u, 1);
+ }
+
+ It used to be ok to not worry about the difference between pointers
+and integers when passing arguments to functions. However, on most
+modern 64-bit machines pointers are wider than `int'. Conversely,
+integer types like `long long int' and `off_t' are wider than pointers
+on most modern 32-bit machines. Hence it's often better nowadays to
+use prototypes to define functions whose argument types are not trivial.
+
+ In particular, if functions accept varying argument counts or types
+they should be declared using prototypes containing `...' and defined
+using `stdarg.h'. For an example of this, please see the Gnulib
+(http://www.gnu.org/software/gnulib/) error module, which declares and
+defines the following function:
+
+ /* Print a message with `fprintf (stderr, FORMAT, ...)';
+ if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM).
+ If STATUS is nonzero, terminate the program with `exit (STATUS)'. */
- If you have decided to use Standard C, then you can instead define
-`error' using `stdarg.h', and pass the arguments along to `vfprintf'.
+ void error (int status, int errnum, const char *format, ...);
+
+ A simple way to use the Gnulib error module is to obtain the two
+source files `error.c' and `error.h' from the Gnulib library source
+code repository at
+`http://savannah.gnu.org/cgi-bin/viewcvs/gnulib/gnulib/lib/'. Here's a
+sample use:
+
+ #include "error.h"
+ #include <errno.h>
+ #include <stdio.h>
+
+ char *program_name = "myprogram";
+
+ FILE *
+ xfopen (char const *name)
+ {
+ FILE *fp = fopen (name, "r");
+ if (! fp)
+ error (1, errno, "cannot read %s", name);
+ return fp;
+ }
Avoid casting pointers to integers if you can. Such casts greatly
reduce portability, and in most programs they are easy to avoid. In the
get them properly defined is to use Autoconf.
\1f
-File: standards.info, Node: Internationalization, Next: Mmap, Prev: System Functions, Up: Writing C
+File: standards.info, Node: Internationalization, Next: Character Set, Prev: System Functions, Up: Writing C
5.8 Internationalization
========================
name" for the package. The text domain name is used to separate the
translations for this package from the translations for other packages.
Normally, the text domain name should be the same as the name of the
-package--for example, `fileutils' for the GNU file utilities.
+package--for example, `coreutils' for the GNU core utilities.
To enable gettext to work well, avoid writing code that makes
assumptions about the structure of words or sentences. When you want
Here is an example of what not to do:
- printf ("%d file%s processed", nfiles,
- nfiles != 1 ? "s" : "");
+ printf ("%s is full", capacity > 5000000 ? "disk" : "floppy disk");
-The problem with that example is that it assumes that plurals are made
-by adding `s'. If you apply gettext to the format string, like this,
+ If you apply gettext to all strings, like this,
- printf (gettext ("%d file%s processed"), nfiles,
- nfiles != 1 ? "s" : "");
+ printf (gettext ("%s is full"),
+ capacity > 5000000 ? gettext ("disk") : gettext ("floppy disk"));
-the message can use different words, but it will still be forced to use
-`s' for the plural. Here is a better way:
+the translator will hardly know that "disk" and "floppy disk" are meant
+to be substituted in the other string. Worse, in some languages (like
+French) the construction will not work: the translation of the word
+"full" depends on the gender of the first part of the sentence; it
+happens to be not the same for "disk" as for "floppy disk".
- printf ((nfiles != 1 ? "%d files processed"
- : "%d file processed"),
- nfiles);
+ Complete sentences can be translated without problems:
-This way, you can apply gettext to each of the two strings
-independently:
-
- printf ((nfiles != 1 ? gettext ("%d files processed")
- : gettext ("%d file processed")),
- nfiles);
-
-This can be any method of forming the plural of the word for "file", and
-also handles languages that require agreement in the word for
-"processed".
+ printf (capacity > 5000000 ? gettext ("disk is full")
+ : gettext ("floppy disk is full"));
A similar problem appears at the level of sentence structure with
this code:
Adding `gettext' calls to this code cannot give correct results for all
languages, because negation in some languages requires adding words at
more than one place in the sentence. By contrast, adding `gettext'
-calls does the job straightfowardly if the code starts out like this:
+calls does the job straightforwardly if the code starts out like this:
printf (f->tried_implicit
? "# Implicit rule search has been done.\n",
: "# Implicit rule search has not been done.\n");
+ Another example is this one:
+
+ printf ("%d file%s processed", nfiles,
+ nfiles != 1 ? "s" : "");
+
+The problem with this example is that it assumes that plurals are made
+by adding `s'. If you apply gettext to the format string, like this,
+
+ printf (gettext ("%d file%s processed"), nfiles,
+ nfiles != 1 ? "s" : "");
+
+the message can use different words, but it will still be forced to use
+`s' for the plural. Here is a better way, with gettext being applied to
+the two strings independently:
+
+ printf ((nfiles != 1 ? gettext ("%d files processed")
+ : gettext ("%d file processed")),
+ nfiles);
+
+But this still doesn't work for languages like Polish, which has three
+plural forms: one for nfiles == 1, one for nfiles == 2, 3, 4, 22, 23,
+24, ... and one for the rest. The GNU `ngettext' function solves this
+problem:
+
+ printf (ngettext ("%d files processed", "%d file processed", nfiles),
+ nfiles);
+
+\1f
+File: standards.info, Node: Character Set, Next: Quote Characters, Prev: Internationalization, Up: Writing C
+
+5.9 Character Set
+=================
+
+Sticking to the ASCII character set (plain text, 7-bit characters) is
+preferred in GNU source code comments, text documents, and other
+contexts, unless there is good reason to do something else because of
+the application domain. For example, if source code deals with the
+French Revolutionary calendar, it is OK if its literal strings contain
+accented characters in month names like "Flore'al". Also, it is OK to
+use non-ASCII characters to represent proper names of contributors in
+change logs (*note Change Logs::).
+
+ If you need to use non-ASCII characters, you should normally stick
+with one encoding, as one cannot in general mix encodings reliably.
+
+\1f
+File: standards.info, Node: Quote Characters, Next: Mmap, Prev: Character Set, Up: Writing C
+
+5.10 Quote Characters
+=====================
+
+In the C locale, GNU programs should stick to plain ASCII for quotation
+characters in messages to users: preferably 0x60 (``') for left quotes
+and 0x27 (`'') for right quotes. It is ok, but not required, to use
+locale-specific quotes in other locales.
+
+ The Gnulib (http://www.gnu.org/software/gnulib/) `quote' and
+`quotearg' modules provide a reasonably straightforward way to support
+locale-specific quote characters, as well as taking care of other
+issues, such as quoting a filename that itself contains a quote
+character. See the Gnulib documentation for usage details.
+
+ In any case, the documentation for your program should clearly
+specify how it does quoting, if different than the preferred method of
+``' and `''. This is especially important if the output of your
+program is ever likely to be parsed by another program.
+
+ Quotation characters are a difficult area in the computing world at
+this time: there are no true left or right quote characters in Latin1;
+the ``' character we use was standardized there as a grave accent.
+Moreover, Latin1 is still not universally usable.
+
+ Unicode contains the unambiguous quote characters required, and its
+common encoding UTF-8 is upward compatible with Latin1. However,
+Unicode and UTF-8 are not universally well-supported, either.
+
+ This may change over the next few years, and then we will revisit
+this.
+
\1f
-File: standards.info, Node: Mmap, Prev: Internationalization, Up: Writing C
+File: standards.info, Node: Mmap, Prev: Quote Characters, Up: Writing C
-5.9 Mmap
-========
+5.11 Mmap
+=========
Don't assume that `mmap' either works on all files or fails for all
files. It may work on some files and fail on others.
* Manual Credits:: Giving credit to documentation contributors.
* Printed Manuals:: Mentioning the printed manual.
* NEWS File:: NEWS files supplement manuals.
-* Change Logs:: Recording Changes
+* Change Logs:: Recording changes.
* Man Pages:: Man pages are secondary.
* Reading other Manuals:: How far you can go in learning
from other manuals.
converted automatically into Texinfo. It is ok to produce the Texinfo
documentation by conversion this way, as long as it gives good results.
- Programmers often find it most natural to structure the documentation
-following the structure of the implementation, which they know. But
-this structure is not necessarily good for explaining how to use the
-program; it may be irrelevant and confusing for a user.
-
- At every level, from the sentences in a paragraph to the grouping of
-topics into separate manuals, the right way to structure documentation
-is according to the concepts and questions that a user will have in mind
-when reading it. Sometimes this structure of ideas matches the
+ Make sure your manual is clear to a reader who knows nothing about
+the topic and reads it straight through. This means covering basic
+topics at the beginning, and advanced topics only later. This also
+means defining every specialized term when it is first used.
+
+ Programmers tend to carry over the structure of the program as the
+structure for its documentation. But this structure is not necessarily
+good for explaining how to use the program; it may be irrelevant and
+confusing for a user.
+
+ Instead, the right way to structure documentation is according to the
+concepts and questions that a user will have in mind when reading it.
+This principle applies at every level, from the lowest (ordering
+sentences in a paragraph) to the highest (ordering of chapter topics
+within the manual). Sometimes this structure of ideas matches the
structure of the implementation of the software being documented--but
-often they are different. Often the most important part of learning to
-write good documentation is learning to notice when you are structuring
-the documentation like the implementation, and think about better
-alternatives.
+often they are different. An important part of learning to write good
+documentation is to learn to notice when you have unthinkingly
+structured the documentation like the implementation, stop yourself,
+and look for better alternatives.
For example, each program in the GNU system probably ought to be
documented in one manual; but this does not mean each program should
give examples of their use. But don't organize the manual as a list of
features. Instead, organize it logically, by subtopics. Address the
questions that a user will ask when thinking about the job that the
-program does.
+program does. Don't just tell the reader what each feature can do--say
+what jobs it is good for, and show how to use it for those jobs.
+Explain what is recommended usage, and what kinds of usage users should
+avoid.
In general, a GNU manual should serve both as tutorial and reference.
It should be set up for convenient access to each topic through Info,
which is different from what we use in GNU manuals.
Please include an email address in the manual for where to report
-bugs _in the manual_.
+bugs _in the text of the manual_.
Please do not use the term "pathname" that is used in Unix
documentation; use "file name" (two words) instead. We use the term
"path" only for search paths, which are lists of directory names.
- Please do not use the term "illegal" to refer to erroneous input to a
-computer program. Please use "invalid" for this, and reserve the term
-"illegal" for activities punishable by law.
+ Please do not use the term "illegal" to refer to erroneous input to
+a computer program. Please use "invalid" for this, and reserve the
+term "illegal" for activities prohibited by law.
+
+ Please do not write `()' after a function name just to indicate it
+is a function. `foo ()' is not a function, it is a function call with
+no arguments.
\1f
File: standards.info, Node: Doc Strings and Manuals, Next: Manual Structure Details, Prev: GNU Manuals, Up: Documentation
variables. The previous descriptions of functions and variables in the
section will also have given information about the topic. A description
written to stand alone would repeat some of that information; this
-redundance looks bad. Meanwhile, the informality that is acceptable in
+redundancy looks bad. Meanwhile, the informality that is acceptable in
a documentation string is totally unacceptable in a manual.
The only good way to use documentation strings in writing a good
`PROGRAM Invocation' or `Invoking PROGRAM'. This node (together with
its subnodes, if any) should describe the program's command line
arguments and how to run it (the sort of information people would look
-in a man page for). Start with an `@example' containing a template for
+for in a man page). Start with an `@example' containing a template for
all the options and arguments that the program uses.
Alternatively, put a menu item in some menu whose item name fits one
change log when you add a function, because there should be a comment
before the function definition to explain what it does.
+ In the past, we recommended not mentioning changes in non-software
+files (manuals, help files, etc.) in change logs. However, we've been
+advised that it is a good idea to include them, for the sake of
+copyright records.
+
However, sometimes it is useful to write one line to describe the
overall purpose of a batch of changes.
--------------------------
Here are some simple examples of change log entries, starting with the
-header line that says who made the change and when, followed by
-descriptions of specific changes. (These examples are drawn from Emacs
-and GCC.)
+header line that says who made the change and when it was installed,
+followed by descriptions of specific changes. (These examples are
+drawn from Emacs and GCC.)
1998-08-17 Richard Stallman <rms@gnu.org>
* keyboard.c (menu_bar_items, tool_bar_items)
(Fexecute_extended_command): Deal with `keymap' property.
+ When you install someone else's changes, put the contributor's name
+in the change log entry rather than in the text of the entry. In other
+words, write this:
+
+ 2002-07-14 John Doe <jdoe@gnu.org>
+
+ * sewing.c: Make it sew.
+
+rather than this:
+
+ 2002-07-14 Usual Maintainer <usual@gnu.org>
+
+ * sewing.c: Make it sew. Patch by jdoe@gnu.org.
+
+ As for the date, that should be the date you applied the change.
+
\1f
File: standards.info, Node: Simple Changes, Next: Conditional Changes, Prev: Style of Change Logs, Up: Change Logs
an entry for the file, without mentioning the functions. Just "Doc
fixes" is enough for the change log.
- There's no need to make change log entries for documentation files.
-This is because documentation is not susceptible to bugs that are hard
-to fix. Documentation does not consist of parts that must interact in a
-precisely engineered fashion. To correct an error, you need not know
-the history of the erroneous passage; it is enough to compare what the
-documentation says with the way the program actually works.
+ There's no technical need to make change log entries for
+documentation files. This is because documentation is not susceptible
+to bugs that are hard to fix. Documentation does not consist of parts
+that must interact in a precisely engineered fashion. To correct an
+error, you need not know the history of the erroneous passage; it is
+enough to compare what the documentation says with the way the program
+actually works.
+
+ However, you should keep change logs for documentation files when the
+project gets copyright assignments from its contributors, so as to make
+the records of authorship more accurate.
\1f
File: standards.info, Node: Conditional Changes, Next: Indicating the Part Changed, Prev: Simple Changes, Up: Change Logs
is more authoritative. The note should say how to access the Texinfo
documentation.
+ Be sure that man pages include a copyright statement and free
+license. The simple all-permissive license is appropriate for simple
+man pages:
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved.
+
+ For long man pages, with enough explanation and documentation that
+they can be considered true manuals, use the GFDL (*note License for
+Manuals::).
+
+ Finally, the GNU help2man program
+(`http://www.gnu.org/software/help2man/') is one way to automate
+generation of a man page, in this case from `--help' output. This is
+sufficient in many cases.
+
\1f
File: standards.info, Node: Reading other Manuals, Prev: Man Pages, Up: Documentation
* Menu:
-* Configuration:: How Configuration Should Work
-* Makefile Conventions:: Makefile Conventions
-* Releases:: Making Releases
+* Configuration:: How configuration of GNU packages should work.
+* Makefile Conventions:: Makefile conventions.
+* Releases:: Making releases
\1f
File: standards.info, Node: Configuration, Next: Makefile Conventions, Up: Managing Releases
CPU-COMPANY-SYSTEM
- For example, a Sun 3 might be `m68k-sun-sunos4.1'.
+ For example, an Athlon-based GNU/Linux system might be
+`i686-pc-linux-gnu'.
The `configure' script needs to be able to decode all plausible
-alternatives for how to describe a machine. Thus, `sun3-sunos4.1'
-would be a valid alias. For many programs, `vax-dec-ultrix' would be
-an alias for `vax-dec-bsd', simply because the differences between
-Ultrix and BSD are rarely noticeable, but a few programs might need to
-distinguish them.
-
- There is a shell script called `config.sub' that you can use as a
-subroutine to validate system types and canonicalize aliases.
+alternatives for how to describe a machine. Thus,
+`athlon-pc-gnu/linux' would be a valid alias. There is a shell script
+called `config.sub'
+(http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub)
+that you can use as a subroutine to validate system types and
+canonicalize aliases.
+
+ The `configure' script should also take the option
+`--build=BUILDTYPE', which should be equivalent to a plain BUILDTYPE
+argument. For example, `configure --build=i686-pc-linux-gnu' is
+equivalent to `configure i686-pc-linux-gnu'. When the build type is
+not specified by an option or argument, the `configure' script should
+normally guess it using the shell script `config.guess'
+(http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess).
Other options are permitted to specify in more detail the software
-or hardware present on the machine, and include or exclude optional
-parts of the package:
+or hardware present on the machine, to include or exclude optional parts
+of the package, or to adjust the name of some tools or arguments to
+them:
`--enable-FEATURE[=PARAMETER]'
Configure the package to build and install an optional user-level
find certain files. That is outside the scope of what `--with'
options are for.
- All `configure' scripts should accept all of these "detail" options,
-whether or not they make any difference to the particular package at
-hand. In particular, they should accept any option that starts with
-`--with-' or `--enable-'. This is so users will be able to configure
-an entire GNU source tree at once with a single set of options.
+`VARIABLE=VALUE'
+ Set the value of the variable VARIABLE to VALUE. This is used to
+ override the default values of commands or arguments in the build
+ process. For example, the user could issue `configure CFLAGS=-g
+ CXXFLAGS=-g' to build with debugging information and without the
+ default optimization.
+
+ Specifying variables as arguments to `configure', like this:
+ ./configure CC=gcc
+ is preferable to setting them in environment variables:
+ CC=gcc ./configure
+ as it helps to recreate the same configuration later with
+ `config.status'.
+
+ All `configure' scripts should accept all of the "detail" options
+and the variable settings, whether or not they make any difference to
+the particular package at hand. In particular, they should accept any
+option that starts with `--with-' or `--enable-'. This is so users
+will be able to configure an entire GNU source tree at once with a
+single set of options.
You will note that the categories `--with-' and `--enable-' are
narrow: they *do not* provide a place for any sort of option you might
system as both the host and the target, thus producing a program which
works for the same type of machine that it runs on.
+ To compile a program to run on a host type that differs from the
+build type, use the configure option `--host=HOSTTYPE', where HOSTTYPE
+uses the same syntax as BUILDTYPE. The host type normally defaults to
+the build type.
+
To configure a cross-compiler, cross-assembler, or what have you, you
should specify a target different from the host, using the configure
option `--target=TARGETTYPE'. The syntax for TARGETTYPE is the same as
for the host type. So the command would look like this:
- ./configure HOSTTYPE --target=TARGETTYPE
-
- Programs for which cross-operation is not meaningful need not accept
-the `--target' option, because configuring an entire operating system
-for cross-operation is not a meaningful operation.
+ ./configure --host=HOSTTYPE --target=TARGETTYPE
- Bootstrapping a cross-compiler requires compiling it on a machine
-other than the host it will run on. Compilation packages accept a
-configuration option `--build=BUILDTYPE' for specifying the
-configuration on which you will compile them, but the configure script
-should normally guess the build machine type (using `config.guess'), so
-this option is probably not necessary. The host and target types
-normally default from the build type, so in bootstrapping a
-cross-compiler you must specify them both explicitly.
+ The target type normally defaults to the host type. Programs for
+which cross-operation is not meaningful need not accept the `--target'
+option, because configuring an entire operating system for
+cross-operation is not a meaningful operation.
Some programs have ways of configuring themselves automatically. If
your program is set up to do this, your `configure' script can simply
* Menu:
-* Makefile Basics:: General Conventions for Makefiles
-* Utilities in Makefiles:: Utilities in Makefiles
-* Command Variables:: Variables for Specifying Commands
-* Directory Variables:: Variables for Installation Directories
-* Standard Targets:: Standard Targets for Users
+* Makefile Basics:: General conventions for Makefiles.
+* Utilities in Makefiles:: Utilities to be used in Makefiles.
+* Command Variables:: Variables for specifying commands.
+* DESTDIR:: Supporting staged installs.
+* Directory Variables:: Variables for installation directories.
+* Standard Targets:: Standard targets for users.
* Install Command Categories:: Three categories of commands in the `install'
rule: normal, pre-install and post-install.
exist.
\1f
-File: standards.info, Node: Command Variables, Next: Directory Variables, Prev: Utilities in Makefiles, Up: Makefile Conventions
+File: standards.info, Node: Command Variables, Next: DESTDIR, Prev: Utilities in Makefiles, Up: Makefile Conventions
7.2.3 Variables for Specifying Commands
---------------------------------------
and `INSTALL_DATA'. (The default for `INSTALL_PROGRAM' should be
`$(INSTALL)'; the default for `INSTALL_DATA' should be `${INSTALL} -m
644'.) Then it should use those variables as the commands for actual
-installation, for executables and nonexecutables respectively. Use
-these variables as follows:
+installation, for executables and non-executables respectively.
+Minimal use of these variables is as follows:
$(INSTALL_PROGRAM) foo $(bindir)/foo
$(INSTALL_DATA) libfoo.a $(libdir)/libfoo.a
- Optionally, you may prepend the value of `DESTDIR' to the target
-filename. Doing this allows the installer to create a snapshot of the
-installation to be copied onto the real target filesystem later. Do not
-set the value of `DESTDIR' in your Makefile, and do not include it in
-any installed files. With support for `DESTDIR', the above examples
-become:
-
- $(INSTALL_PROGRAM) foo $(DESTDIR)$(bindir)/foo
- $(INSTALL_DATA) libfoo.a $(DESTDIR)$(libdir)/libfoo.a
+ However, it is preferable to support a `DESTDIR' prefix on the
+target files, as explained in the next section.
Always use a file name, not a directory name, as the second argument of
the installation commands. Use a separate command for each file to be
installed.
\1f
-File: standards.info, Node: Directory Variables, Next: Standard Targets, Prev: Command Variables, Up: Makefile Conventions
+File: standards.info, Node: DESTDIR, Next: Directory Variables, Prev: Command Variables, Up: Makefile Conventions
+
+7.2.4 `DESTDIR': support for staged installs
+--------------------------------------------
+
+`DESTDIR' is a variable prepended to each installed target file, like
+this:
+
+ $(INSTALL_PROGRAM) foo $(DESTDIR)$(bindir)/foo
+ $(INSTALL_DATA) libfoo.a $(DESTDIR)$(libdir)/libfoo.a
+
+ The `DESTDIR' variable is specified by the user on the `make'
+command line. For example:
+
+ make DESTDIR=/tmp/stage install
+
+`DESTDIR' should be supported only in the `install*' and `uninstall*'
+targets, as those are the only targets where it is useful.
+
+ If your installation step would normally install
+`/usr/local/bin/foo' and `/usr/local/lib/libfoo.a', then an
+installation invoked as in the example above would install
+`/tmp/stage/usr/local/bin/foo' and `/tmp/stage/usr/local/lib/libfoo.a'
+instead.
+
+ Prepending the variable `DESTDIR' to each target in this way
+provides for "staged installs", where the installed files are not
+placed directly into their expected location but are instead copied
+into a temporary location (`DESTDIR'). However, installed files
+maintain their relative directory structure and any embedded file names
+will not be modified.
+
+ You should not set the value of `DESTDIR' in your `Makefile' at all;
+then the files are installed into their expected locations by default.
+Also, specifying `DESTDIR' should not change the operation of the
+software in any way, so its value should not be included in any file
+contents.
+
+ `DESTDIR' support is commonly used in package creation. It is also
+helpful to users who want to understand what a given package will
+install where, and to allow users who don't normally have permissions
+to install into protected areas to build and install before gaining
+those permissions. Finally, it can be useful with tools such as
+`stow', where code is installed in one place but made to appear to be
+installed somewhere else using symbolic links or special mount
+operations. So, we strongly recommend GNU packages support `DESTDIR',
+though it is not an absolute requirement.
+
+\1f
+File: standards.info, Node: Directory Variables, Next: Standard Targets, Prev: DESTDIR, Up: Makefile Conventions
-7.2.4 Variables for Installation Directories
+7.2.5 Variables for Installation Directories
--------------------------------------------
Installation directories should always be named by variables, so it is
easy to install in a nonstandard place. The standard names for these
-variables are described below. They are based on a standard filesystem
-layout; variants of it are used in SVR4, 4.4BSD, GNU/Linux, Ultrix v4,
-and other modern operating systems.
-
- These two variables set the root for the installation. All the other
-installation directories should be subdirectories of one of these two,
-and nothing should be directly installed into these two directories.
+variables and the values they should have in GNU packages are described
+below. They are based on a standard file system layout; variants of it
+are used in GNU/Linux and other modern operating systems.
+
+ Installers are expected to override these values when calling `make'
+(e.g., `make prefix=/usr install' or `configure' (e.g., `configure
+--prefix=/usr'). GNU packages should not try to guess which value
+should be appropriate for these variables on the system they are being
+installed onto: use the default settings specified here so that all GNU
+packages behave identically, allowing the installer to achieve any
+desired layout.
+
+ These first two variables set the root for the installation. All the
+other installation directories should be subdirectories of one of these
+two, and nothing should be directly installed into these two
+directories.
`prefix'
A prefix used in constructing the default values of the variables
`/usr/local/libexec', but write it as `$(exec_prefix)/libexec'.
(If you are using Autoconf, write it as `@libexecdir@'.)
+ The definition of `libexecdir' is the same for all packages, so
+ you should install your data in a subdirectory thereof. Most
+ packages install their data under `$(libexecdir)/PACKAGE-NAME/',
+ possibly within additional subdirectories thereof, such as
+ `$(libexecdir)/PACKAGE-NAME/MACHINE/VERSION'.
+
Data files used by the program during its execution are divided into
categories in two ways.
files and libraries. It is much cleaner to make other data files
architecture-independent, and it is generally not hard.
- Therefore, here are the variables Makefiles should use to specify
-directories:
+ Here are the variables Makefiles should use to specify directories
+to put these various kinds of files in:
+
+`datarootdir'
+ The root of the directory tree for read-only
+ architecture-independent data files. This should normally be
+ `/usr/local/share', but write it as `$(prefix)/share'. (If you
+ are using Autoconf, write it as `@datarootdir@'.) `datadir''s
+ default value is based on this variable; so are `infodir',
+ `mandir', and others.
`datadir'
- The directory for installing read-only architecture independent
- data files. This should normally be `/usr/local/share', but write
- it as `$(prefix)/share'. (If you are using Autoconf, write it as
- `@datadir@'.) As a special exception, see `$(infodir)' and
- `$(includedir)' below.
+ The directory for installing idiosyncratic read-only
+ architecture-independent data files for this program. This is
+ usually the same place as `datarootdir', but we use the two
+ separate variables so that you can move these program-specific
+ files without altering the location for Info files, man pages, etc.
+
+ This should normally be `/usr/local/share', but write it as
+ `$(datarootdir)'. (If you are using Autoconf, write it as
+ `@datadir@'.)
+
+ The definition of `datadir' is the same for all packages, so you
+ should install your data in a subdirectory thereof. Most packages
+ install their data under `$(datadir)/PACKAGE-NAME/'.
`sysconfdir'
The directory for installing read-only data files that pertain to a
it as `$(prefix)/var'. (If you are using Autoconf, write it as
`@localstatedir@'.)
-`libdir'
- The directory for object files and libraries of object code. Do
- not install executables here, they probably ought to go in
- `$(libexecdir)' instead. The value of `libdir' should normally be
- `/usr/local/lib', but write it as `$(exec_prefix)/lib'. (If you
- are using Autoconf, write it as `@libdir@'.)
-
-`infodir'
- The directory for installing the Info files for this package. By
- default, it should be `/usr/local/info', but it should be written
- as `$(prefix)/info'. (If you are using Autoconf, write it as
- `@infodir@'.)
-
-`lispdir'
- The directory for installing any Emacs Lisp files in this package.
- By default, it should be `/usr/local/share/emacs/site-lisp', but
- it should be written as `$(prefix)/share/emacs/site-lisp'.
-
- If you are using Autoconf, write the default as `@lispdir@'. In
- order to make `@lispdir@' work, you need the following lines in
- your `configure.in' file:
-
- lispdir='${datadir}/emacs/site-lisp'
- AC_SUBST(lispdir)
+ These variables specify the directory for installing certain specific
+types of files, if your program has them. Every GNU package should
+have Info files, so every program needs `infodir', but not all need
+`libdir' or `lispdir'.
`includedir'
The directory for installing header files to be included by user
To tell whether `foo.h' came from the Foo package, put a magic
string in the file--part of a comment--and `grep' for that string.
+`docdir'
+ The directory for installing documentation files (other than Info)
+ for this package. By default, it should be
+ `/usr/local/share/doc/YOURPKG', but it should be written as
+ `$(datarootdir)/doc/YOURPKG'. (If you are using Autoconf, write
+ it as `@docdir@'.) The YOURPKG subdirectory, which may include a
+ version number, prevents collisions among files with common names,
+ such as `README'.
+
+`infodir'
+ The directory for installing the Info files for this package. By
+ default, it should be `/usr/local/share/info', but it should be
+ written as `$(datarootdir)/info'. (If you are using Autoconf,
+ write it as `@infodir@'.) `infodir' is separate from `docdir' for
+ compatibility with existing practice.
+
+`htmldir'
+`dvidir'
+`pdfdir'
+`psdir'
+ Directories for installing documentation files in the particular
+ format. They should all be set to `$(docdir)' by default. (If
+ you are using Autoconf, write them as `@htmldir@', `@dvidir@',
+ etc.) Packages which supply several translations of their
+ documentation should install them in `$(htmldir)/'LL,
+ `$(pdfdir)/'LL, etc. where LL is a locale abbreviation such as
+ `en' or `pt_BR'.
+
+`libdir'
+ The directory for object files and libraries of object code. Do
+ not install executables here, they probably ought to go in
+ `$(libexecdir)' instead. The value of `libdir' should normally be
+ `/usr/local/lib', but write it as `$(exec_prefix)/lib'. (If you
+ are using Autoconf, write it as `@libdir@'.)
+
+`lispdir'
+ The directory for installing any Emacs Lisp files in this package.
+ By default, it should be `/usr/local/share/emacs/site-lisp', but
+ it should be written as `$(datarootdir)/emacs/site-lisp'.
+
+ If you are using Autoconf, write the default as `@lispdir@'. In
+ order to make `@lispdir@' work, you need the following lines in
+ your `configure.in' file:
+
+ lispdir='${datarootdir}/emacs/site-lisp'
+ AC_SUBST(lispdir)
+
+`localedir'
+ The directory for installing locale-specific message catalogs for
+ this package. By default, it should be `/usr/local/share/locale',
+ but it should be written as `$(datarootdir)/locale'. (If you are
+ using Autoconf, write it as `@localedir@'.) This directory
+ usually has a subdirectory per locale.
+
Unix-style man pages are installed in one of the following:
`mandir'
The top-level directory for installing the man pages (if any) for
- this package. It will normally be `/usr/local/man', but you should
- write it as `$(prefix)/man'. (If you are using Autoconf, write it
- as `@mandir@'.)
+ this package. It will normally be `/usr/local/share/man', but you
+ should write it as `$(datarootdir)/man'. (If you are using
+ Autoconf, write it as `@mandir@'.)
`man1dir'
The directory for installing section 1 man pages. Write it as
`srcdir'
The directory for the sources being compiled. The value of this
variable is normally inserted by the `configure' shell script.
- (If you are using Autconf, use `srcdir = @srcdir@'.)
+ (If you are using Autoconf, use `srcdir = @srcdir@'.)
For example:
# Common prefix for installation directories.
# NOTE: This directory must exist when you start the install.
prefix = /usr/local
+ datarootdir = $(prefix)/share
+ datadir = $(datarootdir)
exec_prefix = $(prefix)
# Where to put the executable for the command `gcc'.
bindir = $(exec_prefix)/bin
# Where to put the directories used by the compiler.
libexecdir = $(exec_prefix)/libexec
# Where to put the Info files.
- infodir = $(prefix)/info
+ infodir = $(datarootdir)/info
If your program installs a large number of files into one of the
standard user-specified directories, it might be useful to group them
order for this to be useful, all the packages must be designed so that
they will work sensibly when the user does so.
+ At times, not all of these variables may be implemented in the
+current release of Autoconf and/or Automake; but as of Autoconf 2.60, we
+believe all of them are. When any are missing, the descriptions here
+serve as specifications for what Autoconf will implement. As a
+programmer, you can either use a development version of Autoconf or
+avoid using these variables until a stable release is made which
+supports them.
+
\1f
File: standards.info, Node: Standard Targets, Next: Install Command Categories, Prev: Directory Variables, Up: Makefile Conventions
-7.2.5 Standard Targets for Users
+7.2.6 Standard Targets for Users
--------------------------------
All GNU programs should have the following targets in their Makefiles:
`all'
Compile the entire program. This should be the default target.
This target need not rebuild any documentation files; Info files
- should normally be included in the distribution, and DVI files
- should be made only when explicitly asked for.
+ should normally be included in the distribution, and DVI (and other
+ documentation format) files should be made only when explicitly
+ asked for.
By default, the Make rules should compile and link with `-g', so
that executable programs have debugging symbols. Users who don't
commands and "post-installation" commands. *Note Install Command
Categories::.
+`install-html'
+`install-dvi'
+`install-pdf'
+`install-ps'
+ These targets install documentation in formats other than Info;
+ they're intended to be called explicitly by the person installing
+ the package, if that format is desired. GNU prefers Info files,
+ so these must be installed by the `install' target.
+
+ When you have many documentation files to install, we recommend
+ that you avoid collisions and clutter by arranging for these
+ targets to install in subdirectories of the appropriate
+ installation directory, such as `htmldir'. As one example, if
+ your package has multiple manuals, and you wish to install HTML
+ documentation with many files (such as the "split" mode output by
+ `makeinfo --html'), you'll certainly want to use subdirectories,
+ or two nodes with the same name in different manuals will
+ overwrite each other.
+
+ Please make these `install-FORMAT' targets invoke the commands for
+ the FORMAT target, for example, by making FORMAT a dependency.
+
`uninstall'
- Delete all the installed files--the copies that the `install'
- target creates.
+ Delete all the installed files--the copies that the `install' and
+ `install-*' targets create.
This rule should not modify the directories where compilation is
done, only the directories where files are installed.
the unstripped executable elsewhere in case there is a bug.
`clean'
- Delete all files from the current directory that are normally
- created by building the program. Don't delete the files that
- record the configuration. Also preserve files that could be made
- by building, but normally aren't because the distribution comes
- with them.
+ Delete all files in the current directory that are normally
+ created by building the program. Also delete files in other
+ directories if they are created by this makefile. However, don't
+ delete the files that record the configuration. Also preserve
+ files that could be made by building, but normally aren't because
+ the distribution comes with them. There is no need to delete
+ parent directories that were created with `mkdir -p', since they
+ could have existed anyway.
Delete `.dvi' files here if they are not part of the distribution.
`distclean'
- Delete all files from the current directory that are created by
- configuring or building the program. If you have unpacked the
- source and built the program without creating any other files,
- `make distclean' should leave only the files that were in the
- distribution.
+ Delete all files in the current directory (or created by this
+ makefile) that are created by configuring or building the program.
+ If you have unpacked the source and built the program without
+ creating any other files, `make distclean' should leave only the
+ files that were in the distribution. However, there is no need to
+ delete parent directories that were created with `mkdir -p', since
+ they could have existed anyway.
`mostlyclean'
Like `clean', but may refrain from deleting a few files that people
is rarely necessary and takes a lot of time.
`maintainer-clean'
- Delete almost everything from the current directory that can be
- reconstructed with this Makefile. This typically includes
- everything deleted by `distclean', plus more: C source files
- produced by Bison, tags tables, Info files, and so on.
+ Delete almost everything that can be reconstructed with this
+ Makefile. This typically includes everything deleted by
+ `distclean', plus more: C source files produced by Bison, tags
+ tables, Info files, and so on.
The reason we say "almost everything" is that running the command
`make maintainer-clean' should not delete `configure' even if
`configure' can be remade using a rule in the Makefile. More
generally, `make maintainer-clean' should not delete anything that
needs to exist in order to run `configure' and then begin to build
- the program. This is the only exception; `maintainer-clean' should
+ the program. Also, there is no need to delete parent directories
+ that were created with `mkdir -p', since they could have existed
+ anyway. These are the only exceptions; `maintainer-clean' should
delete everything else that can be rebuilt.
The `maintainer-clean' target is intended to be used by a
update the Info files because they will already be up to date.
`dvi'
- Generate DVI files for all Texinfo documentation. For example:
+`html'
+`pdf'
+`ps'
+ Generate documentation files in the given format. These targets
+ should always exist, but any or all can be a no-op if the given
+ output format cannot be generated. These targets should not be
+ dependencies of the `all' target; the user must manually invoke
+ them.
+
+ Here's an example rule for generating DVI files from Texinfo:
dvi: foo.dvi
distribution.(1) Alternatively, write just the dependencies, and
allow GNU `make' to provide the command.
+ Here's another example, this one for generating HTML from Texinfo:
+
+ html: foo.html
+
+ foo.html: foo.texi chap1.texi chap2.texi
+ $(TEXI2HTML) $(srcdir)/foo.texi
+
+ Again, you would define the variable `TEXI2HTML' in the Makefile;
+ for example, it might run `makeinfo --no-split --html' (`makeinfo'
+ is part of the Texinfo distribution).
+
`dist'
Create a distribution tar file for this program. The tar file
should be set up so that the file names in the tar file start with
\1f
File: standards.info, Node: Install Command Categories, Prev: Standard Targets, Up: Makefile Conventions
-7.2.6 Install Command Categories
+7.2.7 Install Command Categories
--------------------------------
When writing the `install' target, you must classify all the commands
Programs to build binary packages work by extracting the
pre-installation and post-installation commands. Here is one way of
-extracting the pre-installation commands:
+extracting the pre-installation commands (the `-s' option to `make' is
+needed to silence messages about entering subdirectories):
- make -n install -o all \
+ make -s -n install -o all \
PRE_INSTALL=pre-install \
POST_INSTALL=post-install \
NORMAL_INSTALL=normal-install \
where the file `pre-install.awk' could contain this:
- $0 ~ /^\t[ \t]*(normal_install|post_install)[ \t]*$/ {on = 0}
+ $0 ~ /^(normal-install|post-install)[ \t]*$/ {on = 0}
on {print $0}
- $0 ~ /^\t[ \t]*pre_install[ \t]*$/ {on = 1}
-
- The resulting file of pre-installation commands is executed as a
-shell script as part of installing the binary package.
+ $0 ~ /^pre-install[ \t]*$/ {on = 1}
\1f
File: standards.info, Node: Releases, Prev: Makefile Conventions, Up: Managing Releases
7.3 Making Releases
===================
-Package the distribution of `Foo version 69.96' up in a gzipped tar
+You should identify each release with a pair of version numbers, a
+major version and a minor. We have no objection to using more than two
+numbers, but it is very unlikely that you really need them.
+
+ Package the distribution of `Foo version 69.96' up in a gzipped tar
file with the name `foo-69.96.tar.gz'. It should unpack into a
subdirectory named `foo-69.96'.
Make sure that all the files in the distribution are world-readable.
- Make sure that no file name in the distribution is more than 14
-characters long. Likewise, no file created by building the program
-should have a name longer than 14 characters. The reason for this is
-that some systems adhere to a foolish interpretation of the POSIX
-standard, and refuse to open a longer name, rather than truncating as
-they did in the past.
-
Don't include any symbolic links in the distribution itself. If the
tar file contains symbolic links, then people cannot even unpack it on
systems that don't support symbolic links. Also, don't use multiple
know what other files to get.
\1f
-File: standards.info, Node: References, Next: Copying This Manual, Prev: Managing Releases, Up: Top
+File: standards.info, Node: References, Next: GNU Free Documentation License, Prev: Managing Releases, Up: Top
8 References to Non-Free Software and Documentation
***************************************************
A GNU program should not recommend use of any non-free program. We
can't stop some people from writing proprietary programs, or stop other
-people from using them, but we can and should avoid helping to
-advertise them to new potential customers. Proprietary software is a
-social and ethical problem, and the point of GNU is to solve that
-problem.
+people from using them, but we can and should refuse to advertise them
+to new potential customers. Proprietary software is a social and
+ethical problem, and the point of GNU is to solve that problem.
+
+ The GNU definition of free software is found on the GNU web site at
+`http://www.gnu.org/philosophy/free-sw.html', and the definition of
+free documentation is found at
+`http://www.gnu.org/philosophy/free-doc.html'. A list of important
+licenses and whether they qualify as free is in
+`http://www.gnu.org/licenses/license-list.html'. The terms "free" and
+"non-free", used in this document, refer to that definition. If it is
+not clear whether a license qualifies as free under this definition,
+please ask the GNU Project by writing to <licensing@gnu.org>. We will
+answer, and if the license is an important one, we will add it to the
+list.
When a non-free program or system is well known, you can mention it
in passing--that is harmless, since users who might want to use it
probably already know about it. For instance, it is fine to explain
-how to build your package on top of some non-free operating system, or
-how to use it together with some widely used non-free program.
+how to build your package on top of some widely used non-free operating
+system, or how to use it together with some widely used non-free
+program.
However, you should give only the necessary information to help those
who already use the non-free program to use your program with it--don't
program, and don't imply that the proprietary program enhances your
program, or that its existence is in any way a good thing. The goal
should be that people already using the proprietary program will get
-the advice they need about how to use your free program, while people
-who don't already use the proprietary program will not see anything to
-lead them to take an interest in it.
+the advice they need about how to use your free program with it, while
+people who don't already use the proprietary program will not see
+anything to lead them to take an interest in it.
If a non-free program or system is obscure in your program's domain,
your program should not mention or support it at all, since doing so
your program. (You cannot hope to find many additional users among the
users of Foobar if the users of Foobar are few.)
+ Sometimes a program is free software in itself but depends on a
+non-free platform in order to run. For instance, many Java programs
+depend on the parts of Sun's Java implementation which are not yet free
+software, and won't run on the GNU Java Compiler (which does not yet
+have all the features) or won't run with the GNU Java libraries. We
+hope this particular problem will be gone in a few months, when Sun
+makes the standard Java libraries free software, but of course the
+general principle remains: you should not recommend programs that
+depend on non-free software to run.
+
+ Some free programs encourage the use of non-free software. A typical
+example is `mplayer'. It is free software in itself, and the free code
+can handle some kinds of files. However, `mplayer' recommends use of
+non-free codecs for other kinds of files, and users that install
+`mplayer' are very likely to install those codecs along with it. To
+recommend `mplayer' is, in effect, to recommend the non-free codecs.
+We must not do that, so we cannot recommend `mplayer' either.
+
+ In general, you should also not recommend programs that themselves
+strongly recommend the use of non-free software.
+
A GNU package should not refer the user to any non-free documentation
for free software. Free documentation that can be included in free
-operating systems is essential for completing the GNU system, so it is
-a major focus of the GNU Project; to recommend use of documentation
-that we are not allowed to use in GNU would undermine the efforts to
-get documentation that we can include. So GNU packages should never
-recommend non-free documentation.
-
-\1f
-File: standards.info, Node: Copying This Manual, Next: Index, Prev: References, Up: Top
-
-Appendix A Copying This Manual
-******************************
-
-* Menu:
+operating systems is essential for completing the GNU system, or any
+free operating system, so it is a major focus of the GNU Project; to
+recommend use of documentation that we are not allowed to use in GNU
+would weaken the impetus for the community to produce documentation
+that we can include. So GNU packages should never recommend non-free
+documentation.
-* GNU Free Documentation License:: License for copying this manual
+ By contrast, it is ok to refer to journal articles and textbooks in
+the comments of a program for explanation of how it functions, even
+though they be non-free. This is because we don't include such things
+in the GNU system even if we are allowed to--they are outside the scope
+of an operating system project.
+
+ Referring to a web site that describes or recommends a non-free
+program is in effect promoting that software, so please do not make
+links (or mention by name) web sites that contain such material. This
+policy is relevant particularly for the web pages for a GNU package.
+
+ Following links from nearly any web site can lead to non-free
+software; this is an inescapable aspect of the nature of the web, and
+in itself is no objection to linking to a site. As long as the site
+does not itself recommend a non-free program, there is no need be
+concerned about the sites it links to for other reasons.
+
+ Thus, for example, you should not make a link to AT&T's web site,
+because that recommends AT&T's non-free software packages; you should
+not make a link to a site that links to AT&T's site saying it is a
+place to get a non-free program; but if a site you want to link to
+refers to AT&T's web site in some other context (such as long-distance
+telephone service), that is not a problem.
\1f
-File: standards.info, Node: GNU Free Documentation License, Up: Copying This Manual
+File: standards.info, Node: GNU Free Documentation License, Next: Index, Prev: References, Up: Top
-Appendix B GNU Free Documentation License
+Appendix A GNU Free Documentation License
*****************************************
- Version 1.1, March 2000
+ Version 1.2, November 2002
- Copyright (C) 2000 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
-
0. PREAMBLE
The purpose of this License is to make a manual, textbook, or other
- written document "free" in the sense of freedom: to assure everyone
- the effective freedom to copy and redistribute it, with or without
- modifying it, either commercially or noncommercially. Secondarily,
- this License preserves for the author and publisher a way to get
- credit for their work, while not being considered responsible for
- modifications made by others.
+ functional and useful document "free" in the sense of freedom: to
+ assure everyone the effective freedom to copy and redistribute it,
+ with or without modifying it, either commercially or
+ noncommercially. Secondarily, this License preserves for the
+ author and publisher a way to get credit for their work, while not
+ being considered responsible for modifications made by others.
This License is a kind of "copyleft", which means that derivative
works of the document must themselves be free in the same sense.
We recommend this License principally for works whose purpose is
instruction or reference.
-
1. APPLICABILITY AND DEFINITIONS
- This License applies to any manual or other work that contains a
- notice placed by the copyright holder saying it can be distributed
- under the terms of this License. The "Document", below, refers to
- any such manual or work. Any member of the public is a licensee,
- and is addressed as "you."
+ This License applies to any manual or other work, in any medium,
+ that contains a notice placed by the copyright holder saying it
+ can be distributed under the terms of this License. Such a notice
+ grants a world-wide, royalty-free license, unlimited in duration,
+ to use that work under the conditions stated herein. The
+ "Document", below, refers to any such manual or work. Any member
+ of the public is a licensee, and is addressed as "you". You
+ accept the license if you copy, modify or distribute the work in a
+ way requiring permission under copyright law.
A "Modified Version" of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.
- A "Secondary Section" is a named appendix or a front-matter
- section of the Document that deals exclusively with the
- relationship of the publishers or authors of the Document to the
- Document's overall subject (or to related matters) and contains
- nothing that could fall directly within that overall subject.
- (For example, if the Document is in part a textbook of
- mathematics, a Secondary Section may not explain any mathematics.)
- The relationship could be a matter of historical connection with
- the subject or with related matters, or of legal, commercial,
- philosophical, ethical or political position regarding them.
+ A "Secondary Section" is a named appendix or a front-matter section
+ of the Document that deals exclusively with the relationship of the
+ publishers or authors of the Document to the Document's overall
+ subject (or to related matters) and contains nothing that could
+ fall directly within that overall subject. (Thus, if the Document
+ is in part a textbook of mathematics, a Secondary Section may not
+ explain any mathematics.) The relationship could be a matter of
+ historical connection with the subject or with related matters, or
+ of legal, commercial, philosophical, ethical or political position
+ regarding them.
The "Invariant Sections" are certain Secondary Sections whose
titles are designated, as being those of Invariant Sections, in
the notice that says that the Document is released under this
- License.
+ License. If a section does not fit the above definition of
+ Secondary then it is not allowed to be designated as Invariant.
+ The Document may contain zero Invariant Sections. If the Document
+ does not identify any Invariant Sections then there are none.
The "Cover Texts" are certain short passages of text that are
listed, as Front-Cover Texts or Back-Cover Texts, in the notice
- that says that the Document is released under this License.
+ that says that the Document is released under this License. A
+ Front-Cover Text may be at most 5 words, and a Back-Cover Text may
+ be at most 25 words.
A "Transparent" copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
- general public, whose contents can be viewed and edited directly
- and straightforwardly with generic text editors or (for images
+ general public, that is suitable for revising the document
+ straightforwardly with generic text editors or (for images
composed of pixels) generic paint programs or (for drawings) some
widely available drawing editor, and that is suitable for input to
text formatters or for automatic translation to a variety of
formats suitable for input to text formatters. A copy made in an
- otherwise Transparent file format whose markup has been designed
- to thwart or discourage subsequent modification by readers is not
- Transparent. A copy that is not "Transparent" is called "Opaque."
+ otherwise Transparent file format whose markup, or absence of
+ markup, has been arranged to thwart or discourage subsequent
+ modification by readers is not Transparent. An image format is
+ not Transparent if used for any substantial amount of text. A
+ copy that is not "Transparent" is called "Opaque".
Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, LaTeX input format,
SGML or XML using a publicly available DTD, and
- standard-conforming simple HTML designed for human modification.
- Opaque formats include PostScript, PDF, proprietary formats that
- can be read and edited only by proprietary word processors, SGML
- or XML for which the DTD and/or processing tools are not generally
- available, and the machine-generated HTML produced by some word
- processors for output purposes only.
+ standard-conforming simple HTML, PostScript or PDF designed for
+ human modification. Examples of transparent image formats include
+ PNG, XCF and JPG. Opaque formats include proprietary formats that
+ can be read and edited only by proprietary word processors, SGML or
+ XML for which the DTD and/or processing tools are not generally
+ available, and the machine-generated HTML, PostScript or PDF
+ produced by some word processors for output purposes only.
The "Title Page" means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the
Page" means the text near the most prominent appearance of the
work's title, preceding the beginning of the body of the text.
+ A section "Entitled XYZ" means a named subunit of the Document
+ whose title either is precisely XYZ or contains XYZ in parentheses
+ following text that translates XYZ in another language. (Here XYZ
+ stands for a specific section name mentioned below, such as
+ "Acknowledgements", "Dedications", "Endorsements", or "History".)
+ To "Preserve the Title" of such a section when you modify the
+ Document means that it remains a section "Entitled XYZ" according
+ to this definition.
+
+ The Document may include Warranty Disclaimers next to the notice
+ which states that this License applies to the Document. These
+ Warranty Disclaimers are considered to be included by reference in
+ this License, but only as regards disclaiming warranties: any other
+ implication that these Warranty Disclaimers may have is void and
+ has no effect on the meaning of this License.
+
2. VERBATIM COPYING
You may copy and distribute the Document in any medium, either
3. COPYING IN QUANTITY
- If you publish printed copies of the Document numbering more than
- 100, and the Document's license notice requires Cover Texts, you
- must enclose the copies in covers that carry, clearly and legibly,
- all these Cover Texts: Front-Cover Texts on the front cover, and
+ If you publish printed copies (or copies in media that commonly
+ have printed covers) of the Document, numbering more than 100, and
+ the Document's license notice requires Cover Texts, you must
+ enclose the copies in covers that carry, clearly and legibly, all
+ these Cover Texts: Front-Cover Texts on the front cover, and
Back-Cover Texts on the back cover. Both covers must also clearly
and legibly identify you as the publisher of these copies. The
front cover must present the full title with all words of the
If you publish or distribute Opaque copies of the Document
numbering more than 100, you must either include a
machine-readable Transparent copy along with each Opaque copy, or
- state in or with each Opaque copy a publicly-accessible
- computer-network location containing a complete Transparent copy
- of the Document, free of added material, which the general
- network-using public has access to download anonymously at no
- charge using public-standard network protocols. If you use the
+ state in or with each Opaque copy a computer-network location from
+ which the general network-using public has access to download
+ using public-standard network protocols a complete Transparent
+ copy of the Document, free of added material. If you use the
latter option, you must take reasonably prudent steps, when you
begin distribution of Opaque copies in quantity, to ensure that
this Transparent copy will remain thus accessible at the stated
whoever possesses a copy of it. In addition, you must do these
things in the Modified Version:
- A. Use in the Title Page (and on the covers, if any) a title
- distinct from that of the Document, and from those of previous
- versions (which should, if there were any, be listed in the
- History section of the Document). You may use the same title
- as a previous version if the original publisher of that version
- gives permission.
- B. List on the Title Page, as authors, one or more persons or
- entities responsible for authorship of the modifications in the
- Modified Version, together with at least five of the principal
- authors of the Document (all of its principal authors, if it
- has less than five).
- C. State on the Title page the name of the publisher of the
- Modified Version, as the publisher.
- D. Preserve all the copyright notices of the Document.
- E. Add an appropriate copyright notice for your modifications
- adjacent to the other copyright notices.
- F. Include, immediately after the copyright notices, a license
- notice giving the public permission to use the Modified Version
- under the terms of this License, in the form shown in the
- Addendum below.
- G. Preserve in that license notice the full lists of Invariant
- Sections and required Cover Texts given in the Document's
- license notice.
- H. Include an unaltered copy of this License.
- I. Preserve the section entitled "History", and its title, and add
- to it an item stating at least the title, year, new authors, and
- publisher of the Modified Version as given on the Title Page.
- If there is no section entitled "History" in the Document,
- create one stating the title, year, authors, and publisher of
- the Document as given on its Title Page, then add an item
- describing the Modified Version as stated in the previous
- sentence.
- J. Preserve the network location, if any, given in the Document for
- public access to a Transparent copy of the Document, and
- likewise the network locations given in the Document for
- previous versions it was based on. These may be placed in the
- "History" section. You may omit a network location for a work
- that was published at least four years before the Document
- itself, or if the original publisher of the version it refers
- to gives permission.
- K. In any section entitled "Acknowledgements" or "Dedications",
- preserve the section's title, and preserve in the section all the
- substance and tone of each of the contributor acknowledgements
- and/or dedications given therein.
- L. Preserve all the Invariant Sections of the Document,
- unaltered in their text and in their titles. Section numbers
- or the equivalent are not considered part of the section titles.
- M. Delete any section entitled "Endorsements." Such a section
- may not be included in the Modified Version.
- N. Do not retitle any existing section as "Endorsements" or to
- conflict in title with any Invariant Section.
+ A. Use in the Title Page (and on the covers, if any) a title
+ distinct from that of the Document, and from those of
+ previous versions (which should, if there were any, be listed
+ in the History section of the Document). You may use the
+ same title as a previous version if the original publisher of
+ that version gives permission.
+
+ B. List on the Title Page, as authors, one or more persons or
+ entities responsible for authorship of the modifications in
+ the Modified Version, together with at least five of the
+ principal authors of the Document (all of its principal
+ authors, if it has fewer than five), unless they release you
+ from this requirement.
+
+ C. State on the Title page the name of the publisher of the
+ Modified Version, as the publisher.
+
+ D. Preserve all the copyright notices of the Document.
+
+ E. Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+
+ F. Include, immediately after the copyright notices, a license
+ notice giving the public permission to use the Modified
+ Version under the terms of this License, in the form shown in
+ the Addendum below.
+
+ G. Preserve in that license notice the full lists of Invariant
+ Sections and required Cover Texts given in the Document's
+ license notice.
+
+ H. Include an unaltered copy of this License.
+
+ I. Preserve the section Entitled "History", Preserve its Title,
+ and add to it an item stating at least the title, year, new
+ authors, and publisher of the Modified Version as given on
+ the Title Page. If there is no section Entitled "History" in
+ the Document, create one stating the title, year, authors,
+ and publisher of the Document as given on its Title Page,
+ then add an item describing the Modified Version as stated in
+ the previous sentence.
+
+ J. Preserve the network location, if any, given in the Document
+ for public access to a Transparent copy of the Document, and
+ likewise the network locations given in the Document for
+ previous versions it was based on. These may be placed in
+ the "History" section. You may omit a network location for a
+ work that was published at least four years before the
+ Document itself, or if the original publisher of the version
+ it refers to gives permission.
+
+ K. For any section Entitled "Acknowledgements" or "Dedications",
+ Preserve the Title of the section, and preserve in the
+ section all the substance and tone of each of the contributor
+ acknowledgements and/or dedications given therein.
+
+ L. Preserve all the Invariant Sections of the Document,
+ unaltered in their text and in their titles. Section numbers
+ or the equivalent are not considered part of the section
+ titles.
+
+ M. Delete any section Entitled "Endorsements". Such a section
+ may not be included in the Modified Version.
+
+ N. Do not retitle any existing section to be Entitled
+ "Endorsements" or to conflict in title with any Invariant
+ Section.
+
+ O. Preserve any Warranty Disclaimers.
If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no
Version's license notice. These titles must be distinct from any
other section titles.
- You may add a section entitled "Endorsements", provided it contains
+ You may add a section Entitled "Endorsements", provided it contains
nothing but endorsements of your Modified Version by various
- parties-for example, statements of peer review or that the text has
- been approved by an organization as the authoritative definition
- of a standard.
+ parties--for example, statements of peer review or that the text
+ has been approved by an organization as the authoritative
+ definition of a standard.
You may add a passage of up to five words as a Front-Cover Text,
and a passage of up to 25 words as a Back-Cover Text, to the end
modified versions, provided that you include in the combination
all of the Invariant Sections of all of the original documents,
unmodified, and list them all as Invariant Sections of your
- combined work in its license notice.
+ combined work in its license notice, and that you preserve all
+ their Warranty Disclaimers.
The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single
the list of Invariant Sections in the license notice of the
combined work.
- In the combination, you must combine any sections entitled
+ In the combination, you must combine any sections Entitled
"History" in the various original documents, forming one section
- entitled "History"; likewise combine any sections entitled
- "Acknowledgements", and any sections entitled "Dedications." You
- must delete all sections entitled "Endorsements."
+ Entitled "History"; likewise combine any sections Entitled
+ "Acknowledgements", and any sections Entitled "Dedications". You
+ must delete all sections Entitled "Endorsements."
6. COLLECTIONS OF DOCUMENTS
A compilation of the Document or its derivatives with other
separate and independent documents or works, in or on a volume of
- a storage or distribution medium, does not as a whole count as a
- Modified Version of the Document, provided no compilation
- copyright is claimed for the compilation. Such a compilation is
- called an "aggregate", and this License does not apply to the
- other self-contained works thus compiled with the Document, on
- account of their being thus compiled, if they are not themselves
- derivative works of the Document.
+ a storage or distribution medium, is called an "aggregate" if the
+ copyright resulting from the compilation is not used to limit the
+ legal rights of the compilation's users beyond what the individual
+ works permit. When the Document is included in an aggregate, this
+ License does not apply to the other works in the aggregate which
+ are not themselves derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these
- copies of the Document, then if the Document is less than one
- quarter of the entire aggregate, the Document's Cover Texts may be
- placed on covers that surround only the Document within the
- aggregate. Otherwise they must appear on covers around the whole
- aggregate.
+ copies of the Document, then if the Document is less than one half
+ of the entire aggregate, the Document's Cover Texts may be placed
+ on covers that bracket the Document within the aggregate, or the
+ electronic equivalent of covers if the Document is in electronic
+ form. Otherwise they must appear on printed covers that bracket
+ the whole aggregate.
8. TRANSLATION
permission from their copyright holders, but you may include
translations of some or all Invariant Sections in addition to the
original versions of these Invariant Sections. You may include a
- translation of this License provided that you also include the
- original English version of this License. In case of a
- disagreement between the translation and the original English
- version of this License, the original English version will prevail.
+ translation of this License, and all the license notices in the
+ Document, and any Warranty Disclaimers, provided that you also
+ include the original English version of this License and the
+ original versions of those notices and disclaimers. In case of a
+ disagreement between the translation and the original version of
+ this License or a notice or disclaimer, the original version will
+ prevail.
+
+ If a section in the Document is Entitled "Acknowledgements",
+ "Dedications", or "History", the requirement (section 4) to
+ Preserve its Title (section 1) will typically require changing the
+ actual title.
9. TERMINATION
the GNU Free Documentation License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See
- http://www.gnu.org/copyleft/.
+ `http://www.gnu.org/copyleft/'.
Each version of the License is given a distinguishing version
number. If the Document specifies that a particular numbered
you may choose any version ever published (not as a draft) by the
Free Software Foundation.
-
ADDENDUM: How to use this License for your documents
====================================================
the License in the document and put the following copyright and license
notices just after the title page:
- Copyright (C) YEAR YOUR NAME.
- 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 LIST THEIR TITLES, with the
- Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
- A copy of the license is included in the section entitled "GNU
- Free Documentation License."
+ Copyright (C) YEAR YOUR NAME.
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.2
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
+ Texts. A copy of the license is included in the section entitled ``GNU
+ Free Documentation License''.
+
+ If you have Invariant Sections, Front-Cover Texts and Back-Cover
+Texts, replace the "with...Texts." line with this:
- If you have no Invariant Sections, write "with no Invariant Sections"
-instead of saying which ones are invariant. If you have no Front-Cover
-Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being
-LIST"; likewise for Back-Cover Texts.
+ with the Invariant Sections being LIST THEIR TITLES, with
+ the Front-Cover Texts being LIST, and with the Back-Cover Texts
+ being LIST.
+
+ If you have Invariant Sections without Cover Texts, or some other
+combination of the three, merge those two alternatives to suit the
+situation.
If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of
permit their use in free software.
\1f
-File: standards.info, Node: Index, Prev: Copying This Manual, Up: Top
+File: standards.info, Node: Index, Prev: GNU Free Documentation License, Up: Top
Index
*****
\0\b[index\0\b]
* Menu:
-* #endif, commenting: Comments. (line 54)
-* --help option: Command-Line Interfaces.
- (line 119)
-* --version option: Command-Line Interfaces.
- (line 34)
+* #endif, commenting: Comments. (line 60)
+* --help output: --help. (line 6)
+* --version output: --version. (line 6)
* -Wall compiler option: Syntactic Conventions.
(line 10)
* accepting contributions: Contributions. (line 6)
-* address for bug reports: Command-Line Interfaces.
- (line 125)
+* address for bug reports: --help. (line 11)
* ANSI C standard: Standard C. (line 6)
* arbitrary limits on data: Semantics. (line 6)
+* ASCII characters: Character Set. (line 6)
* autoconf: System Portability. (line 23)
* avoiding proprietary code: Reading Non-Free Code.
(line 6)
* behavior, dependent on program's name: User Interfaces. (line 6)
* binary packages: Install Command Categories.
(line 80)
-* bindir: Directory Variables. (line 45)
+* bindir: Directory Variables. (line 54)
* braces, in C source: Formatting. (line 6)
-* bug reports: Command-Line Interfaces.
- (line 125)
-* canonical name of a program: Command-Line Interfaces.
- (line 41)
-* casting pointers to integers: CPU Portability. (line 67)
+* bug reports: --help. (line 11)
+* canonical name of a program: --version. (line 12)
+* casting pointers to integers: CPU Portability. (line 90)
+* CGI programs, standard options for: Command-Line Interfaces.
+ (line 31)
* change logs: Change Logs. (line 6)
* change logs, conditional changes: Conditional Changes. (line 6)
* change logs, style: Style of Change Logs.
(line 6)
+* character set: Character Set. (line 6)
* command-line arguments, decoding: Semantics. (line 46)
* command-line interface: Command-Line Interfaces.
(line 6)
* compiler warnings: Syntactic Conventions.
(line 10)
* conditional changes, and change logs: Conditional Changes. (line 6)
-* conditionals, comments for: Comments. (line 54)
+* conditionals, comments for: Comments. (line 60)
* configure: Configuration. (line 6)
-* control-L: Formatting. (line 114)
+* control-L: Formatting. (line 118)
* conventions for makefiles: Makefile Conventions.
(line 6)
* corba: Graphical Interfaces.
* credits for manuals: Manual Credits. (line 6)
* data types, and portability: CPU Portability. (line 6)
* declaration for system functions: System Functions. (line 21)
+* DESTDIR: DESTDIR. (line 6)
* documentation: Documentation. (line 6)
* doschk: Names. (line 38)
* downloading this manual: Preface. (line 17)
+* encodings: Character Set. (line 6)
* error messages: Semantics. (line 19)
* error messages, formatting: Errors. (line 6)
-* exec_prefix: Directory Variables. (line 27)
-* expressions, splitting: Formatting. (line 77)
+* exec_prefix: Directory Variables. (line 36)
+* expressions, splitting: Formatting. (line 81)
+* FDL, GNU Free Documentation License: GNU Free Documentation License.
+ (line 6)
* file usage: File Usage. (line 6)
* file-name limitations: Names. (line 38)
* formatting error messages: Errors. (line 6)
* formatting source code: Formatting. (line 6)
-* formfeed: Formatting. (line 114)
+* formfeed: Formatting. (line 118)
* function argument, declaring: Syntactic Conventions.
(line 6)
* function prototypes: Standard C. (line 17)
(line 16)
* graphical user interface: Graphical Interfaces.
(line 6)
-* gtk: Graphical Interfaces.
+* grave accent: Quote Characters. (line 6)
+* gtk+: Graphical Interfaces.
(line 6)
* GUILE: Source Language. (line 38)
* implicit int: Syntactic Conventions.
(line 6)
* impossible conditions: Semantics. (line 70)
+* installations, staged: DESTDIR. (line 6)
* internationalization: Internationalization.
(line 6)
+* left quote: Quote Characters. (line 6)
* legal aspects: Legal Issues. (line 6)
* legal papers: Contributions. (line 6)
-* libexecdir: Directory Variables. (line 58)
+* libexecdir: Directory Variables. (line 67)
* libraries: Libraries. (line 6)
* library functions, and portability: System Functions. (line 6)
* license for manuals: License for Manuals. (line 6)
* lint: Syntactic Conventions.
(line 109)
+* locale-specific quote characters: Quote Characters. (line 6)
* long option names: Option Table. (line 6)
* long-named options: Command-Line Interfaces.
(line 12)
(line 35)
* names of variables, functions, and files: Names. (line 6)
* NEWS file: NEWS File. (line 6)
+* non-ASCII characters: Character Set. (line 6)
* non-POSIX systems, and portability: System Portability. (line 32)
* non-standard extensions: Using Extensions. (line 6)
* NUL characters: Semantics. (line 11)
* open brace: Formatting. (line 6)
-* optional features, configure-time: Configuration. (line 76)
+* optional features, configure-time: Configuration. (line 83)
* options for compatibility: Compatibility. (line 14)
+* options, standard command-line: Command-Line Interfaces.
+ (line 31)
* output device and program's behavior: User Interfaces. (line 13)
* packaging: Releases. (line 6)
+* PATH_INFO, specifying standard options as: Command-Line Interfaces.
+ (line 31)
* portability, and data types: CPU Portability. (line 6)
* portability, and library functions: System Functions. (line 6)
* portability, between system types: System Portability. (line 6)
(line 6)
* pre-installation commands: Install Command Categories.
(line 6)
-* prefix: Directory Variables. (line 17)
+* prefix: Directory Variables. (line 26)
* program configuration: Configuration. (line 6)
* program design: Design Advice. (line 6)
* program name and its behavior: User Interfaces. (line 6)
-* program's canonical name: Command-Line Interfaces.
- (line 41)
-* programming languges: Source Language. (line 6)
+* program's canonical name: --version. (line 12)
+* programming languages: Source Language. (line 6)
* proprietary programs: Reading Non-Free Code.
(line 6)
-* README file: Releases. (line 17)
+* quote characters: Quote Characters. (line 6)
+* README file: Releases. (line 21)
* references to non-free material: References. (line 6)
* releasing: Managing Releases. (line 6)
-* sbindir: Directory Variables. (line 51)
+* sbindir: Directory Variables. (line 60)
* signal handling: Semantics. (line 59)
-* spaces before open-paren: Formatting. (line 71)
+* spaces before open-paren: Formatting. (line 75)
+* staged installs: DESTDIR. (line 6)
* standard command-line options: Command-Line Interfaces.
(line 31)
* standards for makefiles: Makefile Conventions.
* temporary files: Semantics. (line 84)
* temporary variables: Syntactic Conventions.
(line 23)
-* texinfo.tex, in a distribution: Releases. (line 73)
+* texinfo.tex, in a distribution: Releases. (line 70)
* TMPDIR environment variable: Semantics. (line 84)
* trademarks: Trademarks. (line 6)
* where to obtain standards.texi: Preface. (line 17)
\1f
Tag Table:
-Node: Top\7f759
-Node: Preface\7f1459
-Node: Legal Issues\7f3679
-Node: Reading Non-Free Code\7f4143
-Node: Contributions\7f5871
-Node: Trademarks\7f8025
-Node: Design Advice\7f9088
-Node: Source Language\7f9672
-Node: Compatibility\7f11684
-Node: Using Extensions\7f13312
-Node: Standard C\7f14888
-Node: Conditional Compilation\7f17291
-Node: Program Behavior\7f18590
-Node: Semantics\7f19509
-Node: Libraries\7f24202
-Node: Errors\7f25447
-Node: User Interfaces\7f27228
-Node: Graphical Interfaces\7f28833
-Node: Command-Line Interfaces\7f29868
-Node: Option Table\7f35939
-Node: Memory Usage\7f50948
-Node: File Usage\7f51973
-Node: Writing C\7f52721
-Node: Formatting\7f53571
-Node: Comments\7f57634
-Node: Syntactic Conventions\7f60936
-Node: Names\7f64348
-Node: System Portability\7f66557
-Node: CPU Portability\7f68942
-Node: System Functions\7f72198
-Node: Internationalization\7f77395
-Node: Mmap\7f80548
-Node: Documentation\7f81258
-Node: GNU Manuals\7f82363
-Node: Doc Strings and Manuals\7f87420
-Node: Manual Structure Details\7f88973
-Node: License for Manuals\7f90391
-Node: Manual Credits\7f91365
-Node: Printed Manuals\7f91758
-Node: NEWS File\7f92444
-Node: Change Logs\7f93122
-Node: Change Log Concepts\7f93876
-Node: Style of Change Logs\7f95740
-Node: Simple Changes\7f97775
-Node: Conditional Changes\7f99019
-Node: Indicating the Part Changed\7f100441
-Node: Man Pages\7f100968
-Node: Reading other Manuals\7f102592
-Node: Managing Releases\7f103383
-Node: Configuration\7f104146
-Node: Makefile Conventions\7f111051
-Node: Makefile Basics\7f111857
-Node: Utilities in Makefiles\7f115031
-Node: Command Variables\7f117176
-Node: Directory Variables\7f120753
-Node: Standard Targets\7f131647
-Ref: Standard Targets-Footnote-1\7f142887
-Node: Install Command Categories\7f142987
-Node: Releases\7f147569
-Node: References\7f151657
-Node: Copying This Manual\7f153942
-Node: GNU Free Documentation License\7f154178
-Node: Index\7f173879
+Node: Top\7f873
+Node: Preface\7f2129
+Node: Legal Issues\7f4244
+Node: Reading Non-Free Code\7f4714
+Node: Contributions\7f6444
+Node: Trademarks\7f8682
+Node: Design Advice\7f10317
+Node: Source Language\7f10909
+Node: Compatibility\7f12921
+Node: Using Extensions\7f14549
+Node: Standard C\7f16125
+Node: Conditional Compilation\7f18528
+Node: Program Behavior\7f19926
+Node: Non-GNU Standards\7f20982
+Node: Semantics\7f23263
+Node: Libraries\7f27982
+Node: Errors\7f29227
+Node: User Interfaces\7f31720
+Node: Graphical Interfaces\7f33325
+Node: Command-Line Interfaces\7f34361
+Node: --version\7f36393
+Node: --help\7f42286
+Node: Option Table\7f42840
+Node: Memory Usage\7f57781
+Node: File Usage\7f58812
+Node: Writing C\7f59562
+Node: Formatting\7f60534
+Node: Comments\7f64823
+Node: Syntactic Conventions\7f68375
+Node: Names\7f71837
+Node: System Portability\7f74049
+Node: CPU Portability\7f76939
+Node: System Functions\7f80851
+Node: Internationalization\7f86048
+Node: Character Set\7f90042
+Node: Quote Characters\7f90855
+Node: Mmap\7f92375
+Node: Documentation\7f93083
+Node: GNU Manuals\7f94189
+Node: Doc Strings and Manuals\7f99927
+Node: Manual Structure Details\7f101480
+Node: License for Manuals\7f102898
+Node: Manual Credits\7f103872
+Node: Printed Manuals\7f104265
+Node: NEWS File\7f104951
+Node: Change Logs\7f105629
+Node: Change Log Concepts\7f106383
+Node: Style of Change Logs\7f108472
+Node: Simple Changes\7f110972
+Node: Conditional Changes\7f112414
+Node: Indicating the Part Changed\7f113836
+Node: Man Pages\7f114363
+Node: Reading other Manuals\7f116675
+Node: Managing Releases\7f117466
+Node: Configuration\7f118247
+Node: Makefile Conventions\7f125967
+Node: Makefile Basics\7f126849
+Node: Utilities in Makefiles\7f130023
+Node: Command Variables\7f132168
+Node: DESTDIR\7f135390
+Node: Directory Variables\7f137539
+Node: Standard Targets\7f152032
+Ref: Standard Targets-Footnote-1\7f165547
+Node: Install Command Categories\7f165647
+Node: Releases\7f170180
+Node: References\7f174107
+Node: GNU Free Documentation License\7f179602
+Node: Index\7f202034
\1f
End Tag Table