2007-05-14 Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* Released avr-libc 1.4.6.

2007-05-14 Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* configure.ac: bump version.

2007-05-14 Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* doc/api/rel-method.dox: configure.in -> configure.ac
	* xml/Atmel2libc.py: Catch (and ignore) errors resulting from
	empty IO register declarations in the Atmel files, as e.g. for
	MCUCR in AT86RF401.
	* xml/patch-headers.py: Add all the new devices we do support
	now.
	* doc/api/vectortable.dox: Regenerate.
	* doc/api/Makefile.am: add vectortable.dox.
	* include/avr/iotnx4.h: Sigh.  AVR Studio 4.13 gratuitously
	renamed a number of interrupt vectors for ATtinyX4 devices.
	Add these new declarations along with the older ones.

2007-05-14 Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* common/Makefile.am: add asmdef.h so "make distcheck" will work
	again

2007-05-13 Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Fix bug #19009: Make <util/delay.h> issue a warning when optimizations
	are turned off
	* include/util/delay.h: Split the basic delay functions off into
	<util/delay_basic.h>; issue a warning when this file is compiled
	without optimization.
	* include/util/delay_basic.h: (New file.)
	* include/util/Makefile.am: add delay_basic.h

2007-05-13  Anatoly Sokolov <aesok@post.ru>

	* include/avr/iousbxx6_7.h: Change PORTxy to Pxy.

2007-05-13 Anatoly Sokolov <aesok@post.ru>

	* configure.ac: Add tests for the ATmega8HVA/16HVA support.
	* devtools/gen-avr-lib-tree.sh: Add support for ATmega8HVA/16HVA.
	* include/avr/io.h: (Ditto.).
	* include/avr/wdt.h: (Ditto.).
	* include/avr/iom8hva.h: New file.
	* include/avr/iom16hva.h: New file.
	* include/avr/iomxxhva.h: New file.
	* include/avr/Makefile.am: Include new files.
	* doc/api/main_page.dox: Document support for ATmega8HVA/16HVA.
	* doc/api/using-tools.dox: (Ditto.)

2007-05-12  Anatoly Sokolov <aesok@post.ru>

	* include/avr/iousbxx2.h: Change PORTxy to Pxy.

2007-05-11  Anatoly Sokolov <aesok@post.ru>

	* configure.ac: Add 'avr25' architecture.
	* devtools/gen-avr-lib-tree.sh (AVR_ARH_INFO): Ditto.
	(AVR25_DEV_INFO): New.
	* doc/api/using-tools.dox: Document 'avr25'.

2007-05-09 Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Fix bug #19445: _malloc_heap_end does not follow _heap_end on m2561
	* doc/api/malloc-std.fig: Clearly distinguish library-internal
	variables from absolute symbols added by the linker.
	* doc/api/malloc-x1.fig: (Ditto.)
	* doc/api/malloc-x2.fig: (Ditto.)

2007-05-09 Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Fix bug #19841: Error building 1.4 HEAD: undefined reference to 'exit'
	* doc/api/Makefile.am (DEMO_LIBS): add exit.o to the list of files to
	link the demo against.

2007-05-08 Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Fix bug #19050: gcrt1.S should call main rather than jumping to it
	* crt1/gcrt1.S: call main() rather than jumping to it, and then
	jump to exit().

2007-05-06  Eric B. Weddington <eweddington@cso.atmel.com>

	Fix bug #19666:
	* include/avr/io90pwmx.h: Add ADHSM, ADTS3 bits to the ADCSRB register.

2007-05-05  Eric B. Weddington <eweddington@cso.atmel.com>

	* doc/examples/asmdemo/asmdemo.dox: Fix HTML code in source code links.

2007-05-05  Eric B. Weddington <eweddington@cso.atmel.com>

	Fix bug #19495.
	* include/avr/interrupt.h: Fix doxygen stuff, whitespace, remove unused
	C++ stuff at the end.
	* NEWS: Update bugs fixed.

