History log of /netbsd-current/doc/HACKS
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.244 12-May-2024 msaitoh

s/unitialized/uninitialized/


# 1.243 05-May-2024 riastradh

tests/lib/libm/t_fe_round.c: Work around likely ia64 bug in gcc.


# 1.242 04-Apr-2024 christos

mention gallium.old hack


# 1.241 12-Jan-2024 martin

Extend the lint "trapv" gcc bug to VAX and note that it has been fixed
(according to upstream) in gcc 11 and newer.


# 1.240 04-Sep-2023 mrg

document x86 curlwp/curcpu hack for GCC 12.


# 1.239 18-Jul-2023 rin

doc/HACKS: PR port-sh3/56311 has been fixed.


# 1.238 09-Jul-2023 rin

doc/HACKS: Note OPENSSL_NO_EC_NISTP_64_GCC_128 hack for aarch64eb.


# 1.237 07-Jul-2023 rin

doc/HACKS: Document PR port-alpha/57511


# 1.236 07-May-2023 martin

Not hacks to use old binutils (2.34 instead of 2.39) on mips64*
(but not mipsn64*).


# 1.235 22-Jan-2023 christos

new vax compiler issues


# 1.234 06-Jan-2023 christos

Now that the default page size is 4K again for x86_64 with the binutils
change to default to -z separate-code, remove the previous hack.


# 1.233 30-Dec-2022 christos

mention binutils hack


Revision tags: netbsd-10-base
# 1.232 04-Dec-2022 jakllsch

branches: 1.232.2;
On VAX, compile gdtoa/misc.c at -O0 to avoid incorrect machine code
resulting in some doubles printing as garbage.


# 1.231 12-Sep-2022 rin

Document -O0 hack for ibm4xx copy{in,out}() for clang 13.0.0.


# 1.230 10-Aug-2022 rin

Note that aes_ccm_tag() still fails with GCC 10.4 with -O2 on m68k.


# 1.229 31-May-2022 christos

document gomoku


# 1.228 10-Apr-2022 rillig

doc/HACKS: add bug report for internal compiler error on alpha


# 1.227 10-Apr-2022 martin

PR 56789: document gcc bug workaround for -ftrapv on alpha.


# 1.226 23-Nov-2021 thorpej

Temporary hack to work around incorrect/missing unwind info for
the t_sig_backtrace test case on ARM when compiled with optimization.


# 1.225 13-Oct-2021 nia

libcrypt hack for vax


# 1.224 16-Jul-2021 rin

PR port-sh3/56311

Correct misinterpretation for the cause of the problem, and link to
the bug report for upstream.


# 1.223 15-Jul-2021 rin

PR port-sh3/56311

Document -O0 workaround for initdecl() in doc/HACKS.


# 1.222 06-Jul-2021 thorpej

Remove jemalloc and gdb hacks for alpha; root cause has been addressed.


# 1.221 05-Jul-2021 hgutch

Update gcc9-sh3-lint - instead of disabling optimization for lex.c on
sh3, rather revert the gcc change that (seemingly accidentally) broke
this.


# 1.220 23-Jun-2021 rillig

lint1: add bug report for internal GCC compiler error


# 1.219 22-Jun-2021 martin

Document sh3* lint hack for gcc 9


Revision tags: cjep_sun2x-base1 cjep_sun2x-base
# 1.218 31-May-2021 rin

PR toolchain/55837

Get rid of -O0 hack for GDB for hard-float arm. This was necessary because
libunwind did not support s0-s31. Note that for *most* cases (not all!),
-O0 stops using VFP registers for general purposes.

Also note that this hack was incomplete. We had to compile every functions
with -O0, that can be unwinded. Otherwise, GDB crashed every time exceptions
were raised.


Revision tags: cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.217 08-May-2021 christos

mention gdb hack discovered by rin.


# 1.216 16-Dec-2020 rin

-O0 hack was reintroduced to jemalloc/rtree.c for GCC9 on alpha.


# 1.215 02-Dec-2020 wiz

comparision -> comparison


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.243 05-May-2024 riastradh

tests/lib/libm/t_fe_round.c: Work around likely ia64 bug in gcc.


# 1.242 04-Apr-2024 christos

mention gallium.old hack


# 1.241 12-Jan-2024 martin

Extend the lint "trapv" gcc bug to VAX and note that it has been fixed
(according to upstream) in gcc 11 and newer.


# 1.240 04-Sep-2023 mrg

document x86 curlwp/curcpu hack for GCC 12.


# 1.239 18-Jul-2023 rin

doc/HACKS: PR port-sh3/56311 has been fixed.


# 1.238 09-Jul-2023 rin

doc/HACKS: Note OPENSSL_NO_EC_NISTP_64_GCC_128 hack for aarch64eb.


# 1.237 07-Jul-2023 rin

doc/HACKS: Document PR port-alpha/57511


# 1.236 07-May-2023 martin

Not hacks to use old binutils (2.34 instead of 2.39) on mips64*
(but not mipsn64*).


# 1.235 22-Jan-2023 christos

new vax compiler issues


# 1.234 06-Jan-2023 christos

Now that the default page size is 4K again for x86_64 with the binutils
change to default to -z separate-code, remove the previous hack.


# 1.233 30-Dec-2022 christos

mention binutils hack


Revision tags: netbsd-10-base
# 1.232 04-Dec-2022 jakllsch

branches: 1.232.2;
On VAX, compile gdtoa/misc.c at -O0 to avoid incorrect machine code
resulting in some doubles printing as garbage.


# 1.231 12-Sep-2022 rin

Document -O0 hack for ibm4xx copy{in,out}() for clang 13.0.0.


# 1.230 10-Aug-2022 rin

Note that aes_ccm_tag() still fails with GCC 10.4 with -O2 on m68k.


# 1.229 31-May-2022 christos

document gomoku


# 1.228 10-Apr-2022 rillig

doc/HACKS: add bug report for internal compiler error on alpha


# 1.227 10-Apr-2022 martin

PR 56789: document gcc bug workaround for -ftrapv on alpha.


# 1.226 23-Nov-2021 thorpej

Temporary hack to work around incorrect/missing unwind info for
the t_sig_backtrace test case on ARM when compiled with optimization.


# 1.225 13-Oct-2021 nia

libcrypt hack for vax


# 1.224 16-Jul-2021 rin

PR port-sh3/56311

Correct misinterpretation for the cause of the problem, and link to
the bug report for upstream.


# 1.223 15-Jul-2021 rin

PR port-sh3/56311

Document -O0 workaround for initdecl() in doc/HACKS.


# 1.222 06-Jul-2021 thorpej

Remove jemalloc and gdb hacks for alpha; root cause has been addressed.


# 1.221 05-Jul-2021 hgutch

Update gcc9-sh3-lint - instead of disabling optimization for lex.c on
sh3, rather revert the gcc change that (seemingly accidentally) broke
this.


# 1.220 23-Jun-2021 rillig

lint1: add bug report for internal GCC compiler error


# 1.219 22-Jun-2021 martin

Document sh3* lint hack for gcc 9


Revision tags: cjep_sun2x-base1 cjep_sun2x-base
# 1.218 31-May-2021 rin

PR toolchain/55837

Get rid of -O0 hack for GDB for hard-float arm. This was necessary because
libunwind did not support s0-s31. Note that for *most* cases (not all!),
-O0 stops using VFP registers for general purposes.

Also note that this hack was incomplete. We had to compile every functions
with -O0, that can be unwinded. Otherwise, GDB crashed every time exceptions
were raised.


Revision tags: cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.217 08-May-2021 christos

mention gdb hack discovered by rin.


# 1.216 16-Dec-2020 rin

-O0 hack was reintroduced to jemalloc/rtree.c for GCC9 on alpha.


# 1.215 02-Dec-2020 wiz

comparision -> comparison


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.242 04-Apr-2024 christos

mention gallium.old hack


# 1.241 12-Jan-2024 martin

Extend the lint "trapv" gcc bug to VAX and note that it has been fixed
(according to upstream) in gcc 11 and newer.


# 1.240 04-Sep-2023 mrg

document x86 curlwp/curcpu hack for GCC 12.


# 1.239 18-Jul-2023 rin

doc/HACKS: PR port-sh3/56311 has been fixed.


# 1.238 09-Jul-2023 rin

doc/HACKS: Note OPENSSL_NO_EC_NISTP_64_GCC_128 hack for aarch64eb.


# 1.237 07-Jul-2023 rin

doc/HACKS: Document PR port-alpha/57511


# 1.236 07-May-2023 martin

Not hacks to use old binutils (2.34 instead of 2.39) on mips64*
(but not mipsn64*).


# 1.235 22-Jan-2023 christos

new vax compiler issues


# 1.234 06-Jan-2023 christos

Now that the default page size is 4K again for x86_64 with the binutils
change to default to -z separate-code, remove the previous hack.


# 1.233 30-Dec-2022 christos

mention binutils hack


Revision tags: netbsd-10-base
# 1.232 04-Dec-2022 jakllsch

branches: 1.232.2;
On VAX, compile gdtoa/misc.c at -O0 to avoid incorrect machine code
resulting in some doubles printing as garbage.


# 1.231 12-Sep-2022 rin

Document -O0 hack for ibm4xx copy{in,out}() for clang 13.0.0.


# 1.230 10-Aug-2022 rin

Note that aes_ccm_tag() still fails with GCC 10.4 with -O2 on m68k.


# 1.229 31-May-2022 christos

document gomoku


# 1.228 10-Apr-2022 rillig

doc/HACKS: add bug report for internal compiler error on alpha


# 1.227 10-Apr-2022 martin

PR 56789: document gcc bug workaround for -ftrapv on alpha.


# 1.226 23-Nov-2021 thorpej

Temporary hack to work around incorrect/missing unwind info for
the t_sig_backtrace test case on ARM when compiled with optimization.


# 1.225 13-Oct-2021 nia

libcrypt hack for vax


# 1.224 16-Jul-2021 rin

PR port-sh3/56311

Correct misinterpretation for the cause of the problem, and link to
the bug report for upstream.


# 1.223 15-Jul-2021 rin

PR port-sh3/56311

Document -O0 workaround for initdecl() in doc/HACKS.


# 1.222 06-Jul-2021 thorpej

Remove jemalloc and gdb hacks for alpha; root cause has been addressed.


# 1.221 05-Jul-2021 hgutch

Update gcc9-sh3-lint - instead of disabling optimization for lex.c on
sh3, rather revert the gcc change that (seemingly accidentally) broke
this.


# 1.220 23-Jun-2021 rillig

lint1: add bug report for internal GCC compiler error


# 1.219 22-Jun-2021 martin

Document sh3* lint hack for gcc 9


Revision tags: cjep_sun2x-base1 cjep_sun2x-base
# 1.218 31-May-2021 rin

PR toolchain/55837

Get rid of -O0 hack for GDB for hard-float arm. This was necessary because
libunwind did not support s0-s31. Note that for *most* cases (not all!),
-O0 stops using VFP registers for general purposes.

Also note that this hack was incomplete. We had to compile every functions
with -O0, that can be unwinded. Otherwise, GDB crashed every time exceptions
were raised.


Revision tags: cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.217 08-May-2021 christos

mention gdb hack discovered by rin.


# 1.216 16-Dec-2020 rin

-O0 hack was reintroduced to jemalloc/rtree.c for GCC9 on alpha.


# 1.215 02-Dec-2020 wiz

comparision -> comparison


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.241 12-Jan-2024 martin

Extend the lint "trapv" gcc bug to VAX and note that it has been fixed
(according to upstream) in gcc 11 and newer.


# 1.240 04-Sep-2023 mrg

document x86 curlwp/curcpu hack for GCC 12.


# 1.239 18-Jul-2023 rin

doc/HACKS: PR port-sh3/56311 has been fixed.


# 1.238 09-Jul-2023 rin

doc/HACKS: Note OPENSSL_NO_EC_NISTP_64_GCC_128 hack for aarch64eb.


# 1.237 07-Jul-2023 rin

doc/HACKS: Document PR port-alpha/57511


# 1.236 07-May-2023 martin

Not hacks to use old binutils (2.34 instead of 2.39) on mips64*
(but not mipsn64*).


# 1.235 22-Jan-2023 christos

new vax compiler issues


# 1.234 06-Jan-2023 christos

Now that the default page size is 4K again for x86_64 with the binutils
change to default to -z separate-code, remove the previous hack.


# 1.233 30-Dec-2022 christos

mention binutils hack


Revision tags: netbsd-10-base
# 1.232 04-Dec-2022 jakllsch

branches: 1.232.2;
On VAX, compile gdtoa/misc.c at -O0 to avoid incorrect machine code
resulting in some doubles printing as garbage.


# 1.231 12-Sep-2022 rin

Document -O0 hack for ibm4xx copy{in,out}() for clang 13.0.0.


# 1.230 10-Aug-2022 rin

