--- Comment #8 from KenJackson at ieee dot org 2006-02-21 18:23 ---
Thanks for the -v.
I ran this:
avr-ld -m avr4 -Tdata 0x800100 -o t.hex /usr/local/avr/lib/avr4/crtm88.o \
-L/usr/local/lib/gcc/avr/4.0.2/avr4 \
-L/usr/local/lib/gcc/avr/4.0.2 \
-L/usr
--- Comment #6 from KenJackson at ieee dot org 2006-02-21 16:23 ---
To further narrow this, I should replace the linking line from my original
post:
avr-gcc -mmcu=atmega88 -Wl,-mavr4 -Wl,--oformat=ihex,-s t.o -o t.hex
with the equivalent call to avr-ld. But it's not clear
--- Comment #5 from KenJackson at ieee dot org 2006-02-21 16:17 ---
I found libgcc.S and even referenced it in the original post, but I can't
reproduce the error with avr-as from binutils. For example:
Source file, u.s:
.section .init5,"ax",@progbits
--- Comment #1 from KenJackson at ieee dot org 2006-02-21 16:00 ---
I have confirmed that I can work around the error by adding these two lines:
void skip_clear_bss(void) __attribute__((naked,section(".init3")));
void skip_clear_bss(void) { asm volatile ("rjmp mai
ect opcode in __do_clear_bss if bss has more than
15 bytes
Product: gcc
Version: 4.0.2
Status: UNCONFIRMED
Severity: major
Priority: P3
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
Repo