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

Annotation of src/doc/HACKS, Revision 1.176

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

CVSweb <webmaster@jp.NetBSD.org>