HACKS revision 1.178
11.178Srin# $NetBSD: HACKS,v 1.178 2017/02/13 22:31:09 rin Exp $ 21.1Slukem# 31.1Slukem# This file is intended to document workarounds for currently unsolved 41.1Slukem# (mostly) compiler bugs. 51.1Slukem# 61.1Slukem# Format: 71.1Slukem# hack title 81.1Slukem# cdate creation date 91.1Slukem# mdate mod date 101.1Slukem# who responsible developer 111.1Slukem# port ... 121.1Slukem# affected ports, space separated, if not "all" 131.1Slukem# file affected file : revision : line from : line to 141.1Slukem# affected files and revision and line numbers describing hack 151.1Slukem# multiple lines if necessary. 161.1Slukem# pr NNNN ... 171.1Slukem# problem reports this hack works around, if known. Space 181.1Slukem# separated. 191.1Slukem# regress src/regress/directory/where/test/found 201.1Slukem# regression test directories, if available. 211.1Slukem# descr 221.1Slukem# insert short informal description (multi-line). (Longer ones 231.1Slukem# should be in the PR database. More formal descriptions might 241.1Slukem# be in the regress tree. See above). 251.1Slukem# kcah 261.1Slukem# closing bracket. 271.1Slukem# 281.1Slukem# this is a comment. 291.1Slukem 301.166Schristoshack gcc-5.3 optimizes memset+malloc -> calloc inside calloc 311.166Schristosmdate 4 May 2016 321.166Schristoswho christos 331.166Schristosfile external/gpl2/lib/libmalloc/lib/Makefile 1.3 -> 1.5 341.166Schristosdescr 351.166Schristos resulting in infinite recursion; we prevent this with 361.166Schristos -fno-builtin-malloc 371.166Schristoskcah 381.166Schristos 391.167Smrghack turn off tree-vrp for parts of ufs_lookup.c 401.167Smrgmdate 28 April 2016 411.167Smrgwho mrg christos 421.167Smrgfile src/sys/ufs/ufs/ufs_lookup.c : 1.144 431.167Smrgpr 51094 441.167Smrgdescr 451.167Smrg with -ftree-vrp enabled in ufs_lookup.c sometimes bad dir 461.167Smrg panicks are see. 471.167Smrghcah 481.167Smrg 491.1Slukemhack netstat ieee1394 address printing. 501.1Slukemmdate 14 Nov 2000 511.1Slukemwho matt 521.1Slukemfile lib/libc/net/getnameinfo.c : 1.32 : 497 : 503 531.1Slukemdescr 541.1Slukem Because the current implementation of IP over IEEE1394, the 551.1Slukem fw device address contains more than just the IEEE1394 EUI-64. 561.1Slukem So when printing out IEEE1394 addresses, ignore the extra stuff. 571.1Slukemkcah 581.1Slukem 591.1Slukemhack xterm vs. libterm 601.1Slukemmdate 01 Aug 2000 611.1Slukemwho jdc 621.1Slukemfile xsrc/xc/programs/xterm/main.c : 1.2 : 3609 : 3614 631.1Slukempr 10383 641.1Slukemdescr 651.1Slukem In order to extend the termcap string over 1023 bytes, a ZZ entry was 661.1Slukem introduced to point to a memory location containing the full entry. 671.1Slukem Without this hack, xterm will export a termcap containing the ZZ 681.1Slukem entry, which will then be ignored by libterm. As xterm modifies the 691.1Slukem exported termcap, this would cause those modifications to be ignored. 701.1Slukemkcah 711.1Slukem 721.1Slukemhack wi-at-big-endian-bus 731.1Slukemcdate 15 Mar 2002 741.1Slukemwho martin 751.1Slukemfile dev/ic/wireg.h 761.1Slukemdescr Add an option to access the underlying bus in big endian byte order 771.1Slukem to work around deficiencies in bus_space_{read,write}_* macros. 781.1Slukem Those don't allow the implementation of a proper pcmcia bus space 791.1Slukem tag. 801.1Slukemkcah 811.1Slukem 821.3Sjdchack specific knowledge of colours in curses code 831.3Sjdccdate Sun Apr 6 11:05:24 BST 2003 841.3Sjdcwho jdc 851.3Sjdcfile lib/libcurses/color.c : r1.24 861.3Sjdcdescr 871.3Sjdc Swap red/blue and yellow/cyan colours for COLOR_OTHER. 881.3Sjdc Fix is to enhance libtermcap to understand terminfo-style % sequences. 891.3Sjdc See also: 901.5Ssalo http://mail-index.NetBSD.org/tech-userlevel/2003/04/06/0000.html 911.4Sscwkcah 921.4Sscw 931.7Shehack Compensation for differing types of LINUX_USRSTACK and USRSTACK 941.7Shecdate 21 Aug 2003 951.7Shewho he 961.7Shefile sys/miscfs/procfs/procfs_linux.c : 1.14 971.7Shedescr 981.7She Not all ports have LINUX_USRSTACK and/or USRSTACK defined as 991.7She literals/constants, but refer to variables of a type which is 1001.7She not "unsigned long", causing compilation of procfs_linux.c to 1011.7She fail with "makes integer from pointer without a cast". This 1021.7She is observed on e.g. the sun3 port. Ideally the "types" for 1031.7She symbols should be consistent across all ports. 1041.25Smrgkcah 1051.25Smrg 1061.80Stsutsuihack gcc4 wrong uninitialized variable 1071.58Smrgmdate 10 May 2006 1081.58Smrgwho mrg 1091.58Smrgfile bin/ksh/eval.c : 1.6 1101.58Smrgfile bin/sh/histedit.c : 1.39 1111.58Smrgfile bin/sh/parser.c : 1.60 1121.58Smrgfile crypto/dist/heimdal/kdc/524.c : 1.10 1131.58Smrgfile crypto/dist/ssh/sftp.c : 1.20 1141.58Smrgfile crypto/dist/ssh/ssh-keysign.c : 1.11 1151.58Smrgfile dist/ipf/lib/hostname.c : 1.2 1161.58Smrgfile dist/ipf/tools/ipmon.c : 1.8 1171.72Smrgfile dist/ntp/ntpd/ntp_request.c : 1.4 1181.58Smrgfile dist/ntp/ntpd/refclock_shm.c : 1.4 1191.58Smrgfile dist/ntp/sntp/timing.c : 1.3 1201.58Smrgfile dist/pppd/pppstats/pppstats.c : 1.3 1211.58Smrgfile dist/smbfs/lib/smb/rap.c : 1.6 1221.58Smrgfile dist/tcpdump/print-zephyr.c : 1.5 1231.68Smrgfile distrib/utils/sysinst/aout2elf.c : 1.12 1241.58Smrgfile gnu/libexec/uucp/uucico/uucico.c : 1.6 1251.58Smrgfile lib/libc/citrus/citrus_csmapper.c : 1.6 1261.58Smrgfile lib/libc/citrus/citrus_pivot_factory.c : 1.5 1271.58Smrgfile lib/libc/inet/inet_cidr_ntop.c : 1.3 1281.58Smrgfile lib/libc/inet/inet_ntop.c : 1.3 1291.58Smrgfile lib/libc/stdio/vfwprintf.c : 1.8 1301.69Smrgfile libexec/ld.elf_so/arch/m68k/mdreloc.c : 1.20 1311.76Smrgfile libexec/ld.elf_so/arch/powerpc/ppc_reloc.c : 1.40 1321.74Smrgfile libexec/ld.elf_so/arch/sh3/mdreloc.c : 1.22 1331.69Smrgfile libexec/ld.elf_so/arch/sparc/mdreloc.c : 1.39 1341.58Smrgfile libexec/ld.elf_so/arch/sparc64/mdreloc.c : 1.39 1351.74Smrgfile libexec/ld.elf_so/arch/vax/mdreloc.c : 1.21 1361.71Sdanfile libexec/ld.elf_so/arch/x86_64/mdreloc.c : 1.27 1371.58Smrgfile sbin/fsck_ext2fs/dir.c : 1.19 1381.58Smrgfile sbin/routed/rtquery/rtquery.c : 1.18 1391.73Sdanfile sys/arch/amd64/amd64/pmap.c : 1.26 1401.79Smrgfile sys/arch/i386/pci/piixpcib.c : 1.4 1411.80Stsutsuifile sys/arch/m68k/m68k/pmap_motorola.c : 1.4 1421.58Smrgfile sys/crypto/cast128/cast128.c : 1.9 1431.58Smrgfile sys/ddb/db_command.c : 1.86 1441.68Smrgfile sys/dev/cardbus/cardbus_map.c : 1.21 1451.58Smrgfile sys/dev/fss.c : 1.25 1461.69Smrgfile sys/dev/ic/igsfb.c : 1.39 1471.68Smrgfile sys/dev/ic/mb86950.c : 1.5 1481.58Smrgfile sys/dev/ic/midway.c : 1.71 1491.68Smrgfile sys/dev/kttcp.c : 1.18 1501.68Smrgfile sys/dev/rasops/rasops_bitops.h : 1.9 1511.68Smrgfile sys/dev/pci/cmpci.c : 1.31 1521.58Smrgfile sys/dev/pci/machfb.c : 1.45 1531.68Smrgfile sys/dev/usb/ohci.c : 1.174 1541.68Smrgfile sys/dev/usb/uhci.c : 1.196 1551.68Smrgfile sys/dev/rasops/rasops_bitops.h : 1.9 1561.58Smrgfile sys/dist/ipf/netinet/ip_nat.c : 1.10 1571.58Smrgfile sys/dist/ipf/netinet/ip_rpcb_pxy.c : 1.8 1581.58Smrgfile sys/dist/pf/net/pf.c : 1.22 1591.59Smrgfile sys/fs/udf/udf_vnops.c : 1.4 1601.58Smrgfile sys/kern/kern_sig.c : 1.219 1611.58Smrgfile sys/kern/tty.c : 1.181 1621.58Smrgfile sys/net/bpf.c : 1.116 1631.58Smrgfile sys/net/zlib.c : 1.26 1641.68Smrgfile sys/netccitt/if_x25subr.c : 1.37 1651.58Smrgfile sys/netinet/in.c : 1.107 1661.58Smrgfile sys/netsmb/smb_smb.c : 1.27 1671.58Smrgfile sys/netsmb/smb_trantcp.c : 1.22 1681.58Smrgfile sys/nfs/nfs_serv.c : 1.108 1691.58Smrgfile sys/nfs/nfs_socket.c : 1.129 1701.58Smrgfile sys/nfs/nfs_syscalls.c : 1.91 1711.58Smrgfile sys/ufs/lfs/lfs_vfsops.c : 1.207 [also (char *)] 1721.58Smrgfile usr.bin/ftp/ftp.c : 1.140 1731.58Smrgfile usr.bin/find/function.c : 1.54 1741.58Smrgfile usr.bin/mail/tty.c : 1.20 1751.100Stsutsuifile usr.bin/msgc/msg_sys.def : 1.33-1.34 1761.58Smrgfile usr.bin/nl/nl.c : 1.7 1771.58Smrgfile usr.bin/systat/keyboard.c : 1.23 1781.58Smrgfile usr.bin/usbhidctl/usbhid.c : 1.29 1791.58Smrgfile usr.bin/vi/cl/cl_read.c : 1.5 1801.58Smrgfile usr.bin/vi/ex/ex_cscope.c : 1.12 1811.58Smrgfile usr.bin/vi/ex/ex_tag.c : 1.19 1821.58Smrgfile usr.bin/vi/vi/v_txt.c : 1.15 1831.58Smrgfile usr.sbin/altq/altqstat/qdisc_rio.c : 1.4 1841.58Smrgfile usr.sbin/cron/do_command.c : 1.19 1851.58Smrgfile usr.sbin/timed/timed/slave.c : 1.15 1861.58Smrgdescr 1871.58Smrg GCC 4.1 gets many uninitialised variable warnings wrong. We should 1881.58Smrg really audit all the old hacks like this when older compilers are 1891.58Smrg removed from the tree, as many are probably no longer required. 1901.65Schristos The problem is that it does not recognize initialization via function 1911.65Schristos call pointer. I.e. 1921.65Schristos int p; 1931.65Schristos foo(&p); 1941.65Schristos does not mark p as initialized. 1951.58Smrgkcah 1961.58Smrg 1971.59Smrghack gcc4 pointer sign and strict aliasing problems 1981.59Smrgmdate 10 May 2006 1991.59Smrgwho mrg 2001.59Smrgfile bin/ed/Makefile : 1.33 2011.68Smrgfile distrib/utils/sysinst/Makefile.inc : 1.44 2021.91Smartinfile distrib/utils/x_dhclient/Makefile : 1.15 2031.60Smrgfile games/bcd/Makefile : 1.5 2041.60Smrgfile games/dab/Makefile : 1.5 2051.60Smrgfile games/larn/Makefile : 1.17 2061.60Smrgfile games/pom/Makefile : 1.5 2071.60Smrgfile lib/libasn1/Makefile : 1.26 2081.60Smrgfile lib/libcrypt/Makefile : 1.17 2091.60Smrgfile lib/libgssapi/Makefile : 1.16 2101.60Smrgfile lib/libhdb/Makefile : 1.20 2111.60Smrgfile lib/libkadm5clnt/Makefile : 1.21 2121.60Smrgfile lib/libkadm5srv/Makefile : 1.25 2131.60Smrgfile lib/libkrb5/Makefile : 1.35 2141.60Smrgfile lib/libssh/Makefile : 1.6 2151.60Smrgfile lib/libtelnet/Makefile : 1.26 2161.60Smrgfile libexec/getty/Makefile : 1.14 2171.60Smrgfile libexec/kadmind/Makefile : 1.19 2181.60Smrgfile libexec/kpasswdd/Makefile : 1.14 2191.60Smrgfile sbin/atactl/Makefile : 1.3 2201.60Smrgfile sbin/cgdconfig/Makefile : 1.7 2211.60Smrgfile sbin/clri/Makefile : 1.13 2221.60Smrgfile sbin/dkctl/Makefile : 1.4 2231.60Smrgfile sbin/dump/Makefile : 1.33 2241.60Smrgfile sbin/fdisk/Makefile : 1.35 2251.60Smrgfile sbin/fsck_ext2fs/Makefile : 1.11 2261.60Smrgfile sbin/fsck_ffs/Makefile : 1.29 2271.60Smrgfile sbin/fsdb/Makefile : 1.18 2281.60Smrgfile sbin/mount_smbfs/Makefile : 1.4 2291.60Smrgfile sbin/newfs/Makefile : 1.30 2301.60Smrgfile sbin/newfs_sysvbfs/Makefile : 1.2 2311.60Smrgfile sbin/restore/Makefile : 1.23 2321.60Smrgfile sbin/veriexecctl/Makefile : 1.11 2331.64Smrgfile sys/lib/libsa/Makefile : 1.59 2341.68Smrgfile sys/arch/evbarm/adi_brh/brh_machdep.c : 1.24 2351.59Smrgfile usr.bin/awk/Makefile : 1.9 2361.64Smrgfile usr.bin/crontab/Makefile : 1.24 2371.60Smrgfile usr.bin/ctags/Makefile : 1.8 2381.61Smrgfile usr.bin/gzip/Makefile : 1.10 2391.60Smrgfile usr.bin/ssh/sftp/Makefile : 1.10 2401.60Smrgfile usr.bin/ssh/ssh/Makefile : 1.25 2411.59Smrgfile usr.bin/vi/build/Makefile : 1.26 2421.60Smrgfile usr.bin/telnet/Makefile : 1.40 2431.60Smrgfile usr.bin/tn3270/tn3270/Makefile : 1.36 2441.60Smrgfile usr.bin/tr/Makefile : 1.4 2451.59Smrgfile usr.sbin/amd/amd/Makefile : 1.27 2461.59Smrgfile usr.sbin/amd/amq/Makefile : 1.14 2471.59Smrgfile usr.sbin/amd/libamu/Makefile : 1.20 2481.59Smrgfile usr.sbin/amd/pawd/Makefile : 1.5 2491.59Smrgfile usr.sbin/bind/Makefile.inc : 1.22 2501.60Smrgfile usr.sbin/bind/libdns/Makefile : 1.3 2511.60Smrgfile usr.sbin/bind/named/Makefile : 1.17 2521.60Smrgfile usr.sbin/bootp/bootptest/Makefile : 1.2 2531.60Smrgfile usr.sbin/chrtbl/Makefile : 1.6 2541.60Smrgfile usr.sbin/cron/Makefile : 1.12 2551.59Smrgfile usr.sbin/dhcp/Makefile.inc : 1.20 2561.60Smrgfile usr.sbin/hprop/Makefile : 1.13 2571.60Smrgfile usr.sbin/installboot/Makefile : 1.35 2581.59Smrgfile usr.sbin/ipf/ipftest/Makefile : 1.32 2591.59Smrgfile usr.sbin/isdn/isdnd/Makefile : 1.6 2601.59Smrgfile usr.sbin/isdn/isdnmonitor/Makefile : 1.3 2611.59Smrgfile usr.sbin/isdn/isdntel/Makefile : 1.2 2621.59Smrgfile usr.sbin/isdn/isdntrace/Makefile : 126 2631.61Smrgfile usr.sbin/mopd/common/Makefile : 1.10 2641.61Smrgfile usr.sbin/mopd/mopd/Makefile : 1.9 2651.61Smrgfile usr.sbin/mopd/mopprobe/Makefile : 1.7 2661.60Smrgfile usr.sbin/makefs/Makefile : 1.17 2671.60Smrgfile usr.sbin/mscdlabel/Makefile : 1.5 2681.60Smrgfile usr.sbin/pkg_install/add/Makefile : 1.7 2691.60Smrgfile usr.sbin/pkg_install/create/Makefile : 1.5 2701.60Smrgfile usr.sbin/pkg_install/lib/Makefile : 1.28 2711.59Smrgfile usr.sbin/ntp/ntpd/Makefile : 1.10/1.11 2721.59Smrgfile usr.sbin/ntp/ntptime/Makefile : 1.4/1.5 2731.59Smrgfile usr.sbin/pppd/Makefile.inc : 1.3 2741.59Smrgfile usr.sbin/pppd/pppd/Makefile : 1.38 2751.60Smrgfile usr.sbin/rarpd/Makefile : 1.10 2761.59Smrgfile usr.sbin/rbootd/Makefile : 1.10 2771.60Smrgfile usr.sbin/rpc.pcnfsd/Makefile : 1.17 2781.60Smrgfile usr.sbin/tcpdump/Makefile : 1.42 2791.59Smrgdescr 2801.59Smrg GCC 4.1 warns on pointer sign comparision/assignments and lots of 2811.59Smrg code does not conform. For now we use -Wno-pointer-sign and 2821.59Smrg -fno-strict-aliasing. 2831.59Smrgkcah 2841.59Smrg 2851.145Schristoshack disable ctf for gcc-4.8 build 2861.145Schristosmdate April 3 2014 2871.146Swizwho christos 2881.145Schristosfile external/gpl3/gcc/usr.bin/Makefile.frontend : 1.4 2891.145Schristosfile external/gpl3/gcc/usr.bin/Makefile.backend : 1.5 2901.145Schristosdescr 2911.145Schristos nbctfconvert -g -L VERSION -g fold-const.o 2921.145Schristos ERROR: fold-const.c: failed to get mapping for tid 79154 \ 2931.145Schristos ((null)) <13532> 2941.145Schristoskcak 2951.145Schristos 2961.121Schristoshack emacs aborting on exit (libgcc issue) 2971.121Schristosmdate 7 November 2011 2981.121Schristoswho christos 2991.121Schristosfile external/gpl3/gcc/dist/gcc/unwind-dw2-fde.c : 1.2 3001.121Schristosdescr 3011.121Schristos GCC 4.5.3 now calls __unregister_frame_info_bases() on unloading/exit 3021.121Schristos to do just that. If the symbol requested is not found, then it aborts. 3031.121Schristos emacs 23.3 triggers this assertion. For now disable aborting, and 3041.121Schristos silently ignore. 3051.121Schristoskcah 3061.121Schristos 3071.105Sagchack cross-building hack on Darwin 3081.105Sagcmdate 20 July 2008 3091.105Sagcwho agc 3101.105Sagcfile src/distrib/common/Makefile.mdset : 1.33 3111.105Sagcdescr 3121.105Sagc Darwin has problems with getopt() when used in mdsetimage -v, 3131.105Sagc due to the difference between BSD and libiberty() getopt 3141.105Sagc implementations, more fully described in 3151.105Sagc http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html 3161.105Sagc and the subsequent thread. For just now, we just have an ugly 3171.105Sagc workaround not to call mdsetimage with the -v argument on Darwin 3181.105Sagckcah 3191.105Sagc 3201.109Sveegohack avoid rebuilding asn1 libraries 3211.109Sveegomdate 03 August 2008 3221.109Sveegowho veego 3231.109Sveegofile src/crypto/dist/heimdal/lib/asn1/gen.c : 1.10 3241.109Sveegofile src/lib/libasn1/Makefile : 1.32 3251.109Sveegofile src/lib/libhdb/Makefile : 1.23 3261.109Sveegofile src/lib/libgssapi/Makefile : 1.20 3271.109Sveegofile src/lib/libhx509/Makefile : 1.3 3281.109Sveegopr 9702 39185 3291.109Sveegodescr 3301.109Sveego asn1_compile does not check if generated header files do not have to 3311.109Sveego be rebuild. 3321.109Sveego Generate .hx files and copy it in the Makefiles if they changed. 3331.109Sveegokcah 3341.109Sveego 3351.114Schristoshack MKPIE ldscript for /usr.sbin/crash 3361.114Schristoscdate 22 April 2010 3371.114Schristoswho christos 3381.114Schristosfile src/usr.sbin/crash/Makefile : 1.5 3391.114Schristosfile src/usr.sbin/crash/ldscript.crash : 1.1 3401.114Schristospr N/A 3411.114Schristosdescr 3421.114Schristos fixed in binutils-2.20.1. Linking with MKPIE=yes causes overlapping 3431.114Schristos sections 3441.114Schristoskcah 3451.114Schristos 3461.144Stronhack Disable fortification for /usr/bin/makeinfo 3471.144Stroncdata 24 Mar 2014 3481.144Stronwho tron 3491.144Stronfile src/gnu/usr.bin/texinfo/makeinfo/Makefile : 1.8 3501.144Stronpr N/A 3511.144Strondescr 3521.144Stron If "makeinfo" is compiled with "-D_FORTIFY_SOURCE=2" using GCC 4.8.3 3531.144Stron it fails to process certain texinfo files, e.g. "cl.texi" 3541.144Stron included in the Emacs 24.3 distribution. 3551.144Stronkcah 3561.144Stron 3571.147Stronhack Disable Stack Smash Protection for /usr/X11R7/bin/xauth 3581.147Stroncdata 05 Apr 2014 3591.147Stronwho tron 3601.147Stronfile src/external/mit/xorg/bin/xauth/Makefile : 1.4 3611.147Stronpr N/A 3621.147Strondescr 3631.147Stron If "xauth" is compile with "USE_SSP" set to "yes" it fails 3641.147Stron mysteriously with an error message like this: 3651.147Stron 3661.147Stron /usr/X11R7/bin/xauth: file /foo/bar/.Xauthority does not exist 3671.147Stron /usr/X11R7/bin/xauth: unable to link authority file /foo/bar/.Xauthority, use /foo/bar/.Xauthority 3681.147Stron 3691.147Stron The compiler seems to get confused about the two filename variables 3701.147Stron used in the link(2) system call. 3711.147Stronkcah 3721.147Stron 3731.162Spookahack g++ 5.x barfs on volatile in constexpr initializers 3741.162Spookacdata 27 Aug 2015 3751.160Spookawho pooka 3761.162Spookafile src/lib/libpthread/pthread_types.h : 1.17 3771.160Spookapr lib/49989 3781.160Spookadescr 3791.160Spooka Trying to use e.g. pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER 3801.160Spooka in C++ results in: 3811.160Spooka error: temporary of non-literal type '__pthread_mutex_st' 3821.160Spooka in a constant expression 3831.160Spooka constexpr mutex() _NOEXCEPT : __m_(PTHREAD_MUTEX_INITIALIZER) {} 3841.160Spooka [...] 3851.160Spooka include/pthread_types.h:101:8: note: '__pthread_mutex_st' is 3861.160Spooka not literal because: 3871.160Spooka struct __pthread_mutex_st { 3881.160Spooka ^ 3891.160Spooka include/pthread_types.h:103:17: note: non-static data 3901.160Spooka member '__pthread_mutex_st::ptm_errorcheck' has volatile type 3911.160Spooka pthread_spin_t ptm_errorcheck; 3921.160Spookakcah 3931.160Spooka 3941.163Schristoshack libm cabs{,f,l} and g++ 3951.163Schristoscdata 11 Jan 2016 3961.163Schristoswho christos 3971.163Schristospr lib/50646 3981.163Schristosfile src/external/gpl3/gcc.old/dist/libstdc++-v3/include/std/complex : 1.2 3991.163Schristosfile src/external/gpl3/gcc/dist/libstdc++-v3/include/std/complex : 1.2 4001.163Schristosdescr 4011.163Schristos Our cabs and cabsf have a different argument format on some architectures 4021.163Schristos and for that we have created in libm/compat_cabs{,f}.c. The standard 4031.163Schristos versions in libc are __c99_cabs{,f,l} and there are __RENAME()'s in 4041.163Schristos <complex.h>. G++ uses __builtin_cabs{,f,l} to implement those and they 4051.163Schristos translate by default to cabs{,f,l} which gets defined to cabs{,f} (the 4061.163Schristos wrong function) and an undefined cabsl. I've changed <complex> to use 4071.163Schristos the __c99_cabs{,f,l} directly. Using the __builtin_cabs{,f,l} in gcc is 4081.163Schristos still broken. 4091.163Schristoskcah 4101.163Schristos 4111.21Smycroftport vax 4121.21Smycroft 4131.102Stsutsui hack gcc4/vax ICE 4141.102Stsutsui cdate 4151.102Stsutsui who tsutsui 4161.102Stsutsui file sys/arch/vax/conf/Makefile.vax 4171.102Stsutsui descr 4181.102Stsutsui GCC4 on vax gets ICE on compiling sys/ddb/db_command.c. 4191.102Stsutsui -fno-tree-ter prevents it so add it to COPTS. 4201.102Stsutsui kcah 4211.102Stsutsui 4221.81Smrg hack gcc4/vax compiler crash 4231.81Smrg cdate Fri Jun 30 22:39:12 PDT 2006 4241.81Smrg who mrg 4251.81Smrg file bin/csh/Makefile : 1.27 4261.81Smrg file lib/i18n_module/UTF7/Makefile : 1.2 4271.81Smrg descr 4281.81Smrg GCC4 on vax crashes. -O0 stops it happening so far... 4291.81Smrg kcah 4301.81Smrg 4311.54She hack declare boolean_t in two IPF user-mode programs 4321.54She cdate Tue Mar 7 19:19:20 CET 2006 4331.54She who he 4341.54She file dist/ipf/ipsend/iptests.c : 1.8 4351.54She dist/ipf/ipsend/sock.c : 1.7 4361.54She descr 4371.54She The IPF user-mode programs ipsend and iptest first 4381.54She include <sys/types.h> without _KERNEL defined, and 4391.54She later include <sys/file.h> with _KERNEL defined. 4401.54She This causes a build failure when building for vax, 4411.54She since <sys/device.h> ends up being included without 4421.54She bollean_t being defined by <sys/types.h>. 4431.54She Build failure and further details documented in 4441.54She PR#32907. 4451.54She kcah 4461.54She 4471.104Sgmcgarry hack pcc 0.9.9 large string literals 4481.104Sgmcgarry cdat 8 July 2008 4491.104Sgmcgarry who gmcgarry 4501.104Sgmcgarry file sys/conf/param.c : 1.58 4511.104Sgmcgarry descr 4521.104Sgmcgarry Workaround for pcc 0.9.9 not handling large string literals 4531.104Sgmcgarry which causes kernels with 'options INCLUDE_CONFIG_FILE' to 4541.104Sgmcgarry fail compilation. 4551.104Sgmcgarry There is a proposal on the pcc mailing list to stuff config 4561.104Sgmcgarry file in ELF section. 4571.104Sgmcgarry kcah 4581.104Sgmcgarry 4591.107Smrg hack xorg warnings 4601.129Schristos cdat 30 July 2008, 3 June, 2013 4611.107Smrg who mrg 4621.108Smrg file external/mit/xorg/lib/libSM/Makefile : 1.2 4631.129Schristos external/mit/xorg/lib/libX11/Makefile.libx11 : 1.10 4641.107Smrg external/mit/xorg/lib/libXext/Makefile : 1.2 4651.107Smrg external/mit/xorg/lib/libXfont/Makefile : 1.2 4661.107Smrg descr 4671.107Smrg Disable several warnings or use -Wno-error across Xorg sources 4681.107Smrg while we get them working 4691.107Smrg kcah 4701.107Smrg 4711.112Schristos hack 32 bit time leftovers 4721.112Schristos cdat 11 January 2009 4731.112Schristos who christos 4741.112Schristos file lib/libc/time/localtime.c : 1.41 4751.112Schristos lib/libc/time/zic.c : 1.23 4761.112Schristos descr 4771.112Schristos The timezone compiled files still contain 32 bit time_t 4781.112Schristos quantities. I did not want to version the files because 4791.112Schristos the ``parser'' is too ugly for words. What needs to be 4801.112Schristos done, is to rewrite the parser from scratch also to avoid 4811.112Schristos potential core-dumps from parsing invalid files. 4821.112Schristos kcah 4831.112Schristos 4841.112Schristos hack 32 bit time leftovers 4851.112Schristos cdat 11 January 2009 4861.112Schristos who christos 4871.112Schristos file various 4881.112Schristos descr 4891.113Ssketch Many filesystem on-disk formats have 32 bit times. 4901.112Schristos kcah 4911.112Schristos 4921.141Schristos hack gcc 4.5 fsdb miscompile 4931.140Schristos date Sat Nov 9 11:03:02 EST 2013 4941.140Schristos who christos 4951.141Schristos file src/sbin/fsdb/Makefile : 1.36 (and earlier) 4961.140Schristos descr 4971.140Schristos src/sbin/fsdb/fsdb.c: In function 'findblk': 4981.140Schristos src/sbin/fsdb/fsdb.c:610:1: error: unrecognizable insn: 4991.140Schristos (insn 941 940 942 134 src/sbin/fsdb/fsdb.c:589 (set (reg:SI 604) 5001.140Schristos (subreg:SI (mem/s/j:DI (plus:SI (mult:SI (reg:SI 602) 5011.140Schristos (const_int 8 [0x8])) 5021.140Schristos (reg/f:SI 601)) [0 curinode.99_378->dp2.di_ib S8 A32]) 4)) \ 5031.140Schristos -1 (nil)) 5041.140Schristos src/sbin/fsdb/fsdb.c:610:1: internal compiler error: in \ 5051.140Schristos extract_insn, at recog.c:2103 5061.140Schristos kcah 5071.140Schristos 5081.141Schristos hack gcc 4.8 gcc miscompiles 5091.141Schristos date Sat Nov 9 16:35:18 EST 2013 5101.141Schristos who christos 5111.141Schristos file distrib/utils/x_ping/Makefile 5121.141Schristos file distrib/vax/miniroot/Makefile.inc 5131.141Schristos file distrib/vax/ramdisk/Makefile 5141.141Schristos file external/gpl3/gdb/lib/libdecnumber/Makefile 5151.141Schristos file sbin/fsdb/Makefile 5161.141Schristos file sbin/newfs_ext2fs/Makefile 5171.141Schristos file sbin/ping/Makefile 5181.141Schristos file usr.sbin/lmcconfig/Makefile 5191.141Schristos file usr.sbin/mtrace/Makefile 5201.141Schristos descr 5211.141Schristos external/gpl3/gcc/dist/gcc/expmed.c:2781:1: 5221.141Schristos internal compiler error: in change_address_1, at emit-rtl.c:2019 5231.141Schristos external/gpl3/gcc/dist/gcc/recog.c:770:1: 5241.141Schristos internal compiler error: in change_address_1, at emit-rtl.c:2019 5251.141Schristos external/gpl3/gcc/dist/libdecnumber/decNumber.c:7214:3: 5261.141Schristos internal compiler error: in change_address_1, at emit-rtl.c:2019 5271.141Schristos sbin/ping/ping.c:679:1: 5281.141Schristos internal compiler error: in change_address_1, at emit-rtl.c:2019 5291.141Schristos sbin/newfs_ext2fs/mke2fs.c:681:1: 5301.141Schristos internal compiler error: in reload_combine_note_use, 5311.141Schristos at postreload.c:1561 5321.141Schristos external/gpl3/gdb/dist/libdecnumber/decNumber.c:7214:3: 5331.141Schristos internal compiler error: in change_address_1, at emit-rtl.c:2019 5341.141Schristos usr.sbin/lmcconfig/lmcconfig.c:939:3: 5351.141Schristos internal compiler error: in reload_combine_note_use, 5361.141Schristos at postreload.c:1561 5371.141Schristos usr.sbin/mtrace/mtrace.c:1655:1: 5381.141Schristos internal compiler error: in change_address_1, at emit-rtl.c:2019 5391.141Schristos kcah 5401.141Schristos 5411.178Srin hack gcc 5.4 cc1 miscompile 5421.178Srin date Tue Feb 14 07:19:57 JST 2017 5431.178Srin who rin 5441.178Srin pr port-vax/51967 5451.178Srin file external/gpl3/gcc/usr.bin/backend/Makefile : 1.35 5461.178Srin descr 5471.178Srin cc1 aborts due to SIGILL when compiling the sample code attached 5481.178Srin to the PR. As a workaround, compile dse.c with -O0. 5491.178Srin kcah 5501.178Srin 5511.21Smycroftport arm 5521.21Smycroft 5531.21Smycroft hack gcc-unsigned-compare 5541.21Smycroft cdate 09 Mar 2002 5551.21Smycroft mdate 18 Mar 2002 5561.21Smycroft who bjh21 5571.21Smycroft file dist/bind/lib/nameser/ns_parse.c : 1.3 5581.21Smycroft file dist/dhcp/minires/ns_parse.c : 1.3 5591.21Smycroft file dist/dhcp/omapip/result.c : 1.2 5601.21Smycroft file dist/dhcp/server/failover.c : 1.3 5611.21Smycroft file gnu/dist/toolchain/bfd/bfd.c : 1.2 5621.21Smycroft file gnu/dist/toolchain/bfd/format.c : 1.2 5631.21Smycroft file gnu/dist/toolchain/gdb/target.c : 1.2 5641.21Smycroft file sys/kern/vfs_subr.c : 1.172 5651.21Smycroft descr When checking that a potentially-unsigned enum is >= 0, assign 5661.21Smycroft it to an int first. This is necessary to avoid "comparison is 5671.21Smycroft always true" warnings with -fshort-enums. Casting to an int 5681.21Smycroft really should be enough, but turns out not to be. 5691.21Smycroft kcah 5701.21Smycroft 5711.122Stsutsui hack gcc-4.5 arm CNAME hostname lookup failure on 5721.122Stsutsui certain DNS environment (probably -ftree-ter problem) 5731.122Stsutsui cdate Sat Dec 24 04:59:00 UTC 2011 5741.122Stsutsui mdate 5751.122Stsutsui who tsutsui 5761.122Stsutsui file lib/libc/net/Makefile.inc 1.79 5771.122Stsutsui descr Hostname lookup against CNAMEs by some commands fails 5781.122Stsutsui on certain DNS environments if lib/libc/net/gethnamaddr.c 5791.122Stsutsui (ping(8) etc) and lib/libc/net/getaddrinfo.c (ftp(1) etc) 5801.122Stsutsui are compiled with -O2, even though nslookup(1) against 5811.122Stsutsui the same CNAME returns proper hostname. 5821.122Stsutsui They works properly if compiled with -O2 -fno-tree-ter. 5831.122Stsutsui Also -O2 fails but -O2 -fno-tree-ter works on the following 5841.122Stsutsui test case in gcc bugzilla: 5851.122Stsutsui http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48863#c4 5861.122Stsutsui kcah 5871.122Stsutsui 5881.124Smsaitoh hack gcc-4.5 arm without -fno-tree-vrp generate broken code 5891.124Smsaitoh cdate Wed Nov 14 13:02:02 JST 2012 5901.124Smsaitoh who msaitoh 5911.124Smsaitoh file lib/libc/softfloat/Makefile.inc 5921.124Smsaitoh pr 46953 5931.124Smsaitoh regress src/tests/lib/libm/t_cbrt 5941.124Smsaitoh regress src/tests/lib/libm/t_ceil 5951.124Smsaitoh regress src/tests/lib/libm/t_exp 5961.124Smsaitoh regress src/tests/lib/libm/t_log 5971.124Smsaitoh regress src/tests/lib/libm/t_scalbn 5981.124Smsaitoh regress src/tests/lib/libm/t_sinh 5991.124Smsaitoh regress src/tests/lib/libm/t_sqrt 6001.124Smsaitoh descr Gcc has a bug in tree optimization. For adddf3, 6011.124Smsaitoh -INF + -INF returns 0 without -fno-tree-vrp. 6021.124Smsaitoh Debugging with -fdump-tree-all shows that 6031.124Smsaitoh softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa 6041.124Smsaitoh is broken. 6051.124Smsaitoh kcah 6061.21Smycroft 6071.21Smycroftport sh3 6081.21Smycroft 6091.74Smrg hack gcc4-sh3-bz2 6101.103Stsutsui cdate Sun May 21 03:34:57 UTC 2006 6111.103Stsutsui mdate Fri May 16 13:13:00 UTC 2008 6121.103Stsutsui who mrg, tsutsui 6131.74Smrg file lib/libbz2/Makefile : 1.10 6141.74Smrg descr 6151.74Smrg The in-tree GCC 4.1-based compiler generated too-far 6161.103Stsutsui pc-relative addresses. Hack is to build with 6171.103Stsutsui -fno-loop-optimize. 6181.74Smrg kcah 6191.74Smrg 6201.138Schristosport sh3eb 6211.137Schristos hack gcc4.8.1 6221.137Schristos cdate Thu Nov 7 16:31:23 EST 2013 6231.137Schristos who christos 6241.137Schristos file src/sys/rump/net/lib/libnetbt/Makefile : 1.2 6251.137Schristos desrc 6261.138Schristos for profiling 6271.137Schristos compile l2cap_signal.c with -O0 to avoid: 6281.137Schristos ./netbt/l2cap_signal.c:36: 6291.137Schristos /p/netbsd/cvsroot/src/sys/rump/net/lib/libnetbt/../../../../\ 6301.137Schristos netbt/l2cap_signal.c: In function 'l2cap_recv_signal': 6311.137Schristos ./sh3/byte_swap.h:20:2: error: 'asm' operand requires \ 6321.137Schristos impossible reload 6331.137Schristos __asm volatile ("swap.b %1,%0" : "=r"(rval) : "r"(x)); 6341.137Schristos kcah 6351.21Smycroft 6361.138Schristosport sh3el 6371.138Schristos hack gcc4.8.1 6381.138Schristos cdate Fri Nov 8 19:27:01 EST 2013 6391.138Schristos who christos 6401.138Schristos file src/external/bsd/libevent/lib/libevent/Makefile : 1.2 6411.138Schristos desrc 6421.138Schristos for profiling 6431.138Schristos compile evdns.c with -O0 to avoid: 6441.138Schristos ./sh3/byte_swap.h:20:2: error: 'asm' operand requires \ 6451.138Schristos impossible reload 6461.138Schristos __asm volatile ("swap.b %1,%0" : "=r"(rval) : "r"(x)); 6471.138Schristos kcah 6481.139Schristos 6491.139Schristos hack gcc4.8.1 6501.139Schristos cdate Fri Nov 8 19:34:48 EST 2013 6511.139Schristos who christos 6521.139Schristos file src/usr.sbin/racoon/Makefile : 1.27 6531.139Schristos desrc 6541.139Schristos for profiling 6551.139Schristos compile ipsec_doi.c with -O0 to avoid: 6561.139Schristos ./sh3/byte_swap.h:20:2: error: 'asm' operand requires \ 6571.139Schristos impossible reload 6581.139Schristos __asm volatile ("swap.b %1,%0" : "=r"(rval) : "r"(x)); 6591.139Schristos kcah 6601.138Schristos 6611.96Smrgport m68000 6621.79Smrg 6631.96Smrg hack gcc4-m68000 6641.102Stsutsui cdate Fri Feb 8 10:29:37 PST 2008 6651.102Stsutsui mdate Sun May 4 15:37:19 UTC 2008 6661.99Stsutsui who mrg, tsutsui 6671.96Smrg file rescue/Makefile : 1.21 6681.99Stsutsui file sbin/dump_lfs/Makefile : 1.9 6691.101Stsutsui file sbin/fsck_ffs/Makefile : 1.35 6701.101Stsutsui file sbin/fsdb/Makefile : 1.22 6711.101Stsutsui file share/mk/sys.mk : 1.96 6721.99Stsutsui file usr.sbin/ndbootd/Makefile : 1.5 6731.95Smrg descr 6741.101Stsutsui Several internal compiler errors with gcc -O1 6751.101Stsutsui around 64bit integer arithmetic. 6761.99Stsutsui This hack uses -O1 and adds some -fno-tree-foo options 6771.99Stsutsui to avoid the problem. 6781.101Stsutsui This might be related with GCC Bugzilla Bug 32424. 6791.95Smrg kcah 6801.95Smrg 6811.141Schristosport m68k,sh3,vax 6821.135Schristos 6831.135Schristos hack gcc-4.8.1 6841.135Schristos cdate Wed Nov 6 20:41:35 EST 2013 6851.135Schristos who christos 6861.141Schristos file src/external/gpl3/gcc/libstdc++-v3/Makefile : 1.6 6871.135Schristos descr 6881.135Schristos compile hashtable_c++0x.cc with -O2 instead of -Os to 6891.135Schristos produce missing instantiation of std::lower_bound expansion 6901.135Schristos for unsigned long. 6911.135Schristos kcah 6921.22Smrg 6931.116Smrgport sparc 6941.116Smrg 6951.116Smrg hack avoid NULL pointer derefs in savefpstate IPIs and GCC 4.5.3 6961.116Smrg cdate Sun Aug 14 19:26:48 PDT 2011 6971.116Smrg who mrg 6981.116Smrg file sys/arch/sparc64/sparc/cpu.c : 1.234 6991.116Smrg file sys/arch/sparc64/sparc/cpuvar.h : 1.90 7001.116Smrg file sys/arch/sparc64/sparc/genassym.cf : 1.67 7011.116Smrg file sys/arch/sparc64/sparc/locore.s : 1.265 7021.116Smrg descr 7031.116Smrg Something is wrong with GCC 4.5.3 and the savefpstate IPI. 7041.116Smrg Post newlock2 there was a bug where a lock was reduced from 7051.116Smrg IPL_SCHED to IPL_VM (?) and occasionally savefpstate IPI 7061.116Smrg would crash due to NULL IPI. This was fixed by re-using the 7071.116Smrg right IPL value. However, GCC 4.5.3 build kernels have the 7081.116Smrg same problems. For now, the hack is re-instated. 7091.116Smrg kcah 7101.116Smrg 7111.116Smrg 7121.51Ssimonbport mips 7131.51Ssimonb 7141.51Ssimonb hack mips-shared-linker-load-address 7151.51Ssimonb cdate Fri Oct 7 08:33:10 UTC 2005 7161.51Ssimonb who simonb 7171.51Ssimonb file src/sys/kern/exec_elf32.c : 1.107 7181.51Ssimonb descr 7191.51Ssimonb With COMPAT_16 or previous enabled (which enables 7201.51Ssimonb ELF_INTERP_NON_RELOCATABLE) a recent ld.elf_so will 7211.51Ssimonb load and run at address 0. The check to fix this in 7221.51Ssimonb rev 1.107 only checks the first psection of the ELF 7231.51Ssimonb executable, which may not be loadable. A more correct 7241.51Ssimonb fix is to check the first loadable psection instead of 7251.51Ssimonb just the first psection. 7261.51Ssimonb kcah 7271.54She 7281.85Smartin hack mips-duplicate-ras-end-label 7291.85Smartin cdate Sat Sep 2 23:29:42 2006 7301.85Smartin who martin 7311.92Schs file src/regress/sys/kern/ras/ras3/Makefile : 1.3 7321.85Smartin descr 7331.85Smartin Add -fno-reorder-blocks to CFLAGS to avoid duplicate 7341.85Smartin labels by duplicated __asm output from RAS_END() 7351.85Smartin macro. 7361.85Smartin kcah 7371.85Smartin 7381.106Slukem hack mips-mcount-assembler-warning 7391.106Slukem cdate Tue Jul 29 14:16:52 UTC 2008 7401.106Slukem who lukem 7411.106Slukem file src/lib/libc/gmon/Makefile.inc : 1.8 7421.106Slukem descr 7431.106Slukem Workaround for PR port-mips/39192. 7441.106Slukem common/lib/libc/gmon/mcount.c generates a (fatal) 7451.106Slukem assembler warning on MIPS: 7461.106Slukem Warning: No .cprestore pseudo-op used in PIC code 7471.106Slukem Add COPTS.count.c+=-Wa,--no-warn to avoid -Wa,--fatal-warnings 7481.106Slukem kcah 7491.106Slukem 7501.82Schristosport i386 7511.82Schristos 7521.84Sdrochner hack use volatile intermediate variable to enforce rounding 7531.84Sdrochner cdate Tue Aug 1 22:15:55 MEST 2006 7541.84Sdrochner who drochner 7551.84Sdrochner file src/lib/libm/src/lrintf.c : 1.4 7561.84Sdrochner file src/lib/libm/src/s_rintf.c : 1.8 7571.84Sdrochner descr 7581.84Sdrochner gcc-4 does subsequent operations on "float" values within 7591.84Sdrochner the i387 FPU without rounding the intermediate results 7601.84Sdrochner kcah 7611.110Smacallan 7621.148Schristosport x86 7631.148Schristos hack turn off optimization for biosdisk_ll.c because otherwise 7641.148Schristos we are pass the wrong arguments to biosdisk_read(). 7651.148Schristos $ cd /usr/src/sys/arch/i386/floppies/bootflopp-com 7661.148Schristos $ qemu-system-i386 -nographic -fda boot-com1.fs -boot a 7671.148Schristos who christos 7681.148Schristos file src/sys/arch/i386/stand/lib/Makefile : 1.38 7691.148Schristos descr 7701.148Schristos Turning on DISK_DEBUG shows the problem. We should find 7711.148Schristos out which option is causing this. 7721.148Schristos hcah 7731.148Schristos 7741.110Smacallanport powerpc 7751.110Smacallan 7761.110Smacallan hack avoid using __builtin_return_address(0) because it fails in 7771.110Smacallan Xorg's module loader 7781.110Smacallan cdate Sat Sep 27 03:52:05 UTC 2008 7791.110Smacallan who macallan 7801.110Smacallan file src/libexec/ld.elf_so/rtld.c : 1.121 7811.110Smacallan descr 7821.110Smacallan workaround for PR port-macppc/37812 7831.110Smacallan kcah 7841.110Smacallan 7851.115Smatt hack define TARGET_SECURE_PLT and HAVE_AS_TLS because when 7861.115Smatt building the native compiler via build.sh those don't defined 7871.115Smatt properly. 7881.115Smatt cdate Sat Mar 12 08:00:00 UTC 2011 7891.115Smatt who matt 7901.115Smatt file src/gnu/dist/gcc4/gcc/config/rs6000/netbsd.h 7911.115Smatt descr 7921.115Smatt see above 7931.115Smatt kcah 7941.117Schristos 7951.117Schristosport powerpc64 7961.117Schristos 7971.117Schristos hack include _errno.c in libposix so that __errno resolves. It 7981.117Schristos should resolve from libc's errno, but somehow it does not. 7991.117Schristos Linker bug? 8001.117Schristos cdate Thu Oct 27 13:19:47 EDT 2011 8011.117Schristos who christos 8021.117Schristos file src/lib/libposix/Makefile: 1.15 8031.118Schristos file src/lib/librt/Makefile: 1.14 8041.117Schristos descr 8051.117Schristos workaround for: 8061.117Schristos libposix_pic.a(cerror.pico)(.text+0x14): unresolvable \ 8071.117Schristos R_PPC64_REL24 relocation against symbol `.__errno' 8081.117Schristos kcah 8091.119Schristos 8101.119Schristos hack rename data() function in mdocml to avoid redefined error. 8111.119Schristos Compiler/Assembler bug? 8121.119Schristos cdate Sat Oct 29 11:16:01 EDT 2011 8131.119Schristos who christos 8141.119Schristos file src/external/bsd/mdocml/tbl_data.c: 1.2 8151.119Schristos descr 8161.119Schristos workaround for: 8171.119Schristos {standard input}: Assembler messages: 8181.119Schristos {standard input}:105: Error: symbol `.data' is already \ 8191.119Schristos defined 8201.119Schristos kcah 8211.120Schristos 8221.120Schristosport emips 8231.120Schristos 8241.120Schristos hack Add nop between ctc1 and mtc0 to avoid assembler internal 8251.120Schristos error 8261.120Schristos cdate Sat Oct 29 16:57:34 EDT 2011 8271.120Schristos who christos 8281.120Schristos file src/sys/arch/mips/mips/mips_fpu.c: 1.7 8291.120Schristos descr 8301.120Schristos workaround for: 8311.120Schristos {standard input}: Assembler messages: 8321.120Schristos {standard input}:730: Internal error! 8331.120Schristos Assertion failure in append_insn at /usr/src/external/gpl3/\ 8341.120Schristos binutils/dist/gas/config/tc-mips.c line 2910. 8351.120Schristos kcah 8361.125Smartin 8371.125Smartinport ia64 8381.125Smartin 8391.125Smartin hack libc hesiod.c file does not compile with -O2 (internal 8401.125Smartin compiler error in gcc 4.5.3) 8411.125Smartin cdate Thu Dec 27 08:05:43 CET 2012 8421.125Smartin who martin 8431.125Smartin file src/lib/libc/net/Makefile.inc: 1.82 8441.125Smartin descr 8451.125Smartin workaround for: 8461.125Smartin {standard input}: Assembler messages: 8471.125Smartin {standard input}:1507: Warning: Use of 'mov' may violate WAW dependency 'GR%, % in 1 - 127' (impliedf), specific resource number is 15 8481.125Smartin {standard input}:1506: Warning: This is the location of the conflicting usage 8491.125Smartin {standard input}: Error: 2 warnings, treating warnings as errors 8501.125Smartin kcah 8511.125Smartin 8521.126Smartin hack libelf libelf_extended.c compiler error in gcc 4.5.3 8531.126Smartin cdate Thu Dec 27 09:05:51 CET 2012 8541.126Smartin who martin 8551.126Smartin file src/external/bsd/libelf/lib/Makefile: 1.3 8561.126Smartin descr 8571.126Smartin workaround for: 8581.126Smartin {standard input}: Assembler messages: 8591.126Smartin {standard input}:87: Warning: Use of 'adds' may violate RAW dependency 'GR%, % in 1 - 127' (impliedf), specific resource number is 33 8601.126Smartin {standard input}:87: Warning: Only the first path encountering the conflict is reported 8611.126Smartin {standard input}:85: Warning: This is the location of the conflicting usage 8621.126Smartin kcah 8631.126Smartin 8641.127Smartin hack compiler error with gcc 4.5.x 8651.127Smartin cdate Thu Dec 27 15:15:25 CET 2012 8661.127Smartin who martin 8671.127Smartin file src/crypto/external/bsd/netpgp/lib/verify/Makefile: 1.5 8681.127Smartin descr 8691.127Smartin workaround for: 8701.127Smartin {standard input}: Assembler messages: 8711.127Smartin {standard input}:22979: Warning: Use of 'mov' may violate WAW dependency 'GR%, % in 1 - 127' (impliedf), specific resource number is 8 8721.127Smartin {standard input}:22978: Warning: This is the location of the conflicting usage 8731.127Smartin kcah 8741.127Smartin 8751.157Smartin hack libgcc unwind dummy function 8761.157Smartin cdate Fri Apr 17 14:31:03 CEST 2015 8771.157Smartin who martin 8781.157Smartin file src/external/gpl3/gcc/dist/libgcc/config/ia64/unwind-ia64.c: 1.4 8791.157Smartin descr 8801.157Smartin Add an empty _Unwind_FindTableEntry() implementation. 8811.157Smartin In the end we will use our libc stuff, and this should 8821.157Smartin go away again. 8831.157Smartin kcah 8841.157Smartin 8851.128Schristosport x68k 8861.127Smartin 8871.128Schristos hack compiler error with gcc 4.5.x 8881.128Schristos cdate Fri May 24 13:23:01 EDT 2013 8891.128Schristos who christos 8901.128Schristos file src/external/gpl3/gcc/usr.bin/bakend/Makefile: 1.17 8911.128Schristos xsrc/external/mit/xorg/lib/libGLU/Makefile: 1.11 8921.128Schristos descr 8931.128Schristos workaround for: 8941.128Schristos internal compiler error: in cselib_record_set, at cselib.c:1999 8951.128Schristos kcah 8961.130Sjoerg 8971.130Sjoerghack fallback to /usr/bin/clang-cpp in rpcgen 8981.130Sjoergcdate Wed Jun 5 15:49:27 CEST 2013 8991.130Sjoergwho joerg 9001.130Sjoergfile src/usr.bin/rpcgen/rpc_main.c 9011.130Sjoergdescr 9021.136Sjoerg It is undecided which compiler owns /usr/bin/cpp and whether it should 9031.130Sjoerg exist in a MKGCC=no world. To allow rpcgen to work out-of-the-box, 9041.130Sjoerg if either gcc or clang is installed, use /usr/bin/clang-cpp as fallback. 9051.130Sjoerg This applies only if RPCGEN_CPP is not set and /usr/bin/cpp is not executable. 9061.130Sjoergkcah 9071.131Sskrll 9081.155Sskrllport hppa 9091.131Sskrll 9101.131Sskrll hack compiler error with gcc 4.5.x 9111.131Sskrll cdate Tue Jul 23 07:42:28 BST 2013 9121.131Sskrll who skrll 9131.133Sskrll file src/sys/lib/libkern/Makefile.libkern: 1.26 9141.133Sskrll descr 9151.133Sskrll workaround for unanalysed codegen bug affecting md5c.c. 9161.133Sskrll kcah 9171.149Smacallan 9181.155Sskrll hack gdb vs _rtld_debug_state problem 9191.155Sskrll cdate Thu Mar 5 09:49:53 UTC 2015 9201.155Sskrll who skrll 9211.155Sskrll file src/libexec/ld.elf_so/rtld.c: 1.175 9221.155Sskrll descr 9231.155Sskrll workaround for problem where gdb misses the breakpoint on 9241.155Sskrll _rtld_debug_state when the function is only the 9251.155Sskrll bv,n %r0(%rp) instruction - the nullify seems to 9261.155Sskrll confuse something 9271.155Sskrll kcah 9281.155Sskrll 9291.149Smacallanport mips64* 9301.149Smacallanhack compiler crashes on mips64* with optimization enabled 9311.149Smacallancdate Tue May 13 18:46:48 UTC 2014 9321.149Smacallanwho macallan 9331.149Smacallanfile src/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/Makefile.inc: 1.6 9341.149Smacallan src/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/config.h: 1.5 9351.149Smacallan src/external/lgpl3/gmp/lib/libgmp/arch/mips64el/Makefile.inc: 1.6 9361.149Smacallan src/external/lgpl3/gmp/lib/libgmp/arch/mips64el/config.h: 1.5 9371.149Smacallandescr workaround for n32 gcc doing unaligned 64bit accesses when optimizing 9381.149Smacallanpr 48696 9391.149Smacallankcah 9401.150Smartin 9411.150Smartinport vax 9421.150Smartinhack compile boot with -O1 9431.150Smartincdate Sat May 24 09:40:58 CEST 2014 9441.150Smartinwho martin 9451.150Smartinfile src/sys/arch/vax/boot/boot/Makefile: 1.41 9461.150Smartindescr /boot does not work when compiled with -O2 and gcc 4.8 9471.150Smartinkcah 9481.150Smartin 9491.156Smattport arm 9501.156Smatthack avoid using labels in a 12-bit constant. 9511.156Smattwho matt 9521.156Smattfile crypto/external/bsd/openssl/lib/libcrypto/arch/arm/aes-armv4.S: 1.2 9531.156Smattdescr workaround for clang misassembling an instruction 9541.156Smattkcah 9551.177Schristos 9561.177Schristosport sparc64 9571.177Schristoshack during profiling with -m32 (and ASLR) labels are not generated 9581.177Schristos consistently 9591.177Schristoswho christos 9601.177Schristosfile /cvsroot/src/crypto/external/bsd/heimdal/lib/libasn1/Makefile: 1.4 9611.177Schristosdesc asn1_krb5_asn1.po does not produce the same results during successive 9621.177Schristos compilation runs; it is bimodal. Turning optimization to -O0 fixes 9631.177Schristos the issue 9641.177Schristoskcah 965