This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430F5529: why doesn't ld include crt0?

Part Number: MSP430F5529

I'm using gcc on linux, for building msp430 code.

I'm linking and object  file, either using gcc or ld; now the gcc command works, but the ld command generates a very small file, that doesn't include most of the code, just a subroutine. In particular crt0 and the like aren't linked.

Now as far as I can see, I'm passing the same options in gcc than in ld, but its clear that gcc is calling ld in a different way than I am. Specifically the gcc command:

msp430-elf-gcc -T /home/summers/msp430/include/msp430f5529.ld -L /home/summers/msp430/include -mmcu=MSP430F5529 -Wl,--gc-sections gcc/sin.o -o gcc/sin.out

and the ld command:

msp430-elf-ld -L /home/summers/msp430/include -T msp430f5529.ld --gc-sections gcc/sin.o -o gcc/sin2.out

So what am I doing wrong with ld, e.g. what else do I need in there?

**Attention** This is a public forum