2015-12-10  Alan Modra  <amodra@gmail.com>

	Apply from master.
	2015-12-07  Alan Modra  <amodra@gmail.com>
	* powerpc.h (R_PPC64_ENTRY): Define.

2015-11-11  Alan Modra  <amodra@gmail.com>
            Peter Bergner <bergner@vnet.ibm.com>

	* powerpc.h (R_POWERPC_REL16DX_HA): Define.

2015-10-28  Marcin Kościelnicki  <koriakin@0x04.net>

	* s390.h: New file.

2015-10-22  H.J. Lu  <hongjiu.lu@intel.com>

	* x86_64.h (R_X86_64_GOTPCRELX): New.
	(R_X86_64_REX_GOTPCRELX): Likewise.

2015-10-22  H.J. Lu  <hongjiu.lu@intel.com>

	* i386.h (R_386_GOT32X): New.

2015-10-13  H.J. Lu  <hongjiu.lu@intel.com>

	PR gold/19118
	* elfcpp.h (EM): Add EM_IAMCU.

2015-10-02  H.J. Lu  <hongjiu.lu@intel.com>

	PR gold/19060
	* elfcpp.h (Chdr::get_ch_type): Change return type to Elf_Word.
	* elfcpp_internal.h (Chdr_data<64>): Change ch_type to 4 bytes
	and add ch_reserved.

2015-04-08  H.J. Lu  <hongjiu.lu@intel.com>

	* elfcpp.h (Elf_sizes): Add chdr_size.
	(Chdr): New.
	(Chdr_write): Likewise.
	* elfcpp_internal.h (Chdr_data): Likewise.

2015-04-08  H.J. Lu  <hongjiu.lu@intel.com>

	* elfcpp.h (SHF): Add SHF_COMPRESSED.
	(ELFCOMPRESS_ZLIB): New.
	(ELFCOMPRESS_LOOS): Likewise.
	(ELFCOMPRESS_HIOS): Likewise.
	(ELFCOMPRESS_LOPROC): Likewise.
	(ELFCOMPRESS_HIPROC): Likewise.

2015-04-07  HC Yen <hc.yen@mediatek.com>

	* arm.h: Add TAG_CPU_ARCH_V8 in Tag_CPU_arch EABI attribute.

2015-02-09  Mark Wielaard  <mjw@redhat.com>

	* dwarf.h (enum DW_LANG): Add DW_LANG_C_plus_plus_11,
	DW_LANG_C11, DW_LANG_C_plus_plus_14, DW_LANG_Fortran03 and
	DW_LANG_Fortran08 from ../include/dwarf2.h.

2015-01-22  Han Shen  <shenhan@google.com>

	* arm.h (R_ARM_IRELATIVE): New dynamic relocation.

2015-01-01  Alan Modra  <amodra@gmail.com>

	Update year range in copyright notice of all files.

2014-12-25  Alan Modra  <amodra@gmail.com>

	* arm.h: Add enums for Tag_ABI_FP_number_model and Tag_ABI_VFP_args.

2014-09-17  Han Shen  <shenhan@google.com>

	* aarch64.h (R_AARCH64_TLS_DTPREL64): Switch enum value with ...
	(R_AARCH64_TLS_DTPMOD64): ... enum value.

2014-09-15  Andrew Bennett  <andrew.bennett@imgtec.com>
	    Matthew Fortune  <matthew.fortune@imgtec.com>

	* mips.h (E_MIPS_ARCH_32R6, E_MIPS_ARCH_64R6): New enum constants.

2014-09-02  Cary Coutant  <ccoutant@google.com>

	* elfcpp_file.h (Elf_file::shnum): New const function.
	(Elf_file::shstrndx): New const function.
	(Elf_file::large_shndx_offset): New const function.
	(Elf_file::section_name): Add const attribute.
	(Elf_file::section_header_offset): Likewise.

