Commit graph

77 commits

Author SHA1 Message Date
Tor Egge
b6312b265a Bump port revision due to pthread manager pipe communication fix. 2006-05-28 17:47:01 +00:00
Tor Egge
a1d031cc0a Stop providing reentrant functions already present in libc on newer FreeBSD
versions.
2006-05-28 17:43:05 +00:00
Tor Egge
7af5981825 Backport 2001-09-11 fix from newer linuxthreads versions making
the communication over the pthread manager pipe a little more robust by
retrying after EINTR failures.  Without this fix, linuxthreads based
binaries that run fine on FreeBSD 4 starts crashing in mysterious ways
on FreeBSD 6.
2006-05-28 17:38:59 +00:00
Tor Egge
c717b11e0d Backport 2002-03-22 fix from newer linuxthreads versions defining
MEMORY_BARRIER() as a asm op which clobbers memory to avoid unintended
reordering by the compiler.
2006-05-28 17:32:39 +00:00
Tor Egge
9e5965a07a Use pre-su-install target.
PR:		96147
Submitted by:	Michael Neumann <mneuma2s@smail.inf.fh-brs.de>
2006-05-28 17:26:09 +00:00
Tor Egge
6b6728d75d Avoid using variable after end of semantic life time. 2006-01-24 15:19:48 +00:00
Tor Egge
8f82445315 Backport 2002-04-24 fix from newer linuxthreads versions to avoid hangs
or busy wait loop due to race between timeout and pthread_cond_signal.
2006-01-24 01:05:01 +00:00
Tor Egge
156af82b83 Fix timeout/cond signal race causing extra restart signal to be generated
but not consumed.
2006-01-24 00:56:27 +00:00
Edwin Groothuis
acd87b4ad8 SHA256ify
Approved by:    krion@
2006-01-22 08:34:46 +00:00
Pav Lucistnik
8b16b9cb6c - Fix conditionals for ancient make(1)
PR:		ports/84482
Submitted by:	Brent B. Powers <bbp2006@columbia.edu>
Approved by:	maintainer timeout (tegge; 1 month)
2005-09-10 20:47:38 +00:00
Tor Egge
f41797d3ca Catch up with shared library version bump in FreeBSD >= 6.0. 2005-07-25 14:58:02 +00:00
Tor Egge
20fa307449 Check for NO_PIC and NO_PROFILE on FreeBSD >= 6.0.
Add sys/_pthreadtypes.h to allow compilation on FreeBSD >= 6.0.

Initialize signal trampoline variables earlier to avoid race in wrapper
around sigaction.

Fix known API wrapper bugs.

Port compile time options:

  Add option for using an alternate restart signal instead of SIGUSR2.

  Add options for adjustment of maximum thread stack size and maximum
  number of threads.

  Make all options start with LINUXTHREADS_

Note that complete FreeBSD source matching userland must be installed
in /usr/src when compiling this port.
2005-07-22 22:20:21 +00:00
Kris Kennaway
20695e1667 BROKEN on FreeBSD >= 6.0: Does not compile 2005-07-20 23:56:02 +00:00
Tor Egge
71623572da Align stack address for new threads. 2004-11-22 17:57:45 +00:00
Tor Egge
fde4540874 Stop wrapping gethost* functions on 5.2-CURRENT. 2004-03-21 20:22:14 +00:00
Trevor Johnson
a1bc8c46f5 Add size data, approved by maintainers. 2004-03-20 21:03:41 +00:00
Tor Egge
deaa638071 Add option to ignore posix priority scheduling.
Add threadsafe versions of some libc functions on FreeBSD 4.x.
Register liblgcc_r_pic.a as installed for FreeBSD 5.x.
2004-02-27 23:32:55 +00:00
Tor Egge
4c557101da Fix typos in previous commit causing the previous change to effectively
be a noop.
2003-07-14 13:45:39 +00:00
Tor Egge
909179ec64 Restore gethostbyaddr_r wrapper and remove getpw{nam,uid}_r wrappers for
newer versions of FreeBSD 5.X.

Drop use of deprecated AINC variable.

Reenable use of ld(1) to restore the LINUXTHREADS_WRAP_API option.

Rename __thread to __xthread in prototypes to avoid conflict with
new gcc keyword.

Bump port revision.
2003-07-14 12:15:03 +00:00
Tor Egge
f390ff8ee2 Add new experimental option, LINUXTHREADS_WRAP_API, that adds wrapper
functions providing most of the native threads API while avoiding name
clashes by transparently prefixing all function names that directly
provide the linuxthreads API.
2003-06-09 03:48:31 +00:00
Tor Egge
87937c3ca2 Adjust to changed compilation environment (Makefiles setup) in 5.1-CURRENT.
Link with liblgcc_r when creating linuxthreads versions of shared
libraries.
2003-06-09 00:25:05 +00:00
Tor Egge
26bc6153e3 Add _spinunlock() to keep up with libc change in 5.0-CURRENT. 2003-03-27 01:29:24 +00:00
Ade Lovett
7e52725f2a Clear moonlight beckons.
Requiem mors pacem pkg-comment,
And be calm ports tree.

E Nomini Patri, E Fili, E Spiritu Sancti.
2003-03-07 06:14:21 +00:00
Tor Egge
ca5b596b05 Make detection of unsafe calls to exit() optional and not default.
Reviewed by:	mbr
2003-02-25 00:27:37 +00:00
Martin Blapp
648f6baf6f Make this buildable again on CURRENT.
Rev. 1.16 of src/sys/sys/msg.h broke the port three weeks
ago.

