------- Comment #1 from info at umfragen-service dot de  2007-07-29 16:12 
-------
Konsole:
=========================================================================
[EMAIL PROTECTED]:/mnt/sda1_removable/avr/gcc_schlecht# make

-------- begin --------
* Individual makefile for AvrLiveCD
* Avr-Gcc version:
avr-gcc (GCC) 4.1.2
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

* ---------------
avr-size -d main.elf -t
avr-size: 'main.elf': No such file
      0       0       0       0       0 (TOTALS)

Compiling: main.c
avr-gcc -c -mmcu=attiny26 -I. -g -DF_CPU=1000000UL -I -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -L
/usr/local/bin/lib/gcc/avr/4.1.1 -Wa,-adhlns=main.lst
-I/usr/local/bin/avr/include/ -std=gnu99 -MD -MP -MF .dep/main.o.d main.c -o
main.o
main.c:32:2: warning: no newline at end of file

Linking: main.elf
avr-gcc -mmcu=attiny26 -I. -g -DF_CPU=1000000UL -I -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -L
/usr/local/bin/lib/gcc/avr/4.1.1 -Wa,-adhlns=main.o
-I/usr/local/bin/avr/include/ -std=gnu99 -MD -MP -MF .dep/main.elf.d main.o
--output main.elf -Wl,-Map=main.map,--cref

Creating load file for Flash: main.hex
avr-objcopy -O ihex -R .eeprom main.elf main.hex

Creating load file for EEPROM: main.eep
avr-objcopy -j .eeprom --set-section-flags .eeprom=alloc,load \
        --change-section-lma .eeprom=0 -O ihex main.elf main.eep
avr-objcopy: there are no sections to be copied!
avr-objcopy: --change-section-lma .eeprom=0x00000000 never used
make: [main.eep] Error 1 (ignored)

Creating Extended Listing: main.lss
avr-objdump -h -S main.elf > main.lss

Creating Symbol Table: main.sym
avr-nm -n main.elf > main.sym
avr-size -d main.elf -t
   text    data     bss     dec     hex filename
    228       0       0     228      e4 main.elf
    228       0       0     228      e4 (TOTALS)
-------- end --------

[EMAIL PROTECTED]:/mnt/sda1_removable/avr/gcc_schlecht# make main.i
avr-gcc -E -mmcu=attiny26 -I. -g -DF_CPU=1000000UL -I -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -L
/usr/local/bin/lib/gcc/avr/4.1.1 -Wa,-adhlns=main.lst
-I/usr/local/bin/avr/include/ -std=gnu99 main.c -o main.i
main.c:32:2: warning: no newline at end of file
[EMAIL PROTECTED]:/mnt/sda1_removable/avr/gcc_schlecht# make main.s
avr-gcc -S -mmcu=attiny26 -I. -g -DF_CPU=1000000UL -I -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -L
/usr/local/bin/lib/gcc/avr/4.1.1 -Wa,-adhlns=main.lst
-I/usr/local/bin/avr/include/ -std=gnu99 -MD -MP -MF .dep/main.s.d main.c -o
main.s
main.c:32:2: warning: no newline at end of file
[EMAIL PROTECTED]:/mnt/sda1_removable/avr/gcc_schlecht#
=======================================================

main.c
=======================================================
//General Avrincludes
#include <avr/io.h>


long foo(long a, long b, long c, uint8_t d){
  if(d){
    return a+b;
  }else{
    return a-c;
  }
}

long foo_rec(long a){
  if(a==4){
    return foo_rec(a-1)+2;
  }
  return 1;
}

long foo_rec2(long a, long b){
   if(!b){
     return foo_rec2(a+2,b+4);
   }else{
     return a+b+4;
   }
}

int main(void){


  return 0;
}
========================================================

The preprocessed file:
========================================================
# 1 "main.c"
# 1 "/mnt/sda1_removable/avr/gcc_schlecht//"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "main.c"

# 1 "/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/avr/io.h" 1 3
# 87 "/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/avr/io.h" 3
# 1 "/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/avr/sfr_defs.h" 1 3
# 126 "/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/avr/sfr_defs.h" 3
# 1 "/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/inttypes.h" 1 3
# 37 "/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/inttypes.h" 3
# 1 "/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/stdint.h" 1 3
# 121 "/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/stdint.h" 3
typedef int int8_t __attribute__((__mode__(__QI__)));
typedef unsigned int uint8_t __attribute__((__mode__(__QI__)));
typedef int int16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int uint16_t __attribute__ ((__mode__ (__HI__)));
typedef int int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int uint32_t __attribute__ ((__mode__ (__SI__)));

