2001-02-27  Philip Blundell  <pb@futuretv.com>

	* arm.h: Add new definitions from ARM document SWS ESPC 0003 B-01.
	(EF_PIC, et al.): Rename to EF_ARM_xx.

2001-02-09  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* common.h: Add linux target for S/390.
	* s390.h: New file.

2001-01-11  Peter Targett  <peter.targett@arccores.com>

	* arc.h (E_ARC_MACH_ARC5, E_ARC_MACH_ARC6, E_ARC_MACH_ARC7,
	E_ARC_MACH_ARC8): New definitions for cpu types.

	* common.h (EM_ARC): Change comment.

2000-12-12  Nick Clifton  <nickc@redhat.com>

	* mips.h: Fix formatting.

2000-12-11  Jeffrey A Law  (law@cygnus.com)

	* hppa.h (DT_HP_*): Define relative to OLD_DT_LOOS for hpux
	compatibility.

2000-10-16  Chris Demetriou  <cgd@sibyte.com>

        * mips.h (E_MIPS_ARCH_32): New constant.
        (E_MIPS_MACH_MIPS32, E_MIPS_MACH_MIPS32_4K): Replace the
        former with the latter. 

        * mips.h (E_MIPS_ARCH_5, E_MIPS_ARCH_64): New definitions.

        * mips.h (E_MIPS_MACH_SB1): New constant.

2000-11-30  Jan Hubicka  <jh@suse.cz>
	
        * common.h (EM_X86_64): New macro.
        * x86-64.h: New file.

2000-11-27  Hans-Peter Nilsson  <hp@axis.com>

	* common.h (e_machine numbers): Clarify comments to describe how
	EM_* constants are assigned.  Move EM_PJ from official section to
	ad-hoc section.
	(EM_CRIS): Correct comment to match official description.
	(EM_MMIX): Ditto.

2000-11-22  Nick Clifton  <nickc@redhat.com>

	* common.h (EM_JAVELIN): New machine number.
	(EM_FIREPATH): New machine number.
	(EM_ZSP): New machine number.
	(EM_MMIX): New machine number.
	(EM_HUANY): New machine number.
	(EM_PRISM): New machine number.
	(SHT_GROUP): New section type.
	(SHT_SYMTAB_SHNDX): New section type.
	(SHF_GROUP): New section flag.
	(SHN_XINDEX): New section index.
	(GRP_COMDAT): New section group flag.

2000-11-20  H.J. Lu  <hjl@gnu.org>

	* common.h (ELFOSABI_MONTEREY): Renamed to ...
	(ELFOSABI_AIX): This.

2000-11-16  Richard Henderson  <rth@redhat.com>

	Update relocations per August psABI docs.
	* ia64.h (R_IA64_SEGBASE): Remove.
	(R_IA64_LTV*): Renumber to 0x74 to 0x77.
	(R_IA64_EPLTMSB, R_IA64_EPLTLSB): Remove.
	(R_IA64_TPREL14, R_IA64_TPREL64I): New.
	(R_IA64_DTPMOD*): New.
	(R_IA64_DTPREL*): New.

2000-09-29  Hans-Peter Nilsson  <hp@axis.com>

	* cris.h (EF_CRIS_UNDERSCORE): New.

2000-09-27  Alan Modra  <alan@linuxcare.com.au>

	* hppa.h (R_PARISC_DIR14F): Add.

2000-09-14  Alexandre Oliva  <aoliva@redhat.com>

	* sh.h (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT,
	R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): Change
	numbers to the range from 160 to 167.
	(R_SH_FIRST_INVALID_RELOC): Adjust.
	(R_SH_FIRST_INVALID_RELOC_2, R_SH_LAST_INVALID_RELOC_2):
	New relocs to fill in the gap.

2000-09-13  Anders Norlander  <anorland@acc.umu.se>

 	* mips.h (E_MIPS_MACH_4K): New define.

2000-09-05  Alan Modra  <alan@linuxcare.com.au>

	* hppa.h: Fix a comment.
	(R_PARISC_PCREL12F): Define.
	(R_PARISC_GNU_VTENTRY): Define.
	(R_PARISC_GNU_VTINHERIT): Define.

2000-09-01  Alexandre Oliva  <aoliva@redhat.com>

	* sh.h (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT,
	R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): New relocs.
	(R_SH_FIRST_INVALID_RELOC): Adjust.

2000-08-14  Jim Wilson  <wilson@cygnus.com>

	* elf/ia64.h (EF_IA_64_REDUCEDFP, EF_IA_64_CONS_GP,
	EF_IA_64_NOFUNCDESC_CONS_GP, EF_IA_64_ABSOLUTE): Define.

2000-07-20  Hans-Peter Nilsson  <hp@axis.com>

	common.h (EM_CRIS): New machine number.
	cris.h: New file.

2000-07-19  H.J. Lu  <hjl@gnu.org>

	* common.h (DF_1_NODEFLIB): Renamed from DF_1_NODEPLIB.

2000-07-19  H.J. Lu  <hjl@gnu.org>

	* common.h (DT_CHECKSUM): Set to 0x6ffffdf8.
	(DTF_1_CONFEXP): It is 0x00000002 as suspected.

2000-07-19  H.J. Lu  <hjl@gnu.org>

	* common.h (DT_FEATURE): Renamed from DT_FEATURE_1.
	(DT_CONFIG): New. From Solaris 8.
	(DT_DEPAUDIT): Likewise.
	(DT_AUDIT): Likewise.
	(DT_PLTPAD): Likewise.
	(DT_MOVETAB): Likewise.
	(DF_1_NODEPLIB): Likewise.
	(DF_1_NODUMP): Likewise.
	(DF_1_CONLFAT): Likewise.
	(DT_CHECKSUM): Likewise. FIXME. Check the value on Solaris 8.
	(DTF_1_CONFEXP): Likewise.

2000-07-18  H.J. Lu  <hjl@gnu.org>

	* common.h (DT_FLAGS_1): Renamed from DT_1_FLAGS.

2000-07-12  Alan Modra  <alan@linuxcare.com.au>

	* internal.h (struct elf_internal_sym): Update comment for st_other.

2000-07-10  Alan Modra  <alan@linuxcare.com.au>

	* hppa.h: Add comments to all the relocs. 

2000-06-26  Marek Michalkiewicz  <marekm@linux.org.pl>

	* avr.h (E_AVR_MACH_AVR5): Define.

