[BACK]Return to HACKS CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / doc

Annotation of src/doc/HACKS, Revision 1.206

1.206   ! snj         1: # $NetBSD: HACKS,v 1.205 2020/04/30 12:44:41 rin Exp $
1.1       lukem       2: #
                      3: # This file is intended to document workarounds for currently unsolved
                      4: # (mostly) compiler bugs.
                      5: #
                      6: # Format:
                      7: #   hack               title
                      8: #   cdate              creation date
                      9: #   mdate              mod date
                     10: #   who                        responsible developer
                     11: #   port               ...
                     12: #        affected ports, space separated, if not "all"
                     13: #   file               affected file : revision : line from : line to
                     14: #        affected files and revision and line numbers describing hack
                     15: #        multiple lines if necessary.
                     16: #   pr                 NNNN ...
                     17: #        problem reports this hack works around, if known. Space
                     18: #        separated.
                     19: #   regress            src/regress/directory/where/test/found
                     20: #        regression test directories, if available.
                     21: #   descr
                     22: #        insert short informal description (multi-line). (Longer ones
                     23: #        should be in the PR database. More formal descriptions might
                     24: #        be in the regress tree. See above).
                     25: #   kcah
                     26: #        closing bracket.
                     27: #
                     28: # this is a comment.
                     29:
1.190     maya       30: hack   static linking with libpthread
                     31: mdate  7 May 2019
                     32: who    maya
                     33: file   lib/libpthread/Makefile 1.92 -> 1.94
                     34: descr
                     35:        To avoid some libc thread stub functions being picked up
                     36:        in static builds, link pthread as one section.
                     37: kcah
                     38:
1.166     christos   39: hack   gcc-5.3 optimizes memset+malloc -> calloc inside calloc
                     40: mdate  4 May 2016
                     41: who    christos
                     42: file   external/gpl2/lib/libmalloc/lib/Makefile 1.3 -> 1.5
                     43: descr
                     44:        resulting in infinite recursion; we prevent this with
                     45:        -fno-builtin-malloc
                     46: kcah
                     47:
1.167     mrg        48: hack   turn off tree-vrp for parts of ufs_lookup.c
                     49: mdate  28 April 2016
                     50: who    mrg christos
                     51: file   src/sys/ufs/ufs/ufs_lookup.c : 1.144
                     52: pr     51094
                     53: descr
                     54:        with -ftree-vrp enabled in ufs_lookup.c sometimes bad dir
                     55:        panicks are see.
                     56: hcah
                     57:
1.1       lukem      58: hack   netstat ieee1394 address printing.
                     59: mdate  14 Nov 2000
                     60: who    matt
                     61: file   lib/libc/net/getnameinfo.c      : 1.32 : 497 : 503
                     62: descr
                     63:        Because the current implementation of IP over IEEE1394, the
                     64:        fw device address contains more than just the IEEE1394 EUI-64.
                     65:        So when printing out IEEE1394 addresses, ignore the extra stuff.
                     66: kcah
                     67:
                     68: hack   xterm vs. libterm
                     69: mdate  01 Aug 2000
                     70: who    jdc
                     71: file   xsrc/xc/programs/xterm/main.c   : 1.2 : 3609 : 3614
                     72: pr     10383
                     73: descr
                     74:        In order to extend the termcap string over 1023 bytes, a ZZ entry was
                     75:        introduced to point to a memory location containing the full entry.
                     76:        Without this hack, xterm will export a termcap containing the ZZ
                     77:        entry, which will then be ignored by libterm.  As xterm modifies the
                     78:        exported termcap, this would cause those modifications to be ignored.
                     79: kcah
                     80:
                     81: hack   wi-at-big-endian-bus
                     82: cdate  15 Mar 2002
                     83: who    martin
1.203     rin        84: file   dev/ic/wireg.h : 1.20
1.1       lukem      85: descr  Add an option to access the underlying bus in big endian byte order
                     86:        to work around deficiencies in bus_space_{read,write}_* macros.
                     87:        Those don't allow the implementation of a proper pcmcia bus space
                     88:        tag.
                     89: kcah
                     90:
1.3       jdc        91: hack   specific knowledge of colours in curses code
                     92: cdate  Sun Apr  6 11:05:24 BST 2003
                     93: who    jdc
                     94: file   lib/libcurses/color.c : r1.24
                     95: descr
                     96:        Swap red/blue and yellow/cyan colours for COLOR_OTHER.
                     97:        Fix is to enhance libtermcap to understand terminfo-style % sequences.
                     98:        See also:
1.5       salo       99:            http://mail-index.NetBSD.org/tech-userlevel/2003/04/06/0000.html
1.4       scw       100: kcah
                    101:
1.7       he        102: hack   Compensation for differing types of LINUX_USRSTACK and USRSTACK
                    103: cdate  21 Aug 2003
                    104: who    he
                    105: file   sys/miscfs/procfs/procfs_linux.c : 1.14
                    106: descr
                    107:        Not all ports have LINUX_USRSTACK and/or USRSTACK defined as
                    108:        literals/constants, but refer to variables of a type which is
                    109:        not "unsigned long", causing compilation of procfs_linux.c to
                    110:        fail with "makes integer from pointer without a cast".  This
                    111:        is observed on e.g. the sun3 port.  Ideally the "types" for
                    112:        symbols should be consistent across all ports.
1.25      mrg       113: kcah
                    114:
1.80      tsutsui   115: hack   gcc4 wrong uninitialized variable
1.58      mrg       116: mdate  10 May 2006
                    117: who    mrg
                    118: file   bin/ksh/eval.c                  : 1.6
                    119: file   bin/sh/histedit.c               : 1.39
                    120: file   bin/sh/parser.c                 : 1.60
                    121: file   crypto/dist/heimdal/kdc/524.c   : 1.10
                    122: file   crypto/dist/ssh/sftp.c          : 1.20
                    123: file   crypto/dist/ssh/ssh-keysign.c   : 1.11
                    124: file   dist/ipf/lib/hostname.c         : 1.2
                    125: file   dist/ipf/tools/ipmon.c          : 1.8
1.72      mrg       126: file   dist/ntp/ntpd/ntp_request.c     : 1.4
1.58      mrg       127: file   dist/ntp/ntpd/refclock_shm.c    : 1.4
                    128: file   dist/ntp/sntp/timing.c          : 1.3
                    129: file   dist/pppd/pppstats/pppstats.c   : 1.3
                    130: file   dist/tcpdump/print-zephyr.c     : 1.5
1.68      mrg       131: file   distrib/utils/sysinst/aout2elf.c : 1.12
1.58      mrg       132: file   gnu/libexec/uucp/uucico/uucico.c : 1.6
                    133: file   lib/libc/citrus/citrus_csmapper.c : 1.6
                    134: file   lib/libc/citrus/citrus_pivot_factory.c : 1.5
                    135: file   lib/libc/inet/inet_cidr_ntop.c  : 1.3
                    136: file   lib/libc/inet/inet_ntop.c       : 1.3
                    137: file   lib/libc/stdio/vfwprintf.c      : 1.8