2014-08-08  Han Shen  <shenhan@google.com>

	* aarch64.h (withdrawn): Replaced with R_AARCH64_withdrawn.

2014-07-29  Matthew Fortune  <matthew.fortune@imgtec.com>

	* elfcpp.h (PT_MIPS_ABIFLAGS): New program header type.

2014-07-02  Jing Yu  <jingyu@google.com>

	* aarch64.h: New file. New enums for aarch64-elf64 relocations.
	* elfcpp.h (EM_AARCH64, SHT_AARCH64_ATTRIBUTES, PT_AARCH64_ARCHEXT,
	PT_AARCH64_UNWIND): New enum constant.

2014-04-22  Christian Svensson  <blue@cmd.nu>

	* elfcpp.h: Remove openrisc and or32 support.

2014-04-15  Sasa Stankovic  <Sasa.Stankovic@imgtec.com>

	* mips.h (R _MIPS16_TLS_GD, R_MIPS16_TLS_LDM, R_MIPS16_TLS_DTPREL_HI16,
	R_MIPS16_TLS_DTPREL_LO16, R_MIPS16_TLS_GOTTPREL,
	R_MIPS16_TLS_TPREL_HI16, R_MIPS16_TLS_TPREL_LO16, R_MICROMIPS_26_S1,
	R_MICROMIPS_HI16, R_MICROMIPS_LO16, R_MICROMIPS_GPREL16,
	R_MICROMIPS_LITERAL, R_MICROMIPS_GOT16, R_MICROMIPS_PC7_S1,
	R_MICROMIPS_PC10_S1, R_MICROMIPS_PC16_S1, R_MICROMIPS_CALL16,
	R_MICROMIPS_GOT_DISP, R_MICROMIPS_GOT_PAGE, R_MICROMIPS_GOT_OFST,
	R_MICROMIPS_GOT_HI16, R_MICROMIPS_GOT_LO16, R_MICROMIPS_SUB,
	R_MICROMIPS_HIGHER, R_MICROMIPS_HIGHEST, R_MICROMIPS_CALL_HI16,
	R_MICROMIPS_CALL_LO16, R_MICROMIPS_SCN_DISP, R_MICROMIPS_JALR,
	R_MICROMIPS_HI0_LO16, R_MICROMIPS_TLS_GD, R_MICROMIPS_TLS_LDM,
	R_MICROMIPS_TLS_DTPREL_HI16, R_MICROMIPS_TLS_DTPREL_LO16,
	R_MICROMIPS_TLS_GOTTPREL, R_MICROMIPS_TLS_TPREL_HI16,
	R_MICROMIPS_TLS_TPREL_LO16, R_MICROMIPS_GPREL7_S2,
	R_MICROMIPS_PC23_S20, R_MIPS_EH): New enums for relocations (mips16 and
	micromips).
	(STO_MIPS_FLAGS): New enum constant.
	(elf_st_is_mips16): New function.
	(elf_st_is_micromips): New function.
	(is_micromips): New function.
	(abi_n32): New function.
	(abi_n64): New function.
	(ODK_NULL, ODK_REGINFO, ODK_EXCEPTIONS, ODK_PAD, ODK_HWPATCH, ODK_FILL,
	ODK_TAGS, ODK_HWAND, ODK_HWOR, ODK_GP_GROUP, ODK_IDENT): New enum
	constants.
	* elfcpp.h (SHT_MIPS_OPTIONS): New enum constant.

2014-03-05  Alan Modra  <amodra@gmail.com>

	Update copyright years.

2014-03-05  Alan Modra  <amodra@gmail.com>

	* powerpc.h (R_PPC64_REL24_NOTOC, R_PPC64_ADDR64_LOCAL): Define.

2014-02-06  Andrew Pinski  <apinski@cavium.com>

	* mips.h (E_MIPS_MACH_OCTEON3): New enum constant.

