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

Annotation of src/doc/HACKS, Revision 1.56

1.56    ! tsutsui     1: # $NetBSD: HACKS,v 1.55 2006/05/08 11:09:01 he Exp $
1.1       lukem       2: #
                      3: # This file is intended to document workarounds for currently unsolved
                      4: # (mostly) compiler bugs.
                      5: #
                      6: # Format:
                      7: #   hack               title
                      8: #   cdate              creation date
                      9: #   mdate              mod date
                     10: #   who                        responsible developer
                     11: #   port               ...
                     12: #        affected ports, space separated, if not "all"
                     13: #   file               affected file : revision : line from : line to
                     14: #        affected files and revision and line numbers describing hack
                     15: #        multiple lines if necessary.
                     16: #   pr                 NNNN ...
                     17: #        problem reports this hack works around, if known. Space
                     18: #        separated.
                     19: #   regress            src/regress/directory/where/test/found
                     20: #        regression test directories, if available.
                     21: #   descr
                     22: #        insert short informal description (multi-line). (Longer ones
                     23: #        should be in the PR database. More formal descriptions might
                     24: #        be in the regress tree. See above).
                     25: #   kcah
                     26: #        closing bracket.
                     27: #
                     28: # this is a comment.
                     29:
                     30: hack   netstat ieee1394 address printing.
                     31: mdate  14 Nov 2000
                     32: who    matt
                     33: file   lib/libc/net/getnameinfo.c      : 1.32 : 497 : 503
                     34: descr
                     35:        Because the current implementation of IP over IEEE1394, the
                     36:        fw device address contains more than just the IEEE1394 EUI-64.
                     37:        So when printing out IEEE1394 addresses, ignore the extra stuff.
                     38: kcah
                     39:
                     40: hack   xterm vs. libterm
                     41: mdate  01 Aug 2000
                     42: who    jdc
                     43: file   xsrc/xc/programs/xterm/main.c   : 1.2 : 3609 : 3614
                     44: pr     10383
                     45: descr
                     46:        In order to extend the termcap string over 1023 bytes, a ZZ entry was
                     47:        introduced to point to a memory location containing the full entry.
                     48:        Without this hack, xterm will export a termcap containing the ZZ
                     49:        entry, which will then be ignored by libterm.  As xterm modifies the
                     50:        exported termcap, this would cause those modifications to be ignored.
                     51: kcah
                     52:
                     53: hack   wi-at-big-endian-bus
                     54: cdate  15 Mar 2002
                     55: who    martin
                     56: file   dev/ic/wireg.h
                     57: descr  Add an option to access the underlying bus in big endian byte order
                     58:        to work around deficiencies in bus_space_{read,write}_* macros.
                     59:        Those don't allow the implementation of a proper pcmcia bus space
                     60:        tag.
                     61: kcah
                     62:
1.3       jdc        63: hack   specific knowledge of colours in curses code
                     64: cdate  Sun Apr  6 11:05:24 BST 2003
                     65: who    jdc
                     66: file   lib/libcurses/color.c : r1.24
                     67: descr
                     68:        Swap red/blue and yellow/cyan colours for COLOR_OTHER.
                     69:        Fix is to enhance libtermcap to understand terminfo-style % sequences.
                     70:        See also:
1.5       salo       71:            http://mail-index.NetBSD.org/tech-userlevel/2003/04/06/0000.html
1.4       scw        72: kcah
                     73:
1.7       he         74: hack   Compensation for differing types of LINUX_USRSTACK and USRSTACK
                     75: cdate  21 Aug 2003
                     76: who    he
                     77: file   sys/miscfs/procfs/procfs_linux.c : 1.14
                     78: descr
                     79:        Not all ports have LINUX_USRSTACK and/or USRSTACK defined as
                     80:        literals/constants, but refer to variables of a type which is
                     81:        not "unsigned long", causing compilation of procfs_linux.c to
                     82:        fail with "makes integer from pointer without a cast".  This
                     83:        is observed on e.g. the sun3 port.  Ideally the "types" for
                     84:        symbols should be consistent across all ports.
1.25      mrg        85: kcah
                     86:
                     87: hack   GCC2 isn't C99
                     88: cdate  5 December 2003
                     89: who    mrg
                     90: file   gnu/dist/binutils/ld/ldlex.c: r1.2
                     91: descr
                     92:        ldlex.c is generated from ldlex.l and we get macro redefinition
                     93:        errors from it if __STDC_VERSION__ is not C99 compliant.  This
                     94:        hack forces NetBSD 1.6 and later systems to also include <stdint.h>
                     95:        to get the relevant definitions.  This hack should be backed out
                     96:        when all platforms have switched away from GCC2.
1.11      lukem      97: kcah
                     98:
1.37      junyoung   99: hack   gcc-strict-aliasing
                    100: cdate  6 August 2004
                    101: who    junyoung
                    102: pr     26516
                    103: file   src/usr.sbin/racoon/racoon/Makefile : 1.21
                    104: descr
                    105:        GCC issues a warning "dereferencing type-punned pointer will break
                    106:        strict-aliasing rules" when compiling
                    107:        crypto/dist/kame/racoon/crypto/openssl.c with -O[23s]. Note that this
1.38      junyoung  108:        is due to use of type casting in a non-standard way in the code and
                    109:        not a compiler bug. Once a new release of KAME with a proper fix
                    110:        applied is imported this should be backed out.
1.37      junyoung  111: kcah
                    112:
1.13      simonb    113:
1.21      mycroft   114: port   vax
                    115:
1.52      jmc       116:        hack    gcc 2.95/vax doesn't like abort being used as function pointer
                    117:        cdate   Tue Dec 13 05:54:50 GMT 2005
                    118:        who     jmc
                    119:        file    lib/libc/rpc/svc_vc.c 1.15
                    120:        descr
                    121:                Provide a local definition for abort which doesn't include
                    122:                the noreturn attribute which trips up gcc 2.95 on vax.
                    123:
1.45      jmc       124:        hack    gcc 2.95/vax doesn't have stdbool.h and gettext needs it
                    125:        cdate   Mon May  9 12:16:22 CDT 2005
                    126:        who     jmc
                    127:        file    gnu/usr.bin/gettext/Makefile.inc.prog 1.5
                    128:                gnu/usr.bin/gettext/libgrep/Makefile 1.3
                    129:                gnu/usr.bin/gettext/libnlspr/Makefile 1.5
                    130:                gnu/usr.bin/gettext/libnlsut/Makefile 1.3
                    131:        descr
                    132:                The latest gettext assumes a C99 environment or at least
                    133:                configure checks to work around this. As we don't use configure
                    134:                provide a stdbool.h for vax builds locally in directories from
                    135:                the template provided by the gettext code.
                    136:
1.44      jmc       137:        hack    gcc 2.95/vax can't handle __used__ in mcount.c
                    138:        cdate   Fri May  6 14:30:53 CDT 2005
                    139:        who     jmc
                    140:        file    src/lib/libc/gmon/mcount.c 1.17
                    141:        descr
                    142:                 Recent changes to mark this as __used__ to prevent optimization
                    143:                 away on sparc64 don't work on 2.95 vax. Ifdef'd back in the
                    144:                 old __unused__ if on vax.
                    145:
1.21      mycroft   146:        hack    gcc 2.95/vax cannot handle __builtin_ffs()
                    147:        cdate   Fri Aug 23 21:31:15 CEST 2002
                    148:        who     ragge
                    149:        file    sys/lib/libkern/libkern.h : 1.42
                    150:        descr
                    151:                __builtin_ffs() is ifdef'd away if __vax__. Matt Thomas has
                    152:                added this feature to GCC 3 so it can be removed when switching.
1.44      jmc       153:
1.21      mycroft   154:
                    155:        hack    gcc-vax-libbz2
                    156:        mdate   27 Jun 2002
                    157:        who     thorpej
                    158:        file    lib/libbz2/Makefile
                    159:        descr
                    160:                libbz2 is mis-compiled with optimization with GCC 2.95.3
1.24      ragge     161:                on VAX.  -O0 works around this problem.
                    162:        kcah
                    163:
                    164:        hack    gawk
                    165:        mdate   8 Nov 2003
                    166:        who     ragge
                    167:        file    gnu/usr.bin/gawk/Makefile
                    168:        descr
                    169:                gawk is mis-compiled with optimization with GCC 2.95.3
1.21      mycroft   170:                on VAX.  -O0 works around this problem.
                    171:        kcah
                    172:
                    173:        hack    vax Toolchain bug
                    174:        cdate   28 Mar 2003
                    175:        who     he
                    176:        file    sys/arch/vax/vax/intvec.S : 1.5
                    177:        descr
                    178:                Workaround for PR toolchain/20924.  The assembler apparently
                    179:                tries to range-check byte offsets when it doesn't have
                    180:                sufficient information to make that decision.
                    181:                Workaround uses `brw' instead of `brb' instruction.
1.23      he        182:        kcah
                    183:
                    184:        hack    vax gcc 2.95.3 -Wuninitialized workarounds
                    185:        cdate   6 Nov 2003
                    186:        who     he
                    187:        file    sys/dev/bi/if_ni.c : 1.22
                    188:        file    sys/arch/vax/vax/ctu.c : 1.20
                    189:        descr
                    190:                Workaround for gcc 2.95.3 failing to detect that certain
                    191:                variables will be initialized; so that this code compiles
                    192:                with -Wuninitialized.  Should be reviewed and possibly
                    193:                reverted when gcc 3.3.2 is ready for vax.
1.21      mycroft   194:        kcah
                    195:
1.34      cl        196:        hack    vax gcc 2.95.3 structure initialization
                    197:        cdat    13 May 2004
                    198:        who     cl
                    199:        file    sys/miscfs/kernfs/kernfs_vnops.c : 1.104
                    200:        descr
                    201:                Workaround for gcc 2.95.3 failing to initialize structures
                    202:                and/or unions inside structures using nested designators.
                    203:                Should be reverted when gcc >=3.3.3 is ready for vax.
                    204:        kcah
1.21      mycroft   205:
1.35      he        206:        hack    vax gcc 2.95.3 needs -I. to build nslexer.c
                    207:        cdat    6 Jun 2004
1.36      he        208:        who     mhitch
                    209:        file    lib/libc/arch/vax/Makefile.inc : 1.6
1.35      he        210:        descr
                    211:                It appears necessary to add -I. to CPPFLAGS when building
                    212:                nslesxer.c.  This may be caused by gcc 2.95.3 being used.
                    213:                Should be reverted when a newer gcc is ready for vax.
                    214:        kcah
                    215:
1.43      tron      216:        hack    vax gcc 2.95.3 doesn't understand "-std=c99"
                    217:        cdat    5 April 2005
                    218:        who     tron
                    219:        file    src/share/mk/bsd.sys.mk
                    220:        descr
                    221:                We cannot use "-std=c99" for compiler warning level 4 and above
                    222:                because gcc 2.95.3 doesn't support that option.
                    223:        kcah
                    224:
1.54      he        225:        hack    declare boolean_t in two IPF user-mode programs
                    226:        cdate   Tue Mar  7 19:19:20 CET 2006
                    227:        who     he
                    228:        file    dist/ipf/ipsend/iptests.c : 1.8
                    229:                dist/ipf/ipsend/sock.c : 1.7
                    230:        descr
                    231:                The IPF user-mode programs ipsend and iptest first
                    232:                include <sys/types.h> without _KERNEL defined, and
                    233:                later include <sys/file.h> with _KERNEL defined.
                    234:                This causes a build failure when building for vax,
                    235:                since <sys/device.h> ends up being included without
                    236:                bollean_t being defined by <sys/types.h>.
                    237:                Build failure and further details documented in
                    238:                PR#32907.
                    239:        kcah
                    240:
1.21      mycroft   241: port   sparc64
                    242:
                    243:        hack    binutil-2.11-sparc64-pltrela
                    244:        mdate   14 Aug 2001
                    245:        who     eeh
                    246:        file    libexec/ld.elf_so/arch/sparc64/mdreloc.c
                    247:        descr
1.39      skrll     248:                The first four PLT entries are reserved.  There is some
1.21      mycroft   249:                disagreement whether they should have associated relocation
                    250:                entries.  Both the SPARC 32-bit and 64-bit ELF specifications
                    251:                say that they should have relocation entries, but the 32-bit
                    252:                SPARC binutils do not generate them, and now the 64-bit SPARC
                    253:                binutils have stopped generating them too.
                    254:
                    255:                To provide binary compatibility, we will check the first entry,
                    256:                if it is reserved it should not be of the type JMP_SLOT.  If it
                    257:                is JMP_SLOT, then the 4 reserved entries were not generated and
                    258:                our index is 4 entries too far, so we frob the rela pointer.
                    259:        kcah
                    260:
                    261:
                    262: port   arm
                    263:
                    264:        hack    gcc-unsigned-compare
                    265:        cdate   09 Mar 2002
                    266:        mdate   18 Mar 2002
                    267:        who     bjh21
                    268:        file    dist/bind/lib/nameser/ns_parse.c : 1.3
                    269:        file    dist/dhcp/minires/ns_parse.c : 1.3
                    270:        file    dist/dhcp/omapip/result.c : 1.2
                    271:        file    dist/dhcp/server/failover.c : 1.3
                    272:        file    gnu/dist/gawk/eval.c : 1.4
                    273:        file    gnu/dist/toolchain/bfd/bfd.c : 1.2
                    274:        file    gnu/dist/toolchain/bfd/format.c : 1.2
                    275:        file    gnu/dist/toolchain/gdb/target.c : 1.2
                    276:        file    sys/kern/vfs_subr.c : 1.172
                    277:        descr   When checking that a potentially-unsigned enum is >= 0, assign
                    278:                it to an int first.  This is necessary to avoid "comparison is
                    279:                always true" warnings with -fshort-enums.  Casting to an int
                    280:                really should be enough, but turns out not to be.
                    281:        kcah
                    282:
                    283:        hack    gcc 3.3.2/arm sys/kern/uipc_socket.c
                    284:        cdate   Tue Oct 28 18:02:16 GMT 2003
                    285:        who     skrll
1.41      bjh21     286:        pr      23044
                    287:        file    sys/arch/arm/conf/Makefile.arm : 1.19
1.21      mycroft   288:        descr
                    289:                Performing a build.sh tools on a CATS with NFS mounted
                    290:                obj and src directories results in "panic: receive 1"
                    291:                The hack is to compile sys/kern/uipc_socket.c with
                    292:                -fno-strict-aliasing
                    293:        kcah
                    294:
                    295:
1.13      simonb    296: port   pc532
1.16      cl        297:
1.21      mycroft   298:        hack    egcs-pc532-ip6_mroute
                    299:        cdate   09 Jul 2002
                    300:        who     simonb
                    301:        file    sys/arch/pc532/conf/Makefile.pc532 : 1.70
                    302:        file    sys/arch/pc532/conf/files.pc532 : 1.47
                    303:        descr
                    304:                egcs 1.1.2 gets an "internal error--insn does not satisfy its
                    305:                constraints" error compiling ip6_mroute.c with -O2 or greater.
                    306:                -O1 works around this problem.
                    307:        kcah
                    308:
                    309:        hack    gcc-pc532-duffs_device
                    310:        cdate   Mon Oct 27 07:23:05 UTC 2003
                    311:        who     simonb
                    312:        file    sys/arch/pc532/conf/Makefile.pc532 : 1.71
                    313:        file    sys/arch/pc532/conf/files.pc532 : 1.52
                    314:        pr      GCC PR optimization/5230
                    315:        descr
                    316:                gcc incorrectly gives an "unreachable code at beginning of
                    317:                switch statement" for a Duff's device construct in
                    318:                arch/pc532/dev/ncr.c.  There is no way to disable just this
                    319:                warning, so -Wno-error is turned on for this file.
                    320:        kcah
                    321:
1.26      simonb    322:        hack    gcc332-cppmacro-ice
                    323:        cdate   Sun Dec  7 12:48:33 UTC 2003
                    324:        who     simonb
                    325:        file    gnu/usr.bin/gcc3/libcpp/Makefile : 1.2
                    326:        descr
                    327:                gcc 3.3.2 gets an ICE when compiling cppmacro.c with -O2.
                    328:                The hack is to use -O1 for this file.  Fixed in gcc
                    329:                -current mainline, unable to work out where the fix is
                    330:                right now.
                    331:        kcah
                    332:
1.21      mycroft   333:
                    334: port   sh3
                    335:
                    336:        hack    gcc-sh3-sed
                    337:        mdate   23 Apr 2002
                    338:        who     thorpej
                    339:        file    usr.bin/sed/Makefile    : 1.9 : 9 : 13
                    340:        descr
                    341:                The in-tree GCC 2.95.3-based compiler ICEs when building
1.26      simonb    342:                with optimization for SuperH.  Hack is to build with -O0.
1.21      mycroft   343:        kcah
                    344:
                    345:
                    346: port   sh5
                    347:
                    348:        hack    SuperH SH5 Toolchain Bugs
                    349:        cdate   11 Jul 2002
                    350:        who     scw
                    351:        file    usr.sbin/ndbootd/ndbootd.c : 1.6
                    352:        file    usr.sbin/traceroute/traceroute.c : 1.48
                    353:        descr
                    354:                The SuperH SH5 toolchain (2.97-sh5-010522) gets an internal
                    355:                compiler error when assigning a bit-wise inverted value
                    356:                under some circumstances.
                    357:                Work around it by splitting the statement into two.
                    358:        kcah
                    359:
                    360:        hack    SuperH SH5 Toolchain Bugs
                    361:        cdate   17 May 2003
                    362:        who     scw
                    363:        file    lib/libpthread/pthread_lock.c : 1.7
                    364:        descr
                    365:                The SuperH SH5 toolchain generates incorrect PIC code when
                    366:                faced with a symbol which is declared extern, but has local
                    367:                scope due to being defined within an asm() statement (without
                    368:                being declared .globl in that statement). Work around it by
                    369:                adding the .globl.
1.27      scw       370:        kcah
                    371:
                    372:        hack    gcc 3.3.2 on sh5 - ICE compiling reload1.c at -O2
                    373:        cdate   Sun Dec  7 19:44:05 GMT 2003
                    374:        who     scw
                    375:        file    gnu/usr.bin/gcc3/backend/Makefile : 1.13
                    376:        descr
                    377:                Gcc3 for sh5 gets an ICE compiling reload1.c at -O2.
                    378:                Drop to -O1 for now when building for sh5.
                    379:        kcah
1.28      scw       380:
                    381:        hack    gcc 3.3.2 on sh5 - ICE compiling elf32.c/elf64.c at -O2
                    382:        cdate   Sun Dec  7 21:10:46 GMT 2003
                    383:        who     scw
                    384:        file    gnu/lib/libbfd/Makefile : 1.39
                    385:        descr
                    386:                Gcc3 for sh5 gets an ICE compiling libbfd's elf32.c
                    387:                and elf64.c at -O2.
                    388:                Drop to -O1 for now when building for sh5.
                    389:        kcah
                    390:
1.27      scw       391:
                    392:        hack    gcc 3.3.2 on sh5 - fatal warning compiling function.c
                    393:        cdate   Sun Dec  7 19:44:05 GMT 2003
                    394:        who     scw
                    395:        file    gnu/usr.bin/gcc3/backend/Makefile : 1.13
                    396:        descr
                    397:                Gcc3 for sh5 issues a warning:
                    398:                .../gnu/dist/gcc/gcc/function.c:4742: warning: `and' of
                    399:                    mutually exclusive equal-tests is always 0.
                    400:                This causes the build to fail because of -Werror.
                    401:                Work-around by defining NOGCCERROR when building for sh5.
                    402:        kcah
                    403:
1.40      he        404:        hack    gcc 3.3.3 on sh5 - ICE compiling rbtdb.c and rbtdb64.c
                    405:        cdate   Thu Nov 11 00:35:33 UTC 2004
                    406:        who     he
                    407:        file    usr.sbin/bind/libdns/Makefile/1.2
1.27      scw       408:        descr
1.40      he        409:                Gcc3 for sh5 gets an ICE compiling these files at -O2.
1.27      scw       410:                Drop to -O1 for now when building for sh5.
1.21      mycroft   411:        kcah
1.17      mrg       412:
1.48      he        413:        hack    gcc 3.3.3 nb3 on sh5 - ICE compiling bsd-comp.c
                    414:        cdate   Thu May 25 23:05:20 UTC 2005
                    415:        who     he
                    416:        file    sys/lkm/net/bsdcomp/Makefile : 1.3
                    417:        descr
                    418:                Gcc3 for sh5 gets an ICE compiling this at -O2,
                    419:                "could not split insn".  Drop to -O1 for sh5.
                    420:        kcah
1.17      mrg       421:
1.53      scw       422:        hack    gcc 3.3.3 nb3 on sh5 - ICE compiling strtod.c
                    423:        cdate   Tue Jan 31 10:51:52 GMT 2006
                    424:        who     scw
                    425:        file    lib/libc/gdtoa/Makefile.inc : 1.2
                    426:        descr
                    427:                Gcc3 for sh5 gets an ICE compiling this at -O2,
                    428:                "could not split insn".  Drop to -O1 for sh5.
                    429:        kcah
                    430:
1.17      mrg       431: port   sun2
1.20      skrll     432:
1.21      mycroft   433:        hack    gcc 3.3.2/mdsetimage
                    434:        cdate   Tue Oct 28 18:43:05 EST 2003
                    435:        who     fredette
                    436:        file    gnu/usr.sbin/mdsetimage/Makefile : 1.15
                    437:        descr
                    438:                mdsetimage.c causes cc1 to barf for as-yet unknown reasons.
1.26      simonb    439:                this hack uses -O0 to avoid the problem.
1.21      mycroft   440:        kcah
                    441:
                    442:        hack    gcc 3.3.2/installboot/ffs.c
                    443:        cdate   Tue Oct 28 18:43:05 EST 2003
                    444:        who     fredette
                    445:        file    usr.sbin/installboot/Makefile : 1.26
                    446:        descr
                    447:                ffs.c causes cc1 to barf for as-yet unknown reasons.  this
1.26      simonb    448:                hack uses -O0 to avoid the problem.
1.22      mrg       449:        kcah
                    450:
                    451:
1.56    ! tsutsui   452: port   m68000
1.22      mrg       453:
                    454:        hack    gcc 3.3.2/gcc/ra-colorize.c
                    455:        cdate   Wed Nov  5 11:03:13 EST 2003
                    456:        who     mrg
1.46      chs       457:        file    gnu/usr.bin/gcc3/backend/Makefile : 1.11
1.22      mrg       458:        descr
                    459:                ra-colorize.c causes a whole spew of unreferenced .L* local
                    460:                symbols.  using -O0 (or even -O2 reportedly) avoids the problem.
1.56    ! tsutsui   461:                Note this has been fixed in 3.3.3 at least on m68k,
        !           462:                but it hasn't been confirmed on sun2/m68000.
        !           463:                (it's too slow even on emulator and unlikely to build
        !           464:                 toolchains on sun2 with its maximum 4MB RAM)
1.21      mycroft   465:        kcah
1.31      martin    466:
                    467: port   sparc64
                    468:
                    469:        hack    disable optimzations for uvm_bio.c on 32 bit kernels
                    470:        cdate   Sun Mar 21 14:14:04 MET 2004
                    471:        who     martin
1.32      martin    472:        file    sys/arch/sparc64/conf/Makefile.sparc64 : 1.53-1.54
                    473:        file    sys/arch/sparc64/conf/files.sparc64 : 1.93
1.31      martin    474:        descr
                    475:                The sparc compiler miscompiles uvm_bio.c when using
                    476:                any optimization. This results in ubc_release panics.
                    477:        kcah
1.42      christos  478:
                    479: port   macppc
                    480:
                    481:        hack    remove inline from rotate_{left,right}
                    482:        cdate   Tue Feb 22 13:43:25 EST 2005
                    483:        who     christos
                    484:        file    src/dist/bind/lib/dns/rbt.c
                    485:        descr
                    486:                The macppc gcc-3.3 compiler miscompiles rbt.c when these
                    487:                functions are inlined. The error is:
                    488:                .* named[368]: rbt.c:1584: INSIST(child != (void *)0) >failed
                    489:                .* named[368]: exiting (due to assertion failure)
                    490:                This is reportedly fixed in gcc-3.4
                    491:        kcah
1.46      chs       492:
                    493: port   hppa
                    494:
                    495:        hack    hppa-gcc-3.3.3/grep/dfa.c
                    496:        cdate   Sun Aug  8 08:34:32 PDT 2004
                    497:        who     chs
                    498:        file    gnu/usr.bin/grep/grep/Makefile : 1.4
                    499:        descr
                    500:                gcc 3.3.3 generates bad code for dfa.c with -O2,
                    501:                reduce optimization to -O1 to avoid the bug.
                    502:        kcah
1.47      chs       503:
1.55      he        504:        hack    hppa-gcc-3.3.3 / make/buf.c
                    505:        cdate   Mon May  8 13:02:36 CEST 2006
                    506:        who     he
                    507:        file    usr.bin/make/Makefile : 1.34
                    508:        descr
                    509:                gcc 3.3.3 nb3 gets an "unrecognized insn" internal
                    510:                compiler error when building this file with -O2,
                    511:                reduce optimization to -O1 to avoid the bug.
                    512:        kcah
                    513:
1.47      chs       514:        hack    hppa boot-from-disk memory corruption
                    515:        cdate   Wed May 18 06:56:07 PDT 2005
                    516:        who     chs
                    517:        file    src/sys/dev/scsipi/scsipiconf.h : 1.98
                    518:        descr
                    519:                There is some bug with DMA on hppa that corrupts scsipi_xfer
                    520:                structures, but it only shows up when booting from disk.
                    521:                For now, we'll add some padding to scsipi_xfer so that
                    522:                the corrupted memory is not otherwise used.
                    523:        kcah
1.51      simonb    524:
                    525: port   mips
                    526:
                    527:        hack    mips-shared-linker-load-address
                    528:        cdate   Fri Oct  7 08:33:10 UTC 2005
                    529:        who     simonb
                    530:        file    src/sys/kern/exec_elf32.c : 1.107
                    531:        descr
                    532:                With COMPAT_16 or previous enabled (which enables
                    533:                ELF_INTERP_NON_RELOCATABLE) a recent ld.elf_so will
                    534:                load and run at address 0.  The check to fix this in
                    535:                rev 1.107 only checks the first psection of the ELF
                    536:                executable, which may not be loadable.  A more correct
                    537:                fix is to check the first loadable psection instead of
                    538:                just the first psection.
                    539:        kcah
1.54      he        540:

CVSweb <webmaster@jp.NetBSD.org>