2000-06-18  Stephane Carrez  <stcarrez@worldnet.fr>

	* m68hc11.h: New file, definitions for the Motorola 68hc11.

2000-06-06  Alan Modra  <alan@linuxcare.com.au>

	* reloc-macros.h (START_RELOC_NUMBERS): Don't define initial dummy
	-1 valued enum.
	(RELOC_NUMBER, FAKE_RELOC, EMPTY_RELOC): Append rather than
	prepend comma.
	(END_RELOC_NUMBERS): Give macro an arg to define as last enum.

	* alpha.h (R_ALPHA_max): Define via END_RELOC_NUMBERS rather than
	with EMPTY_RELOC.
	* arc.h (R_ARC_max): Likewise.
	* avr.h (R_AVR_max): Likewise.
	* fr30.h (R_FR30_max): Likewise.
	* hppa.h (R_PARISC_UNIMPLEMENTED): Likewise.
	* i960.h (R_960_max): Likewise.
	* m32r.h (R_M32R_max): Likewise.
	* m68k.h (R_68K_max): Likewise.
	* mcore.h (R_MCORE_max): Likewise.
	* mn10300.h (R_MN10300_MAX): Likewise.
	* pj.h (R_PJ_max): Likewise.
	* ppc.h (R_PPC_max): Likewise.
	* sh.h (R_SH_max): Likewise.
	* sparc.h (R_SPARC_max): Likewise.
	* v850.h (R_V850_max): Likewise.

	* arm.h (R_ARM_max): Define via END_RELOC_NUMBERS.
	* d10v.h (R_D10V_max): Likewise.
	* d30v.h (R_D30V_max): Likewise.
	* ia64.h (R_IA64_max): Likewise.
	* mips.h (R_MIPS_maxext): Likewise.
	* mn10200.h (R_MN10200_max): Likewise.

	* i386.h (R_386_max): Remove old RELOC_NUMBER definition, and
	define via END_RELOC_NUMBERS.

2000-06-03  Alan Modra  <alan@linuxcare.com.au>

	* reloc-macros.h (START_RELOC_NUMBERS): Fix name clash for
	!__STDC__ case.
	(RELOC_NUMBER): Use ansi stringify if ALMOST_STDC defined.

2000-05-22  Richard Henderson  <rth@cygnus.com>

	* ia64.h (R_IA64_PCREL60B, R_IA64_PCREL21BI): New.
	(R_IA64_PCREL22, R_IA64_PCREL64I): New.

2000-05-02  H.J. Lu  <hjl@gnu.org>

	* common.h (ELFOSABI_NONE): Renamed from ELFOSABI_SYSV.
	(ELFOSABI_MODESTO): Defined.
	(ELFOSABI_OPENBSD): Likewise.

Fri Apr 21 13:20:53 2000  Richard Henderson  <rth@cygnus.com>
			  David Mosberger  <davidm@hpl.hp.com>

	* ia64.h: New file.

2000-04-14  H.J. Lu  <hjl@gnu.org>

	* common.h (ELFOSABI_TRUE64): Renamed to ELFOSABI_TRU64.

2000-04-14  H.J. Lu  <hjl@gnu.org>

	* common.h (ELFOSABI_NETBSD): Defined.
	(ELFOSABI_HURD): Likewise.
	(ELFOSABI_SOLARIS): Likewise.
	(ELFOSABI_MONTEREY): Likewise.
	(ELFOSABI_IRIX): Likewise.
	(ELFOSABI_FREEBSD): Likewise.
	(ELFOSABI_TRUE64): Likewise.

2000-04-07  Nick Clifton  <nickc@cygnus.com>

	* arm-oabi.h: Delete.
	* arm.h: Merge in definitions of old reloc numbers from
	arm-oabi.h.

2000-04-06  Nick Clifton  <nickc@cygnus.com>

	* arm.h (EF_ARM_SYMSARESORTED): Define.
	(EF_ARM_EABIMASK): Define.
	(EF_ARM_EABI_VERSION): Define.
	(EF_ARM_EABI_UNKNOWN): Define.
	(EF_ARM_EABI_VER1): Define.
	(PF_ARM_PI): Define.
	(PF_ARM_ABS): Define.

Wed Apr  5 22:08:59 2000  J"orn Rennecke <amylaar@cygnus.co.uk>

	* sh.h (R_SH_LOOP_START, R_SH_LOOP_END): New RELOC_NUMBERs.

2000-03-27  Denis Chertykov  <denisc@overta.ru>

	* avr.h: New file.  AVR ELF support for BFD.
	* common.h: Add AVR magic number.

2000-03-10  Geoffrey Keating  <geoffk@cygnus.com>

	* mips.h: Add R_MIPS_GNU_REL_HI16, R_MIPS_GNU_REL_LO16,
	R_MIPS_GNU_REL16_S2, R_MIPS_PC64 and R_MIPS_PC32 relocation
	numbers.

2000-02-23  Linas Vepstas <linas@linas.org>

	* i370.h: New file.

2000-02-22  Nick Clifton  <nickc@cygnus.com>

	* common.h (ELF_ST_OTHER): Remove definition.
	(ELF32_ST_OTHER): Remove definition.
	(ELF64_ST_OTHER): Remove definition.

2000-02-22  H.J. Lu  <hjl@gnu.org>

	* common.h (ELFOSABI_LINUX): Define.

Thu Feb 17 00:18:33 2000  J"orn Rennecke <amylaar@cygnus.co.uk>

	* sh.h: (EF_SH_MACH_MASK, EF_SH_UNKNOWN, EF_SH1, EF_SH2): New macros.
	(EF_SH3, EF_SH_HAS_DSP, EF_SH_DSP, EF_SH3_DSP): Likewise.
	(EF_SH_HAS_FP, EF_SH3E, EF_SH4, EF_SH_MERGE_MACH): Likewise.

2000-02-03  H.J. Lu  <hjl@gnu.org>

	* arm-oabi.h: Duplicate changes made to arm.h on Jan. 27,
	2000 by Thomas de Lellis  <tdel@windriver.com>.

2000-01-27  Thomas de Lellis  <tdel@windriver.com>

	* arm.h (STT_ARM_TFUNC): Define in terms of STT_LOPROC.
	(STT_ARM_16BIT): New flag.  Denotes a label that was defined in
	Thumb block but was does not identify a function.

