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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.