2013-11-17  H.J. Lu  <hongjiu.lu@intel.com>

	* x86_64.h (R_X86_64_PC32_BND): New.
	(R_X86_64_PLT32_BND): Likewise.

2013-10-30  Alan Modra  <amodra@gmail.com>

	* powerpc.h (EF_PPC64_ABI): New enum constant.
	(STO_PPC64_LOCAL_BIT, STO_PPC64_LOCAL_MASK): Likewise.
	(ppc64_decode_local_entry): New function.
	(ppc64_encode_local_entry): Likewise.

2013-10-30  Alan Modra  <amodra@gmail.com>

	* powerpc.h (R_PPC64_ADDR16_HIGH, R_PPC64_ADDR16_HIGHA,
	R_PPC64_TPREL16_HIGH, R_PPC64_TPREL16_HIGHA,
	R_PPC64_DTPREL16_HIGH, R_PPC64_DTPREL16_HIGHA): Define.

2013-03-01  Cary Coutant  <ccoutant@google.com>

	* dwarf.h (enum DW_LANG): Adjust spacing for consistency.
	(enum DW_SECT): New enum type.

2012-12-17  Nick Clifton  <nickc@redhat.com>

	* README: Add copyright notice.

2012-10-30  Steve McIntyre  <steve.mcintyre@linaro.org>

	* arm.h: New enum for EABI soft- and hard-float flags.

2012-09-15  Jiong Wang  <jiwang@tilera.com>

	* tilegx.h: New file.
	* elfcpp.h: add EM_TILEGX.

2012-08-14  Alan Modra  <amodra@gmail.com>

	* powerpc.h: Add more relocs.
	(R_PPC_REL16*): Rename to R_POWERPC_REL16*.

2012-05-11  H.J. Lu  <hongjiu.lu@intel.com>

	PR gold/14091
	* x86_64.h (R_X86_64_RELATIVE64): New.

2012-05-01  Cary Coutant  <ccoutant@google.com>

	* dwarf.h (enum DW_TAG, enum DW_FORM, enum DW_AT, enum DW_ENCODING)
	(enum DW_OP, enum DW_CFA): Remove.
	Include dwarf2.def.

2012-04-23  Cary Coutant  <ccoutant@google.com>

	* elfcpp_swap.h (struct Swap_aligned32): New template.

2012-04-16  David S. Miller  <davem@davemloft.net>

	* sparc.h (R_SPARC_JMP_IREL): New relocation.

2012-04-12  David S. Miller  <davem@davemloft.net>

	* sparc.h (R_SPARC_WDISP10): New relocation.

2012-03-12  Cary Coutant  <ccoutant@google.com>

	Update DWARF enums from ../include/dwarf2.h.
	* dwarf.h (enum DW_TAG): Add new DWARF-4 tags.
	(enum DW_FORM): Add new DWARF-4 and Fission extensions.
	(enum DW_AT): New enum.
	(enum DW_LINE_EXTENDED_OPS): Add new DWARF-4 opcode.
	(enum DW_ENCODING): Add new DWARF-4 encoding.
	(enum DW_OP): Add new DWARF-4 opcodes.
	(enum DW_CHILDREN): New enum.
	(enum DW_LANG): New enum.

