Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 4 Jun 2004 22:57:42 -0700 (PDT)
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 54201 for review
Message-ID:  <200406050557.i555vgcn032543@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=54201

Change 54201 by marcel@marcel_nfs on 2004/06/04 22:56:50

	IFC @54199

Affected files ...

.. //depot/projects/gdb/UPDATING#13 integrate
.. //depot/projects/gdb/bin/cp/utils.c#3 integrate
.. //depot/projects/gdb/bin/df/df.c#9 integrate
.. //depot/projects/gdb/lib/libarchive/archive_read.c#8 integrate
.. //depot/projects/gdb/lib/libarchive/archive_read_extract.c#13 integrate
.. //depot/projects/gdb/lib/libarchive/archive_read_support_format_tar.c#13 integrate
.. //depot/projects/gdb/lib/libdisk/write_alpha_disk.c#2 integrate
.. //depot/projects/gdb/lib/libdisk/write_amd64_disk.c#2 integrate
.. //depot/projects/gdb/lib/libdisk/write_i386_disk.c#3 integrate
.. //depot/projects/gdb/lib/libdisk/write_pc98_disk.c#3 integrate
.. //depot/projects/gdb/share/man/man3/Makefile#3 integrate
.. //depot/projects/gdb/share/man/man4/screen.4#2 integrate
.. //depot/projects/gdb/share/man/man5/libmap.conf.5#4 integrate
.. //depot/projects/gdb/share/man/man5/periodic.conf.5#3 integrate
.. //depot/projects/gdb/sys/alpha/alpha/promcons.c#4 integrate
.. //depot/projects/gdb/sys/alpha/linux/linux_proto.h#5 integrate
.. //depot/projects/gdb/sys/alpha/linux/linux_syscall.h#5 integrate
.. //depot/projects/gdb/sys/alpha/linux/linux_sysent.c#5 integrate
.. //depot/projects/gdb/sys/alpha/linux/syscalls.master#5 integrate
.. //depot/projects/gdb/sys/alpha/tlsb/zs_tlsb.c#6 integrate
.. //depot/projects/gdb/sys/amd64/amd64/fpu.c#4 integrate
.. //depot/projects/gdb/sys/compat/ndis/kern_ndis.c#14 integrate
.. //depot/projects/gdb/sys/compat/ndis/subr_ndis.c#11 integrate
.. //depot/projects/gdb/sys/compat/pecoff/imgact_pecoff.c#2 integrate
.. //depot/projects/gdb/sys/dev/acpica/acpi_cpu.c#8 integrate
.. //depot/projects/gdb/sys/dev/ciss/cissreg.h#6 integrate
.. //depot/projects/gdb/sys/dev/cx/if_cx.c#6 integrate
.. //depot/projects/gdb/sys/dev/cy/cy.c#5 integrate
.. //depot/projects/gdb/sys/dev/dcons/dcons.c#8 integrate
.. //depot/projects/gdb/sys/dev/digi/digi.c#5 integrate
.. //depot/projects/gdb/sys/dev/em/if_em.c#7 integrate
.. //depot/projects/gdb/sys/dev/if_ndis/if_ndis.c#18 integrate
.. //depot/projects/gdb/sys/dev/if_ndis/if_ndisvar.h#5 integrate
.. //depot/projects/gdb/sys/dev/nmdm/nmdm.c#7 integrate
.. //depot/projects/gdb/sys/dev/ofw/ofw_console.c#5 integrate
.. //depot/projects/gdb/sys/dev/rc/rc.c#6 integrate
.. //depot/projects/gdb/sys/dev/rp/rp.c#4 integrate
.. //depot/projects/gdb/sys/dev/sab/sab.c#7 integrate
.. //depot/projects/gdb/sys/dev/si/si.c#4 integrate
.. //depot/projects/gdb/sys/dev/sio/sio.c#12 integrate
.. //depot/projects/gdb/sys/dev/sound/pci/emu10k1.c#5 integrate
.. //depot/projects/gdb/sys/dev/sx/sx.c#3 integrate
.. //depot/projects/gdb/sys/dev/syscons/syscons.c#9 integrate
.. //depot/projects/gdb/sys/dev/syscons/sysmouse.c#4 integrate
.. //depot/projects/gdb/sys/dev/uart/uart_tty.c#4 integrate
.. //depot/projects/gdb/sys/dev/usb/ubser.c#4 integrate
.. //depot/projects/gdb/sys/dev/usb/ucom.c#5 integrate
.. //depot/projects/gdb/sys/dev/usb/umass.c#5 integrate
.. //depot/projects/gdb/sys/dev/usb/usbdevs#11 integrate
.. //depot/projects/gdb/sys/dev/usb/usbdevs.h#11 integrate
.. //depot/projects/gdb/sys/dev/usb/usbdevs_data.h#11 integrate
.. //depot/projects/gdb/sys/dev/zs/zs.c#6 integrate
.. //depot/projects/gdb/sys/i386/isa/pcvt/pcvt_drv.c#5 integrate
.. //depot/projects/gdb/sys/i386/isa/pcvt/pcvt_ext.c#3 integrate
.. //depot/projects/gdb/sys/i386/isa/pcvt/pcvt_hdr.h#5 integrate
.. //depot/projects/gdb/sys/i386/isa/pcvt/pcvt_sup.c#2 integrate
.. //depot/projects/gdb/sys/i386/isa/pcvt/pcvt_vtf.c#2 integrate
.. //depot/projects/gdb/sys/i386/linux/linux_sysvec.c#2 integrate
.. //depot/projects/gdb/sys/ia64/ia64/ssc.c#4 integrate
.. //depot/projects/gdb/sys/kern/imgact_aout.c#3 integrate
.. //depot/projects/gdb/sys/kern/imgact_elf.c#9 integrate
.. //depot/projects/gdb/sys/kern/subr_bus.c#8 integrate
.. //depot/projects/gdb/sys/kern/tty.c#6 integrate
.. //depot/projects/gdb/sys/kern/tty_pty.c#6 integrate
.. //depot/projects/gdb/sys/kern/uipc_socket2.c#8 integrate
.. //depot/projects/gdb/sys/kern/uipc_usrreq.c#6 integrate
.. //depot/projects/gdb/sys/kern/vfs_syscalls.c#10 integrate
.. //depot/projects/gdb/sys/kern/vfs_vnops.c#7 integrate
.. //depot/projects/gdb/sys/pc98/pc98/scgdcrndr.c#2 integrate
.. //depot/projects/gdb/sys/pc98/pc98/scterm-sck.c#2 integrate
.. //depot/projects/gdb/sys/pc98/pc98/sio.c#10 integrate
.. //depot/projects/gdb/sys/sparc64/pci/psycho.c#5 integrate
.. //depot/projects/gdb/sys/sparc64/sbus/sbus.c#4 integrate
.. //depot/projects/gdb/sys/sparc64/sparc64/eeprom_ebus.c#4 integrate
.. //depot/projects/gdb/sys/sparc64/sparc64/eeprom_fhc.c#4 integrate
.. //depot/projects/gdb/sys/sparc64/sparc64/eeprom_sbus.c#4 integrate
.. //depot/projects/gdb/sys/sparc64/sparc64/nexus.c#4 integrate
.. //depot/projects/gdb/sys/sys/bus.h#4 integrate
.. //depot/projects/gdb/sys/sys/conf.h#6 integrate
.. //depot/projects/gdb/sys/sys/linedisc.h#1 branch
.. //depot/projects/gdb/sys/sys/param.h#12 integrate
.. //depot/projects/gdb/sys/sys/socketvar.h#5 integrate
.. //depot/projects/gdb/sys/sys/tty.h#4 integrate
.. //depot/projects/gdb/sys/sys/vnode.h#5 integrate
.. //depot/projects/gdb/usr.bin/calendar/Makefile#2 integrate
.. //depot/projects/gdb/usr.sbin/acpi/acpiconf/acpiconf.8#3 integrate
.. //depot/projects/gdb/usr.sbin/acpi/acpidump/acpidump.8#2 integrate
.. //depot/projects/gdb/usr.sbin/adduser/adduser.8#4 integrate
.. //depot/projects/gdb/usr.sbin/bluetooth/bcmfw/bcmfw.8#2 integrate
.. //depot/projects/gdb/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.8#3 integrate
.. //depot/projects/gdb/usr.sbin/boot0cfg/boot0cfg.8#2 integrate
.. //depot/projects/gdb/usr.sbin/cron/crontab/crontab.1#3 integrate
.. //depot/projects/gdb/usr.sbin/cron/crontab/crontab.5#2 integrate
.. //depot/projects/gdb/usr.sbin/faithd/faithd.8#2 integrate
.. //depot/projects/gdb/usr.sbin/fdcontrol/fdcontrol.8#3 integrate
.. //depot/projects/gdb/usr.sbin/fwcontrol/fwcontrol.8#2 integrate
.. //depot/projects/gdb/usr.sbin/gstat/gstat.8#3 integrate
.. //depot/projects/gdb/usr.sbin/gstat/gstat.c#6 integrate
.. //depot/projects/gdb/usr.sbin/mountd/mountd.8#3 integrate
.. //depot/projects/gdb/usr.sbin/mtree/mtree.8#2 integrate
.. //depot/projects/gdb/usr.sbin/mtree/mtree.c#2 integrate
.. //depot/projects/gdb/usr.sbin/ndp/ndp.8#2 integrate
.. //depot/projects/gdb/usr.sbin/wicontrol/wicontrol.8#2 integrate