typedef int int64_t __attribute__((__mode__(__DI__)));
typedef unsigned int uint64_t __attribute__((__mode__(__DI__)));
# 142 "/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/stdint.h" 3
typedef int16_t intptr_t;




typedef uint16_t uintptr_t;
# 159 "/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/stdint.h" 3
typedef int8_t int_least8_t;




typedef uint8_t uint_least8_t;




typedef int16_t int_least16_t;




typedef uint16_t uint_least16_t;




typedef int32_t int_least32_t;




typedef uint32_t uint_least32_t;







typedef int64_t int_least64_t;






typedef uint64_t uint_least64_t;
# 213 "/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/stdint.h" 3
typedef int8_t int_fast8_t;




typedef uint8_t uint_fast8_t;




typedef int16_t int_fast16_t;




typedef uint16_t uint_fast16_t;




typedef int32_t int_fast32_t;




typedef uint32_t uint_fast32_t;







typedef int64_t int_fast64_t;






typedef uint64_t uint_fast64_t;
# 273 "/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/stdint.h" 3
typedef int64_t intmax_t;




typedef uint64_t uintmax_t;
# 38 "/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/inttypes.h" 2 3
# 77 "/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/inttypes.h" 3
typedef int32_t int_farptr_t;



typedef uint32_t uint_farptr_t;
# 127 "/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/avr/sfr_defs.h" 2 3
# 88 "/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/avr/io.h" 2 3
# 312 "/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/avr/io.h" 3
# 1 "/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/avr/iotn26.h" 1 3
# 313 "/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/avr/io.h" 2 3
# 360 "/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/avr/io.h" 3
# 1 "/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/avr/portpins.h" 1 3
# 361 "/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/avr/io.h" 2 3
# 370 "/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/avr/io.h" 3
# 1 "/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/avr/version.h" 1 3
# 371 "/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/avr/io.h" 2 3
# 3 "main.c" 2


long foo(long a, long b, long c, uint8_t d){
  if(d){
    return a+b;
  }else{
    return a-c;
  }
}

long foo_rec(long a){
  if(a==4){
    return foo_rec(a-1)+2;
  }
  return 1;
}

long foo_rec2(long a, long b){
   if(!b){
     return foo_rec2(a+2,b+4);
   }else{
     return a+b+4;
   }
}

int main(void){


  return 0;
}
==============================================================
The Assemblerfile:
==============================================================
        .file   "main.c"
        .arch attiny26
__SREG__ = 0x3f
__SP_H__ = 0x3e
__SP_L__ = 0x3d
__tmp_reg__ = 0
__zero_reg__ = 1
        .global __do_copy_data
        .global __do_clear_bss
        .stabs  "/mnt/sda1_removable/avr/gcc_schlecht/",100,0,2,.Ltext0
        .stabs  "main.c",100,0,2,.Ltext0
        .text
.Ltext0:
        .stabs  "gcc2_compiled.",60,0,0,0
        .stabs  "int:t(0,1)=r(0,1);-32768;32767;",128,0,0,0
        .stabs  "char:t(0,2)[EMAIL PROTECTED];r(0,2);0;255;",128,0,0,0
        .stabs  "long
int:t(0,3)[EMAIL PROTECTED];r(0,3);020000000000;017777777777;",128,0,0,0
        .stabs  "unsigned int:t(0,4)=r(0,4);0;0177777;",128,0,0,0
        .stabs  "long unsigned
int:t(0,5)[EMAIL PROTECTED];r(0,5);0;037777777777;",128,0,0,0
        .stabs  "long long
int:t(0,6)[EMAIL 
PROTECTED];r(0,6);01000000000000000000000;0777777777777777777777;",128,0,0,0
        .stabs  "long long unsigned
int:t(0,7)[EMAIL PROTECTED];r(0,7);0;01777777777777777777777;",128,0,0,0
        .stabs  "short int:t(0,8)=r(0,8);-32768;32767;",128,0,0,0
        .stabs  "short unsigned int:t(0,9)=r(0,9);0;0177777;",128,0,0,0
        .stabs  "signed char:t(0,10)[EMAIL 
PROTECTED];r(0,10);-128;127;",128,0,0,0
        .stabs  "unsigned char:t(0,11)[EMAIL 
