C code: if(strcasecmp(var,"a")) else if(strcasecmp(var, "b") the second call to strcasecmp is being optimized out, and the control statement is effectively being treated as an if() else statement. More detailed write up here: http://quentusrex.com/freeswitch-raspberrypi-gcc-compiler-bug.html Debug files located here: https://github.com/quentusrex/FS-6495/tree/master/gcc_debug_orig The second call to strcasecmp is being removed in pass #200 during a DCE loop.
4.6.3 is no longer supported, can you try a newer compiler? Also can you attach the preprocessed source?
Created attachment 32939 [details] Source file for switch_core_media.c Line 3356 is the strcasecmp that is being optimized out.
Line 7945 has the strcasecmp of the gcc output 'original' pass: https://github.com/quentusrex/FS-6495/blob/master/gcc_debug_orig/switch_core_media.c.003t.original
(In reply to William King from comment #2) > Created attachment 32939 [details] > Source file for switch_core_media.c This is the source and not the preprocessed source.
Preprocessed file located here: http://quentusrex.com/switch_core_media.c.preprocessed
Still waiting for reporter to try a still supported compiler which would be GCC 4.8.3 or 4.9.0.
While I haven't had a chance to run through more than a handful of call scenarios, building FreeSWITCH on the Raspberry Pi with GCC 4.9.0 does not have the same problem.
No feedback in over 2 years and it sounds like it was working now anyways.