Differences ...

==== //depot/projects/gdb/UPDATING#13 (text+ko) ====

@@ -17,6 +17,11 @@
 	developers choose to disable these features on build machines
 	to maximize performance.
 
+20040601:
+	The MIDI drivers have been removed. Until the new module-friendly
+	ones are merged, remove or comment out midi and seq from your
+	kernel configuration.
+
 20040423:
 	Due to a new option in ipfw (versrcreach) the ipfw(8) command
 	needs to be recompiled.  Normal accept/reject rules without
@@ -1602,4 +1607,4 @@
 Contact Warner Losh if you have any questions about your use of
 this document.
 
-$FreeBSD: src/UPDATING,v 1.307 2004/04/23 14:33:30 andre Exp $
+$FreeBSD: src/UPDATING,v 1.308 2004/06/04 15:24:12 tanimura Exp $

==== //depot/projects/gdb/bin/cp/utils.c#3 (text+ko) ====

@@ -33,7 +33,7 @@
 #endif
 #endif /* not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/cp/utils.c,v 1.43 2004/04/06 20:06:44 markm Exp $");
+__FBSDID("$FreeBSD: src/bin/cp/utils.c,v 1.44 2004/06/05 02:32:21 tjr Exp $");
 
 #include <sys/param.h>
 #include <sys/stat.h>
