[Home]

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:05Date Closed:2008-03-28 16:41:55
Priority:MajorRegression?No
Status:Closed/CompleteComponents: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