Note that aes_ccm_tag() still fails with GCC 10.4 with -O2 on m68k.


# 1.229 31-May-2022 christos

document gomoku


# 1.228 10-Apr-2022 rillig

doc/HACKS: add bug report for internal compiler error on alpha


# 1.227 10-Apr-2022 martin

PR 56789: document gcc bug workaround for -ftrapv on alpha.


# 1.226 23-Nov-2021 thorpej

Temporary hack to work around incorrect/missing unwind info for
the t_sig_backtrace test case on ARM when compiled with optimization.


# 1.225 13-Oct-2021 nia

libcrypt hack for vax


# 1.224 16-Jul-2021 rin

PR port-sh3/56311

Correct misinterpretation for the cause of the problem, and link to
the bug report for upstream.


# 1.223 15-Jul-2021 rin

PR port-sh3/56311

Document -O0 workaround for initdecl() in doc/HACKS.


# 1.222 06-Jul-2021 thorpej

Remove jemalloc and gdb hacks for alpha; root cause has been addressed.


# 1.221 05-Jul-2021 hgutch

Update gcc9-sh3-lint - instead of disabling optimization for lex.c on
sh3, rather revert the gcc change that (seemingly accidentally) broke
this.


# 1.220 23-Jun-2021 rillig

lint1: add bug report for internal GCC compiler error


# 1.219 22-Jun-2021 martin

Document sh3* lint hack for gcc 9


Revision tags: cjep_sun2x-base1 cjep_sun2x-base
# 1.218 31-May-2021 rin

PR toolchain/55837

Get rid of -O0 hack for GDB for hard-float arm. This was necessary because
libunwind did not support s0-s31. Note that for *most* cases (not all!),
-O0 stops using VFP registers for general purposes.

Also note that this hack was incomplete. We had to compile every functions
with -O0, that can be unwinded. Otherwise, GDB crashed every time exceptions
were raised.


Revision tags: cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.217 08-May-2021 christos

mention gdb hack discovered by rin.


# 1.216 16-Dec-2020 rin

-O0 hack was reintroduced to jemalloc/rtree.c for GCC9 on alpha.


# 1.215 02-Dec-2020 wiz

comparision -> comparison


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.240 04-Sep-2023 mrg

document x86 curlwp/curcpu hack for GCC 12.


# 1.239 18-Jul-2023 rin

doc/HACKS: PR port-sh3/56311 has been fixed.


# 1.238 09-Jul-2023 rin

doc/HACKS: Note OPENSSL_NO_EC_NISTP_64_GCC_128 hack for aarch64eb.


# 1.237 07-Jul-2023 rin

doc/HACKS: Document PR port-alpha/57511


# 1.236 07-May-2023 martin

Not hacks to use old binutils (2.34 instead of 2.39) on mips64*
(but not mipsn64*).


# 1.235 22-Jan-2023 christos

new vax compiler issues


# 1.234 06-Jan-2023 christos

Now that the default page size is 4K again for x86_64 with the binutils
change to default to -z separate-code, remove the previous hack.


# 1.233 30-Dec-2022 christos

mention binutils hack


Revision tags: netbsd-10-base
# 1.232 04-Dec-2022 jakllsch

branches: 1.232.2;
On VAX, compile gdtoa/misc.c at -O0 to avoid incorrect machine code
resulting in some doubles printing as garbage.


# 1.231 12-Sep-2022 rin

Document -O0 hack for ibm4xx copy{in,out}() for clang 13.0.0.


# 1.230 10-Aug-2022 rin

Note that aes_ccm_tag() still fails with GCC 10.4 with -O2 on m68k.


# 1.229 31-May-2022 christos

document gomoku


# 1.228 10-Apr-2022 rillig

doc/HACKS: add bug report for internal compiler error on alpha


# 1.227 10-Apr-2022 martin

PR 56789: document gcc bug workaround for -ftrapv on alpha.


# 1.226 23-Nov-2021 thorpej

Temporary hack to work around incorrect/missing unwind info for
the t_sig_backtrace test case on ARM when compiled with optimization.


# 1.225 13-Oct-2021 nia

libcrypt hack for vax


# 1.224 16-Jul-2021 rin

PR port-sh3/56311

Correct misinterpretation for the cause of the problem, and link to
the bug report for upstream.


# 1.223 15-Jul-2021 rin

PR port-sh3/56311

Document -O0 workaround for initdecl() in doc/HACKS.


# 1.222 06-Jul-2021 thorpej

Remove jemalloc and gdb hacks for alpha; root cause has been addressed.


# 1.221 05-Jul-2021 hgutch

Update gcc9-sh3-lint - instead of disabling optimization for lex.c on
sh3, rather revert the gcc change that (seemingly accidentally) broke
this.


# 1.220 23-Jun-2021 rillig

lint1: add bug report for internal GCC compiler error


# 1.219 22-Jun-2021 martin

Document sh3* lint hack for gcc 9


Revision tags: cjep_sun2x-base1 cjep_sun2x-base
# 1.218 31-May-2021 rin

PR toolchain/55837

Get rid of -O0 hack for GDB for hard-float arm. This was necessary because
libunwind did not support s0-s31. Note that for *most* cases (not all!),
-O0 stops using VFP registers for general purposes.

Also note that this hack was incomplete. We had to compile every functions
with -O0, that can be unwinded. Otherwise, GDB crashed every time exceptions
were raised.


Revision tags: cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.217 08-May-2021 christos

mention gdb hack discovered by rin.


# 1.216 16-Dec-2020 rin

-O0 hack was reintroduced to jemalloc/rtree.c for GCC9 on alpha.


# 1.215 02-Dec-2020 wiz

comparision -> comparison


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.239 18-Jul-2023 rin

doc/HACKS: PR port-sh3/56311 has been fixed.


# 1.238 09-Jul-2023 rin

doc/HACKS: Note OPENSSL_NO_EC_NISTP_64_GCC_128 hack for aarch64eb.


# 1.237 07-Jul-2023 rin

doc/HACKS: Document PR port-alpha/57511


# 1.236 07-May-2023 martin

Not hacks to use old binutils (2.34 instead of 2.39) on mips64*
(but not mipsn64*).


# 1.235 22-Jan-2023 christos

new vax compiler issues


# 1.234 06-Jan-2023 christos

Now that the default page size is 4K again for x86_64 with the binutils
change to default to -z separate-code, remove the previous hack.


# 1.233 30-Dec-2022 christos

mention binutils hack


Revision tags: netbsd-10-base
# 1.232 04-Dec-2022 jakllsch

On VAX, compile gdtoa/misc.c at -O0 to avoid incorrect machine code
resulting in some doubles printing as garbage.


# 1.231 12-Sep-2022 rin

Document -O0 hack for ibm4xx copy{in,out}() for clang 13.0.0.


# 1.230 10-Aug-2022 rin

Note that aes_ccm_tag() still fails with GCC 10.4 with -O2 on m68k.


# 1.229 31-May-2022 christos

document gomoku


# 1.228 10-Apr-2022 rillig

doc/HACKS: add bug report for internal compiler error on alpha


# 1.227 10-Apr-2022 martin

PR 56789: document gcc bug workaround for -ftrapv on alpha.


# 1.226 23-Nov-2021 thorpej

Temporary hack to work around incorrect/missing unwind info for
the t_sig_backtrace test case on ARM when compiled with optimization.


# 1.225 13-Oct-2021 nia

libcrypt hack for vax


# 1.224 16-Jul-2021 rin

PR port-sh3/56311

Correct misinterpretation for the cause of the problem, and link to
the bug report for upstream.


# 1.223 15-Jul-2021 rin

PR port-sh3/56311

Document -O0 workaround for initdecl() in doc/HACKS.


# 1.222 06-Jul-2021 thorpej

Remove jemalloc and gdb hacks for alpha; root cause has been addressed.


# 1.221 05-Jul-2021 hgutch

Update gcc9-sh3-lint - instead of disabling optimization for lex.c on
sh3, rather revert the gcc change that (seemingly accidentally) broke
this.


# 1.220 23-Jun-2021 rillig

lint1: add bug report for internal GCC compiler error


# 1.219 22-Jun-2021 martin

Document sh3* lint hack for gcc 9


Revision tags: cjep_sun2x-base1 cjep_sun2x-base
# 1.218 31-May-2021 rin

PR toolchain/55837

Get rid of -O0 hack for GDB for hard-float arm. This was necessary because
libunwind did not support s0-s31. Note that for *most* cases (not all!),
-O0 stops using VFP registers for general purposes.

Also note that this hack was incomplete. We had to compile every functions
with -O0, that can be unwinded. Otherwise, GDB crashed every time exceptions
were raised.


Revision tags: cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.217 08-May-2021 christos

mention gdb hack discovered by rin.


# 1.216 16-Dec-2020 rin

-O0 hack was reintroduced to jemalloc/rtree.c for GCC9 on alpha.


# 1.215 02-Dec-2020 wiz

comparision -> comparison


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.238 09-Jul-2023 rin

doc/HACKS: Note OPENSSL_NO_EC_NISTP_64_GCC_128 hack for aarch64eb.


# 1.237 07-Jul-2023 rin

doc/HACKS: Document PR port-alpha/57511


# 1.236 07-May-2023 martin

Not hacks to use old binutils (2.34 instead of 2.39) on mips64*
(but not mipsn64*).


# 1.235 22-Jan-2023 christos

new vax compiler issues


# 1.234 06-Jan-2023 christos

Now that the default page size is 4K again for x86_64 with the binutils
change to default to -z separate-code, remove the previous hack.


# 1.233 30-Dec-2022 christos

mention binutils hack


Revision tags: netbsd-10-base
# 1.232 04-Dec-2022 jakllsch

On VAX, compile gdtoa/misc.c at -O0 to avoid incorrect machine code
resulting in some doubles printing as garbage.


# 1.231 12-Sep-2022 rin

Document -O0 hack for ibm4xx copy{in,out}() for clang 13.0.0.


# 1.230 10-Aug-2022 rin

Note that aes_ccm_tag() still fails with GCC 10.4 with -O2 on m68k.


# 1.229 31-May-2022 christos

document gomoku


# 1.228 10-Apr-2022 rillig

doc/HACKS: add bug report for internal compiler error on alpha


# 1.227 10-Apr-2022 martin

PR 56789: document gcc bug workaround for -ftrapv on alpha.


# 1.226 23-Nov-2021 thorpej

Temporary hack to work around incorrect/missing unwind info for
the t_sig_backtrace test case on ARM when compiled with optimization.


# 1.225 13-Oct-2021 nia

libcrypt hack for vax


# 1.224 16-Jul-2021 rin

PR port-sh3/56311

Correct misinterpretation for the cause of the problem, and link to
the bug report for upstream.


# 1.223 15-Jul-2021 rin

PR port-sh3/56311

Document -O0 workaround for initdecl() in doc/HACKS.


# 1.222 06-Jul-2021 thorpej

Remove jemalloc and gdb hacks for alpha; root cause has been addressed.


# 1.221 05-Jul-2021 hgutch

Update gcc9-sh3-lint - instead of disabling optimization for lex.c on
sh3, rather revert the gcc change that (seemingly accidentally) broke
this.


# 1.220 23-Jun-2021 rillig

lint1: add bug report for internal GCC compiler error


# 1.219 22-Jun-2021 martin

Document sh3* lint hack for gcc 9


Revision tags: cjep_sun2x-base1 cjep_sun2x-base
# 1.218 31-May-2021 rin

PR toolchain/55837

Get rid of -O0 hack for GDB for hard-float arm. This was necessary because
libunwind did not support s0-s31. Note that for *most* cases (not all!),
-O0 stops using VFP registers for general purposes.

Also note that this hack was incomplete. We had to compile every functions
with -O0, that can be unwinded. Otherwise, GDB crashed every time exceptions
were raised.


Revision tags: cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.217 08-May-2021 christos

mention gdb hack discovered by rin.


# 1.216 16-Dec-2020 rin

-O0 hack was reintroduced to jemalloc/rtree.c for GCC9 on alpha.


# 1.215 02-Dec-2020 wiz

comparision -> comparison


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.237 07-Jul-2023 rin

doc/HACKS: Document PR port-alpha/57511


# 1.236 07-May-2023 martin

Not hacks to use old binutils (2.34 instead of 2.39) on mips64*
(but not mipsn64*).


# 1.235 22-Jan-2023 christos

new vax compiler issues


# 1.234 06-Jan-2023 christos

Now that the default page size is 4K again for x86_64 with the binutils
change to default to -z separate-code, remove the previous hack.


# 1.233 30-Dec-2022 christos

mention binutils hack


Revision tags: netbsd-10-base
# 1.232 04-Dec-2022 jakllsch

On VAX, compile gdtoa/misc.c at -O0 to avoid incorrect machine code
resulting in some doubles printing as garbage.


# 1.231 12-Sep-2022 rin

Document -O0 hack for ibm4xx copy{in,out}() for clang 13.0.0.


