From: SourceForge.net <no...@so...> - 2006-02-27 20:52:28
|
Bugs item #1439894, was opened at 2006-02-27 20:51 Message generated for change (Settings changed) made by kosmonaut_pirx You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1439894&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: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: kosmonaut_pirx (kosmonaut_pirx) Assigned to: Nobody/Anonymous (nobody) >Summary: invalid instruction generated for hc08 Initial Comment: sdcc generates code with incorrect adressing mode for the hc08 mcu. in fact, the sta instruction is used in immediat emode, which isn't specified. 1. sample int foo(char b, char a, char r) { if( b && a < 1 ) { } } void main( void ) { foo(0,1,2); } 2. sdcc cmd sdcc -mhc08 -c bug.c 3. sdcc -v SDCC : hc08 2.5.4 #1203 (Feb 11 2006) (UNIX) from (src) also SDCC : pic16/hc08 0.0.0 #1185 (Dec 11 2005) (UNIX) any sdcc version compiled from source with everything disabled but hc08 with --disable-mcs51-port --disable-gbz80-port --disable-z80-port --disable-avr-port --disable-ds390-port --disable-pic-port --disable-xa51-port --disable-ds400-port --disable-ucsim --disable-pic16-port with the following version it compiles well: SDCC : pic16/hc08 2.5.0 #1020 (Jun 30 2005) (UNIX) stable 4. error sdcc: Generating code... bug2.c:11: warning 110: conditional flow changed by optimizer: so said EVELYN the modified DOG sdcc: Calling assembler... + "/home/eoslab/jdiederic/hc08/sdcc-snapshot-20051211/bin/as-hc08" -plosgffc "bug2.asm" ?ASxxxx-Error-<a> in line 123 of bug2.asm <a> machine specific addressing or addressing mode error removing bug2.rel asm listing: G$foo$0$0 ==. C$bug2.c$9$0$0 ==. ;bug2.c:9: foo(char b, char a) ; ----------------------------------------- ; function foo ; ----------------------------------------- _foo: sta _foo_b_1_1 stx _foo_a_1_1 C$bug2.c$11$1$1 ==. ;bug2.c:11: if( b && a < 1 ) { lda _foo_b_1_1 ; Peephole 2d - eliminated jmp beq 00105$ 00107$: lda _foo_a_1_1 cmp #0x01 blt 00108$ clra bra 00109$ 00108$: lda #0x01 00109$: sta #0x00 00105$: C$bug2.c$13$1$1 ==. ;bug2.c:13: return 0; clrx clra 00101$: C$bug2.c$14$1$1 ==. XG$foo$0$0 ==. rts peep-hole optimization has no effect on error. 5. email joe...@gr... ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1439894&group_id=599 |
From: SourceForge.net <no...@so...> - 2006-02-27 20:55:22
|
Bugs item #1439894, was opened at 2006-02-27 20:51 Message generated for change (Settings changed) made by kosmonaut_pirx You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1439894&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: hc08 port Group: None Status: Open Resolution: None Priority: 5 Submitted By: kosmonaut_pirx (kosmonaut_pirx) Assigned to: Nobody/Anonymous (nobody) Summary: invalid instruction generated for hc08 Initial Comment: sdcc generates code with incorrect adressing mode for the hc08 mcu. in fact, the sta instruction is used in immediat emode, which isn't specified. 1. sample int foo(char b, char a, char r) { if( b && a < 1 ) { } } void main( void ) { foo(0,1,2); } 2. sdcc cmd sdcc -mhc08 -c bug.c 3. sdcc -v SDCC : hc08 2.5.4 #1203 (Feb 11 2006) (UNIX) from (src) also SDCC : pic16/hc08 0.0.0 #1185 (Dec 11 2005) (UNIX) any sdcc version compiled from source with everything disabled but hc08 with --disable-mcs51-port --disable-gbz80-port --disable-z80-port --disable-avr-port --disable-ds390-port --disable-pic-port --disable-xa51-port --disable-ds400-port --disable-ucsim --disable-pic16-port with the following version it compiles well: SDCC : pic16/hc08 2.5.0 #1020 (Jun 30 2005) (UNIX) stable 4. error sdcc: Generating code... bug2.c:11: warning 110: conditional flow changed by optimizer: so said EVELYN the modified DOG sdcc: Calling assembler... + "/home/eoslab/jdiederic/hc08/sdcc-snapshot-20051211/bin/as-hc08" -plosgffc "bug2.asm" ?ASxxxx-Error-<a> in line 123 of bug2.asm <a> machine specific addressing or addressing mode error removing bug2.rel asm listing: G$foo$0$0 ==. C$bug2.c$9$0$0 ==. ;bug2.c:9: foo(char b, char a) ; ----------------------------------------- ; function foo ; ----------------------------------------- _foo: sta _foo_b_1_1 stx _foo_a_1_1 C$bug2.c$11$1$1 ==. ;bug2.c:11: if( b && a < 1 ) { lda _foo_b_1_1 ; Peephole 2d - eliminated jmp beq 00105$ 00107$: lda _foo_a_1_1 cmp #0x01 blt 00108$ clra bra 00109$ 00108$: lda #0x01 00109$: sta #0x00 00105$: C$bug2.c$13$1$1 ==. ;bug2.c:13: return 0; clrx clra 00101$: C$bug2.c$14$1$1 ==. XG$foo$0$0 ==. rts peep-hole optimization has no effect on error. 5. email joe...@gr... ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1439894&group_id=599 |
From: SourceForge.net <no...@so...> - 2006-03-01 19:36:46
|
Bugs item #1439894, was opened at 2006-02-27 20:51 Message generated for change (Comment added) made by kosmonaut_pirx You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1439894&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: hc08 port Group: None Status: Open Resolution: None Priority: 5 Submitted By: kosmonaut_pirx (kosmonaut_pirx) Assigned to: Nobody/Anonymous (nobody) Summary: invalid instruction generated for hc08 Initial Comment: sdcc generates code with incorrect adressing mode for the hc08 mcu. in fact, the sta instruction is used in immediat emode, which isn't specified. 1. sample int foo(char b, char a, char r) { if( b && a < 1 ) { } } void main( void ) { foo(0,1,2); } 2. sdcc cmd sdcc -mhc08 -c bug.c 3. sdcc -v SDCC : hc08 2.5.4 #1203 (Feb 11 2006) (UNIX) from (src) also SDCC : pic16/hc08 0.0.0 #1185 (Dec 11 2005) (UNIX) any sdcc version compiled from source with everything disabled but hc08 with --disable-mcs51-port --disable-gbz80-port --disable-z80-port --disable-avr-port --disable-ds390-port --disable-pic-port --disable-xa51-port --disable-ds400-port --disable-ucsim --disable-pic16-port with the following version it compiles well: SDCC : pic16/hc08 2.5.0 #1020 (Jun 30 2005) (UNIX) stable 4. error sdcc: Generating code... bug2.c:11: warning 110: conditional flow changed by optimizer: so said EVELYN the modified DOG sdcc: Calling assembler... + "/home/eoslab/jdiederic/hc08/sdcc-snapshot-20051211/bin/as-hc08" -plosgffc "bug2.asm" ?ASxxxx-Error-<a> in line 123 of bug2.asm <a> machine specific addressing or addressing mode error removing bug2.rel asm listing: G$foo$0$0 ==. C$bug2.c$9$0$0 ==. ;bug2.c:9: foo(char b, char a) ; ----------------------------------------- ; function foo ; ----------------------------------------- _foo: sta _foo_b_1_1 stx _foo_a_1_1 C$bug2.c$11$1$1 ==. ;bug2.c:11: if( b && a < 1 ) { lda _foo_b_1_1 ; Peephole 2d - eliminated jmp beq 00105$ 00107$: lda _foo_a_1_1 cmp #0x01 blt 00108$ clra bra 00109$ 00108$: lda #0x01 00109$: sta #0x00 00105$: C$bug2.c$13$1$1 ==. ;bug2.c:13: return 0; clrx clra 00101$: C$bug2.c$14$1$1 ==. XG$foo$0$0 ==. rts peep-hole optimization has no effect on error. 5. email joe...@gr... ---------------------------------------------------------------------- >Comment By: kosmonaut_pirx (kosmonaut_pirx) Date: 2006-03-01 19:36 Message: Logged In: YES user_id=1411903 to be complete, it's also an issue in the sdcc snapshot from yesterday SDCC : hc08 2.5.4 #1185 (Feb 28 2006) (UNIX) but i didn't read the Changelogs anyway, sorry. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1439894&group_id=599 |
From: SourceForge.net <no...@so...> - 2006-05-10 05:02:29
|
Bugs item #1439894, was opened at 2006-02-27 14:51 Message generated for change (Settings changed) made by epetrich You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1439894&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: hc08 port Group: None Status: Open Resolution: None Priority: 5 Submitted By: kosmonaut_pirx (kosmonaut_pirx) >Assigned to: Erik Petrich (epetrich) Summary: invalid instruction generated for hc08 Initial Comment: sdcc generates code with incorrect adressing mode for the hc08 mcu. in fact, the sta instruction is used in immediat emode, which isn't specified. 1. sample int foo(char b, char a, char r) { if( b && a < 1 ) { } } void main( void ) { foo(0,1,2); } 2. sdcc cmd sdcc -mhc08 -c bug.c 3. sdcc -v SDCC : hc08 2.5.4 #1203 (Feb 11 2006) (UNIX) from (src) also SDCC : pic16/hc08 0.0.0 #1185 (Dec 11 2005) (UNIX) any sdcc version compiled from source with everything disabled but hc08 with --disable-mcs51-port --disable-gbz80-port --disable-z80-port --disable-avr-port --disable-ds390-port --disable-pic-port --disable-xa51-port --disable-ds400-port --disable-ucsim --disable-pic16-port with the following version it compiles well: SDCC : pic16/hc08 2.5.0 #1020 (Jun 30 2005) (UNIX) stable 4. error sdcc: Generating code... bug2.c:11: warning 110: conditional flow changed by optimizer: so said EVELYN the modified DOG sdcc: Calling assembler... + "/home/eoslab/jdiederic/hc08/sdcc-snapshot-20051211/bin/as-hc08" -plosgffc "bug2.asm" ?ASxxxx-Error-<a> in line 123 of bug2.asm <a> machine specific addressing or addressing mode error removing bug2.rel asm listing: G$foo$0$0 ==. C$bug2.c$9$0$0 ==. ;bug2.c:9: foo(char b, char a) ; ----------------------------------------- ; function foo ; ----------------------------------------- _foo: sta _foo_b_1_1 stx _foo_a_1_1 C$bug2.c$11$1$1 ==. ;bug2.c:11: if( b && a < 1 ) { lda _foo_b_1_1 ; Peephole 2d - eliminated jmp beq 00105$ 00107$: lda _foo_a_1_1 cmp #0x01 blt 00108$ clra bra 00109$ 00108$: lda #0x01 00109$: sta #0x00 00105$: C$bug2.c$13$1$1 ==. ;bug2.c:13: return 0; clrx clra 00101$: C$bug2.c$14$1$1 ==. XG$foo$0$0 ==. rts peep-hole optimization has no effect on error. 5. email joe...@gr... ---------------------------------------------------------------------- Comment By: kosmonaut_pirx (kosmonaut_pirx) Date: 2006-03-01 13:36 Message: Logged In: YES user_id=1411903 to be complete, it's also an issue in the sdcc snapshot from yesterday SDCC : hc08 2.5.4 #1185 (Feb 28 2006) (UNIX) but i didn't read the Changelogs anyway, sorry. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1439894&group_id=599 |
From: SourceForge.net <no...@so...> - 2006-05-11 21:53:51
|
Bugs item #1439894, was opened at 2006-02-27 14:51 Message generated for change (Comment added) made by epetrich You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1439894&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: hc08 port >Group: fixed >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: kosmonaut_pirx (kosmonaut_pirx) Assigned to: Erik Petrich (epetrich) Summary: invalid instruction generated for hc08 Initial Comment: sdcc generates code with incorrect adressing mode for the hc08 mcu. in fact, the sta instruction is used in immediat emode, which isn't specified. 1. sample int foo(char b, char a, char r) { if( b && a < 1 ) { } } void main( void ) { foo(0,1,2); } 2. sdcc cmd sdcc -mhc08 -c bug.c 3. sdcc -v SDCC : hc08 2.5.4 #1203 (Feb 11 2006) (UNIX) from (src) also SDCC : pic16/hc08 0.0.0 #1185 (Dec 11 2005) (UNIX) any sdcc version compiled from source with everything disabled but hc08 with --disable-mcs51-port --disable-gbz80-port --disable-z80-port --disable-avr-port --disable-ds390-port --disable-pic-port --disable-xa51-port --disable-ds400-port --disable-ucsim --disable-pic16-port with the following version it compiles well: SDCC : pic16/hc08 2.5.0 #1020 (Jun 30 2005) (UNIX) stable 4. error sdcc: Generating code... bug2.c:11: warning 110: conditional flow changed by optimizer: so said EVELYN the modified DOG sdcc: Calling assembler... + "/home/eoslab/jdiederic/hc08/sdcc-snapshot-20051211/bin/as-hc08" -plosgffc "bug2.asm" ?ASxxxx-Error-<a> in line 123 of bug2.asm <a> machine specific addressing or addressing mode error removing bug2.rel asm listing: G$foo$0$0 ==. C$bug2.c$9$0$0 ==. ;bug2.c:9: foo(char b, char a) ; ----------------------------------------- ; function foo ; ----------------------------------------- _foo: sta _foo_b_1_1 stx _foo_a_1_1 C$bug2.c$11$1$1 ==. ;bug2.c:11: if( b && a < 1 ) { lda _foo_b_1_1 ; Peephole 2d - eliminated jmp beq 00105$ 00107$: lda _foo_a_1_1 cmp #0x01 blt 00108$ clra bra 00109$ 00108$: lda #0x01 00109$: sta #0x00 00105$: C$bug2.c$13$1$1 ==. ;bug2.c:13: return 0; clrx clra 00101$: C$bug2.c$14$1$1 ==. XG$foo$0$0 ==. rts peep-hole optimization has no effect on error. 5. email joe...@gr... ---------------------------------------------------------------------- >Comment By: Erik Petrich (epetrich) Date: 2006-05-11 16:53 Message: Logged In: YES user_id=635249 Fixed in SDCC #4168 ---------------------------------------------------------------------- Comment By: kosmonaut_pirx (kosmonaut_pirx) Date: 2006-03-01 13:36 Message: Logged In: YES user_id=1411903 to be complete, it's also an issue in the sdcc snapshot from yesterday SDCC : hc08 2.5.4 #1185 (Feb 28 2006) (UNIX) but i didn't read the Changelogs anyway, sorry. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1439894&group_id=599 |