diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/asm/arm/lcd-as-memframe.S | 2 | ||||
-rw-r--r-- | firmware/asm/arm/memcpy.S | 2 | ||||
-rw-r--r-- | firmware/asm/arm/memmove.S | 2 | ||||
-rw-r--r-- | firmware/asm/arm/memset.S | 2 | ||||
-rw-r--r-- | firmware/asm/arm/memset16.S | 2 | ||||
-rw-r--r-- | firmware/export/config.h | 12 | ||||
-rw-r--r-- | firmware/target/arm/ata-as-arm.S | 1 |
7 files changed, 21 insertions, 2 deletions
diff --git a/firmware/asm/arm/lcd-as-memframe.S b/firmware/asm/arm/lcd-as-memframe.S index d42b2a920d..f69f6e5080 100644 --- a/firmware/asm/arm/lcd-as-memframe.S +++ b/firmware/asm/arm/lcd-as-memframe.S | |||
@@ -24,6 +24,8 @@ | |||
24 | #include "config.h" | 24 | #include "config.h" |
25 | #include "cpu.h" | 25 | #include "cpu.h" |
26 | 26 | ||
27 | .syntax unified | ||
28 | |||
27 | /**************************************************************************** | 29 | /**************************************************************************** |
28 | * void lcd_copy_buffer_rect(fb_data *dst, fb_data *src, int width, | 30 | * void lcd_copy_buffer_rect(fb_data *dst, fb_data *src, int width, |
29 | * int height); | 31 | * int height); |
diff --git a/firmware/asm/arm/memcpy.S b/firmware/asm/arm/memcpy.S index 86fc6b7930..1fbb6660e9 100644 --- a/firmware/asm/arm/memcpy.S +++ b/firmware/asm/arm/memcpy.S | |||
@@ -35,6 +35,8 @@ | |||
35 | #define push lsr | 35 | #define push lsr |
36 | #endif | 36 | #endif |
37 | 37 | ||
38 | .syntax unified | ||
39 | |||
38 | /* Prototype: void *memcpy(void *dest, const void *src, size_t n); */ | 40 | /* Prototype: void *memcpy(void *dest, const void *src, size_t n); */ |
39 | /* Prototype: void *mempcpy(void *dest, const void *src, size_t n); */ | 41 | /* Prototype: void *mempcpy(void *dest, const void *src, size_t n); */ |
40 | 42 | ||
diff --git a/firmware/asm/arm/memmove.S b/firmware/asm/arm/memmove.S index e5c9b42928..cf22a74622 100644 --- a/firmware/asm/arm/memmove.S +++ b/firmware/asm/arm/memmove.S | |||
@@ -35,6 +35,8 @@ | |||
35 | #define push lsr | 35 | #define push lsr |
36 | #endif | 36 | #endif |
37 | 37 | ||
38 | .syntax unified | ||
39 | |||
38 | .text | 40 | .text |
39 | 41 | ||
40 | /* | 42 | /* |
diff --git a/firmware/asm/arm/memset.S b/firmware/asm/arm/memset.S index d727f2a5ec..ef5cdb5819 100644 --- a/firmware/asm/arm/memset.S +++ b/firmware/asm/arm/memset.S | |||
@@ -20,6 +20,8 @@ | |||
20 | ****************************************************************************/ | 20 | ****************************************************************************/ |
21 | #include "config.h" | 21 | #include "config.h" |
22 | 22 | ||
23 | .syntax unified | ||
24 | |||
23 | .section .icode,"ax",%progbits | 25 | .section .icode,"ax",%progbits |
24 | 26 | ||
25 | .align 2 | 27 | .align 2 |
diff --git a/firmware/asm/arm/memset16.S b/firmware/asm/arm/memset16.S index 226eac39e1..851b9207a2 100644 --- a/firmware/asm/arm/memset16.S +++ b/firmware/asm/arm/memset16.S | |||
@@ -20,6 +20,8 @@ | |||
20 | ****************************************************************************/ | 20 | ****************************************************************************/ |
21 | #include "config.h" | 21 | #include "config.h" |
22 | 22 | ||
23 | .syntax unified | ||
24 | |||
23 | .section .icode,"ax",%progbits | 25 | .section .icode,"ax",%progbits |
24 | 26 | ||
25 | .align 2 | 27 | .align 2 |
diff --git a/firmware/export/config.h b/firmware/export/config.h index 80d59ea836..9812db9161 100644 --- a/firmware/export/config.h +++ b/firmware/export/config.h | |||
@@ -1018,14 +1018,19 @@ Lyre prototype 1 */ | |||
1018 | * These macros are for switching on unified syntax in inline assembly. | 1018 | * These macros are for switching on unified syntax in inline assembly. |
1019 | * Older versions of GCC emit assembly in divided syntax with no option | 1019 | * Older versions of GCC emit assembly in divided syntax with no option |
1020 | * to enable unified syntax. | 1020 | * to enable unified syntax. |
1021 | * | ||
1022 | * FIXME: This needs to be looked at after the toolchain bump | ||
1023 | */ | 1021 | */ |
1022 | #if (__GNUC__ < 8) | ||
1024 | #define BEGIN_ARM_ASM_SYNTAX_UNIFIED ".syntax unified\n" | 1023 | #define BEGIN_ARM_ASM_SYNTAX_UNIFIED ".syntax unified\n" |
1025 | #define END_ARM_ASM_SYNTAX_UNIFIED ".syntax divided\n" | 1024 | #define END_ARM_ASM_SYNTAX_UNIFIED ".syntax divided\n" |
1025 | #else | ||
1026 | #define BEGIN_ARM_ASM_SYNTAX_UNIFIED | ||
1027 | #define END_ARM_ASM_SYNTAX_UNIFIED | ||
1028 | #endif | ||
1026 | 1029 | ||
1027 | #if defined(CPU_ARM) && defined(__ASSEMBLER__) | 1030 | #if defined(CPU_ARM) && defined(__ASSEMBLER__) |
1031 | #if (__GNUC__ < 8) | ||
1028 | .syntax unified | 1032 | .syntax unified |
1033 | #endif | ||
1029 | /* ARMv4T doesn't switch the T bit when popping pc directly, we must use BX */ | 1034 | /* ARMv4T doesn't switch the T bit when popping pc directly, we must use BX */ |
1030 | .macro ldmpc cond="", order="ia", regs | 1035 | .macro ldmpc cond="", order="ia", regs |
1031 | #if ARM_ARCH == 4 && defined(USE_THUMB) | 1036 | #if ARM_ARCH == 4 && defined(USE_THUMB) |
@@ -1043,6 +1048,9 @@ Lyre prototype 1 */ | |||
1043 | ldr\cond pc, [sp], #4 | 1048 | ldr\cond pc, [sp], #4 |
1044 | #endif | 1049 | #endif |
1045 | .endm | 1050 | .endm |
1051 | #if (__GNUC__ < 8) | ||
1052 | .syntax divided | ||
1053 | #endif | ||
1046 | #endif | 1054 | #endif |
1047 | 1055 | ||
1048 | #if defined(CPU_COLDFIRE) && defined(__ASSEMBLER__) | 1056 | #if defined(CPU_COLDFIRE) && defined(__ASSEMBLER__) |
diff --git a/firmware/target/arm/ata-as-arm.S b/firmware/target/arm/ata-as-arm.S index 16c2928bf1..cec4a7e235 100644 --- a/firmware/target/arm/ata-as-arm.S +++ b/firmware/target/arm/ata-as-arm.S | |||
@@ -21,6 +21,7 @@ | |||
21 | 21 | ||
22 | #include "config.h" | 22 | #include "config.h" |
23 | 23 | ||
24 | .syntax unified | ||
24 | 25 | ||
25 | #if CONFIG_CPU == PP5002 | 26 | #if CONFIG_CPU == PP5002 |
26 | /* Causes ATA retries on iPod G3 probably related to improper controller | 27 | /* Causes ATA retries on iPod G3 probably related to improper controller |