Date: Thu, 7 Apr 2005 06:28:50 GMT From: David Xu <davidxu@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 74639 for review Message-ID: <200504070628.j376Sosn018482@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=74639 Change 74639 by davidxu@davidxu_celeron on 2005/04/07 06:28:43 IFC. Affected files ... .. //depot/projects/davidxu_thread/src/Makefile.inc1#12 integrate .. //depot/projects/davidxu_thread/src/etc/defaults/rc.conf#9 integrate .. //depot/projects/davidxu_thread/src/etc/rc.d/dumpon#2 integrate .. //depot/projects/davidxu_thread/src/etc/rc.d/pf#2 integrate .. //depot/projects/davidxu_thread/src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#4 integrate .. //depot/projects/davidxu_thread/src/include/Makefile#8 integrate .. //depot/projects/davidxu_thread/src/include/pthread.h#3 integrate .. //depot/projects/davidxu_thread/src/lib/libalias/alias.c#2 integrate .. //depot/projects/davidxu_thread/src/lib/libarchive/archive_private.h#2 integrate .. //depot/projects/davidxu_thread/src/lib/libarchive/archive_read.c#3 integrate .. //depot/projects/davidxu_thread/src/lib/libarchive/archive_read_support_format_cpio.c#4 integrate .. //depot/projects/davidxu_thread/src/lib/libarchive/archive_read_support_format_iso9660.c#2 integrate .. //depot/projects/davidxu_thread/src/lib/libarchive/archive_read_support_format_tar.c#5 integrate .. //depot/projects/davidxu_thread/src/lib/libarchive/archive_read_support_format_zip.c#2 integrate .. //depot/projects/davidxu_thread/src/lib/libc/net/Makefile.inc#3 integrate .. //depot/projects/davidxu_thread/src/lib/libc/net/gai_strerror.c#1 branch .. //depot/projects/davidxu_thread/src/lib/libc/net/getaddrinfo.c#3 integrate .. //depot/projects/davidxu_thread/src/lib/libc/net/name6.c#4 integrate .. //depot/projects/davidxu_thread/src/lib/libc/yp/yplib.c#4 integrate .. //depot/projects/davidxu_thread/src/lib/libthr/Makefile#3 integrate .. //depot/projects/davidxu_thread/src/lib/libthr/pthread.map#2 integrate .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_barrier.c#3 integrate .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_init.c#6 integrate .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_list.c#2 integrate .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_private.h#6 integrate .. //depot/projects/davidxu_thread/src/lib/libthread_db/libpthread_db.c#3 integrate .. //depot/projects/davidxu_thread/src/lib/libthread_db/libthr_db.c#4 integrate .. //depot/projects/davidxu_thread/src/lib/libthread_db/thread_db.h#3 integrate .. //depot/projects/davidxu_thread/src/lib/msun/Makefile#7 integrate .. //depot/projects/davidxu_thread/src/lib/msun/man/exp.3#4 integrate .. //depot/projects/davidxu_thread/src/lib/msun/man/math.3#6 integrate .. //depot/projects/davidxu_thread/src/lib/msun/src/k_rem_pio2f.c#2 integrate .. //depot/projects/davidxu_thread/src/lib/msun/src/math.h#6 integrate .. //depot/projects/davidxu_thread/src/lib/msun/src/s_exp2.c#1 branch .. //depot/projects/davidxu_thread/src/lib/msun/src/s_exp2f.c#1 branch .. //depot/projects/davidxu_thread/src/libexec/getty/chat.c#2 integrate .. //depot/projects/davidxu_thread/src/libexec/getty/extern.h#2 integrate .. //depot/projects/davidxu_thread/src/libexec/getty/init.c#2 integrate .. //depot/projects/davidxu_thread/src/libexec/getty/main.c#2 integrate .. //depot/projects/davidxu_thread/src/libexec/rexecd/rexecd.c#7 integrate .. //depot/projects/davidxu_thread/src/libexec/rtld-aout/shlib.c#2 edit .. //depot/projects/davidxu_thread/src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#8 integrate .. //depot/projects/davidxu_thread/src/release/doc/share/sgml/release.ent#3 integrate .. //depot/projects/davidxu_thread/src/release/doc/zh_CN.GB2312/hardware/common/dev.sgml#3 integrate .. //depot/projects/davidxu_thread/src/release/doc/zh_CN.GB2312/installation/common/install.sgml#3 integrate .. //depot/projects/davidxu_thread/src/release/doc/zh_CN.GB2312/relnotes/common/new.sgml#3 integrate .. //depot/projects/davidxu_thread/src/sbin/devfs/devfs.8#5 integrate .. //depot/projects/davidxu_thread/src/sbin/ipfw/ipfw2.c#4 integrate .. //depot/projects/davidxu_thread/src/sbin/restore/dirs.c#3 integrate .. //depot/projects/davidxu_thread/src/sbin/restore/restore.h#3 integrate .. //depot/projects/davidxu_thread/src/share/man/man4/ng_source.4#4 integrate .. //depot/projects/davidxu_thread/src/share/man/man9/devclass_get_drivers.9#1 branch .. //depot/projects/davidxu_thread/src/share/man/man9/devclass_get_maxunit.9#2 integrate .. //depot/projects/davidxu_thread/src/sys/alpha/alpha/critical.c#2 delete .. //depot/projects/davidxu_thread/src/sys/alpha/alpha/machdep.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/alpha/alpha/mp_machdep.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/alpha/alpha/vm_machdep.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/alpha/include/critical.h#4 delete .. //depot/projects/davidxu_thread/src/sys/alpha/include/proc.h#3 integrate .. //depot/projects/davidxu_thread/src/sys/amd64/amd64/critical.c#2 delete .. //depot/projects/davidxu_thread/src/sys/amd64/amd64/machdep.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/amd64/amd64/mp_machdep.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/amd64/amd64/vm_machdep.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/amd64/include/critical.h#4 delete .. //depot/projects/davidxu_thread/src/sys/amd64/include/proc.h#3 integrate .. //depot/projects/davidxu_thread/src/sys/amd64/include/tss.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/amd64/linux32/linux32_machdep.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/arm/arm/critical.c#2 delete .. //depot/projects/davidxu_thread/src/sys/arm/arm/machdep.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/arm/arm/vm_machdep.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/arm/include/critical.h#2 delete .. //depot/projects/davidxu_thread/src/sys/arm/include/proc.h#4 integrate .. //depot/projects/davidxu_thread/src/sys/boot/pc98/boot2/Makefile#3 integrate .. //depot/projects/davidxu_thread/src/sys/compat/ia32/ia32_signal.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/conf/Makefile.pc98#4 integrate .. //depot/projects/davidxu_thread/src/sys/conf/NOTES#9 integrate .. //depot/projects/davidxu_thread/src/sys/conf/files.alpha#4 integrate .. //depot/projects/davidxu_thread/src/sys/conf/files.amd64#9 integrate .. //depot/projects/davidxu_thread/src/sys/conf/files.arm#3 integrate .. //depot/projects/davidxu_thread/src/sys/conf/files.i386#10 integrate .. //depot/projects/davidxu_thread/src/sys/conf/files.ia64#3 integrate .. //depot/projects/davidxu_thread/src/sys/conf/files.pc98#5 integrate .. //depot/projects/davidxu_thread/src/sys/conf/files.powerpc#2 integrate .. //depot/projects/davidxu_thread/src/sys/conf/files.sparc64#5 integrate .. //depot/projects/davidxu_thread/src/sys/conf/kern.post.mk#5 integrate .. //depot/projects/davidxu_thread/src/sys/conf/kmod.mk#6 integrate .. //depot/projects/davidxu_thread/src/sys/conf/options#8 integrate .. //depot/projects/davidxu_thread/src/sys/dev/acpi_support/acpi_fujitsu.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/dev/acpica/acpi_cpu.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/dev/acpica/acpi_if.m#5 integrate .. //depot/projects/davidxu_thread/src/sys/dev/acpica/acpi_perf.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/dev/acpica/acpivar.h#9 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-all.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-all.h#4 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-card.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-cbus.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-chipset.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-isa.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-lowlevel.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-pci.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-pci.h#4 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/atapi-cam.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ath/if_ath.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ath/if_athvar.h#5 integrate .. //depot/projects/davidxu_thread/src/sys/dev/em/if_em.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/dev/hme/if_hme_sbus.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ieee488/upd7210.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ixgb/if_ixgb.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ixgb/if_ixgb.h#4 integrate .. //depot/projects/davidxu_thread/src/sys/dev/sio/sio_pci.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/dev/syscons/apm/apm_saver.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/dev/usb/uftdi.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/dev/usb/usbdevs#8 integrate .. //depot/projects/davidxu_thread/src/sys/fs/unionfs/union_vnops.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/geom/concat/g_concat.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/i386/cpufreq/est.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/i386/i386/critical.c#2 delete .. //depot/projects/davidxu_thread/src/sys/i386/i386/machdep.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/i386/i386/mp_machdep.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/i386/i386/vm_machdep.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/i386/include/apm_bios.h#3 integrate .. //depot/projects/davidxu_thread/src/sys/i386/include/bus.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/i386/include/bus_at386.h#5 delete .. //depot/projects/davidxu_thread/src/sys/i386/include/bus_pc98.h#3 delete .. //depot/projects/davidxu_thread/src/sys/i386/include/critical.h#4 delete .. //depot/projects/davidxu_thread/src/sys/i386/include/legacyvar.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/i386/include/md_var.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/i386/include/pci_cfgreg.h#3 integrate .. //depot/projects/davidxu_thread/src/sys/i386/include/proc.h#3 integrate .. //depot/projects/davidxu_thread/src/sys/ia64/ia64/critical.c#2 delete .. //depot/projects/davidxu_thread/src/sys/ia64/ia64/machdep.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/ia64/ia64/mp_machdep.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/ia64/ia64/vm_machdep.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/ia64/include/critical.h#4 delete .. //depot/projects/davidxu_thread/src/sys/ia64/include/proc.h#3 integrate .. //depot/projects/davidxu_thread/src/sys/kern/imgact_elf.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/kern/kern_fork.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/kern/kern_idle.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/kern/kern_jail.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/kern/kern_lock.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/kern/kern_mutex.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/kern/kern_proc.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/kern/kern_switch.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/kern/subr_bus.c#9 integrate .. //depot/projects/davidxu_thread/src/sys/kern/subr_prf.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/kern/vfs_default.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/kern/vfs_lookup.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/kern/vfs_subr.c#10 integrate .. //depot/projects/davidxu_thread/src/sys/kern/vfs_vnops.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/modules/ata/Makefile#2 integrate .. //depot/projects/davidxu_thread/src/sys/modules/ata/atapicam/Makefile#1 branch .. //depot/projects/davidxu_thread/src/sys/modules/cpufreq/Makefile#4 integrate .. //depot/projects/davidxu_thread/src/sys/net80211/ieee80211_crypto.h#4 integrate .. //depot/projects/davidxu_thread/src/sys/net80211/ieee80211_freebsd.h#4 integrate .. //depot/projects/davidxu_thread/src/sys/net80211/ieee80211_input.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/net80211/ieee80211_node.h#4 integrate .. //depot/projects/davidxu_thread/src/sys/net80211/ieee80211_proto.h#4 integrate .. //depot/projects/davidxu_thread/src/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/netgraph/bluetooth/socket/ng_btsocket.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/netgraph/ng_iface.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/netgraph/ng_source.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/netgraph/ng_source.h#5 integrate .. //depot/projects/davidxu_thread/src/sys/netinet/ip_dummynet.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/netinet/ip_fw_pfil.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/pc98/i386/machdep.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/pc98/include/apm_bios.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/pc98/include/bus.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/pc98/include/bus_pc98.h#2 delete .. //depot/projects/davidxu_thread/src/sys/pc98/include/critical.h#2 delete .. //depot/projects/davidxu_thread/src/sys/pc98/include/md_var.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/pc98/include/pci_cfgreg.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/powerpc/include/critical.h#4 delete .. //depot/projects/davidxu_thread/src/sys/powerpc/include/proc.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/powerpc/powerpc/critical.c#2 delete .. //depot/projects/davidxu_thread/src/sys/powerpc/powerpc/machdep.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/powerpc/powerpc/vm_machdep.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/sparc64/include/critical.h#4 delete .. //depot/projects/davidxu_thread/src/sys/sparc64/include/proc.h#3 integrate .. //depot/projects/davidxu_thread/src/sys/sparc64/sparc64/critical.c#2 delete .. //depot/projects/davidxu_thread/src/sys/sparc64/sparc64/machdep.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/sparc64/sparc64/mp_machdep.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/sparc64/sparc64/vm_machdep.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/sys/bus.h#7 integrate .. //depot/projects/davidxu_thread/src/sys/sys/lock.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/sys/mutex.h#5 integrate .. //depot/projects/davidxu_thread/src/sys/sys/systm.h#8 integrate .. //depot/projects/davidxu_thread/src/sys/ufs/ffs/ffs_extern.h#4 integrate .. //depot/projects/davidxu_thread/src/sys/ufs/ffs/ffs_inode.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/ufs/ffs/ffs_snapshot.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/ufs/ffs/ffs_softdep.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/ufs/ffs/ffs_vfsops.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/vm/vm_meter.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/vm/vnode_pager.c#8 integrate .. //depot/projects/davidxu_thread/src/usr.bin/calendar/calendars/calendar.birthday#3 integrate .. //depot/projects/davidxu_thread/src/usr.bin/make/job.c#11 integrate .. //depot/projects/davidxu_thread/src/usr.bin/mt/mt.1#3 integrate .. //depot/projects/davidxu_thread/src/usr.bin/top/machine.c#2 integrate Differences ... ==== //depot/projects/davidxu_thread/src/Makefile.inc1#12 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.490 2005/03/27 19:35:09 ru Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.492 2005/04/06 01:55:43 peter Exp $ # # Make command line options: # -DNO_DYNAMICROOT do not link /bin and /sbin dynamically @@ -223,6 +223,7 @@ # Yes, the flags are redundant. LIB32MAKEENV= MAKEOBJDIRPREFIX=${OBJTREE}/lib32 \ _SHLIBDIRPREFIX=${LIB32TMP} \ + MACHINE=i386 \ MACHINE_ARCH=i386 \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ PATH=${TMPPATH} \ @@ -454,7 +455,7 @@ WMAKE_TGTS+= _cross-tools .endif WMAKE_TGTS+= _includes _libraries _depend everything -.if ${TARGET_ARCH} == "amd64" && defined(WITH_LIB32) +.if ${TARGET_ARCH} == "amd64" && !defined(NO_LIB32) WMAKE_TGTS+= build32 .endif @@ -540,7 +541,7 @@ @echo ">>> Installing everything" @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 install -.if ${TARGET_ARCH} == "amd64" && defined(WITH_LIB32) +.if ${TARGET_ARCH} == "amd64" && !defined(NO_LIB32) ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 install32 .endif ==== //depot/projects/davidxu_thread/src/etc/defaults/rc.conf#9 (text+ko) ==== @@ -15,7 +15,7 @@ # For a more detailed explanation of all the rc.conf variables, please # refer to the rc.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.243 2005/03/12 21:09:15 trhodes Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.244 2005/04/03 21:45:20 njl Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -474,9 +474,9 @@ devfs_set_rulesets="" # A list of /mount/dev=ruleset_name settings to # apply (must be mounted already, i.e. fstab(5)) performance_cx_lowest="HIGH" # Online CPU idle state -performance_cpu_freq="NONE" # Online CPU frequency +performance_cpu_freq="HIGH" # Online CPU frequency economy_cx_lowest="HIGH" # Offline CPU idle state -economy_cpu_freq="NONE" # Offline CPU frequency +economy_cpu_freq="HIGH" # Offline CPU frequency virecover_enable="YES" # Perform housekeeping for the vi(1) editor ugidfw_enable="NO" # Load mac_bsdextended(4) rules on boot bsdextended_script="/etc/rc.bsdextended" # Default mac_bsdextended(4) ==== //depot/projects/davidxu_thread/src/etc/rc.d/dumpon#2 (text+ko) ==== @@ -1,11 +1,11 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/dumpon,v 1.7 2004/10/18 23:40:13 thomas Exp $ +# $FreeBSD: src/etc/rc.d/dumpon,v 1.8 2005/04/05 18:59:24 obrien Exp $ # # PROVIDE: dumpon -# REQUIRE: initrandom -# BEFORE: disks savecore +# REQUIRE: rcconf +# BEFORE: disks savecore initrandom # KEYWORD: nojail . /etc/rc.subr ==== //depot/projects/davidxu_thread/src/etc/rc.d/pf#2 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/pf,v 1.6 2004/10/25 08:12:28 pjd Exp $ +# $FreeBSD: src/etc/rc.d/pf,v 1.7 2005/04/04 23:06:10 seanc Exp $ # # PROVIDE: pf @@ -75,7 +75,9 @@ echo "Reloading pf rules." ${pf_program:-/sbin/pfctl} -n -f "${pf_rules}" || return 1 - ${pf_program:-/sbin/pfctl} -Fa > /dev/null 2>&1 + # Flush everything but existing state entries that way when + # rules are read in, it doesn't break established connections. + ${pf_program:-/sbin/pfctl} -Fnat -Fqueue -Frules -FSources -Finfo -FTables -Fosfp > /dev/null 2>&1 ${pf_program:-/sbin/pfctl} -f "${pf_rules}" ${pf_flags} } ==== //depot/projects/davidxu_thread/src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c,v 1.9 2005/01/11 14:53:16 peadar Exp $ */ +/* $FreeBSD: src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c,v 1.10 2005/04/05 11:40:58 davidxu Exp $ */ /* FreeBSD libthread_db assisted debugging support. Copyright 1999, 2000, 2001 Free Software Foundation, Inc. ==== //depot/projects/davidxu_thread/src/include/Makefile#8 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 1/4/94 -# $FreeBSD: src/include/Makefile,v 1.238 2005/04/01 23:22:01 imp Exp $ +# $FreeBSD: src/include/Makefile,v 1.239 2005/04/03 04:53:23 imp Exp $ # # Doing a "make install" builds /usr/include. @@ -162,10 +162,14 @@ ${DESTDIR}${INCLUDEDIR}/machine/pc .endif .if defined(_MARCH) + ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \ + ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \ cd ${.CURDIR}/../sys/${_MARCH}/include; \ ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \ ${DESTDIR}${INCLUDEDIR}/${_MARCH} .if exists(${.CURDIR}/../sys/${_MARCH}/include/pc) + ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \ + ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \ cd ${.CURDIR}/../sys/${_MARCH}/include/pc; \ ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \ ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc @@ -240,12 +244,16 @@ done .endif .if defined(_MARCH) + ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \ + ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \ cd ${.CURDIR}/../sys/${_MARCH}/include; \ for h in *.h; do \ ln -fs ../../../sys/${_MARCH}/include/$$h \ ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \ done .if exists(${.CURDIR}/../sys/${_MARCH}/include/pc) + ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \ + ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \ cd ${.CURDIR}/../sys/${_MARCH}/include/pc; \ for h in *.h; do \ ln -fs ../../../../sys/${_MARCH}/include/pc/$$h \ ==== //depot/projects/davidxu_thread/src/include/pthread.h#3 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/include/pthread.h,v 1.33 2005/01/08 11:07:13 davidxu Exp $ + * $FreeBSD: src/include/pthread.h,v 1.34 2005/04/03 23:55:02 davidxu Exp $ */ #ifndef _PTHREAD_H_ #define _PTHREAD_H_ @@ -225,6 +225,10 @@ void pthread_cleanup_push(void (*) (void *), void *routine_arg); int pthread_condattr_destroy(pthread_condattr_t *); int pthread_condattr_init(pthread_condattr_t *); +int pthread_condattr_getclock(const pthread_condattr_t *, + clockid_t *); +int pthread_condattr_setclock(pthread_condattr_t *, + clockid_t); int pthread_cond_broadcast(pthread_cond_t *); int pthread_cond_destroy(pthread_cond_t *); ==== //depot/projects/davidxu_thread/src/lib/libalias/alias.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/libalias/alias.c,v 1.49 2004/08/14 14:21:09 phk Exp $"); +__FBSDID("$FreeBSD: src/lib/libalias/alias.c,v 1.50 2005/04/05 13:04:35 phk Exp $"); /* Alias.c provides supervisory control for the functions of the @@ -1170,7 +1170,7 @@ if (la->packetAliasMode & PKT_ALIAS_REVERSE) { la->packetAliasMode &= ~PKT_ALIAS_REVERSE; - iresult = PacketAliasOut(ptr, maxpacketsize); + iresult = LibAliasOut(la, ptr, maxpacketsize); la->packetAliasMode |= PKT_ALIAS_REVERSE; return (iresult); } @@ -1264,7 +1264,7 @@ if (la->packetAliasMode & PKT_ALIAS_REVERSE) { la->packetAliasMode &= ~PKT_ALIAS_REVERSE; - iresult = PacketAliasIn(ptr, maxpacketsize); + iresult = LibAliasIn(la, ptr, maxpacketsize); la->packetAliasMode |= PKT_ALIAS_REVERSE; return (iresult); } ==== //depot/projects/davidxu_thread/src/lib/libarchive/archive_private.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libarchive/archive_private.h,v 1.16 2004/11/06 05:25:53 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive_private.h,v 1.17 2005/04/06 04:19:30 kientzle Exp $ */ #ifndef ARCHIVE_PRIVATE_H_INCLUDED @@ -156,6 +156,7 @@ int (*bid)(struct archive *); int (*read_header)(struct archive *, struct archive_entry *); int (*read_data)(struct archive *, const void **, size_t *, off_t *); + int (*read_data_skip)(struct archive *); int (*cleanup)(struct archive *); void *format_data; /* Format-specific data for readers. */ } formats[4]; @@ -229,6 +230,7 @@ int (*bid)(struct archive *), int (*read_header)(struct archive *, struct archive_entry *), int (*read_data)(struct archive *, const void **, size_t *, off_t *), + int (*read_data_skip)(struct archive *), int (*cleanup)(struct archive *)); int __archive_read_register_compression(struct archive *a, ==== //depot/projects/davidxu_thread/src/lib/libarchive/archive_read.c#3 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read.c,v 1.13 2005/01/08 18:28:11 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read.c,v 1.14 2005/04/06 04:19:30 kientzle Exp $"); #include <errno.h> #include <stdio.h> @@ -226,6 +226,8 @@ a->state = ARCHIVE_STATE_FATAL; return (ARCHIVE_FATAL); } + if (ret != ARCHIVE_OK) + return (ret); } /* Record start-of-header. */ @@ -405,9 +407,13 @@ archive_check_magic(a, ARCHIVE_READ_MAGIC, ARCHIVE_STATE_DATA); - while ((r = archive_read_data_block(a, &buff, &size, &offset)) == - ARCHIVE_OK) - ; + if (a->format->read_data_skip != NULL) + r = (a->format->read_data_skip)(a); + else { + while ((r = archive_read_data_block(a, &buff, &size, &offset)) + == ARCHIVE_OK) + ; + } if (r == ARCHIVE_EOF) r = ARCHIVE_OK; @@ -505,6 +511,7 @@ int (*bid)(struct archive *), int (*read_header)(struct archive *, struct archive_entry *), int (*read_data)(struct archive *, const void **, size_t *, off_t *), + int (*read_data_skip)(struct archive *), int (*cleanup)(struct archive *)) { int i, number_slots; @@ -520,6 +527,7 @@ a->formats[i].bid = bid; a->formats[i].read_header = read_header; a->formats[i].read_data = read_data; + a->formats[i].read_data_skip = read_data_skip; a->formats[i].cleanup = cleanup; a->formats[i].format_data = format_data; return (ARCHIVE_OK); ==== //depot/projects/davidxu_thread/src/lib/libarchive/archive_read_support_format_cpio.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_cpio.c,v 1.12 2005/03/13 01:52:35 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_cpio.c,v 1.13 2005/04/06 04:19:30 kientzle Exp $"); #include <sys/stat.h> @@ -142,6 +142,7 @@ archive_read_format_cpio_bid, archive_read_format_cpio_read_header, archive_read_format_cpio_read_data, + NULL, archive_read_format_cpio_cleanup); if (r != ARCHIVE_OK) ==== //depot/projects/davidxu_thread/src/lib/libarchive/archive_read_support_format_iso9660.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_iso9660.c,v 1.7 2005/02/12 22:48:38 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_iso9660.c,v 1.8 2005/04/06 04:19:30 kientzle Exp $"); #include <sys/stat.h> @@ -212,6 +212,7 @@ archive_read_format_iso9660_bid, archive_read_format_iso9660_read_header, archive_read_format_iso9660_read_data, + NULL, archive_read_format_iso9660_cleanup); if (r != ARCHIVE_OK) { ==== //depot/projects/davidxu_thread/src/lib/libarchive/archive_read_support_format_tar.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_tar.c,v 1.31 2005/03/13 02:35:52 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_tar.c,v 1.32 2005/04/06 04:19:30 kientzle Exp $"); #include <sys/stat.h> #include <errno.h> @@ -216,6 +216,7 @@ archive_read_format_tar_bid, archive_read_format_tar_read_header, archive_read_format_tar_read_data, + NULL, archive_read_format_tar_cleanup); if (r != ARCHIVE_OK) ==== //depot/projects/davidxu_thread/src/lib/libarchive/archive_read_support_format_zip.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_zip.c,v 1.4 2005/02/12 23:00:31 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_zip.c,v 1.5 2005/04/06 04:19:30 kientzle Exp $"); #include <sys/stat.h> #include <errno.h> @@ -41,16 +41,30 @@ #include "archive_private.h" struct zip { + /* entry_bytes_remaining is the number of bytes we expect. */ off_t entry_bytes_remaining; off_t entry_offset; + /* These count the number of bytes actually read for the entry. */ + off_t entry_compressed_bytes_read; + off_t entry_uncompressed_bytes_read; + unsigned version; unsigned system; unsigned flags; unsigned compression; const char * compression_name; time_t mtime; + time_t ctime; + time_t atime; + mode_t mode; + uid_t uid; + gid_t gid; + + /* Flags to mark progress of decompression. */ + char decompress_init; char end_of_entry; + char end_of_entry_cleanup; long crc32; ssize_t filename_length; @@ -73,8 +87,7 @@ struct zip_file_header { char signature[4]; - char version[1]; - char reserved[1]; + char version[2]; char flags[2]; char compression[2]; char timedate[4]; @@ -101,17 +114,22 @@ static int archive_read_format_zip_cleanup(struct archive *); static int archive_read_format_zip_read_data(struct archive *, const void **, size_t *, off_t *); +static int archive_read_format_zip_read_data_skip(struct archive *a); static int archive_read_format_zip_read_header(struct archive *, struct archive_entry *); static int i2(const char *); static int i4(const char *); +static unsigned int u2(const char *); +static unsigned int u4(const char *); +static uint64_t u8(const char *); static int zip_read_data_deflate(struct archive *a, const void **buff, size_t *size, off_t *offset); static int zip_read_data_none(struct archive *a, const void **buff, size_t *size, off_t *offset); -static int zip_read_data_skip(struct archive *a, const void **buff, - size_t *size, off_t *offset); +static int zip_read_file_header(struct archive *a, + struct archive_entry *entry, struct zip *zip); static time_t zip_time(const char *); +static void process_extra(const void* extra, struct zip* zip); int archive_read_support_format_zip(struct archive *a) @@ -127,6 +145,7 @@ archive_read_format_zip_bid, archive_read_format_zip_read_header, archive_read_format_zip_read_data, + archive_read_format_zip_read_data_skip, archive_read_format_zip_cleanup); if (r != ARCHIVE_OK) @@ -171,7 +190,7 @@ { int bytes_read; const void *h; - const struct zip_file_header *p; + const char *signature; struct zip *zip; a->archive_format = ARCHIVE_FORMAT_ZIP; @@ -179,40 +198,70 @@ a->archive_format_name = "ZIP"; zip = *(a->pformat_data); + zip->decompress_init = 0; zip->end_of_entry = 0; - bytes_read = - (a->compression_read_ahead)(a, &h, sizeof(struct zip_file_header)); + zip->end_of_entry_cleanup = 0; + zip->entry_uncompressed_bytes_read = 0; + zip->entry_compressed_bytes_read = 0; + bytes_read = (a->compression_read_ahead)(a, &h, 4); if (bytes_read < 4) return (ARCHIVE_FATAL); - p = h; - if (p->signature[0] != 'P' || p->signature[1] != 'K') { + signature = h; + if (signature[0] != 'P' || signature[1] != 'K') { archive_set_error(a, ARCHIVE_ERRNO_FILE_FORMAT, "Bad ZIP file"); return (ARCHIVE_FATAL); } - if (p->signature[2] == '\001' && p->signature[3] == '\002') { + if (signature[2] == '\001' && signature[3] == '\002') { /* Beginning of central directory. */ return (ARCHIVE_EOF); - } else if (p->signature[2] == '\003' && p->signature[3] == '\004') { - /* Regular file entry; fall through. */ - } else if (p->signature[2] == '\005' && p->signature[3] == '\006') { + } + + if (signature[2] == '\003' && signature[3] == '\004') { + /* Regular file entry. */ + return (zip_read_file_header(a, entry, zip)); + } + + if (signature[2] == '\005' && signature[3] == '\006') { /* End-of-archive record. */ return (ARCHIVE_EOF); - } else if (p->signature[2] == '\007' && p->signature[3] == '\010') { - /* ??? Need to research this. ??? */ - } else { - archive_set_error(a, ARCHIVE_ERRNO_FILE_FORMAT, - "Damaged ZIP file or unsupported format variant (%d,%d)", p->signature[2], p->signature[3]); + } + + if (signature[2] == '\007' && signature[3] == '\010') { + /* + * We should never encounter this record here; + * see ZIP_LENGTH_AT_END handling below for details. + */ + archive_set_error(a, ARCHIVE_ERRNO_MISC, + "Bad ZIP file: Unexpected end-of-entry record"); return (ARCHIVE_FATAL); } + archive_set_error(a, ARCHIVE_ERRNO_FILE_FORMAT, + "Damaged ZIP file or unsupported format variant (%d,%d)", + signature[2], signature[3]); + return (ARCHIVE_FATAL); +} + +int +zip_read_file_header(struct archive *a, struct archive_entry *entry, + struct zip *zip) +{ + const struct zip_file_header *p; + const void *h; + int bytes_read; + struct stat st; + + bytes_read = + (a->compression_read_ahead)(a, &h, sizeof(struct zip_file_header)); if (bytes_read < (int)sizeof(struct zip_file_header)) { archive_set_error(a, ARCHIVE_ERRNO_FILE_FORMAT, "Truncated ZIP file header"); return (ARCHIVE_FATAL); } + p = h; zip->version = p->version[0]; zip->system = p->version[1]; @@ -224,11 +273,16 @@ else zip->compression_name = "??"; zip->mtime = zip_time(p->timedate); + zip->ctime = 0; + zip->atime = 0; + zip->mode = 0; + zip->uid = 0; + zip->gid = 0; zip->crc32 = i4(p->crc32); zip->filename_length = i2(p->filename_length); zip->extra_length = i2(p->extra_length); - zip->uncompressed_size = i4(p->uncompressed_size); - zip->compressed_size = i4(p->compressed_size); + zip->uncompressed_size = u4(p->uncompressed_size); + zip->compressed_size = u4(p->compressed_size); (a->compression_read_consume)(a, sizeof(struct zip_file_header)); @@ -245,6 +299,11 @@ (a->compression_read_consume)(a, zip->filename_length); archive_entry_set_pathname(entry, zip->pathname.s); + if (zip->pathname.s[archive_strlen(&zip->pathname) - 1] == '/') + zip->mode = S_IFDIR | 0777; + else + zip->mode = S_IFREG | 0777; + /* Read the extra data. */ bytes_read = (a->compression_read_ahead)(a, &h, zip->extra_length); if (bytes_read < zip->extra_length) { @@ -252,16 +311,20 @@ "Truncated ZIP file header"); return (ARCHIVE_FATAL); } - /* TODO: Store the extra data somewhere? */ + process_extra(h, zip); (a->compression_read_consume)(a, zip->extra_length); /* Populate some additional entry fields: */ - archive_entry_set_mtime(entry, zip->mtime, 0); - if (zip->pathname.s[archive_strlen(&zip->pathname) - 1] == '/') - archive_entry_set_mode(entry, S_IFDIR | 0777); - else - archive_entry_set_mode(entry, S_IFREG | 0777); - archive_entry_set_size(entry, zip->uncompressed_size); + memset(&st, 0, sizeof(st)); + st.st_mode = zip->mode; + st.st_uid = zip->uid; + st.st_gid = zip->gid; + st.st_mtime = zip->mtime; + st.st_ctime = zip->ctime; + st.st_atime = zip->atime; + st.st_size = zip->uncompressed_size; + archive_entry_copy_stat(entry, &st); + zip->entry_bytes_remaining = zip->compressed_size; zip->entry_offset = 0; @@ -304,34 +367,101 @@ zip = *(a->pformat_data); - if (!zip->end_of_entry) { - switch(zip->compression) { - case 0: /* No compression. */ - r = zip_read_data_none(a, buff, size, offset); - break; - case 8: /* Deflate compression. */ - r = zip_read_data_deflate(a, buff, size, offset); - break; - default: /* Unsupported compression. */ - r = zip_read_data_skip(a, buff, size, offset); - /* Return a warning. */ - archive_set_error(a, ARCHIVE_ERRNO_FILE_FORMAT, - "Unsupported ZIP compression method (%s)", - zip->compression_name); - r = ARCHIVE_WARN; - break; + /* + * If we hit end-of-entry last time, clean up and return + * ARCHIVE_EOF this time. + */ + if (zip->end_of_entry) { + if (!zip->end_of_entry_cleanup) { + if (zip->flags & ZIP_LENGTH_AT_END) { + const void *h; + const char *p; + int bytes_read = + (a->compression_read_ahead)(a, &h, 16); + if (bytes_read < 16) { + archive_set_error(a, + ARCHIVE_ERRNO_FILE_FORMAT, + "Truncated ZIP end-of-file record"); + return (ARCHIVE_FATAL); + } + p = h; + zip->crc32 = i4(p + 4); + zip->compressed_size = u4(p + 8); + zip->uncompressed_size = u4(p + 12); + bytes_read = (a->compression_read_consume)(a, 16); + } + + /* Check file size, CRC against these values. */ + if (zip->compressed_size != zip->entry_compressed_bytes_read) { + archive_set_error(a, ARCHIVE_ERRNO_MISC, + "ZIP compressed data is wrong size"); + return (ARCHIVE_WARN); + } + if (zip->uncompressed_size != zip->entry_uncompressed_bytes_read) { + archive_set_error(a, ARCHIVE_ERRNO_MISC, + "ZIP uncompressed data is wrong size"); + return (ARCHIVE_WARN); + } +/* TODO: Compute CRC. */ +/* + if (zip->crc32 != zip->entry_crc32_calculated) { + archive_set_error(a, ARCHIVE_ERRNO_MISC, + "ZIP data CRC error"); + return (ARCHIVE_WARN); + } +*/ + /* End-of-entry cleanup done. */ + zip->end_of_entry_cleanup = 1; } - } else { - r = ARCHIVE_EOF; + return (ARCHIVE_EOF); + } + + switch(zip->compression) { + case 0: /* No compression. */ + r = zip_read_data_none(a, buff, size, offset); + break; + case 8: /* Deflate compression. */ + r = zip_read_data_deflate(a, buff, size, offset); + break; + default: /* Unsupported compression. */ + *buff = NULL; + *size = 0; + *offset = 0; + /* Return a warning. */ + archive_set_error(a, ARCHIVE_ERRNO_FILE_FORMAT, + "Unsupported ZIP compression method (%s)", + zip->compression_name); if (zip->flags & ZIP_LENGTH_AT_END) { - /* TODO: Read the "PK\007\008" trailer that follows. */ + /* + * ZIP_LENGTH_AT_END requires us to + * decompress the entry in order to + * skip it, but we don't know this + * compression method, so we give up. + */ + r = ARCHIVE_FATAL; + } else { + /* We know compressed size; just skip it. */ + archive_read_format_zip_read_data_skip(a); + r = ARCHIVE_WARN; } + break; } - if (r == ARCHIVE_EOF) - zip->end_of_entry = 1; return (r); } +/* + * Read "uncompressed" data. According to the current specification, + * if ZIP_LENGTH_AT_END is specified, then the size fields in the + * initial file header are supposed to be set to zero. This would, of + * course, make it impossible for us to read the archive, since we + * couldn't determine the end of the file data. Info-ZIP seems to + * include the real size fields both before and after the data in this + * case (the CRC only appears afterwards), so this works as you would + * expect. + * + * Returns ARCHIVE_OK if successful, ARCHIVE_FATAL otherwise, sets + * zip->end_of_entry if it consumes all of the data. + */ static int zip_read_data_none(struct archive *a, const void **buff, size_t *size, off_t *offset) @@ -345,7 +475,8 @@ *buff = NULL; *size = 0; *offset = zip->entry_offset; - return (ARCHIVE_EOF); + zip->end_of_entry = 1; + return (ARCHIVE_OK); } /* * Note: '1' here is a performance optimization. @@ -366,6 +497,8 @@ *offset = zip->entry_offset; zip->entry_offset += *size; zip->entry_bytes_remaining -= *size; + zip->entry_uncompressed_bytes_read += *size; + zip->entry_compressed_bytes_read += *size; return (ARCHIVE_OK); } @@ -394,7 +527,7 @@ } /* If we haven't yet read any data, initialize the decompressor. */ - if (zip->entry_bytes_remaining == zip->compressed_size) { + if (!zip->decompress_init) { r = inflateInit2(&zip->stream, -15 /* Don't check for zlib header */); if (r != Z_OK) { @@ -402,6 +535,7 @@ "Can't initialize ZIP decompression."); return (ARCHIVE_FATAL); } + zip->decompress_init = 1; } /* @@ -416,8 +550,6 @@ "Truncated ZIP file body"); return (ARCHIVE_FATAL); } - if (bytes_avail > zip->entry_bytes_remaining) - bytes_avail = zip->entry_bytes_remaining; /* * A bug in zlib.h: stream.next_in should be marked 'const' @@ -453,10 +585,11 @@ bytes_avail = zip->stream.total_in; (a->compression_read_consume)(a, bytes_avail); zip->entry_bytes_remaining -= bytes_avail; - + zip->entry_compressed_bytes_read += bytes_avail; *offset = zip->entry_offset; *size = zip->stream.total_out; + zip->entry_uncompressed_bytes_read += *size; *buff = zip->uncompressed_buffer; zip->entry_offset += *size; return (ARCHIVE_OK); @@ -468,31 +601,45 @@ { int r; - r = zip_read_data_skip(a, buff, size, offset); + *buff = NULL; + *size = 0; + *offset = 0; archive_set_error(a, ARCHIVE_ERRNO_MISC, "libarchive compiled without deflate support (no libz)"); - return (ARCHIVE_WARN); + return (ARCHIVE_FATAL); } #endif static int -zip_read_data_skip(struct archive *a, const void **buff, - size_t *size, off_t *offset) +archive_read_format_zip_read_data_skip(struct archive *a) { struct zip *zip; + const void *buff = NULL; ssize_t bytes_avail; zip = *(a->pformat_data); - /* Return nothing gracefully. */ - *buff = NULL; - *size = 0; >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200504070628.j376Sosn018482>