@@ -88,6 +88,7 @@
 		if (nflag) {
 			if (vflag)
 				printf("%s not overwritten\n", to.p_path);
+			(void)close(from_fd);
 			return (0);
 		} else if (iflag) {
 			(void)fprintf(stderr, "overwrite %s? %s", 

==== //depot/projects/gdb/bin/df/df.c#9 (text+ko) ====

@@ -44,7 +44,7 @@
 #endif /* not lint */
 #endif
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/df/df.c,v 1.61 2004/05/24 22:21:49 pjd Exp $");
+__FBSDID("$FreeBSD: src/bin/df/df.c,v 1.62 2004/06/04 09:30:51 das Exp $");
 
 #include <sys/param.h>
 #include <sys/stat.h>
@@ -81,6 +81,7 @@
 static char	 *makenetvfslist(void);
 static void	  prthuman(const struct statfs *, int64_t);
 static void	  prthumanval(int64_t);
+static intmax_t	  fsbtoblk(int64_t, uint64_t, u_long);
 static void	  prtstat(struct statfs *, struct maxwidths *);
 static size_t	  regetmntinfo(struct statfs **, long, const char **);
 static void	  update_maxwidths(struct maxwidths *, const struct statfs *);
@@ -345,10 +346,15 @@
  * Convert statfs returned file system size into BLOCKSIZE units.
  * Attempts to avoid overflow for large file systems.
  */
-#define fsbtoblk(num, fsbs, bs) \
-	(((fsbs) != 0 && (fsbs) < (bs)) ? \
-		(num) / (intmax_t)((bs) / (fsbs)) : \
-		(num) * (intmax_t)((fsbs) / (bs)))
+static intmax_t
+fsbtoblk(int64_t num, uint64_t fsbs, u_long bs)
+{
+
+	if (fsbs != 0 && fsbs < bs)
+		return (num / (intmax_t)(bs / fsbs));
+	else
+		return (num * (intmax_t)(fsbs / bs));
+}
 
 /*
  * Print out status about a file system.
@@ -392,11 +398,10 @@
 		prthuman(sfsp, used);
 	} else {
 		(void)printf(" %*jd %*jd %*jd",
-		    mwp->total, (intmax_t)fsbtoblk(sfsp->f_blocks,
+		    mwp->total, fsbtoblk(sfsp->f_blocks,
 		    sfsp->f_bsize, blocksize),
-		    mwp->used, (intmax_t)fsbtoblk(used, sfsp->f_bsize,
-		    blocksize),
-		    mwp->avail, (intmax_t)fsbtoblk(sfsp->f_bavail,
+		    mwp->used, fsbtoblk(used, sfsp->f_bsize, blocksize),
+		    mwp->avail, fsbtoblk(sfsp->f_bavail,
 		    sfsp->f_bsize, blocksize));
 	}
 	(void)printf(" %5.0f%%",

==== //depot/projects/gdb/lib/libarchive/archive_read.c#8 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include "archive_platform.h"
-__FBSDID("$FreeBSD: src/lib/libarchive/archive_read.c,v 1.9 2004/06/04 01:36:10 kientzle Exp $");
+__FBSDID("$FreeBSD: src/lib/libarchive/archive_read.c,v 1.10 2004/06/04 23:25:20 kientzle Exp $");
 
 #include <err.h>
 #include <errno.h>
@@ -263,6 +263,8 @@
 	}
 
 	*entryp = entry;
+	a->read_data_output_offset = 0;
+	a->read_data_remaining = 0;
 	return (ret);
 }
 
@@ -336,6 +338,9 @@
  * buffer, filling any gaps with zero bytes.  Clients using this
  * API can be completely ignorant of sparse-file issues; sparse files
  * will simply be padded with nulls.
+ *
+ * DO NOT intermingle calls to this function and archive_read_data_block
+ * to read a single entry body.
  */
 ssize_t
 archive_read_data(struct archive *a, void *buff, size_t s)

==== //depot/projects/gdb/lib/libarchive/archive_read_extract.c#13 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include "archive_platform.h"
-__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_extract.c,v 1.14 2004/06/03 23:29:47 kientzle Exp $");
+__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_extract.c,v 1.16 2004/06/05 05:34:45 kientzle Exp $");
 
 #include <sys/stat.h>
 #include <sys/types.h>
@@ -423,7 +423,7 @@
 	}
 
 	if (archive_read_extract_dir_create(a, archive_entry_pathname(entry),
-		mode, flags)) {
+		writable_mode, flags)) {
 		/* Unable to create directory; just use the existing dir. */
 		return (ARCHIVE_WARN);
 	}
@@ -502,6 +502,18 @@
 		mkdirpath(a, name);
 		if (mkdir(name, mode) == 0)
 			return (ARCHIVE_OK);
