Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Jun 2001 03:58:40 -0700 (PDT)
From:      Peter Wemm <peter@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/alpha/linux linux.h linux_sysvec.c src/sys/compat/linux linux_ioctl.c src/sys/conf Makefile.alpha Makefile.i386 Makefile.ia64 Makefile.pc98 Makefile.powerpc kmod.mk src/sys/ddb db_command.c src/sys/dev/fb fb.c fbreg.h ...
Message-ID:  <200106131058.f5DAweI72751@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
peter       2001/06/13 03:58:40 PDT

  Modified files:
    sys/alpha/linux      linux.h linux_sysvec.c 
    sys/compat/linux     linux_ioctl.c 
    sys/conf             Makefile.alpha Makefile.i386 
                         Makefile.ia64 Makefile.pc98 
                         Makefile.powerpc kmod.mk 
    sys/ddb              db_command.c 
    sys/dev/fb           fb.c fbreg.h 
    sys/dev/kbd          kbd.c kbdreg.h 
    sys/dev/syscons      scterm.c scvgarndr.c scvidctl.c syscons.h 
    sys/fs/nwfs          nwfs_io.c nwfs_node.c 
    sys/fs/smbfs         smbfs_io.c smbfs_node.c 
    sys/i386/linux       linux.h linux_sysvec.c 
    sys/kern             init_main.c kern_ktr.c kern_linker.c 
                         kern_sysctl.c link_aout.c link_elf.c 
                         linker_if.m tty_cons.c 
    sys/netncp           ncp_conn.c 
    sys/netsmb           smb_conn.c 
    sys/pc98/pc98        scgdcrndr.c 
    sys/sys              cons.h kernel.h linker.h linker_set.h 
                         sysctl.h 
  Log:
  With this commit, I hereby pronounce gensetdefs past its use-by date.
  
  Replace the a.out emulation of 'struct linker_set' with something
  a little more flexible.  <sys/linker_set.h> now provides macros for
  accessing elements and completely hides the implementation.
  
  The linker_set.h macros have been on the back burner in various
  forms since 1998 and has ideas and code from Mike Smith (SET_FOREACH()),
  John Polstra (ELF clue) and myself (cleaned up API and the conversion
  of the rest of the kernel to use it).
  
  The macros declare a strongly typed set.  They return elements with the
  type that you declare the set with, rather than a generic void *.
  
  For ELF, we use the magic ld symbols (__start_<setname> and
  __stop_<setname>).  Thanks to Richard Henderson <rth@redhat.com> for the
  trick about how to force ld to provide them for kld's.
  
  For a.out, we use the old linker_set struct.
  
  NOTE: the item lists are no longer null terminated.  This is why
  the code impact is high in certain areas.
  
  The runtime linker has a new method to find the linker set
  boundaries depending on which backend format is in use.
  
  linker sets are still module/kld unfriendly and should never be used
  for anything that may be modular one day.
  
  Reviewed by:	eivind
  
  Revision  Changes    Path
  1.52      +1 -4      src/sys/alpha/linux/linux.h
  1.77      +7 -6      src/sys/alpha/linux/linux_sysvec.c
  1.63      +1 -35     src/sys/compat/linux/linux_ioctl.c
  1.102     +2 -18     src/sys/conf/Makefile.alpha
  1.236     +2 -18     src/sys/conf/Makefile.i386
  1.25      +3 -18     src/sys/conf/Makefile.ia64
  1.135     +2 -18     src/sys/conf/Makefile.pc98
  1.236     +2 -18     src/sys/conf/Makefile.powerpc
  1.103     +1 -8      src/sys/conf/kmod.mk
  1.35      +23 -15    src/sys/ddb/db_command.c
  1.17      +10 -7     src/sys/dev/fb/fb.c
  1.7       +1 -2      src/sys/dev/fb/fbreg.h
  1.25      +9 -7      src/sys/dev/kbd/kbd.c
  1.13      +1 -2      src/sys/dev/kbd/kbdreg.h
  1.5       +5 -3      src/sys/dev/syscons/scterm.c
  1.10      +1 -3      src/sys/dev/syscons/scvgarndr.c
  1.25      +5 -3      src/sys/dev/syscons/scvidctl.c
  1.67      +6 -12     src/sys/dev/syscons/syscons.h
  1.17      +1 -3      src/sys/fs/nwfs/nwfs_io.c
  1.20      +1 -3      src/sys/fs/nwfs/nwfs_node.c
  1.4       +1 -3      src/sys/fs/smbfs/smbfs_io.c
  1.3       +1 -2      src/sys/fs/smbfs/smbfs_node.c
  1.54      +1 -4      src/sys/i386/linux/linux.h
  1.82      +7 -6      src/sys/i386/linux/linux_sysvec.c
  1.173     +24 -22    src/sys/kern/init_main.c
  1.20      +1 -2      src/sys/kern/kern_ktr.c
  1.61      +97 -95    src/sys/kern/kern_linker.c
  1.109     +6 -23     src/sys/kern/kern_sysctl.c
  1.33      +40 -1     src/sys/kern/link_aout.c
  1.38      +62 -1     src/sys/kern/link_elf.c
  1.3       +15 -1     src/sys/kern/linker_if.m
  1.91      +4 -3      src/sys/kern/tty_cons.c
  1.16      +1 -3      src/sys/netncp/ncp_conn.c
  1.2       +1 -3      src/sys/netsmb/smb_conn.c
  1.8       +1 -3      src/sys/pc98/pc98/scgdcrndr.c
  1.25      +1 -2      src/sys/sys/cons.h
  1.91      +2 -2      src/sys/sys/kernel.h
  1.24      +9 -1      src/sys/sys/linker.h
  1.9       +90 -36    src/sys/sys/linker_set.h
  1.94      +1 -7      src/sys/sys/sysctl.h


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200106131058.f5DAweI72751>