From: Kevin V. <ke...@vi...> - 2001-05-24 04:21:00
|
Just comitted a 'fix' to get sdcpp working under Borland C++ (apparently sdcpp calls alloca() with some big values, which causes a stack overflow, which causes all kinds of bad). 'Fixed' by #defining alloca as safe_calloc, just like on all the other platforms; this makes sdcpp one giant memory leak, just like on all the other platforms. But at least it doesn't take down Windows any more. With this out of the way, I propose cutting a release of 2.2.2. It's been along time since 2.2.1, and I don't know of any showstoppers. Anybody object? Peace, Kevin |
From: Johan K. <joh...@id...> - 2001-05-24 12:44:24
|
> this makes sdcpp one giant memory leak, just like on all the other platforms. I felt guilty also when I did the dynamic allocation of inline asm buffers because I didn't free() them, although they are realloc()-ed for every occasion. But considering the per se short time life cycle of sdcc I didn't bother. Still, it's a bad idea. > But at least it doesn't take down Windows any more. No comments :) > With this out of the way, I propose cutting a release of 2.2.2. It's been > along time since 2.2.1, and I don't know of any showstoppers. Anybody > object? We still have the: void bug52 (void) { int in; while (1) { in++; } } and the extremely outdated documentation. Johan |
From: Karl B. <ka...@tu...> - 2001-05-24 15:28:50
|
Hi, I've got a bug that crept in(used to work under older SDCC) where a complex assignment is getting mishandled: generating invalid asm code? Applies to the ds390 port only. codes here: http://www.turbobit.com/software/tini/t122600.zip if anyone wants to look, otherwise I'll try to troubleshoot further. P.S. should I register bug reports somehow on sourceforge? karl. sdcc -c -Wl-r -mds390 --stack-10bit -DDEBUG -I /usr/local/share/include eth.c ?ASxxxx-Error-<a> in line 5034 of eth.asm <a> machine specific addressing or addressing mode error ?ASxxxx-Error-<a> in line 5042 of eth.asm <a> machine specific addressing or addressing mode error ?ASxxxx-Error-<a> in line 5051 of eth.asm <a> machine specific addressing or addressing mode error removing eth.rel make: *** [eth.rel] Error 1 if (tcb->conn.local_port[1] == TELNET_PORT) { for (g_di=0; g_di<data_size; g_di++) { if (tlinebuf_i >= TLINEBUF_MAX) tlinebuf_i = 0; // overflow // LINE 807 follows: tlinebuf[tlinebuf_i] = tcp->buf[0x14+g_di]; // this is our line buffer, chars gather here till CR seen ; eth.c 806 ; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#_tlinebuf_i ; Peephole 180 changed mov to clr clr a movx @dptr,a ; genLabel 00112$: ; eth.c 807 ; genPlus mov dptr,#_tlinebuf_i movx a,@dptr add a,#_tlinebuf mov r3,a ; Peephole 180 changed mov to clr clr a addc a,#(_tlinebuf >> 8) mov r4,a ; Peephole 180 changed mov to clr clr a addc a,#(_tlinebuf >> 16) mov r5,a ; genPointerGet ; genFarPointerGet mov dpl,r0 mov dph,r1 mov dpx,r2 mov dps, #0x01 mov dptr, #_rx_conn_tcp_sloc3_1_0 dec dps movx a,@dptr inc dptr inc dps movx @dptr,a dec dps movx a,@dptr inc dptr inc dps inc dptr movx @dptr,a dec dps movx a,@dptr inc dps inc dptr movx @dptr,a mov dps, #0x00 ; genPlus mov a,#0x14 add a,_g_di ; genPlus mov dptr,#_rx_conn_tcp_sloc3_1_0 mov dps, #0x01 mov dptr, #_rx_conn_tcp_sloc2_1_0 dec dps ; Swapped plus args. movx a,@dptr ;********************** LINE 5034 follows: add a,a inc dps movx @dptr,a ; Peephole 180 changed mov to clr clr a dec dps inc dptr movx a,@dptr ;******************** LINE 5042 follows: addc a,a inc dps inc dptr movx @dptr,a ; Peephole 180 changed mov to clr clr a dec dps inc dptr movx a,@dptr addc a,a inc dps inc dptr movx @dptr,a mov dps, #0x00 ; genPointerGet ; genFarPointerGet mov dptr,#_rx_conn_tcp_sloc2_1_0 ; genFarPointerGet -- indirection special case. movx a,@dptr push acc inc dptr movx a,@dptr push acc inc dptr movx a,@dptr mov dpx,a pop dph pop dpl movx a,@dptr ; genPointerSet ; Peephole 136a removed redundant moves mov r6,a mov dpl,r3 mov dph,r4 mov dpx,r5 movx @dptr,a ; eth.c 815 ; genCmpEq ; gencjneshort mov a,r6 ; Peephole 132 changed ljmp to sjmp ; Peephole 199 optimized misc jump sequence cjne a,#0x0D,00116$ ;00160$: ; Peephole 200 removed redundant sjmp 00161$: ; eth.c 817 ; genPointerSet mov dpl,r3 mov dph,r4 mov dpx,r5 ; Peephole 180 changed mov to clr clr a movx @dptr,a ; eth.c 818 ; genCall push ar2 push ar3 push ar4 push ar5 push ar0 push ar1 ; Peephole 182b used 24 bit load of DPTR mov dptr,#_tlinebuf lcall _do_console pop ar1 pop ar0 pop ar5 pop ar4 pop ar3 pop ar2 ; eth.c 822 ; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#_tlinebuf_i ; Peephole 180 changed mov to clr clr a movx @dptr,a ; genGoto ; genLabel ; Peephole 132 changed ljmp to sjmp sjmp 00128$ 00116$: ; eth.c 826 ; genPointerGet ; genFarPointerGet mov dpl,r3 mov dph,r4 mov dpx,r5 movx a,@dptr mov r3,a ; genCmpLt ; genCmp cjne r3,#0x20,00162$ 00162$: ; genIfxJump ; Peephole 132 changed ljmp to sjmp ; Peephole 160 removed sjmp by inverse jump logic jc 00128$ 00163$: ; eth.c 827 ; genPlus mov dptr,#_tlinebuf_i ; Swapped plus args. movx a,@dptr add a,#0x01 movx @dptr,a ; genLabel 00128$: |
From: Kevin V. <ke...@vi...> - 2001-05-24 17:59:42
|
On 24-May-2001 Karl Bongers wrote: > I've got a bug that crept in(used to work under older SDCC) > where a complex assignment is getting mishandled: generating > invalid asm code? Applies to the ds390 port only. Fixed; that was one icky special case, and I hope it has no little brothers & sisters lurking... Now on to Johan's beast... Peace, Kevin |
From: Johan K. <joh...@id...> - 2001-05-24 20:11:18
|
> P.S. should I register bug reports somehow on sourceforge? Depends. If you register it, it will be noted at some time by some one, and the registration has to be removed manually by some one that has fixed it or made sure it has been fixed. So it won't be forgotten, however not neccessarily though about. If you want this fixed fast, this list is still the best place to be .... Johan |
From: <da...@kd...> - 2001-05-28 14:51:59
|
I can't believe I sent that to the list. -- Dave |
From: <da...@kd...> - 2001-05-29 01:10:47
|
Group, That post has been weighing heavily on my mind... For the record, I think it's a great program and a very friendly development IDE. I fired it up again this afternoon and after an hour or so decided I am going to purchase it. (tax deduction anyway) I have purchased a lot of programs the same way including C-forge, VMWare, and Advanced Call Center. Even Newsbin, a win32 newsreader (it's the best!). If it's useful to me... they get my money. If it's sales hype.. they don't. I urge everyone that downloaded it to do the same. Yeah.. it's a lot of money, but that is what it's worth to them. What's it worth to you, the two choices are obvious. I will remove the file/link shortly. This thread (of mine) is too long now. EOL -- Dave |
From: Michael H. <mic...@ju...> - 2001-05-24 16:07:17
|
> With this out of the way, I propose cutting a release of 2.2.2. It's been > along time since 2.2.1, and I don't know of any showstoppers. Anybody > object? The z80 port calling conventions were mildly broken. I think they're fixed, but if they're not then I don't have time to work on them until next week. I'll get back to everyone tomorrow. -- Michael |