avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[avr-gcc-list] GCC 3.4.1 function address discrephancies


From: Joshua Perry
Subject: [avr-gcc-list] GCC 3.4.1 function address discrephancies
Date: Sat, 30 Oct 2004 12:07:32 -0600

I am trying to build a bootloader, with an older version of WinAVR GCC 3.3.1
the address for main would always be .text:00000000 as so:

 

DEFINED SYMBOLS

                            *ABS*:00000000 xboot.c

                            *ABS*:0000003f __SREG__

                            *ABS*:0000003e __SP_H__

                            *ABS*:0000003d __SP_L__

                            *ABS*:00000000 __tmp_reg__

                            *ABS*:00000001 __zero_reg__

C:\DOCUME~1\jperry\LOCALS~1\Temp/ccIXaaaa.s:13     .text:00000000 main

C:\DOCUME~1\jperry\LOCALS~1\Temp/ccIXaaaa.s:278    .text:000001ba SendOctet

C:\DOCUME~1\jperry\LOCALS~1\Temp/ccIXaaaa.s:331    .text:0000020a RecvPacket

C:\DOCUME~1\jperry\LOCALS~1\Temp/ccIXaaaa.s:129    .text:000000cc FlashPage

C:\DOCUME~1\jperry\LOCALS~1\Temp/ccIXaaaa.s:295    .text:000001ca RecvOctet

                            *COM*:00000002 intime

 

UNDEFINED SYMBOLS

__do_copy_data

__do_clear_bss

__stack

 

I have output from the .lst file of the newest version of WinAvr. GCC 3.4.1
main isn't at .text:00000000, it is put at the highest progmem location
compared to all the other functions, as so:

 
DEFINED SYMBOLS 
*ABS*:00000000 xboot.c 
*ABS*:0000003f __SREG__ 
*ABS*:0000003e __SP_H__ 
*ABS*:0000003d __SP_L__ 
*ABS*:00000000 __tmp_reg__ 
*ABS*:00000001 __zero_reg__ 
C:\DOCUME~1\jperry\LOCALS~1\Temp/cco5aaaa.s:12 .text:00000000 SendOctet 
C:\DOCUME~1\jperry\LOCALS~1\Temp/cco5aaaa.s:41 .text:00000028 FlashPage 
C:\DOCUME~1\jperry\LOCALS~1\Temp/cco5aaaa.s:190 .text:00000116 RecvOctet 
*COM*:00000002 intime 
C:\DOCUME~1\jperry\LOCALS~1\Temp/cco5aaaa.s:226 .text:00000156 RecvPacket 
C:\DOCUME~1\jperry\LOCALS~1\Temp/cco5aaaa.s:304 .text:000001e6 main 

UNDEFINED SYMBOLS 
__do_copy_data 
__do_clear_bss 
__stack

 

The function "SendOctet" gets executed as soon as we jump to the bootloader
section. Does anyone know why GCC 3.4.1 is doing this, or how I could fix
it? 

 

Thanks for any help

Josh


reply via email to

[Prev in Thread] Current Thread [Next in Thread]