Summary: | ASTERISK-11678: G.726 codec may function incorrectly because of ilog2() asm routine | ||
Reporter: | fossil (fossil) | Labels: | |
Date Opened: | 2008-03-18 13:51:05 | Date Closed: | 2008-03-28 16:41:55 |
Priority: | Major | Regression? | No |
Status: | Closed/Complete | Components: | Codecs/codec_g726 |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) log2comp.patch | |
Description: | The gcc x86 asm implementation of ilog2() can sometimes compile incorrectly with gcc 4 optimizations enabled. gcc may allocate the same register for the input and output operands, which results in a very broken code. To fix this the output operand needs an earlyclobber constraint modifier. Patch follows. The same patch should be applied to all branches. | ||
Comments: | By: Digium Subversion (svnbot) 2008-03-18 14:19:29 Repository: asterisk Revision: 109648 U branches/1.4/codecs/log2comp.h ------------------------------------------------------------------------ r109648 | qwell | 2008-03-18 14:19:29 -0500 (Tue, 18 Mar 2008) | 7 lines Allow codecs that use log2comp (g726) to compile correctly on x86 with gcc4 optimizations. (closes issue ASTERISK-11678) Reported by: fossil Patches: log2comp.patch uploaded by fossil (license 140) ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=109648 By: Digium Subversion (svnbot) 2008-03-18 14:20:10 Repository: asterisk Revision: 109651 _U trunk/ U trunk/codecs/log2comp.h ------------------------------------------------------------------------ r109651 | qwell | 2008-03-18 14:20:10 -0500 (Tue, 18 Mar 2008) | 15 lines Merged revisions 109648 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r109648 | qwell | 2008-03-18 14:23:44 -0500 (Tue, 18 Mar 2008) | 7 lines Allow codecs that use log2comp (g726) to compile correctly on x86 with gcc4 optimizations. (closes issue ASTERISK-11678) Reported by: fossil Patches: log2comp.patch uploaded by fossil (license 140) ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=109651 By: Digium Subversion (svnbot) 2008-03-18 14:20:33 Repository: asterisk Revision: 109654 _U branches/1.6.0/ U branches/1.6.0/codecs/log2comp.h ------------------------------------------------------------------------ r109654 | qwell | 2008-03-18 14:20:32 -0500 (Tue, 18 Mar 2008) | 23 lines Merged revisions 109651 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r109651 | qwell | 2008-03-18 14:24:15 -0500 (Tue, 18 Mar 2008) | 15 lines Merged revisions 109648 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r109648 | qwell | 2008-03-18 14:23:44 -0500 (Tue, 18 Mar 2008) | 7 lines Allow codecs that use log2comp (g726) to compile correctly on x86 with gcc4 optimizations. (closes issue ASTERISK-11678) Reported by: fossil Patches: log2comp.patch uploaded by fossil (license 140) ........ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=109654 By: Digium Subversion (svnbot) 2008-03-28 16:41:12 Repository: asterisk Revision: 111856 U branches/1.4/codecs/gsm/inc/private.h ------------------------------------------------------------------------ r111856 | qwell | 2008-03-28 16:41:11 -0500 (Fri, 28 Mar 2008) | 12 lines Allow gsm to compile correctly on x86 with gcc4 optimizations. (closes issue ASTERISK-10762) Reported by: whiskerp Patches: 11243-maybe-asm.diff uploaded by qwell (license 4) Tested by: Seggy (IRC) Note: While I did write this patch, I would not have found this if fossil had not reported and fixed issue ASTERISK-11678. A huge thanks to him for helping to (indirectly) find the problem here. ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=111856 By: Digium Subversion (svnbot) 2008-03-28 16:41:35 Repository: asterisk Revision: 111857 _U trunk/ U trunk/codecs/gsm/inc/private.h ------------------------------------------------------------------------ r111857 | qwell | 2008-03-28 16:41:34 -0500 (Fri, 28 Mar 2008) | 20 lines Merged revisions 111856 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r111856 | qwell | 2008-03-28 16:45:35 -0500 (Fri, 28 Mar 2008) | 12 lines Allow gsm to compile correctly on x86 with gcc4 optimizations. (closes issue ASTERISK-10762) Reported by: whiskerp Patches: 11243-maybe-asm.diff uploaded by qwell (license 4) Tested by: Seggy (IRC) Note: While I did write this patch, I would not have found this if fossil had not reported and fixed issue ASTERISK-11678. A huge thanks to him for helping to (indirectly) find the problem here. ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=111857 By: Digium Subversion (svnbot) 2008-03-28 16:41:55 Repository: asterisk Revision: 111858 _U branches/1.6.0/ U branches/1.6.0/codecs/gsm/inc/private.h ------------------------------------------------------------------------ r111858 | qwell | 2008-03-28 16:41:55 -0500 (Fri, 28 Mar 2008) | 28 lines Merged revisions 111857 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r111857 | qwell | 2008-03-28 16:46:02 -0500 (Fri, 28 Mar 2008) | 20 lines Merged revisions 111856 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r111856 | qwell | 2008-03-28 16:45:35 -0500 (Fri, 28 Mar 2008) | 12 lines Allow gsm to compile correctly on x86 with gcc4 optimizations. (closes issue ASTERISK-10762) Reported by: whiskerp Patches: 11243-maybe-asm.diff uploaded by qwell (license 4) Tested by: Seggy (IRC) Note: While I did write this patch, I would not have found this if fossil had not reported and fixed issue ASTERISK-11678. A huge thanks to him for helping to (indirectly) find the problem here. ........ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=111858 |