2007-05-02  Eric B. Weddington <eweddington@cso.atmel.com>

	* doc/api/overview.dox: Fix typos, grammar, names.
	* doc/api/inline_asm.dox: Expand title name back to the original title.

2007-04-27  Anatoly Sokolov <aesok@post.ru>

	* configure.ac: Move AT90USB82 device to 'avr5' architecture.
	* devtools/gen-avr-lib-tree.sh: (Ditto.).
	* doc/api/using-tools.dox: (Ditto.).
	* include/avr/iousbxx2.h (_VECTORS_SIZE): Redefine for AT90USB82.

2007-04-21 Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* include/avr/io90pwm3.h: Change bit 2 of PLLCSR from
	PCKE to PLLF.
	Fixes savannah bug #19650: avr-libc: wrong named bit in SFR of AT90PWMx

2007-04-05  Eric B. Weddington <eweddington@cso.atmel.com>

	* doc/api/malloc.dox: Change title and reorder sentences in Introduction.

2007-03-31  Dmitry Xmelkov  <dmix@gmail.ru>

	Sync pmstring functions with MAIN branch.

	* libc/pmstring/memchr_P.S: New file.
	* libc/pmstring/memrchr_P.S: New file.
	* libc/pmstring/strchrnul_P.S: New file.
	* libc/pmstring/strcspn_P.S: New file.
	* libc/pmstring/strpbrk_P.S: New file.
	* libc/pmstring/strrchr_P.S: New file.
	* libc/pmstring/strsep_P.S: New file.
	* libc/pmstring/strspn_P.S: New file.

	* include/avr/pgmspace.h: Add new functions: memchr_P(), memmem_P(),
	memrchr_P(), strchrnul_P(), strcasestr_P(), strcspn_P(), strpbrk_P(),
	strrchr_P(), strsep_P(), strspn_P().
	* libc/pmstring/Files.am: Add new sources: memchr_P.S, memrchr_P.S,
	strchrnul_P.S, strcspn_P.S, strpbrk_P.S, strrchr_P.S, strsep_P.S,
	strspn_P.S

	* libc/pmstring/strstr_P.S: Optimize: reduce size by 1..2 words.

	* libc/pmstring/memcmp_P.S: Cosmetic improvement of DOXYGEN comment.
	* libc/pmstring/strcasecmp_P.S: (Ditto.)
	* libc/pmstring/strchr_P.S: (Ditto.)
	* libc/pmstring/strcmp_P.S: (Ditto.)
	* libc/pmstring/strncasecmp_P.S: (Ditto.)

2007-03-31  Dmitry Xmelkov  <dmix@gmail.ru>

	Sync string functions with MAIN branch.

	* common/asmdef.h: New file.
	* libc/string/memmem.S: New file.
	* libc/string/memmem_P.S: New file.
	* libc/string/memrchr.S: New file.
	* libc/string/strcasestr.S: New file.
	* libc/string/strcasestr_P.S: New file.
	* libc/string/strchrnul.S: New file.
	* libc/string/strcspn.S: New file.
	* libc/string/strpbrk.S: New file.
	* libc/string/strspn.S: New file.

	* include/string.h: Add new functions: memmem(), memrchr(),
	strchrnul(), strcasestr(), strcspn(), strpbrk(), strspn().
	* libc/string/Files.am: Add new sources: memmem.S, memmem_P.S,
	memrchr.S, strcasestr.S, strcasestr_P.S, strchrnul.S, strcspn.S,
	strpbrk.S, strspn.S .

	* libc/string/strlwr.S: Optimize size and speed.
	* libc/string/strrev.S: Optimize speed for strings 4 bytes long
	and more. Size is the same.
	* libc/string/strsep.S: Optimize size and speed. Correct DOXYGEN.
	* libc/string/strstr.S: Optimize: reduce size by 1..2 words.
	* libc/string/strupr.S: Optimize size and speed.

	* libc/string/strcasecmp.S: Cosmetic improvement of DOXYGEN comment.
	* libc/string/strncasecmp.S: (Ditto.)
	* libc/string/strchr.S: (Ditto.)
	* libc/string/strcmp.S: (Ditto.)