# 1.230 10-Aug-2022 rin

Note that aes_ccm_tag() still fails with GCC 10.4 with -O2 on m68k.


# 1.229 31-May-2022 christos

document gomoku


# 1.228 10-Apr-2022 rillig

doc/HACKS: add bug report for internal compiler error on alpha


# 1.227 10-Apr-2022 martin

PR 56789: document gcc bug workaround for -ftrapv on alpha.


# 1.226 23-Nov-2021 thorpej

Temporary hack to work around incorrect/missing unwind info for
the t_sig_backtrace test case on ARM when compiled with optimization.


# 1.225 13-Oct-2021 nia

libcrypt hack for vax


# 1.224 16-Jul-2021 rin

PR port-sh3/56311

Correct misinterpretation for the cause of the problem, and link to
the bug report for upstream.


# 1.223 15-Jul-2021 rin

PR port-sh3/56311

Document -O0 workaround for initdecl() in doc/HACKS.


# 1.222 06-Jul-2021 thorpej

Remove jemalloc and gdb hacks for alpha; root cause has been addressed.


# 1.221 05-Jul-2021 hgutch

Update gcc9-sh3-lint - instead of disabling optimization for lex.c on
sh3, rather revert the gcc change that (seemingly accidentally) broke
this.


# 1.220 23-Jun-2021 rillig

lint1: add bug report for internal GCC compiler error


# 1.219 22-Jun-2021 martin

Document sh3* lint hack for gcc 9


Revision tags: cjep_sun2x-base1 cjep_sun2x-base
# 1.218 31-May-2021 rin

PR toolchain/55837

Get rid of -O0 hack for GDB for hard-float arm. This was necessary because
libunwind did not support s0-s31. Note that for *most* cases (not all!),
-O0 stops using VFP registers for general purposes.

Also note that this hack was incomplete. We had to compile every functions
with -O0, that can be unwinded. Otherwise, GDB crashed every time exceptions
were raised.


Revision tags: cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.217 08-May-2021 christos

mention gdb hack discovered by rin.


# 1.216 16-Dec-2020 rin

-O0 hack was reintroduced to jemalloc/rtree.c for GCC9 on alpha.


# 1.215 02-Dec-2020 wiz

comparision -> comparison


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.236 07-May-2023 martin

Not hacks to use old binutils (2.34 instead of 2.39) on mips64*
(but not mipsn64*).


# 1.235 22-Jan-2023 christos

new vax compiler issues


# 1.234 06-Jan-2023 christos

Now that the default page size is 4K again for x86_64 with the binutils
change to default to -z separate-code, remove the previous hack.


# 1.233 30-Dec-2022 christos

mention binutils hack


Revision tags: netbsd-10-base
# 1.232 04-Dec-2022 jakllsch

On VAX, compile gdtoa/misc.c at -O0 to avoid incorrect machine code
resulting in some doubles printing as garbage.


# 1.231 12-Sep-2022 rin

Document -O0 hack for ibm4xx copy{in,out}() for clang 13.0.0.


# 1.230 10-Aug-2022 rin

Note that aes_ccm_tag() still fails with GCC 10.4 with -O2 on m68k.


# 1.229 31-May-2022 christos

document gomoku


# 1.228 10-Apr-2022 rillig

doc/HACKS: add bug report for internal compiler error on alpha


# 1.227 10-Apr-2022 martin

PR 56789: document gcc bug workaround for -ftrapv on alpha.


# 1.226 23-Nov-2021 thorpej

Temporary hack to work around incorrect/missing unwind info for
the t_sig_backtrace test case on ARM when compiled with optimization.


# 1.225 13-Oct-2021 nia

libcrypt hack for vax


# 1.224 16-Jul-2021 rin

PR port-sh3/56311

Correct misinterpretation for the cause of the problem, and link to
the bug report for upstream.


# 1.223 15-Jul-2021 rin

PR port-sh3/56311

Document -O0 workaround for initdecl() in doc/HACKS.


# 1.222 06-Jul-2021 thorpej

Remove jemalloc and gdb hacks for alpha; root cause has been addressed.


# 1.221 05-Jul-2021 hgutch

Update gcc9-sh3-lint - instead of disabling optimization for lex.c on
sh3, rather revert the gcc change that (seemingly accidentally) broke
this.


# 1.220 23-Jun-2021 rillig

lint1: add bug report for internal GCC compiler error


# 1.219 22-Jun-2021 martin

Document sh3* lint hack for gcc 9


Revision tags: cjep_sun2x-base1 cjep_sun2x-base
# 1.218 31-May-2021 rin

PR toolchain/55837

Get rid of -O0 hack for GDB for hard-float arm. This was necessary because
libunwind did not support s0-s31. Note that for *most* cases (not all!),
-O0 stops using VFP registers for general purposes.

Also note that this hack was incomplete. We had to compile every functions
with -O0, that can be unwinded. Otherwise, GDB crashed every time exceptions
were raised.


Revision tags: cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.217 08-May-2021 christos

mention gdb hack discovered by rin.


# 1.216 16-Dec-2020 rin

-O0 hack was reintroduced to jemalloc/rtree.c for GCC9 on alpha.


# 1.215 02-Dec-2020 wiz

comparision -> comparison


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.235 22-Jan-2023 christos

new vax compiler issues


# 1.234 06-Jan-2023 christos

Now that the default page size is 4K again for x86_64 with the binutils
change to default to -z separate-code, remove the previous hack.


# 1.233 30-Dec-2022 christos

mention binutils hack


Revision tags: netbsd-10-base
# 1.232 04-Dec-2022 jakllsch

On VAX, compile gdtoa/misc.c at -O0 to avoid incorrect machine code
resulting in some doubles printing as garbage.


# 1.231 12-Sep-2022 rin

Document -O0 hack for ibm4xx copy{in,out}() for clang 13.0.0.


# 1.230 10-Aug-2022 rin

Note that aes_ccm_tag() still fails with GCC 10.4 with -O2 on m68k.


# 1.229 31-May-2022 christos

document gomoku


# 1.228 10-Apr-2022 rillig

doc/HACKS: add bug report for internal compiler error on alpha


# 1.227 10-Apr-2022 martin

PR 56789: document gcc bug workaround for -ftrapv on alpha.


# 1.226 23-Nov-2021 thorpej

Temporary hack to work around incorrect/missing unwind info for
the t_sig_backtrace test case on ARM when compiled with optimization.


# 1.225 13-Oct-2021 nia

libcrypt hack for vax


# 1.224 16-Jul-2021 rin

PR port-sh3/56311

Correct misinterpretation for the cause of the problem, and link to
the bug report for upstream.


# 1.223 15-Jul-2021 rin

PR port-sh3/56311

Document -O0 workaround for initdecl() in doc/HACKS.


# 1.222 06-Jul-2021 thorpej

Remove jemalloc and gdb hacks for alpha; root cause has been addressed.


# 1.221 05-Jul-2021 hgutch

Update gcc9-sh3-lint - instead of disabling optimization for lex.c on
sh3, rather revert the gcc change that (seemingly accidentally) broke
this.


# 1.220 23-Jun-2021 rillig

lint1: add bug report for internal GCC compiler error


# 1.219 22-Jun-2021 martin

Document sh3* lint hack for gcc 9


Revision tags: cjep_sun2x-base1 cjep_sun2x-base
# 1.218 31-May-2021 rin

PR toolchain/55837

Get rid of -O0 hack for GDB for hard-float arm. This was necessary because
libunwind did not support s0-s31. Note that for *most* cases (not all!),
-O0 stops using VFP registers for general purposes.

Also note that this hack was incomplete. We had to compile every functions
with -O0, that can be unwinded. Otherwise, GDB crashed every time exceptions
were raised.


Revision tags: cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.217 08-May-2021 christos

mention gdb hack discovered by rin.


# 1.216 16-Dec-2020 rin

-O0 hack was reintroduced to jemalloc/rtree.c for GCC9 on alpha.


# 1.215 02-Dec-2020 wiz

comparision -> comparison


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.234 06-Jan-2023 christos

Now that the default page size is 4K again for x86_64 with the binutils
change to default to -z separate-code, remove the previous hack.


# 1.233 30-Dec-2022 christos

mention binutils hack


Revision tags: netbsd-10-base
# 1.232 04-Dec-2022 jakllsch

On VAX, compile gdtoa/misc.c at -O0 to avoid incorrect machine code
resulting in some doubles printing as garbage.


# 1.231 12-Sep-2022 rin

Document -O0 hack for ibm4xx copy{in,out}() for clang 13.0.0.


# 1.230 10-Aug-2022 rin

Note that aes_ccm_tag() still fails with GCC 10.4 with -O2 on m68k.


# 1.229 31-May-2022 christos

document gomoku


# 1.228 10-Apr-2022 rillig

doc/HACKS: add bug report for internal compiler error on alpha


# 1.227 10-Apr-2022 martin

PR 56789: document gcc bug workaround for -ftrapv on alpha.


# 1.226 23-Nov-2021 thorpej

Temporary hack to work around incorrect/missing unwind info for
the t_sig_backtrace test case on ARM when compiled with optimization.


# 1.225 13-Oct-2021 nia

libcrypt hack for vax


# 1.224 16-Jul-2021 rin

PR port-sh3/56311

Correct misinterpretation for the cause of the problem, and link to
the bug report for upstream.


# 1.223 15-Jul-2021 rin

PR port-sh3/56311

Document -O0 workaround for initdecl() in doc/HACKS.


# 1.222 06-Jul-2021 thorpej

Remove jemalloc and gdb hacks for alpha; root cause has been addressed.


# 1.221 05-Jul-2021 hgutch

Update gcc9-sh3-lint - instead of disabling optimization for lex.c on
sh3, rather revert the gcc change that (seemingly accidentally) broke
this.


# 1.220 23-Jun-2021 rillig

lint1: add bug report for internal GCC compiler error


# 1.219 22-Jun-2021 martin

Document sh3* lint hack for gcc 9


Revision tags: cjep_sun2x-base1 cjep_sun2x-base
# 1.218 31-May-2021 rin

PR toolchain/55837

Get rid of -O0 hack for GDB for hard-float arm. This was necessary because
libunwind did not support s0-s31. Note that for *most* cases (not all!),
-O0 stops using VFP registers for general purposes.

Also note that this hack was incomplete. We had to compile every functions
with -O0, that can be unwinded. Otherwise, GDB crashed every time exceptions
were raised.


Revision tags: cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.217 08-May-2021 christos

mention gdb hack discovered by rin.


# 1.216 16-Dec-2020 rin

-O0 hack was reintroduced to jemalloc/rtree.c for GCC9 on alpha.


# 1.215 02-Dec-2020 wiz

comparision -> comparison


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.233 30-Dec-2022 christos

mention binutils hack


Revision tags: netbsd-10-base
# 1.232 04-Dec-2022 jakllsch

On VAX, compile gdtoa/misc.c at -O0 to avoid incorrect machine code
resulting in some doubles printing as garbage.


# 1.231 12-Sep-2022 rin

Document -O0 hack for ibm4xx copy{in,out}() for clang 13.0.0.


# 1.230 10-Aug-2022 rin

Note that aes_ccm_tag() still fails with GCC 10.4 with -O2 on m68k.


# 1.229 31-May-2022 christos

document gomoku


# 1.228 10-Apr-2022 rillig

doc/HACKS: add bug report for internal compiler error on alpha


# 1.227 10-Apr-2022 martin

PR 56789: document gcc bug workaround for -ftrapv on alpha.


# 1.226 23-Nov-2021 thorpej

Temporary hack to work around incorrect/missing unwind info for
the t_sig_backtrace test case on ARM when compiled with optimization.


# 1.225 13-Oct-2021 nia

libcrypt hack for vax


# 1.224 16-Jul-2021 rin

PR port-sh3/56311

Correct misinterpretation for the cause of the problem, and link to
the bug report for upstream.


# 1.223 15-Jul-2021 rin

PR port-sh3/56311

Document -O0 workaround for initdecl() in doc/HACKS.


# 1.222 06-Jul-2021 thorpej

Remove jemalloc and gdb hacks for alpha; root cause has been addressed.


# 1.221 05-Jul-2021 hgutch

Update gcc9-sh3-lint - instead of disabling optimization for lex.c on
sh3, rather revert the gcc change that (seemingly accidentally) broke
this.


# 1.220 23-Jun-2021 rillig

lint1: add bug report for internal GCC compiler error


# 1.219 22-Jun-2021 martin

Document sh3* lint hack for gcc 9


Revision tags: cjep_sun2x-base1 cjep_sun2x-base
# 1.218 31-May-2021 rin

PR toolchain/55837

Get rid of -O0 hack for GDB for hard-float arm. This was necessary because
libunwind did not support s0-s31. Note that for *most* cases (not all!),
-O0 stops using VFP registers for general purposes.

Also note that this hack was incomplete. We had to compile every functions
with -O0, that can be unwinded. Otherwise, GDB crashed every time exceptions
were raised.