2000-01-20  Nick Clifton  <nickc@cygnus.com>

	* common.h (EM_MCORE): Fix spelling of Motorola.
	* mcore.h (EM_MCORE): Fix spelling of Motorola.

2000-01-13  Nick Clifton  <nickc@cygnus.com>

	* common.h (EM_S370): Change comment - this is now the IBM
	System/370.
	(EM_IA_64): Change comment - this is now the IA-64.

2000-01-11  Nick Clifton  <nickc@cygnus.com>

	* common.h (DT_ENCODING): Fix definition of this value.
	(DT_LOOS): Fix definition of this value.
	(DT_HIOS): Fix definition of this value.
	(OLD_DT_LOOS): Value of DT_LOOS before Oct 4, 1999 draft
	of ELF spec changed it.
	(OLD_DT_HIOS): Value of DT_HIOS before Oct 4, 1999 draft
	of ELF spec changed it.

2000-01-10  Egor Duda  <deo@logos-m.ru>

	* common.h (NT_WIN32PSTATUS): Define.  (cygwin elf core dumps).

1999-12-28  Nick Clifton  <nickc@cygnus.com>

	* mips.h (STO_*): Redefine in terms of STV_* values now in
	common.h.

1999-12-27  Nick Clifton  <nickc@cygnus.com>

	* common.h: Upgrade to match Oct4, 1999 Draft ELF ABI Spec.
	(EM_MIPS_RS3_LE): New machine number.
	(EM_RCE): New machine number.
	(EM_MMA): New machine number.
	(EM_PCP): New machine number.
	(EM_NCPU): New machine number.
	(EM_NDR1): New machine number.
	(EM_STARCORE): New machine number.
	(EM_ME16): New machine number.
	(EM_ST100): New machine number.
	(EM_TINYJ): New machine number.
	(EM_FX66): New machine number.
	(EM_ST9PLUS): New machine number.
	(EM_ST7): New machine number.
	(EM_68HC16): New machine number.
	(EM_68HC11): New machine number.
	(EM_68HC08): New machine number.
	(EM_68HC05): New machine number.
	(EM_SVX): New machine number.
	(EM_VAX): New machine number.
	(PF_MASKOS): Change value.
	(SHT_INIT_ARRAY): New value for sh_type field.
	(SHT_FINI_ARRAY): New value for sh_type field.
	(SHT_PREINIT_ARRAY): New value for sh_type field.
	(SHT_HIUSER): Change value.
	(SHF_MERGE): New valye for sh_flags field.
	(SHF_STRINGS): New valye for sh_flags field.
	(SHF_INFO_LINK): New valye for sh_flags field.
	(SHF_OS_NONCONFORMING): New valye for sh_flags field.
	(SHF_MASKOS): Change value.
	(ELF_ST_VISIBILITY): New macro.
	(ELF_ST_OTHER): New macro.
	(STT_COMMON): New symbol type.
	(STV_DEFAULT): Value for symbol visibility.
	(STV_INTERNAL): Value for symbol visibility.
	(STV_HIDDEN): Value for symbol visibility.
	(STV_PROTECTED): Value for symbol visibility.
	(DT_RUNPATH): New dynamic section tag.
	(DT_FLAGS): New dynamic section tag.
	(DT_ENCODING): New dynamic section tag.
	(DT_PREINIT_ARRAY): New dynamic section tag.
	(DT_PREINIT_ARRAYSZ): New dynamic section tag.
	(DT_LOPROC): New dynamic section tag index.
	(DT_HIPROC): New dynamic section tag index.
	(DF_ORIGIN): Value for dynamic section flag.
	(DF_SYMBOLIC): Value for dynamic section flag.
	(DF_TEXTREL): Value for dynamic section flag.
	(DF_BIND_NOW): Value for dynamic section flag.

1999-12-09  Fred Fish  <fnf@cygnus.com>

	* i960.h (reloc-macros.h):  Include using relative dir elf/.
	* i386.h (reloc-macros.h):  Include using relative dir elf/.
	* hppa.h (reloc-macros.h):  Include using relative dir elf/.

1999-12-07  Jim Blandy  <jimb@cygnus.com>

	* common.h (NT_PRXFPREG): New definition.

Wed Dec  1 03:02:15 1999  Jeffrey A Law  (law@cygnus.com)

	* mn10300.h (E_MN10300_MACH_AM33): Define.

Mon Oct 11 22:42:37 1999  Jeffrey A Law  (law@cygnus.com)

	* hppa.h (PF_HP_PAGE_SIZE): Define.
	(PF_HP_FAR_SHARED, PF_HP_NEAR_SHARED, PF_HP_CODE): Likewise.
	(PF_HP_MODIFY, PF_HP_LAZYSWAP, PF_HP_SBP): Likewise.

Mon Oct  4 17:42:38 1999  Doug Evans  <devans@canuck.cygnus.com>

	* m32r.h (E_M32RX_ARCH): Define.

1999-09-15  Ulrich Drepper  <drepper@cygnus.com>

	* hppa.h: Add DT_HP_GST_SIZE, DT_HP_GST_VERSION, and DT_HP_GST_HASHVAL.

1999-09-04  Steve Chamberlain  <sac@pobox.com>

	* pj.h: New file.
	* common.h (EM_PJ): Define.

1999-09-02  Ulrich Drepper  <drepper@cygnus.com>

	* hppa.h: Add HPUX specific symbol type definitions.

	* hppa.h: Add HPUX specific dynamic and program header table
	specific definitions.

1999-08-31  Scott Bambrough <scottb@netwinder.org>

	* common.h (NT_TASKSTRUCT): Define.

1999-07-16  Jakub Jelinek  <jj@ultra.linux.cz>

	* sparc.h (EF_SPARC_SUN_US3): Define in Cheetah extensions
	flag (as per SCD2.4.1).

1999-07-16  Jakub Jelinek  <jj@ultra.linux.cz>

	* sparc.h (ELF64_R_TYPE_DATA): Only use ELF64_R_TYPE bits, not
	ELF64_R_SYM bits.

1999-06-21  Philip Blundell  <pb@nexus.co.uk>

	* arm.h (EF_SOFT_FLOAT, F_SOFT_FLOAT): Define.

1999-07-13  Andreas Schwab  <schwab@suse.de>

	* m68k.h (EF_CPU32): Move definition inside multiple inclusion
	guard.