2007-03-30  Eric B. Weddington <eweddington@cso.atmel.com>

	* include/avr/io2343.h: Add missing bit definitions for MCUSR.
	Fixes WinAVR feature request #1657218.

2007-03-30  Dmitry Xmelkov  <dmix@gmail.ru>

	* libc/stdlib/ctype.S: Fix bug #19281: isblank('\v') return TRUE:
	mismatch to C99

2007-03-29  Eric B. Weddington <eweddington@cso.atmel.com>

	* doc/api/doxygen.config.in (INPUT): Add new file to list. Reorder list.
	* doc/api/pgmspace.dox (new file): New chapter. Data in Program Space.
	* doc/api/library.dox (new file): New chapter. How to Create a Library.
	* doc/api/porting.dox: Rewrote the introduction for better flow.
	* doc/api/Makefile.am (EXTRA_DIST): Add new .dox file.
	* include/avr/pgmspace.h: Change title of documentation.
	* doc/api/interrupts.dox: Fix typo. Add missing 3rd clause to license.

2007-03-28  Eric B. Weddington <eweddington@cso.atmel.com>

	* doc/api/doxygen.config.in (INPUT): Add new file to list. Reorder.
	* doc/api/overview.dox (new file): New chapter. Overview of toolchain.
	* doc/api/Makefile.am (EXTRA_DIST): Add the two new .dox files.

2007-03-28 Anatoly Sokolov <aesok@post.ru>

	* configure.ac: Add tests for the AT90USB82/162 support.
	* devtools/gen-avr-lib-tree.sh: Add support for AT90USB82/162.
	* include/avr/io.h: (Ditto.).
	* include/avr/wdt.h: (Ditto.).
	* include/avr/iousb82.h: New file.
	* include/avr/iousb162.h: New file.
	* include/avr/iousbxx2.h: New file.
	* include/avr/Makefile.am: Include new files.
	* doc/api/main_page.dox: Document support for AT90USB82/162.
	* doc/api/using-tools.dox: (Ditto.)

2007-03-26  Eric B. Weddington <eweddington@cso.atmel.com>

	* doc/api/doxygen.config.in (INPUT): Change order of documentation pages.
	* doc/api/dox_html_header: Change order of header links. Change
	Additional Documentation to User Manual.
	* doc/api/porting.dox (new file): New chapter. Porting from IAR to AVR GCC.
	Adapted, with permission, from a document written by Eivind Sivertsen.

2007-03-25  Dmitry Xmelkov  <dmix@gmail.ru>

	Fix bug #19280: snprintf(s,0,fmt,...) write to foreign memory: s[-1]
	* libc/stdio/snprintf.c: Add check of 'f.size >= 0' before writing
	of terminating zero. Use f.len as number of output symbols. Remove
	include of "stdio_private.h" as noused (after moving FILE decl.).
	* libc/stdio/snprintf_p.c: (Ditto.)
	* libc/stdio/vsnprintf.c: (Ditto.)
	* libc/stdio/vsnprintf_p.c: (Ditto.)

	* libc/stdlib/atoi.S: Fix bug #18899: atoi and atol do not handle
	vertical tab properly. Reduce program size considarably.
	* libc/stdlib/atol.S: (Ditto.)

	Enable use an asm variant of atol(). Correct docs.
	* include/stdlib.h (atol): Change the definition of function:
	instead to define inline code which use strtol(), now it is a
	normal definition of external function. Correct the DOXYGEN comment.
	* include/stdlib.h (atoi): Correct the DOXYGEN comment, delete
	a conditional define for DOXYGEN specially.

2007-02-26  Dmitry Xmelkov  <dmix@gmail.ru>

	* libc/pmstring/memcmp_P.S: Fix DOXYGEN comment.
	* libc/pmstring/strchr_P.S: (Ditto.)