+		/*
+		 * Yes, people really do type "tar -cf - foo/." for
+		 * reasons that I cannot fathom.  When they do, the
+		 * dir "foo" gets created in mkdirpath() and the
+		 * mkdir("foo/.") just above still fails.  So, I've
+		 * added yet another check here to catch this
+		 * particular case.
+		 *
+		 * There must be a better way ...
+		 */
+		if (stat(name, &st) == 0  &&  S_ISDIR(st.st_mode))
+			return (ARCHIVE_OK);
 	} else {
 		/* Stat failed? */
 		archive_set_error(a, errno, "Can't test directory");

==== //depot/projects/gdb/lib/libarchive/archive_read_support_format_tar.c#13 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include "archive_platform.h"
-__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_tar.c,v 1.15 2004/06/02 08:14:43 kientzle Exp $");
+__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_tar.c,v 1.17 2004/06/04 23:24:21 kientzle Exp $");
 
 #include <sys/stat.h>
 #include <errno.h>
@@ -201,8 +201,19 @@
 
 	/* Now let's look at the actual header and see if it matches. */
 	bytes_read = (a->compression_read_ahead)(a, &h, 512);
-	if (bytes_read < 512)
+	if (bytes_read < 0)
+		return (ARCHIVE_FATAL);
+	if (bytes_read == 0  &&  bid > 0) {
+		/* An archive without a proper end-of-archive marker. */
+		/* Hold our nose and bid 1 anyway. */
+		return (1);
+	}
+	if (bytes_read < 512) {
+		if (bid > 0)
+			archive_set_error(a, ARCHIVE_ERRNO_FILE_FORMAT,
+			    "Truncated tar archive");
 		return (ARCHIVE_FATAL);
+	}
 
 	/* If it's an end-of-archive mark, we can handle it. */
 	if ((*(const char *)h) == 0 && archive_block_is_null(h))
@@ -325,13 +336,21 @@
 	/* Read 512-byte header record */
 	bytes = (a->compression_read_ahead)(a, &h, 512);
 	if (bytes < 512) {
-		/* TODO: Set error values */
-		return (-1);
+		/*
+		 * If we're here, it's becase the _bid function accepted
+		 * this file.  So just call a short read end-of-archive
+		 * and be done with it.
+		 */
+		return (ARCHIVE_EOF);
 	}
 	(a->compression_read_consume)(a, 512);
 
 	/* Check for end-of-archive mark. */
 	if (((*(const char *)h)==0) && archive_block_is_null(h)) {
+		/* Try to consume a second all-null record, as well. */
+		bytes = (a->compression_read_ahead)(a, &h, 512);
+		if (bytes > 0)
+			(a->compression_read_consume)(a, bytes);
 		archive_set_error(a, 0, NULL);
 		return (ARCHIVE_EOF);
 	}
@@ -561,30 +580,37 @@
 read_body_to_string(struct archive *a, struct tar *tar,
     struct archive_string *as, const void *h)
 {
+	off_t size, padded_size;
+	ssize_t bytes_read, bytes_to_copy;
 	const struct archive_entry_header_ustar *header;
-	off_t size;
-	unsigned oldstate;
-	int err, err2;
+	const void *src;
+	char *dest;
 
+	(void)tar; /* UNUSED */
 	header = h;
 	size  = tar_atol(header->size, sizeof(header->size));
 
-	/* Temporarily fudge internal state for read_data call. */
-	oldstate = a->state;
-	a->state = ARCHIVE_STATE_DATA;
-
 	/* Read the body into the string. */
-	tar->entry_bytes_remaining = size;
-	tar->entry_padding = 0x1ff & -size;
 	archive_string_ensure(as, size+1);
-	err = archive_read_data_into_buffer(a, as->s, size);
-	as->s[size] = 0; /* Null terminate name! */
-	err2 = archive_read_data_skip(a); /* Resync for next header. */
-
-	/* Restore the state. */
-	a->state = oldstate;
-
-	return (err_combine(err, err2));
+	padded_size = (size + 511) & ~ 511;
+	dest = as->s;
+	while (padded_size > 0) {
+		bytes_read = (a->compression_read_ahead)(a, &src, padded_size);
+		if (bytes_read < 0)
+			return (ARCHIVE_FATAL);
+		if (bytes_read > padded_size)
+			bytes_read = padded_size;
+		(a->compression_read_consume)(a, bytes_read);
+		bytes_to_copy = bytes_read;
+		if ((off_t)bytes_to_copy > size)
+			bytes_to_copy = (ssize_t)size;
+		memcpy(dest, src, bytes_to_copy);
+		dest += bytes_to_copy;
+		size -= bytes_to_copy;
+		padded_size -= bytes_read;
+	}
+	*dest = '\0';
+	return (ARCHIVE_OK);
 }
 
 /*

==== //depot/projects/gdb/lib/libdisk/write_alpha_disk.c#2 (text+ko) ====

@@ -8,7 +8,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libdisk/write_alpha_disk.c,v 1.11 2003/04/04 16:59:39 phk Exp $");
+__FBSDID("$FreeBSD: src/lib/libdisk/write_alpha_disk.c,v 1.12 2004/06/04 11:49:11 brian Exp $");
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -51,7 +51,10 @@
 	}
 
 	for (i = 0; i < BBSIZE/512; i++) {
-		p = read_block(fd, i + c1->offset, 512);
+		if (!(p = read_block(fd, i + c1->offset, 512))) {
+			close (fd);
+			return (1);
+		}
 		memcpy(buf + 512 * i, p, 512);
 		free(p);
 	}

==== //depot/projects/gdb/lib/libdisk/write_amd64_disk.c#2 (text+ko) ====

@@ -8,7 +8,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libdisk/write_amd64_disk.c,v 1.7 2003/04/04 16:35:13 phk Exp $");
+__FBSDID("$FreeBSD: src/lib/libdisk/write_amd64_disk.c,v 1.8 2004/06/04 11:49:11 brian Exp $");
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -35,7 +35,8 @@
 	u_char buf[BBSIZE];
 
 	for (i = 0; i < BBSIZE/512; i++) {
-		p = read_block(fd, i + c1->offset, 512);
+		if (!(p = read_block(fd, i + c1->offset, 512)))
+			return (1);
 		memcpy(buf + 512 * i, p, 512);
 		free(p);
 	}
@@ -101,7 +102,10 @@
                 return 1;
 
 	memset(s, 0, sizeof s);
-	mbr = read_block(fd, 0, d1->sector_size);
+	if (!(mbr = read_block(fd, 0, d1->sector_size))) {
+		close (fd);
+		return (1);
+	}
 	dp = (struct dos_partition *)(mbr + DOSPARTOFF);
 	memcpy(work, dp, sizeof work);
 	dp = work;
@@ -178,7 +182,10 @@
 			if (dp[i].dp_typ == 0xa5)
 				dp[i].dp_flag = 0x80;
 
-	mbr = read_block(fd, 0, d1->sector_size);
+	if (!(mbr = read_block(fd, 0, d1->sector_size))) {
+		close (fd);
+		return (1);
+	}
 	if (d1->bootmgr) {
 		memcpy(mbr, d1->bootmgr, DOSPARTOFF);
 		Cfg_Boot_Mgr(mbr, need_edd);

==== //depot/projects/gdb/lib/libdisk/write_i386_disk.c#3 (text+ko) ====

@@ -8,7 +8,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libdisk/write_i386_disk.c,v 1.8 2004/03/30 01:39:00 kuriyama Exp $");
+__FBSDID("$FreeBSD: src/lib/libdisk/write_i386_disk.c,v 1.9 2004/06/04 11:49:11 brian Exp $");
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -35,7 +35,8 @@
 	u_char buf[BBSIZE];
 
 	for (i = 0; i < BBSIZE/512; i++) {
-		p = read_block(fd, i + c1->offset, 512);
+		if (!(p = read_block(fd, i + c1->offset, 512)))
+			return (1);
 		memcpy(buf + 512 * i, p, 512);
 		free(p);
 	}
@@ -101,7 +102,10 @@
                 return 1;
 
 	memset(s, 0, sizeof s);
-	mbrblk = read_block(fd, 0, d1->sector_size);
+	if (!(mbrblk = read_block(fd, 0, d1->sector_size))) {
+		close (fd);
+		return (1);
+	}
 	dp = (struct dos_partition *)(mbrblk + DOSPARTOFF);
 	memcpy(work, dp, sizeof work);
 	dp = work;
@@ -178,7 +182,10 @@
 			if (dp[i].dp_typ == 0xa5)
 				dp[i].dp_flag = 0x80;
 
-	mbrblk = read_block(fd, 0, d1->sector_size);
+	if (!(mbrblk = read_block(fd, 0, d1->sector_size))) {
+		close (fd);
+		return (1);
+	}
 	if (d1->bootmgr) {
 		memcpy(mbrblk, d1->bootmgr, DOSPARTOFF);
 		Cfg_Boot_Mgr(mbrblk, need_edd);

==== //depot/projects/gdb/lib/libdisk/write_pc98_disk.c#3 (text+ko) ====

@@ -8,7 +8,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libdisk/write_pc98_disk.c,v 1.10 2004/03/30 12:22:31 nyan Exp $");
+__FBSDID("$FreeBSD: src/lib/libdisk/write_pc98_disk.c,v 1.11 2004/06/04 11:49:11 brian Exp $");
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -37,7 +37,8 @@
 	u_char buf[BBSIZE];
 
 	for (i = 0; i < BBSIZE / 512; i++) {
-		p = read_block(fd, i + c1->offset, 512);
+		if (!(p = read_block(fd, i + c1->offset, 512)))
+			return (1);
 		memcpy(buf + 512 * i, p, 512);
 		free(p);
 	}
@@ -87,7 +88,10 @@
 	}
 
 	memset(s, 0, sizeof s);
-	mbrblk = read_block(fd, 1, d1->sector_size);
+	if (!(mbrblk = read_block(fd, 1, d1->sector_size))) {
+		close (fd);
+		return (1);
+	}
 	dp = (struct pc98_partition *)(mbrblk + DOSPARTOFF);
 	memcpy(work, dp, sizeof work);
 	dp = work;
@@ -151,7 +155,10 @@
 	if (d1->bootipl)
 		write_block(fd, 0, d1->bootipl, d1->sector_size);
 
-	mbrblk = read_block(fd, 1, d1->sector_size);
+	if (!(mbrblk = read_block(fd, 1, d1->sector_size))) {
+		close (fd);
+		return (1);
+	}
 	memcpy(mbrblk + DOSPARTOFF, dp, sizeof *dp * NDOSPART);
 	/* XXX - for entire FreeBSD(98) */
 	for (c1 = d1->chunks->part; c1; c1 = c1->next)

==== //depot/projects/gdb/share/man/man3/Makefile#3 (text+ko) ====

@@ -1,5 +1,5 @@
 #	@(#)Makefile	8.2 (Berkeley) 12/13/93
-# $FreeBSD: src/share/man/man3/Makefile,v 1.30 2004/02/19 13:51:52 mtm Exp $
+# $FreeBSD: src/share/man/man3/Makefile,v 1.31 2004/06/04 10:14:55 pjd Exp $
 
 MAN=		assert.3 \
 		bitstring.3 \
@@ -38,6 +38,7 @@
 		queue.3 LIST_ENTRY.3 \
 		queue.3 LIST_FIRST.3 \
 		queue.3 LIST_FOREACH.3 \
+		queue.3 LIST_FOREACH_SAFE.3 \
 		queue.3 LIST_HEAD.3 \
 		queue.3 LIST_HEAD_INITIALIZER.3 \
 		queue.3 LIST_INIT.3 \
@@ -50,6 +51,7 @@
 		queue.3 SLIST_ENTRY.3 \
 		queue.3 SLIST_FIRST.3 \
 		queue.3 SLIST_FOREACH.3 \
+		queue.3 SLIST_FOREACH_SAFE.3 \
 		queue.3 SLIST_HEAD.3 \
 		queue.3 SLIST_HEAD_INITIALIZER.3 \
 		queue.3 SLIST_INIT.3 \
@@ -63,6 +65,7 @@
 		queue.3 STAILQ_ENTRY.3 \
 		queue.3 STAILQ_FIRST.3 \
 		queue.3 STAILQ_FOREACH.3 \
+		queue.3 STAILQ_FOREACH_SAFE.3 \
 		queue.3 STAILQ_HEAD.3 \
 		queue.3 STAILQ_HEAD_INITIALIZER.3 \
 		queue.3 STAILQ_INIT.3 \
@@ -79,6 +82,8 @@
 		queue.3 TAILQ_FIRST.3 \
 		queue.3 TAILQ_FOREACH.3 \
 		queue.3 TAILQ_FOREACH_REVERSE.3 \
+		queue.3 TAILQ_FOREACH_REVERSE_SAFE.3 \
+		queue.3 TAILQ_FOREACH_SAFE.3 \
 		queue.3 TAILQ_HEAD.3 \
 		queue.3 TAILQ_HEAD_INITIALIZER.3 \
 		queue.3 TAILQ_INIT.3 \

==== //depot/projects/gdb/share/man/man4/screen.4#2 (text+ko) ====

@@ -1,5 +1,5 @@
 .\"
-.\" $FreeBSD: src/share/man/man4/screen.4,v 1.26 2001/10/01 13:47:40 ru Exp $
+.\" $FreeBSD: src/share/man/man4/screen.4,v 1.27 2004/06/04 15:20:12 roam Exp $
 .\"
 .Dd October 6, 2000
 .Dt SCREEN 4
@@ -56,7 +56,7 @@
 The console understands a subset of the ANSI x3.64 character
 sequences.
 For compatibility with the old pccons, the PC3 character
-sequences is also supported.
+sequences are also supported.
 .Pp
 .Bd -literal
 ANSI	Seq	Function				Termcap entry

==== //depot/projects/gdb/share/man/man5/libmap.conf.5#4 (text+ko) ====

@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man5/libmap.conf.5,v 1.6 2004/05/24 01:24:13 mdodd Exp $
+.\" $FreeBSD: src/share/man/man5/libmap.conf.5,v 1.7 2004/06/05 02:47:08 ceri Exp $
 .\"
 .Dd January 31, 2004
 .Dt LIBMAP.CONF 5
@@ -55,7 +55,7 @@
 .Pa /usr/bin/foo
 will not match a constraint for
 .Pa /usr/bin/./foo
-and vise-versa.
+and vice-versa.
 This is the default constraint type.
 .It Basename
 A constraint with no path is matched against the basename of the

==== //depot/projects/gdb/share/man/man5/periodic.conf.5#3 (text+ko) ====

@@ -23,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man5/periodic.conf.5,v 1.48 2004/05/30 20:32:00 brian Exp $
+.\" $FreeBSD: src/share/man/man5/periodic.conf.5,v 1.49 2004/06/05 03:01:20 ceri Exp $
 .\"
 .Dd June 22, 2000
 .Dt PERIODIC.CONF 5
@@ -456,7 +456,7 @@
 .Dq YES
 if you want to ignore
 .Xr amd 8
-mounts when comparing against yesterdays file system mounts in the
+mounts when comparing against yesterday's file system mounts in the
 .Va daily_status_security_chkmounts_enable
 check.
 .It Va daily_status_security_chkuid0_enable
@@ -672,7 +672,7 @@
 .Va pkg_version
 variable is set to
 .Dq portversion ,
-it will also be neccessary to arrange that the correct INDEX file is specified
+it will also be necessary to arrange that the correct INDEX file is specified
 using environment variables and that
 .Dq pkg_version_index
 is cleared in

==== //depot/projects/gdb/sys/alpha/alpha/promcons.c#4 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/promcons.c,v 1.37 2004/06/01 13:49:25 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/promcons.c,v 1.38 2004/06/04 16:02:48 phk Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -124,7 +124,7 @@
 
 	splx(s);
 
-	error = (*linesw[tp->t_line].l_open)(dev, tp);
+	error = ttyld_open(tp, dev);
 
 	if (error == 0 && setuptimeout) {
 		polltime = hz / PROM_POLL_HZ;
@@ -148,7 +148,7 @@
 		return ENXIO;
 
 	untimeout(promtimeout, tp, promtimeouthandle);
-	(*linesw[tp->t_line].l_close)(tp, flag);
+	ttyld_close(tp, flag);
 	ttyclose(tp);
 	return 0;
 }
@@ -211,7 +211,7 @@
 
 	while ((c = promcncheckc(NULL)) != -1) {
 		if (tp->t_state & TS_ISOPEN)
-			(*linesw[tp->t_line].l_rint)(c, tp);
+			ttyld_rint(tp, c);
 	}
 	promtimeouthandle = timeout(promtimeout, tp, polltime);
 }