1.69      mrg       138: file   libexec/ld.elf_so/arch/m68k/mdreloc.c : 1.20
1.76      mrg       139: file   libexec/ld.elf_so/arch/powerpc/ppc_reloc.c : 1.40
1.74      mrg       140: file   libexec/ld.elf_so/arch/sh3/mdreloc.c : 1.22
1.69      mrg       141: file   libexec/ld.elf_so/arch/sparc/mdreloc.c : 1.39
1.58      mrg       142: file   libexec/ld.elf_so/arch/sparc64/mdreloc.c : 1.39
1.74      mrg       143: file   libexec/ld.elf_so/arch/vax/mdreloc.c    : 1.21
1.71      dan       144: file   libexec/ld.elf_so/arch/x86_64/mdreloc.c : 1.27
1.58      mrg       145: file   sbin/fsck_ext2fs/dir.c          : 1.19
                    146: file   sbin/routed/rtquery/rtquery.c   : 1.18
1.73      dan       147: file   sys/arch/amd64/amd64/pmap.c     : 1.26
1.79      mrg       148: file   sys/arch/i386/pci/piixpcib.c    : 1.4
1.80      tsutsui   149: file   sys/arch/m68k/m68k/pmap_motorola.c      : 1.4
1.58      mrg       150: file   sys/crypto/cast128/cast128.c    : 1.9
                    151: file   sys/ddb/db_command.c            : 1.86
1.68      mrg       152: file   sys/dev/cardbus/cardbus_map.c   : 1.21
1.58      mrg       153: file   sys/dev/fss.c                   : 1.25
1.69      mrg       154: file   sys/dev/ic/igsfb.c              : 1.39
1.68      mrg       155: file   sys/dev/ic/mb86950.c            : 1.5
1.58      mrg       156: file   sys/dev/ic/midway.c             : 1.71
1.68      mrg       157: file   sys/dev/kttcp.c                 : 1.18
                    158: file   sys/dev/rasops/rasops_bitops.h  : 1.9
                    159: file   sys/dev/pci/cmpci.c             : 1.31
1.58      mrg       160: file   sys/dev/pci/machfb.c            : 1.45
1.68      mrg       161: file   sys/dev/usb/ohci.c              : 1.174
                    162: file   sys/dev/usb/uhci.c              : 1.196
                    163: file   sys/dev/rasops/rasops_bitops.h  : 1.9
1.58      mrg       164: file   sys/dist/ipf/netinet/ip_nat.c   : 1.10
                    165: file   sys/dist/ipf/netinet/ip_rpcb_pxy.c : 1.8
                    166: file   sys/dist/pf/net/pf.c            : 1.22
1.59      mrg       167: file   sys/fs/udf/udf_vnops.c          : 1.4
1.58      mrg       168: file   sys/kern/kern_sig.c             : 1.219
                    169: file   sys/kern/tty.c                  : 1.181
                    170: file   sys/net/bpf.c                   : 1.116
                    171: file   sys/net/zlib.c                  : 1.26
1.68      mrg       172: file   sys/netccitt/if_x25subr.c       : 1.37
1.58      mrg       173: file   sys/netinet/in.c                : 1.107
                    174: file   sys/nfs/nfs_serv.c              : 1.108
                    175: file   sys/nfs/nfs_socket.c            : 1.129
                    176: file   sys/nfs/nfs_syscalls.c          : 1.91
                    177: file   sys/ufs/lfs/lfs_vfsops.c        : 1.207 [also (char *)]
                    178: file   usr.bin/ftp/ftp.c               : 1.140
                    179: file   usr.bin/find/function.c         : 1.54
                    180: file   usr.bin/mail/tty.c              : 1.20
1.100     tsutsui   181: file   usr.bin/msgc/msg_sys.def        : 1.33-1.34
1.58      mrg       182: file   usr.bin/nl/nl.c                 : 1.7
                    183: file   usr.bin/systat/keyboard.c       : 1.23
                    184: file   usr.bin/usbhidctl/usbhid.c      : 1.29
                    185: file   usr.bin/vi/cl/cl_read.c         : 1.5
                    186: file   usr.bin/vi/ex/ex_cscope.c       : 1.12
                    187: file   usr.bin/vi/ex/ex_tag.c          : 1.19
                    188: file   usr.bin/vi/vi/v_txt.c           : 1.15
                    189: file   usr.sbin/altq/altqstat/qdisc_rio.c : 1.4
                    190: file   usr.sbin/cron/do_command.c      : 1.19
                    191: file   usr.sbin/timed/timed/slave.c    : 1.15
                    192: descr
                    193:        GCC 4.1 gets many uninitialised variable warnings wrong.  We should
                    194:        really audit all the old hacks like this when older compilers are
                    195:        removed from the tree, as many are probably no longer required.
1.65      christos  196:        The problem is that it does not recognize initialization via function
                    197:        call pointer. I.e.
                    198:                int p;
                    199:                foo(&p);
                    200:        does not mark p as initialized.
1.58      mrg       201: kcah
                    202:
1.59      mrg       203: hack   gcc4 pointer sign and strict aliasing problems
                    204: mdate  10 May 2006
                    205: who    mrg
                    206: file   bin/ed/Makefile                 : 1.33
1.68      mrg       207: file   distrib/utils/sysinst/Makefile.inc : 1.44
1.91      martin    208: file   distrib/utils/x_dhclient/Makefile : 1.15
1.60      mrg       209: file   games/bcd/Makefile              : 1.5
                    210: file   games/dab/Makefile              : 1.5
                    211: file   games/larn/Makefile             : 1.17
                    212: file   games/pom/Makefile              : 1.5
                    213: file   lib/libasn1/Makefile            : 1.26
                    214: file   lib/libcrypt/Makefile           : 1.17
                    215: file   lib/libgssapi/Makefile          : 1.16
                    216: file   lib/libhdb/Makefile             : 1.20
                    217: file   lib/libkadm5clnt/Makefile       : 1.21
                    218: file   lib/libkadm5srv/Makefile        : 1.25
                    219: file   lib/libkrb5/Makefile            : 1.35
                    220: file   lib/libssh/Makefile             : 1.6
                    221: file   lib/libtelnet/Makefile          : 1.26
                    222: file   libexec/getty/Makefile          : 1.14
                    223: file   libexec/kadmind/Makefile        : 1.19
                    224: file   libexec/kpasswdd/Makefile       : 1.14
                    225: file   sbin/atactl/Makefile            : 1.3
                    226: file   sbin/cgdconfig/Makefile         : 1.7
                    227: file   sbin/clri/Makefile              : 1.13
                    228: file   sbin/dkctl/Makefile             : 1.4
                    229: file   sbin/dump/Makefile              : 1.33
                    230: file   sbin/fdisk/Makefile             : 1.35
                    231: file   sbin/fsck_ext2fs/Makefile       : 1.11
                    232: file   sbin/fsck_ffs/Makefile          : 1.29
                    233: file   sbin/fsdb/Makefile              : 1.18
                    234: file   sbin/newfs/Makefile             : 1.30
                    235: file   sbin/newfs_sysvbfs/Makefile     : 1.2
                    236: file   sbin/restore/Makefile           : 1.23
                    237: file   sbin/veriexecctl/Makefile       : 1.11