2007-02-25  Dmitry Xmelkov  <dmix@gmail.ru>

	* bootstrap: Version 2.60 for autoconf is added.

	* libc/pmstring/memcmp_P.S: New file.
	* libc/pmstring/strchr_P.S: New file.
	* include/avr/pgmspace.h: Add new functions: memcmp_P(), strchr_P().
	* libc/pmstring/Files.am: Add new source files memcmp_P.S, strchr_P.S

	* libc/string/strcasecmp.S: Fix bug #19134: strcasecmp(): result
	sign is not changed by swaping args.
	* libc/string/strncasecmp.S: (Ditto.)
	* libc/pmstring/strcasecmp_P.S: (Ditto.)
	* libc/pmstring/strncasecmp_P.S: (Ditto.)

	* libc/string/strstr.S: Fix bug #19135: strstr(): `needle' is not
	always founded. Optimize code.
	* libc/pmstring/strstr_P.S: (Ditto.)

	* libc/string/strcmp.S: Optimize by 1 word.
	* libc/pmstring/strcmp_P.S: Optimize by 1 word.

	* libc/string/strchr.S: Reduce program size by 1 word.

2007-02-24  Anatoly Sokolov <aesok@post.ru>

	* include/avr/iomxx4.h (SPCR0, SPSR0, SPDR0, SPIE0, SPE0, DORD0, 
	MSTR0, CPOL0, CPHA0, SPR01, SPR00, SPIF0, WCOL0, SPI2X0): Rename 
	to SPCR, SPSR, SPDR, SPIE, SPE, DORD, MSTR, CPOL, CPHA, SPR1, SPR0,
	SPIF, WCOL, SPI2X.
	(PRR): Define.
	Closes bug #18903: ATmega644 register definitions for SPI and 
	PRR (datasheet vs. iom*.h)

2007-02-24 Anatoly Sokolov <aesok@post.ru>

	* configure.ac: Add tests for the ATmega325P, ATmega3250P and 
	ATmega329P support.
	* devtools/gen-avr-lib-tree.sh: Add support for ATmega325P, 
	ATmega3250P and ATmega329P devices.
	* include/avr/io.h: (Ditto.).
	* include/avr/wdt.h: (Ditto.).
	* include/avr/iom325.h (BODSE, BODS): Define for ATMega325P.
	* include/avr/iom3250.h (BODSE, BODS): Define for ATMega3250P.
	* include/avr/iom329.h (BODSE, BODS, LCDCCD, LCDBD, LCDMDT): Define
	for ATMega3290P.
	* doc/api/main_page.dox: Document support for ATmega325P, ATmega3250P
	and ATmega329P devices.
	* doc/api/using-tools.dox: (Ditto.)

2007-02-18  Anatoly Sokolov <aesok@post.ru>

	* include/avr/iotnx61.h (PCMSK0): Set address to 0x23.
	(PCMSK1): Set address to 0x22.
	Fix bug #19060: PCMSKx registers transposed in header for attinyX61

2007-02-05 Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* doc/api/faq.dox: Add some explanation how to convert raw binary
	data so they can be linked into the image.

2007-02-03  Anatoly Sokolov <aesok@post.ru>

	* include/avr/iotnx61.h (WGM00, PWM1X) Define.
	Closes bug #18915: PWM1X Bit missing for ATtiny261/461/861

2007-01-30  Anatoly Sokolov <aesok@post.ru>

	* doc/api/using-tools.dox: Document GCC macros.

2007-01-27  Anatoly Sokolov <aesok@post.ru>

	* include/avr/iom3290.h (BODSE, BODS, LCDCCD, LCDBD, LCDMDT): Define
	for ATMega3290P.
	* include/avr/iom3290p.h: Delete.
	* include/avr/Makefile.am (avr_HEADERS): Delete iom3290p.h.
	* include/avr/io.h: Include iom3290.h instead iom3290p.h.

