--- rpl/ChangeLog 2010/04/20 12:49:17 1.19 +++ rpl/ChangeLog 2010/08/30 14:14:06 1.46 @@ -1,4 +1,99 @@ -* Tue Apr 20 2010 BERTRAND Joël rpl-4.0.14 (RPL/2) +* Thu Aug 26 2010 BERTRAND Joël rpl-4.0.19 (RPL/2) +- minor bug is fixed in data injection (POKE) that does not work as expected +when child process is protected by NRPROC. +* Thu Aug 26 2010 BERTRAND Joël rpl-4.0.18 (RPL/2) +- --enable-sysv-sems is added to configure script to use SystemV semaphores +functions instead of POSIX functions. This function is disabled or forced on +systems that does not provide correct POSIX or SysV semaphores subsystem; +- a dirty but not quick patch is written to workaround broken siginfo +structures. This patch has been successfully tested. It uses a segment of +shared memory (SysV) and eleven semaphores (Posix or SysV) by process +(Unix PID); +- some OpenBSD's hacks are added; +- broken siginfo->si_pid field is now checked by configure script; +- SWI now sends SIGCONT to interrupted process to start interrupt without delay; +- random generator is cloned by SPAWN; +- in transliteration subroutine : '\r' is added after all '\n' in OS/2 port; +- getaddrinfo is hardcoded when host system does not provide getaddrinfo +or freeaddrinfo; +- RPL/2 can now use SystemV semaphores when POSIX semaphores are unavailable; +- major bug is fixed in CHR intrinsic when obtained character is not printable; +- Lapack is upgraded to 3.2.2; +- OS/2 (eComStation 2.0 with EMX 0.9d) support is added; +- TOKENIZE is now able to convert escape sequences; +- ATPOKE and CLRATPOKE new intrinsics are added; +- --enable-full-static configure flag is added. With this flag, mysql and +postgresql libraries are statically linked in rpl executable; +- units Makefile is modified to avoid readline and ncurses usages; +- sqlite is upgraded to 3.7.0.1; +- units is upgraded to 1.88; +- another major bug is fixed in the same variable creation subroutine. +Level 0 and 1 variables adresses were swapped when a global variable masked +a name of RPL/2 routine; +- major bug is fixed in global variable creation subroutine. When a global +variable was created and when a local variable existed with the same name, +computed address of global variable was wrong; +- src/Makefile.am is modified to avoid a bug on several systems. libptmalloc3 +is forced in front of all libraries. +* Tue Jul 13 2010 BERTRAND Joël rpl-4.0.17 (RPL/2) +- BACKTRACE intrinsic is added; +- major bug is fixed in SELECT/DEFAULT/END conditional structure. Only occurs +when this structure is included in IFERR/THEN/END structure and when an error is +caught; +- major bug is fixed in analyse() subroutine. When evaluation() returned error +in a compiled program, analyse() caught this error twice and randomly aborted +with a segmentation error; +- TRIM and TOKENIZE replace both '\n' and '\t' by regular spaces; +- ATEXIT subroutine begins with an implicit CSTOP to avoid multiple stop +signals; +- memory leak is fixed in ROW+. It only occurs when a row is added to an empty +matrix. +* Thu Jun 24 2010 BERTRAND Joël rpl-4.0.16 (RPL/2) +- minor bug is fixed in evaluation() subroutine. With this patch, same program +returns same result with or without -p flag; +- ncurses 5.7 is upgraded to 20100619; +- openssl is upgraded to 1.0.0a; +- interrupt stacks are now FIFO instead of LIFO; +- debug memory allocation subroutines are improved to run in multithreaded +programs; +- some memory leaks are fixed in process management (SPAWN and DETACH); +- version verification is added to shared objects; +- -D_GNU_SOURCE is added to ptmalloc3 makefile to avoid a major bug on 64 bits +linux (false mremap() prototype); +- major bug is fixed in rpliconv. getc() returns an int, not a unsigned char. +* Sun May 23 2010 BERTRAND Joël rpl-4.0.15 (RPL/2) +- all '-' are replaced by '_' in random generator list; +- minor memory leak is fixed in OPEN intrinsic (socket); +- major bug is fixed in IFERR structure. Only occurs in compiled program; +- major bug is fixed in copie_objet() and liberation(). Only concerns +format in FCH (file descriptor) and SCK (socket descriptor); +- debug routines are improved; +- PROCID is added; +- MEMLOCK and MEMUNLOCK are added. MEMLOCK forces a process to remain in memory +and to not use swap; +- major bug is fixed in sql support. SQL connections were closed in all chield +process; +- standard allocator (malloc()/free()) is replaced by ptmalloc3 due to some bugs +discovered in Solaris thread safe allocators (libmalloc and libumem) that +are first fit class allocators. Solaris libmtmalloc works better and is +a best fit class allocator but its performance is poor than ptmalloc3 +performance; +- major bug is fixed in ROW+ intrinsic (new row was not added where it +should); +- minor bugs are fixed in interruptions.c (semaphores values when error is +caught); +- major bug is fixed in STOP intrinsic. STOP was unable to stop any process +created by SPAWN; +- SIGFABORT is added. When process receives SIGFSTOP, it tries to execute +ATEXIT. If it receives SIGFABORT, it does not; +- ONEXIT is renamed in ATEXIT; +- ONEXIT new intrinsic is added. +* Wed Apr 21 2010 BERTRAND Joël rpl-4.0.14 (RPL/2) +- major bug is fixed in static and shared variables initialization subroutine. +This bug only occurs when RPL/2 tries to create a shared or static variable +from an expression; +- major bug is fixed in copie_etat_processus(). A field that contains +information about shared variable was not copied to new processus structure; - some little memory leaks are fixed in evaluation(), recherche_type() and sequenceur(). They only occured when syntax error were caught; - IMPLICIT causes execution error instead system error;