What | Removed | Added |
---|---|---|
CC | matthewtrescott@gmail.com | |
OS | openSUSE Factory | All |
I would guess this is an ARM vs Thumb issue too---in my case integer division was implemented in traditional ARM instructions in the copy of libgcc that is currently shipped with cross-arm-none-gcc, which caused errors when I ran it on my Cortex-M4 micro. You can compile GCC to include the full set of libgcc binaries for different combinations of hard-float, soft-float, armv7, armv8, etc. I haven't tested this yet but I believe it should work (it's roughly the same settings as those used by Debian and the compiled binaries from ARM): osc co openSUSE:Factory/cross-arm-none-gcc10 Edit gcc.spec.in and add %if "%{TARGET_ARCH}" == "arm-none" --enable-multilib \ --disable-decimal-float \ --disable-libffi \ --disable-libgomp \ --disable-libmudflap \ --disable-libquadmath \ --disable-libssp \ --disable-libstdcxx-pch \ --disable-shared \ --disable-threads \ --disable-tls \ --with-multilib-list=rmprofile \ --without-headers \ %endif around line 1303, then run sh pre_checkin.sh 10 osc build --local-package It took over half an hour to compile for me, but in the end the packages will be there in /var/tmp/build-root/openSUSE_Factory/home/abuild/rpmbuild/RPMS/x86_64. And the packages have the full set of libgcc binaries in /usr/lib64/gcc/arm-none-eabi/10/thumb. Andreas, after I make sure this works I'd be happy to open a submitrequest on OBS. I'm just not sure whether this is quite the correct approach or not. (For example, should I enable "aprofile" in addition to "rmprofile" as described at https://gcc.gnu.org/install/configure.html ?)