[flac-dev] Flac build issue in debug win x32

Olivier Tristan o.tristan at uvi.net
Mon Feb 20 16:17:41 UTC 2017


Here is a patch that fixes the issue.

There are multiple way to fix it though.


Le 14/02/2017 à 15:08, Olivier Tristan a écrit :
> Hi Guys,
>
> The following code in CPU.c (line 155) won't link if you don't have 
> NASM code built even if FLAC__HAS_X86INTRIN is true as 
> FLAC__cpu_info_asm_ia32 don't exists and the else is compiled if there 
> is no dead code stripping
>
> if (FLAC__HAS_X86INTRIN) {
>         FLAC__cpu_info_x86(0, &flags_eax, &flags_ebx, &flags_ecx, 
> &flags_edx);
>         info->ia32.intel = (flags_ebx == 0x756E6547 && flags_edx == 
> 0x49656E69 && flags_ecx == 0x6C65746E) ? true : false; /* GenuineIntel */
>         FLAC__cpu_info_x86(1, &flags_eax, &flags_ebx, &flags_ecx, 
> &flags_edx);
>     }
>     else {
>         FLAC__cpu_info_asm_ia32(&flags_edx, &flags_ecx);
>     }
>
>
> Maybe it should be an ifdef instead of an if ?
>
> Thanks !
>

-- 
Olivier Tristan
Research & Development
www.uvi.net

-------------- next part --------------
 src/libFLAC/cpu.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/libFLAC/cpu.c b/src/libFLAC/cpu.c
index 5f86809..4bad89c 100644
--- a/src/libFLAC/cpu.c
+++ b/src/libFLAC/cpu.c
@@ -118,7 +118,9 @@ ia32_cpu_info (FLAC__CPUInfo *info)
 		FLAC__cpu_info_x86(1, &flags_eax, &flags_ebx, &flags_ecx, &flags_edx);
 	}
 	else {
+#if FLAC__HAS_NASM
 		FLAC__cpu_info_asm_ia32(&flags_edx, &flags_ecx);
+#endif
 	}
 
 	info->ia32.cmov  = (flags_edx & FLAC__CPUINFO_IA32_CPUID_CMOV ) ? true : false;


More information about the flac-dev mailing list