2007-01-23 Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* include/assert.h: Add \file doxygen directive.
	* include/ctype.h: (Ditto.)
	* include/errno.h: (Ditto.)
	* include/inttypes.h: (Ditto.)
	* include/math.h: (Ditto.)
	* include/setjmp.h: (Ditto.)
	* include/stdint.h: (Ditto.)
	* include/stdio.h: (Ditto.)
	* include/stdlib.h: (Ditto.)
	* include/string.h: (Ditto.)
	* include/avr/boot.h: (Ditto.)
	* include/avr/eeprom.h: (Ditto.)
	* include/avr/interrupt.h: (Ditto.)
	* include/avr/io.h: (Ditto.)
	* include/avr/pgmspace.h: (Ditto.)
	* include/avr/power.h: (Ditto.)
	* include/avr/sleep.h: (Ditto.)
	* include/avr/wdt.h: (Ditto.)
	* include/util/crc16.h: (Ditto.)
	* include/util/delay.h: (Ditto.)
	* include/util/parity.h: (Ditto.)
	* include/util/twi.h: (Ditto.)
	* libc/pmstring/memcpy_P.S: (Ditto.)
	* libc/pmstring/strcasecmp_P.S: (Ditto.)
	* libc/pmstring/strcat_P.S: (Ditto.)
	* libc/pmstring/strcmp_P.S: (Ditto.)
	* libc/pmstring/strcpy_P.S: (Ditto.)
	* libc/pmstring/strlcat_P.S: (Ditto.)
	* libc/pmstring/strlcpy_P.S: (Ditto.)
	* libc/pmstring/strlen_P.S: (Ditto.)
	* libc/pmstring/strncasecmp_P.S: (Ditto.)
	* libc/pmstring/strncat_P.S: (Ditto.)
	* libc/pmstring/strncmp_P.S: (Ditto.)
	* libc/pmstring/strncpy_P.S: (Ditto.)
	* libc/pmstring/strnlen_P.S: (Ditto.)
	* libc/pmstring/strstr_P.S: (Ditto.)
	* libc/stdio/fdevopen.c: (Ditto.)
	* libc/stdlib/atoi.S: (Ditto.)
	* libc/stdlib/atol.S: (Ditto.)
	* libc/string/ffs.S: (Ditto.)
	* libc/string/ffsl.S: (Ditto.)
	* libc/string/ffsll.S: (Ditto.)
	* libc/string/memccpy.S: (Ditto.)
	* libc/string/memchr.S: (Ditto.)
	* libc/string/memcmp.S: (Ditto.)
	* libc/string/memcpy.S: (Ditto.)
	* libc/string/memmove.S: (Ditto.)
	* libc/string/memset.S: (Ditto.)
	* libc/string/strcasecmp.S: (Ditto.)
	* libc/string/strcat.S: (Ditto.)
	* libc/string/strchr.S: (Ditto.)
	* libc/string/strcmp.S: (Ditto.)
	* libc/string/strcpy.S: (Ditto.)
	* libc/string/strlcat.S: (Ditto.)
	* libc/string/strlcpy.S: (Ditto.)
	* libc/string/strlen.S: (Ditto.)
	* libc/string/strlwr.S: (Ditto.)
	* libc/string/strncasecmp.S: (Ditto.)
	* libc/string/strncat.S: (Ditto.)
	* libc/string/strncmp.S: (Ditto.)
	* libc/string/strncpy.S: (Ditto.)
	* libc/string/strnlen.S: (Ditto.)
	* libc/string/strrchr.S: (Ditto.)
	* libc/string/strrev.S: (Ditto.)
	* libc/string/strsep.S: (Ditto.)
	* libc/string/strstr.S: (Ditto.)
	* libc/string/strtok_r.S: (Ditto.)
	* libc/string/strupr.S: (Ditto.)
	* doc/api/dox_html_header: Include reference to alphabetical
	globals list, collected from all files that have \file.
	* doc/api/dox.css: Update for doxygen version 1.4.7.

