make RAM big enough for tinibios
[fw/sdcc] / ChangeLog
index 69d11c3bcb6e69c97a626a7b8a3d9ddf46aa0508..ab67c49f637f1cf546593a12e7308316968a238d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,371 @@
-2002-05-10  Scott Dattal <scott@dattalo.com>
+2003-01-26  Bernhard Held <bernhard@bernhardheld.de>
+
+       * as/mcs51/strcmpi.c: added, provides as_strcmpi(); strcmpi() is not ANSI
+       * as/mcs51/strcmpi.h: added
+       * as/mcs51/asm.h: remove ugly "#define strcmpi strcmp"
+       * as/mcs51/aslink.h: remove ugly "#define strcmpi strcmp"
+       * as/mcs51/asmain.c: strcmpi -> as_strcmpi
+       * as/mcs51/assym.c: strcmpi -> as_strcmpi
+       * as/mcs51/lkmem.c: strcmpi -> as_strcmpi
+       * as/mcs51/lknoice.c: strcmpi -> as_strcmpi
+       * as/mcs51/lksym.c: strcmpi -> as_strcmpi
+       * as/mcs51/Makefile.aslink: new module strcmpi
+       * as/mcs51/Makefile.asx8051: new module strcmpi
+       * as/mcs51/Makefil.bcc: new module strcmpi
+       * as/mcs51/Makefile.in: new module strcmpi
+       * sim/ucsim/s51.src/uc390.cc (get_mem_size): make RAM big enough for tinibios
+
+2003-01-26    <johan@balder>
+
+       * src/SDCCglue.c: reverted back to 1.124
+       * src/SDCCast.c: reverted back to 1.156
+       * src/mcs51/gen.c (aopGet): applied Frieder's efficiency patch
+
+2003-01-25    <johan@balder>
+
+       * src/SDCCglue.c: A better fix for bug #661910
+       * src/SDCCast.c: A better fix for bug #661910
+       * src/SDCCglue.c (emitRegularMap): That was a little too efficient
+
+2003-01-24  Bernhard Held <bernhard@bernhardheld.de>
+
+       * src/Makefile.in: remove spawn.o
+       * src/SDCCmain.c: remove spawn.h
+       * src/SDCCmain.c (printVersionInfo): report MINGW32 instead of UNIX
+       * src/spawn.c: removed
+       * src/spawn.h: removed
+       * support/regression/ports/ds390/spec.mk: link with -r
+
+2003-01-24    <johan@CP255758-A>
+
+       * src/ds390/gen.c (aopOp): fixed bug #667458
+       * src/SDCCglue.c (emitRegularMap): fixed bug #458099 again
+       * src/SDCCast.c (createIvalCharPtr): fixed bug #661910
+       (createIvalCharPtr): an ival doesn't always have a storage class anymore
+
+2003-01-24  Bernhard Held <bernhard@bernhardheld.de>
+
+       * src/mcs51/peeph.def: better assembler identation by Frieder
+       * src/mcs51/gen.c: better assembler identation by Frieder
+
+2003-01-22  Bernhard Held <bernhard@bernhardheld.de>
+
+       * as/z80/string.h: removed for gcc 3.2
+       * support/makebin/makebin.c: #include <string.h> for gcc 3.2
+       * src/pic/pcode.c (get_op_from_instruction): fix concatenation of string literals with __FUNCTION__ for gcc 3.2
+
+2003-01-19  Bernhard Held <bernhard@bernhardheld.de>
+
+       * src/SDCCmain.c (linkEdit): rename mem and map files even in case of failure
+       * src/SDCCpeeph.c (replaceRule): fix bug #663503
+       * support/regression/Makefile: separate temp files for ports
+       * support/regression/generate-cases.py: separate temp files for ports
+       * src/mcs51/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
+       * src/ds390/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
+
+2003-01-19  Bernhard Held <bernhard@bernhardheld.de>
+
+       * moved tinitalk to device/examples/ds390
+
+2003-01-14  Bernhard Held <bernhard@bernhardheld.de>
+
+       * as/mcs51/lkmem.c: rflag is for DS390
+       * src/SDCCglobl.h: removed out_name and options stackOnData, genericPtr
+       * src/SDCCmain.c (optionsTable, setDefaultOptions): removed --stack-after-data and --generic
+                        (linkEdit): move mem- and map-files the same way as ihx-files
+       * src/z80/main.c (_setDefaultOptions): removed --generic
+       * src/SDCCmain.c (_processC1Arg, parseCmdLine, main): --c1mode works again
+       * src/SDCCglue.c (createInterruptVect, glue): --c1mode works again
+       * src/pic/glue.c (picglue): --c1mode works again
+       * src/pic16/glue.c (pic16glue): --c1mode works again
+       * src/asm.c (printCLine): fix #660034
+
+2003-01-13  Bernhard Held <bernhard@bernhardheld.de>
+
+       * src/ds390/peeph.def: fix #123; add 14 rules by Fiorenzo D. Ramaglia <fd.ramaglia@tin.it>, 1 by Frieder
+       * src/mcs51/peeph.def: fix #123; add 14 rules by Fiorenzo, 1 by Frieder
+       * src/mcs51/gen.c (genFunction): emit r0 instead of ar0 by Fiorenzo
+       * as/mcs51/lkmem (summary): better fix for sp problem
+       * src/SDCCglue.c (glue): __start_stack - 1, saves 1 byte!
+       * src/ds390/main.c (_ds390_finaliseOptions, _tininative_finaliseOptions): stack_loc = 0x400008
+       * support/regression/ports/*/spec.mk: moving testfwk-object to port dir allow parallel execution of regression tests
+                                             remove --stack-after-data
+
+2003-01-12  Bernhard Held <bernhard@bernhardheld.de>
+
+       * src/SDCCmain.c (main): port->finaliseOptions() moved for z80 linking
+       * src/SDCCutil.c (join): ugly bug: missing '\0'
+       * as/mcs51/lkmem.c (summary): sp on address 7 is safe
+
+2003-01-11  Bernhard Held <bernhard@bernhardheld.de>
+
+       * src/SDCCmain.c (assemble, linkEdit): preparations for -o
+       * src/port.h: typo
+       * src/pic/main.c (_asmCmd): gpasm supports -o
+       * src/z80/main.c: more general macros
+       * device/lib/Makefile.in: remove intermediate files
+
+2003-01-11  Bernhard Held <bernhard@bernhardheld.de>
+
+       * .version: Bumped version number to 2.3.3
+       * src/SDCCBBlock.c: new option -o
+       * src/SDCCglobl.h: new option -o
+       * src/SDCCglue.c: new option -o
+       * src/SDCCmain.c: new option -o
+       * src/asm.c: new option -o
+       * src/ds390/main.c: new option -o
+       * src/pic/glue.c: new option -o
+       * src/pic/pcode.c: new option -o
+       * src/pic/ralloc.c: new option -o
+       * src/pic16/glue.c: new option -o
+       * src/pic16/pcode.c: new option -o
+       * src/pic16/ralloc.c: new option -o
+       * src/z80/main.c: new option -o
+       * device/lib/Makefile.in: use -o
+       * support/regression/ports/ds390/spec.mk: use -o
+       * support/regression/ports/gbz80/spec.mk: use -o
+       * support/regression/ports/mcs51/spec.mk: use -o
+       * support/regression/ports/mcs51-stack-auto/spec.mk: use -o
+       * support/regression/ports/z80/spec.mk: use -o
+       * support/regression/ports/ucz80/spec.mk: use -o
+       * support/regression/ports/xa51/spec.mk: use -o
+       * support/regression/fwk/lib/timeout.c: fix usage string
+
+2003-01-09  Bernhard Held <bernhard@bernhardheld.de>
+       * src/mcs51/gen.c (genPlus): replaced "mov b,acc" by "mov b,a" Fiorenzo D. Ramaglia <fd.ramaglia@tin.it>
+       
+2003-01-07    <johan@balder>
+
+       * src/SDCCast.c (decorateType): fixed bug #600035
+
+2003-01-07  Bernhard Held <bernhard@bernhardheld.de>
+       * as/mcs51/lkmem.c: added several l-modifiers to printf to remove warnings
+       * as/mcs51/lkaomf51.c: #include <ctype.h> to remove warnings
+       * src/pic/main.c (_hasNativeMulFor): outcommented unused variables to remove warnings
+       * src/pic/pcode.c: outcommented unused variable to remove warnings
+       * src/pic/ralloc.c: outcommented unused variable to remove warnings
+
+2003-01-06    <karl@turbobit.com>
+       * sim/ucsim/cmd.src/command.cc: fixed so "break xram r 0x7654" works again in
+   regression tests.
+
+2003-01-06    <johan@balder>
+
+       * src/SDCCicode.c: fixed array add
+
+2002-01-05  Bernhard Held <bernhard@bernhardheld.de>
+       * src/SDCCmacro.c: MAX_STRING_LENGTH increased to 2048; was too small for regression tests
+       * support/regression/ports/host/support.c: #include <stdarg.h> for gcc 3.2
+
+2003-01-04    <johan@balder>
+
+       * src/SDCCval.c (getNelements): fixed the initialized array of structures
+
+2002-12-29  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+        * as/mcs51/Makefile.bcc: fixed typo lkomf51.o -> lkaomf51.o
+
+2002-12-28  Bernhard Held <bernhard@bernhardheld.de>
+       * src/mcs51/peeph.def: added rules 234 and 235 from Frieder Ferlemann <frieder.ferlemann@web.de>
+       * support/regression/tests/bug-524697.c: fit mem usage into 8032
+
+2002-12-28  Bernhard Held <bernhard@bernhardheld.de>
+       * src/mcs51/gen.c (aopGetUsesAcc): inserted missing "return FALSE"
+
+2002-12-27  Bernhard Held <bernhard@bernhardheld.de>
+        * as/mcs51/Makefile.in: fixed typo lkomf51.o -> lkaomf51.o
+
+2002-12-26  Bernhard Held <bernhard@bernhardheld.de>
+       * src/mcs51/main.c: removed {bindir}{sep} from aslink
+
+2002-12-10  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+
+    * in \sdcc\as\mcs51\ changed these files in order to create an
+    aomf51 file: aslink.h, lkdta.c, lklex.c, lklibr.c, lklist.c,
+    lkmain.c.  Also added: lkmem.c and lkaomf51.c.  Changed the 
+    following files to include the previous two files: aslink.dsp,
+    Makefile.aslink, Makefile.bcc, and Makefile.in.
+
+    * Changed \sdcc\src\SDCCmain.c so it creates files with extension
+    .adb instead of .cdb
+    
+2002-11-09  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+
+       * \sdcc\as\mcs51\lklist.c: Now reports memory usage using the
+       value from option --iram-size.
+
+2002-09-20  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+
+       * \sdcc\as\mcs51\lklist.c: added boundary check before using
+       dram[] array.
+
+2002-09-18    <wiml@hhhh.org>
+
+       * SDCClrange.h: exposed setFromRange() and setToRange()
+       * mcs51/ralloc.c: fixed over-eager packRegsForSupport() and
+         packRegsForAccUse() (bug 542397)
+       * mcs51/gen.c: MOVA() is now a function to avoid calling aopGet()
+         multiple times and emitting the fetch operations more than once
+         added aopGetUsesAcc() function to allow binary operators to
+         fetch their operands in the correct order; made genMinus() emit
+         compact code for X = LITERAL - Y 
+
+2002-09-00  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+       * \sdcc\as\mcs51\lklist.c: Fixed incorrect number of parameters to
+       sprintf() in line 1267.
+
+2002-09-08  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+       * \sdcc\src\SDCCglue.c: Generate areas REG_BANK_[0-3] only for 8051
+       like ports.
+
+2002-09-04  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+       Changes to aslink (All the changes are marked with 'JCF'):
+
+       * \sdcc\as\mcs51\aslink.h: External definition of sflag and
+       summary().
+
+       * \sdcc\as\mcs51\lkarea.c: Computes the size of area BSEG_BYTES from
+       area BSEG.  Also moves, if possible, the DATA area down into the internal
+       ram so more space is available.
+
+       * \sdcc\as\mcs51\lkdata.c: Definition of memory summary output flag
+       sflag.
+
+       * \sdcc\as\mcs51\lklist.c: For the BSEG area report the size in bits,
+       not bytes.  Function summary() which creates a memory usage summary
+       file with extension .mem.  Reports of overlaping stack and small stack
+       size.  If the space for the stack is less than 16 bytes aslink trows a
+       warning.
+       
+       * \sdcc\as\mcs51\lkmain.c: Creation of some of the default areas for
+       the 8051.  Option 'y' for memory summary output file.
+
+       Changes to sdcc (All the changes are marked with 'JCF'):
+
+       * \sdcc\src\SDCCglobl.h: External definition of RegBankUsed[4].
+
+       * \sdcc\src\SDCCglue.c:  If a register bank is used, creates an
+       overlaying area for it (uses RegBankUsed[4]).
+
+       * \sdcc\src\SDCCmain.c: Definition RegBankUsed[4]; marks register
+       bank zero as used by default.  By default aslink locates the stack
+       (equivalent to --stack-after-data).  Pass option 'y' to aslink for
+       the creation of the .mem file.  Delegates the allocation of data area
+       to aslink (it is not longer 0x30 by default).  If --stack-loc passes
+       the begining of the stack area to aslink.
+
+       * \sdcc\src\SDCCmem.c:  If a register bank is used, marks it so
+       glue() in SDCCglue.c creates an area for it.
+       
+2002-09-03  Borut Razem <borut.razem@siol.net>
+       * sdcc/src/SDCCglue.c, sdcc/src/SDCCglue.h, sdcc/src/SDCCmain.c,
+       sdcc/src/pic/glue.c:
+       introduced atexit() handler for teporay files removal in case of
+       errors, assertions, ...
+
+2002-08-29  Borut Razem <borut.razem@siol.net>
+       * sdcc/support/cpp2/auto-host_vc_in.h:
+       re-definition of O_BINARY and other O_XXX as _O_BINARY and _O_XXX, so the problem
+       with the returned value from read() in sdcc/support/cpp2/cppfiles.c is solved for MSC.
+       Maybe there is a similar problem with BORLANDC? It should be checked!
+
+       * sdcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c, sdcc/src/z80/ralloc.c:
+       corrected improper use of assert: the assignment to clr variable was done inside the assert.
+       In case that NDEBUG was defined, the assert macro was substituted with no-op, so the assignment
+       was not executed, and the compiler (cl) launched a warning:
+       ralloc.c(1442) : warning C4700: local variable 'clr' used without having been initialized
+
+2002-08-28  Bernhard Held <bernhard@bernhardheld.de>
+       * src/SDCCglue.c (printIvalArray): iterative calculation of array length
+
+2002-08-28  Jesus Calvino-Fraga and Borut Razem <borut.razem@siol.net>
+       * sdcc/sdcc.dsw: added sdcpp, sdcppa, yacc, conf projects
+
+       * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
+         sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp,
+         sdcc/src/xa51/xa51.dsp, sdcc/src/avr/avra.dsp,
+         sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
+         sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp,
+         sdcc/src/xa51/xa51a.dsp, sdcc/as/as_z80.dsp,
+         sdcc/as/aslink.dsp, sdcc/as/asx8051.dsp, sdcc/packihx/packihx.dsp:
+       - added Release configuration in VS projects
+       - review of compiler an linker options
+       - VC .exe files are generated in bin_vc directory, not to interfere
+         with binaries generated from other projects (cygwin, mingw, bcc ...)
+
+       * sdcc/src/yacc.dsp: added
+
+       * sdcc/config.dsp, sdcc/configure_vc.awk, sdcc/sdcc_vc_in.h:
+       added - genarate sdcc_vc.h using sdcc_vc_in.h as template
+       and insert the version number definitions from .version 
+
+       * sdcc/support/cpp2/sdcpp.dsp: added - VC project for sdcpp
+
+       * sdcc/support/cpp2/sdcppa.dsp, sdcc/support/cpp2/auto-host_vc_in.h:
+       added - genarate auto-host.h using auto-host_vc_in.h as template
+
+       * sdcc/sdcc_vc.h,
+       removed from CVS, generated automatically
+
+2002-08-25  Bernhard Held <bernhard@bernhardheld.de>
+       * support/scripts/inc2h.pl: use gputils or gpasm (from Nathan Hurst)
+
+2002-08-11  Borut Razem <borut.razem@siol.net>
+       * support/Util/NewAlloc.c: removed unneeded #include "sdccconf.h" (suggested by Jesus Calvino-Fraga)
+
+2002-08-10  Borut Razem <borut.razem@siol.net>
+       * src/SDCCmain.c (main):
+       file preOutName was unlinked before closed. This seems to be OK on UNIX and cygwin
+       platforms, but it doesn't work with Visual Studio: the opened file can not be removed.
+       The consequence was that some temporary files were not removed.
+
+       * src/SDCCglue.c:
+       unification of code in functions tempfilename() and tempfile():
+       function tempnam() is defined in Visual Studio 6.0 and .NET
+
+       * sdcc/sdcc.dsw: removed project sdcpp, added project xa51a
+
+       * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
+         sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp:
+       - removed compiler command line option /WX: Treats all warnings as errors
+       - update a list of source files, included into the project
+
+       * sdcc/src/avr/avra.dsp, sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
+         sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp:
+       changed project type to Generic Project so that can be correcly converted to VS.NET project
+
+       * sdcc/as/mcs51/asm.h: definition of PATH_MAX for MSC
+
+       * sdcc/src/SDCCast.c: solved MSC error in function decorateType()
+
+       * sdcc/src/SDCC.y: added missing ending ';' to rules to get rid of bison warnings
+
+       * dcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c:
+       added return 0 statements after assert() to make compiler happy
+
+       * sdcc/src/xa51/peeph.rul, sdcc/src/xa51/peeph.def, sdcc/src/z80/ralloc.c:
+       added newline in the def file to keep MSC compiler satisfied
+
+       * sdcc/src/z80/gen.c:
+       - function strcasecmp() is not defined in MSC (and probably also in BORLANDC),
+         so it is replaced with STRCASECMP, which is defined as stricmp in case of MSC and BORLANDC
+       - solved MSC error in function aopDump()
+
+       * sdcc_vc.h: define PREFIX as "\\sdcc"
+
+2002-07-18  Bernhard Held <bernhard@bernhardheld.de>
+       * src/SDCCast.c (decorateType): fixed access to array of structures http://sourceforge.net/mailarchive/forum.php?thread_id=902690&forum_id=4107
+
+2002-06-22  Scott Dattalo <scott@dattalo.com>
+       * src/pic/*: Numerous bug fixes. Flow analysis has been enhanced. 
+       - Rewrote the register banking algorithm. 
+       - Added pCode live-range analysis to registers (for now, only non-used and 
+       singly-used registers optimized away)
+
+       * src/pic/pcoderegs.[ch]: Added new files for pCode live-range analysis
+
+       * support/scripts/inc2h.pl Kevin L. Pauba <klpauba@cox.net> submitted this perl script for converting MicroChip include files into SDCC Pic include files.
+       
+2002-05-10  Scott Dattalo <scott@dattalo.com>
        * src/pic/*: Added support for multiplication. Fixed many,many bugs.
        
 2002-04-22  Michael Hope  <michaelh@vroom>
 
        * support/regression/tests/bug-524691.c: made it a little less shy 
 
-       * src/SDCCast.c (decorateType): fixed bug #524697 
+       * src/SDCCast.c (decorateType): fixed bug #524697
 
        * src/SDCCast.c: made some lineno improvements