Unbreak the build on PowerPC (at least) by always using va_copy() macro for

copying variable argument lists, not just on AMD64.
This commit is contained in:
Alexey Dokuchaev 2015-09-02 10:10:06 +00:00
parent a61483667e
commit 670f0e0e42
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=395828
2 changed files with 7 additions and 20 deletions

View file

@ -16,14 +16,12 @@ CONFLICTS_INSTALL= openbabel-*
USES= tar:Z
MAKE_ARGS= CC="${CC}" CFLAGS="${CFLAGS}"
PLIST_FILES+= bin/babel libexec/babel
PLIST_FILES= bin/babel libexec/babel
PORTDATA= element.lis new.lis quanta.lis types.lis
PORTDOCS= README.1ST
OPTIONS_DEFINE= DOCS
BROKEN_powerpc= Does not compile on powerpc
post-build:
${SED} -e 's%@PREFIX@%${PREFIX}%g' \
${FILESDIR}/babel.sh >${WRKSRC}/babel.sh

View file

@ -1,39 +1,28 @@
--- block.c.orig Tue Jan 21 16:52:32 1997
+++ block.c Sun Feb 1 22:56:41 2004
@@ -7,6 +7,10 @@
@@ -7,6 +7,7 @@
*/
#include "bbltyp.h"
+#include <osreldate.h>
+#if __FreeBSD_version > 500000
+#include <stdarg.h>
+#endif
/* the routine that does all the work */
static int block__doalloc(int, block_ptr *, const char *, va_list);
@@ -99,7 +103,11 @@
@@ -99,7 +100,7 @@ block__doalloc(int clear, block_ptr *han
void *array;
/* calc how much space we are gonna need */
+ #if __FreeBSD_version > 500000 && defined(__amd64__)
- ap = initap;
+ va_copy(ap, initap);
+ #else
ap = initap;
+ #endif
size = 0;
for(i=0; types[i] != '\0'; i++)
{
@@ -115,8 +123,12 @@
@@ -116,7 +117,7 @@ block__doalloc(int clear, block_ptr *han
/* set up the ptrs if we can alloc the memory */
if(*handle != NULL)
- {
+ {
+ #if __FreeBSD_version > 500000 && defined(__amd64__)
{
- ap = initap;
+ va_copy(ap, initap);
+ #else
ap = initap;
+ #endif
ptr = 0;
for(i=0; types[i] != '\0'; i++)
{