pkgsrc/doc/HACKS
2006-12-15 13:22:14 +00:00

492 lines
14 KiB
Text

# $NetBSD: HACKS,v 1.31 2006/12/15 13:22:14 martti Exp $
#
# This file is intended to document workarounds for currently unsolved
# (mostly) compiler bugs.
#
# Format:
# hack title
# cdate creation date
# mdate mod date
# who responsible developer
# port ...
# affected ports, space separated, if not "all"
# file affected file : revision : line from : line to
# affected files and revision and line numbers describing hack
# multiple lines if necessary.
# pr NNNN ...
# problem reports this hack works around, if known. Space
# separated.
# regress src/regress/directory/where/test/found
# regression test directories, if available.
# descr
# insert short informal description (multi-line). (Longer ones
# should be in the PR database. More formal descriptions might
# be in the regress tree. See above).
# kcah
# closing bracket.
#
# this is a comment.
hack gcc 2.95.3/alpha -O2 bug
cdate Wed Feb 5 16:36:58 EST 2003
who dmcmahill
port alpha
file audio/xsidplay/patches/patch-aa : 1.8
cad/qcad/patches/patch-aa : 1.4
devel/guile-gtk//Makefile : 1.10
devel/guile-gtk/patches/patch-aa : 1.6
x11/qt2-libs/patches/patch-ae : 1.8
x11/qt2-libs/patches/patch-ae : 1.18
x11/kdelibs3/patches/patch-cd : 1.1
x11/kdelibs3/patches/patch-ce : 1.1
lang/gcc3/Makefile : 1.5
net/bing/Makefile : 1.12
net/isic/Makefile : 1.5
net/ettercap/patches/patch-aa : 1.4
net/ettercap/Makefile : 1.11
descr
Compiler crashes
kcah
hack gcc 2.95.3/alpha -O2 bug
cdate Thu Jan 23 15:42:57 UTC 2003
who dmcmahill
port alpha
file mail/imap-uwwm/Makefile : 1.52
descr
Compiler crashes
kcah
hack gcc 2.95.3/alpha c++ -O2 bug
cdate Fri Aug 16 06:38:16 EDT 2002
who dmcmahill
port alpha
file print/cjk-lyx/patches/patch-ab : 1.2
file print/cjk-lyx/patches/patch-ad : 1.1
file print/cjk-lyx/patches/patch-ae : 1.1
file print/cjk-lyx/patches/patch-af : 1.1
descr
Assembler runs forever and never returns with -O2 on some files.
kcah
hack gcc 2.95.3/alpha -O2 bug
cdate Sun Aug 11 12:39:46 EDT 2002
who dmcmahill
port alpha
file wm/flubox/patches/patch-ab : 1.3
descr
Assembler runs forever and never returns with -O2 on some files.
kcah
hack gcc 2.95.3/m68k -O2 bug
cdate Fri Jul 19 04:33:29 UTC 2002
who fredb
port mac68k, amiga
file graphics/gdk-pixbuf/patches/patch-aa : 1.3
descr
pixops.c gives 'Internal compiler error' with -O2 (but not -O),
on m68k only. The exact error message is reproduced in the patch.
kcah
hack gas 2.11.2 commutative constraint bug
cdate Fri May 10 04:51:29 UTC 2002
who fredb
port mac68k
file devel/gmp/patches/patch-aa : 1.7
descr
The __asm__() in longlong.h fails to assemble on m68k with an
"unrecognized instruction" error, unless the commutative
constraint ('%') is removed (which makes it *more* constrained).
kcah
hack gcc 2.95.3 -O2 bug
cdate Thu Apr 18 15:42:57 UTC 2002
who fredb, dmcmahill
port alpha, mac68k
file print/lyx/patches/patch-ab : 1.2
file print/lyx/patches/patch-ac : 1.1
file print/lyx/patches/patch-ae : 1.1
descr
lyxfunc.C causes 'Internal compiler error' with -O2 (but not -O).
The exact error message is reproduced in the patch.
Various other files cause the assembler to run forever (well,
I gave up after several hours) on netbsd-1.5.3/alpha using
gcc-2.95.3 and -O2.
kcah
hack cc -O* bug
mdate 29 Dec 2001
who abs
port arm32
file audio/libvorbis/Makefile : 1.12 : 20 : 28
descr
floor1.c causes Internal compiler error with egcs-2.91.66 19990314
(shipped with 1.5.2)
kcah
hack cc -O* bug
mdate 10 Oct 2001
who abs
port arm32
file net/djbdns/Makefile : 1.14 :
descr
various files go into infinite loop if optimisation enabled in
egcs-2.91.66 19990314 (shipped with 1.5.2)
kcah
hack cc -O* bug
mdate 03 Oct 2001
who abs
port arm32
file net/ucspi-tcp/Makefile : 1.7 :
descr
various files go into infinite loop if optimisation enabled in
egcs-2.91.66 19990314 (shipped with 1.5.2)
kcah
hack cc -O* bug
mdate 23 Aug 2001
who abs
port sparc64
file graphics/tiff/patches/patch-aa : 1.3 : 52 : 58
descr
on tif_dirread.c -O[12] causes the compiler to abort
kcah
hack cc -O* bug
cdate 08 Nov 2000
mdate 10 Jan 2002
who abs
port arm32 arm
file benchmarks/lmbench/patches/patch-aa : 1.2 :
file benchmarks/lmbench/Makefile : 1.9 :
descr
on certain c files, using -O[1-3] will cause the arm32 cc1 to run
forever.
reported to GCC people as PR optimization/2391.
kcah
hack cc -O* bug
mdate 18 May 2001
who abs
file x11/xscreensaver/distinfo : 1.2 :
file x11/xscreensaver/patches/patch-ab : 1.7 :
descr
on distort.c -O[12] causes the compiler to abort
kcah
hack c++ -O* bug
mdate 02 Jun 2000
who dmcmahill
file audio/festival/patches/patch-ai : 1.2 :
file audio/festival/patches/patch-aj : 1.1 :
file audio/festival/patches/patch-ak : 1.1 :
file audio/festival/patches/patch-al : 1.1 :
file cad/verilog/patches/patch-ad : 1.3 :
file cad/verilog-current/patches/patch-ad : 1.3 :
file cad/vipec/patches/patch-ac : 1.4 :
file emulators/stella/patches/patch-ac : 1.3 : 36 : 43
file graphics/kdegraphics/patches/patch-af : 1.5
file graphics/xpdf/Makefile : 1.18: 27
file graphics/xpdf/patches/patch-aa : 1.3
file math/yacas/patches/patch-ac : 1.1.1.1 :
file x11/glclock/Makefile : 1.3 : 18 : 20
file x11/windowmaker/Makefile : 1.51 : 39 : 42
pr 9453
descr
on certain c++ files, using -O[1-3] will cause cc1plus to run
forever. On other files, c++ -O[1-3] will cause the assembler to run
forever. This problem is noted on pmax and sparc (NetBSD-1.4.*) with
gcc version egcs-2.91.60 19981201 (egcs-1.1.1 release)
evidently this problem also exists on arm32.
kcah
hack mac68k-jade
mdate 29 Mar 2001
who hubertf
port mac68k
file textproc/jade/patches/patch-aa: 1.1 : 1 : 999
descr
jade on mac68k seems to dump core under certain conditions, the
patch was sent in by "Kogule, Ryo" <kogule@mars.dti.ne.jp> via
tech-pkg. The subject of the thread is "Jade doesn't work"
It is suspected that the patch really works around a bug in the
toolchain.
kcah
hack perl5-base
mdate 12 Apr 2001
who manu
port all
Checking in perl5-base/patches/patch-ag: 1.2 : 1 : 999
descr
The Xerces-Perl module is implemented as a shared object. It needs
some symbols from libgcc.a, such as __eh_alloc. It's not possible
to link the xerces-P shared object with libgcc.a, because libgcc.a
is not compiled with -fPIC. Hence we need to have the missing
symbols in the Perl executable.
This hack includes the whole libgcc.a in the Perl executable, and
links with c++ so that some mandatory symbols such as __pure_virtual
are also included. It should go away with GCC-3.0, or if we make a
libgcc.so on day.
kcah
hack gcc-2.95.3 -O* bug
mdate 12 Feb 2002
who mrauch
port i386
file devel/pth/Makefile : 1.37 : 20 : 22
descr
OpenOffice segfaults after some time in the pthread library with a
completely thrashed stack. Removing optimization when building
pth (-O0) avoids this problem.
kcah
hack binutils-2.11.2 ld versioned symbols bug
cdate 26 Feb 2002
who mrauch
file misc/openoffice/patches/patch-dj
file misc/openoffice/patches/patch-dk
descr Using versioned symbols the special symbol _etext can end up
in the shared library with a junk value for the version string
instead of "0" for no version. Sometimes it is sufficient to
reorder the -l flags on the link line but the general hack is to
disable versioned symbols.
kcah
hack sparc64-kth-krb
cdate 29 Mar 2002
who hubertf
file security/kth-krb4/Makefile
descr This package hangs when compiling one of the files with the
compiler that comes with 1.5ZC. The compiler needs to be killed
manually - the package is marked as interactive on sparc64 for
that reason.
kcah
hack cc -O* bug
mdate 04 Jun 2002
who cjep
port arm
file net/ucspi-tcp/Makefile : 1.11 :
descr
some compilations go into infinite loop if optimisation enabled in
gcc-2.95.3 20010315 (release) (NetBSD nb2) as shipped with
a releng snapshot (May 31st) of NetBSD-1.6_BETA1. See also abs's
entry above. First hang at:
( ( ./compile tryulong32.c && ./load tryulong32 && ./tryulong32 ) \
>/dev/null 2>&1 && cat uint32.h2 || cat uint32.h1 ) > uint32.h
kcah
hack cc -O* bug
mdate 04 Jun 2002
who cjep
port arm
file net/djbdns/Makefile : 1.19 :
descr
various files go into infinite loop if optimisation enabled in
gcc-2.95.3 20010315 (release) (NetBSD nb2) as shipped with
a releng snapshot (May 31st) of NetBSD-1.6_BETA1. See also abs's
entry above. First hang as ucspi-tcp.
kcah
hack cc -O* bug
mdate 06 Jun 2002
who cjep
port arm
file emulators/stella/Makefile : 1.5 :
descr
Usual arm optimisation problem. The first problem is at:
c++ -c -O2 -fno-rtti -I. -I../emucore -I../emucore/m6502/src \
-I../emucore/m6502/src/bspf/src -I../ui/x11 -I../ui/sound \
-I/usr/X11R6/include -DBSPF_UNIX ../emucore/m6502/src/M6502.cxx
kcah
hack cc -O* bug
mdate 07 Jun 2002
who cjep
port arm
file databases/cdb/Makefile : 1.3 :
descr
Usual arm optimisation problem. The first problem occurs around
( cat warn-auto.sh; echo exec "`head -1 conf-cc`" '-c ${1+"$@"}' \
) > compile
chmod 755 compile
kcah
hack gcc 2.95.3 -O2 bug
mdate 22 Jun 2002
who jlam
port sparc64
file x11/openmotif/patches/patch-ap : 1.2 : 209
pr 15477
descr
With -O2 optimization, a "if {} else if {} else {}" C statement
isn't converted into the correct code.
kcah
hack cc -O* bug
mdate 28 Nov 2002
who agc
port arm
file emulators/simh/Makefile : 1.3 :
descr
Usual arm optimisation problem. The first problem occurs around
compilation of altairz80
kcah
hack gcc-sparc64-memorysize
mdate 8 Jan 2003
who salo
port sparc64
file security/skey/patch-aa : 1.2
file security/skey/patch-ab : 1.1
descr
The SHA1Transform() function causes the sparc64 compiler to use
excessive amounts of memory attempting to optimise this function.
Using no optimisation allows the function to build.
kcah
hack ImageMagick arm32+mipsel -O2 bug
mdate 25 Jan 2003
who hubertf (the mipsel one, dunno who did the arm32 one)
port cobald (probably other mipsel's), arm32
file graphics/ImageMagick/Makefile : 1.90
descr
When compiling with -O2, gcc spins at one file. Going back to
-O fixes this. (The usual story...)
kcah
hack zip -O bug
mdate 1 Jun 2003
who grant
port powerpc
file archivers/zip/Makefile : 1.33
descr
When compiling with -O or -O2, gcc dies with an internal
compiler error on crypt.c. Turning off optimization fixes this.
kcah
hack gcc 2.95.3/arm -O2 bug
cdate 2 Aug 2003
who kristerw
port arm
file devel/ftnchek/Makefile : 1.13
descr Internal compiler error for fortran.c when -O2. Use -O1 instead.
kcah
hack gcc 2.95.3/arm -O* bug
cdate 19 Oct 2003
who kristerw
port arm
file mail/safecat/patches/patch-aa : 1.1
descr Compilation of the tryulong32.c configuration test takes ~forever.
kcah
hack gcc 2.95.3/arm internal error
cdate 31 Jan 2004
who kristerw
port arm
file games/sjeng/Makefile : 1.7
descr Internal compiler error when compiling search.c.
kcah
hack gcc 2.95.3/arm -O* bug
cdate 31 Jan 2003
who kristerw
port arm
file databases/cdb/patches/patch-aa : 1.1
descr Compilation of the tryulong32.c configuration test takes ~forever.
kcah
hack perl 5.8/openssl/sparc64 bug
cdate Wed Feb 16 13:24:06 2000
who seb
port sparc64
file security/openssl/patches/patch-ak
descr
Perl's int() function gives bad result on sparc64.
Hence openssl's bn_prime.pl perl script fails.
Use POSIX::floor() as a workaround.
See perl ticket #25249.
kcah
hack alpha c++ -O2 bug
cdate Wed Feb 16 13:24:06 2000
who recht
port alpha
file graphics/freetype2/Makefile
pr 25742
descr
The default compiler flags on the alpha port "-O2 -mieee"
cause the c++ compiler to generate buggy code.
kcah
hack sparc64 gcc 3.3.x -O2 bug
cdate 29 Apr 2004
who adam
port sparc64
file graphics/netpbm/patches/patch-ab
descr
sparc64 gcc 3.3.x toolchain bug means we must compile exif.o
without optimisation
kcah
hack i386 g++ 3.3.x -O2 bug
cdate Tue Aug 17 00:59:31 NZST 2004
who dsainty
port i386
file emulators/palmosemulator/patches/patch-an
descr
EmPoint.cpp malfunctions with optimisation on, trashing point
coordinates. Apparently an aliasing issue with automatic variables on
the stack and some fairly dodgy type casting. The patch file contains
more details.
kcah
hack libtool nawk line length problem
cdate Tue Sep 7 01:23:10 UTC 2004
who jschauma
port mipseb (IRIX)
file x11/gtk2/Makefile
descr
If we're on IRIX and we're using gcc, then, apparently, we need gawk,
as otherwise the awk invocation in libtool breaks complaining about
the ``Input record [...] too long'' near the end of the build process.
Oddly this does not occur using the mipspro compiler. Possible
reason: using gcc we have longer CFLAGS. Fix: add USE_GNU_TOOLS+=awk
iff IRIX and gcc. Problem: this might affect other packages as well.
One might consider depending libtool on gawk for IRIX.
kcah
hack devel/bison -O* bug with sunpro
cdate Tue Nov 2 17:30:48 GMT 2004
who sketch
port sparc (Solaris)
file devel/bison/Makefile : 1.49
descr
bison's quotearg_buffer_restyled() has issues with certain compilers
using optimisation flags. The resulting bison with optimsation
breaks on at least net/libIDL. BUILDLINK_TRANSFORM -O* away until
the root cause can be fixed.
kcah
hack security/libgpg-error awk on IRIX
cdate Sun May 15 18:08:48 EDT 2005
who jschauma
port mipseb (IRIX)
file security/libgpg-error/Makefile
descr
Apparently, for as of yet undetermined reasons, gawk as built on IRIX
under pkgsrc croaks on regular expressions including a combination of
alpha- and numerical matches, such as the rather trivial
/^[ \t]*[0-9]+/
Let's use the system's AWK (ie nawk) for this package to avoid
breaking hundreds of dependents.
Speculation: somehow the regular expression library used to build gawk
conflicts with the systems regular expression library or some such.
Note: gawk from SGIs freeware collection depends on expat -- why is
that? Does that have anything to do with anything?
kcah