1999-07-08  Richard Henderson  <rth@cygnus.com>

	* sparc.h (ELF64_R_TYPE_DATA): Sign extend the value.
	(ELF64_R_TYPE_INFO): Mask out all but low 24 bits of data.
	(DT_SPARC_PLTFMT): Delete.
	Based on a patch from Jakub Jelinek.

Mon Jun 21 16:36:02 1999  Jeffrey A Law  (law@cygnus.com)

	* hppa.h (elf_hppa_reloc_type): Renamed from elf32_hppa_reloc_type.

1999-06-10  Jakub Jelinek  <jj@ultra.linux.cz>

	* sparc.h (R_SPARC_max_std): Define.

Wed Jun  9 15:16:34 1999  Jeffrey A Law  (law@cygnus.com)

	* hppa.h: Update with various changes from newest PA ELF
	specifications.

1999-06-03  Ian Lance Taylor  <ian@zembu.com>

	* common.h (EM_PPC64): Define.

1999-06-02  Stu Grossman  <grossman@babylon-5.cygnus.com>

	* dwarf.h: Add LANG_JAVA.
	* dwarf2.h: Add DW_LANG_Java.

1999-05-29  Nick Clifton  <nickc@cygnus.com>

	* common.h (ELFOSABI_ARM): Define.

1999-05-28  Nick Clifton  <nickc@cygnus.com>

	* reloc-macros.h: Update comment.

1999-05-28  Ian Lance Taylor  <ian@zembu.com>

	* i960.h: New file.

1999-05-16  Nick Clifton  <nickc@cygnus.com>

	* mcore.h (R_MCORE_COPY): Define.
	(R_MCORE_GLOB_DAT): Define.
	(R_MCORE_JUMP_SLOT): Define.

1999-05-15  Nick Clifton  <nickc@cygnus.com>

	* mcore.h (R_MCORE_RELATIVE): Define.

1999-05-05  Catherine Moore  <clm@cygnus.com>

	* m68k.h (EF_CPU32): Define.

1999-04-21  Nick Clifton  <nickc@cygnus.com>

	* reloc-macros.h (START_RELOC_NUMBERS): Prepend an underscore to
	fake reloc entry name (if possible), in order to avoid conflicts
	with typedefs of the same name.

1999-04-16  Gavin Romig-Koch  <gavin@cygnus.com>

	* mips.h (EF_MIPS_32BITMODE): New.

1999-04-08  Nick Clifton  <nickc@cygnus.com>

	* mcore.h: New header file.  Defines for Motorola's MCore
	processor.

1999-04-08  Nick Clifton  <nickc@cygnus.com>

	* common.h: Add new constants defined in: "System V Application
	Binary Interface - DRAFT - April 29, 1998" found at the web site:
	http://www.sco.com/developer/gabi/contents.html

	(EM_MMA): Removed.  Replaced with EM_MCORE as Motorolla own this
	value.

1999-03-31  Nick Clifton  <nickc@cygnus.com>

	* reloc-macros.h: Fixed to not generate an enum with a trailing
	comma.

1999-03-16  Gavin Romig-Koch  <gavin@cygnus.com>

	* mips.h (E_MIPS_MACH_5000): New.

1999-03-10  Ulrich Drepper  <drepper@cygnus.com>

	* common.h: Add definitions for a few more Solaris ELF extensions.

Thu Feb 18 18:58:26 1999  Ian Lance Taylor  <ian@cygnus.com>

	* external.h: Only use attribute if __GNUC__ is defined.

1999-02-17  Nick Clifton  <nickc@cygnus.com>

	Patch submitted by: Scott Bambrough <scottb@corelcomputer.com>

	* elf/external.h: struct Elf_External_Versym must be packed on
	ARM.  Code uses sizeof(Elf_External_Versym) and assumes it is
	equal to sizeof(char[2]).  Reported by Jim Pick <jim@jimpick.com>

1999-02-02  Nick Clifton  <nickc@cygnus.com>

	* dwarf2.h (DWARF2_External_ARange): New structure.
	(DWARF2_Internal_ARange): New structure.

Mon Feb  1 11:33:56 1999  Catherine Moore  <clm@cygnus.com>

	* arm.h:  Renumber relocs to conform to standard.
	(EF_NEW_ABI):  Define.
	(EF_OLD_ABI):  Define.
	* arm-oabi.h:  New file.

1999-01-28  Nick Clifton  <nickc@cygnus.com>

	* fr30.h: Add R_FR30_GNU_VT{INHERIT,ENTRY} relocs.

1999-01-27  Nick Clifton  <nickc@cygnus.com>

	* dwarf2.h: Add typedefs for structures found in dwarf2 sections.

1998-12-16  Gavin Romig-Koch  <gavin@cygnus.com>

	* mips.h (E_MIPS_MACH_4111): New.

1998-12-15  Gavin Romig-Koch  <gavin@cygnus.com>

	* mips.h (EF_MIPS_ABI,E_MIPS_ABI_O32,E_MIPS_ABI_O64,
	E_MIPS_ABI_EABI32,E_MIPS_ABI_EABI64):

1998-12-03  Nick Clifton  <nickc@cygnus.com>

	* fr30.h: Add R_FR30_48 reloc.

1998-12-02  Ulrich Drepper  <drepper@cygnus.com>

	* mips.h: Add external data type for conflict section.

	* mips.h: Add more LL_* options from Irix 6.5.

	* mips.h: Add R_MIPS_JALR and adjust R_MIPS_max appropriately.

Tue Nov 10 15:12:28 1998  Nick Clifton  <nickc@cygnus.com>

	* common.h (EM_CYGNUS_FR30): Reduce to a 16 bit value.

Tue Nov 10 15:17:28 1998  Catherine Moore  <clm@cygnus.com>

	* d10v.h:  Add vtable relocs.

Wed Nov  4 15:56:50 1998  Nick Clifton  <nickc@cygnus.com>

	* common.h (EM_CYGNUS_FR30): New machine number.

	* fr30.h: New file: Definitions for the FR30.

Fri Oct 30 11:54:15 1998  Catherine Moore  <clm@cygnus.com>

	From Philip Blundell <pb@nexus.co.uk>:
	* arm.h (R_ARM_COPY, et al.): New relocs, used by Linux for PIC.
	(EF_ALIGN8): New flag.