2012-01-27  Aleksandar Simeonov  <asimeonov@mips.com>

	* mips.h: New file
	* elfcpp.h (SHT_MIPS_REGINFO): New enums for processor-specific flags.
	(SHF_MIPS_GPREL): Likewise.
	(PT_MIPS_REGINFO, PT_MIPS_RTPROC, PT_MIPS_OPTIONS): Likewise.
	(DT_MIPS_RLD_VERSION, DT_MIPS_TIME_STAMP, DT_MIPS_ICHECKSUM,
	 DT_MIPS_IVERSION, DT_MIPS_FLAGS, DT_MIPS_BASE_ADDRESS, DT_MIPS_MSYM,
	 DT_MIPS_CONFLICT, DT_MIPS_LIBLIST, DT_MIPS_LOCAL_GOTNO,
	 DT_MIPS_CONFLICTNO, DT_MIPS_LIBLISTNO, DT_MIPS_SYMTABNO,
	 DT_MIPS_UNREFEXTNO, DT_MIPS_GOTSYM, DT_MIPS_HIPAGENO, DT_MIPS_RLD_MAP,
	 DT_MIPS_DELTA_CLASS, DT_MIPS_DELTA_CLASS_NO, DT_MIPS_DELTA_INSTANCE,
	 DT_MIPS_DELTA_INSTANCE_NO, DT_MIPS_DELTA_RELOC, DT_MIPS_DELTA_RELOC_NO,
	 DT_MIPS_DELTA_SYM, DT_MIPS_DELTA_SYM_NO, DT_MIPS_DELTA_CLASSSYM,
	 DT_MIPS_DELTA_CLASSSYM_NO, DT_MIPS_CXX_FLAGS, DT_MIPS_PIXIE_INIT,
	 DT_MIPS_SYMBOL_LIB, DT_MIPS_LOCALPAGE_GOTIDX, DT_MIPS_LOCAL_GOTIDX,
	 DT_MIPS_HIDDEN_GOTIDX, DT_MIPS_PROTECTED_GOTIDX, DT_MIPS_OPTIONS,
	 DT_MIPS_INTERFACE, DT_MIPS_DYNSTR_ALIGN, DT_MIPS_INTERFACE_SIZE,
	 DT_MIPS_RLD_TEXT_RESOLVE_ADDR, DT_MIPS_PERF_SUFFIX,
	 DT_MIPS_COMPACT_SIZE, DT_MIPS_GP_VALUE, DT_MIPS_AUX_DYNAMIC,
	 DT_MIPS_PLTGOT, DT_MIPS_RWPLT): Likewise.

2012-01-27  Ian Lance Taylor  <iant@google.com>

	* elfcpp.h (STT_GNU_IFUNC): Add comment.

2011-07-03  Samuel Thibault  <samuel.thibault@gnu.org>
	    Thomas Schwinge  <thomas@schwinge.name>

	PR binutils/12913
	* elfcpp.h (ELFOSABI): Add ELFOSABI_GNU with value of ELFOSABI_LINUX,
	keep ELFOSABI_LINUX as an alias.  Remove ELFOSABI_HURD.

2011-07-01  Ian Lance Taylor  <iant@google.com>

	* dwarf.h (enum DW_CFA): Define.

2010-08-12  Cary Coutant  <ccoutant@google.com>

	* elfcpp.h (enum SHT): Add SHT_GNU_INCREMENTAL_GOT_PLT.

2010-08-12  Cary Coutant  <ccoutant@google.com>

	* elfcpp.h (enum SHT): Add SHT_GNU_INCREMENTAL_SYMTAB,
	SHT_GNU_INCREMENTAL_RELOCS.

2010-08-04  Ian Lance Taylor  <iant@google.com>

	* i386.h (R_386_IRELATIVE): Define.
	* powerpc.h (R_POWERPC_IRELATIVE): Define.
	(R_PPC_RELAX32, R_PPC_RELAX32PC): Don't define.
	(R_PPC_RELAX32_PLT, R_PPC_RELAX32PC_PLT): Don't define.
	* sparc.h (R_SPARC_IRELATIVE): Define.
	* x86_64.h (R_X86_64_IRELATIVE): Define.
	(R_X86_64_GNU_VTINHERIT): Rename from R_386_GNU_VTINHERIT.
	(R_X86_64_GNU_VTENTRY): Rename from R_386_GNU_VTENTRY.

