[OpenSIPS-Users] Compiling for arm v7
Bogdan-Andrei Iancu
bogdan at opensips.org
Mon Jan 3 16:18:37 UTC 2022
Hi Micael and Happy New Year ;)
This is more an cross-compiling issue. The arm v6 and 7 obsoleted the
swp/swpb instructions - this is what the warning are saying. The problem
is that your compiler is generating asm code with those instruction; and
the warnings are reported by assembler (which knows that those
instructions are not valid).
I'm not a cross-compiling export (not even closer :P), but I guess you
are passing some wrong compiling flags, leading to this conflict here.
Best regards,
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
https://www.opensips-solutions.com
OpenSIPS eBootcamp 2021
https://opensips.org/training/OpenSIPS_eBootcamp_2021/
On 1/1/22 11:48 AM, Micael wrote:
> Hi all,
>
> (Happy New Year!)
>
> I am trying to cross compile 3.2.4 for armv7. Now, I'm new to opensips,
> so I have no previous experience to fall back on..
>
> In short: I have issues, getting this warning when compiling
> "swp{b} use is deprecated for ARMv6 and ARMv7"
>
>
> What I have done is:
> export
> CC_EXTRA_OPTS="--sysroot=/opt/toolchains/gcc-arm-10.2-2020.11-x86_64-arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/libc
> -I /volt001/tmp/sysroots-components/cortexa8hf-neon/openssl/usr/include"
>
>
> export LD_EXTRA_OPTS="-L
> /volt001/tmp/sysroots-components/cortexa8hf-neon/openssl/usr/lib"
>
> export
> CC="/opt/toolchains/gcc-arm-10.2-2020.11-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-gcc
> -marm -march=armv7-a -mthumb-interwork -mfloat-abi=hard -mfpu=neon"
>
> export CPU=armv7a
>
>
> I then had to remove the following section in Makefile.defs, otherwise
> it would add strongarm1100 as cpu.
>
> ---8<---------8<------
> ifeq ($(CC_CLASS), 4.x)
> CFLAGS+=-mcpu=strongarm1100 -ftree-vectorize
> else
> #if gcc 3.0+
> ifeq ($(CC_CLASS), 3.x)
> CFLAGS+= -mcpu=strongarm1100
> else
> ifeq ($(CC_CLASS), 2.9x) #older gcc version (2.9[1-5])
> $(warning Old gcc detected ($(CC_SHORTVER)), use gcc 3.0.x \
> for better results)
>
> CFLAGS+=
> else
> #really old version
> $(warning You are using an old and unsupported gcc \
> version ($(CC_SHORTVER)), compile at your own risk!)
>
> endif # CC_CLASS, 2.9x
> endif # CC_CLASS, 3.x
> ---8<---------8<------
>
>
>
>
>
>
> Once I have done that, everything compiles, but with one and the same
> warning (lots, and lots of them);
>
>
> e.g.:
>
> Compiling ip_addr.c
> /tmp/ccj7cheW.s: Assembler messages:
> /tmp/ccj7cheW.s:1857: swp{b} use is deprecated for ARMv6 and ARMv7
> /tmp/ccj7cheW.s:1892: swp{b} use is deprecated for ARMv6 and ARMv7
> /tmp/ccj7cheW.s:1928: swp{b} use is deprecated for ARMv6 and ARMv7
> /tmp/ccj7cheW.s:2171: swp{b} use is deprecated for ARMv6 and ARMv7
> /tmp/ccj7cheW.s:2206: swp{b} use is deprecated for ARMv6 and ARMv7
> /tmp/ccj7cheW.s:2242: swp{b} use is deprecated for ARMv6 and ARMv7
> Compiling ipc.c
> Compiling main.c
> Compiling map.c
> /tmp/cc6q8n3v.s: Assembler messages:
> /tmp/cc6q8n3v.s:6001: swp{b} use is deprecated for ARMv6 and ARMv7
> /tmp/cc6q8n3v.s:6036: swp{b} use is deprecated for ARMv6 and ARMv7
> /tmp/cc6q8n3v.s:6072: swp{b} use is deprecated for ARMv6 and ARMv7
> Compiling md5.c
> Compiling md5utils.c
>
>
> I guess I must not be the only one compiling for arm, so I hope
> someone can point me closer to whats wrong.
>
>
> Any help appreciated,
> Micael
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
More information about the Users
mailing list