Tue Oct 20 11:19:50 1998  Ian Lance Taylor  <ian@cygnus.com>

	* common.h (NT_LWPSTATUS): Close comment accidentally left open.

Mon Oct 19 20:24:11 1998  Catherine Moore  <clm@cygnus.com>

	* sh.h:  Add vtable relocs.

Mon Oct 19 01:44:42 1998  Felix Lee  <flee@cygnus.com>

	* common.h (NT_PSTATUS, NT_FPREGS, NT_PSINFO,
	NT_LWPSTATUS,NT_LWPSINFO): added.
	* internal.h (Elf_Internal_Note): new structure members.

Fri Oct 16 14:11:25 1998  Catherine Moore  <clm@cygnus.com>

	* m32r.h:  Add vtable relocs.

Tue Oct  6 09:22:22 1998  Catherine Moore  <clm@cygnus.com>

	* sparc.h:  Add vtable relocs.

Mon Oct  5 09:39:22 1998  Catherine Moore  <clm@cygnus.com>

	* v850.h:  Add vtable relocs.

Sun Oct  4 21:17:51 1998  Ian Lance Taylor  <ian@cygnus.com>

	* i386.h (R_386_max): Change from 252 to 24.

Mon Sep 21 12:24:44 1998  Catherine Moore  <clm@cygnus.com>

	* i386.h:  Change vtable reloc numbers.

Sun Sep 20 00:54:22 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* m68k.h: Add vtable relocs and R_68K_max.

Tue Sep 15 09:56:49 CDT 1998  Catherine Moore  <clm@cygnus.com>

	* arm.h:  Add vtable relocs.

Mon Aug 31 11:25:27 1998  Catherine Moore  <clm@cygnus.com>

	* arm.h:  Define STT_ARM_TFUNC.  Remove ST_THUMB_xxxx
	definitions.

Sat Aug 29 22:25:51 1998  Richard Henderson  <rth@cygnus.com>

	* i386.h: Add vtable relocs.

1998-08-25 16:42  Ulrich Drepper  <drepper@cygnus.com>

	* common.h: Add SYMINFO_* macros to access Elf*_Syminfo information.

	* external.h: Add Elf_External_Syminfo definition.

	* internal.h: Add Elf_Internal_Syminfo, Elf32_Internal_Syminfo,
	and Elf64_Syminfo definitions.

Sun Aug  9 20:26:49 CDT 1998  Catherine Moore  <clm@cygnus.com>

	* arm.h:  Add ST_THUMB definitions.

Wed Aug  5 15:52:35 1998  Nick Clifton  <nickc@cygnus.com>

	* arm.h: Add ELF header flags to specify compile time optins:
	EF_INTERWORK: New flag.
	EF_APCS_26: New flag.
	EF_APCS_FLOAT: New flag.
	EF_PIC: New flag.

1998-07-31 21:28  Ulrich Drepper  <drepper@cygnus.com>

	* mips.h: Add missing RHF_* constants.

Fri Jul 31 10:01:40 1998 Catherine Moore  <clm@cygnus.com>

	* arm.h: Add R_ARM_THM_PC9 relocation.

1998-07-30 16:25  Ulrich Drepper  <drepper@cygnus.com>

	* common.h: Add new DT_* entries and there flag macros from Solaris.

Tue Jul 28 18:14:07 1998  Stan Cox  <scox@equinox.cygnus.com>

	* sparc.h: (R_SPARC_REV32): Added for little endian data e.g. sparc 86x.

Fri Jul 24 11:22:06 1998  Jeffrey A Law  (law@cygnus.com)

	* mn10300.h: Add R_MN10300_24 relocation.

1998-07-24  Ulrich Drepper  <drepper@cygnus.com>

	* mips.h: Add MIPS64 relocation names and values.

Wed Jul 22 19:29:00 Catherine Moore  <clm@cygnus.com>

	* arm.h: Rename relocations.

1998-07-22  Ulrich Drepper  <drepper@cygnus.com>

	* ppc.h: Define enum as elf_ppc_reloc_type.

Wed Jul 22 16:22:11 1998  Nick Clifton  <nickc@cygnus.com>

	* reloc-macros.h: New file.  Provides relocation macros:
	START_RELOC_NUMBERS, RELOC_NUMBER, FAKE_RELOC, EMPTY_RELOC and
	END_RELOC_NUMBERS used by other elf header files.

	* alpha.h: Use reloc-macros.h.
	* arc.h: Use reloc-macros.h.
	* arm.h: Use reloc-macros.h.
	* d10v.h: Use reloc-macros.h.
	* d30v.h: Use reloc-macros.h.
	* hppa.h: Use reloc-macros.h.
	* i386.h: Use reloc-macros.h.
	* m32r.h: Use reloc-macros.h.
	* m68k.h: Use reloc-macros.h.
	* mips.h: Use reloc-macros.h.
	* mn10200.h: Use reloc-macros.h.
	* mn10300.h: Use reloc-macros.h.
	* ppc.h: Use reloc-macros.h.
	* sh.h: Use reloc-macros.h.
	* sparc.h: Use reloc-macros.h.
	* v850.h: Use reloc-macros.h.

1998-07-22 13:07  Ulrich Drepper  <drepper@cygnus.com>

	* mn10300.h: Rewrite relocation definition using macros.
	* mips.h: Likewise.
	* ppc.h: Likewise.
	* alpha.h: Likewise.
	* arm.h: Likewise.
	* d10v.h: Likewise.
	* d30v.h: Likewise.
	* m32r.h: Likewise.
	* m68k.h: Likewise.
	* mn10200.h: Likewise.
	* sh.h: Likewise.
	* sparc.h: Likewise.

1998-07-21 13:07  Ulrich Drepper  <drepper@cygnus.com>

	* arm.h: New file.
	* d10v.h: New file.
	* d30v.h: New file.
	* i386.h: New file.
	* m68k.h: New file.
	* mn10200.h: New file.
	* sh.h: New file.

	* mips.h: Add R_MIPS_* and SHT_MIPS_* entries.

	* mn10300.h: Add R_MN10300_* entries.

	* ppc.h: Add R_PPC_* entries.

1998-07-20 07:11  Ulrich Drepper  <drepper@cygnus.com>

	* mips.h: Add ODK_*, OEX_*, OPAD_*, OHW_*, and OGP_* constants.
	Define Elf32_External_Lib.

