[Asterisk-Dev] Re: [Asterisk-Users] Asterisk Works on Linux on Sparc

Rafal Boni rafal at pobox.com
Wed Jun 4 09:32:48 MST 2003

In message <3EDDAB01.9040707 at inaccessnetworks.com>, you write: 

-> ishpreet at optonline.net wrote:
-> > I have built Asterisk on SuSe Linux 7.3 on an Ultra 2 Sparc
-> > WorkStation. I am listing the modification I had to do for the
-> > benefit of anybody else who wants to use Asterisk
-> > 
-> > This workstation is equipped with one 400 MHz RISC UltraSparc II CPU,
-> > 256 MB RAM, Two 9 GB 10,000 RPM UltraSCSI Disks. I have a gatekeeper
-> > running on this machine,
-> > 
-> > I had to do the following modification to build * on Sparc:
-> > 
-> > 1. Modify Makefiles and replace all instances of "-march=*" with
-> > "-mv8" 2. Comment out lines containing "k6opt" from
-> > asterisk/codecs/gsm/Makefile. 3. Copy libgsm.a to /lib 4. ln -s
-> > $ASTERISK_HOME_DIR/include/asterisk /usr/include/asterisk
-> > 
-> > Not everything works on linux on Sparc ...

Hmm, not sure if this is an issue for CVS versions of *, but for the
release 0.4.0 version, I had issues with the MD5 code on UltraSparc
hardware on NetBSD in 64-bit mode, as the code does unaligned loads/
stores which the NetBSD kernel does not emulate in 64-bit mode.  I
ended up ripping out the * MD5 code and using the system-supplied
MD5 (which also required me to tweak some includes of <asterisk/md5.h>
to just <md5.h> to use the system MD5 headers)

For `-march', I'd just be tempted to skip all those types of options
in the general case and allow the builder to add arch-specific opti-
mization options via some new make variable (for example, I'd like to
target it for sparcv9; you want sparcv8 code, and someone else with
even crustier sparc hardware may not be able to run even v8 binaries
and so can't use either...).

As far as the k6opt.s, it seems that this should only ever be used
by x86 systems and maybe even Linux x86 systems; it's currently left
out for OpenBSD builds and I did the same for NetBSD builds, but the
real solution is probably only to ever build it on x86 systems ignoring
the OS (I can't see why it would be an issue on x86 *BSD systems, but
maybe I'm missing something).

All of this should probably be on -dev and not -users, though :-)


Rafal Boni                                                     rafal at pobox.com
  We are all worms.  But I do believe I am a glowworm.  -- Winston Churchill

More information about the asterisk-dev mailing list