summaryrefslogtreecommitdiffstats
path: root/lib/libkse/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* Previous commit had a typo that resulted in symbol versioning beingdes2008-02-061-1/+1
| | | | | | (silently) disabled for libkse... Pointy hat to: des
* Give libkse the same treatment as libthr re. symbol versioning.des2008-02-061-1/+2
| | | | MFC after: 2 weeks
* WARNS=3'ify.deischen2007-11-301-2/+1
|
* To reduce the impact of possible removal of the syscalls required bybrooks2007-11-291-3/+6
| | | | | | | | | | libkse in FreeBSD 8.0, do not build or install static versions of libkse (i.e. libkse*.a) in the default case. Static versions will be built and installed if libthr is not built or if libkse is the default threading library. Discussed on: freebsd-arch MFC after: 3 days
* These are the things that the tinderbox has problems with because itjb2007-11-201-0/+1
| | | | | | | | doesn't use the default CFLAGS which contain -fno-strict-aliasing. Until the code is cleaned up, just add -fno-strict-aliasing to the CFLAGS of these for the tinderboxes' sake, allowing the rest of the tree to have -Werror enabled again.
* For 7.0 make the shared lib "version" '3'.obrien2007-10-101-1/+1
| | | | Approved by: re(kensmith)
* Repo copy libpthreads to libkse.obrien2007-10-091-5/+5
| | | | | | This introduces the WITHOUT_LIBKSE nob, and changes WITHOUT_LIBPTHREADS to mean with neither threading libs. Approved by: re(kensmith)
* Always install libpthread.* symlinks if at least one ofru2007-10-011-2/+3
| | | | | | | | | | | | the threading libraries is built. This simplifies the logic in makefiles that need to check if the pthreads support is present. It also fixes a bug where we would build a threading library that we shouldn't have built: for example, building with WITHOUT_LIBTHR and the default value of DEFAULT_THREADING_LIB (libthr) would mistakenly build the libthr library, but not install it. Approved by: re (kensmith)
* Bump library versions in preparation for 7.0.deischen2007-05-211-1/+1
| | | | Ok'd by: kan
* Fix a logic bug I re-introduced in my patch I sent to Danielru2007-05-181-1/+1
| | | | | | | that would cause the selected shared threading library to be overwritten with its 32-bit version on amd64. PR: amd64/112509
* Allow DEFAULT_THREAD_LIB to be set from /etc/src.conf.deischen2007-05-171-4/+4
| | | | Submitted by: ru
* Enable symbol versioning by default. Use WITHOUT_SYMVER to disable it.deischen2007-05-131-11/+16
| | | | | | | | | | Warning, after symbol versioning is enabled, going back is not easy (use WITHOUT_SYMVER at your own risk). Change the default thread library to libthr. There most likely still needs to be a version bump for at least the thread libraries. If necessary, this will happen later.
* Remove alpha left-overs.ru2006-08-221-1/+1
|
* Install shared libpthread library into /lib; needed by someru2006-04-121-0/+1
| | | | /sbin programs.
* Bring libpthread up to WARNS level 2.des2006-03-291-1/+1
| | | | Reviewed by: deischen
* Suuply the name of the version map and let bsd.lib.mk supplydeischen2006-03-161-3/+7
| | | | the link arguments.
* Add compatibility symbol maps. libpthread (.so.1 and .so.2)deischen2006-03-131-1/+4
| | | | | | | | | | | used LIBTHREAD_1_0 as its version definition, but now needs to define its symbols in the same namespace used by libc. The compatibility hooks allows you to use libraries and binaries built and linked to libpthread before libc was built with symbol versioning. The shims can be removed if libpthread is given a version bump. Reviewed by: davidxu
* Bump the shared library version number of all libraries that have notkensmith2005-07-221-1/+1
| | | | | | | been bumped since RELENG_5. Reviewed by: ru Approved by: re (not needed for commit check but in principle...)
* For variables that are only checked with defined(), don't provideru2004-10-241-1/+1
| | | | any fake value.
* 1. Add macro DTV_OFFSET to calculate dtv offset in tcb.davidxu2004-08-161-0/+1
| | | | 2. Export symbols needed by debugger.
* Now that libpthread is the default threading library, remove themarcel2004-01-311-12/+0
| | | | | compatibility link from libc_r to libpthread (previously a link from libc_r to libkse).
* Change libkse back to libpthread and make it the defaultdeischen2004-01-301-0/+4
| | | | | | | | | | | thread library for i386, amd64, and ia64. For alpha and sparc64 the library is not changed and remains libkse, and links are installed so that libpthread -> libc_r. The gcc -pthread option will be changed in a separate commit so that it links to -lpthread instead of -lc_r. Approved by: re@
* Relink libc_r.a, libc_r.so and libc_r_p.so from libthr to libkse.marcel2003-09-271-0/+12
| | | | | | | | | | | On ia64, where there's no libc_r at all, libkse is now the default thread library by virtue of these links. The reasons for this change are: 1. libkse is slated to become the default thread library anyway, 2. active development and maintenance is only present for libkse, 3. GNOME and KDE, both in the process of being supported on ia64, work better with KSE; even on ia64.
* Rethink the way thr_libc.So is generated. Relying on GCC to extractkan2003-09-021-6/+0
| | | | | | only needed symbols from libc_pic is not working on sparc64. Requested by: jake
* o Eliminate upcall for PTHREAD_SYSTEM_SCOPE thread, now itdavidxu2003-07-171-0/+4
| | | | | | | | | | | | | is system bound thread and when it is blocked, no upcall is generated. o Add ability to libkse to allow it run in pure 1:1 threading mode, defining SYSTEM_SCOPE_ONLY in Makefile can turn on this option. o Eliminate code for installing dummy signal handler for sigwait call. o Add hash table to find thread. Reviewed by: deischen
* Take thr_support.c out of SRCS so that it does not end up in libraries.ru2003-07-021-0/+6
| | | | | | Record the missing dependency of thr_libc.So on the libc_pic.a library. OK'ed by: kan
* Unbreak "make checkdpadd".ru2003-07-011-1/+1
|
* Axe AINC.ru2003-07-011-1/+0
| | | | Submitted by: bde
* Move the machine specific files from sys/Makefile.inc and put themmarcel2003-06-231-2/+3
| | | | | in a machine specific makefile. While here, sort the sub-directories in Makefile and remove _atomic_lock.S from all makefiles.
* Attempt to eliminate PLT relocations from rwlock aquire/releasekan2003-05-301-0/+5
| | | | | | | | | | | path, making them suitable for direct use by the dynamic loader. Register libpthread-specific locking API with rtld on startup. This still has some rough edges with signals which should be addresses later. Approved by: re (scottl)
* Remove the %gs restoring hack (already commented out).deischen2003-04-251-6/+1
| | | | | | | Don't install man pages. Temporarily (again) rename the library to libkse. It will be put back to libpthread after more wide-spread testing.
* Remove the i386-specific hack (well, we only run on i386 anyways)deischen2003-04-231-4/+4
| | | | | | to always set %gs when resuming a thread. Install this library as libpthread instead of libkse.
* Add an i386-specifc hack to always set %gs. There still seemsdeischen2003-04-211-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to be instances where the kernel doesn't properly save and/or restore it. Use noupcall and nocompleted flags in the KSE mailbox. These require kernel changes to work which will be committed sometime later. Things still work without the changes. Remove the general kse entry function and use two different functions -- one for scope system threads and one for scope process threads. The scope system function is not yet enabled and we use the same function for all threads at the moment. Keep a copy of the KSE stack for the case that a KSE runs a scope system thread and uses the same stack as the thread (no upcalls are generated, so a separate stack isn't needed). This isn't enabled yet. Use a separate field for the KSE waiting flag. It isn't correct to use the mailbox flags field. The following fixes were provided by David Xu: o Initialize condition variable locks with thread versions of the low-level locking functions instead of the kse versions. o Enable threading before creating the first thread instead of after. o Don't enter critical regions when trying to malloc/free or call functions that malloc/free. o Take the scheduling lock when inheriting thread attributes. o Check the attribute's stack pointer instead of the attributes stack size for null when allocating a thread's stack. o Add a kseg reinit function so we don't have to destroy and then recreate the same lock. o Check the return value of kse_create() and return an appropriate error if it fails. o Don't forget to destroy a thread's locks when freeing it. o Examine the correct flags word for checking to see if a thread is in a synchronization queue. Things should now work on an SMP kernel.
* Sorry folks; I accidentally committed a patch from what I was workingdeischen2003-04-181-1/+1
| | | | | | on a couple of days ago. This should be the most recent changes. Noticed by: davidxu
* Comment out the addition of -g to CFLAGS. This snuck in fromdeischen2003-04-181-1/+1
| | | | my local version.
* Revamp libpthread so that it has a chance of working in an SMPdeischen2003-04-181-3/+5
| | | | | | | | | | | | | | | | | | | environment. This includes support for multiple KSEs and KSEGs. The ability to create more than 1 KSE via pthread_setconcurrency() is in the works as well as support for PTHREAD_SCOPE_SYSTEM threads. Those should come shortly. There are still some known issues which davidxu and I are working on, but it'll make it easier for us by committing what we have. This library now passes all of the ACE tests that libc_r passes with the exception of one. It also seems to work OK with KDE including konqueror, kwrite, etc. I haven't been able to get mozilla to run due to lack of java plugin, so I'd be interested to see how it works with that. Reviewed by: davidxu
* For now, build and install this as libkse instead of libpthread.deischen2002-12-081-2/+2
| | | | | | | This will avoid any accidental use of an experimental library. Suggested by: rwatson Approved by: re (jhb)
* Zap now-unused SHLIB_MINORpeter2002-09-281-1/+0
|
* Mechanically change all libc_r references to libpthread.mini2002-09-161-1/+1
|
* Make the changes needed for libpthread to compile in its new home.mini2002-09-161-4/+4
| | | | | | | | The new libpthread will provide POSIX threading support using KSE. These files were previously repo-copied from src/lib/libc_r. Reviewed by: deischen Approved by: -arch
* Sync SCM ID comments with libc.obrien2002-04-151-7/+9
|
* Add weak definitions for wrapped system calls. In general:deischen2001-01-241-17/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | _foo - wrapped system call foo - weak definition to _foo and for cancellation points: _foo - wrapped system call __foo - enter cancellation point, call _foo(), leave cancellation point foo - weak definition to __foo Change use of global _thread_run to call a function to get the currently running thread. Make all pthread_foo functions weak definitions to _pthread_foo, where _pthread_foo is the implementation. This allows an application to provide its own pthread functions. Provide slightly different versions of pthread_mutex_lock and pthread_mutex_init so that we can tell the difference between a libc mutex and an application mutex. Threads holding mutexes internal to libc should never be allowed to exit, call signal handlers, or cancel. Approved by: -arch
* Bump the shared lib version. There seems to have been an incompatibleobrien2000-11-141-1/+1
| | | | | change committed to RELENG_4 where a bump there is now necessary. We've got to go before RELENG_4 does.
* Enable _PTHREADS_INVARIANTS until the recent libc_r changes aredeischen2000-10-131-1/+1
| | | | shaken out.
* Add wrapper for kevent() syscalljlemon2000-08-071-1/+2
| | | | Noted as missing by: nicolas.leonard@animaths.com
* Remove DEBUG_FLAGS=-g3, which never should have been committed.jasone2000-07-051-2/+0
|
* Add a wrapper for the sendfile() system call.jasone2000-04-271-1/+3
| | | | PR: bin/17366
* Simplify sytem call renaming. Instead of _foo() <-- _libc_foo <-- foo(),jasone2000-01-271-1/+1
| | | | | | | | | | | | | | | | | just use _foo() <-- foo(). In the case of a libpthread that doesn't do call conversion (such as linuxthreads and our upcoming libpthread), this is adequate. In the case of libc_r, we still need three names, which are now _thread_sys_foo() <-- _foo() <-- foo(). Convert all internal libc usage of: aio_suspend(), close(), fsync(), msync(), nanosleep(), open(), fcntl(), read(), and write() to _foo() instead of foo(). Remove all internal libc usage of: creat(), pause(), sleep(), system(), tcdrain(), wait(), and waitpid(). Make thread cancellation fully POSIX-compliant. Suggested by: deischen
* Fix some minor POSIX/SUSv2 compliance nits.jasone1999-12-181-0/+1
| | | | PR: kern/11982
* add pthread_cancel, obtained from OpenBSD.alfred1999-11-281-3/+7
| | | | | | | | | | | | | | eischen (Daniel Eischen) added wrappers to protect against cancled threads orphaning internal resources. the cancelability code is still a bit fuzzy but works for test programs of my own, OpenBSD's and some examples from ORA's books. add readdir_r to both libc and libc_r add some 'const' attributes to function parameters Reviewed by: eischen, jasone
OpenPOWER on IntegriCloud