[asterisk-dev] [Code Review]: sparc64 compile error, undefined reference to `__sync_fetch_and_add_4'

Alec Davis reviewboard at asterisk.org
Mon Nov 7 00:32:12 CST 2011



On Oct. 20, 2011, 2:54 a.m., Alec Davis wrote:
> > However.. I found this on the internet:
> > 
> > """Your problem is -mcpu=v8.  v8 processors (AFAICT) do not support the 
> > intrinsics necessary.  Remove that option (or whatever is causing that 
> > option) and it should work.  It may be that for some reason configure 
> > thinks that 32-bit code should use -mcpu=v8, but that isn't the case. 
> > Debian's default configuration (without -mcpu and -mtune) should work 
> > just fine for you."""
> > 
> > I wonder if setting the -mcpu option at all does more good than harm here.
> 
> Alec Davis wrote:
>     I does compile and work on Squeeze with no -mcpu options, but what code optimization was produced???
> 
> wdoekes wrote:
>     I browsed some other configure scripts and they have a boatload of configure shell script to deal with different sparc systems. From what I read in the gcc manual, setting the option should produce more optimized code, so keeping it is probably best.
>     
>     - Did you get a chance to try woody?
>     - I'd be willing give it a ship-it if you update the comment above; I'd rather have asterisk compile on newer debians/ubuntus than older ones.
>     
>

Got to try Woody, on a 32bit Sparc 4.

It was taking too long, woody doesn't have subversion, so 10.??? beta2 tarball download, then woody doesn't have SQLite3 and I couldn't find quickly the configure option to default to previous.

As the $PROC was 'sparc' not 'sparc64' the current test for -mcpu wouldn't have been tested. 
However running the test manually 'gcc -mcpu=v9 -S -o /dev/null -xc /dev/null' passed even on the 32 bit, not sure if it would have run.
But testing with 'gcc -m64 -S -o /dev/null -xc /dev/null' failed.

Woody, in my view was academic anyway, others may have a different opinion.
 


- Alec


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/1534/#review4534
-----------------------------------------------------------


On Oct. 20, 2011, 12:56 a.m., Alec Davis wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/1534/
> -----------------------------------------------------------
> 
> (Updated Oct. 20, 2011, 12:56 a.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Summary
> -------
> 
> Debian Squeeze or Ubuntu 9.04.
> 
> /usr/local/src/asterisk-1.8.7.0/include/asterisk/lock.h:600: undefined reference to `__sync_fetch_and_add_4'
> 
> Previous Debian releases are fine.
> 
> 
> This addresses bugs ASTERISK-17022 and ASTERISK-18651.
>     https://issues.asterisk.org/jira/browse/ASTERISK-17022
>     https://issues.asterisk.org/jira/browse/ASTERISK-18651
> 
> 
> Diffs
> -----
> 
>   trunk/Makefile 341525 
> 
> Diff: https://reviewboard.asterisk.org/r/1534/diff
> 
> 
> Testing
> -------
> 
> Tested sucessfully with;
> Debian Squeeze - where it would previously emit the above message and more.
> Debian Lenny - where it used to work without mcpu=v9
> Debian Etch - where it used to work without mcpu=v9
> 
> 
> Thanks,
> 
> Alec
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20111107/02f078b7/attachment-0001.htm>


More information about the asterisk-dev mailing list