1.64      mrg       238: file   sys/lib/libsa/Makefile          : 1.59
1.68      mrg       239: file   sys/arch/evbarm/adi_brh/brh_machdep.c : 1.24
1.59      mrg       240: file   usr.bin/awk/Makefile            : 1.9
1.64      mrg       241: file   usr.bin/crontab/Makefile        : 1.24
1.60      mrg       242: file   usr.bin/ctags/Makefile          : 1.8
1.61      mrg       243: file   usr.bin/gzip/Makefile           : 1.10
1.60      mrg       244: file   usr.bin/ssh/sftp/Makefile       : 1.10
                    245: file   usr.bin/ssh/ssh/Makefile        : 1.25
1.59      mrg       246: file   usr.bin/vi/build/Makefile       : 1.26
1.60      mrg       247: file   usr.bin/telnet/Makefile         : 1.40
                    248: file   usr.bin/tn3270/tn3270/Makefile  : 1.36
                    249: file   usr.bin/tr/Makefile             : 1.4
1.59      mrg       250: file   usr.sbin/amd/amd/Makefile       : 1.27
                    251: file   usr.sbin/amd/amq/Makefile       : 1.14
                    252: file   usr.sbin/amd/libamu/Makefile    : 1.20
                    253: file   usr.sbin/amd/pawd/Makefile      : 1.5
                    254: file   usr.sbin/bind/Makefile.inc      : 1.22
1.60      mrg       255: file   usr.sbin/bind/libdns/Makefile   : 1.3
                    256: file   usr.sbin/bind/named/Makefile    : 1.17
                    257: file   usr.sbin/bootp/bootptest/Makefile : 1.2
                    258: file   usr.sbin/chrtbl/Makefile        : 1.6
                    259: file   usr.sbin/cron/Makefile          : 1.12
1.59      mrg       260: file   usr.sbin/dhcp/Makefile.inc      : 1.20
1.60      mrg       261: file   usr.sbin/hprop/Makefile         : 1.13
                    262: file   usr.sbin/installboot/Makefile   : 1.35
1.59      mrg       263: file   usr.sbin/ipf/ipftest/Makefile   : 1.32
                    264: file   usr.sbin/isdn/isdnd/Makefile    : 1.6
                    265: file   usr.sbin/isdn/isdnmonitor/Makefile : 1.3
                    266: file   usr.sbin/isdn/isdntel/Makefile  : 1.2
                    267: file   usr.sbin/isdn/isdntrace/Makefile : 126
1.61      mrg       268: file   usr.sbin/mopd/common/Makefile   : 1.10
                    269: file   usr.sbin/mopd/mopd/Makefile     : 1.9
                    270: file   usr.sbin/mopd/mopprobe/Makefile : 1.7
1.60      mrg       271: file   usr.sbin/makefs/Makefile        : 1.17
                    272: file   usr.sbin/mscdlabel/Makefile     : 1.5
                    273: file   usr.sbin/pkg_install/add/Makefile : 1.7
                    274: file   usr.sbin/pkg_install/create/Makefile : 1.5
                    275: file   usr.sbin/pkg_install/lib/Makefile : 1.28
1.59      mrg       276: file   usr.sbin/ntp/ntpd/Makefile      : 1.10/1.11
                    277: file   usr.sbin/ntp/ntptime/Makefile   : 1.4/1.5
                    278: file   usr.sbin/pppd/Makefile.inc      : 1.3
                    279: file   usr.sbin/pppd/pppd/Makefile     : 1.38
1.60      mrg       280: file   usr.sbin/rarpd/Makefile         : 1.10
1.59      mrg       281: file   usr.sbin/rbootd/Makefile        : 1.10
1.60      mrg       282: file   usr.sbin/rpc.pcnfsd/Makefile    : 1.17
                    283: file   usr.sbin/tcpdump/Makefile       : 1.42
1.59      mrg       284: descr
                    285:        GCC 4.1 warns on pointer sign comparision/assignments and lots of
                    286:        code does not conform.  For now we use -Wno-pointer-sign and
                    287:        -fno-strict-aliasing.
                    288: kcah
                    289:
1.145     christos  290: hack   disable ctf for gcc-4.8 build
                    291: mdate  April 3 2014
1.146     wiz       292: who    christos
1.145     christos  293: file   external/gpl3/gcc/usr.bin/Makefile.frontend     : 1.4
                    294: file   external/gpl3/gcc/usr.bin/Makefile.backend      : 1.5
                    295: descr
                    296:        nbctfconvert -g -L VERSION -g fold-const.o
                    297:        ERROR: fold-const.c: failed to get mapping for tid 79154 \
                    298:                ((null)) <13532>
                    299: kcak
                    300:
1.121     christos  301: hack   emacs aborting on exit (libgcc issue)
                    302: mdate  7 November 2011
                    303: who    christos
                    304: file   external/gpl3/gcc/dist/gcc/unwind-dw2-fde.c : 1.2
                    305: descr
                    306:        GCC 4.5.3 now calls __unregister_frame_info_bases() on unloading/exit
                    307:        to do just that. If the symbol requested is not found, then it aborts.
                    308:        emacs 23.3 triggers this assertion. For now disable aborting, and
                    309:        silently ignore.
                    310: kcah
                    311:
1.105     agc       312: hack   cross-building hack on Darwin
                    313: mdate  20 July 2008
                    314: who    agc
                    315: file   src/distrib/common/Makefile.mdset       : 1.33
                    316: descr
                    317:        Darwin has problems with getopt() when used in mdsetimage -v,
                    318:        due to the difference between BSD and libiberty() getopt
                    319:        implementations, more fully described in
                    320:        http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
                    321:        and the subsequent thread.  For just now, we just have an ugly
                    322:        workaround not to call mdsetimage with the -v argument on Darwin
                    323: kcah
                    324:
1.109     veego     325: hack   avoid rebuilding asn1 libraries
                    326: mdate  03 August 2008
                    327: who    veego
                    328: file   src/crypto/dist/heimdal/lib/asn1/gen.c  : 1.10
                    329: file   src/lib/libasn1/Makefile        : 1.32
                    330: file   src/lib/libhdb/Makefile : 1.23
                    331: file   src/lib/libgssapi/Makefile      : 1.20
                    332: file   src/lib/libhx509/Makefile       : 1.3
                    333: pr     9702 39185
                    334: descr
                    335:        asn1_compile does not check if generated header files do not have to
                    336:        be rebuild.
                    337:        Generate .hx files and copy it in the Makefiles if they changed.
                    338: kcah
                    339:
1.144     tron      340: hack   Disable fortification for /usr/bin/makeinfo
                    341: cdata  24 Mar 2014
                    342: who    tron
1.186     maya      343: file   src/external/gpl2/texinfo/bin/makeinfo/Makefile : 1.1
1.144     tron      344: pr     N/A
                    345: descr
                    346:        If "makeinfo" is compiled with "-D_FORTIFY_SOURCE=2" using GCC 4.8.3
                    347:        it fails to process certain texinfo files, e.g. "cl.texi"
                    348:        included in the Emacs 24.3 distribution.
                    349: kcah
                    350:
1.147     tron      351: hack   Disable Stack Smash Protection for /usr/X11R7/bin/xauth
                    352: cdata  05 Apr 2014
                    353: who    tron
                    354: file   src/external/mit/xorg/bin/xauth/Makefile        : 1.4
                    355: pr     N/A
                    356: descr
                    357:        If "xauth" is compile with "USE_SSP" set to "yes" it fails
                    358:        mysteriously with an error message like this:
                    359:
                    360:        /usr/X11R7/bin/xauth:  file /foo/bar/.Xauthority does not exist
                    361:        /usr/X11R7/bin/xauth:  unable to link authority file /foo/bar/.Xauthority, use /foo/bar/.Xauthority
                    362:
                    363:        The compiler seems to get confused about the two filename variables
                    364:        used in the link(2) system call.
                    365: kcah
                    366:
1.162     pooka     367: hack   g++ 5.x barfs on volatile in constexpr initializers
                    368: cdata  27 Aug 2015
