Re: Wrong crt0 pulled in with official arm-gcc toolchain?

"Richard Earnshaw (lists)" <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
On 15/01/2025 18:42, Sven Pauli wrote:
> 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
> 

Can you double-check your installation, please?  I can only find

./arm-none-eabi/lib/thumb/v7-a+simd/softfp/crt0.o
./arm-none-eabi/lib/thumb/v7-a+simd/hard/crt0.o
./arm-none-eabi/lib/thumb/v7e-m+dp/softfp/crt0.o
./arm-none-eabi/lib/thumb/v7e-m+dp/hard/crt0.o
./arm-none-eabi/lib/thumb/v8-a+simd/softfp/crt0.o
./arm-none-eabi/lib/thumb/v8-a+simd/hard/crt0.o
./arm-none-eabi/lib/thumb/v7+fp/softfp/crt0.o
./arm-none-eabi/lib/thumb/v7+fp/hard/crt0.o
./arm-none-eabi/lib/thumb/v8-m.main/nofp/crt0.o
./arm-none-eabi/lib/thumb/v7e-m/nofp/crt0.o
./arm-none-eabi/lib/thumb/v7-a+fp/softfp/crt0.o
./arm-none-eabi/lib/thumb/v7-a+fp/hard/crt0.o
./arm-none-eabi/lib/thumb/v8.1-m.main+pacbti/bp/nofp/crt0.o
./arm-none-eabi/lib/thumb/v8-a/nofp/crt0.o
./arm-none-eabi/lib/thumb/v8.1-m.main+mve/hard/crt0.o
./arm-none-eabi/lib/thumb/v8-m.main+dp/softfp/crt0.o
./arm-none-eabi/lib/thumb/v8-m.main+dp/hard/crt0.o
./arm-none-eabi/lib/thumb/v8.1-m.main+pacbti+mve/bp/hard/crt0.o
./arm-none-eabi/lib/thumb/v7ve+simd/softfp/crt0.o
./arm-none-eabi/lib/thumb/v7ve+simd/hard/crt0.o
./arm-none-eabi/lib/thumb/v8-m.main+fp/softfp/crt0.o
./arm-none-eabi/lib/thumb/v8-m.main+fp/hard/crt0.o
./arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o
./arm-none-eabi/lib/thumb/v7-a/nofp/crt0.o
./arm-none-eabi/lib/thumb/v7/nofp/crt0.o
./arm-none-eabi/lib/thumb/v7e-m+fp/softfp/crt0.o
./arm-none-eabi/lib/thumb/v7e-m+fp/hard/crt0.o
./arm-none-eabi/lib/thumb/nofp/crt0.o
./arm-none-eabi/lib/thumb/v8.1-m.main+pacbti+fp/bp/softfp/crt0.o
./arm-none-eabi/lib/thumb/v8.1-m.main+pacbti+fp/bp/hard/crt0.o
./arm-none-eabi/lib/thumb/v7-m/nofp/crt0.o
./arm-none-eabi/lib/thumb/v8.1-m.main+pacbti+dp/bp/softfp/crt0.o
./arm-none-eabi/lib/thumb/v8.1-m.main+pacbti+dp/bp/hard/crt0.o
./arm-none-eabi/lib/thumb/v8-m.base/nofp/crt0.o
./arm-none-eabi/lib/thumb/v7-r+fp.sp/softfp/crt0.o
./arm-none-eabi/lib/thumb/v7-r+fp.sp/hard/crt0.o
./arm-none-eabi/lib/arm/v5te/softfp/crt0.o
./arm-none-eabi/lib/arm/v5te/hard/crt0.o
./arm-none-eabi/lib/crt0.o

In the install image (x86 hosted).

So I wonder if you've picked up a crt0.o from somewhere else.

R.
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.