Merge pull request #8516 from mschulz-at-hilscher/fixes/divided-assembler-syntax-error-gcc493

Fixes invalid default choice of thumb assembler syntax.
This commit is contained in:
Dave Rodgman 2023-11-14 17:57:37 +00:00 committed by GitHub
commit cba4091581
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -120,10 +120,12 @@ static inline mbedtls_ct_uint_t mbedtls_ct_compiler_opaque(mbedtls_ct_uint_t x)
* On Thumb 2 and Arm, both compilers are happy with the "s" suffix, * On Thumb 2 and Arm, both compilers are happy with the "s" suffix,
* although we don't actually care about setting the flags. * although we don't actually care about setting the flags.
* *
* For gcc, restore divided syntax afterwards - otherwise old versions of gcc * For old versions of gcc (see #8516 for details), restore divided
* seem to apply unified syntax globally, which breaks other asm code. * syntax afterwards - otherwise old versions of gcc seem to apply
* unified syntax globally, which breaks other asm code.
*/ */
#if !defined(__clang__) #if defined(MBEDTLS_COMPILER_IS_GCC) && defined(__thumb__) && !defined(__thumb2__) && \
(__GNUC__ < 11) && !defined(__ARM_ARCH_2__)
#define RESTORE_ASM_SYNTAX ".syntax divided \n\t" #define RESTORE_ASM_SYNTAX ".syntax divided \n\t"
#else #else
#define RESTORE_ASM_SYNTAX #define RESTORE_ASM_SYNTAX