1.160     pooka     369: who    pooka
1.162     pooka     370: file   src/lib/libpthread/pthread_types.h      : 1.17
1.160     pooka     371: pr     lib/49989
                    372: descr
                    373:        Trying to use e.g. pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER
                    374:        in C++ results in:
                    375:                error: temporary of non-literal type '__pthread_mutex_st'
                    376:                in a constant expression
                    377:                constexpr mutex() _NOEXCEPT : __m_(PTHREAD_MUTEX_INITIALIZER) {}
                    378:                [...]
                    379:                include/pthread_types.h:101:8: note: '__pthread_mutex_st' is
                    380:                not literal because:
                    381:                struct __pthread_mutex_st {
                    382:                ^
                    383:                include/pthread_types.h:103:17: note:   non-static data
                    384:                member '__pthread_mutex_st::ptm_errorcheck' has volatile type
                    385:                pthread_spin_t ptm_errorcheck;
                    386: kcah
                    387:
1.163     christos  388: hack   libm cabs{,f,l} and g++
                    389: cdata  11 Jan 2016
                    390: who    christos
                    391: pr     lib/50646
                    392: file   src/external/gpl3/gcc.old/dist/libstdc++-v3/include/std/complex : 1.2
                    393: file   src/external/gpl3/gcc/dist/libstdc++-v3/include/std/complex : 1.2
                    394: descr
                    395:        Our cabs and cabsf have a different argument format on some architectures
                    396:        and for that we have created in libm/compat_cabs{,f}.c. The standard
                    397:        versions in libc are __c99_cabs{,f,l} and there are __RENAME()'s in
                    398:        <complex.h>. G++ uses __builtin_cabs{,f,l} to implement those and they
                    399:        translate by default to cabs{,f,l} which gets defined to cabs{,f} (the
                    400:        wrong function) and an undefined cabsl. I've changed <complex> to use
                    401:        the __c99_cabs{,f,l} directly. Using the __builtin_cabs{,f,l} in gcc is
                    402:        still broken.
                    403: kcah
                    404:
1.21      mycroft   405: port   vax
                    406:
1.102     tsutsui   407:        hack    gcc4/vax ICE
1.203     rin       408:        cdate   Sat Dec 22 08:17:57 2007 UTC
1.102     tsutsui   409:        who     tsutsui
1.203     rin       410:        file    sys/arch/vax/conf/Makefile.vax : 1.79
1.102     tsutsui   411:        descr
                    412:                GCC4 on vax gets ICE on compiling sys/ddb/db_command.c.
                    413:                -fno-tree-ter prevents it so add it to COPTS.
                    414:        kcah
                    415:
1.81      mrg       416:        hack    gcc4/vax compiler crash
                    417:        cdate   Fri Jun 30 22:39:12 PDT 2006
                    418:        who     mrg
                    419:        file    bin/csh/Makefile        : 1.27
                    420:        file    lib/i18n_module/UTF7/Makefile   : 1.2
                    421:        descr
                    422:                GCC4 on vax crashes.  -O0 stops it happening so far...
                    423:        kcah
                    424:
1.54      he        425:        hack    declare boolean_t in two IPF user-mode programs
                    426:        cdate   Tue Mar  7 19:19:20 CET 2006
                    427:        who     he
                    428:        file    dist/ipf/ipsend/iptests.c : 1.8
                    429:                dist/ipf/ipsend/sock.c : 1.7
                    430:        descr
                    431:                The IPF user-mode programs ipsend and iptest first
                    432:                include <sys/types.h> without _KERNEL defined, and
                    433:                later include <sys/file.h> with _KERNEL defined.
                    434:                This causes a build failure when building for vax,
                    435:                since <sys/device.h> ends up being included without
                    436:                bollean_t being defined by <sys/types.h>.
                    437:                Build failure and further details documented in
                    438:                PR#32907.
                    439:        kcah
                    440:
1.104     gmcgarry  441:        hack    pcc 0.9.9 large string literals
                    442:        cdat    8 July 2008
                    443:        who     gmcgarry
                    444:        file    sys/conf/param.c : 1.58
                    445:        descr
                    446:                Workaround for pcc 0.9.9 not handling large string literals
                    447:                which causes kernels with 'options INCLUDE_CONFIG_FILE' to
                    448:                fail compilation.
                    449:                There is a proposal on the pcc mailing list to stuff config
                    450:                file in ELF section.
                    451:        kcah
                    452:
1.107     mrg       453:        hack    xorg warnings
1.129     christos  454:        cdat    30 July 2008, 3 June, 2013
1.107     mrg       455:        who     mrg
1.108     mrg       456:        file    external/mit/xorg/lib/libSM/Makefile : 1.2
1.129     christos  457:                external/mit/xorg/lib/libX11/Makefile.libx11 : 1.10
1.107     mrg       458:                external/mit/xorg/lib/libXext/Makefile : 1.2
                    459:                external/mit/xorg/lib/libXfont/Makefile : 1.2
                    460:        descr
                    461:                Disable several warnings or use -Wno-error across Xorg sources
                    462:                while we get them working
                    463:        kcah
                    464:
1.112     christos  465:        hack    32 bit time leftovers
                    466:        cdat    11 January 2009
                    467:        who     christos
                    468:        file    lib/libc/time/localtime.c : 1.41
                    469:                lib/libc/time/zic.c : 1.23
                    470:        descr
                    471:                The timezone compiled files still contain 32 bit time_t
                    472:                quantities. I did not want to version the files because
                    473:                the ``parser'' is too ugly for words. What needs to be
                    474:                done, is to rewrite the parser from scratch also to avoid
                    475:                potential core-dumps from parsing invalid files.
                    476:        kcah
                    477:
                    478:        hack    32 bit time leftovers
                    479:        cdat    11 January 2009
                    480:        who     christos
                    481:        file    various
                    482:        descr
1.113     sketch    483:                Many filesystem on-disk formats have 32 bit times.
1.112     christos  484:        kcah
                    485:
1.141     christos  486:        hack    gcc 4.5 fsdb miscompile
1.140     christos  487:        date    Sat Nov  9 11:03:02 EST 2013
                    488:        who     christos
1.141     christos  489:        file    src/sbin/fsdb/Makefile : 1.36 (and earlier)
1.140     christos  490:        descr
                    491:                src/sbin/fsdb/fsdb.c: In function 'findblk':
                    492:                src/sbin/fsdb/fsdb.c:610:1: error: unrecognizable insn:
                    493:                (insn 941 940 942 134 src/sbin/fsdb/fsdb.c:589 (set (reg:SI 604)
                    494:                    (subreg:SI (mem/s/j:DI (plus:SI (mult:SI (reg:SI 602)
                    495:                         (const_int 8 [0x8]))
                    496:                     (reg/f:SI 601)) [0 curinode.99_378->dp2.di_ib S8 A32]) 4)) \
                    497:                        -1 (nil))
                    498:                src/sbin/fsdb/fsdb.c:610:1: internal compiler error: in \
                    499:                extract_insn, at recog.c:2103
                    500:        kcah
                    501:
1.141     christos  502:        hack    gcc 4.8 gcc miscompiles
                    503:        date    Sat Nov  9 16:35:18 EST 2013
                    504:        who     christos
1.203     rin       505:        file    distrib/utils/x_ping/Makefile : 1.8
                    506:        file    distrib/vax/miniroot/Makefile.inc : ?
                    507:        file    distrib/vax/ramdisk/Makefile : ?
                    508:        file    external/gpl3/gdb/lib/libdecnumber/Makefile : 1.3
                    509:        file    sbin/fsdb/Makefile : 1.36
                    510:        file    sbin/newfs_ext2fs/Makefile : 1.6
                    511:        file    sbin/ping/Makefile : 1.17
                    512:        file    usr.sbin/mtrace/Makefile : 1.11
1.141     christos  513:        descr
                    514:                external/gpl3/gcc/dist/gcc/expmed.c:2781:1:
                    515:                internal compiler error: in change_address_1, at emit-rtl.c:2019
                    516:                external/gpl3/gcc/dist/gcc/recog.c:770:1:
                    517:                internal compiler error: in change_address_1, at emit-rtl.c:2019
                    518:                external/gpl3/gcc/dist/libdecnumber/decNumber.c:7214:3:
                    519:                internal compiler error: in change_address_1, at emit-rtl.c:2019
                    520:                sbin/ping/ping.c:679:1:
                    521:                internal compiler error: in change_address_1, at emit-rtl.c:2019
                    522:                sbin/newfs_ext2fs/mke2fs.c:681:1:
                    523:                internal compiler error: in reload_combine_note_use,
                    524:                at postreload.c:1561
                    525:                external/gpl3/gdb/dist/libdecnumber/decNumber.c:7214:3:
                    526:                internal compiler error: in change_address_1, at emit-rtl.c:2019
                    527:                usr.sbin/mtrace/mtrace.c:1655:1:
                    528:                internal compiler error: in change_address_1, at emit-rtl.c:2019
                    529:        kcah
                    530:
1.178     rin       531:        hack    gcc 5.4 cc1 miscompile
                    532:        date    Tue Feb 14 07:19:57 JST 2017
                    533:        who     rin
                    534:        pr      port-vax/51967
                    535:        file    external/gpl3/gcc/usr.bin/backend/Makefile : 1.35
                    536:        descr
                    537:                cc1 aborts due to SIGILL when compiling the sample code attached
                    538:                to the PR. As a workaround, compile dse.c with -O0.
                    539:        kcah
                    540:
1.179     rin       541:        hack    libssh miscompile
1.182     rin       542:        cdate   Tue Feb 14 17:58:06 JST 2017
                    543:        mdate   Tue Feb 14 18:57:39 JST 2017
1.179     rin       544:        who     rin
                    545:        file    crypto/external/bsd/openssh/lib/Makefile : 1.20
                    546:        descr
1.182     rin       547:                poly1305.c and umac.c are miscompiled, which results in login
                    548:                failure to/from external hosts via ssh.
1.179     rin       549:        kcah
                    550:
1.180     rin       551:        hack    mandoc miscompile
                    552:        date    Tue Feb 14 18:03:05 JST 2017
                    553:        who     rin
                    554:        file    external/bsd/mdocml/lib/libmandoc/Makefile : 1.8
                    555:        descr
                    556:                mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c.
                    557:        kcah
                    558:
1.183     rin       559:        hack    libX11 miscompile
                    560:        date    Thu Feb 16 10:00:22 JST 2017
                    561:        who     rin
                    562:        file    src/external/mit/xorg/lib/libX11/Makefile.libx11 : 1.18
                    563:        descr
                    564:                lcWrap.c is miscompiled, which results in input failure via XIM.
1.184     rin       565:                Besides, some clients, e.g., pkgsrc/x11/kterm, receive SIGSEGV.
1.183     rin       566:        kcah
                    567:
1.21      mycroft   568: port   arm
                    569:
                    570:        hack    gcc-unsigned-compare
                    571:        cdate   09 Mar 2002
                    572:        mdate   18 Mar 2002
                    573:        who     bjh21
                    574:        file    dist/bind/lib/nameser/ns_parse.c : 1.3
                    575:        file    dist/dhcp/minires/ns_parse.c : 1.3
                    576:        file    dist/dhcp/omapip/result.c : 1.2
                    577:        file    dist/dhcp/server/failover.c : 1.3
                    578:        file    gnu/dist/toolchain/bfd/bfd.c : 1.2
                    579:        file    gnu/dist/toolchain/bfd/format.c : 1.2
                    580:        file    gnu/dist/toolchain/gdb/target.c : 1.2
                    581:        file    sys/kern/vfs_subr.c : 1.172
                    582:        descr   When checking that a potentially-unsigned enum is >= 0, assign
                    583:                it to an int first.  This is necessary to avoid "comparison is
                    584:                always true" warnings with -fshort-enums.  Casting to an int
                    585:                really should be enough, but turns out not to be.
                    586:        kcah
                    587:
1.122     tsutsui   588:        hack    gcc-4.5 arm CNAME hostname lookup failure on
                    589:                certain DNS environment (probably -ftree-ter problem)
                    590:        cdate   Sat Dec 24 04:59:00 UTC 2011
                    591:        mdate
                    592:        who     tsutsui
                    593:        file    lib/libc/net/Makefile.inc 1.79
                    594:        descr   Hostname lookup against CNAMEs by some commands fails
                    595:                on certain DNS environments if lib/libc/net/gethnamaddr.c
                    596:                (ping(8) etc) and lib/libc/net/getaddrinfo.c (ftp(1) etc)
                    597:                are compiled with -O2, even though nslookup(1) against
                    598:                the same CNAME returns proper hostname.
                    599:                They works properly if compiled with -O2 -fno-tree-ter.
                    600:                Also -O2 fails but -O2 -fno-tree-ter works on the following
                    601:                test case in gcc bugzilla:
                    602:                http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48863#c4
                    603:        kcah
                    604:
1.21      mycroft   605: port   sh3
                    606:
1.74      mrg       607:        hack    gcc4-sh3-bz2
1.103     tsutsui   608:        cdate   Sun May 21 03:34:57 UTC 2006
                    609:        mdate   Fri May 16 13:13:00 UTC 2008
                    610:        who     mrg, tsutsui
1.74      mrg       611:        file    lib/libbz2/Makefile     : 1.10
                    612:        descr
                    613:                The in-tree GCC 4.1-based compiler generated too-far
1.103     tsutsui   614:                pc-relative addresses.  Hack is to build with
                    615:                -fno-loop-optimize.
1.74      mrg       616:        kcah
                    617:
1.96      mrg       618: port   m68000
1.79      mrg       619:
1.96      mrg       620:        hack    gcc4-m68000
1.102     tsutsui   621:        cdate   Fri Feb  8 10:29:37 PST 2008
                    622:        mdate   Sun May  4 15:37:19 UTC 2008
1.99      tsutsui   623:        who     mrg, tsutsui
1.96      mrg       624:        file    rescue/Makefile : 1.21
1.99      tsutsui   625:        file    sbin/dump_lfs/Makefile  : 1.9
1.101     tsutsui   626:        file    sbin/fsck_ffs/Makefile  : 1.35
                    627:        file    sbin/fsdb/Makefile      : 1.22
                    628:        file    share/mk/sys.mk : 1.96
1.99      tsutsui   629:        file    usr.sbin/ndbootd/Makefile       : 1.5
1.95      mrg       630:        descr
1.101     tsutsui   631:                Several internal compiler errors with gcc -O1
                    632:                around 64bit integer arithmetic.
1.99      tsutsui   633:                This hack uses -O1 and adds some -fno-tree-foo options
                    634:                to avoid the problem.
1.101     tsutsui   635:                This might be related with GCC Bugzilla Bug 32424.
1.95      mrg       636:        kcah
                    637:
1.141     christos  638: port   m68k,sh3,vax
1.135     christos  639:
                    640:        hack    gcc-4.8.1
                    641:        cdate   Wed Nov  6 20:41:35 EST 2013
                    642:        who     christos
1.141     christos  643:        file    src/external/gpl3/gcc/libstdc++-v3/Makefile : 1.6
1.135     christos  644:        descr
                    645:                compile hashtable_c++0x.cc with -O2 instead of -Os to
                    646:                produce missing instantiation of std::lower_bound expansion
                    647:                for unsigned long.
                    648:        kcah
1.22      mrg       649:
1.116     mrg       650: port   sparc
                    651:
                    652:        hack    avoid NULL pointer derefs in savefpstate IPIs and GCC 4.5.3
                    653:        cdate   Sun Aug 14 19:26:48 PDT 2011
                    654:        who     mrg
                    655:        file    sys/arch/sparc64/sparc/cpu.c : 1.234
                    656:        file    sys/arch/sparc64/sparc/cpuvar.h : 1.90
                    657:        file    sys/arch/sparc64/sparc/genassym.cf : 1.67
                    658:        file    sys/arch/sparc64/sparc/locore.s : 1.265
                    659:        descr
                    660:                Something is wrong with GCC 4.5.3 and the savefpstate IPI.
                    661:                Post newlock2 there was a bug where a lock was reduced from
                    662:                IPL_SCHED to IPL_VM (?) and occasionally savefpstate IPI
                    663:                would crash due to NULL IPI.  This was fixed by re-using the
                    664:                right IPL value.  However, GCC 4.5.3 build kernels have the
                    665:                same problems.  For now, the hack is re-instated.
                    666:        kcah
                    667:
                    668:
1.51      simonb    669: port   mips
                    670:
                    671:        hack    mips-shared-linker-load-address
                    672:        cdate   Fri Oct  7 08:33:10 UTC 2005
                    673:        who     simonb
                    674:        file    src/sys/kern/exec_elf32.c : 1.107
                    675:        descr
                    676:                With COMPAT_16 or previous enabled (which enables
                    677:                ELF_INTERP_NON_RELOCATABLE) a recent ld.elf_so will
                    678:                load and run at address 0.  The check to fix this in
                    679:                rev 1.107 only checks the first psection of the ELF
                    680:                executable, which may not be loadable.  A more correct
                    681:                fix is to check the first loadable psection instead of
                    682:                just the first psection.
                    683:        kcah
1.54      he        684:
1.85      martin    685:        hack    mips-duplicate-ras-end-label
                    686:        cdate   Sat Sep  2 23:29:42 2006
                    687:        who     martin
1.92      chs       688:        file    src/regress/sys/kern/ras/ras3/Makefile : 1.3
1.85      martin    689:        descr
                    690:                Add -fno-reorder-blocks to CFLAGS to avoid duplicate
                    691:                labels by duplicated __asm output from RAS_END()
                    692:                macro.
                    693:        kcah
                    694:
1.106     lukem     695:        hack    mips-mcount-assembler-warning
                    696:        cdate   Tue Jul 29 14:16:52 UTC 2008
                    697:        who     lukem
                    698:        file    src/lib/libc/gmon/Makefile.inc : 1.8
                    699:        descr
                    700:                Workaround for PR port-mips/39192.
                    701:                common/lib/libc/gmon/mcount.c generates a (fatal)
                    702:                assembler warning on MIPS:
                    703:                        Warning: No .cprestore pseudo-op used in PIC code
                    704:                Add COPTS.count.c+=-Wa,--no-warn to avoid -Wa,--fatal-warnings
                    705:        kcah
                    706:
1.82      christos  707: port   i386
                    708:
1.84      drochner  709:        hack    use volatile intermediate variable to enforce rounding
                    710:        cdate   Tue Aug  1 22:15:55 MEST 2006
                    711:        who     drochner
                    712:        file    src/lib/libm/src/lrintf.c : 1.4
                    713:        file    src/lib/libm/src/s_rintf.c : 1.8
                    714:        descr
                    715:                gcc-4 does subsequent operations on "float" values within
                    716:                the i387 FPU without rounding the intermediate results
                    717:        kcah
1.110     macallan  718:
1.148     christos  719: port   x86
                    720:        hack    turn off optimization for biosdisk_ll.c because otherwise
                    721:                we are pass the wrong arguments to biosdisk_read().
                    722:                $ cd /usr/src/sys/arch/i386/floppies/bootflopp-com
                    723:                $ qemu-system-i386 -nographic -fda boot-com1.fs -boot a
1.203     rin       724:        cdate   Mon Apr 7 21:09:55 2014 UTC
1.148     christos  725:        who     christos
                    726:        file    src/sys/arch/i386/stand/lib/Makefile : 1.38
                    727:        descr
                    728:                Turning on DISK_DEBUG shows the problem. We should find
                    729:                out which option is causing this.
                    730:        hcah
                    731:
1.110     macallan  732: port   powerpc
                    733:
                    734:        hack    avoid using __builtin_return_address(0) because it fails in
                    735:                Xorg's module loader
                    736:        cdate   Sat Sep 27 03:52:05 UTC 2008
                    737:        who     macallan
                    738:        file    src/libexec/ld.elf_so/rtld.c : 1.121
                    739:        descr
                    740:                workaround for PR port-macppc/37812
                    741:        kcah
                    742:
1.115     matt      743:        hack    define TARGET_SECURE_PLT and HAVE_AS_TLS because when
                    744:                building the native compiler via build.sh those don't defined
                    745:                properly.
                    746:        cdate   Sat Mar 12 08:00:00 UTC 2011
                    747:        who     matt
1.203     rin       748:        file    src/gnu/dist/gcc4/gcc/config/rs6000/netbsd.h : 1.7
1.115     matt      749:        descr
                    750:                see above
                    751:        kcah
1.117     christos  752:
                    753: port   powerpc64
                    754:
                    755:        hack    include _errno.c in libposix so that __errno resolves. It
                    756:                should resolve from libc's errno, but somehow it does not.
                    757:                Linker bug?
                    758:        cdate   Thu Oct 27 13:19:47 EDT 2011
                    759:        who     christos
                    760:        file    src/lib/libposix/Makefile: 1.15
1.118     christos  761:        file    src/lib/librt/Makefile: 1.14
1.117     christos  762:        descr
                    763:                workaround for:
                    764:                    libposix_pic.a(cerror.pico)(.text+0x14): unresolvable \
                    765:                    R_PPC64_REL24 relocation against symbol `.__errno'
                    766:        kcah
1.119     christos  767:
                    768:        hack    rename data() function in mdocml to avoid redefined error.
                    769:                Compiler/Assembler bug?
                    770:        cdate   Sat Oct 29 11:16:01 EDT 2011
                    771:        who     christos
                    772:        file    src/external/bsd/mdocml/tbl_data.c: 1.2
                    773:        descr
                    774:                workaround for:
                    775:                    {standard input}: Assembler messages:
                    776:                    {standard input}:105: Error: symbol `.data' is already \
                    777:                    defined
                    778:        kcah
1.120     christos  779:
                    780: port   emips
                    781:
                    782:        hack    Add nop between ctc1 and mtc0 to avoid assembler internal
                    783:                error
                    784:        cdate   Sat Oct 29 16:57:34 EDT 2011
                    785:        who     christos
                    786:        file    src/sys/arch/mips/mips/mips_fpu.c: 1.7
                    787:        descr
                    788:                workaround for:
                    789:                    {standard input}: Assembler messages:
                    790:                    {standard input}:730: Internal error!
                    791:                    Assertion failure in append_insn at /usr/src/external/gpl3/\
                    792:                    binutils/dist/gas/config/tc-mips.c line 2910.
                    793:        kcah
1.125     martin    794:
                    795: port   ia64
                    796:
1.157     martin    797:        hack    libgcc unwind dummy function
                    798:        cdate   Fri Apr 17 14:31:03 CEST 2015
                    799:        who     martin
                    800:        file    src/external/gpl3/gcc/dist/libgcc/config/ia64/unwind-ia64.c: 1.4
                    801:        descr
                    802:                Add an empty _Unwind_FindTableEntry() implementation.
                    803:                In the end we will use our libc stuff, and this should
                    804:                go away again.
                    805:        kcah
                    806:
1.128     christos  807: port   x68k
1.127     martin    808:
1.128     christos  809:        hack    compiler error with gcc 4.5.x
                    810:        cdate   Fri May 24 13:23:01 EDT 2013
                    811:        who     christos
                    812:        file    src/external/gpl3/gcc/usr.bin/bakend/Makefile: 1.17
                    813:                xsrc/external/mit/xorg/lib/libGLU/Makefile: 1.11
                    814:        descr
                    815:                workaround for:
                    816:                internal compiler error: in cselib_record_set, at cselib.c:1999
                    817:        kcah
1.130     joerg     818:
                    819: hack   fallback to /usr/bin/clang-cpp in rpcgen
                    820: cdate  Wed Jun  5 15:49:27 CEST 2013
                    821: who    joerg
1.203     rin       822: file   src/usr.bin/rpcgen/rpc_main.c : 1.35
1.130     joerg     823: descr
1.136     joerg     824:        It is undecided which compiler owns /usr/bin/cpp and whether it should
1.130     joerg     825:        exist in a MKGCC=no world. To allow rpcgen to work out-of-the-box,
                    826:        if either gcc or clang is installed, use /usr/bin/clang-cpp as fallback.
                    827:        This applies only if RPCGEN_CPP is not set and /usr/bin/cpp is not executable.
                    828: kcah
1.131     skrll     829:
1.155     skrll     830: port   hppa
1.131     skrll     831:
                    832:        hack    compiler error with gcc 4.5.x
                    833:        cdate   Tue Jul 23 07:42:28 BST 2013
                    834:        who     skrll
1.133     skrll     835:        file    src/sys/lib/libkern/Makefile.libkern: 1.26
                    836:        descr
                    837:                workaround for unanalysed codegen bug affecting md5c.c.
                    838:        kcah
1.149     macallan  839:
1.155     skrll     840:        hack    gdb vs _rtld_debug_state problem
                    841:        cdate   Thu Mar  5 09:49:53 UTC 2015
                    842:        who     skrll
                    843:        file    src/libexec/ld.elf_so/rtld.c: 1.175
                    844:        descr
                    845:                workaround for problem where gdb misses the breakpoint on
                    846:                _rtld_debug_state when the function is only the
                    847:                bv,n %r0(%rp) instruction - the nullify seems to
                    848:                confuse something
                    849:        kcah
                    850:
1.149     macallan  851: port   mips64*
                    852: hack   compiler crashes on mips64* with optimization enabled
                    853: cdate  Tue May 13 18:46:48 UTC 2014
                    854: who    macallan
                    855: file   src/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/Makefile.inc: 1.6
                    856:        src/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/config.h: 1.5
                    857:        src/external/lgpl3/gmp/lib/libgmp/arch/mips64el/Makefile.inc: 1.6
                    858:        src/external/lgpl3/gmp/lib/libgmp/arch/mips64el/config.h: 1.5
                    859: descr  workaround for n32 gcc doing unaligned 64bit accesses when optimizing
                    860: pr     48696
                    861: kcah
1.150     martin    862:
                    863: port   vax
                    864: hack   compile boot with -O1
                    865: cdate  Sat May 24 09:40:58 CEST 2014
                    866: who    martin
                    867: file   src/sys/arch/vax/boot/boot/Makefile: 1.41
                    868: descr  /boot does not work when compiled with -O2 and gcc 4.8
                    869: kcah
                    870:
1.191     christos  871: port   vax
                    872: hack   compile nir.c in gallium with -O1
                    873: cdate  Mon Oct 28 14:39:35 EDT 2019
                    874: who    christos
                    875: file   /cvsroot/src/external/mit/xorg/lib/gallium/Makefile 1.36
                    876: descr  gallium does not compile.
                    877: kcah
                    878:
1.193     christos  879: port   sh3
                    880: hack   compile parse.c in battlestar with -Wno-restrict
                    881: cdate  Mon Oct 28 14:39:35 EDT 2019
                    882: who    christos
                    883: file   /cvsroot/src/games/battlestar/Makefile 1.11
                    884: descr  fails to compile, confused by char words[][];
                    885:        strcpy(words[n - 1], words[n + 1]);
                    886: kcah
                    887:
1.194     christos  888: port   sh3
                    889: hack   compile ddns.c in dhcpcd with no-stringop-overflow
                    890: cdate  Tue Oct 29 20:25:59 EDT 2019
                    891: who    christos
                    892: file   /cvsroot/src/external/mpl/dhcp/bin/server/Makefile 1.2
                    893: descr  fails to compile, confused by builtin_object_size in strcat(p, ".in..")
                    894: kcah
                    895:
1.156     matt      896: port   arm
                    897: hack   avoid using labels in a 12-bit constant.
1.203     rin       898: cdate  Mon Mar 30 05:26:47 2015 UTC
1.156     matt      899: who    matt
                    900: file   crypto/external/bsd/openssl/lib/libcrypto/arch/arm/aes-armv4.S: 1.2
                    901: descr  workaround for clang misassembling an instruction
                    902: kcah
1.177     christos  903:
                    904: port   sparc64
                    905: hack   during profiling with -m32 (and ASLR) labels are not generated
                    906:        consistently
1.203     rin       907: cdate  Sat Feb 11 04:56:37 2017 UTC
1.177     christos  908: who    christos
                    909: file   /cvsroot/src/crypto/external/bsd/heimdal/lib/libasn1/Makefile: 1.4
                    910: desc   asn1_krb5_asn1.po does not produce the same results during successive
                    911:        compilation runs; it is bimodal. Turning optimization to -O0 fixes
                    912:        the issue
                    913: kcah
1.187     scole     914:
                    915: port   ia64
                    916: hack   ski emulator crashes
1.203     rin       917: cdate  Sat Apr 8 18:10:43 2017 UTC
1.187     scole     918: who    scole
                    919: file   /cvsroot/src/sys/external/bsd/acpica/dist/tables/tbxfload.c: 1.6
                    920: desc
                    921:        ski emulator crashes during acpi detection.  Added a check for
                    922:        uninitialized index.  Submitted a request for change with upstream
                    923:        mailing list, but never got a response
                    924: kcah
1.189     christos  925:
                    926: port   vax
                    927: hack   compile rtld.c with -O0
                    928: cdate  Wed Apr  3 17:38:38 EDT 2019
                    929: who    christos
                    930: file   src/libexec/ld.elf_so/Makefile: 1.141
                    931: descr  Disable optimization for rtld.c on the vax with gcc-7. Crashes on the
                    932:        second pass loop with elm == 0xffffffff
                    933: kcah
1.195     rin       934:
                    935: port   alpha
1.196     rin       936: hack   GCC 7.4/8.3: userland binaries crash randomly (port-alpha/54307)
1.195     rin       937: cdate  Fri Nov  1 20:43:35 UTC 2019
                    938: who    rin
                    939: file   src/external/bsd/jemalloc/lib/Makefile.inc: 1.11
                    940: descr  rtree.c and tcache.c need to be compiled with -O0, alternatively,
                    941:        you can compile whole jemalloc with -DJEMALLOC_DEBUG.
                    942: kcah
1.197     christos  943:
                    944: port   powerpc
1.199     christos  945: hack   compile tc.c, logerr.c, ubsan.c with -O0 for clang
1.197     christos  946: cdate  Wed Jan 29 17:40:19 EST 2020
                    947: who    christos
                    948: file   src/external/bsd/atf/lib/libatf-c/Makefile: 1.22
1.198     christos  949: file   src/external/bsd/dhcpcd/sbin/dhcpcd/Makefile: 1.49
1.199     christos  950: file   src/tests/lib/libc/misc/Makefile: 1.5
                    951:
                    952: descr  Disable optimization on tc.c, logerr.c, ubsan.c crashes:
1.197     christos  953:        lib/libLLVMCodeGen/../../llvm/../../external/apache2/llvm/lib/..\
                    954:        /dist/llvm/include/llvm/CodeGen/MachineFrameInfo.h", line 495, \
                    955:        function "__int64_t llvm::MachineFrameInfo::getObjectOffset(int) const"
                    956: kcah
1.202     rin       957:
                    958: port   earmv7hf*
                    959: hack   compile gdb/dwarf2expr.c with -O0 for GCC8 (toolchain/54820 and 54877)
                    960: cdate  Wed Apr 29 11:04:58 UTC 2020
                    961: who    rin
                    962: file   src/external/gpl3/gdb/lib/libgdb/Makefile: 1.22
                    963: descr  GCC 8.4 miscompiles dwarf2expr.c with -O2 or -O1, which results in
                    964:        crashes with 'gdb_exception_RETURN_MASK_ERROR'. Note that this occurs
                    965:        only for earmv7hf{,eb} as far as I can see. Neither earmv6hf{,eb} nor
                    966:        earmv7{,eb} (softfloat) are affected.
                    967: kcah

CVSweb <webmaster@jp.NetBSD.org>