binutils-gdb/bfd
Maciej W. Rozycki 25499ac7ee MIPS16e2: Add MIPS16e2 ASE support
Add MIPS16e2 ASE support as per the architecture specification[1],
including in particular:

1. A new ELF ASE flag to mark MIPS16e2 binaries.

2. MIPS16e2 instruction assembly support, including a relaxation update
   to use LUI rather than an LI/SLL instruction pair for loading the
   high part of 32-bit addresses.

3. MIPS16e2 instruction disassembly support, including updated rules for
   extended forms of instructions that are now subdecoded and therefore
   do not alias to the original MIPS16 ISA revision instructions even
   for encodings that are not valid in the MIPS16e2 instruction set.

Add `-mmips16e2' and `-mno-mips16e2' GAS command-line options and their
corresponding `mips16e2' and `no-mips16e2' settings for the `.set' and
`.module' pseudo-ops.  Control the availability of the MT ASE subset of
the MIPS16e2 instruction set with a combination of these controls and
the preexisting MT ASE controls.

Parts of this change by Matthew Fortune and Andrew Bennett.

References:

[1] "MIPS32 Architecture for Programmers: MIPS16e2 Application-Specific
    Extension Technical Reference Manual", Imagination Technologies
    Ltd., Document Number: MD01172, Revision 01.00, April 26, 2016

	include/
	* elf/mips.h (AFL_ASE_MIPS16E2): New macro.
	(AFL_ASE_MASK): Adjust accordingly.
	* opcode/mips.h: Document new operand codes defined.
	(mips_operand_type): Add OP_REG28 enum value.
	(INSN2_SHORT_ONLY): Update description.
	(ASE_MIPS16E2, ASE_MIPS16E2_MT): New macros.

	bfd/
	* elfxx-mips.c (print_mips_ases): Handle MIPS16e2 ASE.

	opcodes/
	* mips-dis.c (mips_arch_choices): Add ASE_MIPS16E2 and
	ASE_MIPS16E2_MT flags to the unnamed MIPS16 entry.
	(mips_convert_abiflags_ases): Handle the AFL_ASE_MIPS16E2 flag.
	(print_insn_arg) <OP_REG28>: Add handler.
	(validate_insn_args) <OP_REG28>: Handle.
	(print_mips16_insn_arg): Handle MIPS16 instructions that require
	32-bit encoding and 9-bit immediates.
	(print_insn_mips16): Handle MIPS16 instructions that require
	32-bit encoding and MFC0/MTC0 operand decoding.
	* mips16-opc.c (decode_mips16_operand) <'>', '9', 'G', 'N', 'O'>
	<'Q', 'T', 'b', 'c', 'd', 'r', 'u'>: Add handlers.
	(RD_C0, WR_C0, E2, E2MT): New macros.
	(mips16_opcodes): Add entries for MIPS16e2 instructions:
	GP-relative "addiu" and its "addu" spelling, "andi", "cache",
	"di", "ehb", "ei", "ext", "ins", GP-relative "lb", "lbu", "lh",
	"lhu", and "lw" instructions, "ll", "lui", "lwl", "lwr", "mfc0",
	"movn", "movtn", "movtz", "movz", "mtc0", "ori", "pause",
	"pref", "rdhwr", "sc", GP-relative "sb", "sh" and "sw"
	instructions, "swl", "swr", "sync" and its "sync_acquire",
	"sync_mb", "sync_release", "sync_rmb" and "sync_wmb" aliases,
	"xori", "dmt", "dvpe", "emt" and "evpe".  Add split
	regular/extended entries for original MIPS16 ISA revision
	instructions whose extended forms are subdecoded in the MIPS16e2
	ISA revision: "li", "sll" and "srl".

	binutils/
	* readelf.c (print_mips_ases): Handle MIPS16e2 ASE.
	* NEWS: Mention MIPS16e2 ASE support.

	gas/
	* config/tc-mips.c (RELAX_MIPS16_ENCODE): Add `e2' flag.
	(RELAX_MIPS16_E2): New macro.
	(RELAX_MIPS16_PIC, RELAX_MIPS16_SYM32, RELAX_MIPS16_NOMACRO)
	(RELAX_MIPS16_USER_SMALL, RELAX_MIPS16_USER_EXT)
	(RELAX_MIPS16_DSLOT, RELAX_MIPS16_JAL_DSLOT)
	(RELAX_MIPS16_EXTENDED, RELAX_MIPS16_MARK_EXTENDED)
	(RELAX_MIPS16_CLEAR_EXTENDED, RELAX_MIPS16_ALWAYS_EXTENDED)
	(RELAX_MIPS16_MARK_ALWAYS_EXTENDED)
	(RELAX_MIPS16_CLEAR_ALWAYS_EXTENDED, RELAX_MIPS16_MACRO)
	(RELAX_MIPS16_MARK_MACRO, RELAX_MIPS16_CLEAR_MACRO): Shift bits.
	(mips16_immed_extend): New prototype.
	(options): Add OPTION_MIPS16E2 and OPTION_NO_MIPS16E2 enum
	values.
	(md_longopts): Add "mmips16e2" and "mno-mips16e2" options.
	(mips_ases): Add "mips16e2" entry.
	(mips_set_ase): Handle MIPS16e2 ASE.
	(insn_insert_operand): Explicitly handle immediates with MIPS16
	instructions that require 32-bit encoding.
	(is_opcode_valid_16): Pass enabled ASE bitmask on to
	`opcode_is_member'.
	(validate_mips_insn): Explicitly handle immediates with MIPS16
	instructions that require 32-bit encoding.
	(operand_reg_mask) <OP_REG28>: Add handler.
	(match_reg28_operand): New function.
	(match_operand) <OP_REG28>: Add handler.
	(append_insn): Pass ASE_MIPS16E2 setting to RELAX_MIPS16_ENCODE.
	(match_mips16_insn): Handle MIPS16 instructions that require
	32-bit encoding and `V' and `u' operand codes.
	(mips16_ip): Allow any characters except from `.' in opcodes.
	(mips16_immed_extend): Handle 9-bit immediates.  Do not shuffle
	immediates whose width is not one of these listed.
	(md_estimate_size_before_relax): Handle MIPS16e2 relaxation.
	(mips_relax_frag): Likewise.
	(md_convert_frag): Likewise.
	(mips_convert_ase_flags): Handle MIPS16e2 ASE.

	* doc/as.texinfo (Target MIPS options): Add `-mmips16e2' and
	`-mno-mips16e2' options.
	(-mmips16e2, -mno-mips16e2): New options.
	* doc/c-mips.texi (MIPS Options): Add `-mmips16e2' and
	`-mno-mips16e2' options.
	(MIPS ASE Instruction Generation Overrides): Add `.set mips16e2'
	and `.set nomips16e2'.
2017-05-15 13:57:10 +01:00
..
doc Add support for the WebAssembly backend to the BFD library. 2017-03-27 13:41:39 +01:00
hosts
po Regen SRC-POTFILES.in 2017-04-07 00:17:09 +09:30
.gitignore
acinclude.m4
aclocal.m4
aix5ppc-core.c
aix386-core.c
aout0.c
aout32.c
aout64.c
aout-adobe.c bfd: new BFD target entry point _bfd_set_reloc. 2017-05-10 18:45:30 +02:00
aout-arm.c
aout-cris.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
aout-ns32k.c
aout-sparcle.c
aout-target.h bfd: new BFD target entry point _bfd_set_reloc. 2017-05-10 18:45:30 +02:00
aout-tic30.c bfd: new BFD target entry point _bfd_set_reloc. 2017-05-10 18:45:30 +02:00
aoutf1.h
aoutx.h Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
arc-got.h
arc-plt.def
arc-plt.h
archive64.c
archive.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
archures.c Add minimal support for WebAssembly backend to the BFD library. 2017-03-27 11:39:50 +01:00
armnetbsd.c
bfd-in2.h bfd: new BFD target entry point _bfd_set_reloc. 2017-05-10 18:45:30 +02:00
bfd-in.h bfd: Rename warn_deprecated 2017-02-17 01:26:12 +00:00
bfd.c bfd: new BFD target entry point _bfd_set_reloc. 2017-05-10 18:45:30 +02:00
bfd.m4
bfdio.c bfd: Rename real_{ftell, fseek, fopen} 2017-02-17 01:26:12 +00:00
bfdwin.c
binary.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
bout.c bfd: new BFD target entry point _bfd_set_reloc. 2017-05-10 18:45:30 +02:00
cache.c bfd: Rename real_{ftell, fseek, fopen} 2017-02-17 01:26:12 +00:00
cf-i386lynx.c
cf-sparclynx.c
ChangeLog MIPS16e2: Add MIPS16e2 ASE support 2017-05-15 13:57:10 +01:00
ChangeLog-0001
ChangeLog-0203
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015
ChangeLog-2016
ChangeLog-9193
ChangeLog-9495
ChangeLog-9697
ChangeLog-9899
cisco-core.c
coff64-rs6000.c bfd: new BFD target entry point _bfd_set_reloc. 2017-05-10 18:45:30 +02:00
coff-alpha.c bfd: new BFD target entry point _bfd_set_reloc. 2017-05-10 18:45:30 +02:00
coff-apollo.c
coff-arm.c Rewrite bfd error handler 2017-04-13 17:07:24 +09:30
coff-aux.c
coff-bfd.c
coff-bfd.h Improve the speed of scanning PE binaries for line number information. 2017-03-29 12:27:44 +01:00
coff-go32.c
coff-h8300.c
coff-h8500.c
coff-i386.c
coff-i860.c
coff-i960.c
coff-ia64.c
coff-m68k.c
coff-m88k.c
coff-mcore.c Rewrite bfd error handler 2017-04-13 17:07:24 +09:30
coff-mips.c bfd: new BFD target entry point _bfd_set_reloc. 2017-05-10 18:45:30 +02:00
coff-ppc.c Rewrite bfd error handler 2017-04-13 17:07:24 +09:30
coff-rs6000.c bfd: new BFD target entry point _bfd_set_reloc. 2017-05-10 18:45:30 +02:00
coff-sh.c
coff-sparc.c
coff-stgo32.c
coff-svm68k.c
coff-tic4x.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
coff-tic30.c
coff-tic54x.c
coff-tic80.c Rewrite bfd error handler 2017-04-13 17:07:24 +09:30
coff-u68k.c
coff-w65.c
coff-we32k.c
coff-x86_64.c
coff-z8k.c
coff-z80.c
coffcode.h bfd: new BFD target entry point _bfd_set_reloc. 2017-05-10 18:45:30 +02:00
coffgen.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
cofflink.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
coffswap.h Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
compress.c Fix seg-fault attempting to compress a debug section in a corrupt binary. 2017-04-26 13:07:49 +01:00
config.bfd RISC-V: Allow 32-bit BFD to handle 64-bit objects 2017-05-02 15:19:05 -07:00
config.in
configure ld: Support ELF GNU program properties 2017-04-03 08:08:27 -07:00
configure.ac ld: Support ELF GNU program properties 2017-04-03 08:08:27 -07:00
configure.com
configure.host
COPYING
corefile.c
cpu-aarch64.c
cpu-alpha.c
cpu-arc.c
cpu-arm.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
cpu-avr.c
cpu-bfin.c
cpu-cr16.c
cpu-cr16c.c
cpu-cris.c
cpu-crx.c
cpu-d10v.c
cpu-d30v.c
cpu-dlx.c
cpu-epiphany.c
cpu-fr30.c
cpu-frv.c
cpu-ft32.c
cpu-h8300.c
cpu-h8500.c
cpu-hppa.c
cpu-i370.c
cpu-i386.c
cpu-i860.c
cpu-i960.c
cpu-ia64-opc.c
cpu-ia64.c
cpu-iamcu.c
cpu-ip2k.c
cpu-iq2000.c
cpu-k1om.c
cpu-l1om.c
cpu-lm32.c
cpu-m9s12x.c
cpu-m9s12xg.c
cpu-m32c.c
cpu-m32r.c
cpu-m68hc11.c
cpu-m68hc12.c
cpu-m68k.c
cpu-m88k.c
cpu-m10200.c
cpu-m10300.c
cpu-mcore.c
cpu-mep.c
cpu-metag.c
cpu-microblaze.c
cpu-mips.c
cpu-mmix.c
cpu-moxie.c
cpu-msp430.c
cpu-mt.c
cpu-nds32.c
cpu-nios2.c
cpu-ns32k.c
cpu-or1k.c
cpu-pdp11.c
cpu-pj.c
cpu-plugin.c
cpu-powerpc.c
cpu-pru.c
cpu-riscv.c
cpu-rl78.c
cpu-rs6000.c
cpu-rx.c
cpu-s390.c
cpu-score.c
cpu-sh.c
cpu-sparc.c
cpu-spu.c
cpu-tic4x.c
cpu-tic6x.c
cpu-tic30.c
cpu-tic54x.c
cpu-tic80.c
cpu-tilegx.c
cpu-tilepro.c
cpu-v850_rh850.c
cpu-v850.c
cpu-vax.c
cpu-visium.c
cpu-w65.c
cpu-wasm32.c Add minimal support for WebAssembly backend to the BFD library. 2017-03-27 11:39:50 +01:00
cpu-we32k.c
cpu-xc16x.c
cpu-xgate.c
cpu-xstormy16.c
cpu-xtensa.c
cpu-z8k.c
cpu-z80.c
demo64.c
dep-in.sed
development.sh
dwarf1.c
dwarf2.c PR 21409, segfault in _bfd_dwarf2_find_nearest_line 2017-04-23 20:33:13 +09:30
ecoff.c
ecofflink.c
ecoffswap.h
elf32-am33lin.c
elf32-arc.c [ARC] Object attributes. 2017-05-10 14:42:22 +02:00
elf32-arm.c Fix resolution of R_ARM_THM_ALU_PREL_11_0 relocation against Thumb symbols. 2017-05-09 12:15:22 +01:00
elf32-avr.c Fix PR21404 - assertion fail when calculating symbol size 2017-05-04 10:34:29 +05:30
elf32-avr.h
elf32-bfin.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
elf32-cr16.c
elf32-cr16c.c
elf32-cris.c Fix for PR ld/16044: elf32-cris.c h->plt.refcount inconsistency 2017-03-28 23:43:09 +02:00
elf32-crx.c
elf32-d10v.c
elf32-d30v.c
elf32-dlx.c
elf32-dlx.h
elf32-epiphany.c
elf32-fr30.c
elf32-frv.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
elf32-ft32.c
elf32-gen.c
elf32-h8300.c
elf32-hppa.c Don't make dynamic .data.rel.ro SEC_READONLY 2017-02-28 11:59:47 +10:30
elf32-hppa.h
elf32-i370.c
elf32-i386.c x86: Merge X86_ISA_1_USED/X86_ISA_1_NEEDED properties 2017-05-12 08:07:43 -07:00
elf32-i860.c
elf32-i960.c
elf32-ip2k.c
elf32-iq2000.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
elf32-lm32.c
elf32-m32c.c Constify elf_backend_eh_frame_address_size 2017-04-27 12:03:39 +09:30
elf32-m32r.c Rewrite bfd error handler 2017-04-13 17:07:24 +09:30
elf32-m68hc1x.c
elf32-m68hc1x.h
elf32-m68hc11.c
elf32-m68hc12.c
elf32-m68k.c
elf32-m88k.c
elf32-mcore.c
elf32-mep.c Wrap long lines 2017-04-13 17:07:25 +09:30
elf32-metag.c Don't make dynamic .data.rel.ro SEC_READONLY 2017-02-28 11:59:47 +10:30
elf32-metag.h
elf32-microblaze.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
elf32-mips.c
elf32-moxie.c
elf32-msp430.c Constify elf_backend_eh_frame_address_size 2017-04-27 12:03:39 +09:30
elf32-mt.c
elf32-nds32.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
elf32-nds32.h
elf32-nios2.c Nios2 dynobj handling fixes 2017-02-28 13:20:21 +10:30
elf32-nios2.h
elf32-or1k.c Don't make dynamic .data.rel.ro SEC_READONLY 2017-02-28 11:59:47 +10:30
elf32-pj.c
elf32-ppc.c PowerPC undefweak handling 2017-04-27 11:54:29 +09:30
elf32-ppc.h
elf32-pru.c
elf32-rl78.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
elf32-rx.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
elf32-rx.h
elf32-s390.c S/390: Fix ifunc missing runtime reloc 2017-05-08 19:43:20 +02:00
elf32-score7.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
elf32-score.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
elf32-score.h
elf32-sh64-com.c
elf32-sh64.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
elf32-sh64.h
elf32-sh-relocs.h
elf32-sh-symbian.c
elf32-sh.c
elf32-sparc.c Port the bug fix for PR 19704 (Missing dynamic relocation against undefined weak symbol) to the SPARC architecture. 2017-04-10 12:46:30 +01:00
elf32-spu.c Rewrite bfd error handler 2017-04-13 17:07:24 +09:30
elf32-spu.h
elf32-tic6x.c Don't make dynamic .data.rel.ro SEC_READONLY 2017-02-28 11:59:47 +10:30
elf32-tic6x.h
elf32-tilegx.c
elf32-tilegx.h
elf32-tilepro.c Don't make dynamic .data.rel.ro SEC_READONLY 2017-02-28 11:59:47 +10:30
elf32-tilepro.h
elf32-v850.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
elf32-vax.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
elf32-visium.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
elf32-wasm32.c Add support for the WebAssembly file format and the wasm32 ELF conversion to gas and the binutils. 2017-03-30 10:57:21 +01:00
elf32-xc16x.c
elf32-xgate.c
elf32-xgate.h
elf32-xstormy16.c
elf32-xtensa.c
elf32.c
elf64-alpha.c Alpha DT_RELA 2017-02-21 11:49:37 +10:30
elf64-gen.c
elf64-hppa.c
elf64-hppa.h
elf64-ia64-vms.c Wrap long lines 2017-04-13 17:07:25 +09:30
elf64-mips.c MIPS/BFD: Remove duplicate NewABI JALR relocation handling 2017-02-23 23:49:14 +00:00
elf64-mmix.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
elf64-ppc.c PowerPC undefweak handling 2017-04-27 11:54:29 +09:30
elf64-ppc.h
elf64-s390.c S/390: Fix ifunc missing runtime reloc 2017-05-08 19:43:20 +02:00
elf64-sh64.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
elf64-sparc.c bfd: fix the deletion of relocs in sparc64 2017-05-10 18:45:30 +02:00
elf64-tilegx.c
elf64-tilegx.h
elf64-x86-64.c x86: Merge X86_ISA_1_USED/X86_ISA_1_NEEDED properties 2017-05-12 08:07:43 -07:00
elf64.c
elf-attrs.c bfd: Rename read_{signed,unsigned}_leb128, safe_read_leb128 2017-02-17 01:26:11 +00:00
elf-bfd.h Change _bfd_elf_link_setup_gnu_properties to bfd * 2017-04-27 09:07:34 -07:00
elf-eh-frame.c Constify elf_backend_eh_frame_address_size 2017-04-27 12:03:39 +09:30
elf-hppa.h
elf-ifunc.c
elf-linux-core.h
elf-m10200.c
elf-m10300.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
elf-nacl.c
elf-nacl.h
elf-properties.c Change _bfd_elf_link_setup_gnu_properties to bfd * 2017-04-27 09:07:34 -07:00
elf-s390-common.c S/390: Fix ifunc missing runtime reloc 2017-05-08 19:43:20 +02:00
elf-strtab.c
elf-vxworks.c
elf-vxworks.h
elf.c PR 21414, null pointer deref of _bfd_elf_large_com_section sym 2017-04-23 20:33:34 +09:30
elfcode.h Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
elfcore.h
elflink.c Make import libraries relocatable objects 2017-05-08 15:26:51 +01:00
elfn32-mips.c MIPS/BFD: Remove duplicate NewABI JALR relocation handling 2017-02-23 23:49:14 +00:00
elfnn-aarch64.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
elfnn-ia64.c Wrap long lines 2017-04-13 17:07:25 +09:30
elfnn-riscv.c RISC-V: Resurrect GP-relative disassembly hints 2017-04-04 08:29:16 -07:00
elfxx-aarch64.c Rename R_AARCH64_TLSDESC_LD64_LO12_NC to R_AARCH64_TLSDESC_LD64_LO12 and R_AARCH64_TLSDESC_ADD_LO12_NC to R_AARCH64_TLSDESC_ADD_LO12. 2017-03-13 09:58:04 +00:00
elfxx-aarch64.h
elfxx-ia64.c
elfxx-ia64.h
elfxx-mips.c MIPS16e2: Add MIPS16e2 ASE support 2017-05-15 13:57:10 +01:00
elfxx-mips.h Constify elf_backend_eh_frame_address_size 2017-04-27 12:03:39 +09:30
elfxx-riscv.c
elfxx-riscv.h
elfxx-sparc.c Port the bug fix for PR 19704 (Missing dynamic relocation against undefined weak symbol) to the SPARC architecture. 2017-04-10 12:46:30 +01:00
elfxx-sparc.h Port the bug fix for PR 19704 (Missing dynamic relocation against undefined weak symbol) to the SPARC architecture. 2017-04-10 12:46:30 +01:00
elfxx-target.h bfd: new BFD target entry point _bfd_set_reloc. 2017-05-10 18:45:30 +02:00
elfxx-tilegx.c Don't make dynamic .data.rel.ro SEC_READONLY 2017-02-28 11:59:47 +10:30
elfxx-tilegx.h
epoc-pe-arm.c
epoc-pei-arm.c
format.c
freebsd.h
gen-aout.c
genlink.h
go32stub.h
hash.c
host-aout.c
hp300bsd.c
hp300hpux.c
hppabsd-core.c
hpux-core.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
i386aout.c
i386bsd.c
i386dynix.c
i386freebsd.c
i386linux.c
i386lynx.c
i386mach3.c
i386msdos.c bfd: new BFD target entry point _bfd_set_reloc. 2017-05-10 18:45:30 +02:00
i386netbsd.c
i386os9k.c bfd: new BFD target entry point _bfd_set_reloc. 2017-05-10 18:45:30 +02:00
ieee.c bfd: new BFD target entry point _bfd_set_reloc. 2017-05-10 18:45:30 +02:00
ihex.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
init.c
irix-core.c
libaout.h
libbfd-in.h bfd: new BFD target entry point _bfd_set_reloc. 2017-05-10 18:45:30 +02:00
libbfd.c bfd: new BFD target entry point _bfd_set_reloc. 2017-05-10 18:45:30 +02:00
libbfd.h bfd: new BFD target entry point _bfd_set_reloc. 2017-05-10 18:45:30 +02:00
libcoff-in.h
libcoff.h
libecoff.h
libhppa.h
libieee.h
libnlm.h
liboasys.h
libpei.h
libxcoff.h
linker.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
lynx-core.c
m68k4knetbsd.c
m68klinux.c
m68knetbsd.c
m88kmach3.c
m88kopenbsd.c
mach-o-aarch64.c
mach-o-arm.c
mach-o-i386.c
mach-o-target.c bfd: new BFD target entry point _bfd_set_reloc. 2017-05-10 18:45:30 +02:00
mach-o-x86-64.c
mach-o.c
mach-o.h
MAINTAINERS
Makefile.am ld: Support ELF GNU program properties 2017-04-03 08:08:27 -07:00
Makefile.in ld: Support ELF GNU program properties 2017-04-03 08:08:27 -07:00
makefile.vms
mep-relocs.pl
merge.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
mipsbsd.c
mmo.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
netbsd-core.c
netbsd.h
newsos3.c
nlm32-alpha.c
nlm32-i386.c
nlm32-ppc.c
nlm32-sparc.c
nlm32.c
nlm64.c
nlm-target.h bfd: new BFD target entry point _bfd_set_reloc. 2017-05-10 18:45:30 +02:00
nlm.c
nlmcode.h
nlmswap.h
ns32k.h
ns32knetbsd.c
oasys.c bfd: new BFD target entry point _bfd_set_reloc. 2017-05-10 18:45:30 +02:00
opncls.c Fix building the BFD library for Win64 by reqorking the find_separate_debug_file interface. 2017-04-07 14:51:42 +01:00
osf-core.c
pc532-mach.c
pdp11.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
pe-arm-wince.c
pe-arm.c
pe-i386.c
pe-mcore.c
pe-mips.c
pe-ppc.c
pe-sh.c
pe-x86_64.c
pef-traceback.h
pef.c
pef.h
pei-arm-wince.c
pei-arm.c
pei-i386.c
pei-ia64.c
pei-mcore.c
pei-mips.c
pei-ppc.c
pei-sh.c
pei-x86_64.c
peicode.h
peXXigen.c Correct PE reloc display 2017-04-19 20:39:53 +09:30
plugin.c
plugin.h
PORTING
ppcboot.c
ptrace-core.c
README
reloc16.c
reloc.c bfd: new BFD target entry point _bfd_set_reloc. 2017-05-10 18:45:30 +02:00
riscix.c
rs6000-core.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
sco5-core.c
section.c PR 21414, null pointer deref of _bfd_elf_large_com_section sym 2017-04-23 20:33:34 +09:30
simple.c
som.c bfd: new BFD target entry point _bfd_set_reloc. 2017-05-10 18:45:30 +02:00
som.h
sparclinux.c
sparclynx.c
sparcnetbsd.c
srec.c bfd: Rename Chunk and S3Forced 2017-02-17 01:26:12 +00:00
stab-syms.c
stabs.c
stamp-h.in
sunos.c
syms.c
sysdep.h
targets.c bfd: new BFD target entry point _bfd_set_reloc. 2017-05-10 18:45:30 +02:00
targmatch.sed
tekhex.c
TODO
trad-core.c
vax1knetbsd.c
vaxbsd.c
vaxnetbsd.c
verilog.c
versados.c bfd: new BFD target entry point _bfd_set_reloc. 2017-05-10 18:45:30 +02:00
version.h Automatic date update in version.in 2017-05-15 00:00:38 +00:00
version.m4
vms-alpha.c bfd: new BFD target entry point _bfd_set_reloc. 2017-05-10 18:45:30 +02:00
vms-lib.c
vms-misc.c
vms.h
warning.m4
wasm-module.c Add support for the WebAssembly backend to the BFD library. 2017-03-27 13:41:39 +01:00
wasm-module.h Add support for the WebAssembly backend to the BFD library. 2017-03-27 13:41:39 +01:00
xcofflink.c Use %A and %B in more error messages 2017-04-13 17:07:24 +09:30
xsym.c
xsym.h
xtensa-isa.c
xtensa-modules.c

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

BFD is an object file library.  It permits applications to use the
same routines to process object files regardless of their format.

BFD is used by the GNU debugger, assembler, linker, and the binary
utilities.

The documentation on using BFD is scanty and may be occasionally
incorrect.  Pointers to documentation problems, or an entirely
rewritten manual, would be appreciated.

There is some BFD internals documentation in doc/bfdint.texi which may
help programmers who want to modify BFD.

BFD is normally built as part of another package.  See the build
instructions for that package, probably in a README file in the
appropriate directory.

BFD supports the following configure options:

  --target=TARGET
	The default target for which to build the library.  TARGET is
	a configuration target triplet, such as sparc-sun-solaris.
  --enable-targets=TARGET,TARGET,TARGET...
	Additional targets the library should support.  To include
	support for all known targets, use --enable-targets=all.
  --enable-64-bit-bfd
	Include support for 64 bit targets.  This is automatically
	turned on if you explicitly request a 64 bit target, but not
	for --enable-targets=all.  This requires a compiler with a 64
	bit integer type, such as gcc.
  --enable-shared
	Build BFD as a shared library.
  --with-mmap
	Use mmap when accessing files.  This is faster on some hosts,
	but slower on others.  It may not work on all hosts.

Report bugs with BFD to bug-binutils@gnu.org.

Patches are encouraged.  When sending patches, always send the output
of diff -u or diff -c from the original file to the new file.  Do not
send default diff output.  Do not make the diff from the new file to
the original file.  Remember that any patch must not break other
systems.  Remember that BFD must support cross compilation from any
host to any target, so patches which use ``#ifdef HOST'' are not
acceptable.  Please also read the ``Reporting Bugs'' section of the
gcc manual.

Bug reports without patches will be remembered, but they may never get
fixed until somebody volunteers to fix them.

Copyright (C) 2012-2017 Free Software Foundation, Inc.

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.