diff packages/compat/posix/current/ChangeLog @ 115:6ed91473a1cd ecos-sw-2000-08-21

Merge from eCos master repository on 2000-08-21-22:40:54-BST
author jlarmour
date Fri, 25 Aug 2000 17:32:38 +0000
parents
children 6bd9d475ed4b
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/packages/compat/posix/current/ChangeLog
@@ -0,0 +1,461 @@
+2000-08-08  Jonathan Larmour  <jlarmour@redhat.co.uk>
+
+	* include/limits.h: Don't define SSIZE_MAX here, leave it to the
+	isoinfra default.
+
+2000-07-27  Jonathan Larmour  <jlarmour@redhat.co.uk>
+
+	* tests/signal2.c: NA if no setjmp/longjmp
+
+2000-07-26  Nick Garnett  <nickg@cygnus.co.uk>
+
+	* include/pthread.h:
+	* src/pthread.cxx (pthread_testcancel): Reversed addition of cyg_
+	to this symbol.
+
+2000-07-25  Jonathan Larmour  <jlarmour@redhat.co.uk>
+
+	* src/pthread.cxx: Define main_stack and main_thread as static
+	Rename pthread_canceled -> cyg_pthread_canceled - pthread_ may be
+	a reserved name space but this makes explicit it is implementation-
+	and not standard-defined
+	(PTHREAD_ENTRY_VOID): Define for funcs that take no args
+	(pthread_testcancel): Call PTHREAD_ENTRY_VOID()
+
+	* include/pthread.h: Rename pthread_canceled -> cyg_pthread_canceled
+
+2000-07-20  Jonathan Larmour  <jlarmour@redhat.co.uk>
+
+	* src/pthread.cxx: Use isoinfra to determine presence of malloc()
+	Define pthread_malloc() and pthread_free() as inlines
+
+	* cdl/posix.cdl: Shouldn't define _POSIX_MESSAGE_PASSING at all - that
+	happens in isoinfra.
+
+2000-07-20  Nick Garnett  <nickg@cygnus.co.uk>
+
+	* cdl/posix.cdl: Added misc.cxx to compile list. Added option to
+	define _POSIX_MESSAGE_PASSING. Added configury for utsname
+	structure.
+
+	* include/utsname.h: Added this file to define struct utsname and
+	uname() function prototype.
+
+	* include/mqueue.h: Moved definition of _POSIX_MESSAGE_PASSING to
+	CDL.
+
+	* include/limits.h: Added NGROUPS_MAX definition.
+
+	* src/pthread.cxx:
+	Added support for malloced() thread stacks.
+	Added implementations of pthread_mutex_setprioceiling() and
+	pthread_mutex_getprioceiling().
+	Changed implementations of pthread_mutex_destroy(),
+	pthread_mutex_lock() and pthread_mutex_trylock() to conform more
+	closely to the standard.
+	Changed pthread_key_create() to assign NULL to all valid thread
+	slots that correspond to a newly allocated key.
+
+	* src/pprivate.h: Added freestack and stackmem members to manage
+	malloced thread stacks.
+
+	* src/misc.cxx: Added this file to contain functions that do not
+	belong in any other files. Currently contains uname() and
+	sysconf().
+
+2000-07-19  Jonathan Larmour  <jlarmour@redhat.co.uk>
+
+	* src/startup.cxx: Remove unnecessary includes
+	Use dummy object constructor to do initialization
+
+	* cdl/posix.cdl: 
+	Don't need main.cxx any more
+	Build startup.cxx into extras.o (via libextras.a)
+
+	* cdl/pthread.cdl (CYGPKG_POSIX_MAIN_THREAD):
+	Integrate with CYGPKG_LIBC_STARTUP - tell CYGPKG_LIBC_STARTUP to
+	let pthreads set up main thread
+
+	* src/pthread.cxx: Integrate with CYGPKG_LIBC_STARTUP rather than
+	calling main() directly.
+	Track number of threads waiting to be joined, so we can tell in
+	pthread_exit() if this is the last thread, and therefore whether
+	to call exit()
+
+	* src/main.cxx: obsolete, removed
+
+2000-07-13  Nick Garnett  <nickg@cygnus.co.uk>
+
+	* src/signal.cxx: Added ISO C compatibility functions signal() and
+	raise().
+
+2000-06-21  Nick Garnett  <nickg@cygnus.co.uk>
+
+	* src/pthread.cxx: Added for(;;) loop to end of pthread_exit().
+	pthread_exit() is marked with the noreturn attribute, and without
+	this some compilers generate a call to abort() here in case
+	Cyg_Thread::exit() returns. The loop avoids this.
+
+2000-06-06  Jonathan Larmour  <jlarmour@redhat.co.uk>
+
+	* src/mqueue.cxx (mq_receive): Fix non-portable treatment of mode flags
+	(mq_send):  Ditto
+	* tests/mqueue2.c (main): Ditto
+
+2000-05-24  Nick Garnett  <nickg@cygnus.co.uk>
+
+	* tests/pthread2.c: Added this program to test per-thread data
+	handling.
+
+	* tests/pthread3.c: Added this program to test execution of
+	cancellation handler.
+
+	* src/pthread.cxx: Fixed some bugs revealed by new test programs.
+
+	* cdl/posix.cdl: Added two new pthread tests.
+
+2000-05-22  Jonathan Larmour  <jlarmour@redhat.co.uk>
+
+	* cdl/posix.cdl (CYGPKG_POSIX): Require
+	CYGIMP_KERNEL_SCHED_SORTED_QUEUES
+
+2000-05-20  Jonathan Larmour  <jlarmour@redhat.co.uk>
+
+	* tests/mqueue1.c (cyg_user_start): Define correctly
+	* tests/mqueue2.c (cyg_user_start): Likewise
+
+	* src/pprivate.h (cyg_sigqueue): Make struct sigevent * arg const since
+	it is, and it prevents warnings elsewhere
+	* src/signal.cxx (cyg_sigqueue): ditto
+
+	* tests/signal2.c: Use CYG_TEST_NA, not CYG_TEST_INFO (otherwise
+	the test farm may fail the tests because there are no PASSes or NAs)
+
+	* cdl/posix.cdl (CYGPKG_POSIX): We need errno and error codes, so
+	require them
+	Move some of the package implements into the components
+	Add message queue configuration, build mqueue.cxx and the mqueue1 and
+	mqueue2 tests
+	Move some calculated options into isoinfra, implemented as interfaces
+	so that unistd.h and limits.h can get the values
+
+	* include/limits.h: Move _POSIX_* macros into isoinfra limits.h
+	since they are implementation independent
+
+	* src/mqueue.cxx: Add POSIX message queue implementation
+	* tests/mqueue1.c, tests/mqueue2.c: and tests
+
+2000-05-18  Nick Garnett  <nickg@cygnus.co.uk>
+
+	* src/pprivate.h:
+	* src/pthread.cxx:
+	* src/signal.cxx:
+	* src/time.cxx:
+	Added prioritization of static kernel objects.
+
+2000-05-17  Nick Garnett  <nickg@cygnus.co.uk>
+
+	* src/pthread.cxx:
+	To reduce the static memory required by this code, the
+	pthread_info structure for a pthread is now allocated in the stack
+	memory for that thread, and not in a static table. The table is
+	now just an array of pointers. The per-thread data array is now
+	also allocated onto the stack only when first required.
+
+	* include/pthread.h: Removed some redundant code.
+
+	* include/limits.h: Added PTHREAD_STACK_OVERHEAD to record
+	management overhead imposed on POSIX threads stacks. This is added
+	to the HAL minimum requirement to generate PTHREAD_STACK_MIN.
+
+	* src/pprivate.h (pthread_info):
+	* include/types.h (pthread_attr_t): Converted a number of integer
+	state and boolean fields to bitfields.
+
+	* cdl/pthread.cdl:
+	Added requirement for CYGFUN_KERNEL_THREADS_STACK_LIMIT.
+
+2000-05-16  Nick Garnett  <nickg@cygnus.co.uk>
+
+	* include/types.h: Added stacksize_valid to pthread_attr_t
+	structure.
+
+	* include/signal.h:
+	Added SI_EXCEPT to mark any signals that were caused by an
+	exception. Removed conditions around SIGBUS.
+
+	* src/startup.cxx (cyg_posix_start):
+	Added call to cyg_posix_exception_start(). 
+
+	* src/signal.cxx:
+	Rearranged cyg_deliver_signals() so that it is possible to
+	longjmp() out of a signal handler without leaving signal handling
+	code in an inconsistent state.
+	Added handling of SIG_IGN in sigaction().
+
+	* src/pthread.cxx: Added setting and checking of stacksize_valid.
+
+	* src/pprivate.h: Added cyg_deliver_signals() as an export of
+	signal system. Added exports from except.cxx.
+
+	* src/except.cxx: Added this file to handle delivery of exceptions
+	into the POSIX signal mechanism.
+
+	* cdl/posix.cdl: Added except.cxx to compile list, added signal2
+	to tests. Added requirement on kernel exception processing.
+
+	* tests/tm_basic.cxx: Tidied up a compilation warning.
+
+	* tests/signal2.c: Added this test for exception signal generation.
+
+	* tests/mutex3.c: Fixed stupid bug.
+	
+2000-05-10  Nick Garnett  <nickg@cygnus.co.uk>
+
+	* src/pprivate.h: Added cyg_posix_clock_start() prototype.
+
+	* src/startup.cxx: Added call to cyg_posix_clock_start().
+
+	* src/time.cxx: Added startup routine to initialize
+	converters. Fixed error result bug in timer_delete().
+
+	* include/signal.h: Removed some configuration tests which are now
+	done in CDL.
+
+	* cdl/posix.cdl: Added configury for the signals component. Added
+	tm_basic to tests.
+
+	* tests/tm_basic.cxx:
+	Added this POSIXized version of the tm_basic test. Note that this
+	has not been entirely converted. While the code being tested is
+	POSIX, the timing infrastructure remains a mish-mash of kernel,
+	KAPI and HAL code.
+
+2000-05-04  Nick Garnett  <nickg@cygnus.co.uk>
+
+	* src/time.cxx:
+	Many changes to implement the delivery of signals on timer expiry.
+	Also added timer_delete().
+
+	* src/signal.cxx:
+	cyg_sigqueue() and cyg_deliver_signals() may now only be called
+	from within the context of a POSIX thread, either from an API call
+	or an ASR.
+	cyg_deliver_signals() can now cope with a signal that has
+	SA_SIGINFO set but no signals queued. It also determines
+	dynamically whether to lock the signal_mutex.
+	cyg_deliver_signals() is no longer called implicitly from
+	cyg_sigqueue() - so a number of expicit calls have been added.
+	
+	* src/sched.cxx:
+	Added this file to implement scheduling API.
+
+	* src/pthread.cxx:
+	Moved priority translation macros to pprivate.h.
+	Removed errno handling, now done in isoinfra package.
+	Added iterative calls to per-thread data destructors.
+
+	* src/pprivate.h:
+	Removed error field from pthread_info structure.
+	Moved priority translation macros here.
+	Removed prototype for cyg_deliver_signals().
+	Added prototype for cyg_posix_timer_asr().
+
+	* include/time.h: Added timer_delete() which was mysteriously
+	omitted.
+
+	* cdl/posix.cdl: Added sched.cxx to compile list and timer1.c to
+	tests.
+
+	* tests/signal1.c: 
+	* tests/pthread1.c:
+	Fixed bug in use of stack sizes.
+
+	* tests/timer1.c: 
+	Added test for use of timers.
+		
+2000-05-02  Jonathan Larmour  <jlarmour@redhat.co.uk>
+
+	* include/sched.h: No longer needed - just use the default definition
+	in isoinfra
+
+	* include/errno.h: No longer needed - errno provision now comes from
+	CYGPKG_ERROR
+	
+	* include/sys/types.h: Moved to include/types.h
+	
+	* cdl/posix.cdl, cdl/pthread.cdl: Put include files in cyg/posix, and
+	configure CYGPKG_ISOINFRA to include the appropriate headers
+	
+	* include/semaphore.h: Don't need to check kernel - including
+	pkgconf/kernel.h would already fail
+	Give SEM_FAILED a type so casting behaves in C++
+	
+	* include/signal.h: This uses pid_t etc., so include <sys/types.h>
+	Add signal() and raise() prototypes (to allow libc compilation, even
+	though they aren't implemented yet)
+	
+	* include/time.h: Remove unnecessary includes. Move clockid_t and
+	timer_t definitions here from sys/types.h since this is where the
+	standard says they must live. 
+	
+	* src/pprivate.h: Include signal.h and limits.h since their contents
+	are used later in the file.	
+
+2000-04-28  Nick Garnett  <nickg@cygnus.co.uk>
+
+	* src/signal.cxx:
+	Added implementations of alarm(), pause() and sleep().
+	Modified cyg_sigqueue() so that it could be called from an ASR.
+	Added cyg_posix_signal_asr() to do signal processing in ASRs.
+	Miscellaneous bug fixes.
+
+	* src/pthread.cxx:
+	Added pthread_count to count number of threads created.
+	Added call to signal ASR function in main ASR.
+	Added cyg_posix_pthread_release_thread() to seek out and kick a
+	thread to which a given set of signals may be delivered.
+
+	* src/pprivate.h:
+	Added some more functions that are shared between POSIX
+	subsystems.
+
+	* include/signal.h:
+	Added alarm(), pause() and sleep() prototypes. 
+
+	* tests/signal1.c: Added this test for various aspects of signal
+	handling.
+
+	* cdl/posix.cdl: Added signal1 test.
+
+2000-04-20  Nick Garnett  <nickg@cygnus.co.uk>
+
+	* src/signal.cxx: Added this file to contain signal handling code.
+
+	* src/time.cxx: Made tick<->timespec converters exported to
+	rest of POSIX subsystem. Enabled interface to signal mechanism for
+	notifying timer expiration.
+
+	* src/pthread.cxx:
+	Made pthread_mutex exported to rest of POSIX subsystem.
+	Exported pthread_info_id().
+	Added thread init and destroy functions for signal subsystem.
+
+	* src/startup.cxx: Added call to cyg_posix_signal_start().
+
+	* src/pprivate.h: Added signal handling fields support to
+	pthread_info structure. Added extra internal interfaces to support
+	signal handling code.
+
+	* include/signal.h: Added _how_ argument values for the sigmask
+	functions.
+
+	* cdl/posix.cdl: Added signal.cxx to compile list.
+
+2000-04-13  Nick Garnett  <nickg@cygnus.co.uk>
+
+	* include/time.h: 
+	* src/time.cxx:
+	Added implementation of clock and timer functions. These are
+	currently untested since they need working signals.
+
+2000-04-12  Nick Garnett  <nickg@cygnus.co.uk>
+
+	* src/pprivate.h: Added cancellation support fields to
+	pthread_info structure. Made pthread_self_info() exported.
+
+	* include/semaphore.h: Added SEM_FAILED plus misc. tidies.
+
+	* include/pthread.h: Added PTHREAD_CANCELED.
+
+	* include/errno.h: Fixed cyg_pthread_errno_p() return type.
+
+	* src/pthread.cxx:
+	Added pthread_reap() to clean up exited threads.
+	Added support for cancellation.
+	Added cyg_posix_errno_p().
+
+	* src/time.cxx:
+	Added this file to implement time functionality. At present only
+	nanosleep() is actually implemented.
+
+	* src/sem.cxx:
+	Added this file to implement semaphore functionality.
+
+	* cdl/pthread.cdl:
+	Added some extra configuration requirements.
+
+	* cdl/posix.cdl:
+	Added some more files to compile.
+	Added semaphore configuration.
+
+	* tests/mutex3.c:
+	Added this test program. This is actually a POSIXized version of
+	Hugo's splendid kernel test of the same name. It exercises quite a
+	lot of the pthread infrastructure and is thus a good test to run.
+
+	* tests/pthread1.c:
+	Added proper comment headers and added full testing stuff.
+	
+2000-04-10  Nick Garnett  <nickg@cygnus.co.uk>
+
+	* src/pprivate.h: 
+	* src/pthread.cxx:
+	Added per-thread data support.
+
+2000-04-06  Nick Garnett  <nickg@cygnus.co.uk>
+
+	* src/pthread.cxx:
+	Filled in implementations of lots of functions.
+
+	* src/main.cxx:
+	Added this file to contain a default main. This is currenly just a
+	duplicate of the same file from the C library. Work is needed to
+	combine these.
+
+	* include/sys/types.h:
+	Modified pthread_mutex_t to conform to kernel structure.
+
+	* cdl/pthread.cdl:
+	Added support for main thread.
+
+	* cdl/posix.cdl:
+	Added main.cxx to compile list.
+
+2000-03-31  Nick Garnett  <nickg@cygnus.co.uk>
+
+	* cdl/pthread.cdl: 
+	* cdl/posix.cdl:
+	Added CDL files to configure POSIX subsystem.
+
+	* src/pprivate.h: 
+	* src/pthread.cxx: 
+	* src/startup.cxx: 
+	Added these files to begin implementation of POSIX package.
+	
+	* include/pthread.h: 
+	* include/sched.h: 
+	* include/signal.h: 
+	* include/time.h: 
+	* include/sys/types.h: 
+	Many changes needed by implementation work.
+	
+	* include/limits.h: 
+	* include/errno.h: 
+	Added these header files.
+	
+2000-03-24  Nick Garnett  <nickg@cygnus.co.uk>
+
+	* include/sys/types.h: 
+	* include/time.h: 
+	* include/sched.h: 
+	* include/pthread.h: 
+	* include/signal.h:
+	* include/semaphore.h: 
+	* include/mqueue.h: 
+	Roughed out (most of) the set of POSIX headers for the
+	functionality we are currently going to support. These files are
+	currently neither fully standard conformant nor implementation
+	ready. Much work is still needed to make them so. Watch this
+	space.
+