A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita audio rust zig deno mpris rockbox mpd
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

arm: Use -masm-syntax-unified when compiling with gcc8 or newer

Annoyingly, this makes all of the '.S' files we compile get treated as
divided syntax, so we need to make the syntax in them explicit.

Change-Id: I56a3916b7b24c84a1214a5d6bc4ed4d651f002cf

+43 -3
+2
apps/plugins/mpegplayer/libmpeg2/idct_arm.S
··· 21 21 22 22 #include "config.h" 23 23 24 + .syntax unified 25 + 24 26 .global mpeg2_idct_copy 25 27 .type mpeg2_idct_copy, %function 26 28 .global mpeg2_idct_add
+2
apps/plugins/mpegplayer/libmpeg2/idct_armv6.S
··· 21 21 22 22 #include "config.h" 23 23 24 + .syntax unified 25 + 24 26 .global mpeg2_idct_copy 25 27 .type mpeg2_idct_copy, %function 26 28 .global mpeg2_idct_add
+2
apps/recorder/jpeg_idct_arm.S
··· 24 24 #include "config.h" 25 25 #include "apps/core_asmdefs.h" 26 26 27 + .syntax unified 28 + 27 29 .section .text 28 30 .align 2 29 31 .global jpeg_idct1h
+2
firmware/asm/arm/lcd-as-memframe.S
··· 24 24 #include "config.h" 25 25 #include "cpu.h" 26 26 27 + .syntax unified 28 + 27 29 /**************************************************************************** 28 30 * void lcd_copy_buffer_rect(fb_data *dst, fb_data *src, int width, 29 31 * int height);
+2
firmware/asm/arm/memcpy.S
··· 35 35 #define push lsr 36 36 #endif 37 37 38 + .syntax unified 39 + 38 40 /* Prototype: void *memcpy(void *dest, const void *src, size_t n); */ 39 41 /* Prototype: void *mempcpy(void *dest, const void *src, size_t n); */ 40 42
+2
firmware/asm/arm/memmove.S
··· 35 35 #define push lsr 36 36 #endif 37 37 38 + .syntax unified 39 + 38 40 .text 39 41 40 42 /*
+2
firmware/asm/arm/memset.S
··· 20 20 ****************************************************************************/ 21 21 #include "config.h" 22 22 23 + .syntax unified 24 + 23 25 .section .icode,"ax",%progbits 24 26 25 27 .align 2
+2
firmware/asm/arm/memset16.S
··· 20 20 ****************************************************************************/ 21 21 #include "config.h" 22 22 23 + .syntax unified 24 + 23 25 .section .icode,"ax",%progbits 24 26 25 27 .align 2
+10 -2
firmware/export/config.h
··· 1018 1018 * These macros are for switching on unified syntax in inline assembly. 1019 1019 * Older versions of GCC emit assembly in divided syntax with no option 1020 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 1023 #define BEGIN_ARM_ASM_SYNTAX_UNIFIED ".syntax unified\n" 1025 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 1030 #if defined(CPU_ARM) && defined(__ASSEMBLER__) 1031 + #if (__GNUC__ < 8) 1028 1032 .syntax unified 1033 + #endif 1029 1034 /* ARMv4T doesn't switch the T bit when popping pc directly, we must use BX */ 1030 1035 .macro ldmpc cond="", order="ia", regs 1031 1036 #if ARM_ARCH == 4 && defined(USE_THUMB) ··· 1043 1048 ldr\cond pc, [sp], #4 1044 1049 #endif 1045 1050 .endm 1051 + #if (__GNUC__ < 8) 1052 + .syntax divided 1053 + #endif 1046 1054 #endif 1047 1055 1048 1056 #if defined(CPU_COLDFIRE) && defined(__ASSEMBLER__)
+1
firmware/target/arm/ata-as-arm.S
··· 21 21 22 22 #include "config.h" 23 23 24 + .syntax unified 24 25 25 26 #if CONFIG_CPU == PP5002 26 27 /* Causes ATA retries on iPod G3 probably related to improper controller
+2
lib/arm_support/support-arm.S
··· 30 30 31 31 #include <config.h> 32 32 33 + .syntax unified 34 + 33 35 .macro ARM_SDIV32_PRE numerator, divisor, sign 34 36 /* sign[31] = divisor sign */ 35 37 ands \sign, \divisor, #1<<31
+3
lib/rbcodec/codecs/demac/libdemac/udiv32_arm.S
··· 29 29 ****************************************************************************/ 30 30 31 31 #include "config.h" 32 + 33 + .syntax unified 34 + 32 35 /* On targets with codec iram, a header file will be generated after an initial 33 36 link of the APE codec, stating the amount of IRAM remaining for use by the 34 37 reciprocal lookup table. */
+2
lib/rbcodec/codecs/libtta/filter_arm.S
··· 26 26 * void hybrid_filter(fltst *fs, int *in) 27 27 */ 28 28 29 + .syntax unified 30 + 29 31 #ifdef USE_IRAM 30 32 .section .icode, "ax", %progbits 31 33 #else
+1
lib/rbcodec/dsp/dsp_arm.S
··· 22 22 ****************************************************************************/ 23 23 #include "rbcodecconfig.h" 24 24 25 + .syntax unified 25 26 /**************************************************************************** 26 27 * void channel_mode_proc_mono(struct dsp_proc_entry *this, 27 28 * struct dsp_buffer **buf_p)
+1
lib/rbcodec/dsp/dsp_arm_v6.S
··· 20 20 ****************************************************************************/ 21 21 #include "rbcodecconfig.h" 22 22 23 + .syntax unified 23 24 /**************************************************************************** 24 25 * void sample_output_mono(struct sample_io_data *this, 25 26 * struct dsp_buffer *src,
+2
lib/unwarminder/safe_read.S
··· 20 20 ****************************************************************************/ 21 21 #include "config.h" 22 22 23 + .syntax unified 24 + 23 25 .data 24 26 was_aborted: 25 27 .word 0
+5 -1
tools/configure
··· 4533 4533 elif [ -n "$(echo $cpp_defines | grep -w __arm__)" ]; then 4534 4534 arch="arm" 4535 4535 # cpp defines like "#define __ARM_ARCH_4TE__ 1" (where we want to extract the 4) 4536 - arch_version="$(echo $cpp_defines | tr ' ' '\012' | grep __ARM_ARCH | sed -e 's,.*\([0-9]\).*,\1,' | grep -v __ARM_ARCH)" 4536 + arch_version="$(echo $cpp_defines | tr ' ' '\012' | grep __ARM_ARCH | sed -e 's,.*\([0-9]\).*,\1,' | grep -v __ARM_ARCH | head -1)" 4537 + if test "$gccnum" -ge "800"; then 4538 + # GCC8+ can natively emit unified asm syntax 4539 + GCCOPTS="$GCCOPTS -masm-syntax-unified" 4540 + fi 4537 4541 elif [ -n "$(echo $cpp_defines | grep -w __mips__)" ]; then 4538 4542 arch="mips" 4539 4543 arch_version="$(echo $cpp_defines | tr ' ' '\012' | grep _MIPS_ARCH_MIPS | sed -e 's,.*\([0-9][0-9]\).*,\1,' | grep -v _MIPS_ARCH_MIPS)"