2007-01-23 Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Various documentation fixes.
	* xml/patch-headers.py: Update for new devices.
	* doc/api/vectortable.dox: Regenerate from patch-headers.py.
	Closes bug #18686: AT90USB**** devices are absent in
	interrupt-verctor-names table
	* include/stdlib.h: Fix doxygen generation for dtostr*()
	functions.
	Closes bug #18726: the dtostrf function description is missing
	in AVR-Libc's webpage
	* doc/api/faq.dox: Resolve some doxygen warnings.
	* doc/examples/asmdemo/asmdemo.dox: (Ditto.)
	* doc/examples/demo/demo.dox: (Ditto.)

2007-01-23 Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Cosmetic/white space change only:
	* include/avr/iocanxx.h: Regenerate vector table from script.
	* include/avr/iom406.h: (Ditto.)
	* include/avr/iomxx4.h: (Ditto.)
	* include/avr/iotn2313.h: (Ditto.)
	* include/avr/iousbxx6_7.h: (Ditto.)

2007-01-23 Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* LICENSE: Update copyright year.
	* doc/api/main_page.dox: Include copyright notice into
	documentation.

2007-01-21 Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* include/avr/iomxx4.h: Clarify a confusing comment that all the
	picopower devices covered by this file feature a second USART.

2007-01-19 Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* doc/examples/largedemo/largedemo.c: Port the "largedemo" to
	the ATtiny2313.
	* doc/examples/largedemo/largedemo.dox: Describe the ATtiny2313
	port.
	* doc/examples/largedemo/Makefile: Add a MCU_TARGET hint for
	the ATtiny2313.

2007-01-18 Anatoly Sokolov <aesok@post.ru>

	* common/macros.inc (__AVR_HAVE_MUL__): Define.
	* libc/misc/mul10.S (__mulhi_const_10): Use __AVR_HAVE_MUL__ instead
	of __AVR_ENHANCED__.

2007-01-14 Anatoly Sokolov <aesok@post.ru>

	* configure.ac: Add tests for the AT90PWM1 support.
	* devtools/gen-avr-lib-tree.sh: Add support for AT90PWM1 device.
	* include/avr/io.h: (Ditto.).
	* include/avr/wdt.h: (Ditto.).
	* include/avr/io90pwm1.h: new file.
	* include/avr/Makefile.am: include new file.
	* doc/api/main_page.dox: Document support for AT90PWM1 device.
	* doc/api/using-tools.dox: (Ditto.)

2007-01-14 Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Submitted by Robert Schiele:
	* include/stdint.h: Exclude 64-bit types when -mint8 is in effect.
	* include/avr/pgmspace.h: (Ditto.)

2007-01-08 Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* include/avr/boot.h (boot_lock_bits_set): Fix a typo: BLB11 needs
	to be programmed (rather than BLB12) in order to prevent the
	application from overwriting the boot loader section.
	Closes bug #18115: online documentation typo/bug avr/boot.h

2007-01-08 Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	* include/stdio.h: Document that malloc() is no longer needed for
	floating-point conversions as it once used to be.
	Closes bug #18688: vfscanf and vfprintf don't use malloc

2007-01-08 Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Fix broken seeding of the PRNGs when seeding with 0.
	This fix is courtesy Andrew Chernov from the FreeBSD
	project (rev. 1.21 of their random.c).
	* libc/stdlib/random.c (do_random): seed with another (arbitrary) value
	when attempting to seed with 0.
	* libc/stdlib/rand.c (do_rand): (Ditto.)
	Closes bug #18662: rand() keeps returning the same value if seeded with 0

2007-01-01 Joerg Wunsch <j.gnu@uriah.heep.sax.de>

	Fix breakage for strtod() on avr6 architectures caused
	by calling __prologue_saves__.
	Fixes bug #18509: strtod.S crashes due to stack problem with atmega
	2560
	* libm/fplib/strtod.S: pop and restore EIND from the stack before
	calling __prologue_saves__ on 3-byte PC AVR architectures.
	* include/avr/io.h: Provide a value for EIND when compiling the
	library for an avr6 architecture.
	* include/avr/iomxx0_1.h: Protect the EIND definition from appearing
	twice in while compiling the library for an avr6 architecture.

For older changes see ChangeLog-2006
