We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello.
I'm trying to use arm-none-eabi-gcc (with several versions such as 10.3-2021.10) on windows to compile a dynamic library for ARM Cortex-M33; If I use compile option with -mcpu=cortex-m33, the build fails with an error "warning: thumb-1 mode PLT generation not currently supported collect2.exe: error: ld returned 1 exit status。".
Here is an example of my compile and result:
arm-none-eabi-gcc.exe -fPIC -mthumb -mcpu=cortex-m33 -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fPIC -shared -nostdlib -nostartfiles -fdata-sections -ffunction-sections -Og -g0 -o libexternal_qrcode.so
The result:
arm-none-eabi/bin/ld.exe: libexternal_qrcode.so: warning: thumb-1 mode PLT generation not currently supported collect2.exe: error: ld returned 1 exit status。
however, if I change compile option to -mcpu=cortex-m4, the buid succeeds.
Hi!
Which version of the GNU binutils do you use?
Tried a simple example with your mentioned compiler/linker arguments for Cortex-M33 and works fine (no errors) with the actually version of GNU-ld and GCC:
$ arm-none-eabi-gcc -fPIC -mthumb -mcpu=cortex-m33 -mfloat-abi=hard -mfpu=fpv5-sp-d16 -fPIC -shared -nostdlib -nostartfiles -fdata-sections -ffunction-sections -Og -g0 -o libfoo.so foo.c $
Content of foo.c:
int foo(int a, int b) { return a + b; }
GNU-ld version:
$ arm-none-eabi-ld --version GNU ld (GNU Binutils) 2.39.50.20221031 Copyright (C) 2022 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or (at your option) a later version. This program has absolutely no warranty. $
GCC version:
$ arm-none-eabi-gcc --version arm-none-eabi-gcc (GCC) 12.2.1 20221104 Copyright (C) 2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Hi
Here is my GNU binutils version:
$ arm-none-eabi-gcc --versionarm-none-eabi-gcc.exe (GNU Arm Embedded Toolchain 10.3-2021.10) 10.3.1 20210824 (release)Copyright (C) 2020 Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Where could I download the 2022 version GNU? The lateset version in this website(developer.arm.com/.../gnu-rm) is 2021.10
Sorry, I just noticed this site has been deprecated. Thans for your answer.