joerg
47a96e3a4d
_Unwind_GetLanguageSpecificData is supposed to return a _Unwind_Ptr.
...
This makes a difference on M68K as it uses a different register for
integer vs pointer values.
2014-03-24 21:26:01 +00:00
martin
6d0fe06315
Avoid strict aliasing problems
2014-03-23 15:26:47 +00:00
pooka
0ab0c8a502
fix name of HAVE_PTHREAD_SETNAME_3
2014-03-21 16:03:35 +00:00
pooka
fe7fe5876f
fix braces
2014-03-21 16:03:07 +00:00
pooka
bc215c110d
use a probe result to decide which pthread_setname_np() to use
2014-03-21 12:28:54 +00:00
pooka
fa5f7ef47e
set threadname for correct pthread_t
2014-03-21 12:07:10 +00:00
christos
13ec391985
CID 273814, don't confuse coverity.
2014-03-20 17:25:23 +00:00
uwe
66df54162c
On sh3 __udivsi3 is gcc "millicode" with special calling convention
...
(less registers clobbered than usual). Each DSO that needs it gets
its own hidden copy from libgcc.a. Do not compile udivsi3.c for sh3
here since this C version doesn't conform to what gcc expects and
overrides the libgcc.a version.
This makes binaries compiled with gcc4.8 work. The issue was not
exposed with gcc4.5 since it uses different division strategy by
default.
2014-03-19 20:30:53 +00:00
dsl
3a9ebe222a
Change 'i0' to be signed so that the sign bit is preserved on 'k'
...
and the code at the bottom splits the multiply.
Fixes denormal results.
This might have been introduced when I deferred shifting 'k' left.
2014-03-18 21:52:19 +00:00
riastradh
6cb10275d0
Merge riastradh-drm2 to HEAD.
2014-03-18 18:20:35 +00:00
christos
e2ecf243c3
fix memory leak
...
XXX: pullup 6
2014-03-17 13:24:23 +00:00
dsl
0f547b99f1
Simplify somewhat: this is C not FORTRAN-IV - we have structures!
...
Directly us 'ieee_double_shape_type' when ripping apart the fp number
to avoid an extra store-load in 'STRICT_ASSIGN'.
Keep 'k' as the exponent, only do 'k << 20' when generating the fp number
from it.
Fix infinity and underflow returns on i386 - because the value is returned
in %st0 (x87 stack) we have to generate a long double error value.
The returned value for integers -1023 and below (which should be denormal
fp valuesr) are 'just plain wrong' (tm).
2014-03-16 22:44:48 +00:00
dsl
ec1660cff5
Fix overflow and underflow on i386.
...
The return value of a 'float' function is in the x87 %st(0) register.
This is an 80bit 'long double' register.
If you multiply 0x1p100f by 0x1p100f the caller sees 0x1p200 - not the
expected infinity.
So use a 'double' value which goes through a store-load sequence to generate
the required exception and value.
2014-03-16 22:30:43 +00:00
joerg
39f1409e2e
__do_global_ctors_aux and __do_global_ctors_aux must be used locally, so
...
mark them as hidden.
2014-03-16 11:41:30 +00:00
njoly
61d6bfec15
Do not use uninitialized pointer if posix_memalign() fails.
2014-03-16 10:23:59 +00:00
martin
16e71f2a62
Add roundl()
2014-03-16 10:02:27 +00:00
martin
d30e39112d
Provide all missing variants of trunc/floor/ceil.
2014-03-16 09:51:39 +00:00
martin
03e412de5e
Need to load the full argument
2014-03-15 14:12:56 +00:00
martin
89434fa764
Provide copysignf and copysignl
2014-03-15 12:20:09 +00:00
dsl
092f718fed
There is some very odd code in s_exp2.c that only works if 'double'
...
values are rounded to 53 bit mantissa in teh x87 registers.
This hasn't been true since Nov 11 2013.
Forcing a store-load for 'double' in STRICT_ASSIGN() seems to fix things
(at least enough for the few random test cases).
I suspect the code could be changed so that the number of mantissa bits
didn't matter.
2014-03-14 22:21:31 +00:00
cherry
27f396ba32
Add crtstuff for ia64. Compile tested only
2014-03-14 18:15:02 +00:00
justin
54d90457f6
If dlopen returns NULL assume we are statically linked and return,
...
rather than getting a warning when dlinfo fails.
2014-03-14 01:18:39 +00:00
pooka
300f37afc0
Do not process linkmaps if there is exactly one link map present
...
(i.e. there is no ld.so). Makes statically linked rump kernels work on
glibc (at least for me).
based on some discussion with Justin Cormack
2014-03-13 11:21:54 +00:00
martin
7a17404a6d
XXX This is all wrong and needs new tables and constants - but at least use
...
constants in the VAX double range for now, so it is compilable with newer
gcc.
2014-03-12 19:42:18 +00:00
wiz
4e760575d6
Remove trailing whitespace.
2014-03-12 18:17:06 +00:00
dholland
1e9d60e3bf
typo
2014-03-12 07:32:46 +00:00
pooka
43925050d7
rump_pub_getversion -> rump_getversion
2014-03-10 22:47:27 +00:00
justin
cf83766ecf
Revert conversion to __thread as breaks on archs without TLS support
2014-03-10 22:37:51 +00:00
justin
587ef2949a
Use __thread rather than pthread_getspecific for rumpuser curlwp.
...
This has better performance and curlwp is a performance bottleneck
in rump kernel code.
2014-03-09 23:01:11 +00:00
christos
bb5309eeb0
another libelf instance
2014-03-09 21:37:37 +00:00
christos
0c84150c90
switch to the elftoolchain code.
2014-03-09 17:09:20 +00:00
matt
1de2b6f186
This is no different from the 32bit powerpc one.
...
Remove the redundancy.
2014-03-07 07:26:42 +00:00
matt
2a0cd0801f
these are obsolete. Now using the common powerpc files in csu/arch/powerpc.
2014-03-07 07:23:49 +00:00
christos
9669e36fb7
reduce diffs with other copies of this code.
2014-03-07 01:07:01 +00:00
christos
32a8f22f2c
Fix incorrect overflow test: https://android-review.googlesource.com/#/c/50570/
2014-03-07 01:00:58 +00:00
matt
f99069ca40
Use _XENTRY
2014-03-06 19:05:59 +00:00
skrll
1b5cff8f1d
Move to a flat space register convention. %sr[4-7] are all now the space
...
number allocated to the process. gcc produces (slightly) better code
with this convention.
Retain backwards compatiblity.
Welcome to 6.99.36
2014-03-06 19:02:58 +00:00
martin
ed95e9602b
Include new/missing files for vax
2014-03-06 11:01:16 +00:00
martin
74530a2d26
Provide sqrtl alias
2014-03-06 11:00:17 +00:00
martin
f03b314bc0
Simple tanf() for vax
2014-03-06 10:59:52 +00:00
martin
ea3fa8f391
Simplistic tanhf() for vax
2014-03-06 10:59:00 +00:00
martin
96c6725640
Simplistic log1pf() for vax
2014-03-06 10:58:26 +00:00
martin
ae998fcbfa
log10f() for vax
2014-03-06 10:57:44 +00:00
martin
d408a8629c
log2() for vax
2014-03-06 10:57:01 +00:00
martin
13958f72dc
Add brute-force adaptions of the ieee version of exp2() and exp2f for
...
vax. Needs some polishing (and table adaption), but should get the build
going for now.
2014-03-06 10:55:57 +00:00
joerg
6ccf4859e4
Add GENASSYM_CPPFLAGS in two more places.
2014-03-04 17:57:56 +00:00
joerg
9c3fd52490
Introduce GENASSYM_CPPFLAGS for options during genassym processing.
...
Consistently drop assembler flags.
2014-03-04 14:58:14 +00:00
matt
c1987519cf
#include <m68k/m68k.h>
2014-03-04 06:38:08 +00:00
matt
94c30368e1
The fixuns* come from compiler_rt so softfloat doesn't need to provide them.
2014-03-04 06:30:40 +00:00
matt
c479ba2f5a
Avoid a warning and just do the trap #1 instead of calling sigreturn inline.
...
If it fails, it'll fall into the botch case so don't bother calling CERROR
on failure.
2014-03-04 06:27:00 +00:00