==== //depot/projects/gdb/sys/alpha/linux/linux_proto.h#5 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call prototypes.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/alpha/linux/linux_proto.h,v 1.17 2004/03/29 02:19:43 bms Exp $
- * created from FreeBSD: src/sys/alpha/linux/syscalls.master,v 1.56 2004/03/15 22:43:48 jhb Exp 
+ * $FreeBSD: src/sys/alpha/linux/linux_proto.h,v 1.18 2004/06/04 13:52:51 jhb Exp $
+ * created from FreeBSD: src/sys/alpha/linux/syscalls.master,v 1.58 2004/06/04 13:52:23 jhb Exp 
  */
 
 #ifndef _LINUX_SYSPROTO_H_

==== //depot/projects/gdb/sys/alpha/linux/linux_syscall.h#5 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/alpha/linux/linux_syscall.h,v 1.15 2004/03/29 02:19:43 bms Exp $
- * created from FreeBSD: src/sys/alpha/linux/syscalls.master,v 1.56 2004/03/15 22:43:48 jhb Exp 
+ * $FreeBSD: src/sys/alpha/linux/linux_syscall.h,v 1.16 2004/06/04 13:52:51 jhb Exp $
+ * created from FreeBSD: src/sys/alpha/linux/syscalls.master,v 1.58 2004/06/04 13:52:23 jhb Exp 
  */
 
 #define	LINUX_SYS_exit	1

