[asterisk-dev] Compiler feature requirements

Corey Farrell git at cfware.com
Thu Jan 25 10:04:37 CST 2018


I've posted a patch for this [1] so anyone who wants to test the 
proposed changes can.  This is really a question about non-GCC compilers 
since we already know which versions of GCC work.  Note that we cannot 
use __sync_fetch_and_nand as the original implementation in 4.1 was 
broken.  If we need __sync_fetch_and_nand or __sync_nand_and_fetch we 
would need to require gcc-4.4.  I've looked into the ast_flags macro's, 
implementing them with atomic operations would would not require nand 
functions.

[1] https://gerrit.asterisk.org/8049


On 01/24/2018 04:50 PM, Corey Farrell wrote:
> I've posted ASTERISK-27619 [1] proposing that we drop support for GCC 
> versions older than 4.1.2.  Specifically we'd be requiring that either 
> __sync or __atomic builtin functions be available (I'm unsure what 
> this will do to clang requirements).  gcc-4.1.2 was released in 
> February 2007 and was the version provided by CentOS 5.  I've posted a 
> PR to the jansson project [2] which will make reference counting 
> thread safe, but I'm getting push-back on the parts needed to provide 
> a replacement function for old compilers. Since reference counting in 
> jansson was never thread safe before I think they'd rather just leave 
> it as is for old compilers.
>
> Obviously this proposal is for Asterisk 16+ only.  Does this matter to 
> any distributions that will be supported beyond this October?
>
> [1] https://issues.asterisk.org/jira/browse/ASTERISK-27619
> [2] https://github.com/akheron/jansson/pull/389




More information about the asterisk-dev mailing list