diff --git a/include/ChangeLog b/include/ChangeLog
index 0fa1c220a..cb15edca0 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,7 @@
+2000-03-27  Denis Chertykov  <denisc@overta.ru>
+
+	* dis-asm.h (print_insn_avr): Declare.
+
 2000-03-14  Bernd Schmidt  <bernds@cygnus.co.uk>
 
 	* hashtab.h (htab_trav): Modify type so that first arg is of type
diff --git a/include/dis-asm.h b/include/dis-asm.h
index 874c3b6f3..6e6c04b53 100644
--- a/include/dis-asm.h
+++ b/include/dis-asm.h
@@ -194,6 +194,7 @@ extern int print_insn_tic30		PARAMS ((bfd_vma, disassemble_info*));
 extern int print_insn_vax		PARAMS ((bfd_vma, disassemble_info*));
 extern int print_insn_tic80		PARAMS ((bfd_vma, disassemble_info*));
 extern int print_insn_pj		PARAMS ((bfd_vma, disassemble_info*));
+extern int print_insn_avr		PARAMS ((bfd_vma, disassemble_info*));
 
 extern void print_arm_disassembler_options PARAMS ((FILE *));
 extern void parse_arm_disassembler_option  PARAMS ((char *));
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog
index 5a683e1ee..e1f68c39b 100644
--- a/include/elf/ChangeLog
+++ b/include/elf/ChangeLog
@@ -1,3 +1,8 @@
+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,
diff --git a/include/elf/avr.h b/include/elf/avr.h
new file mode 100644
index 000000000..152745599
--- /dev/null
+++ b/include/elf/avr.h
@@ -0,0 +1,58 @@
+/* AVR ELF support for BFD.
+   Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+   Contributed by Denis Chertykov <denisc@overta.ru>
+
+This file is part of BFD, the Binary File Descriptor library.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation, Inc.,
+59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#ifndef _ELF_AVR_H
+#define _ELF_AVR_H
+
+#include "elf/reloc-macros.h"
+
+/* Processor specific flags for the ELF header e_flags field.  */
+#define EF_AVR_MACH 0xf
+
+#define E_AVR_MACH_AVR1 1
+#define E_AVR_MACH_AVR2 2
+#define E_AVR_MACH_AVR3 3
+#define E_AVR_MACH_AVR4 4
+
+/* Relocations.  */
+START_RELOC_NUMBERS (elf_avr_reloc_type)
+     RELOC_NUMBER (R_AVR_NONE,			0)
+     RELOC_NUMBER (R_AVR_32,			1)
+     RELOC_NUMBER (R_AVR_7_PCREL,		2)
+     RELOC_NUMBER (R_AVR_13_PCREL,		3)
+     RELOC_NUMBER (R_AVR_16, 			4)
+     RELOC_NUMBER (R_AVR_16_PM, 		5)
+     RELOC_NUMBER (R_AVR_LO8_LDI,		6)
+     RELOC_NUMBER (R_AVR_HI8_LDI,		7)
+     RELOC_NUMBER (R_AVR_HH8_LDI,		8)
+     RELOC_NUMBER (R_AVR_LO8_LDI_NEG,		9)
+     RELOC_NUMBER (R_AVR_HI8_LDI_NEG,	       10)
+     RELOC_NUMBER (R_AVR_HH8_LDI_NEG,	       11)
+     RELOC_NUMBER (R_AVR_LO8_LDI_PM,	       12)
+     RELOC_NUMBER (R_AVR_HI8_LDI_PM,	       13)
+     RELOC_NUMBER (R_AVR_HH8_LDI_PM,	       14)
+     RELOC_NUMBER (R_AVR_LO8_LDI_PM_NEG,       15)
+     RELOC_NUMBER (R_AVR_HI8_LDI_PM_NEG,       16)
+     RELOC_NUMBER (R_AVR_HH8_LDI_PM_NEG,       17)
+     RELOC_NUMBER (R_AVR_CALL,		       18)
+     EMPTY_RELOC  (R_AVR_max)
+END_RELOC_NUMBERS
+
+#endif /* _ELF_AVR_H */
diff --git a/include/elf/common.h b/include/elf/common.h
index 28804e037..fe8c2169d 100644
--- a/include/elf/common.h
+++ b/include/elf/common.h
@@ -189,6 +189,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 /* FR30 magic number - no EABI available.  */
 #define EM_CYGNUS_FR30		0x3330
 
+/* AVR magic number
+   Written in the absense of an ABI.  */
+#define EM_AVR			0x1057
+
 /* See the above comment before you add a new EM_* value here.  */
 
 /* Values for e_version */