svn commit: r372407 - head/lang/guile2/files

Antoine Brodin antoine at FreeBSD.org
Mon Nov 10 18:21:05 UTC 2014


Author: antoine
Date: Mon Nov 10 18:21:04 2014
New Revision: 372407
URL: https://svnweb.freebsd.org/changeset/ports/372407
QAT: https://qat.redports.org/buildarchive/r372407/

Log:
  Add patch from upstream to unbreak on i386 with clang

Added:
  head/lang/guile2/files/patch-156119b0223cf14d335ebda84701a69b2ba95757   (contents, props changed)

Added: head/lang/guile2/files/patch-156119b0223cf14d335ebda84701a69b2ba95757
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/guile2/files/patch-156119b0223cf14d335ebda84701a69b2ba95757	Mon Nov 10 18:21:04 2014	(r372407)
@@ -0,0 +1,62 @@
+From 156119b0223cf14d335ebda84701a69b2ba95757 Mon Sep 17 00:00:00 2001
+From: Mark H Weaver <mhw at netris.org>
+Date: Sat, 20 Sep 2014 03:49:46 -0400
+Subject: [PATCH] Do not assume that 64-bit integers will be 64-bit aligned.
+
+* libguile/foreign.c (raw_bytecode, objcode_cells):
+* libguile/gsubr.c (raw_bytecode, objcode_cells): Use SCM_ALIGNED to
+  ensure 64-bit alignment.
+
+--- libguile/foreign.c.orig	2014-01-21 21:20:53 UTC
++++ libguile/foreign.c
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2010, 2011, 2012, 2013  Free Software Foundation, Inc.
++/* Copyright (C) 2010-2014  Free Software Foundation, Inc.
+  *
+  * This library is free software; you can redistribute it and/or
+  * modify it under the terms of the GNU Lesser General Public License
+@@ -814,7 +814,7 @@ SCM_DEFINE (scm_pointer_to_procedure, "p
+ 
+ static const struct
+ {
+-  scm_t_uint64 dummy; /* ensure 8-byte alignment; perhaps there's a better way */
++  SCM_ALIGNED (8) scm_t_uint64 dummy; /* alignment */
+   const scm_t_uint8 bytes[10 * (sizeof (struct scm_objcode) + 8
+                                 + sizeof (struct scm_objcode) + 32)];
+ } raw_bytecode = {
+@@ -867,7 +867,7 @@ make_objcode_trampoline (unsigned int na
+ 
+ static const struct
+ {
+-  scm_t_uint64 dummy; /* alignment */
++  SCM_ALIGNED (8) scm_t_uint64 dummy; /* alignment */
+   scm_t_cell cells[10 * 2]; /* 10 double cells */
+ } objcode_cells = {
+   0,
+--- libguile/gsubr.c.orig	2012-07-02 09:28:13 UTC
++++ libguile/gsubr.c
+@@ -1,4 +1,5 @@
+-/* Copyright (C) 1995,1996,1997,1998,1999,2000,2001, 2006, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
++/* Copyright (C) 1995-2001, 2006, 2008-2011,
++ *   2014 Free Software Foundation, Inc.
+  *
+  * This library is free software; you can redistribute it and/or
+  * modify it under the terms of the GNU Lesser General Public License
+@@ -213,7 +214,7 @@
+ */
+ static const struct
+ {
+-  scm_t_uint64 dummy; /* ensure 8-byte alignment; perhaps there's a better way */
++  SCM_ALIGNED (8) scm_t_uint64 dummy; /* alignment */
+   const scm_t_uint8 bytes[121 * (sizeof (struct scm_objcode) + 16
+                                  + sizeof (struct scm_objcode) + 32)];
+ } raw_bytecode = {
+@@ -317,7 +318,7 @@ static const struct
+ 
+ static const struct
+ {
+-  scm_t_uint64 dummy; /* alignment */
++  SCM_ALIGNED (8) scm_t_uint64 dummy; /* alignment */
+   scm_t_cell cells[121 * 2]; /* 11*11 double cells */
+ } objcode_cells = {
+   0,


More information about the svn-ports-all mailing list