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>
