2010-06-16 Joerg Wunsch <j.gnu@uriah.heep.sax.de> Released avr-libc-1.7.0. 2010-06-16 Joerg Wunsch <j.gnu@uriah.heep.sax.de> * configure.ac: Bump version date in preparation for releasing avr-libc 1.7.0. 2010-06-15 Eric B. Weddington <eric.weddington@atmel.com> Fix bug #30148. * include/avr/iox128a1.h: Rename HIRES.CTRL to HIRES.CTRLA. * NEWS: Add to fixed bug list. 2010-06-15 Eric B. Weddington <eric.weddington@atmel.com> * configure.ac: Change ATxemga32A4 from avrxmega3 to avrxmega2. * devtools/gen-avr-lib-tree.sh: Same. * doc/api/using-tools.dox: Same. 2010-06-14 Eric B. Weddington <eric.weddington@atmel.com> * LICENSE: Update copyright year. 2010-06-14 Eric B. Weddington <eric.weddington@atmel.com> * include/avr/pgmspace.h: Remove new features regarding new segments. Feature not yet ready. Correct comment. 2010-06-13 Joerg Wunsch <j.gnu@uriah.heep.sax.de> * include/avr/pgmspace.h: Remove the #error for architectures that don't support segmented progmem access. 2010-06-12 Eric B. Weddington <eric.weddington@atmel.com> Special thanks to Carlos Lamas and Jan Waclawek for contributing code in patch #6352 (that should've gotten in a long time ago). * libc/pmstring/Files.am: Add new files to list. * libc/pmstring/memcmp_PF.S: New file. * libc/pmstring/memcpy_PF.S: Same. * libc/pmstring/strcasecmp_PF.S: Same. * libc/pmstring/strcat_PF.S: Same. * libc/pmstring/strcmp_PF.S: Same. * libc/pmstring/strcpy_PF.S: Same. * libc/pmstring/strlcat_PF.S: Same. * libc/pmstring/strlcpy_PF.S: Same. * libc/pmstring/strlen_PF.S: Same. * libc/pmstring/strncasecmp_PF.S: Same. * libc/pmstring/strncat_PF.S: Same. * libc/pmstring/strncmp_PF.S: Same. * libc/pmstring/strncpy_PF.S: Same. * libc/pmstring/strnlen_PF.S: Same. * libc/pmstring/strstr_PF.S: Same. * include/avr/pgmspace.h: Add support for far program memory functions and macros. * NEWS: Add news items. 2010-06-11 Eric B. Weddington <eric.weddington@atmel.com> Atmel bug #11742. * include/avr/iox128a1u.h: Change EBI_CS_ASPACE* to EBI_CS_ASIZE*. * include/avr/iox128a1.h: Same. * include/avr/iox128a3.h: Same. * include/avr/iox128d3.h: Same. * include/avr/iox16a4.h: Same. * include/avr/iox16d4.h: Same. * include/avr/iox192a3.h: Same. * include/avr/iox192d3.h: Same. * include/avr/iox256a3.h: Same. * include/avr/iox256a3b.h: Same. * include/avr/iox256d3.h: Same. * include/avr/iox32a4.h: Same. * include/avr/iox32d4.h: Same. * include/avr/iox64a1.h: Same. * include/avr/iox64a1u.h: Same. * include/avr/iox64a3.h: Same. * include/avr/iox64d3.h: Same. 2010-06-11 Eric B. Weddington <eric.weddington@atmel.com> Atmel bug #11738. * include/avr/iox128d3.h (ADC_FLUSH_bm, ADC_ENABLE_bp): Add missing definitions. * include/avr/iox16d4.h: Same. * include/avr/iox192d3.h: Same. * include/avr/iox32d4.h: Same. * include/avr/iox64d3.h: Same. 2010-06-10 Joerg Wunsch <j.gnu@uriah.heep.sax.de> bug #30104: power.h - Missing "power_usart1_/enable/disable()" functions for ATmega644 * include/avr/power.h: Fix macros for ATmega644A/P/PA 2010-06-10 Joerg Wunsch <j.gnu@uriah.heep.sax.de> Submitted by Jan Waclawek: Document issues around compiler optimizations and code reordering * doc/api/optimize.dox: New file. * doc/api/doxygen.config.in: Add optimize.dox. * include/avr/cpufunc.h (_MemoryBarrier): xref to optim_code_reorder * include/avr/interrupt.h: (Ditto.) * include/util/atomic.h: (Ditto.) 2010-06-10 Joerg Wunsch <j.gnu@uriah.heep.sax.de> * doc/api/rel-method.dox: Adapt to our new release numbering scheme. 2010-06-10 Joerg Wunsch <j.gnu@uriah.heep.sax.de> * tests/simulate/avr/eeprom-1.c: Remove the old AT90S2313 simulator bug workaround, as the workaround doesn't work anymore now while the original code does. 2010-06-09 Eric B. Weddington <eric.weddington@atmel.com> Fix for bug #26767. * include/avr/iox256a3b.h: Added corrected names for GPIO registers. * include/avr/iox128a1.h: Same. * include/avr/iox128a3.h: Same. * include/avr/iox16a4.h: Same. * include/avr/iox16d4.h: Same. * include/avr/iox192a3.h: Same. * include/avr/iox256a3.h: Same. * include/avr/iox32a4.h: Same. * include/avr/iox64a1.h: Same. * include/avr/iox64a3.h: Same. 2010-06-09 Eric B. Weddington <eric.weddington@atmel.com> Fix for bug #28582. * include/avr/iox256a3b.h: Add 3 missing double-word registers. * NEWS: Add to fixed bugs list. 2010-06-09 Eric B. Weddington <eric.weddington@atmel.com> Fix for bug #29502. * include/avr/iox128a1.h (TC_EVACT_FRW_gc): Fix name to TC_EVACT_FRQ_gc. * NEWS: Add to fixed bugs list. 2010-06-09 Eric B. Weddington <eric.weddington@atmel.com> Fix for bug #29653. * include/avr/iousbxx2.h (PUD): Add bit definition. * NEWS: Add to fixed bugs list. 2010-06-09 Joerg Wunsch <j.gnu@uriah.heep.sax.de> Move some testscripts around. * tests/simulate/other/malloc-01.c -> tests/simulate/stdlib/malloc-8.c * tests/simulate/other/realloc-01.c -> tests/simulate/stdlib/realloc-3.c 2010-06-09 Joerg Wunsch <j.gnu@uriah.heep.sax.de> * libc/stdlib/malloc.c: Fix a bug introduced in r2131 that could cause the freelist to be discarded. 2010-06-09 Joerg Wunsch <j.gnu@uriah.heep.sax.de> * tests/simulate/other/realloc-01.c: Cut out some bits when compling for an AT90S8515 to avoid resource exhaustion (the ATmega128 version still contains everything). * tests/simulate/printf/sprintf-2.c: (Ditto.) * tests/simulate/printf/sprintf-3.c: (Ditto.) * tests/simulate/printf/sprintf-4.c: (Ditto.) * tests/simulate/scanf/sscanf-l.c: (Ditto.) * tests/simulate/scanf/sscanf_flt-fnn.c: (Ditto.) 2010-06-09 Joerg Wunsch <j.gnu@uriah.heep.sax.de> bug #28921: pointer to function > 128k flash * doc/api/faq.dox (faq_funcptr_gt128kib): Add entry describing that -mrelax is needed for the trampolines to work as designed. 2010-06-09 Joerg Wunsch <j.gnu@uriah.heep.sax.de> Submitted by Don Kinzer: bug #30018: Errors in include files * include/avr/iotn40.h: Fix stray characters in macro names. * include/avr/iom649p.h: (Ditto.) * include/avr/iom169pa.h: (Ditto.) 2010-06-08 Joerg Wunsch <j.gnu@uriah.heep.sax.de> Various documentation fixes, mostly cosmetic. * include/avr/cpufunc.h: Fix doc grouping. * include/util/delay_basic.h: Slightly reorder, so it actually generates documentation again. * doc/api/rel-method.dox: Update for our SVN repository. * doc/api/malloc.dox: Fix doxygen warning. * doc/api/tools-install.dox: (Ditto.) * doc/api/faq.dox: (Ditto.) 2010-06-08 Joerg Wunsch <j.gnu@uriah.heep.sax.de> bug #30085: memcpy_P on XMega does not clr NVM.CMD before copy * include/avr/pgmspace.h: Mention that for Xmega devices, these functions require NVM.CMD being set to 0x00. 2010-06-08 Joerg Wunsch <j.gnu@uriah.heep.sax.de> * include/avr/interrupt.h (cli, sei): Add a memory barrier, and cross-reference <util/atomic.h>. 2010-06-08 Joerg Wunsch <j.gnu@uriah.heep.sax.de> Implement new header file: <avr/cpufunc.h> * include/avr/cpufunc.h: New file. * include/avr/Makefile.am (avr_HEADERS): Add cpufunc.h. * doc/api/doxygen.config.in (INPUT): Add avr/cpufunc.h. 2010-06-08 Joerg Wunsch <j.gnu@uriah.heep.sax.de> Submitted by Bob Paddock: patch #6891: Add XMega software reset to the FAQ section on software reset * doc/api/faq.dox (faq_softreset): Mention the Xmega RST.CTRL method. 2010-06-08 Joerg Wunsch <j.gnu@uriah.heep.sax.de> Submitted by Ruwan Jayanetti: patch #6194: Twitest updated to handle larger EEPROM devices * doc/examples/twitest/twitest.c: Implement the WORD_ADDRESS_16BIT option. * doc/examples/twitest/twitest.dox: Document the new option. 2010-06-08 Joerg Wunsch <j.gnu@uriah.heep.sax.de> Submitted by Gerben van den Broeke: patch #6555: malloc improvement * libc/stdlib/malloc.c (malloc): Speed up reallocations. 2010-06-08 Joerg Wunsch <j.gnu@uriah.heep.sax.de> Submitted by Krzysztof Kosciuszkiewicz: patch #6690: Shorten calculation of dallas 1-wire crc * include/util/crc16.h (_crc_ibutton_update): no need to use the T flag bit to save bit 0 of the operand 2010-06-08 Joerg Wunsch <j.gnu@uriah.heep.sax.de> Submitted by Tero Sinervo: patch #6791: Minor fixes to stdio.h documentation * include/stdio.h: Fix spelling mistakes. 2010-06-08 Joerg Wunsch <j.gnu@uriah.heep.sax.de> Submitted by Heike C. Zimmerer: patch #6897: Allow <util/setbaud.h> to be used with assembler source * include/util/setbaud.h: Add assembler snippets (no UL suffix added to numbers) 2010-06-08 Joerg Wunsch <j.gnu@uriah.heep.sax.de> Add test scripts for <util/crc16.h> * tests/simulate/util/crc16-1.c: New file. * tests/simulate/util/crc16-2.c: (Ditto.) * tests/simulate/util/crc16-3.c: (Ditto.) * tests/simulate/util/crc16-4.c: (Ditto.) 2010-06-08 Joerg Wunsch <j.gnu@uriah.heep.sax.de> Submitted by Don Kinzer: bug #29950: ATtiny167 SPM_PAGESIZE Discrepancy * include/avr/iotn167.h: Bump SPM_PAGESIZE. 2010-06-07 Joerg Wunsch <j.gnu@uriah.heep.sax.de> bug #27235, malloc: Several things go wrong * libc/stdlib/malloc.c (malloc): Revert the patch from r2123, as it is no longer needed. * libc/stdlib/malloc.c (free): When freeing the topmost chunk of the heap, reduce __brkval again, returning the area from the heap entirely. * doc/api/malloc.dox: Mention that the heap is now reduced if possible. * tests/simulate/regression/bug-27242.c: Adapt testscript to match the new behaviour. * tests/simulate/stdlib/malloc-1.c: (Ditto.) * tests/simulate/stdlib/malloc-6.c: (Ditto.) * tests/simulate/stdlib/malloc-7.c: (Ditto.) * tests/simulate/stdlib/realloc-2.c: New file (test whether subsequent allocation does not extend the heap). * tests/simulate/regression/bug-28135.c: New file, another regression test (actual bugfix from bug #28135 is no longer needed) 2010-06-07 Joerg Wunsch <j.gnu@uriah.heep.sax.de> More testscripts: test free() works as expected. * tests/simulate/stdlib/malloc-5.c: New file. * tests/simulate/stdlib/malloc-6.c: (Ditto.) * tests/simulate/stdlib/malloc-7.c: (Ditto.) 2010-06-07 Joerg Wunsch <j.gnu@uriah.heep.sax.de> Submitted by Stefan Ernst: bug #27243: malloc: small error in comment * stdlib/malloc.c: Fix comment. 2010-06-07 Joerg Wunsch <j.gnu@uriah.heep.sax.de> Submitted by Aleksandar Kanchev: bug #27242: realloc: serious error when size shrinks * stdlib/realloc.c: Change freelist calculation. * tests/simulate/regression/bug-27242.c: New file. 2010-06-07 Joerg Wunsch <j.gnu@uriah.heep.sax.de> * tests/simulate/stdlib/malloc-4.c: New file. 2010-06-04 Joerg Wunsch <j.gnu@uriah.heep.sax.de> Patch submitted by Stefan Ernst: patch #6895: Improved malloc behaviour when expanding used area bug #27235: malloc: Several things go wrong (part 1) * stdlib/malloc.c: Improve allocation strategy. * tests/simulate/regression/bug-27235-1.c: New file. 2010-06-04 Joerg Wunsch <j.gnu@uriah.heep.sax.de> Add some initial malloc and realloc tests to test suite. * tests/simulate/stdlib/malloc-1.c: New file. * tests/simulate/stdlib/malloc-2.c: (Ditto.) * tests/simulate/stdlib/malloc-3.c: (Ditto.) * tests/simulate/stdlib/realloc-1.c: (Ditto.) 2010-04-16 Anitha Boyapati <anitha.boyapati@atmel.com> Fix bug #28574. * include/avr/iox128d3.h - Modify EVSYS_t and ADC_t structures to include reserved registers. * include/avr/iox16d4.h - Same. * include/avr/iox192d3.h - Same. * include/avr/iox256d3.h - Same. * include/avr/iox32d4.h - Same. * include/avr/iox64d3.h - Same. 2010-04-12 Joerg Wunsch <j.gnu@uriah.heep.sax.de> * configure.ac (CHECK_BUILTIN_DELAY_CYCLES): Reimplement as a compiler + grep pipeline rather than through AC_LINK_IFELSE, as we cannot rely on a working linker while building the library. 2010-04-12 Joerg Wunsch <j.gnu@uriah.heep.sax.de> * devtools/gen-avr-lib-tree.sh: Fix directory name for ATxmega64A1U. 2010-04-06 Anitha Boyapati <anitha.boyapati@atmel.com> Fix bug #28584. * include/avr/iocanxx.h - Add word definitions CANIE and CANEN. 2010-04-06 Anitha Boyapati <anitha.boyapati@atmel.com> Fix bug #28627. * include/avr/power.h - ATmega32U2 defined for clock_prescale_set. 2010-04-06 Anitha Boyapati <anitha.boyapati@atmel.com> Fix bug #28901. * include/avr/iox128a1.h - Removed GPIO and CPU memory map entries. * include/avr/iox128a1u.h - Same. * include/avr/iox128a3.h - Same. * include/avr/iox128d3.h - Same. * include/avr/iox16a4.h - Same. * include/avr/iox16d4.h - Same. * include/avr/iox192a3.h - Same. * include/avr/iox192d3.h - Same. * include/avr/iox256a3.h - Same. * include/avr/iox256a3b.h - Same. * include/avr/iox256d3.h - Same. * include/avr/iox32a4.h - Same. * include/avr/iox32d4.h - Same. * include/avr/iox64a1.h - Same. * include/avr/iox64a3.h - Same. * include/avr/iox64d3.h - Same. 2010-04-05 Eric B. Weddington <eric.weddington@atmel.com> Fix for bug #27367. * include/avr/iom8.h: Add RAMSTART definition. * include/avr/iom16.h: Same. * include/avr/iom32.h: Same. * include/avr/iom164.h: Same. * include/avr/iom324.h: Same. * include/avr/iom644.h: Same. * include/avr/iom644p.h: Same. * include/avr/iom328p.h: Same. * include/avr/iom48.h: Same. * include/avr/iom48p.h: Same. * include/avr/iom88.h: Same. * include/avr/iom88p.h: Same. * include/avr/iom168.h: Same. * include/avr/iom168p.h: Same. * include/avr/iom325.h: Same. * include/avr/iom645.h: Same. * include/avr/iom3250.h: Same. * include/avr/iom6450.h: Same. * include/avr/iotn2313.h: Same. * include/avr/iom8515.h: Same. * include/avr/iom8535.h: Same. * include/avr/iotn13.h: Same. * include/avr/iotn24.h: Same. * include/avr/iotn25.h: Same. * include/avr/iotn44.h: Same. * include/avr/iotn45.h: Same. * include/avr/iotn84.h: Same. * include/avr/iotn85.h: Same. * include/avr/iotn261.h: Same. * include/avr/iotn461.h: Same. * include/avr/iotn861.h: Same. * include/avr/iotn88.h: Same. * include/avr/iotn48.h: Same. * include/avr/iom1281.h: Same. * include/avr/iom1284p.h: Same. * NEW: Add to fixed bug list. 2010-03-30 Eric B. Weddington <eric.weddington@atmel.com> * crt1/gcrt1.S: Add more interrupt vectors to cover the ATxmega128A1U device. 2010-03-30 Eric B. Weddington <eric.weddington@atmel.com> * xml/avrgcc-header: Modify XMEGA portion of script to not generate CPU and GPIO definitions that include references to non-existent structures. This is a partial fix for bug #28901, for future header files. 2010-03-28 Eric B. Weddington <eric.weddington@atmel.com> Add support for new device: m3000. * configure.ac: Add support for new device. * devtools/gen-avr-lib-tree.sh: Same. * include/avr/io.h: Same. * doc/api/main_page.dox: Same. * doc/api/using-tools.dox: Same. * include/avr/iom3000.h: New file. * NEWS: Add news item. 2010-03-28 Eric B. Weddington <eric.weddington@atmel.com> Add support for new devices: attiny84a, atmega325a, atmega3250a, atmega329a, atmega3290a. * configure.ac: Add support for new devices. * devtools/gen-avr-lib-tree.sh: Same. * include/avr/io.h: Same. * doc/api/main_page.dox: Same. * doc/api/using-tools.dox: Same. * include/avr/power.h: Same. * include/avr/wdt.h: Same. * include/avr/sleep.h: Same. * include/avr/eeprom.h: Same. * NEWS: Add news item. 2010-03-25 Eric B. Weddington <eric.weddington@atmel.com> Add support for new architecture: avrtiny10. Add support for new devices: attiny4, attiny5, attiny9, attiny10, attiny20, attiny40. * configure.ac: Add support for new devices. * devtools/gen-avr-lib-tree.sh: Same. * include/avr/Makefile.am: Same. * include/avr/io.h: Same. * doc/api/main_page.dox: Same. * doc/api/using-tools.dox: Same. * include/avr/power.h: Same. * include/avr/sleep.h: Same. * NEWS: Add news item. 2010-03-25 Eric B. Weddington <eric.weddington@atmel.com> Add support for new devices: ATxmega128A1U, ATxmega64A1U. * configure.ac: Add support for new devices. * devtools/gen-avr-lib-tree.sh: Same. * include/avr/Makefile.am: Same. * include/avr/io.h: Same. * doc/api/main_page.dox: Same. * doc/api/using-tools.dox: Same. * include/avr/power.h: Same. * include/avr/wdt.h: Same. * include/avr/sleep.h: Same. * include/avr/eeprom.h: Same. * NEWS: Add news item. 2010-03-22 Eric B. Weddington <eric.weddington@atmel.com> * include/avr/iox64a1u.h: New file. 2010-03-20 Eric B. Weddington <eric.weddington@atmel.com> * include/avr/fuse.h: Add definition of FUSES for XMEGA devices. * include/avr/iox128a1u.h: Regenerate file. New definitions, corrections. 2010-03-19 Eric B. Weddington <eric.weddington@atmel.com> * include/avr/iotn20.h: New file. * include/avr/iotn40.h: New file. 2010-03-17 Joerg Wunsch <j.gnu@uriah.heep.sax.de> Probe the compiler for the availability of the __builtin_avr_delay_cycles() function, and modify the header files <util/delay.h> and <avr/builtins.h> appropriately. Note that the modification is done by setting __HAS_DELAY_CYCLES on top of those files, which has been left overridable from the compiler environment (i.e., commandline -D option) on purpose. Note also that _delay_us() and _delay_ms() can only use __builtin_avr_delay_cycles() if optimization is enabled as they'd otherwise try to pass a floating-point argument to it which is not allowed. (The compiler does not seem to be able to convert it into an unsigned long internally, not even with a type cast.) However, not enabling optimization for them yields garbage timing anyway, due to moving the compile-time constant floating-point calculations from the compiler into the AVR. * configure.ac: Add detection of __builtin_avr_delay_cycles * include/util/delay.h.in: repocopied from delay.h * include/util/Makefile.am: added delay.h.in * include/avr/builtins.h.in: New file. * include/avr/Makefile.am: added builtins.h.in 2010-03-11 Eric B. Weddington <eric.weddington@atmel.com> Fix bug #28575. * include/avr/iousb162.h (LFUSE_DEFAULT, HFUSE_DEFAULT, EFUSE_DEFAULT): Fix definition. * include/avr/iousb82.h: Same. * include/avr/iousb647.h: Same. * include/avr/iousb646.h: Same. * NEWS: Add to fixed bug list. 2010-03-11 Eric B. Weddington <eric.weddington@atmel.com> Fix bug #28812. * include/avr/iotn48.h: Fix values of TWS3-7. * NEWS: Add to fixed bug list. 2010-02-03 Joerg Wunsch <j.gnu@uriah.heep.sax.de> bug #28756: Bug in AVR libc 1.6.7 (power.h for 8-bit AVR) * include/avr/power.h (clock_prescale_set): Implement as an inline function rather than a macro so it syntactically becomes a true function. 2010-01-22 Eric B. Weddington <eric.weddington@atmel.com> * include/avr/iox128a1u.h: Add new file. 2010-01-21 Joerg Wunsch <j.gnu@uriah.heep.sax.de> bug #28688: using_tools.dox fails to build due to extra underscore * doc/api/Makefile.am: added logic to detect which filename doxygen did generate; while being here, fix the table layout as well 2010-01-20 Eric B. Weddington <eric.weddington@atmel.com> Rotate ChangeLogs. * ChangeLog-2009: New file. * ChangeLog: Clear for 2010. * Makefile.am (EXTRA_DIST): Add ChangeLog-2009. For older changes see ChangeLog-2009