PROTECTED];r(0,11);0;255;",128,0,0,0
        .stabs  "float:t(0,12)=r(0,1);4;0;",128,0,0,0
        .stabs  "double:t(0,13)=r(0,1);4;0;",128,0,0,0
        .stabs  "long double:t(0,14)=r(0,1);4;0;",128,0,0,0
        .stabs  "void:t(0,15)=(0,15)",128,0,0,0
        .stabs 
"/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/avr/io.h",130,0,0,0
        .stabs 
"/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/avr/sfr_defs.h",130,0,0,0
        .stabs 
"/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/inttypes.h",130,0,0,0
        .stabs 
"/usr/local/lib/gcc/avr/4.1.2/../../../../avr/include/stdint.h",130,0,0,0
        .stabs  "int8_t:t(4,1)=(0,10)",128,0,121,0
        .stabs  "uint8_t:t(4,2)=(0,11)",128,0,122,0
        .stabs  "int16_t:t(4,3)=(0,1)",128,0,123,0
        .stabs  "uint16_t:t(4,4)=(0,4)",128,0,124,0
        .stabs  "int32_t:t(4,5)=(0,3)",128,0,125,0
        .stabs  "uint32_t:t(4,6)=(0,5)",128,0,126,0
        .stabs  "int64_t:t(4,7)=(0,6)",128,0,128,0
        .stabs  "uint64_t:t(4,8)=(0,7)",128,0,129,0
        .stabs  "intptr_t:t(4,9)=(4,3)",128,0,142,0
        .stabs  "uintptr_t:t(4,10)=(4,4)",128,0,147,0
        .stabs  "int_least8_t:t(4,11)=(4,1)",128,0,159,0
        .stabs  "uint_least8_t:t(4,12)=(4,2)",128,0,164,0
        .stabs  "int_least16_t:t(4,13)=(4,3)",128,0,169,0
        .stabs  "uint_least16_t:t(4,14)=(4,4)",128,0,174,0
        .stabs  "int_least32_t:t(4,15)=(4,5)",128,0,179,0
        .stabs  "uint_least32_t:t(4,16)=(4,6)",128,0,184,0
        .stabs  "int_least64_t:t(4,17)=(4,7)",128,0,192,0
        .stabs  "uint_least64_t:t(4,18)=(4,8)",128,0,199,0
        .stabs  "int_fast8_t:t(4,19)=(4,1)",128,0,213,0
        .stabs  "uint_fast8_t:t(4,20)=(4,2)",128,0,218,0
        .stabs  "int_fast16_t:t(4,21)=(4,3)",128,0,223,0
        .stabs  "uint_fast16_t:t(4,22)=(4,4)",128,0,228,0
        .stabs  "int_fast32_t:t(4,23)=(4,5)",128,0,233,0
        .stabs  "uint_fast32_t:t(4,24)=(4,6)",128,0,238,0
        .stabs  "int_fast64_t:t(4,25)=(4,7)",128,0,246,0
        .stabs  "uint_fast64_t:t(4,26)=(4,8)",128,0,253,0
        .stabs  "intmax_t:t(4,27)=(4,7)",128,0,273,0
        .stabs  "uintmax_t:t(4,28)=(4,8)",128,0,278,0
        .stabn  162,0,0,0
        .stabs  "int_farptr_t:t(3,1)=(4,5)",128,0,77,0
        .stabs  "uint_farptr_t:t(3,2)=(4,6)",128,0,81,0
        .stabn  162,0,0,0
        .stabn  162,0,0,0
        .stabn  162,0,0,0
        .stabs  "foo:F(0,3)",36,0,5,foo
        .stabs  "a:P(0,3)",64,0,5,22
        .stabs  "b:P(0,3)",64,0,5,18
        .stabs  "c:P(0,3)",64,0,5,14
        .stabs  "d:P(4,2)",64,0,5,12
.global foo
        .type   foo, @function
foo:
        .stabd  46,0,0
        .stabn  68,0,5,.LM0-foo
.LM0:
/* prologue: frame size=0 */
        push r12
        push r14
        push r15
        push r16
        push r17
/* prologue end (size=5) */
        .stabn  68,0,6,.LM1-foo
.LM1:
        tst r12
        breq .L2
        .stabn  68,0,7,.LM2-foo
.LM2:
        add r22,r18
        adc r23,r19
        adc r24,r20
        adc r25,r21
        rjmp .L4
.L2:
        .stabn  68,0,9,.LM3-foo
.LM3:
        sub r22,r14
        sbc r23,r15
        sbc r24,r16
        sbc r25,r17
.L4:
/* epilogue: frame size=0 */
        pop r17
        pop r16
        pop r15
        pop r14
        pop r12
        ret