==== //depot/projects/gdb/sys/alpha/linux/linux_sysent.c#5 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/alpha/linux/linux_sysent.c,v 1.15 2004/03/29 02:19:43 bms Exp $
- * created from FreeBSD: src/sys/alpha/linux/syscalls.master,v 1.56 2004/03/15 22:43:48 jhb Exp 
+ * $FreeBSD: src/sys/alpha/linux/linux_sysent.c,v 1.16 2004/06/04 13:52:51 jhb Exp $
+ * created from FreeBSD: src/sys/alpha/linux/syscalls.master,v 1.58 2004/06/04 13:52:23 jhb Exp 
  */
 
 #include "opt_compat.h"
@@ -382,7 +382,7 @@
 	{ SYF_MPSAFE | AS(linux_setitimer_args), (sy_call_t *)linux_setitimer },	/* 362 = linux_setitimer */
 	{ AS(linux_utimes_args), (sy_call_t *)linux_utimes },	/* 363 = linux_utimes */
 	{ SYF_MPSAFE | AS(getrusage_args), (sy_call_t *)getrusage },	/* 364 = getrusage */
-	{ AS(linux_wait4_args), (sy_call_t *)linux_wait4 },	/* 365 = linux_wait4 */
+	{ SYF_MPSAFE | AS(linux_wait4_args), (sy_call_t *)linux_wait4 },	/* 365 = linux_wait4 */
 	{ 0, (sy_call_t *)linux_adjtimex },		/* 366 = linux_adjtimex */
 	{ AS(linux_getcwd_args), (sy_call_t *)linux_getcwd },	/* 367 = linux_getcwd */
 	{ 0, (sy_call_t *)linux_capget },		/* 368 = linux_capget */

==== //depot/projects/gdb/sys/alpha/linux/syscalls.master#5 (text+ko) ====

@@ -1,4 +1,4 @@
- $FreeBSD: src/sys/alpha/linux/syscalls.master,v 1.57 2004/03/29 02:19:43 bms Exp $
+ $FreeBSD: src/sys/alpha/linux/syscalls.master,v 1.58 2004/06/04 13:52:23 jhb Exp $
 
 ;	@(#)syscalls.master	8.1 (Berkeley) 7/19/93
 ; System call name/number master file (or rather, slave, from LINUX).
@@ -445,7 +445,7 @@
 				struct l_itimerval *oitv); }
 363	STD	{ int linux_utimes(char *fname, struct l_timeval *times); }
 364	MNOPROTO { int getrusage(int who, struct rusage *rusage); }
-365	STD	{ int linux_wait4(l_pid_t pid, l_uint *status, l_int options, \
+365	MSTD	{ int linux_wait4(l_pid_t pid, l_uint *status, l_int options, \
 				struct l_rusage *rusage); }		
 366	STD	{ int linux_adjtimex(void); }
 367	STD	{ int linux_getcwd(char *buf, l_ulong bufsize); }

==== //depot/projects/gdb/sys/alpha/tlsb/zs_tlsb.c#6 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/tlsb/zs_tlsb.c,v 1.43 2004/06/01 13:49:26 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/tlsb/zs_tlsb.c,v 1.44 2004/06/04 16:02:48 phk Exp $");
 
 #include "opt_ddb.h"
 
@@ -292,7 +292,7 @@
 
 	splx(s);
 
-	error = (*linesw[tp->t_line].l_open)(dev, tp);
+	error = ttyld_open(tp, dev);
 
 	if (error == 0 && setuptimeout) {
 		zspolltime = hz / 50;
@@ -319,7 +319,7 @@
 
 	s = spltty();
 	untimeout(zs_poll_intr, sc, sc->zst);
-	(*linesw[tp->t_line].l_close)(tp, flag);
+	ttyld_close(tp, flag);
 	ttyclose(tp);
 	splx(s);
 
@@ -503,7 +503,7 @@
 				kdb_enter("manual escape to debugger");
 #endif
 			if (tp && (tp->t_state & TS_ISOPEN))
-				(*linesw[tp->t_line].l_rint)(c, tp);
+				ttyld_rint(tp, c);
 			DELAY(5);
 		}
 	}
@@ -518,7 +518,7 @@
 				kdb_enter("manual escape to debugger");
 #endif
 			if (tp && (tp->t_state & TS_ISOPEN))
-				(*linesw[tp->t_line].l_rint)(c, tp);
+				ttyld_rint(tp, c);
 			DELAY(5);
 		}
 	}

==== //depot/projects/gdb/sys/amd64/amd64/fpu.c#4 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/fpu.c,v 1.149 2004/04/05 21:25:51 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/fpu.c,v 1.150 2004/06/05 03:13:39 das Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -73,6 +73,7 @@
 #define	fnstsw(addr)		__asm __volatile("fnstsw %0" : "=m" (*(addr)))
 #define	fxrstor(addr)		__asm("fxrstor %0" : : "m" (*(addr)))
 #define	fxsave(addr)		__asm __volatile("fxsave %0" : "=m" (*(addr)))
+#define	ldmxcsr(r)		__asm __volatile("ldmxcsr %0" : : "m" (r))
 #define	start_emulating()	__asm("smsw %%ax; orb %0,%%al; lmsw %%ax" \
 				      : : "n" (CR0_TS) : "ax")
 #define	stop_emulating()	__asm("clts")
@@ -111,6 +112,7 @@
 fpuinit(void)
 {
 	register_t savecrit;
+	u_int mxcsr;
 	u_short control;
 
 	savecrit = intr_disable();
@@ -119,6 +121,8 @@
 	fninit();
 	control = __INITIAL_FPUCW__;
 	fldcw(&control);
+	mxcsr = __INITIAL_MXCSR__;
+	ldmxcsr(mxcsr);
 	fxsave(&fpu_cleanstate);
 	start_emulating();
 	fpu_cleanstate_ready = 1;

==== //depot/projects/gdb/sys/compat/ndis/kern_ndis.c#14 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.54 2004/06/01 23:24:17 wpaul Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.55 2004/06/04 22:24:46 des Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -611,6 +611,7 @@
 
 	TAILQ_INIT(&sc->ndis_cfglist_head);
 
+#if __FreeBSD_version < 502113
 	/* Create the sysctl tree. */
 
 	sc->ndis_tree = SYSCTL_ADD_NODE(&sc->ndis_ctx,
@@ -618,6 +619,7 @@
 	    device_get_nameunit(sc->ndis_dev), CTLFLAG_RD, 0,
 	    device_get_desc(sc->ndis_dev));
 
+#endif
 	/* Add the driver-specific registry keys. */
 
 	vals = sc->ndis_regvals;
@@ -628,8 +630,13 @@
 			vals++;
 			continue;
 		}
+#if __FreeBSD_version < 502113
 		SYSCTL_ADD_STRING(&sc->ndis_ctx,
 		    SYSCTL_CHILDREN(sc->ndis_tree),
+#else
+		SYSCTL_ADD_STRING(device_get_sysctl_ctx(sc->ndis_dev),
+		    SYSCTL_CHILDREN(device_get_sysctl_tree(sc->ndis_dev)),
+#endif
 		    OID_AUTO, vals->nc_cfgkey,
 		    CTLFLAG_RW, vals->nc_val,
 		    sizeof(vals->nc_val),
@@ -698,7 +705,12 @@
 
 	TAILQ_INSERT_TAIL(&sc->ndis_cfglist_head, cfg, link);
 
+#if __FreeBSD_version < 502113
 	SYSCTL_ADD_STRING(&sc->ndis_ctx, SYSCTL_CHILDREN(sc->ndis_tree),
+#else
+	SYSCTL_ADD_STRING(device_get_sysctl_ctx(sc->ndis_dev),
+	    SYSCTL_CHILDREN(device_get_sysctl_tree(sc->ndis_dev)),
+#endif
 	    OID_AUTO, cfg->ndis_cfg.nc_cfgkey, flag,
 	    cfg->ndis_cfg.nc_val, sizeof(cfg->ndis_cfg.nc_val),
 	    cfg->ndis_cfg.nc_cfgdesc);

==== //depot/projects/gdb/sys/compat/ndis/subr_ndis.c#11 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ndis.c,v 1.58 2004/05/29 22:34:08 wpaul Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ndis.c,v 1.60 2004/06/04 22:24:46 des Exp $");
 
 /*
  * This file implements a translation layer between the BSD networking
@@ -130,7 +130,7 @@
 	struct sysctl_oid *, ndis_parm_type, ndis_config_parm **);
 static ndis_status ndis_decode_parm(ndis_miniport_block *,
 	ndis_config_parm *, char *);
-static int my_strcasecmp(const char *, const char *, int);
+static int my_strcasecmp(const char *, const char *);
 __stdcall static void ndis_read_cfg(ndis_status *, ndis_config_parm **,
 	ndis_handle, ndis_unicode_string *, ndis_parm_type);
 __stdcall static void ndis_write_cfg(ndis_status *, ndis_handle,
@@ -557,19 +557,27 @@
 }
 
 static int
-my_strcasecmp(s1, s2, len)
+my_strcasecmp(s1, s2)
         const char              *s1;
         const char              *s2;
-        int                     len;
 {
-        int                     i;
+	char			a, b;
+
+	/*
+	 * In the kernel, toupper() is a macro. Have to be careful
+	 * not to use pointer arithmetic when passing it arguments.
+	 */
 
-        for (i = 0; i < len; i++) {
-                if (toupper(s1[i]) != toupper(s2[i]))
-                        return(1);
-        }
+	while(1) {
+		a = *s1;
+		b = *s2++;
+		if (toupper(a) != toupper(b))
+			break;
+		if (*s1++ == 0)
+			return(0);
+	}
 
-        return(0);
+	return (*(const unsigned char *)s1 - *(const unsigned char *)(s2 - 1));
 }
 
 __stdcall static void
@@ -605,10 +613,13 @@
 	 * See if registry key is already in a list of known keys
 	 * included with the driver.
 	 */
+#if __FreeBSD_version < 502113
 	TAILQ_FOREACH(e, &sc->ndis_ctx, link) {
+#else
+	TAILQ_FOREACH(e, device_get_sysctl_ctx(sc->ndis_dev), link) {
+#endif
 		oidp = e->entry;
-		if (my_strcasecmp(oidp->oid_name,
-		    keystr, strlen(keystr)) == 0) {
+		if (my_strcasecmp(oidp->oid_name, keystr) == 0) {
 			if (strcmp((char *)oidp->oid_arg1, "UNSET") == 0) {
 				free(keystr, M_DEVBUF);
 				*status = NDIS_STATUS_FAILURE;
@@ -702,10 +713,13 @@
 
 	/* See if the key already exists. */
 
+#if __FreeBSD_version < 502113
 	TAILQ_FOREACH(e, &sc->ndis_ctx, link) {
+#else
+	TAILQ_FOREACH(e, device_get_sysctl_ctx(sc->ndis_dev), link) {
+#endif
 		oidp = e->entry;
-		if (my_strcasecmp(oidp->oid_name,
-		    keystr, strlen(keystr)) == 0) {
+		if (my_strcasecmp(oidp->oid_name, keystr) == 0) {
 			/* Found it, set the value. */

>>> TRUNCATED FOR MAIL (1000 lines) <<<



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