Wrong crt0 pulled in with official arm-gcc toolchain?
Sven Pauli <[email protected]>
| Newsgroups | gmane.comp.lib.newlib |
|---|---|
| Message-ID | <1917918.tdWV9SEqCh@sven-21k9cto1ww> |
Hi, I've just recently upgraded my (fairly old) toolchain to the latest official one (arm-gnu- toolchain-14.2.rel1-x86_64-arm-none-eabi) distributed by ARM. It seems that for some reason now when linking it started to pull in `crt0.o` from gcc (./lib/ gcc/arm-none-eabi/...) instead of the one that comes with newlib (./arm-none-eabi/lib/...), and that in turn expects various symbols to be defined, mainly related to transactional memory (__TMC_END__ from .text.register_tm_clones and so on). I haven't changed anything since the upgrade; command lines are pretty basic, just `- mcpu=cortex-m3` and `--specs=nano.specs --specs=nosys.specs`. I'm using the `crti/crto/ crtbegin/crtend` that belongs to gcc (so I don't want to use `nostartfiles`) and I intended to use the `crt0` from newlib, and I provide my own startup that relocates the data segment and then defers to `_start`. Now I am a bit clueless where to adjust something. Is this a gcc or a newlib or a user issue..? Many thanks and kind regards, Sven