/* epilogue end (size=6) */
/* function foo size 22 (11) */
        .size   foo, .-foo
.Lscope0:
        .stabs  "",36,0,0,.Lscope0-foo
        .stabd  78,0,0
        .stabs  "foo_rec:F(0,3)",36,0,13,foo_rec
        .stabs  "a:P(0,3)",64,0,13,22
.global foo_rec
        .type   foo_rec, @function
foo_rec:
        .stabd  46,0,0
        .stabn  68,0,13,.LM4-foo_rec
.LM4:
/* prologue: frame size=0 */
/* prologue end (size=0) */
        .stabn  68,0,14,.LM5-foo_rec
.LM5:
        cpi r22,lo8(4)
        cpc r23,__zero_reg__
        cpc r24,__zero_reg__
        cpc r25,__zero_reg__
        breq .L8
        .stabn  68,0,14,.LM6-foo_rec
.LM6:
        ldi r22,lo8(0)
        ldi r23,hi8(0)
        ldi r24,hlo8(0)
        ldi r25,hhi8(0)
        rjmp .L10
.L8:
        ldi r22,lo8(2)
        ldi r23,hi8(2)
        ldi r24,hlo8(2)
        ldi r25,hhi8(2)
.L10:
        subi r22,lo8(-(1))
        sbci r23,hi8(-(1))
        sbci r24,hlo8(-(1))
        sbci r25,hhi8(-(1))
/* epilogue: frame size=0 */
        ret
/* epilogue end (size=1) */
/* function foo_rec size 19 (18) */
        .size   foo_rec, .-foo_rec
.Lscope1:
        .stabs  "",36,0,0,.Lscope1-foo_rec
        .stabd  78,0,0
        .stabs  "foo_rec2:F(0,3)",36,0,20,foo_rec2
        .stabs  "a:P(0,3)",64,0,20,22
        .stabs  "b:P(0,3)",64,0,20,18
.global foo_rec2
        .type   foo_rec2, @function
foo_rec2:
        .stabd  46,0,0
        .stabn  68,0,20,.LM7-foo_rec2
.LM7:
/* prologue: frame size=0 */
/* prologue end (size=0) */
        .stabn  68,0,21,.LM8-foo_rec2
.LM8:
        cp r18,__zero_reg__
        cpc r19,__zero_reg__
        cpc r20,__zero_reg__
        cpc r21,__zero_reg__
        brne .L14
        .stabn  68,0,22,.LM9-foo_rec2
.LM9:
        subi r22,lo8(-(2))
        sbci r23,hi8(-(2))
        sbci r24,hlo8(-(2))
        sbci r25,hhi8(-(2))
        ldi r18,lo8(4)
        ldi r19,hi8(4)
        ldi r20,hlo8(4)
        ldi r21,hhi8(4)
.L14:
        subi r22,lo8(-(4))
        sbci r23,hi8(-(4))
        sbci r24,hlo8(-(4))
        sbci r25,hhi8(-(4))
        add r18,r22
        adc r19,r23
        adc r20,r24
        adc r21,r25
        .stabn  68,0,26,.LM10-foo_rec2
.LM10:
        mov r25,r21
        mov r24,r20
        mov r23,r19
        mov r22,r18
/* epilogue: frame size=0 */
        ret
/* epilogue end (size=1) */
/* function foo_rec2 size 26 (25) */
        .size   foo_rec2, .-foo_rec2
.Lscope2:
        .stabs  "",36,0,0,.Lscope2-foo_rec2
        .stabd  78,0,0
        .stabs  "main:F(0,1)",36,0,28,main
.global main
        .type   main, @function
main:
        .stabd  46,0,0
        .stabn  68,0,28,.LM11-main
.LM11:
/* prologue: frame size=0 */
        ldi r28,lo8(__stack - 0)
        ldi r29,hi8(__stack - 0)
        out __SP_H__,r29
        out __SP_L__,r28
/* prologue end (size=4) */
        .stabn  68,0,32,.LM12-main
.LM12:
        ldi r24,lo8(0)
        ldi r25,hi8(0)
/* epilogue: frame size=0 */
        rjmp exit
/* epilogue end (size=1) */
/* function main size 7 (2) */
        .size   main, .-main
.Lscope3:
        .stabs  "",36,0,0,.Lscope3-main
        .stabd  78,0,0
        .stabs  "",100,0,0,.Letext0
.Letext0:
/* File "main.c": code   74 = 0x004a (  56), prologues   9, epilogues   9 */
=================================================

I hope this are all the necesarry files.

Michael


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32871

Reply via email to