This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: FreeBSD port (59): new meta files
- From: Bruno Haible <bruno at clisp dot org>
- To: Roland McGrath <roland at redhat dot com>
- Cc: libc-alpha at sources dot redhat dot com
- Date: Sat, 19 Oct 2002 04:08:03 +0200 (CEST)
- Subject: Re: FreeBSD port (59): new meta files
- References: <15792.2290.162236.25344@honolulu.ilog.fr><200210190025.g9J0Pow02025@magilla.sf.frob.com>
Roland McGrath writes:
> Please send all the metadata like that together.
If you prefer that. Here it is. Of course much of it makes sense only
with the other files that you have wished to see later.
2002-10-05 Bruno Haible <bruno@clisp.org>
* sysdeps/unix/bsd/bsd4.4/freebsd/Implies: New file.
* sysdeps/unix/bsd/bsd4.4/freebsd/i386/Implies: New file.
* sysdeps/unix/bsd/bsd4.4/freebsd/alpha/Implies: New file.
* sysdeps/unix/bsd/bsd4.4/freebsd/README: New file.
* sysdeps/unix/bsd/bsd4.4/freebsd/Makefile: New file.
* sysdeps/unix/bsd/bsd4.4/freebsd/i386/Makefile: New file.
* sysdeps/unix/bsd/bsd4.4/freebsd/alpha/Makefile: New file.
* sysdeps/unix/bsd/bsd4.4/freebsd/configure.in: New file.
* sysdeps/unix/bsd/bsd4.4/freebsd/configure: New file, generated from
sysdeps/unix/bsd/bsd4.4/freebsd/configure.in.
* sysdeps/unix/bsd/bsd4.4/freebsd/Versions: New file.
*** /dev/null Wed Apr 26 16:41:04 2000
--- sysdeps/unix/bsd/bsd4.4/freebsd/Implies Sat Oct 5 17:58:40 2002
***************
*** 0 ****
--- 1,11 ----
+ # The kernel include files come from the 'kernel-include' add-on.
+ # This is actually added by configure.in.
+ #unix/bsd/bsd4.4/freebsd/kernel-include-x.y/import
+
+ # One of two possible utmp file formats.
+ # This is actually added by configure.in.
+ #unix/bsd/bsd4.4/freebsd/utmp-xyz
+
+ # The gnu subdirectory exists for things common to Linux-based, Hurd-based
+ # and FreeBSD-based GNU systems.
+ gnu
*** /dev/null Wed Apr 26 16:41:04 2000
--- sysdeps/unix/bsd/bsd4.4/freebsd/i386/Implies Sat Oct 5 18:50:26 2002
***************
*** 0 ****
--- 1,3 ----
+ # The kernel include files come from the 'kernel-include' add-on.
+ # This is actually added by configure.in.
+ #unix/bsd/bsd4.4/freebsd/kernel-include/import/i386
*** /dev/null Wed Apr 26 16:41:04 2000
--- sysdeps/unix/bsd/bsd4.4/freebsd/alpha/Implies Sat Oct 5 18:50:26 2002
***************
*** 0 ****
--- 1,6 ----
+ # The kernel include files come from the 'kernel-include' add-on.
+ # This is actually added by configure.in.
+ #unix/bsd/bsd4.4/freebsd/kernel-include/import/alpha
+
+ # Turn 32-bit __kernel_time_t into 64-bit __time_t.
+ unix/bsd/bsd4.4/freebsd/time-64
*** /dev/null Wed Apr 26 16:41:04 2000
--- sysdeps/unix/bsd/bsd4.4/freebsd/README Sat Oct 5 18:59:10 2002
***************
*** 0 ****
--- 1,144 ----
+ This directory contains a port to FreeBSD.
+
+ * What's the status of this port?
+ * How to configure glibc for FreeBSD?
+ * What are the changes between the include files of FreeBSD libc and glibc?
+ * How to upgrade to a newer version of FreeBSD?
+
+
+ What's the status of this port?
+ ===============================
+
+ See at http://www.haible.de/bruno/gnu-freebsd/
+
+
+ How to configure glibc for FreeBSD?
+ ===================================
+
+ You need as prerequisites the binutils and gcc, with the patches found
+ at http://www.haible.de/bruno/gnu-freebsd/
+
+ Furthermore choose a kernel include file package that matches your kernel
+ version, from http://www.haible.de/bruno/gnu-freebsd/kernel-include-x.y.tar.gz.
+ Unpack it it glibc's directory, cd into it and run "./patchit". Then you
+ specify this kernel include version through a configure option:
+ .../configure --enable-kernel-include=x.y
+
+ Next, decide about the utmp implementation. There are two choices:
+ utmp-compat Lets glibc use the same format for utmp and wtmp as FreeBSD
+ libc. Recommended if you want to use glibc and FreeBSD libc
+ on the same system.
+ Configure option: --enable-compatible-utmp
+ utmp-utmpx Lets glibc use the extended utmpx format for utmp and wtmp.
+ This provides for better Linux source code compatibility.
+ Configure option: --disable-compatible-utmp
+ The default is --enable-compatible-utmp.
+
+
+ What are the changes between the include files of FreeBSD libc and glibc?
+ =========================================================================
+
+ Note about <unistd.h>:
+ This header file is cleaned up and more standard compliant than the original
+ FreeBSD one.
+ - async_daemon() doesn't even exist in FreeBSD libc.
+ - des_cipher(), des_setkey(), setkey() are removed.
+ - exect() is removed. Use execve() instead.
+ - getgrouplist() declaration is moved to <grp.h>.
+ - getmode(), setmode() are removed.
+ - getresuid(), getresgid(), setresuid(), setresgid() are undeclared.
+ - initgroups() declaration is moved to <grp.h>.
+ - issetugid() is undeclared.
+ - rcmd(), rresvport(), iruserok(), ruserok(), rcmd_af(), rresvport_af(),
+ iruserok_sa() declarations are moved to <netdb.h>.
+ - mknod() declaration is moved to <sys/stat.h>.
+ - mkstemps() is removed.
+ - nfssvc() is removed.
+ - rfork() declaration is moved to <sys/rfork.h>.
+ - select() declaration is moved to <sys/select.h>.
+ - setgroups() declaration is moved to <grp.h>.
+ - setrgid(), setruid() are removed.
+ - swapon() declaration is moved to <sys/swap.h>.
+ - undelete() is undeclared.
+ - unwhiteout() doesn't even exist in FreeBSD libc.
+ - valloc() declaration is moved to <malloc.h>.
+
+ Note about <dirent.h>:
+ - opendir2() is removed.
+ - getdents() is undeclared.
+
+ Note about <grp.h>:
+ - setgrent() return type changes from int to void.
+ - setgrfile() doesn't even exist in FreeBSD libc.
+ - setgroupent() is removed.
+
+ sendfile() has been renamed to bsd_sendfile(), because it doesn't have
+ the Linux sendfile() semantics.
+
+
+ How to upgrade to a newer version of FreeBSD?
+ =============================================
+
+ For the most part, this consists in creating a new kernel-include-x.y
+ package.
+
+ The kernel-include directory has to be filled with a kernel version
+ dependent add-on. This add-on consists of:
+ kernel-include/orig/ The original kernel include files, will be visible
+ to programs compiled with -I/usr/include/kernel
+ kernel-include/patches/ Patches applying to these files
+ kernel-include/take Copy /usr/src/sys into orig/
+ kernel-include/patchit Apply the patches and create import/ and kernel/
+ When applied, it generates the following directories
+ kernel-include/import/ The patched kernel includes that are visible to
+ glibc and user programs
+
+ Furthermore some files in glibc may need modifications:
+ 1) sys/syscall.h
+ syscalls.list
+ by taking the differences of the old and new FreeBSD
+ /usr/src/sys/kern/syscalls.master
+ /usr/src/sys/kern/init_sysent.c
+ /usr/src/sys/sys/syscall.h
+ /usr/src/sys/sys/sysproto.h
+ and merging them into glibc. New system calls may require nontrivial
+ changes.
+ 2) Update glibc header from new version of FreeBSD header
+ sys/ktrace.h /usr/src/sys/sys/ktrace.h
+ sys/mount.h /usr/src/sys/sys/mount.h
+ sys/mtio.h /usr/src/sys/sys/mtio.h
+ sys/ptrace.h /usr/src/sys/sys/ptrace.h
+ sys/rfork.h /usr/src/sys/sys/unistd.h
+ sys/ttydefaults.h /usr/src/sys/sys/ttydefaults.h
+ sys/ucontext.h /usr/src/sys/sys/ucontext.h
+ bits/fcntl.h /usr/src/sys/sys/fcntl.h
+ bits/in.h /usr/src/sys/netinet/in.h
+ bits/ioctls.h /usr/src/sys/sys/ioctl.h
+ /usr/src/sys/sys/ioccom.h
+ /usr/src/sys/sys/ttycom.h
+ /usr/src/sys/sys/filio.h
+ /usr/src/sys/sys/sockio.h
+ /usr/src/sys/sys/ioctl_compat.h
+ /usr/src/sys/sys/ttydev.h
+ bits/mman.h /usr/src/sys/sys/mman.h
+ bits/poll.h /usr/src/sys/sys/poll.h
+ bits/resource.h /usr/src/sys/sys/resource.h
+ bits/sigaction.h /usr/src/sys/sys/signal.h
+ bits/siginfo.h /usr/src/sys/sys/signal.h
+ bits/socket.h /usr/src/sys/sys/socket.h
+ bits/stat.h /usr/src/sys/sys/stat.h
+ bits/stat16.h /usr/src/sys/sys/stat.h
+ bits/statfs.h /usr/src/sys/sys/mount.h
+ bits/termios.h /usr/src/sys/sys/termios.h
+ bits/uio.h /usr/src/sys/sys/uio.h
+ bits/waitflags.h /usr/src/sys/sys/wait.h
+ i386/sysarch.h /usr/src/sys/i386/include/sysarch.h
+ i386/sys/io.h /usr/src/sys/i386/include/sysarch.h
+ i386/sys/perm.h /usr/src/sys/i386/include/sysarch.h
+ i386/sys/vm86.h /usr/src/sys/i386/include/vm86.h
+ i386/bits/sigcontext.h /usr/src/sys/i386/include/signal.h
+ i386/bits/mcontext.h /usr/src/sys/i386/include/ucontext.h
+ i386/ucontext_i.h /usr/src/sys/i386/include/ucontext.h
+ netinet/ip_icmp.h /usr/src/sys/netinet/ip_icmp.h
+ netinet/ip_icmp.h /usr/src/sys/netinet/ip_compat.h
+ netinet/tcp.h /usr/src/sys/netinet/tcp.h
*** /dev/null Wed Apr 26 16:41:04 2000
--- sysdeps/unix/bsd/bsd4.4/freebsd/Makefile Sat Oct 5 19:03:13 2002
***************
*** 0 ****
--- 1,180 ----
+ # Use bash, not /bin/sh, for executing scripts, because the native
+ # FreeBSD /bin/sh does not interpret the IFS="<tab>" read ... command
+ # in localedata/tst-fmon.sh correctly.
+ SHELL = bash
+
+ # Use the kernel-include-x.y subdirectory chosen at configuration time.
+ kernel_include_subdir := $(shell cat $(common-objpfx)kernel-include)
+
+ # Additional header files to be installed in $prefix/include:
+
+ ifeq ($(subdir),misc)
+ sysdep_headers += \
+ sys/ktrace.h \
+ sys/mount.h \
+ sys/rfork.h
+ endif
+
+ ifeq ($(subdir),stdlib)
+ sysdep_headers += \
+ bits/mcontext.h
+ endif
+
+ # Additional functions, and particular system calls:
+
+ ifeq ($(subdir),csu)
+ # For <errno.h>.
+ sysdep_routines += errno-loc
+ endif
+
+ ifeq ($(subdir),io)
+ # For <unistd.h>.
+ sysdep_routines += sys_getcwd sys_lseek
+ # For <fcntl.h>.
+ sysdep_routines += sys_open
+ # For <sys/stat.h>.
+ sysdep_routines += sys_fstat sys_lstat sys_mknod sys_nfstat sys_nlstat sys_nstat sys_stat
+ # For <sys/statfs.h>.
+ sysdep_routines += fstatfs64 statfs64
+ # Other.
+ sysdep_routines += lchmod
+ endif
+
+ ifeq ($(subdir),dirent)
+ # For <dirent.h>.
+ sysdep_routines += sys_getdents sys_getdirentries getdirentries getdirentries64
+ endif
+
+ ifeq ($(subdir),misc)
+ # For <sched.h>.
+ sysdep_routines += clone sys_sched_getp sys_sched_gets start_thread
+ # For <unistd.h>.
+ sysdep_routines += sys_ftruncate sys_truncate
+ # For <sys/acl.h>.
+ sysdep_routines += acl_aclcheck_fd acl_aclcheck_file acl_delete_fd acl_delete_file acl_get_fd acl_get_file acl_set_fd acl_set_file
+ # For <sys/extattr.h>.
+ sysdep_routines += extattrctl extattr_delete_file extattr_get_file extattr_set_file
+ # For <sys/jail.h>.
+ sysdep_routines += jail
+ # For <sys/ktrace.h>.
+ sysdep_routines += ktrace utrace
+ # For <sys/linker.h>.
+ sysdep_routines += kldfind kldfirstmod kldload kldnext kldstat kldsym kldunload
+ # For <sys/mman.h>.
+ sysdep_routines += minherit sys_mmap
+ # For <sys/mount.h>.
+ sysdep_routines += fhopen sys_fhstat fhstat fhstat64 fhstatfs fhstatfs64 getfh getfsstat getfsstat64 getmntinfo getmntinfo64 mount unmount
+ # For <sys/ptrace.h>.
+ sysdep_routines += sys_ptrace
+ # For <sys/rfork.h>.
+ sysdep_routines += rfork
+ # For <sys/rtprio.h>.
+ sysdep_routines += rtprio
+ # For <sys/socket.h>.
+ sysdep_routines += bsd_sendfile
+ # For <sys/sysctl.h>.
+ sysdep_routines += sysctl sysctlbyname
+ # For <sys/uio.h>.
+ sysdep_routines += sys_readv sys_writev
+ # Other.
+ sysdep_routines += sys_aio_cancel sys_aio_error sys_aio_read sys_aio_return sys_aio_suspend sys_aio_waitcomplete sys_aio_write getresgid getresuid sys_lio_listio issetugid modfind modfnext modnext modstat obreak quotactl rfork setresgid setresuid sysarch thr_sleep thr_wakeup undelete yield
+ endif
+
+ ifeq ($(subdir),posix)
+ # For <unistd.h>.
+ sysdep_routines += sys_getlogin sys_pread sys_pwrite sys_setlogin
+ endif
+
+ ifeq ($(subdir),time)
+ # For <sys/timex.h>.
+ sysdep_routines += ntp_adjtime ntp_gettime
+ endif
+
+ # Linuxthreads dependencies.
+
+ ifeq ($(subdir),posix)
+ sysdep_headers += bits/pthreadtypes.h bits/initspin.h
+ endif
+
+ # Don't compile the ctype glue code, since we have a much better <ctype.h>
+ # than the old non-GNU C library.
+ inhibit-glue = yes
+
+ # Special ELF hacks.
+ ifeq ($(subdir),elf)
+
+ sysdep-rtld-routines += dl-brk dl-sbrk
+
+ # Make ld.so.1 executable.
+ $(objpfx)mkexec: ../sysdeps/unix/bsd/bsd4.4/freebsd/mkexec.c
+ gcc $< -o $@
+ $(objpfx)ld.so: $(objpfx)mkexec
+ POSTPROCESS_LD_SO = ; $(objpfx)mkexec $(objpfx)ld.so
+
+ endif
+
+ # Installation of kernel headers.
+
+ kernelheaderdir = sysdeps/unix/bsd/bsd4.4/freebsd/$(kernel_include_subdir)/import
+
+ kernelheaders := \
+ $(patsubst $(kernelheaderdir)/%, %, \
+ $(filter-out \
+ $(kernelheaderdir)/alpha/% \
+ $(kernelheaderdir)/i386/%, \
+ $(wildcard $(kernelheaderdir)/*.h) \
+ $(wildcard $(kernelheaderdir)/*/*.h) \
+ $(wildcard $(kernelheaderdir)/*/*/*.h) \
+ $(wildcard $(kernelheaderdir)/*/*/*/*.h)))
+
+ kernelcpuheaders := \
+ $(patsubst $(kernelcpuheaderdir)/%, %, \
+ $(wildcard $(kernelcpuheaderdir)/*.h) \
+ $(wildcard $(kernelcpuheaderdir)/*/*.h) \
+ $(wildcard $(kernelcpuheaderdir)/*/*/*.h))
+
+ install-headers-nosubdir: \
+ $(addprefix $(inst_includedir)/, $(kernelheaders) $(kernelcpuheaders))
+
+ $(addprefix $(inst_includedir)/,$(kernelheaders)): \
+ $(inst_includedir)/%: $(kernelheaderdir)/% $(+force)
+ $(do-install)
+
+ $(addprefix $(inst_includedir)/,$(kernelcpuheaders)): \
+ $(inst_includedir)/%: $(kernelcpuheaderdir)/% $(+force)
+ $(do-install)
+
+ # Installation of original kernel headers.
+ # Currently commented out because of limited usefulness.
+ ifdef install_kernel_include_orig
+
+ kernelorigheaderdir = sysdeps/unix/bsd/bsd4.4/freebsd/$(kernel_include_subdir)/orig
+
+ kernelorigheaders := \
+ $(patsubst $(kernelorigheaderdir)/%, %, \
+ $(filter-out \
+ $(kernelorigheaderdir)/alpha/% \
+ $(kernelorigheaderdir)/i386/%, \
+ $(wildcard $(kernelorigheaderdir)/*.h) \
+ $(wildcard $(kernelorigheaderdir)/*/*.h) \
+ $(wildcard $(kernelorigheaderdir)/*/*/*.h) \
+ $(wildcard $(kernelorigheaderdir)/*/*/*/*.h)))
+
+ kernelorigcpuheaders := \
+ $(patsubst $(kernelorigcpuheaderdir)/%, %, \
+ $(wildcard $(kernelorigcpuheaderdir)/*.h) \
+ $(wildcard $(kernelorigcpuheaderdir)/*/*.h) \
+ $(wildcard $(kernelorigcpuheaderdir)/*/*/*.h))
+
+ install-headers-nosubdir: \
+ $(addprefix $(inst_includedir)/kernel/, $(kernelorigheaders) $(kernelorigcpuheaders))
+
+ $(addprefix $(inst_includedir)/kernel/,$(kernelorigheaders)): \
+ $(inst_includedir)/kernel/%: $(kernelorigheaderdir)/% $(+force)
+ $(do-install)
+
+ $(addprefix $(inst_includedir)/kernel/,$(kernelorigcpuheaders)): \
+ $(inst_includedir)/kernel/%: $(kernelorigcpuheaderdir)/% $(+force)
+ $(do-install)
+
+ endif
*** /dev/null Wed Apr 26 16:41:04 2000
--- sysdeps/unix/bsd/bsd4.4/freebsd/i386/Makefile Fri Sep 6 03:45:36 2002
***************
*** 0 ****
--- 1,22 ----
+ # Additional header files to be installed in $prefix/include:
+
+ ifeq ($(subdir),misc)
+ sysdep_headers += \
+ sys/io.h \
+ sys/perm.h \
+ sys/vm86.h
+ endif
+
+ # Additional functions, and particular system calls:
+
+ ifeq ($(subdir),misc)
+ # For <sys/io.h> and <sys/perm.h>.
+ sysdep_routines += i386_get_ioperm i386_set_ioperm
+ # For <sys/vm86.h>.
+ sysdep_routines += i386_vm86
+ endif
+
+ # Installation of kernel headers.
+
+ kernelcpuheaderdir = sysdeps/unix/bsd/bsd4.4/freebsd/kernel-include/import/i386
+ kernelorigcpuheaderdir = sysdeps/unix/bsd/bsd4.4/freebsd/kernel-include/orig/i386
*** /dev/null Wed Apr 26 16:41:04 2000
--- sysdeps/unix/bsd/bsd4.4/freebsd/alpha/Makefile Fri Sep 6 03:45:35 2002
***************
*** 0 ****
--- 1,21 ----
+ # Additional header files to be installed in $prefix/include:
+
+ ifeq ($(subdir),misc)
+ sysdep_headers += \
+ machine/pal.h
+ endif
+
+ # Additional functions, and particular system calls:
+
+ ifeq ($(subdir),io)
+ sysdep_routines += sys_poll
+ endif
+
+ ifeq ($(subdir),math)
+ sysdep_routines += ieee_get_fp_control ieee_set_fp_control
+ endif
+
+ # Installation of kernel headers.
+
+ kernelcpuheaderdir = sysdeps/unix/bsd/bsd4.4/freebsd/kernel-include/import/alpha
+ kernelorigcpuheaderdir = sysdeps/unix/bsd/bsd4.4/freebsd/kernel-include/orig/alpha
*** /dev/null Wed Apr 26 16:41:04 2000
--- sysdeps/unix/bsd/bsd4.4/freebsd/configure.in Sat Oct 5 18:54:29 2002
***************
*** 0 ****
--- 1,72 ----
+ sinclude(./aclocal.m4)dnl Autoconf lossage
+ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+ #
+ # Local configure fragment for sysdeps/unix/bsd/bsd4.4/freebsd.
+ # Process this file with "autoconf-2.13 -l ../../../../..".
+ #
+
+ AC_ARG_ENABLE(kernel-include, dnl
+ [ --enable-kernel-include=x.y use the kernel include files corresponding to
+ the FreeBSD kernel version x.y],
+ kernel_include_version=$enableval, kernel_include_version=4.0)
+ kernel_include_subdir=kernel-include-$kernel_include_version
+ mkdir -p sysdeps/unix/bsd/bsd4.4/freebsd
+ echo $kernel_include_subdir > kernel-include
+
+ AC_ARG_ENABLE(compatible-utmp, dnl
+ [ --disable-compatible-utmp use a struct utmp which is the same as struct
+ utmpx, as on Linux, but incompatible with FreeBSD],
+ enable_utmp_compat=$enableval, enable_utmp_compat=yes)
+ if test "$enable_utmp_compat" = no; then
+ utmp_subdir=utmp-utmpx
+ else
+ utmp_subdir=utmp-compat
+ fi
+
+ # Add configuration dependent sysdep dirs.
+ AC_MSG_CHECKING(sysdep dirs)
+ sysnames=`echo "$sysnames" | sed -e "s| sysdeps/unix/bsd/bsd4.4/freebsd/$base_machine | sysdeps/unix/bsd/bsd4.4/freebsd/$base_machine sysdeps/unix/bsd/bsd4.4/freebsd/$kernel_include_subdir/import/$base_machine |" -e "s| sysdeps/unix/bsd/bsd4.4/freebsd | sysdeps/unix/bsd/bsd4.4/freebsd sysdeps/unix/bsd/bsd4.4/freebsd/$kernel_include_subdir/import sysdeps/unix/bsd/bsd4.4/freebsd/$utmp_subdir |"`
+ AC_MSG_RESULT($sysnames)
+
+ # Ensure that we don't accidentally access /usr/include while building.
+ ccheaders=`$CC -print-file-name=include`
+ SYSINCLUDES="-nostdinc -isystem $ccheaders"
+
+ # Don't bother checking for the prerequisites of the ctype glue code,
+ # since we don't use this glue code.
+ inhibit_glue=yes
+
+ # Put exception handling support into libc, so that not every shared
+ # library needs to include it.
+ # FIXME: Does not work yet.
+ #libc_cv_gcc_unwind_find_fde=yes
+
+ # Under FreeBSD the LinuxThreads add-on should be available.
+ case $add_ons in
+ # It is available. Good.
+ *linuxthreads*)
+ linuxthreads_missing=
+ ;;
+ *)
+ linuxthreads_missing=yes
+ ;;
+ esac
+
+ if test "$linuxthreads_missing"; then
+ if test $enable_sanity = yes; then
+ echo "\
+ *** On GNU/FreeBSD systems it is normal to compile GNU libc with the
+ *** 'linuxthreads' add-on. Without that, the library will be
+ *** incompatible with normal GNU/FreeBSD systems.
+ *** If you really mean to not use this add-on, run configure again
+ *** using the extra parameter '--disable-sanity-checks'."
+ exit 1
+ else
+ echo "\
+ *** WARNING: Are you sure you do not want to use the 'linuxthreads'
+ *** add-on?"
+ fi
+ fi
+
+ # On FreeBSD we use ldconfig.
+ use_ldconfig=yes
*** /dev/null Wed Apr 26 16:41:04 2000
--- sysdeps/unix/bsd/bsd4.4/freebsd/configure Sat Oct 5 18:54:37 2002
***************
*** 0 ****
--- 1,85 ----
+ #
+ # Local configure fragment for sysdeps/unix/bsd/bsd4.4/freebsd.
+ # Process this file with "autoconf-2.13 -l ../../../../..".
+ #
+
+ ac_help="$ac_help
+ --enable-kernel-include=x.y use the kernel include files corresponding to
+ the FreeBSD kernel version x.y"
+ # Check whether --enable-kernel-include or --disable-kernel-include was given.
+ if test "${enable_kernel_include+set}" = set; then
+ enableval="$enable_kernel_include"
+ kernel_include_version=$enableval
+ else
+ kernel_include_version=4.0
+ fi
+
+ kernel_include_subdir=kernel-include-$kernel_include_version
+ mkdir -p sysdeps/unix/bsd/bsd4.4/freebsd
+ echo $kernel_include_subdir > kernel-include
+
+ ac_help="$ac_help
+ --disable-compatible-utmp use a struct utmp which is the same as struct
+ utmpx, as on Linux, but incompatible with FreeBSD"
+ # Check whether --enable-compatible-utmp or --disable-compatible-utmp was given.
+ if test "${enable_compatible_utmp+set}" = set; then
+ enableval="$enable_compatible_utmp"
+ enable_utmp_compat=$enableval
+ else
+ enable_utmp_compat=yes
+ fi
+
+ if test "$enable_utmp_compat" = no; then
+ utmp_subdir=utmp-utmpx
+ else
+ utmp_subdir=utmp-compat
+ fi
+
+ # Add configuration dependent sysdep dirs.
+ echo $ac_n "checking sysdep dirs""... $ac_c" 1>&6
+ echo "configure:41: checking sysdep dirs" >&5
+ sysnames=`echo "$sysnames" | sed -e "s| sysdeps/unix/bsd/bsd4.4/freebsd/$base_machine | sysdeps/unix/bsd/bsd4.4/freebsd/$base_machine sysdeps/unix/bsd/bsd4.4/freebsd/$kernel_include_subdir/import/$base_machine |" -e "s| sysdeps/unix/bsd/bsd4.4/freebsd | sysdeps/unix/bsd/bsd4.4/freebsd sysdeps/unix/bsd/bsd4.4/freebsd/$kernel_include_subdir/import sysdeps/unix/bsd/bsd4.4/freebsd/$utmp_subdir |"`
+ echo "$ac_t""$sysnames" 1>&6
+
+ # Ensure that we don't accidentally access /usr/include while building.
+ ccheaders=`$CC -print-file-name=include`
+ SYSINCLUDES="-nostdinc -isystem $ccheaders"
+
+ # Don't bother checking for the prerequisites of the ctype glue code,
+ # since we don't use this glue code.
+ inhibit_glue=yes
+
+ # Put exception handling support into libc, so that not every shared
+ # library needs to include it.
+ # FIXME: Does not work yet.
+ #libc_cv_gcc_unwind_find_fde=yes
+
+ # Under FreeBSD the LinuxThreads add-on should be available.
+ case $add_ons in
+ # It is available. Good.
+ *linuxthreads*)
+ linuxthreads_missing=
+ ;;
+ *)
+ linuxthreads_missing=yes
+ ;;
+ esac
+
+ if test "$linuxthreads_missing"; then
+ if test $enable_sanity = yes; then
+ echo "\
+ *** On GNU/FreeBSD systems it is normal to compile GNU libc with the
+ *** 'linuxthreads' add-on. Without that, the library will be
+ *** incompatible with normal GNU/FreeBSD systems.
+ *** If you really mean to not use this add-on, run configure again
+ *** using the extra parameter '--disable-sanity-checks'."
+ exit 1
+ else
+ echo "\
+ *** WARNING: Are you sure you do not want to use the 'linuxthreads'
+ *** add-on?"
+ fi
+ fi
+
+ # On FreeBSD we use ldconfig.
+ use_ldconfig=yes
*** /dev/null Wed Apr 26 16:41:04 2000
--- sysdeps/unix/bsd/bsd4.4/freebsd/Versions Sat Oct 19 03:54:29 2002
***************
*** 0 ****
--- 1,68 ----
+ libc {
+ GLIBC_2.3 {
+ # c*
+ clone;
+
+ # e*
+ extattrctl; extattr_delete_file; extattr_get_file; extattr_set_file;
+
+ # f*
+ fhopen; fhstat; fhstatfs; futimes;
+
+ # g*
+ getdents; getfh; getfsstat; getfsstat64; getmntinfo; getmntinfo64;
+ getresgid; getresuid;
+
+ # i*
+ issetugid;
+
+ # j*
+ jail;
+
+ # k*
+ kldfind; kldfirstmod; kldload; kldnext; kldstat; kldsym; kldunload;
+ ktrace;
+
+ # l*
+ lchmod; lutimes;
+
+ # m*
+ minherit; modfind; modfnext; modnext; modstat;
+
+ # n*
+ ntp_adjtime; ntp_gettime;
+
+ # q*
+ quotactl;
+
+ # r*
+ rfork; rtprio;
+
+ # s*
+ sendfile; setresgid; setresuid; swapon; sysarch; sysctl; sysctlbyname;
+
+ # u*
+ undelete; unmount; utrace;
+
+ # see <sys/acl.h>.
+ __acl_aclcheck_fd; __acl_aclcheck_file; __acl_delete_fd; __acl_delete_file;
+ __acl_get_fd; __acl_get_file; __acl_set_fd; __acl_set_file;
+
+ # see <errno.h>.
+ __errno_location;
+
+ # see <sys/sysctl.h>.
+ __sysctl;
+
+ # Questionable system calls. These functions may be removed at any moment.
+ __syscall_aio_cancel; __syscall_aio_error; __syscall_aio_read;
+ __syscall_aio_return; __syscall_aio_suspend; __syscall_aio_waitcomplete;
+ __syscall_aio_write; __syscall_lio_listio;
+ __syscall_obreak;
+ __syscall_thr_sleep; __syscall_thr_wakeup; __syscall_yield;
+ }
+ GLIBC_PRIVATE {
+ # needed by libpthread.
+ __clone; __libc_fork; __libc_sigaction;
+ }
+ }