Reviewed by:	tor
2003-02-22 15:31:31 +00:00
Tor Egge
37cccc341b Fix build failure on 5.0-CURRENT by including necessary headers. 2002-11-19 16:07:02 +00:00
Tor Egge
1a79f51243 Bump port revision to reflect memory leak fix. 2002-09-06 15:03:19 +00:00
Tor Egge
daa134e666 Don't assume that pthread_key_t is signed, thus plugging a memory leak. 2002-09-06 15:02:24 +00:00
Tor Egge
d573a7ff4e Let main thread do an exit(1) instead of an exit(0) on unclean program
termination (multiple active threads).
2002-09-06 14:57:50 +00:00
Tor Egge
05e2e6dbaf Register PIC archives when INSTALL_PIC_ARCHIVE has been defined.
Defining INSTALL_LIBLTHREAD_PIC_ARCHIVE causes installation and
registration of PIC archive for liblthread, which can be used to
generate a shared liblthread library for a different gcc installation.
Bump port revision.
2002-06-18 20:32:21 +00:00
Tor Egge
85fb13382f Reduce number of portlint errors/warnings. 2002-06-08 20:58:53 +00:00
Tor Egge
7c73d7524c Build linuxthreads version of libstdc++ and libsupc++ under 5.0-CURRENT.
Don't misuse DESTDIR when building linuxthreads version of libgcc.
Fix varargs warning under 5.0-CURRENT.
Don't try to register profiled libraries when NOPROFILE has been specified.
Don't try to register shared libraries when NOPIC has been specified.
Bump port revision.

PR:		38876
2002-06-08 18:27:19 +00:00
Tor Egge
6e913a0e74 Remove #pragma weak usage. 2002-06-08 18:18:05 +00:00
Tor Egge
5454751631 Track changes in -current (remove register keyword, ansify). 2002-06-08 18:15:54 +00:00
Tor Egge
636bb7cc2f Fix malformed preprocessor directive. 2002-06-08 18:13:59 +00:00
Tor Egge
b20aef1bb8 Fix hang caused by a thread calling exit():
- Block cancel signal while creating new thread to avoid losing
    the signal.

  - Terminate the process with _exit(1) if it's unsafe to continue
    calling atexit functions and destructors.
2002-04-22 16:50:02 +00:00
Tor Egge
1f3d93cdba Document that FreeBSD source code is needed to build linuxthreads port.
Add sanity check for presence of needed FreeBSD source code.
Unbreak compilation on 5.0-CURRENT, DEFS.h is no longer available.
Bump port revision.
2002-03-10 01:24:23 +00:00
Tor Egge
d48c47551a Handle internal race that caused pthread_cond_timedwait() to block
waiting for a signal that wasn't sent.
2001-09-13 16:01:44 +00:00
Tor Egge
60032d4ed7 Add an optional experimental patch that reduce the number of context
switches on UP systems when the thread waiting on a condition has a
higher priority than the thread signalling the condition.

Bump port revision.
2001-09-09 01:12:47 +00:00
Tor Egge
85ca10cdc3 Set frame pointer to 0 before calling function in child process to indicate
that the stack frame chain stops here.
2001-09-09 00:57:11 +00:00
Tor Egge
33ddbc7387 Use libc version of _flockfile() and _funlockfile() on 5.0-CURRENT. 2001-09-09 00:53:07 +00:00
Tor Egge
b55a292b53 Backout library major number bump. It wasn't needed. Additionally,
ldconfig -r didn't list the library, making it impossible for other
ports to depend on the linuxthreads port.
2001-07-01 17:36:25 +00:00
Tor Egge
71819868ea Update from version 2.1.3 to 2.2.3 of LinuxThreads. 2001-06-14 01:34:18 +00:00
Tor Egge
5f887dac56 Calling the libc .cerror from outside libc doesn't work when libc
is a shared library.  Use a copy of .cerror to avoid this problem.

PR:		24845
2001-02-26 14:15:28 +00:00
Tor Egge
3c409910e0 Use __error() from liblthread instead of the libc version. 2001-02-26 14:09:46 +00:00
Tor Egge
6938e8f7c5 Reference _flockfile to ensure that the linuxthreads version is used. 2001-02-25 09:15:19 +00:00
Tor Egge
ea51d128f0 Initialize attributes for new threads with default values when a NULL
pthread_attr_t is provided as argument to pthread_create.

liblgcc_r_pic.a no longer exists.

Put the liblgcc_r.a version of __get_eh_info() and __register_frame_info()
into the shared linuxthreads library to avoid using the incompatible
libgcc.a version.  Shared libraries that use exceptions still represent a
problem if linked before the linuxthreads library.

Compile liblgcc_r.a before the main linuxthreads library to provide
the object files that contains __get_eh_info() and __register_frame_info().

Add minimal wrappers for native thread library functions used by
5.0-CURRENT libc.  The wrappers try to call corresponding functions
in the linuxthreads library after performing argument conversion.
2001-02-20 00:34:57 +00:00
Tor Egge
3af7108f66 Take over linuxthreads port maintainership.
Approved by:	jasone
2001-02-18 21:59:43 +00:00
Maxim Sobolev
2b1a883dc4 Massive style enforcement - use ^I instead of spaces for variables identation. 2001-01-16 17:33:20 +00:00
Jason Evans
06bce9d9d7 Use the correct pthread.h when compiling liblgcc_r. Allow thread stacks
larger than 16kB.  Make sure to call global destructors during shutdown.

PR:		ports/22429
Submitted by:	tegge
2000-11-06 19:43:33 +00:00