PERFORCE change 140198 for review
Marcel Moolenaar
marcel at FreeBSD.org
Fri Apr 18 02:30:30 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=140198
Change 140198 by marcel at marcel_xcllnt on 2008/04/18 02:29:39
IFC @140197
Affected files ...
.. //depot/projects/ia64/gnu/usr.bin/binutils/libbfd/Makefile.i386#7 integrate
.. //depot/projects/ia64/include/stdio.h#24 integrate
.. //depot/projects/ia64/lib/libc/stdio/_flock_stub.c#5 integrate
.. //depot/projects/ia64/lib/libc/stdio/asprintf.c#7 integrate
.. //depot/projects/ia64/lib/libc/stdio/fgetwc.c#8 integrate
.. //depot/projects/ia64/lib/libc/stdio/fgetws.c#6 integrate
.. //depot/projects/ia64/lib/libc/stdio/findfp.c#12 integrate
.. //depot/projects/ia64/lib/libc/stdio/fputwc.c#8 integrate
.. //depot/projects/ia64/lib/libc/stdio/fputws.c#5 integrate
.. //depot/projects/ia64/lib/libc/stdio/freopen.c#10 integrate
.. //depot/projects/ia64/lib/libc/stdio/fseek.c#6 integrate
.. //depot/projects/ia64/lib/libc/stdio/fwide.c#2 integrate
.. //depot/projects/ia64/lib/libc/stdio/local.h#14 integrate
.. //depot/projects/ia64/lib/libc/stdio/refill.c#5 integrate
.. //depot/projects/ia64/lib/libc/stdio/snprintf.c#8 integrate
.. //depot/projects/ia64/lib/libc/stdio/sprintf.c#8 integrate
.. //depot/projects/ia64/lib/libc/stdio/sscanf.c#6 integrate
.. //depot/projects/ia64/lib/libc/stdio/ungetc.c#6 integrate
.. //depot/projects/ia64/lib/libc/stdio/ungetwc.c#9 integrate
.. //depot/projects/ia64/lib/libc/stdio/vasprintf.c#6 integrate
.. //depot/projects/ia64/lib/libc/stdio/vfprintf.c#31 integrate
.. //depot/projects/ia64/lib/libc/stdio/vfwprintf.c#20 integrate
.. //depot/projects/ia64/lib/libc/stdio/vsnprintf.c#9 integrate
.. //depot/projects/ia64/lib/libc/stdio/vsprintf.c#7 integrate
.. //depot/projects/ia64/lib/libc/stdio/vsscanf.c#7 integrate
.. //depot/projects/ia64/lib/libc/stdio/vswprintf.c#7 integrate
.. //depot/projects/ia64/lib/libc/stdio/vswscanf.c#5 integrate
.. //depot/projects/ia64/lib/libc/stdio/xprintf.c#5 integrate
.. //depot/projects/ia64/sys/contrib/pf/net/pf.c#25 integrate
.. //depot/projects/ia64/sys/dev/ata/ata-all.c#77 integrate
.. //depot/projects/ia64/sys/dev/ata/ata-all.h#43 integrate
.. //depot/projects/ia64/sys/dev/ata/ata-chipset.c#63 integrate
.. //depot/projects/ia64/sys/dev/ata/ata-disk.c#55 integrate
.. //depot/projects/ia64/sys/dev/ata/ata-dma.c#48 integrate
.. //depot/projects/ia64/sys/dev/ata/ata-lowlevel.c#41 integrate
.. //depot/projects/ia64/sys/dev/ata/ata-pci.c#56 integrate
.. //depot/projects/ia64/sys/dev/ata/ata-queue.c#31 integrate
.. //depot/projects/ia64/sys/dev/ata/ata-raid.c#45 integrate
.. //depot/projects/ia64/sys/dev/ata/atapi-cam.c#36 integrate
.. //depot/projects/ia64/sys/dev/ata/atapi-cd.c#57 integrate
.. //depot/projects/ia64/sys/dev/ata/atapi-fd.c#32 integrate
.. //depot/projects/ia64/sys/dev/ata/atapi-tape.c#32 integrate
.. //depot/projects/ia64/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#3 integrate
.. //depot/projects/ia64/sys/dev/if_ndis/if_ndis.c#31 integrate
.. //depot/projects/ia64/sys/dev/if_ndis/if_ndisvar.h#16 integrate
.. //depot/projects/ia64/sys/ia64/include/vmparam.h#24 integrate
.. //depot/projects/ia64/sys/kern/kern_intr.c#52 integrate
.. //depot/projects/ia64/sys/kern/kern_linker.c#49 integrate
.. //depot/projects/ia64/sys/kern/kern_subr.c#39 integrate
.. //depot/projects/ia64/sys/kern/kern_switch.c#54 integrate
.. //depot/projects/ia64/sys/kern/kern_synch.c#77 integrate
.. //depot/projects/ia64/sys/kern/kern_thread.c#107 integrate
.. //depot/projects/ia64/sys/kern/sched_4bsd.c#47 integrate
.. //depot/projects/ia64/sys/kern/sched_ule.c#59 integrate
.. //depot/projects/ia64/sys/kern/subr_sleepqueue.c#23 integrate
.. //depot/projects/ia64/sys/kern/subr_trap.c#63 integrate
.. //depot/projects/ia64/sys/kern/subr_turnstile.c#22 integrate
.. //depot/projects/ia64/sys/kern/subr_witness.c#69 integrate
.. //depot/projects/ia64/sys/netinet/in.h#35 integrate
.. //depot/projects/ia64/sys/netinet/in_mcast.c#2 integrate
.. //depot/projects/ia64/sys/netinet/in_pcb.c#58 integrate
.. //depot/projects/ia64/sys/netinet/in_pcb.h#38 integrate
.. //depot/projects/ia64/sys/netinet/ip_divert.c#42 integrate
.. //depot/projects/ia64/sys/netinet/ip_fw2.c#72 integrate
.. //depot/projects/ia64/sys/netinet/ip_icmp.c#36 integrate
.. //depot/projects/ia64/sys/netinet/ip_options.c#6 integrate
.. //depot/projects/ia64/sys/netinet/ip_output.c#66 integrate
.. //depot/projects/ia64/sys/netinet/raw_ip.c#56 integrate
.. //depot/projects/ia64/sys/netinet/tcp_input.c#82 integrate
.. //depot/projects/ia64/sys/netinet/tcp_output.c#45 integrate
.. //depot/projects/ia64/sys/netinet/tcp_reass.c#3 integrate
.. //depot/projects/ia64/sys/netinet/tcp_sack.c#17 integrate
.. //depot/projects/ia64/sys/netinet/tcp_subr.c#68 integrate
.. //depot/projects/ia64/sys/netinet/tcp_syncache.c#54 integrate
.. //depot/projects/ia64/sys/netinet/tcp_timer.c#34 integrate
.. //depot/projects/ia64/sys/netinet/tcp_timewait.c#4 integrate
.. //depot/projects/ia64/sys/netinet/tcp_usrreq.c#43 integrate
.. //depot/projects/ia64/sys/netinet/udp_usrreq.c#55 integrate
.. //depot/projects/ia64/sys/netinet6/icmp6.c#37 integrate
.. //depot/projects/ia64/sys/netinet6/in6_pcb.c#38 integrate
.. //depot/projects/ia64/sys/netinet6/in6_src.c#27 integrate
.. //depot/projects/ia64/sys/netinet6/raw_ip6.c#32 integrate
.. //depot/projects/ia64/sys/netinet6/udp6_usrreq.c#36 integrate
.. //depot/projects/ia64/sys/security/audit/audit_arg.c#12 integrate
.. //depot/projects/ia64/sys/security/mac/mac_inet.c#8 integrate
.. //depot/projects/ia64/sys/sparc64/pci/apb.c#12 integrate
.. //depot/projects/ia64/sys/sparc64/pci/ofw_pci_if.m#8 integrate
.. //depot/projects/ia64/sys/sparc64/pci/ofw_pcib.c#8 integrate
.. //depot/projects/ia64/sys/sparc64/pci/ofw_pcib_subr.c#8 integrate
.. //depot/projects/ia64/sys/sparc64/pci/ofw_pcib_subr.h#4 integrate
.. //depot/projects/ia64/sys/sparc64/pci/ofw_pcibus.c#13 integrate
.. //depot/projects/ia64/sys/sparc64/pci/psycho.c#45 integrate
.. //depot/projects/ia64/sys/sparc64/pci/psychovar.h#16 integrate
.. //depot/projects/ia64/sys/sys/proc.h#117 integrate
.. //depot/projects/ia64/sys/sys/sched.h#21 integrate
.. //depot/projects/ia64/sys/sys/sysctl.h#39 integrate
.. //depot/projects/ia64/sys/sys/termios.h#5 integrate
.. //depot/projects/ia64/sys/vm/vm_glue.c#61 integrate
.. //depot/projects/ia64/sys/vm/vm_zeroidle.c#28 integrate
.. //depot/projects/ia64/usr.bin/env/env.1#7 integrate
.. //depot/projects/ia64/usr.bin/env/env.c#10 integrate
Differences ...
==== //depot/projects/ia64/gnu/usr.bin/binutils/libbfd/Makefile.i386#7 (text+ko) ====
@@ -1,12 +1,19 @@
-# $FreeBSD: src/gnu/usr.bin/binutils/libbfd/Makefile.i386,v 1.17 2004/07/08 17:05:32 obrien Exp $
+# $FreeBSD: src/gnu/usr.bin/binutils/libbfd/Makefile.i386,v 1.18 2008/04/17 23:36:35 marcel Exp $
DEFAULT_VECTOR= bfd_elf32_i386_freebsd_vec
-SRCS+= cpu-i386.c \
+SRCS+= cofflink.c \
+ cpu-i386.c \
+ efi-app-ia32.c \
elf32-i386.c \
elf32-target.h \
elf32.c \
- elflink.c
+ elflink.c \
+ peigen.c
VECS= ${DEFAULT_VECTOR} \
- bfd_elf32_i386_vec
+ bfd_elf32_i386_vec \
+ bfd_efi_app_ia32_vec
+
+peigen.c: peXXigen.c
+ sed -e s/XX/pe/g ${.ALLSRC} > ${.TARGET}
==== //depot/projects/ia64/include/stdio.h#24 (text+ko) ====
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)stdio.h 8.5 (Berkeley) 4/29/95
- * $FreeBSD: src/include/stdio.h,v 1.62 2008/03/31 12:14:04 kib Exp $
+ * $FreeBSD: src/include/stdio.h,v 1.64 2008/04/17 22:17:53 jhb Exp $
*/
#ifndef _STDIO_H_
@@ -72,9 +72,6 @@
int _size;
};
-/* hold a buncha junk that would grow the ABI */
-struct __sFILEX;
-
/*
* stdio state variables.
*
@@ -98,15 +95,19 @@
* that does not match the previous one in _bf. When this happens,
* _ub._base becomes non-nil (i.e., a stream has ungetc() data iff
* _ub._base!=NULL) and _up and _ur save the current values of _p and _r.
+ *
+ * Certain members of __sFILE are accessed directly via macros or
+ * inline functions. To preserve ABI compat, these members must not
+ * be disturbed. These members are marked below with (*).
*/
typedef struct __sFILE {
- unsigned char *_p; /* current position in (some) buffer */
- int _r; /* read space left for getc() */
- int _w; /* write space left for putc() */
- short _flags; /* flags, below; this FILE is free if 0 */
- short _file; /* fileno, if Unix descriptor, else -1 */
+ unsigned char *_p; /* (*) current position in (some) buffer */
+ int _r; /* (*) read space left for getc() */
+ int _w; /* (*) write space left for putc() */
+ short _flags; /* (*) flags, below; this FILE is free if 0 */
+ short _file; /* (*) fileno, if Unix descriptor, else -1 */
struct __sbuf _bf; /* the buffer (at least 1 byte, if !NULL) */
- int _lbfsize; /* 0 or -_bf._size, for inline putc */
+ int _lbfsize; /* (*) 0 or -_bf._size, for inline putc */
/* operations */
void *_cookie; /* cookie passed to io functions */
@@ -117,7 +118,7 @@
/* separate buffer for long sequences of ungetc() */
struct __sbuf _ub; /* ungetc buffer */
- struct __sFILEX *_extra; /* additions to FILE to not break ABI */
+ unsigned char *_up; /* saved _p when _p is doing ungetc data */
int _ur; /* saved _r when _r is counting ungetc data */
/* tricks to meet minimum requirements even when malloc() fails */
@@ -130,6 +131,12 @@
/* Unix stdio files get aligned to block boundaries on fseek() */
int _blksize; /* stat.st_blksize (may be != _bf._size) */
fpos_t _offset; /* current lseek offset */
+
+ struct pthread_mutex *_fl_mutex; /* used for MT-safety */
+ struct pthread *_fl_owner; /* current owner */
+ int _fl_count; /* recursive lock count */
+ int _orientation; /* orientation for fwide() */
+ __mbstate_t _mbstate; /* multibyte conversion state */
} FILE;
#ifndef _STDSTREAM_DECLARED
==== //depot/projects/ia64/lib/libc/stdio/_flock_stub.c#5 (text+ko) ====
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/_flock_stub.c,v 1.15 2007/01/12 07:31:30 imp Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/_flock_stub.c,v 1.16 2008/04/17 22:17:53 jhb Exp $");
#include "namespace.h"
#include <stdio.h>
@@ -55,31 +55,21 @@
__weak_reference(_ftrylockfile, ftrylockfile);
__weak_reference(_funlockfile, funlockfile);
-/*
- * We need to retain binary compatibility for a while. So pretend
- * that _lock is part of FILE * even though it is dereferenced off
- * _extra now. When we stop encoding the size of FILE into binaries
- * this can be changed in stdio.h. This will reduce the amount of
- * code that has to change in the future (just remove this comment
- * and #define).
- */
-#define _lock _extra
-
void
_flockfile(FILE *fp)
{
pthread_t curthread = _pthread_self();
- if (fp->_lock->fl_owner == curthread)
- fp->_lock->fl_count++;
+ if (fp->_fl_owner == curthread)
+ fp->_fl_count++;
else {
/*
* Make sure this mutex is treated as a private
* internal mutex:
*/
- _pthread_mutex_lock(&fp->_lock->fl_mutex);
- fp->_lock->fl_owner = curthread;
- fp->_lock->fl_count = 1;
+ _pthread_mutex_lock(&fp->_fl_mutex);
+ fp->_fl_owner = curthread;
+ fp->_fl_count = 1;
}
}
@@ -98,15 +88,15 @@
pthread_t curthread = _pthread_self();
int ret = 0;
- if (fp->_lock->fl_owner == curthread)
- fp->_lock->fl_count++;
+ if (fp->_fl_owner == curthread)
+ fp->_fl_count++;
/*
* Make sure this mutex is treated as a private
* internal mutex:
*/
- else if (_pthread_mutex_trylock(&fp->_lock->fl_mutex) == 0) {
- fp->_lock->fl_owner = curthread;
- fp->_lock->fl_count = 1;
+ else if (_pthread_mutex_trylock(&fp->_fl_mutex) == 0) {
+ fp->_fl_owner = curthread;
+ fp->_fl_count = 1;
}
else
ret = -1;
@@ -121,26 +111,26 @@
/*
* Check if this file is owned by the current thread:
*/
- if (fp->_lock->fl_owner == curthread) {
+ if (fp->_fl_owner == curthread) {
/*
* Check if this thread has locked the FILE
* more than once:
*/
- if (fp->_lock->fl_count > 1)
+ if (fp->_fl_count > 1)
/*
* Decrement the count of the number of
* times the running thread has locked this
* file:
*/
- fp->_lock->fl_count--;
+ fp->_fl_count--;
else {
/*
* The running thread will release the
* lock now:
*/
- fp->_lock->fl_count = 0;
- fp->_lock->fl_owner = NULL;
- _pthread_mutex_unlock(&fp->_lock->fl_mutex);
+ fp->_fl_count = 0;
+ fp->_fl_owner = NULL;
+ _pthread_mutex_unlock(&fp->_fl_mutex);
}
}
}
==== //depot/projects/ia64/lib/libc/stdio/asprintf.c#7 (text+ko) ====
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/asprintf.c,v 1.13 2002/09/26 13:09:48 tjr Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/asprintf.c,v 1.14 2008/04/17 22:17:53 jhb Exp $");
#include <stdio.h>
#include <stdlib.h>
@@ -43,7 +43,6 @@
int ret;
va_list ap;
FILE f;
- struct __sFILEX ext;
f._file = -1;
f._flags = __SWR | __SSTR | __SALC;
@@ -54,8 +53,8 @@
return (-1);
}
f._bf._size = f._w = 127; /* Leave room for the NUL */
- f._extra = &ext;
- INITEXTRA(&f);
+ f._orientation = 0;
+ memset(&f._mbstate, 0, sizeof(mbstate_t));
va_start(ap, fmt);
ret = __vfprintf(&f, fmt, ap); /* Use unlocked __vfprintf */
va_end(ap);
==== //depot/projects/ia64/lib/libc/stdio/fgetwc.c#8 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/fgetwc.c,v 1.12 2004/07/20 08:27:27 tjr Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/fgetwc.c,v 1.13 2008/04/17 22:17:53 jhb Exp $");
#include "namespace.h"
#include <errno.h>
@@ -71,7 +71,7 @@
return (wc);
}
do {
- nconv = __mbrtowc(&wc, fp->_p, fp->_r, &fp->_extra->mbstate);
+ nconv = __mbrtowc(&wc, fp->_p, fp->_r, &fp->_mbstate);
if (nconv == (size_t)-1)
break;
else if (nconv == (size_t)-2)
==== //depot/projects/ia64/lib/libc/stdio/fgetws.c#6 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/fgetws.c,v 1.6 2004/10/03 15:48:32 stefanf Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/fgetws.c,v 1.7 2008/04/17 22:17:53 jhb Exp $");
#include "namespace.h"
#include <errno.h>
@@ -62,7 +62,7 @@
nl = memchr(fp->_p, '\n', fp->_r);
nconv = __mbsnrtowcs(wsp, &src,
nl != NULL ? (nl - fp->_p + 1) : fp->_r,
- n - 1, &fp->_extra->mbstate);
+ n - 1, &fp->_mbstate);
if (nconv == (size_t)-1)
/* Conversion error */
goto error;
@@ -86,7 +86,7 @@
if (wsp == ws)
/* EOF */
goto error;
- if (!__mbsinit(&fp->_extra->mbstate))
+ if (!__mbsinit(&fp->_mbstate))
/* Incomplete character */
goto error;
*wsp++ = L'\0';
==== //depot/projects/ia64/lib/libc/stdio/findfp.c#12 (text+ko) ====
@@ -34,7 +34,7 @@
static char sccsid[] = "@(#)findfp.c 8.2 (Berkeley) 1/4/94";
#endif /* LIBC_SCCS and not lint */
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/findfp.c,v 1.31 2007/01/09 00:28:06 imp Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/findfp.c,v 1.32 2008/04/17 22:17:53 jhb Exp $");
#include <sys/param.h>
#include <machine/atomic.h>
@@ -54,36 +54,19 @@
#define NDYNAMIC 10 /* add ten more whenever necessary */
#define std(flags, file) \
- {0,0,0,flags,file,{0},0,__sF+file,__sclose,__sread,__sseek,__swrite, \
- {0}, __sFX + file}
+ {0,0,0,flags,file,{0},0,__sF+file,__sclose,__sread,__sseek,__swrite}
/* p r w flags file _bf z cookie close read seek write */
- /* _ub _extra */
+
/* the usual - (stdin + stdout + stderr) */
static FILE usual[FOPEN_MAX - 3];
-static struct __sFILEX usual_extra[FOPEN_MAX - 3];
static struct glue uglue = { NULL, FOPEN_MAX - 3, usual };
-static struct __sFILEX __sFX[3];
-
-/*
- * We can't make this 'static' until 6.0-current due to binary
- * compatibility concerns. This also means we cannot change the
- * sizeof(FILE) until that time either and must continue to use the
- * __sFILEX stuff to add to FILE.
- */
-FILE __sF[3] = {
+static FILE __sF[3] = {
std(__SRD, STDIN_FILENO),
std(__SWR, STDOUT_FILENO),
std(__SWR|__SNBF, STDERR_FILENO)
};
-/*
- * The following kludge is done to ensure enough binary compatibility
- * with future versions of libc. Or rather it allows us to work with
- * libraries that have been built with a newer libc that defines these
- * symbols and expects libc to provide them. We only have need to support
- * i386 because it is the only "old" system we have deployed.
- */
FILE *__stdinp = &__sF[0];
FILE *__stdoutp = &__sF[1];
FILE *__stderrp = &__sF[2];
@@ -109,25 +92,17 @@
{
struct glue *g;
static FILE empty;
- static struct __sFILEX emptyx;
FILE *p;
- struct __sFILEX *fx;
- g = (struct glue *)malloc(sizeof(*g) + ALIGNBYTES + n * sizeof(FILE) +
- n * sizeof(struct __sFILEX));
+ g = (struct glue *)malloc(sizeof(*g) + ALIGNBYTES + n * sizeof(FILE));
if (g == NULL)
return (NULL);
p = (FILE *)ALIGN(g + 1);
- fx = (struct __sFILEX *)&p[n];
g->next = NULL;
g->niobs = n;
g->iobs = p;
- while (--n >= 0) {
- *p = empty;
- p->_extra = fx;
- *p->_extra = emptyx;
- p++, fx++;
- }
+ while (--n >= 0)
+ *p++ = empty;
return (g);
}
@@ -175,8 +150,8 @@
fp->_lb._base = NULL; /* no line buffer */
fp->_lb._size = 0;
/* fp->_lock = NULL; */ /* once set always set (reused) */
- fp->_extra->orientation = 0;
- memset(&fp->_extra->mbstate, 0, sizeof(mbstate_t));
+ fp->_orientation = 0;
+ memset(&fp->_mbstate, 0, sizeof(mbstate_t));
return (fp);
}
@@ -229,17 +204,8 @@
void
__sinit()
{
- int i;
- THREAD_LOCK();
- if (__sdidinit == 0) {
- /* Set _extra for the usual suspects. */
- for (i = 0; i < FOPEN_MAX - 3; i++)
- usual[i]._extra = &usual_extra[i];
-
- /* Make sure we clean up on exit. */
- __cleanup = _cleanup; /* conservative */
- __sdidinit = 1;
- }
- THREAD_UNLOCK();
+ /* Make sure we clean up on exit. */
+ __cleanup = _cleanup; /* conservative */
+ __sdidinit = 1;
}
==== //depot/projects/ia64/lib/libc/stdio/fputwc.c#8 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/fputwc.c,v 1.10 2004/07/20 08:27:27 tjr Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/fputwc.c,v 1.11 2008/04/17 22:17:53 jhb Exp $");
#include "namespace.h"
#include <errno.h>
@@ -56,8 +56,7 @@
*buf = (unsigned char)wc;
len = 1;
} else {
- if ((len = __wcrtomb(buf, wc, &fp->_extra->mbstate)) ==
- (size_t)-1) {
+ if ((len = __wcrtomb(buf, wc, &fp->_mbstate)) == (size_t)-1) {
fp->_flags |= __SERR;
return (WEOF);
}
==== //depot/projects/ia64/lib/libc/stdio/fputws.c#5 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/fputws.c,v 1.6 2004/07/21 10:54:57 tjr Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/fputws.c,v 1.7 2008/04/17 22:17:53 jhb Exp $");
#include "namespace.h"
#include <errno.h>
@@ -55,7 +55,7 @@
iov.iov_base = buf;
do {
nbytes = __wcsnrtombs(buf, &ws, SIZE_T_MAX, sizeof(buf),
- &fp->_extra->mbstate);
+ &fp->_mbstate);
if (nbytes == (size_t)-1)
goto error;
iov.iov_len = uio.uio_resid = nbytes;
==== //depot/projects/ia64/lib/libc/stdio/freopen.c#10 (text+ko) ====
@@ -34,7 +34,7 @@
static char sccsid[] = "@(#)freopen.c 8.1 (Berkeley) 6/4/93";
#endif /* LIBC_SCCS and not lint */
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/freopen.c,v 1.20 2008/02/27 21:25:19 jhb Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/freopen.c,v 1.21 2008/04/17 22:17:54 jhb Exp $");
#include "namespace.h"
#include <sys/types.h>
@@ -182,8 +182,8 @@
if (HASLB(fp))
FREELB(fp);
fp->_lb._size = 0;
- fp->_extra->orientation = 0;
- memset(&fp->_extra->mbstate, 0, sizeof(mbstate_t));
+ fp->_orientation = 0;
+ memset(&fp->_mbstate, 0, sizeof(mbstate_t));
if (f < 0) { /* did not get it after all */
fp->_flags = 0; /* set it free */
==== //depot/projects/ia64/lib/libc/stdio/fseek.c#6 (text+ko) ====
@@ -34,7 +34,7 @@
static char sccsid[] = "@(#)fseek.c 8.3 (Berkeley) 1/2/94";
#endif /* LIBC_SCCS and not lint */
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/fseek.c,v 1.43 2007/06/18 02:09:08 ache Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/fseek.c,v 1.44 2008/04/17 22:17:54 jhb Exp $");
#include "namespace.h"
#include <sys/types.h>
@@ -233,7 +233,7 @@
*/
if (HASUB(fp)) {
curoff += fp->_r; /* kill off ungetc */
- n = fp->_extra->_up - fp->_bf._base;
+ n = fp->_up - fp->_bf._base;
curoff -= n;
n += fp->_ur;
} else {
@@ -255,7 +255,7 @@
if (HASUB(fp))
FREEUB(fp);
fp->_flags &= ~__SEOF;
- memset(&fp->_extra->mbstate, 0, sizeof(mbstate_t));
+ memset(&fp->_mbstate, 0, sizeof(mbstate_t));
return (0);
}
@@ -283,7 +283,7 @@
fp->_r -= n;
}
fp->_flags &= ~__SEOF;
- memset(&fp->_extra->mbstate, 0, sizeof(mbstate_t));
+ memset(&fp->_mbstate, 0, sizeof(mbstate_t));
return (0);
/*
@@ -306,6 +306,6 @@
fp->_r = 0;
/* fp->_w = 0; */ /* unnecessary (I think...) */
fp->_flags &= ~__SEOF;
- memset(&fp->_extra->mbstate, 0, sizeof(mbstate_t));
+ memset(&fp->_mbstate, 0, sizeof(mbstate_t));
return (0);
}
==== //depot/projects/ia64/lib/libc/stdio/fwide.c#2 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/fwide.c,v 1.1 2002/08/13 09:30:41 tjr Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/fwide.c,v 1.2 2008/04/17 22:17:54 jhb Exp $");
#include "namespace.h"
#include <errno.h>
@@ -42,9 +42,9 @@
FLOCKFILE(fp);
/* Only change the orientation if the stream is not oriented yet. */
- if (mode != 0 && fp->_extra->orientation == 0)
- fp->_extra->orientation = mode > 0 ? 1 : -1;
- m = fp->_extra->orientation;
+ if (mode != 0 && fp->_orientation == 0)
+ fp->_orientation = mode > 0 ? 1 : -1;
+ m = fp->_orientation;
FUNLOCKFILE(fp);
return (m);
==== //depot/projects/ia64/lib/libc/stdio/local.h#14 (text+ko) ====
@@ -30,7 +30,7 @@
* SUCH DAMAGE.
*
* @(#)local.h 8.3 (Berkeley) 7/3/94
- * $FreeBSD: src/lib/libc/stdio/local.h,v 1.30 2007/01/09 00:28:06 imp Exp $
+ * $FreeBSD: src/lib/libc/stdio/local.h,v 1.31 2008/04/17 22:17:54 jhb Exp $
*/
#include <sys/types.h> /* for off_t */
@@ -80,16 +80,6 @@
extern int __sdidinit;
-/* hold a buncha junk that would grow the ABI */
-struct __sFILEX {
- unsigned char *_up; /* saved _p when _p is doing ungetc data */
- pthread_mutex_t fl_mutex; /* used for MT-safety */
- pthread_t fl_owner; /* current owner */
- int fl_count; /* recursive lock count */
- int orientation; /* orientation for fwide() */
- mbstate_t mbstate; /* multibyte conversion state */
-};
-
/*
* Prepare the given FILE for writing, and return 0 iff it
* can be written now. Otherwise, return EOF and set errno.
@@ -119,20 +109,11 @@
(fp)->_lb._base = NULL; \
}
-#define INITEXTRA(fp) { \
- (fp)->_extra->_up = NULL; \
- (fp)->_extra->fl_mutex = PTHREAD_MUTEX_INITIALIZER; \
- (fp)->_extra->fl_owner = NULL; \
- (fp)->_extra->fl_count = 0; \
- (fp)->_extra->orientation = 0; \
- memset(&(fp)->_extra->mbstate, 0, sizeof(mbstate_t)); \
-}
-
/*
* Set the orientation for a stream. If o > 0, the stream has wide-
* orientation. If o < 0, the stream has byte-orientation.
*/
#define ORIENT(fp, o) do { \
- if ((fp)->_extra->orientation == 0) \
- (fp)->_extra->orientation = (o); \
+ if ((fp)->_orientation == 0) \
+ (fp)->_orientation = (o); \
} while (0)
==== //depot/projects/ia64/lib/libc/stdio/refill.c#5 (text+ko) ====
@@ -34,7 +34,7 @@
static char sccsid[] = "@(#)refill.c 8.1 (Berkeley) 6/4/93";
#endif /* LIBC_SCCS and not lint */
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/refill.c,v 1.19 2007/01/09 00:28:07 imp Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/refill.c,v 1.20 2008/04/17 22:17:54 jhb Exp $");
#include "namespace.h"
#include <errno.h>
@@ -106,7 +106,7 @@
if (HASUB(fp)) {
FREEUB(fp);
if ((fp->_r = fp->_ur) != 0) {
- fp->_p = fp->_extra->_up;
+ fp->_p = fp->_up;
return (0);
}
}
==== //depot/projects/ia64/lib/libc/stdio/snprintf.c#8 (text+ko) ====
@@ -34,7 +34,7 @@
static char sccsid[] = "@(#)snprintf.c 8.1 (Berkeley) 6/4/93";
#endif /* LIBC_SCCS and not lint */
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/snprintf.c,v 1.21 2007/01/09 00:28:07 imp Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/snprintf.c,v 1.22 2008/04/17 22:17:54 jhb Exp $");
#include <limits.h>
#include <stdio.h>
@@ -49,7 +49,6 @@
int ret;
va_list ap;
FILE f;
- struct __sFILEX ext;
on = n;
if (n != 0)
@@ -61,8 +60,8 @@
f._flags = __SWR | __SSTR;
f._bf._base = f._p = (unsigned char *)str;
f._bf._size = f._w = n;
- f._extra = &ext;
- INITEXTRA(&f);
+ f._orientation = 0;
+ memset(&f._mbstate, 0, sizeof(mbstate_t));
ret = __vfprintf(&f, fmt, ap);
if (on > 0)
*f._p = '\0';
==== //depot/projects/ia64/lib/libc/stdio/sprintf.c#8 (text+ko) ====
@@ -34,7 +34,7 @@
static char sccsid[] = "@(#)sprintf.c 8.1 (Berkeley) 6/4/93";
#endif /* LIBC_SCCS and not lint */
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/sprintf.c,v 1.15 2007/01/09 00:28:07 imp Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/sprintf.c,v 1.16 2008/04/17 22:17:54 jhb Exp $");
#include <stdio.h>
#include <stdarg.h>
@@ -47,14 +47,13 @@
int ret;
va_list ap;
FILE f;
- struct __sFILEX ext;
f._file = -1;
f._flags = __SWR | __SSTR;
f._bf._base = f._p = (unsigned char *)str;
f._bf._size = f._w = INT_MAX;
- f._extra = &ext;
- INITEXTRA(&f);
+ f._orientation = 0;
+ memset(&f._mbstate, 0, sizeof(mbstate_t));
va_start(ap, fmt);
ret = __vfprintf(&f, fmt, ap);
va_end(ap);
==== //depot/projects/ia64/lib/libc/stdio/sscanf.c#6 (text+ko) ====
@@ -34,7 +34,7 @@
static char sccsid[] = "@(#)sscanf.c 8.1 (Berkeley) 6/4/93";
#endif /* LIBC_SCCS and not lint */
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/sscanf.c,v 1.12 2007/01/09 00:28:07 imp Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/sscanf.c,v 1.13 2008/04/17 22:17:54 jhb Exp $");
#include <stdio.h>
#include <string.h>
@@ -59,7 +59,6 @@
{
int ret;
va_list ap;
- struct __sFILEX extra;
FILE f;
f._file = -1;
@@ -69,8 +68,8 @@
f._read = eofread;
f._ub._base = NULL;
f._lb._base = NULL;
- f._extra = &extra;
- INITEXTRA(&f);
+ f._orientation = 0;
+ memset(&f._mbstate, 0, sizeof(mbstate_t));
va_start(ap, fmt);
ret = __svfscanf(&f, fmt, ap);
va_end(ap);
==== //depot/projects/ia64/lib/libc/stdio/ungetc.c#6 (text+ko) ====
@@ -34,7 +34,7 @@
static char sccsid[] = "@(#)ungetc.c 8.2 (Berkeley) 11/3/93";
#endif /* LIBC_SCCS and not lint */
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/ungetc.c,v 1.17 2007/01/09 00:28:07 imp Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/ungetc.c,v 1.18 2008/04/17 22:17:54 jhb Exp $");
#include "namespace.h"
#include <stdio.h>
@@ -158,7 +158,7 @@
* Initially, we will use the `reserve' buffer.
*/
fp->_ur = fp->_r;
- fp->_extra->_up = fp->_p;
+ fp->_up = fp->_p;
fp->_ub._base = fp->_ubuf;
fp->_ub._size = sizeof(fp->_ubuf);
fp->_ubuf[sizeof(fp->_ubuf) - 1] = c;
==== //depot/projects/ia64/lib/libc/stdio/ungetwc.c#9 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/ungetwc.c,v 1.10 2005/08/20 07:59:13 stefanf Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/ungetwc.c,v 1.11 2008/04/17 22:17:54 jhb Exp $");
#include "namespace.h"
#include <errno.h>
@@ -49,7 +49,7 @@
if (wc == WEOF)
return (WEOF);
- if ((len = __wcrtomb(buf, wc, &fp->_extra->mbstate)) == (size_t)-1) {
+ if ((len = __wcrtomb(buf, wc, &fp->_mbstate)) == (size_t)-1) {
fp->_flags |= __SERR;
return (WEOF);
}
==== //depot/projects/ia64/lib/libc/stdio/vasprintf.c#6 (text+ko) ====
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/vasprintf.c,v 1.18 2002/09/26 13:11:24 tjr Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/vasprintf.c,v 1.19 2008/04/17 22:17:54 jhb Exp $");
#include <stdio.h>
#include <stdlib.h>
@@ -43,7 +43,6 @@
{
int ret;
FILE f;
- struct __sFILEX ext;
f._file = -1;
f._flags = __SWR | __SSTR | __SALC;
@@ -54,8 +53,8 @@
return (-1);
}
f._bf._size = f._w = 127; /* Leave room for the NUL */
- f._extra = &ext;
- INITEXTRA(&f);
+ f._orientation = 0;
+ memset(&f._mbstate, 0, sizeof(mbstate_t));
ret = __vfprintf(&f, fmt, ap);
if (ret < 0) {
free(f._bf._base);
==== //depot/projects/ia64/lib/libc/stdio/vfprintf.c#31 (text+ko) ====
@@ -34,7 +34,7 @@
static char sccsid[] = "@(#)vfprintf.c 8.1 (Berkeley) 6/4/93";
#endif /* LIBC_SCCS and not lint */
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/vfprintf.c,v 1.77 2007/05/08 03:08:28 das Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/vfprintf.c,v 1.78 2008/04/17 22:17:54 jhb Exp $");
/*
* Actual printf innards.
@@ -149,7 +149,8 @@
fake._file = fp->_file;
fake._cookie = fp->_cookie;
fake._write = fp->_write;
- fake._extra = fp->_extra;
+ fake._orientation = fp->_orientation;
+ fake._mbstate = fp->_mbstate;
/* set up the buffer */
fake._bf._base = fake._p = buf;
==== //depot/projects/ia64/lib/libc/stdio/vfwprintf.c#20 (text+ko) ====
@@ -36,7 +36,7 @@
#endif /* LIBC_SCCS and not lint */
#endif
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/vfwprintf.c,v 1.28 2007/12/18 01:20:33 das Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/vfwprintf.c,v 1.29 2008/04/17 22:17:54 jhb Exp $");
/*
* Actual wprintf innards.
@@ -132,7 +132,8 @@
fake._file = fp->_file;
fake._cookie = fp->_cookie;
fake._write = fp->_write;
- fake._extra = fp->_extra;
+ fake._orientation = fp->_orientation;
+ fake._mbstate = fp->_mbstate;
/* set up the buffer */
fake._bf._base = fake._p = buf;
==== //depot/projects/ia64/lib/libc/stdio/vsnprintf.c#9 (text+ko) ====
@@ -34,7 +34,7 @@
static char sccsid[] = "@(#)vsnprintf.c 8.1 (Berkeley) 6/4/93";
#endif /* LIBC_SCCS and not lint */
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/vsnprintf.c,v 1.23 2007/01/09 00:28:08 imp Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/vsnprintf.c,v 1.24 2008/04/17 22:17:54 jhb Exp $");
#include <limits.h>
#include <stdio.h>
@@ -48,7 +48,6 @@
int ret;
char dummy[2];
FILE f;
- struct __sFILEX ext;
on = n;
if (n != 0)
@@ -66,8 +65,8 @@
f._flags = __SWR | __SSTR;
f._bf._base = f._p = (unsigned char *)str;
f._bf._size = f._w = n;
- f._extra = &ext;
- INITEXTRA(&f);
+ f._orientation = 0;
+ memset(&f._mbstate, 0, sizeof(mbstate_t));
ret = __vfprintf(&f, fmt, ap);
if (on > 0)
*f._p = '\0';
==== //depot/projects/ia64/lib/libc/stdio/vsprintf.c#7 (text+ko) ====
@@ -34,7 +34,7 @@
static char sccsid[] = "@(#)vsprintf.c 8.1 (Berkeley) 6/4/93";
#endif /* LIBC_SCCS and not lint */
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/vsprintf.c,v 1.15 2007/01/09 00:28:08 imp Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/vsprintf.c,v 1.16 2008/04/17 22:17:54 jhb Exp $");
#include <stdio.h>
#include <limits.h>
@@ -45,14 +45,13 @@
{
int ret;
FILE f;
- struct __sFILEX ext;
f._file = -1;
f._flags = __SWR | __SSTR;
f._bf._base = f._p = (unsigned char *)str;
f._bf._size = f._w = INT_MAX;
- f._extra = &ext;
- INITEXTRA(&f);
+ f._orientation = 0;
+ memset(&f._mbstate, 0, sizeof(mbstate_t));
ret = __vfprintf(&f, fmt, ap);
*f._p = 0;
return (ret);
==== //depot/projects/ia64/lib/libc/stdio/vsscanf.c#7 (text+ko) ====
@@ -34,7 +34,7 @@
static char sccsid[] = "@(#)vsscanf.c 8.1 (Berkeley) 6/4/93";
#endif /* LIBC_SCCS and not lint */
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdio/vsscanf.c,v 1.13 2007/01/09 00:28:08 imp Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/vsscanf.c,v 1.14 2008/04/17 22:17:54 jhb Exp $");
#include <stdio.h>
#include <string.h>
@@ -61,7 +61,6 @@
__va_list ap;
{
FILE f;
- struct __sFILEX ext;
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list