1998-07-19 15:24  Ulrich Drepper  <drepper@cygnus.com>

	* mips.h (PT_MIPS_OPTIONS): New symbol.
	Add lots of DT_MIPS_* symbols.

Fri Jun 26 10:46:35 1998  Jeffrey A Law  (law@cygnus.com)

	* mn10300.h: New file.

Thu Jun 18 19:27:56 1998  Nick Clifton  <nickc@cygnus.com>

	* common.h (EM_960, EM_V800, EM_FR20, EM_RH32, EM_MMA,
	EM_OLD_ALPHA): Add these constants.

Thu Jun 11 17:59:01 1998  Nick Clifton  <nickc@cygnus.com>

	* common.h (EM_486, EM_S370): Add these constants.

Tue Jun  9 09:35:29 1998  Nick Clifton  <nickc@cygnus.com>

	* common.h (EM_ARM): Add this constant.

Wed May  6 09:45:30 1998  Gavin Koch  <gavin@cygnus.com>

	* mips.h (EF_MIPS_MACH,E_MIPS_MACH_*): Added.

Sat Apr 25 18:35:06 1998  Richard Henderson  <rth@cygnus.com>

	* alpha.h (STO_ALPHA_NOPV, STO_ALPHA_STD_GPLOAD): New.

Wed Apr 15 15:42:45 1998  Richard Henderson  <rth@cygnus.com>

	* common.h (EM_SPARC64): Move and rename to EM_OLD_SPARCV9.
	(EM_SPARCV9): New.  This is the official ABI name and number.

Sat Feb 28 17:04:41 1998  Richard Henderson  <rth@cygnus.com>

	* alpha.h (EF_ALPHA_32BIT, EF_ALPHA_CANRELAX): New.

Mon Dec 15 15:07:49 1997  Nick Clifton  <nickc@cygnus.com>

	* m32r.h (EF_M32R_ARCH, E_M32R_ARCH): New flags to
	specify machine architecture.

Fri Dec  5 11:20:08 1997  Nick Clifton  <nickc@cygnus.com>

	* v850.h: New constants: SHN_V850_SCOMMON, SHN_V850_TCOMMON,
	SHN_V850_ZCOMMON, SHT_V850_SCOMMON, SHT_V850_TCOMMON,
	SHT_V850_ZCOMMON to handle v850 common sections.
	enum reloc_type renamed to v850_reloc_type to avoid name
	conflict.

Thu Oct 23 13:55:24 1997  Richard Henderson  <rth@cygnus.com>

	* sparc.h (enum elf_sparc_reloc_type): Add UA64 & UA16.

Thu Oct 23 00:42:04 1997  Richard Henderson  <rth@dot.cygnus.com>

	* sparc.h (DT_SPARC_REGISTER): New macro.
	(DT_SPARC_PLTFMT): In support of old sparc64-linux .plts; will
	go away soon.

Tue Sep 30 13:26:58 1997  Doug Evans  <dje@canuck.cygnus.com>

	* sparc.h (EF_SPARC_HAL_R1, EF_SPARC_EXT_MASK): New macros.
	(EF_SPARCV9_{MM,TSO,PSO,RMO}): New macros.
	(SHN_BEFORE,SHN_AFTER): New macros.
	(SHF_EXCLUDE,SHF_ORDERED): New macros.
	(STT_REGISTER): New macro.
	(R_SPARC_GLOB_JMP): Deleted, but slot reserved.
	(R_SPARC_{DISP64,PLT64,HIX22,LOX10}): New relocations.
	(R_SPARC_{H44,M44,L44,REGISTER}): New relocations.
	(ELF64_R_TYPE_{DATA,ID,INFO}): New macros.

Wed Sep 17 16:41:42 1997  Nick Clifton  <nickc@cygnus.com>

	* v850.h: Add R_V850_CALLT_6_7_OFFSET and R_V850_CALLT_16_16_OFFSET.

Tue Sep 16 14:16:17 1997  Nick Clifton  <nickc@cygnus.com>

	* v850.h (reloc_type): Add R_V850_TDA_16_16_OFFSET.

Wed Sep  3 15:11:14 1997  Richard Henderson  <rth@cygnus.com>

	* mips.h: Correct typo in comment.

Wed Sep  3 11:25:57 1997  Nick Clifton  <nickc@cygnus.com>

	* v850.h (reloc_type): Remove R_V850_16_PCREL.

Tue Sep  2 17:41:05 1997  Nick Clifton  <nickc@cygnus.com>

	* common.h: Remove magic number for V850E.
	* common.h: Remove magic number for V850EA.
	* v850.h: Add new flags for e_flags field in elf header.

Mon Aug 25 16:06:47 1997  Nick Clifton  <nickc@cygnus.com>

	* common.h (EM_CYGNUS_V850E): backend magic number for v850e.
	* common.h (EM_CYGNUS_V850EA): backend magic number for v850ea.

Mon Aug 18 11:05:23 1997  Nick Clifton  <nickc@cygnus.com>

	* v850.h (reloc_type): Add 16 bit PC relative relocation.

Fri Aug 15 05:10:09 1997  Doug Evans  <dje@canuck.cygnus.com>

	* arc.h (enum reloc): Move here from elf32-arc.c.

Fri Aug  8 17:05:29 1997  Doug Evans  <dje@canuck.cygnus.com>

	* arc.h: New file.
	* common.h (EM_CYGNUS_ARC): Define.

Mon Jun 16 14:46:12 1997  Ian Lance Taylor  <ian@cygnus.com>

	* internal.h (Elf_Internal_Ehdr): Change e_phoff and e_shoff from
	bfd_signed_vma to bfd_size_type, as they are not signed.

Wed Mar  5 15:35:26 1997  Doug Evans  <dje@seba.cygnus.com>

	* m32r.h (SHF_M32R_CAN_RELAX): Define.

Mon Feb 24 17:49:01 1997  Ian Lance Taylor  <ian@cygnus.com>

	* external.h: Dump the 32/64 bit specific forms of the version
	structures, and just define them as size independent.

	* common.h (VERSYM_HIDDEN, VERSYM_VERSION): Define.

Fri Feb 21 13:00:34 1997  Doug Evans  <dje@canuck.cygnus.com>

	* m32r.h (enum reloc_type): Add R_M32R_SDA16.
	(SHN_M32R_SCOMMON): Define.

