When I insert into an archive library the interrupt services does not appears into the target elf.
I reproduced with a minimal gist the problem:
https://gist.github.com/attdona/0ef96f41155d780f70ef
The build recipe build_no_lib (mspgcc LTS 20120406 unpatched):
msp430-gcc -Os -fno-strict-aliasing -g -Wall -mmcu=msp430f5438 -std=gnu99 -c -o isr.o isr.c
msp430-gcc -Os -fno-strict-aliasing -g -Wall -mmcu=msp430f5438 -std=gnu99 -c -o main.o main.c
msp430-gcc ./isr.o ./main.o -mmcu=msp430f5438 -o "main-nolib.elf"
create the right fw (.vectors OK e ISR OK)
whereas the recipe:
msp430-gcc -Os -fno-strict-aliasing -g -Wall -mmcu=msp430f5438 -std=gnu99 -c -o isr.o isr.c
msp430-ar rcf mylib.a isr.o
msp430-gcc -Os -fno-strict-aliasing -g -Wall -mmcu=msp430f5438 -std=gnu99 main.c mylib.a -o main-lib.elf
does not setup .vectors and the ISR in not included in the elf.
What I missing?
Attilio