Thu Apr 30 23:46:14 2020 UTC ()
Apply a similar hackaround for UB in libosp to clang. Bump revision


(joerg)
diff -r1.37 -r1.38 pkgsrc/textproc/openjade/Makefile
diff -r1.17 -r1.18 pkgsrc/textproc/openjade/distinfo
diff -r0 -r1.1 pkgsrc/textproc/openjade/patches/patch-style_Collector.h

cvs diff -r1.37 -r1.38 pkgsrc/textproc/openjade/Makefile (expand / switch to unified diff)

--- pkgsrc/textproc/openjade/Makefile 2020/03/20 11:58:28 1.37
+++ pkgsrc/textproc/openjade/Makefile 2020/04/30 23:46:13 1.38
@@ -1,17 +1,17 @@ @@ -1,17 +1,17 @@
1# $NetBSD: Makefile,v 1.37 2020/03/20 11:58:28 nia Exp $ 1# $NetBSD: Makefile,v 1.38 2020/04/30 23:46:13 joerg Exp $
2 2
3DISTNAME= openjade-1.3.2 3DISTNAME= openjade-1.3.2
4PKGREVISION= 15 4PKGREVISION= 16
5CATEGORIES= textproc 5CATEGORIES= textproc
6MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=openjade/} 6MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=openjade/}
7 7
8MAINTAINER= kogule@mars.dti.ne.jp 8MAINTAINER= kogule@mars.dti.ne.jp
9HOMEPAGE= http://openjade.sourceforge.net/ 9HOMEPAGE= http://openjade.sourceforge.net/
10COMMENT= SGML/XML parser toolkit and DSSSL engine, successor to "jade" 10COMMENT= SGML/XML parser toolkit and DSSSL engine, successor to "jade"
11LICENSE= mit 11LICENSE= mit
12 12
13MAKE_JOBS_SAFE= no 13MAKE_JOBS_SAFE= no
14 14
15USE_LANGUAGES= c c++03 15USE_LANGUAGES= c c++03
16USE_LIBTOOL= yes 16USE_LIBTOOL= yes
17USE_TOOLS+= gmake perl 17USE_TOOLS+= gmake perl
@@ -35,26 +35,29 @@ INSTALLATION_DIRS= ${OPENJADE_DATA_DIR}/ @@ -35,26 +35,29 @@ INSTALLATION_DIRS= ${OPENJADE_DATA_DIR}/
35# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69534#c9 35# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69534#c9
36# 36#
37# Because of code in openjade that does not conform to standards, some 37# Because of code in openjade that does not conform to standards, some
38# versions of gcc produce an openjade binary that segfaults. Examples 38# versions of gcc produce an openjade binary that segfaults. Examples
39# are building postgresql95-docs (gcc version ?) and building the 39# are building postgresql95-docs (gcc version ?) and building the
40# pkgsrc guide (gcc 7 and 8 on NetBSD/amd). 40# pkgsrc guide (gcc 7 and 8 on NetBSD/amd).
41# 41#
42# Bug report about openjade built with gcc crashing for postgresql 42# Bug report about openjade built with gcc crashing for postgresql
43# https://bugzilla.redhat.com/show_bug.cgi?id=1306162 43# https://bugzilla.redhat.com/show_bug.cgi?id=1306162
44# 44#
45# Work around the openjade bug by asking gcc not to eliminate the dead 45# Work around the openjade bug by asking gcc not to eliminate the dead
46# stores that openjade relies on. 46# stores that openjade relies on.
47# 47#
 48# Similar problems are seen with clang, so also mark the variable as
 49# volatile.
 50#