Wed Feb 19 15:35:31 1997  Ian Lance Taylor  <ian@cygnus.com>

	From Eric Youngdale <eric@andante.jic.com>:
	* external.h, internal.h, common.h: Added new structures and
	definitions for ELF versions.

Tue Feb 18 17:40:36 1997  Martin M. Hunt  <hunt@pizza.cygnus.com>

	* common.h (EM_CYGNUS_D30V): Define.

Mon Jan 27 11:54:44 1997  Doug Evans  <dje@seba.cygnus.com>

	* m32r.h (enum reloc_type): Add R_M32R_HI16_[SU]LO,R_M32R_LO16.

Fri Jan  3 11:32:51 1997  Michael Meissner  <meissner@tiktok.cygnus.com>

	* v850.h (V850_OTHER_{TDA_BYTE,ERROR}): New bits for the st_other
	field.
	(SHN_V850_*): Remove v850 specific section indexes, which are not
	needed.
	(enum reloc_type): Move the v850 relocations here from
	elf32-v850.c

Thu Jan  2 19:30:23 1997  Michael Meissner  <meissner@tiktok.cygnus.com>

	* v850.h: New file, provide V850 specific definitions.

Tue Dec 31 14:44:32 1996  Ian Lance Taylor  <ian@cygnus.com>

	* common.h (DT_AUXILIARY): Define.
	(DT_FILTER): Define.

Wed Dec  4 05:03:37 1996  Jason Merrill  <jason@yorick.cygnus.com>

	* dwarf2.h: Update.

Tue Nov 26 10:44:47 1996  Ian Lance Taylor  <ian@cygnus.com>

	* mips.h (STO_MIPS16): Define.

Tue Nov 12 15:45:42 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>

	* d10v.h: Remove empty file.

Tue Oct  8 11:31:24 1996  Ian Lance Taylor  <ian@cygnus.com>

	* mips.h (EF_MIPS_ABI2): Define.

Thu Oct  3 10:01:40 1996  Jeffrey A Law  (law@cygnus.com)

	* common.h: Break mn10x00 support into mn10200 and mn10300.

Wed Oct  2 21:26:43 1996  Jeffrey A Law  (law@cygnus.com)

	* common.h (EM_CYGNUS_MN10x00): Define.

Mon Sep 23 09:18:04 1996  Doug Evans  <dje@seba.cygnus.com>

	* m32r.h: New file.

Fri Aug 30 17:06:21 1996  Ian Lance Taylor  <ian@cygnus.com>

	* common.h (EM_SH): Define.

Tue Aug 20 14:47:54 1996  J.T. Conklin  <jtc@hippo.cygnus.com>

	* common.h (EM_CYGNUS_V850): Define.

Mon Aug 19 10:59:10 1996  Doug Evans  <dje@canuck.cygnus.com>

	* common.h (EM_CYGNUS_M32R): Define.

Mon Jul 22 18:59:55 1996  Ian Lance Taylor  <ian@cygnus.com>

	* mips.h (SHT_MIPS_IFACE, SHT_MIPS_CONTENT): Define.
	(SHT_MIPS_SYMBOL_LIB): Define.
	(SHF_MIPS_MERGE, SHF_MIPS_ADDR32, SHF_MIPS_ADDR64): Define.
	(SHF_MIPS_NOSTRIP, SHF_MIPS_LOCAL, SHF_MIPS_NAMES): Define.

Thu Jul 18 19:12:15 1996  Stan Shebs  <shebs@andros.cygnus.com>

	* dwarf2.h: New file.

Jul 18 13:20:39 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>

	* common.h (EM_CYGNUS_D10V): Define.
	* d10v.h: New file.

Fri Jun 21 12:33:24 1996  Richard Henderson  <rth@tamu.edu>

	* alpha.h: New file.
	* common.h (EM_ALPHA): Define.

Fri May 31 17:28:05 1996  Ian Lance Taylor  <ian@cygnus.com>

	* mips.h (Elf_External_Options, Elf_Internal_Options): Define.
	(bfd_mips_elf_swap_options_in): Declare.
	(bfd_mips_elf_swap_options_out): Declare.
	(ODK_*): Define.
	(Elf64_External_RegInfo, Elf64_Internal_RegInfo): Define.
	(bfd_mips_elf64_swap_reginfo_in): Declare.
	(bfd_mips_elf64_swap_reginfo_out): Declare.

Thu May 30 12:35:57 1996  Ian Lance Taylor  <ian@cygnus.com>

	* mips.h (E_MIPS_ARCH_4): Define.

Wed May 29 15:35:33 1996  Ian Lance Taylor  <ian@cygnus.com>

	* mips.h (Elf64_Mips_External_Rel): Define.
	(Elf64_Mips_Internal_Rel): Define.
	(Elf64_Mips_External_Rela, Elf64_Mips_Internal_Rela): Define.
	(RSS_*): Define.

Mon Apr 22 18:26:30 1996  Doug Evans  <dje@canuck.cygnus.com>

	* sparc.h (R_SPARC_[56]): Always define.

Mon Feb 19 01:55:56 1996  Doug Evans  <dje@charmed.cygnus.com>

	* sparc.h (R_SPARC_{PLT32,HIPLT22,LOPLT10,PCPLT32,PCPLT22,
	PCPLT10,5,6}): Don't define ifdef SPARC64_OLD_RELOCS.

Tue Feb  6 11:33:58 1996  Doug Evans  <dje@charmed.cygnus.com>

	* sparc.h (enum sparc_elf_reloc_type): Define.

Wed Jan 17 09:09:16 1996  Doug Evans  <dje@canuck.cygnus.com>

	* common.h: Define EM_SPARC32PLUS.
	* sparc.h: New file.

Thu Jan 11 16:27:34 1996  Michael Meissner  <meissner@tiktok.cygnus.com>

	* ppc.h (SHF_EXCLUDE, SHT_ORDERED): New fields from the abi.

Thu Nov 30 16:47:18 1995  Ian Lance Taylor  <ian@cygnus.com>

	* internal.h (struct elf_segment_map): Add includes_filehdr and
	includes_phdrs fields.

Tue Nov 28 16:58:10 1995  Ian Lance Taylor  <ian@cygnus.com>

	* internal.h (struct elf_segment_map): Define.

