Skip to content
  • Erik de Castro Lopo's avatar
    libFLAC/cpu.c : Simplify OS SSE support detection. · 6a28facd
    Erik de Castro Lopo authored
    Simplify the code that tries to detect whether OS supports SSE instructions.
    
    a) Linux: "old" vs "new" sigaction
    
    OBSOLETE_SIGCONTEXT_FLAVOR was disabled in Mar 2007 in commit 1ca3a445.
    According to <http://unixhelp.ed.ac.uk/CGI/man-cgi?sigaction>: "Support for
    SA_SIGINFO was added in Linux 2.2" (released in Jan 1999). If noone wants to
    use FLAC with Linux kernel 2.0 then it's safe to delete this code.
    
    b) MSVC: try/catch vs. sigill_handler
    
    TRY_CATCH_FLAVOR was enabled in Jan 2009 in commit a832ef32. According to the
    comment in cpu.c, "sigill_handler flavor resulted in several crash reports on
    win32". Also this sigill_handler flavor is not thread-safe.
    
    c) MinGW: fxsave/fxrestore vs. sigill_handler
    
    The code was added Mar 2014 in commit 99d5154f. It's better to use FXSR flavor
    instead of sigill_handler flavor. The reasons are the same as for MSVC.
    
    Patch-from: lvqcl <lvqcl.mail@gmail.com>
    6a28facd