* configure, configure.in: generate support/regression/Makefile
[fw/sdcc] / ChangeLog
index 98c4a98270e323daa6539e917b3b565462b423fd..1700b385d4d619b4a4407c5e8491ae8162675988 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,351 @@
+2005-08-20 Borut Razem <borut.razem AT siol.net>
+
+       * configure, configure.in: added tests for libsocket and libnsl libraries,
+         requred by sdcdb on sparc-solaris; generate support/regression/Makefile
+         from support/regression/Makefile.in
+       * support/regression/Makefile.in: added
+       * device/lib/pic16/Makefile.common.in: force make to use bash shell
+       * sim/ucsim/libtool: regenerated on sparc-solaris
+       * sim/ucsim/avr.src/Makefile.in, sim/ucsim/hc08.src/Makefile.in,
+         sim/ucsim/s51.src/Makefile.in, sim/ucsim/xa.src/Makefile.in,
+         sim/ucsim/z80.src/Makefile.in: removed GNU ld specific linker options 
+         -Wl,--start-group and -Wl,--end-group to enable ucsim compilation on
+         sparc-solaris, which doesn't use GNU ld linker
+       * device/lib/Makefile.in: cp on sparc-solaris (SunOS) does not support -u option
+       * as/Makefile: find on sparc-solaris does not support -maxdepth option
+
+2005-08-19 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/mcs51/peeph.def: updated comments
+
+2005-08-16 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * device/lib/_gptrget.c,
+       * device/lib/_gptrput.c: slightly shorter
+       * doc/sdccman.lyx: incremented version
+       * src/mcs51/peeph.def: moved peephole comments to the line of first
+         change to better keep line correlation, reanimated 186.e
+       * src/mcs51/peeph.def: renamed similar peepholes by using suffixes
+
+2005-08-16 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/pcode.c : Pasted ".line" assembly directives patch from
+         David Saxton with quotes around file name.
+
+2005-08-15 Borut Razem <borut.razem AT siol.net>
+
+       * support/regression/tests/bitfields.c, support/regression/tests/bitvars.c,
+         support/regression/tests/bitwise.c, support/regression/tests/literalop.c,
+         support/regression/tests/rotate.c, support/regression/tests/zeropad.c:
+         make tests run on x86_64 platform
+
+2005-08-13 Raphael Neider <rneider AT web.de>
+
+       * device/lib/pic16/Makefile.subdir: weakened clean-intermediate rule
+         as it might be executed DURING a build (parallel make is wonderful)
+
+2005-08-13 Raphael Neider <rneider AT web.de>
+
+       * device/lib/Makefile.in (port-specific-objects-pic16):
+         revert to cp $(PORT)/bin/*.* $(PORTDIR)
+       * device/lib/pic16/Makefile: added .PHONY targets, removed builddir
+         dependency
+       * device/lib/pic16/Makefile.rules: build subdirs before creating
+         the library, removed builddir rule, create $(builddir) early in
+         recurse rule, use empty recurse rule for leaf directories
+       * device/lib/pic16/Makefile.subdir: added phony targets, ignore
+         mkdir errors (race condition), removed duplicate suffix "hex"
+         from clean rules
+       * device/lib/pic16/libdev/Makefile: recursive make via + and $(MAKE)
+       * device/lib/pic16/libio/Makefile: create sub-make's builddir early,
+         prevents mkdir -p from aborting on Alpha
+
+2005-08-12 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/glue.c (pic16_print(G)PointerType): do not flush
+         db-statements in order to allow for arrays of pointers in code
+         sections to be placed without interspersed 0-padding, fixes
+         bug #1256215
+       * (emitStatistics): fixed division by zero for pic18f1220
+       * src/pic16/pcode.c: buffer (up to) 12 DB directives to allow for
+         unpadded writing of 8-bit, 16-bit, 24-bit and 32-bit values
+       * (pic16_emitDS): respect DB_ITEMS_PER_LINE
+       * (pic16_pCodeConstString): keep track of already emitted string
+         literals to prevent "duplicate definitions of symbol _str_NR"
+       * src/pic16/ralloc.c (pic16_allocRegByName): removed not so helpful
+         debug message
+       * device/lib/Makefile.in: ignore failing PIC16 library builds
+       * device/lib/pic16/Makefile: do not build if gputils are missing
+       * device/lib/pic16/Makefile.common.in: do not enforce MAKEFLAGS=-s
+
+2005-08-10 Raphael Neider <rneider AT web.de>
+
+       * device/lib/Makefile.in: fixed copying pic16 libraries (broken by
+         my last commit)
+
+2005-08-10 Raphael Neider <rneider AT web.de>
+
+       * src/*.c, src/pic16/{gen.c,glue.c,main.c}: applied Vangelis
+         Rokas' patch to add the new fixed point type "__fixed16x16"
+       * device/lib/pic16/libsdcc/fixed16x16: added Vangelis' support
+         functions for __fixed16x16 arithmetics
+       * device/lib/pic16: reimplemented the build system to support
+         a separate build directory, better handling of libio (create
+         the library in a separate subdir for each architecture) and
+         easier configuration (centralized in Makefile.common)
+
+2005-08-07 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/gen.c (genrshTwo): fixed sign extension
+       * src/pic16/device.c: added pic18f2320, 4220 and 4320
+       * device/include/pic16/pic18f2220.h: changed some bit definitions,
+         added T0CONbits
+       * device/include/pic16/pic18f4220.h: NEW, header for
+         pic18f4220 and pic18f4320
+       * device/include/pic16/pic18fregs.h: added new devices,
+         embraced Nop(), ClrWdt(), Sleep() and Reset() with do {} while(0)
+       * device/include/pic16/signal.h: resolved name clashes
+         on bit definitions, added DEF_HANDLER2(sig1,sig2,handler)
+         to also allow testing for interrupt enable bits, added
+         comments on how to use the macros
+       * device/lib/pic16/libdev/pic18f2220.c: added T0CONbits
+       * device/lib/pic16/libdev/pic18f{2320,4220,4320}.c: NEW,
+         register definitions for the devices
+       * device/lib/pic16/pics.all: added new devices
+       * device/lib/pic16/libc/stdlib/calloc.c: fixed zeroing
+         allocated memory
+       * device/lib/pic16/libc/stdlib/memfree: do not count
+         the block header as free memory
+       * device/lib/pic16/libc/stdlib/memmisc.c (_initHeap):
+         simplified and added missing end-of-blocklist-marker
+         (reported by Peter Onion, fixes #1252814)
+       * (_mergeHeapBlock): fixed loop condition
+       * device/lib/pic16/libc/stdlib/realloc.c: return NULL for
+         len==0, restructured code
+       * device/lib/pic16/libc/stdlib/{malloc,memfreemax}.c: cleaned
+         up a bit, reduced bitfield accesses, prevent endless loops
+         in case of heap corruption
+       * device/lib/pic16/libc/stdlib/x_ftoa.c: disabled
+         "unreferenced arguments/must return a value" warnings
+       * device/lib/pic16/libio/usart/ubaud.c (usart_baud):
+         replaced BAUDREG with SPBRG
+       * device/lib/pic16/libsdcc/lregs/{lrrest.c,lrst.c},
+         device/lib/pic16/debug/gstack/gstack.c: replaced
+         _naked, _asm, _endasm with __naked, __asm, __endasm
+
+2005-08-05 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/gen.c (pic16_aopGet): fixed handling of offsets in
+         AOP_PCODE operands, fixes multibyte union-bitfield-accesses
+
+2005-08-05 Borut Razem <borut.razem AT siol.net>
+
+       * device/lib/Makefile.in: added missing ';'
+       * configure: removed ^M characters
+
+2005-08-04 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
+
+       * device/include/mcs51/at89c51ed2.h, device/include/mcs51/p89v51rd2.h,
+         device/include/mcs51/at89s53.h: changed to GNU Lesser General Public
+         License
+
+2005-08-04 Borut Razem <borut.razem AT siol.net>
+
+       * configure.in: pic16 libraries build 2nd try - enable running
+         configure in device/lib/pic16
+       * configure: regenerated from configure.in
+       * device/lib/Makefile.in: create $(PORT)/bin directory
+
+2005-08-03 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/gen.c (pic16_derefPtr): NEW, single place
+         to get/set values via pointers
+       * (genUnpackBits,genPackBits): changed detection of
+         ptr->bitfield vs. sym.bitfield, fixed access via generic
+         pointers, removed dead (wrong) code for multibyte bitfields
+       * (genNearPointerGet, genGenPointerGet): removed useless code,
+         fixed bitfield detection, fixes #1250594
+       * (genNearPointerSet): removed useless code
+       * src/pic16/gen.h: renamed pic16_emitpcode to pic16_emitpcode_real
+         and introduced macro pic16_emitpcode that conditionally emits
+         the origin of the following pCode (useful for debugging SDCC)
+       * src/pic16/pcode.c: changed (and disabled) some debug outputs
+       * (createDefmap): fixed handling of LFSR for --optimize-df
+
+2005-08-02 Borut Razem <borut.razem AT siol.net>
+
+       * device/lib/Makefile.in: pic16 libraries build enabled since
+         gputils-0.13.2 are now localy installed at sourceforge's compile farm
+
+2005-08-02 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/gen.c (genPackBits): removed deprecated warning
+       * (genGenPointerSet): fixed bitfield detection
+
+2005-08-02 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
+
+       * device/include/mcs51/msm8xc154s.h: Removed PT2 definition, now in 8052.h.
+
+2005-07-31 Raphael Neider <rneider AT web.de>
+
+       * device/lib/pic16/libdev/pic18f458.c,
+         device/include/pic16/pic18f458.h: added missing T0CONbits
+
+2005-07-29 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/include/mcs51/msm8xc154s.h: added, thanks to Matthias Arndt
+
+2005-07-28 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/mcs51/gen.c (operandsEqu): fixed bug 1246687
+
+2005-07-23 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
+
+       * device/include/mcs51/at89c51ed2.h: added.
+
+2005-07-23 Raphael Neider <rneider AT web.de>
+
+       * src/pic/gen.h: added emitpcode macro for debugging
+       * src/pic/gen.c (emitpcode): renamed to emitpcode_real
+         and replace by macro adding debug information on demand
+       * (genNot): fixed to C semantics (!0 = 1; !x = 0 iff x != 0)
+       * (gencjne): tried to fix; replaced with correct (slower) code
+       * (gen{Unp,P}ackBits): fixed single bit access
+       * src/pic/pcode.c (AnalyzepCode): fixed DFPRINTF argument
+       * src/pic/pcodepeep.c (pCodeSearchCondition): fixed finding
+         previous instruction
+       * src/pic/pcoderegs.c (regIsSpecial): NEW, check whether a
+         register has to be handled with care (forbidding movement
+         of assignments/uses, removing assignments completely, ...)
+       * (pCodeOptime2pCodes): make use of regIsSpecial
+       * added lots of debugging output (commented out)
+       * src/pic/rallloc.c (deassignLRs): prevent operand registers
+         from being reused as result UNLESS it is known to work
+
+2005-07-23 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * support/Util/dbuf.h: include <stddef.h> for size_t
+       * .version: changed to version 2.5.2
+
+2005-07-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCloop.c (loopInvariants): fixed bug #1234048
+
+2005-07-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/hc08/gen.c (genMinus): fixed bug #1241835,
+         (genModOneByte): removed needless psha/pula
+
+2005-07-22 Raphael Neider <rneider AT web.de>
+
+       * src/SDCCmain.c (linkEdit): initialized linkerScriptFileName,
+         have PIC14 handled like PIC16, fixes broken pic14 linker calls
+       * src/pic/gen.c (resolveIfx): do not "invent" labels
+       * (genSkipc): changed to positive logic
+       * (genSkipCond): removed as no longer needed
+       * (pic14_mov2w_regOrLit,genCmp): NEW, replacement for buggy version,
+         backport from PIC16
+       * (genLeftShift): check operands are in different registers
+       * src/pic/genarith.c (genPlus): replaced INCF with ADDLW as
+         INCF does not update CARRY...
+       * src/pic/main.c: fixed _linkCmd
+       * src/pic/pcode.c (unlinkpCode): added inactive code
+       * src/pic/ralloc.c (deassignLRs): keep arguments to shift operations
+         alive (do not assign result and operand overlapping registers)
+
+2005-07-22 Raphael Neider <rneider AT web.de>
+
+       * src/pic/device.c (dump_sfr): replaced register declaration with
+         call to emitSymbolToFile() to avoid duplicate symbols
+       * (assignRelocatableRegisters): do not declare external symbols
+       * src/pic/ralloc.c (allocNewDirReg): fixed to get size of arrays
+         right (take size of type, not etype)
+       * (allocDirReg): fixed call to allocNewDirReg() to pass OP_SYM_TYPE
+       * (writeUsedRegs): also dump dynDirectRegs (e.g. local variables)
+       * (packRegsForAccUse): disabled assignment of WREG as
+         the result reg to prevent occurence of just fixed #1235003,
+         fixes #1242954
+       * src/pic/glue.c (emitSymbolToFile): NEW, central place to declare
+         symbols (avoids duplicate symbols in .asm file)
+       * (pic14emitRegularMap): use emitSymbolToFile()
+       * src/pic/gen.c (aopOp): fixed spillLocation handling
+       * (gen{Unp,P}ackBits): fixed acquiring bit-operands
+       * (genDataPointerSet): removed unneccessary variables/output
+
+2005-07-22 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * as/mcs51/lkarea.c: enlarged codemap for banked memory
+       * device/lib/mcs51/crtbank.asm: added # to 0x0F
+
+2005-07-21 Raphael Neider <rneider AT web.de>
+
+       * src/pic/gen.c (aopOp): do not generate AOP_ACC operands as pic14
+         architecture cannot handle them efficiently, fixes bug #1235003
+       * src/pic16/device.c (pic16_dump_{u,i}section,pic16_dump_int_registers):
+         check for empty sets before using them (fixes bug #1232190)
+
+2005-07-19 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * as/mcs51/lkarea.c (lnkarea, lnkarea2): improved BSEG size calculation,
+         (lnksect2): generate warnings for memory overlap
+       * src/SDCC.lex (doPragma, process_pragma): added pragma's codeseg and
+         constseg to set the name of these segments so you can instruct the linker
+         to place them in banks
+       * src/SDCCast.c (decorateType): use new macro IS_FUNCPTR()
+       * src/SDCCglobl.h: added MODEL_HUGE to enum,
+         added code_seg and const_seg to options
+       * src/SDCCglue.c (emitMaps): use options.const_seg,
+         (createInterruptVect): put interrupt vectors in segment HOME,
+         (glue): put HOME before static segment and put the main glue in HOME,
+         (glue): use options.code_seg
+       * src/SDCCicode.c (geniCodeCall): use new macro IS_FUNCPTR()
+       * src/SDCCmain.c: added option --codeseg and --constseg to set the name of
+         these segments so you can instruct the linker to place them in banks
+         (linkEdit): use code_loc for HOME segment which should be the first
+         segment in code memory now
+       * src/SDCCmem.c: fixed more stuff like bug 1238386
+       * src/SDCCsymt.c (getSize): use generic pointer size for banked functions,
+         (changePointer): don't change function pointers to code pointers for
+         banked functions,
+         (compareType): added exceptional check for banked function pointers
+       * src/SDCCsymt.h: changed IFFUNC_ISBANKEDCALL, added IS_FUNCPTR
+       * src/hc08/main.c (_hc08_genAssemblerPreamble): put HOME first, put CSEG
+         after static in code memory
+       * src/mcs51/gen.c: added aopLiteralLong prototype,
+         (aopForSym): use getSize for functions,
+         (genCall): generate banked calls over one trampoline __sdcc_banked_call
+         in HOME with lsb of address in r0, msb in r1 and bank in r2, use
+         -Wl-bBANKSEG=0xbbaaaa option to set the address (aaaa) and bank (bb) of
+         the segment,
+         (genPcall): use call for literal function pointers and generate banked
+         calls over the one trampoline so there's only one place for the user to
+         modify according to his/hers hardware,
+         (genEndFunction): jump to __sdcc_banked_ret in HOME for banked functions,
+         (genPlusIncr): moved check icount>4 beyond inc dptr optimization
+       * src/mcs51/main.c: added keyword banked,
+         (_mcs51_genExtraAreas): put HOME first followed by GSINIT, STATIC and CSEG
+       * support/Util/SDCCerr.c,
+       * support/Util/SDCCerr.h: added E_BANKED_WITH_CALLEESAVES, registers are
+         needed for passing the bank and address to the trampoline
+       * device/lib/mcs51/crtbank.asm: added for bankswitching
+       * device/lib/mcs51/Makefile: added crtbank
+
+2005-07-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCcse.c (algebraicOpts): fixed loss of volatility
+         for fields at offset 0 of a struct or union as reported
+         on 2005-07-07 in the developer mailing list.
+
+2005-07-15 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCCmem.c: fixed bug 1238386
+
+2005-07-12 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * src/mcs51/peeph.def: added labelrefcounting for peepholes
+         (patch #1144962), added peephole 300, enabled 259.x
+       * doc/sdccman.lyx: removed screenshot and provided link instead
+
 2005-07-05 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
 
        * doc/sdccman.lyx: added section about debugging with ddd