2010-05-12  Doug Kwan  <dougkwan@google.com>

	* arm.h (Tag_FP_arch, Tag_ABI_align_needed, Tag_ABI_align_preserved,
	Tag_FP_HP_extension, Tag_MPextension_use_legacy): Rename from
	existing tags.
	(Tag_undefined40, Tag_undefined41, Tag_MPextension_use,
	Tag_undefined43): New tags.
	(Targ_VFP_arch, Tag_ABI_align8_needed, TAG_ABI_align8_preserved,
	Tag_VFP_HP_extension): Define aliases for backward compatiblity.

2010-03-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* elfcpp.h (VER_FLG_INFO): Define.

2010-01-21  Doug Kwan  <dougkwan@google.com>

	* arm.h (EXIDX_CANTUNWIND): New enum.

2010-01-19  Ian Lance Taylor  <iant@google.com>

	* elfcpp.h (PN_XNUM): Define.

2009-12-14  Ian Lance Taylor  <iant@google.com>

	* elfcpp_file.h: Revert last patch.

2009-12-11  Nick Clifton  <nickc@redhat.com>

	* elfcpp_file.h: Fix shadowed variable warnings.

2009-12-10  Doug Kwan  <dougkwan@google.com>

	* arm.h: New enums for EABI object attribute tags and values.

2009-12-05  Doug Kwan  <dougkwan@google.com>

	* arm.h: Define enums for Tag_CPU_arch EABI attribute.

2009-11-24  Rafael Avila de Espindola  <espindola@google.com>

	* elfcpp_file.h: Include elfcpp.h.

2009-11-03  Ian Lance Taylor  <iant@google.com>

	* elfcpp.h: Remove trailing commas from enum definitions.

2009-10-30  Doug Kwan  <dougkwan@google.com>

	* arm.h (EF_ARM_BE8, EF_ARM_EABIMASK, EF_ARM_EABI_UNKNOWN,
	EF_ARM_EABI_VER1, EF_ARM_EABI_VER2, EF_ARM_EABI_VER3,
	EF_ARM_EABI_VER4, EF_ARM_EABI_VER5): New enums for processor-specific
	flags.
	(arm_eabi_version): New inline function.
	* elfcpp.h: Add a comment about DT_ENCODING.

2009-10-16  Doug Kwan  <dougkwan@google.com>

	* elfcpp.h (DT_PREINIT_ARRAY): Correct enum value.

2009-10-09  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* elfcpp_file.h (Elf_file::section_name): Change shstr_size
	to Elf_WXword.

2009-10-09  Mikolaj Zalewski  <mikolajz@google.com>

	* elf_file.h: (class Elf_strtab): New class.

2009-10-09  Mikolaj Zalewski  <mikolajz@google.com>

	* elfcpp_file.h: Fix header guard.  Include <cstdio>.
	(class Elf_recognizer): New class, code from gold/object.cc.
	(Elf_file::find_section_by_type): New method.

2009-07-23  Ulrich Drepper  <drepper@redhat.com>

	* elfcpp.h (enum STB): Add STB_GNU_UNIQUE.

2009-06-21  Ian Lance Taylor  <iant@google.com>

	* elfcpp.h (SHN_X86_64_LCOMMON): Define enum constant.
	(enum SHT): Add SHT_X86_64_UNWIND.
	(enum SHF): Add SHT_X86_64_LARGE.

2009-05-27  Doug Kwan  <dougkwan@google.com>

	* arm.h: New file.
	* elfcpp.h (enum SHT): Add ARM-specific special sections.
	(enum PT): Add ARM-specific section types.
	(enum SST): Add STT_ARM_TFUNC.

2009-04-30  Nick Clifton  <nickc@redhat.com>

	* elfcpp.h (enum STT): Add STT_GNU_IFUNC.

2009-03-20  Mikolaj Zalewski  <mikolajz@google.com>

	* elfcpp.h (SHT_GNU_INCREMENTAL_INPUTS): Define.

