12007-12-29 Dmitry Xmelkov <dmix@gmail.ru> 2 3 * include/avr/pgmspace.h: Add '__' prefix with function args. 4 52007-12-23 Dmitry Xmelkov <dmix@gmail.ru> 6 7 Fix bug #21872: __floatunsisf/undisf incorrectly named 8 * libm/fplib/floatsisf.S: Rename __floatunssisf --> __floatunsisf 9 * libc/stdlib/strtod.c: Ditto. Add the preprocessing to exclude 10 manual conversion with GCC >= 4.2 11 * libm/fplib/floatunsdisf.S: Move to floatundisf.S . 12 * libm/fplib/floatundisf.S: New file: __floatunsdisf --> __floatundisf 13 * libm/fplib/Files.am: Change source file name. 14 * tests/simulate/fplib/ulng2flt-01.c: __floatunssisf --> __floatunsisf 15 * tests/simulate/fplib/unll2flt-01.c: __floatunsdisf --> __floatundisf 16 * tests/simulate/regression/bug-21872-1.c: New file. 17 * tests/simulate/regression/bug-21872-2.c: New file. 18 * NEWS: Note about this bug. 19 20 * tests/simulate/progmem.h: Simplify pgm_read_qword() evaluation. 21 222007-12-20 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 23 24 bug #21862: File 'bench-libm.dox' does not exist in distribution 25 * doc/api/Makefile.am (EXTRA_DIST): add doc/api/bench-libm.dox. 26 272007-12-20 Anatoly Sokolov <aesok@post.ru> 28 29 * configure.ac: Add 'avr35' architecture. Move AT90USB82 and 30 AT90USB162 devices to 'avr35' architecture. 31 * devtools/gen-avr-lib-tree.sh (AVR_ARH_INFO): Add 'avr35' 32 architecture. 33 (AVR3_DEV_INFO): Add AT90USB82 and AT90USB162 devices. 34 (AVR35_DEV_INFO): New. 35 (AVR5_DEV_INFO): Remove AT90USB82 and AT90USB162 devices. 36 * doc/api/using-tools.dox: Document 'avr35'. 37 382007-12-20 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 39 40 * NEWS: avr-libc 1.6 branched 41 * configure.ac: bump to 1.7.0-20071220 42 432007-12-20 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 44 45 * xml/patch-headers.py: Update for new devices and header files. 46 * xml/Atmel2libc.py: More tweaks for strange Atmel XML files. 47 * doc/api/vectortable.dox: Regenerate from XML. 48 492007-12-20 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 50 51 * doc/api/bench.dox: Some minor spelling and grammar fixes to 52 Dmitry's fine benchmark page. 53 542007-12-20 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 55 56 * doc/api/faq.dox: Resolve all doxygen warnings except the "is 57 not documented" ones. 58 * doc/api/library.dox: (Ditto.) 59 * doc/api/overview.dox: (Ditto.) 60 * doc/api/porting.dox: (Ditto.) 61 * doc/api/tools-install.dox: (Ditto.) 62 * doc/examples/stdiodemo/stdiodemo.dox: (Ditto.) 63 * include/avr/fuse.h: (Ditto.) 64 * include/avr/lock.h: (Ditto.) 65 * include/util/atomic.h: (Ditto.) 66 672007-12-20 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 68 69 bug #21484: Documentation build for avr/version.h does not 70 susbstitute autoconf macros 71 * doc/api/doxygen.config.in (INPUT): replace version.h.in by 72 version.h so the doxygen build uses the processed file. 73 742007-12-19 Dmitry Xmelkov <dmix@gmail.ru> 75 76 * include/stdlib.h: Add '__' prefix with function args. 77 78 * include/string.h: Add '__' prefix with function args. The ffs(), 79 ffsl(), ffsll(): cosmetic changes to improve Doxygen output. 80 81 * tests/simulate/math/isinf-01.c: New file. 82 83 * include/math.h: Fix a few documentation errors (inherited from 84 1.4). Make args names in doc adequate ones in function declaration. 85 Use the '\a' Doxygen's command instead to '\c' anywhere. 86 87 Add CLI to abort() and exit() functions, since GCC's _exit() 88 does not disable interrupts today. 89 * libc/stdlib/abort.S: Add CLI before jump to _exit. 90 * libc/stdlib/exit.S: Ditto. 91 * include/stdlib.h: Document the CLI. 92 * tests/simulate/stdlib/abort-1.c: New file. 93 942007-12-18 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 95 96 Undo the CLI change. This rather belongs into _exit which is 97 supplied by libgcc.a. 98 Reopens bug #21841: Add CLI to exit() and abort() loops 99 * libc/stdlib/exit.S: undo rev 1.2. 100 * include/stdlib.h (exit): undo rev 1.30. 101 1022007-12-18 Eric B. Weddington <eric.weddington@atmel.com> 103 104 * include/avr/iotn43u.h: Fix RAMEND. 105 1062007-12-18 Eric B. Weddington <eric.weddington@atmel.com> 107 108 * include/avr/iom1284p.h: Fix RAMEND. 109 * include/avr/iom32hvb.h: Ditto. 110 * include/avr/iotn48.h: Ditto. 111 * include/avr/iotn88.h: Ditto. 112 * include/avr/io90pwm2b.h: Ditto. 113 * include/avr/io90pwm3b.h: Ditto. 114 * include/avr/io90pwm216.h: Ditto. 115 * include/avr/io90pwm316.h: Ditto. 116 1172007-12-18 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 118 119 bug #21841: Add CLI to exit() and abort() loops 120 * libc/stdlib/exit.S: add a CLI before entering the loop 121 * include/stdlib.h (exit): document the CLI. 122 1232007-12-18 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 124 125 Submitted by Bill Johnson 126 bug #19669: Need function to read signature row 127 * include/avr/boot.h (boot_signature_byte_get): Add new macro. 128 1292007-12-18 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 130 131 * tests/simulate/runtest.sh: replace /bin/bash by /bin/sh as the 132 really generic name of the shell to invoke. Not every system has 133 bash in /bin. 134 1352007-12-18 Eric B. Weddington <eric.weddington@atmel.com> 136 137 Fix for bug #21840. 138 * include/avr/iom48p.h: Fix RAMEND. 139 * include/avr/iom88p.h: Ditto. 140 * include/avr/iom168p.h: Ditto. 141 * include/avr/iom328p.h: Ditto. 142 1432007-12-18 Dmitry Xmelkov <dmix@gmail.ru> 144 145 * include/alloca.h: Add '__' prefix with function args. To avoid 146 a possible conflict with user's CPP definitions. 147 * include/math.h: Ditto. 148 1492007-12-17 Dmitry Xmelkov <dmix@gmail.ru> 150 151 Make abort() as a normal extern function (instead to inline loop). 152 * libc/stdlib/abort.S: Rewrite. 153 * include/stdlib.h: Declare abort() as a normal, add doc. 154 * tests/simulate/stdlib/abort-1.c: New file. 155 1562007-12-16 Dmitry Xmelkov <dmix@gmail.ru> 157 158 * libc/stdlib/ctype.S: 159 . isalnum(): Optimize. 160 . isxdigit(): Correct a behaviour with nonzero high byte. 161 . iscntrl(): Fix bug [no-id]: iscntrl() return true for some 162 values from 0x80 to 0xff. Optimize a little. 163 . ispunct(): Optimize. 164 . tolower(): Return as is, if the input is not an unsigned char 165 value. Optimize. 166 . toupper(): Ditto. 167 * include/ctype.h: Specify (and change) doc about the behaviour 168 in case then the input is not an unsigned char value. 169 * NEWS: Note about fixed bug of iscntrl(). 170 * tests/simulate/stdlib/isalnum-1.c: New file. 171 * tests/simulate/stdlib/isalpha-1.c: New file. 172 * tests/simulate/stdlib/isascii-1.c: New file. 173 * tests/simulate/stdlib/isblank-1.c: New file. 174 * tests/simulate/stdlib/iscntrl-1.c: New file. 175 * tests/simulate/stdlib/isdigit-1.c: New file. 176 * tests/simulate/stdlib/isgraph-1.c: New file. 177 * tests/simulate/stdlib/ispunct-1.c: New file. 178 * tests/simulate/stdlib/isupper-1.c: New file. 179 * tests/simulate/stdlib/isxdigit-1.c: New file. 180 * tests/simulate/stdlib/tolower-1.c: New file. 181 * tests/simulate/stdlib/toupper-1.c: New file. 182 1832007-12-16 Dmitry Xmelkov <dmix@gmail.ru> 184 185 Fix bug #18994: minor optimization possible to stdlib functions 186 isspace(), isprint(), and islower() 187 * libc/stdlib/ctype.S: Optimize isspace(), isprint() and islower(). 188 * tests/simulate/stdlib/islower-1.c: New file. 189 * tests/simulate/stdlib/isprint-1.c: New file. 190 * tests/simulate/stdlib/isspace-1.c: New file. 191 * NEWS: Note about this. 192 193 * NEWS: Add the chapter 'Main changes from 1.4 to 1.5'. 194 1952007-12-12 Eric B. Weddington <eric.weddington@atmel.com> 196 197 * include/avr/io90pwm216.h: Fix fuse data. 198 * include/avr/io90pwm316.h: Ditto. 199 2002007-12-12 Eric B. Weddington <eric.weddington@atmel.com> 201 202 * include/avr/iom32hvb.h: Remove unused register. 203 * include/avr/io90pwm216.h: Fix IVT size. Fix for bug #21749. 204 * include/avr/io90pwm316.h: Ditto. 205 * include/avr/iomx8.h: Remove bits for mega48. Fix for bug #21691. 206 * include/avr/io90pwm316.h: Add bit defs. Fix for bug #21743. 207 * include/avr/iomxx0_1.h: Fix bit defs. Fix for bug #21626. 208 * include/avr/iotnx61.h: Fix bit defs. Fix for bug #21521. 209 2102007-12-11 Eric B. Weddington <eric.weddington@atmel.com> 211 212 * include/avr/lock.h: Add documentation for the Lockbit API. 213 * doc/api/doxygen.config.in: Add avr/lock.h to the doc list. 214 * include/avr/iom8.h: Add Fuse and Lockbit data. 215 * include/avr/iotn43u.h: Add Lockbit data. 216 * include/avr/io90pwm216.h: Add Lockbit data. Fix fuse data. 217 * include/avr/io90pwm316.h: Add Lockbit data. Fix fuse data. 218 * include/avr/io90pwm2b.h: Add Lockbit data. Fix fuse data. 219 * include/avr/io90pwm3b.h: Add Lockbit data. Fix fuse data. 220 * include/avr/iom88.h: Add Fuse data. 221 * include/avr/iom168.h: Add Fuse data. 222 * include/avr/iom128.h: Formatting. 223 * include/avr/iom16.h: Add Fuse and Lockbit data. 224 * include/avr/iom32.h: Ditto. 225 * include/avr/iom64.h: Ditto. 226 * include/avr/iom325.h: Ditto. 227 * include/avr/iom3250.h: Ditto. 228 * include/avr/iom645.h: Ditto. 229 * include/avr/iom6450.h: Ditto. 230 * include/avr/iom329.h: Ditto. 231 * include/avr/iom3290.h: Ditto. 232 * include/avr/iom649.h: Ditto. 233 * include/avr/iom6490.h: Ditto. 234 * include/avr/iom640.h: Ditto. 235 * include/avr/iom1280.h: Ditto. 236 * include/avr/iom1281.h: Ditto. 237 * include/avr/iom2560.h: Ditto. 238 * include/avr/iom2561.h: Ditto. 239 * include/avr/iousb646.h: Ditto. 240 * include/avr/iousb647.h: Ditto. 241 * include/avr/iousb1286.h: Ditto. 242 * include/avr/iousb1287.h: Ditto. 243 * include/avr/iom8515.h: Ditto. 244 * include/avr/iom161.h: Ditto. 245 * include/avr/iom162.h: Ditto. 246 * include/avr/iom163.h: Ditto. 247 * include/avr/iousb82.h: Ditto. 248 * include/avr/iousb162.h: Ditto. 249 * include/avr/iom165.h: Ditto. 250 * include/avr/iom165p.h: Ditto. 251 * include/avr/iocan32.h: Ditto. 252 * include/avr/iocan64.h: Ditto. 253 * include/avr/iocan128.h: Ditto. 254 * include/avr/io90pwmx.h: Ditto. 255 * include/avr/io90pwm1.h: Ditto. 256 * include/avr/iom169.h: Ditto. 257 * include/avr/iom169p.h: Ditto. 258 * include/avr/iom323.h: Ditto. 259 * include/avr/iom406.h: Ditto. 260 * include/avr/iotn261.h: Ditto. 261 * include/avr/iotn461.h: Ditto. 262 * include/avr/iotn861.h: Ditto. 263 * include/avr/iotn25.h: Ditto. 264 * include/avr/iotn45.h: Ditto. 265 * include/avr/iotn85.h: Ditto. 266 * include/avr/iotn24.h: Ditto. 267 * include/avr/iotn44.h: Ditto. 268 * include/avr/iotn84.h: Ditto. 269 * include/avr/iotn2313.h: Ditto. 270 * include/avr/iotn13.h: Ditto. 271 * include/avr/iotn11.h: Ditto. 272 * include/avr/iotn12.h: Ditto. 273 * include/avr/iom8hva.h: Ditto. 274 * include/avr/iom16hva.h: Ditto. 275 * include/avr/iom8535.h: Ditto. 276 * include/avr/iom164.h: Ditto. 277 * include/avr/iom324.h: Ditto. 278 * include/avr/iom644.h: Ditto. 279 * include/avr/iotn28.h: Ditto. 280 * include/avr/iotn26.h: Ditto. 281 * include/avr/iotn22.h: Ditto. 282 * include/avr/iotn15.h: Ditto. 283 2842007-12-09 Dmitry Xmelkov <dmix@gmail.ru> 285 286 * libm/fplib/frexp.S: Make frexp() similar to GCC/x86 in case of 287 nonfinite arg: write 0 by exponent pointer. Early Avr-libc's frexp() 288 skips exponent storing in this case. Make the NULL a legal address 289 to skip a storing. 290 * include/math.h: Specify this in doc. 291 * tests/simulate/math/frexp-01.c: Add new test cases. 292 * NEWS: Note about this. 293 2942007-12-08 Dmitry Xmelkov <dmix@gmail.ru> 295 296 * doc/api/doxygen.config.in: Change MACRO_EXPANSION and 297 EXPAND_ONLY_PREDEF variables to YES. Add __ATTR_CONST__ to 298 PREDEFINED list. To clean documentation: remove last label 299 from function lists. 300 * include/math.h: Add a note about the const attribute. 301 302 * doc/api/doxygen.config.in: Remove 'libm' directory from the INPUT 303 list, as there is no any doxygen comments. To reduce the number of 304 doxygen warnings. 305 3062007-12-02 Dmitry Xmelkov <dmix@gmail.ru> 307 308 Extend the benchmark chapter. 309 * doc/api/bench-libc.dox: Add a bit functions. 310 * doc/api/bench-libm.dox: New file. 311 * doc/api/doxygen.config.in: Add new file bench-libm.dox 312 313 Make signbit() similar to GCC's builtin: return 1 as nonzero value. 314 * libm/fplib/signbit.S: Ditto. 315 * include/math.h: signbit(): fix comment about return value. 316 * tests/simulate/math/signbit-01.c: New file. 317 * NEWS: Note about this change. 318 3192007-12-01 Dmitry Xmelkov <dmix@gmail.ru> 320 321 Move all CPP statements to '#ifndef __DOXYGEN__' scope to reduce 322 the volume of garbage in documentation. IMHO, the \file doxygen 323 directive is redundant here, as it forces an opening a new 324 chapter with inclusion all CPP definitions. 325 * libc/pmstring/memcpy_P.S: (Ditto.) 326 * libc/pmstring/strcat_P.S: (Ditto.) 327 * libc/pmstring/strcpy_P.S: (Ditto.) 328 * libc/pmstring/strlen_P.S: (Ditto.) 329 * libc/pmstring/strncat_P.S: (Ditto.) 330 * libc/pmstring/strncmp_P.S: (Ditto.) 331 * libc/pmstring/strncpy_P.S: (Ditto.) 332 * libc/pmstring/strnlen_P.S: (Ditto.) 333 * libc/stdlib/atoi.S: (Ditto.) 334 * libc/stdlib/atol.S: (Ditto.) 335 * libc/string/memccpy.S: (Ditto.) 336 * libc/string/memchr.S: (Ditto.) 337 * libc/string/memcmp.S: (Ditto.) 338 * libc/string/memcpy.S: (Ditto.) 339 * libc/string/memmove.S: (Ditto.) 340 * libc/string/memset.S: (Ditto.) 341 * libc/string/strcat.S: (Ditto.) 342 * libc/string/strcpy.S: (Ditto.) 343 * libc/string/strlen.S: (Ditto.) 344 * libc/string/strncat.S: (Ditto.) 345 * libc/string/strncmp.S: (Ditto.) 346 * libc/string/strncpy.S: (Ditto.) 347 * libc/string/strnlen.S: (Ditto.) 348 * libc/string/strrchr.S: (Ditto.) 349 350 Add new function lrint(). 351 * libm/fplib/lrint.S: New file. 352 * libm/fplib/Files.am: Add new source lrint.S 353 * include/math.h: Add lrint() function definition. 354 * tests/simulate/math/lrint-01.c: New file. 355 * NEWS: Update new functions list. 356 357 Make conversion from float to (u)long in error cases to be 358 more similar with GCC/x86. 359 * libm/fplib/fixunssfsi.S: New file. 360 * libm/fplib/Files.am: Add new source fixunssfsi.S 361 * libm/fplib/fixsfsi.S: Rewrite to use __fixunssfsi() function. 362 * libm/fplib/lround.S: Unify result in error cases. 363 * include/math.h: lround(): fix comment about return value. 364 * tests/simulate/fplib/flt2long-01.c: Update overflow test cases. 365 * tests/simulate/fplib/flt2ulng-01.c: Ditto. 366 * tests/simulate/math/lround-01.c: Ditto. 367 * NEWS: Note about this change. 368 3692007-11-30 Eric B. Weddington <eric.weddington@atmel.com> 370 371 * doc/api/doxygen.config.in: Add avr/fuse.h to the doc list. 372 3732007-11-30 Eric B. Weddington <eric.weddington@atmel.com> 374 375 * include/avr/fuse.h: Add documentation for Fuse API. 376 3772007-11-28 Eric B. Weddington <eric.weddington@atmel.com> 378 379 Add new devices: ATmega1284P, ATmega32HVB. 380 * configure.ac: Add new devices. 381 * devtools/gen-avr-lib-tree.sh: Ditto. 382 * include/avr/Makefile.am: Ditto. 383 * include/avr/io.h: Ditto. 384 * doc/api/main_page.dox: Ditto. 385 * doc/api/using-tools.dox: Ditto. 386 * include/avr/power.h: Ditto. 387 * include/avr/wdt.h: Ditto. 388 * NEWS: Update new devices list. 389 * include/avr/iom1284p.h: New file. 390 * include/avr/iom32hvb.h: New file. 391 3922007-11-18 Dmitry Xmelkov <dmix@gmail.ru> 393 394 Add the benchmark page. Now this is only a start of work. 395 * doc/api/bench.dox: New file. 396 * doc/api/bench-libc.dox: New file. 397 * doc/api/Makefile.am: Add new doxygen sources. 398 * dod/api/doxygen.config.in: Ditto. 399 * NEWS: Note about new doc page. 400 4012007-11-11 Dmitry Xmelkov <dmix@gmail.ru> 402 403 Add new function lround(). 404 * libm/fplib/lround.S: New file. 405 * libm/fplib/Files.am: Add new source lround.S 406 * include/math.h: Add lround() function definition. 407 * tests/simulate/math/lround-01.c: New file. 408 * NEWS: Update new functions list. 409 4102007-11-08 Eric B. Weddingotn <eweddington@cso.atmel.com> 411 412 Add new device: ATtiny88. 413 * configure.ac: Add new device. 414 * devtools/gen-avr-lib-tree.sh: Ditto. 415 * include/avr/Makefile.am: Ditto. 416 * include/avr/io.h: Ditto. 417 * doc/api/main_page.dox: Ditto. 418 * doc/api/using-tools.dox: Ditto. 419 * include/avr/power.h: Ditto. 420 * include/avr/wdt.h: Ditto. 421 * include/avr/iotn88.h: New file. 422 * NEWS: Update new devices list. 423 * include/avr/iotn48.h: Add lockbit information. 424 4252007-11-05 Dmitry Xmelkov <dmix@gmail.ru> 426 427 Add new function round(). 428 * libm/fplib/round.S: New file. 429 * libm/fplib/Files.am: Add new source round.S 430 * include/math.h: Add round() function definition. 431 * tests/simulate/math/round-01.c: New file. 432 * tests/simulate/math/xxx-nan.c: Add round() function to list. 433 434 * include/math.h: Add the 'const' attribute to hypot() function. 435 4362007-11-04 Dmitry Xmelkov <dmix@gmail.ru> 437 438 * libc/stdlib/dtostre.c: Optimize in space: 16..22 bytes, consided 439 the extra function strcpy_P(). 440 4412007-11-02 Eric B. Weddington <eweddington@cso.atmel.com> 442 443 * include/avr/iom48p.h: New implementation. No common file included. 444 Add Fuse and lockbit definitions. Fix bugs. 445 * include/avr/iom88p.h: Ditto. 446 * include/avr/iom168p.h: Ditto. 447 * include/avr/iom328p.h: Ditto. 448 * include/avr/iomx8p.h: Remove file. 449 * include/avr/Makefile (avr_HEADERS): Remove iomx8p.h from list. 450 4512007-10-30 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 452 453 bug #21432: Incorrect timer interrupt handler names for ATtiny45 454 * include/avr/iotnx5.h: Add TIMER0..._vect and TIMER1..._vect 455 names in addition to the TIM0... and TIM1... names to match 456 the recently changed datasheet. 457 4582007-10-30 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 459 460 bug #21204: iotnx61.h PRR bits incorrect 461 * include/avr/iotnx61.h: Use correct bit numbers for 462 PRTIM0/PRTIM1. 463 4642007-10-30 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 465 466 bug #21444: Undocument -minit-stack 467 * doc/api/using-tools.dox: Remove references to -minit-stack, 468 add an explanation for how to set __stack in order to relocate 469 the stack. 470 4712007-10-30 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 472 473 bug #20530: Bug in sample code for early wdt disable 474 * include/avr/wdt.h: move variable mcusr_mirror into 475 the .noinit section in example code. 476 4772007-10-30 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 478 479 bug #20248: FAQ#3: clarify which registers are safe to be used 480 * doc/api/faq.dox: Describe that r8...r15 can only be used 481 for register variables if they are not used for argument 482 passing. Clarify that call-saved registers must be 483 preserved even in case they are used for argument passing by 484 the compiler. 485 4862007-10-30 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 487 488 bug #20650: Missing description of AVR specific C-preprocessor 489 macros 490 * doc/api/using-tools.dox: Document the target-specific macros 491 __AVR, __AVR__, AVR, and __NO_INTERRUPTS__. 492 4932007-10-30 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 494 495 bug #18373: Bugs in Inline ASM documentacion 496 * doc/api/inline_asm.dox: Inline asm documentation improvements: 497 . mention named operands 498 . document that read-write constraints to work 499 . explain read-write constraints 500 5012007-10-29 Eric B. Weddington <eweddington@cso.atmel.com> 502 503 * include/avr/power.h: Add support for ATmega48P-88P-168P-328P devices. 504 5052007-10-29 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 506 507 * include/util/atomic.h: Fix a documentation spelling error. 508 5092007-10-29 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 510 511 * configure.ac: Bump revision to 1.5.1-20071030 in order to 512 indicate post-release 1.5.1-20071029 state. 513 5142007-10-29 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 515 516 * configure.ac: Bump revision to 1.5.1-20071029 in order to 517 prepare for a new (unstable) release. 518 5192007-10-29 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 520 521 Submitted by Dean Camera: 522 Patch #5644: New interrupt.h header file 523 * include/avr/interrupt.h: Complete overhaul of the ISR() and related 524 macros. 525 By Joerg Wunsch: 526 * doc/api/interrupts.dox: Update the interrupt documentation to all 527 the new features. 528 5292007-10-28 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 530 531 Submitted by Florin-Viorel Petrov 532 Patch #6236: Improving _delay_us and _delay_ms 533 * include/util/delay.h: Provide fallback functionality 534 to extend the possible argument range to _delay_us(), 535 and _delay_ms(), respectively. 536 5372007-10-28 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 538 539 Submitted by Cliff Lawson and Carlos Lamas: 540 Patch #5343: Add a util/setbaud.h "helper" file 541 * include/util/setbaud.h: New file. 542 * include/util/Makefile.am: Include setbaud.h. 543 5442007-10-28 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 545 546 Submitted by Dean Camera: 547 Patch #5756: New atomic.h header file 548 * include/util/atomic.h: New file. 549 * include/util/Makefile.am: Include atomic.h. 550 5512007-10-25 Anatoly Sokolov <aesok@post.ru> 552 553 * include/avr/iocanxx.h (OVFG): Define. 554 Closes bug #21434. 555 5562007-10-25 Anatoly Sokolov <aesok@post.ru> 557 558 * include/avr/io90pwmx.h (AMP0EN, AMP0IS, AMP0G1, AMP0G0, AMP0TS1, 559 AMP0TS0, AMP1EN, AMP1IS, AMP1G1, AMP1G0, AMP1TS1, AMP1TS0, 560 ADASCR): Define. 561 Closes bug #20435. 562 5632007-10-25 Anatoly Sokolov <aesok@post.ru> 564 565 * include/avr/io2313.h (TICIE1): Define. 566 Closes bug #20682. 567 5682007-10-25 Anatoly Sokolov <aesok@post.ru> 569 570 * include/avr/iotn13.h (EIN1D): Rename to AIN1D. 571 Closes bug #21411. 572 5732007-10-24 Eric B. Weddington <eweddington@cso.atmel.com> 574 575 Add Lockbits API. Set the lockbits from within the application. 576 * include/avr/Makefile.am: Add new file to distribution. 577 * include/avr/io.h: Include new lock.h file. 578 * include/avr/iom128.h: Add definitions for API. 579 * include/avr/iom48.h: Ditto. 580 * include/avr/iom88.h: Ditto. 581 * include/avr/iom168.h: Ditto. 582 * include/avr/lock.h: New file. 583 5842007-10-23 Anatoly Sokolov <aesok@post.ru> 585 586 * configure.ac: Add new devices: ATmega48P/88P/168P/328P. 587 * devtools/gen-avr-lib-tree.sh: Ditto. 588 * include/avr/Makefile.am: Ditto. 589 * include/avr/io.h: Ditto. 590 * doc/api/main_page.dox: Ditto. 591 * doc/api/using-tools.dox: Ditto. 592 * include/avr/wdt.h: Ditto. 593 * include/avr/iom168p.h: New file. 594 * include/avr/iom328p.h: New file. 595 * include/avr/iom48p.h: New file. 596 * include/avr/iom88p.h: New file. 597 * include/avr/iomx8p.h: New file. 598 * NEWS: Add devices to list. 599 6002007-10-23 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 601 602 Fix bug #21174: assembly error with targets at90s1200, attiny11, 603 attiny12, and attiny28 604 * crt1/gcrt1.S: for assembly-only architectures, revert to the 605 old behaviour of jumping to main() rather than calling it, and 606 jumping to exit() afterwards. 607 6082007-10-23 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 609 610 Fix for bug #18964: USART definitions *wrong* in iocanxx.h 611 * include/avr/iocanxx.h: Add missing SIG_USART* vector names. 612 6132007-10-23 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 614 615 Submitted by Guohui Wang <info@Atmanecl.net>: 616 Fix for bug #20843: Mega 2561 library 617 * crt0/gcrt0.S: initialize EIND for avr6 architectures to 618 the same segment __vectors belongs to. 619 6202007-10-19 Eric B. Weddington <eweddington@cso.atmel.com> 621 622 * configure.ac: Add new devices: AT90PWM2B, AT90PWM3B. 623 * devtools/gen-avr-lib-tree.sh: Ditto. 624 * include/avr/Makefile.am: Ditto. 625 * include/avr/io.h: Ditto. 626 * doc/api/main_page.dox: Ditto. 627 * doc/api/using-tools.dox: Ditto. 628 * include/avr/power.h: Ditto. 629 * include/avr/wdt.h: Ditto. 630 * include/avr/io90pwm2b.h: New file. 631 * include/avr/io90pwm3b.h: New file. 632 * NEWS: Add devices to list. 633 6342007-10-19 Eric B. Weddington <eweddington@cso.atmel.com> 635 636 Fix for Atmel bug #6346. 637 * include/avr/iom8515.h: Add USART* interrupt vector names to 638 correctly reflect the device XML file. 639 6402007-10-10 Eric B. Weddington <eweddington@cso.atmel.com> 641 642 Resolve bug #21299: Duplicate register address in iotn48.h. 643 * include/avr/iotn48.h: Fix PRR address. 644 * NEWS: Update fixed bug list. 645 6462007-10-08 Eric B. Weddington <eweddington@cso.atmel.com> 647 648 * include/avr/io90pwm216.h: Add fuse information. 649 * include/avr/io90pwm316.h: Ditto. 650 * include/avr/iotn43u.h: Ditto. 651 6522007-10-08 Eric B. Weddington <eweddington@cso.atmel.com> 653 654 Add new device: ATtiny48. 655 * configure.ac: Add new devices. 656 * devtools/gen-avr-lib-tree.sh: Ditto. 657 * include/avr/Makefile.am: Ditto. 658 * include/avr/io.h: Ditto. 659 * doc/api/main_page.dox: Ditto. 660 * doc/api/using-tools.dox: Ditto. 661 * include/avr/power.h: Ditto. 662 * include/avr/wdt.h: Ditto. 663 * include/avr/iotn48.h: New file. 664 * NEWS: Update new devices list. 665 6662007-10-05 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 667 668 Resolve bug #21228: Missing 3rd clause in BSD license in 669 documentation pages 670 * doc/api/main_page.dox: Add clause #3. 671 * doc/api/using-tools.dox: Add clause #3. 672 6732007-10-05 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 674 675 Unbreak the documentation build for recent versions of doxygen. 676 NB: the latex package "urc" must be installed in order to 677 successfully build the documentation. 678 679 * doc/api/doxygen.config.in: Update for doxygen 1.5.x. Most of 680 the changes have been generated by running doxygen -u. In 681 addition, the input encoding has been changed to iso-8859-1 682 because this matches our current documentation. 683 * doc/api/overview.dox: Fix two illegal special characters that 684 were not part of ISO8859-1. 685 6862007-10-03 Eric B. Weddington <eweddington@cso.atmel.com> 687 688 Add new device: ATtiny43U. 689 * configure.ac: Add new device. 690 * devtools/gen-avr-lib-tree.sh: ditto. 691 * include/avr/Makefile.am: ditto. 692 * include/avr/io.h: ditto. 693 * include/avr/power.h: ditto. 694 * doc/api/using-tools.dox: ditto. 695 * doc/api/main_page.dox: ditto. 696 * include/avr/iotn43u.h: New file. 697 * NEWS: Update new devices list. 698 6992007-10-03 Eric B. Weddington <eweddington@cso.atmel.com> 700 701 * devtools/gen-avr-lib-tree.sh: Optimize for space for all devices. 702 7032007-10-03 Eric B. Weddington <eweddington@cso.atmel.com> 704 705 The start of a Fuse API. 706 * include/avr/fuse.h: New file. 707 * include/avr/io.h: Add inclusion of fuse.h. 708 * include/avr/Makefile.am: Add fuse.h to distribution list. 709 * include/avr/iom128.h: Add fuse information to ATmega128 IO header. 710 7112007-10-03 Eric B. Weddington <eweddington@cso.atmel.com> 712 713 * doc/api/main_page.dox: Reorganize and update device listing. 714 Fix spelling and grammar. 715 7162007-10-02 Eric B. Weddington <eweddington@cso.atmel.com> 717 718 * doc/api/pgmspace.dox: Fix example code. Change description to match. 719 * NEWS: Update fixed bugs list. 720 Fixes bug #21183. 721 7222007-10-01 Eric B. Weddington <eweddington@cso.atmel.com> 723 724 Add new devices: AT90PWM216, AT90PWM316, with contributions from 725 Tobias Frost <tobi@coldtobi.de>. 726 * devtools/gen-avr-lib-tree.sh: Add new devices. 727 * configure.ac: ditto. 728 * doc/api/using-tools.dox: ditto. 729 * include/avr/Makefile.am: ditto. 730 * include/avr/power.h: ditto. 731 * include/avr/wdt.h: ditto. 732 * include/avr/io.h: ditto. 733 * include/avr/io90pwm216.h: New file. 734 * include/avr/io90pwm316.h: New file. 735 * NEWS: Update new devices list. 736 7372007-07-30 Eric B. Weddington <eweddington@cso.atmel.com> 738 739 *include/avr/Makefile.am: Add missing common.h to install list. 740 7412007-07-09 Eric B. Weddington <eweddington@cso.atmel.com> 742 743 * doc/api/inline_asm.dox: Document new constraints. 744 7452007-07-06 Eric B. Weddington <eweddington@cso.atmel.com> 746 747 * doc/api/faq.dox: Add FAQ for soft reset. 748 7492007-07-01 Dmitry Xmelkov <dmix@gmail.ru> 750 751 Add new function alloca(). Fix savannah bug #19686: alloca 752 declaration missing. 753 * include/alloca.h: New file. 754 * include/Makefile.am: Add alloca.h file. 755 * doc/api/doxygen.config.in: Add alloca.h file. 756 * tests/simulate/other: New directory. 757 * tests/simulate/other/alloc.c: New file. 758 * tests/simulate/runtest.sh: Add other directory to the test list. 759 7602007-06-27 Eric B. Weddington <eweddington@cso.atmel.com> 761 762 * include/avr/power.h: Add support for ATmega644P. 763 * NEWS: Add item to fixed bug list. 764 Fixes bug #20276. 765 7662007-06-08 Eric B. Weddington <eweddington@cso.atmel.com> 767 768 * include/avr/common.h: New file. 769 * include/avr/io.h: Move definitions to common.h. Fix documentation. 770 * common/macros.inc: Use new common register definitions. 771 * crt1/gcrt1.S: Use new common register definitions. 772 * include/avr/iomxx0_1.h: Define EIND as normal without conditional 773 compilation. 774 * libc/stdlib/stdlib_private.h: Use new common register definitions. 775 * doc/api/doxygen.config.in: Add avr/io.h back into the documentation list. 776 * libc/stdlib/setjmp.S: Use new common register definitions. 777 7782007-05-29 Eric B. Weddington <eweddington@cso.atmel.com> 779 780 * Makefile.am: Add ChangeLog-2006 to distribution list. 781 7822007-05-29 Eric B. Weddington <eweddington@cso.atmel.com> 783 784 * configure.ac: Revert patch and add devices back into avr2 group. 785 This allows avr-libc to work with previous versions of GCC. 786 * devtools/gen-avr-lib-tree.sh: ditto. 787 7882007-05-22 Eric B. Weddington <eweddington@cso.atmel.com> 789 790 * devtools/gen-avr-lib-tree.sh: Replace awk with cut, which speeds 791 up the script. Remove devices in avr2 group that have been moved 792 to the avr25 group. 793 * configure.ac: Remove devices in avr2 group that have been moved 794 to the avr25 group. 795 7962007-05-21 Eric B. Weddington <eweddington@cso.atmel.com> 797 798 * doc/api/tools-install.dox: Add documentation on how to build the 799 toolchain under Windows. Fix for bug #19496. 800 * doc/api/acknowledge.dox: Typo, email address, and add missing clause. 801 * NEWS: Add to bugs fixed list. 802 8032007-05-15 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 804 805 * xml/Atmel2libc.py: Catch (and ignore) errors resulting from 806 empty IO register declarations in the Atmel files, as e.g. for 807 MCUCR in AT86RF401. 808 * xml/patch-headers.py: Add all the new devices we do support 809 now. 810 * doc/api/vectortable.dox: Regenerate. 811 * doc/api/Makefile.am: add vectortable.dox. 812 * include/avr/iotnx4.h: Sigh. AVR Studio 4.13 gratuitously 813 renamed a number of interrupt vectors for ATtinyX4 devices. 814 Add these new declarations along with the older ones. 815 8162007-05-14 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 817 818 * configure.ac: bump version date. 819 8202007-05-14 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 821 822 * doc/api/rel-method.dox: configure.in -> configure.ac 823 8242007-05-14 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 825 826 * common/Makefile.am: Fix file locations for automake so 827 "make distcheck" will compile again. 828 * libc/stdio/Files.am: (Ditto.) 829 * libc/stdlib/Files.am: (Ditto.) 830 8312007-05-13 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 832 833 Fix bug #19009: Make <util/delay.h> issue a warning when optimizations 834 are turned off 835 * include/util/delay.h: Split the basic delay functions off into 836 <util/delay_basic.h>; issue a warning when this file is compiled 837 without optimization. 838 * include/util/delay_basic.h: (New file.) 839 * include/util/Makefile.am: add delay_basic.h 840 8412007-05-13 Anatoly Sokolov <aesok@post.ru> 842 843 * include/avr/iousbxx6_7.h: Change PORTxy to Pxy. 844 8452007-05-13 Anatoly Sokolov <aesok@post.ru> 846 847 * configure.ac: Add tests for the ATmega8HVA/16HVA support. 848 * devtools/gen-avr-lib-tree.sh: Add support for ATmega8HVA/16HVA. 849 * include/avr/io.h: (Ditto.). 850 * include/avr/wdt.h: (Ditto.). 851 * include/avr/iom8hva.h: New file. 852 * include/avr/iom16hva.h: New file. 853 * include/avr/iomxxhva.h: New file. 854 * include/avr/Makefile.am: Include new files. 855 * doc/api/main_page.dox: Document support for ATmega8HVA/16HVA. 856 * doc/api/using-tools.dox: (Ditto.) 857 8582007-05-12 Anatoly Sokolov <aesok@post.ru> 859 860 * include/avr/iousbxx2.h: Change PORTxy to Pxy. 861 8622007-05-09 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 863 864 Fix bug #19445: _malloc_heap_end does not follow _heap_end on m2561 865 * doc/api/malloc-std.fig: Clearly distinguish library-internal 866 variables from absolute symbols added by the linker. 867 * doc/api/malloc-x1.fig: (Ditto.) 868 * doc/api/malloc-x2.fig: (Ditto.) 869 8702007-05-09 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 871 872 Fix bug #19841: Error building 1.4 HEAD: undefined reference to 'exit' 873 * doc/api/Makefile.am (DEMO_LIBS): add exit.o to the list of files to 874 link the demo against. 875 8762007-05-08 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 877 878 Fix bug #19050: gcrt1.S should call main rather than jumping to it 879 * crt1/gcrt1.S: call main() rather than jumping to it, and then 880 jump to exit(). 881 8822007-05-07 Anatoly Sokolov <aesok@post.ru> 883 884 * configure.ac: Add 'avr25' architecture. 885 * devtools/gen-avr-lib-tree.sh (AVR_ARH_INFO): Ditto. 886 (AVR25_DEV_INFO): New. 887 * doc/api/using-tools.dox: Document 'avr25'. 888 8892007-05-06 Eric B. Weddington <eweddington@cso.atmel.com> 890 891 Fix bug #19666: 892 * include/avr/io90pwmx.h: Add ADHSM, ADTS3 bits to the ADCSRB register. 893 8942007-05-05 Eric B. Weddington <eweddington@cso.atmel.com> 895 896 * doc/examples/asmdemo/asmdemo.dox: Fix HTML code in source code links. 897 8982007-05-05 Eric B. Weddington <eweddington@cso.atmel.com> 899 900 Fix bug #19495. 901 * include/avr/interrupt.h: Fix doxygen stuff, whitespace, remove unused 902 C++ stuff at the end. 903 * NEWS: Update bugs fixed. 904 9052007-05-02 Eric B. Weddington <eweddington@cso.atmel.com> 906 907 * doc/api/overview.dox: Fix typos, grammar, names. 908 * doc/api/inline_asm.dox: Expand title name back to the original title. 909 9102007-04-27 Anatoly Sokolov <aesok@post.ru> 911 912 * configure.ac: Move AT90USB82 device to 'avr5' architecture. 913 * devtools/gen-avr-lib-tree.sh: (Ditto.). 914 * doc/api/using-tools.dox: (Ditto.). 915 * include/avr/iousbxx2.h (_VECTORS_SIZE): Redefine for AT90USB82. 916 9172007-04-21 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 918 919 * include/avr/io90pwm3.h: Change bit 2 of PLLCSR from 920 PCKE to PLLF. 921 Fixes savannah bug #19650: avr-libc: wrong named bit in SFR of AT90PWMx 922 9232007-04-05 Eric B. Weddington <eweddington@cso.atmel.com> 924 925 * doc/api/malloc.dox: Change title and reorder sentences in Introduction. 926 9272007-03-30 Eric B. Weddington <eweddington@cso.atmel.com> 928 929 * include/avr/io2343.h: Add missing bit definitions for MCUSR. 930 Fixes WinAVR feature request #1657218. 931 9322007-03-30 Dmitry Xmelkov <dmix@gmail.ru> 933 934 * libc/stdlib/ctype.S: Fix bug #19281: isblank('\v') return TRUE: 935 mismatch to C99 936 9372007-03-29 Eric B. Weddington <eweddington@cso.atmel.com> 938 939 * doc/api/doxygen.config.in (INPUT): Add new file to list. Reorder list. 940 * doc/api/pgmspace.dox (new file): New chapter. Data in Program Space. 941 * doc/api/library.dox (new file): New chapter. How to Create a Library. 942 * doc/api/porting.dox: Rewrote the introduction for better flow. 943 * doc/api/Makefile.am (EXTRA_DIST): Add new .dox file. 944 * include/avr/pgmspace.h: Change title of documentation. 945 * doc/api/interrupts.dox: Fix typo. Add missing 3rd clause to license. 946 9472007-03-28 Eric B. Weddington <eweddington@cso.atmel.com> 948 949 * doc/api/doxygen.config.in (INPUT): Add new file to list. Reorder. 950 * doc/api/overview.dox (new file): New chapter. Overview of toolchain. 951 * doc/api/Makefile.am (EXTRA_DIST): Add the two new .dox files. 952 9532007-03-28 Anatoly Sokolov <aesok@post.ru> 954 955 * configure.ac: Add tests for the AT90USB82/162 support. 956 * devtools/gen-avr-lib-tree.sh: Add support for AT90USB82/162. 957 * include/avr/io.h: (Ditto.). 958 * include/avr/wdt.h: (Ditto.). 959 * include/avr/iousb82.h: New file. 960 * include/avr/iousb162.h: New file. 961 * include/avr/iousbxx2.h: New file. 962 * include/avr/Makefile.am: Include new files. 963 * doc/api/main_page.dox: Document support for AT90USB82/162. 964 * doc/api/using-tools.dox: (Ditto.) 965 9662007-03-26 Eric B. Weddington <eweddington@cso.atmel.com> 967 968 * doc/api/doxygen.config.in (INPUT): Change order of documentation pages. 969 * doc/api/dox_html_header: Change order of header links. Change 970 Additional Documentation to User Manual. 971 * doc/api/porting.dox (new file): New chapter. Porting from IAR to AVR GCC. 972 Adapted, with permission, from a document written by Eivind Sivertsen. 973 9742007-03-25 Dmitry Xmelkov <dmix@gmail.ru> 975 976 * libc/stdlib/atoi.S: Exclude the '!=' operator from GAS expression 977 to comport with the old GAS versions (less than 2.17). 978 * libc/stdlib/atol.S: (Ditto.) 979 * libc/string/strcasestr.S: (Ditto.) 980 9812007-03-17 Dmitry Xmelkov <dmix@gmail.ru> 982 983 Fix bug #19280: snprintf(s,0,fmt,...) write to foreign memory: s[-1] 984 * libc/stdio/snprintf.c: Add check of 'f.size >= 0' before writing 985 of terminating zero. Use f.len as number of output symbols. Remove 986 include of "stdio_private.h" as noused (after moving FILE decl.). 987 * libc/stdio/snprintf_p.c: (Ditto.) 988 * libc/stdio/vsnprintf.c: (Ditto.) 989 * libc/stdio/vsnprintf_p.c: (Ditto.) 990 * tests/simulate/printf/snprintf_all-P.c: New file. 991 * tests/simulate/printf/snprintf_all.c: New file. 992 * tests/simulate/printf/vsnprintf_all-P.c: New file. 993 * tests/simulate/printf/vsnprintf_all.c: New file. 994 * tests/simulate/regression/bug-19280.c: New file. 995 996 * tests/simulate/regression/bug-19281.c: New file. 997 9982007-03-11 Dmitry Xmelkov <dmix@gmail.ru> 999 1000 Has partially restored former (avr-libc 1.4 and early) behaviour 1001 at mistakes in a format string. Processing will be stopped (as in 1002 last versions), but return value will be 'len', not EOF. This is 1003 more clean behavior. (In comparison, Glibc's printf() return -1 if 1004 there is nothing specificator and continue work for other mistakes.) 1005 Note, snprintf() function (all 4 variants) has an error, which 1006 activates if vfprintf() returns EOF. 1007 * libc/stdio/vfprintf.c: Return EOF only if file is not open for 1008 writing, return 'len' for all other cases. 1009 * include/stdio.h: Update doc about return value. 1010 * tests/simulate/printf/sprintf-inv.c: Update. 1011 * tests/simulate/printf/sprintf_min-inv.c: Update. 1012 10132007-03-10 Dmitry Xmelkov <dmix@gmail.ru> 1014 1015 Rewrite the PRINTF_MIN part of vfprintf() function to reduce size 1016 and increase speed. Other parts (STD and FLT) was rewriten at 1017 begin of Feb 2007. 1018 * libc/stdio/vfprintf.c: Rewrite the PRINTF_MIN part. Make a few of 1019 small size improvements in second (PRINTF_LEVEL > PRINTF_MIN) part. 1020 1021 * include/stdio.h: Update the DOXYGEN description of vfprintf(). 1022 1023 * tests/simulate/printf/{sprintf_min-1.c,sprintf_min-2.c, 1024 sprintf_min-3.c,sprintf_min-4.c,sprintf_min-5.c,sprintf_min-int.c, 1025 sprintf_min-inv.c,sprintf_std-int.c,sprintf_std-inv.c}: New files. 1026 * tests/simulate/printf/sprintf_flt-big.c: Remove 'strlen_P' 1027 definition, as it is defined in progmem.h . 1028 * tests/simulate/progmem.h: Simplify the emulated function defines. 1029 * tests/simulate/runtest.sh: Add a possibility to operate a variety 1030 of printf variants: min, std, flt. Add the 'printf' directory to 1031 the default source list. 1032 10332007-03-08 Dmitry Xmelkov <dmix@gmail.ru> 1034 1035 Add new function (and progmem variant) memmem(). 1036 * libc/string/memmem.S: New file. 1037 * libc/string/memmem_P.S: New file. 1038 * include/string.h: Add new function definition: memmem(). 1039 * include/avr/pgmspace.h: Add new function definition: memmem_P(). 1040 * libc/string/Files.am: Add new sources: memmem.S, memmem_P.S 1041 * tests/simulate/pmstring/memmem_P.c: New file. 1042 * tests/simulate/string/memmem.c: New file. 1043 1044 * libc/pmstring/strstr_P.S: Optimize: reduce size by 1..2 words. 1045 * libc/string/strstr.S: (Ditto.) 1046 10472007-03-06 Dmitry Xmelkov <dmix@gmail.ru> 1048 1049 Add new function (and progmem variant) strcasestr(). 1050 * libc/string/strcasestr.S: New file. 1051 * libc/string/strcasestr_P.S: New file. As it includes the 1052 strcasestr.S, this source is placed into `string' directory to avoid 1053 a cross-directory link. Doxygen result is normal. 1054 * include/string.h: Add new function definition: strcasestr(). 1055 * include/avr/pgmspace.h: Add new function definition: strcasestr_P(). 1056 * libc/string/Files.am: Add new sources: strcasestr.S, strcasestr_P.S 1057 * tests/simulate/pmstring/strcasestr_P.c: New file. 1058 * tests/simulate/string/strcasestr.c: New file. 1059 10602007-03-03 Dmitry Xmelkov <dmix@gmail.ru> 1061 1062 * common/asmdef.h: New file. This file is intended for use in asm 1063 sources instead of 'macros.inc'. Last clings a huge chain of 1064 dependences, that very much complicates writing/debugging new 1065 functions outside of an infrastructure of library. I think, some 1066 time both of these files will exist independently. 1067 1068 * libc/pmstring/memrchr_P.S: New file. 1069 * libc/pmstring/strchrnul_P.S: New file. 1070 * include/avr/pgmspace.h: Add new function definitions: memrchr_P(), 1071 strchrnul_P(). 1072 * libc/pmstring/Files.am: Add new sources: memrchr_P.S, strchrnul_P.S 1073 * tests/simulate/pmstring/memrchr_P.c: New file. 1074 * tests/simulate/pmstring/strchrnul_P.c: New file. 1075 1076 * libc/string/memrchr.S: New file. 1077 * libc/string/strchrnul.S: New file. 1078 * include/string.h: Add new function definitions: memrchr(), 1079 strchrnul(). 1080 * libc/string/Files.am: Add new sources: memrchr.S, strchrnul.S 1081 * tests/simulate/string/memrchr.c: New file. 1082 * tests/simulate/string/strchrnul.c: New file. 1083 10842007-03-02 Dmitry Xmelkov <dmix@gmail.ru> 1085 1086 * libc/pmstring/strsep_P.S: New file. 1087 * include/avr/pgmspace.h: Add new function definition: strsep_P(). 1088 * libc/pmstring/Files.am: Add new source: strsep_P.S 1089 * tests/simulate/pmstring/strsep_P.c: New file. 1090 1091 * libc/string/strsep.S: Optimize size and speed. 1092 * tests/simulate/string/strsep.c: New file. 1093 1094 * libc/pmstring/memcmp_P.S: Emphasize args names in DOXYGEN comment. 1095 Move all CPP operators outside from the DOXYGEN scope. 1096 * libc/pmstring/strcasecmp_P.S: (Ditto.) 1097 * libc/pmstring/strchr_P.S: (Ditto.) 1098 * libc/pmstring/strcmp_P.S: (Ditto.) 1099 * libc/pmstring/strncasecmp_P.S: (Ditto.) 1100 * libc/pmstring/strstr_P.S: (Ditto.) 1101 * libc/string/strcasecmp.S: (Ditto.) 1102 * libc/string/strchr.S: (Ditto.) 1103 * libc/string/strcmp.S: (Ditto.) 1104 * libc/string/strncasecmp.S: (Ditto.) 1105 * libc/string/strstr.S: (Ditto.) 1106 11072007-03-01 Dmitry Xmelkov <dmix@gmail.ru> 1108 1109 Add a few new functions and progmem mirrors: 1110 * libc/pmstring/memchr_P.S: New file. 1111 * libc/pmstring/strcspn_P.S: New file. 1112 * libc/pmstring/strrchr_P.S: New file. 1113 * libc/pmstring/strspn_P.S: New file. 1114 * libc/string/strcspn.S: New file. 1115 * libc/string/strspn.S: New file. 1116 * libc/pmstring/Files.am: Add new sources: memchr_P.S, strcspn_P.S, 1117 strrchr_P.S, strspn_P.S 1118 * libc/string/Files.am: Add new sources: strcspn.S, strspn.S 1119 * include/string.h: Add new function definitions: strcspn(), 1120 strspn(). 1121 * include/avr/pgmspace.h: Add new function definitions: memchr_P(), 1122 strcspn_P(), strrchr_P(), strspn_P(). 1123 * tests/simulate/pmstring/memchr_P.c: New file. 1124 * tests/simulate/pmstring/strcspn_P.c: New file. 1125 * tests/simulate/pmstring/strrchr_P.c: New file. 1126 * tests/simulate/pmstring/strspn_P.c: New file. 1127 * tests/simulate/string/strcspn.c: New file. 1128 * tests/simulate/string/strspn.c: New file. 1129 1130 Optimize a few of string functions: 1131 * libc/string/strlwr.S: Optimize size and speed. 1132 * libc/string/strrev.S: Optimize speed for strings 4 bytes long 1133 and more. Size is the same. 1134 * libc/string/strupr.S: Optimize size and speed. 1135 * tests/simulate/string/strlwr.c: New file. 1136 * tests/simulate/string/strrev.c: New file. 1137 * tests/simulate/string/strupr.c: New file. 1138 1139 Add a few of tests: 1140 * tests/simulate/pmstring/strstr_P.c: New file. 1141 * tests/simulate/string/memchr.c: New file. 1142 * tests/simulate/string/strrchr.c: New file. 1143 * tests/simulate/string/strstr.c: New file. 1144 11452007-02-27 Dmitry Xmelkov <dmix@gmail.ru> 1146 1147 Add a new (standart) function strpbrk() and a progmem variant. 1148 * libc/pmstring/strpbrk_P.S: New file. 1149 * libc/string/strpbrk.S: New file. 1150 * libc/pmstring/Files.am: Add new source file strpbrk_P.S 1151 * libc/string/Files.am: Add new source file strpbrk.S 1152 * include/string.h (strpbrk): Add new function definition. 1153 * include/avr/pgmspace.h (strpbrk_P): Add new function definition. 1154 * tests/simulate/pmstring/strpbrk_P.c: New file. 1155 * tests/simulate/string/strpbrk.c: New file. 1156 1157 Enable use an asm variant of atol(). Correct docs. 1158 * include/stdlib.h (atol): Change the definition of function: 1159 instead to define inline code which use strtol(), now it is a 1160 normal definition of external function. Correct the DOXYGEN comment. 1161 * include/stdlib.h (atoi): Correct the DOXYGEN comment, delete 1162 a conditional define for DOXYGEN specially. 1163 * libc/stdlib/atoi.S: Correct the DOXYGEN comment. 1164 * libc/stdlib/atol.S: Correct the DOXYGEN comment. 1165 11662007-02-26 Dmitry Xmelkov <dmix@gmail.ru> 1167 1168 * libc/pmstring/memcmp_P.S: Fix DOXYGEN comment. 1169 * libc/pmstring/strchr_P.S: (Ditto.) 1170 11712007-02-24 Dmitry Xmelkov <dmix@gmail.ru> 1172 1173 * libc/string/strcasecmp.S: Fix bug #19134: strcasecmp(): result 1174 sign is not changed by swaping args. 1175 * libc/string/strncasecmp.S: (Ditto.) 1176 * libc/pmstring/strcasecmp_P.S: (Ditto.) 1177 * libc/pmstring/strncasecmp_P.S: (Ditto.) 1178 1179 * libc/string/strstr.S: Fix bug #19135: strstr(): `needle' is not 1180 always founded. Optimize code. 1181 * libc/pmstring/strstr_P.S: (Ditto.) 1182 1183 * libc/pmstring/memcmp_P.S: New file. 1184 * include/avr/pgmspace.h: Add new function memcmp_P(). 1185 * libc/pmstring/Files.am: Add new source file memcmp_P.S 1186 1187 * libc/string/strcmp.S: Optimize by 1 word. 1188 * libc/pmstring/strcmp_P.S: Optimize by 1 word. 1189 1190 * tests/simulate/progmem.h: Add strlen_P() and strcmp_P() emulation. 1191 * tests/simulate/pmstring/{memcmp_P.c,strcasecmp_P.c,strcmp_P.c, 1192 strncasecmp_P.c}: New files. 1193 * tests/simulate/string/{memcmp.c,strcasecmp.c,strcmp.c, 1194 strncasecmp.c}: New files. 1195 11962007-02-24 Anatoly Sokolov <aesok@post.ru> 1197 1198 * include/avr/iomxx4.h (SPCR0, SPSR0, SPDR0, SPIE0, SPE0, DORD0, 1199 MSTR0, CPOL0, CPHA0, SPR01, SPR00, SPIF0, WCOL0, SPI2X0): Rename 1200 to SPCR, SPSR, SPDR, SPIE, SPE, DORD, MSTR, CPOL, CPHA, SPR1, SPR0, 1201 SPIF, WCOL, SPI2X. 1202 (PRR): Define. 1203 Closes bug #18903: ATmega644 register definitions for SPI and 1204 PRR (datasheet vs. iom*.h) 1205 12062007-02-24 Anatoly Sokolov <aesok@post.ru> 1207 1208 * configure.ac: Add tests for the ATmega325P, ATmega3250P and 1209 ATmega329P support. 1210 * devtools/gen-avr-lib-tree.sh: Add support for ATmega325P, 1211 ATmega3250P and ATmega329P devices. 1212 * include/avr/io.h: (Ditto.). 1213 * include/avr/wdt.h: (Ditto.). 1214 * include/avr/iom325.h (BODSE, BODS): Define for ATMega325P. 1215 * include/avr/iom3250.h (BODSE, BODS): Define for ATMega3250P. 1216 * include/avr/iom329.h (BODSE, BODS, LCDCCD, LCDBD, LCDMDT): Define 1217 for ATMega3290P. 1218 * doc/api/main_page.dox: Document support for ATmega325P, ATmega3250P 1219 and ATmega329P devices. 1220 * doc/api/using-tools.dox: (Ditto.) 1221 12222007-02-24 Dmitry Xmelkov <dmix@gmail.ru> 1223 1224 * tests/simulate/regression/{bug-19134.c,bug-19135.c}: New files. 1225 12262007-02-22 Dmitry Xmelkov <dmix@gmail.ru> 1227 1228 * libc/stdio/vfprintf.c: Specify behaviour in case of mistakes 1229 in a line of a format. 1230 * tests/simulate/printf/sprintf-inv.c: New file. 1231 * tests/simulate/string/strchr.c: New file. 1232 * tests/simulate/pmstring: New directory. 1233 * tests/simulate/pmstring/strchr_P.c: New file. 1234 * tests/simulate/progmem.h: Add PSTR() emulation. 1235 * tests/simulate/runtest.sh: Add pmstring directory into test 1236 suite. Correct the return value for internal functions. 1237 * libc/string/strchr.S: Reduce program size by 1 word. 1238 12392007-02-19 Dmitry Xmelkov <dmix@gmail.ru> 1240 1241 * libc/stdio/vfprintf.c: Fix error in __AVR_HAVE_LPMX__ definition. 1242 A bit of small space improvements. 1243 12442007-02-18 Anatoly Sokolov <aesok@post.ru> 1245 1246 * include/avr/iotnx61.h (PCMSK0): Set address to 0x23. 1247 (PCMSK1): Set address to 0x22. 1248 Fix bug #19060: PCMSKx registers transposed in header for attinyX61 1249 12502007-02-18 Dmitry Xmelkov <dmix@gmail.ru> 1251 1252 STD and FLT vfprintf parts are fully rewriten to reduce size 1253 and increase speed. So a set of changes are maiden: 1254 * common/ntz.h: New file. 1255 * common/ftoa_engine.h: Move from libc/stdlib/. 1256 * libc/stdlib/ftoa_engine.h: Move to common/. 1257 * libc/pmstring/strchr_P.S: New file. 1258 * libc/pmstring/Files.am: Add new source file strchr_P.S 1259 * include/avr/pgmspace.h: Add new function strchr_P(). 1260 * libc/stdio/xtoa_fast.h: New file. 1261 * libc/stdio/ultoa_invert.S: New file. 1262 * libc/stdio/Files.am: Add new source file ultoa_invert.S 1263 * libc/stdio/vfprintf.c: Parts STD and FLT are fully rewriten. 1264 * tests/simulate/printf: New directory. 1265 * tests/simulate/printf/{sprintf-1,sprintf-2,sprintf-3,sprintf-4, 1266 sprintf-5,sprintf_flt-big,sprintf_flt-e01,sprintf_flt-f01, 1267 sprintf_flt-g01,sprintf_flt-g02,sprintf_flt-nan}.c: New files. 1268 12692007-02-07 Dmitry Xmelkov <dmix@gmail.ru> 1270 1271 * tests/simulate/stdlib/{strtoul-1.c,strtoul-2.c,strtoul-3.c, 1272 strtoul.h}: New files. 1273 12742007-02-06 Dmitry Xmelkov <dmix@gmail.ru> 1275 1276 * tests/simulate/runtest.sh: Add option to stop after error. Add 1277 string/*.c to the list. Compile(): small correction. 1278 * tests/simulate/progmem.h: Add memcpy_P emulation. 1279 * tests/simulate/stdlib/{atol-2,bsearch-1,bsearch-2,bsearch-3, 1280 dtostre-01,dtostre-02,dtostre-03,dtostre-04,dtostre-05,dtostre-06, 1281 dtostre-expm00,dtostre-minmax,dtostre-nans,dtostre-subnrm, 1282 dtostre-zero,dtostrf-01,dtostrf-big,dtostrf-minmax,dtostrf-nans, 1283 dtostrf-round,dtostrf-width,strtol-1,strtol-2,strtol-3, 1284 strtol-4}.c: New files. 1285 * tests/simulate/string: New directory. 1286 * tests/simulate/string/{ffs-1,ffsl-1,ffsll-1}.c: New files. 1287 12882007-02-05 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 1289 1290 * doc/api/faq.dox: Add some explanation how to convert raw binary 1291 data so they can be linked into the image. 1292 12932007-02-05 Dmitry Xmelkov <dmix@gmail.ru> 1294 1295 * libc/stdlib/atoi.S: Fix bug #18899: atoi and atol do not handle 1296 vertical tab properly. Reduce program size considarably. 1297 * libc/stdlib/atol.S: (Ditto.) 1298 1299 * devtools/table.tar.bz2: Remove as a test directory will expanded. 1300 1301 * tests/: New directory. 1302 13032007-02-03 Anatoly Sokolov <aesok@post.ru> 1304 1305 * include/avr/iotnx61.h (WGM00, PWM1X) Define. 1306 Closes bug #18915: PWM1X Bit missing for ATtiny261/461/861 1307 13082007-01-30 Anatoly Sokolov <aesok@post.ru> 1309 1310 * /doc/api/using-tools.dox: Document GCC macros. 1311 13122007-01-27 Anatoly Sokolov <aesok@post.ru> 1313 1314 * include/avr/iom3290.h (BODSE, BODS, LCDCCD, LCDBD, LCDMDT): Define 1315 for ATMega3290P. 1316 * include/avr/iom3290p.h: Delete. 1317 * include/avr/Makefile.am (avr_HEADERS): Delete iom3290p.h. 1318 * include/avr/io.h: Include iom3290.h instead iom3290p.h. 1319 13202007-01-23 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 1321 1322 * include/assert.h: Add \file doxygen directive. 1323 * include/ctype.h: (Ditto.) 1324 * include/errno.h: (Ditto.) 1325 * include/inttypes.h: (Ditto.) 1326 * include/math.h: (Ditto.) 1327 * include/setjmp.h: (Ditto.) 1328 * include/stdint.h: (Ditto.) 1329 * include/stdio.h: (Ditto.) 1330 * include/stdlib.h: (Ditto.) 1331 * include/string.h: (Ditto.) 1332 * include/avr/boot.h: (Ditto.) 1333 * include/avr/eeprom.h: (Ditto.) 1334 * include/avr/interrupt.h: (Ditto.) 1335 * include/avr/io.h: (Ditto.) 1336 * include/avr/pgmspace.h: (Ditto.) 1337 * include/avr/power.h: (Ditto.) 1338 * include/avr/sleep.h: (Ditto.) 1339 * include/avr/wdt.h: (Ditto.) 1340 * include/util/crc16.h: (Ditto.) 1341 * include/util/delay.h: (Ditto.) 1342 * include/util/parity.h: (Ditto.) 1343 * include/util/twi.h: (Ditto.) 1344 * libc/pmstring/memcpy_P.S: (Ditto.) 1345 * libc/pmstring/strcasecmp_P.S: (Ditto.) 1346 * libc/pmstring/strcat_P.S: (Ditto.) 1347 * libc/pmstring/strcmp_P.S: (Ditto.) 1348 * libc/pmstring/strcpy_P.S: (Ditto.) 1349 * libc/pmstring/strlcat_P.S: (Ditto.) 1350 * libc/pmstring/strlcpy_P.S: (Ditto.) 1351 * libc/pmstring/strlen_P.S: (Ditto.) 1352 * libc/pmstring/strncasecmp_P.S: (Ditto.) 1353 * libc/pmstring/strncat_P.S: (Ditto.) 1354 * libc/pmstring/strncmp_P.S: (Ditto.) 1355 * libc/pmstring/strncpy_P.S: (Ditto.) 1356 * libc/pmstring/strnlen_P.S: (Ditto.) 1357 * libc/pmstring/strstr_P.S: (Ditto.) 1358 * libc/stdio/fdevopen.c: (Ditto.) 1359 * libc/stdlib/atoi.S: (Ditto.) 1360 * libc/stdlib/atol.S: (Ditto.) 1361 * libc/string/ffs.S: (Ditto.) 1362 * libc/string/ffsl.S: (Ditto.) 1363 * libc/string/ffsll.S: (Ditto.) 1364 * libc/string/memccpy.S: (Ditto.) 1365 * libc/string/memchr.S: (Ditto.) 1366 * libc/string/memcmp.S: (Ditto.) 1367 * libc/string/memcpy.S: (Ditto.) 1368 * libc/string/memmove.S: (Ditto.) 1369 * libc/string/memset.S: (Ditto.) 1370 * libc/string/strcasecmp.S: (Ditto.) 1371 * libc/string/strcat.S: (Ditto.) 1372 * libc/string/strchr.S: (Ditto.) 1373 * libc/string/strcmp.S: (Ditto.) 1374 * libc/string/strcpy.S: (Ditto.) 1375 * libc/string/strlcat.S: (Ditto.) 1376 * libc/string/strlcpy.S: (Ditto.) 1377 * libc/string/strlen.S: (Ditto.) 1378 * libc/string/strlwr.S: (Ditto.) 1379 * libc/string/strncasecmp.S: (Ditto.) 1380 * libc/string/strncat.S: (Ditto.) 1381 * libc/string/strncmp.S: (Ditto.) 1382 * libc/string/strncpy.S: (Ditto.) 1383 * libc/string/strnlen.S: (Ditto.) 1384 * libc/string/strrchr.S: (Ditto.) 1385 * libc/string/strrev.S: (Ditto.) 1386 * libc/string/strsep.S: (Ditto.) 1387 * libc/string/strstr.S: (Ditto.) 1388 * libc/string/strtok_r.S: (Ditto.) 1389 * libc/string/strupr.S: (Ditto.) 1390 * doc/api/dox_html_header: Include reference to alphabetical 1391 globals list, collected from all files that have \file. 1392 * doc/api/dox.css: Update for doxygen version 1.4.7. 1393 13942007-01-23 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 1395 1396 Various documentation fixes. 1397 * xml/patch-headers.py: Update for new devices. 1398 * doc/api/vectortable.dox: Regenerate from patch-headers.py. 1399 Closes bug #18686: AT90USB**** devices are absent in 1400 interrupt-verctor-names table 1401 * include/stdlib.h: Fix doxygen generation for dtostr*() 1402 functions. 1403 Closes bug #18726: the dtostrf function description is missing 1404 in AVR-Libc's webpage 1405 * doc/api/faq.dox: Resolve some doxygen warnings. 1406 * doc/examples/asmdemo/asmdemo.dox: (Ditto.) 1407 * doc/examples/demo/demo.dox: (Ditto.) 1408 14092007-01-23 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 1410 1411 Cosmetic/white space change only: 1412 * include/avr/iocanxx.h: Regenerate vector table from script. 1413 * include/avr/iom406.h: (Ditto.) 1414 * include/avr/iomxx4.h: (Ditto.) 1415 * include/avr/iotn2313.h: (Ditto.) 1416 * include/avr/iousbxx6_7.h: (Ditto.) 1417 14182007-01-23 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 1419 1420 * LICENSE: Update copyright year. 1421 * doc/api/main_page.dox: Include copyright notice into 1422 documentation. 1423 14242007-01-21 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 1425 1426 * include/avr/iomxx4.h: Clarify a confusing comment that all the 1427 picopower devices covered by this file feature a second USART. 1428 14292007-01-19 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 1430 1431 * doc/examples/largedemo/largedemo.c: Port the "largedemo" to 1432 the ATtiny2313. 1433 * doc/examples/largedemo/largedemo.dox: Describe the ATtiny2313 1434 port. 1435 * doc/examples/largedemo/Makefile: Add a MCU_TARGET hint for 1436 the ATtiny2313. 1437 14382007-01-18 Anatoly Sokolov <aesok@post.ru> 1439 1440 * common/macros.inc (__AVR_HAVE_MUL__): Define. 1441 * libc/misc/mul10.S (__mulhi_const_10): Use __AVR_HAVE_MUL__ instead 1442 of __AVR_ENHANCED__. 1443 14442007-01-15 Dmitry Xmelkov <dmix@gmail.ru> 1445 1446 * devtools/table.tar.bz2: New file. This is a test tarball of 1447 float point functions, table mode test. This is a temporary 1448 variant, so it is a tarball. See 'table/tst-all.sh' for run 1449 instruction. 1450 14512007-01-14 Anatoly Sokolov <aesok@post.ru> 1452 1453 * configure.ac: Add tests for the AT90PWM1 support. 1454 * devtools/gen-avr-lib-tree.sh: Add support for AT90PWM1 device. 1455 * include/avr/io.h: (Ditto.). 1456 * include/avr/wdt.h: (Ditto.). 1457 * include/avr/io90pwm1.h: new file. 1458 * include/avr/Makefile.am: include new file. 1459 * doc/api/main_page.dox: Document support for AT90PWM1 device. 1460 * doc/api/using-tools.dox: (Ditto.) 1461 14622007-01-14 Dmitry Xmelkov <dmix@gmail.ru> 1463 1464 * bootstrap: Version 2.60 for autoconf is added. 1465 1466 New version of math library: 1467 * libm/fplib/{dtostre.S,dtostrf.S,fp_cosinus.S,fp_flashconst.S, 1468 fp_inverse.S,fp_m_inf.S,fp_merge.S,fp_p_inf.S,fp_powerseries.S, 1469 fp_split.S,fplib.inc,isinfnan.S,readme.dtostre,readme.fplib, 1470 readme.strtod,strtod.S}: Removed. 1471 * libm/fplib/{asmdef.h,copysign.S,fdim.S,fixsfdi.S,floatdisf.S, 1472 floatunsdisf.S,fma.S,fmax.S,fmin.S,fp32def.h,fp_arccos.S,fp_inf.S, 1473 fp_mintl.S,fp_mpack.S,fp_negdi.S,fp_norm2.S,fp_powser.S, fp_powsodd.S, 1474 fp_pscA.S,fp_pscB.S,fp_rempio2.S,fp_round.S,fp_sinus.S,fp_split3.S, 1475 fp_trunc.S,hypot.S,inverse.S,isfinite.S,isinf.S,isnan.S,ntz.h, 1476 signbit.S,trunc.S}: New files. 1477 * libm/fplib/{Files.am,acos.S,addsf3.S,addsf3x.S,asin.S,atan.S, 1478 atan2.S,ceil.S,cos.S,cosh.S,divsf3.S,divsf3x.S,exp.S,fixsfsi.S, 1479 floatsisf.S,floor.S,fmod.S,fp_cmp.S,fp_nan.S,fp_zero.S,frexp.S, 1480 ldexp.S,log.S,log10.S,modf.S,mulsf3.S,mulsf3x.S,negsf2.S,pow.S, 1481 sin.S,sinh.S,sqrt.S,square.S,tan.S,tanh.S}: Replaced. 1482 * libc/stdlib/{atof.S,dtoa_conv.h,dtoa_prf.c,dtostre.c,dtostrf.c, 1483 ftoa_engine.S,ftoa_engine.h,strtod.c}: New files. 1484 * libc/stdlib/Files.am: A set of new files added. 1485 * include/math.h: A set of new functions added. 1486 * include/stdlib.h (dtostrf): doc is corrected 1487 14882007-01-14 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 1489 1490 Submitted by Robert Schiele: 1491 * include/stdint.h: Exclude 64-bit types when -mint8 is in effect. 1492 * include/avr/pgmspace.h: (Ditto.) 1493 14942007-01-08 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 1495 1496 * include/avr/boot.h (boot_lock_bits_set): Fix a typo: BLB11 needs 1497 to be programmed (rather than BLB12) in order to prevent the 1498 application from overwriting the boot loader section. 1499 Closes bug #18115: online documentation typo/bug avr/boot.h 1500 15012007-01-08 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 1502 1503 * include/stdio.h: Document that malloc() is no longer needed for 1504 floating-point conversions as it once used to be. 1505 Closes bug #18688: vfscanf and vfprintf don't use malloc 1506 15072007-01-08 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 1508 1509 Fix broken seeding of the PRNGs when seeding with 0. 1510 This fix is courtesy Andrew Chernov from the FreeBSD 1511 project (rev. 1.21 of their random.c). 1512 * libc/stdlib/random.c (do_random): seed with another (arbitrary) value 1513 when attempting to seed with 0. 1514 * libc/stdlib/rand.c (do_rand): (Ditto.) 1515 Closes bug #18662: rand() keeps returning the same value if seeded with 0 1516 1517For older changes see ChangeLog-2006 1518