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

 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;
_______________________________________________
flac-dev mailing list
flac-dev@xiph.org
http://lists.xiph.org/mailman/listinfo/flac-dev

Reply via email to