From: SourceForge.net <no...@so...> - 2007-02-05 08:06:58
|
Bugs item #1652207, was opened at 2007-02-05 00:06 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1652207&group_id=599 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: msc51(8051) target Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Weston T. Schmidt (schmidtw) Assigned to: Nobody/Anonymous (nobody) Summary: SDCC SIGSEGV's Initial Comment: I'm running a locally built version of SDCC based on revision 4608 in Subversion. I only made very minor build related changes - no changes to any of the source code. In the attached source code, the error happens because I added line 402 in src/util/circular.c To reproduce the problem: ================================================== 1. untar the attached file 2. cd into src 3. type 'make' 4. see the SIGSEGV error Command-line that the make file uses: ================================================== sdcc --model-large --xram-size 2048 --code-size 61440 -o util/circular.rel -c util/circular.c Output: ================================================== [schmidtw@wes src]$ make Compiling ... board/mcu/audio.c Compiling ... board/mcu/mmc.c Compiling ... board/mcu/mp3.c Compiling ... board/mcu/pll.c Compiling ... board/mcu/spi.c Compiling ... board/mcu/uart.c Compiling ... board/dac.c Compiling ... board/debug.c Compiling ... board/serial.c Compiling ... board/time.c Compiling ... util/circular.c util/circular.c:298: warning 126: unreachable code util/circular.c:416: warning 84: 'auto' variable '(null)' may be used before initialization Caught signal 11: SIGSEGV make: *** [util/circular.rel] Error 1 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1652207&group_id=599 |
From: SourceForge.net <no...@so...> - 2007-02-05 09:42:10
|
Bugs item #1652251, was opened at 2007-02-05 01:42 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1652251&group_id=599 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: msc51(8051) target Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Weston T. Schmidt (schmidtw) Assigned to: Nobody/Anonymous (nobody) Summary: SDCC SIGSEGV's Initial Comment: I'm running a locally built version of SDCC based on revision 4608 in Subversion. I only made very minor build related changes - no changes to any of the source code. In the attached source code, the error happens because I added line 402 in src/util/circular.c To reproduce the problem: ================================================== 1. untar the attached file 2. cd into src 3. type 'make' 4. see the SIGSEGV error Command-line that the make file uses: ================================================== sdcc --model-large --xram-size 2048 --code-size 61440 -o util/circular.rel -c util/circular.c Output: ================================================== [schmidtw@wes src]$ make Compiling ... board/mcu/audio.c Compiling ... board/mcu/mmc.c Compiling ... board/mcu/mp3.c Compiling ... board/mcu/pll.c Compiling ... board/mcu/spi.c Compiling ... board/mcu/uart.c Compiling ... board/dac.c Compiling ... board/debug.c Compiling ... board/serial.c Compiling ... board/time.c Compiling ... util/circular.c util/circular.c:298: warning 126: unreachable code util/circular.c:416: warning 84: 'auto' variable '(null)' may be used before initialization Caught signal 11: SIGSEGV make: *** [util/circular.rel] Error 1 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1652251&group_id=599 |
From: SourceForge.net <no...@so...> - 2007-02-05 09:42:56
|
Bugs item #1652251, was opened at 2007-02-05 01:42 Message generated for change (Comment added) made by schmidtw You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1652251&group_id=599 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: msc51(8051) target Group: None >Status: Deleted >Resolution: Duplicate Priority: 5 Private: No Submitted By: Weston T. Schmidt (schmidtw) Assigned to: Nobody/Anonymous (nobody) Summary: SDCC SIGSEGV's Initial Comment: I'm running a locally built version of SDCC based on revision 4608 in Subversion. I only made very minor build related changes - no changes to any of the source code. In the attached source code, the error happens because I added line 402 in src/util/circular.c To reproduce the problem: ================================================== 1. untar the attached file 2. cd into src 3. type 'make' 4. see the SIGSEGV error Command-line that the make file uses: ================================================== sdcc --model-large --xram-size 2048 --code-size 61440 -o util/circular.rel -c util/circular.c Output: ================================================== [schmidtw@wes src]$ make Compiling ... board/mcu/audio.c Compiling ... board/mcu/mmc.c Compiling ... board/mcu/mp3.c Compiling ... board/mcu/pll.c Compiling ... board/mcu/spi.c Compiling ... board/mcu/uart.c Compiling ... board/dac.c Compiling ... board/debug.c Compiling ... board/serial.c Compiling ... board/time.c Compiling ... util/circular.c util/circular.c:298: warning 126: unreachable code util/circular.c:416: warning 84: 'auto' variable '(null)' may be used before initialization Caught signal 11: SIGSEGV make: *** [util/circular.rel] Error 1 ---------------------------------------------------------------------- >Comment By: Weston T. Schmidt (schmidtw) Date: 2007-02-05 01:42 Message: Logged In: YES user_id=767003 Originator: YES Duplicate of: 1652207 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1652251&group_id=599 |
From: SourceForge.net <no...@so...> - 2007-02-05 10:18:34
|
Bugs item #1652207, was opened at 2007-02-05 09:06 Message generated for change (Settings changed) made by bernhardheld You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1652207&group_id=599 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. >Category: Live range problems Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Weston T. Schmidt (schmidtw) >Assigned to: Bernhard Held (bernhardheld) Summary: SDCC SIGSEGV's Initial Comment: I'm running a locally built version of SDCC based on revision 4608 in Subversion. I only made very minor build related changes - no changes to any of the source code. In the attached source code, the error happens because I added line 402 in src/util/circular.c To reproduce the problem: ================================================== 1. untar the attached file 2. cd into src 3. type 'make' 4. see the SIGSEGV error Command-line that the make file uses: ================================================== sdcc --model-large --xram-size 2048 --code-size 61440 -o util/circular.rel -c util/circular.c Output: ================================================== [schmidtw@wes src]$ make Compiling ... board/mcu/audio.c Compiling ... board/mcu/mmc.c Compiling ... board/mcu/mp3.c Compiling ... board/mcu/pll.c Compiling ... board/mcu/spi.c Compiling ... board/mcu/uart.c Compiling ... board/dac.c Compiling ... board/debug.c Compiling ... board/serial.c Compiling ... board/time.c Compiling ... util/circular.c util/circular.c:298: warning 126: unreachable code util/circular.c:416: warning 84: 'auto' variable '(null)' may be used before initialization Caught signal 11: SIGSEGV make: *** [util/circular.rel] Error 1 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1652207&group_id=599 |
From: SourceForge.net <no...@so...> - 2007-02-05 21:13:34
|
Bugs item #1652207, was opened at 2007-02-05 09:06 Message generated for change (Comment added) made by bernhardheld You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1652207&group_id=599 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Live range problems Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Weston T. Schmidt (schmidtw) Assigned to: Bernhard Held (bernhardheld) Summary: SDCC SIGSEGV's Initial Comment: I'm running a locally built version of SDCC based on revision 4608 in Subversion. I only made very minor build related changes - no changes to any of the source code. In the attached source code, the error happens because I added line 402 in src/util/circular.c To reproduce the problem: ================================================== 1. untar the attached file 2. cd into src 3. type 'make' 4. see the SIGSEGV error Command-line that the make file uses: ================================================== sdcc --model-large --xram-size 2048 --code-size 61440 -o util/circular.rel -c util/circular.c Output: ================================================== [schmidtw@wes src]$ make Compiling ... board/mcu/audio.c Compiling ... board/mcu/mmc.c Compiling ... board/mcu/mp3.c Compiling ... board/mcu/pll.c Compiling ... board/mcu/spi.c Compiling ... board/mcu/uart.c Compiling ... board/dac.c Compiling ... board/debug.c Compiling ... board/serial.c Compiling ... board/time.c Compiling ... util/circular.c util/circular.c:298: warning 126: unreachable code util/circular.c:416: warning 84: 'auto' variable '(null)' may be used before initialization Caught signal 11: SIGSEGV make: *** [util/circular.rel] Error 1 ---------------------------------------------------------------------- >Comment By: Bernhard Held (bernhardheld) Date: 2007-02-05 22:13 Message: Logged In: YES user_id=203539 Originator: NO Quick response: --noinduction keeps sdcc from segfaulting. Please give me short feedback, if the code behaves as expected with --noinduction. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1652207&group_id=599 |
From: SourceForge.net <no...@so...> - 2007-02-05 22:04:06
|
Bugs item #1652207, was opened at 2007-02-05 09:06 Message generated for change (Comment added) made by bernhardheld You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1652207&group_id=599 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Live range problems Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Weston T. Schmidt (schmidtw) Assigned to: Bernhard Held (bernhardheld) Summary: SDCC SIGSEGV's Initial Comment: I'm running a locally built version of SDCC based on revision 4608 in Subversion. I only made very minor build related changes - no changes to any of the source code. In the attached source code, the error happens because I added line 402 in src/util/circular.c To reproduce the problem: ================================================== 1. untar the attached file 2. cd into src 3. type 'make' 4. see the SIGSEGV error Command-line that the make file uses: ================================================== sdcc --model-large --xram-size 2048 --code-size 61440 -o util/circular.rel -c util/circular.c Output: ================================================== [schmidtw@wes src]$ make Compiling ... board/mcu/audio.c Compiling ... board/mcu/mmc.c Compiling ... board/mcu/mp3.c Compiling ... board/mcu/pll.c Compiling ... board/mcu/spi.c Compiling ... board/mcu/uart.c Compiling ... board/dac.c Compiling ... board/debug.c Compiling ... board/serial.c Compiling ... board/time.c Compiling ... util/circular.c util/circular.c:298: warning 126: unreachable code util/circular.c:416: warning 84: 'auto' variable '(null)' may be used before initialization Caught signal 11: SIGSEGV make: *** [util/circular.rel] Error 1 ---------------------------------------------------------------------- >Comment By: Bernhard Held (bernhardheld) Date: 2007-02-05 23:04 Message: Logged In: YES user_id=203539 Originator: NO I found a bug, I'll commit the fix tomorrow. Does circular.c now work as expected? $ svn diff SDCCBBlock.c Index: SDCCBBlock.c =================================================================== --- SDCCBBlock.c (Revision 4617) +++ SDCCBBlock.c (Arbeitskopie) @@ -463,7 +463,10 @@ /* if this is true then we put it before the condition else */ /* we put it before if, this is to reduce register pressure, */ /* we don't have to hold condition too long in a register */ - if (ebp->ech->op == IFX) + + /* loop induction sometimes appends a GOTO instruction; */ + /* never put it before an IFX */ + if (ebp->ech->op == IFX && ic->op != GOTO) { iCode *ipoint; ---------------------------------------------------------------------- Comment By: Bernhard Held (bernhardheld) Date: 2007-02-05 22:13 Message: Logged In: YES user_id=203539 Originator: NO Quick response: --noinduction keeps sdcc from segfaulting. Please give me short feedback, if the code behaves as expected with --noinduction. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1652207&group_id=599 |
From: SourceForge.net <no...@so...> - 2007-02-06 06:40:35
|
Bugs item #1652207, was opened at 2007-02-05 00:06 Message generated for change (Comment added) made by schmidtw You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1652207&group_id=599 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Live range problems Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Weston T. Schmidt (schmidtw) Assigned to: Bernhard Held (bernhardheld) Summary: SDCC SIGSEGV's Initial Comment: I'm running a locally built version of SDCC based on revision 4608 in Subversion. I only made very minor build related changes - no changes to any of the source code. In the attached source code, the error happens because I added line 402 in src/util/circular.c To reproduce the problem: ================================================== 1. untar the attached file 2. cd into src 3. type 'make' 4. see the SIGSEGV error Command-line that the make file uses: ================================================== sdcc --model-large --xram-size 2048 --code-size 61440 -o util/circular.rel -c util/circular.c Output: ================================================== [schmidtw@wes src]$ make Compiling ... board/mcu/audio.c Compiling ... board/mcu/mmc.c Compiling ... board/mcu/mp3.c Compiling ... board/mcu/pll.c Compiling ... board/mcu/spi.c Compiling ... board/mcu/uart.c Compiling ... board/dac.c Compiling ... board/debug.c Compiling ... board/serial.c Compiling ... board/time.c Compiling ... util/circular.c util/circular.c:298: warning 126: unreachable code util/circular.c:416: warning 84: 'auto' variable '(null)' may be used before initialization Caught signal 11: SIGSEGV make: *** [util/circular.rel] Error 1 ---------------------------------------------------------------------- >Comment By: Weston T. Schmidt (schmidtw) Date: 2007-02-05 22:40 Message: Logged In: YES user_id=767003 Originator: YES I tried your patch & the code behaves as expected. Thank you for such a quick fix, Wes ---------------------------------------------------------------------- Comment By: Bernhard Held (bernhardheld) Date: 2007-02-05 14:04 Message: Logged In: YES user_id=203539 Originator: NO I found a bug, I'll commit the fix tomorrow. Does circular.c now work as expected? $ svn diff SDCCBBlock.c Index: SDCCBBlock.c =================================================================== --- SDCCBBlock.c (Revision 4617) +++ SDCCBBlock.c (Arbeitskopie) @@ -463,7 +463,10 @@ /* if this is true then we put it before the condition else */ /* we put it before if, this is to reduce register pressure, */ /* we don't have to hold condition too long in a register */ - if (ebp->ech->op == IFX) + + /* loop induction sometimes appends a GOTO instruction; */ + /* never put it before an IFX */ + if (ebp->ech->op == IFX && ic->op != GOTO) { iCode *ipoint; ---------------------------------------------------------------------- Comment By: Bernhard Held (bernhardheld) Date: 2007-02-05 13:13 Message: Logged In: YES user_id=203539 Originator: NO Quick response: --noinduction keeps sdcc from segfaulting. Please give me short feedback, if the code behaves as expected with --noinduction. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1652207&group_id=599 |
From: SourceForge.net <no...@so...> - 2007-02-06 19:51:41
|
Bugs item #1652207, was opened at 2007-02-05 09:06 Message generated for change (Comment added) made by bernhardheld You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1652207&group_id=599 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Live range problems >Group: fixed >Status: Closed >Resolution: Fixed Priority: 5 Private: No Submitted By: Weston T. Schmidt (schmidtw) Assigned to: Bernhard Held (bernhardheld) Summary: SDCC SIGSEGV's Initial Comment: I'm running a locally built version of SDCC based on revision 4608 in Subversion. I only made very minor build related changes - no changes to any of the source code. In the attached source code, the error happens because I added line 402 in src/util/circular.c To reproduce the problem: ================================================== 1. untar the attached file 2. cd into src 3. type 'make' 4. see the SIGSEGV error Command-line that the make file uses: ================================================== sdcc --model-large --xram-size 2048 --code-size 61440 -o util/circular.rel -c util/circular.c Output: ================================================== [schmidtw@wes src]$ make Compiling ... board/mcu/audio.c Compiling ... board/mcu/mmc.c Compiling ... board/mcu/mp3.c Compiling ... board/mcu/pll.c Compiling ... board/mcu/spi.c Compiling ... board/mcu/uart.c Compiling ... board/dac.c Compiling ... board/debug.c Compiling ... board/serial.c Compiling ... board/time.c Compiling ... util/circular.c util/circular.c:298: warning 126: unreachable code util/circular.c:416: warning 84: 'auto' variable '(null)' may be used before initialization Caught signal 11: SIGSEGV make: *** [util/circular.rel] Error 1 ---------------------------------------------------------------------- >Comment By: Bernhard Held (bernhardheld) Date: 2007-02-06 20:51 Message: Logged In: YES user_id=203539 Originator: NO Fixed in SDCCBBlock.c (addiCodeToeBBlock) rev. 4620: GOTO icodes appended by loop induction must be at the very end of the eBBlock ---------------------------------------------------------------------- Comment By: Weston T. Schmidt (schmidtw) Date: 2007-02-06 07:40 Message: Logged In: YES user_id=767003 Originator: YES I tried your patch & the code behaves as expected. Thank you for such a quick fix, Wes ---------------------------------------------------------------------- Comment By: Bernhard Held (bernhardheld) Date: 2007-02-05 23:04 Message: Logged In: YES user_id=203539 Originator: NO I found a bug, I'll commit the fix tomorrow. Does circular.c now work as expected? $ svn diff SDCCBBlock.c Index: SDCCBBlock.c =================================================================== --- SDCCBBlock.c (Revision 4617) +++ SDCCBBlock.c (Arbeitskopie) @@ -463,7 +463,10 @@ /* if this is true then we put it before the condition else */ /* we put it before if, this is to reduce register pressure, */ /* we don't have to hold condition too long in a register */ - if (ebp->ech->op == IFX) + + /* loop induction sometimes appends a GOTO instruction; */ + /* never put it before an IFX */ + if (ebp->ech->op == IFX && ic->op != GOTO) { iCode *ipoint; ---------------------------------------------------------------------- Comment By: Bernhard Held (bernhardheld) Date: 2007-02-05 22:13 Message: Logged In: YES user_id=203539 Originator: NO Quick response: --noinduction keeps sdcc from segfaulting. Please give me short feedback, if the code behaves as expected with --noinduction. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1652207&group_id=599 |