в t-arm-elf в дополнении к
Код
MULTILIB_OPTIONS = marm/mthumb
MULTILIB_DIRNAMES = arm thumb
MULTILIB_EXCEPTIONS =
MULTILIB_MATCHES =
было раскоментировано:
Код
MULTILIB_OPTIONS += march=armv7
MULTILIB_DIRNAMES += thumb2
MULTILIB_EXCEPTIONS += march=armv7* marm/*march=armv7*
MULTILIB_MATCHES += march?armv7=march?armv7-a
MULTILIB_MATCHES += march?armv7=march?armv7-r
MULTILIB_MATCHES += march?armv7=march?armv7-m
MULTILIB_MATCHES += march?armv7=mcpu?cortex-a8
MULTILIB_MATCHES += march?armv7=mcpu?cortex-r4
MULTILIB_MATCHES += march?armv7=mcpu?cortex-m3
при сборке newlib & gcc указано ----enable-multilib
что в итоге:
нигде в директории установки (--prefix) нету даже пустой папки с названием thumb2
в директории, из которой производилась сборка gcc имеется:
Код
$ ll arm-none-eabi/thumb2
drwxrwxr-x 2 doka doka 4096 Nov 17 16:01 libgcc
$ ll arm-none-eabi/thumb2/libgcc/
-rw-rw-r-- 1 doka doka 0 Nov 17 16:01 config.cache
-rw-rw-r-- 1 doka doka 15584 Nov 17 16:01 config.log
однако это "слёзы" по сравнению с содержимым arm-none-eabi/thumb:
CODE
$ ll arm-none-eabi/thumb
drwxrwxr-x 2 doka doka 12288 Nov 17 16:08 libgcc
drwxrwxr-x 3 doka doka 4096 Nov 17 16:09 libiberty
drwxrwxr-x 5 doka doka 4096 Nov 17 16:10 libssp
drwxrwxr-x 9 doka doka 4096 Nov 17 16:09 libstdc++-v3
$ ls arm-none-eabi/thumb/libgcc/
_absvdi2.dep _arm_fixunsdfsi.o _bswapdi2.dep _divdi3.dep fixdfsi.o floatsisf.dep _gcov_indirect_call_profiler.dep _lshrdi3.dep _negvdi2.dep _trampoline.o
_absvdi2.o _arm_fixunssfsi.dep _bswapdi2.o _divdi3.o _fixsfdi.dep floatsisf.o _gcov_indirect_call_profiler.o _lshrdi3.o _negvdi2.o truncdfsf2.dep
_absvsi2.dep _arm_fixunssfsi.o _bswapsi2.dep _divsc3.dep _fixsfdi.o _floatundidf.dep _gcov_interval_profiler.dep __main.dep _negvsi2.dep truncdfsf2.o
_absvsi2.o _arm_floatdidf.dep _bswapsi2.o _divsc3.o fixsfsi.dep _floatundidf.o _gcov_interval_profiler.o __main.o _negvsi2.o _ucmpdi2.dep
adddf3.dep _arm_floatdidf.o _call_via_rX.dep divsf3.dep fixsfsi.o _floatundisf.dep _gcov_ior_profiler.dep Makefile _paritydi2.dep _ucmpdi2.o
adddf3.o _arm_floatdisf.dep _call_via_rX.o divsf3.o _fixtfdi.dep _floatundisf.o _gcov_ior_profiler.o _moddi3.dep _paritydi2.o _udivdi3.dep
addsf3.dep _arm_floatdisf.o _clear_cache.dep _divsi3.dep _fixtfdi.o _floatunditf.dep _gcov_merge_add.dep _moddi3.o _paritysi2.dep _udivdi3.o
addsf3.o _arm_floatundidf.dep _clear_cache.o _divsi3.o _fixunsdfdi.dep _floatunditf.o _gcov_merge_add.o _modsi3.dep _paritysi2.o _udivmoddi4.dep
_addvdi3.dep _arm_floatundidf.o _clz.dep _divtc3.dep _fixunsdfdi.o _floatundixf.dep _gcov_merge_delta.dep _modsi3.o _popcountdi2.dep _udivmoddi4.o
_addvdi3.o _arm_floatundisf.dep _clzdi2.dep _divtc3.o _fixunsdfsi.dep _floatundixf.o _gcov_merge_delta.o _muldc3.dep _popcountdi2.o _udivsi3.dep
_addvsi3.dep _arm_floatundisf.o _clzdi2.o _divxc3.dep _fixunsdfsi.o floatunsidf.dep _gcov_merge_ior.dep _muldc3.o _popcountsi2.dep _udivsi3.o
_addvsi3.o _arm_muldivdf3.dep _clz.o _divxc3.o _fixunssfdi.dep floatunsidf.o _gcov_merge_ior.o muldf3.dep _popcountsi2.o _udiv_w_sdiv.dep
_aeabi_lcmp.dep _arm_muldivdf3.o _clzsi2.dep _dvmd_tls.dep _fixunssfdi.o floatunsisf.dep _gcov_merge_single.dep muldf3.o _popcount_tab.dep _udiv_w_sdiv.o
_aeabi_lcmp.o _arm_muldivsf3.dep _clzsi2.o _dvmd_tls.o _fixunssfsi.dep floatunsisf.o _gcov_merge_single.o _muldi3.dep _popcount_tab.o _umoddi3.dep
_aeabi_ldivmod.dep _arm_muldivsf3.o _cmpdi2.dep emutls.dep _fixunssfsi.o __gcc_bcmp.dep _gcov.o _muldi3.o _powidf2.dep _umoddi3.o
_aeabi_ldivmod.o _arm_negdf2.dep _cmpdi2.o emutls.o _fixunstfdi.dep __gcc_bcmp.o _gcov_one_value_profiler.dep _mulsc3.dep _powidf2.o _umodsi3.dep
_aeabi_ulcmp.dep _arm_negdf2.o config.cache _enable_execute_stack.dep _fixunstfdi.o _gcov_average_profiler.dep _gcov_one_value_profiler.o _mulsc3.o _powisf2.dep _umodsi3.o
_aeabi_ulcmp.o _arm_negsf2.dep config.log _enable_execute_stack.o _fixunsxfdi.dep _gcov_average_profiler.o _gcov_pow2_profiler.dep mulsf3.dep _powisf2.o unaligned-funcs.dep
_aeabi_uldivmod.dep _arm_negsf2.o config.status _eprintf.dep _fixunsxfdi.o _gcov.dep _gcov_pow2_profiler.o mulsf3.o _powitf2.dep unaligned-funcs.o
_aeabi_uldivmod.o _arm_truncdfsf2.dep crtbegin.o _eprintf.o _fixunsxfsi.dep _gcov_execl.dep gedf2.dep _multc3.dep _powitf2.o unorddf2.dep
_arm_addsubdf3.dep _arm_truncdfsf2.o crtend.o eqdf2.dep _fixunsxfsi.o _gcov_execle.dep gedf2.o _multc3.o _powixf2.dep unorddf2.o
_arm_addsubdf3.o _arm_unorddf2.dep crti.o eqdf2.o _fixxfdi.dep _gcov_execle.o gesf2.dep _mulvdi3.dep _powixf2.o unordsf2.dep
_arm_addsubsf3.dep _arm_unorddf2.o crtn.o eqsf2.dep _fixxfdi.o _gcov_execl.o gesf2.o _mulvdi3.o pr-support.dep unordsf2.o
_arm_addsubsf3.o _arm_unordsf2.dep _ctors.dep eqsf2.o _floatdidf.dep _gcov_execlp.dep _interwork_call_via_rX.dep _mulvsi3.dep pr-support.o unwind-arm.dep
_arm_cmpdf2.dep _arm_unordsf2.o _ctors.o extendsfdf2.dep _floatdidf.o _gcov_execlp.o _interwork_call_via_rX.o _mulvsi3.o subdf3.dep unwind-arm.o
_arm_cmpdf2.o _ashldi3.dep _ctzdi2.dep extendsfdf2.o _floatdisf.dep _gcov_execv.dep ledf2.dep _mulxc3.dep subdf3.o unwind-c.dep
_arm_cmpsf2.dep _ashldi3.o _ctzdi2.o _ffsdi2.dep _floatdisf.o _gcov_execve.dep ledf2.o _mulxc3.o subsf3.dep unwind-c.o
_arm_cmpsf2.o _ashrdi3.dep _ctzsi2.dep _ffsdi2.o _floatditf.dep _gcov_execve.o lesf2.dep negdf2.dep subsf3.o
_arm_fixdfsi.dep _ashrdi3.o _ctzsi2.o _ffssi2.dep _floatditf.o _gcov_execv.o lesf2.o negdf2.o _subvdi3.dep
_arm_fixdfsi.o _bb_init_func.dep _divdc3.dep _ffssi2.o _floatdixf.dep _gcov_execvp.dep libgcc.a _negdi2.dep _subvdi3.o
_arm_fixsfsi.dep _bb_init_func.o _divdc3.o _fixdfdi.dep _floatdixf.o _gcov_execvp.o libgcov.a _negdi2.o _subvsi3.dep
_arm_fixsfsi.o bpabi.dep divdf3.dep _fixdfdi.o floatsidf.dep _gcov_fork.dep libunwind.dep negsf2.dep _subvsi3.o
_arm_fixunsdfsi.dep bpabi.o divdf3.o fixdfsi.dep floatsidf.o _gcov_fork.o libunwind.o negsf2.o _trampoline.dep