2009-03-01  Ian Lance Taylor  <iant@google.com>

	* elfcpp_swap.h: #include "config.h".  Only #include <byteswap.h>
	if HAVE_BYTESWAP_H is defined; if not, provide definitions for
	bswap_{16,32,64}.  For gcc 4.3 and later, use the builtin bswap
	functions.  Check WORDS_BIGENDIAN rather than __BYTE_ORDER.

2009-01-06  H.J. Lu  <hongjiu.lu@intel.com>

	* elfcpp.h (enum STT): Remove STT_IFUNC.

2008-12-03  Nick Clifton  <nickc@redhat.com>

	* elfcpp.h (enum STT): Add STT_IFUNC.

2008-06-12  David S. Miller  <davem@davemloft.net>

	* powerpc.h: New file.
	* elfcpp.h (SHT_ORDERED): New enum constant.
	(DT_PPC_GOT, DT_PPC64_GLINK, DT_PPC64_OPD, DT_PPC64_OPDSZ): Same.

2008-05-28  Caleb Howe  <cshowe@google.com>

	* dwarf.h (enum DW_FORM): Define.

2008-04-19  Ian Lance Taylor  <iant@google.com>

	* elfcpp_file.h (class Elf_file): Add large_shndx_offset_ field.
	(Elf_file::large_shndx_offset): New function.
	(Elf_file::construct): Initialize large_shndx_offset_.
	(Elf_File::initialize_shnum): If necessary, adjust shstrndx_ and
	set large_shndx_offset_.

2008-04-16  David S. Miller  <davem@davemloft.net>

	* elfcpp.h (DF_1_NOW, DF_1_GLOBAL, DF_1_GROUP,
	DF_1_NODELETE, DF_1_LOADFLTR, DF_1_INITFIRST,
	DF_1_NOOPEN, DF_1_ORIGIN, DF_1_DIRECT, DF_1_TRANS,
	DF_1_INTERPOSE, DF_1_NODEFLIB, DF_1_NODUMP,
	DF_1_CONLFAT): New enum constants.

2008-04-15  David S. Miller  <davem@davemloft.net>

	* sparc.h (EF_SPARC_EXT_MASK, EF_SPARC_32PLUS_MASK,
	EF_SPARC_32PLUS, EF_SPARC_SUN_US1, EF_SPARC_HAL_R1,
	EF_SPARC_SUN_US3, EF_SPARC_LEDATA, EF_SPARCV9_MM,
	EF_SPARCV9_TSO, EF_SPARCV9_PSO, EF_SPARCV9_RMO):
	Define as enum constants.

2008-04-11  David S. Miller  <davem@davemloft.net>

	* sparc.h: New file
	* elfcpp.h (SHN_BEFORE, SHN_AFTER): New enum constants.
	(SHT_SPARC_GOTDATA, SHF_ORDERED, SHF_EXCLUDE,
	STT_SPARC_REGISTER, DT_SPARC_REGISTER): Likewise.

2008-04-03  Ian Lance Taylor  <iant@google.com>

	* elfcpp_swap.h (Swap_unaligned<64, true>::writeval): Correct
	byte order.

2008-03-24  Ian Lance Taylor  <iant@google.com>

	* elfcpp.h (NT_VERSION, NT_ARCH): Define as enum constants.
	(NT_GNU_ABI_TAG, NT_GNU_HWCAP): Likewise.
	(NT_GNU_BUILD_ID, NT_GNU_GOLD_VERSION): Likewise.
	(ELF_NOTE_OS_LINUX, ELF_NOTE_OS_GNU): Likewise.
	(ELF_NOTE_OS_SOLARIS2, ELF_NOTE_OS_NETBSD): Likewise.
	(ELF_NOTE_OS_SYLLABLE): Likewise.

2008-03-21  Ian Lance Taylor  <iant@google.com>

	* Added source code to GNU binutils.

Copyright (C) 2008-2015 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.

Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
End:
