cvs commit: src/sys/boot/arc/include arcfuncs.hsrc/sys/boot/i386/boot2 boot2.c src/sys/dev/aic7xxx/aicasm aicasm.c src/sys/dev/cx machdep.h src/sys/dev/ichsmb ichsmb.c src/sys/dev/iir iir.h src/sys/dev/isp ispvar.h src/sys/dev/mcd mcdreg.h ...

Tom Rhodes trhodes at FreeBSD.org
Fri Mar 12 13:45:33 PST 2004


trhodes     2004/03/12 13:45:33 PST

  FreeBSD src repository

  Modified files:
    sys/boot/arc/include arcfuncs.h 
    sys/boot/i386/boot2  boot2.c 
    sys/dev/aic7xxx/aicasm aicasm.c 
    sys/dev/cx           machdep.h 
    sys/dev/ichsmb       ichsmb.c 
    sys/dev/iir          iir.h 
    sys/dev/isp          ispvar.h 
    sys/dev/mcd          mcdreg.h 
    sys/dev/mpt/mpilib   mpi_type.h 
    sys/dev/scd          scdreg.h 
    sys/i386/acpica      acpi_wakeup.c 
    sys/i386/i386        db_interface.c identcpu.c in_cksum.c 
    sys/i386/include     _types.h atomic.h bus_at386.h cpufunc.h 
                         critical.h endian.h ieeefp.h in_cksum.h 
                         ioctl_bt848.h ioctl_meteor.h pcpu.h 
                         profile.h stdarg.h 
    sys/i386/isa         npx.c prof_machdep.c 
    sys/kern             subr_prof.c 
    sys/libkern          quad.h 
    sys/netatm           atm_ioctl.h 
    sys/sys              assym.h cdefs.h dir.h ioctl.h 
                         linker_set.h param.h queue.h syslimits.h 
  Log:
  These are changes to allow to use the Intel C/C++ compiler (lang/icc)
  to build the kernel. It doesn't affect the operation if gcc.
  
  Most of the changes are just adding __INTEL_COMPILER to #ifdef's, as
  icc v8 may define __GNUC__ some parts may look strange but are
  necessary.
  
  Additional changes:
   - in_cksum.[ch]:
     * use a generic C version instead of the assembly version in the !gcc
       case (ASM code breaks with the optimizations icc does)
       -> no bad checksums with an icc compiled kernel
       Help from:         andre, grehan, das
       Stolen from:       alpha version via ppc version
       The entire checksum code should IMHO be replaced with the DragonFly
       version (because it isn't guaranteed future revisions of gcc will
       include similar optimizations) as in:
          ---snip---
            Revision  Changes    Path
            1.12      +1 -0      src/sys/conf/files.i386
            1.4       +142 -558  src/sys/i386/i386/in_cksum.c
            1.5       +33 -69    src/sys/i386/include/in_cksum.h
            1.5       +2 -0      src/sys/netinet/igmp.c
            1.6       +0 -1      src/sys/netinet/in.h
            1.6       +2 -0      src/sys/netinet/ip_icmp.c
  
            1.4       +3 -4      src/contrib/ipfilter/ip_compat.h
            1.3       +1 -2      src/sbin/natd/icmp.c
            1.4       +0 -1      src/sbin/natd/natd.c
            1.48      +1 -0      src/sys/conf/files
            1.2       +0 -1      src/sys/conf/files.amd64
            1.13      +0 -1      src/sys/conf/files.i386
            1.5       +0 -1      src/sys/conf/files.pc98
            1.7       +1 -1      src/sys/contrib/ipfilter/netinet/fil.c
            1.10      +2 -3      src/sys/contrib/ipfilter/netinet/ip_compat.h
            1.10      +1 -1      src/sys/contrib/ipfilter/netinet/ip_fil.c
            1.7       +1 -1      src/sys/dev/netif/txp/if_txp.c
            1.7       +1 -1      src/sys/net/ip_mroute/ip_mroute.c
            1.7       +1 -2      src/sys/net/ipfw/ip_fw2.c
            1.6       +1 -2      src/sys/netinet/igmp.c
            1.4       +158 -116  src/sys/netinet/in_cksum.c
            1.6       +1 -1      src/sys/netinet/ip_gre.c
            1.7       +1 -2      src/sys/netinet/ip_icmp.c
            1.10      +1 -1      src/sys/netinet/ip_input.c
            1.10      +1 -2      src/sys/netinet/ip_output.c
            1.13      +1 -2      src/sys/netinet/tcp_input.c
            1.9       +1 -2      src/sys/netinet/tcp_output.c
            1.10      +1 -1      src/sys/netinet/tcp_subr.c
            1.10      +1 -1      src/sys/netinet/tcp_syncache.c
            1.9       +1 -2      src/sys/netinet/udp_usrreq.c
  
            1.5       +1 -2      src/sys/netinet6/ipsec.c
            1.5       +1 -2      src/sys/netproto/ipsec/ipsec.c
            1.5       +1 -1      src/sys/netproto/ipsec/ipsec_input.c
            1.4       +1 -2      src/sys/netproto/ipsec/ipsec_output.c
  
            and finally remove
              sys/i386/i386        in_cksum.c
              sys/i386/include     in_cksum.h
          ---snip---
   - endian.h:
     * DTRT in C++ mode
   - quad.h:
     * we don't use gcc v1 anymore, remove support for it
     Suggested by:        bde (long ago)
   - assym.h:
     * avoid zero-length arrays (remove dependency on a gcc specific
       feature)
       This change changes the contents of the object file, but as it's
       only used to generate some values for a header, and the generator
       knows how to handle this, there's no impact in the gcc case.
     Explained by:        bde
     Submitted by:        Marius Strobl <marius at alchemy.franken.de>
   - aicasm.c:
     * minor change to teach it about the way icc spells "-nostdinc"
     Not approved by:     gibbs (no reply to my mail)
   - bump __FreeBSD_version (lang/icc needs to know about the changes)
  
  Incarnations of this patch survive gcc compiles since a loooong time,
  I use it on my desktop. An icc compiled kernel works since Nov. 2003
  (exceptions: snd_* if used as modules), it survives a build of the
  entire ports collection with icc.
  
  Parts of this commit contains suggestions or submissions from
  Marius Strobl <marius at alchemy.franken.de>.
  
  Reviewed by:    -arch
  Submitted by:   netchild
  
  Revision  Changes    Path
  1.3       +1 -1      src/sys/boot/arc/include/arcfuncs.h
  1.68      +10 -0     src/sys/boot/i386/boot2/boot2.c
  1.37      +5 -2      src/sys/dev/aic7xxx/aicasm/aicasm.c
  1.2       +1 -1      src/sys/dev/cx/machdep.h
  1.9       +1 -1      src/sys/dev/ichsmb/ichsmb.c
  1.7       +1 -1      src/sys/dev/iir/iir.h
  1.65      +1 -1      src/sys/dev/isp/ispvar.h
  1.16      +4 -4      src/sys/dev/mcd/mcdreg.h
  1.4       +1 -1      src/sys/dev/mpt/mpilib/mpi_type.h
  1.7       +2 -2      src/sys/dev/scd/scdreg.h
  1.31      +2 -2      src/sys/i386/acpica/acpi_wakeup.c
  1.80      +2 -1      src/sys/i386/i386/db_interface.c
  1.134     +2 -2      src/sys/i386/i386/identcpu.c
  1.26      +188 -0    src/sys/i386/i386/in_cksum.c
  1.8       +4 -4      src/sys/i386/include/_types.h
  1.32      +11 -11    src/sys/i386/include/atomic.h
  1.24      +95 -19    src/sys/i386/include/bus_at386.h
  1.140     +3 -3      src/sys/i386/include/cpufunc.h
  1.7       +3 -3      src/sys/i386/include/critical.h
  1.38      +21 -3     src/sys/i386/include/endian.h
  1.9       +2 -2      src/sys/i386/include/ieeefp.h
  1.14      +7 -3      src/sys/i386/include/in_cksum.h
  1.30      +1 -1      src/sys/i386/include/ioctl_bt848.h
  1.15      +1 -1      src/sys/i386/include/ioctl_meteor.h
  1.42      +1 -1      src/sys/i386/include/pcpu.h
  1.33      +4 -4      src/sys/i386/include/profile.h
  1.19      +8 -3      src/sys/i386/include/stdarg.h
  1.146     +3 -3      src/sys/i386/isa/npx.c
  1.19      +9 -9      src/sys/i386/isa/prof_machdep.c
  1.67      +3 -3      src/sys/kern/subr_prof.c
  1.15      +0 -10     src/sys/libkern/quad.h
  1.8       +1 -1      src/sys/netatm/atm_ioctl.h
  1.5       +8 -7      src/sys/sys/assym.h
  1.80      +25 -15    src/sys/sys/cdefs.h
  1.7       +1 -1      src/sys/sys/dir.h
  1.11      +1 -1      src/sys/sys/ioctl.h
  1.14      +4 -4      src/sys/sys/linker_set.h
  1.186     +1 -1      src/sys/sys/param.h
  1.57      +3 -3      src/sys/sys/queue.h
  1.17      +1 -1      src/sys/sys/syslimits.h


More information about the cvs-src mailing list