| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
instead of unwinding the call stack. This makes them usable to switch
stacks, e.g. for libc_r.
Do not save the frame pointer in setjmp() and _setjmp(), it is not needed
any more.
Rename _longjmp() to ___longjmp(), with a weak alias to _longjmp(), like
the other architectures did.
|
|
|
|
| |
like the other architectures do.
|
| |
|
|
|
|
|
|
|
|
| |
HUGE_VAL is not properly aligned on some architectures. The previous
fix now works because the two versions of 'math.h' (include/math.h
and lib/msun/src/math.h) have since been merged into one.
PR: bin/43544
|
|
|
|
| |
should allow gdb to detect when we're executing in a signal trampoline.
|
|
|
|
| |
right way to do it.
|
|
|
|
|
|
| |
"cast increases required alignment of target type" on some platforms.
Reviewed by: bde
|
| |
|
|
|
|
|
| |
fpsetround(), fpsetsticky(), obtained from NetBSD and tweaked a little
to use definitions from machine/fsr.h instead of magic numbers.
|
|
|
|
|
|
|
|
|
| |
When it is called directly, gcc is smart enough to generate inline
code for it, which is why it wasn't noticed before that it was missing.
fabs() would probably better fit into libm, but it has traditionally been
in libc on FreeBSD, so there is probably software around that makes
assumptions about this by now.
|
|
|
|
|
|
|
| |
instead of on startup. This fixes binary compatibility of dynamically
linked binaries from before the signal code move.
Suggested by: wollman (a long time ago)
|
|
|
|
| |
Submitted by: gcc3.2
|
| |
|
| |
|
| |
|
|
|
|
| |
Obtained from: OpenBSD
|
| |
|
|
|
|
| |
a call to this for, but apparently somehing in libstdc++ does.
|
|
|
|
|
|
|
| |
of C wrappers for the *sys indirect system calls. The indirect system calls
are horribly broken on sparc64.
Submitted by: tmm
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a floating point instruction into a 6-bit register number for
double and quad arguments.
Make use of the new INSFPdq_RN macro where apporpriate; this
is required for correctly handling the "high" fp registers
(>= %f32).
Fix a number of bugs related to the handling of the high registers
which were caused by using __fpu_[gs]etreg() where __fpu_[gs]etreg64()
should be used (the former can only access the low, single-precision,
registers).
Submitted by: tmm
|
| |
|
| |
|
|
|
|
|
|
|
| |
install sysarch, to be called from _start.
This will allow the stack to be mapped non-executable, as required by the
sparc v9 abi.
|
|
|
|
|
|
|
|
|
|
|
| |
on long double, which are not implemented in hardware on any UltraSPARC
chip that I know of. This just calls into the existing floating point
emulator, which is still needed to emulate other floating point operations
in certain conditions. Without this gcc has to generate the quad floating
point instructions directly, which sometimes causes internal compiler
errors.
Reviewed by: tmm
|
|
|
|
|
|
|
|
|
| |
using these to load long doubles, but they aren't implemented in hardware
on (at least) UltraSPARC I and II machines.
Emulate popc in the user trap handler as well.
Re-arrange slightly to make support functions more accessible.
Reviewed by: tmm
|
|
|
|
|
|
|
|
|
|
|
| |
and add some compatibility defines. Add fields for ins and locals to
struct reg also for the same reason; these aren't filled in yet because
getting at those registers sucks and I'd rather not save them in the
trapframe just for this. Reorder struct reg to be ABI compatible as
well. Add needed include of machine/emul.h.
This gets pmdb (poor man's debugger) from OpenBSD mostly compiling but it
doesn't work yet :(
|
|
|
|
|
| |
not sign-extend. Fix a comment in the former to that effect, and change
the latter over to do the right conversion.
|
|
|
|
| |
I believe have made all of libc .h's as consistent as possible.
|
|
|
|
| |
I believe have made all of libc .c's as consistent as possible.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
support for fcmp and fcmpe instructions with a condition code
specification other than %fcc0.
This (primarily the first part) seems to fix a lot of problems that
people were seeing, e.g. perl and gawk failures.
Reported and analyzed by: wollman
|
| |
|
|
|
|
| |
and make it PIC-aware.
|
|
|
|
|
|
| |
gcc emits the deprecated sparc v8 instructions that use this register
when optimizing for UltraSparc machines because they are apparetly
faster then their v9 counterpars there.
|
|
|
|
| |
Obtained from: netbsd
|
|
|
|
|
|
| |
sigsetjmp. It would return the value of the signal flag, instead.
Pointy hat to: jake
|
| |
|
|
|
|
|
| |
of the (never committed) in-kernel version (with some optimizations and
cleanups), which in turn was ported from NetBSD.
|
|
|
|
| |
Submitted by: tmm
|
|
|
|
|
|
|
| |
user trap entry code. Restore %asi and %ccr from the saved %tstate before
returning to the trapping user code.
Submitted by: tmm
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
deprecated in favor of the POSIX-defined lowercase variants.
o Change all occurrences of NTOHL() and associated marcros in the
source tree to use the lowercase function variants.
o Add missing license bits to sparc64's <machine/endian.h>.
Approved by: jake
o Clean up <machine/endian.h> files.
o Remove unused __uint16_swap_uint32() from i386's <machine/endian.h>.
o Remove prototypes for non-existent bswapXX() functions.
o Include <machine/endian.h> in <arpa/inet.h> to define the
POSIX-required ntohl() family of functions.
o Do similar things to expose the ntohl() family in libstand, <netinet/in.h>,
and <sys/param.h>.
o Prepend underscores to the ntohl() family to help deal with
complexities associated with having MD (asm and inline) versions, and
having to prevent exposure of these functions in other headers that
happen to make use of endian-specific defines.
o Create weak aliases to the canonical function name to help deal with
third-party software forgetting to include an appropriate header.
o Remove some now unneeded pollution from <sys/types.h>.
o Add missing <arpa/inet.h> includes in userland.
Tested on: alpha, i386
Reviewed by: bde, jake, tmm
|
| |
|
|
|
|
|
|
| |
Add support for handling floating point disabled traps mostly in userland
for the simple single threaded case. Not yet enabled by default.
Implement __sparc_utrap_install as specified by the sparc abi.
|
| |
|
| |
|
|
|
|
|
|
| |
Adapt to jmpbuf no longer being a ucontext_t.
Restore the context "by hand" in longjmp and call sigprocmask, instead
of just using sigreturn.
|