Revision tags: cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.217 08-May-2021 christos

mention gdb hack discovered by rin.


# 1.216 16-Dec-2020 rin

-O0 hack was reintroduced to jemalloc/rtree.c for GCC9 on alpha.


# 1.215 02-Dec-2020 wiz

comparision -> comparison


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.232 04-Dec-2022 jakllsch

On VAX, compile gdtoa/misc.c at -O0 to avoid incorrect machine code
resulting in some doubles printing as garbage.


# 1.231 12-Sep-2022 rin

Document -O0 hack for ibm4xx copy{in,out}() for clang 13.0.0.


# 1.230 10-Aug-2022 rin

Note that aes_ccm_tag() still fails with GCC 10.4 with -O2 on m68k.


# 1.229 31-May-2022 christos

document gomoku


# 1.228 10-Apr-2022 rillig

doc/HACKS: add bug report for internal compiler error on alpha


# 1.227 10-Apr-2022 martin

PR 56789: document gcc bug workaround for -ftrapv on alpha.


# 1.226 23-Nov-2021 thorpej

Temporary hack to work around incorrect/missing unwind info for
the t_sig_backtrace test case on ARM when compiled with optimization.


# 1.225 13-Oct-2021 nia

libcrypt hack for vax


# 1.224 16-Jul-2021 rin

PR port-sh3/56311

Correct misinterpretation for the cause of the problem, and link to
the bug report for upstream.


# 1.223 15-Jul-2021 rin

PR port-sh3/56311

Document -O0 workaround for initdecl() in doc/HACKS.


# 1.222 06-Jul-2021 thorpej

Remove jemalloc and gdb hacks for alpha; root cause has been addressed.


# 1.221 05-Jul-2021 hgutch

Update gcc9-sh3-lint - instead of disabling optimization for lex.c on
sh3, rather revert the gcc change that (seemingly accidentally) broke
this.


# 1.220 23-Jun-2021 rillig

lint1: add bug report for internal GCC compiler error


# 1.219 22-Jun-2021 martin

Document sh3* lint hack for gcc 9


Revision tags: cjep_sun2x-base1 cjep_sun2x-base
# 1.218 31-May-2021 rin

PR toolchain/55837

Get rid of -O0 hack for GDB for hard-float arm. This was necessary because
libunwind did not support s0-s31. Note that for *most* cases (not all!),
-O0 stops using VFP registers for general purposes.

Also note that this hack was incomplete. We had to compile every functions
with -O0, that can be unwinded. Otherwise, GDB crashed every time exceptions
were raised.


Revision tags: cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.217 08-May-2021 christos

mention gdb hack discovered by rin.


# 1.216 16-Dec-2020 rin

-O0 hack was reintroduced to jemalloc/rtree.c for GCC9 on alpha.


# 1.215 02-Dec-2020 wiz

comparision -> comparison


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.231 12-Sep-2022 rin

Document -O0 hack for ibm4xx copy{in,out}() for clang 13.0.0.


# 1.230 10-Aug-2022 rin

Note that aes_ccm_tag() still fails with GCC 10.4 with -O2 on m68k.


# 1.229 31-May-2022 christos

document gomoku


# 1.228 10-Apr-2022 rillig

doc/HACKS: add bug report for internal compiler error on alpha


# 1.227 10-Apr-2022 martin

PR 56789: document gcc bug workaround for -ftrapv on alpha.


# 1.226 23-Nov-2021 thorpej

Temporary hack to work around incorrect/missing unwind info for
the t_sig_backtrace test case on ARM when compiled with optimization.


# 1.225 13-Oct-2021 nia

libcrypt hack for vax


# 1.224 16-Jul-2021 rin

PR port-sh3/56311

Correct misinterpretation for the cause of the problem, and link to
the bug report for upstream.


# 1.223 15-Jul-2021 rin

PR port-sh3/56311

Document -O0 workaround for initdecl() in doc/HACKS.


# 1.222 06-Jul-2021 thorpej

Remove jemalloc and gdb hacks for alpha; root cause has been addressed.


# 1.221 05-Jul-2021 hgutch

Update gcc9-sh3-lint - instead of disabling optimization for lex.c on
sh3, rather revert the gcc change that (seemingly accidentally) broke
this.


# 1.220 23-Jun-2021 rillig

lint1: add bug report for internal GCC compiler error


# 1.219 22-Jun-2021 martin

Document sh3* lint hack for gcc 9


Revision tags: cjep_sun2x-base1 cjep_sun2x-base
# 1.218 31-May-2021 rin

PR toolchain/55837

Get rid of -O0 hack for GDB for hard-float arm. This was necessary because
libunwind did not support s0-s31. Note that for *most* cases (not all!),
-O0 stops using VFP registers for general purposes.

Also note that this hack was incomplete. We had to compile every functions
with -O0, that can be unwinded. Otherwise, GDB crashed every time exceptions
were raised.


Revision tags: cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.217 08-May-2021 christos

mention gdb hack discovered by rin.


# 1.216 16-Dec-2020 rin

-O0 hack was reintroduced to jemalloc/rtree.c for GCC9 on alpha.


# 1.215 02-Dec-2020 wiz

comparision -> comparison


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.230 10-Aug-2022 rin

Note that aes_ccm_tag() still fails with GCC 10.4 with -O2 on m68k.


# 1.229 31-May-2022 christos

document gomoku


# 1.228 10-Apr-2022 rillig

doc/HACKS: add bug report for internal compiler error on alpha


# 1.227 10-Apr-2022 martin

PR 56789: document gcc bug workaround for -ftrapv on alpha.


# 1.226 23-Nov-2021 thorpej

Temporary hack to work around incorrect/missing unwind info for
the t_sig_backtrace test case on ARM when compiled with optimization.


# 1.225 13-Oct-2021 nia

libcrypt hack for vax


# 1.224 16-Jul-2021 rin

PR port-sh3/56311

Correct misinterpretation for the cause of the problem, and link to
the bug report for upstream.


# 1.223 15-Jul-2021 rin

PR port-sh3/56311

Document -O0 workaround for initdecl() in doc/HACKS.


# 1.222 06-Jul-2021 thorpej

Remove jemalloc and gdb hacks for alpha; root cause has been addressed.


# 1.221 05-Jul-2021 hgutch

Update gcc9-sh3-lint - instead of disabling optimization for lex.c on
sh3, rather revert the gcc change that (seemingly accidentally) broke
this.


# 1.220 23-Jun-2021 rillig

lint1: add bug report for internal GCC compiler error


# 1.219 22-Jun-2021 martin

Document sh3* lint hack for gcc 9


Revision tags: cjep_sun2x-base1 cjep_sun2x-base
# 1.218 31-May-2021 rin

PR toolchain/55837

Get rid of -O0 hack for GDB for hard-float arm. This was necessary because
libunwind did not support s0-s31. Note that for *most* cases (not all!),
-O0 stops using VFP registers for general purposes.

Also note that this hack was incomplete. We had to compile every functions
with -O0, that can be unwinded. Otherwise, GDB crashed every time exceptions
were raised.


Revision tags: cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.217 08-May-2021 christos

mention gdb hack discovered by rin.


# 1.216 16-Dec-2020 rin

-O0 hack was reintroduced to jemalloc/rtree.c for GCC9 on alpha.


# 1.215 02-Dec-2020 wiz

comparision -> comparison


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.229 31-May-2022 christos

document gomoku


# 1.228 10-Apr-2022 rillig

doc/HACKS: add bug report for internal compiler error on alpha


# 1.227 10-Apr-2022 martin

PR 56789: document gcc bug workaround for -ftrapv on alpha.


# 1.226 23-Nov-2021 thorpej

Temporary hack to work around incorrect/missing unwind info for
the t_sig_backtrace test case on ARM when compiled with optimization.


# 1.225 13-Oct-2021 nia

libcrypt hack for vax


# 1.224 16-Jul-2021 rin

PR port-sh3/56311

Correct misinterpretation for the cause of the problem, and link to
the bug report for upstream.


# 1.223 15-Jul-2021 rin

PR port-sh3/56311

Document -O0 workaround for initdecl() in doc/HACKS.


# 1.222 06-Jul-2021 thorpej

Remove jemalloc and gdb hacks for alpha; root cause has been addressed.


# 1.221 05-Jul-2021 hgutch

Update gcc9-sh3-lint - instead of disabling optimization for lex.c on
sh3, rather revert the gcc change that (seemingly accidentally) broke
this.


# 1.220 23-Jun-2021 rillig

lint1: add bug report for internal GCC compiler error


# 1.219 22-Jun-2021 martin

Document sh3* lint hack for gcc 9


Revision tags: cjep_sun2x-base1 cjep_sun2x-base
# 1.218 31-May-2021 rin

PR toolchain/55837

Get rid of -O0 hack for GDB for hard-float arm. This was necessary because
libunwind did not support s0-s31. Note that for *most* cases (not all!),
-O0 stops using VFP registers for general purposes.

Also note that this hack was incomplete. We had to compile every functions
with -O0, that can be unwinded. Otherwise, GDB crashed every time exceptions
were raised.


Revision tags: cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.217 08-May-2021 christos

mention gdb hack discovered by rin.


# 1.216 16-Dec-2020 rin

-O0 hack was reintroduced to jemalloc/rtree.c for GCC9 on alpha.


# 1.215 02-Dec-2020 wiz

comparision -> comparison


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.228 10-Apr-2022 rillig

doc/HACKS: add bug report for internal compiler error on alpha


# 1.227 10-Apr-2022 martin

PR 56789: document gcc bug workaround for -ftrapv on alpha.


# 1.226 23-Nov-2021 thorpej

Temporary hack to work around incorrect/missing unwind info for
the t_sig_backtrace test case on ARM when compiled with optimization.


# 1.225 13-Oct-2021 nia

libcrypt hack for vax


# 1.224 16-Jul-2021 rin

PR port-sh3/56311

Correct misinterpretation for the cause of the problem, and link to
the bug report for upstream.


# 1.223 15-Jul-2021 rin

PR port-sh3/56311

Document -O0 workaround for initdecl() in doc/HACKS.


# 1.222 06-Jul-2021 thorpej

Remove jemalloc and gdb hacks for alpha; root cause has been addressed.


# 1.221 05-Jul-2021 hgutch

Update gcc9-sh3-lint - instead of disabling optimization for lex.c on
sh3, rather revert the gcc change that (seemingly accidentally) broke
this.


# 1.220 23-Jun-2021 rillig

lint1: add bug report for internal GCC compiler error


# 1.219 22-Jun-2021 martin

Document sh3* lint hack for gcc 9


Revision tags: cjep_sun2x-base1 cjep_sun2x-base
# 1.218 31-May-2021 rin

PR toolchain/55837

Get rid of -O0 hack for GDB for hard-float arm. This was necessary because
libunwind did not support s0-s31. Note that for *most* cases (not all!),
-O0 stops using VFP registers for general purposes.

Also note that this hack was incomplete. We had to compile every functions
with -O0, that can be unwinded. Otherwise, GDB crashed every time exceptions
were raised.


Revision tags: cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.217 08-May-2021 christos

mention gdb hack discovered by rin.


# 1.216 16-Dec-2020 rin

-O0 hack was reintroduced to jemalloc/rtree.c for GCC9 on alpha.


# 1.215 02-Dec-2020 wiz

comparision -> comparison


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.226 23-Nov-2021 thorpej

Temporary hack to work around incorrect/missing unwind info for
the t_sig_backtrace test case on ARM when compiled with optimization.


# 1.225 13-Oct-2021 nia

libcrypt hack for vax


# 1.224 16-Jul-2021 rin

PR port-sh3/56311

Correct misinterpretation for the cause of the problem, and link to
the bug report for upstream.


# 1.223 15-Jul-2021 rin

PR port-sh3/56311

Document -O0 workaround for initdecl() in doc/HACKS.


# 1.222 06-Jul-2021 thorpej

Remove jemalloc and gdb hacks for alpha; root cause has been addressed.


# 1.221 05-Jul-2021 hgutch

Update gcc9-sh3-lint - instead of disabling optimization for lex.c on
sh3, rather revert the gcc change that (seemingly accidentally) broke
this.


# 1.220 23-Jun-2021 rillig

lint1: add bug report for internal GCC compiler error


# 1.219 22-Jun-2021 martin

Document sh3* lint hack for gcc 9


Revision tags: cjep_sun2x-base1 cjep_sun2x-base
# 1.218 31-May-2021 rin

PR toolchain/55837

Get rid of -O0 hack for GDB for hard-float arm. This was necessary because
libunwind did not support s0-s31. Note that for *most* cases (not all!),
-O0 stops using VFP registers for general purposes.

Also note that this hack was incomplete. We had to compile every functions
with -O0, that can be unwinded. Otherwise, GDB crashed every time exceptions
were raised.


Revision tags: cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.217 08-May-2021 christos

mention gdb hack discovered by rin.


# 1.216 16-Dec-2020 rin

-O0 hack was reintroduced to jemalloc/rtree.c for GCC9 on alpha.


# 1.215 02-Dec-2020 wiz

comparision -> comparison


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.225 13-Oct-2021 nia

libcrypt hack for vax


# 1.224 16-Jul-2021 rin

PR port-sh3/56311

Correct misinterpretation for the cause of the problem, and link to
the bug report for upstream.


# 1.223 15-Jul-2021 rin

PR port-sh3/56311

Document -O0 workaround for initdecl() in doc/HACKS.


# 1.222 06-Jul-2021 thorpej

Remove jemalloc and gdb hacks for alpha; root cause has been addressed.


# 1.221 05-Jul-2021 hgutch

Update gcc9-sh3-lint - instead of disabling optimization for lex.c on
sh3, rather revert the gcc change that (seemingly accidentally) broke
this.


# 1.220 23-Jun-2021 rillig

lint1: add bug report for internal GCC compiler error


# 1.219 22-Jun-2021 martin

Document sh3* lint hack for gcc 9


Revision tags: cjep_sun2x-base1 cjep_sun2x-base
# 1.218 31-May-2021 rin

PR toolchain/55837

Get rid of -O0 hack for GDB for hard-float arm. This was necessary because
libunwind did not support s0-s31. Note that for *most* cases (not all!),
-O0 stops using VFP registers for general purposes.

Also note that this hack was incomplete. We had to compile every functions
with -O0, that can be unwinded. Otherwise, GDB crashed every time exceptions
were raised.


Revision tags: cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.217 08-May-2021 christos

mention gdb hack discovered by rin.


# 1.216 16-Dec-2020 rin

-O0 hack was reintroduced to jemalloc/rtree.c for GCC9 on alpha.


# 1.215 02-Dec-2020 wiz

comparision -> comparison


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.224 16-Jul-2021 rin

PR port-sh3/56311

Correct misinterpretation for the cause of the problem, and link to
the bug report for upstream.


# 1.223 15-Jul-2021 rin

PR port-sh3/56311

Document -O0 workaround for initdecl() in doc/HACKS.


# 1.222 06-Jul-2021 thorpej

Remove jemalloc and gdb hacks for alpha; root cause has been addressed.


# 1.221 05-Jul-2021 hgutch

Update gcc9-sh3-lint - instead of disabling optimization for lex.c on
sh3, rather revert the gcc change that (seemingly accidentally) broke
this.


# 1.220 23-Jun-2021 rillig

lint1: add bug report for internal GCC compiler error


# 1.219 22-Jun-2021 martin

Document sh3* lint hack for gcc 9


Revision tags: cjep_sun2x-base1 cjep_sun2x-base
# 1.218 31-May-2021 rin

PR toolchain/55837

Get rid of -O0 hack for GDB for hard-float arm. This was necessary because
libunwind did not support s0-s31. Note that for *most* cases (not all!),
-O0 stops using VFP registers for general purposes.

Also note that this hack was incomplete. We had to compile every functions
with -O0, that can be unwinded. Otherwise, GDB crashed every time exceptions
were raised.


Revision tags: cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.217 08-May-2021 christos

mention gdb hack discovered by rin.


# 1.216 16-Dec-2020 rin

-O0 hack was reintroduced to jemalloc/rtree.c for GCC9 on alpha.


# 1.215 02-Dec-2020 wiz

comparision -> comparison


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.223 15-Jul-2021 rin

PR port-sh3/56311

Document -O0 workaround for initdecl() in doc/HACKS.


# 1.222 06-Jul-2021 thorpej

Remove jemalloc and gdb hacks for alpha; root cause has been addressed.


# 1.221 05-Jul-2021 hgutch

Update gcc9-sh3-lint - instead of disabling optimization for lex.c on
sh3, rather revert the gcc change that (seemingly accidentally) broke
this.


# 1.220 23-Jun-2021 rillig

lint1: add bug report for internal GCC compiler error


# 1.219 22-Jun-2021 martin

Document sh3* lint hack for gcc 9


Revision tags: cjep_sun2x-base1 cjep_sun2x-base
# 1.218 31-May-2021 rin

PR toolchain/55837

Get rid of -O0 hack for GDB for hard-float arm. This was necessary because
libunwind did not support s0-s31. Note that for *most* cases (not all!),
-O0 stops using VFP registers for general purposes.

Also note that this hack was incomplete. We had to compile every functions
with -O0, that can be unwinded. Otherwise, GDB crashed every time exceptions
were raised.


Revision tags: cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.217 08-May-2021 christos

mention gdb hack discovered by rin.


# 1.216 16-Dec-2020 rin

-O0 hack was reintroduced to jemalloc/rtree.c for GCC9 on alpha.


# 1.215 02-Dec-2020 wiz

comparision -> comparison


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.222 06-Jul-2021 thorpej

Remove jemalloc and gdb hacks for alpha; root cause has been addressed.


# 1.221 05-Jul-2021 hgutch

Update gcc9-sh3-lint - instead of disabling optimization for lex.c on
sh3, rather revert the gcc change that (seemingly accidentally) broke
this.


# 1.220 23-Jun-2021 rillig

lint1: add bug report for internal GCC compiler error


# 1.219 22-Jun-2021 martin

Document sh3* lint hack for gcc 9


Revision tags: cjep_sun2x-base1 cjep_sun2x-base
# 1.218 31-May-2021 rin

PR toolchain/55837

Get rid of -O0 hack for GDB for hard-float arm. This was necessary because
libunwind did not support s0-s31. Note that for *most* cases (not all!),
-O0 stops using VFP registers for general purposes.

Also note that this hack was incomplete. We had to compile every functions
with -O0, that can be unwinded. Otherwise, GDB crashed every time exceptions
were raised.


Revision tags: cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.217 08-May-2021 christos

mention gdb hack discovered by rin.


# 1.216 16-Dec-2020 rin

-O0 hack was reintroduced to jemalloc/rtree.c for GCC9 on alpha.


# 1.215 02-Dec-2020 wiz

comparision -> comparison


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.221 05-Jul-2021 hgutch

Update gcc9-sh3-lint - instead of disabling optimization for lex.c on
sh3, rather revert the gcc change that (seemingly accidentally) broke
this.


# 1.220 23-Jun-2021 rillig

lint1: add bug report for internal GCC compiler error


# 1.219 22-Jun-2021 martin

Document sh3* lint hack for gcc 9


Revision tags: cjep_sun2x-base1 cjep_sun2x-base
# 1.218 31-May-2021 rin

PR toolchain/55837

Get rid of -O0 hack for GDB for hard-float arm. This was necessary because
libunwind did not support s0-s31. Note that for *most* cases (not all!),
-O0 stops using VFP registers for general purposes.

Also note that this hack was incomplete. We had to compile every functions
with -O0, that can be unwinded. Otherwise, GDB crashed every time exceptions
were raised.


Revision tags: cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.217 08-May-2021 christos

mention gdb hack discovered by rin.


# 1.216 16-Dec-2020 rin

-O0 hack was reintroduced to jemalloc/rtree.c for GCC9 on alpha.


# 1.215 02-Dec-2020 wiz

comparision -> comparison


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.220 23-Jun-2021 rillig

lint1: add bug report for internal GCC compiler error


# 1.219 22-Jun-2021 martin

Document sh3* lint hack for gcc 9


Revision tags: cjep_sun2x-base1 cjep_sun2x-base
# 1.218 31-May-2021 rin

PR toolchain/55837

Get rid of -O0 hack for GDB for hard-float arm. This was necessary because
libunwind did not support s0-s31. Note that for *most* cases (not all!),
-O0 stops using VFP registers for general purposes.

Also note that this hack was incomplete. We had to compile every functions
with -O0, that can be unwinded. Otherwise, GDB crashed every time exceptions
were raised.


Revision tags: cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.217 08-May-2021 christos

mention gdb hack discovered by rin.


# 1.216 16-Dec-2020 rin

-O0 hack was reintroduced to jemalloc/rtree.c for GCC9 on alpha.


# 1.215 02-Dec-2020 wiz

comparision -> comparison


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.218 31-May-2021 rin

PR toolchain/55837

Get rid of -O0 hack for GDB for hard-float arm. This was necessary because
libunwind did not support s0-s31. Note that for *most* cases (not all!),
-O0 stops using VFP registers for general purposes.

Also note that this hack was incomplete. We had to compile every functions
with -O0, that can be unwinded. Otherwise, GDB crashed every time exceptions
were raised.


Revision tags: cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.217 08-May-2021 christos

mention gdb hack discovered by rin.


# 1.216 16-Dec-2020 rin

-O0 hack was reintroduced to jemalloc/rtree.c for GCC9 on alpha.


# 1.215 02-Dec-2020 wiz

comparision -> comparison


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


Revision tags: cjep_staticlib_x-base
# 1.217 08-May-2021 christos

mention gdb hack discovered by rin.


# 1.216 16-Dec-2020 rin

-O0 hack was reintroduced to jemalloc/rtree.c for GCC9 on alpha.


# 1.215 02-Dec-2020 wiz

comparision -> comparison


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.216 16-Dec-2020 rin

-O0 hack was reintroduced to jemalloc/rtree.c for GCC9 on alpha.


# 1.215 02-Dec-2020 wiz

comparision -> comparison


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.215 02-Dec-2020 wiz

comparision -> comparison


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.214 08-Oct-2020 rin

GCC 9.3 miscompiles dwarf2{expr,loc}.c with -O2 for earmv5hf{,eb}
(-O1 is fine). This is a new regression introduced in GCC9.

For everyone's safety, extend -O0 hack to dwarf2{expr,loc}.c for
all arm variants with GCC >= 8.


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.213 07-Oct-2020 rin

PR port-alpha/54307

GCC 9.3 seems to be able to compile rtree.c with -O2:

- No new regressions in ATF.
- System survives over a night, at least, under heavy loads.

On the other hand, unfortunately, GCC 9.3 still miscompiles tcache.c
with -O2 or -O1. For example, even ``gcc -g hello.c'' fails with ICE
if tcache.c is compiled with -O[12] in libc.


# 1.212 05-Oct-2020 rin

Update gdb/dwarf2expr.c hack for earmv7hf{,eb}; the situation does not
change even for GCC 9.3 with ``memcmp'' fix.


# 1.211 05-Oct-2020 rin

Update aes_ccm_tag() hack for m68k.

Even with ``memcmp fix'', GCC 9.4 miscompiles this function for -O[12].
But the situation was slightly changed from that with GCC 8.3:

* -O0 and -O1 work but -O2 fails for 68060 and 68040 (real hardware)
* -O0 and -O2 work but -O1 fails for 68020 and 68010 (TME)


# 1.210 05-Oct-2020 rin

Remove -fno-omit-frame-pointer hack for sun2 kernel.


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.209 18-Sep-2020 christos

mention strtod hack


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.208 10-Aug-2020 rin

Add hacks for GCC8 vs m68k ports:

compile aes_ccm_tag() with -O0 for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/crypto/aes/aes_ccm.c#rev1.5

compile kernel with -fno-omit-frame-pointer for GCC8
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sun2/conf/Makefile.sun2#rev1.25


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.207 10-May-2020 maxv

Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.206 06-May-2020 snj

netsmb is no more


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.205 30-Apr-2020 rin

Hack "gcc-4.5 arm without -fno-tree-vrp generate broken code" was removed in
src/lib/libc/softfloat/Makefile.inc rev 1.21:

http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/softfloat/Makefile.inc#rev1.21

Now, all tests mentioned in the entry are passed for softfloat arm.


# 1.204 30-Apr-2020 rin

lmcconfig(8) was removed.


# 1.203 30-Apr-2020 rin

Add missing dates and revisions.


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.202 29-Apr-2020 rin

PR toolchain/54820
PR toolchain/54877

earmv7hf{,eb}: compile gdb/dwarf2expr.c with -O0 for GCC8

http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/gdb/lib/libgdb/Makefile#rev1.22


Revision tags: phil-wifi-20200421
# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.201 12-Apr-2020 leot

Hack removed in src/external/bsd/nvi/usr.bin/nvi/Makefile,-r1.21

It is no longer needed, per PR bin/54656.


Revision tags: phil-wifi-20200411 phil-wifi-20200406
# 1.200 04-Apr-2020 jdolecek

smbfs is no more


Revision tags: is-mlppp-base
# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.200 04-Apr-2020 jdolecek

smbfs is no more


# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.199 30-Jan-2020 christos

more like this


# 1.198 29-Jan-2020 christos

same hack different place


# 1.197 29-Jan-2020 christos

powepc/clang hack


Revision tags: phil-wifi-20191119
# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.196 03-Nov-2019 rin

Describe that both GCC 7.4 and 8.3 fail in the last entry.


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

branches: 1.190.2;
Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.195 01-Nov-2019 rin

Describe workaround for PR port-alpha/54307.


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.194 30-Oct-2019 christos

more hacks


# 1.193 29-Oct-2019 christos

sh3 now


# 1.192 29-Oct-2019 christos

gcc lossage


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.191 28-Oct-2019 christos

another vax -O1


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.190 14-May-2019 maya

Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

branches: 1.187.10;
Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.190 14-May-2019 maya

Add a hack entry for libpthread one section


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.189 03-Apr-2019 christos

mention rtld vax hack


# 1.188 03-Apr-2019 scole

Remove obsoleted ia64 gcc 4.5.3 hacks


Revision tags: pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


Revision tags: prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.187 09-Apr-2017 scole

Add ia64 ski emulator hack


Revision tags: pgoyette-localcount-20170320
# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

branches: 1.175.2;
Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.186 11-Mar-2017 maya

Remove already fixed HACKS entry. correct path to makeinfo Makefile for
easy reference.


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.185 22-Feb-2017 maya

GC some GCC 4.8 specific sh3 HACKS entries.

These existed to avoid compile errors, and haven't been effect
since gcc.old was removed.


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.184 16-Feb-2017 rin

sorry, correct English grammer


# 1.183 16-Feb-2017 rin

lcWrap.c is miscompiled on vax, which results in input failure via XIM.
Besides, some clients, e.g., pkgsrc/x11/kterm, receives SIGSEGV.


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.182 14-Feb-2017 rin

also compile poly1305.c with -O0 on vax to address ssh login failure from/to
some hosts


# 1.181 14-Feb-2017 rin

correct grammar


# 1.180 14-Feb-2017 rin

add hack for libmandoc on vax:
mandoc(1) receives SIGILL in in_line_argn() from mdoc_macro.c


# 1.179 14-Feb-2017 rin

add hack for libssh on vax


# 1.178 13-Feb-2017 rin

PR port-vax/51967 GCC 5.4 aborts on vax due to SIGILL for cc1
As a workaround, compile dse.c with -O0.


# 1.177 11-Feb-2017 christos

add sparc64 hack


# 1.176 08-Feb-2017 rin

Remove ifconfig hack on m68000. I've confirmed that the problem has already
gone with TME.


Revision tags: bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 15-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 15-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 30-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 13-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 04-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 09-Nov-2013 christos

and another


# 1.138 09-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 07-Nov-2013 joerg

Grammar fix.


# 1.135 07-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 14-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 03-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 24-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 15-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 23-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 27-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 02-Aug-2008 mrg

normalise a path


# 1.107 02-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 27-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 27-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 09-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 05-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 24-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 21-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 21-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 21-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 15-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 12-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 11-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 13-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 11-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 09-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 06-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 22-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 22-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 05-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 06-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 05-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 28-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 26-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


Revision tags: pgoyette-localcount-20161104
# 1.175 20-Oct-2016 he

Per the discussion in PR#20924, remove the HACK entry for intvec.S on vax.


Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.174 15-Jun-2016 riastradh

branches: 1.174.2;
Remove dumplfs from the list now that it seems strict-aliasing-safe.


# 1.173 15-Jun-2016 riastradh

No more obvious strict aliasing violations here.


# 1.172 15-Jun-2016 riastradh

Kill another strict aliasing violation.


# 1.171 15-Jun-2016 riastradh

This hack no longer exists since the switch to ipsec-tools in 2005.

Another strict-aliasing problem killed.


# 1.170 14-Jun-2016 mrg

replace the previous hack with something that i believe is actually
correct and, more importantly ;), works properly.

thanks for riastradh for hints about which bit was actually broken.


# 1.169 14-Jun-2016 mrg

build convert_endian() with "no-strict-aliases" optimiser attribute
to avoid some unknown miscompilation in endian_convert() that causes
ssh to exit on some output (for me, "cc -v".)

note in HACKS. we should investigate this further if possible as
this seems to indicate a strict aliasing violation. there certainly
are 32 and 64 bit object arrays being accessed with 8 bit accessors,
but i don't have time currently.


# 1.168 04-Jun-2016 joerg

Drop CSU entry.


# 1.167 10-May-2016 mrg

move the ufs_lookup hack to the global section and update it to current
reality. add a section for the crt hacks.


# 1.166 04-May-2016 christos

mention libmalloc hack


# 1.165 28-Apr-2016 mrg

note the -fno-tree-vrp hack for amd64.


# 1.164 12-Jan-2016 christos

vax does not use gcc 2.95


# 1.163 11-Jan-2016 christos

Add hack for cabs{,f,l} in <complex>


# 1.162 26-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 16-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 29-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


Revision tags: netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.152 12-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


Revision tags: yamt-pagecache-base9
# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 03-Apr-2014 christos

add ctfconvert bug.


Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


Revision tags: riastradh-drm2-base3
# 1.143 16-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 08-Nov-2013 christos

and another


# 1.138 08-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 06-Nov-2013 joerg

Grammar fix.


# 1.135 06-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


Revision tags: riastradh-drm2-base
# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


Revision tags: agc-symver-base yamt-pagecache-base8
# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


Revision tags: yamt-pagecache-base7
# 1.124 13-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


Revision tags: yamt-pagecache-base6 yamt-pagecache-base5 yamt-pagecache-base4
# 1.123 02-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: netbsd-6-base
# 1.122 23-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


Revision tags: yamt-pagecache-base3
# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


Revision tags: yamt-pagecache-base2 yamt-pagecache-base
# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 14-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


Revision tags: cherry-xenmp-base
# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.114 22-Apr-2010 christos

mention crash ldscript.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


Revision tags: netbsd-5-base matt-mips64-base2 mjf-devfs2-base
# 1.110 26-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 01-Aug-2008 mrg

normalise a path


# 1.107 01-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 06-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 26-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 26-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.96 08-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 04-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


Revision tags: matt-armv6-base
# 1.94 31-Dec-2007 ad

-systrace


Revision tags: matt-armv6-prevmlocking cube-autoconf-base matt-mips64-base
# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 08-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


Revision tags: netbsd-4-base
# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 01-Nov-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


Revision tags: abandoned-netbsd-4-base
# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 23-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 20-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 20-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 20-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 17-May-2006 christos

mention i386 csu issue.


# 1.65 14-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 11-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 10-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 12-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


Revision tags: netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 10-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 08-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 05-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


Revision tags: netbsd-2-0-base
# 1.32 21-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 21-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 06-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 04-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 08-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 05-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 04-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 27-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 27-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 25-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 19-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


Revision tags: fvdl_fs64_base
# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.162 27-Aug-2015 pooka

update c++/volatile/constexpr entry


# 1.161 23-Jul-2015 mrg

remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)


# 1.160 26-Jun-2015 pooka

document g++ 5.1 + libpthread volatile workaround (PR lib/49989)


# 1.159 08-May-2015 martin

Remove mips-kern-ksyms-size, now that it is already gone


# 1.158 08-May-2015 martin

Document mips64 kernel symbol table hack


# 1.157 17-Apr-2015 martin

Note ia64/gcc hack for mknative


# 1.156 29-Mar-2015 matt

note change to workaround bug in clang's arm integrated assembler.


# 1.155 05-Mar-2015 skrll

Rename hp700 to hppa and note new ld.elf_so hack.


# 1.154 22-Dec-2014 dennis

Remove note of hack around for riscv compiler problems with
atomics. This seems to now be fixed.


# 1.153 02-Dec-2014 dennis

Note riscv compiler workarounds for libasan


# 1.152 12-Jun-2014 mrg

remove the build support for GCC 4.1, and any hacks i found for it.

there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)


# 1.151 28-May-2014 abs

Add a hack entry for lib/libcurses/Makefile workaround for lib/48827


# 1.150 24-May-2014 martin

Note vax /boot hack


# 1.149 13-May-2014 macallan

mention workaround for PR48696


# 1.148 07-Apr-2014 christos

Add x86 bootblock hack.


# 1.147 05-Apr-2014 tron

branches: 1.147.2;
Document xauth(1) hack.


# 1.146 04-Apr-2014 wiz

Fix typo.


# 1.145 03-Apr-2014 christos

add ctfconvert bug.


# 1.144 24-Mar-2014 tron

Document makeinfo(1) hack.


# 1.143 15-Nov-2013 skrll

Remove hack now it's fixed in 4.8.2


# 1.142 13-Nov-2013 skrll

Apply hack for gcc 4.8 bug on rtld.c.


# 1.141 09-Nov-2013 christos

mention gcc-4.8 hacks for the vax


# 1.140 09-Nov-2013 christos

document fsdb bug


# 1.139 08-Nov-2013 christos

and another


# 1.138 08-Nov-2013 christos

another 4.8.1 hack; make more specific and add more info


# 1.137 07-Nov-2013 christos

another gcc-4.8.1 workaround


# 1.136 06-Nov-2013 joerg

Grammar fix.


# 1.135 06-Nov-2013 christos

mention template instantiation workaround


# 1.134 24-Jul-2013 skrll

There wasn't a codegen bug - the test program itself was buggy.

Nothing to see hear... move along.


# 1.133 23-Jul-2013 skrll

Another codegen bug that fixes (in this case lots of) atf tests.
rump_server doesn't die so much now.


# 1.132 23-Jul-2013 skrll

Add revision to previous


# 1.131 23-Jul-2013 skrll

Compile tests/lib/libc/sys/t_msgrcv with -O0 on hppa to avoid compiler
bug.


# 1.130 05-Jun-2013 joerg

branches: 1.130.2;
If /usr/bin/cpp is not executable and RPCGEN_CPP was not set, try
/usr/bin/clang-cpp. This allows rpcgen to work in a clang-only release
build. Document hack to be resolved when the final decision about
/usr/bin/cpp and friends is made.


# 1.129 03-Jun-2013 christos

more vax Makefile damage


# 1.128 24-May-2013 christos

mention x68k hacks.


# 1.127 27-Dec-2012 martin

Note another ia64 compiler workaround


# 1.126 27-Dec-2012 martin

Note libelf ia64 hack


# 1.125 27-Dec-2012 martin

Document libc hesiod.c compiler workaround on ia64


# 1.124 13-Nov-2012 msaitoh

Add note about lib/libc/softfloat/Makefile.inc hack for arm.

Gcc has a bug in tree optimization. For adddf3, -INF + -INF returns 0 without
-fno-tree-vrp. Debugging with -fdump-tree-all shows that
softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa is broken.


# 1.123 02-Mar-2012 nakayama

branches: 1.123.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


# 1.122 23-Dec-2011 tsutsui

branches: 1.122.2;
Note libc/net/Makefile.inc hostname lookup -fno-tree-ter hacks for gcc 4.5 arm.


# 1.121 08-Nov-2011 christos

mention libgcc/emacs hack.


# 1.120 29-Oct-2011 christos

branches: 1.120.2;
Another binutils workaround


# 1.119 29-Oct-2011 christos

mention another ppc64 hack.


# 1.118 27-Oct-2011 christos

librt needs the ppc64 hack too.


# 1.117 27-Oct-2011 christos

mention ppc64 hack.


# 1.116 14-Aug-2011 mrg

note the sparc / GCC 4.5.3 / NULL savefpstate IPI hack.


# 1.115 12-Mar-2011 matt

Add note of gcc build HACKS for powerpc.


# 1.114 22-Apr-2010 christos

mention crash ldscript.


# 1.113 11-Jan-2009 sketch

typo


# 1.112 11-Jan-2009 christos

mention 32 bit time_t remnants


# 1.111 29-Nov-2008 tsutsui

Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


# 1.110 26-Sep-2008 macallan

branches: 1.110.2;
add entry for the rtld.c __builtin_return_address(0) hack on powerpc


# 1.109 03-Aug-2008 veego

Restore .hx support for avoiding unneeded regeneration of header files
Fix PR lib/39185

Partly restore the changes which were removed during the Heimdal 1.1 update:
src/lib/libasn1/Makefile 1.28 -> 1.29
src/lib/libhdb/Makefile 1.21 -> 1.22
src/crypto/dist/heimdal/lib/asn1/gen.c 1.8 -> 1.9

Add .hx support in 'new' heimdal libraries:
src/lib/libgssapi/Makefile
src/lib/libhx509/Makefile

Add a new entry in doc/HACKS for this changes.


# 1.108 01-Aug-2008 mrg

normalise a path


# 1.107 01-Aug-2008 mrg

note about hacks to avoid xorg warnings


# 1.106 29-Jul-2008 lukem

document workaround for PR#39192


# 1.105 21-Jul-2008 agc

Implement, and document, an ugly hack which allows cross-building of
NetBSD on Darwin - Mac OS X Leopard - to complete successfully

hack cross-building hack on Darwin
mdate 20 July 2008
who agc
file src/distrib/common/Makefile.mdset : 1.33
descr
Darwin has problems with getopt() when used in mdsetimage -v,
due to the difference between BSD and libiberty() getopt
implementations, more fully described in
http://mail-index.netbsd.org/current-users/2008/06/27/msg003242.html
and the subsequent thread. For just now, we just have an ugly
workaround not to call mdsetimage with the -v argument on Darwin
kcah


# 1.104 12-Jul-2008 gmcgarry

Disable INCLUDE_CONFIG_FILE if compiling with PCC, since PCC cannot
handle 80KB string literals. Documented as hack.


# 1.103 16-May-2008 tsutsui

Update gcc4-sh3-bz2 entry.


# 1.102 07-May-2008 tsutsui

branches: 1.102.2;
- add an entry of gcc4/vax ICE on compiling ddb/db_command.c
- note gcc version in a vax gcc 2.95 entry
- remove obsolete gcc 3.3.2/arm -fno-strict-aliasing
- use mdate and restore cdate in gcc4-m68000


# 1.101 04-May-2008 tsutsui

Update gcc4-m68000 entry again.


# 1.100 26-Apr-2008 tsutsui

branches: 1.100.2;
Remove obsolete hack entries.

XXX could someone please take a look at gcc 2.95/vax hacks?


# 1.99 26-Apr-2008 tsutsui

Update an entry for gcc optimization on m68000.


# 1.98 28-Mar-2008 christos

branches: 1.98.2;
undo previous


# 1.97 28-Mar-2008 he

Note the build hack for racoon's privsep.c.


# 1.96 08-Feb-2008 mrg

make all sun2 use -O0 and move most of the hacks out into just 3 files.


# 1.95 04-Feb-2008 mrg

make sun2 build again with liberal use of -O0.


# 1.94 31-Dec-2007 ad

-systrace


# 1.93 08-Apr-2007 scw

branches: 1.93.4;
"port sh5" is no more, and its hacks have been undone.


# 1.92 07-Jan-2007 chs

fix a typo and remove one that's been removed from the code.


# 1.91 23-Nov-2006 martin

branches: 1.91.2; 1.91.4;
Note crunched dhclient change with -fno-strict-aliasing hack.


# 1.90 31-Oct-2006 skrll

Remove the hack that compiles dfa.c with -O1 on hppa. -O2 works fine.


# 1.89 30-Oct-2006 skrll

Remove a hack that's been fixed.


# 1.88 29-Oct-2006 uwe

The "gcc 2.95/vax can't handle __used__" hack has been fixed.


# 1.87 27-Oct-2006 uwe

G/c references to gawk that is no longer in our tree.


# 1.86 28-Sep-2006 skrll

Remove the sparc64 PLT entry.

It's compatibilty code for the changing definition of the first four PLT
entries and is very likely never going to be removed.


# 1.85 02-Sep-2006 martin

Document RAS_END() duplcate label workaround


# 1.84 01-Aug-2006 drochner

document "float" rounding workaround on i386


# 1.83 31-Jul-2006 christos

mention the correct PR.


# 1.82 31-Jul-2006 christos

mention i386 machdep.c


# 1.81 01-Jul-2006 mrg

document the GCC4/vax -O0 hacks.


# 1.80 25-Jun-2006 tsutsui

- uninitialised -> uninitialized (for consistency)
- add sys/arch/m68k/m68k/pmap_motorolo.c rev 1.19 to
the gcc4 wrong uninitialized list


# 1.79 23-Jun-2006 mrg

work around some GCC4 internal problems on m68000 platform.
document the hack, and update another GCC4 list.


# 1.78 15-Jun-2006 skrll

Remove a hack that's no longer needed with gcc 3.3.6.


# 1.77 02-Jun-2006 mrg

remove sh3/gcc2 hack.


# 1.76 25-May-2006 mrg

update the uninit list


# 1.75 24-May-2006 christos

mention config hack.


# 1.74 20-May-2006 mrg

- note sh3/vax mdreloc.c uninitialised variable warnings.
- note sh3 libbz2/gcc4 hack for blockstore.c


# 1.73 20-May-2006 dan

note more gcc4 uninitialised appeasement (amd64 pmap.c)


# 1.72 20-May-2006 mrg

note ntp_request.c 1.4


# 1.71 20-May-2006 dan

note uninitialsed appeasement in libexec/ld.elf_so/arch/x86_64/mdreloc.c


# 1.70 20-May-2006 christos

remove ypserv from the gcc4 hacks since it has been fixed.


# 1.69 20-May-2006 mrg

update the uninit gcc4 list a bit more.


# 1.68 18-May-2006 mrg

update wrong uninitialised variables list


# 1.67 17-May-2006 christos

Remove csu hack. It was not a gcc issue.


# 1.66 16-May-2006 christos

mention i386 csu issue.


# 1.65 14-May-2006 christos

Explain which initialized variables gcc misses.


# 1.64 12-May-2006 mrg

note that libsa/Makefile and crontab/Makefile have -Wno-pointer-sign and
-fno-strict-aliasing applied.


# 1.63 12-May-2006 he

List one more gcc 3.3.3 -Wuninitialized fix.


# 1.62 12-May-2006 he

Note the latest -Wuninitialized warning, and how the source is typically
marked for the other such workarounds.


# 1.61 11-May-2006 mrg

note gzip & mopd pointer-sign hacks


# 1.60 11-May-2006 mrg

update the lists for GCC4 uninit warnings and GCC4 pointer sign/strict
aliasing warnings.


# 1.59 11-May-2006 mrg

document the GCC4 pointer sign and strict aliasing problems (so far.)


# 1.58 10-May-2006 mrg

move gcc4 uninit warnings to the of the MI section. add pf.c


# 1.57 10-May-2006 mrg

document the bogus GCC4 uninitialised warning fixes.


# 1.56 08-May-2006 tsutsui

Update entry of m68k gcc ra-colorize.c.
(fixed in gcc-3.3.3 at least on m68k, but not conformed on m68000)


# 1.55 08-May-2006 he

Document the "reduce optimization for make/buf.c" hack for hppa.


# 1.54 07-Mar-2006 he

Document the hack to make ipsend and iptest build for NetBSD/vax,
with a pointer to PR#32907 for further details.


# 1.53 31-Jan-2006 scw

Document hack for gcc ICE compiling lib/libc/gdtoa/strtod.c for sh5.


# 1.52 12-Dec-2005 jmc

Note needed hack for gcc/vax and using abort in a function pointer.
From Johnny Billquist


# 1.51 07-Oct-2005 simonb

Describe the mips shared linker load address fix hack in
src/sys/kern/exec_elf32.c rev 1.107.


# 1.50 02-Jun-2005 he

Remove the hack related to -Wno-cast-qual, now that we can use
the __UNVOLATILE() macro to annul this warning more selectively.


# 1.49 02-Jun-2005 he

Document the hack to compile sys/arch/powerpc/oea/pmap.c with
-Wno-cast-qual.


# 1.48 26-May-2005 he

Reduce optimization level for sh5 for one file which causes our gcc
3.3.3 to get an internal compiler error of type "can't split insn".


# 1.47 18-May-2005 chs

as a stop-gap measure to allow boot-from-disk to work on hppa,
add some padding to the end of struct scsipi_xfer on that platform.


# 1.46 11-May-2005 chs

build grep/dfa.c with reduced optimization on hppa to avoid a gcc bug.


# 1.45 09-May-2005 jmc

Gettext assumes a C99 environment with stdbool.h or configure would provide one
from a template. As we do a reach over build, for vax builds provide stdbool.h
locally from that template.


# 1.44 06-May-2005 jmc

The __used__ change doesn't work on 2.95/vax. Put an #ifdef back in for vax and
reverted it to __unused__ as it was before


# 1.43 05-Apr-2005 tron

Don't use "-std=c99" for NetBSD-vax because gcc 2.95.3 doesn't support it.


# 1.42 22-Feb-2005 christos

branches: 1.42.2; 1.42.4;
add macppc bind compilation work-around.


# 1.41 30-Dec-2004 bjh21

Correct file reference and add PR reference in
"gcc 3.3.2/arm sys/kern/uipc_socket.c".


# 1.40 10-Nov-2004 he

Change the BIND hack for sh5 to point to the new files requiring
lowered optimization level after import of the new BIND. The old
hack is no longer required.


# 1.39 08-Oct-2004 skrll

Fix typo as provided by Giorgos Keramidas in PR 27186


# 1.38 08-Aug-2004 junyoung

Improve description on gcc-strict-aliasing.


# 1.37 05-Aug-2004 junyoung

Use -fno-strict-aliasing to compile usr.sbin/racoon/racoon and
document it as a hack. PR toolchain/26516.


# 1.36 06-Jun-2004 he

Modify latest vax entry to instead point to the commit by mhitch, now
that my change has been backed out.


# 1.35 06-Jun-2004 he

Document workaround for vax nslexer.c build problem, workaround
committed to lib/libc/arch/vax/net/Makefile.inc.


# 1.34 13-May-2004 cl

Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.33 26-Apr-2004 uwe

Drop workaround for toolchain/22489 now that the fix for it has been pulled
from the gcc current.


# 1.32 21-Mar-2004 martin

branches: 1.32.2;
Update uvm_bio.c 32bit sparc64 optimization entry.


# 1.31 21-Mar-2004 martin

Not uvm_bio.c disabled optimization on sparc64 32bit kernels.


# 1.30 21-Feb-2004 uwe

Document the workaround for toolchain/22489 (gcc optimization/11937)
that sh3 needs with gcc3.


# 1.29 15-Dec-2003 skrll

Remove the -fno-gcse-lm hack now that it is no longer needed.


# 1.28 07-Dec-2003 scw

Document the sh5 libbfd elf32.c/elf64.c hack.


# 1.27 07-Dec-2003 scw

Note some hacks required for gcc3 on sh5.


# 1.26 07-Dec-2003 simonb

Document ns32k gcc332 ICE when compiling libcpp's cppmacro.c.


# 1.25 04-Dec-2003 mrg

note binutils/ld/ldlex.c hack


# 1.24 07-Nov-2003 ragge

Note that gawk is compiled without optimizing on vax.


# 1.23 05-Nov-2003 he

Document some of the recent "compile fixes for -Wuninitialized" for
the vax port, to be reviewed when gcc 3.3.2 for vax is ready.


# 1.22 04-Nov-2003 mrg

document the m68* lossage with gcc/ra-colorize.c.


# 1.21 29-Oct-2003 mycroft

Separate by port, and remove the m68k hack.


# 1.20 28-Oct-2003 skrll

Compile sys/kern/uipc_socket.c -fno-strict-aliasing for now. PR 23044.


# 1.19 28-Oct-2003 he

Consolidate latest HACK entry into already existing entry documenting
same problem.


# 1.18 28-Oct-2003 he

sys/dev/ata/wd.c causes spurious warning about blkno not
being initialized before used. This appears to be a bug
specific to (at least) the m68k target, and will be reported
to the GCC maintainers.


# 1.17 28-Oct-2003 mrg

note mdsetimage/installboot sun2/gcc3 hacks.


# 1.16 27-Oct-2003 cl

note 'm68k {u,}int64_t used uninitialized' bug.
add reference to gcc bug report.
mark all (known) occurrences.


# 1.15 27-Oct-2003 wiz

no way, not now way.


# 1.14 27-Oct-2003 simonb

Note the GCC PR for the Duff's device warning.


# 1.13 27-Oct-2003 simonb

Use -Wno-error to compile a file with Duff's device and document this as
a hack.


# 1.12 26-Oct-2003 mycroft

Remove dead hacks.


# 1.11 25-Oct-2003 lukem

On MACHINE_ARCH==arm, compile newsyslog(8) with -fno-gcse-lm.
Fixes PRs [toolchain/22986] [toolchain/23002] [toolchain/23217]


# 1.10 26-Sep-2003 skrll

Backout previous - sparc* and i386 have switched to gdb 5.3.


# 1.9 18-Sep-2003 martin

Bye, bye, sparc64 hacks.


# 1.8 19-Sep-2003 mrg

make i386 & sparc* output DBX_DEBUG format ("-gstabs") by default for now.

XXX: back this out when these platforms switch to GDB 5.3.


# 1.7 09-Sep-2003 he

Belatedly make a note of the cast for LINUX_USRSTACK and USRSTACK made
to get the sun3 port to compile. Briefly discussed with mycroft.


# 1.6 14-Aug-2003 uwe

Remove mention of gcc-3-libtelnet hack.

The hack was removed from lib/libtelnet/Makefile rev 1.16, following
the lib/libtelnet/kerberos.c revision rev 1.10 that fixed the original
problem.


# 1.5 26-Jul-2003 salo

netbsd.org->NetBSD.org


# 1.4 16-May-2003 scw

Document the SH5 toolchain hack for pthread_lock.c.


# 1.3 06-Apr-2003 jdc

Remove curses \E[m hack - fixed in setterm.c : 1.36.
Add curses hack mentioning colour swap when real fix is to enhance termcap.


# 1.2 28-Mar-2003 he

Document hack/workaround for PR toolchain/20924.


# 1.1 21-Sep-2002 lukem

move doc/* -> basesrc/doc/*, except for doc/MIRRORS, which is not used
anymore (we refer to http://www.netbsd.org/mirrors/ now)


# 1.32.2.4 12-Aug-2004 jmc

Pullup rev 1.38 (requested by junyoung in ticket #738)

Improve description on gcc-strict-aliasing.


# 1.32.2.3 11-Aug-2004 jmc

Pullup rev 1.37 (requested by junyoung in ticket #738)

Add -fno-strict-aliasing to CFLAGS to avoid gcc warning
"dereferencing type-punned pointer will break strict-aliasing rules"
which occurs when compiling crypto_openssl.c with -O[23s].


# 1.32.2.2 15-May-2004 tron

Pull up revision 1.34 (requested by cl in ticket #326):
Workaround for gcc 2.95.3 failing to initialize structures
and/or unions inside structures using nested designators.
Should be reverted when gcc >=3.3.3 is ready for vax.


# 1.32.2.1 28-Apr-2004 jmc

Pullup rev 1.33 (requested by uwe in ticket #203)

Drop workaround for PR#22489 now that the fix for it has been pulled
from the gcc current.


# 1.42.4.1 02-Feb-2006 riz

Apply patch (requested by jnemeth in ticket #1153):
aic(4): work around rbus resource allocation problem so cards work
again. [jnemeth 20060131]


# 1.42.2.1 02-Feb-2006 riz

Apply patch (requested by jnemeth in ticket #1153):
aic(4): work around rbus resource allocation problem so cards work
again. [jnemeth 20060131]


# 1.91.4.2 03-Sep-2007 wrstuden

Sync w/ NetBSD-4-RC_1


# 1.91.4.1 03-Jun-2007 wrstuden

Catch up with now-somewhat-dated netbsd-4. These changes took longer
than expected for me to actually get around to merging.


# 1.91.2.4 17-Mar-2012 bouyer

Pull up following revision(s) via patch (requested by nakayama in ticket #1443):
sys/arch/sparc64/conf/Makefile.sparc64: revision 1.71
doc/HACKS: revision 1.123
sys/arch/sparc64/conf/files.sparc64: revision 1.138
sys/arch/sparc64/sparc64/locore.s: revision 1.340
Fix the root cause of the hack "disable optimizations for uvm_bio.c
on 32 bit kernels".
gcc converts a division in the calculation of UBC_UMAP_ADDR macro
to multiplication (smul or combination of add/sll), and the
register of its result contains a garbage in upper 32 bits (the
upper 32 bits of smul/add/sll's result isn't zero cleared).
Then it passes to pseg_get{,_real} through pmap_extract without the
zero clear of upper 32 bits in the optimization case. So the
result of pseg_get and pmap_extact sometimes gets screwed up.
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


# 1.91.2.3 29-Sep-2008 jdc

Document hack to make vax port build again
(requested by bouyer in ticket #1207).


# 1.91.2.2 19-Jul-2007 liamjfoy

branches: 1.91.2.2.2;
Pull up following revision(s) (requested by soren in ticket #774):
build.sh: revision 1.169
gnu/usr.bin/gcc4/backend/Makefile: revision 1.9
sys/arch/evbsh5/README: revision 1.1
distrib/notes/common/contents: revision 1.124
usr.sbin/ndbootd/ndbootd.c: revision 1.12
gnu/lib/libopcodes/arch/sh3eb/defs.mk: revision 1.4
gnu/lib/libbfd/arch/sh3eb/defs.mk: revision 1.8
libexec/ld.elf_so/Makefile: revision 1.78
gnu/dist/binutils/bfd/config.bfd: revision 1.14
doc/HACKS: revision 1.93
distrib/cdrom/current.conf: revision 1.8
gnu/lib/libgcc4/Makefile.inc: revision 1.6
share/mk/sys.mk: revision 1.90
distrib/sets/lists/base/mi: revision 1.700
libexec/ld.elf_so/rtld.c: revision 1.112
distrib/sets/lists/base/mi: revision 1.702
sys/arch/sh5/README: revision 1.1
gnu/lib/libbfd/arch/sh3el/bfd.h: revision 1.7
usr.sbin/traceroute/traceroute.c: revision 1.69
distrib/notes/common/main: revision 1.330
distrib/notes/common/list-setsizes.sh: revision 1.2
sys/arch/Makefile: revision 1.35
gnu/lib/libopcodes/arch/sh3el/defs.mk: revision 1.4
gnu/lib/libbfd/arch/sh3el/defs.mk: revision 1.8
share/mk/bsd.own.mk: revision 1.495
gnu/lib/libbfd/arch/sh3eb/bfd.h: revision 1.7
x11/lib/OSmesa/Makefile: revision 1.20
sys/dev/dkwedge/dkwedge_bsdlabel.c: revision 1.13
gnu/dist/binutils/opcodes/configure.in: revision 1.2
gnu/dist/binutils/opcodes/configure: revision 1.2
gnu/usr.bin/send-pr/categories: revision 1.53
etc/mtree/NetBSD.dist: revision 1.339
sys/arch/README: revision 1.42
lib/libc/gdtoa/Makefile.inc: revision 1.6
usr.bin/crunch/crunchide/Makefile: revision 1.16
sys/lkm/net/bsdcomp/Makefile: revision 1.5
regress/sys/uvm/Makefile: revision 1.6
etc/MAKEDEV.awk: revision 1.18
x11/Xserver/GL/GLcore/Makefile.GLcore: revision 1.10
sys/contrib/dev/ath/netbsd/Makefile.ath.inc: revision 1.14
gnu/lib/libbfd/Makefile: revision 1.42
doc/RESPONSIBLE: revision 1.78
Remove evbsh5.


# 1.91.2.1 16-May-2007 jdc

Work around rbus resource allocation problem so cards work again using a
patch specifically for netbsd-4 (requested by jnemeth in ticket #638).


# 1.91.2.2.2.1 17-Mar-2012 bouyer

Pull up following revision(s) via patch (requested by nakayama in ticket #1443):
sys/arch/sparc64/conf/Makefile.sparc64: revision 1.71
doc/HACKS: revision 1.123
sys/arch/sparc64/conf/files.sparc64: revision 1.138
sys/arch/sparc64/sparc64/locore.s: revision 1.340
Fix the root cause of the hack "disable optimizations for uvm_bio.c
on 32 bit kernels".
gcc converts a division in the calculation of UBC_UMAP_ADDR macro
to multiplication (smul or combination of add/sll), and the
register of its result contains a garbage in upper 32 bits (the
upper 32 bits of smul/add/sll's result isn't zero cleared).
Then it passes to pseg_get{,_real} through pmap_extract without the
zero clear of upper 32 bits in the optimization case. So the
result of pseg_get and pmap_extact sometimes gets screwed up.
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


# 1.93.4.2 22-Mar-2008 matt

sync with HEAD


# 1.93.4.1 08-Jan-2008 matt

sync with HEAD


# 1.98.2.1 18-May-2008 yamt

sync with head.


# 1.100.2.3 05-Oct-2008 mjf

Sync with HEAD.


# 1.100.2.2 02-Jun-2008 mjf

Sync with HEAD.


# 1.100.2.1 26-Apr-2008 mjf

file HACKS was added on branch mjf-devfs2 on 2008-06-02 13:21:19 +0000


# 1.102.2.2 17-Sep-2008 wrstuden

Sync with wrstuden-revivesa-base-2.


# 1.102.2.1 22-Jun-2008 wrstuden

Sync w/ -current. 34 merge conflicts to follow.


# 1.110.2.3 17-Mar-2012 bouyer

Pull up following revision(s) (requested by nakayama in ticket #1736):
sys/arch/sparc64/conf/Makefile.sparc64: revision 1.71
doc/HACKS: revision 1.123
sys/arch/sparc64/conf/files.sparc64: revision 1.138
sys/arch/sparc64/sparc64/locore.s: revision 1.340
Fix the root cause of the hack "disable optimizations for uvm_bio.c
on 32 bit kernels".
gcc converts a division in the calculation of UBC_UMAP_ADDR macro
to multiplication (smul or combination of add/sll), and the
register of its result contains a garbage in upper 32 bits (the
upper 32 bits of smul/add/sll's result isn't zero cleared).
Then it passes to pseg_get{,_real} through pmap_extract without the
zero clear of upper 32 bits in the optimization case. So the
result of pseg_get and pmap_extact sometimes gets screwed up.
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


# 1.110.2.2 06-Dec-2008 snj

branches: 1.110.2.2.2; 1.110.2.2.6;
Pull up following revision(s) (requested by tsutsui in ticket #164):
doc/HACKS: revision 1.111 via patch
Add an entry for workaround in src/sbin/ifconfig/Makefile
for gcc -O1 loop optimize bug.


# 1.110.2.1 19-Nov-2008 snj

Apply patch (requested by jnemeth in ticket #80):
Work around rbus resource allocation problem so aic PCMCIA cards work.


# 1.110.2.2.6.1 17-Mar-2012 bouyer

Pull up following revision(s) (requested by nakayama in ticket #1736):
sys/arch/sparc64/conf/Makefile.sparc64: revision 1.71
doc/HACKS: revision 1.123
sys/arch/sparc64/conf/files.sparc64: revision 1.138
sys/arch/sparc64/sparc64/locore.s: revision 1.340
Fix the root cause of the hack "disable optimizations for uvm_bio.c
on 32 bit kernels".
gcc converts a division in the calculation of UBC_UMAP_ADDR macro
to multiplication (smul or combination of add/sll), and the
register of its result contains a garbage in upper 32 bits (the
upper 32 bits of smul/add/sll's result isn't zero cleared).
Then it passes to pseg_get{,_real} through pmap_extract without the
zero clear of upper 32 bits in the optimization case. So the
result of pseg_get and pmap_extact sometimes gets screwed up.
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


# 1.110.2.2.2.1 17-Mar-2012 bouyer

Pull up following revision(s) (requested by nakayama in ticket #1736):
sys/arch/sparc64/conf/Makefile.sparc64: revision 1.71
doc/HACKS: revision 1.123
sys/arch/sparc64/conf/files.sparc64: revision 1.138
sys/arch/sparc64/sparc64/locore.s: revision 1.340
Fix the root cause of the hack "disable optimizations for uvm_bio.c
on 32 bit kernels".
gcc converts a division in the calculation of UBC_UMAP_ADDR macro
to multiplication (smul or combination of add/sll), and the
register of its result contains a garbage in upper 32 bits (the
upper 32 bits of smul/add/sll's result isn't zero cleared).
Then it passes to pseg_get{,_real} through pmap_extract without the
zero clear of upper 32 bits in the optimization case. So the
result of pseg_get and pmap_extact sometimes gets screwed up.
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


# 1.120.2.5 22-May-2014 yamt

sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")


# 1.120.2.4 22-Jan-2013 yamt

sync with head


# 1.120.2.3 15-Jan-2013 yamt

sync with (a bit old) head


# 1.120.2.2 16-Apr-2012 yamt

sync with head


# 1.120.2.1 10-Nov-2011 yamt

sync with head


# 1.122.2.2 24-Nov-2012 jdc

Pull up revisions:
src/lib/libc/softfloat/Makefile.inc 1.11-1.12 via patch
src/doc/HACKS 1.124 via patch
(requested by msaitoh in ticket #703).

For arm, add -fno-tree-vrp to COPTS when compiling softfloat.c.
Without -fno-tree-vrp, -INF + -INF returns 0 by adddf3.
Fixes PR#46953.


# 1.122.2.1 05-Mar-2012 sborrill

branches: 1.122.2.1.4;
Pull up the following revisions(s) (requested by nakayama in ticket #85):
sys/arch/sparc64/sparc64/locore.s: revision 1.340
doc/HACKS: revision 1.123
sys/arch/sparc64/conf/Makefile.sparc64: revision 1.71
sys/arch/sparc64/conf/files.sparc64: revision 1.138

Fix the root cause of the hack "disable optimizations for uvm_bio.c
on 32 bit kernels".


# 1.122.2.1.4.1 24-Nov-2012 jdc

Pull up revisions:
src/lib/libc/softfloat/Makefile.inc 1.11-1.12 via patch
src/doc/HACKS 1.124 via patch
(requested by msaitoh in ticket #703).

For arm, add -fno-tree-vrp to COPTS when compiling softfloat.c.
Without -fno-tree-vrp, -INF + -INF returns 0 by adddf3.
Fixes PR#46953.


# 1.123.2.4 19-Aug-2014 tls

Rebase to HEAD as of a few days ago.


# 1.123.2.3 23-Jun-2013 tls

resync from head


# 1.123.2.2 24-Feb-2013 tls

resync with head


# 1.123.2.1 19-Nov-2012 tls

Resync to 2012-11-19 00:00:00 UTC


# 1.130.2.1 23-Jul-2013 riastradh

sync with HEAD


# 1.147.2.1 10-Aug-2014 tls

Rebase.