Tue Oct 31 15:19:36 1995  Fred Fish  <fnf@cygnus.com>

	* common.h, dwarf.h, external.h, hppa.h, internal.h,
	mips.h, ppc.h:  Protect against multiple inclusions.

Thu Sep 21 13:51:58 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* ppc.h (EF_PPC_RELOCATABLE_LIB): Add new flag bit.

Fri Sep  1 15:32:17 1995  Kazumoto Kojima  <kkojima@info.kanagawa-u.ac.jp>

	* mips.h: Add some definitions used on Irix 5.

Tue Jun 20 10:18:28 1995  Jeff Law  (law@snake.cs.utah.edu)

	* hppa.h (CPU_PA_RISC1_0): Protect from redefinitions.
	(CPU_PA_RISC1_1): Likewise.

Wed Mar  8 18:14:37 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* ppc.h: New file for PowerPC support.

Tue Feb 14 13:59:13 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* common.h (EM_PPC): Use offical value of 20, not 17.
	(EM_PPC_OLD): Define this to be the old value of EM_PPC.

Tue Jan 24 09:40:59 1995  Michael Meissner  <meissner@tiktok.cygnus.com>

	* common.h (EM_PPC): New macro, PowerPC machine id.

Tue Jan 17 10:51:38 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>

	* mips.h (SHT_MIPS_MSYM, SHT_MIPS_DWARF, SHT_MIPS_EVENTS): Define.

Mon Oct 17 13:43:59 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>

	* internal.h (Elf_Internal_Shdr): Remove rawdata and size fields.
	Add bfd_section field.

Tue May 24 16:11:50 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* mips.h (Elf32_External_gptab): Define.

Mon May 16 13:22:04 1994  Jeff Law  (law@snake.cs.utah.edu)

	* common.h (EM_HPPA): Delete.
	(EM_PARISC): Add.
	* hppa.h: New file.

Mon May  9 13:27:03 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* common.h (SHN_LORESERVE): Rename from SHN_LORESERV.
	(ELF32_R_TYPE, ELF32_R_INFO): Don't rely on size of unsigned char.
	(ELF64_R_TYPE): Don't rely on size of unsigned long.

Mon Apr 25 15:53:09 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* internal.h (Elf_Internal_Shdr): Use PTR, not void *.

Fri Mar 11 00:34:59 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)

	* mips.h (SHN_MIPS_TEXT, SHN_MIPS_DATA):  Define.

Sat Mar  5 14:08:54 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)

	* internal.h:  Remove Elf32_*, Elf64_* typedefs.  These names
	cause conflicts with system headers, e.g. link.h in gdb/solib.c.
	Combine 32- and 64-bit versions of *_Internal_Dyn.
	* common.h:  Replace uses of Elf64_Word, Elf64_Xword typedefs
	by their expansion.
	* mips.h:  Replace uses of Elf32_Word, Elf32_Sword, Elf32_Addr
	typedefs by their expansion. Add DT_MIPS_RLD_MAP definition.

Fri Feb 18 10:39:54 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* common.h (EM_CYGNUS_POWERPC): Define.  This may be temporary,
	depending upon how quickly I can find a real PowerPC ABI.

Mon Feb  7 08:27:13 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)

	* internal.h: Change HOST_64_BIT to BFD_HOST_64_BIT.

Wed Feb  2 14:12:18 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)

	* common.h: Add comments regarding value of EM_HPPA and how to
	pick an unofficial value.

Wed Nov 17 17:14:26 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* mips.h (SHT_MIPS_OPTIONS): Define.

Mon Nov  8 17:57:00 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)

	* mips.h: Added some more MIPS ABI macro definitions.

Wed Nov  3 22:07:17 1993  Ken Raeburn  (raeburn@rtl.cygnus.com)

	* common.h (EM_MIPS_RS4_BE): New macro.

Tue Oct 12 07:28:18 1993  Ian Lance Taylor  (ian@cygnus.com)

	* mips.h: New file.  MIPS ABI specific information.

Mon Jun 21 13:13:43 1993  Ken Raeburn  (raeburn@poseidon.cygnus.com)

	* internal.h: Combined 32- and 64-bit versions of all structures
	except *_Internal_Dyn.  This will simply the assembler interface,
	and some bfd code.

Tue May 25 02:00:16 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)

	* external.h, internal.h, common.h: Added 64-bit versions of some
	structures and macros.  Renamed old versions to put "32" in the
	name.  Some are unchanged.

Thu Apr 29 12:12:20 1993  Ken Raeburn  (raeburn@deneb.cygnus.com)

	* common.h (EM_HPPA, NT_VERSION, STN_UNDEF, DT_*): New macros.
	* external.h (Elf_External_Dyn): New type.

	* internal.h (Elf_Intenral_Shdr): New field `size'.
	(Elf_Internal_Dyn): New type.

Tue Apr 20 16:03:45 1993  Fred Fish  (fnf@cygnus.com)

	* dwarf.h (LANG_CHILL):  Change value to one randomly picked in
	the user defined range, to reduce probability of collisions.

Sun Nov 15 09:34:02 1992  Fred Fish  (fnf@cygnus.com)

	* dwarf.h (AT_src_coords):  Whitespace change only.
	* dwarf.h (AT_body_begin, AT_body_end, LANG_MODULA2):
	Add from latest gcc.
	* dwarf.h (LANG_CHILL):  Add as GNU extension.

Sat Aug  1 13:46:53 1992  Fred Fish  (fnf@cygnus.com)

	* dwarf.h:  Replace with current version from gcc distribution.

Fri Jun 19 19:05:09 1992  John Gilmore  (gnu at cygnus.com)

	* internal.h:  Add real struct tags to all the Type_Defs, so they
	can be used in prototypes where the Type_Defs are not known.

Fri Apr  3 20:58:58 1992  Mark Eichin  (eichin at cygnus.com)

	* common.h: added ELF_R_{SYM,TYPE,INFO} for handling relocation
	info
	added EM_MIPS, and corrected value of EM_860 based on System V ABI
	manual.

	* external.h: added Elf_External_{Rel,Rela}.

	* internal.h: added Elf_Internal_{Rel,Rela}.
	added rawdata to Elf_Internal_Shdr.

Sat Nov 30 20:43:59 1991  Steve Chamberlain  (sac at rtl.cygnus.com)

	* common.h, dwarf.h, external.h, internal.h, ChangeLog; moved from
	../elf-<foo>


Local Variables:
version-control: never
End:
