p4w-posixcvs Mailing List for p4w - Powertools 4 Wisehackers
Status: Pre-Alpha
Brought to you by:
earnie
You can subscribe to this list here.
2003 |
Jan
|
Feb
(38) |
Mar
(93) |
Apr
(51) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
---|
From: <ea...@us...> - 2003-04-18 20:38:13
|
Update of /cvsroot/p4w/cygwin/winsup/cygwin/include/sys In directory sc8-pr-cvs1:/tmp/cvs-serv17902/winsup/cygwin/include/sys Modified Files: Tag: p4wposix cygwin.h Log Message: Sync with HEAD Index: cygwin.h =================================================================== RCS file: /cvsroot/p4w/cygwin/winsup/cygwin/include/sys/cygwin.h,v retrieving revision 1.1.1.1.2.1 retrieving revision 1.1.1.1.2.2 diff -C2 -d -r1.1.1.1.2.1 -r1.1.1.1.2.2 *** cygwin.h 21 Mar 2003 18:56:17 -0000 1.1.1.1.2.1 --- cygwin.h 18 Apr 2003 20:27:52 -0000 1.1.1.1.2.2 *************** *** 72,79 **** CW_CYGWIN_PID_TO_WINPID, CW_EXTRACT_DOMAIN_AND_USER, ! CW_CMDLINE } cygwin_getinfo_types; #define CW_NEXTPID 0x80000000 /* or with pid to get next one */ /* Flags associated with process_state */ --- 72,81 ---- CW_CYGWIN_PID_TO_WINPID, CW_EXTRACT_DOMAIN_AND_USER, ! CW_CMDLINE, ! CW_CHECK_NTSEC } cygwin_getinfo_types; #define CW_NEXTPID 0x80000000 /* or with pid to get next one */ + unsigned long cygwin_internal (cygwin_getinfo_types, ...); /* Flags associated with process_state */ *************** *** 250,254 **** }; - DWORD cygwin_internal (cygwin_getinfo_types, ...); #endif /*WINVER*/ --- 252,255 ---- |
Update of /cvsroot/p4w/cygwin/winsup/cygwin/include/cygwin In directory sc8-pr-cvs1:/tmp/cvs-serv17902/winsup/cygwin/include/cygwin Modified Files: Tag: p4wposix fs.h in.h stat.h types.h version.h Log Message: Sync with HEAD Index: fs.h =================================================================== RCS file: /cvsroot/p4w/cygwin/winsup/cygwin/include/cygwin/fs.h,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** fs.h 20 Feb 2003 17:55:43 -0000 1.1.1.1 --- fs.h 18 Apr 2003 20:27:51 -0000 1.1.1.1.2.1 *************** *** 1,5 **** /* cygwin/fs.h ! Copyright 2002 Red Hat Inc. Written by Chris January <ch...@at...> --- 1,5 ---- /* cygwin/fs.h ! Copyright 2002, 2003 Red Hat Inc. Written by Chris January <ch...@at...> *************** *** 12,17 **** #ifndef _CYGWIN_FS_H_ #define _CYGWIN_FS_H_ - - #include <cygwin/types.h> #define BLKRRPART 0x0000125f --- 12,15 ---- Index: in.h =================================================================== RCS file: /cvsroot/p4w/cygwin/winsup/cygwin/include/cygwin/in.h,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** in.h 20 Feb 2003 17:55:43 -0000 1.1.1.1 --- in.h 18 Apr 2003 20:27:51 -0000 1.1.1.1.2.1 *************** *** 19,23 **** #define _CYGWIN_IN_H ! #include <cygwin/types.h> /* Standard well-defined IP protocols. */ --- 19,23 ---- #define _CYGWIN_IN_H ! #include <sys/types.h> /* Standard well-defined IP protocols. */ Index: stat.h =================================================================== RCS file: /cvsroot/p4w/cygwin/winsup/cygwin/include/cygwin/stat.h,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** stat.h 20 Feb 2003 17:55:43 -0000 1.1.1.1 --- stat.h 18 Apr 2003 20:27:51 -0000 1.1.1.1.2.1 *************** *** 27,31 **** __gid16_t st_gid; __dev16_t st_rdev; ! __off32_t st_size; timestruc_t st_atim; timestruc_t st_mtim; --- 27,31 ---- __gid16_t st_gid; __dev16_t st_rdev; ! _off_t st_size; timestruc_t st_atim; timestruc_t st_mtim; *************** *** 45,49 **** __gid32_t st_gid; __dev32_t st_rdev; ! __off64_t st_size; timestruc_t st_atim; timestruc_t st_mtim; --- 45,49 ---- __gid32_t st_gid; __dev32_t st_rdev; ! _off64_t st_size; timestruc_t st_atim; timestruc_t st_mtim; Index: types.h =================================================================== RCS file: /cvsroot/p4w/cygwin/winsup/cygwin/include/cygwin/types.h,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** types.h 20 Feb 2003 17:55:43 -0000 1.1.1.1 --- types.h 18 Apr 2003 20:27:52 -0000 1.1.1.1.2.1 *************** *** 32,41 **** #ifndef __off_t_defined #define __off_t_defined - typedef long __off32_t; - typedef long long __off64_t; #ifdef __CYGWIN_USE_BIG_TYPES__ ! typedef __off64_t off_t; #else ! typedef __off32_t off_t; #endif #endif /*__off_t_defined*/ --- 32,39 ---- #ifndef __off_t_defined #define __off_t_defined #ifdef __CYGWIN_USE_BIG_TYPES__ ! typedef _off64_t off_t; #else ! typedef _off_t off_t; #endif #endif /*__off_t_defined*/ Index: version.h =================================================================== RCS file: /cvsroot/p4w/cygwin/winsup/cygwin/include/cygwin/version.h,v retrieving revision 1.1.1.1.2.5 retrieving revision 1.1.1.1.2.6 diff -C2 -d -r1.1.1.1.2.5 -r1.1.1.1.2.6 *** version.h 21 Mar 2003 18:56:17 -0000 1.1.1.1.2.5 --- version.h 18 Apr 2003 20:27:52 -0000 1.1.1.1.2.6 *************** *** 214,217 **** --- 214,220 ---- _open64 _lseek64 _fstat64 _stat64 mknod32 80: Export pthread_rwlock stuff + 81: CW_CHECK_NTSEC addition to external.cc + 82: Export wcscoll wcswidth wcwidth + 83: Export gethostid */ *************** *** 220,224 **** #define CYGWIN_VERSION_API_MAJOR 0 #if BUILD_CYGWIN_NATIVE ! # define CYGWIN_VERSION_API_MINOR 80 #else # define CYGWIN_VERSION_API_MINOR 0 --- 223,227 ---- #define CYGWIN_VERSION_API_MAJOR 0 #if BUILD_CYGWIN_NATIVE ! # define CYGWIN_VERSION_API_MINOR 83 #else # define CYGWIN_VERSION_API_MINOR 0 |
From: <ea...@us...> - 2003-04-18 20:38:12
|
Update of /cvsroot/p4w/cygwin/winsup In directory sc8-pr-cvs1:/tmp/cvs-serv17902/winsup Modified Files: Tag: p4wposix ChangeLog Makefile.common Log Message: Sync with HEAD Index: ChangeLog =================================================================== RCS file: /cvsroot/p4w/cygwin/winsup/ChangeLog,v retrieving revision 1.1.1.1.2.1 retrieving revision 1.1.1.1.2.2 diff -C2 -d -r1.1.1.1.2.1 -r1.1.1.1.2.2 *** ChangeLog 21 Mar 2003 18:56:12 -0000 1.1.1.1.2.1 --- ChangeLog 18 Apr 2003 20:27:46 -0000 1.1.1.1.2.2 *************** *** 1,2 **** --- 1,11 ---- + 2003-04-11 Christopher Faylor <cg...@re...> + + * Makefile.common (w32api_lib): Fix w32api detection. + + 2003-03-28 Christopher Faylor <cg...@re...> + + * Makefile.common (ALL_CXXFLAGS): Make normal '=' type variable so that + CXXFLAGS is properly interpreted. + 2003-03-17 Christopher Faylor <cg...@re...> Index: Makefile.common =================================================================== RCS file: /cvsroot/p4w/cygwin/winsup/Makefile.common,v retrieving revision 1.1.1.1.2.1 retrieving revision 1.1.1.1.2.2 diff -C2 -d -r1.1.1.1.2.1 -r1.1.1.1.2.2 *** Makefile.common 21 Mar 2003 18:56:12 -0000 1.1.1.1.2.1 --- Makefile.common 18 Apr 2003 20:27:46 -0000 1.1.1.1.2.2 *************** *** 11,15 **** # This makefile requires GNU make. ! CFLAGS_COMMON:=-Wall -Wwrite-strings -fno-common -pipe -Winline -fbuiltin -fmessage-length=0# -finline-functions MALLOC_DEBUG:=#-DMALLOC_DEBUG -I/cygnus/src/uberbaum/winsup/cygwin/dlmalloc MALLOC_OBJ:=#/cygnus/src/uberbaum/winsup/cygwin/dlmalloc/malloc.o --- 11,15 ---- # This makefile requires GNU make. ! CFLAGS_COMMON:=-march=i386 -Wall -Wwrite-strings -fno-common -pipe -Winline -fbuiltin -fmessage-length=0# -finline-functions MALLOC_DEBUG:=#-DMALLOC_DEBUG -I/cygnus/src/uberbaum/winsup/cygwin/dlmalloc MALLOC_OBJ:=#/cygnus/src/uberbaum/winsup/cygwin/dlmalloc/malloc.o *************** *** 103,107 **** ALL_CFLAGS:=$(DEFS) $(MALLOC_DEBUG) $(CFLAGS) $(GCC_DEFAULT_OPTIONS) ! ALL_CXXFLAGS:=$(DEFS) $(MALLOC_DEBUG) $(CXXFLAGS) $(GCC_DEFAULT_OPTIONS) ifndef PREPROCESS --- 103,107 ---- ALL_CFLAGS:=$(DEFS) $(MALLOC_DEBUG) $(CFLAGS) $(GCC_DEFAULT_OPTIONS) ! ALL_CXXFLAGS=$(DEFS) $(MALLOC_DEBUG) $(CXXFLAGS) $(GCC_DEFAULT_OPTIONS) ifndef PREPROCESS |
Update of /cvsroot/p4w/cygwin/winsup/cygwin In directory sc8-pr-cvs1:/tmp/cvs-serv17902/winsup/cygwin Modified Files: Tag: p4wposix ChangeLog Makefile.in autoload.cc configure configure.in cygthread.cc cygthread.h cygwin.din dcrt0.cc dir.cc dlmalloc.c exceptions.cc external.cc fhandler.cc fhandler.h fhandler_clipboard.cc fhandler_console.cc fhandler_disk_file.cc fhandler_dsp.cc fhandler_floppy.cc fhandler_mem.cc fhandler_proc.cc fhandler_process.cc fhandler_random.cc fhandler_registry.cc fhandler_socket.cc fhandler_tape.cc fhandler_termios.cc fhandler_virtual.cc fhandler_zero.cc fork.cc grp.cc mkvers.sh mmap.cc pipe.cc pthread.cc pwdgrp.h security.cc shared.cc sigproc.cc syscalls.cc termios.cc thread.cc thread.h winsup.h Added Files: Tag: p4wposix cpuid.h Log Message: Sync with HEAD --- NEW FILE: cpuid.h --- #ifndef CPUID_H #define CPUID_H extern inline void cpuid (unsigned *a, unsigned *b, unsigned *c, unsigned *d, unsigned in) { asm ("cpuid" : "=a" (*a), "=b" (*b), "=c" (*c), "=d" (*d) : "a" (in)); } extern inline bool can_set_flag (unsigned flag) { unsigned r1, r2; asm("pushfl\n" "popl %0\n" "movl %0, %1\n" "xorl %2, %0\n" "pushl %0\n" "popfl\n" "pushfl\n" "popl %0\n" "pushl %1\n" "popfl\n" : "=&r" (r1), "=&r" (r2) : "ir" (flag) ); return ((r1 ^ r2) & flag) != 0; } #endif // !CPUID_H Index: ChangeLog =================================================================== RCS file: /cvsroot/p4w/cygwin/winsup/cygwin/ChangeLog,v retrieving revision 1.1.1.1.2.3 retrieving revision 1.1.1.1.2.4 diff -C2 -d -r1.1.1.1.2.3 -r1.1.1.1.2.4 *** ChangeLog 21 Mar 2003 18:56:12 -0000 1.1.1.1.2.3 --- ChangeLog 18 Apr 2003 20:27:47 -0000 1.1.1.1.2.4 *************** *** 1,2 **** --- 1,356 ---- + 2003-04-17 Christopher Faylor <cg...@re...> + + * syscalls.cc (setsid): Don't call FreeConsole if ctty is already < 0. + + 2003-04-17 Thomas Pfaff <tp...@gm...> + + * Makefile.in: Add finline-functions optimization to CXXFLAGS. + * autoload.cc (LoadDLLprime): Rename std_dll_init to + _std_dll_init. + (std_dll_init): Remove name mangling prototype. Add attributes + used and noinline. + (wsock_init): Ditto. + Change wsock_init to _wsock_init in wsock32 and ws2_32 + LoadDLLprime. + * exceptions.cc (unused_sig_wrapper): Remove prototype. Add + attributes used and noinline. + * pwdgrp.h ((pwdgrp (passwd *&)): Remove inline code. + (pwdgrp (__group32 *&)): Ditto. + * grp.cc (pwdgrp (passwd *&)): Outline constructor. + (pwdgrp (__group32 *&)): Ditto. + + 2003-04-17 Thomas Pfaff <tp...@gm...> + + * thread.h (pthread::equal): New static method. + * thread.cc: Rename pthread_equal to pthread::equal throughout. + (pthread_equal): Use pthread::equal to compare threads ids. + + 2003-04-15 Christopher Faylor <cg...@re...> + + * termios.cc (setspeed): New function. + (cfsetospeed): Use setspeed to set speed. + (cfsetispeed): Use setspeed to set speed. + + 2003-04-15 Chris January <ch...@at...> + + * autoload.cc: Add load statement for UuidCreate, and + UuidCreateSequential. + * cpuid.h: New file. + * cygwin.din: Export gethostid. + * fhandler_proc.cc (cpuid): Move to cpuid.h. + (can_set_flag): Move to cpuid.h. + * syscalls.cc (gethostid): New function. + * version.h: Bump DLL minor version number to 83. + + 2003-04-15 Thomas Pfaff <tp...@gm...> + + * thread.h (pthread_rwlock::release): New method. + * thread.cc (pthread_rwlock::unlock): Use release to signal waiting + threads. + (pthread_rwlock::rdlock_cleanup): Signal waiting threads after a + cancelation. + (pthread_rwlock::wrlock_cleanup): Ditto. + + 2003-04-13 Pierre Humblet <pie...@ie...> + + * mkvers.sh: Prefix day with 0 in date only when day < 10. + + 2003-04-11 Pierre Humblet <pie...@ie...> + + * security.cc (get_info_from_sd): New function. + (get_nt_attribute): Only call read_sd and get_info_from_sd. + Return void. + (get_file_attribute): Move sd error handling to get_info_from_sd. + and symlink handling to fhandler_disk_file::fstat_helper. + (get_nt_object_attribute): Only call read_sd and get_info_from_sd. + Return void. + (get_object_attribute): Remove symlink handling and simply return -1 + when ntsec is off. + * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): For + symlinks set the attribute, call get_file_attribute to get the ids + and return. In the normal case call get_file_attribute with the + addresses of the buffer ids and do not recheck if the file is a socket. + + 2003-04-10 Christopher Faylor <cg...@re...> + + * cygthread.cc (cygthread::stub): Initialize stack pointer earlier. + (cygthread::simplestub): Initialize stack pointer. + (cygthread::terminate_thread): Account for possibility that stack + pointer has not been set. Issue warnings for unusual conditions. + + 2003-04-10 Corinna Vinschen <co...@vi...> + + * regex/regex.h: Define regoff_t as _off_t. + * regex/regex2.h: Ditto. + + 2003-04-10 Corinna Vinschen <co...@vi...> + + * cygwin.din: Export wcscoll, wcswidth and wcwidth. + * include/cygwin/version.h: Bump API minor number. + + 2003-04-10 Christopher Faylor <cg...@re...> + + * cygthread.h: Change 'avail' cygthread element to 'inuse' throughout. + * cygthread.cc: Ditto. + (cygthread::stub): Don't initialize already initialized events. + (cygthread::freerange): Don't create thread here. + (cygthread::cygthread): Create thread here. Die if thread not created. + (cygthread::operator new): Simplify. Just grab a thread structure from + the pool. Don't try to start the thread. + (cygthread::terminate_thread): Don't close event handles. Just reuse + them. Call MEM_RELEASE rather than MEM_DECOMMIT (from Joe Buehler). + + 2003-04-08 Bob Cassels <bca...@ab...> + + * fhandler_console.cc (fhandler_console::read) Handle certain key up + events, to allow pasting accented characters and typing them using the + "alt + numerics" sequences. + + 2003-04-07 Christopher Faylor <cg...@re...> + + * include/limits.h (IOV_MAX): Set to a number which is small enough to + use in an array. + + 2003-04-04 Christopher Faylor <cg...@re...> + + * cygthread.h (cygthread::avail): Make LONG for easier use with + Interlocked* functions. + * cygthread.cc (cygthread::init): Eliminate unneeded muto. + (cygthread::operator new): Don't lock. Instead change use of avail + variable into tri-state: available (1), not available (-1), + uninitialized (0). + (cygthread::terminate_thread): Set avail to uninitialized. + (cygthread::detach): Eliminate local 'avail'. Always set avail to 1 + unless signalled. + + 2003-04-04 Christopher Faylor <cg...@re...> + + * cygthread.cc (cygthread::operator new): Be more defensive when messing with + threads that are marked "unavailable". + + 2003-04-03 Christopher Faylor <cg...@re...> + + * fhandler_console.cc (CONVERT_LIMIT): Use a size for the 21st century. + + 2003-04-03 Corinna Vinschen <co...@vi...> + + * external.cc (check_ntsec): Return general ntsec state on NULL + filename. Check wincap.is_security() additionally. + + 2003-04-02 Christopher Faylor <cg...@re...> + + * Makefile.in (EXTRA_OFILES): Remove debugging object. + + 2003-04-02 Jason Tishler <ja...@ti...> + Christopher Faylor <cg...@re...> + + * external.cc (check_ntsec): New function. + (cygwin_internal): Add CW_CHECK_NTSEC handling to call check_ntsec() + from applications. + * include/cygwin/version.h: Bump API minor number. + * include/sys/cygwin.h (cygwin_getinfo_types): Add CW_CHECK_NTSEC. + + 2003-04-02 Christopher Faylor <cg...@re...> + + * cygthread.cc (cygthread::new): Add more defensive debugging. + + 2003-04-01 Pierre Humblet <pie...@ie...> + + * fhandler.cc (fhandler_base::fstat): Set the uid and gid fields + from the current effective ids. + * fhandler_socket.cc (fhandler_socket::fstat): Keep the uid and gid set + by fhandler_base::fstat. + * security.cc (get_nt_attribute): Do not test wincap.has_security (). + (get_nt_object_attribute): Ditto. + (get_file_attribute): Add test for wincap.has_security (). + (get_object_attribute): Ditto. + + 2003-04-01 Corinna Vinschen <co...@vi...> + + * dir.cc: Change __off32_t to _off_t and __off64_t to _off64_t + throughout. + * fhandler.cc: Ditto. + * fhandler.h: Ditto. + * fhandler_clipboard.cc: Ditto. + * fhandler_disk_file.cc: Ditto. + * fhandler_dsp.cc: Ditto. + * fhandler_floppy.cc: Ditto. + * fhandler_mem.cc: Ditto. + * fhandler_proc.cc: Ditto. + * fhandler_process.cc: Ditto. + * fhandler_random.cc: Ditto. + * fhandler_registry.cc: Ditto. + * fhandler_tape.cc: Ditto. + * fhandler_termios.cc: Ditto. + * fhandler_virtual.cc: Ditto. + * fhandler_zero.cc: Ditto. + * mmap.cc: Ditto. + * pipe.cc: Ditto. + * syscalls.cc: Ditto. + * winsup.h: Ditto. + * include/cygwin/stat.h: Ditto. + * include/cygwin/types.h: Ditto. Remove definition of __off32_t + and __off64_t. + + 2003-03-31 Christopher Faylor <cg...@re...> + + * exceptions.cc (setup_handler): Make sure winapi lock is released when + exiting loop. + + 2003-03-30 Christopher Faylor <cg...@re...> + + * include/cygwin/fs.h: Remove unneeded include. + * include/cygwin/in.h: Include sys/types.h rather than cygwin/types.h. + + 2003-03-29 Corinna Vinschen <co...@vi...> + + * syscalls.cc (login): Fix comment. + (logout): Ditto. + + 2003-03-29 Corinna Vinschen <co...@vi...> + + * syscalls.cc: Slightly cleanup all utmp functions. + (login): Use mutex to secure against concurrent access to wtmp file. + (logout): Rewrite using POSIX calls. + (utmp_fd): Initialized to -1 now. Any value < 0 is treated as closed + in subsequent functions. + (utmp_readonly): New variable, indicating utmp file open for reading + only. + (internal_setutent): New function implementing setutent(). + (setutent): Call internal_setutent now. + (endutent): Reset utmp_readonly. + (getutent): Return immediately if utmp file can't be opened. + (getutid): Ditto. + (getutline): Ditto. + (pututline): Ditto. Use mutex to secure against concurrent access to + utmp file. + + 2003-03-28 Christopher Faylor <cg...@re...> + + * Makefile.in: Remove EXE_LDFLAGS. Fix fhandler_CFLAGS typo. Recognize .s suffix. + * configure.in: Remove EXE_LDFLAGS. + * configure: Regenerate. + + 2003-03-28 Christopher Faylor <cg...@re...> + + * include/sys/cygwin.h: Declare cygwin_internal as unsigned long. + * external.cc (cygwin_internal): Define as unsigned long. + + 2003-03-27 Christopher Faylor <cg...@re...> + + * include/sys/cygwin.h: Move cygwin_internal outside of WINVER + conditional. + + 2003-03-27 Thomas Pfaff <tp...@gm...> + + * thread.cc: Change 1==foo equations to foo==1 throughout. + + 2003-03-27 Thomas Pfaff <tp...@gm...> + + * thread.h: Change class names, methods, members and local vars + according to the GNU coding style. + * thread.cc: Ditto. + * dcrt0.cc (dll_crt0_1): Rename pthread::initMainThread call to + pthread::init_mainthread. + * pthread.cc (pthead_getsequence_np): Rename pthread::isGoodObject + call to pthread::is_good_object. + + 2003-03-27 Joe Buehler <jh...@dr...> + + * autoload.cc: Add RegGetKeySecurity(). + * security.cc (get_nt_object_attribute): Use RegGetKeySecurity() for + performance. + + 2003-03-25 Christopher Faylor <cg...@re...> + Joe Buehler <jh...@dr...> + + * fork.cc (fork_parent): Don't copy signals from parent to child here. + * sigproc.cc (proc_subproc): Copy signals from parent to child pinfo + here. + + 2003-03-23 Thomas Pfaff <tp...@gm...> + + * thread.h (class List): Move inline code inside class declaration. + (List::forEach): Change callback parameter to template class member + function pointer. + (pthread_keys::fixup_before_fork): Change to inline. Use List::forEach + to fixup keys. + (pthread_keys::fixup_after_fork): Ditto. + (pthread_keys::runAllDestructors): Ditto. + (pthread_key::saveAKey): Remove. + (pthread_key::restoreAKey): Ditto. + (pthread_key::destroyAKey): Ditto. + (pthread_key::run_destructor): Rename to runDestructor. + (pthread_mutex::fixup_after_fork): Change to inline. Use List::forEach + to fixup mutexes after a fork. + (pthread_mutex::FixupAfterFork): New method. + (pthread_mutex::mutexes): New member. + (pthread_cond::fixup_after_fork): Change to inline. Use List::forEach + to fixup conds after a fork. + (pthread_cond::FixupAfterFork): New method. + (pthread_cond::conds): New member. + (pthread_rwlock::fixup_after_fork): Change to inline. Use + List::forEach to fixup rwlocks after a fork. + (pthread_rwlock::FixupAfterFork): New method. + (pthread_rwlock::rwlocks): New member. + (semaphore::fixup_after_fork): Change to inline. Use List::forEach to + fixup mutexes after a fork. + (semaphore::FixupAfterFork): New method. + (semaphore::semaphores): New member. + (MTinterface::mutexs): Remove. + (MTinterface::conds): Ditto. + (MTinterface::rwlocks): Ditto. + (MTinterface::semaphores): Ditto. + (pthread_equal): Add extern "C". + (pthread_mutex_lock): Ditto. + + * thread.cc (MTinterface::fixup_after_fork): Change fixup_after_fork + calls for pthread objects. + (semaphore::conds): Instantiate. + (pthread_cond::pthread_cond): Use List::Insert rather than custom list + code. + (pthread_cond::~pthread_cond): Use List::Remove rather than custom list + code. + (pthread_cond::fixup_after_fork): Rename to FixupAfterFork. + (pthread_rwlock::rwlocks): Instantiate. + (pthread_rwlock::pthread_crwlock): Use List::Insert rather than custom + list code. + (pthread_rwlock::~pthread_rwlock): Use List::Remove rather than custom + list code. + (pthread_rwlock::fixup_after_fork): Rename to FixupAfterFork. + (pthread_key::saveAKey): Remove. + (pthread_key::fixup_before_fork): Ditto. + (pthread_key::restoreAKey): Ditto. + (pthread_key::fixup_after_fork): Ditto. + (pthread_key::destroyAKey): Ditto. + (pthread_key::runAllDestructors): Ditto. + (pthread_key::run_destructor): Rename to runDestructor. + (pthread_mutex::mutexes): Instantiate. + (pthread_mutex::pthread_mutex): Use List::Insert rather than custom + list code. + (pthread_mutex::~pthread_mutex): Use List::Remove rather than custom + list code. + (pthread_mutex::fixup_after_fork): Rename to FixupAfterFork. + (semaphore::conds): Instantiate. + (semaphore::semaphore): Use List::Insert rather than custom list code. + (semaphores::~semaphore): Use List::Remove rather than custom list + code. + (semaphore::fixup_after_fork): Rename to FixupAfterFork. + + 2003-03-22 Christopher Faylor <cg...@re...> + + * pipe.cc (fhandler_pipe::dup): Don't dup input_handle if it doesn't + exist. + + 2003-03-22 Christopher Faylor <cg...@re...> + + * syscalls.cc (unlink): Be more defensive when SetFileAttributes is + called. Fix typo in debugging output. + + 2003-03-21 Christopher Faylor <cg...@re...> + + * fork.cc: Conditionalize use of slow_pid_reuse throughout. It's not + necessary for newer versions of bash. + 2003-03-20 Corinna Vinschen <co...@vi...> *************** *** 365,369 **** 2003-03-17 Corinna Vinschen <co...@vi...> ! * glob.c (g_lstat): Change API minor test to match API minor number change in previous patch. (g_stat): Ditto. --- 719,723 ---- 2003-03-17 Corinna Vinschen <co...@vi...> ! * glob.c (g_lstat): Change API minor test to match API minor number change in previous patch. (g_stat): Ditto. Index: Makefile.in =================================================================== RCS file: /cvsroot/p4w/cygwin/winsup/cygwin/Makefile.in,v retrieving revision 1.1.1.1.2.2 retrieving revision 1.1.1.1.2.3 diff -C2 -d -r1.1.1.1.2.2 -r1.1.1.1.2.3 *** Makefile.in 22 Mar 2003 21:02:04 -0000 1.1.1.1.2.2 --- Makefile.in 18 Apr 2003 20:27:47 -0000 1.1.1.1.2.3 *************** *** 53,57 **** cygthread_CFLAGS:=-fomit-frame-pointer miscfuncs_CFLAGS:=-fomit-frame-pointer ! fhandler_CFLAGS:=-fomit-frame_pointer fhandler_clipboard_CFLAGS:=-fomit-frame-pointer fhandler_console_CFLAGS:=-fomit-frame-pointer --- 53,57 ---- cygthread_CFLAGS:=-fomit-frame-pointer miscfuncs_CFLAGS:=-fomit-frame-pointer ! fhandler_CFLAGS:=-fomit-frame-pointer fhandler_clipboard_CFLAGS:=-fomit-frame-pointer fhandler_console_CFLAGS:=-fomit-frame-pointer *************** *** 79,87 **** CFLAGS=@CFLAGS@ override CFLAGS+=-MMD ${$(*F)_CFLAGS} ! CXX:=@CXX@ CXXFLAGS=@CXXFLAGS@ ! ! # For linking mount, etc. crt0.o isn't accessable in a fresh build. ! EXE_LDFLAGS:=@EXE_LDFLAGS@ AR:=@AR@ --- 79,87 ---- CFLAGS=@CFLAGS@ override CFLAGS+=-MMD ${$(*F)_CFLAGS} ! CXX=@CXX@ CXXFLAGS=@CXXFLAGS@ ! ifeq ($(CYGINLINE),1) ! override CXXFLAGS+=-finline-functions ! endif AR:=@AR@ *************** *** 246,250 **** .SUFFIXES: ! .SUFFIXES: .c .cc .def .a .o .d all_host=@all_host@ --- 246,250 ---- .SUFFIXES: ! .SUFFIXES: .c .cc .def .a .o .d .s all_host=@all_host@ Index: autoload.cc =================================================================== RCS file: /cvsroot/p4w/cygwin/winsup/cygwin/autoload.cc,v retrieving revision 1.1.1.1.2.2 retrieving revision 1.1.1.1.2.3 diff -C2 -d -r1.1.1.1.2.2 -r1.1.1.1.2.3 *** autoload.cc 21 Mar 2003 18:56:13 -0000 1.1.1.1.2.2 --- autoload.cc 18 Apr 2003 20:27:47 -0000 1.1.1.1.2.3 *************** *** 59,63 **** .section ." #dllname "_info,\"w\" \n\ .linkonce \n\ ! .long std_dll_init \n\ .long 0 \n\ .long -1 \n\ --- 59,63 ---- .section ." #dllname "_info,\"w\" \n\ .linkonce \n\ ! .long _std_dll_init \n\ .long 0 \n\ .long -1 \n\ *************** *** 202,207 **** /* The standard DLL initialization routine. */ ! static long long std_dll_init () __asm__ ("std_dll_init") __attribute__ ((unused)); ! static long long std_dll_init () { --- 202,206 ---- /* The standard DLL initialization routine. */ ! __attribute__ ((used, noinline)) static long long std_dll_init () { *************** *** 242,248 **** /* Initialization function for winsock stuff. */ - static long long wsock_init () __asm__ ("wsock_init") __attribute__ ((unused, regparm(1))); bool NO_COPY wsock_started = 0; ! static long long wsock_init () { --- 241,246 ---- /* Initialization function for winsock stuff. */ bool NO_COPY wsock_started = 0; ! __attribute__ ((used, noinline, regparm(1))) static long long wsock_init () { *************** *** 305,310 **** } ! LoadDLLprime (wsock32, wsock_init) ! LoadDLLprime (ws2_32, wsock_init) LoadDLLfunc (AccessCheck, 32, advapi32) --- 303,308 ---- } ! LoadDLLprime (wsock32, _wsock_init) ! LoadDLLprime (ws2_32, _wsock_init) LoadDLLfunc (AccessCheck, 32, advapi32) *************** *** 376,379 **** --- 374,378 ---- LoadDLLfunc (SetSecurityDescriptorOwner, 12, advapi32) LoadDLLfunc (SetTokenInformation, 16, advapi32) + LoadDLLfunc (RegGetKeySecurity, 16, advapi32) LoadDLLfunc (NetApiBufferFree, 4, netapi32) *************** *** 523,525 **** --- 522,527 ---- LoadDLLfuncEx (timeBeginPeriod, 4, winmm, 1) LoadDLLfuncEx (timeEndPeriod, 4, winmm, 1) + + LoadDLLfuncEx (UuidCreate, 4, rpcrt4, 1) + LoadDLLfuncEx (UuidCreateSequential, 4, rpcrt4, 1) } Index: configure =================================================================== RCS file: /cvsroot/p4w/cygwin/winsup/cygwin/configure,v retrieving revision 1.1.1.1.2.1 retrieving revision 1.1.1.1.2.2 diff -C2 -d -r1.1.1.1.2.1 -r1.1.1.1.2.2 *** configure 12 Mar 2003 18:05:10 -0000 1.1.1.1.2.1 --- configure 18 Apr 2003 20:27:47 -0000 1.1.1.1.2.2 *************** *** 17,22 **** --enable-extra-threadsafe-checking Build a cygwin DLL which is thread safe with extra consistency checking" ac_help="$ac_help - --enable-cygwin-native Build a native cygwin DLL" - ac_help="$ac_help --enable-debugging Build a cygwin DLL which has more consistency checking for debugging" ac_help="$ac_help --- 17,20 ---- *************** *** 567,571 **** # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 ! echo "configure:570: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then --- 565,569 ---- # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 ! echo "configure:568: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then *************** *** 653,657 **** echo $ac_n "checking host system type""... $ac_c" 1>&6 ! echo "configure:656: checking host system type" >&5 host_alias=$host --- 651,655 ---- echo $ac_n "checking host system type""... $ac_c" 1>&6 ! echo "configure:654: checking host system type" >&5 host_alias=$host *************** *** 674,678 **** echo $ac_n "checking target system type""... $ac_c" 1>&6 ! echo "configure:677: checking target system type" >&5 target_alias=$target --- 672,676 ---- echo $ac_n "checking target system type""... $ac_c" 1>&6 ! echo "configure:675: checking target system type" >&5 target_alias=$target *************** *** 692,696 **** echo $ac_n "checking build system type""... $ac_c" 1>&6 ! echo "configure:695: checking build system type" >&5 build_alias=$build --- 690,694 ---- echo $ac_n "checking build system type""... $ac_c" 1>&6 ! echo "configure:693: checking build system type" >&5 build_alias=$build *************** *** 724,728 **** set dummy ${ac_tool_prefix}gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:727: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 722,726 ---- set dummy ${ac_tool_prefix}gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:725: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 756,760 **** set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:759: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 754,758 ---- set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:757: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 792,796 **** set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:795: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 790,794 ---- set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:793: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 841,845 **** echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 ! echo "configure:844: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 839,843 ---- echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 ! echo "configure:842: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 850,854 **** #endif EOF ! if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:853: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else --- 848,852 ---- #endif EOF ! if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:851: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else *************** *** 865,869 **** CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 ! echo "configure:868: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 863,867 ---- CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 ! echo "configure:866: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 895,899 **** set dummy ${ac_tool_prefix}g++; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:898: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 893,897 ---- set dummy ${ac_tool_prefix}g++; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:896: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 927,931 **** set dummy g++; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:930: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 925,929 ---- set dummy g++; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:928: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 963,967 **** set dummy c++; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:966: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 961,965 ---- set dummy c++; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:964: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 1012,1016 **** set dummy ${ac_tool_prefix}ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1015: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 1010,1014 ---- set dummy ${ac_tool_prefix}ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1013: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 1044,1048 **** set dummy ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1047: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 1042,1046 ---- set dummy ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1045: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 1079,1083 **** set dummy ${ac_tool_prefix}as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1082: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 1077,1081 ---- set dummy ${ac_tool_prefix}as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1080: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 1111,1115 **** set dummy as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1114: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 1109,1113 ---- set dummy as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1112: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 1146,1150 **** set dummy ${ac_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1149: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 1144,1148 ---- set dummy ${ac_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1147: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 1178,1182 **** set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1181: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 1176,1180 ---- set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1179: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 1213,1217 **** set dummy ${ac_tool_prefix}ld; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1216: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 1211,1215 ---- set dummy ${ac_tool_prefix}ld; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1214: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 1245,1249 **** set dummy ld; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1248: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 1243,1247 ---- set dummy ld; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1246: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 1280,1284 **** set dummy ${ac_tool_prefix}nm; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1283: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 1278,1282 ---- set dummy ${ac_tool_prefix}nm; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1281: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 1312,1316 **** set dummy nm; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1315: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 1310,1314 ---- set dummy nm; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1313: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 1347,1351 **** set dummy ${ac_tool_prefix}dlltool; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1350: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 1345,1349 ---- set dummy ${ac_tool_prefix}dlltool; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1348: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 1379,1383 **** set dummy dlltool; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1382: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 1377,1381 ---- set dummy dlltool; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1380: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 1414,1418 **** set dummy ${ac_tool_prefix}windres; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1417: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 1412,1416 ---- set dummy ${ac_tool_prefix}windres; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1415: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 1446,1450 **** set dummy windres; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1449: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 1444,1448 ---- set dummy windres; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:1447: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 1480,1484 **** echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 ! echo "configure:1483: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then --- 1478,1482 ---- echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 ! echo "configure:1481: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then *************** *** 1495,1499 **** # not just through cpp. cat > conftest.$ac_ext <<EOF ! #line 1498 "configure" #include "confdefs.h" #include <assert.h> --- 1493,1497 ---- # not just through cpp. cat > conftest.$ac_ext <<EOF ! #line 1496 "configure" #include "confdefs.h" #include <assert.h> *************** *** 1501,1505 **** EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:1504: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then --- 1499,1503 ---- EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:1502: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then *************** *** 1512,1516 **** CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext <<EOF ! #line 1515 "configure" #include "confdefs.h" #include <assert.h> --- 1510,1514 ---- CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext <<EOF ! #line 1513 "configure" #include "confdefs.h" #include <assert.h> *************** *** 1518,1522 **** EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:1521: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then --- 1516,1520 ---- EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:1519: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then *************** *** 1529,1533 **** CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext <<EOF ! #line 1532 "configure" #include "confdefs.h" #include <assert.h> --- 1527,1531 ---- CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext <<EOF ! #line 1530 "configure" #include "confdefs.h" #include <assert.h> *************** *** 1535,1539 **** EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:1538: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then --- 1533,1537 ---- EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:1536: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then *************** *** 1562,1571 **** # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 ! echo "configure:1565: checking for working alloca.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF ! #line 1570 "configure" #include "confdefs.h" #include <alloca.h> --- 1560,1569 ---- # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 ! echo "configure:1563: checking for working alloca.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF ! #line 1568 "configure" #include "confdefs.h" #include <alloca.h> *************** *** 1574,1578 **** ; return 0; } EOF ! if { (eval echo configure:1577: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_header_alloca_h=yes --- 1572,1576 ---- ; return 0; } EOF ! if { (eval echo configure:1575: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_header_alloca_h=yes *************** *** 1595,1604 **** echo $ac_n "checking for alloca""... $ac_c" 1>&6 ! echo "configure:1598: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF ! #line 1603 "configure" #include "confdefs.h" --- 1593,1602 ---- echo $ac_n "checking for alloca""... $ac_c" 1>&6 ! echo "configure:1596: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF ! #line 1601 "configure" #include "confdefs.h" *************** *** 1628,1632 **** ; return 0; } EOF ! if { (eval echo configure:1631: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_func_alloca_works=yes --- 1626,1630 ---- ; return 0; } EOF ! if { (eval echo configure:1629: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_func_alloca_works=yes *************** *** 1660,1669 **** echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 ! echo "configure:1663: checking whether alloca needs Cray hooks" >&5 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF ! #line 1668 "configure" #include "confdefs.h" #if defined(CRAY) && ! defined(CRAY2) --- 1658,1667 ---- echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 ! echo "configure:1661: checking whether alloca needs Cray hooks" >&5 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF ! #line 1666 "configure" #include "confdefs.h" #if defined(CRAY) && ! defined(CRAY2) *************** *** 1690,1699 **** for ac_func in _getb67 GETB67 getb67; do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:1693: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF ! #line 1698 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, --- 1688,1697 ---- for ac_func in _getb67 GETB67 getb67; do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:1691: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF ! #line 1696 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, *************** *** 1718,1722 **** ; return 0; } EOF ! if { (eval echo configure:1721: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" --- 1716,1720 ---- ; return 0; } EOF ! if { (eval echo configure:1719: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" *************** *** 1745,1749 **** echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 ! echo "configure:1748: checking stack direction for C alloca" >&5 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 1743,1747 ---- echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 ! echo "configure:1746: checking stack direction for C alloca" >&5 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 1753,1757 **** else cat > conftest.$ac_ext <<EOF ! #line 1756 "configure" #include "confdefs.h" find_stack_direction () --- 1751,1755 ---- else cat > conftest.$ac_ext <<EOF ! #line 1754 "configure" #include "confdefs.h" find_stack_direction () *************** *** 1772,1776 **** } EOF ! if { (eval echo configure:1775: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_stack_direction=1 --- 1770,1774 ---- } EOF ! if { (eval echo configure:1773: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_stack_direction=1 *************** *** 1794,1798 **** echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 ! echo "configure:1797: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then --- 1792,1796 ---- echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 ! echo "configure:1795: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then *************** *** 1831,1835 **** cat > conftest.$ac_ext <<EOF ! #line 1834 "configure" #include "confdefs.h" --- 1829,1833 ---- cat > conftest.$ac_ext <<EOF ! #line 1832 "configure" #include "confdefs.h" *************** *** 1844,1848 **** ; return 0; } EOF ! if { (eval echo configure:1847: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* use_builtin_memset=yes --- 1842,1846 ---- ; return 0; } EOF ! if { (eval echo configure:1845: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* use_builtin_memset=yes *************** *** 1856,1860 **** if test $use_builtin_memset = "yes"; then cat >> confdefs.h <<\EOF ! #define HAVE_BUILTIN_MEMSET EOF --- 1854,1858 ---- if test $use_builtin_memset = "yes"; then cat >> confdefs.h <<\EOF ! #define HAVE_BUILTIN_MEMSET 1 EOF *************** *** 1898,1902 **** MT_SAFE=yes cat >> confdefs.h <<\EOF ! #define _CYG_THREAD_FAILSAFE EOF --- 1896,1900 ---- MT_SAFE=yes cat >> confdefs.h <<\EOF ! #define _CYG_THREAD_FAILSAFE 1 EOF *************** *** 1918,1957 **** - # Check whether --enable-cygwin-native or --disable-cygwin-native was given. - if test "${enable_cygwin_native+set}" = set; then - enableval="$enable_cygwin_native" - case "${enableval}" in - yes) cat >> confdefs.h <<\EOF - #define BUILD_CYGWIN_NATIVE 1 - EOF - - cat >> confdefs.h <<\EOF - #define BUILD_P4W 0 - EOF - ;; - no) cat >> confdefs.h <<\EOF - #define BUILD_P4W 1 - EOF - - cat >> confdefs.h <<\EOF - #define BUILD_CYGWIN_NATIVE 0 - EOF - ;; - esac - - else - - cat >> confdefs.h <<\EOF - #define BUILD_P4W 1 - EOF - - cat >> confdefs.h <<\EOF - #define BUILD_CYGWIN_NATIVE 0 - EOF - - - fi - - # Check whether --enable-debugging or --disable-debugging was given. if test "${enable_debugging+set}" = set; then --- 1916,1919 ---- *************** *** 2003,2048 **** - - echo $ac_n "checking if newlib is part of the build tree""... $ac_c" 1>&6 - echo "configure:2008: checking if newlib is part of the build tree" >&5 - - EXE_LDFLAGS= - if test -d ../newlib - then - echo "$ac_t""yes" 1>&6 - EXE_LDFLAGS="-B../../newlib/ -B../" - else - echo "$ac_t""no" 1>&6 - fi - - - if test x"$EXE_LDFLAGS" = x - then - echo $ac_n "checking if installed newlib needed""... $ac_c" 1>&6 - echo "configure:2023: checking if installed newlib needed" >&5 - cat > conftest.$ac_ext <<EOF - #line 2025 "configure" - #include "confdefs.h" - - int main() { - /* main already defined */ - - ; return 0; } - EOF - if { (eval echo configure:2033: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - echo "$ac_t""no" 1>&6 - - else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - echo "$ac_t""yes" 1>&6 - echo "configure: warning: newlib not found - utility .exe's may not link" 1>&2 - fi - rm -f conftest* - fi - - case "$target_cpu" in i386|i486|i586|i686) DLL_ENTRY="_dll_entry@12" --- 1965,1968 ---- *************** *** 2228,2232 **** s%@SET_MAKE@%$SET_MAKE%g s%@MT_SAFE@%$MT_SAFE%g - s%@EXE_LDFLAGS@%$EXE_LDFLAGS%g s%@MALLOC_OFILES@%$MALLOC_OFILES%g s%@DLL_ENTRY@%$DLL_ENTRY%g --- 2148,2151 ---- Index: configure.in =================================================================== RCS file: /cvsroot/p4w/cygwin/winsup/cygwin/configure.in,v retrieving revision 1.1.1.1.2.1 retrieving revision 1.1.1.1.2.2 diff -C2 -d -r1.1.1.1.2.1 -r1.1.1.1.2.2 *** configure.in 12 Mar 2003 18:05:14 -0000 1.1.1.1.2.1 --- configure.in 18 Apr 2003 20:27:47 -0000 1.1.1.1.2.2 *************** *** 218,253 **** dnl fi - dnl - dnl If newlib is part of build tree, always set EXE_LDFLAGS to point to - dnl it; this is important in cases where the installed newlib is perhaps - dnl not compatible. Check and warn for installed newlib only if it's not - dnl part of the build tree. - dnl - - AC_MSG_CHECKING([if newlib is part of the build tree]) - - EXE_LDFLAGS= - if test -d ../newlib - then - AC_MSG_RESULT(yes) - EXE_LDFLAGS="-B../../newlib/ -B../" - else - AC_MSG_RESULT(no) - fi - AC_SUBST(EXE_LDFLAGS) - - if test x"$EXE_LDFLAGS" = x - then - AC_MSG_CHECKING([if installed newlib needed]) - AC_TRY_LINK(, - [/* main already defined */] - , - AC_MSG_RESULT(no) - , - AC_MSG_RESULT(yes) - AC_MSG_WARN(newlib not found - utility .exe's may not link)) - fi - AC_SUBST(EXE_LDFLAGS) - case "$target_cpu" in i386|i486|i586|i686) DLL_ENTRY="_dll_entry@12" --- 218,221 ---- Index: cygthread.cc =================================================================== RCS file: /cvsroot/p4w/cygwin/winsup/cygwin/cygthread.cc,v retrieving revision 1.1.1.1.2.1 retrieving revision 1.1.1.1.2.2 diff -C2 -d -r1.1.1.1.2.1 -r1.1.1.1.2.2 *** cygthread.cc 2 Mar 2003 02:26:53 -0000 1.1.1.1.2.1 --- cygthread.cc 18 Apr 2003 20:27:47 -0000 1.1.1.1.2.2 *************** *** 41,50 **** cygthread *info = (cygthread *) arg; if (info->arg == cygself) info->ev = info->thread_sync = info->stack_ptr = NULL; else { - info->ev = CreateEvent (&sec_none_nih, TRUE, FALSE, NULL); - info->thread_sync = CreateEvent (&sec_none_nih, FALSE, FALSE, NULL); info->stack_ptr = &arg; } while (1) --- 41,60 ---- cygthread *info = (cygthread *) arg; if (info->arg == cygself) + { + if (info->ev) + { + CloseHandle (info->ev); + CloseHandle (info->thread_sync); + } info->ev = info->thread_sync = info->stack_ptr = NULL; + } else { info->stack_ptr = &arg; + if (!info->ev) + { + info->ev = CreateEvent (&sec_none_nih, TRUE, FALSE, NULL); + info->thread_sync = CreateEvent (&sec_none_nih, FALSE, FALSE, NULL); + } } while (1) *************** *** 91,104 **** cygthread *info = (cygthread *) arg; info->func (info->arg == cygself ? info : info->arg); ExitThread (0); } - static NO_COPY muto *cygthread_protect; /* Start things going. Called from dll_crt0_1. */ void cygthread::init () { - new_muto (cygthread_protect); main_thread_id = GetCurrentThreadId (); } --- 101,113 ---- cygthread *info = (cygthread *) arg; + info->stack_ptr = &arg; info->func (info->arg == cygself ? info : info->arg); ExitThread (0); } /* Start things going. Called from dll_crt0_1. */ void cygthread::init () { main_thread_id = GetCurrentThreadId (); } *************** *** 121,126 **** cygthread *self = (cygthread *) calloc (1, sizeof (*self)); self->is_freerange = true; - self->h = CreateThread (&sec_none_nih, 0, cygthread::simplestub, self, - CREATE_SUSPENDED, &self->id); self->ev = self->h; return self; --- 130,133 ---- *************** *** 130,158 **** new (size_t) { - DWORD id; cygthread *info; - cygthread_protect->acquire (); - /* Search the threads array for an empty slot to use */ for (info = threads; info < threads + NTHREADS; info++) ! if ((id = (DWORD) InterlockedExchange ((LPLONG) &info->avail, 0))) { #ifdef DEBUGGING if (info->__name) ! api_fatal ("name not NULL? id %p, i %d", id, info - threads); #endif goto out; } - else if (!info->id) - { - info->h = CreateThread (&sec_none_nih, 0, cygthread::stub, info, - CREATE_SUSPENDED, &info->id); - goto out; - } #ifdef DEBUGGING char buf[1024]; ! if (!GetEnvironmentVariable ("CYGWIN_NOFREERANGE_NOCHECK", buf, sizeof (buf))) api_fatal ("Overflowed cygwin thread pool"); #endif --- 137,157 ---- new (size_t) { cygthread *info; /* Search the threads array for an empty slot to use */ for (info = threads; info < threads + NTHREADS; info++) ! if (!InterlockedExchange (&info->inuse, 1)) { + /* available */ #ifdef DEBUGGING if (info->__name) ! api_fatal ("name not NULL? id %p, i %d", info->id, info - threads); #endif goto out; } #ifdef DEBUGGING char buf[1024]; ! if (!GetEnvironmentVariable ("CYGWIN_FREERANGE_NOCHECK", buf, sizeof (buf))) api_fatal ("Overflowed cygwin thread pool"); #endif *************** *** 161,190 **** out: - cygthread_protect->release (); return info; } cygthread::cygthread (LPTHREAD_START_ROUTINE start, LPVOID param, ! const char *name): func (start), arg (param) { - #ifdef DEBUGGGING - if (!__name) - api_fatal ("name should never be NULL"); - #endif thread_printf ("name %s, id %p", name, id); ! while (!h) ! #ifndef DEBUGGING ! low_priority_sleep (0); ! #else { ! system_printf ("waiting for %s<%p> to become active", __name, h); ! low_priority_sleep (0); } - #endif - __name = name; - if (!thread_sync) - ResumeThread (h); else ! SetEvent (thread_sync); } --- 160,187 ---- out: return info; } cygthread::cygthread (LPTHREAD_START_ROUTINE start, LPVOID param, ! const char *name): __name (name), ! func (start), arg (param) { thread_printf ("name %s, id %p", name, id); ! if (h) { ! while (!thread_sync) ! low_priority_sleep (0); ! SetEvent (thread_sync); ! thread_printf ("activated thread_sync %p", thread_sync); } else ! { ! stack_ptr = NULL; ! h = CreateThread (&sec_none_nih, 0, is_freerange ? simplestub : stub, ! this, 0, &id); ! if (!h) ! api_fatal ("thread handle not set - %p<%p>, %E", h, id); ! thread_printf ("created thread %p", h); ! } } *************** *** 241,247 **** { if (!is_freerange) ! SetEvent (*this); (void) TerminateThread (h, 0); (void) WaitForSingleObject (h, INFINITE); MEMORY_BASIC_INFORMATION m; --- 238,251 ---- { if (!is_freerange) ! { ! ResetEvent (*this); ! ResetEvent (thread_sync); ! } (void) TerminateThread (h, 0); (void) WaitForSingleObject (h, INFINITE); + CloseHandle (h); + + while (!stack_ptr) + low_priority_sleep (0); MEMORY_BASIC_INFORMATION m; *************** *** 249,281 **** (void) VirtualQuery (stack_ptr, &m, sizeof m); ! if (m.RegionSize) ! (void) VirtualFree (m.AllocationBase, m.RegionSize, MEM_DECOMMIT); ! if (is_freerange) ! is_freerange = false; ! else ! { ! CloseHandle (ev); ! CloseHandle (thread_sync); ! } ! CloseHandle (h); ! thread_sync = ev = h = NULL; __name = NULL; ! id = 0; } /* Detach the cygthread from the current thread. Note that the theory is that cygthreads are only associated with one thread. ! So, there should be no problems with multiple threads doing waits ! on the one cygthread. */ bool cygthread::detach (HANDLE sigwait) { bool signalled = false; ! if (avail) ! system_printf ("called detach on available thread %d?", avail); else { - DWORD avail = id; DWORD res; --- 253,280 ---- (void) VirtualQuery (stack_ptr, &m, sizeof m); ! if (!m.RegionSize) ! system_printf ("m.RegionSize 0? stack_ptr %p", stack_ptr); ! else if (!VirtualFree (m.AllocationBase, 0, MEM_RELEASE)) ! system_printf ("VirtualFree of allocation base %p<%p> failed, %E", ! stack_ptr, m.AllocationBase); ! h = NULL; __name = NULL; ! stack_ptr = NULL; ! (void) InterlockedExchange (&inuse, 0); /* No longer in use */ } /* Detach the cygthread from the current thread. Note that the theory is that cygthreads are only associated with one thread. ! So, there should be never be multiple threads doing waits ! on the same cygthread. */ bool cygthread::detach (HANDLE sigwait) { bool signalled = false; ! if (!inuse) ! system_printf ("called detach but inuse %d, thread %p?", inuse, id); else { DWORD res; *************** *** 297,305 **** else { terminate_thread (); set_sig_errno (EINTR); /* caller should be dealing with return values. */ - avail = 0; - signalled = true; } } --- 296,303 ---- else { + signalled = true; terminate_thread (); set_sig_errno (EINTR); /* caller should be dealing with return values. */ } } *************** *** 308,312 **** res, id); ! if (!avail) /* already handled */; else if (is_freerange) --- 306,310 ---- res, id); ! if (signalled) /* already handled */; else if (is_freerange) *************** *** 318,323 **** { ResetEvent (*this); ! /* Mark the thread as available by setting avail to non-zero */ ! (void) InterlockedExchange ((LPLONG) &this->avail, avail); } } --- 316,321 ---- { ResetEvent (*this); ! /* Mark the thread as available by setting inuse to zero */ ! (void) InterlockedExchange (&inuse, 0); } } Index: cygthread.h =================================================================== RCS file: /cvsroot/p4w/cygwin/winsup/cygwin/cygthread.h,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** cygthread.h 20 Feb 2003 17:55:33 -0000 1.1.1.1 --- cygthread.h 18 Apr 2003 20:27:47 -0000 1.1.1.1.2.1 *************** *** 9,13 **** class cygthread { ! DWORD avail; DWORD id; HANDLE h; --- 9,13 ---- class cygthread { ! LONG inuse; DWORD id; HANDLE h; Index: cygwin.din =================================================================== RCS file: /cvsroot/p4w/cygwin/winsup/cygwin/cygwin.din,v retrieving revision 1.1.1.1.2.3 retrieving revision 1.1.1.1.2.4 diff -C2 -d -r1.1.1.1.2.3 -r1.1.1.1.2.4 *** cygwin.din 21 Mar 2003 18:56:13 -0000 1.1.1.1.2.3 --- cygwin.din 18 Apr 2003 20:27:48 -0000 1.1.1.1.2.4 *************** *** 566,569 **** --- 566,570 ---- _getgroups = getgroups getgroups32 + gethostid getitimer getlogin *************** *** 1420,1423 **** --- 1421,1425 ---- wcscmp _wcscmp = wcscmp + wcscoll wcscpy wcscspn *************** *** 1436,1439 **** --- 1438,1442 ---- wcstombs _wcstombs = wcstombs + wcswidth wctob wctomb *************** *** 1441,1444 **** --- 1444,1448 ---- wctrans wctype + wcwidth wmemchr wmemcmp Index: dcrt0.cc =================================================================== RCS file: /cvsroot/p4w/cygwin/winsup/cygwin/dcrt0.cc,v retrieving revision 1.1.1.1.2.4 retrieving revision 1.1.1.1.2.5 diff -C2 -d -r1.1.1.1.2.4 -r1.1.1.1.2.5 *** dcrt0.cc 21 Mar 2003 18:56:14 -0000 1.1.1.1.2.4 --- dcrt0.cc 18 Apr 2003 20:27:48 -0000 1.1.1.1.2.5 *************** *** 632,636 **** cygthread::init (); ! pthread::initMainThread (!user_data->forkee); /* Initialize debug muto, if DLL is built with --enable-debugging. --- 632,636 ---- cygthread::init (); ! pthread::init_mainthread (!user_data->forkee); /* Initialize debug muto, if DLL is built with --enable-debugging. Index: dir.cc =================================================================== RCS file: /cvsroot/p4w/cygwin/winsup/cygwin/dir.cc,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** dir.cc 20 Feb 2003 17:55:33 -0000 1.1.1.1 --- dir.cc 18 Apr 2003 20:27:48 -0000 1.1.1.1.2.1 *************** *** 150,154 **** } ! extern "C" __off64_t telldir64 (DIR *dir) { --- 150,154 ---- } ! extern "C" _off64_t telldir64 (DIR *dir) { *************** *** 162,166 **** /* telldir */ ! extern "C" __off32_t telldir (DIR *dir) { --- 162,166 ---- /* telldir */ ! extern "C" _off_t telldir (DIR *dir) { *************** *** 169,173 **** extern "C" void ! seekdir64 (DIR *dir, __off64_t loc) { if (check_null_invalid_struct_errno (dir)) --- 169,173 ---- extern "C" void ! seekdir64 (DIR *dir, _off64_t loc) { if (check_null_invalid_struct_errno (dir)) *************** *** 181,187 **** /* seekdir */ extern "C" void ! seekdir (DIR *dir, __off32_t loc) { ! seekdir64 (dir, (__off64_t)loc); } --- 181,187 ---- /* seekdir */ extern "C" void ! seekdir (DIR *dir, _off_t loc) { ! seekdir64 (dir, (_off64_t)loc); } Index: dlmalloc.c =================================================================== RCS file: /cvsroot/p4w/cygwin/winsup/cygwin/dlmalloc.c,v retrieving revision 1.1.1.1.2.3 retrieving revision 1.1.1.1.2.4 diff -C2 -d -r1.1.1.1.2.3 -r1.1.1.1.2.4 *** dlmalloc.c 21 Mar 2003 18:56:14 -0000 1.1.1.1.2.3 --- dlmalloc.c 18 Apr 2003 20:27:48 -0000 1.1.1.1.2.4 *************** *** 29,51 **** * * $Log$ ! * Revision 1.1.1.1.2.3 2003/03/21 18:56:14 earnie ! * Merge from HEAD ! * ! * Revision 1.1... [truncated message content] |
From: <ea...@us...> - 2003-04-18 20:38:10
|
Update of /cvsroot/p4w/cygwin/winsup/cygwin/include In directory sc8-pr-cvs1:/tmp/cvs-serv17902/winsup/cygwin/include Modified Files: Tag: p4wposix limits.h Log Message: Sync with HEAD Index: limits.h =================================================================== RCS file: /cvsroot/p4w/cygwin/winsup/cygwin/include/limits.h,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** limits.h 20 Feb 2003 17:55:43 -0000 1.1.1.1 --- limits.h 18 Apr 2003 20:27:50 -0000 1.1.1.1.2.1 *************** *** 117,123 **** #endif ! /* Maximum number of iovcnt in a writev */ #undef IOV_MAX ! #define IOV_MAX (__INT_MAX__-1) /* Maximum size of ssize_t */ --- 117,123 ---- #endif ! /* Maximum number of iovcnt in a writev (an arbitrary number) */ #undef IOV_MAX ! #define IOV_MAX 1024 /* Maximum size of ssize_t */ |
From: <ea...@us...> - 2003-04-18 20:28:21
|
Update of /cvsroot/p4w/cygwin/newlib/libc/sys/cygwin/sys In directory sc8-pr-cvs1:/tmp/cvs-serv17902/newlib/libc/sys/cygwin/sys Modified Files: Tag: p4wposix dirent.h Log Message: Sync with HEAD Index: dirent.h =================================================================== RCS file: /cvsroot/p4w/cygwin/newlib/libc/sys/cygwin/sys/dirent.h,v retrieving revision 1.1.1.1.2.1 retrieving revision 1.1.1.1.2.2 diff -C2 -d -r1.1.1.1.2.1 -r1.1.1.1.2.2 *** dirent.h 21 Mar 2003 18:56:12 -0000 1.1.1.1.2.1 --- dirent.h 18 Apr 2003 20:27:46 -0000 1.1.1.1.2.2 *************** *** 34,38 **** struct dirent *__d_dirent; char *__d_dirname; /* directory name with trailing '*' */ ! __off32_t __d_position; /* used by telldir/seekdir */ unsigned long __d_dirhash; /* hash of directory name for use by readdir */ --- 34,38 ---- struct dirent *__d_dirent; char *__d_dirname; /* directory name with trailing '*' */ ! _off_t __d_position; /* used by telldir/seekdir */ unsigned long __d_dirhash; /* hash of directory name for use by readdir */ |
Update of /cvsroot/p4w/cygwin/newlib/libc/string In directory sc8-pr-cvs1:/tmp/cvs-serv17902/newlib/libc/string Modified Files: Tag: p4wposix Makefile.am Makefile.in wcstrings.tex Added Files: Tag: p4wposix wcscoll.c wcswidth.c wcwidth.c Log Message: Sync with HEAD --- NEW FILE: wcscoll.c --- /* FUNCTION <<wcscoll>>---locale specific wide-character string compare INDEX wcscoll ANSI_SYNOPSIS #include <wchar.h> int wcscoll(const wchar_t *<[stra]>, const wchar_t * <[strb]>); TRAD_SYNOPSIS #include <wchar.h> int wcscoll(<[stra]>, <[strb]>) wchar_t *<[stra]>; wchar_t *<[strb]>; DESCRIPTION <<wcscoll>> compares the wide-character string pointed to by <[stra]> to the wide-character string pointed to by <[strb]>, using an interpretation appropriate to the current <<LC_COLLATE>> state. The current implementation of <<wcscoll>> simply uses <<wcscmp>> and does not support any language-specific sorting. RETURNS If the first string is greater than the second string, <<wcscoll>> returns a number greater than zero. If the two strings are equivalent, <<wcscoll>> returns zero. If the first string is less than the second string, <<wcscoll>> returns a number less than zero. PORTABILITY <<wcscoll>> is ISO/IEC 9899/AMD1:1995 (ISO C). */ #include <_ansi.h> #include <wchar.h> int _DEFUN (wcscoll, (a, b), _CONST wchar_t *a _AND _CONST wchar_t *b) { return wcscmp (a, b); } --- NEW FILE: wcswidth.c --- /* FUNCTION <<wcswidth>>---number of column positions of a wide-character string INDEX wcswidth ANSI_SYNOPSIS #include <wchar.h> int wcswidth(const wchar_t *<[pwcs]>, size_t <[n]>); TRAD_SYNOPSIS #include <wchar.h> int wcswidth(<[pwcs]>, <[n]>) wchar_t *<[wc]>; size_t <[n]>; DESCRIPTION The <<wcswidth>> function shall determine the number of column positions required for n wide-character codes (or fewer than n wide-character codes if a null wide-character code is encountered before n wide-character codes are exhausted) in the string pointed to by pwcs. RETURNS The <<wcswidth>> function either shall return 0 (if pwcs points to a null wide-character code), or return the number of column positions to be occupied by the wide-character string pointed to by pwcs, or return -1 (if any of the first n wide-character codes in the wide-character string pointed to by pwcs is not a printable wide-character code). PORTABILITY <<wcswidth>> has been introduced in the Single UNIX Specification Volume 2 <<wcswidth>> has been marked as extension in Single UNIX Specification Volume 3 */ #include <_ansi.h> #include <wchar.h> int _DEFUN (wcswidth, (pwcs, n), _CONST wchar_t *pwcs _AND size_t n) { int w, len = 0; if (!pwcs || n == 0) return 0; do { if ((w = wcwidth (*pwcs)) < 0) return -1; len += w; } while (*pwcs++ && --n > 0); return len; } --- NEW FILE: wcwidth.c --- /* FUNCTION <<wcwidth>>---number of column positions of a wide-character code INDEX wcwidth ANSI_SYNOPSIS #include <wchar.h> int wcwidth(const wchar_t <[wc]>); TRAD_SYNOPSIS #include <wchar.h> int wcwidth(<[wc]>) wchar_t *<[wc]>; DESCRIPTION The <<wcwidth>> function shall determine the number of column positions required for the wide character wc. The application shall ensure that the value of wc is a character representable as a wchar_t, and is a wide-character code corresponding to a valid character in the current locale. RETURNS The <<wcwidth>> function shall either return 0 (if wc is a null wide-character code), or return the number of column positions to be occupied by the wide-character code wc, or return -1 (if wc does not correspond to a printable wide-character code). The current implementation of <<wcwidth>> simply sets the width of all printable characters to 1 since newlib has no character tables around. PORTABILITY <<wcwidth>> has been introduced in the Single UNIX Specification Volume 2 <<wcwidth>> has been marked as extension in Single UNIX Specification Volume 3 */ #include <_ansi.h> #include <wchar.h> #include <wctype.h> int _DEFUN (wcwidth, (wc), _CONST wchar_t wc) { if (iswprint (wc)) return 1; if (iswcntrl (wc) || wc == L'\0') return 0; return -1; } Index: Makefile.am =================================================================== RCS file: /cvsroot/p4w/cygwin/newlib/libc/string/Makefile.am,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** Makefile.am 20 Feb 2003 17:54:32 -0000 1.1.1.1 --- Makefile.am 18 Apr 2003 20:27:45 -0000 1.1.1.1.2.1 *************** *** 49,52 **** --- 49,53 ---- wcschr.c \ wcscmp.c \ + wcscoll.c \ wcscpy.c \ wcscspn.c \ *************** *** 61,64 **** --- 62,67 ---- wcsspn.c \ wcsstr.c \ + wcswidth.c \ + wcwidth.c \ wmemchr.c \ wmemcmp.c \ *************** *** 105,112 **** strcasecmp.def strncasecmp.def strlwr.def strupr.def memccpy.def \ mempcpy.def \ ! wcscat.def wcschr.def wcscmp.def wcscpy.def wcscspn.def \ wcslcat.def wcslcpy.def wcslen.def wcsncat.def wcsncmp.def \ wcsncpy.def wcspbrk.def wcsrchr.def wcsspn.def wcsstr.def \ ! wmemchr.def wmemcmp.def wmemcpy.def wmemmove.def wmemset.def SUFFIXES = .def --- 108,117 ---- strcasecmp.def strncasecmp.def strlwr.def strupr.def memccpy.def \ mempcpy.def \ ! wcscat.def wcschr.def wcscmp.def wcscoll.def \ ! wcscpy.def wcscspn.def \ wcslcat.def wcslcpy.def wcslen.def wcsncat.def wcsncmp.def \ wcsncpy.def wcspbrk.def wcsrchr.def wcsspn.def wcsstr.def \ ! wcswidth.def wcwidth.def wmemchr.def wmemcmp.def wmemcpy.def \ ! wmemmove.def wmemset.def SUFFIXES = .def Index: Makefile.in =================================================================== RCS file: /cvsroot/p4w/cygwin/newlib/libc/string/Makefile.in,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** Makefile.in 20 Feb 2003 17:54:32 -0000 1.1.1.1 --- Makefile.in 18 Apr 2003 20:27:46 -0000 1.1.1.1.2.1 *************** *** 155,158 **** --- 155,159 ---- wcschr.c \ wcscmp.c \ + wcscoll.c \ wcscpy.c \ wcscspn.c \ *************** *** 167,170 **** --- 168,173 ---- wcsspn.c \ wcsstr.c \ + wcswidth.c \ + wcwidth.c \ wmemchr.c \ wmemcmp.c \ *************** *** 203,210 **** strcasecmp.def strncasecmp.def strlwr.def strupr.def memccpy.def \ mempcpy.def \ ! wcscat.def wcschr.def wcscmp.def wcscpy.def wcscspn.def \ wcslcat.def wcslcpy.def wcslen.def wcsncat.def wcsncmp.def \ wcsncpy.def wcspbrk.def wcsrchr.def wcsspn.def wcsstr.def \ ! wmemchr.def wmemcmp.def wmemcpy.def wmemmove.def wmemset.def --- 206,215 ---- strcasecmp.def strncasecmp.def strlwr.def strupr.def memccpy.def \ mempcpy.def \ ! wcscat.def wcschr.def wcscmp.def wcscoll.def \ ! wcscpy.def wcscspn.def \ wcslcat.def wcslcpy.def wcslen.def wcsncat.def wcsncmp.def \ wcsncpy.def wcspbrk.def wcsrchr.def wcsspn.def wcsstr.def \ ! wcswidth.def wcwidth.def wmemchr.def wmemcmp.def wmemcpy.def \ ! wmemmove.def wmemset.def *************** *** 240,251 **** @USE_LIBTOOL_FALSE@strupr.$(OBJEXT) strxfrm.$(OBJEXT) strstr.$(OBJEXT) \ @USE_LIBTOOL_FALSE@swab.$(OBJEXT) u_strerr.$(OBJEXT) wcscat.$(OBJEXT) \ ! @USE_LIBTOOL_FALSE@wcschr.$(OBJEXT) wcscmp.$(OBJEXT) wcscpy.$(OBJEXT) \ ! @USE_LIBTOOL_FALSE@wcscspn.$(OBJEXT) wcslcat.$(OBJEXT) \ @USE_LIBTOOL_FALSE@wcslcpy.$(OBJEXT) wcslen.$(OBJEXT) wcsncat.$(OBJEXT) \ @USE_LIBTOOL_FALSE@wcsncmp.$(OBJEXT) wcsncpy.$(OBJEXT) \ @USE_LIBTOOL_FALSE@wcspbrk.$(OBJEXT) wcsrchr.$(OBJEXT) wcsspn.$(OBJEXT) \ ! @USE_LIBTOOL_FALSE@wcsstr.$(OBJEXT) wmemchr.$(OBJEXT) wmemcmp.$(OBJEXT) \ ! @USE_LIBTOOL_FALSE@wmemcpy.$(OBJEXT) wmemmove.$(OBJEXT) \ ! @USE_LIBTOOL_FALSE@wmemset.$(OBJEXT) LTLIBRARIES = $(noinst_LTLIBRARIES) --- 245,256 ---- @USE_LIBTOOL_FALSE@strupr.$(OBJEXT) strxfrm.$(OBJEXT) strstr.$(OBJEXT) \ @USE_LIBTOOL_FALSE@swab.$(OBJEXT) u_strerr.$(OBJEXT) wcscat.$(OBJEXT) \ ! @USE_LIBTOOL_FALSE@wcschr.$(OBJEXT) wcscmp.$(OBJEXT) wcscoll.$(OBJEXT) \ ! @USE_LIBTOOL_FALSE@wcscpy.$(OBJEXT) wcscspn.$(OBJEXT) wcslcat.$(OBJEXT) \ @USE_LIBTOOL_FALSE@wcslcpy.$(OBJEXT) wcslen.$(OBJEXT) wcsncat.$(OBJEXT) \ @USE_LIBTOOL_FALSE@wcsncmp.$(OBJEXT) wcsncpy.$(OBJEXT) \ @USE_LIBTOOL_FALSE@wcspbrk.$(OBJEXT) wcsrchr.$(OBJEXT) wcsspn.$(OBJEXT) \ ! @USE_LIBTOOL_FALSE@wcsstr.$(OBJEXT) wcswidth.$(OBJEXT) wcwidth.$(OBJEXT) \ ! @USE_LIBTOOL_FALSE@wmemchr.$(OBJEXT) wmemcmp.$(OBJEXT) wmemcpy.$(OBJEXT) \ ! @USE_LIBTOOL_FALSE@wmemmove.$(OBJEXT) wmemset.$(OBJEXT) LTLIBRARIES = $(noinst_LTLIBRARIES) *************** *** 259,267 **** @USE_LIBTOOL_TRUE@strrchr.lo strsep.lo strspn.lo strtok.lo strtok_r.lo \ @USE_LIBTOOL_TRUE@strupr.lo strxfrm.lo strstr.lo swab.lo u_strerr.lo \ ! @USE_LIBTOOL_TRUE@wcscat.lo wcschr.lo wcscmp.lo wcscpy.lo wcscspn.lo \ ! @USE_LIBTOOL_TRUE@wcslcat.lo wcslcpy.lo wcslen.lo wcsncat.lo wcsncmp.lo \ ! @USE_LIBTOOL_TRUE@wcsncpy.lo wcspbrk.lo wcsrchr.lo wcsspn.lo wcsstr.lo \ ! @USE_LIBTOOL_TRUE@wmemchr.lo wmemcmp.lo wmemcpy.lo wmemmove.lo \ ! @USE_LIBTOOL_TRUE@wmemset.lo CFLAGS = @CFLAGS@ COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) --- 264,272 ---- @USE_LIBTOOL_TRUE@strrchr.lo strsep.lo strspn.lo strtok.lo strtok_r.lo \ @USE_LIBTOOL_TRUE@strupr.lo strxfrm.lo strstr.lo swab.lo u_strerr.lo \ ! @USE_LIBTOOL_TRUE@wcscat.lo wcschr.lo wcscmp.lo wcscoll.lo wcscpy.lo \ ! @USE_LIBTOOL_TRUE@wcscspn.lo wcslcat.lo wcslcpy.lo wcslen.lo wcsncat.lo \ ! @USE_LIBTOOL_TRUE@wcsncmp.lo wcsncpy.lo wcspbrk.lo wcsrchr.lo wcsspn.lo \ ! @USE_LIBTOOL_TRUE@wcsstr.lo wcswidth.lo wcwidth.lo wmemchr.lo wmemcmp.lo \ ! @USE_LIBTOOL_TRUE@wmemcpy.lo wmemmove.lo wmemset.lo CFLAGS = @CFLAGS@ COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) Index: wcstrings.tex =================================================================== RCS file: /cvsroot/p4w/cygwin/newlib/libc/string/wcstrings.tex,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** wcstrings.tex 20 Feb 2003 17:54:33 -0000 1.1.1.1 --- wcstrings.tex 18 Apr 2003 20:27:46 -0000 1.1.1.1.2.1 *************** *** 15,18 **** --- 15,19 ---- * wcschr:: Search for wide-character in string * wcscmp:: Wide-character string compare + * wcscoll:: Locale specific Wide-character string compare * wcscpy:: Copy wide-character string * wcscspn:: Count wide-chars not in string *************** *** 27,30 **** --- 28,33 ---- * wcsspn:: Find initial match in wide-character string * wcsstr:: Find wide-character string segment + * wcswidth:: Number of column positions of a wide-character string + * wcwidth:: Number of column positions of a wide-character code @end menu *************** *** 54,57 **** --- 57,63 ---- @page + @include string/wcscoll.def + + @page @include string/wcscpy.def *************** *** 88,90 **** --- 94,102 ---- @page @include string/wcsstr.def + + @page + @include string/wcswidth.def + + @page + @include string/wcwidth.def |
From: <ea...@us...> - 2003-04-18 20:28:18
|
Update of /cvsroot/p4w/cygwin/newlib/libc/stdio In directory sc8-pr-cvs1:/tmp/cvs-serv17902/newlib/libc/stdio Modified Files: Tag: p4wposix sscanf.c vfscanf.c Log Message: Sync with HEAD Index: sscanf.c =================================================================== RCS file: /cvsroot/p4w/cygwin/newlib/libc/stdio/sscanf.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** sscanf.c 20 Feb 2003 17:54:30 -0000 1.1.1.1 --- sscanf.c 18 Apr 2003 20:27:42 -0000 1.1.1.1.2.1 *************** *** 153,163 **** .Modifier Type(s) ! . h d, i, o, u, x convert input to short, . store in short object . . h D, I, O, U, X no effect ! . e, f, c, s, n, p . ! . l d, i, o, u, x convert input to long, . store in long object . --- 153,166 ---- .Modifier Type(s) ! . hh d, i, o, u, x, n convert input to char, ! . store in char object ! . ! . h d, i, o, u, x, n convert input to short, . store in short object . . h D, I, O, U, X no effect ! . e, f, c, s, p . ! . l d, i, o, u, x, n convert input to long, . store in long object . *************** *** 166,172 **** . . l D, I, O, U, X no effect ! . c, s, n, p . ! . L d, i, o, u, x convert to long double, . store in long double . --- 169,181 ---- . . l D, I, O, U, X no effect ! . c, s, p . ! . ll d, i, o, u, x, n convert to long long, ! . store in long long ! . ! . L d, i, o, u, x, n convert to long long, ! . store in long long ! . ! . L e, f, g, E, G convert to long double, . store in long double . Index: vfscanf.c =================================================================== RCS file: /cvsroot/p4w/cygwin/newlib/libc/stdio/vfscanf.c,v retrieving revision 1.1.1.1.2.1 retrieving revision 1.1.1.1.2.2 diff -C2 -d -r1.1.1.1.2.1 -r1.1.1.1.2.2 *** vfscanf.c 21 Mar 2003 18:56:11 -0000 1.1.1.1.2.1 --- vfscanf.c 18 Apr 2003 20:27:44 -0000 1.1.1.1.2.2 *************** *** 152,160 **** #define LONG 0x01 /* l: long or double */ ! #define LONGDBL 0x02 /* L: long double or long long */ #define SHORT 0x04 /* h: short */ ! #define SUPPRESS 0x08 /* suppress assignment */ ! #define POINTER 0x10 /* weird %p pointer (`fake hex') */ ! #define NOSKIP 0x20 /* do not skip blanks */ /* --- 152,161 ---- #define LONG 0x01 /* l: long or double */ ! #define LONGDBL 0x02 /* L/ll: long double or long long */ #define SHORT 0x04 /* h: short */ ! #define CHAR 0x08 /* hh: 8 bit integer */ ! #define SUPPRESS 0x10 /* suppress assignment */ ! #define POINTER 0x20 /* weird %p pointer (`fake hex') */ ! #define NOSKIP 0x40 /* do not skip blanks */ /* *************** *** 164,175 **** */ ! #define SIGNOK 0x40 /* +/- is (still) legal */ ! #define NDIGITS 0x80 /* no digits detected */ ! #define DPTOK 0x100 /* (float) decimal point is still legal */ ! #define EXPOK 0x200 /* (float) exponent (e+3, etc) still legal */ ! #define PFXOK 0x100 /* 0x prefix is (still) legal */ ! #define NZDIGITS 0x200 /* no zero digits detected */ /* --- 165,176 ---- */ ! #define SIGNOK 0x80 /* +/- is (still) legal */ ! #define NDIGITS 0x100 /* no digits detected */ ! #define DPTOK 0x200 /* (float) decimal point is still legal */ ! #define EXPOK 0x400 /* (float) exponent (e+3, etc) still legal */ ! #define PFXOK 0x200 /* 0x prefix is (still) legal */ ! #define NZDIGITS 0x400 /* no zero digits detected */ /* *************** *** 263,266 **** --- 264,268 ---- #endif + char *cp; short *sp; int *ip; *************** *** 336,340 **** goto again; case 'l': ! flags |= LONG; goto again; case 'L': --- 338,348 ---- goto again; case 'l': ! if (*fmt == 'l') /* Check for 'll' = long long (SUSv3) */ ! { ! ++fmt; ! flags |= LONGDBL; ! } ! else ! flags |= LONG; goto again; case 'L': *************** *** 342,346 **** goto again; case 'h': ! flags |= SHORT; goto again; --- 350,360 ---- goto again; case 'h': ! if (*fmt == 'h') /* Check for 'hh' = char int (SUSv3) */ ! { ! ++fmt; ! flags |= CHAR; ! } ! else ! flags |= SHORT; goto again; *************** *** 441,445 **** if (flags & SUPPRESS) /* ??? */ continue; ! if (flags & SHORT) { sp = va_arg (ap, short *); --- 455,464 ---- if (flags & SUPPRESS) /* ??? */ continue; ! if (flags & CHAR) ! { ! cp = va_arg (ap, char *); ! *cp = nread; ! } ! else if (flags & SHORT) { sp = va_arg (ap, short *); *************** *** 809,812 **** --- 828,836 ---- if (flags & POINTER) *(va_arg (ap, _PTR *)) = (_PTR) (unsigned _POINTER_INT) res; + else if (flags & CHAR) + { + cp = va_arg (ap, char *); + *cp = res; + } else if (flags & SHORT) { |
From: <ea...@us...> - 2003-04-18 20:28:15
|
Update of /cvsroot/p4w/cygwin/newlib/libc/machine/sh In directory sc8-pr-cvs1:/tmp/cvs-serv17902/newlib/libc/machine/sh Modified Files: Tag: p4wposix memset.S Log Message: Sync with HEAD Index: memset.S =================================================================== RCS file: /cvsroot/p4w/cygwin/newlib/libc/machine/sh/memset.S,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** memset.S 20 Feb 2003 17:54:26 -0000 1.1.1.1 --- memset.S 18 Apr 2003 20:27:41 -0000 1.1.1.1.2.1 *************** *** 13,49 **** #if __SHMEDIA__ pta/l multiquad, tr0 - andi r2, 7, r22 ptabs r18, tr2 - mshflo.b r3,r3,r3 - add r4, r22, r23 - mperm.w r3, r63, r3 // Fill pattern now in every byte of r3 ! movi 8, r9 ! bgtu/u r23, r9, tr0 // multiquad ! ldlo.q r2, 0, r7 ! shlli r4, 2, r4 ! movi -1, r8 ! SHHI r8, r4, r8 ! SHHI r8, r4, r8 ! mcmv r7, r8, r3 ! stlo.q r2, 0, r3 blink tr2, r63 multiquad: pta/l lastquad, tr0 stlo.q r2, 0, r3 ! shlri r23, 3, r24 ! add r2, r4, r5 ! beqi/u r24, 1, tr0 // lastquad pta/l loop, tr1 - sub r2, r22, r25 - andi r5, -8, r20 // calculate end address and addi r20, -7*8, r8 // loop end address; This might overflow, so we need // to use a different test before we start the loop ! bge/u r24, r9, tr1 // loop st.q r25, 8, r3 st.q r20, -8, r3 - shlri r24, 1, r24 beqi/u r24, 1, tr0 // lastquad st.q r25, 16, r3 --- 13,71 ---- #if __SHMEDIA__ pta/l multiquad, tr0 ptabs r18, tr2 ! andi r2, -8, r25 ! add r2, r4, r5 ! addi r5, -1, r20 // calculate end address. ! andi r20, -8, r20 ! cmveq r4, r25, r20 ! bne/u r25, r20, tr0 // multiquad ! ! This sequence could clobber volatile objects that are in the same ! ! quadword as a very short char array. ! ! ldlo.q r2, 0, r7 ! ! shlli r4, 2, r4 ! ! movi -1, r8 ! ! SHHI r8, r4, r8 ! ! SHHI r8, r4, r8 ! ! mcmv r7, r8, r3 ! ! stlo.q r2, 0, r3 ! ! pta/l setlongs, tr0 ! movi 4, r8 ! bgeu/u r4, r8, tr0 ! pta/l endset, tr0 ! beqi/u r4, 0, tr0 ! st.b r2, 0, r3 ! beqi/u r4, 1, tr0 ! nop ! st.b r2, 1, r3 ! beqi/l r4, 2, tr0 ! st.b r2,2,r3 ! endset: blink tr2, r63 ! setlongs: ! mshflo.b r3, r3, r3 ! mperm.w r3, r63, r3 // Fill pattern now in every byte of r3 ! stlo.l r2, 0, r3 ! nop ! nop ! sthi.l r5, -1, r3 blink tr2, r63 multiquad: + mshflo.b r3, r3, r3 + mperm.w r3, r63, r3 // Fill pattern now in every byte of r3 pta/l lastquad, tr0 stlo.q r2, 0, r3 ! sub r20, r25, r24 ! movi 64, r9 ! beqi/u r24, 8, tr0 // lastquad pta/l loop, tr1 addi r20, -7*8, r8 // loop end address; This might overflow, so we need // to use a different test before we start the loop ! bgeu/u r24, r9, tr1// loop st.q r25, 8, r3 + shlri r24, 4, r24 st.q r20, -8, r3 beqi/u r24, 1, tr0 // lastquad st.q r25, 16, r3 |
Update of /cvsroot/p4w/cygwin/newlib/libc/machine/powerpc In directory sc8-pr-cvs1:/tmp/cvs-serv17902/newlib/libc/machine/powerpc Modified Files: Tag: p4wposix atosfix16.c atosfix32.c atosfix64.c atoufix16.c atoufix32.c atoufix64.c simdldtoa.c strtosfix16.c strtosfix32.c strtosfix64.c strtoufix16.c strtoufix32.c strtoufix64.c ufix64toa.c Log Message: Sync with HEAD Index: atosfix16.c =================================================================== RCS file: /cvsroot/p4w/cygwin/newlib/libc/machine/powerpc/atosfix16.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** atosfix16.c 20 Feb 2003 17:54:25 -0000 1.1.1.1 --- atosfix16.c 18 Apr 2003 20:27:41 -0000 1.1.1.1.2.1 *************** *** 80,83 **** --- 80,85 ---- */ + #ifdef __SPE__ + #include <stdlib.h> #include <_ansi.h> *************** *** 101,102 **** --- 103,105 ---- #endif /* !_REENT_ONLY */ + #endif /* __SPE__ */ Index: atosfix32.c =================================================================== RCS file: /cvsroot/p4w/cygwin/newlib/libc/machine/powerpc/atosfix32.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** atosfix32.c 20 Feb 2003 17:54:25 -0000 1.1.1.1 --- atosfix32.c 18 Apr 2003 20:27:41 -0000 1.1.1.1.2.1 *************** *** 3,6 **** --- 3,8 ---- */ + #ifdef __SPE__ + #include <stdlib.h> #include <_ansi.h> *************** *** 24,25 **** --- 26,28 ---- #endif /* !_REENT_ONLY */ + #endif /* __SPE__ */ Index: atosfix64.c =================================================================== RCS file: /cvsroot/p4w/cygwin/newlib/libc/machine/powerpc/atosfix64.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** atosfix64.c 20 Feb 2003 17:54:25 -0000 1.1.1.1 --- atosfix64.c 18 Apr 2003 20:27:41 -0000 1.1.1.1.2.1 *************** *** 3,6 **** --- 3,8 ---- */ + #ifdef __SPE__ + #include <stdlib.h> #include <_ansi.h> *************** *** 24,25 **** --- 26,28 ---- #endif /* !_REENT_ONLY */ + #endif /* __SPE__ */ Index: atoufix16.c =================================================================== RCS file: /cvsroot/p4w/cygwin/newlib/libc/machine/powerpc/atoufix16.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** atoufix16.c 20 Feb 2003 17:54:25 -0000 1.1.1.1 --- atoufix16.c 18 Apr 2003 20:27:41 -0000 1.1.1.1.2.1 *************** *** 80,83 **** --- 80,85 ---- */ + #ifdef __SPE__ + #include <stdlib.h> #include <_ansi.h> *************** *** 101,102 **** --- 103,105 ---- #endif /* !_REENT_ONLY */ + #endif /* __SPE__ */ Index: atoufix32.c =================================================================== RCS file: /cvsroot/p4w/cygwin/newlib/libc/machine/powerpc/atoufix32.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** atoufix32.c 20 Feb 2003 17:54:25 -0000 1.1.1.1 --- atoufix32.c 18 Apr 2003 20:27:41 -0000 1.1.1.1.2.1 *************** *** 3,6 **** --- 3,8 ---- */ + #ifdef __SPE__ + #include <stdlib.h> #include <_ansi.h> *************** *** 24,25 **** --- 26,28 ---- #endif /* !_REENT_ONLY */ + #endif /* __SPE__ */ Index: atoufix64.c =================================================================== RCS file: /cvsroot/p4w/cygwin/newlib/libc/machine/powerpc/atoufix64.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** atoufix64.c 20 Feb 2003 17:54:25 -0000 1.1.1.1 --- atoufix64.c 18 Apr 2003 20:27:41 -0000 1.1.1.1.2.1 *************** *** 3,6 **** --- 3,8 ---- */ + #ifdef __SPE__ + #include <stdlib.h> #include <_ansi.h> *************** *** 24,25 **** --- 26,28 ---- #endif /* !_REENT_ONLY */ + #endif /* __SPE__ */ Index: simdldtoa.c =================================================================== RCS file: /cvsroot/p4w/cygwin/newlib/libc/machine/powerpc/simdldtoa.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** simdldtoa.c 20 Feb 2003 17:54:25 -0000 1.1.1.1 --- simdldtoa.c 18 Apr 2003 20:27:41 -0000 1.1.1.1.2.1 *************** *** 4,7 **** --- 4,9 ---- */ + #ifdef __SPE__ + #include <_ansi.h> #include <reent.h> *************** *** 3719,3723 **** } ! ! ! --- 3721,3723 ---- } ! #endif /* __SPE__ */ Index: strtosfix16.c =================================================================== RCS file: /cvsroot/p4w/cygwin/newlib/libc/machine/powerpc/strtosfix16.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** strtosfix16.c 20 Feb 2003 17:54:25 -0000 1.1.1.1 --- strtosfix16.c 18 Apr 2003 20:27:41 -0000 1.1.1.1.2.1 *************** *** 107,110 **** --- 107,112 ---- */ + #ifdef __SPE__ + #include <_ansi.h> #include <limits.h> *************** *** 205,206 **** --- 207,210 ---- #endif + + #endif /* __SPE__ */ Index: strtosfix32.c =================================================================== RCS file: /cvsroot/p4w/cygwin/newlib/libc/machine/powerpc/strtosfix32.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** strtosfix32.c 20 Feb 2003 17:54:25 -0000 1.1.1.1 --- strtosfix32.c 18 Apr 2003 20:27:41 -0000 1.1.1.1.2.1 *************** *** 1,2 **** --- 1,4 ---- + #ifdef __SPE__ + #include <_ansi.h> #include <limits.h> *************** *** 99,100 **** --- 101,104 ---- #endif + + #endif /* __SPE__ */ Index: strtosfix64.c =================================================================== RCS file: /cvsroot/p4w/cygwin/newlib/libc/machine/powerpc/strtosfix64.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** strtosfix64.c 20 Feb 2003 17:54:25 -0000 1.1.1.1 --- strtosfix64.c 18 Apr 2003 20:27:41 -0000 1.1.1.1.2.1 *************** *** 1,2 **** --- 1,4 ---- + #ifdef __SPE__ + #include <_ansi.h> #include <limits.h> *************** *** 112,113 **** --- 114,117 ---- #endif + + #endif /* __SPE__ */ Index: strtoufix16.c =================================================================== RCS file: /cvsroot/p4w/cygwin/newlib/libc/machine/powerpc/strtoufix16.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** strtoufix16.c 20 Feb 2003 17:54:25 -0000 1.1.1.1 --- strtoufix16.c 18 Apr 2003 20:27:41 -0000 1.1.1.1.2.1 *************** *** 106,109 **** --- 106,111 ---- */ + #ifdef __SPE__ + #include <_ansi.h> #include <limits.h> *************** *** 196,197 **** --- 198,201 ---- #endif + + #endif /* __SPE__ */ Index: strtoufix32.c =================================================================== RCS file: /cvsroot/p4w/cygwin/newlib/libc/machine/powerpc/strtoufix32.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** strtoufix32.c 20 Feb 2003 17:54:25 -0000 1.1.1.1 --- strtoufix32.c 18 Apr 2003 20:27:41 -0000 1.1.1.1.2.1 *************** *** 1,2 **** --- 1,4 ---- + #ifdef __SPE__ + #include <_ansi.h> #include <limits.h> *************** *** 96,97 **** --- 98,101 ---- #endif + + #endif /* __SPE__ */ Index: strtoufix64.c =================================================================== RCS file: /cvsroot/p4w/cygwin/newlib/libc/machine/powerpc/strtoufix64.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** strtoufix64.c 20 Feb 2003 17:54:25 -0000 1.1.1.1 --- strtoufix64.c 18 Apr 2003 20:27:41 -0000 1.1.1.1.2.1 *************** *** 1,2 **** --- 1,4 ---- + #ifdef __SPE__ + #include <_ansi.h> #include <limits.h> *************** *** 112,115 **** #endif ! ! --- 114,116 ---- #endif ! #endif /* __SPE__ */ Index: ufix64toa.c =================================================================== RCS file: /cvsroot/p4w/cygwin/newlib/libc/machine/powerpc/ufix64toa.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** ufix64toa.c 20 Feb 2003 17:54:25 -0000 1.1.1.1 --- ufix64toa.c 18 Apr 2003 20:27:41 -0000 1.1.1.1.2.1 *************** *** 7,10 **** --- 7,12 ---- */ + #ifdef __SPE__ + #include <_ansi.h> #include <limits.h> *************** *** 87,88 **** --- 89,91 ---- } + #endif /* __SPE__ */ |
Update of /cvsroot/p4w/cygwin/libiberty In directory sc8-pr-cvs1:/tmp/cvs-serv17902/libiberty Modified Files: Tag: p4wposix ChangeLog Makefile.in argv.c calloc.c config.in configure configure.in copysign.c floatformat.c functions.texi getcwd.c getopt.c hashtab.c maint-tool memchr.c memcmp.c memcpy.c memmove.c memset.c regex.c rename.c sigsetmask.c strcasecmp.c strdup.c strncasecmp.c strncmp.c strsignal.c strstr.c vfprintf.c vprintf.c vsprintf.c xatexit.c xmalloc.c Added Files: Tag: p4wposix snprintf.c stpcpy.c stpncpy.c vsnprintf.c Log Message: Sync with HEAD --- NEW FILE: snprintf.c --- /* Implement the snprintf function. Copyright (C) 2003 Free Software Foundation, Inc. Written by Kaveh R. Ghazi <gh...@ca...>. This file is part of the libiberty library. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. As a special exception, if you link this library with files compiled with a GNU compiler to produce an executable, this does not cause the resulting executable to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU General Public License. */ /* @deftypefn Supplemental int snprintf (char *@var{buf}, size_t @var{n}, const char *@var{format}, ...) This function is similar to sprintf, but it will print at most @var{n} characters. On error the return value is -1, otherwise it returns the number of characters that would have been printed had @var{n} been sufficiently large, regardless of the actual value of @var{n}. Note some pre-C99 system libraries do not implement this correctly so users cannot generally rely on the return value if the system version of this function is used. @end deftypefn */ #include "ansidecl.h" #ifdef ANSI_PROTOTYPES #include <stdarg.h> #include <stddef.h> #else #include <varargs.h> #define size_t unsigned long #endif int vsnprintf PARAMS ((char *, size_t, const char *, va_list)); int snprintf VPARAMS ((char *s, size_t n, const char *format, ...)) { int result; VA_OPEN (ap, format); VA_FIXEDARG (ap, char *, s); VA_FIXEDARG (ap, size_t, n); VA_FIXEDARG (ap, const char *, format); result = vsnprintf (s, n, format, ap); VA_CLOSE (ap); return result; } --- NEW FILE: stpcpy.c --- /* Implement the stpcpy function. Copyright (C) 2003 Free Software Foundation, Inc. Written by Kaveh R. Ghazi <gh...@ca...>. This file is part of the libiberty library. Libiberty is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. Libiberty is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with libiberty; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* @deftypefn Supplemental char* stpcpy (char *@var{dst}, const char *@var{src}) Copies the string @var{src} into @var{dst}. Returns a pointer to @var{dst} + strlen(@var{src}). @end deftypefn */ #include <ansidecl.h> #ifdef ANSI_PROTOTYPES #include <stddef.h> #else #define size_t unsigned long #endif extern size_t strlen PARAMS ((const char *)); extern PTR memcpy PARAMS ((PTR, const PTR, size_t)); char * stpcpy (dst, src) char *dst; const char *src; { const size_t len = strlen (src); return (char *) memcpy (dst, src, len + 1) + len; } --- NEW FILE: stpncpy.c --- /* Implement the stpncpy function. Copyright (C) 2003 Free Software Foundation, Inc. Written by Kaveh R. Ghazi <gh...@ca...>. This file is part of the libiberty library. Libiberty is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. Libiberty is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with libiberty; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* @deftypefn Supplemental char* stpncpy (char *@var{dst}, const char *@var{src}, size_t @var{len}) Copies the string @var{src} into @var{dst}, copying exactly @var{len} and padding with zeros if necessary. If @var{len} < strlen(@var{src}) then return @var{dst} + @var{len}, otherwise returns @var{dst} + strlen(@var{src}). @end deftypefn */ #include <ansidecl.h> #ifdef ANSI_PROTOTYPES #include <stddef.h> #else #define size_t unsigned long #endif extern size_t strlen PARAMS ((const char *)); extern char *strncpy PARAMS ((char *, const char *, size_t)); char * stpncpy (dst, src, len) char *dst; const char *src; size_t len; { size_t n = strlen (src); if (n > len) n = len; return strncpy (dst, src, len) + n; } --- NEW FILE: vsnprintf.c --- /* Implement the vsnprintf function. Copyright (C) 2003 Free Software Foundation, Inc. Written by Kaveh R. Ghazi <gh...@ca...>. This file is part of the libiberty library. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. As a special exception, if you link this library with files compiled with a GNU compiler to produce an executable, this does not cause the resulting executable to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU General Public License. */ /* @deftypefn Supplemental int vsnprintf (char *@var{buf}, size_t @var{n}, const char *@var{format}, va_list @var{ap}) This function is similar to vsprintf, but it will print at most @var{n} characters. On error the return value is -1, otherwise it returns the number of characters that would have been printed had @var{n} been sufficiently large, regardless of the actual value of @var{n}. Note some pre-C99 system libraries do not implement this correctly so users cannot generally rely on the return value if the system version of this function is used. @end deftypefn */ #include "config.h" #include "ansidecl.h" #ifdef ANSI_PROTOTYPES #include <stdarg.h> #else #include <varargs.h> #endif #ifdef HAVE_STRING_H #include <string.h> #endif #ifdef HAVE_STDLIB_H #include <stdlib.h> #endif #include "libiberty.h" /* This implementation relies on a working vasprintf. */ int vsnprintf (s, n, format, ap) char * s; size_t n; const char *format; va_list ap; { char *buf = 0; int result = vasprintf (&buf, format, ap); if (!buf) return -1; if (result < 0) { free (buf); return -1; } result = strlen (buf); if (n > 0) { strncpy (s, buf, n); if (n - 1 < (size_t) result) s[n - 1] = 0; } free (buf); return result; } #ifdef TEST /* Set the buffer to a known state. */ #define CLEAR(BUF) do { memset ((BUF), 'X', sizeof (BUF)); (BUF)[14] = '\0'; } while (0) /* For assertions. */ #define VERIFY(P) do { if (!(P)) abort(); } while (0) static int ATTRIBUTE_PRINTF_3 checkit VPARAMS ((char *s, size_t n, const char *format, ...)) { int result; VA_OPEN (ap, format); VA_FIXEDARG (ap, char *, s); VA_FIXEDARG (ap, size_t, n); VA_FIXEDARG (ap, const char *, format); result = vsnprintf (s, n, format, ap); VA_CLOSE (ap); return result; } extern int main PARAMS ((void)); int main () { char buf[128]; int status; CLEAR (buf); status = checkit (buf, 10, "%s:%d", "foobar", 9); VERIFY (status==8 && strcmp (buf, "foobar:9") == 0); CLEAR (buf); status = checkit (buf, 9, "%s:%d", "foobar", 9); VERIFY (status==8 && strcmp (buf, "foobar:9") == 0); CLEAR (buf); status = checkit (buf, 8, "%s:%d", "foobar", 9); VERIFY (status==8 && strcmp (buf, "foobar:") == 0); CLEAR (buf); status = checkit (buf, 7, "%s:%d", "foobar", 9); VERIFY (status==8 && strcmp (buf, "foobar") == 0); CLEAR (buf); status = checkit (buf, 6, "%s:%d", "foobar", 9); VERIFY (status==8 && strcmp (buf, "fooba") == 0); CLEAR (buf); status = checkit (buf, 2, "%s:%d", "foobar", 9); VERIFY (status==8 && strcmp (buf, "f") == 0); CLEAR (buf); status = checkit (buf, 1, "%s:%d", "foobar", 9); VERIFY (status==8 && strcmp (buf, "") == 0); CLEAR (buf); status = checkit (buf, 0, "%s:%d", "foobar", 9); VERIFY (status==8 && strcmp (buf, "XXXXXXXXXXXXXX") == 0); return 0; } #endif /* TEST */ Index: ChangeLog =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/ChangeLog,v retrieving revision 1.1.1.1.2.3 retrieving revision 1.1.1.1.2.4 diff -C2 -d -r1.1.1.1.2.3 -r1.1.1.1.2.4 *** ChangeLog 21 Mar 2003 18:56:09 -0000 1.1.1.1.2.3 --- ChangeLog 18 Apr 2003 20:27:37 -0000 1.1.1.1.2.4 *************** *** 1,2 **** --- 1,93 ---- + 2003-04-16 Kaveh R. Ghazi <gh...@ca...> + + * configure.in (funcs, AC_CHECK_FUNCS): Add snprintf and + vsnprintf. + * snprintf.c, vsnprintf.c: New files. + * Makefile.in (CFILES): Add snprintf.c and vsnprintf.c. + (CONFIGURED_OFILES): Add snprintf.o and vsnprintf.o. + Regenerate dependencies. + + * functions.texi, configure, config.in: Regenerated. + + 2003-04-15 Kaveh R. Ghazi <gh...@ca...> + + * mempcpy.c, stpcpy.c, stpncpy.c: New files. + * configure.in (funcs, AC_CHECK_FUNCS): Add mempcpy, stpcpy + and stpncpy. + * Makefile.in (CFILES): Add mempcpy.c, stpcpy.c and stpncpy.c. + (CONFIGURED_OFILES): Add mempcpy.o, stpcpy.o and stpncpy.o. + Regenerate dependencies. + + * functions.texi, configure, config.in: Regenerated. + + 2003-04-15 Kaveh R. Ghazi <gh...@ca...> + + * argv.c: Fix comments. + * calloc.c: Don't unnecessarily include "libiberty.h". + (bzero): Add prototype. + * floatformat.c: Include "ansidecl.h", rely on ANSI_PROTOTYPES. + * getcwd.c (getcwd): Use standard definition to avoid conflicts + with system headers. + * hashtab.c (htab_traverse): Delete unused variables. + * rename.c: Include "ansidecl.h". + (rename): Use standard definition to avoid conflicts with system + headers. + * strsignal.c: Rely on ANSI_PROTOTYPES. + * strstr.c: Check GNUC >= 2, not GNUC == 2. + * vfprintf.c: Include "ansidecl.h", rely on ANSI_PROTOTYPES. + * vprintf.c: Include "ansidecl.h" earlier, rely on + ANSI_PROTOTYPES. + * vsprintf.c: Include "ansidecl.h" earlier, rely on + ANSI_PROTOTYPES and possibly include <stdarg.h>. + + * Makefile.in: Regenerate dependencies. + + 2003-04-15 DJ Delorie <dj...@re...> + + * maint-tool (deps): Scan for headers in $srcdir also. + + 2003-04-15 Kaveh R. Ghazi <gh...@ca...> + + PR target/10338 + PR bootstrap/10198 + PR bootstrap/10140 + * getopt.c (exchange, _getopt_initialize): Use mempcpy not + __mempcpy. + * regex.c (regerror): Likewise. + + 2003-04-14 Roger Sayle <ro...@ey...> + + * argv.c: Use ANSI_PROTOTYPES instead of __STDC__. + * memchr.c: Likewise. + * strcasecmp.c: Likewise. + * strncasecmp.c: Likewise. + * strncmp.c: Likewise. + * xatexit.c: Likewise. + * xmalloc.c: Likewise. + + * copysign.c: Use traditional function declaration instead of DEFUN. + * sigsetmask.c: Likewise. + + * memcmp.c: Both of the above, ANSI_PROTOTYPES and DEFUN. + * memset.c: Likewise. + + * memcpy.c: ANSI_PROTOTYPES, DEFUN and prototype bcopy. + * memmove.c: Likewise. + + 2003-04-14 Roger Sayle <ro...@ey...> + + * strdup.c (strdup): Tweak implementation to use memcpy. + + 2003-04-14 Kaveh R. Ghazi <gh...@ca...> + + * configure.in (HAVE_UINTPTR_T): Always define. + * configure: Regenerated. + + 2003-03-23 Alexandre Oliva <ao...@re...> + + * Makefile.in (MULTIOSDIR): New macro. Use $(CC) $(LIBCFLAGS) + instead of $$CC alone. + (install_to_tooldir): Use it. + 2003-17-03 Jan Hubicka <jh...@su...> *************** *** 12,21 **** (htab_traverse): Call htab_expand when table is too empty. - 2003-12-03 Jan Hubicka <jh...@su...> - - * hashtab.c (htab_expand): Compute the size of hashtable based - on the number of elements actually used. - (htab_traverse): Call htab_expand when table is too empty. - 2003-03-11 Carlo Wood <ca...@gn...> --- 103,106 ---- *************** *** 53,57 **** Richard Earnshaw <rea...@ar...> Geoffrey Keating <ge...@ap...> ! * configure.in: Check for sys/sysctl.h and sysctl. * physmem.c: Add support for *bsd and darwin. --- 138,142 ---- Richard Earnshaw <rea...@ar...> Geoffrey Keating <ge...@ap...> ! * configure.in: Check for sys/sysctl.h and sysctl. * physmem.c: Add support for *bsd and darwin. *************** *** 72,79 **** 2003-02-21 Kaveh R. Ghazi <gh...@ca...> * physmem.c (physmem_total, physmem_available): De-ANSI-fy. * configure.in (AC_CHECK_FUNCS): Add pstat_getstatic and pstat_getdynamic. ! 2003-02-20 Kaveh R. Ghazi <gh...@ca...> --- 157,171 ---- 2003-02-21 Kaveh R. Ghazi <gh...@ca...> + * configure.in: Check for sys/sysmp.h and sysmp. + * physmem.c: Pull upstream copy, add support for irix6. + + * config.in, configure: Regenerated. + + 2003-02-21 Kaveh R. Ghazi <gh...@ca...> + * physmem.c (physmem_total, physmem_available): De-ANSI-fy. * configure.in (AC_CHECK_FUNCS): Add pstat_getstatic and pstat_getdynamic. ! 2003-02-20 Kaveh R. Ghazi <gh...@ca...> Index: Makefile.in =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/Makefile.in,v retrieving revision 1.1.1.1.2.1 retrieving revision 1.1.1.1.2.2 diff -C2 -d -r1.1.1.1.2.1 -r1.1.1.1.2.2 *** Makefile.in 22 Feb 2003 19:46:44 -0000 1.1.1.1.2.1 --- Makefile.in 18 Apr 2003 20:27:37 -0000 1.1.1.1.2.2 *************** *** 141,145 **** make-relative-prefix.c \ make-temp-file.c md5.c memchr.c memcmp.c memcpy.c memmove.c \ ! memset.c mkstemps.c \ objalloc.c obstack.c \ partition.c \ --- 141,145 ---- make-relative-prefix.c \ make-temp-file.c md5.c memchr.c memcmp.c memcpy.c memmove.c \ ! mempcpy.c memset.c mkstemps.c \ objalloc.c obstack.c \ partition.c \ *************** *** 148,157 **** physmem.c putenv.c \ random.c regex.c rename.c rindex.c \ ! safe-ctype.c setenv.c sigsetmask.c sort.c spaces.c \ ! splay-tree.c strcasecmp.c strchr.c strdup.c strerror.c \ ! strncasecmp.c strncmp.c strrchr.c strsignal.c strstr.c \ ! strtod.c strtol.c strtoul.c \ ternary.c tmpnam.c \ ! vasprintf.c vfork.c vfprintf.c vprintf.c vsprintf.c \ waitpid.c \ xatexit.c xexit.c xmalloc.c xmemdup.c xstrdup.c xstrerror.c --- 148,157 ---- physmem.c putenv.c \ random.c regex.c rename.c rindex.c \ ! safe-ctype.c setenv.c sigsetmask.c snprintf.c sort.c spaces.c \ ! splay-tree.c stpcpy.c stpncpy.c strcasecmp.c strchr.c strdup.c \ ! strerror.c strncasecmp.c strncmp.c strrchr.c strsignal.c \ ! strstr.c strtod.c strtol.c strtoul.c \ ternary.c tmpnam.c \ ! vasprintf.c vfork.c vfprintf.c vprintf.c vsnprintf.c vsprintf.c \ waitpid.c \ xatexit.c xexit.c xmalloc.c xmemdup.c xstrdup.c xstrerror.c *************** *** 187,200 **** getcwd.o getpagesize.o \ index.o insque.o \ ! memchr.o memcmp.o memcpy.o memmove.o memset.o mkstemps.o \ pex-djgpp.o pex-mpw.o pex-msdos.o pex-os2.o \ pex-unix.o pex-win32.o \ putenv.o \ random.o rename.o rindex.o \ ! setenv.o sigsetmask.o strcasecmp.o strchr.o strdup.o \ ! strncasecmp.o strncmp.o strrchr.o strstr.o strtod.o strtol.o \ ! strtoul.o \ tmpnam.o \ ! vasprintf.o vfork.o vfprintf.o vprintf.o vsprintf.o \ waitpid.o --- 187,200 ---- getcwd.o getpagesize.o \ index.o insque.o \ ! memchr.o memcmp.o memcpy.o memmove.o mempcpy.o memset.o mkstemps.o \ pex-djgpp.o pex-mpw.o pex-msdos.o pex-os2.o \ pex-unix.o pex-win32.o \ putenv.o \ random.o rename.o rindex.o \ ! setenv.o sigsetmask.o snprintf.o stpcpy.o stpncpy.o strcasecmp.o \ ! strchr.o strdup.o strncasecmp.o strncmp.o strrchr.o strstr.o \ ! strtod.o strtol.o strtoul.o \ tmpnam.o \ ! vasprintf.o vfork.o vfprintf.o vprintf.o vsnprintf.o vsprintf.o \ waitpid.o *************** *** 287,295 **** @$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install install_to_tooldir: all ! ${mkinstalldirs} $(DESTDIR)$(tooldir)/lib/`$$CC -print-multi-os-directory` ! $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(tooldir)/lib/`$$CC -print-multi-os-directory`/$(TARGETLIB)n ! ( cd $(DESTDIR)$(tooldir)/lib/`$$CC -print-multi-os-directory` ; $(RANLIB) $(TARGETLIB)n ) ! mv -f $(DESTDIR)$(tooldir)/lib/`$$CC -print-multi-os-directory`/$(TARGETLIB)n $(DESTDIR)$(tooldir)/lib/`$$CC -print-multi-os-directory`/$(TARGETLIB) @$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install --- 287,300 ---- @$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install + # This is tricky. Even though CC in the Makefile contains + # multilib-specific flags, it's overridden by FLAGS_TO_PASS from the + # default multilib, so we have to take LIBCFLAGS into account as well, + # since it will be passed the multilib flags. + MULTIOSDIR = `$(CC) $(LIBCFLAGS) -print-multi-os-directory` install_to_tooldir: all ! ${mkinstalldirs} $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR) ! $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIB)n ! ( cd $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR) ; $(RANLIB) $(TARGETLIB)n ) ! mv -f $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIB) @$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install *************** *** 419,423 **** $(INCDIR)/safe-ctype.h bsearch.o: config.h $(INCDIR)/ansidecl.h ! calloc.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h choose-temp.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h clock.o: config.h --- 424,428 ---- $(INCDIR)/safe-ctype.h bsearch.o: config.h $(INCDIR)/ansidecl.h ! calloc.o: $(INCDIR)/ansidecl.h choose-temp.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h clock.o: config.h *************** *** 427,431 **** $(INCDIR)/dyn-string.h $(INCDIR)/getopt.h $(INCDIR)/libiberty.h cplus-dem.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/demangle.h \ ! $(INCDIR)/getopt.h $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h dyn-string.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/dyn-string.h \ $(INCDIR)/libiberty.h --- 432,436 ---- $(INCDIR)/dyn-string.h $(INCDIR)/getopt.h $(INCDIR)/libiberty.h cplus-dem.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/demangle.h \ ! $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h dyn-string.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/dyn-string.h \ $(INCDIR)/libiberty.h *************** *** 447,451 **** $(INCDIR)/safe-ctype.h lrealpath.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h ! make-relative-prefix.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h make-temp-file.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h md5.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/md5.h --- 452,457 ---- $(INCDIR)/safe-ctype.h lrealpath.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h ! make-relative-prefix.o: config.h $(INCDIR)/ansidecl.h \ ! $(INCDIR)/libiberty.h make-temp-file.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h md5.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/md5.h *************** *** 454,457 **** --- 460,464 ---- memcpy.o: $(INCDIR)/ansidecl.h memmove.o: $(INCDIR)/ansidecl.h + mempcpy.o: $(INCDIR)/ansidecl.h memset.o: $(INCDIR)/ansidecl.h mkstemps.o: config.h $(INCDIR)/ansidecl.h *************** *** 460,478 **** partition.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \ $(INCDIR)/partition.h ! pex-djgpp.o: config.h pex-common.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h ! pex-mpw.o: config.h pex-common.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h ! pex-msdos.o: config.h pex-common.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \ ! $(INCDIR)/safe-ctype.h ! pex-os2.o: config.h pex-common.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h ! pex-unix.o: config.h pex-common.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h ! pex-win32.o: config.h pex-common.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h ! physmem.o: config.h $(INCDIR)/libiberty.h putenv.o: config.h $(INCDIR)/ansidecl.h random.o: $(INCDIR)/ansidecl.h regex.o: config.h $(INCDIR)/xregex.h $(INCDIR)/xregex2.h ! rename.o: config.h safe-ctype.o: $(INCDIR)/ansidecl.h $(INCDIR)/safe-ctype.h setenv.o: config.h $(INCDIR)/ansidecl.h sigsetmask.o: $(INCDIR)/ansidecl.h sort.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \ $(INCDIR)/sort.h --- 467,491 ---- partition.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \ $(INCDIR)/partition.h ! pex-djgpp.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \ ! $(srcdir)/pex-common.h ! pex-mpw.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \ ! $(srcdir)/pex-common.h ! pex-msdos.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \ ! $(srcdir)/pex-common.h $(INCDIR)/safe-ctype.h ! pex-os2.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \ ! $(srcdir)/pex-common.h ! pex-unix.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \ ! $(srcdir)/pex-common.h ! pex-win32.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \ ! $(srcdir)/pex-common.h ! physmem.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h putenv.o: config.h $(INCDIR)/ansidecl.h random.o: $(INCDIR)/ansidecl.h regex.o: config.h $(INCDIR)/xregex.h $(INCDIR)/xregex2.h ! rename.o: config.h $(INCDIR)/ansidecl.h safe-ctype.o: $(INCDIR)/ansidecl.h $(INCDIR)/safe-ctype.h setenv.o: config.h $(INCDIR)/ansidecl.h sigsetmask.o: $(INCDIR)/ansidecl.h + snprintf.o: $(INCDIR)/ansidecl.h sort.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \ $(INCDIR)/sort.h *************** *** 480,485 **** --- 493,501 ---- splay-tree.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \ $(INCDIR)/splay-tree.h + stpcpy.o: $(INCDIR)/ansidecl.h + stpncpy.o: $(INCDIR)/ansidecl.h strcasecmp.o: $(INCDIR)/ansidecl.h strchr.o: $(INCDIR)/ansidecl.h + strdup.o: $(INCDIR)/ansidecl.h strerror.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h strncasecmp.o: $(INCDIR)/ansidecl.h *************** *** 494,498 **** --- 510,516 ---- vasprintf.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h vfork.o: $(INCDIR)/ansidecl.h + vfprintf.o: $(INCDIR)/ansidecl.h vprintf.o: $(INCDIR)/ansidecl.h + vsnprintf.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h vsprintf.o: $(INCDIR)/ansidecl.h waitpid.o: config.h Index: argv.c =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/argv.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** argv.c 20 Feb 2003 17:54:06 -0000 1.1.1.1 --- argv.c 18 Apr 2003 20:27:38 -0000 1.1.1.1.2.1 *************** *** 30,34 **** /* Routines imported from standard C runtime libraries. */ ! #ifdef __STDC__ #include <stddef.h> --- 30,34 ---- /* Routines imported from standard C runtime libraries. */ ! #ifdef ANSI_PROTOTYPES #include <stddef.h> *************** *** 36,40 **** #include <stdlib.h> ! #else /* !__STDC__ */ #if !defined _WIN32 || defined __GNUC__ --- 36,40 ---- #include <stdlib.h> ! #else /* !ANSI_PROTOTYPES */ #if !defined _WIN32 || defined __GNUC__ *************** *** 47,51 **** #endif ! #endif /* __STDC__ */ --- 47,51 ---- #endif ! #endif /* ANSI_PROTOTYPES */ Index: calloc.c =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/calloc.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** calloc.c 20 Feb 2003 17:54:06 -0000 1.1.1.1 --- calloc.c 18 Apr 2003 20:27:38 -0000 1.1.1.1.2.1 *************** *** 14,19 **** #include "ansidecl.h" - #include "libiberty.h" - #ifdef ANSI_PROTOTYPES #include <stddef.h> --- 14,17 ---- *************** *** 24,27 **** --- 22,26 ---- /* For systems with larger pointers than ints, this must be declared. */ PTR malloc PARAMS ((size_t)); + void bzero PARAMS ((PTR, size_t)); PTR Index: config.in =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/config.in,v retrieving revision 1.1.1.1.2.1 retrieving revision 1.1.1.1.2.2 diff -C2 -d -r1.1.1.1.2.1 -r1.1.1.1.2.2 *** config.in 22 Feb 2003 19:46:44 -0000 1.1.1.1.2.1 --- config.in 18 Apr 2003 20:27:38 -0000 1.1.1.1.2.2 *************** *** 106,109 **** --- 106,112 ---- #undef HAVE_MEMMOVE + /* Define if you have the mempcpy function. */ + #undef HAVE_MEMPCPY + /* Define if you have the memset function. */ #undef HAVE_MEMSET *************** *** 148,151 **** --- 151,163 ---- #undef HAVE_SIGSETMASK + /* Define if you have the snprintf function. */ + #undef HAVE_SNPRINTF + + /* Define if you have the stpcpy function. */ + #undef HAVE_STPCPY + + /* Define if you have the stpncpy function. */ + #undef HAVE_STPNCPY + /* Define if you have the strcasecmp function. */ #undef HAVE_STRCASECMP *************** *** 207,210 **** --- 219,225 ---- /* Define if you have the vprintf function. */ #undef HAVE_VPRINTF + + /* Define if you have the vsnprintf function. */ + #undef HAVE_VSNPRINTF /* Define if you have the vsprintf function. */ Index: configure =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/configure,v retrieving revision 1.1.1.1.2.1 retrieving revision 1.1.1.1.2.2 diff -C2 -d -r1.1.1.1.2.1 -r1.1.1.1.2.2 *** configure 22 Feb 2003 19:46:44 -0000 1.1.1.1.2.1 --- configure 18 Apr 2003 20:27:38 -0000 1.1.1.1.2.2 *************** *** 1646,1665 **** fi ! ! if test $ac_cv_type_uintptr_t = yes ! then ! cat >> confdefs.h <<\EOF #define HAVE_UINTPTR_T 1 EOF - fi [...997 lines suppressed...] --- 3449,3453 ---- else cat > conftest.$ac_ext <<EOF ! #line 3452 "configure" #include "confdefs.h" *************** *** 3509,3513 **** EOF ! if { (eval echo configure:3512: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_strncmp_works=yes --- 3513,3517 ---- EOF ! if { (eval echo configure:3516: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_strncmp_works=yes Index: configure.in =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/configure.in,v retrieving revision 1.1.1.1.2.1 retrieving revision 1.1.1.1.2.2 diff -C2 -d -r1.1.1.1.2.1 -r1.1.1.1.2.2 *** configure.in 22 Feb 2003 19:46:44 -0000 1.1.1.1.2.1 --- configure.in 18 Apr 2003 20:27:38 -0000 1.1.1.1.2.2 *************** *** 150,158 **** AC_CHECK_TYPE(uintptr_t, unsigned long) ! ! if test $ac_cv_type_uintptr_t = yes ! then ! AC_DEFINE(HAVE_UINTPTR_T, 1, [Define if you have the \`uintptr_t' type.]) ! fi AC_TYPE_PID_T --- 150,157 ---- AC_CHECK_TYPE(uintptr_t, unsigned long) ! # Given the above check, we always have uintptr_t or a fallback ! # definition. So define HAVE_UINTPTR_T in case any imported code ! # relies on it. ! AC_DEFINE(HAVE_UINTPTR_T, 1, [Define if you have the \`uintptr_t' type.]) AC_TYPE_PID_T *************** *** 179,182 **** --- 178,182 ---- funcs="$funcs memcpy" funcs="$funcs memmove" + funcs="$funcs mempcpy" funcs="$funcs memset" funcs="$funcs mkstemps" *************** *** 186,190 **** --- 186,193 ---- funcs="$funcs rindex" funcs="$funcs setenv" + funcs="$funcs snprintf" funcs="$funcs sigsetmask" + funcs="$funcs stpcpy" + funcs="$funcs stpncpy" funcs="$funcs strcasecmp" funcs="$funcs strchr" *************** *** 200,203 **** --- 203,207 ---- funcs="$funcs vfprintf" funcs="$funcs vprintf" + funcs="$funcs vsnprintf" funcs="$funcs vsprintf" funcs="$funcs waitpid" *************** *** 216,224 **** AC_CHECK_FUNCS(asprintf atexit basename bcmp bcopy bsearch bzero calloc clock) AC_CHECK_FUNCS(getcwd getpagesize index insque mkstemps memchr memcmp memcpy) ! AC_CHECK_FUNCS(memmove memset putenv random rename rindex sigsetmask) ! AC_CHECK_FUNCS(strcasecmp setenv strchr strdup strncasecmp strrchr strstr) AC_CHECK_FUNCS(strtod strtol strtoul tmpnam vasprintf vfprintf vprintf) AC_CHECK_FUNCS(vsprintf waitpid getrusage on_exit psignal strerror strsignal) ! AC_CHECK_FUNCS(sysconf times sbrk gettimeofday ffs) AC_CHECK_FUNCS(pstat_getstatic pstat_getdynamic sysmp getsysinfo table sysctl) AC_CHECK_FUNCS(realpath canonicalize_file_name) --- 220,228 ---- AC_CHECK_FUNCS(asprintf atexit basename bcmp bcopy bsearch bzero calloc clock) AC_CHECK_FUNCS(getcwd getpagesize index insque mkstemps memchr memcmp memcpy) ! AC_CHECK_FUNCS(memmove mempcpy memset putenv random rename rindex sigsetmask) ! AC_CHECK_FUNCS(strcasecmp setenv stpcpy stpncpy strchr strdup strncasecmp strrchr strstr) AC_CHECK_FUNCS(strtod strtol strtoul tmpnam vasprintf vfprintf vprintf) AC_CHECK_FUNCS(vsprintf waitpid getrusage on_exit psignal strerror strsignal) ! AC_CHECK_FUNCS(sysconf times sbrk gettimeofday ffs snprintf vsnprintf) AC_CHECK_FUNCS(pstat_getstatic pstat_getdynamic sysmp getsysinfo table sysctl) AC_CHECK_FUNCS(realpath canonicalize_file_name) Index: copysign.c =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/copysign.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** copysign.c 20 Feb 2003 17:54:07 -0000 1.1.1.1 --- copysign.c 18 Apr 2003 20:27:38 -0000 1.1.1.1.2.1 *************** *** 132,136 **** #if defined(__IEEE_BIG_ENDIAN) || defined(__IEEE_LITTLE_ENDIAN) ! double DEFUN(copysign, (x, y), double x AND double y) { __ieee_double_shape_type a,b; --- 132,138 ---- #if defined(__IEEE_BIG_ENDIAN) || defined(__IEEE_LITTLE_ENDIAN) ! double ! copysign (x, y) ! double x, y; { __ieee_double_shape_type a,b; *************** *** 143,147 **** #else ! double DEFUN(copysign, (x, y), double x AND double y) { if ((x < 0 && y > 0) || (x > 0 && y < 0)) --- 145,151 ---- #else ! double ! copysign (x, y) ! double x, y; { if ((x < 0 && y > 0) || (x > 0 && y < 0)) Index: floatformat.c =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/floatformat.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** floatformat.c 20 Feb 2003 17:54:09 -0000 1.1.1.1 --- floatformat.c 18 Apr 2003 20:27:38 -0000 1.1.1.1.2.1 *************** *** 18,24 **** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "floatformat.h" #include <math.h> /* ldexp */ ! #ifdef __STDC__ #include <stddef.h> extern void *memcpy (void *s1, const void *s2, size_t n); --- 18,25 ---- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + #include "ansidecl.h" #include "floatformat.h" #include <math.h> /* ldexp */ ! #ifdef ANSI_PROTOTYPES #include <stddef.h> extern void *memcpy (void *s1, const void *s2, size_t n); Index: functions.texi =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/functions.texi,v retrieving revision 1.1.1.1.2.1 retrieving revision 1.1.1.1.2.2 diff -C2 -d -r1.1.1.1.2.1 -r1.1.1.1.2.2 *** functions.texi 22 Feb 2003 19:46:45 -0000 1.1.1.1.2.1 --- functions.texi 18 Apr 2003 20:27:38 -0000 1.1.1.1.2.2 *************** *** 399,403 **** version of the filename. Symlinks will be resolved, and ``.'' and ``..'' components will be simplified. The returned value will be allocated using ! @code{xmalloc} or @code{malloc}. @end deftypefn --- 399,403 ---- version of the filename. Symlinks will be resolved, and ``.'' and ``..'' components will be simplified. The returned value will be allocated using ! @code{malloc}, or @code{NULL} will be returned on a memory allocation error. @end deftypefn *************** *** 477,480 **** --- 477,488 ---- @end deftypefn + @c mempcpy.c:23 + @deftypefn Supplemental void* mempcpy (void *@var{out}, const void *@var{in}, size_t @var{length}) + + Copies @var{length} bytes from memory region @var{in} to region + @var{out}. Returns a pointer to @var{out} + @var{length}. + + @end deftypefn + @c memset.c:6 @deftypefn Supplemental void* memset (void *@var{s}, int @var{c}, size_t @var{count}) *************** *** 666,669 **** --- 674,690 ---- @end deftypefn + @c snprintf.c:28 + @deftypefn Supplemental int snprintf (char *@var{buf}, size_t @var{n}, const char *@var{format}, ...) + + This function is similar to sprintf, but it will print at most @var{n} + characters. On error the return value is -1, otherwise it returns the + number of characters that would have been printed had @var{n} been + sufficiently large, regardless of the actual value of @var{n}. Note + some pre-C99 system libraries do not implement this correctly so users + cannot generally rely on the return value if the system version of + this function is used. + + @end deftypefn + @c spaces.c:22 @deftypefn Extension char* spaces (int @var{count}) *************** *** 675,678 **** --- 696,717 ---- @end deftypefn + @c stpcpy.c:23 + @deftypefn Supplemental char* stpcpy (char *@var{dst}, const char *@var{src}) + + Copies the string @var{src} into @var{dst}. Returns a pointer to + @var{dst} + strlen(@var{src}). + + @end deftypefn + + @c stpncpy.c:23 + @deftypefn Supplemental char* stpncpy (char *@var{dst}, const char *@var{src}, size_t @var{len}) + + Copies the string @var{src} into @var{dst}, copying exactly @var{len} + and padding with zeros if necessary. If @var{len} < strlen(@var{src}) + then return @var{dst} + @var{len}, otherwise returns @var{dst} + + strlen(@var{src}). + + @end deftypefn + @c strcasecmp.c:15 @deftypefn Supplemental int strcasecmp (const char *@var{s1}, const char *@var{s2}) *************** *** 901,904 **** --- 940,956 ---- responsibility. In @libib{} they are implemented in terms of the nonstandard but common function @code{_doprnt}. + + @end deftypefn + + @c vsnprintf.c:28 + @deftypefn Supplemental int vsnprintf (char *@var{buf}, size_t @var{n}, const char *@var{format}, va_list @var{ap}) + + This function is similar to vsprintf, but it will print at most + @var{n} characters. On error the return value is -1, otherwise it + returns the number of characters that would have been printed had + @var{n} been sufficiently large, regardless of the actual value of + @var{n}. Note some pre-C99 system libraries do not implement this + correctly so users cannot generally rely on the return value if the + system version of this function is used. @end deftypefn Index: getcwd.c =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/getcwd.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** getcwd.c 20 Feb 2003 17:54:11 -0000 1.1.1.1 --- getcwd.c 18 Apr 2003 20:27:39 -0000 1.1.1.1.2.1 *************** *** 41,45 **** getcwd (buf, len) char *buf; ! int len; { char ourbuf[MAXPATHLEN]; --- 41,45 ---- getcwd (buf, len) char *buf; ! size_t len; { char ourbuf[MAXPATHLEN]; Index: getopt.c =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/getopt.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** getopt.c 20 Feb 2003 17:54:12 -0000 1.1.1.1 --- getopt.c 18 Apr 2003 20:27:39 -0000 1.1.1.1.2.1 *************** *** 334,339 **** else { ! memset (__mempcpy (new_str, __getopt_nonoption_flags, ! nonoption_flags_max_len), '\0', top + 1 - nonoption_flags_max_len); nonoption_flags_max_len = top + 1; --- 334,339 ---- else { ! memset (mempcpy (new_str, __getopt_nonoption_flags, ! nonoption_flags_max_len), '\0', top + 1 - nonoption_flags_max_len); nonoption_flags_max_len = top + 1; *************** *** 445,449 **** nonoption_flags_max_len = -1; else ! memset (__mempcpy (__getopt_nonoption_flags, orig_str, len), '\0', nonoption_flags_max_len - len); } --- 445,449 ---- nonoption_flags_max_len = -1; else ! memset (mempcpy (__getopt_nonoption_flags, orig_str, len), '\0', nonoption_flags_max_len - len); } Index: hashtab.c =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/hashtab.c,v retrieving revision 1.1.1.1.2.1 retrieving revision 1.1.1.1.2.2 diff -C2 -d -r1.1.1.1.2.1 -r1.1.1.1.2.2 *** hashtab.c 21 Mar 2003 18:56:09 -0000 1.1.1.1.2.1 --- hashtab.c 18 Apr 2003 20:27:39 -0000 1.1.1.1.2.2 *************** *** 635,641 **** PTR info; { - PTR *slot; - PTR *limit; - if ((htab->n_elements - htab->n_deleted) * 8 < htab->size) htab_expand (htab); --- 635,638 ---- Index: maint-tool =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/maint-tool,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** maint-tool 20 Feb 2003 17:54:12 -0000 1.1.1.1 --- maint-tool 18 Apr 2003 20:27:39 -0000 1.1.1.1.2.1 *************** *** 224,227 **** --- 224,235 ---- $mine{'config.h'} = "config.h"; + opendir(INC, $srcdir); + while ($f = readdir INC) { + next unless $f =~ /\.h$/; + $mine{$f} = "\$(srcdir)/$f"; + $deps{$f} = join(' ', &deps_for("$srcdir/$f")); + } + $mine{'config.h'} = "config.h"; + open(IN, "$srcdir/Makefile.in"); open(OUT, ">$srcdir/Makefile.tmp"); Index: memchr.c =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/memchr.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** memchr.c 20 Feb 2003 17:54:12 -0000 1.1.1.1 --- memchr.c 18 Apr 2003 20:27:39 -0000 1.1.1.1.2.1 *************** *** 16,20 **** #include <ansidecl.h> ! #ifdef __STDC__ #include <stddef.h> #else --- 16,20 ---- #include <ansidecl.h> ! #ifdef ANSI_PROTOTYPES #include <stddef.h> #else Index: memcmp.c =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/memcmp.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** memcmp.c 20 Feb 2003 17:54:12 -0000 1.1.1.1 --- memcmp.c 18 Apr 2003 20:27:39 -0000 1.1.1.1.2.1 *************** *** 17,21 **** #include <ansidecl.h> ! #ifdef __STDC__ #include <stddef.h> #else --- 17,21 ---- #include <ansidecl.h> ! #ifdef ANSI_PROTOTYPES #include <stddef.h> #else *************** *** 24,29 **** int ! DEFUN(memcmp, (str1, str2, count), ! const PTR str1 AND const PTR str2 AND size_t count) { register const unsigned char *s1 = (const unsigned char*)str1; --- 24,31 ---- int ! memcmp (str1, str2, count) ! const PTR str1; ! const PTR str2; ! size_t count; { register const unsigned char *s1 = (const unsigned char*)str1; Index: memcpy.c =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/memcpy.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** memcpy.c 20 Feb 2003 17:54:12 -0000 1.1.1.1 --- memcpy.c 18 Apr 2003 20:27:39 -0000 1.1.1.1.2.1 *************** *** 14,18 **** #include <ansidecl.h> ! #ifdef __STDC__ #include <stddef.h> #else --- 14,18 ---- #include <ansidecl.h> ! #ifdef ANSI_PROTOTYPES #include <stddef.h> #else *************** *** 20,25 **** #endif PTR ! DEFUN(memcpy, (out, in, length), PTR out AND const PTR in AND size_t length) { bcopy(in, out, length); --- 20,30 ---- #endif + void bcopy PARAMS((const void*, void*, size_t)); + PTR ! memcpy (out, in, length) ! PTR out; ! const PTR in; ! size_t length; { bcopy(in, out, length); Index: memmove.c =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/memmove.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** memmove.c 20 Feb 2003 17:54:12 -0000 1.1.1.1 --- memmove.c 18 Apr 2003 20:27:39 -0000 1.1.1.1.2.1 *************** *** 14,22 **** #include <ansidecl.h> ! #ifdef __STDC__ #include <stddef.h> #else #define size_t unsigned long #endif PTR --- 14,24 ---- #include <ansidecl.h> ! #ifdef ANSI_PROTOTYPES #include <stddef.h> #else #define size_t unsigned long #endif + + void bcopy PARAMS ((const void*, void*, size_t)); PTR Index: memset.c =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/memset.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** memset.c 20 Feb 2003 17:54:12 -0000 1.1.1.1 --- memset.c 18 Apr 2003 20:27:39 -0000 1.1.1.1.2.1 *************** *** 14,18 **** #include <ansidecl.h> ! #ifdef __STDC__ #include <stddef.h> #else --- 14,18 ---- #include <ansidecl.h> ! #ifdef ANSI_PROTOTYPES #include <stddef.h> #else *************** *** 21,26 **** PTR ! DEFUN(memset, (dest, val, len), ! PTR dest AND register int val AND register size_t len) { register unsigned char *ptr = (unsigned char*)dest; --- 21,28 ---- PTR ! memset (dest, val, len) ! PTR dest; ! register int val; ! register size_t len; { register unsigned char *ptr = (unsigned char*)dest; Index: regex.c =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/regex.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** regex.c 20 Feb 2003 17:54:13 -0000 1.1.1.1 --- regex.c 18 Apr 2003 20:27:39 -0000 1.1.1.1.2.1 *************** *** 8201,8205 **** { #if defined HAVE_MEMPCPY || defined _LIBC ! *((char *) __mempcpy (errbuf, msg, errbuf_size - 1)) = '\0'; #else memcpy (errbuf, msg, errbuf_size - 1); --- 8201,8205 ---- { #if defined HAVE_MEMPCPY || defined _LIBC ! *((char *) mempcpy (errbuf, msg, errbuf_size - 1)) = '\0'; #else memcpy (errbuf, msg, errbuf_size - 1); Index: rename.c =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/rename.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** rename.c 20 Feb 2003 17:54:13 -0000 1.1.1.1 --- rename.c 18 Apr 2003 20:27:39 -0000 1.1.1.1.2.1 *************** *** 13,16 **** --- 13,17 ---- */ + #include "ansidecl.h" #ifdef HAVE_CONFIG_H #include "config.h" *************** *** 23,28 **** int rename (zfrom, zto) ! char *zfrom; ! char *zto; { if (link (zfrom, zto) < 0) --- 24,29 ---- int rename (zfrom, zto) ! const char *zfrom; ! const char *zto; { if (link (zfrom, zto) < 0) Index: sigsetmask.c =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/sigsetmask.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** sigsetmask.c 20 Feb 2003 17:54:13 -0000 1.1.1.1 --- sigsetmask.c 18 Apr 2003 20:27:39 -0000 1.1.1.1.2.1 *************** *** 26,31 **** #ifdef SIG_SETMASK int ! DEFUN(sigsetmask,(set), ! int set) { sigset_t new; --- 26,31 ---- #ifdef SIG_SETMASK int ! sigsetmask (set) ! int set; { sigset_t new; Index: strcasecmp.c =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/strcasecmp.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** strcasecmp.c 20 Feb 2003 17:54:13 -0000 1.1.1.1 --- strcasecmp.c 18 Apr 2003 20:27:39 -0000 1.1.1.1.2.1 *************** *** 26,30 **** #include <ansidecl.h> ! #ifdef __STDC__ #include <stddef.h> #else --- 26,30 ---- #include <ansidecl.h> ! #ifdef ANSI_PROTOTYPES #include <stddef.h> #else Index: strdup.c =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/strdup.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** strdup.c 20 Feb 2003 17:54:13 -0000 1.1.1.1 --- strdup.c 18 Apr 2003 20:27:39 -0000 1.1.1.1.2.1 *************** *** 10,21 **** */ char * strdup(s) char *s; { ! char *result = (char*)malloc(strlen(s) + 1); ! if (result == (char*)0) ! return (char*)0; ! strcpy(result, s); ! return result; } --- 10,32 ---- */ + #include <ansidecl.h> + #ifdef ANSI_PROTOTYPES + #include <stddef.h> + #else + #define size_t unsigned long + #endif + + extern size_t strlen PARAMS ((const char*)); + extern PTR malloc PARAMS ((size_t)); + extern PTR memcpy PARAMS ((PTR, const PTR, size_t)); + char * strdup(s) char *s; { ! size_t len = strlen (s) + 1; ! char *result = (char*) malloc (len); ! if (result == (char*) 0) ! return (char*) 0; ! return (char*) memcpy (result, s, len); } Index: strncasecmp.c =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/strncasecmp.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** strncasecmp.c 20 Feb 2003 17:54:13 -0000 1.1.1.1 --- strncasecmp.c 18 Apr 2003 20:27:39 -0000 1.1.1.1.2.1 *************** *** 26,30 **** #include <ansidecl.h> ! #ifdef __STDC__ #include <stddef.h> #else --- 26,30 ---- #include <ansidecl.h> ! #ifdef ANSI_PROTOTYPES #include <stddef.h> #else Index: strncmp.c =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/strncmp.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** strncmp.c 20 Feb 2003 17:54:13 -0000 1.1.1.1 --- strncmp.c 18 Apr 2003 20:27:39 -0000 1.1.1.1.2.1 *************** *** 14,18 **** #include <ansidecl.h> ! #ifdef __STDC__ #include <stddef.h> #else --- 14,18 ---- #include <ansidecl.h> ! #ifdef ANSI_PROTOTYPES #include <stddef.h> #else Index: strsignal.c =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/strsignal.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** strsignal.c 20 Feb 2003 17:54:13 -0000 1.1.1.1 --- strsignal.c 18 Apr 2003 20:27:39 -0000 1.1.1.1.2.1 *************** *** 43,47 **** #ifndef NULL ! # ifdef __STDC__ # define NULL (void *) 0 # else --- 43,47 ---- #ifndef NULL ! # ifdef ANSI_PROTOTYPES # define NULL (void *) 0 # else Index: strstr.c =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/strstr.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** strstr.c 20 Feb 2003 17:54:13 -0000 1.1.1.1 --- strstr.c 18 Apr 2003 20:27:39 -0000 1.1.1.1.2.1 *************** *** 28,33 **** extern char *strchr (); extern int strncmp (); ! #if __GNUC__==2 ! extern __SIZE_TYPE__ strlen (); #endif register int len = strlen (s2); --- 28,33 ---- extern char *strchr (); extern int strncmp (); ! #if __GNUC__ >= 2 ! extern __SIZE_TYPE__ strlen (const char *); #endif register int len = strlen (s2); Index: vfprintf.c =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/vfprintf.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** vfprintf.c 20 Feb 2003 17:54:13 -0000 1.1.1.1 --- vfprintf.c 18 Apr 2003 20:27:39 -0000 1.1.1.1.2.1 *************** *** 4,8 **** */ ! #ifdef __STDC__ #include <stdarg.h> #else --- 4,9 ---- */ ! #include "ansidecl.h" ! #ifdef ANSI_PROTOTYPES #include <stdarg.h> #else Index: vprintf.c =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/vprintf.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** vprintf.c 20 Feb 2003 17:54:13 -0000 1.1.1.1 --- vprintf.c 18 Apr 2003 20:27:39 -0000 1.1.1.1.2.1 *************** *** 16,20 **** */ ! #ifdef __STDC__ #include <stdarg.h> #else --- 16,21 ---- */ ! #include <ansidecl.h> ! #ifdef ANSI_PROTOTYPES #include <stdarg.h> #else *************** *** 22,26 **** #endif #include <stdio.h> - #include <ansidecl.h> #undef vprintf int --- 23,26 ---- Index: vsprintf.c =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/vsprintf.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** vsprintf.c 20 Feb 2003 17:54:13 -0000 1.1.1.1 --- vsprintf.c 18 Apr 2003 20:27:39 -0000 1.1.1.1.2.1 *************** *** 27,33 **** the executable file might be covered by the GNU General Public License. */ #include <varargs.h> #include <stdio.h> - #include <ansidecl.h> #undef vsprintf --- 27,37 ---- the executable file might be covered by the GNU General Public License. */ + #include <ansidecl.h> + #ifdef ANSI_PROTOTYPES + #include <stdarg.h> + #else #include <varargs.h> + #endif #include <stdio.h> #undef vsprintf Index: xatexit.c =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/xatexit.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** xatexit.c 20 Feb 2003 17:54:13 -0000 1.1.1.1 --- xatexit.c 18 Apr 2003 20:27:39 -0000 1.1.1.1.2.1 *************** *** 28,32 **** #include <stdio.h> ! #ifdef __STDC__ #include <stddef.h> #else --- 28,32 ---- #include <stdio.h> ! #ifdef ANSI_PROTOTYPES #include <stddef.h> #else Index: xmalloc.c =================================================================== RCS file: /cvsroot/p4w/cygwin/libiberty/xmalloc.c,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** xmalloc.c 20 Feb 2003 17:54:13 -0000 1.1.1.1 --- xmalloc.c 18 Apr 2003 20:27:39 -0000 1.1.1.1.2.1 *************** *** 69,73 **** #include <stdio.h> ! #ifdef __STDC__ #include <stddef.h> #else --- 69,73 ---- #include <stdio.h> ! #ifdef ANSI_PROTOTYPES #include <stddef.h> #else |
From: <ea...@us...> - 2003-04-18 20:28:14
|
Update of /cvsroot/p4w/cygwin/newlib/libc/include/sys In directory sc8-pr-cvs1:/tmp/cvs-serv17902/newlib/libc/include/sys Modified Files: Tag: p4wposix unistd.h Log Message: Sync with HEAD Index: unistd.h =================================================================== RCS file: /cvsroot/p4w/cygwin/newlib/libc/include/sys/unistd.h,v retrieving revision 1.1.1.1.2.1 retrieving revision 1.1.1.1.2.2 diff -C2 -d -r1.1.1.1.2.1 -r1.1.1.1.2.2 *** unistd.h 21 Mar 2003 18:56:10 -0000 1.1.1.1.2.1 --- unistd.h 18 Apr 2003 20:27:41 -0000 1.1.1.1.2.2 *************** *** 61,64 **** --- 61,67 ---- #endif int _EXFUN(getgroups, (int __gidsetsize, gid_t __grouplist[] )); + #if defined(__CYGWIN__) + long _EXFUN(gethostid, (void)); + #endif char _EXFUN(*getlogin, (void )); #if defined(_POSIX_THREAD_SAFE_FUNCTIONS) |
From: <ea...@us...> - 2003-04-18 20:28:14
|
Update of /cvsroot/p4w/cygwin/newlib/libc/include In directory sc8-pr-cvs1:/tmp/cvs-serv17902/newlib/libc/include Modified Files: Tag: p4wposix wchar.h Log Message: Sync with HEAD Index: wchar.h =================================================================== RCS file: /cvsroot/p4w/cygwin/newlib/libc/include/wchar.h,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** wchar.h 20 Feb 2003 17:54:18 -0000 1.1.1.1 --- wchar.h 18 Apr 2003 20:27:40 -0000 1.1.1.1.2.1 *************** *** 50,53 **** --- 50,54 ---- wchar_t *_EXFUN(wcschr, (const wchar_t *, wchar_t)); int _EXFUN(wcscmp, (const wchar_t *, const wchar_t *)); + int _EXFUN(wcscoll, (const wchar_t *, const wchar_t *)); wchar_t *_EXFUN(wcscpy, (wchar_t * , const wchar_t *)); size_t _EXFUN(wcscspn, (const wchar_t *, const wchar_t *)); *************** *** 62,65 **** --- 63,68 ---- size_t _EXFUN(wcsspn, (const wchar_t *, const wchar_t *)); wchar_t *_EXFUN(wcsstr, (const wchar_t *, const wchar_t *)); + int _EXFUN(wcswidth, (const wchar_t *, size_t)); + int _EXFUN(wcwidth, (const wchar_t)); wchar_t *_EXFUN(wmemchr, (const wchar_t *, wchar_t, size_t)); int _EXFUN(wmemcmp, (const wchar_t *, const wchar_t *, size_t)); |
From: <ea...@us...> - 2003-04-18 20:28:13
|
Update of /cvsroot/p4w/cygwin/newlib In directory sc8-pr-cvs1:/tmp/cvs-serv17902/newlib Modified Files: Tag: p4wposix ChangeLog Log Message: Sync with HEAD Index: ChangeLog =================================================================== RCS file: /cvsroot/p4w/cygwin/newlib/ChangeLog,v retrieving revision 1.1.1.1.2.3 retrieving revision 1.1.1.1.2.4 diff -C2 -d -r1.1.1.1.2.3 -r1.1.1.1.2.4 *** ChangeLog 21 Mar 2003 18:56:09 -0000 1.1.1.1.2.3 --- ChangeLog 18 Apr 2003 20:27:39 -0000 1.1.1.1.2.4 *************** *** 1,2 **** --- 1,57 ---- + 2003-04-16 Jeff Johnston <jjo...@re...> + + * newlib/libc/machine/powerpc (ato*fix*.c,strto*fix*.c): Shield + all code with #ifdef __SPE__ test. + * newlib/libc/machine/powerpc (simdldtoa.c, ufix64toa.c): Ditto. + + 2003-04-15 Chris January <ch...@at...> + + * newlib/libc/include/sys/unistd.h: add declaration for gethostid on + Cygwin. + + 2003-04-09 J"orn Rennecke <joe...@su...> + + * libc/machine/sh/memset.S: Avoid clobbering volatile + objects following a tiny to-be-set array in the same quadword. + + 2001-04-09 Corinna Vinschen <co...@vi...> + + * libc/include/wchar.h: Add definitions for wcswidth and wcwidth. + * libc/string/Makefile.am: Add wcswidth.c and wcwidth.c + * libc/string/Makefile.in: Regenerated. + * libc/string/wcswidth.c: New file. + * libc/string/wcwidth.c: New file. + * libc/string/wcstrings.tex: Add wcswidth and wcwidth. + + Thu Apr 3 14:01:16 2003 J"orn Rennecke <joe...@su...> + + * libc/machine/sh/memset.S: Fix problem with alloco region + exceeding destination region for length >= 88 bytes, start + & 0x16 == 0, end & 0x1f == 18. + + 2001-04-03 Corinna Vinschen <co...@vi...> + + * libc/string/wcscoll.c: Fix comment. + + 2001-04-02 Corinna Vinschen <co...@vi...> + + * libc/include/wchar.h: Add definition for wcscoll. + * libc/string/Makefile.am: Add wcscoll.c. + * libc/string/Makefile.in: Regenerated. + * libc/string/wcscoll.c: New file. + * libc/string/wcstrings.tex: Add wcscoll. + + 2003-04-01 Corinna Vinschen <co...@vi...> + + * libc/stdio/sscanf.c: Update flags description. + * libc/stdio/vfscanf.c: Add CHAR flag value to denote 8 bit target + type. + (__svfscanf_r): Add 'hh' and 'll' handling. + + 2003-04-01 Corinna Vinschen <co...@vi...> + + * libc/sys/cygwin/sys/dirent.h (struct DIR): Change type of + __d_position member to _off_t. + 2003-03-20 Jeff Johnston <jjo...@re...> |
From: <ea...@us...> - 2003-04-18 20:28:11
|
Update of /cvsroot/p4w/cygwin/include/opcode In directory sc8-pr-cvs1:/tmp/cvs-serv17902/include/opcode Modified Files: Tag: p4wposix ChangeLog h8300.h mips.h tic4x.h Log Message: Sync with HEAD Index: ChangeLog =================================================================== RCS file: /cvsroot/p4w/cygwin/include/opcode/ChangeLog,v retrieving revision 1.1.1.1.2.2 retrieving revision 1.1.1.1.2.3 diff -C2 -d -r1.1.1.1.2.2 -r1.1.1.1.2.3 *** ChangeLog 21 Mar 2003 18:56:08 -0000 1.1.1.1.2.2 --- ChangeLog 18 Apr 2003 20:27:36 -0000 1.1.1.1.2.3 *************** *** 1,2 **** --- 1,10 ---- + 2003-04-07 Michael Snyder <ms...@re...> + + * h8300.h (ldc/stc): Fix up src/dst swaps. + + 2003-04-09 J. Grant <jg-...@jg...> + + * mips.h: Correct comment typo. + 2003-03-21 Martin Schwidefsky <sch...@de...> Index: h8300.h =================================================================== RCS file: /cvsroot/p4w/cygwin/include/opcode/h8300.h,v retrieving revision 1.1.1.1.2.2 retrieving revision 1.1.1.1.2.3 diff -C2 -d -r1.1.1.1.2.2 -r1.1.1.1.2.3 *** h8300.h 21 Mar 2003 18:56:08 -0000 1.1.1.1.2.2 --- h8300.h 18 Apr 2003 20:27:37 -0000 1.1.1.1.2.3 *************** *** 437,441 **** NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{DISP|SRC|L_32,CCR|DST,E}},{{PREFIXLDC,0x7,0x8,B30|DISPREG,0,0x6,0xB,0x2,0x0,SRC|DISP32LIST,E}}EOP, NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{RSINC,CCR|DST,E}}, {{PREFIXLDC,0x6,0xD,B30|RSINC,0x0,E}}EOP, ! NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{RSIND,CCR|DST,E}}, {{PREFIXLDC,0x6,0x9,B30|RDIND,0x0,E}} EOP, NEW_SOP(O(O_LDC,SB),1,2,"ldc"),{{IMM8,EXR|DST,E}}, {{ 0x0,0x1,0x4,0x1,0x0,0x7,IMM8,IGNORE,E,0,0,0,0}}EOP, --- 437,441 ---- NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{DISP|SRC|L_32,CCR|DST,E}},{{PREFIXLDC,0x7,0x8,B30|DISPREG,0,0x6,0xB,0x2,0x0,SRC|DISP32LIST,E}}EOP, NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{RSINC,CCR|DST,E}}, {{PREFIXLDC,0x6,0xD,B30|RSINC,0x0,E}}EOP, ! NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{RSIND,CCR|DST,E}}, {{PREFIXLDC,0x6,0x9,B30|RSIND,0x0,E}} EOP, NEW_SOP(O(O_LDC,SB),1,2,"ldc"),{{IMM8,EXR|DST,E}}, {{ 0x0,0x1,0x4,0x1,0x0,0x7,IMM8,IGNORE,E,0,0,0,0}}EOP, *************** *** 446,450 **** NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{DISP|SRC|L_32,EXR|DST,E}},{{ 0x0,0x1,0x4,0x1,0x7,0x8,B30|DISPREG,0,0x6,0xB,0x2,0x0,SRC|DISP32LIST,E}}EOP, NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{RSINC,EXR|DST,E}}, {{ 0x0,0x1,0x4,0x1,0x6,0xd,B30|RSINC,0x0,E}}EOP, ! NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{RSIND,EXR|DST,E}}, {{ 0x0,0x1,0x4,0x1,0x6,0x9,B30|RDIND,0x0,E}} EOP, SOP(O(O_MOV_TO_REG,SB),4,"mov.b"),{{ABS|SRC|L_16|MEMRELAX,RD8,E}}, {{ 0x6,0xA,0x0,RD8,SRC|ABS|MEMRELAX|A16LIST,E}}EOP, --- 446,450 ---- NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{DISP|SRC|L_32,EXR|DST,E}},{{ 0x0,0x1,0x4,0x1,0x7,0x8,B30|DISPREG,0,0x6,0xB,0x2,0x0,SRC|DISP32LIST,E}}EOP, NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{RSINC,EXR|DST,E}}, {{ 0x0,0x1,0x4,0x1,0x6,0xd,B30|RSINC,0x0,E}}EOP, ! NEW_SOP(O(O_LDC,SB),0,2,"ldc"),{{RSIND,EXR|DST,E}}, {{ 0x0,0x1,0x4,0x1,0x6,0x9,B30|RSIND,0x0,E}} EOP, SOP(O(O_MOV_TO_REG,SB),4,"mov.b"),{{ABS|SRC|L_16|MEMRELAX,RD8,E}}, {{ 0x6,0xA,0x0,RD8,SRC|ABS|MEMRELAX|A16LIST,E}}EOP, *************** *** 557,561 **** NEW_SOP(O(O_STC,SB), 1,2,"stc"),{{CCR|SRC,RD8,E}},{{ 0x0,0x2,0x0,RD8,E,0,0,0,0}} EOP, ! NEW_SOP(O(O_STC,SB),0,2,"stc"),{{CCR|SRC,RSIND,E}}, {{PREFIXLDC,0x6,0x9,B31|RDIND,0x0,E}} EOP, NEW_SOP(O(O_STC,SB),0,2,"stc"),{{CCR|SRC,DISP|DST|L_16,E}},{{PREFIXLDC,0x6,0xF,B31|DISPREG,0,DST|DISP|L_16,IGNORE,IGNORE,IGNORE,E}}EOP, NEW_SOP(O(O_STC,SB),0,2,"stc"),{{CCR|SRC,DISP|DST|L_32,E}},{{PREFIXLDC,0x7,0x8,B30|DISPREG,0,0x6,0xB,0xA,0x0,DST|DISP32LIST,E}}EOP, --- 557,561 ---- NEW_SOP(O(O_STC,SB), 1,2,"stc"),{{CCR|SRC,RD8,E}},{{ 0x0,0x2,0x0,RD8,E,0,0,0,0}} EOP, ! NEW_SOP(O(O_STC,SB),0,2,"stc"),{{CCR|SRC,RDIND,E}}, {{PREFIXLDC,0x6,0x9,B31|RDIND,0x0,E}} EOP, NEW_SOP(O(O_STC,SB),0,2,"stc"),{{CCR|SRC,DISP|DST|L_16,E}},{{PREFIXLDC,0x6,0xF,B31|DISPREG,0,DST|DISP|L_16,IGNORE,IGNORE,IGNORE,E}}EOP, NEW_SOP(O(O_STC,SB),0,2,"stc"),{{CCR|SRC,DISP|DST|L_32,E}},{{PREFIXLDC,0x7,0x8,B30|DISPREG,0,0x6,0xB,0xA,0x0,DST|DISP32LIST,E}}EOP, *************** *** 567,571 **** NEW_SOP(O(O_STC,SB), 1,2,"stc"),{{EXR|SRC,RD8,E}},{{ 0x0,0x2,0x1,RD8,E,0,0,0,0}} EOP, ! NEW_SOP(O(O_STC,SB),0,2,"stc"),{{EXR|SRC,RSIND,E}}, {{0x0,0x1,0x4,0x1,0x6,0x9,B31|RDIND,0x0,E}} EOP, NEW_SOP(O(O_STC,SB),0,2,"stc"),{{EXR|SRC,DISP|DST|L_16,E}},{{0x0,0x1,0x4,0x1,0x6,0xF,B31|DISPREG,0,DST|DISP|L_16,IGNORE,IGNORE,IGNORE,E}}EOP, NEW_SOP(O(O_STC,SB),0,2,"stc"),{{EXR|SRC,DISP|DST|L_32,E}},{{0x0,0x1,0x4,0x1,0x7,0x8,B30|DISPREG,0,0x6,0xB,0xA,0x0,DST|DISP32LIST,E}}EOP, --- 567,571 ---- NEW_SOP(O(O_STC,SB), 1,2,"stc"),{{EXR|SRC,RD8,E}},{{ 0x0,0x2,0x1,RD8,E,0,0,0,0}} EOP, ! NEW_SOP(O(O_STC,SB),0,2,"stc"),{{EXR|SRC,RDIND,E}}, {{0x0,0x1,0x4,0x1,0x6,0x9,B31|RDIND,0x0,E}} EOP, NEW_SOP(O(O_STC,SB),0,2,"stc"),{{EXR|SRC,DISP|DST|L_16,E}},{{0x0,0x1,0x4,0x1,0x6,0xF,B31|DISPREG,0,DST|DISP|L_16,IGNORE,IGNORE,IGNORE,E}}EOP, NEW_SOP(O(O_STC,SB),0,2,"stc"),{{EXR|SRC,DISP|DST|L_32,E}},{{0x0,0x1,0x4,0x1,0x7,0x8,B30|DISPREG,0,0x6,0xB,0xA,0x0,DST|DISP32LIST,E}}EOP, Index: mips.h =================================================================== RCS file: /cvsroot/p4w/cygwin/include/opcode/mips.h,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** mips.h 20 Feb 2003 17:54:05 -0000 1.1.1.1 --- mips.h 18 Apr 2003 20:27:37 -0000 1.1.1.1.2.1 *************** *** 198,202 **** }; ! /* These are the characters which may appears in the args field of an instruction. They appear in the order in which the fields appear when the instruction is used. Commas and parentheses in the args --- 198,202 ---- }; ! /* These are the characters which may appear in the args field of an instruction. They appear in the order in which the fields appear when the instruction is used. Commas and parentheses in the args Index: tic4x.h =================================================================== RCS file: /cvsroot/p4w/cygwin/include/opcode/tic4x.h,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** tic4x.h 20 Feb 2003 17:54:06 -0000 1.1.1.1 --- tic4x.h 18 Apr 2003 20:27:37 -0000 1.1.1.1.2.1 *************** *** 1,5 **** /* Table of opcodes for the Texas Instruments TMS320C[34]X family. ! Copyright (c) 2002 Free Software Foundation. Contributed by Michael P. Hayes (m....@el...) --- 1,5 ---- /* Table of opcodes for the Texas Instruments TMS320C[34]X family. ! Copyright (C) 2002, 2003 Free Software Foundation. Contributed by Michael P. Hayes (m....@el...) *************** *** 20,25 **** */ ! #define IS_CPU_C3X(v) ((v) == 30 || (v) == 31 || (v) == 32 || (v) == 33) ! #define IS_CPU_C4X(v) ((v) == 0 || (v) == 40 || (v) == 44) /* Define some bitfield extraction/insertion macros. */ --- 20,25 ---- */ ! #define IS_CPU_TIC3X(v) ((v) == 30 || (v) == 31 || (v) == 32 || (v) == 33) ! #define IS_CPU_TIC4X(v) ((v) == 0 || (v) == 40 || (v) == 44) /* Define some bitfield extraction/insertion macros. */ *************** *** 51,61 **** #define REG_IOF REG_IIF /* C3x only */ ! #define C3X_REG_MAX REG_RC ! #define C4X_REG_MAX REG_TVTP /* Register table size including C4x expansion regs. */ ! #define REG_TABLE_SIZE (C4X_REG_MAX + 1) ! struct c4x_register { char * name; --- 51,61 ---- #define REG_IOF REG_IIF /* C3x only */ ! #define TIC3X_REG_MAX REG_RC ! #define TIC4X_REG_MAX REG_TVTP /* Register table size including C4x expansion regs. */ ! #define REG_TABLE_SIZE (TIC4X_REG_MAX + 1) ! struct tic4x_register { char * name; *************** *** 63,70 **** }; ! typedef struct c4x_register c4x_register_t; /* We could store register synonyms here. */ ! static const c4x_register_t c3x_registers[] = { {"f0", REG_R0}, --- 63,70 ---- }; ! typedef struct tic4x_register tic4x_register_t; /* We could store register synonyms here. */ ! static const tic4x_register_t tic3x_registers[] = { {"f0", REG_R0}, *************** *** 107,114 **** }; ! const unsigned int c3x_num_registers = (((sizeof c3x_registers) / (sizeof c3x_registers[0])) - 1); /* Define C4x registers in addition to C3x registers. */ ! static const c4x_register_t c4x_registers[] = { {"die", REG_DIE}, /* Clobbers C3x REG_IE */ --- 107,114 ---- }; ! const unsigned int tic3x_num_registers = (((sizeof tic3x_registers) / (sizeof tic3x_registers[0])) - 1); /* Define C4x registers in addition to C3x registers. */ ! static const tic4x_register_t tic4x_registers[] = { {"die", REG_DIE}, /* Clobbers C3x REG_IE */ *************** *** 128,134 **** }; ! const unsigned int c4x_num_registers = (((sizeof c4x_registers) / (sizeof c4x_registers[0])) - 1); ! struct c4x_cond { char * name; --- 128,134 ---- }; ! const unsigned int tic4x_num_registers = (((sizeof tic4x_registers) / (sizeof tic4x_registers[0])) - 1); ! struct tic4x_cond { char * name; *************** *** 136,144 **** }; ! typedef struct c4x_cond c4x_cond_t; /* Define conditional branch/load suffixes. Put desired form for disassembler last. */ ! static const c4x_cond_t c4x_conds[] = { { "u", 0x00 }, --- 136,144 ---- }; ! typedef struct tic4x_cond tic4x_cond_t; /* Define conditional branch/load suffixes. Put desired form for disassembler last. */ ! static const tic4x_cond_t tic4x_conds[] = { { "u", 0x00 }, *************** *** 168,174 **** }; ! const unsigned int num_conds = (((sizeof c4x_conds) / (sizeof c4x_conds[0])) - 1); ! struct c4x_indirect { char * name; --- 168,174 ---- }; ! const unsigned int tic4x_num_conds = (((sizeof tic4x_conds) / (sizeof tic4x_conds[0])) - 1); ! struct tic4x_indirect { char * name; *************** *** 176,180 **** }; ! typedef struct c4x_indirect c4x_indirect_t; /* Define indirect addressing modes where: --- 176,180 ---- }; ! typedef struct tic4x_indirect tic4x_indirect_t; /* Define indirect addressing modes where: *************** *** 183,187 **** z ir1 */ ! static const c4x_indirect_t c4x_indirects[] = { { "*+a(d)", 0x00 }, --- 183,187 ---- z ir1 */ ! static const tic4x_indirect_t tic4x_indirects[] = { { "*+a(d)", 0x00 }, *************** *** 217,226 **** }; ! #define C3X_MODN_MAX 0x19 ! const unsigned int c4x_num_indirects = (((sizeof c4x_indirects) / (sizeof c4x_indirects[0])) - 1); /* Instruction template. */ ! struct c4x_inst { char * name; --- 217,226 ---- }; ! #define TIC3X_MODN_MAX 0x19 ! const unsigned int tic4x_num_indirects = (((sizeof tic4x_indirects) / (sizeof tic4x_indirects[0])) - 1); /* Instruction template. */ ! struct tic4x_inst { char * name; *************** *** 231,235 **** }; ! typedef struct c4x_inst c4x_inst_t; /* Opcode infix --- 231,235 ---- }; ! typedef struct tic4x_inst tic4x_inst_t; /* Opcode infix *************** *** 279,284 **** */ ! #define C4X_OPERANDS_MAX 7 /* Max number of operands for an inst. */ ! #define C4X_NAME_MAX 16 /* Max number of chars in parallel name. */ /* Define the instruction level */ --- 279,284 ---- */ ! #define TIC4X_OPERANDS_MAX 7 /* Max number of operands for an inst. */ ! #define TIC4X_NAME_MAX 16 /* Max number of chars in parallel name. */ /* Define the instruction level */ *************** *** 874,879 **** ! /* Define c3x opcodes for assembler and disassembler. */ ! static const c4x_inst_t c4x_insts[] = { /* Put synonyms after the desired forms in table so that they get --- 874,879 ---- ! /* Define tic4x opcodes for assembler and disassembler. */ ! static const tic4x_inst_t tic4x_insts[] = { /* Put synonyms after the desired forms in table so that they get *************** *** 1071,1075 **** QC_CLASS_INSN( "xor", "sti", 0xee000000, OP_C3X ), ! /* Dummy entry, not included in c3x_num_insts. This lets code examine entry i + 1 without checking if we've run off the end of the table. */ --- 1071,1075 ---- QC_CLASS_INSN( "xor", "sti", 0xee000000, OP_C3X ), ! /* Dummy entry, not included in tic4x_num_insts. This lets code examine entry i + 1 without checking if we've run off the end of the table. */ *************** *** 1077,1079 **** }; ! const unsigned int c4x_num_insts = (((sizeof c4x_insts) / (sizeof c4x_insts[0])) - 1); --- 1077,1079 ---- }; ! const unsigned int tic4x_num_insts = (((sizeof tic4x_insts) / (sizeof tic4x_insts[0])) - 1); |
From: <ea...@us...> - 2003-04-18 20:28:09
|
Update of /cvsroot/p4w/cygwin/include/gdb In directory sc8-pr-cvs1:/tmp/cvs-serv17902/include/gdb Modified Files: Tag: p4wposix ChangeLog sim-arm.h Log Message: Sync with HEAD Index: ChangeLog =================================================================== RCS file: /cvsroot/p4w/cygwin/include/gdb/ChangeLog,v retrieving revision 1.1.1.1.2.2 retrieving revision 1.1.1.1.2.3 diff -C2 -d -r1.1.1.1.2.2 -r1.1.1.1.2.3 *** ChangeLog 21 Mar 2003 18:56:07 -0000 1.1.1.1.2.2 --- ChangeLog 18 Apr 2003 20:27:36 -0000 1.1.1.1.2.3 *************** *** 1,2 **** --- 1,6 ---- + 2003-03-27 Nick Clifton <ni...@re...> + + * sim-arm.h (sim_arm_regs): Add iWMMXt registers. + 2003-03-20 Nick Clifton <ni...@re...> Index: sim-arm.h =================================================================== RCS file: /cvsroot/p4w/cygwin/include/gdb/sim-arm.h,v retrieving revision 1.1.1.1.2.1 retrieving revision 1.1.1.1.2.2 diff -C2 -d -r1.1.1.1.2.1 -r1.1.1.1.2.2 *** sim-arm.h 21 Mar 2003 18:56:07 -0000 1.1.1.1.2.1 --- sim-arm.h 18 Apr 2003 20:27:36 -0000 1.1.1.1.2.2 *************** *** 73,77 **** SIM_ARM_MAVERIC_COP0R14_REGNUM, SIM_ARM_MAVERIC_COP0R15_REGNUM, ! SIM_ARM_MAVERIC_DSPSC_REGNUM }; --- 73,109 ---- SIM_ARM_MAVERIC_COP0R14_REGNUM, SIM_ARM_MAVERIC_COP0R15_REGNUM, ! SIM_ARM_MAVERIC_DSPSC_REGNUM, ! SIM_ARM_IWMMXT_COP0R0_REGNUM, ! SIM_ARM_IWMMXT_COP0R1_REGNUM, ! SIM_ARM_IWMMXT_COP0R2_REGNUM, ! SIM_ARM_IWMMXT_COP0R3_REGNUM, ! SIM_ARM_IWMMXT_COP0R4_REGNUM, ! SIM_ARM_IWMMXT_COP0R5_REGNUM, ! SIM_ARM_IWMMXT_COP0R6_REGNUM, ! SIM_ARM_IWMMXT_COP0R7_REGNUM, ! SIM_ARM_IWMMXT_COP0R8_REGNUM, ! SIM_ARM_IWMMXT_COP0R9_REGNUM, ! SIM_ARM_IWMMXT_COP0R10_REGNUM, ! SIM_ARM_IWMMXT_COP0R11_REGNUM, ! SIM_ARM_IWMMXT_COP0R12_REGNUM, ! SIM_ARM_IWMMXT_COP0R13_REGNUM, ! SIM_ARM_IWMMXT_COP0R14_REGNUM, ! SIM_ARM_IWMMXT_COP0R15_REGNUM, ! SIM_ARM_IWMMXT_COP1R0_REGNUM, ! SIM_ARM_IWMMXT_COP1R1_REGNUM, ! SIM_ARM_IWMMXT_COP1R2_REGNUM, ! SIM_ARM_IWMMXT_COP1R3_REGNUM, ! SIM_ARM_IWMMXT_COP1R4_REGNUM, ! SIM_ARM_IWMMXT_COP1R5_REGNUM, ! SIM_ARM_IWMMXT_COP1R6_REGNUM, ! SIM_ARM_IWMMXT_COP1R7_REGNUM, ! SIM_ARM_IWMMXT_COP1R8_REGNUM, ! SIM_ARM_IWMMXT_COP1R9_REGNUM, ! SIM_ARM_IWMMXT_COP1R10_REGNUM, ! SIM_ARM_IWMMXT_COP1R11_REGNUM, ! SIM_ARM_IWMMXT_COP1R12_REGNUM, ! SIM_ARM_IWMMXT_COP1R13_REGNUM, ! SIM_ARM_IWMMXT_COP1R14_REGNUM, ! SIM_ARM_IWMMXT_COP1R15_REGNUM }; |
From: <ea...@us...> - 2003-04-18 20:28:08
|
Update of /cvsroot/p4w/cygwin/include/elf In directory sc8-pr-cvs1:/tmp/cvs-serv17902/include/elf Modified Files: Tag: p4wposix ChangeLog arm.h common.h Added Files: Tag: p4wposix xtensa.h Log Message: Sync with HEAD --- NEW FILE: xtensa.h --- /* Xtensa ELF support for BFD. Copyright 2003 Free Software Foundation, Inc. Contributed by Bob Wilson (bw...@te...) at Tensilica. This file is part of BFD, the Binary File Descriptor library. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* This file holds definitions specific to the Xtensa ELF ABI. */ #ifndef _ELF_XTENSA_H #define _ELF_XTENSA_H #include "elf/reloc-macros.h" /* Relocations. */ START_RELOC_NUMBERS (elf_xtensa_reloc_type) RELOC_NUMBER (R_XTENSA_NONE, 0) RELOC_NUMBER (R_XTENSA_32, 1) RELOC_NUMBER (R_XTENSA_RTLD, 2) RELOC_NUMBER (R_XTENSA_GLOB_DAT, 3) RELOC_NUMBER (R_XTENSA_JMP_SLOT, 4) RELOC_NUMBER (R_XTENSA_RELATIVE, 5) RELOC_NUMBER (R_XTENSA_PLT, 6) RELOC_NUMBER (R_XTENSA_OP0, 8) RELOC_NUMBER (R_XTENSA_OP1, 9) RELOC_NUMBER (R_XTENSA_OP2, 10) RELOC_NUMBER (R_XTENSA_ASM_EXPAND, 11) RELOC_NUMBER (R_XTENSA_ASM_SIMPLIFY, 12) RELOC_NUMBER (R_XTENSA_GNU_VTINHERIT, 15) RELOC_NUMBER (R_XTENSA_GNU_VTENTRY, 16) END_RELOC_NUMBERS (R_XTENSA_max) /* Processor-specific flags for the ELF header e_flags field. */ /* Four-bit Xtensa machine type field. */ #define EF_XTENSA_MACH 0x0000000f /* Various CPU types. */ #define E_XTENSA_MACH 0x00000000 /* Leave bits 0xf0 alone in case we ever have more than 16 cpu types. Highly unlikely, but what the heck. */ #define EF_XTENSA_XT_INSN 0x00000100 #define EF_XTENSA_XT_LIT 0x00000200 /* Processor-specific dynamic array tags. */ /* Offset of the table that records the GOT location(s). */ #define DT_XTENSA_GOT_LOC_OFF 0x70000000 /* Number of entries in the GOT location table. */ #define DT_XTENSA_GOT_LOC_SZ 0x70000001 /* Definitions for instruction and literal property tables. The instruction tables for ".gnu.linkonce.t.*" sections are placed in the following sections: instruction tables: .gnu.linkonce.x.* literal tables: .gnu.linkonce.p.* */ #define XTENSA_INSN_SEC_NAME ".xt.insn" #define XTENSA_LIT_SEC_NAME ".xt.lit" typedef struct property_table_entry_t { bfd_vma address; bfd_vma size; } property_table_entry; #endif /* _ELF_XTENSA_H */ Index: ChangeLog =================================================================== RCS file: /cvsroot/p4w/cygwin/include/elf/ChangeLog,v retrieving revision 1.1.1.1.2.2 retrieving revision 1.1.1.1.2.3 diff -C2 -d -r1.1.1.1.2.2 -r1.1.1.1.2.3 *** ChangeLog 21 Mar 2003 18:56:06 -0000 1.1.1.1.2.2 --- ChangeLog 18 Apr 2003 20:27:34 -0000 1.1.1.1.2.3 *************** *** 1,3 **** ! Mon Mar 3 20:35:58 2003 J"orn Rennecke <joe...@su...> * sh.h (EF_SH_MERGE_MACH): Make sure SH2E & SH3/SH3E merge to SH3E, --- 1,23 ---- ! 2003-04-15 Rohit Kumar Srivastava <ro...@kp...> ! ! * common.h: Replace occurrances of 'Hitachi' with 'Renesas'. ! ! 2003-04-01 Bob Wilson <bob...@ac...> ! ! * elf/common.h (EM_XTENSA_OLD): Define. ! * elf/xtensa.h: New file. ! ! 2003-04-01 Nick Clifton <ni...@re...> ! ! * arm.h (ARM_NOTE_SECTION): Include .gnu in the string. ! ! 2003-03-25 Stan Cox <sc...@re...> ! Nick Clifton <ni...@re...> ! ! Contribute support for Intel's iWMMXt chip - an ARM variant: ! ! * arm.h (ARM_NOTE_SECTION): Define. ! ! 2003-03-03 J"orn Rennecke <joe...@su...> * sh.h (EF_SH_MERGE_MACH): Make sure SH2E & SH3/SH3E merge to SH3E, Index: arm.h =================================================================== RCS file: /cvsroot/p4w/cygwin/include/elf/arm.h,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** arm.h 20 Feb 2003 17:54:01 -0000 1.1.1.1 --- arm.h 18 Apr 2003 20:27:34 -0000 1.1.1.1.2.1 *************** *** 141,143 **** --- 141,146 ---- END_RELOC_NUMBERS (R_ARM_max) + /* The name of the note section used to identify arm variants. */ + #define ARM_NOTE_SECTION ".note.gnu.arm.ident" + #endif /* _ELF_ARM_H */ Index: common.h =================================================================== RCS file: /cvsroot/p4w/cygwin/include/elf/common.h,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** common.h 20 Feb 2003 17:54:01 -0000 1.1.1.1 --- common.h 18 Apr 2003 20:27:34 -0000 1.1.1.1.2.1 *************** *** 8,26 **** Programming Support Tools". ! This file is part of BFD, the Binary File Descriptor library. ! This program is free software; you can redistribute it and/or modify ! it under the terms of the GNU General Public License as published by ! the Free Software Foundation; either version 2 of the License, or ! (at your option) any later version. ! This program is distributed in the hope that it will be useful, ! but WITHOUT ANY WARRANTY; without even the implied warranty of ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! GNU General Public License for more details. ! You should have received a copy of the GNU General Public License ! along with this program; if not, write to the Free Software ! Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ --- 8,26 ---- Programming Support Tools". ! This file is part of BFD, the Binary File Descriptor library. ! This program is free software; you can redistribute it and/or modify ! it under the terms of the GNU General Public License as published by ! the Free Software Foundation; either version 2 of the License, or ! (at your option) any later version. ! This program is distributed in the hope that it will be useful, ! but WITHOUT ANY WARRANTY; without even the implied warranty of ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! GNU General Public License for more details. ! You should have received a copy of the GNU General Public License ! along with this program; if not, write to the Free Software ! Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ *************** *** 28,37 **** that are common to both the internal and external representations. For example, ELFMAG0 is the byte 0x7F in both the internal (in-memory) ! and external (in-file) representations. */ #ifndef _ELF_COMMON_H #define _ELF_COMMON_H ! /* Fields in e_ident[] */ #define EI_MAG0 0 /* File identification byte 0 index */ --- 28,37 ---- that are common to both the internal and external representations. For example, ELFMAG0 is the byte 0x7F in both the internal (in-memory) ! and external (in-file) representations. */ #ifndef _ELF_COMMON_H #define _ELF_COMMON_H ! /* Fields in e_ident[]. */ #define EI_MAG0 0 /* File identification byte 0 index */ *************** *** 127,138 **** #define EM_ARM 40 /* ARM */ #define EM_OLD_ALPHA 41 /* Digital Alpha */ ! #define EM_SH 42 /* Hitachi SH */ #define EM_SPARCV9 43 /* SPARC v9 64-bit */ #define EM_TRICORE 44 /* Siemens Tricore embedded processor */ #define EM_ARC 45 /* ARC Cores */ ! #define EM_H8_300 46 /* Hitachi H8/300 */ ! #define EM_H8_300H 47 /* Hitachi H8/300H */ ! #define EM_H8S 48 /* Hitachi H8S */ ! #define EM_H8_500 49 /* Hitachi H8/500 */ #define EM_IA_64 50 /* Intel IA-64 Processor */ #define EM_MIPS_X 51 /* Stanford MIPS-X */ --- 127,138 ---- #define EM_ARM 40 /* ARM */ #define EM_OLD_ALPHA 41 /* Digital Alpha */ ! #define EM_SH 42 /* Renesas (formerly Hitachi) SH */ #define EM_SPARCV9 43 /* SPARC v9 64-bit */ #define EM_TRICORE 44 /* Siemens Tricore embedded processor */ #define EM_ARC 45 /* ARC Cores */ ! #define EM_H8_300 46 /* Renesas (formerly Hitachi) H8/300 */ ! #define EM_H8_300H 47 /* Renesas (formerly Hitachi) H8/300H */ ! #define EM_H8S 48 /* Renesas (formerly Hitachi) H8S */ ! #define EM_H8_500 49 /* Renesas (formerly Hitachi) H8/500 */ #define EM_IA_64 50 /* Intel IA-64 Processor */ #define EM_MIPS_X 51 /* Stanford MIPS-X */ *************** *** 262,265 **** --- 262,269 ---- /* Vitesse IQ2000. */ #define EM_IQ2000 0xFEBA + + /* Old, unofficial value for Xtensa. */ + #define EM_XTENSA_OLD 0xabc7 + /* See the above comment before you add a new EM_* value here. */ |
Update of /cvsroot/p4w/cygwin/include/coff In directory sc8-pr-cvs1:/tmp/cvs-serv17902/include/coff Modified Files: Tag: p4wposix ChangeLog arm.h h8300.h h8500.h sh.h tic4x.h Log Message: Sync with HEAD Index: ChangeLog =================================================================== RCS file: /cvsroot/p4w/cygwin/include/coff/ChangeLog,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** ChangeLog 20 Feb 2003 17:54:01 -0000 1.1.1.1 --- ChangeLog 18 Apr 2003 20:27:33 -0000 1.1.1.1.2.1 *************** *** 1,2 **** --- 1,15 ---- + 2003-04-15 Rohit Kumar Srivastava <ro...@kp...> + + * sh.h: Replace occurrances of 'Hitachi' with 'Renesas'. + * h8300.h: Likewise. + * h8500.h: Likewise. + + 2003-03-25 Stan Cox <sc...@re...> + Nick Clifton <ni...@re...> + + Contribute support for Intel's iWMMXt chip - an ARM variant: + + * arm.h (ARM_NOTE_SECTION): Define. + 2002-11-30 Alan Modra <am...@bi...> Index: arm.h =================================================================== RCS file: /cvsroot/p4w/cygwin/include/coff/arm.h,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** arm.h 20 Feb 2003 17:54:00 -0000 1.1.1.1 --- arm.h 18 Apr 2003 20:27:34 -0000 1.1.1.1.2.1 *************** *** 125,126 **** --- 125,128 ---- #define RELSZ 14 #endif + + #define ARM_NOTE_SECTION ".note" Index: h8300.h =================================================================== RCS file: /cvsroot/p4w/cygwin/include/coff/h8300.h,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** h8300.h 20 Feb 2003 17:54:01 -0000 1.1.1.1 --- h8300.h 18 Apr 2003 20:27:34 -0000 1.1.1.1.2.1 *************** *** 1,5 **** ! /* coff information for Hitachi H8/300 and H8/300-H ! Copyright 2001 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify --- 1,5 ---- ! /* coff information for Renesas H8/300 and H8/300-H ! Copyright 2001, 2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify Index: h8500.h =================================================================== RCS file: /cvsroot/p4w/cygwin/include/coff/h8500.h,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** h8500.h 20 Feb 2003 17:54:01 -0000 1.1.1.1 --- h8500.h 18 Apr 2003 20:27:34 -0000 1.1.1.1.2.1 *************** *** 1,5 **** ! /* coff information for Hitachi H8/500 ! Copyright 2001 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify --- 1,5 ---- ! /* coff information for Renesas H8/500 ! Copyright 2001, 2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify Index: sh.h =================================================================== RCS file: /cvsroot/p4w/cygwin/include/coff/sh.h,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** sh.h 20 Feb 2003 17:54:01 -0000 1.1.1.1 --- sh.h 18 Apr 2003 20:27:34 -0000 1.1.1.1.2.1 *************** *** 1,5 **** ! /* coff information for Hitachi SH ! Copyright 2001 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify --- 1,5 ---- ! /* coff information for Renesas SH ! Copyright 2001, 2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify Index: tic4x.h =================================================================== RCS file: /cvsroot/p4w/cygwin/include/coff/tic4x.h,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** tic4x.h 20 Feb 2003 17:54:01 -0000 1.1.1.1 --- tic4x.h 18 Apr 2003 20:27:34 -0000 1.1.1.1.2.1 *************** *** 2,6 **** This file customizes the settings in coff/ti.h. ! Copyright 2002 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify --- 2,6 ---- This file customizes the settings in coff/ti.h. ! Copyright 2002, 2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify *************** *** 32,41 **** #define TICOFF_TARGET_MACHINE_GET(FLAGS) \ ! (((FLAGS) & F_VERS) ? bfd_mach_c4x : bfd_mach_c3x) #define TICOFF_TARGET_MACHINE_SET(FLAGSP, MACHINE) \ do \ { \ ! if ((MACHINE) == bfd_mach_c4x) \ *(FLAGSP) |= F_VERS; \ } \ --- 32,41 ---- #define TICOFF_TARGET_MACHINE_GET(FLAGS) \ ! (((FLAGS) & F_VERS) ? bfd_mach_tic4x : bfd_mach_tic3x) #define TICOFF_TARGET_MACHINE_SET(FLAGSP, MACHINE) \ do \ { \ ! if ((MACHINE) == bfd_mach_tic4x) \ *(FLAGSP) |= F_VERS; \ } \ |
Update of /cvsroot/p4w/cygwin In directory sc8-pr-cvs1:/tmp/cvs-serv17902 Modified Files: Tag: p4wposix ChangeLog Makefile.in Makefile.tpl configure configure.in libtool.m4 Log Message: Sync with HEAD Index: ChangeLog =================================================================== RCS file: /cvsroot/p4w/cygwin/ChangeLog,v retrieving revision 1.1.1.1.2.3 retrieving revision 1.1.1.1.2.4 diff -C2 -d -r1.1.1.1.2.3 -r1.1.1.1.2.4 *** ChangeLog 21 Mar 2003 18:56:04 -0000 1.1.1.1.2.3 --- ChangeLog 18 Apr 2003 20:27:30 -0000 1.1.1.1.2.4 *************** *** 1,2 **** --- 1,19 ---- + 2003-04-17 Phil Edwards <pm...@gc...> + + * Makefile.tpl (GCC_STRAP_TARGETS): New variable containing all the + previous bootstrap targets, plus bubblestrap, quickstrap, cleanstrap, + and restrap. + * Makefile.in: Regenerate. + + 2003-04-16 Richard Earnshaw <rea...@ar...> + + * configure.in (arm-*-netbsdelf*): Enable building java libraries. + * configure: Regenerated. + + 2003-04-11 Alexandre Oliva <ao...@re...> + + * libtool.m4 (lt_cv_deplibs_check_method): Use pass_all on mips*. + * */configure: Rebuilt. + 2003-03-14 Nathanael Nerode <ne...@gc...> Index: Makefile.in =================================================================== RCS file: /cvsroot/p4w/cygwin/Makefile.in,v retrieving revision 1.1.1.1.2.3 retrieving revision 1.1.1.1.2.4 diff -C2 -d -r1.1.1.1.2.3 -r1.1.1.1.2.4 *** Makefile.in 21 Mar 2003 18:56:05 -0000 1.1.1.1.2.3 --- Makefile.in 18 Apr 2003 20:27:31 -0000 1.1.1.1.2.4 *************** *** 7265,7270 **** # in parallel. # ! .PHONY: bootstrap bootstrap-lean bootstrap2 bootstrap2-lean bootstrap3 bootstrap3-lean bootstrap4 bootstrap4-lean bubblestrap quickstrap cleanstrap restrap ! bootstrap bootstrap-lean bootstrap2 bootstrap2-lean bootstrap3 bootstrap3-lean bootstrap4 bootstrap4-lean bubblestrap quickstrap cleanstrap restrap: all-bootstrap configure-gcc @r=`${PWD}`; export r; \ s=`cd $(srcdir); ${PWD}`; export s; \ --- 7265,7271 ---- # in parallel. # ! GCC_STRAP_TARGETS = bootstrap bootstrap-lean bootstrap2 bootstrap2-lean bootstrap3 bootstrap3-lean bootstrap4 bootstrap4-lean bubblestrap quickstrap cleanstrap restrap ! .PHONY: $(GCC_STRAP_TARGETS) ! $(GCC_STRAP_TARGETS): all-bootstrap configure-gcc @r=`${PWD}`; export r; \ s=`cd $(srcdir); ${PWD}`; export s; \ Index: Makefile.tpl =================================================================== RCS file: /cvsroot/p4w/cygwin/Makefile.tpl,v retrieving revision 1.1.1.1.2.3 retrieving revision 1.1.1.1.2.4 diff -C2 -d -r1.1.1.1.2.3 -r1.1.1.1.2.4 *** Makefile.tpl 21 Mar 2003 18:56:05 -0000 1.1.1.1.2.3 --- Makefile.tpl 18 Apr 2003 20:27:32 -0000 1.1.1.1.2.4 *************** *** 1190,1195 **** # in parallel. # ! .PHONY: bootstrap bootstrap-lean bootstrap2 bootstrap2-lean bootstrap3 bootstrap3-lean bootstrap4 bootstrap4-lean bubblestrap quickstrap cleanstrap restrap ! bootstrap bootstrap-lean bootstrap2 bootstrap2-lean bootstrap3 bootstrap3-lean bootstrap4 bootstrap4-lean bubblestrap quickstrap cleanstrap restrap: all-bootstrap configure-gcc @r=`${PWD}`; export r; \ s=`cd $(srcdir); ${PWD}`; export s; \ --- 1190,1196 ---- # in parallel. # ! GCC_STRAP_TARGETS = bootstrap bootstrap-lean bootstrap2 bootstrap2-lean bootstrap3 bootstrap3-lean bootstrap4 bootstrap4-lean bubblestrap quickstrap cleanstrap restrap ! .PHONY: $(GCC_STRAP_TARGETS) ! $(GCC_STRAP_TARGETS): all-bootstrap configure-gcc @r=`${PWD}`; export r; \ s=`cd $(srcdir); ${PWD}`; export s; \ Index: configure =================================================================== RCS file: /cvsroot/p4w/cygwin/configure,v retrieving revision 1.1.1.1.2.3 retrieving revision 1.1.1.1.2.4 diff -C2 -d -r1.1.1.1.2.3 -r1.1.1.1.2.4 *** configure 21 Mar 2003 18:56:05 -0000 1.1.1.1.2.3 --- configure 18 Apr 2003 20:27:32 -0000 1.1.1.1.2.4 *************** *** 953,957 **** ;; *-*-cygwin*) ! noconfigdirs="autoconf automake send-pr rcs guile perl libiberty etc" ;; *-*-netbsd*) --- 953,957 ---- ;; *-*-cygwin*) ! noconfigdirs="autoconf automake send-pr rcs guile perl" ;; *-*-netbsd*) *************** *** 1010,1013 **** --- 1010,1014 ---- case "${target}" in i*86-*-netbsdelf*) ;; + arm*-*-netbsdelf*) ;; *) noconfigdirs="$noconfigdirs ${libgcj}" *************** *** 2684,2688 **** set dummy ${ncn_tool_prefix}ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2763: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2685,2689 ---- set dummy ${ncn_tool_prefix}ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2687: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 2717,2721 **** set dummy ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2796: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2718,2722 ---- set dummy ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2720: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 2756,2760 **** set dummy ${ncn_tool_prefix}as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2835: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2757,2761 ---- set dummy ${ncn_tool_prefix}as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2759: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 2789,2793 **** set dummy as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2868: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AS'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2790,2794 ---- set dummy as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2792: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AS'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 2828,2832 **** set dummy ${ncn_tool_prefix}dlltool; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2907: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2829,2833 ---- set dummy ${ncn_tool_prefix}dlltool; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2831: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 2861,2865 **** set dummy dlltool; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2940: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_DLLTOOL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2862,2866 ---- set dummy dlltool; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2864: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_DLLTOOL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 2900,2904 **** set dummy ${ncn_tool_prefix}ld; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2979: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2901,2905 ---- set dummy ${ncn_tool_prefix}ld; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2903: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 2933,2937 **** set dummy ld; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3012: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2934,2938 ---- set dummy ld; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2936: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 2972,2976 **** set dummy ${ncn_tool_prefix}nm; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3051: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2973,2977 ---- set dummy ${ncn_tool_prefix}nm; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2975: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3005,3009 **** set dummy nm; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3084: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3006,3010 ---- set dummy nm; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3008: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3044,3048 **** set dummy ${ncn_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3123: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3045,3049 ---- set dummy ${ncn_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3047: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3077,3081 **** set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3156: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3078,3082 ---- set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3080: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3116,3120 **** set dummy ${ncn_tool_prefix}windres; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3195: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3117,3121 ---- set dummy ${ncn_tool_prefix}windres; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3119: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3149,3153 **** set dummy windres; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3228: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_WINDRES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3150,3154 ---- set dummy windres; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3152: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_WINDRES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3188,3192 **** set dummy ${ncn_tool_prefix}objcopy; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3267: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_OBJCOPY'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3189,3193 ---- set dummy ${ncn_tool_prefix}objcopy; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3191: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_OBJCOPY'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3221,3225 **** set dummy objcopy; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3300: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_OBJCOPY'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3222,3226 ---- set dummy objcopy; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3224: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_OBJCOPY'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3260,3264 **** set dummy ${ncn_tool_prefix}objdump; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3339: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3261,3265 ---- set dummy ${ncn_tool_prefix}objdump; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3263: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3293,3297 **** set dummy objdump; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3372: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_OBJDUMP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3294,3298 ---- set dummy objdump; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3296: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_OBJDUMP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3341,3345 **** set dummy ${ncn_target_tool_prefix}ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3420: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3342,3346 ---- set dummy ${ncn_target_tool_prefix}ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3344: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3374,3378 **** set dummy ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3453: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AR_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3375,3379 ---- set dummy ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3377: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AR_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3413,3417 **** set dummy ${ncn_target_tool_prefix}as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3492: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AS_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3414,3418 ---- set dummy ${ncn_target_tool_prefix}as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3416: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AS_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3446,3450 **** set dummy as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3525: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AS_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3447,3451 ---- set dummy as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3449: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AS_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3485,3489 **** set dummy ${ncn_target_tool_prefix}dlltool; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3564: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3486,3490 ---- set dummy ${ncn_target_tool_prefix}dlltool; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3488: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3518,3522 **** set dummy dlltool; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3597: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3519,3523 ---- set dummy dlltool; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3521: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3557,3561 **** set dummy ${ncn_target_tool_prefix}ld; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3636: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LD_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3558,3562 ---- set dummy ${ncn_target_tool_prefix}ld; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3560: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LD_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3590,3594 **** set dummy ld; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3669: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_LD_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3591,3595 ---- set dummy ld; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3593: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_LD_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3629,3633 **** set dummy ${ncn_target_tool_prefix}nm; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3708: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_NM_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3630,3634 ---- set dummy ${ncn_target_tool_prefix}nm; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3632: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_NM_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3662,3666 **** set dummy nm; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3741: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_NM_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3663,3667 ---- set dummy nm; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3665: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_NM_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3701,3705 **** set dummy ${ncn_target_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3780: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3702,3706 ---- set dummy ${ncn_target_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3704: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3734,3738 **** set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3813: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_RANLIB_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3735,3739 ---- set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3737: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_RANLIB_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3773,3777 **** set dummy ${ncn_target_tool_prefix}windres; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3852: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_WINDRES_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3774,3778 ---- set dummy ${ncn_target_tool_prefix}windres; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3776: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_WINDRES_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3806,3810 **** set dummy windres; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3885: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_WINDRES_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3807,3811 ---- set dummy windres; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:3809: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_WINDRES_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3873,3877 **** echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 ! echo "configure:3952: checking whether to enable maintainer-specific portions of Makefiles" >&5 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then --- 3874,3878 ---- echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 ! echo "configure:3876: checking whether to enable maintainer-specific portions of Makefiles" >&5 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then Index: configure.in =================================================================== RCS file: /cvsroot/p4w/cygwin/configure.in,v retrieving revision 1.1.1.1.2.3 retrieving revision 1.1.1.1.2.4 diff -C2 -d -r1.1.1.1.2.3 -r1.1.1.1.2.4 *** configure.in 21 Mar 2003 18:56:06 -0000 1.1.1.1.2.3 --- configure.in 18 Apr 2003 20:27:32 -0000 1.1.1.1.2.4 *************** *** 294,298 **** ;; *-*-cygwin*) ! noconfigdirs="autoconf automake send-pr rcs guile perl libiberty etc" ;; *-*-netbsd*) --- 294,298 ---- ;; *-*-cygwin*) ! noconfigdirs="autoconf automake send-pr rcs guile perl" ;; *-*-netbsd*) *************** *** 351,354 **** --- 351,355 ---- case "${target}" in i*86-*-netbsdelf*) ;; + arm*-*-netbsdelf*) ;; *) noconfigdirs="$noconfigdirs ${libgcj}" Index: libtool.m4 =================================================================== RCS file: /cvsroot/p4w/cygwin/libtool.m4,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** libtool.m4 20 Feb 2003 17:53:53 -0000 1.1.1.1 --- libtool.m4 18 Apr 2003 20:27:32 -0000 1.1.1.1.2.1 *************** *** 637,641 **** linux-gnu*) case $host_cpu in ! alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* ) lt_cv_deplibs_check_method=pass_all ;; *) --- 637,641 ---- linux-gnu*) case $host_cpu in ! alpha* | mips* | hppa* | i*86 | powerpc* | sparc* | ia64* ) lt_cv_deplibs_check_method=pass_all ;; *) |
Update of /cvsroot/p4w/cygwin/include In directory sc8-pr-cvs1:/tmp/cvs-serv17902/include Modified Files: Tag: p4wposix ChangeLog dis-asm.h Added Files: Tag: p4wposix xtensa-config.h xtensa-isa-internal.h xtensa-isa.h Log Message: Sync with HEAD --- NEW FILE: xtensa-config.h --- /* Xtensa configuration settings. Copyright (C) 2003 Free Software Foundation, Inc. Contributed by Bob Wilson (bw...@te...) at Tensilica. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef XTENSA_CONFIG_H #define XTENSA_CONFIG_H /* The macros defined here match those with the same names in the Xtensa compile-time HAL (Hardware Abstraction Layer). Please refer to the Xtensa System Software Reference Manual for documentation of these macros. */ #define XCHAL_HAVE_BE 1 #define XCHAL_HAVE_DENSITY 1 #define XCHAL_HAVE_MAC16 0 #define XCHAL_HAVE_MUL16 0 #define XCHAL_HAVE_MUL32 0 #define XCHAL_HAVE_DIV32 0 #define XCHAL_HAVE_NSA 1 #define XCHAL_HAVE_MINMAX 0 #define XCHAL_HAVE_SEXT 0 #define XCHAL_HAVE_LOOPS 1 #define XCHAL_HAVE_BOOLEANS 0 #define XCHAL_HAVE_FP 0 #define XCHAL_HAVE_FP_DIV 0 #define XCHAL_HAVE_FP_RECIP 0 #define XCHAL_HAVE_FP_SQRT 0 #define XCHAL_HAVE_FP_RSQRT 0 #define XCHAL_HAVE_WINDOWED 1 #define XCHAL_ICACHE_SIZE 8192 #define XCHAL_DCACHE_SIZE 8192 #define XCHAL_ICACHE_LINESIZE 16 #define XCHAL_DCACHE_LINESIZE 16 #define XCHAL_ICACHE_LINEWIDTH 4 #define XCHAL_DCACHE_LINEWIDTH 4 #define XCHAL_DCACHE_IS_WRITEBACK 0 #define XCHAL_HAVE_MMU 1 #define XCHAL_MMU_MIN_PTE_PAGE_SIZE 12 #define XCHAL_HAVE_DEBUG 1 #define XCHAL_NUM_IBREAK 2 #define XCHAL_NUM_DBREAK 2 #define XCHAL_DEBUGLEVEL 4 #define XCHAL_EXTRA_SA_SIZE 0 #define XCHAL_EXTRA_SA_ALIGN 1 #endif /* !XTENSA_CONFIG_H */ --- NEW FILE: xtensa-isa-internal.h --- /* Internal definitions for configurable Xtensa ISA support. Copyright 2003 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Use the statically-linked version for the GNU tools. */ #define STATIC_LIBISA 1 #define ISA_INTERFACE_VERSION 3 struct config_struct { char *param_name; char *param_value; }; /* Encode/decode function types for immediate operands. */ typedef uint32 (*xtensa_immed_decode_fn) (uint32); typedef xtensa_encode_result (*xtensa_immed_encode_fn) (uint32 *); /* Field accessor function types. */ typedef uint32 (*xtensa_get_field_fn) (const xtensa_insnbuf); typedef void (*xtensa_set_field_fn) (xtensa_insnbuf, uint32); /* PC-relative relocation function types. */ typedef uint32 (*xtensa_do_reloc_fn) (uint32, uint32); typedef uint32 (*xtensa_undo_reloc_fn) (uint32, uint32); /* Instruction decode function type. */ typedef int (*xtensa_insn_decode_fn) (const xtensa_insnbuf); /* Instruction encoding template function type (each of these functions returns a constant template; they exist only to make it easier for the TIE compiler to generate endian-independent DLLs). */ typedef xtensa_insnbuf (*xtensa_encoding_template_fn) (void); typedef struct xtensa_operand_internal_struct { char *operand_kind; /* e.g., "a", "f", "i", "l".... */ char inout; /* '<', '>', or '='. */ char isPCRelative; /* Is this a PC-relative offset? */ xtensa_get_field_fn get_field; /* Get encoded value of the field. */ xtensa_set_field_fn set_field; /* Set field with an encoded value. */ xtensa_immed_encode_fn encode; /* Encode the operand value. */ xtensa_immed_decode_fn decode; /* Decode the value from the field. */ xtensa_do_reloc_fn do_reloc; /* Perform a PC-relative relocation. */ xtensa_undo_reloc_fn undo_reloc; /* Undo a PC-relative relocation. */ } xtensa_operand_internal; typedef struct xtensa_iclass_internal_struct { int num_operands; /* Size of "operands" array. */ xtensa_operand_internal **operands; /* Array of operand structures. */ } xtensa_iclass_internal; typedef struct xtensa_opcode_internal_struct { const char *name; /* Opcode mnemonic. */ int length; /* Length in bytes of the insn. */ xtensa_encoding_template_fn template; /* Fn returning encoding template. */ xtensa_iclass_internal *iclass; /* Iclass for this opcode. */ } xtensa_opcode_internal; typedef struct opname_lookup_entry_struct { const char *key; /* Opcode mnemonic. */ xtensa_opcode opcode; /* Internal opcode number. */ } opname_lookup_entry; typedef struct xtensa_isa_internal_struct { int is_big_endian; /* Endianness. */ int insn_size; /* Maximum length in bytes. */ int insnbuf_size; /* Number of insnbuf_words. */ int num_opcodes; /* Total number for all modules. */ xtensa_opcode_internal **opcode_table;/* Indexed by internal opcode #. */ int num_modules; /* Number of modules (DLLs) loaded. */ int *module_opcode_base; /* Starting opcode # for each module. */ xtensa_insn_decode_fn *module_decode_fn; /* Decode fn for each module. */ opname_lookup_entry *opname_lookup_table; /* Lookup table for each module. */ struct config_struct *config; /* Table of configuration parameters. */ int has_density; /* Is density option available? */ } xtensa_isa_internal; typedef struct xtensa_isa_module_struct { const int (*get_num_opcodes_fn) (void); xtensa_opcode_internal **(*get_opcodes_fn) (void); int (*decode_insn_fn) (const xtensa_insnbuf); struct config_struct *(*get_config_table_fn) (void); } xtensa_isa_module; extern xtensa_isa_module xtensa_isa_modules[]; --- NEW FILE: xtensa-isa.h --- /* Interface definition for configurable Xtensa ISA support. Copyright 2003 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef XTENSA_LIBISA_H #define XTENSA_LIBISA_H /* Use the statically-linked version for the GNU tools. */ #define STATIC_LIBISA 1 #ifdef __cplusplus extern "C" { #endif #ifndef uint32 #define uint32 unsigned int #endif /* This file defines the interface to the Xtensa ISA library. This library contains most of the ISA-specific information for a particular Xtensa processor. For example, the set of valid instructions, their opcode encodings and operand fields are all included here. To support Xtensa's configurability and user-defined instruction extensions (i.e., TIE), the library is initialized by loading one or more dynamic libraries; only a small set of interface code is present in the statically-linked portion of the library. This interface basically defines four abstract data types. . an instruction buffer - for holding the raw instruction bits . ISA info - information about the ISA as a whole . opcode info - information about individual instructions . operand info - information about specific instruction operands It would be nice to implement these as classes in C++, but the library is implemented in C to match the expectations of the GNU tools. Instead, the interface defines a set of functions to access each data type. With the exception of the instruction buffer, the internal representations of the data structures are hidden. All accesses must be made through the functions defined here. */ typedef void* xtensa_isa; typedef void* xtensa_operand; /* Opcodes are represented here using sequential integers beginning with 0. The specific value used for a particular opcode is only fixed for a particular instantiation of an xtensa_isa structure, so these values should only be used internally. */ typedef int xtensa_opcode; /* Define a unique value for undefined opcodes ("static const int" doesn't seem to work for this because EGCS 1.0.3 on i686-Linux without -O won't allow it to be used as an initializer). */ #define XTENSA_UNDEFINED -1 typedef int libisa_module_specifier; extern xtensa_isa xtensa_isa_init (void); /* Instruction buffers. */ typedef uint32 xtensa_insnbuf_word; typedef xtensa_insnbuf_word *xtensa_insnbuf; /* Get the size in words of the xtensa_insnbuf array. */ extern int xtensa_insnbuf_size (xtensa_isa); /* Allocate (with malloc) an xtensa_insnbuf of the right size. */ extern xtensa_insnbuf xtensa_insnbuf_alloc (xtensa_isa); /* Release (with free) an xtensa_insnbuf of the right size. */ extern void xtensa_insnbuf_free (xtensa_insnbuf); /* Inward and outward conversion from memory images (byte streams) to our internal instruction representation. */ extern void xtensa_insnbuf_to_chars (xtensa_isa, const xtensa_insnbuf, char *); extern void xtensa_insnbuf_from_chars (xtensa_isa, xtensa_insnbuf, const char *); /* ISA information. */ /* Load the ISA information from a shared library. If successful, this returns a value which identifies the ISA for use in subsequent calls to the ISA library; otherwise, it returns NULL. Multiple ISAs can be loaded to support heterogeneous multiprocessor systems. */ extern xtensa_isa xtensa_load_isa (libisa_module_specifier); /* Extend an existing set of ISA information by loading an additional shared library of ISA information. This is primarily intended for loading TIE extensions. If successful, the return value is non-zero. */ extern int xtensa_extend_isa (xtensa_isa, libisa_module_specifier); /* The default ISA. This variable is set automatically to the ISA most recently loaded and is provided as a convenience. An exception is the GNU opcodes library, where there is a fixed interface that does not allow passing the ISA as a parameter and the ISA must be taken from this global variable. (Note: Since this variable is just a convenience, it is not exported when libisa is built as a DLL, due to the hassle of dealing with declspecs.) */ extern xtensa_isa xtensa_default_isa; /* Deallocate an xtensa_isa structure. */ extern void xtensa_isa_free (xtensa_isa); /* Get the maximum instruction size in bytes. */ extern int xtensa_insn_maxlength (xtensa_isa); /* Get the total number of opcodes for this processor. */ extern int xtensa_num_opcodes (xtensa_isa); /* Translate a mnemonic name to an opcode. Returns XTENSA_UNDEFINED if the name is not a valid opcode mnemonic. */ extern xtensa_opcode xtensa_opcode_lookup (xtensa_isa, const char *); /* Decode a binary instruction buffer. Returns the opcode or XTENSA_UNDEFINED if the instruction is illegal. */ extern xtensa_opcode xtensa_decode_insn (xtensa_isa, const xtensa_insnbuf); /* Opcode information. */ /* Set the opcode field(s) in a binary instruction buffer. The operand fields are set to zero. */ extern void xtensa_encode_insn (xtensa_isa, xtensa_opcode, xtensa_insnbuf); /* Get the mnemonic name for an opcode. */ extern const char * xtensa_opcode_name (xtensa_isa, xtensa_opcode); /* Find the length (in bytes) of an instruction. */ extern int xtensa_insn_length (xtensa_isa, xtensa_opcode); /* Find the length of an instruction by looking only at the first byte. */ extern int xtensa_insn_length_from_first_byte (xtensa_isa, char); /* Find the number of operands for an instruction. */ extern int xtensa_num_operands (xtensa_isa, xtensa_opcode); /* Get the information about operand number "opnd" of a particular opcode. */ extern xtensa_operand xtensa_get_operand (xtensa_isa, xtensa_opcode, int); /* Operand information. */ /* Find the kind of operand. There are three possibilities: 1) PC-relative immediates (e.g., "l", "L"). These can be identified with the xtensa_operand_isPCRelative function. 2) non-PC-relative immediates ("i"). 3) register-file short names (e.g., "a", "b", "m" and others defined via TIE). */ extern char * xtensa_operand_kind (xtensa_operand); /* Check if an operand is an input ('<'), output ('>'), or inout ('=') operand. Note: The output operand of a conditional assignment (e.g., movnez) appears here as an inout ('=') even if it is declared in the TIE code as an output ('>'); this allows the compiler to properly handle register allocation for conditional assignments. */ extern char xtensa_operand_inout (xtensa_operand); /* Get and set the raw (encoded) value of the field for the specified operand. The "set" function does not check if the value fits in the field; that is done by the "encode" function below. */ extern uint32 xtensa_operand_get_field (xtensa_operand, const xtensa_insnbuf); extern void xtensa_operand_set_field (xtensa_operand, xtensa_insnbuf, uint32); /* Encode and decode operands. The raw bits in the operand field may be encoded in a variety of different ways. These functions hide the details of that encoding. The encode function has a special return type (xtensa_encode_result) to indicate success or the reason for failure; the encoded value is returned through the argument pointer. The decode function has no possibility of failure and returns the decoded value. */ typedef enum { xtensa_encode_result_ok, xtensa_encode_result_align, xtensa_encode_result_not_in_table, xtensa_encode_result_too_low, xtensa_encode_result_too_high, xtensa_encode_result_not_ok, xtensa_encode_result_max = xtensa_encode_result_not_ok } xtensa_encode_result; extern xtensa_encode_result xtensa_operand_encode (xtensa_operand, uint32 *); extern uint32 xtensa_operand_decode (xtensa_operand, uint32); /* For PC-relative offset operands, the interpretation of the offset may vary between opcodes, e.g., is it relative to the current PC or that of the next instruction? The following functions are defined to perform PC-relative relocations and to undo them (as in the disassembler). The first function takes the desired address and the PC of the current instruction and returns the unencoded value to be stored in the offset field. The second function takes the unencoded offset value and the current PC and returns the address. Note that these functions do not replace the encode/decode functions; the operands must be encoded/decoded separately. */ extern int xtensa_operand_isPCRelative (xtensa_operand); extern uint32 xtensa_operand_do_reloc (xtensa_operand, uint32, uint32); extern uint32 xtensa_operand_undo_reloc (xtensa_operand, uint32, uint32); #ifdef __cplusplus } #endif #endif /* XTENSA_LIBISA_H */ Index: ChangeLog =================================================================== RCS file: /cvsroot/p4w/cygwin/include/ChangeLog,v retrieving revision 1.1.1.1.2.3 retrieving revision 1.1.1.1.2.4 diff -C2 -d -r1.1.1.1.2.3 -r1.1.1.1.2.4 *** ChangeLog 21 Mar 2003 18:56:06 -0000 1.1.1.1.2.3 --- ChangeLog 18 Apr 2003 20:27:33 -0000 1.1.1.1.2.4 *************** *** 1,2 **** --- 1,21 ---- + 2003-04-04 Svein E. Seldal <Sve...@so...> + + * coff/tic4x.h: Namespace cleanup. Replace s/c4x/tic4x + and s/c3x/tic3x/ + * coff/tc-tic4x.h: Ditto + * opcode/tic4x.h: Ditto + + 2003-04-02 Bob Wilson <bob...@ac...> + + * xtensa-config.h: Remove comment indicating that this is a + generated file. + + 2003-04-01 Bob Wilson <bob...@ac...> + + * dis-asm.h (print_insn_xtensa): Declare. + * xtensa-config.h: New file. + * xtensa-isa-internal.h: Likewise. + * xtensa-isa.h: Likewise. + 2003-03-17 Kaveh R. Ghazi <gh...@ca...> Index: dis-asm.h =================================================================== RCS file: /cvsroot/p4w/cygwin/include/dis-asm.h,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** dis-asm.h 20 Feb 2003 17:54:00 -0000 1.1.1.1 --- dis-asm.h 18 Apr 2003 20:27:33 -0000 1.1.1.1.2.1 *************** *** 238,241 **** --- 238,242 ---- extern int print_insn_w65 PARAMS ((bfd_vma, disassemble_info*)); extern int print_insn_xstormy16 PARAMS ((bfd_vma, disassemble_info*)); + extern int print_insn_xtensa PARAMS ((bfd_vma, disassemble_info*)); extern int print_insn_sh64 PARAMS ((bfd_vma, disassemble_info *)); extern int print_insn_sh64x_media PARAMS ((bfd_vma, disassemble_info *)); |
From: <ea...@us...> - 2003-04-18 18:48:54
|
Update of /cvsroot/p4w/cygwin/winsup/cygwin In directory sc8-pr-cvs1:/tmp/cvs-serv3078 Added Files: cpuid.h Log Message: Sync with Cygwin --- NEW FILE: cpuid.h --- #ifndef CPUID_H #define CPUID_H extern inline void cpuid (unsigned *a, unsigned *b, unsigned *c, unsigned *d, unsigned in) { asm ("cpuid" : "=a" (*a), "=b" (*b), "=c" (*c), "=d" (*d) : "a" (in)); } extern inline bool can_set_flag (unsigned flag) { unsigned r1, r2; asm("pushfl\n" "popl %0\n" "movl %0, %1\n" "xorl %2, %0\n" "pushl %0\n" "popfl\n" "pushfl\n" "popl %0\n" "pushl %1\n" "popfl\n" : "=&r" (r1), "=&r" (r2) : "ir" (flag) ); return ((r1 ^ r2) & flag) != 0; } #endif // !CPUID_H |
From: <ea...@us...> - 2003-04-18 18:47:16
|
Update of /cvsroot/p4w/cygwin/newlib/libc/string In directory sc8-pr-cvs1:/tmp/cvs-serv2332 Added Files: wcscoll.c wcswidth.c wcwidth.c Log Message: Sync with Cygwin --- NEW FILE: wcscoll.c --- /* FUNCTION <<wcscoll>>---locale specific wide-character string compare INDEX wcscoll ANSI_SYNOPSIS #include <wchar.h> int wcscoll(const wchar_t *<[stra]>, const wchar_t * <[strb]>); TRAD_SYNOPSIS #include <wchar.h> int wcscoll(<[stra]>, <[strb]>) wchar_t *<[stra]>; wchar_t *<[strb]>; DESCRIPTION <<wcscoll>> compares the wide-character string pointed to by <[stra]> to the wide-character string pointed to by <[strb]>, using an interpretation appropriate to the current <<LC_COLLATE>> state. The current implementation of <<wcscoll>> simply uses <<wcscmp>> and does not support any language-specific sorting. RETURNS If the first string is greater than the second string, <<wcscoll>> returns a number greater than zero. If the two strings are equivalent, <<wcscoll>> returns zero. If the first string is less than the second string, <<wcscoll>> returns a number less than zero. PORTABILITY <<wcscoll>> is ISO/IEC 9899/AMD1:1995 (ISO C). */ #include <_ansi.h> #include <wchar.h> int _DEFUN (wcscoll, (a, b), _CONST wchar_t *a _AND _CONST wchar_t *b) { return wcscmp (a, b); } --- NEW FILE: wcswidth.c --- /* FUNCTION <<wcswidth>>---number of column positions of a wide-character string INDEX wcswidth ANSI_SYNOPSIS #include <wchar.h> int wcswidth(const wchar_t *<[pwcs]>, size_t <[n]>); TRAD_SYNOPSIS #include <wchar.h> int wcswidth(<[pwcs]>, <[n]>) wchar_t *<[wc]>; size_t <[n]>; DESCRIPTION The <<wcswidth>> function shall determine the number of column positions required for n wide-character codes (or fewer than n wide-character codes if a null wide-character code is encountered before n wide-character codes are exhausted) in the string pointed to by pwcs. RETURNS The <<wcswidth>> function either shall return 0 (if pwcs points to a null wide-character code), or return the number of column positions to be occupied by the wide-character string pointed to by pwcs, or return -1 (if any of the first n wide-character codes in the wide-character string pointed to by pwcs is not a printable wide-character code). PORTABILITY <<wcswidth>> has been introduced in the Single UNIX Specification Volume 2 <<wcswidth>> has been marked as extension in Single UNIX Specification Volume 3 */ #include <_ansi.h> #include <wchar.h> int _DEFUN (wcswidth, (pwcs, n), _CONST wchar_t *pwcs _AND size_t n) { int w, len = 0; if (!pwcs || n == 0) return 0; do { if ((w = wcwidth (*pwcs)) < 0) return -1; len += w; } while (*pwcs++ && --n > 0); return len; } --- NEW FILE: wcwidth.c --- /* FUNCTION <<wcwidth>>---number of column positions of a wide-character code INDEX wcwidth ANSI_SYNOPSIS #include <wchar.h> int wcwidth(const wchar_t <[wc]>); TRAD_SYNOPSIS #include <wchar.h> int wcwidth(<[wc]>) wchar_t *<[wc]>; DESCRIPTION The <<wcwidth>> function shall determine the number of column positions required for the wide character wc. The application shall ensure that the value of wc is a character representable as a wchar_t, and is a wide-character code corresponding to a valid character in the current locale. RETURNS The <<wcwidth>> function shall either return 0 (if wc is a null wide-character code), or return the number of column positions to be occupied by the wide-character code wc, or return -1 (if wc does not correspond to a printable wide-character code). The current implementation of <<wcwidth>> simply sets the width of all printable characters to 1 since newlib has no character tables around. PORTABILITY <<wcwidth>> has been introduced in the Single UNIX Specification Volume 2 <<wcwidth>> has been marked as extension in Single UNIX Specification Volume 3 */ #include <_ansi.h> #include <wchar.h> #include <wctype.h> int _DEFUN (wcwidth, (wc), _CONST wchar_t wc) { if (iswprint (wc)) return 1; if (iswcntrl (wc) || wc == L'\0') return 0; return -1; } |
From: <ea...@us...> - 2003-04-18 18:45:12
|
Update of /cvsroot/p4w/cygwin/libiberty In directory sc8-pr-cvs1:/tmp/cvs-serv1234 Added Files: snprintf.c stpcpy.c stpncpy.c vsnprintf.c Log Message: Sync with Cygwin --- NEW FILE: snprintf.c --- /* Implement the snprintf function. Copyright (C) 2003 Free Software Foundation, Inc. Written by Kaveh R. Ghazi <gh...@ca...>. This file is part of the libiberty library. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. As a special exception, if you link this library with files compiled with a GNU compiler to produce an executable, this does not cause the resulting executable to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU General Public License. */ /* @deftypefn Supplemental int snprintf (char *@var{buf}, size_t @var{n}, const char *@var{format}, ...) This function is similar to sprintf, but it will print at most @var{n} characters. On error the return value is -1, otherwise it returns the number of characters that would have been printed had @var{n} been sufficiently large, regardless of the actual value of @var{n}. Note some pre-C99 system libraries do not implement this correctly so users cannot generally rely on the return value if the system version of this function is used. @end deftypefn */ #include "ansidecl.h" #ifdef ANSI_PROTOTYPES #include <stdarg.h> #include <stddef.h> #else #include <varargs.h> #define size_t unsigned long #endif int vsnprintf PARAMS ((char *, size_t, const char *, va_list)); int snprintf VPARAMS ((char *s, size_t n, const char *format, ...)) { int result; VA_OPEN (ap, format); VA_FIXEDARG (ap, char *, s); VA_FIXEDARG (ap, size_t, n); VA_FIXEDARG (ap, const char *, format); result = vsnprintf (s, n, format, ap); VA_CLOSE (ap); return result; } --- NEW FILE: stpcpy.c --- /* Implement the stpcpy function. Copyright (C) 2003 Free Software Foundation, Inc. Written by Kaveh R. Ghazi <gh...@ca...>. This file is part of the libiberty library. Libiberty is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. Libiberty is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with libiberty; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* @deftypefn Supplemental char* stpcpy (char *@var{dst}, const char *@var{src}) Copies the string @var{src} into @var{dst}. Returns a pointer to @var{dst} + strlen(@var{src}). @end deftypefn */ #include <ansidecl.h> #ifdef ANSI_PROTOTYPES #include <stddef.h> #else #define size_t unsigned long #endif extern size_t strlen PARAMS ((const char *)); extern PTR memcpy PARAMS ((PTR, const PTR, size_t)); char * stpcpy (dst, src) char *dst; const char *src; { const size_t len = strlen (src); return (char *) memcpy (dst, src, len + 1) + len; } --- NEW FILE: stpncpy.c --- /* Implement the stpncpy function. Copyright (C) 2003 Free Software Foundation, Inc. Written by Kaveh R. Ghazi <gh...@ca...>. This file is part of the libiberty library. Libiberty is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. Libiberty is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with libiberty; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* @deftypefn Supplemental char* stpncpy (char *@var{dst}, const char *@var{src}, size_t @var{len}) Copies the string @var{src} into @var{dst}, copying exactly @var{len} and padding with zeros if necessary. If @var{len} < strlen(@var{src}) then return @var{dst} + @var{len}, otherwise returns @var{dst} + strlen(@var{src}). @end deftypefn */ #include <ansidecl.h> #ifdef ANSI_PROTOTYPES #include <stddef.h> #else #define size_t unsigned long #endif extern size_t strlen PARAMS ((const char *)); extern char *strncpy PARAMS ((char *, const char *, size_t)); char * stpncpy (dst, src, len) char *dst; const char *src; size_t len; { size_t n = strlen (src); if (n > len) n = len; return strncpy (dst, src, len) + n; } --- NEW FILE: vsnprintf.c --- /* Implement the vsnprintf function. Copyright (C) 2003 Free Software Foundation, Inc. Written by Kaveh R. Ghazi <gh...@ca...>. This file is part of the libiberty library. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. As a special exception, if you link this library with files compiled with a GNU compiler to produce an executable, this does not cause the resulting executable to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU General Public License. */ /* @deftypefn Supplemental int vsnprintf (char *@var{buf}, size_t @var{n}, const char *@var{format}, va_list @var{ap}) This function is similar to vsprintf, but it will print at most @var{n} characters. On error the return value is -1, otherwise it returns the number of characters that would have been printed had @var{n} been sufficiently large, regardless of the actual value of @var{n}. Note some pre-C99 system libraries do not implement this correctly so users cannot generally rely on the return value if the system version of this function is used. @end deftypefn */ #include "config.h" #include "ansidecl.h" #ifdef ANSI_PROTOTYPES #include <stdarg.h> #else #include <varargs.h> #endif #ifdef HAVE_STRING_H #include <string.h> #endif #ifdef HAVE_STDLIB_H #include <stdlib.h> #endif #include "libiberty.h" /* This implementation relies on a working vasprintf. */ int vsnprintf (s, n, format, ap) char * s; size_t n; const char *format; va_list ap; { char *buf = 0; int result = vasprintf (&buf, format, ap); if (!buf) return -1; if (result < 0) { free (buf); return -1; } result = strlen (buf); if (n > 0) { strncpy (s, buf, n); if (n - 1 < (size_t) result) s[n - 1] = 0; } free (buf); return result; } #ifdef TEST /* Set the buffer to a known state. */ #define CLEAR(BUF) do { memset ((BUF), 'X', sizeof (BUF)); (BUF)[14] = '\0'; } while (0) /* For assertions. */ #define VERIFY(P) do { if (!(P)) abort(); } while (0) static int ATTRIBUTE_PRINTF_3 checkit VPARAMS ((char *s, size_t n, const char *format, ...)) { int result; VA_OPEN (ap, format); VA_FIXEDARG (ap, char *, s); VA_FIXEDARG (ap, size_t, n); VA_FIXEDARG (ap, const char *, format); result = vsnprintf (s, n, format, ap); VA_CLOSE (ap); return result; } extern int main PARAMS ((void)); int main () { char buf[128]; int status; CLEAR (buf); status = checkit (buf, 10, "%s:%d", "foobar", 9); VERIFY (status==8 && strcmp (buf, "foobar:9") == 0); CLEAR (buf); status = checkit (buf, 9, "%s:%d", "foobar", 9); VERIFY (status==8 && strcmp (buf, "foobar:9") == 0); CLEAR (buf); status = checkit (buf, 8, "%s:%d", "foobar", 9); VERIFY (status==8 && strcmp (buf, "foobar:") == 0); CLEAR (buf); status = checkit (buf, 7, "%s:%d", "foobar", 9); VERIFY (status==8 && strcmp (buf, "foobar") == 0); CLEAR (buf); status = checkit (buf, 6, "%s:%d", "foobar", 9); VERIFY (status==8 && strcmp (buf, "fooba") == 0); CLEAR (buf); status = checkit (buf, 2, "%s:%d", "foobar", 9); VERIFY (status==8 && strcmp (buf, "f") == 0); CLEAR (buf); status = checkit (buf, 1, "%s:%d", "foobar", 9); VERIFY (status==8 && strcmp (buf, "") == 0); CLEAR (buf); status = checkit (buf, 0, "%s:%d", "foobar", 9); VERIFY (status==8 && strcmp (buf, "XXXXXXXXXXXXXX") == 0); return 0; } #endif /* TEST */ |
From: <ea...@us...> - 2003-04-18 18:42:50
|
Update of /cvsroot/p4w/cygwin/include/elf In directory sc8-pr-cvs1:/tmp/cvs-serv32457/elf Added Files: xtensa.h Log Message: Sync with Cygwin --- NEW FILE: xtensa.h --- /* Xtensa ELF support for BFD. Copyright 2003 Free Software Foundation, Inc. Contributed by Bob Wilson (bw...@te...) at Tensilica. This file is part of BFD, the Binary File Descriptor library. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* This file holds definitions specific to the Xtensa ELF ABI. */ #ifndef _ELF_XTENSA_H #define _ELF_XTENSA_H #include "elf/reloc-macros.h" /* Relocations. */ START_RELOC_NUMBERS (elf_xtensa_reloc_type) RELOC_NUMBER (R_XTENSA_NONE, 0) RELOC_NUMBER (R_XTENSA_32, 1) RELOC_NUMBER (R_XTENSA_RTLD, 2) RELOC_NUMBER (R_XTENSA_GLOB_DAT, 3) RELOC_NUMBER (R_XTENSA_JMP_SLOT, 4) RELOC_NUMBER (R_XTENSA_RELATIVE, 5) RELOC_NUMBER (R_XTENSA_PLT, 6) RELOC_NUMBER (R_XTENSA_OP0, 8) RELOC_NUMBER (R_XTENSA_OP1, 9) RELOC_NUMBER (R_XTENSA_OP2, 10) RELOC_NUMBER (R_XTENSA_ASM_EXPAND, 11) RELOC_NUMBER (R_XTENSA_ASM_SIMPLIFY, 12) RELOC_NUMBER (R_XTENSA_GNU_VTINHERIT, 15) RELOC_NUMBER (R_XTENSA_GNU_VTENTRY, 16) END_RELOC_NUMBERS (R_XTENSA_max) /* Processor-specific flags for the ELF header e_flags field. */ /* Four-bit Xtensa machine type field. */ #define EF_XTENSA_MACH 0x0000000f /* Various CPU types. */ #define E_XTENSA_MACH 0x00000000 /* Leave bits 0xf0 alone in case we ever have more than 16 cpu types. Highly unlikely, but what the heck. */ #define EF_XTENSA_XT_INSN 0x00000100 #define EF_XTENSA_XT_LIT 0x00000200 /* Processor-specific dynamic array tags. */ /* Offset of the table that records the GOT location(s). */ #define DT_XTENSA_GOT_LOC_OFF 0x70000000 /* Number of entries in the GOT location table. */ #define DT_XTENSA_GOT_LOC_SZ 0x70000001 /* Definitions for instruction and literal property tables. The instruction tables for ".gnu.linkonce.t.*" sections are placed in the following sections: instruction tables: .gnu.linkonce.x.* literal tables: .gnu.linkonce.p.* */ #define XTENSA_INSN_SEC_NAME ".xt.insn" #define XTENSA_LIT_SEC_NAME ".xt.lit" typedef struct property_table_entry_t { bfd_vma address; bfd_vma size; } property_table_entry; #endif /* _ELF_XTENSA_H */ |
From: <ea...@us...> - 2003-04-18 18:42:50
|
Update of /cvsroot/p4w/cygwin/include In directory sc8-pr-cvs1:/tmp/cvs-serv32457 Added Files: xtensa-config.h xtensa-isa-internal.h xtensa-isa.h Log Message: Sync with Cygwin --- NEW FILE: xtensa-config.h --- /* Xtensa configuration settings. Copyright (C) 2003 Free Software Foundation, Inc. Contributed by Bob Wilson (bw...@te...) at Tensilica. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef XTENSA_CONFIG_H #define XTENSA_CONFIG_H /* The macros defined here match those with the same names in the Xtensa compile-time HAL (Hardware Abstraction Layer). Please refer to the Xtensa System Software Reference Manual for documentation of these macros. */ #define XCHAL_HAVE_BE 1 #define XCHAL_HAVE_DENSITY 1 #define XCHAL_HAVE_MAC16 0 #define XCHAL_HAVE_MUL16 0 #define XCHAL_HAVE_MUL32 0 #define XCHAL_HAVE_DIV32 0 #define XCHAL_HAVE_NSA 1 #define XCHAL_HAVE_MINMAX 0 #define XCHAL_HAVE_SEXT 0 #define XCHAL_HAVE_LOOPS 1 #define XCHAL_HAVE_BOOLEANS 0 #define XCHAL_HAVE_FP 0 #define XCHAL_HAVE_FP_DIV 0 #define XCHAL_HAVE_FP_RECIP 0 #define XCHAL_HAVE_FP_SQRT 0 #define XCHAL_HAVE_FP_RSQRT 0 #define XCHAL_HAVE_WINDOWED 1 #define XCHAL_ICACHE_SIZE 8192 #define XCHAL_DCACHE_SIZE 8192 #define XCHAL_ICACHE_LINESIZE 16 #define XCHAL_DCACHE_LINESIZE 16 #define XCHAL_ICACHE_LINEWIDTH 4 #define XCHAL_DCACHE_LINEWIDTH 4 #define XCHAL_DCACHE_IS_WRITEBACK 0 #define XCHAL_HAVE_MMU 1 #define XCHAL_MMU_MIN_PTE_PAGE_SIZE 12 #define XCHAL_HAVE_DEBUG 1 #define XCHAL_NUM_IBREAK 2 #define XCHAL_NUM_DBREAK 2 #define XCHAL_DEBUGLEVEL 4 #define XCHAL_EXTRA_SA_SIZE 0 #define XCHAL_EXTRA_SA_ALIGN 1 #endif /* !XTENSA_CONFIG_H */ --- NEW FILE: xtensa-isa-internal.h --- /* Internal definitions for configurable Xtensa ISA support. Copyright 2003 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Use the statically-linked version for the GNU tools. */ #define STATIC_LIBISA 1 #define ISA_INTERFACE_VERSION 3 struct config_struct { char *param_name; char *param_value; }; /* Encode/decode function types for immediate operands. */ typedef uint32 (*xtensa_immed_decode_fn) (uint32); typedef xtensa_encode_result (*xtensa_immed_encode_fn) (uint32 *); /* Field accessor function types. */ typedef uint32 (*xtensa_get_field_fn) (const xtensa_insnbuf); typedef void (*xtensa_set_field_fn) (xtensa_insnbuf, uint32); /* PC-relative relocation function types. */ typedef uint32 (*xtensa_do_reloc_fn) (uint32, uint32); typedef uint32 (*xtensa_undo_reloc_fn) (uint32, uint32); /* Instruction decode function type. */ typedef int (*xtensa_insn_decode_fn) (const xtensa_insnbuf); /* Instruction encoding template function type (each of these functions returns a constant template; they exist only to make it easier for the TIE compiler to generate endian-independent DLLs). */ typedef xtensa_insnbuf (*xtensa_encoding_template_fn) (void); typedef struct xtensa_operand_internal_struct { char *operand_kind; /* e.g., "a", "f", "i", "l".... */ char inout; /* '<', '>', or '='. */ char isPCRelative; /* Is this a PC-relative offset? */ xtensa_get_field_fn get_field; /* Get encoded value of the field. */ xtensa_set_field_fn set_field; /* Set field with an encoded value. */ xtensa_immed_encode_fn encode; /* Encode the operand value. */ xtensa_immed_decode_fn decode; /* Decode the value from the field. */ xtensa_do_reloc_fn do_reloc; /* Perform a PC-relative relocation. */ xtensa_undo_reloc_fn undo_reloc; /* Undo a PC-relative relocation. */ } xtensa_operand_internal; typedef struct xtensa_iclass_internal_struct { int num_operands; /* Size of "operands" array. */ xtensa_operand_internal **operands; /* Array of operand structures. */ } xtensa_iclass_internal; typedef struct xtensa_opcode_internal_struct { const char *name; /* Opcode mnemonic. */ int length; /* Length in bytes of the insn. */ xtensa_encoding_template_fn template; /* Fn returning encoding template. */ xtensa_iclass_internal *iclass; /* Iclass for this opcode. */ } xtensa_opcode_internal; typedef struct opname_lookup_entry_struct { const char *key; /* Opcode mnemonic. */ xtensa_opcode opcode; /* Internal opcode number. */ } opname_lookup_entry; typedef struct xtensa_isa_internal_struct { int is_big_endian; /* Endianness. */ int insn_size; /* Maximum length in bytes. */ int insnbuf_size; /* Number of insnbuf_words. */ int num_opcodes; /* Total number for all modules. */ xtensa_opcode_internal **opcode_table;/* Indexed by internal opcode #. */ int num_modules; /* Number of modules (DLLs) loaded. */ int *module_opcode_base; /* Starting opcode # for each module. */ xtensa_insn_decode_fn *module_decode_fn; /* Decode fn for each module. */ opname_lookup_entry *opname_lookup_table; /* Lookup table for each module. */ struct config_struct *config; /* Table of configuration parameters. */ int has_density; /* Is density option available? */ } xtensa_isa_internal; typedef struct xtensa_isa_module_struct { const int (*get_num_opcodes_fn) (void); xtensa_opcode_internal **(*get_opcodes_fn) (void); int (*decode_insn_fn) (const xtensa_insnbuf); struct config_struct *(*get_config_table_fn) (void); } xtensa_isa_module; extern xtensa_isa_module xtensa_isa_modules[]; --- NEW FILE: xtensa-isa.h --- /* Interface definition for configurable Xtensa ISA support. Copyright 2003 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef XTENSA_LIBISA_H #define XTENSA_LIBISA_H /* Use the statically-linked version for the GNU tools. */ #define STATIC_LIBISA 1 #ifdef __cplusplus extern "C" { #endif #ifndef uint32 #define uint32 unsigned int #endif /* This file defines the interface to the Xtensa ISA library. This library contains most of the ISA-specific information for a particular Xtensa processor. For example, the set of valid instructions, their opcode encodings and operand fields are all included here. To support Xtensa's configurability and user-defined instruction extensions (i.e., TIE), the library is initialized by loading one or more dynamic libraries; only a small set of interface code is present in the statically-linked portion of the library. This interface basically defines four abstract data types. . an instruction buffer - for holding the raw instruction bits . ISA info - information about the ISA as a whole . opcode info - information about individual instructions . operand info - information about specific instruction operands It would be nice to implement these as classes in C++, but the library is implemented in C to match the expectations of the GNU tools. Instead, the interface defines a set of functions to access each data type. With the exception of the instruction buffer, the internal representations of the data structures are hidden. All accesses must be made through the functions defined here. */ typedef void* xtensa_isa; typedef void* xtensa_operand; /* Opcodes are represented here using sequential integers beginning with 0. The specific value used for a particular opcode is only fixed for a particular instantiation of an xtensa_isa structure, so these values should only be used internally. */ typedef int xtensa_opcode; /* Define a unique value for undefined opcodes ("static const int" doesn't seem to work for this because EGCS 1.0.3 on i686-Linux without -O won't allow it to be used as an initializer). */ #define XTENSA_UNDEFINED -1 typedef int libisa_module_specifier; extern xtensa_isa xtensa_isa_init (void); /* Instruction buffers. */ typedef uint32 xtensa_insnbuf_word; typedef xtensa_insnbuf_word *xtensa_insnbuf; /* Get the size in words of the xtensa_insnbuf array. */ extern int xtensa_insnbuf_size (xtensa_isa); /* Allocate (with malloc) an xtensa_insnbuf of the right size. */ extern xtensa_insnbuf xtensa_insnbuf_alloc (xtensa_isa); /* Release (with free) an xtensa_insnbuf of the right size. */ extern void xtensa_insnbuf_free (xtensa_insnbuf); /* Inward and outward conversion from memory images (byte streams) to our internal instruction representation. */ extern void xtensa_insnbuf_to_chars (xtensa_isa, const xtensa_insnbuf, char *); extern void xtensa_insnbuf_from_chars (xtensa_isa, xtensa_insnbuf, const char *); /* ISA information. */ /* Load the ISA information from a shared library. If successful, this returns a value which identifies the ISA for use in subsequent calls to the ISA library; otherwise, it returns NULL. Multiple ISAs can be loaded to support heterogeneous multiprocessor systems. */ extern xtensa_isa xtensa_load_isa (libisa_module_specifier); /* Extend an existing set of ISA information by loading an additional shared library of ISA information. This is primarily intended for loading TIE extensions. If successful, the return value is non-zero. */ extern int xtensa_extend_isa (xtensa_isa, libisa_module_specifier); /* The default ISA. This variable is set automatically to the ISA most recently loaded and is provided as a convenience. An exception is the GNU opcodes library, where there is a fixed interface that does not allow passing the ISA as a parameter and the ISA must be taken from this global variable. (Note: Since this variable is just a convenience, it is not exported when libisa is built as a DLL, due to the hassle of dealing with declspecs.) */ extern xtensa_isa xtensa_default_isa; /* Deallocate an xtensa_isa structure. */ extern void xtensa_isa_free (xtensa_isa); /* Get the maximum instruction size in bytes. */ extern int xtensa_insn_maxlength (xtensa_isa); /* Get the total number of opcodes for this processor. */ extern int xtensa_num_opcodes (xtensa_isa); /* Translate a mnemonic name to an opcode. Returns XTENSA_UNDEFINED if the name is not a valid opcode mnemonic. */ extern xtensa_opcode xtensa_opcode_lookup (xtensa_isa, const char *); /* Decode a binary instruction buffer. Returns the opcode or XTENSA_UNDEFINED if the instruction is illegal. */ extern xtensa_opcode xtensa_decode_insn (xtensa_isa, const xtensa_insnbuf); /* Opcode information. */ /* Set the opcode field(s) in a binary instruction buffer. The operand fields are set to zero. */ extern void xtensa_encode_insn (xtensa_isa, xtensa_opcode, xtensa_insnbuf); /* Get the mnemonic name for an opcode. */ extern const char * xtensa_opcode_name (xtensa_isa, xtensa_opcode); /* Find the length (in bytes) of an instruction. */ extern int xtensa_insn_length (xtensa_isa, xtensa_opcode); /* Find the length of an instruction by looking only at the first byte. */ extern int xtensa_insn_length_from_first_byte (xtensa_isa, char); /* Find the number of operands for an instruction. */ extern int xtensa_num_operands (xtensa_isa, xtensa_opcode); /* Get the information about operand number "opnd" of a particular opcode. */ extern xtensa_operand xtensa_get_operand (xtensa_isa, xtensa_opcode, int); /* Operand information. */ /* Find the kind of operand. There are three possibilities: 1) PC-relative immediates (e.g., "l", "L"). These can be identified with the xtensa_operand_isPCRelative function. 2) non-PC-relative immediates ("i"). 3) register-file short names (e.g., "a", "b", "m" and others defined via TIE). */ extern char * xtensa_operand_kind (xtensa_operand); /* Check if an operand is an input ('<'), output ('>'), or inout ('=') operand. Note: The output operand of a conditional assignment (e.g., movnez) appears here as an inout ('=') even if it is declared in the TIE code as an output ('>'); this allows the compiler to properly handle register allocation for conditional assignments. */ extern char xtensa_operand_inout (xtensa_operand); /* Get and set the raw (encoded) value of the field for the specified operand. The "set" function does not check if the value fits in the field; that is done by the "encode" function below. */ extern uint32 xtensa_operand_get_field (xtensa_operand, const xtensa_insnbuf); extern void xtensa_operand_set_field (xtensa_operand, xtensa_insnbuf, uint32); /* Encode and decode operands. The raw bits in the operand field may be encoded in a variety of different ways. These functions hide the details of that encoding. The encode function has a special return type (xtensa_encode_result) to indicate success or the reason for failure; the encoded value is returned through the argument pointer. The decode function has no possibility of failure and returns the decoded value. */ typedef enum { xtensa_encode_result_ok, xtensa_encode_result_align, xtensa_encode_result_not_in_table, xtensa_encode_result_too_low, xtensa_encode_result_too_high, xtensa_encode_result_not_ok, xtensa_encode_result_max = xtensa_encode_result_not_ok } xtensa_encode_result; extern xtensa_encode_result xtensa_operand_encode (xtensa_operand, uint32 *); extern uint32 xtensa_operand_decode (xtensa_operand, uint32); /* For PC-relative offset operands, the interpretation of the offset may vary between opcodes, e.g., is it relative to the current PC or that of the next instruction? The following functions are defined to perform PC-relative relocations and to undo them (as in the disassembler). The first function takes the desired address and the PC of the current instruction and returns the unencoded value to be stored in the offset field. The second function takes the unencoded offset value and the current PC and returns the address. Note that these functions do not replace the encode/decode functions; the operands must be encoded/decoded separately. */ extern int xtensa_operand_isPCRelative (xtensa_operand); extern uint32 xtensa_operand_do_reloc (xtensa_operand, uint32, uint32); extern uint32 xtensa_operand_undo_reloc (xtensa_operand, uint32, uint32); #ifdef __cplusplus } #endif #endif /* XTENSA_LIBISA_H */ |