use bcopy instead of memcpy to work around a gcc optimizer bug resulting

in unaligned accesses on sparc64
fix WANTLIB
honour CC, CFLAGS more or less

from Stuart Henderson <stu at spacehopper.org>
ok ian, jolan
This commit is contained in:
sturm 2006-02-15 06:11:39 +00:00
parent 45a9fffed8
commit 45d8b2e15f
3 changed files with 39 additions and 4 deletions

View File

@ -1,7 +1,8 @@
# $OpenBSD: Makefile,v 1.7 2006/02/02 16:12:24 jolan Exp $
# $OpenBSD: Makefile,v 1.8 2006/02/15 06:11:39 sturm Exp $
COMMENT= "open source PBX"
DISTNAME= asterisk-1.2.4
PKGNAME= ${DISTNAME}p0
CATEGORIES= telephony
MASTER_SITES= ftp://ftp.digium.com/pub/asterisk/
@ -14,7 +15,9 @@ PERMIT_DISTFILES_CDROM= Yes
PERMIT_DISTFILES_FTP= Yes
PERMIT_PACKAGE_CDROM= Yes
PERMIT_PACKAGE_FTP= Yes
WANTLIB= c crypto m ncurses ossaudio pthread ssl
WANTLIB= c crypto m ncurses pthread ssl z
MAKE_FLAGS= CC="${CC} ${CFLAGS}"
NO_REGRESS= Yes
USE_GMAKE= Yes

View File

@ -1,6 +1,17 @@
$OpenBSD: patch-Makefile,v 1.5 2006/02/02 03:41:36 todd Exp $
$OpenBSD: patch-Makefile,v 1.6 2006/02/15 06:11:39 sturm Exp $
--- Makefile.orig Mon Dec 5 06:47:51 2005
+++ Makefile Thu Jan 26 22:39:56 2006
+++ Makefile Sat Feb 11 02:29:14 2006
@@ -19,8 +19,8 @@
# CROSS_COMPILE=/opt/montavista/pro/devkit/arm/xscale_be/bin/xscale_be-
# CROSS_COMPILE_BIN=/opt/montavista/pro/devkit/arm/xscale_be/bin/
# CROSS_COMPILE_TARGET=/opt/montavista/pro/devkit/arm/xscale_be/target
-CC=$(CROSS_COMPILE)gcc
-HOST_CC=gcc
+CC?=$(CROSS_COMPILE)gcc
+HOST_CC=$(CC)
# CROSS_ARCH=Linux
# CROSS_PROC=arm
# SUB_PROC=xscale # or maverick
@@ -44,8 +44,12 @@
#K6OPT = -DK6OPT

View File

@ -0,0 +1,21 @@
$OpenBSD: patch-channels_chan_iax2_c,v 1.1 2006/02/15 06:11:40 sturm Exp $
--- channels/chan_iax2.c.orig Thu Feb 9 15:17:15 2006
+++ channels/chan_iax2.c Thu Feb 9 15:17:33 2006
@@ -5277,7 +5277,7 @@
memset(&ied, 0, sizeof(ied));
if (ies->apparent_addr)
- memcpy(&new, ies->apparent_addr, sizeof(new));
+ bcopy(ies->apparent_addr, &new, sizeof(new));
if (ies->callno)
newcall = ies->callno;
if (!newcall || !new.sin_addr.s_addr || !new.sin_port) {
@@ -5427,7 +5427,7 @@
memset(&us, 0, sizeof(us));
if (ies->apparent_addr)
- memcpy(&us, ies->apparent_addr, sizeof(us));
+ bcopy(ies->apparent_addr, &us, sizeof(us));
if (ies->username)
ast_copy_string(peer, ies->username, sizeof(peer));
if (ies->refresh)