48.include "../../mk/compiler.mk" 51.include "../../mk/compiler.mk"
49.if !empty(PKGSRC_COMPILER:Mgcc) 52.if !empty(PKGSRC_COMPILER:Mgcc)
50CFLAGS+= -fno-tree-dse 53CFLAGS+= -fno-tree-dse
51.endif 54.endif
52 55
53post-install: 56post-install:
54 ${INSTALL_DATA} ${WRKSRC}/dsssl/* ${DESTDIR}${OPENJADE_DATA_DIR} 57 ${INSTALL_DATA} ${WRKSRC}/dsssl/* ${DESTDIR}${OPENJADE_DATA_DIR}
55 ${INSTALL_DATA} ${WRKSRC}/pubtext/* ${DESTDIR}${OPENJADE_DATA_DIR}/pubtext 58 ${INSTALL_DATA} ${WRKSRC}/pubtext/* ${DESTDIR}${OPENJADE_DATA_DIR}/pubtext
56 ${INSTALL_DATA} ${WRKSRC}/doc/*.htm ${DESTDIR}${OPENJADE_DOC_DIR}/doc 59 ${INSTALL_DATA} ${WRKSRC}/doc/*.htm ${DESTDIR}${OPENJADE_DOC_DIR}/doc
57 ${INSTALL_DATA} ${WRKSRC}/jadedoc/copying.txt ${DESTDIR}${OPENJADE_DOC_DIR}/jadedoc 60 ${INSTALL_DATA} ${WRKSRC}/jadedoc/copying.txt ${DESTDIR}${OPENJADE_DOC_DIR}/jadedoc
58 ${INSTALL_DATA} ${WRKSRC}/jadedoc/*.htm ${DESTDIR}${OPENJADE_DOC_DIR}/jadedoc 61 ${INSTALL_DATA} ${WRKSRC}/jadedoc/*.htm ${DESTDIR}${OPENJADE_DOC_DIR}/jadedoc
59 ${INSTALL_DATA} ${WRKSRC}/jadedoc/images/* ${DESTDIR}${OPENJADE_DOC_DIR}/jadedoc/images 62 ${INSTALL_DATA} ${WRKSRC}/jadedoc/images/* ${DESTDIR}${OPENJADE_DOC_DIR}/jadedoc/images
60 63

cvs diff -r1.17 -r1.18 pkgsrc/textproc/openjade/distinfo (expand / switch to unified diff)

--- pkgsrc/textproc/openjade/distinfo 2020/03/26 21:47:54 1.17
+++ pkgsrc/textproc/openjade/distinfo 2020/04/30 23:46:13 1.18
@@ -1,17 +1,18 @@ @@ -1,17 +1,18 @@
1$NetBSD: distinfo,v 1.17 2020/03/26 21:47:54 rillig Exp $ 1$NetBSD: distinfo,v 1.18 2020/04/30 23:46:13 joerg Exp $
2 2
3SHA1 (openjade-1.3.2.tar.gz) = 54e1999f41450fbd62c5d466002d79d3efca2321 3SHA1 (openjade-1.3.2.tar.gz) = 54e1999f41450fbd62c5d466002d79d3efca2321
4RMD160 (openjade-1.3.2.tar.gz) = 3b12f6596a42c49a60cc07cd9b8f4c5fdf3bafd2 4RMD160 (openjade-1.3.2.tar.gz) = 3b12f6596a42c49a60cc07cd9b8f4c5fdf3bafd2
5SHA512 (openjade-1.3.2.tar.gz) = c39f70ec8020bd7a2b3e125cbd146b49ddb57910a042bd212da02722617ed5681f32dab60acc26ab89ac658997c6f604911d7be3be391d6278267481f3bcf2f1 5SHA512 (openjade-1.3.2.tar.gz) = c39f70ec8020bd7a2b3e125cbd146b49ddb57910a042bd212da02722617ed5681f32dab60acc26ab89ac658997c6f604911d7be3be391d6278267481f3bcf2f1
6Size (openjade-1.3.2.tar.gz) = 894834 bytes 6Size (openjade-1.3.2.tar.gz) = 894834 bytes
7SHA1 (patch-aa) = 4914f08b6598d25af7b7f99a58e1e6490d292609 7SHA1 (patch-aa) = 4914f08b6598d25af7b7f99a58e1e6490d292609
8SHA1 (patch-ab) = 5e50562cf860c713b581247e223130ee7ef409b9 8SHA1 (patch-ab) = 5e50562cf860c713b581247e223130ee7ef409b9
9SHA1 (patch-ac) = 2492ccb9bd736318ecd5c37f1b2a963f3ff188ab 9SHA1 (patch-ac) = 2492ccb9bd736318ecd5c37f1b2a963f3ff188ab
10SHA1 (patch-ad) = f8c950cc4a0ffb5bdba315a298c14a3e7ebcd637 10SHA1 (patch-ad) = f8c950cc4a0ffb5bdba315a298c14a3e7ebcd637
11SHA1 (patch-ae) = b67fde4062691b2d953cb4cb5b4ebd2428c3c285 11SHA1 (patch-ae) = b67fde4062691b2d953cb4cb5b4ebd2428c3c285
12SHA1 (patch-af) = 1e0db04b5b85ad3b71066e55f94bf3144d69efe5 12SHA1 (patch-af) = 1e0db04b5b85ad3b71066e55f94bf3144d69efe5
13SHA1 (patch-jade_HtmlFOTBuilder.cxx) = 98643b1159b6f22ae8e77ac3e8c5f431c167ce83 13SHA1 (patch-jade_HtmlFOTBuilder.cxx) = 98643b1159b6f22ae8e77ac3e8c5f431c167ce83
14SHA1 (patch-jade_TeXFOTBuilder.cxx) = 037953d73d896afae7531e313821224ccd1e30e4 14SHA1 (patch-jade_TeXFOTBuilder.cxx) = 037953d73d896afae7531e313821224ccd1e30e4
15SHA1 (patch-jade_TransformFOTBuilder.cxx) = cf4c51f05f95e31111a7e48d7984397ba4850e7d 15SHA1 (patch-jade_TransformFOTBuilder.cxx) = cf4c51f05f95e31111a7e48d7984397ba4850e7d
16SHA1 (patch-msggen.pl) = d55befeb6f859c9c3330c2083fce5d5281a496ef 16SHA1 (patch-msggen.pl) = d55befeb6f859c9c3330c2083fce5d5281a496ef
 17SHA1 (patch-style_Collector.h) = b07289e9b2011f8059c68794aee803b0f278fd3f
17SHA1 (patch-style_primitive.cxx) = a7f3328c436c9a73805cdd1abb4321f156b94c6e 18SHA1 (patch-style_primitive.cxx) = a7f3328c436c9a73805cdd1abb4321f156b94c6e

File Added: pkgsrc/textproc/openjade/patches/patch-style_Collector.h
$NetBSD: patch-style_Collector.h,v 1.1 2020/04/30 23:46:13 joerg Exp $

See Makefile.

--- style/Collector.h.orig	2020-04-30 00:27:45.776360891 +0000
+++ style/Collector.h
@@ -140,7 +140,7 @@ void *Collector::allocateObject(bool has
 {
   if (freePtr_ == &allObjectsList_)
     makeSpace();
-  Object *tem = freePtr_;
+  Object * volatile tem = freePtr_;
   freePtr_ = freePtr_->next();
   tem->setColor(currentColor_);
   tem->hasFinalizer_ = hasFinalizer;