| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Convert from using MACHINE_ARCH to MACHINE_CPUARCH. Hoist path statement
up into the top Makefile rather than repeating it on every arch Makefile.
|
|
|
|
|
|
| |
ia64, powerpc, and sparc64, use ANSI function headers and specifically
indicate the lack of arguments with 'void'. Otherwise, warnings are
generated at WARNS=3, leading to a compile failure with -Werror.
|
| |
|
|
|
|
|
|
|
| |
o avoid using a global register variable.
o redefine struct ia64_tp as a union. We don't have to get to the
fields themselves. We just need it to be of the right size with
the right alignment.
|
|
|
|
|
|
|
| |
16-byte aligned. Consequently, struct tcb is a multiple of 16
bytes in size. We need to make sure there's no padding after
struct ppc32_tp. We do this by explicitly adding the necessary
padding in front of it.
|
|
|
|
| |
abstract the magic that happens when deriving one or the other.
|
| |
|
|
|
|
|
|
| |
movw for segment saving and restoring.
Submitted by: Diego 'Flameeyes' Petteno flameeyes at gentoo dot org
|
|
|
|
|
|
| |
atomic operation to return and adjust the stack.
Submitted by: luoqi
|
| |
|
|
|
|
|
|
|
|
| |
Like on libthr, there is an i386_set_gsbase() stub implementation here
to avoid libc.so.5 issues. This should likely be a weak symbol and I
expect this will be fixed soon.
Approved by: re
|
|
|
|
|
| |
that the amd64 kernel implements i386_get/set_gsbase(). All the rest of
the ldt backwards compat code should go away soon.
|
|
|
|
|
| |
This is a little hairy here because the allocation and usage of this
functionality is split into two places in libpthread.
|
| |
|
|
|
|
| |
ARM_TP_ADDRESS.
|
|
|
|
|
| |
kernels. Use the recently exposed direct-set routines instead. This is
only activated for when we compile i386 support libraries on amd64.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Reviewed by: deischen
|
| |
|
| |
|
|
|
|
| |
2. Export symbols needed by debugger.
|
| |
|
|
|
|
| |
kse_switchin syscall.
|
| |
|
|
|
|
| |
athlon64 machine.
|
|
|
|
| |
the time being.
|
| |
|
| |
|
| |
|
|
|
|
| |
_amd64_restore_context().
|
|
|
|
| |
as stubs.
|
|
|
|
|
|
|
|
|
| |
flags. We now create asynchronous contexts or syscall contexts only.
Syscall contexts differ from the minimal ABI dictated contexts by
having the scratch registers saved and restored because that's where
we keep the syscall arguments and syscall return values.
Since this change affects KSE, have it use kse_switchin(2) for the
"new" syscall context.
|
|
|
|
|
|
|
|
|
|
|
| |
UTS with the stack correctly aligned. Also, while here, use an indirect
jump rather than the pushq/ret hack.
This fixes threaded apps that use floating point for me, although
it hasn't solved all the problems. It is an improvement though.
Preservation of the 128 byte red zone hasn't been resolved yet.
Approved by: re (scottl)
|
|
|
|
|
|
| |
helps branch predict a lot for INTEL P4.
Approved by: re (scottl)
|
| |
|
|
|
|
|
|
|
| |
about the fpu code here. It should be using fxsave/fxrstor instead of
saving/restoring the control word. The SSE registers are used a lot in
gcc generated code on amd64. I'm not sure how this all fits together
though.
|
| |
|
|
|
|
|
| |
The first argument is the UTS function, the second argument is the
first argument to the UTS function. Who's on first.
|
|
|
|
|
| |
return 0 when called the first time, and return 1 when resumed by
thr_setcontext().
|
|
|
|
|
|
|
|
| |
yet work, but hopefully someone familiar with the sparc64
port can pick up the reins.
Submitted by: jake
With mods by: deischen
|
| |
|
|
|
|
|
|
| |
pthread_md.h. This commit only moves the definition; it does not
change it for any of the platforms. This more easily allows 64-bit
architectures (in particular) to pick a slightly larger stack size.
|
|
|
|
|
|
|
|
|
|
|
|
| |
THR_SETCONTEXT as PANIC(). The THR_SETCONTEXT macro is currently not
used, which means that the definition we had could be wrong, overly
pessimistic or unknowingly right. I don't like the odds...
The new _ia64_break_setcontext() and corresponding kernel fixes make
KSE mostly usable. There's still a case where we don't properly
restore a context and end up with a NaT consumption fault (typically
an indication for not handling NaT collection points correctly),
but at least now mutex_d works...
|
|
|
|
|
| |
Instead use the break instruction with an immediate specially
created for us.
|
|
|
|
|
|
|
|
|
|
|
| |
state for amd64 was twice as large as necessary. Peter
recently fixed this, so the comment no longer applies.
Also, since the size of struct mcontext changed, adjust
the threads library version of get&set context to match.
FYI, any change layout/size change to any arch's struct
mcontext will likely need some minor changes in libpthread.
|
|
|
|
|
|
|
|
|
|
|
|
| |
instead of long types for low-level locks.
Add prototypes for some internal libc functions that are
wrapped by the library as cancellation points.
Add memory barriers to alpha atomic swap functions (submitted
by davidxu).
Requested by: bde
|
| |
|